by
Changes to 3 files · Browse files at 3039e50ebdd7 Showing diff from parent ab5013fcd3c6 c21176c29016 Diff from another changeset...
@@ -176,7 +176,7 @@ def save_settings(self):
settings = {}
rect = self.get_allocation()
- if self.ismaximized:
+ if self.ismaximized or self.isiconified:
settings['gdialog-rect'] = self._setting_defsize
settings['gdialog-pos'] = self._setting_winpos
else:
@@ -297,6 +297,11 @@ self.ismaximized = True
else:
self.ismaximized = False
+ if event.changed_mask & gtk.gdk.WINDOW_STATE_ICONIFIED:
+ if event.new_window_state & gtk.gdk.WINDOW_STATE_ICONIFIED:
+ self.isiconified = True
+ else:
+ self.isiconified = False
def setfocus(self, window, event):
self.lastpos = self.get_position()
@@ -307,6 +312,7 @@ gtklib.set_tortoise_keys(self)
self.ismaximized = False
+ self.isiconified = False
self.lastpos = self._setting_winpos
self.connect('window-state-event', self.windowstate)
self.connect('set-focus', self.setfocus)
|
@@ -419,6 +419,8 @@ self.email_revs))
m.append(create_menu(_('bundle from here to selected'),
self.bundle_revs))
+ self.cmenu_merge2 = create_menu(_('_merge with'), self.merge)
+ m.append(self.cmenu_merge2)
m.connect_after('selection-done', self.restore_original_selection)
m.show_all()
return m
@@ -708,6 +710,8 @@ dialog.set_transient_for(None)
def checkout_completed(self, oldparents):
+ self.repo.invalidate()
+ self.repo.dirstate.invalidate()
newparents = [x.node() for x in self.repo.parents()]
if not oldparents == newparents:
self.refresh_model()
@@ -715,16 +719,23 @@ def merge(self, menuitem):
rev = self.currow[treemodel.REVID]
parents = [x.node() for x in self.repo.parents()]
+ if rev == self.repo.parents()[0].rev():
+ rev = self.revs[1]
dialog = merge.MergeDialog(rev)
dialog.set_transient_for(self)
dialog.show_all()
- dialog.set_notify_func(self.merge_completed, parents)
+ dialog.set_notify_func(self.merge_completed, parents, len(self.repo))
dialog.present()
dialog.set_transient_for(None)
- def merge_completed(self, oldparents):
+ def merge_completed(self, args):
+ self.repo.invalidate()
+ self.repo.dirstate.invalidate()
+ oldparents, repolen = args
newparents = [x.node() for x in self.repo.parents()]
- if not oldparents == newparents:
+ if len(self.repo) != repolen:
+ self.reload_log()
+ elif not oldparents == newparents:
self.refresh_model()
def selection_changed(self, treeview):
@@ -779,6 +790,13 @@ return True
def tree_popup_menu_diff(self, treeview, button=0, time=0):
+ selrev = self.revs[0]
+
+ # disable/enable menus as required
+ parents = [x.rev() for x in self.repo.parents()]
+ can_merge = selrev in parents and len(parents) < 2
+ self.cmenu_merge2.set_sensitive(can_merge)
+
# display the context menu
self._menu2.popup(None, None, None, button, time)
return True
|
@@ -123,6 +123,9 @@ dlg = hgcmd.CmdDialog(cmdline)
dlg.run()
dlg.hide()
+ repo = hg.repository(ui.ui(), path=paths.find_root())
+ if len(repo.parents()) == 1:
+ return
if self.notify_func:
self.notify_func(self.notify_args)
button.set_sensitive(False)
|
Loading...