mirror of
https://git.deluge-torrent.org/deluge
synced 2025-08-06 16:38:43 +00:00
Replace pause_all with pause_session
* Replace pause_all and resume_all with pause_session and resume_session * Pausing all the torrents individually loses the original paused status so use the libtorrent session pause instead. * Added a SessionPausedEvent to the method.
This commit is contained in:
parent
d0718df82b
commit
8c6758720d
8 changed files with 34 additions and 36 deletions
|
@ -54,7 +54,7 @@ from deluge import path_chooser_common
|
||||||
from deluge.configmanager import ConfigManager, get_config_dir
|
from deluge.configmanager import ConfigManager, get_config_dir
|
||||||
import deluge.common
|
import deluge.common
|
||||||
import deluge.component as component
|
import deluge.component as component
|
||||||
from deluge.event import NewVersionAvailableEvent, SessionResumedEvent, TorrentQueueChangedEvent
|
from deluge.event import NewVersionAvailableEvent, SessionPausedEvent, SessionResumedEvent, TorrentQueueChangedEvent
|
||||||
from deluge.error import DelugeError, InvalidTorrentError, InvalidPathError
|
from deluge.error import DelugeError, InvalidTorrentError, InvalidPathError
|
||||||
from deluge.core.authmanager import AUTH_LEVEL_ADMIN, AUTH_LEVEL_NONE
|
from deluge.core.authmanager import AUTH_LEVEL_ADMIN, AUTH_LEVEL_NONE
|
||||||
from deluge.core.authmanager import AUTH_LEVELS_MAPPING, AUTH_LEVELS_MAPPING_REVERSE
|
from deluge.core.authmanager import AUTH_LEVELS_MAPPING, AUTH_LEVELS_MAPPING_REVERSE
|
||||||
|
@ -418,16 +418,17 @@ class Core(component.Component):
|
||||||
log.warning("Error moving torrent %s to %s", torrent_id, dest)
|
log.warning("Error moving torrent %s to %s", torrent_id, dest)
|
||||||
|
|
||||||
@export
|
@export
|
||||||
def pause_all_torrents(self):
|
def pause_session(self):
|
||||||
"""Pause all torrents in the session"""
|
"""Pause all torrents in the session"""
|
||||||
for torrent in self.torrentmanager.torrents.values():
|
if not self.session.is_paused():
|
||||||
torrent.pause()
|
self.session.pause()
|
||||||
|
component.get("EventManager").emit(SessionPausedEvent())
|
||||||
|
|
||||||
@export
|
@export
|
||||||
def resume_all_torrents(self):
|
def resume_session(self):
|
||||||
"""Resume all torrents in the session"""
|
"""Resume all torrents in the session"""
|
||||||
for torrent in self.torrentmanager.torrents.values():
|
if self.session.is_paused():
|
||||||
torrent.resume()
|
self.session.resume()
|
||||||
component.get("EventManager").emit(SessionResumedEvent())
|
component.get("EventManager").emit(SessionResumedEvent())
|
||||||
|
|
||||||
@export
|
@export
|
||||||
|
|
|
@ -501,13 +501,10 @@ class Core(CorePluginBase):
|
||||||
self.reader = create_reader(self.config["list_type"], self.config["list_compression"])
|
self.reader = create_reader(self.config["list_type"], self.config["list_compression"])
|
||||||
|
|
||||||
def pause_session(self):
|
def pause_session(self):
|
||||||
if not self.core.session.is_paused():
|
self.need_to_resume_session = not self.core.session.is_paused()
|
||||||
self.core.session.pause()
|
self.core.pause_session()
|
||||||
self.need_to_resume_session = True
|
|
||||||
else:
|
|
||||||
self.need_to_resume_session = False
|
|
||||||
|
|
||||||
def resume_session(self, result):
|
def resume_session(self, result):
|
||||||
self.core.session.resume()
|
self.core.resume_session()
|
||||||
self.need_to_resume_session = False
|
self.need_to_resume_session = False
|
||||||
return result
|
return result
|
||||||
|
|
|
@ -154,10 +154,10 @@ class Core(CorePluginBase):
|
||||||
settings["active_seeds"] = self.config["low_active_up"]
|
settings["active_seeds"] = self.config["low_active_up"]
|
||||||
session.set_settings(settings)
|
session.set_settings(settings)
|
||||||
# Resume the session if necessary
|
# Resume the session if necessary
|
||||||
component.get("Core").session.resume()
|
component.get("Core").resume_session()
|
||||||
elif state == "Red":
|
elif state == "Red":
|
||||||
# This is Red (Stop), so pause the libtorrent session
|
# This is Red (Stop), so pause the libtorrent session
|
||||||
component.get("Core").session.pause()
|
component.get("Core").pause_session()
|
||||||
|
|
||||||
if state != self.state:
|
if state != self.state:
|
||||||
# The state has changed since last update so we need to emit an event
|
# The state has changed since last update so we need to emit an event
|
||||||
|
|
|
@ -65,9 +65,9 @@ class Core(CorePluginBase):
|
||||||
@export
|
@export
|
||||||
def toggle(self):
|
def toggle(self):
|
||||||
if self.core.session.is_paused():
|
if self.core.session.is_paused():
|
||||||
self.core.session.resume()
|
self.core.resume_session()
|
||||||
paused = False
|
paused = False
|
||||||
else:
|
else:
|
||||||
self.core.session.pause()
|
self.core.pause_session()
|
||||||
paused = True
|
paused = True
|
||||||
return paused
|
return paused
|
||||||
|
|
|
@ -48,7 +48,7 @@ class Command(BaseCommand):
|
||||||
self.console.write(self.usage)
|
self.console.write(self.usage)
|
||||||
return
|
return
|
||||||
if len(args) > 0 and args[0].lower() == '*':
|
if len(args) > 0 and args[0].lower() == '*':
|
||||||
client.core.pause_all_torrents()
|
client.core.pause_session()
|
||||||
return
|
return
|
||||||
|
|
||||||
torrent_ids = []
|
torrent_ids = []
|
||||||
|
|
|
@ -49,7 +49,7 @@ class Command(BaseCommand):
|
||||||
self.console.write(self.usage)
|
self.console.write(self.usage)
|
||||||
return
|
return
|
||||||
if len(args) > 0 and args[0] == '*':
|
if len(args) > 0 and args[0] == '*':
|
||||||
client.core.resume_all_torrents()
|
client.core.resume_session()
|
||||||
return
|
return
|
||||||
|
|
||||||
torrent_ids = []
|
torrent_ids = []
|
||||||
|
|
|
@ -70,27 +70,27 @@
|
||||||
</object>
|
</object>
|
||||||
</child>
|
</child>
|
||||||
<child>
|
<child>
|
||||||
<object class="GtkImageMenuItem" id="menuitem_pause_all">
|
<object class="GtkImageMenuItem" id="menuitem_pause_session">
|
||||||
<property name="label" translatable="yes">_Pause All</property>
|
<property name="label" translatable="yes">_Pause Session</property>
|
||||||
<property name="visible">True</property>
|
<property name="visible">True</property>
|
||||||
<property name="can_focus">False</property>
|
<property name="can_focus">False</property>
|
||||||
<property name="use_action_appearance">False</property>
|
<property name="use_action_appearance">False</property>
|
||||||
<property name="use_underline">True</property>
|
<property name="use_underline">True</property>
|
||||||
<property name="image">menu-item-image6</property>
|
<property name="image">menu-item-image6</property>
|
||||||
<property name="use_stock">False</property>
|
<property name="use_stock">False</property>
|
||||||
<signal name="activate" handler="on_menuitem_pause_all_activate" swapped="no"/>
|
<signal name="activate" handler="on_menuitem_pause_session_activate" swapped="no"/>
|
||||||
</object>
|
</object>
|
||||||
</child>
|
</child>
|
||||||
<child>
|
<child>
|
||||||
<object class="GtkImageMenuItem" id="menuitem_resume_all">
|
<object class="GtkImageMenuItem" id="menuitem_resume_session">
|
||||||
<property name="label" translatable="yes">_Resume All</property>
|
<property name="label" translatable="yes">_Resume Session</property>
|
||||||
<property name="visible">True</property>
|
<property name="visible">True</property>
|
||||||
<property name="can_focus">False</property>
|
<property name="can_focus">False</property>
|
||||||
<property name="use_action_appearance">False</property>
|
<property name="use_action_appearance">False</property>
|
||||||
<property name="use_underline">True</property>
|
<property name="use_underline">True</property>
|
||||||
<property name="image">menu-item-image7</property>
|
<property name="image">menu-item-image7</property>
|
||||||
<property name="use_stock">False</property>
|
<property name="use_stock">False</property>
|
||||||
<signal name="activate" handler="on_menuitem_resume_all_activate" swapped="no"/>
|
<signal name="activate" handler="on_menuitem_resume_session_activate" swapped="no"/>
|
||||||
</object>
|
</object>
|
||||||
</child>
|
</child>
|
||||||
<child>
|
<child>
|
||||||
|
|
|
@ -60,8 +60,8 @@ class SystemTray(component.Component):
|
||||||
# List of widgets that need to be hidden when not connected to a host
|
# List of widgets that need to be hidden when not connected to a host
|
||||||
self.hide_widget_list = [
|
self.hide_widget_list = [
|
||||||
"menuitem_add_torrent",
|
"menuitem_add_torrent",
|
||||||
"menuitem_pause_all",
|
"menuitem_pause_session",
|
||||||
"menuitem_resume_all",
|
"menuitem_resume_session",
|
||||||
"menuitem_download_limit",
|
"menuitem_download_limit",
|
||||||
"menuitem_upload_limit",
|
"menuitem_upload_limit",
|
||||||
"menuitem_quitdaemon",
|
"menuitem_quitdaemon",
|
||||||
|
@ -95,8 +95,8 @@ class SystemTray(component.Component):
|
||||||
self.builder.connect_signals({
|
self.builder.connect_signals({
|
||||||
"on_menuitem_show_deluge_activate": self.on_menuitem_show_deluge_activate,
|
"on_menuitem_show_deluge_activate": self.on_menuitem_show_deluge_activate,
|
||||||
"on_menuitem_add_torrent_activate": self.on_menuitem_add_torrent_activate,
|
"on_menuitem_add_torrent_activate": self.on_menuitem_add_torrent_activate,
|
||||||
"on_menuitem_pause_all_activate": self.on_menuitem_pause_all_activate,
|
"on_menuitem_pause_session_activate": self.on_menuitem_pause_session_activate,
|
||||||
"on_menuitem_resume_all_activate": self.on_menuitem_resume_all_activate,
|
"on_menuitem_resume_session_activate": self.on_menuitem_resume_session_activate,
|
||||||
"on_menuitem_quit_activate": self.on_menuitem_quit_activate,
|
"on_menuitem_quit_activate": self.on_menuitem_quit_activate,
|
||||||
"on_menuitem_quitdaemon_activate": self.on_menuitem_quitdaemon_activate
|
"on_menuitem_quitdaemon_activate": self.on_menuitem_quitdaemon_activate
|
||||||
})
|
})
|
||||||
|
@ -365,13 +365,13 @@ class SystemTray(component.Component):
|
||||||
log.debug("on_menuitem_add_torrent_activate")
|
log.debug("on_menuitem_add_torrent_activate")
|
||||||
component.get("AddTorrentDialog").show()
|
component.get("AddTorrentDialog").show()
|
||||||
|
|
||||||
def on_menuitem_pause_all_activate(self, menuitem):
|
def on_menuitem_pause_session_activate(self, menuitem):
|
||||||
log.debug("on_menuitem_pause_all_activate")
|
log.debug("on_menuitem_pause_session_activate")
|
||||||
client.core.pause_all_torrents()
|
client.core.pause_session()
|
||||||
|
|
||||||
def on_menuitem_resume_all_activate(self, menuitem):
|
def on_menuitem_resume_session_activate(self, menuitem):
|
||||||
log.debug("on_menuitem_resume_all_activate")
|
log.debug("on_menuitem_resume_session_activate")
|
||||||
client.core.resume_all_torrents()
|
client.core.resume_session()
|
||||||
|
|
||||||
def on_menuitem_quit_activate(self, menuitem):
|
def on_menuitem_quit_activate(self, menuitem):
|
||||||
log.debug("on_menuitem_quit_activate")
|
log.debug("on_menuitem_quit_activate")
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue