From 2e2851dc13d73352530dd4495c7e05603b2e520d Mon Sep 17 00:00:00 2001 From: Daniel Baumann Date: Wed, 10 Apr 2024 23:38:38 +0200 Subject: Adding upstream version 2.1.2~dev0+20240219. Signed-off-by: Daniel Baumann --- .../plugins/Label/deluge_label/gtkui/__init__.py | 74 ++++++++++++++++++++++ 1 file changed, 74 insertions(+) create mode 100644 deluge/plugins/Label/deluge_label/gtkui/__init__.py (limited to 'deluge/plugins/Label/deluge_label/gtkui/__init__.py') diff --git a/deluge/plugins/Label/deluge_label/gtkui/__init__.py b/deluge/plugins/Label/deluge_label/gtkui/__init__.py new file mode 100644 index 0000000..6170716 --- /dev/null +++ b/deluge/plugins/Label/deluge_label/gtkui/__init__.py @@ -0,0 +1,74 @@ +# +# Copyright (C) 2008 Martijn Voncken +# +# 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. +# + +import logging + +from deluge import component # for systray +from deluge.plugins.pluginbase import Gtk3PluginBase + +from . import label_config, sidebar_menu, submenu + +log = logging.getLogger(__name__) + +NO_LABEL = 'No Label' + + +def cell_data_label(column, cell, model, row, data): + cell.set_property('text', str(model.get_value(row, data))) + + +class GtkUI(Gtk3PluginBase): + def start(self): + if self.label_menu: + self.label_menu.on_show() + + def enable(self): + self.plugin = component.get('PluginManager') + self.torrentmenu = component.get('MenuBar').torrentmenu + self.label_menu = None + self.labelcfg = None + self.sidebar_menu = None + self.load_interface() + + def disable(self): + if self.label_menu in self.torrentmenu.get_children(): + self.torrentmenu.remove(self.label_menu) + + self.labelcfg.unload() + self.sidebar_menu.unload() + del self.sidebar_menu + + component.get('TorrentView').remove_column(_('Label')) + + def load_interface(self): + # sidebar + # disabled + if not self.sidebar_menu: + self.sidebar_menu = sidebar_menu.LabelSidebarMenu() + # self.sidebar.load() + + # menu: + log.debug('add items to torrentview-popup menu.') + self.label_menu = submenu.LabelMenu() + self.torrentmenu.append(self.label_menu) + self.label_menu.show_all() + + # columns: + self.load_columns() + + # config: + if not self.labelcfg: + self.labelcfg = label_config.LabelConfig(self.plugin) + self.labelcfg.load() + + log.debug('Finished loading Label plugin') + + def load_columns(self): + log.debug('add columns') + + component.get('TorrentView').add_text_column(_('Label'), status_field=['label']) -- cgit v1.2.3