summaryrefslogtreecommitdiffstats
path: root/frontend
diff options
context:
space:
mode:
authorMartin Sivak <msivak@redhat.com>2008-04-21 15:13:53 +0200
committerMartin Sivak <msivak@redhat.com>2008-04-21 15:13:53 +0200
commitddbadfc4ad83f8372b495a30aea8ae4e5cc78bf2 (patch)
treee6bd600bfce7ae2170670e137c3077959e8fa235 /frontend
parent881933545cc9cbdc349e6ff5254179f2fa977ecf (diff)
downloadfirstaidkit-ddbadfc4ad83f8372b495a30aea8ae4e5cc78bf2.tar.gz
firstaidkit-ddbadfc4ad83f8372b495a30aea8ae4e5cc78bf2.tar.xz
firstaidkit-ddbadfc4ad83f8372b495a30aea8ae4e5cc78bf2.zip
Some fixes in the Gui part
Diffstat (limited to 'frontend')
-rw-r--r--frontend/__init__.py0
-rw-r--r--frontend/main.py44
2 files changed, 23 insertions, 21 deletions
diff --git a/frontend/__init__.py b/frontend/__init__.py
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/frontend/__init__.py
diff --git a/frontend/main.py b/frontend/main.py
index 2b889c5..cd4a2dd 100644
--- a/frontend/main.py
+++ b/frontend/main.py
@@ -23,6 +23,9 @@ import gtk
import gtk.glade
import gobject #we need gobject.idle_add
import copy
+import logging
+from pyfirstaidkit import reporting
+import pprint
class CallbacksMainWindow(object):
def __init__(self, dialog, pluginsystem, flags, reporting):
@@ -47,9 +50,12 @@ class CallbacksMainWindow(object):
print "on_quit_activate"
if True: #XXX destroy right now, but warn, in final code we have to wait until plugin finishes
print "!!! You should wait until the running plugin finishes!!"
- gtk.main_quit()
+ self._dialog.destroy()
return True
+ def on_destroy(self, widget, *args):
+ gtk.main_quit()
+
def on_mainmenu_about_activate(self, widget, *args):
print "on_mainmenu_about_activate"
return True
@@ -112,12 +118,13 @@ class CallbacksFlagList(object):
return True
class MainWindow(object):
- def __init__(self, pluginsystem, flags, reporting):
- self._glade = gtk.glade.XML("firstaidkit.glade", "MainWindow")
+ def __init__(self, pluginsystem, flags, reporting, importance = logging.INFO):
+ self._importance = importance
+ self._glade = gtk.glade.XML("frontend/firstaidkit.glade", "MainWindow")
self._window = self._glade.get_widget("MainWindow")
self._cb = CallbacksMainWindow(self._window, pluginsystem, flags, reporting)
self._glade.signal_autoconnect(self._cb)
- self._window.connect("destroy", self._cb.on_quit_activate)
+ self._window.connect("destroy", self._cb.on_destroy)
self.status_text = self._glade.get_widget("status_text")
self.status_progress = self._glade.get_widget("status_progress")
@@ -125,41 +132,36 @@ class MainWindow(object):
def update(self, message):
"""Read the reporting system message and schedule a call to update stuff in the gui using gobject.idle_add"""
if message["action"]==reporting.END:
- self._running = False
+ gobject.idle_add(self._window.destroy)
elif message["action"]==reporting.QUESTION:
print "FIXME: Questions not implemented yet"
elif message["action"]==reporting.START:
if self._importance<=message["importance"]:
ctx = self.status_text.get_context_id(message["origin"].name)
- self.status_text.push(ctx, "START: %s (%s)" % (message["origin"].name, message["message"]))
- levelstack.append(message["origin"].name)
+ gobject.idle_add(self.status_text.push, ctx, "START: %s (%s)" % (message["origin"].name, message["message"]))
elif message["action"]==reporting.STOP:
if self._importance<=message["importance"]:
ctx = self.status_text.get_context_id(message["origin"].name)
- self.status_text.push(ctx, "STOP: %s (%s)" % (message["origin"].name, message["message"]))
- if levelstack[-1]!=message["origin"].name:
- print "WARNING: START/STOP ordering mismatch in stack: "+" / ".join(levelstack)
- else:
- levelstack.pop()
+ gobject.idle_add(self.status_text.push, ctx, "STOP: %s (%s)" % (message["origin"].name, message["message"]))
elif message["action"]==reporting.PROGRESS:
if self._importance<=message["importance"]:
if message["message"] is None:
- self.status_progress.hide()
+ gobject.idle_add(self.status_progress.hide)
else:
- self.status_progress.set_text("%d/%d - %s" % (message["message"][0], message["message"][1], message["origin"].name))
- self.status_progress.set_fraction(float(message["message"][0])/message["message"][1])
- self.status_progress.show()
+ gobject.idle_add(self.status_progress.set_text, "%d/%d - %s" % (message["message"][0], message["message"][1], message["origin"].name))
+ gobject.idle_add(self.status_progress.set_fraction, float(message["message"][0])/message["message"][1])
+ gobject.idle_add(self.status_progress.show)
elif message["action"]==reporting.INFO:
if self._importance<=message["importance"]:
ctx = self.status_text.get_context_id(message["origin"].name)
- self.status_text.push(ctx, "INFO: %s (%s)" % (message["message"], message["origin"].name))
+ gobject.idle_add(self.status_text.push, ctx, "INFO: %s (%s)" % (message["message"], message["origin"].name))
elif message["action"]==reporting.ALERT:
if self._importance<=message["importance"]:
ctx = self.status_text.get_context_id(message["origin"].name)
- self.status_text.push(ctx, "ALERT: %s (%s)" % (message["message"], message["origin"].name))
+ gobject.idle_add(self.status_text.push, ctx, "ALERT: %s (%s)" % (message["message"], message["origin"].name))
elif message["action"]==reporting.EXCEPTION:
ctx = self.status_text.get_context_id(message["origin"].name)
- self.status_text.push(ctx, "EXCEPTION: %s (%s)" % (message["message"], message["origin"].name))
+ gobject.idle_add(self.status_text.push, ctx, "EXCEPTION: %s (%s)" % (message["message"], message["origin"].name))
elif message["action"]==reporting.TABLE:
if self._importance<=message["importance"]:
print "TABLE %s FROM %s" % (message["title"], message["origin"].name,)
@@ -177,7 +179,7 @@ class MainWindow(object):
class FlagList(object):
def __init__(self, flags):
- self._glade = gtk.glade.XML("firstaidkit.glade", "FlagList")
+ self._glade = gtk.glade.XML("frontend/firstaidkit.glade", "FlagList")
self._window = self._glade.get_widget("FlagList")
self._window.set_modal(True)
self._cb = CallbacksFlagList(self._window, flags)
@@ -185,5 +187,5 @@ class FlagList(object):
if __name__=="__main__":
w = MainWindow(None, None, None)
- w.run()
+ #w.run()