Plugins/VcsPlugins/vcsPySvn/SvnDiffDialog.py

changeset 4072
46fb585f60f2
parent 4065
8e81259fb739
child 4110
5a106c734527
equal deleted inserted replaced
4069:5d46da4c2ce5 4072:46fb585f60f2
42 """ 42 """
43 super(SvnDiffDialog, self).__init__(parent) 43 super(SvnDiffDialog, self).__init__(parent)
44 self.setupUi(self) 44 self.setupUi(self)
45 SvnDialogMixin.__init__(self) 45 SvnDialogMixin.__init__(self)
46 46
47 self.refreshButton = self.buttonBox.addButton(
48 self.tr("Refresh"), QDialogButtonBox.ActionRole)
49 self.refreshButton.setToolTip(
50 self.tr("Press to refresh the display"))
51 self.refreshButton.setEnabled(False)
47 self.buttonBox.button(QDialogButtonBox.Save).setEnabled(False) 52 self.buttonBox.button(QDialogButtonBox.Save).setEnabled(False)
48 self.buttonBox.button(QDialogButtonBox.Close).setEnabled(False) 53 self.buttonBox.button(QDialogButtonBox.Close).setEnabled(False)
49 self.buttonBox.button(QDialogButtonBox.Cancel).setDefault(True) 54 self.buttonBox.button(QDialogButtonBox.Cancel).setDefault(True)
50 55
51 self.searchWidget.attachTextEdit(self.contents) 56 self.searchWidget.attachTextEdit(self.contents)
115 elif summaryKind == pysvn.diff_summarize_kind.normal: 120 elif summaryKind == pysvn.diff_summarize_kind.normal:
116 return "N" 121 return "N"
117 else: 122 else:
118 return " " 123 return " "
119 124
120 def start(self, fn, versions=None, urls=None, summary=False, pegRev=None): 125 def start(self, fn, versions=None, urls=None, summary=False, pegRev=None,
126 refreshable=False):
121 """ 127 """
122 Public slot to start the svn diff command. 128 Public slot to start the svn diff command.
123 129
124 @param fn filename to be diffed (string) 130 @param fn filename to be diffed (string)
125 @param versions list of versions to be diffed (list of up to 2 integer 131 @param versions list of versions to be diffed (list of up to 2 integer
126 or None) 132 or None)
127 @keyparam urls list of repository URLs (list of 2 strings) 133 @keyparam urls list of repository URLs (list of 2 strings)
128 @keyparam summary flag indicating a summarizing diff 134 @keyparam summary flag indicating a summarizing diff
129 (only valid for URL diffs) (boolean) 135 (only valid for URL diffs) (boolean)
130 @keyparam pegRev revision number the filename is valid (integer) 136 @keyparam pegRev revision number the filename is valid (integer)
131 """ 137 @keyparam refreshable flag indicating a refreshable diff (boolean)
138 """
139 self.refreshButton.setVisible(refreshable)
140
132 self.buttonBox.button(QDialogButtonBox.Save).setEnabled(False) 141 self.buttonBox.button(QDialogButtonBox.Save).setEnabled(False)
133 self.buttonBox.button(QDialogButtonBox.Close).setEnabled(False) 142 self.buttonBox.button(QDialogButtonBox.Close).setEnabled(False)
134 self.buttonBox.button(QDialogButtonBox.Cancel).setEnabled(True) 143 self.buttonBox.button(QDialogButtonBox.Cancel).setEnabled(True)
135 self.buttonBox.button(QDialogButtonBox.Cancel).setDefault(True) 144 self.buttonBox.button(QDialogButtonBox.Cancel).setDefault(True)
136 145
328 """ 337 """
329 Private slot called when the user pressed the button. 338 Private slot called when the user pressed the button.
330 """ 339 """
331 QApplication.restoreOverrideCursor() 340 QApplication.restoreOverrideCursor()
332 341
342 self.refreshButton.setEnabled(True)
333 self.buttonBox.button(QDialogButtonBox.Cancel).setEnabled(False) 343 self.buttonBox.button(QDialogButtonBox.Cancel).setEnabled(False)
344 self.buttonBox.button(QDialogButtonBox.Close).setEnabled(True)
334 self.buttonBox.button(QDialogButtonBox.Close).setEnabled(True) 345 self.buttonBox.button(QDialogButtonBox.Close).setEnabled(True)
335 self.buttonBox.button(QDialogButtonBox.Close).setDefault(True) 346 self.buttonBox.button(QDialogButtonBox.Close).setDefault(True)
336 347
337 tc = self.contents.textCursor() 348 tc = self.contents.textCursor()
338 tc.movePosition(QTextCursor.Start) 349 tc.movePosition(QTextCursor.Start)
360 self.close() 371 self.close()
361 elif button == self.buttonBox.button(QDialogButtonBox.Cancel): 372 elif button == self.buttonBox.button(QDialogButtonBox.Cancel):
362 self.__finish() 373 self.__finish()
363 elif button == self.buttonBox.button(QDialogButtonBox.Save): 374 elif button == self.buttonBox.button(QDialogButtonBox.Save):
364 self.on_saveButton_clicked() 375 self.on_saveButton_clicked()
365 376 elif button == self.refreshButton:
377 self.on_refreshButton_clicked()
378
366 @pyqtSlot(int) 379 @pyqtSlot(int)
367 def on_filesCombo_activated(self, index): 380 def on_filesCombo_activated(self, index):
368 """ 381 """
369 Private slot to handle the selection of a file. 382 Private slot to handle the selection of a file.
370 383
455 self.tr( 468 self.tr(
456 '<p>The patch file <b>{0}</b> could not be saved.' 469 '<p>The patch file <b>{0}</b> could not be saved.'
457 '<br>Reason: {1}</p>') 470 '<br>Reason: {1}</p>')
458 .format(fname, str(why))) 471 .format(fname, str(why)))
459 472
473 @pyqtSlot()
474 def on_refreshButton_clicked(self):
475 """
476 Private slot to refresh the display.
477 """
478 self.buttonBox.button(QDialogButtonBox.Close).setEnabled(False)
479
480 self.buttonBox.button(QDialogButtonBox.Save).setEnabled(False)
481 self.refreshButton.setEnabled(False)
482
483 self.start(self.filename, refreshable=True)
484
460 def __showError(self, msg): 485 def __showError(self, msg):
461 """ 486 """
462 Private slot to show an error message. 487 Private slot to show an error message.
463 488
464 @param msg error message to show (string) 489 @param msg error message to show (string)

eric ide

mercurial