src/eric7/EricWidgets/EricPathPicker.py

Sat, 16 Jul 2022 18:14:30 +0200

author
Detlev Offenbach <detlev@die-offenbachs.de>
date
Sat, 16 Jul 2022 18:14:30 +0200
branch
eric7
changeset 9238
a7cbf3d61498
parent 9221
bf71ee032bb4
child 9259
66167d4d0407
permissions
-rw-r--r--

EricPathPicker, EricPathPickerDialog
- added/changed code to work with pathlib.Path objects next to string paths

4573
365f39d86985 Added a widget to pick a path and changed the first configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1 # -*- coding: utf-8 -*-
365f39d86985 Added a widget to pick a path and changed the first configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
2
8881
54e42bc2437a Updated copyright for 2022.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8403
diff changeset
3 # Copyright (c) 2015 - 2022 Detlev Offenbach <detlev@die-offenbachs.de>
4573
365f39d86985 Added a widget to pick a path and changed the first configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
4 #
365f39d86985 Added a widget to pick a path and changed the first configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
5
365f39d86985 Added a widget to pick a path and changed the first configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
6 """
365f39d86985 Added a widget to pick a path and changed the first configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
7 Module implementing a path picker widget.
365f39d86985 Added a widget to pick a path and changed the first configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
8 """
365f39d86985 Added a widget to pick a path and changed the first configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
9
8265
0090cfa83159 Converted enum names to use all uppercase letters (except for E5PathPickerModes to keep plug-ins using this compatible with previous eric releases).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8257
diff changeset
10 import enum
4573
365f39d86985 Added a widget to pick a path and changed the first configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
11 import os
9152
8a68afaf1ba2 Started replacing the use of "QFileInfo()" with Python equivalents.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9024
diff changeset
12 import pathlib
4573
365f39d86985 Added a widget to pick a path and changed the first configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
13
9152
8a68afaf1ba2 Started replacing the use of "QFileInfo()" with Python equivalents.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9024
diff changeset
14 from PyQt6.QtCore import pyqtSignal, Qt, QCoreApplication, QDir
8350
74a3b2a6a944 Removed all references to E5ComboBox and most references to E5LineEdit.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8327
diff changeset
15 from PyQt6.QtWidgets import (
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
16 QWidget,
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
17 QHBoxLayout,
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
18 QToolButton,
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
19 QSizePolicy,
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
20 QLineEdit,
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
21 QComboBox,
8350
74a3b2a6a944 Removed all references to E5ComboBox and most references to E5LineEdit.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8327
diff changeset
22 )
4573
365f39d86985 Added a widget to pick a path and changed the first configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
23
8356
68ec9c3d4de5 Renamed the modules and classes of the E5Gui package to have the prefix 'Eric' instead of 'E5'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8351
diff changeset
24 from . import EricFileDialog
68ec9c3d4de5 Renamed the modules and classes of the E5Gui package to have the prefix 'Eric' instead of 'E5'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8351
diff changeset
25 from .EricCompleters import EricFileCompleter, EricDirCompleter
4573
365f39d86985 Added a widget to pick a path and changed the first configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
26
365f39d86985 Added a widget to pick a path and changed the first configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
27 import UI.PixmapCache
365f39d86985 Added a widget to pick a path and changed the first configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
28
365f39d86985 Added a widget to pick a path and changed the first configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
29
8356
68ec9c3d4de5 Renamed the modules and classes of the E5Gui package to have the prefix 'Eric' instead of 'E5'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8351
diff changeset
30 class EricPathPickerModes(enum.Enum):
4573
365f39d86985 Added a widget to pick a path and changed the first configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
31 """
365f39d86985 Added a widget to pick a path and changed the first configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
32 Class implementing the path picker modes.
365f39d86985 Added a widget to pick a path and changed the first configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
33 """
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
34
8327
666c2b81cbb7 Continued porting eric to PyQt6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8322
diff changeset
35 OPEN_FILE_MODE = 0
666c2b81cbb7 Continued porting eric to PyQt6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8322
diff changeset
36 OPEN_FILES_MODE = 1
666c2b81cbb7 Continued porting eric to PyQt6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8322
diff changeset
37 SAVE_FILE_MODE = 2
666c2b81cbb7 Continued porting eric to PyQt6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8322
diff changeset
38 SAVE_FILE_ENSURE_EXTENSION_MODE = 3
666c2b81cbb7 Continued porting eric to PyQt6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8322
diff changeset
39 SAVE_FILE_OVERWRITE_MODE = 4
666c2b81cbb7 Continued porting eric to PyQt6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8322
diff changeset
40 DIRECTORY_MODE = 5
666c2b81cbb7 Continued porting eric to PyQt6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8322
diff changeset
41 DIRECTORY_SHOW_FILES_MODE = 6
8403
d9fd02e8c28b Added a special file dialog to select files and directories simultaneously.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8366
diff changeset
42 OPEN_FILES_AND_DIRS_MODE = 7
8327
666c2b81cbb7 Continued porting eric to PyQt6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8322
diff changeset
43 CUSTOM_MODE = 99
666c2b81cbb7 Continued porting eric to PyQt6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8322
diff changeset
44 NO_MODE = 100
4573
365f39d86985 Added a widget to pick a path and changed the first configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
45
365f39d86985 Added a widget to pick a path and changed the first configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
46
8356
68ec9c3d4de5 Renamed the modules and classes of the E5Gui package to have the prefix 'Eric' instead of 'E5'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8351
diff changeset
47 class EricPathPickerBase(QWidget):
4573
365f39d86985 Added a widget to pick a path and changed the first configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
48 """
4613
c7951eb9d525 Refactored the path picker code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4601
diff changeset
49 Class implementing the base of a path picker widget consisting of a
c7951eb9d525 Refactored the path picker code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4601
diff changeset
50 line edit or combo box and a tool button to open a file dialog.
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
51
4575
464a6b049f89 Changed the Python2 debugger and Editor APIs pages to use the path picker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4573
diff changeset
52 @signal textChanged(path) emitted when the entered path has changed
4613
c7951eb9d525 Refactored the path picker code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4601
diff changeset
53 (line edit based widget)
c7951eb9d525 Refactored the path picker code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4601
diff changeset
54 @signal editTextChanged(path) emitted when the entered path has changed
c7951eb9d525 Refactored the path picker code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4601
diff changeset
55 (combo box based widget)
4581
76999ca7bbf1 Enhanced the path picker widgets.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4578
diff changeset
56 @signal pathSelected(path) emitted after a path has been selected via the
76999ca7bbf1 Enhanced the path picker widgets.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4578
diff changeset
57 file dialog
76999ca7bbf1 Enhanced the path picker widgets.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4578
diff changeset
58 @signal aboutToShowPathPickerDialog emitted before the file dialog is shown
4597
46be8d9c4dd8 Modified more dialogs to use the path picker widgets.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4594
diff changeset
59 @signal pickerButtonClicked emitted when the picker button was pressed and
46be8d9c4dd8 Modified more dialogs to use the path picker widgets.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4594
diff changeset
60 the widget mode is custom
4573
365f39d86985 Added a widget to pick a path and changed the first configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
61 """
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
62
8356
68ec9c3d4de5 Renamed the modules and classes of the E5Gui package to have the prefix 'Eric' instead of 'E5'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8351
diff changeset
63 DefaultMode = EricPathPickerModes.NO_MODE
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
64
4575
464a6b049f89 Changed the Python2 debugger and Editor APIs pages to use the path picker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4573
diff changeset
65 textChanged = pyqtSignal(str)
4613
c7951eb9d525 Refactored the path picker code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4601
diff changeset
66 editTextChanged = pyqtSignal(str)
4581
76999ca7bbf1 Enhanced the path picker widgets.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4578
diff changeset
67 pathSelected = pyqtSignal(str)
76999ca7bbf1 Enhanced the path picker widgets.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4578
diff changeset
68 aboutToShowPathPickerDialog = pyqtSignal()
4597
46be8d9c4dd8 Modified more dialogs to use the path picker widgets.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4594
diff changeset
69 pickerButtonClicked = pyqtSignal()
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
70
4613
c7951eb9d525 Refactored the path picker code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4601
diff changeset
71 def __init__(self, parent=None, useLineEdit=True):
4573
365f39d86985 Added a widget to pick a path and changed the first configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
72 """
365f39d86985 Added a widget to pick a path and changed the first configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
73 Constructor
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
74
4573
365f39d86985 Added a widget to pick a path and changed the first configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
75 @param parent reference to the parent widget
365f39d86985 Added a widget to pick a path and changed the first configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
76 @type QWidget
4613
c7951eb9d525 Refactored the path picker code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4601
diff changeset
77 @param useLineEdit flag indicating the use of a line edit
c7951eb9d525 Refactored the path picker code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4601
diff changeset
78 @type bool
4573
365f39d86985 Added a widget to pick a path and changed the first configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
79 """
8218
7c09585bd960 Applied some more code simplifications suggested by the new Simplify checker (super(Foo, self) => super()).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8143
diff changeset
80 super().__init__(parent)
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
81
4613
c7951eb9d525 Refactored the path picker code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4601
diff changeset
82 self.__lineEditKind = useLineEdit
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
83
8356
68ec9c3d4de5 Renamed the modules and classes of the E5Gui package to have the prefix 'Eric' instead of 'E5'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8351
diff changeset
84 self.__mode = EricPathPicker.DefaultMode
4573
365f39d86985 Added a widget to pick a path and changed the first configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
85 self.__editorEnabled = True
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
86
4613
c7951eb9d525 Refactored the path picker code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4601
diff changeset
87 self._completer = None
4573
365f39d86985 Added a widget to pick a path and changed the first configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
88 self.__filters = ""
365f39d86985 Added a widget to pick a path and changed the first configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
89 self.__defaultDirectory = ""
365f39d86985 Added a widget to pick a path and changed the first configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
90 self.__windowTitle = ""
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
91
8319
ea11a3948f40 Continued porting eric to PyQt6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8318
diff changeset
92 self.__layout = QHBoxLayout(self)
4573
365f39d86985 Added a widget to pick a path and changed the first configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
93 self.__layout.setSpacing(0)
365f39d86985 Added a widget to pick a path and changed the first configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
94 self.__layout.setContentsMargins(0, 0, 0, 0)
365f39d86985 Added a widget to pick a path and changed the first configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
95 self.setLayout(self.__layout)
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
96
4613
c7951eb9d525 Refactored the path picker code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4601
diff changeset
97 if useLineEdit:
8351
7d13e08ddb3f Removed for writing old style XML files and renamed E5XML to EricXML.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8350
diff changeset
98 self._editor = QLineEdit(self)
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
99 self._editor.setPlaceholderText(
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
100 QCoreApplication.translate("EricPathPickerBase", "Enter Path Name")
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
101 )
8350
74a3b2a6a944 Removed all references to E5ComboBox and most references to E5LineEdit.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8327
diff changeset
102 self._editor.setClearButtonEnabled(True)
4613
c7951eb9d525 Refactored the path picker code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4601
diff changeset
103 else:
8350
74a3b2a6a944 Removed all references to E5ComboBox and most references to E5LineEdit.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8327
diff changeset
104 self._editor = QComboBox(self)
74a3b2a6a944 Removed all references to E5ComboBox and most references to E5LineEdit.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8327
diff changeset
105 self._editor.setEditable(True)
74a3b2a6a944 Removed all references to E5ComboBox and most references to E5LineEdit.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8327
diff changeset
106 self._editor.lineEdit().setPlaceholderText(
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
107 QCoreApplication.translate("EricPathPickerBase", "Enter Path Name")
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
108 )
8350
74a3b2a6a944 Removed all references to E5ComboBox and most references to E5LineEdit.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8327
diff changeset
109 self._editor.lineEdit().setClearButtonEnabled(True)
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
110
4573
365f39d86985 Added a widget to pick a path and changed the first configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
111 self.__button = QToolButton(self)
8143
2c730d5fd177 Changed the use of PyQt enums because the way they were used previously is deprecated since two years and replaced some deprecated Qt stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7923
diff changeset
112 self.__button.setToolButtonStyle(Qt.ToolButtonStyle.ToolButtonIconOnly)
7533
88261c96484b Removed the '.png' extension from all call to get an icon or a pixmap from the PixmapCache because this is not needed anymore.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7360
diff changeset
113 self.__button.setIcon(UI.PixmapCache.getIcon("open"))
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
114
4613
c7951eb9d525 Refactored the path picker code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4601
diff changeset
115 self.__layout.addWidget(self._editor)
4573
365f39d86985 Added a widget to pick a path and changed the first configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
116 self.__layout.addWidget(self.__button)
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
117
4573
365f39d86985 Added a widget to pick a path and changed the first configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
118 self.__button.clicked.connect(self.__showPathPickerDialog)
4613
c7951eb9d525 Refactored the path picker code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4601
diff changeset
119 if useLineEdit:
c7951eb9d525 Refactored the path picker code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4601
diff changeset
120 self._editor.textEdited.connect(self.__pathEdited)
c7951eb9d525 Refactored the path picker code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4601
diff changeset
121 self._editor.textChanged.connect(self.textChanged)
c7951eb9d525 Refactored the path picker code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4601
diff changeset
122 else:
c7951eb9d525 Refactored the path picker code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4601
diff changeset
123 self._editor.editTextChanged.connect(self.editTextChanged)
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
124
4613
c7951eb9d525 Refactored the path picker code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4601
diff changeset
125 self.setFocusProxy(self._editor)
8143
2c730d5fd177 Changed the use of PyQt enums because the way they were used previously is deprecated since two years and replaced some deprecated Qt stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7923
diff changeset
126 self.setFocusPolicy(Qt.FocusPolicy.StrongFocus)
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
127 self.setSizePolicy(QSizePolicy.Policy.Expanding, QSizePolicy.Policy.Preferred)
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
128
8356
68ec9c3d4de5 Renamed the modules and classes of the E5Gui package to have the prefix 'Eric' instead of 'E5'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8351
diff changeset
129 self.__button.setEnabled(self.__mode != EricPathPickerModes.NO_MODE)
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
130
9152
8a68afaf1ba2 Started replacing the use of "QFileInfo()" with Python equivalents.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9024
diff changeset
131 def __pathEdited(self, fpath):
4599
960d1e63f802 Some little improvements for the path pickers.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4597
diff changeset
132 """
960d1e63f802 Some little improvements for the path pickers.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4597
diff changeset
133 Private slot handling editing of the path.
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
134
9152
8a68afaf1ba2 Started replacing the use of "QFileInfo()" with Python equivalents.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9024
diff changeset
135 @param fpath current text of the path line edit
4599
960d1e63f802 Some little improvements for the path pickers.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4597
diff changeset
136 @type str
960d1e63f802 Some little improvements for the path pickers.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4597
diff changeset
137 """
4613
c7951eb9d525 Refactored the path picker code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4601
diff changeset
138 if self._completer and not self._completer.popup().isVisible():
9152
8a68afaf1ba2 Started replacing the use of "QFileInfo()" with Python equivalents.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9024
diff changeset
139 self._completer.setRootPath(QDir.toNativeSeparators(fpath))
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
140
4573
365f39d86985 Added a widget to pick a path and changed the first configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
141 def setMode(self, mode):
365f39d86985 Added a widget to pick a path and changed the first configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
142 """
365f39d86985 Added a widget to pick a path and changed the first configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
143 Public method to set the path picker mode.
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
144
4573
365f39d86985 Added a widget to pick a path and changed the first configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
145 @param mode picker mode
8356
68ec9c3d4de5 Renamed the modules and classes of the E5Gui package to have the prefix 'Eric' instead of 'E5'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8351
diff changeset
146 @type EricPathPickerModes
7628
f904d0eef264 Checked the reported security related issue reports generated by the new security checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7533
diff changeset
147 @exception ValueError raised to indicate a bad parameter value
4573
365f39d86985 Added a widget to pick a path and changed the first configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
148 """
8356
68ec9c3d4de5 Renamed the modules and classes of the E5Gui package to have the prefix 'Eric' instead of 'E5'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8351
diff changeset
149 if mode not in EricPathPickerModes:
7628
f904d0eef264 Checked the reported security related issue reports generated by the new security checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7533
diff changeset
150 raise ValueError("Bad value for 'mode' parameter.")
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
151
4573
365f39d86985 Added a widget to pick a path and changed the first configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
152 oldMode = self.__mode
365f39d86985 Added a widget to pick a path and changed the first configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
153 self.__mode = mode
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
154
4613
c7951eb9d525 Refactored the path picker code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4601
diff changeset
155 if mode != oldMode or (self.__lineEditKind and not self._completer):
c7951eb9d525 Refactored the path picker code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4601
diff changeset
156 if self.__lineEditKind and self._completer:
4599
960d1e63f802 Some little improvements for the path pickers.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4597
diff changeset
157 # Remove current completer
4613
c7951eb9d525 Refactored the path picker code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4601
diff changeset
158 self._editor.setCompleter(None)
c7951eb9d525 Refactored the path picker code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4601
diff changeset
159 self._completer = None
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
160
8356
68ec9c3d4de5 Renamed the modules and classes of the E5Gui package to have the prefix 'Eric' instead of 'E5'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8351
diff changeset
161 if mode != EricPathPickerModes.NO_MODE:
4613
c7951eb9d525 Refactored the path picker code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4601
diff changeset
162 if self.__lineEditKind:
c7951eb9d525 Refactored the path picker code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4601
diff changeset
163 # Set a new completer
8356
68ec9c3d4de5 Renamed the modules and classes of the E5Gui package to have the prefix 'Eric' instead of 'E5'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8351
diff changeset
164 if mode == EricPathPickerModes.DIRECTORY_MODE:
68ec9c3d4de5 Renamed the modules and classes of the E5Gui package to have the prefix 'Eric' instead of 'E5'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8351
diff changeset
165 self._completer = EricDirCompleter(self._editor)
4613
c7951eb9d525 Refactored the path picker code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4601
diff changeset
166 else:
8356
68ec9c3d4de5 Renamed the modules and classes of the E5Gui package to have the prefix 'Eric' instead of 'E5'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8351
diff changeset
167 self._completer = EricFileCompleter(self._editor)
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
168
4594
1071d7ec6976 Fixed an issue setting an initial completer if the initial mode was the default mode.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4593
diff changeset
169 # set inactive text
8403
d9fd02e8c28b Added a special file dialog to select files and directories simultaneously.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8366
diff changeset
170 if mode in (
d9fd02e8c28b Added a special file dialog to select files and directories simultaneously.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8366
diff changeset
171 EricPathPickerModes.OPEN_FILES_MODE,
d9fd02e8c28b Added a special file dialog to select files and directories simultaneously.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8366
diff changeset
172 EricPathPickerModes.OPEN_FILES_AND_DIRS_MODE,
d9fd02e8c28b Added a special file dialog to select files and directories simultaneously.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8366
diff changeset
173 ):
8350
74a3b2a6a944 Removed all references to E5ComboBox and most references to E5LineEdit.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8327
diff changeset
174 self._editor.setPlaceholderText(
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
175 self.tr("Enter Path Names separated by ';'")
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
176 )
4594
1071d7ec6976 Fixed an issue setting an initial completer if the initial mode was the default mode.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4593
diff changeset
177 else:
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
178 self._editor.setPlaceholderText(self.tr("Enter Path Name"))
8356
68ec9c3d4de5 Renamed the modules and classes of the E5Gui package to have the prefix 'Eric' instead of 'E5'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8351
diff changeset
179 self.__button.setEnabled(self.__mode != EricPathPickerModes.NO_MODE)
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
180
4573
365f39d86985 Added a widget to pick a path and changed the first configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
181 def mode(self):
365f39d86985 Added a widget to pick a path and changed the first configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
182 """
365f39d86985 Added a widget to pick a path and changed the first configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
183 Public method to get the path picker mode.
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
184
4573
365f39d86985 Added a widget to pick a path and changed the first configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
185 @return path picker mode
8356
68ec9c3d4de5 Renamed the modules and classes of the E5Gui package to have the prefix 'Eric' instead of 'E5'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8351
diff changeset
186 @rtype EricPathPickerModes
4573
365f39d86985 Added a widget to pick a path and changed the first configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
187 """
365f39d86985 Added a widget to pick a path and changed the first configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
188 return self.__mode
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
189
4589
b648ccbdbef9 Modified more dialogs to use the path picker widgets.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4581
diff changeset
190 def setPickerEnabled(self, enable):
b648ccbdbef9 Modified more dialogs to use the path picker widgets.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4581
diff changeset
191 """
b648ccbdbef9 Modified more dialogs to use the path picker widgets.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4581
diff changeset
192 Public method to set the enabled state of the file dialog button.
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
193
4589
b648ccbdbef9 Modified more dialogs to use the path picker widgets.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4581
diff changeset
194 @param enable flag indicating the enabled state
b648ccbdbef9 Modified more dialogs to use the path picker widgets.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4581
diff changeset
195 @type bool
b648ccbdbef9 Modified more dialogs to use the path picker widgets.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4581
diff changeset
196 """
b648ccbdbef9 Modified more dialogs to use the path picker widgets.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4581
diff changeset
197 self.__button.setEnabled(enable)
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
198
4589
b648ccbdbef9 Modified more dialogs to use the path picker widgets.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4581
diff changeset
199 def isPickerEnabled(self):
b648ccbdbef9 Modified more dialogs to use the path picker widgets.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4581
diff changeset
200 """
b648ccbdbef9 Modified more dialogs to use the path picker widgets.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4581
diff changeset
201 Public method to get the file dialog button enabled state.
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
202
4589
b648ccbdbef9 Modified more dialogs to use the path picker widgets.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4581
diff changeset
203 @return flag indicating the enabled state
b648ccbdbef9 Modified more dialogs to use the path picker widgets.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4581
diff changeset
204 @rtype bool
b648ccbdbef9 Modified more dialogs to use the path picker widgets.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4581
diff changeset
205 """
b648ccbdbef9 Modified more dialogs to use the path picker widgets.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4581
diff changeset
206 return self.__button.isEnabled()
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
207
4575
464a6b049f89 Changed the Python2 debugger and Editor APIs pages to use the path picker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4573
diff changeset
208 def clear(self):
464a6b049f89 Changed the Python2 debugger and Editor APIs pages to use the path picker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4573
diff changeset
209 """
4613
c7951eb9d525 Refactored the path picker code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4601
diff changeset
210 Public method to clear the current path or list of paths.
c7951eb9d525 Refactored the path picker code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4601
diff changeset
211 """
c7951eb9d525 Refactored the path picker code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4601
diff changeset
212 self._editor.clear()
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
213
4613
c7951eb9d525 Refactored the path picker code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4601
diff changeset
214 def clearEditText(self):
c7951eb9d525 Refactored the path picker code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4601
diff changeset
215 """
4575
464a6b049f89 Changed the Python2 debugger and Editor APIs pages to use the path picker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4573
diff changeset
216 Public method to clear the current path.
464a6b049f89 Changed the Python2 debugger and Editor APIs pages to use the path picker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4573
diff changeset
217 """
4613
c7951eb9d525 Refactored the path picker code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4601
diff changeset
218 if not self.__lineEditKind:
c7951eb9d525 Refactored the path picker code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4601
diff changeset
219 self._editor.clearEditText()
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
220
4613
c7951eb9d525 Refactored the path picker code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4601
diff changeset
221 def _setEditorText(self, text):
c7951eb9d525 Refactored the path picker code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4601
diff changeset
222 """
c7951eb9d525 Refactored the path picker code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4601
diff changeset
223 Protected method to set the text of the editor.
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
224
4613
c7951eb9d525 Refactored the path picker code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4601
diff changeset
225 @param text text to set
c7951eb9d525 Refactored the path picker code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4601
diff changeset
226 @type str
c7951eb9d525 Refactored the path picker code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4601
diff changeset
227 """
c7951eb9d525 Refactored the path picker code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4601
diff changeset
228 if self.__lineEditKind:
c7951eb9d525 Refactored the path picker code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4601
diff changeset
229 self._editor.setText(text)
c7951eb9d525 Refactored the path picker code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4601
diff changeset
230 else:
c7951eb9d525 Refactored the path picker code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4601
diff changeset
231 self._editor.setEditText(text)
5525
1771a7f9065c Added capability to remember previously used entries in the project debugger properties dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5389
diff changeset
232 if text and self._editor.findText(text) == -1:
1771a7f9065c Added capability to remember previously used entries in the project debugger properties dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5389
diff changeset
233 self._editor.insertItem(0, text)
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
234
4613
c7951eb9d525 Refactored the path picker code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4601
diff changeset
235 def _editorText(self):
c7951eb9d525 Refactored the path picker code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4601
diff changeset
236 """
c7951eb9d525 Refactored the path picker code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4601
diff changeset
237 Protected method to get the text of the editor.
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
238
4613
c7951eb9d525 Refactored the path picker code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4601
diff changeset
239 @return text of the editor
c7951eb9d525 Refactored the path picker code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4601
diff changeset
240 @rtype str
c7951eb9d525 Refactored the path picker code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4601
diff changeset
241 """
c7951eb9d525 Refactored the path picker code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4601
diff changeset
242 if self.__lineEditKind:
c7951eb9d525 Refactored the path picker code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4601
diff changeset
243 return self._editor.text()
c7951eb9d525 Refactored the path picker code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4601
diff changeset
244 else:
c7951eb9d525 Refactored the path picker code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4601
diff changeset
245 return self._editor.currentText()
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
246
9152
8a68afaf1ba2 Started replacing the use of "QFileInfo()" with Python equivalents.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9024
diff changeset
247 def setText(self, fpath, toNative=True):
4573
365f39d86985 Added a widget to pick a path and changed the first configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
248 """
365f39d86985 Added a widget to pick a path and changed the first configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
249 Public method to set the current path.
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
250
9152
8a68afaf1ba2 Started replacing the use of "QFileInfo()" with Python equivalents.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9024
diff changeset
251 @param fpath path to be set
4573
365f39d86985 Added a widget to pick a path and changed the first configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
252 @type str
4700
dfdcc542198f Little enhancement to the path picker widget to allow to disable the conversion of path separators.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4631
diff changeset
253 @param toNative flag indicating to convert the path into
dfdcc542198f Little enhancement to the path picker widget to allow to disable the conversion of path separators.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4631
diff changeset
254 a native format
dfdcc542198f Little enhancement to the path picker widget to allow to disable the conversion of path separators.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4631
diff changeset
255 @type bool
4573
365f39d86985 Added a widget to pick a path and changed the first configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
256 """
8403
d9fd02e8c28b Added a special file dialog to select files and directories simultaneously.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8366
diff changeset
257 if self.__mode in (
d9fd02e8c28b Added a special file dialog to select files and directories simultaneously.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8366
diff changeset
258 EricPathPickerModes.OPEN_FILES_MODE,
d9fd02e8c28b Added a special file dialog to select files and directories simultaneously.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8366
diff changeset
259 EricPathPickerModes.OPEN_FILES_AND_DIRS_MODE,
d9fd02e8c28b Added a special file dialog to select files and directories simultaneously.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8366
diff changeset
260 ):
9152
8a68afaf1ba2 Started replacing the use of "QFileInfo()" with Python equivalents.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9024
diff changeset
261 self._setEditorText(fpath)
4573
365f39d86985 Added a widget to pick a path and changed the first configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
262 else:
4700
dfdcc542198f Little enhancement to the path picker widget to allow to disable the conversion of path separators.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4631
diff changeset
263 if toNative:
9152
8a68afaf1ba2 Started replacing the use of "QFileInfo()" with Python equivalents.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9024
diff changeset
264 fpath = QDir.toNativeSeparators(fpath)
8a68afaf1ba2 Started replacing the use of "QFileInfo()" with Python equivalents.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9024
diff changeset
265 self._setEditorText(fpath)
4613
c7951eb9d525 Refactored the path picker code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4601
diff changeset
266 if self._completer:
9152
8a68afaf1ba2 Started replacing the use of "QFileInfo()" with Python equivalents.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9024
diff changeset
267 self._completer.setRootPath(fpath)
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
268
4700
dfdcc542198f Little enhancement to the path picker widget to allow to disable the conversion of path separators.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4631
diff changeset
269 def text(self, toNative=True):
4573
365f39d86985 Added a widget to pick a path and changed the first configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
270 """
365f39d86985 Added a widget to pick a path and changed the first configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
271 Public method to get the current path.
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
272
4700
dfdcc542198f Little enhancement to the path picker widget to allow to disable the conversion of path separators.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4631
diff changeset
273 @param toNative flag indicating to convert the path into
dfdcc542198f Little enhancement to the path picker widget to allow to disable the conversion of path separators.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4631
diff changeset
274 a native format
dfdcc542198f Little enhancement to the path picker widget to allow to disable the conversion of path separators.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4631
diff changeset
275 @type bool
4573
365f39d86985 Added a widget to pick a path and changed the first configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
276 @return current path
365f39d86985 Added a widget to pick a path and changed the first configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
277 @rtype str
365f39d86985 Added a widget to pick a path and changed the first configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
278 """
8403
d9fd02e8c28b Added a special file dialog to select files and directories simultaneously.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8366
diff changeset
279 if self.__mode in (
d9fd02e8c28b Added a special file dialog to select files and directories simultaneously.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8366
diff changeset
280 EricPathPickerModes.OPEN_FILES_MODE,
d9fd02e8c28b Added a special file dialog to select files and directories simultaneously.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8366
diff changeset
281 EricPathPickerModes.OPEN_FILES_AND_DIRS_MODE,
d9fd02e8c28b Added a special file dialog to select files and directories simultaneously.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8366
diff changeset
282 ):
4700
dfdcc542198f Little enhancement to the path picker widget to allow to disable the conversion of path separators.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4631
diff changeset
283 if toNative:
dfdcc542198f Little enhancement to the path picker widget to allow to disable the conversion of path separators.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4631
diff changeset
284 return ";".join(
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
285 [
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
286 QDir.toNativeSeparators(fpath)
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
287 for fpath in self._editorText().split(";")
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
288 ]
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
289 )
4700
dfdcc542198f Little enhancement to the path picker widget to allow to disable the conversion of path separators.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4631
diff changeset
290 else:
dfdcc542198f Little enhancement to the path picker widget to allow to disable the conversion of path separators.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4631
diff changeset
291 return self._editorText()
4573
365f39d86985 Added a widget to pick a path and changed the first configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
292 else:
4700
dfdcc542198f Little enhancement to the path picker widget to allow to disable the conversion of path separators.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4631
diff changeset
293 if toNative:
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
294 return os.path.expanduser(QDir.toNativeSeparators(self._editorText()))
4700
dfdcc542198f Little enhancement to the path picker widget to allow to disable the conversion of path separators.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4631
diff changeset
295 else:
dfdcc542198f Little enhancement to the path picker widget to allow to disable the conversion of path separators.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4631
diff changeset
296 return os.path.expanduser(self._editorText())
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
297
9152
8a68afaf1ba2 Started replacing the use of "QFileInfo()" with Python equivalents.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9024
diff changeset
298 def setEditText(self, fpath, toNative=True):
4613
c7951eb9d525 Refactored the path picker code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4601
diff changeset
299 """
c7951eb9d525 Refactored the path picker code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4601
diff changeset
300 Public method to set the current path.
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
301
9152
8a68afaf1ba2 Started replacing the use of "QFileInfo()" with Python equivalents.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9024
diff changeset
302 @param fpath path to be set
4613
c7951eb9d525 Refactored the path picker code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4601
diff changeset
303 @type str
4700
dfdcc542198f Little enhancement to the path picker widget to allow to disable the conversion of path separators.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4631
diff changeset
304 @param toNative flag indicating to convert the path into
dfdcc542198f Little enhancement to the path picker widget to allow to disable the conversion of path separators.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4631
diff changeset
305 a native format
dfdcc542198f Little enhancement to the path picker widget to allow to disable the conversion of path separators.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4631
diff changeset
306 @type bool
4613
c7951eb9d525 Refactored the path picker code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4601
diff changeset
307 """
9152
8a68afaf1ba2 Started replacing the use of "QFileInfo()" with Python equivalents.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9024
diff changeset
308 self.setText(fpath, toNative=toNative)
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
309
4700
dfdcc542198f Little enhancement to the path picker widget to allow to disable the conversion of path separators.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4631
diff changeset
310 def currentText(self, toNative=True):
4613
c7951eb9d525 Refactored the path picker code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4601
diff changeset
311 """
c7951eb9d525 Refactored the path picker code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4601
diff changeset
312 Public method to get the current path.
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
313
4700
dfdcc542198f Little enhancement to the path picker widget to allow to disable the conversion of path separators.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4631
diff changeset
314 @param toNative flag indicating to convert the path into
dfdcc542198f Little enhancement to the path picker widget to allow to disable the conversion of path separators.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4631
diff changeset
315 a native format
dfdcc542198f Little enhancement to the path picker widget to allow to disable the conversion of path separators.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4631
diff changeset
316 @type bool
4613
c7951eb9d525 Refactored the path picker code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4601
diff changeset
317 @return current path
c7951eb9d525 Refactored the path picker code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4601
diff changeset
318 @rtype str
c7951eb9d525 Refactored the path picker code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4601
diff changeset
319 """
4700
dfdcc542198f Little enhancement to the path picker widget to allow to disable the conversion of path separators.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4631
diff changeset
320 return self.text(toNative=toNative)
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
321
9238
a7cbf3d61498 EricPathPicker, EricPathPickerDialog
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9221
diff changeset
322 def setPath(self, fpath):
4573
365f39d86985 Added a widget to pick a path and changed the first configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
323 """
365f39d86985 Added a widget to pick a path and changed the first configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
324 Public method to set the current path.
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
325
9152
8a68afaf1ba2 Started replacing the use of "QFileInfo()" with Python equivalents.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9024
diff changeset
326 @param fpath path to be set
9238
a7cbf3d61498 EricPathPicker, EricPathPickerDialog
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9221
diff changeset
327 @type str or pathlib.Path
4573
365f39d86985 Added a widget to pick a path and changed the first configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
328 """
9238
a7cbf3d61498 EricPathPicker, EricPathPickerDialog
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9221
diff changeset
329 self.setText(str(fpath), toNative=True)
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
330
9238
a7cbf3d61498 EricPathPicker, EricPathPickerDialog
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9221
diff changeset
331 def path(self):
4573
365f39d86985 Added a widget to pick a path and changed the first configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
332 """
365f39d86985 Added a widget to pick a path and changed the first configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
333 Public method to get the current path.
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
334
4573
365f39d86985 Added a widget to pick a path and changed the first configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
335 @return current path
9238
a7cbf3d61498 EricPathPicker, EricPathPickerDialog
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9221
diff changeset
336 @rtype pathlib.Path
4573
365f39d86985 Added a widget to pick a path and changed the first configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
337 """
9238
a7cbf3d61498 EricPathPicker, EricPathPickerDialog
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9221
diff changeset
338 return self.paths()[0]
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
339
9238
a7cbf3d61498 EricPathPicker, EricPathPickerDialog
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9221
diff changeset
340 def paths(self):
4581
76999ca7bbf1 Enhanced the path picker widgets.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4578
diff changeset
341 """
76999ca7bbf1 Enhanced the path picker widgets.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4578
diff changeset
342 Public method to get the list of entered paths.
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
343
4581
76999ca7bbf1 Enhanced the path picker widgets.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4578
diff changeset
344 @return entered paths
9238
a7cbf3d61498 EricPathPicker, EricPathPickerDialog
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9221
diff changeset
345 @rtype list of pathlib.Path
4581
76999ca7bbf1 Enhanced the path picker widgets.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4578
diff changeset
346 """
8403
d9fd02e8c28b Added a special file dialog to select files and directories simultaneously.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8366
diff changeset
347 if self.__mode in (
d9fd02e8c28b Added a special file dialog to select files and directories simultaneously.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8366
diff changeset
348 EricPathPickerModes.OPEN_FILES_MODE,
d9fd02e8c28b Added a special file dialog to select files and directories simultaneously.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8366
diff changeset
349 EricPathPickerModes.OPEN_FILES_AND_DIRS_MODE,
d9fd02e8c28b Added a special file dialog to select files and directories simultaneously.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8366
diff changeset
350 ):
9238
a7cbf3d61498 EricPathPicker, EricPathPickerDialog
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9221
diff changeset
351 return [pathlib.Path(t) for t in self.text().split(";")]
4581
76999ca7bbf1 Enhanced the path picker widgets.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4578
diff changeset
352 else:
9238
a7cbf3d61498 EricPathPicker, EricPathPickerDialog
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9221
diff changeset
353 return [pathlib.Path(self.text)]
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
354
9238
a7cbf3d61498 EricPathPicker, EricPathPickerDialog
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9221
diff changeset
355 def firstPath(self):
4581
76999ca7bbf1 Enhanced the path picker widgets.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4578
diff changeset
356 """
76999ca7bbf1 Enhanced the path picker widgets.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4578
diff changeset
357 Public method to get the first path of a list of entered paths.
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
358
4581
76999ca7bbf1 Enhanced the path picker widgets.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4578
diff changeset
359 @return first path
9238
a7cbf3d61498 EricPathPicker, EricPathPickerDialog
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9221
diff changeset
360 @rtype pathlib.Path
4581
76999ca7bbf1 Enhanced the path picker widgets.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4578
diff changeset
361 """
9238
a7cbf3d61498 EricPathPicker, EricPathPickerDialog
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9221
diff changeset
362 return self.paths()[0]
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
363
9238
a7cbf3d61498 EricPathPicker, EricPathPickerDialog
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9221
diff changeset
364 def lastPath(self):
4581
76999ca7bbf1 Enhanced the path picker widgets.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4578
diff changeset
365 """
76999ca7bbf1 Enhanced the path picker widgets.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4578
diff changeset
366 Public method to get the last path of a list of entered paths.
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
367
4620
49d9c6b58678 Fixed an issue in the path picker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4613
diff changeset
368 @return last path
9238
a7cbf3d61498 EricPathPicker, EricPathPickerDialog
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9221
diff changeset
369 @rtype pathlib.Path
4581
76999ca7bbf1 Enhanced the path picker widgets.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4578
diff changeset
370 """
9238
a7cbf3d61498 EricPathPicker, EricPathPickerDialog
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9221
diff changeset
371 return self.paths()[-1]
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
372
4573
365f39d86985 Added a widget to pick a path and changed the first configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
373 def setEditorEnabled(self, enable):
365f39d86985 Added a widget to pick a path and changed the first configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
374 """
365f39d86985 Added a widget to pick a path and changed the first configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
375 Public method to set the path editor's enabled state.
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
376
4573
365f39d86985 Added a widget to pick a path and changed the first configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
377 @param enable flag indicating the enable state
365f39d86985 Added a widget to pick a path and changed the first configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
378 @type bool
365f39d86985 Added a widget to pick a path and changed the first configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
379 """
4613
c7951eb9d525 Refactored the path picker code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4601
diff changeset
380 if enable != self._editorEnabled:
c7951eb9d525 Refactored the path picker code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4601
diff changeset
381 self._editorEnabled = enable
c7951eb9d525 Refactored the path picker code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4601
diff changeset
382 self._editor.setEnabled(enable)
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
383
4573
365f39d86985 Added a widget to pick a path and changed the first configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
384 def editorEnabled(self):
365f39d86985 Added a widget to pick a path and changed the first configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
385 """
365f39d86985 Added a widget to pick a path and changed the first configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
386 Public method to get the path editor's enabled state.
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
387
4573
365f39d86985 Added a widget to pick a path and changed the first configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
388 @return flag indicating the enabled state
365f39d86985 Added a widget to pick a path and changed the first configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
389 @rtype bool
365f39d86985 Added a widget to pick a path and changed the first configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
390 """
4613
c7951eb9d525 Refactored the path picker code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4601
diff changeset
391 return self._editorEnabled
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
392
4573
365f39d86985 Added a widget to pick a path and changed the first configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
393 def setDefaultDirectory(self, directory):
365f39d86985 Added a widget to pick a path and changed the first configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
394 """
365f39d86985 Added a widget to pick a path and changed the first configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
395 Public method to set the default directory.
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
396
4573
365f39d86985 Added a widget to pick a path and changed the first configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
397 @param directory default directory
9238
a7cbf3d61498 EricPathPicker, EricPathPickerDialog
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9221
diff changeset
398 @type str or pathlib.Path
4573
365f39d86985 Added a widget to pick a path and changed the first configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
399 """
9238
a7cbf3d61498 EricPathPicker, EricPathPickerDialog
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9221
diff changeset
400 self.__defaultDirectory = str(directory)
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
401
4573
365f39d86985 Added a widget to pick a path and changed the first configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
402 def defaultDirectory(self):
365f39d86985 Added a widget to pick a path and changed the first configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
403 """
365f39d86985 Added a widget to pick a path and changed the first configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
404 Public method to get the default directory.
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
405
4573
365f39d86985 Added a widget to pick a path and changed the first configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
406 @return default directory
365f39d86985 Added a widget to pick a path and changed the first configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
407 @rtype str
365f39d86985 Added a widget to pick a path and changed the first configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
408 """
365f39d86985 Added a widget to pick a path and changed the first configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
409 return self.__defaultDirectory
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
410
9238
a7cbf3d61498 EricPathPicker, EricPathPickerDialog
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9221
diff changeset
411 def defaultDirectoryPath(self):
a7cbf3d61498 EricPathPicker, EricPathPickerDialog
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9221
diff changeset
412 """
a7cbf3d61498 EricPathPicker, EricPathPickerDialog
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9221
diff changeset
413 Public method to get the default directory as a pathlib.Path object.
a7cbf3d61498 EricPathPicker, EricPathPickerDialog
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9221
diff changeset
414
a7cbf3d61498 EricPathPicker, EricPathPickerDialog
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9221
diff changeset
415 @return default directory
a7cbf3d61498 EricPathPicker, EricPathPickerDialog
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9221
diff changeset
416 @rtype pathlib.Path
a7cbf3d61498 EricPathPicker, EricPathPickerDialog
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9221
diff changeset
417 """
a7cbf3d61498 EricPathPicker, EricPathPickerDialog
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9221
diff changeset
418 return pathlib.Path(self.__defaultDirectory)
a7cbf3d61498 EricPathPicker, EricPathPickerDialog
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9221
diff changeset
419
4573
365f39d86985 Added a widget to pick a path and changed the first configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
420 def setWindowTitle(self, title):
365f39d86985 Added a widget to pick a path and changed the first configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
421 """
365f39d86985 Added a widget to pick a path and changed the first configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
422 Public method to set the path picker dialog window title.
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
423
4573
365f39d86985 Added a widget to pick a path and changed the first configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
424 @param title window title
365f39d86985 Added a widget to pick a path and changed the first configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
425 @type str
365f39d86985 Added a widget to pick a path and changed the first configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
426 """
365f39d86985 Added a widget to pick a path and changed the first configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
427 self.__windowTitle = title
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
428
4573
365f39d86985 Added a widget to pick a path and changed the first configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
429 def windowTitle(self):
365f39d86985 Added a widget to pick a path and changed the first configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
430 """
365f39d86985 Added a widget to pick a path and changed the first configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
431 Public method to get the path picker dialog's window title.
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
432
4573
365f39d86985 Added a widget to pick a path and changed the first configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
433 @return window title
365f39d86985 Added a widget to pick a path and changed the first configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
434 @rtype str
365f39d86985 Added a widget to pick a path and changed the first configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
435 """
365f39d86985 Added a widget to pick a path and changed the first configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
436 return self.__windowTitle
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
437
4573
365f39d86985 Added a widget to pick a path and changed the first configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
438 def setFilters(self, filters):
365f39d86985 Added a widget to pick a path and changed the first configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
439 """
365f39d86985 Added a widget to pick a path and changed the first configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
440 Public method to set the filters for the path picker dialog.
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
441
4573
365f39d86985 Added a widget to pick a path and changed the first configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
442 Note: Multiple filters must be separated by ';;'.
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
443
4573
365f39d86985 Added a widget to pick a path and changed the first configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
444 @param filters string containing the file filters
365f39d86985 Added a widget to pick a path and changed the first configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
445 @type str
365f39d86985 Added a widget to pick a path and changed the first configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
446 """
365f39d86985 Added a widget to pick a path and changed the first configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
447 self.__filters = filters
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
448
4573
365f39d86985 Added a widget to pick a path and changed the first configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
449 def filters(self):
365f39d86985 Added a widget to pick a path and changed the first configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
450 """
365f39d86985 Added a widget to pick a path and changed the first configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
451 Public methods to get the filter string.
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
452
4573
365f39d86985 Added a widget to pick a path and changed the first configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
453 @return filter string
365f39d86985 Added a widget to pick a path and changed the first configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
454 @rtype str
365f39d86985 Added a widget to pick a path and changed the first configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
455 """
365f39d86985 Added a widget to pick a path and changed the first configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
456 return self.__filters
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
457
4593
cc745fa6c914 Modified more dialogs to use the path picker widgets.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4589
diff changeset
458 def setNameFilters(self, filters):
cc745fa6c914 Modified more dialogs to use the path picker widgets.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4589
diff changeset
459 """
cc745fa6c914 Modified more dialogs to use the path picker widgets.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4589
diff changeset
460 Public method to set the name filters for the completer.
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
461
4601
0017e7cb67ae Fixed a few code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4599
diff changeset
462 @param filters list of file name filters
4593
cc745fa6c914 Modified more dialogs to use the path picker widgets.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4589
diff changeset
463 @type list of str
cc745fa6c914 Modified more dialogs to use the path picker widgets.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4589
diff changeset
464 """
4613
c7951eb9d525 Refactored the path picker code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4601
diff changeset
465 if self._completer:
c7951eb9d525 Refactored the path picker code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4601
diff changeset
466 self._completer.model().setNameFilters(filters)
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
467
4573
365f39d86985 Added a widget to pick a path and changed the first configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
468 def setButtonToolTip(self, tooltip):
365f39d86985 Added a widget to pick a path and changed the first configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
469 """
365f39d86985 Added a widget to pick a path and changed the first configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
470 Public method to set the tool button tool tip.
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
471
4573
365f39d86985 Added a widget to pick a path and changed the first configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
472 @param tooltip text to be set as a tool tip
365f39d86985 Added a widget to pick a path and changed the first configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
473 @type str
365f39d86985 Added a widget to pick a path and changed the first configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
474 """
365f39d86985 Added a widget to pick a path and changed the first configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
475 self.__button.setToolTip(tooltip)
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
476
4573
365f39d86985 Added a widget to pick a path and changed the first configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
477 def buttonToolTip(self):
365f39d86985 Added a widget to pick a path and changed the first configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
478 """
365f39d86985 Added a widget to pick a path and changed the first configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
479 Public method to get the tool button tool tip.
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
480
4573
365f39d86985 Added a widget to pick a path and changed the first configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
481 @return tool tip text
365f39d86985 Added a widget to pick a path and changed the first configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
482 @rtype str
365f39d86985 Added a widget to pick a path and changed the first configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
483 """
365f39d86985 Added a widget to pick a path and changed the first configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
484 return self.__button.toolTip()
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
485
4573
365f39d86985 Added a widget to pick a path and changed the first configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
486 def setEditorToolTip(self, tooltip):
365f39d86985 Added a widget to pick a path and changed the first configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
487 """
365f39d86985 Added a widget to pick a path and changed the first configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
488 Public method to set the editor tool tip.
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
489
4573
365f39d86985 Added a widget to pick a path and changed the first configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
490 @param tooltip text to be set as a tool tip
365f39d86985 Added a widget to pick a path and changed the first configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
491 @type str
365f39d86985 Added a widget to pick a path and changed the first configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
492 """
4613
c7951eb9d525 Refactored the path picker code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4601
diff changeset
493 self._editor.setToolTip(tooltip)
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
494
4573
365f39d86985 Added a widget to pick a path and changed the first configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
495 def editorToolTip(self):
365f39d86985 Added a widget to pick a path and changed the first configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
496 """
365f39d86985 Added a widget to pick a path and changed the first configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
497 Public method to get the editor tool tip.
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
498
4573
365f39d86985 Added a widget to pick a path and changed the first configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
499 @return tool tip text
365f39d86985 Added a widget to pick a path and changed the first configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
500 @rtype str
365f39d86985 Added a widget to pick a path and changed the first configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
501 """
4613
c7951eb9d525 Refactored the path picker code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4601
diff changeset
502 return self._editor.toolTip()
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
503
4573
365f39d86985 Added a widget to pick a path and changed the first configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
504 def __showPathPickerDialog(self):
365f39d86985 Added a widget to pick a path and changed the first configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
505 """
365f39d86985 Added a widget to pick a path and changed the first configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
506 Private slot to show the path picker dialog.
365f39d86985 Added a widget to pick a path and changed the first configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
507 """
8356
68ec9c3d4de5 Renamed the modules and classes of the E5Gui package to have the prefix 'Eric' instead of 'E5'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8351
diff changeset
508 if self.__mode == EricPathPickerModes.NO_MODE:
4594
1071d7ec6976 Fixed an issue setting an initial completer if the initial mode was the default mode.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4593
diff changeset
509 return
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
510
8356
68ec9c3d4de5 Renamed the modules and classes of the E5Gui package to have the prefix 'Eric' instead of 'E5'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8351
diff changeset
511 if self.__mode == EricPathPickerModes.CUSTOM_MODE:
4597
46be8d9c4dd8 Modified more dialogs to use the path picker widgets.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4594
diff changeset
512 self.pickerButtonClicked.emit()
46be8d9c4dd8 Modified more dialogs to use the path picker widgets.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4594
diff changeset
513 return
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
514
4581
76999ca7bbf1 Enhanced the path picker widgets.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4578
diff changeset
515 self.aboutToShowPathPickerDialog.emit()
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
516
4573
365f39d86985 Added a widget to pick a path and changed the first configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
517 windowTitle = self.__windowTitle
365f39d86985 Added a widget to pick a path and changed the first configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
518 if not windowTitle:
8356
68ec9c3d4de5 Renamed the modules and classes of the E5Gui package to have the prefix 'Eric' instead of 'E5'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8351
diff changeset
519 if self.__mode == EricPathPickerModes.OPEN_FILE_MODE:
4573
365f39d86985 Added a widget to pick a path and changed the first configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
520 windowTitle = self.tr("Choose a file to open")
8356
68ec9c3d4de5 Renamed the modules and classes of the E5Gui package to have the prefix 'Eric' instead of 'E5'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8351
diff changeset
521 elif self.__mode == EricPathPickerModes.OPEN_FILES_MODE:
4573
365f39d86985 Added a widget to pick a path and changed the first configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
522 windowTitle = self.tr("Choose files to open")
8403
d9fd02e8c28b Added a special file dialog to select files and directories simultaneously.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8366
diff changeset
523 elif self.__mode == EricPathPickerModes.OPEN_FILES_AND_DIRS_MODE:
d9fd02e8c28b Added a special file dialog to select files and directories simultaneously.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8366
diff changeset
524 windowTitle = self.tr("Choose files and directories")
4593
cc745fa6c914 Modified more dialogs to use the path picker widgets.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4589
diff changeset
525 elif self.__mode in [
8356
68ec9c3d4de5 Renamed the modules and classes of the E5Gui package to have the prefix 'Eric' instead of 'E5'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8351
diff changeset
526 EricPathPickerModes.SAVE_FILE_MODE,
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
527 EricPathPickerModes.SAVE_FILE_ENSURE_EXTENSION_MODE,
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
528 EricPathPickerModes.SAVE_FILE_OVERWRITE_MODE,
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
529 ]:
4573
365f39d86985 Added a widget to pick a path and changed the first configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
530 windowTitle = self.tr("Choose a file to save")
8356
68ec9c3d4de5 Renamed the modules and classes of the E5Gui package to have the prefix 'Eric' instead of 'E5'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8351
diff changeset
531 elif self.__mode == EricPathPickerModes.DIRECTORY_MODE:
4573
365f39d86985 Added a widget to pick a path and changed the first configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
532 windowTitle = self.tr("Choose a directory")
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
533
4613
c7951eb9d525 Refactored the path picker code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4601
diff changeset
534 directory = self._editorText()
4581
76999ca7bbf1 Enhanced the path picker widgets.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4578
diff changeset
535 if not directory and self.__defaultDirectory:
76999ca7bbf1 Enhanced the path picker widgets.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4578
diff changeset
536 directory = self.__defaultDirectory
8257
28146736bbfc Applied some more code simplifications suggested by the new Simplify checker (Y108: use ternary operator).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8218
diff changeset
537 directory = (
28146736bbfc Applied some more code simplifications suggested by the new Simplify checker (Y108: use ternary operator).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8218
diff changeset
538 os.path.expanduser(directory.split(";")[0])
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
539 if self.__mode
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
540 in (
8403
d9fd02e8c28b Added a special file dialog to select files and directories simultaneously.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8366
diff changeset
541 EricPathPickerModes.OPEN_FILES_MODE,
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
542 EricPathPickerModes.OPEN_FILES_AND_DIRS_MODE,
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
543 )
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
544 else os.path.expanduser(directory)
8257
28146736bbfc Applied some more code simplifications suggested by the new Simplify checker (Y108: use ternary operator).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8218
diff changeset
545 )
4581
76999ca7bbf1 Enhanced the path picker widgets.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4578
diff changeset
546 if not os.path.isabs(directory) and self.__defaultDirectory:
76999ca7bbf1 Enhanced the path picker widgets.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4578
diff changeset
547 directory = os.path.join(self.__defaultDirectory, directory)
6670
acebf0124108 E5PathPicker: changed code to make it independent from Utilities.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6645
diff changeset
548 directory = QDir.fromNativeSeparators(directory)
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
549
8356
68ec9c3d4de5 Renamed the modules and classes of the E5Gui package to have the prefix 'Eric' instead of 'E5'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8351
diff changeset
550 if self.__mode == EricPathPickerModes.OPEN_FILE_MODE:
9152
8a68afaf1ba2 Started replacing the use of "QFileInfo()" with Python equivalents.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9024
diff changeset
551 fpath = EricFileDialog.getOpenFileName(
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
552 self, windowTitle, directory, self.__filters
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
553 )
9152
8a68afaf1ba2 Started replacing the use of "QFileInfo()" with Python equivalents.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9024
diff changeset
554 fpath = QDir.toNativeSeparators(fpath)
8356
68ec9c3d4de5 Renamed the modules and classes of the E5Gui package to have the prefix 'Eric' instead of 'E5'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8351
diff changeset
555 elif self.__mode == EricPathPickerModes.OPEN_FILES_MODE:
9152
8a68afaf1ba2 Started replacing the use of "QFileInfo()" with Python equivalents.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9024
diff changeset
556 fpaths = EricFileDialog.getOpenFileNames(
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
557 self, windowTitle, directory, self.__filters
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
558 )
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
559 fpath = ";".join([QDir.toNativeSeparators(fpath) for fpath in fpaths])
8403
d9fd02e8c28b Added a special file dialog to select files and directories simultaneously.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8366
diff changeset
560 elif self.__mode == EricPathPickerModes.OPEN_FILES_AND_DIRS_MODE:
9152
8a68afaf1ba2 Started replacing the use of "QFileInfo()" with Python equivalents.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9024
diff changeset
561 fpaths = EricFileDialog.getOpenFileAndDirNames(
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
562 self, windowTitle, directory, self.__filters
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
563 )
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
564 fpath = ";".join([QDir.toNativeSeparators(fpath) for fpath in fpaths])
8356
68ec9c3d4de5 Renamed the modules and classes of the E5Gui package to have the prefix 'Eric' instead of 'E5'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8351
diff changeset
565 elif self.__mode == EricPathPickerModes.SAVE_FILE_MODE:
9152
8a68afaf1ba2 Started replacing the use of "QFileInfo()" with Python equivalents.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9024
diff changeset
566 fpath = EricFileDialog.getSaveFileName(
4573
365f39d86985 Added a widget to pick a path and changed the first configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
567 self,
365f39d86985 Added a widget to pick a path and changed the first configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
568 windowTitle,
365f39d86985 Added a widget to pick a path and changed the first configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
569 directory,
365f39d86985 Added a widget to pick a path and changed the first configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
570 self.__filters,
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
571 EricFileDialog.DontConfirmOverwrite,
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
572 )
9152
8a68afaf1ba2 Started replacing the use of "QFileInfo()" with Python equivalents.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9024
diff changeset
573 fpath = QDir.toNativeSeparators(fpath)
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
574 elif self.__mode == EricPathPickerModes.SAVE_FILE_ENSURE_EXTENSION_MODE:
9152
8a68afaf1ba2 Started replacing the use of "QFileInfo()" with Python equivalents.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9024
diff changeset
575 fpath, selectedFilter = EricFileDialog.getSaveFileNameAndFilter(
4593
cc745fa6c914 Modified more dialogs to use the path picker widgets.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4589
diff changeset
576 self,
cc745fa6c914 Modified more dialogs to use the path picker widgets.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4589
diff changeset
577 windowTitle,
cc745fa6c914 Modified more dialogs to use the path picker widgets.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4589
diff changeset
578 directory,
cc745fa6c914 Modified more dialogs to use the path picker widgets.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4589
diff changeset
579 self.__filters,
cc745fa6c914 Modified more dialogs to use the path picker widgets.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4589
diff changeset
580 None,
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
581 EricFileDialog.DontConfirmOverwrite,
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
582 )
9152
8a68afaf1ba2 Started replacing the use of "QFileInfo()" with Python equivalents.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9024
diff changeset
583 fpath = pathlib.Path(fpath)
8a68afaf1ba2 Started replacing the use of "QFileInfo()" with Python equivalents.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9024
diff changeset
584 if not fpath.suffix:
8a68afaf1ba2 Started replacing the use of "QFileInfo()" with Python equivalents.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9024
diff changeset
585 ex = selectedFilter.split("(*")[1].split(")")[0]
8a68afaf1ba2 Started replacing the use of "QFileInfo()" with Python equivalents.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9024
diff changeset
586 if ex:
8a68afaf1ba2 Started replacing the use of "QFileInfo()" with Python equivalents.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9024
diff changeset
587 fpath = fpath.with_suffix(ex)
8356
68ec9c3d4de5 Renamed the modules and classes of the E5Gui package to have the prefix 'Eric' instead of 'E5'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8351
diff changeset
588 elif self.__mode == EricPathPickerModes.SAVE_FILE_OVERWRITE_MODE:
9152
8a68afaf1ba2 Started replacing the use of "QFileInfo()" with Python equivalents.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9024
diff changeset
589 fpath = EricFileDialog.getSaveFileName(
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
590 self, windowTitle, directory, self.__filters
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
591 )
9152
8a68afaf1ba2 Started replacing the use of "QFileInfo()" with Python equivalents.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9024
diff changeset
592 fpath = QDir.toNativeSeparators(fpath)
8356
68ec9c3d4de5 Renamed the modules and classes of the E5Gui package to have the prefix 'Eric' instead of 'E5'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8351
diff changeset
593 elif self.__mode == EricPathPickerModes.DIRECTORY_MODE:
9152
8a68afaf1ba2 Started replacing the use of "QFileInfo()" with Python equivalents.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9024
diff changeset
594 fpath = EricFileDialog.getExistingDirectory(
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
595 self, windowTitle, directory, EricFileDialog.ShowDirsOnly
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
596 )
9152
8a68afaf1ba2 Started replacing the use of "QFileInfo()" with Python equivalents.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9024
diff changeset
597 fpath = QDir.toNativeSeparators(fpath)
8a68afaf1ba2 Started replacing the use of "QFileInfo()" with Python equivalents.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9024
diff changeset
598 while fpath.endswith(os.sep):
8a68afaf1ba2 Started replacing the use of "QFileInfo()" with Python equivalents.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9024
diff changeset
599 fpath = fpath[:-1]
8356
68ec9c3d4de5 Renamed the modules and classes of the E5Gui package to have the prefix 'Eric' instead of 'E5'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8351
diff changeset
600 elif self.__mode == EricPathPickerModes.DIRECTORY_SHOW_FILES_MODE:
9152
8a68afaf1ba2 Started replacing the use of "QFileInfo()" with Python equivalents.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9024
diff changeset
601 fpath = EricFileDialog.getExistingDirectory(
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
602 self, windowTitle, directory, EricFileDialog.DontUseNativeDialog
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
603 )
9152
8a68afaf1ba2 Started replacing the use of "QFileInfo()" with Python equivalents.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9024
diff changeset
604 fpath = QDir.toNativeSeparators(fpath)
8a68afaf1ba2 Started replacing the use of "QFileInfo()" with Python equivalents.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9024
diff changeset
605 while fpath.endswith(os.sep):
8a68afaf1ba2 Started replacing the use of "QFileInfo()" with Python equivalents.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9024
diff changeset
606 fpath = fpath[:-1]
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
607
9152
8a68afaf1ba2 Started replacing the use of "QFileInfo()" with Python equivalents.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9024
diff changeset
608 if fpath:
8a68afaf1ba2 Started replacing the use of "QFileInfo()" with Python equivalents.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9024
diff changeset
609 self._setEditorText(str(fpath))
8a68afaf1ba2 Started replacing the use of "QFileInfo()" with Python equivalents.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9024
diff changeset
610 self.pathSelected.emit(str(fpath))
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
611
5238
682d0f6a6074 Fixed an issue with the path picker and its usage.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5106
diff changeset
612 def setReadOnly(self, readOnly):
682d0f6a6074 Fixed an issue with the path picker and its usage.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5106
diff changeset
613 """
682d0f6a6074 Fixed an issue with the path picker and its usage.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5106
diff changeset
614 Public method to set the path picker to read only mode.
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
615
5238
682d0f6a6074 Fixed an issue with the path picker and its usage.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5106
diff changeset
616 @param readOnly flag indicating read only mode
682d0f6a6074 Fixed an issue with the path picker and its usage.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5106
diff changeset
617 @type bool
682d0f6a6074 Fixed an issue with the path picker and its usage.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5106
diff changeset
618 """
682d0f6a6074 Fixed an issue with the path picker and its usage.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5106
diff changeset
619 try:
682d0f6a6074 Fixed an issue with the path picker and its usage.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5106
diff changeset
620 self._editor.setReadOnly(readOnly)
682d0f6a6074 Fixed an issue with the path picker and its usage.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5106
diff changeset
621 except AttributeError:
682d0f6a6074 Fixed an issue with the path picker and its usage.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5106
diff changeset
622 self._editor.setEditable(not readOnly)
682d0f6a6074 Fixed an issue with the path picker and its usage.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5106
diff changeset
623 self.setPickerEnabled(not readOnly)
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
624
5238
682d0f6a6074 Fixed an issue with the path picker and its usage.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5106
diff changeset
625 def isReadOnly(self):
682d0f6a6074 Fixed an issue with the path picker and its usage.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5106
diff changeset
626 """
682d0f6a6074 Fixed an issue with the path picker and its usage.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5106
diff changeset
627 Public method to check the path picker for read only mode.
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
628
5238
682d0f6a6074 Fixed an issue with the path picker and its usage.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5106
diff changeset
629 @return flg indicating read only mode
682d0f6a6074 Fixed an issue with the path picker and its usage.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5106
diff changeset
630 @rtype bool
682d0f6a6074 Fixed an issue with the path picker and its usage.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5106
diff changeset
631 """
682d0f6a6074 Fixed an issue with the path picker and its usage.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5106
diff changeset
632 try:
682d0f6a6074 Fixed an issue with the path picker and its usage.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5106
diff changeset
633 return self._editor.isReadOnly()
682d0f6a6074 Fixed an issue with the path picker and its usage.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5106
diff changeset
634 except AttributeError:
682d0f6a6074 Fixed an issue with the path picker and its usage.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5106
diff changeset
635 return not self._editor.isEditable()
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
636
4613
c7951eb9d525 Refactored the path picker code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4601
diff changeset
637 ##################################################################
c7951eb9d525 Refactored the path picker code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4601
diff changeset
638 ## Methods below emulate some of the QComboBox API
c7951eb9d525 Refactored the path picker code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4601
diff changeset
639 ##################################################################
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
640
4578
5d611151cdec Added a path picker using an editable combo box.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4576
diff changeset
641 def addItems(self, pathsList):
5d611151cdec Added a path picker using an editable combo box.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4576
diff changeset
642 """
5d611151cdec Added a path picker using an editable combo box.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4576
diff changeset
643 Public method to add paths to the current list.
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
644
9238
a7cbf3d61498 EricPathPicker, EricPathPickerDialog
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9221
diff changeset
645 @param pathsList list of paths
a7cbf3d61498 EricPathPicker, EricPathPickerDialog
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9221
diff changeset
646 @type list of str or pathlib.Path
4578
5d611151cdec Added a path picker using an editable combo box.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4576
diff changeset
647 """
9238
a7cbf3d61498 EricPathPicker, EricPathPickerDialog
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9221
diff changeset
648 self._editor.addItems(str(f) for f in pathsList)
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
649
9152
8a68afaf1ba2 Started replacing the use of "QFileInfo()" with Python equivalents.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9024
diff changeset
650 def addItem(self, fpath):
4578
5d611151cdec Added a path picker using an editable combo box.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4576
diff changeset
651 """
5d611151cdec Added a path picker using an editable combo box.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4576
diff changeset
652 Public method to add a paths to the current list.
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
653
9152
8a68afaf1ba2 Started replacing the use of "QFileInfo()" with Python equivalents.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9024
diff changeset
654 @param fpath path to add
9238
a7cbf3d61498 EricPathPicker, EricPathPickerDialog
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9221
diff changeset
655 @type str or pathlib.Path
4578
5d611151cdec Added a path picker using an editable combo box.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4576
diff changeset
656 """
9238
a7cbf3d61498 EricPathPicker, EricPathPickerDialog
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9221
diff changeset
657 self._editor.addItem(str(fpath))
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
658
4578
5d611151cdec Added a path picker using an editable combo box.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4576
diff changeset
659 def setPathsList(self, pathsList):
5d611151cdec Added a path picker using an editable combo box.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4576
diff changeset
660 """
5d611151cdec Added a path picker using an editable combo box.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4576
diff changeset
661 Public method to set the paths list.
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
662
4578
5d611151cdec Added a path picker using an editable combo box.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4576
diff changeset
663 @param pathsList list of paths
9238
a7cbf3d61498 EricPathPicker, EricPathPickerDialog
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9221
diff changeset
664 @type list of str or pathlib.Path
4578
5d611151cdec Added a path picker using an editable combo box.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4576
diff changeset
665 """
5d611151cdec Added a path picker using an editable combo box.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4576
diff changeset
666 self.clear()
5d611151cdec Added a path picker using an editable combo box.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4576
diff changeset
667 self.addItems(pathsList)
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
668
4578
5d611151cdec Added a path picker using an editable combo box.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4576
diff changeset
669 def setCurrentIndex(self, index):
5d611151cdec Added a path picker using an editable combo box.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4576
diff changeset
670 """
5d611151cdec Added a path picker using an editable combo box.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4576
diff changeset
671 Public slot to set the current index.
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
672
4578
5d611151cdec Added a path picker using an editable combo box.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4576
diff changeset
673 @param index index of the item to set current
5d611151cdec Added a path picker using an editable combo box.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4576
diff changeset
674 @type int
5d611151cdec Added a path picker using an editable combo box.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4576
diff changeset
675 """
4613
c7951eb9d525 Refactored the path picker code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4601
diff changeset
676 self._editor.setCurrentIndex(index)
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
677
9024
640778fcd474 Added a forgotten method to EricPathPickerBase.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8881
diff changeset
678 def setCurrentText(self, text):
640778fcd474 Added a forgotten method to EricPathPickerBase.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8881
diff changeset
679 """
640778fcd474 Added a forgotten method to EricPathPickerBase.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8881
diff changeset
680 Public slot to set the current text.
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
681
9024
640778fcd474 Added a forgotten method to EricPathPickerBase.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8881
diff changeset
682 @param text text of the item to set current
640778fcd474 Added a forgotten method to EricPathPickerBase.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8881
diff changeset
683 @type str
640778fcd474 Added a forgotten method to EricPathPickerBase.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8881
diff changeset
684 """
640778fcd474 Added a forgotten method to EricPathPickerBase.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8881
diff changeset
685 self._editor.setCurrentText(text)
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
686
9238
a7cbf3d61498 EricPathPicker, EricPathPickerDialog
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9221
diff changeset
687 def setCurrentPath(self, fpath):
a7cbf3d61498 EricPathPicker, EricPathPickerDialog
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9221
diff changeset
688 """
a7cbf3d61498 EricPathPicker, EricPathPickerDialog
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9221
diff changeset
689 Public method to set the current path.
a7cbf3d61498 EricPathPicker, EricPathPickerDialog
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9221
diff changeset
690
a7cbf3d61498 EricPathPicker, EricPathPickerDialog
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9221
diff changeset
691 @param fpath current path
a7cbf3d61498 EricPathPicker, EricPathPickerDialog
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9221
diff changeset
692 @type pathlib.Path
a7cbf3d61498 EricPathPicker, EricPathPickerDialog
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9221
diff changeset
693 """
a7cbf3d61498 EricPathPicker, EricPathPickerDialog
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9221
diff changeset
694 self._editor.setCurrentText(str(fpath))
a7cbf3d61498 EricPathPicker, EricPathPickerDialog
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9221
diff changeset
695
4589
b648ccbdbef9 Modified more dialogs to use the path picker widgets.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4581
diff changeset
696 def setInsertPolicy(self, policy):
b648ccbdbef9 Modified more dialogs to use the path picker widgets.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4581
diff changeset
697 """
b648ccbdbef9 Modified more dialogs to use the path picker widgets.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4581
diff changeset
698 Public method to set the insertion policy of the combo box.
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
699
4589
b648ccbdbef9 Modified more dialogs to use the path picker widgets.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4581
diff changeset
700 @param policy insertion policy
b648ccbdbef9 Modified more dialogs to use the path picker widgets.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4581
diff changeset
701 @type QComboBox.InsertPolicy
b648ccbdbef9 Modified more dialogs to use the path picker widgets.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4581
diff changeset
702 """
4613
c7951eb9d525 Refactored the path picker code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4601
diff changeset
703 self._editor.setInsertPolicy(policy)
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
704
4589
b648ccbdbef9 Modified more dialogs to use the path picker widgets.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4581
diff changeset
705 def setSizeAdjustPolicy(self, policy):
b648ccbdbef9 Modified more dialogs to use the path picker widgets.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4581
diff changeset
706 """
b648ccbdbef9 Modified more dialogs to use the path picker widgets.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4581
diff changeset
707 Public method to set the size adjust policy of the combo box.
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
708
4589
b648ccbdbef9 Modified more dialogs to use the path picker widgets.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4581
diff changeset
709 @param policy size adjust policy
b648ccbdbef9 Modified more dialogs to use the path picker widgets.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4581
diff changeset
710 @type QComboBox.SizeAdjustPolicy
b648ccbdbef9 Modified more dialogs to use the path picker widgets.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4581
diff changeset
711 """
4613
c7951eb9d525 Refactored the path picker code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4601
diff changeset
712 self._editor.setSizeAdjustPolicy(policy)
c7951eb9d525 Refactored the path picker code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4601
diff changeset
713
c7951eb9d525 Refactored the path picker code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4601
diff changeset
714
8356
68ec9c3d4de5 Renamed the modules and classes of the E5Gui package to have the prefix 'Eric' instead of 'E5'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8351
diff changeset
715 class EricPathPicker(EricPathPickerBase):
4613
c7951eb9d525 Refactored the path picker code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4601
diff changeset
716 """
c7951eb9d525 Refactored the path picker code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4601
diff changeset
717 Class implementing a path picker widget consisting of a line edit and a
c7951eb9d525 Refactored the path picker code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4601
diff changeset
718 tool button to open a file dialog.
c7951eb9d525 Refactored the path picker code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4601
diff changeset
719 """
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
720
4613
c7951eb9d525 Refactored the path picker code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4601
diff changeset
721 def __init__(self, parent=None):
4578
5d611151cdec Added a path picker using an editable combo box.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4576
diff changeset
722 """
4613
c7951eb9d525 Refactored the path picker code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4601
diff changeset
723 Constructor
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
724
4613
c7951eb9d525 Refactored the path picker code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4601
diff changeset
725 @param parent reference to the parent widget
c7951eb9d525 Refactored the path picker code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4601
diff changeset
726 @type QWidget
c7951eb9d525 Refactored the path picker code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4601
diff changeset
727 """
8218
7c09585bd960 Applied some more code simplifications suggested by the new Simplify checker (super(Foo, self) => super()).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8143
diff changeset
728 super().__init__(parent, useLineEdit=True)
4613
c7951eb9d525 Refactored the path picker code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4601
diff changeset
729
c7951eb9d525 Refactored the path picker code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4601
diff changeset
730
8356
68ec9c3d4de5 Renamed the modules and classes of the E5Gui package to have the prefix 'Eric' instead of 'E5'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8351
diff changeset
731 class EricComboPathPicker(EricPathPickerBase):
4613
c7951eb9d525 Refactored the path picker code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4601
diff changeset
732 """
c7951eb9d525 Refactored the path picker code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4601
diff changeset
733 Class implementing a path picker widget consisting of a combobox and a
c7951eb9d525 Refactored the path picker code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4601
diff changeset
734 tool button to open a file dialog.
c7951eb9d525 Refactored the path picker code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4601
diff changeset
735 """
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
736
4613
c7951eb9d525 Refactored the path picker code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4601
diff changeset
737 def __init__(self, parent=None):
c7951eb9d525 Refactored the path picker code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4601
diff changeset
738 """
c7951eb9d525 Refactored the path picker code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4601
diff changeset
739 Constructor
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
740
4613
c7951eb9d525 Refactored the path picker code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4601
diff changeset
741 @param parent reference to the parent widget
c7951eb9d525 Refactored the path picker code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4601
diff changeset
742 @type QWidget
c7951eb9d525 Refactored the path picker code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4601
diff changeset
743 """
8218
7c09585bd960 Applied some more code simplifications suggested by the new Simplify checker (super(Foo, self) => super()).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8143
diff changeset
744 super().__init__(parent, useLineEdit=False)
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
745
5372
7ba8d3d61fdd Added the capability to edit the history lists to the start dialogs of the debugger.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5238
diff changeset
746 def getPathItems(self):
7ba8d3d61fdd Added the capability to edit the history lists to the start dialogs of the debugger.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5238
diff changeset
747 """
7ba8d3d61fdd Added the capability to edit the history lists to the start dialogs of the debugger.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5238
diff changeset
748 Public method to get the list of remembered paths.
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
749
9238
a7cbf3d61498 EricPathPicker, EricPathPickerDialog
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9221
diff changeset
750 @return list of remembered paths
5372
7ba8d3d61fdd Added the capability to edit the history lists to the start dialogs of the debugger.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5238
diff changeset
751 @rtype list of str
7ba8d3d61fdd Added the capability to edit the history lists to the start dialogs of the debugger.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5238
diff changeset
752 """
7ba8d3d61fdd Added the capability to edit the history lists to the start dialogs of the debugger.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5238
diff changeset
753 paths = []
7ba8d3d61fdd Added the capability to edit the history lists to the start dialogs of the debugger.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5238
diff changeset
754 for index in range(self._editor.count()):
7ba8d3d61fdd Added the capability to edit the history lists to the start dialogs of the debugger.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5238
diff changeset
755 paths.append(self._editor.itemText(index))
7ba8d3d61fdd Added the capability to edit the history lists to the start dialogs of the debugger.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5238
diff changeset
756 return paths
9238
a7cbf3d61498 EricPathPicker, EricPathPickerDialog
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9221
diff changeset
757
a7cbf3d61498 EricPathPicker, EricPathPickerDialog
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9221
diff changeset
758 def getPathLibItems(self):
a7cbf3d61498 EricPathPicker, EricPathPickerDialog
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9221
diff changeset
759 """
a7cbf3d61498 EricPathPicker, EricPathPickerDialog
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9221
diff changeset
760 Public method to get the list of remembered paths.
a7cbf3d61498 EricPathPicker, EricPathPickerDialog
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9221
diff changeset
761
a7cbf3d61498 EricPathPicker, EricPathPickerDialog
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9221
diff changeset
762 @return list of remembered paths
a7cbf3d61498 EricPathPicker, EricPathPickerDialog
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9221
diff changeset
763 @rtype list of pathlib.Path
a7cbf3d61498 EricPathPicker, EricPathPickerDialog
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9221
diff changeset
764 """
a7cbf3d61498 EricPathPicker, EricPathPickerDialog
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9221
diff changeset
765 paths = []
a7cbf3d61498 EricPathPicker, EricPathPickerDialog
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9221
diff changeset
766 for index in range(self._editor.count()):
a7cbf3d61498 EricPathPicker, EricPathPickerDialog
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9221
diff changeset
767 paths.append(pathlib.Path(self._editor.itemText(index)))
a7cbf3d61498 EricPathPicker, EricPathPickerDialog
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9221
diff changeset
768 return paths

eric ide

mercurial