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

gtklib: Add Open argument to native save dialog class

Seemed less bad than copying the entire dialog for a two
line difference. I don't care much for the capitalized options,
but it's too late to fix them all now.

Changeset 6955c0522738

Parent 07b233df91ce

by Steve Borho

Changes to one file · Browse files at 6955c0522738 Showing diff from parent 07b233df91ce Diff from another changeset...

Change 1 of 4 Show Entire File hggtk/​gtklib.py Stacked
 
174
175
176
177
 
 
178
179
180
 
182
183
184
 
185
186
187
 
197
198
199
200
201
202
203
204
205
206
207
208
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
209
210
211
 
214
215
216
217
218
 
 
 
 
 
219
220
221
 
174
175
176
 
177
178
179
180
181
 
183
184
185
186
187
188
189
 
199
200
201
 
 
 
 
 
 
 
 
 
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
 
227
228
229
 
 
230
231
232
233
234
235
236
237
@@ -174,7 +174,8 @@
  """Wrap the windows file dialog, or display default gtk dialog if   that isn't available"""   def __init__(self, InitialDir = None, Title = _('Save File'), - Filter = (_("All files"), "*.*"), FilterIndex = 1, FileName = ''): + Filter = (_("All files"), "*.*"), FilterIndex = 1, + FileName = '', Open=False):   if InitialDir == None:   InitialDir = os.path.expanduser("~")   self.InitialDir = InitialDir @@ -182,6 +183,7 @@
  self.Title = Title   self.Filter = Filter   self.FilterIndex = FilterIndex + self.Open = Open     def run(self):   """run the file dialog, either return a file name, or False if @@ -197,15 +199,26 @@
  cwd = os.getcwd()   fname = None   try: - fname, customfilter, flags=win32gui.GetSaveFileNameW( - InitialDir=self.InitialDir, - Flags=win32con.OFN_EXPLORER, - File=self.FileName, - DefExt=None, - Title=hglib.fromutf(self.Title), - Filter= hglib.fromutf('\0'.join(self.Filter)+'\0'), - CustomFilter=None, - FilterIndex=self.FilterIndex) + if self.Open: + fname, customfilter, flags=win32gui.GetOpenFileNameW( + InitialDir=self.InitialDir, + Flags=win32con.OFN_EXPLORER, + File=self.FileName, + DefExt=None, + Title=hglib.fromutf(self.Title), + Filter= hglib.fromutf('\0'.join(self.Filter)+'\0'), + CustomFilter=None, + FilterIndex=self.FilterIndex) + else: + fname, customfilter, flags=win32gui.GetSaveFileNameW( + InitialDir=self.InitialDir, + Flags=win32con.OFN_EXPLORER, + File=self.FileName, + DefExt=None, + Title=hglib.fromutf(self.Title), + Filter= hglib.fromutf('\0'.join(self.Filter)+'\0'), + CustomFilter=None, + FilterIndex=self.FilterIndex)   if fname:   fname = os.path.abspath(fname)   except pywintypes.error: @@ -214,8 +227,11 @@
  return fname     def runCompatible(self): - file_save = gtk.FileChooserDialog(self.Title, None, - gtk.FILE_CHOOSER_ACTION_SAVE, + if self.Open: + action = gtk.FILE_CHOOSER_ACTION_OPEN + else: + action = gtk.FILE_CHOOSER_ACTION_SAVE + file_save = gtk.FileChooserDialog(self.Title, None, action,   (gtk.STOCK_CANCEL, gtk.RESPONSE_CANCEL,   gtk.STOCK_SAVE, gtk.RESPONSE_OK))   file_save.set_do_overwrite_confirmation(True)