diff options
Diffstat (limited to 'frontend/main.py')
-rw-r--r-- | frontend/main.py | 35 |
1 files changed, 25 insertions, 10 deletions
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) |