From 884bc28407a0addb8a841d433488858ec5fccb8a Mon Sep 17 00:00:00 2001 From: Denis Fomin Date: Thu, 30 Sep 2010 15:34:04 +0400 Subject: set_location. delete preset button added --- set_location/config_dialog.ui | 37 +++++++++++++++++++++++++++++++++++++ set_location/set_location.py | 18 +++++++++++++++--- 2 files changed, 52 insertions(+), 3 deletions(-) (limited to 'set_location') diff --git a/set_location/config_dialog.ui b/set_location/config_dialog.ui index 08d364e..fe08138 100644 --- a/set_location/config_dialog.ui +++ b/set_location/config_dialog.ui @@ -74,6 +74,43 @@ 2 + + + True + False + False + True + + + + True + + + True + gtk-delete + + + 0 + + + + + True + Delete preset + + + 1 + + + + + + + False + False + 3 + + False diff --git a/set_location/set_location.py b/set_location/set_location.py index 8adec88..baeea49 100644 --- a/set_location/set_location.py +++ b/set_location/set_location.py @@ -207,12 +207,12 @@ class SetLocationPluginConfigDialog(GajimPluginConfigDialog): continue widget = self.xml.get_object(name) preset[name] = widget.get_text() - if preset_name not in self.plugin.config['presets'].keys(): - iter_ = self.preset_liststore.append((preset_name,)) - self.preset_combo.set_active_iter(iter_) preset = {preset_name: preset} presets = dict(self.plugin.config['presets'].items() + \ preset.items()) + if preset_name not in self.plugin.config['presets'].keys(): + iter_ = self.preset_liststore.append((preset_name,)) + #self.preset_combo.set_active_iter(iter_) self.plugin.config['presets'] = presets self.set_modal(False) InputDialog(_('Save as Preset'), _('Please type a name for this preset'), @@ -222,8 +222,20 @@ class SetLocationPluginConfigDialog(GajimPluginConfigDialog): model = widget.get_model() active = widget.get_active() if active < 0: + self.xml.get_object('del_preset').set_sensitive(False) return pres_name = model[active][0].decode('utf-8') for name in self.plugin.config['presets'][pres_name].keys(): widget = self.xml.get_object(name) widget.set_text(str(self.plugin.config['presets'][pres_name][name])) + + self.xml.get_object('del_preset').set_sensitive(True) + + def on_del_preset_clicked(self, widget): + active = self.preset_combo.get_active() + active_iter = self.preset_combo.get_active_iter() + name = self.preset_liststore[active][0].decode('utf-8') + presets = self.plugin.config['presets'] + del presets[name] + self.plugin.config['presets'] = presets + self.preset_liststore.remove(active_iter) -- cgit v1.2.3