def __init__(self, method, label_id="", label_name=""): self.config = component.get("GtkPlugin." + PLUGIN_NAME)._config self.method = method self.label_id = label_id self.label_name = label_name self.base_name = label_name.rpartition("/")[2] self.close_func = None self.icon = gtk.gdk.Pixbuf(gtk.gdk.COLORSPACE_RGB, True, 8, 16, 16) self.icon.fill(0) self.type = DIALOG_TYPES[self.method] self.we = WidgetEncapsulator(get_resource("wnd_name_input.glade")) self.we.wnd_name_input.set_transient_for( component.get("MainWindow").window) self.we.wnd_name_input.set_destroy_with_parent(True) self.we.wnd_name_input.set_title(self.type[DIALOG_NAME]) icon = self.we.wnd_name_input.render_icon(self.type[DIALOG_ICON], gtk.ICON_SIZE_SMALL_TOOLBAR) self.we.wnd_name_input.set_icon(icon) pos = self.config["common"]["name_input_pos"] if pos: self.we.wnd_name_input.move(*pos) size = self.config["common"]["name_input_size"] if size: size[1] = 1 self.we.wnd_name_input.resize(*size) if self.method == "add": self.we.blk_header.hide() else: self.we.lbl_selected_label.set_text(self.base_name) self.we.lbl_selected_label.set_tooltip_text(self.label_name) if self.method == "rename": self.we.lbl_header.set_markup("<b>%s: </b>" % _("Current")) self.we.txt_name.set_text(self.base_name) self.we.txt_name.select_region(0, -1) elif self.method == "sublabel": self.we.lbl_header.set_markup("<b>%s: </b>" % _("Parent")) else: self.we.lbl_header.set_markup( "<b>%s</b>" % self.we.lbl_header.get_text()) self.we.model.signal_autoconnect({ "cb_do_submit" : self.cb_do_submit, "cb_do_close" : self.cb_do_close, "on_txt_changed" : self.on_txt_changed, }) self.we.btn_ok.set_sensitive(False) self.we.wnd_name_input.show()
def _add_status_bar_item(self): self.status_item = component.get("StatusBar").add_item( image=get_resource("labelplus_icon.png"), text="", callback=self._do_open_label_options_bandwidth, tooltip="") self.status_item._ebox.hide_all()
def __init__(self, label_id, label_name): self.config = deluge.configmanager.ConfigManager(GTKUI_CONFIG) self.label_id = label_id self.label_name = label_name self.daemon_is_local = client.is_localhost() self.we = WidgetEncapsulator(get_resource("wnd_label_options.glade")) self.we.wnd_label_options.set_transient_for( component.get("MainWindow").window) self.we.wnd_label_options.set_destroy_with_parent(True) icon = self.we.wnd_label_options.render_icon(gtk.STOCK_PREFERENCES, gtk.ICON_SIZE_SMALL_TOOLBAR) self.we.wnd_label_options.set_icon(icon) pos = self.config["label_options_pos"] if pos: self.we.wnd_label_options.move(*pos) size = self.config["label_options_size"] if size: self.we.wnd_label_options.resize(*size) self.we.lbl_header.set_markup("<b>%s</b>" % self.we.lbl_header.get_text()) self.we.lbl_selected_label.set_text(label_name) self.we.lbl_selected_label.set_tooltip_text(label_name) self.option_widgets = ( self.we.chk_download_settings, self.we.chk_move_data_completed, self.we.lbl_move_data_completed_path, self.we.chk_prioritize_first_last, self.we.chk_bandwidth_settings, self.we.spn_max_download_speed, self.we.spn_max_upload_speed, self.we.spn_max_connections, self.we.spn_max_upload_slots, self.we.chk_queue_settings, self.we.chk_auto_managed, self.we.chk_stop_at_ratio, self.we.spn_stop_ratio, self.we.chk_remove_at_ratio, self.we.chk_auto_settings, self.we.rb_auto_name, self.we.rb_auto_tracker, ) self.dependency_widgets = { self.we.chk_download_settings: (self.we.blk_download_settings_group,), self.we.chk_bandwidth_settings: (self.we.blk_bandwidth_settings_group,), self.we.chk_queue_settings: (self.we.blk_queue_settings_group,), self.we.chk_auto_settings: (self.we.blk_auto_settings_group,), self.we.chk_move_data_completed: (self.we.blk_move_data_completed_group,), self.we.rb_move_data_completed_to_folder: (self.we.fcb_move_data_completed_select, self.we.txt_move_data_completed_entry), self.we.chk_stop_at_ratio: (self.we.spn_stop_ratio, self.we.chk_remove_at_ratio), self.we.chk_auto_retroactive: (self.we.chk_auto_unlabeled,), } self.rgrp_move_data_completed = ( self.we.rb_move_data_completed_to_parent, self.we.rb_move_data_completed_to_subfolder, self.we.rb_move_data_completed_to_folder, ) defers = [] defers.append(client.labelplus.get_daemon_vars()) defers.append(client.labelplus.get_parent_path(self.label_id)) defers.append(client.labelplus.get_options(self.label_id)) defers.append(client.labelplus.get_preferences()) deferred = defer.DeferredList(defers) deferred.addCallback(self.cb_get_options_ok)
def __init__(self): self.config = deluge.configmanager.ConfigManager(GTKUI_CONFIG) self.plugin = component.get("PluginManager") self.we = WidgetEncapsulator(get_resource("wnd_preferences.glade")) self.daemon_is_local = client.is_localhost() self.last_prefs = None self.header_widgets = ( self.we.lbl_general, self.we.lbl_defaults, ) self.general_widgets = ( self.we.chk_include_children, self.we.chk_show_full_name, self.we.chk_move_on_changes, ) self.defaults_widgets = ( self.we.chk_download_settings, self.we.chk_move_data_completed, self.we.chk_prioritize_first_last, self.we.chk_bandwidth_settings, self.we.spn_max_download_speed, self.we.spn_max_upload_speed, self.we.spn_max_connections, self.we.spn_max_upload_slots, self.we.chk_queue_settings, self.we.chk_auto_managed, self.we.chk_stop_at_ratio, self.we.spn_stop_ratio, self.we.chk_remove_at_ratio, self.we.chk_auto_settings, self.we.rb_auto_name, self.we.rb_auto_tracker, ) self.rgrp_move_data_completed = ( self.we.rb_move_data_completed_to_parent, self.we.rb_move_data_completed_to_subfolder, self.we.rb_move_data_completed_to_folder, ) self.exp_group = ( self.we.exp_download, self.we.exp_bandwidth, self.we.exp_queue, self.we.exp_autolabel, ) expanded = self.config["prefs_state"] for exp in expanded: widget = getattr(self.we, exp, None) if widget: widget.set_expanded(True) for header in self.header_widgets: heading = header.get_text() header.set_markup("<b>%s</b>" % heading) self.we.btn_defaults.connect("clicked", self._reset_preferences) if self.daemon_is_local: self.we.fcb_move_data_completed_select.show() self.we.txt_move_data_completed_entry.hide() else: self.we.fcb_move_data_completed_select.hide() self.we.txt_move_data_completed_entry.show() self.we.blk_preferences.connect("expose-event", self._do_set_unavailable) self.plugin.add_preferences_page(DISPLAY_NAME, self.we.blk_preferences) self.plugin.register_hook("on_show_prefs", self._load_settings) self.plugin.register_hook("on_apply_prefs", self._save_settings) self._load_settings()