E5Gui/E5PathPicker.py

changeset 4597
46be8d9c4dd8
parent 4594
1071d7ec6976
child 4599
960d1e63f802
equal deleted inserted replaced
4595:f0e48b3e31d4 4597:46be8d9c4dd8
35 OpenFileMode = 0 35 OpenFileMode = 0
36 OpenFilesMode = 1 36 OpenFilesMode = 1
37 SaveFileMode = 2 37 SaveFileMode = 2
38 SaveFileEnsureExtensionMode = 3 38 SaveFileEnsureExtensionMode = 3
39 DirectoryMode = 4 39 DirectoryMode = 4
40 CustomMode = 99
40 NoMode = 100 41 NoMode = 100
41 42
42 # TODO: Refactor the classes using a base class with common functions 43 # TODO: Refactor the classes using a base class with common functions
43 44
44 class E5PathPicker(QWidget): 45 class E5PathPicker(QWidget):
48 49
49 @signal textChanged(path) emitted when the entered path has changed 50 @signal textChanged(path) emitted when the entered path has changed
50 @signal pathSelected(path) emitted after a path has been selected via the 51 @signal pathSelected(path) emitted after a path has been selected via the
51 file dialog 52 file dialog
52 @signal aboutToShowPathPickerDialog emitted before the file dialog is shown 53 @signal aboutToShowPathPickerDialog emitted before the file dialog is shown
54 @signal pickerButtonClicked emitted when the picker button was pressed and
55 the widget mode is custom
53 """ 56 """
54 DefaultMode = E5PathPickerModes.NoMode 57 DefaultMode = E5PathPickerModes.NoMode
55 58
56 textChanged = pyqtSignal(str) 59 textChanged = pyqtSignal(str)
57 pathSelected = pyqtSignal(str) 60 pathSelected = pyqtSignal(str)
58 aboutToShowPathPickerDialog = pyqtSignal() 61 aboutToShowPathPickerDialog = pyqtSignal()
62 pickerButtonClicked = pyqtSignal()
59 63
60 def __init__(self, parent=None): 64 def __init__(self, parent=None):
61 """ 65 """
62 Constructor 66 Constructor
63 67
365 def __showPathPickerDialog(self): 369 def __showPathPickerDialog(self):
366 """ 370 """
367 Private slot to show the path picker dialog. 371 Private slot to show the path picker dialog.
368 """ 372 """
369 if self.__mode == E5PathPickerModes.NoMode: 373 if self.__mode == E5PathPickerModes.NoMode:
374 return
375
376 if self.__mode == E5PathPickerModes.CustomMode:
377 self.pickerButtonClicked.emit()
370 return 378 return
371 379
372 self.aboutToShowPathPickerDialog.emit() 380 self.aboutToShowPathPickerDialog.emit()
373 381
374 windowTitle = self.__windowTitle 382 windowTitle = self.__windowTitle
455 463
456 @signal editTextChanged(path) emitted when the entered path has changed 464 @signal editTextChanged(path) emitted when the entered path has changed
457 @signal pathSelected(path) emitted after a path has been selected via the 465 @signal pathSelected(path) emitted after a path has been selected via the
458 file dialog 466 file dialog
459 @signal aboutToShowPathPickerDialog emitted before the file dialog is shown 467 @signal aboutToShowPathPickerDialog emitted before the file dialog is shown
468 @signal pickerButtonClicked emitted when the picker button was pressed and
469 the widget mode is custom
460 """ 470 """
461 DefaultMode = E5PathPickerModes.NoMode 471 DefaultMode = E5PathPickerModes.NoMode
462 472
463 editTextChanged = pyqtSignal(str) 473 editTextChanged = pyqtSignal(str)
464 pathSelected = pyqtSignal(str) 474 pathSelected = pyqtSignal(str)
465 aboutToShowPathPickerDialog = pyqtSignal() 475 aboutToShowPathPickerDialog = pyqtSignal()
476 pickerButtonClicked = pyqtSignal()
466 477
467 def __init__(self, parent=None): 478 def __init__(self, parent=None):
468 """ 479 """
469 Constructor 480 Constructor
470 481
824 def __showPathPickerDialog(self): 835 def __showPathPickerDialog(self):
825 """ 836 """
826 Private slot to show the path picker dialog. 837 Private slot to show the path picker dialog.
827 """ 838 """
828 if self.__mode == E5PathPickerModes.NoMode: 839 if self.__mode == E5PathPickerModes.NoMode:
840 return
841
842 if self.__mode == E5PathPickerModes.CustomMode:
843 self.pickerButtonClicked.emit()
829 return 844 return
830 845
831 self.aboutToShowPathPickerDialog.emit() 846 self.aboutToShowPathPickerDialog.emit()
832 847
833 windowTitle = self.__windowTitle 848 windowTitle = self.__windowTitle

eric ide

mercurial