mirror of
https://git.deluge-torrent.org/deluge
synced 2025-04-21 12:04:51 +00:00
Modify the remove torrent behaviour to be more HIG compliant.
Add the ability to set per-torrent options from the Torrent menu. Add new CoreConfig component for keeping a local mirror of the core config.
This commit is contained in:
parent
89bea0a40f
commit
335c037add
6 changed files with 353 additions and 288 deletions
|
@ -1,239 +1,7 @@
|
|||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<!DOCTYPE glade-interface SYSTEM "glade-2.0.dtd">
|
||||
<!--Generated with glade3 3.2.2 on Fri Nov 9 18:22:43 2007 by andrew@fragment-->
|
||||
<!--Generated with glade3 3.4.0 on Sun Feb 17 12:13:24 2008 -->
|
||||
<glade-interface>
|
||||
<widget class="GtkDialog" id="remove_torrent_dlg">
|
||||
<property name="title" translatable="yes">Remove Torrent</property>
|
||||
<property name="window_position">GTK_WIN_POS_CENTER</property>
|
||||
<property name="type_hint">GDK_WINDOW_TYPE_HINT_NORMAL</property>
|
||||
<property name="skip_taskbar_hint">True</property>
|
||||
<property name="skip_pager_hint">True</property>
|
||||
<property name="has_separator">False</property>
|
||||
<child internal-child="vbox">
|
||||
<widget class="GtkVBox" id="dialog-vbox3">
|
||||
<property name="visible">True</property>
|
||||
<child>
|
||||
<widget class="GtkVBox" id="vbox1">
|
||||
<property name="visible">True</property>
|
||||
<property name="spacing">10</property>
|
||||
<child>
|
||||
<widget class="GtkHBox" id="hbox1">
|
||||
<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">3</property>
|
||||
<child>
|
||||
<widget class="GtkImage" id="image1">
|
||||
<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-dialog-warning</property>
|
||||
<property name="icon_size">6</property>
|
||||
</widget>
|
||||
<packing>
|
||||
<property name="expand">False</property>
|
||||
<property name="fill">False</property>
|
||||
<property name="padding">5</property>
|
||||
</packing>
|
||||
</child>
|
||||
<child>
|
||||
<widget class="GtkLabel" id="label1">
|
||||
<property name="visible">True</property>
|
||||
<property name="xalign">0</property>
|
||||
<property name="label" translatable="yes"><span size="large"><b>Are you sure you want to remove the selected torrent(s) from Deluge?</b></span></property>
|
||||
<property name="use_markup">True</property>
|
||||
<property name="wrap">True</property>
|
||||
</widget>
|
||||
<packing>
|
||||
<property name="padding">10</property>
|
||||
<property name="position">1</property>
|
||||
</packing>
|
||||
</child>
|
||||
</widget>
|
||||
<packing>
|
||||
<property name="expand">False</property>
|
||||
<property name="fill">False</property>
|
||||
<property name="padding">5</property>
|
||||
</packing>
|
||||
</child>
|
||||
<child>
|
||||
<widget class="GtkAlignment" id="alignment1">
|
||||
<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="left_padding">20</property>
|
||||
<child>
|
||||
<widget class="GtkCheckButton" id="data_also">
|
||||
<property name="visible">True</property>
|
||||
<property name="label" translatable="yes">Delete downloaded files</property>
|
||||
<property name="response_id">0</property>
|
||||
<property name="draw_indicator">True</property>
|
||||
</widget>
|
||||
</child>
|
||||
</widget>
|
||||
<packing>
|
||||
<property name="expand">False</property>
|
||||
<property name="fill">False</property>
|
||||
<property name="position">1</property>
|
||||
</packing>
|
||||
</child>
|
||||
<child>
|
||||
<widget class="GtkAlignment" id="alignment2">
|
||||
<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="bottom_padding">5</property>
|
||||
<property name="left_padding">20</property>
|
||||
<child>
|
||||
<widget class="GtkCheckButton" id="torrent_also">
|
||||
<property name="visible">True</property>
|
||||
<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="label" translatable="yes">Delete .torrent file</property>
|
||||
<property name="response_id">0</property>
|
||||
<property name="active">True</property>
|
||||
<property name="draw_indicator">True</property>
|
||||
</widget>
|
||||
</child>
|
||||
</widget>
|
||||
<packing>
|
||||
<property name="expand">False</property>
|
||||
<property name="fill">False</property>
|
||||
<property name="position">2</property>
|
||||
</packing>
|
||||
</child>
|
||||
<child>
|
||||
<widget class="GtkLabel" id="warning">
|
||||
<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="position">3</property>
|
||||
</packing>
|
||||
</child>
|
||||
</widget>
|
||||
<packing>
|
||||
<property name="expand">False</property>
|
||||
<property name="fill">False</property>
|
||||
<property name="padding">5</property>
|
||||
<property name="position">1</property>
|
||||
</packing>
|
||||
</child>
|
||||
<child internal-child="action_area">
|
||||
<widget class="GtkHButtonBox" id="dialog-action_area3">
|
||||
<property name="visible">True</property>
|
||||
<property name="layout_style">GTK_BUTTONBOX_END</property>
|
||||
<child>
|
||||
<widget class="GtkButton" id="button2">
|
||||
<property name="visible">True</property>
|
||||
<property name="label">gtk-no</property>
|
||||
<property name="use_stock">True</property>
|
||||
<property name="response_id">0</property>
|
||||
</widget>
|
||||
</child>
|
||||
<child>
|
||||
<widget class="GtkButton" id="button1">
|
||||
<property name="visible">True</property>
|
||||
<property name="label">gtk-yes</property>
|
||||
<property name="use_stock">True</property>
|
||||
<property name="response_id">1</property>
|
||||
</widget>
|
||||
<packing>
|
||||
<property name="position">1</property>
|
||||
</packing>
|
||||
</child>
|
||||
</widget>
|
||||
<packing>
|
||||
<property name="expand">False</property>
|
||||
<property name="pack_type">GTK_PACK_END</property>
|
||||
</packing>
|
||||
</child>
|
||||
</widget>
|
||||
</child>
|
||||
</widget>
|
||||
<widget class="GtkMenu" id="tray_menu">
|
||||
<property name="visible">True</property>
|
||||
<child>
|
||||
<widget class="GtkMenuItem" id="menuitem10">
|
||||
<property name="visible">True</property>
|
||||
<property name="label" translatable="yes">Show/Hide</property>
|
||||
<property name="use_underline">True</property>
|
||||
<signal name="activate" handler="show_hide_window"/>
|
||||
</widget>
|
||||
</child>
|
||||
<child>
|
||||
<widget class="GtkImageMenuItem" id="menuitem9">
|
||||
<property name="visible">True</property>
|
||||
<property name="label" translatable="yes">Add a Torrent...</property>
|
||||
<property name="use_underline">True</property>
|
||||
<signal name="activate" handler="add_torrent"/>
|
||||
<child internal-child="image">
|
||||
<widget class="GtkImage" id="menu-item-image1">
|
||||
<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>
|
||||
<property name="icon_size">1</property>
|
||||
</widget>
|
||||
</child>
|
||||
</widget>
|
||||
</child>
|
||||
<child>
|
||||
<widget class="GtkImageMenuItem" id="menuitem11">
|
||||
<property name="visible">True</property>
|
||||
<property name="label" translatable="yes">Clear Finished</property>
|
||||
<property name="use_underline">True</property>
|
||||
<signal name="activate" handler="clear_finished"/>
|
||||
<child internal-child="image">
|
||||
<widget class="GtkImage" id="menu-item-image2">
|
||||
<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-clear</property>
|
||||
<property name="icon_size">1</property>
|
||||
</widget>
|
||||
</child>
|
||||
</widget>
|
||||
</child>
|
||||
<child>
|
||||
<widget class="GtkSeparatorMenuItem" id="separatormenuitem2">
|
||||
<property name="visible">True</property>
|
||||
</widget>
|
||||
</child>
|
||||
<child>
|
||||
<widget class="GtkImageMenuItem" id="menuitem12">
|
||||
<property name="visible">True</property>
|
||||
<property name="label">gtk-preferences</property>
|
||||
<property name="use_underline">True</property>
|
||||
<property name="use_stock">True</property>
|
||||
<signal name="activate" handler="preferences"/>
|
||||
</widget>
|
||||
</child>
|
||||
<child>
|
||||
<widget class="GtkImageMenuItem" id="menuitem13">
|
||||
<property name="visible">True</property>
|
||||
<property name="label" translatable="yes">Plugins</property>
|
||||
<property name="use_underline">True</property>
|
||||
<signal name="activate" handler="plugins"/>
|
||||
<child internal-child="image">
|
||||
<widget class="GtkImage" id="menu-item-image3">
|
||||
<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-execute</property>
|
||||
<property name="icon_size">1</property>
|
||||
</widget>
|
||||
</child>
|
||||
</widget>
|
||||
</child>
|
||||
<child>
|
||||
<widget class="GtkSeparatorMenuItem" id="separatormenuitem1">
|
||||
<property name="visible">True</property>
|
||||
</widget>
|
||||
</child>
|
||||
<child>
|
||||
<widget class="GtkImageMenuItem" id="menuitem14">
|
||||
<property name="visible">True</property>
|
||||
<property name="label">gtk-quit</property>
|
||||
<property name="use_underline">True</property>
|
||||
<property name="use_stock">True</property>
|
||||
<signal name="activate" handler="quit"/>
|
||||
</widget>
|
||||
</child>
|
||||
</widget>
|
||||
<widget class="GtkDialog" id="speed_dialog">
|
||||
<property name="app_paintable">True</property>
|
||||
<property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
|
||||
|
|
|
@ -1,12 +1,11 @@
|
|||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<!DOCTYPE glade-interface SYSTEM "glade-2.0.dtd">
|
||||
<!--Generated with glade3 3.4.1 on Tue Jan 22 01:29:43 2008 -->
|
||||
<!--Generated with glade3 3.4.0 on Sun Feb 17 13:32:23 2008 -->
|
||||
<glade-interface>
|
||||
<widget class="GtkDialog" id="remove_torrent_dialog">
|
||||
<property name="width_request">350</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">Remove Torrent</property>
|
||||
<property name="title" translatable="yes">Remove Torrent?</property>
|
||||
<property name="resizable">False</property>
|
||||
<property name="window_position">GTK_WIN_POS_CENTER_ON_PARENT</property>
|
||||
<property name="type_hint">GDK_WINDOW_TYPE_HINT_DIALOG</property>
|
||||
|
@ -25,13 +24,13 @@
|
|||
<widget class="GtkHBox" id="hbox1">
|
||||
<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>
|
||||
<property name="spacing">10</property>
|
||||
<child>
|
||||
<widget class="GtkImage" id="image1">
|
||||
<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-dialog-warning</property>
|
||||
<property name="icon_size">5</property>
|
||||
<property name="icon_size">6</property>
|
||||
</widget>
|
||||
<packing>
|
||||
<property name="expand">False</property>
|
||||
|
@ -39,11 +38,12 @@
|
|||
</packing>
|
||||
</child>
|
||||
<child>
|
||||
<widget class="GtkLabel" id="label1">
|
||||
<widget class="GtkLabel" id="label_title">
|
||||
<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"><big><b>Remove Torrent(s)?</b></big></property>
|
||||
<property name="label" translatable="yes"><big><b>Are you sure you want to remove the selected torrent?</b></big></property>
|
||||
<property name="use_markup">True</property>
|
||||
<property name="wrap">True</property>
|
||||
</widget>
|
||||
<packing>
|
||||
<property name="expand">False</property>
|
||||
|
@ -59,7 +59,6 @@
|
|||
</child>
|
||||
<child>
|
||||
<widget class="GtkHSeparator" id="hseparator1">
|
||||
<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>
|
||||
|
@ -67,40 +66,44 @@
|
|||
<property name="position">1</property>
|
||||
</packing>
|
||||
</child>
|
||||
<child>
|
||||
<widget class="GtkLabel" id="label2">
|
||||
<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="xalign">0</property>
|
||||
<property name="xpad">10</property>
|
||||
<property name="label" translatable="yes"><b>Options</b></property>
|
||||
<property name="use_markup">True</property>
|
||||
</widget>
|
||||
<packing>
|
||||
<property name="expand">False</property>
|
||||
<property name="fill">False</property>
|
||||
<property name="position">2</property>
|
||||
</packing>
|
||||
</child>
|
||||
<child>
|
||||
<widget class="GtkAlignment" id="alignment1">
|
||||
<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="left_padding">15</property>
|
||||
<child>
|
||||
<widget class="GtkCheckButton" id="chk_torrents">
|
||||
<property name="visible">True</property>
|
||||
<property name="can_focus">True</property>
|
||||
<widget class="GtkHBox" id="hbox_torrentfile">
|
||||
<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">Delete .torrent file(s)</property>
|
||||
<property name="response_id">0</property>
|
||||
<property name="active">True</property>
|
||||
<property name="draw_indicator">True</property>
|
||||
<property name="spacing">5</property>
|
||||
<child>
|
||||
<widget class="GtkImage" id="image2">
|
||||
<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-dialog-warning</property>
|
||||
</widget>
|
||||
<packing>
|
||||
<property name="expand">False</property>
|
||||
<property name="fill">False</property>
|
||||
<property name="position">1</property>
|
||||
</packing>
|
||||
</child>
|
||||
<child>
|
||||
<widget class="GtkLabel" id="label_torrentfile_warning">
|
||||
<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="xalign">0</property>
|
||||
<property name="label" translatable="yes"><i>The associated .torrent will be deleted!</i></property>
|
||||
<property name="use_markup">True</property>
|
||||
</widget>
|
||||
<packing>
|
||||
<property name="position">1</property>
|
||||
</packing>
|
||||
</child>
|
||||
</widget>
|
||||
</child>
|
||||
</widget>
|
||||
<packing>
|
||||
<property name="position">3</property>
|
||||
<property name="position">2</property>
|
||||
</packing>
|
||||
</child>
|
||||
<child>
|
||||
|
@ -109,18 +112,37 @@
|
|||
<property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
|
||||
<property name="left_padding">15</property>
|
||||
<child>
|
||||
<widget class="GtkCheckButton" id="chk_data">
|
||||
<property name="visible">True</property>
|
||||
<property name="can_focus">True</property>
|
||||
<widget class="GtkHBox" id="hbox_data">
|
||||
<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">Delete saved data</property>
|
||||
<property name="response_id">0</property>
|
||||
<property name="draw_indicator">True</property>
|
||||
<property name="spacing">5</property>
|
||||
<child>
|
||||
<widget class="GtkImage" id="image3">
|
||||
<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-dialog-warning</property>
|
||||
</widget>
|
||||
<packing>
|
||||
<property name="expand">False</property>
|
||||
<property name="fill">False</property>
|
||||
</packing>
|
||||
</child>
|
||||
<child>
|
||||
<widget class="GtkLabel" id="label_data_warning">
|
||||
<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="xalign">0</property>
|
||||
<property name="label" translatable="yes"><i>The downloaded data will be deleted!</i></property>
|
||||
<property name="use_markup">True</property>
|
||||
</widget>
|
||||
<packing>
|
||||
<property name="position">1</property>
|
||||
</packing>
|
||||
</child>
|
||||
</widget>
|
||||
</child>
|
||||
</widget>
|
||||
<packing>
|
||||
<property name="position">4</property>
|
||||
<property name="position">3</property>
|
||||
</packing>
|
||||
</child>
|
||||
</widget>
|
||||
|
@ -135,7 +157,7 @@
|
|||
<widget class="GtkHButtonBox" id="dialog-action_area1">
|
||||
<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="layout_style">GTK_BUTTONBOX_END</property>
|
||||
<property name="layout_style">GTK_BUTTONBOX_CENTER</property>
|
||||
<child>
|
||||
<widget class="GtkButton" id="button_cancel">
|
||||
<property name="visible">True</property>
|
||||
|
@ -154,8 +176,7 @@
|
|||
<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>
|
||||
<property name="label" translatable="yes">gtk-ok</property>
|
||||
<property name="use_stock">True</property>
|
||||
<property name="label" translatable="yes">Remove Selected Torrent</property>
|
||||
<property name="response_id">0</property>
|
||||
<signal name="clicked" handler="on_button_ok_clicked"/>
|
||||
</widget>
|
||||
|
|
|
@ -64,6 +64,28 @@
|
|||
<property name="visible">True</property>
|
||||
</widget>
|
||||
</child>
|
||||
<child>
|
||||
<widget class="GtkImageMenuItem" id="menuitem_options">
|
||||
<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">Opt_ions</property>
|
||||
<property name="use_underline">True</property>
|
||||
<child internal-child="image">
|
||||
<widget class="GtkImage" id="menu-item-image18">
|
||||
<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-preferences</property>
|
||||
<property name="icon_size">1</property>
|
||||
</widget>
|
||||
</child>
|
||||
</widget>
|
||||
</child>
|
||||
<child>
|
||||
<widget class="GtkSeparatorMenuItem" id="separator_menuitem16">
|
||||
<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>
|
||||
</child>
|
||||
<child>
|
||||
<widget class="GtkImageMenuItem" id="menuitem_updatetracker">
|
||||
<property name="visible">True</property>
|
||||
|
@ -108,7 +130,6 @@
|
|||
<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 Torrent</property>
|
||||
<property name="use_underline">True</property>
|
||||
<signal name="activate" handler="on_menuitem_remove_activate"/>
|
||||
<child internal-child="image">
|
||||
<widget class="GtkImage" id="menu-item-image9">
|
||||
<property name="visible">True</property>
|
||||
|
@ -142,7 +163,7 @@
|
|||
</widget>
|
||||
</child>
|
||||
<child>
|
||||
<widget class="GtkImageMenuItem" id="menuitem1">
|
||||
<widget class="GtkImageMenuItem" id="menuitem_move">
|
||||
<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">Move _Torrent</property>
|
||||
|
@ -159,4 +180,118 @@
|
|||
</widget>
|
||||
</child>
|
||||
</widget>
|
||||
<widget class="GtkMenu" id="remove_torrent_menu">
|
||||
<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>
|
||||
<child>
|
||||
<widget class="GtkMenuItem" id="menuitem_remove_session">
|
||||
<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">From Session</property>
|
||||
<property name="use_underline">True</property>
|
||||
<signal name="activate" handler="on_menuitem_remove_session_activate"/>
|
||||
</widget>
|
||||
</child>
|
||||
<child>
|
||||
<widget class="GtkMenuItem" id="menuitem_remove_torrentfile">
|
||||
<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">.. And Delete Torrent File</property>
|
||||
<property name="use_underline">True</property>
|
||||
<signal name="activate" handler="on_menuitem_remove_torrentfile_activate"/>
|
||||
</widget>
|
||||
</child>
|
||||
<child>
|
||||
<widget class="GtkMenuItem" id="menuitem_remove_data">
|
||||
<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">.. And Delete Downloaded Files</property>
|
||||
<property name="use_underline">True</property>
|
||||
<signal name="activate" handler="on_menuitem_remove_data_activate"/>
|
||||
</widget>
|
||||
</child>
|
||||
<child>
|
||||
<widget class="GtkMenuItem" id="menuitem_remove_both">
|
||||
<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">.. And Delete All Files</property>
|
||||
<property name="use_underline">True</property>
|
||||
<signal name="activate" handler="on_menuitem_remove_both_activate"/>
|
||||
</widget>
|
||||
</child>
|
||||
</widget>
|
||||
<widget class="GtkMenu" id="options_torrent_menu">
|
||||
<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>
|
||||
<child>
|
||||
<widget class="GtkImageMenuItem" id="menuitem_down_speed">
|
||||
<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">_Download Speed Limit</property>
|
||||
<property name="use_underline">True</property>
|
||||
<child internal-child="image">
|
||||
<widget class="GtkImage" id="download-limit-image">
|
||||
<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-missing-image</property>
|
||||
</widget>
|
||||
</child>
|
||||
</widget>
|
||||
</child>
|
||||
<child>
|
||||
<widget class="GtkImageMenuItem" id="menuitem_up_speed">
|
||||
<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">_Upload Speed Limit</property>
|
||||
<property name="use_underline">True</property>
|
||||
<child internal-child="image">
|
||||
<widget class="GtkImage" id="upload-limit-image">
|
||||
<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-missing-image</property>
|
||||
</widget>
|
||||
</child>
|
||||
</widget>
|
||||
</child>
|
||||
<child>
|
||||
<widget class="GtkImageMenuItem" id="menuitem_max_connections">
|
||||
<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">_Connection Limit</property>
|
||||
<property name="use_underline">True</property>
|
||||
<child internal-child="image">
|
||||
<widget class="GtkImage" id="menu-item-image16">
|
||||
<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-network</property>
|
||||
<property name="icon_size">1</property>
|
||||
</widget>
|
||||
</child>
|
||||
</widget>
|
||||
</child>
|
||||
<child>
|
||||
<widget class="GtkImageMenuItem" id="menuitem_upload_slots">
|
||||
<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">Upload _Slot Limit</property>
|
||||
<property name="use_underline">True</property>
|
||||
<child internal-child="image">
|
||||
<widget class="GtkImage" id="menu-item-image17">
|
||||
<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-sort-ascending</property>
|
||||
<property name="icon_size">1</property>
|
||||
</widget>
|
||||
</child>
|
||||
</widget>
|
||||
</child>
|
||||
<child>
|
||||
<widget class="GtkMenuItem" id="menuitem_private">
|
||||
<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">_Private</property>
|
||||
<property name="use_underline">True</property>
|
||||
</widget>
|
||||
</child>
|
||||
</widget>
|
||||
</glade-interface>
|
||||
|
|
|
@ -59,9 +59,9 @@ from signals import Signals
|
|||
from pluginmanager import PluginManager
|
||||
from dbusinterface import DbusInterface
|
||||
from queuedtorrents import QueuedTorrents
|
||||
from coreconfig import CoreConfig
|
||||
from deluge.configmanager import ConfigManager
|
||||
import deluge.common
|
||||
import deluge.configmanager
|
||||
|
||||
DEFAULT_PREFS = {
|
||||
"config_location": deluge.common.get_config_dir(),
|
||||
|
@ -151,7 +151,8 @@ class GtkUI:
|
|||
|
||||
# Start the signal receiver
|
||||
self.signal_receiver = Signals()
|
||||
|
||||
self.coreconfig = CoreConfig()
|
||||
|
||||
# Initalize the plugins
|
||||
self.plugins = PluginManager()
|
||||
|
||||
|
|
|
@ -52,6 +52,42 @@ class MenuBar(component.Component):
|
|||
pkg_resources.resource_filename("deluge.ui.gtkui",
|
||||
"glade/torrent_menu.glade"))
|
||||
|
||||
# Attach remove torrent menu
|
||||
self.torrentmenu_glade.get_widget("menuitem_remove").set_submenu(
|
||||
self.torrentmenu_glade.get_widget("remove_torrent_menu"))
|
||||
|
||||
# Attach options torrent menu
|
||||
self.torrentmenu_glade.get_widget("menuitem_options").set_submenu(
|
||||
self.torrentmenu_glade.get_widget("options_torrent_menu"))
|
||||
self.torrentmenu_glade.get_widget("download-limit-image").set_from_file(
|
||||
common.get_pixmap("downloading16.png"))
|
||||
self.torrentmenu_glade.get_widget("upload-limit-image").set_from_file(
|
||||
common.get_pixmap("seeding16.png"))
|
||||
|
||||
for menuitem in ("menuitem_down_speed", "menuitem_up_speed",
|
||||
"menuitem_max_connections", "menuitem_upload_slots"):
|
||||
submenu = gtk.Menu()
|
||||
item = gtk.MenuItem(_("Set Unlimited"))
|
||||
item.set_name(menuitem)
|
||||
item.connect("activate", self.on_menuitem_set_unlimited)
|
||||
submenu.append(item)
|
||||
item = gtk.MenuItem(_("Other.."))
|
||||
item.set_name(menuitem)
|
||||
item.connect("activate", self.on_menuitem_set_other)
|
||||
submenu.append(item)
|
||||
submenu.show_all()
|
||||
self.torrentmenu_glade.get_widget(menuitem).set_submenu(submenu)
|
||||
|
||||
submenu = gtk.Menu()
|
||||
item = gtk.MenuItem(_("Set Private On"))
|
||||
item.connect("activate", self.on_menuitem_set_private_on)
|
||||
submenu.append(item)
|
||||
item = gtk.MenuItem(_("Set Private Off"))
|
||||
item.connect("activate", self.on_menuitem_set_private_off)
|
||||
submenu.append(item)
|
||||
submenu.show_all()
|
||||
self.torrentmenu_glade.get_widget("menuitem_private").set_submenu(submenu)
|
||||
|
||||
self.torrentmenu = self.torrentmenu_glade.get_widget("torrent_menu")
|
||||
self.menu_torrent = self.window.main_glade.get_widget("menu_torrent")
|
||||
|
||||
|
@ -94,7 +130,15 @@ class MenuBar(component.Component):
|
|||
self.on_menuitem_updatetracker_activate,
|
||||
"on_menuitem_edittrackers_activate": \
|
||||
self.on_menuitem_edittrackers_activate,
|
||||
"on_menuitem_remove_activate": self.on_menuitem_remove_activate,
|
||||
"on_menuitem_remove_session_activate": \
|
||||
self.on_menuitem_remove_session_activate,
|
||||
"on_menuitem_remove_torrentfile_activate": \
|
||||
self.on_menuitem_remove_torrentfile_activate,
|
||||
"on_menuitem_remove_data_activate": \
|
||||
self.on_menuitem_remove_data_activate,
|
||||
"on_menuitem_remove_both_activate": \
|
||||
self.on_menuitem_remove_both_activate,
|
||||
|
||||
"on_menuitem_recheck_activate": self.on_menuitem_recheck_activate,
|
||||
"on_menuitem_open_folder": self.on_menuitem_open_folder_activate,
|
||||
"on_menuitem_move_activate": self.on_menuitem_move_activate
|
||||
|
@ -195,14 +239,34 @@ class MenuBar(component.Component):
|
|||
component.get("TorrentView").get_selected_torrent(),
|
||||
component.get("MainWindow").window)
|
||||
dialog.run()
|
||||
|
||||
def on_menuitem_remove_activate(self, data=None):
|
||||
log.debug("on_menuitem_remove_activate")
|
||||
|
||||
def on_menuitem_remove_session_activate(self, data=None):
|
||||
log.debug("on_menuitem_remove_session_activate")
|
||||
from removetorrentdialog import RemoveTorrentDialog
|
||||
RemoveTorrentDialog(
|
||||
component.get("TorrentView").get_selected_torrents()).run()
|
||||
#client.remove_torrent(
|
||||
# component.get("TorrentView").get_selected_torrents())
|
||||
|
||||
def on_menuitem_remove_torrentfile_activate(self, data=None):
|
||||
log.debug("on_menuitem_remove_torrentfile_activate")
|
||||
from removetorrentdialog import RemoveTorrentDialog
|
||||
RemoveTorrentDialog(
|
||||
component.get("TorrentView").get_selected_torrents(),
|
||||
remove_torrentfile=True).run()
|
||||
|
||||
def on_menuitem_remove_data_activate(self, data=None):
|
||||
log.debug("on_menuitem_remove_data_activate")
|
||||
from removetorrentdialog import RemoveTorrentDialog
|
||||
RemoveTorrentDialog(
|
||||
component.get("TorrentView").get_selected_torrents(),
|
||||
remove_data=True).run()
|
||||
|
||||
def on_menuitem_remove_both_activate(self, data=None):
|
||||
log.debug("on_menuitem_remove_both_activate")
|
||||
from removetorrentdialog import RemoveTorrentDialog
|
||||
RemoveTorrentDialog(
|
||||
component.get("TorrentView").get_selected_torrents(),
|
||||
remove_torrentfile=True,
|
||||
remove_data=True).run()
|
||||
|
||||
def on_menuitem_recheck_activate(self, data=None):
|
||||
log.debug("on_menuitem_recheck_activate")
|
||||
|
@ -262,3 +326,61 @@ class MenuBar(component.Component):
|
|||
from aboutdialog import AboutDialog
|
||||
AboutDialog().run()
|
||||
|
||||
def on_menuitem_set_unlimited(self, widget):
|
||||
log.debug("widget.name: %s", widget.name)
|
||||
funcs = {
|
||||
"menuitem_down_speed": client.set_torrent_max_download_speed,
|
||||
"menuitem_up_speed": client.set_torrent_max_upload_speed,
|
||||
"menuitem_max_connections": client.set_torrent_max_connections,
|
||||
"menuitem_upload_slots": client.set_torrent_max_upload_slots
|
||||
}
|
||||
if widget.name in funcs.keys():
|
||||
for torrent in component.get("TorrentView").get_selected_torrents():
|
||||
funcs[widget.name](torrent, -1)
|
||||
|
||||
def on_menuitem_set_other(self, widget):
|
||||
log.debug("widget.name: %s", widget.name)
|
||||
funcs = {
|
||||
"menuitem_down_speed": client.set_torrent_max_download_speed,
|
||||
"menuitem_up_speed": client.set_torrent_max_upload_speed,
|
||||
"menuitem_max_connections": client.set_torrent_max_connections,
|
||||
"menuitem_upload_slots": client.set_torrent_max_upload_slots
|
||||
}
|
||||
dialog_glade = gtk.glade.XML(
|
||||
pkg_resources.resource_filename("deluge.ui.gtkui",
|
||||
"glade/dgtkpopups.glade"))
|
||||
speed_dialog = dialog_glade.get_widget("speed_dialog")
|
||||
spin_title = dialog_glade.get_widget("spin_title")
|
||||
if widget.name == "menuitem_down_speed":
|
||||
spin_title.set_text(_("Set Max Download Speed (KiB/s):"))
|
||||
elif widget.name == "menuitem_up_speed":
|
||||
spin_title.set_text(_("Set Max Upload Speed (KiB/s):"))
|
||||
elif widget.name == "menuitem_max_connections":
|
||||
spin_title.set_text(_("Set Max Connections:"))
|
||||
elif widget.name == "menuitem_upload_slots":
|
||||
spin_title.set_text(_("Set Max Upload Slots:"))
|
||||
|
||||
spin_speed = dialog_glade.get_widget("spin_speed")
|
||||
spin_speed.set_value(-1)
|
||||
spin_speed.select_region(0, -1)
|
||||
response = speed_dialog.run()
|
||||
if response == 1: # OK Response
|
||||
if widget.name == "menuitem_down_speed" or widget.name == "menuitem_up_speed":
|
||||
value = spin_speed.get_value()
|
||||
else:
|
||||
value = spin_speed.get_value_as_int()
|
||||
else:
|
||||
speed_dialog.destroy()
|
||||
return
|
||||
speed_dialog.destroy()
|
||||
if widget.name in funcs.keys():
|
||||
for torrent in component.get("TorrentView").get_selected_torrents():
|
||||
funcs[widget.name](torrent, value)
|
||||
|
||||
def on_menuitem_set_private_on(self, widget):
|
||||
for torrent in component.get("TorrentView").get_selected_torrents():
|
||||
client.set_torrent_private_flag(torrent, True)
|
||||
|
||||
def on_menuitem_set_private_off(self, widget):
|
||||
for torrent in component.get("TorrentView").get_selected_torrents():
|
||||
client.set_torrent_private_flag(torrent, False)
|
||||
|
|
|
@ -40,8 +40,11 @@ import deluge.component as component
|
|||
from deluge.log import LOG as log
|
||||
|
||||
class RemoveTorrentDialog:
|
||||
def __init__(self, torrent_ids):
|
||||
def __init__(self, torrent_ids, remove_torrentfile=False, remove_data=False):
|
||||
self.torrent_ids = torrent_ids
|
||||
self.remove_torrentfile = remove_torrentfile
|
||||
self.remove_data = remove_data
|
||||
|
||||
self.glade = gtk.glade.XML(
|
||||
pkg_resources.resource_filename("deluge.ui.gtkui",
|
||||
"glade/remove_torrent_dialog.glade"))
|
||||
|
@ -54,6 +57,20 @@ class RemoveTorrentDialog:
|
|||
"on_button_ok_clicked": self.on_button_ok_clicked,
|
||||
"on_button_cancel_clicked": self.on_button_cancel_clicked
|
||||
})
|
||||
|
||||
if len(self.torrent_ids) > 1:
|
||||
# We need to pluralize the dialog
|
||||
self.dialog.set_title("Remove Torrents?")
|
||||
self.glade.get_widget("label_title").set_markup(
|
||||
_("<big><b>Are you sure you want to remove the selected torrents?</b></big>"))
|
||||
self.glade.get_widget("button_ok").set_label(_("Remove Selected Torrents"))
|
||||
|
||||
if self.remove_torrentfile or self.remove_data:
|
||||
self.glade.get_widget("hseparator1").show()
|
||||
if self.remove_torrentfile:
|
||||
self.glade.get_widget("hbox_torrentfile").show()
|
||||
if self.remove_data:
|
||||
self.glade.get_widget("hbox_data").show()
|
||||
|
||||
def run(self):
|
||||
if self.torrent_ids == None or self.torrent_ids == []:
|
||||
|
@ -62,9 +79,10 @@ class RemoveTorrentDialog:
|
|||
self.dialog.show()
|
||||
|
||||
def on_button_ok_clicked(self, widget):
|
||||
data = self.glade.get_widget("chk_data").get_active()
|
||||
torrent = self.glade.get_widget("chk_torrents").get_active()
|
||||
client.remove_torrent(self.torrent_ids, torrent, data)
|
||||
#data = self.glade.get_widget("chk_data").get_active()
|
||||
#torrent = self.glade.get_widget("chk_torrents").get_active()
|
||||
client.remove_torrent(
|
||||
self.torrent_ids, self.remove_torrentfile, self.remove_data)
|
||||
self.dialog.destroy()
|
||||
|
||||
def on_button_cancel_clicked(self, widget):
|
||||
|
|
Loading…
Add table
Reference in a new issue