Plugins/VcsPlugins/vcsPySvn/SvnDiffDialog.py

branch
Py2 comp.
changeset 3484
645c12de6b0c
parent 3178
f25fc1364c88
parent 3190
a9a94491c4fd
child 3656
441956d8fce5
equal deleted inserted replaced
3456:96232974dcdb 3484:645c12de6b0c
161 elif os.path.exists('/tmp'): 161 elif os.path.exists('/tmp'):
162 tmpdir = '/tmp' 162 tmpdir = '/tmp'
163 else: 163 else:
164 E5MessageBox.critical( 164 E5MessageBox.critical(
165 self, 165 self,
166 self.trUtf8("Subversion Diff"), 166 self.tr("Subversion Diff"),
167 self.trUtf8("""There is no temporary directory available.""")) 167 self.tr("""There is no temporary directory available."""))
168 return 168 return
169 169
170 tmpdir = os.path.join(tmpdir, 'svn_tmp') 170 tmpdir = os.path.join(tmpdir, 'svn_tmp')
171 if not os.path.exists(tmpdir): 171 if not os.path.exists(tmpdir):
172 os.mkdir(tmpdir) 172 os.mkdir(tmpdir)
203 dname = e5App().getObject('Project').getRelativePath(dname) 203 dname = e5App().getObject('Project').getRelativePath(dname)
204 if dname: 204 if dname:
205 dname += "/" 205 dname += "/"
206 for name in fnames: 206 for name in fnames:
207 self.__showError( 207 self.__showError(
208 self.trUtf8("Processing file '{0}'...\n").format(name)) 208 self.tr("Processing file '{0}'...\n").format(name))
209 if urls is not None: 209 if urls is not None:
210 url1 = "{0}/{1}{2}".format(urls[0], dname, name) 210 url1 = "{0}/{1}{2}".format(urls[0], dname, name)
211 url2 = "{0}/{1}{2}".format(urls[1], dname, name) 211 url2 = "{0}/{1}{2}".format(urls[1], dname, name)
212 if summary: 212 if summary:
213 diff_summary = self.client.diff_summarize( 213 diff_summary = self.client.diff_summarize(
266 os.chdir(cwd) 266 os.chdir(cwd)
267 self.__finish() 267 self.__finish()
268 268
269 if self.paras == 0: 269 if self.paras == 0:
270 self.contents.insertPlainText( 270 self.contents.insertPlainText(
271 self.trUtf8('There is no difference.')) 271 self.tr('There is no difference.'))
272 return 272 return
273 273
274 self.buttonBox.button(QDialogButtonBox.Save).setEnabled(True) 274 self.buttonBox.button(QDialogButtonBox.Save).setEnabled(True)
275 275
276 def __appendText(self, line): 276 def __appendText(self, line):
335 tc = self.contents.textCursor() 335 tc = self.contents.textCursor()
336 tc.movePosition(QTextCursor.Start) 336 tc.movePosition(QTextCursor.Start)
337 self.contents.setTextCursor(tc) 337 self.contents.setTextCursor(tc)
338 self.contents.ensureCursorVisible() 338 self.contents.ensureCursorVisible()
339 339
340 self.filesCombo.addItem(self.trUtf8("<Start>"), 0) 340 self.filesCombo.addItem(self.tr("<Start>"), 0)
341 self.filesCombo.addItem(self.trUtf8("<End>"), -1) 341 self.filesCombo.addItem(self.tr("<End>"), -1)
342 for oldFile, newFile, pos in sorted(self.__fileSeparators): 342 for oldFile, newFile, pos in sorted(self.__fileSeparators):
343 if oldFile != newFile: 343 if oldFile != newFile:
344 self.filesCombo.addItem( 344 self.filesCombo.addItem(
345 "{0}\n{1}".format(oldFile, newFile), pos) 345 "{0}\n{1}".format(oldFile, newFile), pos)
346 else: 346 else:
415 else: 415 else:
416 fname = self.vcs.splitPath(self.filename)[0] 416 fname = self.vcs.splitPath(self.filename)[0]
417 417
418 fname, selectedFilter = E5FileDialog.getSaveFileNameAndFilter( 418 fname, selectedFilter = E5FileDialog.getSaveFileNameAndFilter(
419 self, 419 self,
420 self.trUtf8("Save Diff"), 420 self.tr("Save Diff"),
421 fname, 421 fname,
422 self.trUtf8("Patch Files (*.diff)"), 422 self.tr("Patch Files (*.diff)"),
423 None, 423 None,
424 E5FileDialog.Options(E5FileDialog.DontConfirmOverwrite)) 424 E5FileDialog.Options(E5FileDialog.DontConfirmOverwrite))
425 425
426 if not fname: 426 if not fname:
427 return # user aborted 427 return # user aborted
432 if ex: 432 if ex:
433 fname += ex 433 fname += ex
434 if QFileInfo(fname).exists(): 434 if QFileInfo(fname).exists():
435 res = E5MessageBox.yesNo( 435 res = E5MessageBox.yesNo(
436 self, 436 self,
437 self.trUtf8("Save Diff"), 437 self.tr("Save Diff"),
438 self.trUtf8("<p>The patch file <b>{0}</b> already exists." 438 self.tr("<p>The patch file <b>{0}</b> already exists."
439 " Overwrite it?</p>").format(fname), 439 " Overwrite it?</p>").format(fname),
440 icon=E5MessageBox.Warning) 440 icon=E5MessageBox.Warning)
441 if not res: 441 if not res:
442 return 442 return
443 fname = Utilities.toNativeSeparators(fname) 443 fname = Utilities.toNativeSeparators(fname)
444 444
447 f = open(fname, "w", encoding="utf-8", newline="") 447 f = open(fname, "w", encoding="utf-8", newline="")
448 f.write(eol.join(self.contents.toPlainText().splitlines())) 448 f.write(eol.join(self.contents.toPlainText().splitlines()))
449 f.close() 449 f.close()
450 except IOError as why: 450 except IOError as why:
451 E5MessageBox.critical( 451 E5MessageBox.critical(
452 self, self.trUtf8('Save Diff'), 452 self, self.tr('Save Diff'),
453 self.trUtf8( 453 self.tr(
454 '<p>The patch file <b>{0}</b> could not be saved.' 454 '<p>The patch file <b>{0}</b> could not be saved.'
455 '<br>Reason: {1}</p>') 455 '<br>Reason: {1}</p>')
456 .format(fname, str(why))) 456 .format(fname, str(why)))
457 457
458 def __showError(self, msg): 458 def __showError(self, msg):

eric ide

mercurial