diff options
author | Jiri Moskovcak <jmoskovc@redhat.com> | 2009-08-12 18:39:33 +0200 |
---|---|---|
committer | Jiri Moskovcak <jmoskovc@redhat.com> | 2009-08-12 18:39:33 +0200 |
commit | 3526870697aa7d24879e167a365829c23c4e0e66 (patch) | |
tree | 5681525b5a19bb2bcd48e84e848ce6a8f2b4aa17 | |
parent | 98f1102f06f5e593cd8f186271db5cadf0e28417 (diff) | |
download | abrt-3526870697aa7d24879e167a365829c23c4e0e66.tar.gz abrt-3526870697aa7d24879e167a365829c23c4e0e66.tar.xz abrt-3526870697aa7d24879e167a365829c23c4e0e66.zip |
GUI: Changes in plugin's settings are now saved
-rw-r--r-- | src/Gui/CCDBusBackend.py | 3 | ||||
-rw-r--r-- | src/Gui/PluginSettingsUI.py | 14 | ||||
-rw-r--r-- | src/Gui/SettingsDialog.py | 4 |
3 files changed, 20 insertions, 1 deletions
diff --git a/src/Gui/CCDBusBackend.py b/src/Gui/CCDBusBackend.py index 6fe13576..d440627b 100644 --- a/src/Gui/CCDBusBackend.py +++ b/src/Gui/CCDBusBackend.py @@ -193,4 +193,7 @@ class DBusManager(gobject.GObject): def unRegisterPlugin(self, plugin_name): return self.cc.UnRegisterPlugin(plugin_name) + + def setPluginSettings(self, plugin_name, plugin_settings): + return self.cc.SetPluginSettings(plugin_name, plugin_settings) diff --git a/src/Gui/PluginSettingsUI.py b/src/Gui/PluginSettingsUI.py index 55174d6e..0f038acf 100644 --- a/src/Gui/PluginSettingsUI.py +++ b/src/Gui/PluginSettingsUI.py @@ -48,7 +48,19 @@ class PluginSettingsUI(gtk.Dialog): def dehydrate(self): #print "dehydrating %s" % self.pluginfo.getName() - pass + if self.Settings: + for key in self.Settings.keys(): + #print "%s:%s" % (key,value) + widget = self.plugin_gui.get_object("conf_%s" % key) + if type(widget) == gtk.Entry: + self.Settings[key] = widget.get_text() + elif type(widget) == gtk.CheckButton: + if widget.get_active(): + self.Settings[key] = "yes" + else: + self.Settings[key] = "no" + elif type(widget) == gtk.ComboBox: + print "combo box is not implemented" def destroy(self): self.dialog.destroy() diff --git a/src/Gui/SettingsDialog.py b/src/Gui/SettingsDialog.py index bd87a30c..f65eb962 100644 --- a/src/Gui/SettingsDialog.py +++ b/src/Gui/SettingsDialog.py @@ -108,6 +108,10 @@ class SettingsDialog: response = ui.run() if response == gtk.RESPONSE_APPLY: ui.dehydrate() + if pluginfo.Settings: + self.ccdaemon.setPluginSettings(pluginfo.getName(), pluginfo.Settings) + for key, val in pluginfo.Settings.iteritems(): + print "%s:%s" % (key, val) elif response == gtk.RESPONSE_CANCEL: pass else: |