Changeset 263c67a126cf…
Parent 1cf89f23fd4d…
by
Changes to 2 files · Browse files at 263c67a126cf Showing diff from parent 1cf89f23fd4d Diff from another changeset...
@@ -86,17 +86,6 @@ 'Filename': lambda ctx, gnode: gnode.extra[0],
}
-# in following lambdas, r is a hg repo
-_maxwidth = {'ID': lambda self, r: str(len(r)),
- 'Date': lambda self, r: cvrt_date(r[None].date()),
- 'Tags': lambda self, r: sorted(r.tags().keys(),
- key=lambda x: len(x))[-1][:10],
- 'Branch': lambda self, r: sorted(r.branchtags().keys(),
- key=lambda x: len(x))[-1],
- 'Author': lambda self, r: 'author name', # TODO get actual max
- 'Filename': lambda self, r: self.filename,
- }
-
def datacached(meth):
"""
decorator used to cache 'data' method of Qt models. It will *not*
@@ -252,13 +241,29 @@ def columnCount(self, parent=None):
return len(self._columns)
- def maxWidthValueForColumn(self, column):
- column = self._columns[column]
- try:
- if column in _maxwidth:
- return _maxwidth[column](self, self.repo)
- except IndexError:
- pass
+ def maxWidthValueForColumn(self, col):
+ column = self._columns[col]
+ if column == 'ID':
+ return str(len(self.repo))
+ if column == 'Date':
+ return cvrt_date(self.repo[None].date())
+ if column == 'Tags':
+ try:
+ return sorted(r.tags().keys(), key=lambda x: len(x))[-1][:10]
+ except IndexError:
+ pass
+ if column == 'Branch':
+ try:
+ return sorted(r.branchtags().keys(), key=lambda x: len(x))[-1]
+ except IndexError:
+ pass
+ if column == 'Author':
+ return 'author name' # TODO get actual max
+ if column == 'Filename':
+ return self.filename
+ if column == 'Graph':
+ return self.col2x(self.graph.max_cols)
+ # Fall through for Log
return None
def user_color(self, user):
|
@@ -213,7 +213,9 @@ tot_stretch += model._stretchs[model._columns[c]]
continue
w = model.maxWidthValueForColumn(c)
- if w is not None:
+ if isinstance(w, int):
+ self.setColumnWidth(c, w)
+ elif w is not None:
w = fontm.width(unicode(w) + 'w')
self.setColumnWidth(c, w)
else:
|
Loading...