mirror of
https://github.com/codex-storage/deluge.git
synced 2025-02-05 16:13:41 +00:00
separate buttons for resume/pause
This commit is contained in:
parent
371b18d855
commit
eaafe81a07
@ -66,14 +66,26 @@
|
||||
</packing>
|
||||
</child>
|
||||
<child>
|
||||
<widget class="GtkToolButton" id="toolbutton_pause">
|
||||
<widget class="GtkToolButton" id="toolbutton_resume">
|
||||
<property name="visible">True</property>
|
||||
<property name="sensitive">False</property>
|
||||
<property name="tooltip" translatable="yes">Start or Pause torrent</property>
|
||||
<property name="label" translatable="yes">Start</property>
|
||||
<property name="label" translatable="yes">Resume</property>
|
||||
<property name="use_underline">True</property>
|
||||
<property name="stock_id">gtk-media-play</property>
|
||||
<signal name="clicked" handler="start_pause"/>
|
||||
<signal name="clicked" handler="tor_start"/>
|
||||
</widget>
|
||||
<packing>
|
||||
<property name="expand">False</property>
|
||||
</packing>
|
||||
</child>
|
||||
<child>
|
||||
<widget class="GtkToolButton" id="toolbutton_pause">
|
||||
<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">Pause</property>
|
||||
<property name="stock_id">gtk-media-pause</property>
|
||||
<signal name="clicked" handler="tor_pause"/>
|
||||
</widget>
|
||||
<packing>
|
||||
<property name="expand">False</property>
|
||||
|
@ -5,13 +5,35 @@
|
||||
<widget class="GtkMenu" id="torrent_menu">
|
||||
<property name="visible">True</property>
|
||||
<child>
|
||||
<widget class="GtkImageMenuItem" id="menu_pause">
|
||||
<widget class="GtkImageMenuItem" id="menu_resume">
|
||||
<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">gtk-media-pause</property>
|
||||
<property name="label" translatable="yes">Resume</property>
|
||||
<property name="use_underline">True</property>
|
||||
<property name="use_stock">True</property>
|
||||
<signal name="activate" handler="start_pause"/>
|
||||
<signal name="activate" handler="tor_start"/>
|
||||
<child internal-child="image">
|
||||
<widget class="GtkImage" id="menu-item-image13">
|
||||
<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-media-play</property>
|
||||
</widget>
|
||||
</child>
|
||||
</widget>
|
||||
</child>
|
||||
<child>
|
||||
<widget class="GtkImageMenuItem" id="menu_resume">
|
||||
<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">Pause</property>
|
||||
<property name="use_underline">True</property>
|
||||
<signal name="activate" handler="tor_pause"/>
|
||||
<child internal-child="image">
|
||||
<widget class="GtkImage" id="menu-item-image14">
|
||||
<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-media-pause</property>
|
||||
</widget>
|
||||
</child>
|
||||
</widget>
|
||||
</child>
|
||||
<child>
|
||||
|
@ -145,7 +145,8 @@ class DelugeGTK:
|
||||
"show_about_dialog": self.show_about_dialog,
|
||||
"launchpad": self.launchpad,
|
||||
## Toolbar
|
||||
"start_pause": self.start_pause,
|
||||
"tor_start": self.tor_start,
|
||||
"tor_pause": self.tor_pause,
|
||||
"update_tracker": self.update_tracker,
|
||||
"clear_finished": self.clear_finished,
|
||||
"queue_up": self.q_torrent_up,
|
||||
@ -435,7 +436,8 @@ class DelugeGTK:
|
||||
self.torrent_glade.signal_autoconnect({
|
||||
"remove_torrent": self.remove_torrent_clicked,
|
||||
"edit_trackers": self.list_of_trackers,
|
||||
"start_pause": self.start_pause,
|
||||
"tor_start": self.tor_start,
|
||||
"tor_pause": self.tor_pause,
|
||||
"update_tracker": self.update_tracker,
|
||||
"clear_finished": self.clear_finished,
|
||||
"queue_up": self.q_torrent_up,
|
||||
@ -565,12 +567,6 @@ class DelugeGTK:
|
||||
# Get the torrent state so we can check if the torrent is paused.
|
||||
torrent_state = self.manager.get_torrent_state(unique_id)
|
||||
widget = self.torrent_glade.get_widget("menu_pause")
|
||||
if torrent_state["is_paused"]:
|
||||
widget.set_image(gtk.image_new_from_stock(gtk.STOCK_MEDIA_PLAY, gtk.ICON_SIZE_MENU))
|
||||
widget.get_children()[0].set_text(_("Resume"))
|
||||
else:
|
||||
widget.set_image(gtk.image_new_from_stock(gtk.STOCK_MEDIA_PAUSE, gtk.ICON_SIZE_MENU))
|
||||
widget.get_children()[0].set_text(_("Pause"))
|
||||
|
||||
self.torrent_menu.popup(None, None, None, event.button,
|
||||
event.time)
|
||||
@ -579,13 +575,27 @@ class DelugeGTK:
|
||||
else:
|
||||
return False
|
||||
|
||||
def start_pause(self, widget):
|
||||
def tor_start(self, widget):
|
||||
unique_ids = self.get_selected_torrent_rows()
|
||||
try:
|
||||
for uid in unique_ids:
|
||||
self.manager.set_user_pause(uid, not self.manager.is_user_paused(uid))
|
||||
torrent_state = self.manager.get_torrent_state(uid)
|
||||
if torrent_state["is_paused"]:
|
||||
self.manager.set_user_pause(uid, False)
|
||||
|
||||
# We need to force an update so the GUI looks more responsive
|
||||
self.update()
|
||||
|
||||
except KeyError:
|
||||
pass
|
||||
|
||||
def tor_pause(self, widget):
|
||||
unique_ids = self.get_selected_torrent_rows()
|
||||
try:
|
||||
for uid in unique_ids:
|
||||
torrent_state = self.manager.get_torrent_state(uid)
|
||||
if torrent_state["is_paused"] == 0:
|
||||
self.manager.set_user_pause(uid, True, True)
|
||||
|
||||
self.update()
|
||||
|
||||
except KeyError:
|
||||
@ -594,23 +604,8 @@ class DelugeGTK:
|
||||
def torrent_menu_focus(self, widget, direction):
|
||||
menuitem = self.torrent_glade.get_widget("menu_pause")
|
||||
# Check if we are selecting multiple torrents
|
||||
if len(self.get_selected_torrent_rows()) > 1:
|
||||
menuitem.set_image(gtk.image_new_from_stock(gtk.STOCK_MEDIA_PAUSE, gtk.ICON_SIZE_MENU))
|
||||
menuitem.get_children()[0].set_text(_("Pause/Resume"))
|
||||
return
|
||||
return
|
||||
|
||||
# Get the selected torrent state so we can check if the torrent is paused.
|
||||
unique_id = self.get_selected_torrent()
|
||||
if unique_id is None:
|
||||
return
|
||||
torrent_state = self.manager.get_torrent_state(unique_id)
|
||||
if torrent_state["is_paused"]:
|
||||
menuitem.set_image(gtk.image_new_from_stock(gtk.STOCK_MEDIA_PLAY, gtk.ICON_SIZE_MENU))
|
||||
menuitem.get_children()[0].set_text(_("Resume"))
|
||||
else:
|
||||
menuitem.set_image(gtk.image_new_from_stock(gtk.STOCK_MEDIA_PAUSE, gtk.ICON_SIZE_MENU))
|
||||
menuitem.get_children()[0].set_text(_("Pause"))
|
||||
|
||||
def build_peer_tab(self):
|
||||
self.peer_view = self.wtree.get_widget("peer_view")
|
||||
# IP int, IP string, Client, Percent Complete, Down Speed, Up Speed
|
||||
@ -841,6 +836,7 @@ class DelugeGTK:
|
||||
# Disable torrent options if there are no torrents
|
||||
self.wtree.get_widget("menu_torrent").set_sensitive(itr is not None)
|
||||
self.wtree.get_widget("toolbutton_remove").set_sensitive(itr is not None)
|
||||
self.wtree.get_widget("toolbutton_resume").set_sensitive(itr is not None)
|
||||
self.wtree.get_widget("toolbutton_pause").set_sensitive(itr is not None)
|
||||
self.wtree.get_widget("toolbutton_up").set_sensitive(itr is not None)
|
||||
self.wtree.get_widget("toolbutton_down").set_sensitive(itr is not None)
|
||||
@ -925,8 +921,8 @@ class DelugeGTK:
|
||||
unique_id = self.torrent_model.get_value(self.torrent_model.get_iter(path), 0)
|
||||
|
||||
if self.manager.get_torrent_state(unique_id)["is_paused"]:
|
||||
self.wtree.get_widget("toolbutton_pause").set_stock_id(gtk.STOCK_MEDIA_PLAY)
|
||||
self.wtree.get_widget("toolbutton_pause").set_label(_("Resume"))
|
||||
self.wtree.get_widget("toolbutton_resume").set_stock_id(gtk.STOCK_MEDIA_PLAY)
|
||||
self.wtree.get_widget("toolbutton_resume").set_label(_("Resume"))
|
||||
else:
|
||||
self.wtree.get_widget("toolbutton_pause").set_stock_id(gtk.STOCK_MEDIA_PAUSE)
|
||||
self.wtree.get_widget("toolbutton_pause").set_label(_("Pause"))
|
||||
|
Loading…
x
Reference in New Issue
Block a user