1
0
Fork 0
mirror of https://github.com/transmission/transmission synced 2025-02-23 06:30:38 +00:00
Commit graph

1530 commits

Author SHA1 Message Date
Jordan Lee
bb57ac3c50 (trunk gtk) #4372 "make notification and system sounds configurable" -- fixed. 2011-07-23 17:23:12 +00:00
Jordan Lee
1bf6b884b5 (trunk gtk) #4366 -- wrap register_magnet_link_handler()'s body in #if HAVE_GIO ... #endif 2011-07-20 23:33:38 +00:00
Jordan Lee
e495a579d3 (trunk gtk) #4366 "Use GAppInfo, rather than GConf2, for mime-type registration" -- done. 2011-07-20 23:31:39 +00:00
Jordan Lee
2863ee49c9 (trunk gtk, qt) "It is unobvious if test port feature tests UDP port status as well" -- fixed. 2011-07-17 14:12:00 +00:00
Jordan Lee
d634396f98 (trunk gtk, qt) #4165 "__FD_SETSIZE impact on open-file-limit and peer-limit-global" -- cap the per-torrent and per-session peer limits at FD_SETSIZE. 2011-07-13 19:22:10 +00:00
Jordan Lee
caeeb7e94c (trunk gtk) #4308 "Open with Transmission from Firefox doesn't work since Transmission 2.31" -- added support for uri-formmatted filenames being passed in via the command line 2011-06-24 18:16:12 +00:00
Jordan Lee
d3e427cfd8 (trunk gtk) #4306 "Bogus <b> and </b> in popup hints" -- fixed. 2011-06-02 20:04:23 +00:00
Jordan Lee
9331a3cdac (trunk gtk) #4014 "409 error when opening .../transmission/web without trailing '/'" -- use suggestion from Mezz to have the "open web client" button in the GTK+ client follow the same URL as the Qt client 2011-05-28 01:34:07 +00:00
Jordan Lee
a2432f17e4 (trunk gtk) #4254 "can't see description about Flags" -- fixed. 2011-05-28 00:12:59 +00:00
Jordan Lee
c1d5b4a7e6 (trunk, GTK+/Qt) #4281 "Visualize seed progress like the web client does" -- done, with a modified patch & suggestion from mag 2011-05-28 00:09:15 +00:00
Jordan Lee
33eb6d3f9e (trunk) #3817 remove OS proxy integration from the GTK+ client 2011-05-27 13:36:53 +00:00
Jordan Lee
45bdc18210 (trunk gtk) use ngettext() instead of gtr_dngettext() to address https://bugs.launchpad.net/ubuntu/+source/transmission/+bug/760761 2011-05-02 17:58:27 +00:00
Jordan Lee
7069534abf (trunk, gtk) #4218 "open url should set focus on the open button by default" -- fix r12409 oops 2011-05-01 05:04:09 +00:00
Jordan Lee
a9b379777f (trunk gtk) #4218 "open url should set focus on the open button by default" -- done. 2011-05-01 04:14:50 +00:00
Jordan Lee
0cff181c09 (trunk gtk) #4203 "gnome-network-properties doesn't exist in GNOME 3" -- fixed with patch from lesnoland 2011-04-30 16:22:03 +00:00
Jordan Lee
9753aa6183 (trunk gtk) in the details dialog, use the GQuark versions of g_object_{get,set}_data() 2011-04-29 21:36:44 +00:00
Jordan Lee
c1273a03a4 (trunk gtk) tweak to r12398: because most of the strings in category_filter_model_update() will be duplicates of each other, use g_string_chunk_insert_const() instead of g_string_insert(). 2011-04-29 20:22:11 +00:00
Jordan Lee
53fede89f6 (trunk gtk) in filter.c's category_filter_model_update(), use a string chunk for all those temporary strings that are allocated in a looop 2011-04-28 23:13:14 +00:00
Jordan Lee
b93bef2712 (trunk gtk) gtr_get_host_from_url(): avoid a couple of malloc() + free() calls. 2011-04-28 18:37:27 +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
6cd1dcb574 (trunk gtk) Avoid unnecessary GtkComboBox queries.
Instead of calling gtk_combo_box_get_active_iter() on the filterbar's two comboboxes in every periodic update, keep the state information in a local struct and update it when the selection changes. That way the filter code doesn't even need to know about the GtkComboBox or the GtkTreeModel.
2011-04-13 22:04:31 +00:00
Jordan Lee
1d7a4eb528 (trunk gtk) more heap pruning: minor GtkTreeModel changes
Use gtk_tree_model_iter_nth_child() instead of gtk_tree_model_get_iter_first() to avoid an unnecessary gtk_tree_path object being created and destroyed. This is a very minor change and I'm not sure how useful it really is, but it doesn't hurt.
2011-04-13 22:00:55 +00:00
Jordan Lee
01461d0b4a (trunk gtk) more heap pruning:
querying gconf2 each time the curl callack function is called is expensive, so query it once -- then again later, if the proxy settings change -- and remember the values in a local struct.
2011-04-13 06:18:30 +00:00
Jordan Lee
4a15899499 (trunk gtk) transmission-gtk requires GTK+ 2.8 or higher, so remove the `#if GTK_CHECK_VERSION(2,8,0)' checks because we already know the answer. 2011-04-12 11:13:41 +00:00
Jordan Lee
b1459c5d3b (trunk gtk) more heap pruning: give DetailsImpl an internal GString buffer so that it doesn't have to create and free so many temporary strings 2011-04-12 10:51:52 +00:00
Jordan Lee
b797f51144 (trunk gtk) more heap pruning: give torrent-cell-renderer an internal GString buffer so that we don't have to create & free so many short-term strings 2011-04-12 10:04:05 +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
fb2ffbc542 (trunk gtk) use GQuarks instead of strings for keys in tr-icon and tr-window 2011-04-05 16:16:06 +00:00
Jordan Lee
c213d91ffd (trunk gtk) use GQuarks instead of strings for keys in the filterbar's key/value pairs 2011-04-05 15:59:41 +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
d233ea82e7 (trunk gtk) more heap pruning: avoid unnecessary malloc() + free() calls in gtr_get_host_from_url() 2011-04-04 16:54:09 +00:00
Jordan Lee
c16406bf7c (trunk gtk) remove "dead nested assignment" wart detected by clang static analyzer 2011-03-31 04:58:38 +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
bd88521332 (trunk) yet more "#include" tweaks 2011-03-25 15:03:42 +00:00
Jordan Lee
b0379147d9 (trunk gtk) get everything except torrent-cell-renderer building under GTK+ 3.0.5 2011-03-25 07:32:30 +00:00
Jordan Lee
4a1a4ebcc0 (trunk gtk) gtk_open_uri(): use gtk_show_uri() as the default implementation for GTK+ > 2.14.0.
gtk_show_uri() was added in 2.14.0
2011-03-25 06:40:46 +00:00
Jordan Lee
375694eda9 (trunk) copyediting: remove some unneeded #includes, and annotate some needed ones 2011-03-24 21:49:42 +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
a891136602 (trunk gtk) gtr_localtime() is only used in one place, so make it a private function there instead of leaving it public in util.h 2011-03-24 18:29:07 +00:00
Jordan Lee
e46d0a72ba (trunk gtk) gtr_cell_renderer_get_padding() is only used in one place, so make it a private function there instead of leaving it public in util.h 2011-03-24 18:24:21 +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
0a1df687bb still trying to make hudson happy 2011-03-22 16:07:49 +00:00
Jordan Lee
034a65aaf1 (trunk gtk) revert r12201 to try & make hudson happy 2011-03-22 16:03:10 +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
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
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