Show
Ignore:
Timestamp:
08/30/07 23:05:00 (15 months ago)
Author:
roidelapluie
Message:

0.11.2: add multiple data form support (XEP-0004)

Files:
1 modified

Legend:

Unmodified
Added
Removed
  • branches/gajim_0.11.1/src/dataforms_widget.py

    r7677 r8643  
    1717""" This module contains widget that can display data form (JEP-0004). 
    1818Words single and multiple refers here to types of data forms: 
    19 single means these with one record of data (without <recorded/> element), 
    20 multiple - these which may contain more data (with <recorded/> element).""" 
     19single means these with one record of data (without <reported/> element), 
     20multiple - these which may contain more data (with <reported/> element).""" 
    2121 
    2222import gtk 
     
    4242                                'single_form_viewport', 'data_form_types_notebook', 
    4343                                'single_form_scrolledwindow', 'multiple_form_hbox', 
    44                                 'records_treeview', 'add_button', 'remove_button', 
     44                                'records_treeview', 'buttons_vbox', 'add_button', 'remove_button', 
    4545                                'edit_button', 'up_button', 'down_button', 'clear_button'): 
    4646                        self.__dict__[name] = self.xml.get_widget(name) 
     
    142142                # creating model for form... 
    143143                fieldtypes = [] 
    144                 for field in self._data_form.recorded.iter_fields(): 
     144                for field in self._data_form.reported.iter_fields(): 
    145145                        # note: we store also text-private and hidden fields, 
    146146                        # we just do not display them. 
     
    158158 
    159159                # constructing columns... 
    160                 for field, counter in zip(self._data_form.iter_fields(), itertools.count()): 
    161                         print repr(field), repr(counter) 
     160                for field, counter in zip(self._data_form.reported.iter_fields(), itertools.count()): 
    162161                        self.records_treeview.append_column( 
    163162                                gtk.TreeViewColumn(field.label, gtk.CellRendererText(), 
     
    173172                self.clean_data_form = self.clean_multiple_data_form 
    174173 
    175                 # refresh list look 
    176                 self.refresh_multiple_buttons() 
     174                readwrite = self._data_form.type != 'result' 
     175                if not readwrite: 
     176                        self.buttons_vbox.set_no_show_all(True) 
     177                        self.buttons_vbox.hide() 
     178                else: 
     179                        self.buttons_vbox.set_no_show_all(False) 
     180                        # refresh list look 
     181                        self.refresh_multiple_buttons() 
    177182 
    178183        def clean_multiple_data_form(self): 
     
    187192                model = self.records_treeview.get_model() 
    188193                count = selection.count_selected_rows() 
    189                 if count==0: 
     194                if count == 0: 
    190195                        self.remove_button.set_sensitive(False) 
    191196                        self.edit_button.set_sensitive(False) 
    192197                        self.up_button.set_sensitive(False) 
    193198                        self.down_button.set_sensitive(False) 
    194                 elif count==1: 
     199                elif count == 1: 
    195200                        self.remove_button.set_sensitive(True) 
    196201                        self.edit_button.set_sensitive(True) 
     
    200205                                self.up_button.set_sensitive(True) 
    201206                                self.down_button.set_sensitive(False) 
    202                         elif path==(0,): 
     207                        elif path == (0, ): 
    203208                                self.up_button.set_sensitive(False) 
    204209                                self.down_button.set_sensitive(True) 
     
    212217                        self.down_button.set_sensitive(False) 
    213218 
    214                 if len(model)==0: 
     219                if len(model) == 0: 
    215220                        self.clear_button.set_sensitive(False) 
    216221                else: