by
Changes to 4 files · Browse files at 03f5c5af8623 Showing diff from parent 0089c2bc75b8 0cd48f6b7d34 Diff from another changeset...
|
@@ -0,0 +1,8 @@ + <Include>
+ <?define TOverlaysVersion = 1.1.1.19039 ?>
+ <?define TOverlaysSrcDir = ..\contrib\TortoiseOverlays ?>
+ <?define TOverlaysSrcFilenameX86 = TortoiseOverlays-$(var.TOverlaysVersion)-win32.msm ?>
+ <?define TOverlaysSrcFilenameX64 = TortoiseOverlays-$(var.TOverlaysVersion)-x64.msm ?>
+
+ <?define TOverlaysRegistryKey = Software\TortoiseOverlays ?>
+</Include>
|
@@ -17,12 +17,7 @@
<?define ProgramRegKey = Software\TortoiseHg ?>
- <?define TOverlaysVersion = 1.1.0.18991 ?>
- <?define TOverlaysSrcDir = ..\contrib\TortoiseOverlays ?>
- <?define TOverlaysSrcFilenameX86 = TortoiseOverlays-$(var.TOverlaysVersion)-win32.msm ?>
- <?define TOverlaysSrcFilenameX64 = TortoiseOverlays-$(var.TOverlaysVersion)-x64.msm ?>
-
- <?define TOverlaysRegistryKey = Software\TortoiseOverlays ?>
+ <?include TortoiseOverlaysDefines.wxi ?>
<!-- shell extension CLSID's -->
<?include ../../win32/shellext/ThgCLSIDs.wxi ?>
|
@@ -309,7 +309,10 @@ extra = ctx.extra()
cvt = extra.get('convert_revision', '')
if cvt.startswith('svn:'):
- return cvt.split('/', 1)[-1]
+ result = cvt.split('/', 1)[-1]
+ if cvt != result:
+ return result
+ return cvt.split('@')[-1]
else:
return None
elif item == 'ishead':
|
@@ -48,6 +48,7 @@ gtklib.SlimToolbar.__init__(self, tooltips)
self.filter_mode = filter_mode
self.buttons = {}
+ self.handlers = {}
self.all = gtk.RadioButton(None, _('All'))
self.all.set_active(True)
@@ -85,9 +86,7 @@ self.buttons['branch'] = self.branches
self.branchcombo = gtk.combo_box_new_text()
- self.branchcombo.append_text(_('Branches...'))
- for name in branch_names:
- self.branchcombo.append_text(name)
+ self.refresh(branch_names)
self.branchcombo.set_active(0)
self.append_widget(self.branchcombo, padding=0)
@@ -127,9 +126,46 @@ widget = self.__dict__[widget_name]
widget.connect(signal, handler, *opts)
+ if not self.handlers.has_key(widget_name):
+ self.handlers[widget_name] = []
+ self.handlers[widget_name].append(handler)
+
def get_button(self, type):
return self.buttons.get(type)
+ def refresh(self, branch_names):
+ ''' refresh branch names in drop-down list '''
+ # block all handlers
+ if self.handlers.has_key('branchcombo'):
+ handlers = self.handlers['branchcombo']
+ for handler in handlers:
+ self.branchcombo.handler_block_by_func(handler)
+ else:
+ handlers = ()
+
+ # save selected item
+ text = self.branchcombo.get_active_text()
+
+ # refresh branch names
+ self.branchcombo.get_model().clear()
+ self.branchcombo.append_text(_('Branches...'))
+ for name in branch_names:
+ self.branchcombo.append_text(name)
+
+ # try to restore previously selected item
+ for row in self.branchcombo.get_model():
+ if row[0] == text:
+ self.branchcombo.set_active_iter(row.iter)
+ break
+ else:
+ # fallback to 'All' filter if no matches
+ self.branchcombo.set_active(0)
+ self.all.set_active(True)
+
+ # unblock all handlers
+ for handler in handlers:
+ self.branchcombo.handler_unblock_by_func(handler)
+
class GLog(gdialog.GWindow):
'GTK+ based dialog for displaying repository logs'
def init(self):
@@ -1177,6 +1213,9 @@ 'count': ncount, 'total': ntotal}
self.stbar.set_text(mq_text, name='mq')
+ # refresh filterbar
+ self.filterbar.refresh(hglib.getlivebranch(self.repo))
+
# refresh pbranch widget if exists
if hasattr(self, 'pbranchwidget'):
self.pbranchwidget.refresh()
|
Loading...