Exemple #1
0
 def __init__(self, app, project, topic, callback=None):
     super(ProjectRow, self).__init__('',
                                      on_press=callback,
                                      user_data=(project.key, project.name))
     self.app = app
     self.mark = False
     self._style = None
     self.project_key = project.key
     if topic:
         self.topic_key = topic.key
         self.indent = '  '
     else:
         self.topic_key = None
         self.indent = ''
     self.project_name = project.name
     self.name = mywid.SearchableText('')
     self._setName(project.name, self.indent)
     self.name.set_wrap_mode('clip')
     self.unreviewed_changes = urwid.Text(u'', align=urwid.RIGHT)
     self.open_changes = urwid.Text(u'', align=urwid.RIGHT)
     col = urwid.Columns([
         self.name,
         ('fixed', 11, self.unreviewed_changes),
         ('fixed', 5, self.open_changes),
     ])
     self.row_style = urwid.AttrMap(col, '')
     self._w = urwid.AttrMap(self.row_style,
                             None,
                             focus_map=self.project_focus_map)
     self.update(project)
Exemple #2
0
    def __init__(self, app, context, old, new, callback=None):
        super(SideDiffLine, self).__init__('', on_press=callback)
        self.context = context
        self.text_widgets = []
        columns = []
        for (ln, action, line) in (old, new):
            if ln is None:
                ln = ''
            else:
                ln = '%*i' % (LN_COL_WIDTH - 1, ln)
            ln_col = urwid.Text(('line-number', ln))
            ln_col.set_wrap_mode('clip')
            line_col = mywid.SearchableText(line)
            self.text_widgets.append(line_col)

            if action == '':
                line_col = urwid.AttrMap(line_col, 'nonexistent')
            columns += [(LN_COL_WIDTH, ln_col), line_col]
        col = urwid.Columns(columns)
        map = {
            None: 'focused',
            'added-line': 'focused-added-line',
            'added-word': 'focused-added-word',
            'removed-line': 'focused-removed-line',
            'removed-word': 'focused-removed-word',
            'nonexistent': 'focused-nonexistent',
            'line-number': 'focused-line-number',
        }
        self._w = urwid.AttrMap(col, None, focus_map=map)
Exemple #3
0
 def __init__(self,
              app,
              pr,
              prefix,
              categories,
              enabled_columns,
              callback=None):
     super(PullRequestRow, self).__init__('',
                                          on_press=callback,
                                          user_data=pr.key)
     self.app = app
     self.pr_key = pr.key
     self.prefix = prefix
     self.enabled_columns = enabled_columns
     self.title = mywid.SearchableText(u'', wrap='clip')
     self.number = mywid.SearchableText(u'')
     self.updated = mywid.SearchableText(u'')
     self.size = mywid.SearchableText(u'', align='right')
     self.repository = mywid.SearchableText(u'', wrap='clip')
     self.author = mywid.SearchableText(u'', wrap='clip')
     self.branch = mywid.SearchableText(u'', wrap='clip')
     self.mark = False
     self.columns = urwid.Columns([], dividechars=1)
     self.row_style = urwid.AttrMap(self.columns, '')
     self._w = urwid.AttrMap(self.row_style,
                             None,
                             focus_map=self.pr_focus_map)
     self.category_columns = []
     self.update(pr, categories)
Exemple #4
0
 def __init__(self, app, context, oldnew, old, new, callback=None):
     super(UnifiedDiffLine, self).__init__('', on_press=callback)
     self.context = context
     self.oldnew = oldnew
     (old_ln, old_action, old_line) = old
     (new_ln, new_action, new_line) = new
     if old_ln is None:
         old_ln = ''
     else:
         old_ln = '%*i' % (LN_COL_WIDTH-1, old_ln)
     if new_ln is None:
         new_ln = ''
     else:
         new_ln = '%*i' % (LN_COL_WIDTH-1, new_ln)
     old_ln_col = urwid.Text(('line-number', old_ln))
     old_ln_col.set_wrap_mode('clip')
     new_ln_col = urwid.Text(('line-number', new_ln))
     new_ln_col.set_wrap_mode('clip')
     if oldnew == gitrepo.OLD:
         action = old_action
         line = old_line
         columns = [(LN_COL_WIDTH, old_ln_col), (LN_COL_WIDTH, urwid.Text(u''))]
     elif oldnew == gitrepo.NEW:
         action = new_action
         line = new_line
         columns = [(LN_COL_WIDTH, urwid.Text(u'')), (LN_COL_WIDTH, new_ln_col)]
     if new_action == ' ':
         columns = [(LN_COL_WIDTH, old_ln_col), (LN_COL_WIDTH, new_ln_col)]
     line_col = mywid.SearchableText(line)
     self.text_widget = line_col
     if action == '':
         line_col = urwid.AttrMap(line_col, 'nonexistent')
     columns += [line_col]
     col = urwid.Columns(columns)
     map = {None: 'focused',
            'added-line': 'focused-added-line',
            'added-word': 'focused-added-word',
            'removed-line': 'focused-removed-line',
            'removed-word': 'focused-removed-word',
            'nonexistent': 'focused-nonexistent',
            'line-number': 'focused-line-number',
            }
     self._w = urwid.AttrMap(col, None, focus_map=map)
Exemple #5
0
 def __init__(self, app, change, prefix, categories,
              enabled_columns, callback=None):
     super(ChangeRow, self).__init__('', on_press=callback, user_data=change.key)
     self.app = app
     self.change_key = change.key
     self.prefix = prefix
     self.enabled_columns = enabled_columns
     self.title = mywid.SearchableText(u'', wrap='clip')
     self.number = mywid.SearchableText(u'')
     self.updated = mywid.SearchableText(u'')
     self.size = mywid.SearchableText(u'', align='right')
     self.project = mywid.SearchableText(u'', wrap='clip')
     self.owner = mywid.SearchableText(u'', wrap='clip')
     self.branch = mywid.SearchableText(u'', wrap='clip')
     self.mark = False
     self.columns = urwid.Columns([], dividechars=1)
     self.row_style = urwid.AttrMap(self.columns, '')
     self._w = urwid.AttrMap(self.row_style, None, focus_map=self.change_focus_map)
     self.category_columns = []
     self.update(change, categories)