diff options
author | Danny Rawlins <monster.romster@gmail.com> | 2012-12-26 16:18:49 +1100 |
---|---|---|
committer | Danny Rawlins <monster.romster@gmail.com> | 2012-12-26 16:19:01 +1100 |
commit | 8ad83cecf7cc40b9994c4880e5f3113a7d495150 (patch) | |
tree | 415648c348dfb559533c29f30a33a6968bf0ac5d | |
parent | 46afb973fe476d53345836f3cc94793448b21fd7 (diff) | |
download | contrib-8ad83cecf7cc40b9994c4880e5f3113a7d495150.tar.gz contrib-8ad83cecf7cc40b9994c4880e5f3113a7d495150.tar.xz |
deluge: fix moving storage and setting download location
-rw-r--r-- | deluge/.md5sum | 2 | ||||
-rw-r--r-- | deluge/Pkgfile | 12 | ||||
-rw-r--r-- | deluge/fs31433.patch | 29 | ||||
-rw-r--r-- | deluge/issue2169.patch | 1258 |
4 files changed, 1299 insertions, 2 deletions
diff --git a/deluge/.md5sum b/deluge/.md5sum index 522da8209..a5f4f9913 100644 --- a/deluge/.md5sum +++ b/deluge/.md5sum @@ -1 +1,3 @@ 872b45d200bbe16e49352fdf4586da1d deluge-1.3.5.tar.lzma +65311330bd87440c50f2bb7251f46fcd fs31433.patch +234bc58749f83ddadfdb39fb633b6d64 issue2169.patch diff --git a/deluge/Pkgfile b/deluge/Pkgfile index 9369d52d8..f330b1762 100644 --- a/deluge/Pkgfile +++ b/deluge/Pkgfile @@ -6,11 +6,19 @@ name=deluge version=1.3.5 -release=2 -source=(http://download.deluge-torrent.org/source/$name-$version.tar.lzma) +release=3 +source=(http://download.deluge-torrent.org/source/$name-$version.tar.lzma + fs31433.patch + issue2169.patch) build() { cd $name-$version + + # Fix moving to storage + patch -p 1 -i $SRC/fs31433.patch + # Fix download location bug + patch -p 1 -i $SRC/issue2169.patch + OS='linux' python setup.py build python setup.py install --root=$PKG install diff --git a/deluge/fs31433.patch b/deluge/fs31433.patch new file mode 100644 index 000000000..66dfa09aa --- /dev/null +++ b/deluge/fs31433.patch @@ -0,0 +1,29 @@ +diff -u -Nr deluge-1.3.5/deluge/core/torrent.py deluge-1.3.5-fs31433/deluge/core/torrent.py +--- deluge-1.3.5/deluge/core/torrent.py 2012-04-10 03:53:16.000000000 +0200 ++++ deluge-1.3.5-fs31433/deluge/core/torrent.py 2012-10-24 06:14:05.838480957 +0200 +@@ -834,14 +834,17 @@ + def move_storage(self, dest): + """Move a torrent's storage location""" + +- # Attempt to convert utf8 path to unicode +- # Note: Inconsistent encoding for 'dest', needs future investigation +- try: +- dest_u = unicode(dest, "utf-8") +- except TypeError: +- # String is already unicode +- dest_u = dest +- ++ if deluge.common.windows_check(): ++ # Attempt to convert utf8 path to unicode ++ # Note: Inconsistent encoding for 'dest', needs future investigation ++ try: ++ dest_u = unicode(dest, "utf-8") ++ except TypeError: ++ # String is already unicode ++ dest_u = dest ++ else: ++ dest_u = dest ++ + if not os.path.exists(dest_u): + try: + # Try to make the destination path if it doesn't exist diff --git a/deluge/issue2169.patch b/deluge/issue2169.patch new file mode 100644 index 000000000..f8cda97a3 --- /dev/null +++ b/deluge/issue2169.patch @@ -0,0 +1,1258 @@ +diff -u -Nr deluge-1.3.5/deluge/ui/gtkui/addtorrentdialog.py deluge-1.3.5-issue2169/deluge/ui/gtkui/addtorrentdialog.py +--- deluge-1.3.5/deluge/ui/gtkui/addtorrentdialog.py 2012-04-10 05:53:16.000000000 +0400 ++++ deluge-1.3.5-issue2169/deluge/ui/gtkui/addtorrentdialog.py 2012-12-09 14:30:44.000000000 +0400 +@@ -78,7 +78,8 @@ + "on_button_cancel_clicked": self._on_button_cancel_clicked, + "on_button_add_clicked": self._on_button_add_clicked, + "on_button_apply_clicked": self._on_button_apply_clicked, +- "on_button_revert_clicked": self._on_button_revert_clicked ++ "on_button_revert_clicked": self._on_button_revert_clicked, ++ "on_button_download_location_clicked": self._on_button_download_location_clicked + }) + + self.torrent_liststore = gtk.ListStore(str, str, str) +@@ -364,7 +365,7 @@ + options = self.options[torrent_id] + + if client.is_localhost(): +- self.glade.get_widget("button_location").set_current_folder( ++ self.glade.get_widget("button_location").set_text( + options["download_location"]) + else: + self.glade.get_widget("entry_download_path").set_text( +@@ -405,7 +406,7 @@ + + if client.is_localhost(): + options["download_location"] = \ +- self.glade.get_widget("button_location").get_current_folder() ++ self.glade.get_widget("button_location").get_text() + else: + options["download_location"] = \ + self.glade.get_widget("entry_download_path").get_text() +@@ -454,7 +455,7 @@ + + def set_default_options(self): + if client.is_localhost(): +- self.glade.get_widget("button_location").set_current_folder( ++ self.glade.get_widget("button_location").set_text( + self.core_config["download_location"]) + else: + self.glade.get_widget("entry_download_path").set_text( +@@ -586,6 +587,37 @@ + chooser.destroy() + self.add_from_files(result) + ++ def _on_button_download_location_clicked(self, widget): ++ log.debug("_on_button_download_location_clicked") ++ # Setup the filechooserdialog ++ chooser = gtk.FileChooserDialog(_("Choose location folder"), ++ None, ++ gtk.FILE_CHOOSER_ACTION_SELECT_FOLDER, ++ buttons=(gtk.STOCK_CANCEL, gtk.RESPONSE_CANCEL, gtk.STOCK_OPEN, ++ gtk.RESPONSE_OK)) ++ ++ chooser.set_transient_for(self.dialog) ++ chooser.set_select_multiple(False) ++ chooser.set_property("skip-taskbar-hint", True) ++ chooser.set_local_only(True) ++ ++ # Load the 'default_load_path' from the config ++ self.config = ConfigManager("gtkui.conf") ++ if self.config["default_load_path"] is not None: ++ chooser.set_current_folder(self.config["default_load_path"]) ++ ++ # Run the dialog ++ response = chooser.run() ++ ++ if response == gtk.RESPONSE_OK: ++ self.glade.get_widget("button_location").set_text( ++ chooser.get_current_folder()) ++ else: ++ chooser.destroy() ++ return ++ ++ chooser.destroy() ++ + def _on_button_url_clicked(self, widget): + log.debug("_on_button_url_clicked") + dialog = self.glade.get_widget("url_dialog") +diff -u -Nr deluge-1.3.5/deluge/ui/gtkui/glade/add_torrent_dialog.glade deluge-1.3.5-issue2169/deluge/ui/gtkui/glade/add_torrent_dialog.glade +--- deluge-1.3.5/deluge/ui/gtkui/glade/add_torrent_dialog.glade 2012-04-10 05:53:16.000000000 +0400 ++++ deluge-1.3.5-issue2169/deluge/ui/gtkui/glade/add_torrent_dialog.glade 2012-12-09 14:23:26.000000000 +0400 +@@ -1,8 +1,9 @@ +-<?xml version="1.0"?> ++<?xml version="1.0" encoding="UTF-8"?> + <glade-interface> + <!-- interface-requires gtk+ 2.12 --> + <!-- interface-naming-policy toplevel-contextual --> + <widget class="GtkDialog" id="dialog_add_torrent"> ++ <property name="can_focus">False</property> + <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property> + <property name="border_width">5</property> + <property name="title" translatable="yes">Add Torrents</property> +@@ -12,6 +13,7 @@ + <child internal-child="vbox"> + <widget class="GtkVBox" id="dialog-vbox1"> + <property name="visible">True</property> ++ <property name="can_focus">False</property> + <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property> + <property name="spacing">2</property> + <child> +@@ -22,12 +24,14 @@ + <child> + <widget class="GtkFrame" id="frame2"> + <property name="visible">True</property> ++ <property name="can_focus">False</property> + <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property> + <property name="label_xalign">0</property> + <property name="shadow_type">none</property> + <child> + <widget class="GtkAlignment" id="alignment2"> + <property name="visible">True</property> ++ <property name="can_focus">False</property> + <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property> + <property name="top_padding">5</property> + <property name="left_padding">12</property> +@@ -35,6 +39,7 @@ + <child> + <widget class="GtkVBox" id="vbox2"> + <property name="visible">True</property> ++ <property name="can_focus">False</property> + <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property> + <child> + <widget class="GtkScrolledWindow" id="scrolledwindow1"> +@@ -55,12 +60,15 @@ + </child> + </widget> + <packing> ++ <property name="expand">True</property> ++ <property name="fill">True</property> + <property name="position">0</property> + </packing> + </child> + <child> + <widget class="GtkHButtonBox" id="hbuttonbox1"> + <property name="visible">True</property> ++ <property name="can_focus">False</property> + <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property> + <property name="layout_style">center</property> + <child> +@@ -69,16 +77,18 @@ + <property name="can_focus">True</property> + <property name="receives_default">True</property> + <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property> +- <signal name="clicked" handler="on_button_file_clicked"/> ++ <signal name="clicked" handler="on_button_file_clicked" swapped="no"/> + <child> + <widget class="GtkHBox" id="hbox3"> + <property name="visible">True</property> ++ <property name="can_focus">False</property> + <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property> + <property name="border_width">2</property> + <property name="spacing">4</property> + <child> + <widget class="GtkImage" id="image3"> + <property name="visible">True</property> ++ <property name="can_focus">False</property> + <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property> + <property name="stock">gtk-open</property> + <property name="icon-size">1</property> +@@ -92,6 +102,7 @@ + <child> + <widget class="GtkLabel" id="label3"> + <property name="visible">True</property> ++ <property name="can_focus">False</property> + <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property> + <property name="label" translatable="yes">_File</property> + <property name="use_underline">True</property> +@@ -117,16 +128,18 @@ + <property name="can_focus">True</property> + <property name="receives_default">True</property> + <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property> +- <signal name="clicked" handler="on_button_url_clicked"/> ++ <signal name="clicked" handler="on_button_url_clicked" swapped="no"/> + <child> + <widget class="GtkHBox" id="hbox4"> + <property name="visible">True</property> ++ <property name="can_focus">False</property> + <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property> + <property name="border_width">2</property> + <property name="spacing">4</property> + <child> + <widget class="GtkImage" id="image4"> + <property name="visible">True</property> ++ <property name="can_focus">False</property> + <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property> + <property name="stock">gtk-network</property> + <property name="icon-size">1</property> +@@ -140,6 +153,7 @@ + <child> + <widget class="GtkLabel" id="label4"> + <property name="visible">True</property> ++ <property name="can_focus">False</property> + <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property> + <property name="label" translatable="yes">_URL</property> + <property name="use_underline">True</property> +@@ -165,16 +179,18 @@ + <property name="can_focus">True</property> + <property name="receives_default">True</property> + <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property> +- <signal name="clicked" handler="on_button_hash_clicked"/> ++ <signal name="clicked" handler="on_button_hash_clicked" swapped="no"/> + <child> + <widget class="GtkHBox" id="hbox5"> + <property name="visible">True</property> ++ <property name="can_focus">False</property> + <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property> + <property name="border_width">2</property> + <property name="spacing">4</property> + <child> + <widget class="GtkImage" id="image5"> + <property name="visible">True</property> ++ <property name="can_focus">False</property> + <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property> + <property name="stock">gtk-revert-to-saved</property> + <property name="icon-size">1</property> +@@ -188,6 +204,7 @@ + <child> + <widget class="GtkLabel" id="label5"> + <property name="visible">True</property> ++ <property name="can_focus">False</property> + <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property> + <property name="label" translatable="yes">Info_hash</property> + <property name="use_underline">True</property> +@@ -213,15 +230,17 @@ + <property name="can_focus">True</property> + <property name="receives_default">True</property> + <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property> +- <signal name="clicked" handler="on_button_remove_clicked"/> ++ <signal name="clicked" handler="on_button_remove_clicked" swapped="no"/> + <child> + <widget class="GtkHBox" id="hbox2"> + <property name="visible">True</property> ++ <property name="can_focus">False</property> + <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property> + <property name="spacing">4</property> + <child> + <widget class="GtkImage" id="image2"> + <property name="visible">True</property> ++ <property name="can_focus">False</property> + <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property> + <property name="stock">gtk-remove</property> + </widget> +@@ -234,6 +253,7 @@ + <child> + <widget class="GtkLabel" id="label2"> + <property name="visible">True</property> ++ <property name="can_focus">False</property> + <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property> + <property name="label" translatable="yes">_Remove</property> + <property name="use_underline">True</property> +@@ -267,6 +287,7 @@ + <child> + <widget class="GtkLabel" id="label7"> + <property name="visible">True</property> ++ <property name="can_focus">False</property> + <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property> + <property name="label" translatable="yes"><b>Torrents</b></property> + <property name="use_markup">True</property> +@@ -310,25 +331,32 @@ + <child> + <widget class="GtkHBox" id="hbox11"> + <property name="visible">True</property> ++ <property name="can_focus">False</property> + <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property> + <child> + <widget class="GtkImage" id="image9"> + <property name="visible">True</property> ++ <property name="can_focus">False</property> + <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property> + <property name="stock">gtk-open</property> + </widget> + <packing> ++ <property name="expand">True</property> ++ <property name="fill">True</property> + <property name="position">0</property> + </packing> + </child> + <child> + <widget class="GtkLabel" id="label8"> + <property name="visible">True</property> ++ <property name="can_focus">False</property> + <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property> + <property name="label" translatable="yes">Fi_les</property> + <property name="use_underline">True</property> + </widget> + <packing> ++ <property name="expand">True</property> ++ <property name="fill">True</property> + <property name="padding">5</property> + <property name="position">1</property> + </packing> +@@ -342,18 +370,21 @@ + <child> + <widget class="GtkVBox" id="vbox3"> + <property name="visible">True</property> ++ <property name="can_focus">False</property> + <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property> + <property name="border_width">5</property> + <property name="spacing">5</property> + <child> + <widget class="GtkFrame" id="frame7"> + <property name="visible">True</property> ++ <property name="can_focus">False</property> + <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property> + <property name="label_xalign">0</property> + <property name="shadow_type">none</property> + <child> + <widget class="GtkAlignment" id="alignment7"> + <property name="visible">True</property> ++ <property name="can_focus">False</property> + <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property> + <property name="top_padding">5</property> + <property name="left_padding">5</property> +@@ -361,27 +392,55 @@ + <child> + <widget class="GtkHBox" id="hbox14"> + <property name="visible">True</property> ++ <property name="can_focus">False</property> + <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property> + <child> +- <widget class="GtkFileChooserButton" id="button_location"> +- <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property> +- <property name="action">select-folder</property> +- <property name="title" translatable="yes">Select A Folder</property> ++ <widget class="GtkEntry" id="button_location"> ++ <property name="visible">True</property> ++ <property name="can_focus">True</property> ++ <property name="invisible_char">●</property> ++ <property name="primary_icon_activatable">False</property> ++ <property name="secondary_icon_activatable">False</property> ++ <property name="primary_icon_sensitive">True</property> ++ <property name="secondary_icon_sensitive">True</property> + </widget> + <packing> ++ <property name="expand">True</property> ++ <property name="fill">True</property> + <property name="position">0</property> + </packing> + </child> + <child> + <widget class="GtkEntry" id="entry_download_path"> + <property name="can_focus">True</property> +- <property name="truncate_multiline">True</property> + <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property> ++ <property name="truncate_multiline">True</property> ++ <property name="primary_icon_activatable">False</property> ++ <property name="secondary_icon_activatable">False</property> ++ <property name="primary_icon_sensitive">True</property> ++ <property name="secondary_icon_sensitive">True</property> + </widget> + <packing> ++ <property name="expand">True</property> ++ <property name="fill">True</property> + <property name="position">1</property> + </packing> + </child> ++ <child> ++ <widget class="GtkButton" id="button_download_location"> ++ <property name="label">Browse...</property> ++ <property name="visible">True</property> ++ <property name="can_focus">True</property> ++ <property name="receives_default">True</property> ++ <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property> ++ <signal name="clicked" handler="on_button_download_location_clicked" swapped="no"/> ++ </widget> ++ <packing> ++ <property name="expand">False</property> ++ <property name="fill">True</property> ++ <property name="position">2</property> ++ </packing> ++ </child> + </widget> + </child> + </widget> +@@ -389,6 +448,7 @@ + <child> + <widget class="GtkLabel" id="label17"> + <property name="visible">True</property> ++ <property name="can_focus">False</property> + <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property> + <property name="label" translatable="yes"><b>Download Location</b></property> + <property name="use_markup">True</property> +@@ -407,23 +467,27 @@ + <child> + <widget class="GtkHBox" id="hbox6"> + <property name="visible">True</property> ++ <property name="can_focus">False</property> + <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property> + <property name="spacing">10</property> + <child> + <widget class="GtkFrame" id="frame4"> + <property name="visible">True</property> ++ <property name="can_focus">False</property> + <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property> + <property name="label_xalign">0</property> + <property name="shadow_type">none</property> + <child> + <widget class="GtkAlignment" id="alignment4"> + <property name="visible">True</property> ++ <property name="can_focus">False</property> + <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property> + <property name="top_padding">5</property> + <property name="left_padding">12</property> + <child> + <widget class="GtkVBox" id="vbox4"> + <property name="visible">True</property> ++ <property name="can_focus">False</property> + <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property> + <child> + <widget class="GtkRadioButton" id="radio_full"> +@@ -464,6 +528,7 @@ + <child> + <widget class="GtkLabel" id="label9"> + <property name="visible">True</property> ++ <property name="can_focus">False</property> + <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property> + <property name="label" translatable="yes"><b>Allocation</b></property> + <property name="use_markup">True</property> +@@ -482,18 +547,21 @@ + <child> + <widget class="GtkFrame" id="frame5"> + <property name="visible">True</property> ++ <property name="can_focus">False</property> + <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property> + <property name="label_xalign">0</property> + <property name="shadow_type">none</property> + <child> + <widget class="GtkAlignment" id="alignment5"> + <property name="visible">True</property> ++ <property name="can_focus">False</property> + <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property> + <property name="top_padding">5</property> + <property name="left_padding">12</property> + <child> + <widget class="GtkTable" id="table1"> + <property name="visible">True</property> ++ <property name="can_focus">False</property> + <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property> + <property name="n_rows">4</property> + <property name="n_columns">2</property> +@@ -504,30 +572,36 @@ + <property name="can_focus">True</property> + <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property> + <property name="xalign">1</property> ++ <property name="primary_icon_activatable">False</property> ++ <property name="secondary_icon_activatable">False</property> ++ <property name="primary_icon_sensitive">True</property> ++ <property name="secondary_icon_sensitive">True</property> + <property name="adjustment">-1 -1 9999 1 10 0</property> + </widget> + <packing> + <property name="left_attach">1</property> + <property name="right_attach">2</property> +- <property name="x_options"></property> +- <property name="y_options"></property> ++ <property name="x_options"/> ++ <property name="y_options"/> + </packing> + </child> + <child> + <widget class="GtkLabel" id="label11"> + <property name="visible">True</property> ++ <property name="can_focus">False</property> + <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property> + <property name="xalign">0</property> + <property name="label" translatable="yes">Max Down Speed:</property> + </widget> + <packing> + <property name="x_options">GTK_FILL</property> +- <property name="y_options"></property> ++ <property name="y_options"/> + </packing> + </child> + <child> + <widget class="GtkLabel" id="label12"> + <property name="visible">True</property> ++ <property name="can_focus">False</property> + <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property> + <property name="xalign">0</property> + <property name="label" translatable="yes">Max Up Speed:</property> +@@ -536,12 +610,13 @@ + <property name="top_attach">1</property> + <property name="bottom_attach">2</property> + <property name="x_options">GTK_FILL</property> +- <property name="y_options"></property> ++ <property name="y_options"/> + </packing> + </child> + <child> + <widget class="GtkLabel" id="label13"> + <property name="visible">True</property> ++ <property name="can_focus">False</property> + <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property> + <property name="xalign">0</property> + <property name="label" translatable="yes">Max Connections:</property> +@@ -550,12 +625,13 @@ + <property name="top_attach">2</property> + <property name="bottom_attach">3</property> + <property name="x_options">GTK_FILL</property> +- <property name="y_options"></property> ++ <property name="y_options"/> + </packing> + </child> + <child> + <widget class="GtkLabel" id="label14"> + <property name="visible">True</property> ++ <property name="can_focus">False</property> + <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property> + <property name="xalign">0</property> + <property name="label" translatable="yes">Max Upload Slots:</property> +@@ -564,7 +640,7 @@ + <property name="top_attach">3</property> + <property name="bottom_attach">4</property> + <property name="x_options">GTK_FILL</property> +- <property name="y_options"></property> ++ <property name="y_options"/> + </packing> + </child> + <child> +@@ -573,6 +649,10 @@ + <property name="can_focus">True</property> + <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property> + <property name="xalign">1</property> ++ <property name="primary_icon_activatable">False</property> ++ <property name="secondary_icon_activatable">False</property> ++ <property name="primary_icon_sensitive">True</property> ++ <property name="secondary_icon_sensitive">True</property> + <property name="adjustment">-1 -1 9999 1 10 0</property> + <property name="update_policy">if-valid</property> + </widget> +@@ -581,8 +661,8 @@ + <property name="right_attach">2</property> + <property name="top_attach">1</property> + <property name="bottom_attach">2</property> +- <property name="x_options"></property> +- <property name="y_options"></property> ++ <property name="x_options"/> ++ <property name="y_options"/> + </packing> + </child> + <child> +@@ -591,6 +671,10 @@ + <property name="can_focus">True</property> + <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property> + <property name="xalign">1</property> ++ <property name="primary_icon_activatable">False</property> ++ <property name="secondary_icon_activatable">False</property> ++ <property name="primary_icon_sensitive">True</property> ++ <property name="secondary_icon_sensitive">True</property> + <property name="adjustment">-1 -1 9999 1 10 0</property> + </widget> + <packing> +@@ -598,8 +682,8 @@ + <property name="right_attach">2</property> + <property name="top_attach">2</property> + <property name="bottom_attach">3</property> +- <property name="x_options"></property> +- <property name="y_options"></property> ++ <property name="x_options"/> ++ <property name="y_options"/> + </packing> + </child> + <child> +@@ -608,6 +692,10 @@ + <property name="can_focus">True</property> + <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property> + <property name="xalign">1</property> ++ <property name="primary_icon_activatable">False</property> ++ <property name="secondary_icon_activatable">False</property> ++ <property name="primary_icon_sensitive">True</property> ++ <property name="secondary_icon_sensitive">True</property> + <property name="adjustment">-1 -1 9999 1 10 0</property> + </widget> + <packing> +@@ -615,8 +703,8 @@ + <property name="right_attach">2</property> + <property name="top_attach">3</property> + <property name="bottom_attach">4</property> +- <property name="x_options"></property> +- <property name="y_options"></property> ++ <property name="x_options"/> ++ <property name="y_options"/> + </packing> + </child> + </widget> +@@ -626,6 +714,7 @@ + <child> + <widget class="GtkLabel" id="label10"> + <property name="visible">True</property> ++ <property name="can_focus">False</property> + <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property> + <property name="label" translatable="yes"><b>Bandwidth</b></property> + <property name="use_markup">True</property> +@@ -644,18 +733,21 @@ + <child> + <widget class="GtkFrame" id="frame6"> + <property name="visible">True</property> ++ <property name="can_focus">False</property> + <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property> + <property name="label_xalign">0</property> + <property name="shadow_type">none</property> + <child> + <widget class="GtkAlignment" id="alignment6"> + <property name="visible">True</property> ++ <property name="can_focus">False</property> + <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property> + <property name="top_padding">5</property> + <property name="left_padding">12</property> + <child> + <widget class="GtkVBox" id="vbox5"> + <property name="visible">True</property> ++ <property name="can_focus">False</property> + <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property> + <property name="spacing">5</property> + <child> +@@ -696,6 +788,7 @@ + <child> + <widget class="GtkLabel" id="label15"> + <property name="visible">True</property> ++ <property name="can_focus">False</property> + <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property> + <property name="label" translatable="yes"><b>General</b></property> + <property name="use_markup">True</property> +@@ -721,28 +814,33 @@ + <child> + <widget class="GtkHBox" id="hbox9"> + <property name="visible">True</property> ++ <property name="can_focus">False</property> + <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property> + <property name="spacing">5</property> + <child> +- <widget class="GtkAlignment" id="alignment1"> ++ <widget class="GtkAlignment" id="alignment3"> + <property name="visible">True</property> ++ <property name="can_focus">False</property> + <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property> + <child> +- <widget class="GtkButton" id="button_revert"> ++ <widget class="GtkButton" id="button_apply"> + <property name="visible">True</property> + <property name="can_focus">True</property> + <property name="receives_default">True</property> + <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property> +- <signal name="clicked" handler="on_button_revert_clicked"/> ++ <signal name="clicked" handler="on_button_apply_clicked" swapped="no"/> + <child> +- <widget class="GtkHBox" id="hbox10"> ++ <widget class="GtkHBox" id="hbox7"> + <property name="visible">True</property> ++ <property name="can_focus">False</property> + <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property> + <child> +- <widget class="GtkImage" id="image8"> ++ <widget class="GtkImage" id="image7"> + <property name="visible">True</property> ++ <property name="can_focus">False</property> + <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property> +- <property name="stock">gtk-revert-to-saved</property> ++ <property name="xalign">1</property> ++ <property name="stock">gtk-apply</property> + </widget> + <packing> + <property name="expand">False</property> +@@ -751,10 +849,12 @@ + </packing> + </child> + <child> +- <widget class="GtkLabel" id="label19"> ++ <widget class="GtkLabel" id="label18"> + <property name="visible">True</property> ++ <property name="can_focus">False</property> + <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property> +- <property name="label" translatable="yes">Revert To Defaults</property> ++ <property name="xalign">0</property> ++ <property name="label" translatable="yes">Apply To All</property> + </widget> + <packing> + <property name="expand">False</property> +@@ -772,30 +872,32 @@ + <property name="expand">False</property> + <property name="fill">False</property> + <property name="pack_type">end</property> +- <property name="position">1</property> ++ <property name="position">0</property> + </packing> + </child> + <child> +- <widget class="GtkAlignment" id="alignment3"> ++ <widget class="GtkAlignment" id="alignment1"> + <property name="visible">True</property> ++ <property name="can_focus">False</property> + <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property> + <child> +- <widget class="GtkButton" id="button_apply"> ++ <widget class="GtkButton" id="button_revert"> + <property name="visible">True</property> + <property name="can_focus">True</property> + <property name="receives_default">True</property> + <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property> +- <signal name="clicked" handler="on_button_apply_clicked"/> ++ <signal name="clicked" handler="on_button_revert_clicked" swapped="no"/> + <child> +- <widget class="GtkHBox" id="hbox7"> ++ <widget class="GtkHBox" id="hbox10"> + <property name="visible">True</property> ++ <property name="can_focus">False</property> + <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property> + <child> +- <widget class="GtkImage" id="image7"> ++ <widget class="GtkImage" id="image8"> + <property name="visible">True</property> ++ <property name="can_focus">False</property> + <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property> +- <property name="xalign">1</property> +- <property name="stock">gtk-apply</property> ++ <property name="stock">gtk-revert-to-saved</property> + </widget> + <packing> + <property name="expand">False</property> +@@ -804,11 +906,11 @@ + </packing> + </child> + <child> +- <widget class="GtkLabel" id="label18"> ++ <widget class="GtkLabel" id="label19"> + <property name="visible">True</property> ++ <property name="can_focus">False</property> + <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property> +- <property name="xalign">0</property> +- <property name="label" translatable="yes">Apply To All</property> ++ <property name="label" translatable="yes">Revert To Defaults</property> + </widget> + <packing> + <property name="expand">False</property> +@@ -826,7 +928,7 @@ + <property name="expand">False</property> + <property name="fill">False</property> + <property name="pack_type">end</property> +- <property name="position">0</property> ++ <property name="position">1</property> + </packing> + </child> + </widget> +@@ -844,25 +946,32 @@ + <child> + <widget class="GtkHBox" id="hbox12"> + <property name="visible">True</property> ++ <property name="can_focus">False</property> + <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property> + <child> + <widget class="GtkImage" id="image10"> + <property name="visible">True</property> ++ <property name="can_focus">False</property> + <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property> + <property name="stock">gtk-properties</property> + </widget> + <packing> ++ <property name="expand">True</property> ++ <property name="fill">True</property> + <property name="position">0</property> + </packing> + </child> + <child> + <widget class="GtkLabel" id="label20"> + <property name="visible">True</property> ++ <property name="can_focus">False</property> + <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property> + <property name="label" translatable="yes">_Options</property> + <property name="use_underline">True</property> + </widget> + <packing> ++ <property name="expand">True</property> ++ <property name="fill">True</property> + <property name="padding">5</property> + <property name="position">1</property> + </packing> +@@ -882,12 +991,15 @@ + </child> + </widget> + <packing> ++ <property name="expand">True</property> ++ <property name="fill">True</property> + <property name="position">0</property> + </packing> + </child> + <child internal-child="action_area"> + <widget class="GtkHButtonBox" id="dialog-action_area1"> + <property name="visible">True</property> ++ <property name="can_focus">False</property> + <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property> + <property name="layout_style">end</property> + <child> +@@ -898,7 +1010,7 @@ + <property name="receives_default">True</property> + <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property> + <property name="use_stock">True</property> +- <signal name="clicked" handler="on_button_cancel_clicked"/> ++ <signal name="clicked" handler="on_button_cancel_clicked" swapped="no"/> + </widget> + <packing> + <property name="expand">False</property> +@@ -914,7 +1026,7 @@ + <property name="receives_default">True</property> + <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property> + <property name="use_stock">True</property> +- <signal name="clicked" handler="on_button_add_clicked"/> ++ <signal name="clicked" handler="on_button_add_clicked" swapped="no"/> + </widget> + <packing> + <property name="expand">False</property> +@@ -925,6 +1037,7 @@ + </widget> + <packing> + <property name="expand">False</property> ++ <property name="fill">True</property> + <property name="pack_type">end</property> + <property name="position">1</property> + </packing> +@@ -932,123 +1045,30 @@ + </widget> + </child> + </widget> +- <widget class="GtkDialog" id="url_dialog"> ++ <widget class="GtkDialog" id="dialog_infohash"> + <property name="width_request">462</property> ++ <property name="can_focus">False</property> + <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property> + <property name="border_width">5</property> +- <property name="title" translatable="yes">Add URL</property> ++ <property name="title" translatable="yes">Add Infohash</property> + <property name="window_position">center-on-parent</property> + <property name="destroy_with_parent">True</property> + <property name="type_hint">dialog</property> + <property name="decorated">False</property> +- <property name="has_separator">False</property> + <child internal-child="vbox"> +- <widget class="GtkVBox" id="dialog-vbox4"> ++ <widget class="GtkVBox" id="dialog-vbox5"> + <property name="visible">True</property> ++ <property name="can_focus">False</property> + <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property> + <property name="spacing">2</property> +- <child> +- <widget class="GtkVBox" id="vbox6"> +- <property name="visible">True</property> +- <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property> +- <property name="spacing">5</property> +- <child> +- <widget class="GtkHBox" id="hbox7"> +- <property name="visible">True</property> +- <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property> +- <property name="spacing">5</property> +- <child> +- <widget class="GtkImage" id="image11"> +- <property name="visible">True</property> +- <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property> +- <property name="stock">gtk-add</property> +- </widget> +- <packing> +- <property name="expand">False</property> +- <property name="fill">False</property> +- <property name="position">0</property> +- </packing> +- </child> +- <child> +- <widget class="GtkLabel" id="label6"> +- <property name="visible">True</property> +- <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property> +- <property name="label" translatable="yes"><b>From URL</b></property> +- <property name="use_markup">True</property> +- </widget> +- <packing> +- <property name="expand">False</property> +- <property name="fill">False</property> +- <property name="position">1</property> +- </packing> +- </child> +- </widget> +- <packing> +- <property name="expand">False</property> +- <property name="fill">False</property> +- <property name="position">0</property> +- </packing> +- </child> +- <child> +- <widget class="GtkHSeparator" id="hseparator3"> +- <property name="visible">True</property> +- <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property> +- </widget> +- <packing> +- <property name="expand">False</property> +- <property name="position">1</property> +- </packing> +- </child> +- <child> +- <widget class="GtkHBox" id="hbox13"> +- <property name="visible">True</property> +- <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property> +- <property name="spacing">5</property> +- <child> +- <widget class="GtkLabel" id="label21"> +- <property name="visible">True</property> +- <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property> +- <property name="label" translatable="yes">URL:</property> +- </widget> +- <packing> +- <property name="expand">False</property> +- <property name="fill">False</property> +- <property name="position">0</property> +- </packing> +- </child> +- <child> +- <widget class="GtkEntry" id="entry_url"> +- <property name="visible">True</property> +- <property name="can_focus">True</property> +- <property name="has_focus">True</property> +- <property name="is_focus">True</property> +- <property name="truncate_multiline">True</property> +- <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property> +- <property name="activates_default">True</property> +- </widget> +- <packing> +- <property name="position">1</property> +- </packing> +- </child> +- </widget> +- <packing> +- <property name="expand">False</property> +- <property name="fill">False</property> +- <property name="position">2</property> +- </packing> +- </child> +- </widget> +- <packing> +- <property name="position">1</property> +- </packing> +- </child> + <child internal-child="action_area"> +- <widget class="GtkHButtonBox" id="dialog-action_area4"> ++ <widget class="GtkHButtonBox" id="dialog-action_area5"> + <property name="visible">True</property> ++ <property name="can_focus">False</property> + <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property> + <property name="layout_style">end</property> + <child> +- <widget class="GtkButton" id="button_add_cancel"> ++ <widget class="GtkButton" id="button_magnet_add_cancel"> + <property name="label">gtk-cancel</property> + <property name="response_id">-6</property> + <property name="visible">True</property> +@@ -1064,7 +1084,7 @@ + </packing> + </child> + <child> +- <widget class="GtkButton" id="button_add_ok"> ++ <widget class="GtkButton" id="button_magnet_add_ok"> + <property name="label">gtk-ok</property> + <property name="response_id">-5</property> + <property name="visible">True</property> +@@ -1084,41 +1104,27 @@ + </widget> + <packing> + <property name="expand">False</property> ++ <property name="fill">True</property> + <property name="pack_type">end</property> + <property name="position">0</property> + </packing> + </child> +- </widget> +- </child> +- </widget> +- <widget class="GtkDialog" id="dialog_infohash"> +- <property name="width_request">462</property> +- <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property> +- <property name="border_width">5</property> +- <property name="title" translatable="yes">Add Infohash</property> +- <property name="window_position">center-on-parent</property> +- <property name="destroy_with_parent">True</property> +- <property name="type_hint">dialog</property> +- <property name="decorated">False</property> +- <property name="has_separator">False</property> +- <child internal-child="vbox"> +- <widget class="GtkVBox" id="dialog-vbox5"> +- <property name="visible">True</property> +- <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property> +- <property name="spacing">2</property> + <child> + <widget class="GtkVBox" id="vbox7"> + <property name="visible">True</property> ++ <property name="can_focus">False</property> + <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property> + <property name="spacing">5</property> + <child> + <widget class="GtkHBox" id="hbox8"> + <property name="visible">True</property> ++ <property name="can_focus">False</property> + <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property> + <property name="spacing">5</property> + <child> + <widget class="GtkImage" id="image_dialog_magnet"> + <property name="visible">True</property> ++ <property name="can_focus">False</property> + <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property> + <property name="stock">gtk-revert-to-saved</property> + </widget> +@@ -1131,6 +1137,7 @@ + <child> + <widget class="GtkLabel" id="label16"> + <property name="visible">True</property> ++ <property name="can_focus">False</property> + <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property> + <property name="label" translatable="yes"><b>From Infohash</b></property> + <property name="use_markup">True</property> +@@ -1151,21 +1158,25 @@ + <child> + <widget class="GtkHSeparator" id="hseparator2"> + <property name="visible">True</property> ++ <property name="can_focus">False</property> + <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property> + </widget> + <packing> + <property name="expand">False</property> ++ <property name="fill">True</property> + <property name="position">1</property> + </packing> + </child> + <child> + <widget class="GtkHBox" id="hbox16"> + <property name="visible">True</property> ++ <property name="can_focus">False</property> + <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property> + <property name="spacing">5</property> + <child> + <widget class="GtkLabel" id="label23"> + <property name="visible">True</property> ++ <property name="can_focus">False</property> + <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property> + <property name="label" translatable="yes">Infohash:</property> + </widget> +@@ -1181,11 +1192,17 @@ + <property name="can_focus">True</property> + <property name="has_focus">True</property> + <property name="is_focus">True</property> +- <property name="truncate_multiline">True</property> + <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property> + <property name="activates_default">True</property> ++ <property name="truncate_multiline">True</property> ++ <property name="primary_icon_activatable">False</property> ++ <property name="secondary_icon_activatable">False</property> ++ <property name="primary_icon_sensitive">True</property> ++ <property name="secondary_icon_sensitive">True</property> + </widget> + <packing> ++ <property name="expand">True</property> ++ <property name="fill">True</property> + <property name="position">1</property> + </packing> + </child> +@@ -1199,10 +1216,12 @@ + <child> + <widget class="GtkHBox" id="hbox15"> + <property name="visible">True</property> ++ <property name="can_focus">False</property> + <property name="spacing">5</property> + <child> + <widget class="GtkLabel" id="label22"> + <property name="visible">True</property> ++ <property name="can_focus">False</property> + <property name="yalign">0</property> + <property name="label" translatable="yes">Trackers:</property> + </widget> +@@ -1227,26 +1246,52 @@ + </child> + </widget> + <packing> ++ <property name="expand">True</property> ++ <property name="fill">True</property> + <property name="position">1</property> + </packing> + </child> + </widget> + <packing> ++ <property name="expand">True</property> ++ <property name="fill">True</property> + <property name="position">3</property> + </packing> + </child> + </widget> + <packing> ++ <property name="expand">True</property> ++ <property name="fill">True</property> + <property name="position">1</property> + </packing> + </child> ++ </widget> ++ </child> ++ </widget> ++ <widget class="GtkDialog" id="url_dialog"> ++ <property name="width_request">462</property> ++ <property name="can_focus">False</property> ++ <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property> ++ <property name="border_width">5</property> ++ <property name="title" translatable="yes">Add URL</property> ++ <property name="window_position">center-on-parent</property> ++ <property name="destroy_with_parent">True</property> ++ <property name="type_hint">dialog</property> ++ <property name="decorated">False</property> ++ <child internal-child="vbox"> ++ <widget class="GtkVBox" id="dialog-vbox4"> ++ <property name="visible">True</property> ++ <property name="can_focus">False</property> ++ <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property> ++ <property name="spacing">2</property> + <child internal-child="action_area"> +- <widget class="GtkHButtonBox" id="dialog-action_area5"> ++ <widget class="GtkHButtonBox" id="dialog-action_area4"> + <property name="visible">True</property> ++ <property name="can_focus">False</property> + <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property> + <property name="layout_style">end</property> + <child> +- <widget class="GtkButton" id="button_magnet_add_cancel"> ++ <widget class="GtkButton" id="button_add_cancel"> + <property name="label">gtk-cancel</property> + <property name="response_id">-6</property> + <property name="visible">True</property> +@@ -1262,7 +1307,7 @@ + </packing> + </child> + <child> +- <widget class="GtkButton" id="button_magnet_add_ok"> ++ <widget class="GtkButton" id="button_add_ok"> + <property name="label">gtk-ok</property> + <property name="response_id">-5</property> + <property name="visible">True</property> +@@ -1282,10 +1327,122 @@ + </widget> + <packing> + <property name="expand">False</property> ++ <property name="fill">True</property> + <property name="pack_type">end</property> + <property name="position">0</property> + </packing> + </child> ++ <child> ++ <widget class="GtkVBox" id="vbox6"> ++ <property name="visible">True</property> ++ <property name="can_focus">False</property> ++ <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property> ++ <property name="spacing">5</property> ++ <child> ++ <widget class="GtkHBox" id="hbox7"> ++ <property name="visible">True</property> ++ <property name="can_focus">False</property> ++ <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property> ++ <property name="spacing">5</property> ++ <child> ++ <widget class="GtkImage" id="image11"> ++ <property name="visible">True</property> ++ <property name="can_focus">False</property> ++ <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property> ++ <property name="stock">gtk-add</property> ++ </widget> ++ <packing> ++ <property name="expand">False</property> ++ <property name="fill">False</property> ++ <property name="position">0</property> ++ </packing> ++ </child> ++ <child> ++ <widget class="GtkLabel" id="label6"> ++ <property name="visible">True</property> ++ <property name="can_focus">False</property> ++ <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property> ++ <property name="label" translatable="yes"><b>From URL</b></property> ++ <property name="use_markup">True</property> ++ </widget> ++ <packing> ++ <property name="expand">False</property> ++ <property name="fill">False</property> ++ <property name="position">1</property> ++ </packing> ++ </child> ++ </widget> ++ <packing> ++ <property name="expand">False</property> ++ <property name="fill">False</property> ++ <property name="position">0</property> ++ </packing> ++ </child> ++ <child> ++ <widget class="GtkHSeparator" id="hseparator3"> ++ <property name="visible">True</property> ++ <property name="can_focus">False</property> ++ <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property> ++ </widget> ++ <packing> ++ <property name="expand">False</property> ++ <property name="fill">True</property> ++ <property name="position">1</property> ++ </packing> ++ </child> ++ <child> ++ <widget class="GtkHBox" id="hbox13"> ++ <property name="visible">True</property> ++ <property name="can_focus">False</property> ++ <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property> ++ <property name="spacing">5</property> ++ <child> ++ <widget class="GtkLabel" id="label21"> ++ <property name="visible">True</property> ++ <property name="can_focus">False</property> ++ <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property> ++ <property name="label" translatable="yes">URL:</property> ++ </widget> ++ <packing> ++ <property name="expand">False</property> ++ <property name="fill">False</property> ++ <property name="position">0</property> ++ </packing> ++ </child> ++ <child> ++ <widget class="GtkEntry" id="entry_url"> ++ <property name="visible">True</property> ++ <property name="can_focus">True</property> ++ <property name="has_focus">True</property> ++ <property name="is_focus">True</property> ++ <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property> ++ <property name="activates_default">True</property> ++ <property name="truncate_multiline">True</property> ++ <property name="primary_icon_activatable">False</property> ++ <property name="secondary_icon_activatable">False</property> ++ <property name="primary_icon_sensitive">True</property> ++ <property name="secondary_icon_sensitive">True</property> ++ </widget> ++ <packing> ++ <property name="expand">True</property> ++ <property name="fill">True</property> ++ <property name="position">1</property> ++ </packing> ++ </child> ++ </widget> ++ <packing> ++ <property name="expand">False</property> ++ <property name="fill">False</property> ++ <property name="position">2</property> ++ </packing> ++ </child> ++ </widget> ++ <packing> ++ <property name="expand">True</property> ++ <property name="fill">True</property> ++ <property name="position">1</property> ++ </packing> ++ </child> + </widget> + </child> + </widget> |