Kiln » TortoiseHg » TortoiseHg
Clone URL:  
Pushed to one repository · View In Graph Contained in 0.8, 0.8.1, and 0.8.2

menuthg: correct a lot of errors

Correct errors found while (trying to) executing in nautilus

Changeset f6a397353007

Parent 52e07225b8aa

by Simon Heimberg

Changes to one file · Browse files at f6a397353007 Showing diff from parent 52e07225b8aa Diff from another changeset...

 
25
26
27
28
29
 
 
30
31
32
 
 
33
34
35
36
37
38
 
39
40
41
 
51
52
53
54
55
 
 
56
57
58
59
60
61
 
 
62
63
64
 
 
 
 
 
 
 
 
 
 
 
 
 
 
65
66
67
 
78
79
80
81
 
 
 
 
82
83
84
 
117
118
119
120
121
 
 
 
 
122
123
124
 
 
 
 
 
 
 
 
125
126
127
 
140
141
142
143
 
144
145
146
147
148
 
149
150
151
 
162
163
164
165
 
166
167
168
169
170
 
 
171
172
173
 
183
184
185
186
 
187
188
189
 
269
270
271
 
 
25
26
27
 
 
28
29
30
 
 
31
32
33
34
35
36
37
 
38
39
40
41
 
51
52
53
 
 
54
55
56
57
58
59
 
 
60
61
62
 
 
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
 
90
91
92
 
93
94
95
96
97
98
99
 
132
133
134
 
 
135
136
137
138
139
140
 
141
142
143
144
145
146
147
148
149
150
151
 
164
165
166
 
167
168
169
170
171
 
172
173
174
175
 
186
187
188
 
189
190
191
192
 
 
193
194
195
196
197
 
207
208
209
 
210
211
212
213
 
293
294
295
296
@@ -25,17 +25,17 @@
  self.state = state   self.icon = icon   - def isSubmenu(): - return false + def isSubmenu(self): + return False   - def isSep(): - return false + def isSep(self): + return False      class TortoiseSubmenu(TortoiseMenu):     def __init__(self, menutext, helptext, menus=[], icon=None): - TortoiseMenu.__init(self, menutext, helptext, None, icon) + TortoiseMenu.__init__(self, menutext, helptext, None, icon)   self.menus = menus[:]     def add_menu(self, menutext, helptext, handler, icon=None, state=True): @@ -51,17 +51,29 @@
  def append(self, entry):   self.menus.append(entry)   - def isSubmenu(): - return true + def isSubmenu(self): + return True      class TortoiseMenuSep(object):   - def isSubmenu(): - return false + def isSubmenu(self): + return False   - def isSep(): - return true + def isSep(self): + return True + + +def open_repo(path): + root = find_root(path) + if root: + try: + repo = hg.repository(ui.ui(), path=root) + return repo + except RepoError: + pass + + return None      class menuThg: @@ -78,7 +90,10 @@
  Commands are instances of TortoiseMenu, TortoiseMenuSep or TortoiseMenu   """   - print "_get_commands_dragdrop() on %s" % ", ".join(self._filenames) + try: + print "_get_commands_dragdrop() on %s" % ", ".join(files) + except: + print "_get_commands_dragdrop() on some files"     # we can only accept dropping one item   if len(srcfiles) > 1: @@ -117,11 +132,20 @@
    Commands are instances of TortoiseMenu, TortoiseMenuSep or TortoiseMenu   """ - - print "_get_commands() on %s" % ", ".join(self._filenames) + try: + print "_get_commands() on %s" % ", ".join(files) + except: + print "_get_commands() on some files"     # open repo - repo = open_repo(files[0]) + if type(files) != list: + files = [files] + if not files: + return [] + rpath = files[0] + repo = open_repo(rpath) + + thgmenu = []     if repo:   thgmenu.append(TortoiseMenu(_("HG Commit..."), @@ -140,12 +164,12 @@
  state=os.path.isdir(rpath)))   else:   - for f in self._filenames: + for f in files:   if f.endswith('.hgignore'):   menu.append(TortoiseMenu(_("Modify ignore filter"),   _("Modify repository ignore filter"),   self.handlers._hgignore, icon="general.ico")) # needs ico - break + break     menu.append(TortoiseMenu(_("View File Status"),   _("Repository status"), @@ -162,12 +186,12 @@
  self.handlers._vdiff, icon="TortoiseMerge.ico",   state=has_vdiff))   - if len(self._filenames) == 0: + if len(files) == 0:   menu.append(TortoiseMenu(_("Guess Renames"),   _("Detect renames and copies"),   self.handlers._guess_rename, icon="general.ico")) # needs ico - elif len(self._filenames) == 1: - result.append(TortoiseMenu(_("Rename file"), + elif len(files) == 1: + menu.append(TortoiseMenu(_("Rename file"),   _("Rename file or directory"),   self.handlers._rename, icon="general.ico")) # needs ico   @@ -183,7 +207,7 @@
    # we can only annotate file but not directories   annotatible = len(files) > 0 - for f in self._filenames: + for f in files:   if not os.path.isfile(f):   annotatible = False   break @@ -269,3 +293,4 @@
  thgmenu.append(menu)   thgmenu.append(TortoiseMenuSep())   return thgmenu +