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