summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJiri Moskovcak <jmoskovc@redhat.com>2009-09-08 13:07:50 +0200
committerJiri Moskovcak <jmoskovc@redhat.com>2009-09-08 13:07:50 +0200
commit673c753443c171a8dd79ce63029bc169296ccba7 (patch)
tree120bda0c78d9fee709339eba37dbee5085d971be
parente883ab414abb843bf2178521aa3e67732b8ecee7 (diff)
downloadabrt-673c753443c171a8dd79ce63029bc169296ccba7.tar.gz
abrt-673c753443c171a8dd79ce63029bc169296ccba7.tar.xz
abrt-673c753443c171a8dd79ce63029bc169296ccba7.zip
Added forgotten file
-rw-r--r--src/Gui/SettingsDialog.py88
1 files changed, 88 insertions, 0 deletions
diff --git a/src/Gui/SettingsDialog.py b/src/Gui/SettingsDialog.py
new file mode 100644
index 00000000..a2ba1f06
--- /dev/null
+++ b/src/Gui/SettingsDialog.py
@@ -0,0 +1,88 @@
+import sys
+import gtk
+from PluginList import getPluginInfoList, PluginInfoList
+from CC_gui_functions import *
+#from PluginSettingsUI import PluginSettingsUI
+from ABRTPlugin import PluginSettings, PluginInfo
+from abrt_utils import _
+
+class SettingsDialog:
+ def __init__(self, parent, daemon):
+ builderfile = "%s%ssettings.GtkBuilder" % (sys.path[0],"/")
+ self.ccdaemon = daemon
+ self.builder = gtk.Builder()
+ self.builder.add_from_file(builderfile)
+ self.window = self.builder.get_object("wGlobalSettings")
+ print "GSD init"
+ self.builder.get_object("bSaveSettings").connect("clicked", self.on_ok_clicked)
+ self.builder.get_object("bAddCronJob").connect("clicked", self.on_bAddCronJob_clicked)
+
+ def filter_settings(self, model, miter, data):
+ return True
+
+ def hydrate(self):
+ try:
+ self.settings = self.ccdaemon.getSettings()
+ except Exception, e:
+ # FIXME: this should be error gui message!
+ print e
+
+ # hydrate cron jobs:
+ for key,val in self.settings["Cron"].iteritems():
+ try:
+ self.pluginlist = getPluginInfoList(self.ccdaemon, refresh=True)
+ except Exception, e:
+ print e
+
+ hbox = gtk.HBox(homogeneous=True)
+ time = gtk.Entry()
+ plugins = gtk.ComboBox()
+ enabledPluginsListStore = gtk.ListStore(str, object)
+ cell = gtk.CellRendererText()
+ plugins.pack_start(cell)
+ plugins.add_attribute(cell, 'text', 0)
+ enabledPluginsListStore.append([_("Select a plugin"), None])
+ for plugin in self.pluginlist.getActionPlugins():
+ print "#", plugin.getName()
+ enabledPluginsListStore.append([plugin.getName(), plugin])
+ plugins.set_model(enabledPluginsListStore)
+ plugins.set_active(0)
+ hbox.pack_start(time,False)
+ hbox.pack_start(plugins,False)
+ self.builder.get_object("vbCronJobs").pack_start(hbox,False)
+ hbox.show_all()
+ #print "\t%s:%s" % (key,val)
+
+ def on_ok_clicked(self, button):
+ self.dehydrate()
+
+ def on_bAddCronJob_clicked(self, button):
+ hbox = gtk.HBox(homogeneous=True)
+ time = gtk.Entry()
+ plugins = gtk.ComboBox()
+ enabledPluginsListStore = gtk.ListStore(str, object)
+ cell = gtk.CellRendererText()
+ plugins.pack_start(cell)
+ plugins.add_attribute(cell, 'text', 0)
+ for plugin in self.pluginlist.getActionPlugins():
+ print "#", plugin.getName()
+ enabledPluginsListStore.append([plugin.getName(), plugin])
+ plugins.set_model(enabledPluginsListStore)
+ plugins.set_active(0)
+ hbox.pack_start(time,False)
+ hbox.pack_start(plugins,False)
+ self.builder.get_object("vbCronJobs").pack_start(hbox,False)
+ hbox.show_all()
+ print "add"
+
+ def on_cancel_clicked(self,button):
+ print "hide"
+ self.window.hide()
+
+ def dehydrate(self):
+ self.ccdaemon.setSettings(self.settings)
+ print "dehydrate"
+
+ def show(self):
+ print "show"
+ self.window.show()