summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJiri Moskovcak <jmoskovc@redhat.com>2009-08-12 18:39:33 +0200
committerJiri Moskovcak <jmoskovc@redhat.com>2009-08-12 18:39:33 +0200
commit3526870697aa7d24879e167a365829c23c4e0e66 (patch)
tree5681525b5a19bb2bcd48e84e848ce6a8f2b4aa17
parent98f1102f06f5e593cd8f186271db5cadf0e28417 (diff)
downloadabrt-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.py3
-rw-r--r--src/Gui/PluginSettingsUI.py14
-rw-r--r--src/Gui/SettingsDialog.py4
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: