# HG changeset patch # User Yuki KODAMA <endflow....@gmail.com> # Date 1254225272 -32400 # Node ID 8e34dc69eebf0e3454104ed5d0717476b8dd1255 # Parent c65da5ef30cb4216c74ec4c2c21c8f289575e801 history, synch: fix focus issues
The workaround by 'set_transient_for(None)' was introduced for old PyGTK (< 2.12.0). Now we are shipping the installer with PyGTK 2.12.1, so it should be applied for only old PyGTK. diff --git a/tortoisehg/hgtk/history.py b/tortoisehg/hgtk/history.py --- a/tortoisehg/hgtk/history.py +++ b/tortoisehg/hgtk/history.py @@ -1098,6 +1098,15 @@ self.changeview._buffer.set_text('') self.changeview._filelist.clear() + def show_dialog(self, dlg): + dlg.set_transient_for(self) + dlg.show_all() + dlg.present() + if gtk.pygtk_version < (2, 12, 0): + # Workaround for old PyGTK (< 2.12.0) issue. + # See background of this: f668034aeda3 + dlg.set_transient_for(None) + def backout_rev(self, menuitem): oldlen = len(self.repo) hash = str(self.repo[self.currevid]) @@ -1123,11 +1132,8 @@ dlg.display() dlg = backout.BackoutDialog(hash) - dlg.set_transient_for(self) dlg.connect('destroy', refresh) - dlg.show_all() - dlg.present() - dlg.set_transient_for(None) + self.show_dialog(dlg) def revert(self, menuitem): rev = self.currevid @@ -1170,10 +1176,7 @@ revrange.sort() opts = ['--rev', str(revrange[0]) + ':' + str(revrange[1])] dlg = hgemail.EmailDialog(self.repo.root, opts) - dlg.set_transient_for(self) - dlg.show_all() - dlg.present() - dlg.set_transient_for(None) + self.show_dialog(dlg) def export_revs(self, menuitem): result = gtklib.NativeFolderSelectDialog(title=_('Save patches to'), @@ -1280,11 +1283,8 @@ self.refresh_model() dialog = tagadd.TagAddDialog(self.repo, rev=str(rev)) - dialog.set_transient_for(self) dialog.connect('destroy', refresh) - dialog.show_all() - dialog.present() - dialog.set_transient_for(None) + self.show_dialog(dialog) def show_status(self, menuitem): rev = self.currevid @@ -1361,20 +1361,14 @@ def email_patch(self, menuitem): rev = self.currevid dlg = hgemail.EmailDialog(self.repo.root, ['--rev', str(rev)]) - dlg.set_transient_for(self) - dlg.show_all() - dlg.present() - dlg.set_transient_for(None) + self.show_dialog(dlg) def checkout(self, menuitem): rev = self.currevid parents = [x.node() for x in self.repo.parents()] dialog = update.UpdateDialog(rev) - dialog.set_transient_for(self) - dialog.show_all() dialog.set_notify_func(self.checkout_completed, parents) - dialog.present() - dialog.set_transient_for(None) + self.show_dialog(dialog) def checkout_completed(self, oldparents): self.repo.invalidate() @@ -1389,11 +1383,8 @@ if rev == self.repo.parents()[0].rev(): rev = self.revrange[1] dialog = merge.MergeDialog(rev) - dialog.set_transient_for(self) - dialog.show_all() dialog.set_notify_func(self.merge_completed, parents, len(self.repo)) - dialog.present() - dialog.set_transient_for(None) + self.show_dialog(dlg) def merge_completed(self, args): self.repo.invalidate() @@ -1409,10 +1400,7 @@ rev = self.currevid parents = [x.node() for x in self.repo.parents()] dialog = archive.ArchiveDialog(rev) - dialog.set_transient_for(self) - dialog.show_all() - dialog.present() - dialog.set_transient_for(None) + self.show_dialog(dlg) def transplant_rev(self, menuitem): """Transplant selection on top of current revision.""" diff --git a/tortoisehg/hgtk/synch.py b/tortoisehg/hgtk/synch.py --- a/tortoisehg/hgtk/synch.py +++ b/tortoisehg/hgtk/synch.py @@ -301,6 +301,16 @@ in enumerate(self.ppulldata) if name == 'none'][0] self.ppullcombo.set_active(pos) + def show_dialog(self, dlg): + # copy from history.py + dlg.set_transient_for(self) + dlg.show_all() + dlg.present() + if gtk.pygtk_version < (2, 12, 0): + # Workaround for old PyGTK (< 2.12.0) issue. + # See background of this: f668034aeda3 + dlg.set_transient_for(None) + def fill_path_combo(self): self.pathlist.clear() for alias, path in self.paths: @@ -365,10 +375,7 @@ wc = self.repo[None] dialog = update.UpdateDialog(wc.branch()) dialog.set_notify_func(update_notify, None) - dialog.set_transient_for(self) - dialog.show_all() - dialog.present() - dialog.set_transient_for(None) + self.show_dialog(dialog) def get_paths(self, sort="value"): """ retrieve symbolic paths """ @@ -517,10 +524,7 @@ if rev: opts.extend(rev) dlg = hgemail.EmailDialog(self.root, opts) - dlg.set_transient_for(self) - dlg.show_all() - dlg.present() - dlg.set_transient_for(None) + self.show_dialog(dlg) def shelve_clicked(self, toolbutton, data=None): dlg = thgshelve.run(self.ui)
thg-kuy_rev4269.patch
Description: Binary data
------------------------------------------------------------------------------ Come build with us! The BlackBerry® Developer Conference in SF, CA is the only developer event you need to attend this year. Jumpstart your developing skills, take BlackBerry mobile applications to market and stay ahead of the curve. Join us from November 9-12, 2009. Register now! http://p.sf.net/sfu/devconf
_______________________________________________ Tortoisehg-develop mailing list Tortoisehg-develop@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/tortoisehg-develop