mirror of
https://github.com/codex-storage/deluge.git
synced 2025-02-04 15:43:28 +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
@ -54,7 +54,7 @@ from deluge import path_chooser_common
|
||||
from deluge.configmanager import ConfigManager, get_config_dir
|
||||
import deluge.common
|
||||
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.core.authmanager import AUTH_LEVEL_ADMIN, AUTH_LEVEL_NONE
|
||||
from deluge.core.authmanager import AUTH_LEVELS_MAPPING, AUTH_LEVELS_MAPPING_REVERSE
|
||||
@ -418,17 +418,18 @@ class Core(component.Component):
|
||||
log.warning("Error moving torrent %s to %s", torrent_id, dest)
|
||||
|
||||
@export
|
||||
def pause_all_torrents(self):
|
||||
def pause_session(self):
|
||||
"""Pause all torrents in the session"""
|
||||
for torrent in self.torrentmanager.torrents.values():
|
||||
torrent.pause()
|
||||
if not self.session.is_paused():
|
||||
self.session.pause()
|
||||
component.get("EventManager").emit(SessionPausedEvent())
|
||||
|
||||
@export
|
||||
def resume_all_torrents(self):
|
||||
def resume_session(self):
|
||||
"""Resume all torrents in the session"""
|
||||
for torrent in self.torrentmanager.torrents.values():
|
||||
torrent.resume()
|
||||
component.get("EventManager").emit(SessionResumedEvent())
|
||||
if self.session.is_paused():
|
||||
self.session.resume()
|
||||
component.get("EventManager").emit(SessionResumedEvent())
|
||||
|
||||
@export
|
||||
def resume_torrent(self, torrent_ids):
|
||||
|
@ -501,13 +501,10 @@ class Core(CorePluginBase):
|
||||
self.reader = create_reader(self.config["list_type"], self.config["list_compression"])
|
||||
|
||||
def pause_session(self):
|
||||
if not self.core.session.is_paused():
|
||||
self.core.session.pause()
|
||||
self.need_to_resume_session = True
|
||||
else:
|
||||
self.need_to_resume_session = False
|
||||
self.need_to_resume_session = not self.core.session.is_paused()
|
||||
self.core.pause_session()
|
||||
|
||||
def resume_session(self, result):
|
||||
self.core.session.resume()
|
||||
self.core.resume_session()
|
||||
self.need_to_resume_session = False
|
||||
return result
|
||||
|
@ -154,10 +154,10 @@ class Core(CorePluginBase):
|
||||
settings["active_seeds"] = self.config["low_active_up"]
|
||||
session.set_settings(settings)
|
||||
# Resume the session if necessary
|
||||
component.get("Core").session.resume()
|
||||
component.get("Core").resume_session()
|
||||
elif state == "Red":
|
||||
# This is Red (Stop), so pause the libtorrent session
|
||||
component.get("Core").session.pause()
|
||||
component.get("Core").pause_session()
|
||||
|
||||
if state != self.state:
|
||||
# The state has changed since last update so we need to emit an event
|
||||
|
@ -65,9 +65,9 @@ class Core(CorePluginBase):
|
||||
@export
|
||||
def toggle(self):
|
||||
if self.core.session.is_paused():
|
||||
self.core.session.resume()
|
||||
self.core.resume_session()
|
||||
paused = False
|
||||
else:
|
||||
self.core.session.pause()
|
||||
self.core.pause_session()
|
||||
paused = True
|
||||
return paused
|
||||
|
@ -48,7 +48,7 @@ class Command(BaseCommand):
|
||||
self.console.write(self.usage)
|
||||
return
|
||||
if len(args) > 0 and args[0].lower() == '*':
|
||||
client.core.pause_all_torrents()
|
||||
client.core.pause_session()
|
||||
return
|
||||
|
||||
torrent_ids = []
|
||||
|
@ -49,7 +49,7 @@ class Command(BaseCommand):
|
||||
self.console.write(self.usage)
|
||||
return
|
||||
if len(args) > 0 and args[0] == '*':
|
||||
client.core.resume_all_torrents()
|
||||
client.core.resume_session()
|
||||
return
|
||||
|
||||
torrent_ids = []
|
||||
|
@ -70,27 +70,27 @@
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkImageMenuItem" id="menuitem_pause_all">
|
||||
<property name="label" translatable="yes">_Pause All</property>
|
||||
<object class="GtkImageMenuItem" id="menuitem_pause_session">
|
||||
<property name="label" translatable="yes">_Pause Session</property>
|
||||
<property name="visible">True</property>
|
||||
<property name="can_focus">False</property>
|
||||
<property name="use_action_appearance">False</property>
|
||||
<property name="use_underline">True</property>
|
||||
<property name="image">menu-item-image6</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>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkImageMenuItem" id="menuitem_resume_all">
|
||||
<property name="label" translatable="yes">_Resume All</property>
|
||||
<object class="GtkImageMenuItem" id="menuitem_resume_session">
|
||||
<property name="label" translatable="yes">_Resume Session</property>
|
||||
<property name="visible">True</property>
|
||||
<property name="can_focus">False</property>
|
||||
<property name="use_action_appearance">False</property>
|
||||
<property name="use_underline">True</property>
|
||||
<property name="image">menu-item-image7</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>
|
||||
</child>
|
||||
<child>
|
||||
|
@ -60,8 +60,8 @@ class SystemTray(component.Component):
|
||||
# List of widgets that need to be hidden when not connected to a host
|
||||
self.hide_widget_list = [
|
||||
"menuitem_add_torrent",
|
||||
"menuitem_pause_all",
|
||||
"menuitem_resume_all",
|
||||
"menuitem_pause_session",
|
||||
"menuitem_resume_session",
|
||||
"menuitem_download_limit",
|
||||
"menuitem_upload_limit",
|
||||
"menuitem_quitdaemon",
|
||||
@ -95,8 +95,8 @@ class SystemTray(component.Component):
|
||||
self.builder.connect_signals({
|
||||
"on_menuitem_show_deluge_activate": self.on_menuitem_show_deluge_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_resume_all_activate": self.on_menuitem_resume_all_activate,
|
||||
"on_menuitem_pause_session_activate": self.on_menuitem_pause_session_activate,
|
||||
"on_menuitem_resume_session_activate": self.on_menuitem_resume_session_activate,
|
||||
"on_menuitem_quit_activate": self.on_menuitem_quit_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")
|
||||
component.get("AddTorrentDialog").show()
|
||||
|
||||
def on_menuitem_pause_all_activate(self, menuitem):
|
||||
log.debug("on_menuitem_pause_all_activate")
|
||||
client.core.pause_all_torrents()
|
||||
def on_menuitem_pause_session_activate(self, menuitem):
|
||||
log.debug("on_menuitem_pause_session_activate")
|
||||
client.core.pause_session()
|
||||
|
||||
def on_menuitem_resume_all_activate(self, menuitem):
|
||||
log.debug("on_menuitem_resume_all_activate")
|
||||
client.core.resume_all_torrents()
|
||||
def on_menuitem_resume_session_activate(self, menuitem):
|
||||
log.debug("on_menuitem_resume_session_activate")
|
||||
client.core.resume_session()
|
||||
|
||||
def on_menuitem_quit_activate(self, menuitem):
|
||||
log.debug("on_menuitem_quit_activate")
|
||||
|
Loading…
x
Reference in New Issue
Block a user