示例#1
0
 def get_textual_value(self, record):
     field = record[self.attrs['name']]
     if hasattr(field, 'get_size'):
         size = field.get_size(record)
     else:
         size = len(field.get(record))
     return common.humanize(size) if size else ''
示例#2
0
    def record_message(self, position, size, max_size, record_id):
        name = str(position) if position else '_'
        selected = len(self.screen.selected_records)
        if selected > 1:
            name += '#%i' % selected
        for button_id in ('print', 'relate', 'email', 'open', 'save',
                          'attach'):
            button = self.buttons[button_id]
            can_be_sensitive = getattr(button, '_can_be_sensitive', True)
            if button_id in {'print', 'relate', 'email', 'open'}:
                action_type = button_id
                if button_id == 'open':
                    action_type = 'print'
                can_be_sensitive |= any(
                    b.attrs.get('keyword', 'action') == action_type
                    for b in self.screen.get_buttons())
            elif button_id == 'save':
                can_be_sensitive &= not self.screen.readonly
            button.props.sensitive = bool(position) and can_be_sensitive
        button_switch = self.buttons['switch']
        button_switch.props.sensitive = self.screen.number_of_views > 1

        menu_delete = self.menu_buttons['remove']
        menu_delete.props.sensitive = self.screen.deletable
        menu_save = self.menu_buttons['save']
        menu_save.props.sensitive = not self.screen.readonly

        if size < max_size:
            msg = "%s@%s/%s" % (name, common.humanize(size),
                                common.humanize(max_size))
            if max_size >= self.screen.count_limit:
                msg += "+"
        else:
            msg = "%s/%s" % (name, common.humanize(size))
        self.status_label.set_text(msg)
        self.message_info()
        self.activate_save()
        self.refresh_attachment_preview()
示例#3
0
 def set_tab_counter(self, count, idx=None):
     if not self.tab_counter or not self.notebook:
         return
     if idx is None:
         idx = self.notebook.get_current_page()
     if idx < 0:
         return
     label = self.tab_counter[idx]
     tooltip = common.Tooltips()
     if count is None:
         label.set_label('')
         tooltip.set_tip(label, '')
     else:
         tip = common.humanize(count)
         if count >= 1000:
             tip += '+'
         tooltip.set_tip(label, tip)
         fmt = '(%d)'
         if count > 99:
             fmt = '(%d+)'
             count = 99
         label.set_label(fmt % count)
示例#4
0
文件: widget.py 项目: wahhid/tryton
    def setter(self, column, cell, store, iter):
        record = store.get_value(iter, 0)
        field = record[self.attrs['name']]
        if hasattr(field, 'get_size'):
            size = field.get_size(record)
        else:
            size = len(field.get(record))
        cell.set_property('size', common.humanize(size) if size else '')

        states = ('invisible',)
        if getattr(self.view.treeview, 'editable', False):
            states = ('readonly', 'required', 'invisible')

        field.state_set(record, states=states)
        invisible = field.get_state_attrs(record).get('invisible', False)
        cell.set_property('visible', not invisible)

        if getattr(self.view.treeview, 'editable', False):
            readonly = self.attrs.get('readonly',
                field.get_state_attrs(record).get('readonly', False))
            if invisible:
                readonly = True
            cell.set_property('editable', not readonly)
示例#5
0
    def setter(self, column, cell, store, iter):
        record = store.get_value(iter, 0)
        field = record[self.attrs['name']]
        if hasattr(field, 'get_size'):
            size = field.get_size(record)
        else:
            size = len(field.get(record))
        cell.set_property('size', common.humanize(size) if size else '')

        states = ('invisible',)
        if getattr(self.view.treeview, 'editable', False):
            states = ('readonly', 'required', 'invisible')

        field.state_set(record, states=states)
        invisible = field.get_state_attrs(record).get('invisible', False)
        cell.set_property('visible', not invisible)

        if getattr(self.view.treeview, 'editable', False):
            readonly = self.attrs.get('readonly',
                field.get_state_attrs(record).get('readonly', False))
            if invisible:
                readonly = True
            cell.set_property('editable', not readonly)
示例#6
0
 def setter(self, column, cell, store, iter):
     record = store.get_value(iter, 0)
     size = record[self.field_name].get_size(record)
     cell.set_property('size', common.humanize(size) if size else '')
 def setter(self, column, cell, store, iter):
     record = store.get_value(iter, 0)
     size = record[self.field_name].get_size(record)
     cell.set_property('size', common.humanize(size) if size else '')