Plugins/VcsPlugins/vcsPySvn/SvnPropListDialog.py

changeset 4126
c28d0cf3b639
parent 4021
195a471c327b
child 4631
5c1a96925da4
diff -r 056d98a54dd4 -r c28d0cf3b639 Plugins/VcsPlugins/vcsPySvn/SvnPropListDialog.py
--- a/Plugins/VcsPlugins/vcsPySvn/SvnPropListDialog.py	Sun Feb 22 12:16:32 2015 +0100
+++ b/Plugins/VcsPlugins/vcsPySvn/SvnPropListDialog.py	Sun Feb 22 19:21:55 2015 +0100
@@ -15,7 +15,7 @@
 
 import pysvn
 
-from PyQt5.QtCore import QMutexLocker, Qt
+from PyQt5.QtCore import pyqtSlot, QMutexLocker, Qt
 from PyQt5.QtWidgets import QWidget, QHeaderView, QApplication, \
     QDialogButtonBox, QTreeWidgetItem
 
@@ -39,6 +39,12 @@
         self.setupUi(self)
         SvnDialogMixin.__init__(self)
         
+        self.refreshButton = \
+            self.buttonBox.addButton(self.tr("Refresh"),
+                                     QDialogButtonBox.ActionRole)
+        self.refreshButton.setToolTip(
+            self.tr("Press to refresh the properties display"))
+        self.refreshButton.setEnabled(False)
         self.buttonBox.button(QDialogButtonBox.Close).setEnabled(False)
         self.buttonBox.button(QDialogButtonBox.Cancel).setDefault(True)
         
@@ -89,6 +95,16 @@
         """
         self.errorGroup.hide()
         
+        self.propsList.clear()
+        
+        self.__args = fn
+        self.__recursive = recursive
+        
+        self.buttonBox.button(QDialogButtonBox.Close).setEnabled(False)
+        self.buttonBox.button(QDialogButtonBox.Cancel).setEnabled(True)
+        self.buttonBox.button(QDialogButtonBox.Cancel).setDefault(True)
+        self.refreshButton.setEnabled(False)
+        
         QApplication.processEvents()
         self.propsFound = False
         if isinstance(fn, list):
@@ -142,6 +158,8 @@
         self.buttonBox.button(QDialogButtonBox.Cancel).setEnabled(False)
         self.buttonBox.button(QDialogButtonBox.Close).setDefault(True)
         
+        self.refreshButton.setEnabled(True)
+        
         self._cancel()
         
     def on_buttonBox_clicked(self, button):
@@ -154,6 +172,15 @@
             self.close()
         elif button == self.buttonBox.button(QDialogButtonBox.Cancel):
             self.__finish()
+        elif button == self.refreshButton:
+            self.on_refreshButton_clicked()
+        
+    @pyqtSlot()
+    def on_refreshButton_clicked(self):
+        """
+        Private slot to refresh the status display.
+        """
+        self.start(self.__args, recursive=self.__recursive)
         
     def __showError(self, msg):
         """

eric ide

mercurial