Commit Graph

1405 Commits

Author SHA1 Message Date
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
Jordan Lee a63fdd15b4 (trunk) #3926 "use 'Open Torrent' instead of 'Add Torrent' in GTK+ and Qt clients" -- fix accelerator ambiguity.
Using Ctrl-O for "Open File" causes a conflict with the existing Ctrl-O for "Open Folder." The HIG-compliant shortcut wins the conflict, so "Open Folder" gets a new accelerator.
2011-01-20 20:32:28 +00:00
Jordan Lee 7dd9427a1f (trunk gtk) #3909 -- don't use Ctrl-M as the shortcut for "Copy Magnet Link to Clipboard." 2011-01-20 20:07:09 +00:00
Jordan Lee 3b28138c71 (trunk) #3926: use "Open Torrent" instead of "Add Torrent" in GTK+ and Qt clients -- change the filename from add-dialog.[ch] to open-dialog.[ch]. whoooo 2011-01-20 19:57:42 +00:00
Jordan Lee 131afcc3a4 (trunk) #3926: use "Open Torrent" instead of "Add Torrent" in GTK+ and Qt clients -- text changed. 2011-01-20 19:48:13 +00:00
Jordan Lee ddba265755 (trunk gtk) source code formatting tweak 2011-01-19 14:25:22 +00:00
Jordan Lee 9d038a8539 (trunk gtk) #3913 "Area to display a torrent's comment is small" -- fixed. 2011-01-19 14:22:29 +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 87e78816ad (trunk gtk) #3519 "webseeds don't work" -- the `active' filter in the GTK+ client didn't test for webseed activity. 2011-01-18 23:26:41 +00:00
Jordan Lee d3eb8c6ea4 trivial minor changes to indentation, text strings, etc. 2011-01-18 00:31:05 +00:00
Jordan Lee d1a7f70313 (trunk gtk) #3907 "in the details dialog's peers tab, 'status' is a misnomer" -- changed to 'flags'. 2011-01-17 16:13:45 +00:00
Jordan Lee 6d1ad8e0cb (trunk gtk) #3908 "details dialog's information tab shows (verified + unverified) + unverified" -- fixed. 2011-01-17 16:10:17 +00:00
Jordan Lee a433b0c4cc #3686 "add rpc command to cleanly shutdown daemon" -- added for libT, tr-daemon, tr-gtk, tr-remote, and the rpc spec 2011-01-15 18:12:45 +00:00
Jordan Lee 1a862315de (trunk gtk) #3903 "Scroll to new messages when viewing new messages in the message window" -- added. 2011-01-15 07:57:01 +00:00
Jordan Lee e4bd783ec2 (trunk libT) #3898 "Add 'Add' and 'Remove' buttons to the tracker list" -- done. 2011-01-14 21:57:20 +00:00
Jordan Lee 36e54b59e9 (trunk gtk) #3897 "filterbar should use tr_torrentStatCached() instead of tr_torrentStat()" -- fixed. 2011-01-13 11:57:06 +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
Jordan Lee 721cd1c3c3 (trunk gtk) #3876 "Give filesize its own column in the Files tree" -- added. 2011-01-06 17:21:55 +00:00
Jordan Lee aea8d8d0b5 (trunk gtk) #3519 "webseeds don't work" -- fix webseed peer counts and download speeds in the GTK+ client's main window 2011-01-06 02:40:10 +00:00
Jordan Lee c48528faf1 (trunk gtk) #3866 "Popup menu for file list manipulation" -- patch by ijuxda + random bugs by me 2011-01-05 07:08:34 +00:00
Jordan Lee c7cc8301db (trunk) update credits 2011-01-03 05:58:58 +00:00
Charles Kerr 992623756c (trunk gtk) #3847 "GTK+ 3 transition: use accessor functions unstead of direct access" -- use GTK_CELL_RENDERER() macro for casting a TorrentCellRenderer to a GtkCellRenderer. Thanks to ijuxda for the suggestion. 2010-12-27 23:49:45 +00:00
Charles Kerr e5bb3205a1 (trunk) Join the 21st century and use only 1 space at the end sentences. This commit is nearly as important as the semi-annual ones that remove trailing spaces from the ends of lines of code... :) 2010-12-27 19:18:17 +00:00
Charles Kerr 0a160aec49 (trunk gtk) GTK_DIALOG_NO_SEPARATOR will be removed in GTK 3, so don't use it. 2010-12-25 02:05:15 +00:00
Charles Kerr 5c53e35dbf (trunk gtk) #3836 "libevent2 support" -- remove "#include <evhttp.h>" from gtk/ client 2010-12-24 09:23:57 +00:00
Charles Kerr f5b13c46dc (trunk gtk) #3847 "GTK+ 3 transition: Use accessor functions instead direct access" -- don't directly access GtkCellRenderer.xpad, GtkCellRenderer.ypad, or GtkWidget.window. 2010-12-24 09:04:52 +00:00
Charles Kerr ba2e18b0c3 (trunk, gtk) some code cleanup: (1) details dialog handler, (2) selection change handler 2010-12-23 22:31:28 +00:00
Charles Kerr bf2835c557 (trunk gtk) remove unused code: tr_core_quit() 2010-12-23 21:50:09 +00:00