Changeset 261f240e4c35…
Parent 350a863107ff…
by
Changes to one file · Browse files at 261f240e4c35 Showing diff from parent 350a863107ff Diff from another changeset...
|
|
@@ -83,6 +83,11 @@ self.construct_treeview()
self.pbar = pbar
+ def set_repo(self, repo, pbar=None):
+ self.repo = repo
+ self.pbar = pbar
+ self.set_author_color()
+
def search_in_tree(self, model, column, key, iter, data):
"""Searches all fields shown in the tree when the user hits crtr+f,
not just the ones that are set via tree.set_search_column.
@@ -101,6 +106,10 @@ return True
def create_log_generator(self, graphcol, pats, opts):
+ if self.repo is None:
+ self.grapher = None
+ return
+
if 'filehist' in opts:
self.grapher = filelog_grapher(self.repo, opts['filehist'])
elif graphcol:
@@ -136,6 +145,10 @@ """Fill the treeview with contents.
"""
stopped = False
+ if self.repo is None:
+ stopped = True
+ return False
+
try:
(rev, node, lines, parents) = self.grapher.next()
self.max_cols = max(self.max_cols, len(lines))
@@ -157,7 +170,8 @@
if not len(self.graphdata):
self.treeview.set_model(None)
- self.pbar.end()
+ if self.pbar is not None:
+ self.pbar.end()
self.emit('revisions-loaded')
return False
@@ -178,7 +192,8 @@ self.emit('revisions-loaded')
if revision is not None:
self.set_revision_id(revision[treemodel.REVID])
- self.pbar.end()
+ if self.pbar is not None:
+ self.pbar.end()
return False
def do_get_property(self, property):
@@ -216,12 +231,14 @@ def next_revision_batch(self, size):
self.batchsize = size
self.limit += self.batchsize
- self.pbar.begin()
+ if self.pbar is not None:
+ self.pbar.begin()
gobject.idle_add(self.populate)
def load_all_revisions(self):
self.limit = None
- self.pbar.begin()
+ if self.pbar is not None:
+ self.pbar.begin()
gobject.idle_add(self.populate)
def get_revision(self):
@@ -251,14 +268,33 @@ return self.get_property('parents')
def refresh(self, graphcol, pats, opts):
- self.repo.invalidate()
- self.repo.dirstate.invalidate()
- if len(self.repo.changelog) > 0:
- self.create_log_generator(graphcol, pats, opts)
- self.pbar.begin()
- gobject.idle_add(self.populate, self.get_revision())
- else:
- self.pbar.set_status_text('Repository is empty')
+ if self.repo is not None:
+ self.repo.invalidate()
+ self.repo.dirstate.invalidate()
+ if len(self.repo.changelog) > 0:
+ self.create_log_generator(graphcol, pats, opts)
+ if self.pbar is not None:
+ self.pbar.begin()
+ gobject.idle_add(self.populate, self.get_revision())
+ else:
+ self.pbar.set_status_text('Repository is empty')
+
+ def set_author_color(self):
+ # If user has configured authorcolor in [tortoisehg], color
+ # rows by author matches
+ self.author_pats = []
+ self.color_func = self.text_color_orig
+
+ if self.repo is not None:
+ for k, v in self.repo.ui.configitems('tortoisehg'):
+ if not k.startswith('authorcolor.'): continue
+ pat = k[12:]
+ self.author_pats.append((re.compile(pat, re.I), v))
+ if self.author_pats or self.repo.ui.configbool('tortoisehg',
+ 'authorcolor'):
+ self.color_func = self.text_color_author
+ else:
+ self.color_func = self.text_color_orig
def construct_treeview(self):
self.treeview = gtk.TreeView()
@@ -266,19 +302,7 @@ self.treeview.set_reorderable(False)
self.treeview.set_enable_search(True)
self.treeview.set_search_equal_func(self.search_in_tree, None)
-
- # If user has configured authorcolor in [tortoisehg], color
- # rows by author matches
- self.author_pats = []
- for k, v in self.repo.ui.configitems('tortoisehg'):
- if not k.startswith('authorcolor.'): continue
- pat = k[12:]
- self.author_pats.append((re.compile(pat, re.I), v))
- if self.author_pats or self.repo.ui.configbool('tortoisehg',
- 'authorcolor'):
- self.color_func = self.text_color_author
- else:
- self.color_func = self.text_color_orig
+ self.set_author_color()
# Fix old PyGTK (<1.12) bug - by JAM
set_tooltip = getattr(self.treeview, 'set_tooltip_column', None)
|
Loading...