E5Gui/E5PathPicker.py

changeset 4597
46be8d9c4dd8
parent 4594
1071d7ec6976
child 4599
960d1e63f802
--- a/E5Gui/E5PathPicker.py	Mon Nov 30 18:52:18 2015 +0100
+++ b/E5Gui/E5PathPicker.py	Mon Nov 30 19:52:30 2015 +0100
@@ -37,6 +37,7 @@
     SaveFileMode = 2
     SaveFileEnsureExtensionMode = 3
     DirectoryMode = 4
+    CustomMode = 99
     NoMode = 100
 
 # TODO: Refactor the classes using a base class with common functions
@@ -50,12 +51,15 @@
     @signal pathSelected(path) emitted after a path has been selected via the
         file dialog
     @signal aboutToShowPathPickerDialog emitted before the file dialog is shown
+    @signal pickerButtonClicked emitted when the picker button was pressed and
+        the widget mode is custom
     """
     DefaultMode = E5PathPickerModes.NoMode
     
     textChanged = pyqtSignal(str)
     pathSelected = pyqtSignal(str)
     aboutToShowPathPickerDialog = pyqtSignal()
+    pickerButtonClicked = pyqtSignal()
     
     def __init__(self, parent=None):
         """
@@ -369,6 +373,10 @@
         if self.__mode == E5PathPickerModes.NoMode:
             return
         
+        if self.__mode == E5PathPickerModes.CustomMode:
+            self.pickerButtonClicked.emit()
+            return
+        
         self.aboutToShowPathPickerDialog.emit()
         
         windowTitle = self.__windowTitle
@@ -457,12 +465,15 @@
     @signal pathSelected(path) emitted after a path has been selected via the
         file dialog
     @signal aboutToShowPathPickerDialog emitted before the file dialog is shown
+    @signal pickerButtonClicked emitted when the picker button was pressed and
+        the widget mode is custom
     """
     DefaultMode = E5PathPickerModes.NoMode
     
     editTextChanged = pyqtSignal(str)
     pathSelected = pyqtSignal(str)
     aboutToShowPathPickerDialog = pyqtSignal()
+    pickerButtonClicked = pyqtSignal()
     
     def __init__(self, parent=None):
         """
@@ -828,6 +839,10 @@
         if self.__mode == E5PathPickerModes.NoMode:
             return
         
+        if self.__mode == E5PathPickerModes.CustomMode:
+            self.pickerButtonClicked.emit()
+            return
+        
         self.aboutToShowPathPickerDialog.emit()
         
         windowTitle = self.__windowTitle

eric ide

mercurial