Kiln » TortoiseHg » TortoiseHg
Clone URL:  
Pushed to one repository · View In Graph Contained in 1.0, 1.0.1, and 1.0.2

history: migrate over to MenuBuilder

Closes #704

Changeset 7cd7d4d35154

Parent 5e09128dcad7

by Yuki KODAMA

Changes to one file · Browse files at 7cd7d4d35154 Showing diff from parent 5e09128dcad7 Diff from another changeset...

 
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
 
965
966
967
968
969
970
971
 
 
 
 
 
972
973
 
974
975
976
977
978
 
 
 
979
980
981
982
983
984
 
985
986
987
988
989
990
991
 
 
 
 
992
993
994
 
995
996
997
 
998
999
1000
 
1008
1009
1010
1011
1012
 
 
1013
1014
1015
1016
1017
 
 
1018
1019
1020
1021
1022
 
 
1023
1024
1025
1026
1027
 
 
 
1028
1029
1030
1031
1032
1033
1034
1035
1036
1037
 
 
 
 
 
 
 
1038
1039
1040
1041
 
 
1042
1043
1044
1045
1046
 
 
1047
1048
1049
1050
 
 
1051
1052
1053
1054
1055
 
 
 
 
 
 
1056
1057
1058
1059
1060
1061
1062
1063
 
 
1064
1065
1066
1067
1068
 
 
1069
1070
1071
1072
1073
1074
1075
 
1076
1077
1078
1079
1080
1081
1082
1083
 
 
 
 
 
 
1084
1085
1086
 
1089
1090
1091
1092
1093
1094
1095
 
 
 
 
1096
1097
 
1098
1099
1100
1101
1102
1103
1104
1105
1106
1107
1108
 
 
 
 
 
 
1109
1110
1111
 
1112
1113
1114
 
1119
1120
1121
1122
 
1123
1124
1125
1126
1127
 
 
1128
1129
1130
1131
1132
 
 
1133
1134
1135
1136
1137
 
 
1138
1139
1140
1141
 
 
1142
1143
 
1144
1145
1146
 
29
30
31
 
 
 
 
 
 
 
 
 
 
 
 
32
33
34
 
953
954
955
 
 
 
 
956
957
958
959
960
961
 
962
963
964
965
 
 
966
967
968
969
970
971
972
973
 
974
975
 
 
 
 
 
 
976
977
978
979
980
 
 
981
982
 
 
983
984
985
986
 
994
995
996
 
 
997
998
999
1000
1001
 
 
1002
1003
1004
1005
1006
 
 
1007
1008
1009
1010
 
 
 
1011
1012
1013
1014
1015
1016
1017
 
 
 
 
 
 
1018
1019
1020
1021
1022
1023
1024
1025
1026
 
 
1027
1028
1029
 
 
 
 
1030
1031
1032
 
 
 
1033
1034
1035
1036
 
 
 
1037
1038
1039
1040
1041
1042
1043
1044
1045
1046
1047
1048
 
 
1049
1050
1051
1052
1053
 
 
1054
1055
1056
1057
1058
 
 
 
 
1059
1060
1061
 
 
 
 
 
 
1062
1063
1064
1065
1066
1067
1068
1069
1070
 
1073
1074
1075
 
 
 
 
1076
1077
1078
1079
1080
 
1081
1082
1083
1084
1085
1086
 
 
 
 
 
 
1087
1088
1089
1090
1091
1092
1093
 
 
1094
1095
1096
1097
 
1102
1103
1104
 
1105
1106
1107
1108
 
 
1109
1110
1111
1112
1113
 
 
1114
1115
1116
1117
1118
 
 
1119
1120
1121
1122
 
 
1123
1124
1125
 
1126
1127
1128
1129
@@ -29,18 +29,6 @@
 from tortoisehg.hgtk import archive, changeset, thgconfig, thgmq, histdetails  from tortoisehg.hgtk import statusbar, bookmark, thgimport   -def create_menu(label, callback=None): - menuitem = gtk.MenuItem(label, True) - if callback: - menuitem.connect('activate', callback) - menuitem.set_border_width(1) - return menuitem - -def create_submenu(label, menu): - m = create_menu(label) - m.set_submenu(menu) - return m -  class FilterBox(gtklib.SlimToolbar):   'Filter Toolbar for repository log'   @@ -965,36 +953,34 @@
  self.filteropts = opts     def tree_context_menu(self): - m = gtklib.MenuItems() - m.append(create_menu(_('Visualize Change'), self.vdiff_change)) - m.append(create_menu(_('Di_splay Change'), self.show_status)) - m.append(create_menu(_('Diff to local'), self.vdiff_local)) + m = gtklib.MenuBuilder() + m.append(_('Visualize Change'), self.vdiff_change, + gtk.STOCK_JUSTIFY_FILL) + m.append(_('Di_splay Change'), self.show_status) + m.append(_('Diff to local'), self.vdiff_local)   m.append_sep() - m.append(create_menu(_('_Copy hash'), self.copy_hash)) + m.append(_('_Copy hash'), self.copy_hash, gtk.STOCK_COPY)   if self.bfile:   if self.currevid >= len(self.repo) - self.npreviews:   m.append_sep() - m.append(create_menu(_('Pull to here'), self.pull_to)) - menu = m.create_menu() + m.append(_('Pull to here'), self.pull_to, + gtk.STOCK_GOTO_BOTTOM) + menu = m.build()   menu.show_all()   return menu     if self.repo[self.currevid].node() in self.outgoing:   m.append_sep() - m.append(create_menu(_('Push to here'), self.push_to)) + m.append(_('Push to here'), self.push_to, gtk.STOCK_GOTO_TOP)   m.append_sep() - m.append(create_menu(_('_Update...'), self.checkout)) - cmenu_merge = create_menu(_('_Merge with...'), self.domerge) - m.append(cmenu_merge) - cmenu_backout = create_menu(_('Backout...'), self.backout_rev) - m.append(cmenu_backout) - m.append(create_menu(_('_Revert'), self.revert)) + m.append(_('_Update...'), self.checkout, 'menucheckout.ico') + mmerge = m.append(_('_Merge with...'), self.domerge, 'menumerge.ico') + mbackout = m.append(_('Backout...'), self.backout_rev, gtk.STOCK_UNDO) + m.append(_('_Revert'), self.revert, gtk.STOCK_MEDIA_REWIND)   m.append_sep() - m.append(create_submenu(_('Export'), - self.export_context_menu())) + m.append_submenu(_('Export'), self.export_context_menu(), gtk.STOCK_GO_FORWARD)   m.append_sep() - m.append(create_submenu(_('Tag'), - self.tags_context_menu())) + m.append_submenu(_('Tag'), self.tags_context_menu())   m.append_sep()     # disable/enable menus as required @@ -1008,79 +994,77 @@
  actx = cctx.ancestor(pctx)   can_merge = actx != pctx or pctx.branch() != cctx.branch()   can_backout = actx == cctx - cmenu_merge.set_sensitive(can_merge) - cmenu_backout.set_sensitive(can_backout) + mmerge.set_sensitive(can_merge) + mbackout.set_sensitive(can_backout)     # need mq extension for strip command   if 'mq' in self.exs: - m.append(create_submenu(_('Mercurial Queues'), - self.mq_context_menu())) + m.append_submenu(_('Mercurial Queues'), self.mq_context_menu(), + 'menupatch.ico')     # need transplant extension for transplant command   if 'transplant' in self.exs: - m.append(create_menu(_('Transp_lant to local'), - self.transplant_rev)) + m.append(_('Transp_lant to local'), self.transplant_rev, + gtk.STOCK_CONVERT)     m.append_sep() - m.append(create_submenu(_('Bisect'), - self.bisect_context_menu())) - menu = m.create_menu() + m.append_submenu(_('Bisect'), self.bisect_context_menu(), + gtk.STOCK_FIND) + menu = m.build()   menu.show_all()   return menu     def export_context_menu(self): - m = gtklib.MenuItems() - m.append(create_menu(_('_Export Patch...'), self.export_patch)) - m.append(create_menu(_('E_mail Patch...'), self.email_patch)) - m.append(create_menu(_('_Bundle rev:tip...'), self.bundle_rev_to_tip)) - m.append(create_menu(_('_Archive...'), self.archive)) - return m.create_menu() + m = gtklib.MenuBuilder() + m.append(_('_Export Patch...'), self.export_patch, 'menupatch.ico') + m.append(_('E_mail Patch...'), self.email_patch, gtk.STOCK_GOTO_LAST) + m.append(_('_Bundle rev:tip...'), self.bundle_rev_to_tip, + 'menurelocate.ico') + m.append(_('_Archive...'), self.archive, gtk.STOCK_SAVE) + return m.build()     def tags_context_menu(self): - m = gtklib.MenuItems() - m.append(create_menu(_('Add/Remove _Tag...'), self.add_tag)) + m = gtklib.MenuBuilder() + m.append(_('Add/Remove _Tag...'), self.add_tag)   if 'bookmarks' in self.exs: - m.append(create_menu(_('Add/Move/Remove B_ookmark...'), - self.add_bookmark)) - m.append(create_menu(_('Rename Bookmark...'), - self.rename_bookmark)) + m.append(_('Add/Move/Remove B_ookmark...'), self.add_bookmark) + m.append(_('Rename Bookmark...'), self.rename_bookmark)   if self.repo.ui.configbool('bookmarks', 'track.current'): - m.append(create_menu(_('Set Current Bookmark...'), - self.current_bookmark)) - return m.create_menu() + m.append(_('Set Current Bookmark...'), self.current_bookmark) + return m.build()     def mq_context_menu(self): - m = gtklib.MenuItems() - cmenu_qimport = create_menu(_('Import Revision to MQ'), self.qimport_rev) - cmenu_strip = create_menu(_('Strip Revision...'), self.strip_rev) + m = gtklib.MenuBuilder() + mqimport = m.append(_('Import Revision to MQ'), self.qimport_rev, + 'menuimport.ico') + mstrip = m.append(_('Strip Revision...'), self.strip_rev, + 'menudelete.ico') + m.append_sep()     try:   ctx = self.repo[self.currevid]   qbase = self.repo['qbase']   actx = ctx.ancestor(qbase)   if self.repo['qparent'] == ctx: - cmenu_qimport.set_sensitive(True) - cmenu_strip.set_sensitive(False) + mqimport.set_sensitive(True) + mstrip.set_sensitive(False)   elif actx == qbase or actx == ctx:   # we're in the mq revision range or the mq   # is a descendant of us - cmenu_qimport.set_sensitive(False) - cmenu_strip.set_sensitive(False) + mqimport.set_sensitive(False) + mstrip.set_sensitive(False)   except:   pass   - m.append_sep() - m.append(cmenu_qimport) - m.append(cmenu_strip) - return m.create_menu() + return m.build()     def bisect_context_menu(self): - m = gtklib.MenuItems() - m.append(create_menu(_('Reset'), self.bisect_reset)) - m.append(create_menu(_('Mark as good'), self.bisect_good)) - m.append(create_menu(_('Mark as bad'), self.bisect_bad)) - m.append(create_menu(_('Skip testing'), self.bisect_skip)) - return m.create_menu() + m = gtklib.MenuBuilder() + m.append(_('Reset'), self.bisect_reset, gtk.STOCK_CLEAR) + m.append(_('Mark as good'), self.bisect_good, gtk.STOCK_YES) + m.append(_('Mark as bad'), self.bisect_bad, gtk.STOCK_NO) + m.append(_('Skip testing'), self.bisect_skip, gtk.STOCK_MEDIA_FORWARD) + return m.build()     def restore_single_sel(self, widget, *args):   self.tree.get_selection().set_mode(gtk.SELECTION_SINGLE) @@ -1089,26 +1073,25 @@
  self.revrange = None     def tree_diff_context_menu(self): - m = gtklib.MenuItems() - m.append(create_menu(_('_Diff with selected'), self.diff_revs)) - m.append(create_menu(_('Visual Diff with selected'), - self.vdiff_selected)) + m = gtklib.MenuBuilder() + m.append(_('_Diff with selected'), self.diff_revs) + m.append(_('Visual Diff with selected'), self.vdiff_selected, + gtk.STOCK_JUSTIFY_FILL)   if self.bfile: - menu = m.create_menu() + menu = m.build()   menu.connect_after('selection-done', self.restore_single_sel)   menu.show_all()   return menu     m.append_sep() - m.append(create_menu(_('Email from here to selected...'), - self.email_revs)) - m.append(create_menu(_('Bundle from here to selected...'), - self.bundle_revs)) - m.append(create_menu(_('Export Patches from here to selected...'), - self.export_revs)) + m.append(_('Email from here to selected...'), self.email_revs, + gtk.STOCK_GOTO_LAST) + m.append(_('Bundle from here to selected...'), self.bundle_revs, + 'menurelocate.ico') + m.append(_('Export Patches from here to selected...'), + self.export_revs, gtk.STOCK_GO_FORWARD)   m.append_sep() - cmenu_merge = create_menu(_('_Merge with...'), self.domerge) - m.append(cmenu_merge) + mmerge = m.append(_('_Merge with...'), self.domerge, 'menumerge.ico')   m.append_sep()     # disable/enable menus as required @@ -1119,28 +1102,28 @@
  rev0, rev1 = self.revrange   c0, c1 = self.repo[rev0], self.repo[rev1]   can_merge = c0.branch() != c1.branch() or c0.ancestor(c1) != c1 - cmenu_merge.set_sensitive(can_merge) + mmerge.set_sensitive(can_merge)     # need transplant extension for transplant command   if 'transplant' in self.exs: - m.append(create_menu(_('Transplant Revision range to local'), - self.transplant_revs)) + m.append(_('Transplant Revision range to local'), + self.transplant_revs, gtk.STOCK_CONVERT)     # need rebase extension for rebase command   if 'rebase' in self.exs: - m.append(create_menu(_('Rebase on top of selected'), - self.rebase_selected)) + m.append(_('Rebase on top of selected'), self.rebase_selected, + gtk.STOCK_CUT)     # need MQ extension for qimport command   if 'mq' in self.exs: - m.append(create_menu(_('Import from here to selected to MQ'), - self.qimport_revs)) + m.append(_('Import from here to selected to MQ'), + self.qimport_revs, 'menuimport.ico')     m.append_sep() - m.append(create_menu(_('Select common ancestor revision'), - self.select_common_ancestor)) + m.append(_('Select common ancestor revision'), + self.select_common_ancestor, gtk.STOCK_JUMP_TO)   - menu = m.create_menu() + menu = m.build()   menu.connect_after('selection-done', self.restore_single_sel)   menu.show_all()   return menu