From dee14baa89d53011a378afda25ec344a8d70cfba Mon Sep 17 00:00:00 2001 From: Martin Sivak Date: Tue, 22 Apr 2008 14:40:51 +0200 Subject: The flags dialog is working now --- frontend/firstaidkit.glade | 64 ++++++++++++++++++++-------------------------- frontend/main.py | 35 +++++++++++++++++-------- 2 files changed, 53 insertions(+), 46 deletions(-) (limited to 'frontend') diff --git a/frontend/firstaidkit.glade b/frontend/firstaidkit.glade index 6decf0c..52282fb 100644 --- a/frontend/firstaidkit.glade +++ b/frontend/firstaidkit.glade @@ -750,8 +750,7 @@ True - Flags to set before any operation takes place: -(clicking on flag deletes it) + Flags to set before any operation takes place: False False GTK_JUSTIFY_LEFT @@ -767,14 +766,26 @@ 0 - 0 + 5 False False + + + True + + + 0 + False + True + + + + 3 True True GTK_POLICY_NEVER @@ -810,18 +821,29 @@ - 0 + 1 True True + + + True + + + 0 + False + True + + + True - 0.5 + 1 1 - 1 + 0 0 0 0 @@ -834,36 +856,6 @@ False 0 - - - True - False - True - - - 0 - True - True - - - - - - True - True - Add - True - GTK_RELIEF_NORMAL - True - - - - 0 - False - False - - - True diff --git a/frontend/main.py b/frontend/main.py index a69f642..115922c 100644 --- a/frontend/main.py +++ b/frontend/main.py @@ -136,14 +136,20 @@ class CallbacksFlagList(object): self._dialog = dialog self._flags = flags self._cfg = cfg - self._working = copy.copy(self._flags) - - def on_b_AddFlag_activate(self, widget, *args): - print "on_b_AddFlag_activate" - return True def on_b_OK_activate(self, widget, *args): print "on_b_OK_activate" + + f = set() + for k,w in self._flags.iteritems(): + if w.get_active(): + f.add(k) + + if len(f)==0: + self._cfg.operation.flags = "" + else: + self._cfg.operation.flags = '"'+'" "'.join(f)+'"' + self._dialog.destroy() return True @@ -152,10 +158,6 @@ class CallbacksFlagList(object): self._dialog.destroy() return True - def on_b_Flag_activate(self, widget, *args): - print "on_b_Flag_activate" - return True - class MainWindow(object): def __init__(self, cfg, tasker, importance = logging.INFO, dir=""): self._importance = importance @@ -227,8 +229,21 @@ class FlagList(object): self._glade = gtk.glade.XML(os.path.join(dir, "firstaidkit.glade"), "FlagList") self._window = self._glade.get_widget("FlagList") self._window.set_modal(True) - self._cb = CallbacksFlagList(self._window, cfg, flags) + self.flags = {} + self._cb = CallbacksFlagList(self._window, cfg, self.flags) self._glade.signal_autoconnect(self._cb) + fl_gui = self._glade.get_widget("box_flags") + flags_set = cfg.operation._list("flags") + for f in sorted(flags.known()): + b = gtk.CheckButton(label=f) + self.flags[f] = b + b.set_active(f in flags_set) + b.show() + fl_gui.pack_start(b, expand=False, fill=True) + l = gtk.Label("") + l.show() + + fl_gui.pack_end(l, expand=True, fill=True) if __name__=="__main__": w = MainWindow(None, None, None) -- cgit