diff options
author | Daniel Baumann <daniel.baumann@progress-linux.org> | 2023-02-19 14:52:21 +0000 |
---|---|---|
committer | Daniel Baumann <daniel.baumann@progress-linux.org> | 2023-02-19 14:52:21 +0000 |
commit | d1772d410235592b482e3b08b1863f6624d9fe6b (patch) | |
tree | accfb4b99c32e5e435089f8023d62e67a6951603 /deluge/plugins/Toggle/deluge_toggle/gtkui.py | |
parent | Initial commit. (diff) | |
download | deluge-d1772d410235592b482e3b08b1863f6624d9fe6b.tar.xz deluge-d1772d410235592b482e3b08b1863f6624d9fe6b.zip |
Adding upstream version 2.0.3.upstream/2.0.3
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'deluge/plugins/Toggle/deluge_toggle/gtkui.py')
-rw-r--r-- | deluge/plugins/Toggle/deluge_toggle/gtkui.py | 56 |
1 files changed, 56 insertions, 0 deletions
diff --git a/deluge/plugins/Toggle/deluge_toggle/gtkui.py b/deluge/plugins/Toggle/deluge_toggle/gtkui.py new file mode 100644 index 0000000..c54bca4 --- /dev/null +++ b/deluge/plugins/Toggle/deluge_toggle/gtkui.py @@ -0,0 +1,56 @@ +# -*- coding: utf-8 -*- +# +# Copyright (C) 2010 John Garland <johnnybg+deluge@gmail.com> +# +# Basic plugin template created by: +# Copyright (C) 2008 Martijn Voncken <mvoncken@gmail.com> +# Copyright (C) 2007-2009 Andrew Resch <andrewresch@gmail.com> +# Copyright (C) 2009 Damien Churchill <damoxc@gmail.com> +# +# This file is part of Deluge and is licensed under GNU General Public License 3.0, or later, with +# the additional special exception to link portions of this program with the OpenSSL library. +# See LICENSE for more details. +# + +from __future__ import unicode_literals + +import logging + +import deluge.component as component +from deluge.plugins.pluginbase import Gtk3PluginBase +from deluge.ui.client import client + +log = logging.getLogger(__name__) + + +class GtkUI(Gtk3PluginBase): + def enable(self): + self.core = client.toggle + self.plugin = component.get('PluginManager') + self.separator = self.plugin.add_toolbar_separator() + self.button = self.plugin.add_toolbar_button( + self._on_button_clicked, + label='Pause Session', + stock='gtk-media-pause', + tooltip='Pause the session', + ) + + def disable(self): + component.get('PluginManager').remove_toolbar_button(self.button) + component.get('PluginManager').remove_toolbar_button(self.separator) + + def update(self): + def _on_get_status(paused): + if paused: + self.button.set_label('Resume Session') + self.button.set_tooltip_text('Resume the session') + self.button.set_stock_id('gtk-media-play') + else: + self.button.set_label('Pause Session') + self.button.set_tooltip_text('Pause the session') + self.button.set_stock_id('gtk-media-pause') + + self.core.get_status().addCallback(_on_get_status) + + def _on_button_clicked(self, widget): + self.core.toggle() |