48 @signal textChanged(path) emitted when the entered path has changed |
49 @signal textChanged(path) emitted when the entered path has changed |
49 @signal pathSelected(path) emitted after a path has been selected via the |
50 @signal pathSelected(path) emitted after a path has been selected via the |
50 file dialog |
51 file dialog |
51 @signal aboutToShowPathPickerDialog emitted before the file dialog is shown |
52 @signal aboutToShowPathPickerDialog emitted before the file dialog is shown |
52 """ |
53 """ |
53 DefaultMode = E5PathPickerModes.OpenFileMode |
54 DefaultMode = E5PathPickerModes.NoMode |
54 |
55 |
55 textChanged = pyqtSignal(str) |
56 textChanged = pyqtSignal(str) |
56 pathSelected = pyqtSignal(str) |
57 pathSelected = pyqtSignal(str) |
57 aboutToShowPathPickerDialog = pyqtSignal() |
58 aboutToShowPathPickerDialog = pyqtSignal() |
58 |
59 |
89 |
90 |
90 self.__button.clicked.connect(self.__showPathPickerDialog) |
91 self.__button.clicked.connect(self.__showPathPickerDialog) |
91 self.__editor.textChanged.connect(self.textChanged) |
92 self.__editor.textChanged.connect(self.textChanged) |
92 |
93 |
93 self.setFocusProxy(self.__editor) |
94 self.setFocusProxy(self.__editor) |
|
95 self.__button.setEnabled(self.__mode != E5PathPickerModes.NoMode) |
94 |
96 |
95 def setMode(self, mode): |
97 def setMode(self, mode): |
96 """ |
98 """ |
97 Public method to set the path picker mode. |
99 Public method to set the path picker mode. |
98 |
100 |
107 if mode != oldMode: |
109 if mode != oldMode: |
108 # Remove current completer |
110 # Remove current completer |
109 self.__editor.setCompleter(None) |
111 self.__editor.setCompleter(None) |
110 self.__completer = None |
112 self.__completer = None |
111 |
113 |
112 # Set a new completer |
114 if mode != E5PathPickerModes.NoMode: |
113 if mode == E5PathPickerModes.DirectoryMode: |
115 # Set a new completer |
114 self.__completer = E5DirCompleter(self.__editor) |
116 if mode == E5PathPickerModes.DirectoryMode: |
115 else: |
117 self.__completer = E5DirCompleter(self.__editor) |
116 self.__completer = E5FileCompleter(self.__editor) |
118 else: |
117 |
119 self.__completer = E5FileCompleter(self.__editor) |
118 # set inactive text |
120 |
119 if mode == E5PathPickerModes.OpenFilesMode: |
121 # set inactive text |
120 self.__editor.setInactiveText( |
122 if mode == E5PathPickerModes.OpenFilesMode: |
121 self.tr("Enter Path Names separated by ';'")) |
123 self.__editor.setInactiveText( |
122 else: |
124 self.tr("Enter Path Names separated by ';'")) |
123 self.__editor.setInactiveText( |
125 else: |
124 self.tr("Enter Path Name")) |
126 self.__editor.setInactiveText( |
|
127 self.tr("Enter Path Name")) |
|
128 self.__button.setEnabled(self.__mode != E5PathPickerModes.NoMode) |
125 |
129 |
126 def mode(self): |
130 def mode(self): |
127 """ |
131 """ |
128 Public method to get the path picker mode. |
132 Public method to get the path picker mode. |
129 |
133 |
360 |
364 |
361 def __showPathPickerDialog(self): |
365 def __showPathPickerDialog(self): |
362 """ |
366 """ |
363 Private slot to show the path picker dialog. |
367 Private slot to show the path picker dialog. |
364 """ |
368 """ |
|
369 if self.__mode == E5PathPickerModes.NoMode: |
|
370 return |
|
371 |
365 self.aboutToShowPathPickerDialog.emit() |
372 self.aboutToShowPathPickerDialog.emit() |
366 |
373 |
367 windowTitle = self.__windowTitle |
374 windowTitle = self.__windowTitle |
368 if not windowTitle: |
375 if not windowTitle: |
369 if self.__mode == E5PathPickerModes.OpenFileMode: |
376 if self.__mode == E5PathPickerModes.OpenFileMode: |
449 @signal editTextChanged(path) emitted when the entered path has changed |
456 @signal editTextChanged(path) emitted when the entered path has changed |
450 @signal pathSelected(path) emitted after a path has been selected via the |
457 @signal pathSelected(path) emitted after a path has been selected via the |
451 file dialog |
458 file dialog |
452 @signal aboutToShowPathPickerDialog emitted before the file dialog is shown |
459 @signal aboutToShowPathPickerDialog emitted before the file dialog is shown |
453 """ |
460 """ |
454 DefaultMode = E5PathPickerModes.OpenFileMode |
461 DefaultMode = E5PathPickerModes.NoMode |
455 |
462 |
456 editTextChanged = pyqtSignal(str) |
463 editTextChanged = pyqtSignal(str) |
457 pathSelected = pyqtSignal(str) |
464 pathSelected = pyqtSignal(str) |
458 aboutToShowPathPickerDialog = pyqtSignal() |
465 aboutToShowPathPickerDialog = pyqtSignal() |
459 |
466 |
490 |
497 |
491 self.__button.clicked.connect(self.__showPathPickerDialog) |
498 self.__button.clicked.connect(self.__showPathPickerDialog) |
492 self.__editor.editTextChanged.connect(self.editTextChanged) |
499 self.__editor.editTextChanged.connect(self.editTextChanged) |
493 |
500 |
494 self.setFocusProxy(self.__editor) |
501 self.setFocusProxy(self.__editor) |
|
502 self.__button.setEnabled(self.__mode != E5PathPickerModes.NoMode) |
495 |
503 |
496 def setMode(self, mode): |
504 def setMode(self, mode): |
497 """ |
505 """ |
498 Public method to set the path picker mode. |
506 Public method to set the path picker mode. |
499 |
507 |
508 if mode != oldMode: |
516 if mode != oldMode: |
509 # Remove current completer |
517 # Remove current completer |
510 self.__editor.setCompleter(None) |
518 self.__editor.setCompleter(None) |
511 self.__completer = None |
519 self.__completer = None |
512 |
520 |
513 # Set a new completer |
521 if mode != E5PathPickerModes.NoMode: |
514 if mode == E5PathPickerModes.DirectoryMode: |
522 # Set a new completer |
515 self.__completer = E5DirCompleter(self.__editor) |
523 if mode == E5PathPickerModes.DirectoryMode: |
516 else: |
524 self.__completer = E5DirCompleter(self.__editor) |
517 self.__completer = E5FileCompleter(self.__editor) |
525 else: |
518 |
526 self.__completer = E5FileCompleter(self.__editor) |
519 # set inactive text |
527 |
520 if mode == E5PathPickerModes.OpenFilesMode: |
528 # set inactive text |
521 self.__editor.setInactiveText( |
529 if mode == E5PathPickerModes.OpenFilesMode: |
522 self.tr("Enter Path Names separated by ';'")) |
530 self.__editor.setInactiveText( |
523 else: |
531 self.tr("Enter Path Names separated by ';'")) |
524 self.__editor.setInactiveText( |
532 else: |
525 self.tr("Enter Path Name")) |
533 self.__editor.setInactiveText( |
|
534 self.tr("Enter Path Name")) |
|
535 self.__button.setEnabled(self.__mode != E5PathPickerModes.NoMode) |
526 |
536 |
527 def mode(self): |
537 def mode(self): |
528 """ |
538 """ |
529 Public method to get the path picker mode. |
539 Public method to get the path picker mode. |
530 |
540 |
813 |
823 |
814 def __showPathPickerDialog(self): |
824 def __showPathPickerDialog(self): |
815 """ |
825 """ |
816 Private slot to show the path picker dialog. |
826 Private slot to show the path picker dialog. |
817 """ |
827 """ |
|
828 if self.__mode == E5PathPickerModes.NoMode: |
|
829 return |
|
830 |
818 self.aboutToShowPathPickerDialog.emit() |
831 self.aboutToShowPathPickerDialog.emit() |
819 |
832 |
820 windowTitle = self.__windowTitle |
833 windowTitle = self.__windowTitle |
821 if not windowTitle: |
834 if not windowTitle: |
822 if self.__mode == E5PathPickerModes.OpenFileMode: |
835 if self.__mode == E5PathPickerModes.OpenFileMode: |