Commit Graph

220 Commits

Author SHA1 Message Date
Jordan Lee 8d89a16f4f remove the gtr_idle_add() portability wrapper around gdk_threads_add_idle() -- it's unnecessary now that the minimum gtk version's been bumped. 2011-08-08 17:10:55 +00:00
Jordan Lee 6d1869c33b remove the gtr_timeout_add_seconds() portability wrapper around gdk_threads_add_timeout_seconds(); it's unnecessary now that the minimum gtk version's been bumped. 2011-08-08 17:06:46 +00:00
Jordan Lee 270126820a (trunk gtk) bump the glib2 requirement from 2.8 to 2.26 s.t. transmission-gtk can use glib's GDBus module and drop the glib-dbus library dependency 2011-08-07 16:42:38 +00:00
Jordan Lee 307754e807 #671 "torrent queuing" -- modify the queue implementation s.t. every torrent has a queuePosition, even if it's not currently in the queue. 2011-08-02 03:59:54 +00:00
Jordan Lee 61174b007e (trunk) #671 "torrent queuing" -- Preliminary implementation. Covers libtransmission; GTK+ and Qt clients, and rudimentary web client support. 2011-08-01 22:24:24 +00:00
Jordan Lee 6326003e73 (trunk gtk) very minor tweak in deciding which rows to update in the torrent model.
Since we only display speed to two decimal places, we don't need to compare previous and current torrent speed with more precision than that.
2011-04-20 01:16:16 +00:00
Jordan Lee fdbe7dc2da (trunk gtk) more heap pruning, in tr_core
Tweak how we loop through the torrents in the model, again to avoid unnecessary GtkTreePath temporaries.
2011-04-13 22:16:50 +00:00
Jordan Lee 4ce3555786 (trunk gtk) minor janitorial: const correctness in tr-core's compare_by_name() 2011-04-11 16:27:41 +00:00
Jordan Lee 07e60d1fc0 (trunk gtk) more heap pruning: use a GStringChunk for the collated torrent names in tr-core.c 2011-04-07 04:29:37 +00:00
Jordan Lee e02ce61d3e (trunk gtk) removed the unused MC_NAME column from the torrent GtkListStore. 2011-04-05 17:00:38 +00:00
Jordan Lee 708838b146 (trunk gtk) more heap pruning: in the main window's torrent list, only update the case-insensitive "collated name" of a torrent when the torrent's metadata changes (such as when a magnet link's metadata finishes downloading). 2011-04-05 15:41:51 +00:00
Jordan Lee afa016704f (trunk libT) more heap pruning: use a hash, rather than an allocated string in tr-core when watching for a torrent's tracker list to change 2011-04-05 01:36:37 +00:00
Jordan Lee eb06d81fb9 (trunk) fix a handful of small memory leaks that valgrind found. 2011-03-25 17:42:47 +00:00
Jordan Lee 433da8df9a (trunk gtk) gtr_compare_double() is only used in one place, so make it a private function there instead of leaving it public in utils.h 2011-03-24 18:32:05 +00:00
Jordan Lee 5417711cd4 (trunk gtk) remove function gtr_strcmp0, which is redundant due to tr_strcmp0 2011-03-24 18:20:47 +00:00
Jordan Lee b4d36aeb54 (trunk) #4138 "use stdbool.h instead of tr_bool" -- done. 2011-03-22 15:19:54 +00:00
Jordan Lee fee784f1d8 (trunk) #4081 "Add 'cookieString' argument 'torrent-add' method in RPC" -- done. 2011-03-15 04:22:47 +00:00
Jordan Lee 9c7caec13f (trunk gtk) minor copyediting for clarity/readability 2011-03-04 14:31:23 +00:00
Jordan Lee 9283ef2ebb (trunk gtk) #4080 "Toggling speed limit mode from the web interface doesn't affect GUI" -- fixed. 2011-03-04 05:58:32 +00:00
Jordan Lee c6dd0b0ed4 (trunk libT) fix tr_ctorFree() crash reported by Rolcol 2011-03-04 04:45:34 +00:00
Jordan Lee dcc070c86c (trunk gtk) some tr-core cleanup
Variable and function name cleanup; regrouping related functions together, etc.
2011-03-03 07:17:57 +00:00
Jordan Lee c7006ed8b3 (trunk gtk) remove the TrTorrent GObject subclass. 2011-03-03 01:59:25 +00:00
Jordan Lee 716a3c90c2 (trunk) #4032 "Better error detection / reporting in http announces" -- added to trunk.
This patch adds two new flags to the callback function -- did_connect and did_timeout -- that are calculated inside of web.c using information from libcurl. This allows the announcer to detect timeouts more accurately and also to distinguish between unresponsive peers (which get the preexisting "Tracker did not respond" error message) and unconnectable peers (which get a new error message, "Could not connect to tracker").
2011-02-17 02:26:24 +00:00
Jordan Lee 72f9ab91fa (trunk) make tr_torrentName() a public function.
This has been a private function in libtransmission for awhile now but it makes more sense as a public function.
2011-02-15 15:18:51 +00:00
Jordan Lee 7a5f87a207 (trunk gtk) #3972 "Verify progress changes not displaying" -- fixed.
make sure to call gtk_list_store_set() on rows matching torrents whose tr_stat.recheckProgress value has changed, triggering a row change event that causes the verify progress change to be displayed.
2011-02-02 02:45:20 +00:00
Jordan Lee 88df1b15ee (trunk gtk) #3970 "tr_core_update() wastes CPU cycles by toggling the sort mode" -- fix minor r11799 regression.
Clearing the model on shutdown generated a warning because it used the wrong cast. Rather than fixing the cast, add tr_core_clear() for symmetry with tr_core_load().
2011-02-01 01:45:41 +00:00
Jordan Lee b084493bfe (trunk gtk) #3970 "tr_core_update() wastes CPU cycles by toggling the sort mode" -- fixed.
Long description in #3970. Split tr_core's torrent GtkTreeModel into two models: one low-level unsorted one, and one proxy sorted one. That way we don't have to disable sorting before walking through the low-level one to sync the table's attributes with the tr_torrent and tr_stat.
2011-01-31 23:01:46 +00:00
Jordan Lee 4d529db419 (trunk gtk) include the torrent hashcode in the model's collated name.
This simplifies sorting by name by merging the primary and secondary keys (case-insensitive name, and hash string) into a single key.
2011-01-21 18:30:08 +00:00
Jordan Lee acd941f17a (trunk gtk) companion commit to r11738 to reduce unnecessary re-rendering in the main window
The main window called gtk_tree_model_filter_refilter() once per second to refresh the torrent list's filtering. This is not an efficient approach: gtk_tree_model_filter_refilter() emits a "row changed" event for every row, causing unnecessary re-rendering.

I've removed the call to gtk_tree_model_filter_refilter() and expanded the model to includes all the fields necessary for filtering. That way we only fire "row changed" events for rows that actually change.

By reducing the number of renders in steady state, this might ameliorate https://bugs.launchpad.net/ubuntu/+source/transmission/+bug/655024 

However it will *not* help the related "CPU spikes to 100% on scrolling" ticket at https://trac.transmissionbt.com/ticket/3887 because rendering paused torrents is still exceptionally expensive in the murrine theme.
2011-01-21 17:07:23 +00:00
Jordan Lee 58c7556534 (trunk gtk) #3916 "Reorder the list when metadata is downloaded" -- fix r11737 typo. 2011-01-21 16:36:57 +00:00
Jordan Lee 9ce58e33ac (trunk gtk) #3916 "Reorder the list when metadata is downloaded" -- fixed.
When tr_info.name changes, update the collated name in the main window's TreeStore.
2011-01-21 02:58:58 +00:00
Jordan Lee 879a2afcbd Update the copyright year in the source code comments.
The Berne Convention says that the copyright year is moot, so instead of adding another year to each file as in previous years, I've removed the year altogether from the source code comments in libtransmission, gtk, qt, utils, daemon, and cli.

Juliusz's copyright notice in tr-dht and Johannes' copyright notice in tr-lpd have been left alone; it didn't seem appropriate to modify them.
2011-01-19 13:48:47 +00:00
Jordan Lee 88d58502aa (trunk gtk) #3896 "Redundant call to tr_torrentStat() in tr_core_update()" -- fixed. 2011-01-13 11:50:58 +00:00
Charles Kerr bf2835c557 (trunk gtk) remove unused code: tr_core_quit() 2010-12-23 21:50:09 +00:00
Charles Kerr 057487d18e (trunk gtk) more gtr_ naming cleanup 2010-12-22 06:25:30 +00:00
Charles Kerr b86e1e1056 (trunk gtk) kill "pref_flag_t" in a burlap sack and throw it off the cliff into the freezing water below 2010-12-22 06:11:49 +00:00
Charles Kerr 5eafe91824 (trunk gtk) general cleanup to make function's naming scheme and API more consistent. This is only a fraction of what the GTK+ client's codebase needs, unfortunately. 2010-12-21 19:20:58 +00:00
Charles Kerr fee807cd57 minor tweak: tr_core_load() should return void, not int 2010-12-21 16:49:57 +00:00
Charles Kerr 345b14adbc (trunk) #3836 "libevent2 support" -- bump libevent2 requirement to 2.0.10. This will break the Mac build for a minute intil BMW applies his Mac patch 2010-12-20 02:07:51 +00:00
Charles Kerr 5bf05ab31b (trunk gtk) #3838 "Unselected active torrents not counted for quit check" -- fixed. 2010-12-19 09:33:02 +00:00
Charles Kerr 821d315453 (trunk) #3675 "Not all .part files are removed" -- added patch for libtransmission and GTK+ client 2010-12-16 03:38:07 +00:00
Charles Kerr 27a1b2dc33 (trunk) one of the periodic, banal "remove-trailing-spaces from lines of source code" cleanup commits 2010-12-12 16:43:19 +00:00
Charles Kerr d216d435a2 (trunk gtk, qt) #3770 "GTK and Qt clients should sort-by-progress as the Mac client does" -- fixed. 2010-12-01 05:41:58 +00:00
Charles Kerr 04c60c7221 (trunk gtk) #3697 "make blocklist URL configurable" -- better error handling in GTK+ client if the user-specified blocklist can't be fetched 2010-11-13 17:05:22 +00:00
Charles Kerr 1c2a7359af (trunk gtk) "hibernation inhibition broke in transmission-2.00" -- fixed. 2010-10-21 20:04:00 +00:00
Charles Kerr 6e62d0d99d (trunk gtk) fix a minor UMR error that Valgrind found 2010-09-23 17:05:40 +00:00
Charles Kerr 43f03f3de6 remove sort-by-tracker from the GTK+ client 2010-09-06 00:23:44 +00:00
Daniel Lee c30ed43082 (trunk) #3185: Number on drop-down menu "Activity" - "Active" seems does not follow a change in torrent status correctly 2010-08-04 17:35:48 +00:00
Daniel Lee fc15c5ba4b (trunk gtk) Clean up r11086 2010-08-04 05:25:43 +00:00
Charles Kerr 5624840ac4 (trunk) #3478 "Display bug when magnet links without display names are added" -- fixed in trunk 2010-08-03 03:16:21 +00:00
Charles Kerr 36064b8120 (trunk gtk) rewrite the main window's drag-and-drop handler s.t. it's GTK+ 3 compliant 2010-08-02 22:31:31 +00:00
Charles Kerr 59f5f3ed6b (trunk gtk) replace tr_strcmp() with gtr_strcmp0(), a porability wrapper around g_strcmp0() 2010-08-01 19:13:34 +00:00
Charles Kerr 3fa4865863 (trunk) #3450 "regression: Qt client dbus support broken" -- fixed 2010-08-01 18:55:04 +00:00
Daniel Lee ff23406f38 (trunk) #3471:Add 'finished' to filterbar 2010-08-01 17:43:35 +00:00
Charles Kerr f4e3b6e670 (trunk gtk) simplify the collation process for sorting torrents by name 2010-07-30 22:19:20 +00:00
Charles Kerr 6e5af03d78 (trunk) #3045 "speed units" -- change the public API of libtransmission based on feedback from livings 2010-07-04 06:07:21 +00:00
Charles Kerr cdcc4705aa (trunk) #3045 "make libtransmission's API byte-oriented instead of KiB-oriented." -- implemented. This is a largish commit and will break the mac build for a little while. 2010-07-03 00:25:22 +00:00
Charles Kerr 01a10a2b6e (trunk gtk) #3346 "busy icon needed while processing request" -- added. 2010-06-26 15:55:19 +00:00
Charles Kerr 688ec1bafc (trunk gtk) #3345 "Remove button deselects selected torrents" -- fixed 2010-06-25 19:24:26 +00:00
Charles Kerr c927189fed (trunk gtk) #3348 "Add URL doesn't warn upon corrupt torrents" -- fixed. 2010-06-25 17:40:55 +00:00
Charles Kerr fa267d9f2b (trunk gtk) experimental fix for #3335 "magnet link options dialog does not respect setting." 2010-06-23 16:51:16 +00:00
Charles Kerr 2f56196206 (trunk) add "filename" arg to the dbus message when passing a .torrent from one instance of Transmission to another 2010-06-03 19:53:01 +00:00
Charles Kerr e7e627c3e7 (trunk gtk) #2612 "Display new transfer window when adding magnet transfer" -- implemented in GTK+ for 2.00 2010-05-13 13:12:27 +00:00
Charles Kerr d384b38f07 (trunk) minor transmission.h API cleanup.
1. remove tr_sessionGetActiveTorrentCount()
2. make tr_sessionCountTorrents() package-visible instead of public.
3. make tr_torrentGetActivity() private instead of public.
2010-04-29 23:08:11 +00:00
Charles Kerr b477d24222 (trunk gtk) add gtr_warn_if_fail(), a portability wrapper for systems too old for g_warn_if_fail() 2010-04-21 19:23:27 +00:00
Charles Kerr ceba9e6722 (trunk gtk) #3143 "remote RPC calls cause gtk+ API calls to be made from the wrong thread" -- fixed in trunk for 2.00 2010-04-21 04:38:54 +00:00
Charles Kerr c8ba63ca07 (trunk gtk) #3146 "Toggle state of 'toggle-main-window' not updated when window is shown after launch with running instance" -- fixed in trunk for 2.00 by a patch from qense 2010-04-17 00:41:24 +00:00
Charles Kerr e1607c8354 (trunk) #2898 "add pausing and deletion to daemon" -- committed patch from Longinus00 to trunk for 2.00 2010-03-17 19:23:03 +00:00
Charles Kerr 2aa1e69f98 (trunk gtk) first draft of a filterbar experiment 2010-03-14 05:13:02 +00:00
Charles Kerr 40adcb5491 (trunk gtk) don't dereference a NULL pointer if a torrent has no "name" 2010-02-06 05:21:25 +00:00
Charles Kerr 3b82968c31 (trunk gtk) #2864 "when adding a non-BitTorrent magnet link fails, explain why to the user" -- implemented for GTK+ client for 1.90 2010-02-05 13:59:44 +00:00
Charles Kerr 36d97610bd (trunk) #2802, #2716, #2717 -- remember magnet links and their settings between sessions, and allow their trackers to be modified 2010-02-02 22:45:22 +00:00
Charles Kerr 182cbb8b90 (trunk) one of the less-interesting commits in a while: remove trailing spaces from lines 2010-01-05 23:47:50 +00:00
Charles Kerr 7d266ed4d6 (trunk gtk) #2728 "Creates auto-download dir when non-existant" -- fixed for 1.80 2010-01-05 23:23:26 +00:00
Charles Kerr acce3b2cda (trunk gtk) #2324 "power management inhibition with gnome-session >= 2.26" -- fix 1.80b1 misimplementation bug reported & researched by kklimonda 2009-12-07 18:04:50 +00:00
Charles Kerr 4e252aa106 (trunk) fix warnings found by the clang static analyzer, reported & patched by wereHamster 2009-12-07 04:06:14 +00:00
Charles Kerr 336be914b2 (trunk gtk) #2324 "power management inhibition with gnome-session >= 2.26" -- fixed 2009-12-01 04:22:14 +00:00
Charles Kerr 7d0cd82014 (trunk gtk) #2096 "magnet links" -- if a user (or, more likely, web browser) starts up a second copy of Transmission to add a magnet link via its command line, delegate that magnet link back to the already-running copy of Transmission via DBus. 2009-11-29 20:35:48 +00:00
Charles Kerr 66880acfc7 (trunk gtk) fix r9625 oops on adding torrents by their raw 40 character hex hashcode from the commandline in the GTK+ client 2009-11-29 08:29:57 +00:00
Charles Kerr c841adaf56 (trunk gtk) support adding torrents by their raw 40 character hex hashcode 2009-11-29 07:42:39 +00:00
Charles Kerr 5e3949f37c (trunk gtk) #2110 "allow adding torrents with no trackers" - don't crash when sorting or filtering by tracker. (Reported by Rolcol and jch) 2009-11-26 04:06:49 +00:00
Charles Kerr f69e335291 (trunk) #2096: Magnet, BEP #9 support 2009-11-24 02:16:31 +00:00
Charles Kerr 0356a9f3d9 (trunk gtk) tweak the last commit a little. 2009-11-22 22:53:31 +00:00
Charles Kerr c06d889269 (trunk gtk) #2556: add a torrent from a URL. works from the menu and from URLs passed in the command line at startup 2009-11-22 16:20:22 +00:00
Charles Kerr cd6ff1211f (trunk gtk) fix a couple of build errors on older versions of GTK+ 2009-11-07 02:03:12 +00:00
Charles Kerr c14b44d10a (trunk gtk) #1978: Rescaning for new torrents at torrent creation time 2009-10-11 06:23:31 +00:00
Charles Kerr 3ca7f7f63c (trunk gtk) rewrite the 'create torrent' dialog 2009-09-17 01:28:45 +00:00
Charles Kerr b7b6580ebc (trunk gtk) #2389: Sort by Time Left broken in the GTK client 2009-09-08 18:59:49 +00:00
Charles Kerr 16b6ff2fd3 (trunk gtk) another improvement on the changes made for #2292, this time correcting a small bug in sort-by-activity 2009-08-13 03:52:21 +00:00
Charles Kerr be3f3a617e (trunk gtk) fix minor regression in #2292 that limited the gtk client's speed display to not count fractions-of-a-KiB/s 2009-08-12 13:42:49 +00:00
Charles Kerr 1083535d9b (trunk gtk) fix #2292: wrong speed in bottom bar 2009-08-07 20:49:06 +00:00
Charles Kerr 1c3b53244d (trunk) clean up the return value of tr_torrentParse() 2009-08-05 01:59:16 +00:00
Charles Kerr d7e837c814 remove some unused utilities. better commenting on the utils that remain. 2009-07-22 15:55:48 +00:00
Charles Kerr 58ba65f55b (trunk, gtk/qt) use Monsoon's strings for encryption preferences and Deluge's system tray tooltip. 2009-06-30 18:08:50 +00:00
Charles Kerr bd5c9cf3a8 (trunk gtk) #2251: gtk client should use GDK-safe versions of g_idle_add() and g_timeout_add*() 2009-06-29 17:22:35 +00:00
Charles Kerr 1ae47c697d (trunk) silence some minor gcc warnings 2009-06-23 14:15:23 +00:00
Charles Kerr 0f91ee9c28 (trunk gtk) fix another crash in Properties > Options, reported by elgeneralmidi w/a valgrind log 2009-06-15 20:29:26 +00:00
Charles Kerr ebfd93fe7b (trunk gtk) #1963: Use tooltip to notify user of added torrent 2009-06-11 16:17:48 +00:00
Charles Kerr 6e10ee3baa (trunk gtk) #2197: Adding a torrent from a browser sometimes doesn't work 2009-06-11 14:51:21 +00:00
Charles Kerr b2b7409138 (trunk gtk) #2170: Segfault when accessing torrent Properties 2009-06-11 02:16:42 +00:00