Commit Graph

1432 Commits

Author SHA1 Message Date
Jordan Lee e259d0abbe (trunk gtk) tweak Makefile.am 2011-03-21 20:45:50 +00:00
Jordan Lee 2544b4b228 (trunk gtk) dbus tweaks in Makefile.am based on examples from http://live.gnome.org/DBusGlibBindings .
1. tweak the way dbus-binding-tool is invoked... use --output=$@ $^

2. add the file generated by dbus-binding-tool to BUILT_SOURCES
2011-03-21 20:26:15 +00:00
Jordan Lee 374ed10f3b (trunk) it's bad form to #include so many system headers in libtransmission/utils.h... 2011-03-16 18:04:23 +00:00
Jordan Lee 591b95286f Show whether a tracker is http or udp. Without that context, it could be confusing to see the same tracker twice in a tier 2011-03-15 17:03:09 +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 018585d3b0 (trunk gtk) fix condition that could crash in some cases when right-clicking in the file list menu. 2011-03-13 16:45:32 +00:00
Jordan Lee 55381159f6 (trunk gtk) #4075 "add x-scheme-handler/magnet to desktop file" -- fixed.
Thanks to ampelbein for the patch :)
2011-03-13 15:56:12 +00:00
Jordan Lee afe6d42ac1 (trunk gtk) when a tracker is manually added to a torrent, check the tracker's validity with tr_urlIsValidTracker() 2011-03-13 07:49:32 +00:00
Jordan Lee e45a6dabc9 (trunk gtk) fix 2.22+ time display regression in the GTK+ client. 2011-03-11 04:10:28 +00:00
Jordan Lee 9145bce9cd (trunk gtk) fix time display oops 2011-03-06 15:06:38 +00:00
Jordan Lee 05c39eaa3e add a missing icon 2011-03-06 05:41:41 +00:00
Jordan Lee 411b0bbd1a (trunk gtk) #4088 "Transmission needs 256x256 icon too" -- added large Tango icon by Andreas Nilsson. Thanks Andreas!
This larger icon is apparently needed for GNOME 3.
2011-03-05 19:15:37 +00:00
Jordan Lee 0a62f69f1c (trunk gtk) copyediting. 2011-03-04 15:49:51 +00:00
Jordan Lee ae20b67f16 (trunk gtk) remove unused code: gtr_warn_if_fail() 2011-03-04 15:21:00 +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 0a8535d9a5 (trunk gtk) #4040 "Show the torrent name in the Peers Tab's tooltips" -- done. 2011-02-19 13:04:09 +00:00
Jordan Lee db8b83854e (trunk gtk) Don't display uTP checkbox in non-uTP builds.
Tweak to r11976 s.t. the "Edit GNOME Proxy Settings" button doesn't get grouped in the "Peer Limits" section when uTP is disabled. :)
2011-02-19 09:30:06 +00:00
Jordan Lee 88a61d3b62 (trunk gtk) #4038 "Prefs dialog's blocklist section allows the 'update' button to be clicked when no blocklist is specified" -- fixed. 2011-02-19 09:02:39 +00:00
Juliusz Chroboczek ee86584263 Don't display uTP checkbox in non-uTP builds (gtk).
Reported by Rolcol.
2011-02-18 22:22:02 +00:00
Jordan Lee 3f1b060241 (trunk T) add preliminary enable/disable toggles in daemon, gtk, and qt clients. 'preliminary' because this may be widened to a tri-state of inabled, disabled, and incoming only 2011-02-18 00:33:29 +00:00
Jordan Lee 7df7d34f6d automake/autoconf; #includes in libtransmission 2011-02-18 00:32:19 +00:00
Juliusz Chroboczek bd0ea13701 (gtk) Add tooltip for uTP peers. 2011-02-18 00:24:33 +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 dede299e04 (trunk gtk) #3866 "popup menu for file list manipulation" -- remove unused code in file-list.c
This code can be pulled back out of svn and readded if it's needed in the future.
2011-02-15 15:21:22 +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 59e8348b15 (trunk gtk) #4012 "Cannot set individual seeding time in GTK+ client" -- fixed.
The code in gtk/details.c was still using the pre-release RPC key "seedInactiveLimit" when it should have been using "seedIdleLimit" instead.
2011-02-12 23:54:33 +00:00
Jordan Lee 62b732708a (trunk gtk) msgwin.c: silence compiler warning "warning: ‘pinned_to_new’ may be used uninitialized in this function" 2011-02-09 05:10:29 +00:00
Jordan Lee 24b9dc7dc2 (trunk gtk) #3866 "Popup menu for file list manipulation" -- removing from the 2.20 milestone
Looking over the 2.20 tickets, this one keeps sticking out. A popup menu may be useful if the "delete files" ticket is accepted in 2.30, but for this release (2.20) it doesn't really add anything new. One lesson from the 2.1x cycle was that features are a harder to remove than to add. So I'm going to hold off on adding this feature until it has a clear raison d'être.
2011-02-06 18:50:35 +00:00
Jordan Lee 1fabb9b9ea (trunk) #3675 "Not all .part files are removed" -- handle trashing files via RPC.
When libtransmission gets a "remove torrent" request from RPC, it tries to delegate the work. This is because the GTK+ and Mac clients don't want torrents disappearing in a different thread and causing possible thread issues. So the GTK+ and Mac clients get notification about this via libtransmission's RPC callback and remove the torrents themselves. Unfortunately, that notification doesn't include information about whether or not to delete local data.

This commit adds that information to the RPC callback so that the Mac and GTK+ clients will know whether or not to trash the local files when a third-party RPC client requests that at torrent and its files be deleted.
2011-02-06 17:30:46 +00:00
Jordan Lee c90ddfa1c3 (trunk libT) #3980 "segfault when adding many torrents remotely" -- possible fix.
gtk/main.c's onRPCChanged() is called from inside the libtransmission thread, yet it still made GTK+ calls to modify the GTK+ client's tr-core object when a torrent was added. This caused a race condition inside of the GTK+ internals. onRPCChanged() already knows to delegate work back to the GTK+ thread when a torrent is removed via RPC. This commit uses the same kind of mechanism to delegate work back to the GTK+ thread when a torrent is added via RPC.
2011-02-05 05:03:00 +00:00
Jordan Lee a358858a99 (trunk libT) #3978 "Message window column sorting fails and triggers gtk warnings" -- fixed.
I'm not sure why sorting was in there in the first place; it doesn't make sense in a message log.. Disabling sorting fixes this bug.
2011-02-04 06:12:55 +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 3f2e8b7b02 (trunk gtk) #3817 "use the OS' proxy support" -- fix memory leaks in the GTK+ implementation.
r11512 introduced a handful of memory leaks by not freeing the GConfValue objects after use.
2011-02-01 17:46:42 +00:00
Jordan Lee 705b27d128 (trunk gtk) #3876 "Give filesize its own column in the Files tree" -- fix minor memory leak introduced by r11642
r11642 allocated a pango font description with pango_font_description_copy() but never freed it.
2011-02-01 17:42:50 +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 be99878e98 (trunk gtk) #3971 "favicons do not work for IP addresses" -- fixed.
gtr_get_host_from_url() wasn't written to handle dotted-quad or IPv6 address strings, but can handle them now.
2011-02-01 01:38:58 +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 1127463a1c #3042 "Open torrent dialog focus not restored" -- fixed. patch by ijuxda.
the callback function for GtkWidget's focus-in-event should return TRUE to stop other handlers from being invoked for the event or FALSE to propagate the event further.
2011-01-25 04:26:10 +00:00
Jordan Lee 92def6b960 (trunk gtk) #3887: "CPU spikes to 100% on scrolling" -- workaround committed.
The patch avoids use of GtkCellRendererText's "sensitive" property, and instead renders paused torrents' text using the widget's style's color for insensitive text. This approach honors the theme's "insensitive" color setting and uses it to draw insensitive text with no etching or shadowing.

The better option is still for Murrine to fix its text shadow issue... but until then, here is a workaround.
2011-01-22 13:26:44 +00:00
Jordan Lee d6518b93b8 (trunk gtk) #3930: Add drag-and-drop support for info hashes.
The "Add URL" dialog accepts URLs, magnet links, and infohashes, but only copyies urls and magnet links from the clipboard. Patch by cantabile.
2011-01-21 21:35:11 +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 287d61197a (trunk gtk) set GtkLabel's "single-line-mode" flag to TRUE in the toolbar, in the stats dialog, and in the details dialog's info tab.
According to the GTK+ documentation, this "can be an advantage in situations where resizing the label because of text changes would be distracting, e.g. in a statusbar." It doesn't seem to prevent relayout in GTK+ 2.20.1, but maybe other versions of GTK+ will make better use of the flag.
2011-01-21 17:31:35 +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 aea77bc9f6 (trunk gtk) make "gtr_label_set_text" public and use it everywhere instead of gtk_label_set_text()
Some of the refresh events to the main window's torrent list are caused by main window relayout caused by the toolbar's GtkLabels recalculating their size after being updated once per second. To prevent relayout in some trivial cases, I'm replacing the gtk_label_set_text() calls with gtr_label_set_text() because the latter doesn't update the label widget if the old and new text strings are the same.

There are other changes that can handle more important cases -- I'll test those out next.
2011-01-21 16:32:27 +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