# HG changeset patch # User Goffi # Date 1280894467 -28800 # Node ID 13888bdb72b67fd7932abd93b6614412d9a8c0ce # Parent a216dfbb0d5055af8b4ee3bf0a49c4817e68e402 primitivus: button are now working with XMLUI diff -r a216dfbb0d50 -r 13888bdb72b6 frontends/primitivus/primitivus --- a/frontends/primitivus/primitivus Wed Aug 04 12:00:25 2010 +0800 +++ b/frontends/primitivus/primitivus Wed Aug 04 12:01:07 2010 +0800 @@ -30,11 +30,6 @@ from chat import Chat import custom_widgets import pdb -"""from window import Window -from editbox import EditBox -from statusbar import StatusBar -from chat import Chat -from tools.jid import JID""" import logging from logging import debug, info, error import sys, os @@ -103,9 +98,8 @@ def write_log(self, log, file_name='/tmp/primitivus_log'): """method to write log in a temporary file, useful for debugging""" - f=open(file_name, 'a') - f.write(log+"\n") - f.close() + with open(file_name, 'a') as f: + f.write(log+"\n") def redraw(self): """redraw the screen""" diff -r a216dfbb0d50 -r 13888bdb72b6 frontends/primitivus/xmlui.py --- a/frontends/primitivus/xmlui.py Wed Aug 04 12:00:25 2010 +0800 +++ b/frontends/primitivus/xmlui.py Wed Aug 04 12:01:07 2010 +0800 @@ -175,7 +175,17 @@ ##EVENTS## def onButtonPress(self, button): - self.host.debug() + callback_id, fields = button.param_id + data = {"callback_id":callback_id} + for field in fields: + ctrl = self.ctrl_list[field] + if isinstance(ctrl['control'],custom_widgets.List): + data[field] = '\t'.join(ctrl['control'].getSelectedValues()) + else: + data[field] = ctrl['control'].getValue() + + id = self.host.bridge.launchAction("button", data, profile_key = self.host.profile) + self.host.current_action_ids.add(id) def onFormSubmitted(self, button): data = []