E5Gui/E5PathPicker.py

changeset 4594
1071d7ec6976
parent 4593
cc745fa6c914
child 4597
46be8d9c4dd8
--- a/E5Gui/E5PathPicker.py	Sun Nov 29 19:29:34 2015 +0100
+++ b/E5Gui/E5PathPicker.py	Mon Nov 30 18:48:45 2015 +0100
@@ -37,6 +37,7 @@
     SaveFileMode = 2
     SaveFileEnsureExtensionMode = 3
     DirectoryMode = 4
+    NoMode = 100
 
 # TODO: Refactor the classes using a base class with common functions
 
@@ -50,7 +51,7 @@
         file dialog
     @signal aboutToShowPathPickerDialog emitted before the file dialog is shown
     """
-    DefaultMode = E5PathPickerModes.OpenFileMode
+    DefaultMode = E5PathPickerModes.NoMode
     
     textChanged = pyqtSignal(str)
     pathSelected = pyqtSignal(str)
@@ -91,6 +92,7 @@
         self.__editor.textChanged.connect(self.textChanged)
         
         self.setFocusProxy(self.__editor)
+        self.__button.setEnabled(self.__mode != E5PathPickerModes.NoMode)
     
     def setMode(self, mode):
         """
@@ -109,19 +111,21 @@
             self.__editor.setCompleter(None)
             self.__completer = None
             
-            # Set a new completer
-            if mode == E5PathPickerModes.DirectoryMode:
-                self.__completer = E5DirCompleter(self.__editor)
-            else:
-                self.__completer = E5FileCompleter(self.__editor)
-            
-            # set inactive text
-            if mode == E5PathPickerModes.OpenFilesMode:
-                self.__editor.setInactiveText(
-                    self.tr("Enter Path Names separated by ';'"))
-            else:
-                self.__editor.setInactiveText(
-                    self.tr("Enter Path Name"))
+            if mode != E5PathPickerModes.NoMode:
+                # Set a new completer
+                if mode == E5PathPickerModes.DirectoryMode:
+                    self.__completer = E5DirCompleter(self.__editor)
+                else:
+                    self.__completer = E5FileCompleter(self.__editor)
+                
+                # set inactive text
+                if mode == E5PathPickerModes.OpenFilesMode:
+                    self.__editor.setInactiveText(
+                        self.tr("Enter Path Names separated by ';'"))
+                else:
+                    self.__editor.setInactiveText(
+                        self.tr("Enter Path Name"))
+        self.__button.setEnabled(self.__mode != E5PathPickerModes.NoMode)
     
     def mode(self):
         """
@@ -362,6 +366,9 @@
         """
         Private slot to show the path picker dialog.
         """
+        if self.__mode == E5PathPickerModes.NoMode:
+            return
+        
         self.aboutToShowPathPickerDialog.emit()
         
         windowTitle = self.__windowTitle
@@ -451,7 +458,7 @@
         file dialog
     @signal aboutToShowPathPickerDialog emitted before the file dialog is shown
     """
-    DefaultMode = E5PathPickerModes.OpenFileMode
+    DefaultMode = E5PathPickerModes.NoMode
     
     editTextChanged = pyqtSignal(str)
     pathSelected = pyqtSignal(str)
@@ -492,6 +499,7 @@
         self.__editor.editTextChanged.connect(self.editTextChanged)
         
         self.setFocusProxy(self.__editor)
+        self.__button.setEnabled(self.__mode != E5PathPickerModes.NoMode)
     
     def setMode(self, mode):
         """
@@ -510,19 +518,21 @@
             self.__editor.setCompleter(None)
             self.__completer = None
             
-            # Set a new completer
-            if mode == E5PathPickerModes.DirectoryMode:
-                self.__completer = E5DirCompleter(self.__editor)
-            else:
-                self.__completer = E5FileCompleter(self.__editor)
-            
-            # set inactive text
-            if mode == E5PathPickerModes.OpenFilesMode:
-                self.__editor.setInactiveText(
-                    self.tr("Enter Path Names separated by ';'"))
-            else:
-                self.__editor.setInactiveText(
-                    self.tr("Enter Path Name"))
+            if mode != E5PathPickerModes.NoMode:
+                # Set a new completer
+                if mode == E5PathPickerModes.DirectoryMode:
+                    self.__completer = E5DirCompleter(self.__editor)
+                else:
+                    self.__completer = E5FileCompleter(self.__editor)
+                
+                # set inactive text
+                if mode == E5PathPickerModes.OpenFilesMode:
+                    self.__editor.setInactiveText(
+                        self.tr("Enter Path Names separated by ';'"))
+                else:
+                    self.__editor.setInactiveText(
+                        self.tr("Enter Path Name"))
+        self.__button.setEnabled(self.__mode != E5PathPickerModes.NoMode)
     
     def mode(self):
         """
@@ -815,6 +825,9 @@
         """
         Private slot to show the path picker dialog.
         """
+        if self.__mode == E5PathPickerModes.NoMode:
+            return
+        
         self.aboutToShowPathPickerDialog.emit()
         
         windowTitle = self.__windowTitle

eric ide

mercurial