Sun, 18 Dec 2022 19:33:46 +0100
Refactored the Utilities and Globals modules in order to enhance the maintainability.
520
b0f523c3b037
Added code to cope with Linux distributor's usage of KDE wrapper dialogs for the Qt file dialogs.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1 | # -*- coding: utf-8 -*- |
b0f523c3b037
Added code to cope with Linux distributor's usage of KDE wrapper dialogs for the Qt file dialogs.
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) 2010 - 2022 Detlev Offenbach <detlev@die-offenbachs.de> |
520
b0f523c3b037
Added code to cope with Linux distributor's usage of KDE wrapper dialogs for the Qt file dialogs.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
4 | # |
b0f523c3b037
Added code to cope with Linux distributor's usage of KDE wrapper dialogs for the Qt file dialogs.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
5 | |
b0f523c3b037
Added code to cope with Linux distributor's usage of KDE wrapper dialogs for the Qt file dialogs.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
6 | """ |
8403
d9fd02e8c28b
Added a special file dialog to select files and directories simultaneously.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8360
diff
changeset
|
7 | Module implementing alternative functions for the QFileDialog static methods. |
520
b0f523c3b037
Added code to cope with Linux distributor's usage of KDE wrapper dialogs for the Qt file dialogs.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
8 | """ |
b0f523c3b037
Added code to cope with Linux distributor's usage of KDE wrapper dialogs for the Qt file dialogs.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
9 | |
9239
3c605ab5a8c7
Extended EricDirFileDialog and EricFileDialog to offer a pathlib.Path based interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9221
diff
changeset
|
10 | import pathlib |
3c605ab5a8c7
Extended EricDirFileDialog and EricFileDialog to offer a pathlib.Path based interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9221
diff
changeset
|
11 | |
8318
962bce857696
Replaced all imports of PyQt5 to PyQt6 and started to replace code using obsoleted methods and adapt to the PyQt6 enum usage.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8312
diff
changeset
|
12 | from PyQt6.QtWidgets import QFileDialog |
520
b0f523c3b037
Added code to cope with Linux distributor's usage of KDE wrapper dialogs for the Qt file dialogs.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
13 | |
9624
b47dfa7a137d
Refactored the Utilities and Globals modules in order to enhance the maintainability.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9413
diff
changeset
|
14 | from eric7.SystemUtilities import OSUtilities |
882
34b86be88bf0
Redid the native file dialog code to be future proof.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
791
diff
changeset
|
15 | |
1910
96641d9a10a2
Fixed an issue adding a sub-repository on Windows systems.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1509
diff
changeset
|
16 | Option = QFileDialog.Option |
883
ac0c6a9ab656
Fixed an issue introduced by the last change.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
882
diff
changeset
|
17 | |
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
|
18 | ShowDirsOnly = QFileDialog.Option.ShowDirsOnly |
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
|
19 | DontResolveSymlinks = QFileDialog.Option.DontResolveSymlinks |
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
|
20 | DontConfirmOverwrite = QFileDialog.Option.DontConfirmOverwrite |
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
|
21 | DontUseNativeDialog = QFileDialog.Option.DontUseNativeDialog |
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
|
22 | ReadOnly = QFileDialog.Option.ReadOnly |
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
|
23 | HideNameFilterDetails = QFileDialog.Option.HideNameFilterDetails |
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
|
24 | DontUseCustomDirectoryIcons = QFileDialog.Option.DontUseCustomDirectoryIcons |
882
34b86be88bf0
Redid the native file dialog code to be future proof.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
791
diff
changeset
|
25 | |
945
8cd4d08fa9f6
Made code mostly PEP 8 compliant (except all whitespace and line length).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
883
diff
changeset
|
26 | |
5587
ea526b78ee6c
Started to fix code style issues detected by the extended style checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5389
diff
changeset
|
27 | def __reorderFilter(filterStr, initialFilter=""): |
520
b0f523c3b037
Added code to cope with Linux distributor's usage of KDE wrapper dialogs for the Qt file dialogs.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
28 | """ |
882
34b86be88bf0
Redid the native file dialog code to be future proof.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
791
diff
changeset
|
29 | Private function to reorder the file filter to cope with a KDE issue |
34b86be88bf0
Redid the native file dialog code to be future proof.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
791
diff
changeset
|
30 | introduced by distributor's usage of KDE file dialogs. |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
31 | |
8403
d9fd02e8c28b
Added a special file dialog to select files and directories simultaneously.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8360
diff
changeset
|
32 | @param filterStr Qt file filter |
d9fd02e8c28b
Added a special file dialog to select files and directories simultaneously.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8360
diff
changeset
|
33 | @type str |
d9fd02e8c28b
Added a special file dialog to select files and directories simultaneously.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8360
diff
changeset
|
34 | @param initialFilter initial filter |
d9fd02e8c28b
Added a special file dialog to select files and directories simultaneously.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8360
diff
changeset
|
35 | @type str |
d9fd02e8c28b
Added a special file dialog to select files and directories simultaneously.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8360
diff
changeset
|
36 | @return the rearranged Qt file filter |
d9fd02e8c28b
Added a special file dialog to select files and directories simultaneously.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8360
diff
changeset
|
37 | @rtype str |
520
b0f523c3b037
Added code to cope with Linux distributor's usage of KDE wrapper dialogs for the Qt file dialogs.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
38 | """ |
9624
b47dfa7a137d
Refactored the Utilities and Globals modules in order to enhance the maintainability.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9413
diff
changeset
|
39 | if initialFilter and not OSUtilities.isMacPlatform(): |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
40 | fileFilters = filterStr.split(";;") |
523
596ad929137e
Fixed a bug in E5FileDialog.py.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
520
diff
changeset
|
41 | if len(fileFilters) < 10 and initialFilter in fileFilters: |
520
b0f523c3b037
Added code to cope with Linux distributor's usage of KDE wrapper dialogs for the Qt file dialogs.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
42 | fileFilters.remove(initialFilter) |
b0f523c3b037
Added code to cope with Linux distributor's usage of KDE wrapper dialogs for the Qt file dialogs.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
43 | fileFilters.insert(0, initialFilter) |
b0f523c3b037
Added code to cope with Linux distributor's usage of KDE wrapper dialogs for the Qt file dialogs.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
44 | return ";;".join(fileFilters) |
b0f523c3b037
Added code to cope with Linux distributor's usage of KDE wrapper dialogs for the Qt file dialogs.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
45 | else: |
5587
ea526b78ee6c
Started to fix code style issues detected by the extended style checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5389
diff
changeset
|
46 | return filterStr |
520
b0f523c3b037
Added code to cope with Linux distributor's usage of KDE wrapper dialogs for the Qt file dialogs.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
47 | |
945
8cd4d08fa9f6
Made code mostly PEP 8 compliant (except all whitespace and line length).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
883
diff
changeset
|
48 | |
9239
3c605ab5a8c7
Extended EricDirFileDialog and EricFileDialog to offer a pathlib.Path based interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9221
diff
changeset
|
49 | ########################################################################### |
3c605ab5a8c7
Extended EricDirFileDialog and EricFileDialog to offer a pathlib.Path based interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9221
diff
changeset
|
50 | ## String based interface |
3c605ab5a8c7
Extended EricDirFileDialog and EricFileDialog to offer a pathlib.Path based interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9221
diff
changeset
|
51 | ########################################################################### |
3c605ab5a8c7
Extended EricDirFileDialog and EricFileDialog to offer a pathlib.Path based interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9221
diff
changeset
|
52 | |
3c605ab5a8c7
Extended EricDirFileDialog and EricFileDialog to offer a pathlib.Path based interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9221
diff
changeset
|
53 | |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
54 | def getOpenFileName(parent=None, caption="", directory="", filterStr="", options=None): |
882
34b86be88bf0
Redid the native file dialog code to be future proof.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
791
diff
changeset
|
55 | """ |
34b86be88bf0
Redid the native file dialog code to be future proof.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
791
diff
changeset
|
56 | Module function to get the name of a file for opening it. |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
57 | |
8403
d9fd02e8c28b
Added a special file dialog to select files and directories simultaneously.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8360
diff
changeset
|
58 | @param parent parent widget of the dialog |
d9fd02e8c28b
Added a special file dialog to select files and directories simultaneously.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8360
diff
changeset
|
59 | @type QWidget |
d9fd02e8c28b
Added a special file dialog to select files and directories simultaneously.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8360
diff
changeset
|
60 | @param caption window title of the dialog |
d9fd02e8c28b
Added a special file dialog to select files and directories simultaneously.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8360
diff
changeset
|
61 | @type str |
d9fd02e8c28b
Added a special file dialog to select files and directories simultaneously.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8360
diff
changeset
|
62 | @param directory working directory of the dialog |
d9fd02e8c28b
Added a special file dialog to select files and directories simultaneously.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8360
diff
changeset
|
63 | @type str |
d9fd02e8c28b
Added a special file dialog to select files and directories simultaneously.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8360
diff
changeset
|
64 | @param filterStr filter string for the dialog |
d9fd02e8c28b
Added a special file dialog to select files and directories simultaneously.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8360
diff
changeset
|
65 | @type str |
d9fd02e8c28b
Added a special file dialog to select files and directories simultaneously.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8360
diff
changeset
|
66 | @param options various options for the dialog |
d9fd02e8c28b
Added a special file dialog to select files and directories simultaneously.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8360
diff
changeset
|
67 | @type QFileDialog.Options |
d9fd02e8c28b
Added a special file dialog to select files and directories simultaneously.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8360
diff
changeset
|
68 | @return name of file to be opened |
d9fd02e8c28b
Added a special file dialog to select files and directories simultaneously.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8360
diff
changeset
|
69 | @rtype str |
882
34b86be88bf0
Redid the native file dialog code to be future proof.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
791
diff
changeset
|
70 | """ |
8319
ea11a3948f40
Continued porting eric to PyQt6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8318
diff
changeset
|
71 | if options is None: |
ea11a3948f40
Continued porting eric to PyQt6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8318
diff
changeset
|
72 | options = QFileDialog.Option(0) |
7201
6b42677d7043
Modified sources to be in line with the minimum Qt/PyQt requirement (v 5.9.0).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6942
diff
changeset
|
73 | return QFileDialog.getOpenFileName( |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
74 | parent, caption, directory, filterStr, "", options |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
75 | )[0] |
882
34b86be88bf0
Redid the native file dialog code to be future proof.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
791
diff
changeset
|
76 | |
945
8cd4d08fa9f6
Made code mostly PEP 8 compliant (except all whitespace and line length).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
883
diff
changeset
|
77 | |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
78 | def getOpenFileNameAndFilter( |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
79 | parent=None, caption="", directory="", filterStr="", initialFilter="", options=None |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
80 | ): |
520
b0f523c3b037
Added code to cope with Linux distributor's usage of KDE wrapper dialogs for the Qt file dialogs.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
81 | """ |
b0f523c3b037
Added code to cope with Linux distributor's usage of KDE wrapper dialogs for the Qt file dialogs.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
82 | Module function to get the name of a file for opening it and the selected |
b0f523c3b037
Added code to cope with Linux distributor's usage of KDE wrapper dialogs for the Qt file dialogs.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
83 | file name filter. |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
84 | |
8403
d9fd02e8c28b
Added a special file dialog to select files and directories simultaneously.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8360
diff
changeset
|
85 | @param parent parent widget of the dialog |
d9fd02e8c28b
Added a special file dialog to select files and directories simultaneously.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8360
diff
changeset
|
86 | @type QWidget |
d9fd02e8c28b
Added a special file dialog to select files and directories simultaneously.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8360
diff
changeset
|
87 | @param caption window title of the dialog |
d9fd02e8c28b
Added a special file dialog to select files and directories simultaneously.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8360
diff
changeset
|
88 | @type str |
d9fd02e8c28b
Added a special file dialog to select files and directories simultaneously.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8360
diff
changeset
|
89 | @param directory working directory of the dialog |
d9fd02e8c28b
Added a special file dialog to select files and directories simultaneously.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8360
diff
changeset
|
90 | @type str |
d9fd02e8c28b
Added a special file dialog to select files and directories simultaneously.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8360
diff
changeset
|
91 | @param filterStr filter string for the dialog |
d9fd02e8c28b
Added a special file dialog to select files and directories simultaneously.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8360
diff
changeset
|
92 | @type str |
d9fd02e8c28b
Added a special file dialog to select files and directories simultaneously.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8360
diff
changeset
|
93 | @param initialFilter initial filter for the dialog |
d9fd02e8c28b
Added a special file dialog to select files and directories simultaneously.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8360
diff
changeset
|
94 | @type str |
d9fd02e8c28b
Added a special file dialog to select files and directories simultaneously.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8360
diff
changeset
|
95 | @param options various options for the dialog |
d9fd02e8c28b
Added a special file dialog to select files and directories simultaneously.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8360
diff
changeset
|
96 | @type QFileDialog.Options |
d9fd02e8c28b
Added a special file dialog to select files and directories simultaneously.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8360
diff
changeset
|
97 | @return name of file to be opened and selected filter |
d9fd02e8c28b
Added a special file dialog to select files and directories simultaneously.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8360
diff
changeset
|
98 | @rtype tuple of (str, str) |
520
b0f523c3b037
Added code to cope with Linux distributor's usage of KDE wrapper dialogs for the Qt file dialogs.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
99 | """ |
8319
ea11a3948f40
Continued porting eric to PyQt6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8318
diff
changeset
|
100 | if options is None: |
ea11a3948f40
Continued porting eric to PyQt6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8318
diff
changeset
|
101 | options = QFileDialog.Option(0) |
5587
ea526b78ee6c
Started to fix code style issues detected by the extended style checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5389
diff
changeset
|
102 | newfilter = __reorderFilter(filterStr, initialFilter) |
7201
6b42677d7043
Modified sources to be in line with the minimum Qt/PyQt requirement (v 5.9.0).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6942
diff
changeset
|
103 | return QFileDialog.getOpenFileName( |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
104 | parent, caption, directory, newfilter, initialFilter, options |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
105 | ) |
882
34b86be88bf0
Redid the native file dialog code to be future proof.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
791
diff
changeset
|
106 | |
945
8cd4d08fa9f6
Made code mostly PEP 8 compliant (except all whitespace and line length).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
883
diff
changeset
|
107 | |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
108 | def getOpenFileNames(parent=None, caption="", directory="", filterStr="", options=None): |
882
34b86be88bf0
Redid the native file dialog code to be future proof.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
791
diff
changeset
|
109 | """ |
34b86be88bf0
Redid the native file dialog code to be future proof.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
791
diff
changeset
|
110 | Module function to get a list of names of files for opening. |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
111 | |
8403
d9fd02e8c28b
Added a special file dialog to select files and directories simultaneously.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8360
diff
changeset
|
112 | @param parent parent widget of the dialog |
d9fd02e8c28b
Added a special file dialog to select files and directories simultaneously.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8360
diff
changeset
|
113 | @type QWidget |
d9fd02e8c28b
Added a special file dialog to select files and directories simultaneously.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8360
diff
changeset
|
114 | @param caption window title of the dialog |
d9fd02e8c28b
Added a special file dialog to select files and directories simultaneously.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8360
diff
changeset
|
115 | @type str |
d9fd02e8c28b
Added a special file dialog to select files and directories simultaneously.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8360
diff
changeset
|
116 | @param directory working directory of the dialog |
d9fd02e8c28b
Added a special file dialog to select files and directories simultaneously.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8360
diff
changeset
|
117 | @type str |
d9fd02e8c28b
Added a special file dialog to select files and directories simultaneously.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8360
diff
changeset
|
118 | @param filterStr filter string for the dialog |
d9fd02e8c28b
Added a special file dialog to select files and directories simultaneously.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8360
diff
changeset
|
119 | @type str |
d9fd02e8c28b
Added a special file dialog to select files and directories simultaneously.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8360
diff
changeset
|
120 | @param options various options for the dialog |
d9fd02e8c28b
Added a special file dialog to select files and directories simultaneously.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8360
diff
changeset
|
121 | @type QFileDialog.Options |
d9fd02e8c28b
Added a special file dialog to select files and directories simultaneously.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8360
diff
changeset
|
122 | @return list of file names to be opened |
d9fd02e8c28b
Added a special file dialog to select files and directories simultaneously.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8360
diff
changeset
|
123 | @rtype list of str |
882
34b86be88bf0
Redid the native file dialog code to be future proof.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
791
diff
changeset
|
124 | """ |
8319
ea11a3948f40
Continued porting eric to PyQt6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8318
diff
changeset
|
125 | if options is None: |
ea11a3948f40
Continued porting eric to PyQt6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8318
diff
changeset
|
126 | options = QFileDialog.Option(0) |
7201
6b42677d7043
Modified sources to be in line with the minimum Qt/PyQt requirement (v 5.9.0).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6942
diff
changeset
|
127 | return QFileDialog.getOpenFileNames( |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
128 | parent, caption, directory, filterStr, "", options |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
129 | )[0] |
520
b0f523c3b037
Added code to cope with Linux distributor's usage of KDE wrapper dialogs for the Qt file dialogs.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
130 | |
945
8cd4d08fa9f6
Made code mostly PEP 8 compliant (except all whitespace and line length).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
883
diff
changeset
|
131 | |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
132 | def getOpenFileNamesAndFilter( |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
133 | parent=None, caption="", directory="", filterStr="", initialFilter="", options=None |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
134 | ): |
520
b0f523c3b037
Added code to cope with Linux distributor's usage of KDE wrapper dialogs for the Qt file dialogs.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
135 | """ |
882
34b86be88bf0
Redid the native file dialog code to be future proof.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
791
diff
changeset
|
136 | Module function to get a list of names of files for opening and the |
34b86be88bf0
Redid the native file dialog code to be future proof.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
791
diff
changeset
|
137 | selected file name filter. |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
138 | |
8403
d9fd02e8c28b
Added a special file dialog to select files and directories simultaneously.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8360
diff
changeset
|
139 | @param parent parent widget of the dialog |
d9fd02e8c28b
Added a special file dialog to select files and directories simultaneously.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8360
diff
changeset
|
140 | @type QWidget |
d9fd02e8c28b
Added a special file dialog to select files and directories simultaneously.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8360
diff
changeset
|
141 | @param caption window title of the dialog |
d9fd02e8c28b
Added a special file dialog to select files and directories simultaneously.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8360
diff
changeset
|
142 | @type str |
d9fd02e8c28b
Added a special file dialog to select files and directories simultaneously.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8360
diff
changeset
|
143 | @param directory working directory of the dialog |
d9fd02e8c28b
Added a special file dialog to select files and directories simultaneously.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8360
diff
changeset
|
144 | @type str |
d9fd02e8c28b
Added a special file dialog to select files and directories simultaneously.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8360
diff
changeset
|
145 | @param filterStr filter string for the dialog |
d9fd02e8c28b
Added a special file dialog to select files and directories simultaneously.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8360
diff
changeset
|
146 | @type str |
d9fd02e8c28b
Added a special file dialog to select files and directories simultaneously.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8360
diff
changeset
|
147 | @param initialFilter initial filter for the dialog |
d9fd02e8c28b
Added a special file dialog to select files and directories simultaneously.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8360
diff
changeset
|
148 | @type str |
d9fd02e8c28b
Added a special file dialog to select files and directories simultaneously.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8360
diff
changeset
|
149 | @param options various options for the dialog |
d9fd02e8c28b
Added a special file dialog to select files and directories simultaneously.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8360
diff
changeset
|
150 | @type QFileDialog.Options |
945
8cd4d08fa9f6
Made code mostly PEP 8 compliant (except all whitespace and line length).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
883
diff
changeset
|
151 | @return list of file names to be opened and selected filter |
8403
d9fd02e8c28b
Added a special file dialog to select files and directories simultaneously.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8360
diff
changeset
|
152 | @rtype tuple of (list of str, str) |
520
b0f523c3b037
Added code to cope with Linux distributor's usage of KDE wrapper dialogs for the Qt file dialogs.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
153 | """ |
8319
ea11a3948f40
Continued porting eric to PyQt6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8318
diff
changeset
|
154 | if options is None: |
ea11a3948f40
Continued porting eric to PyQt6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8318
diff
changeset
|
155 | options = QFileDialog.Option(0) |
5587
ea526b78ee6c
Started to fix code style issues detected by the extended style checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5389
diff
changeset
|
156 | newfilter = __reorderFilter(filterStr, initialFilter) |
7201
6b42677d7043
Modified sources to be in line with the minimum Qt/PyQt requirement (v 5.9.0).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6942
diff
changeset
|
157 | return QFileDialog.getOpenFileNames( |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
158 | parent, caption, directory, newfilter, initialFilter, options |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
159 | ) |
882
34b86be88bf0
Redid the native file dialog code to be future proof.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
791
diff
changeset
|
160 | |
945
8cd4d08fa9f6
Made code mostly PEP 8 compliant (except all whitespace and line length).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
883
diff
changeset
|
161 | |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
162 | def getOpenFileAndDirNames( |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
163 | parent=None, caption="", directory="", filterStr="", options=None |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
164 | ): |
8403
d9fd02e8c28b
Added a special file dialog to select files and directories simultaneously.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8360
diff
changeset
|
165 | """ |
d9fd02e8c28b
Added a special file dialog to select files and directories simultaneously.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8360
diff
changeset
|
166 | Module function to get the names of files and directories for opening. |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
167 | |
8403
d9fd02e8c28b
Added a special file dialog to select files and directories simultaneously.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8360
diff
changeset
|
168 | @param parent parent widget of the dialog |
d9fd02e8c28b
Added a special file dialog to select files and directories simultaneously.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8360
diff
changeset
|
169 | @type QWidget |
d9fd02e8c28b
Added a special file dialog to select files and directories simultaneously.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8360
diff
changeset
|
170 | @param caption window title of the dialog |
d9fd02e8c28b
Added a special file dialog to select files and directories simultaneously.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8360
diff
changeset
|
171 | @type str |
d9fd02e8c28b
Added a special file dialog to select files and directories simultaneously.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8360
diff
changeset
|
172 | @param directory working directory of the dialog |
d9fd02e8c28b
Added a special file dialog to select files and directories simultaneously.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8360
diff
changeset
|
173 | @type str |
d9fd02e8c28b
Added a special file dialog to select files and directories simultaneously.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8360
diff
changeset
|
174 | @param filterStr filter string for the dialog |
d9fd02e8c28b
Added a special file dialog to select files and directories simultaneously.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8360
diff
changeset
|
175 | @type str |
d9fd02e8c28b
Added a special file dialog to select files and directories simultaneously.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8360
diff
changeset
|
176 | @param options various options for the dialog |
d9fd02e8c28b
Added a special file dialog to select files and directories simultaneously.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8360
diff
changeset
|
177 | @type QFileDialog.Options |
d9fd02e8c28b
Added a special file dialog to select files and directories simultaneously.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8360
diff
changeset
|
178 | @return names of the selected files and folders |
d9fd02e8c28b
Added a special file dialog to select files and directories simultaneously.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8360
diff
changeset
|
179 | @rtype list of str |
d9fd02e8c28b
Added a special file dialog to select files and directories simultaneously.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8360
diff
changeset
|
180 | """ |
d9fd02e8c28b
Added a special file dialog to select files and directories simultaneously.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8360
diff
changeset
|
181 | from .EricDirFileDialog import EricDirFileDialog |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
182 | |
8403
d9fd02e8c28b
Added a special file dialog to select files and directories simultaneously.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8360
diff
changeset
|
183 | return EricDirFileDialog.getOpenFileAndDirNames( |
d9fd02e8c28b
Added a special file dialog to select files and directories simultaneously.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8360
diff
changeset
|
184 | parent, caption, directory, filterStr, options |
d9fd02e8c28b
Added a special file dialog to select files and directories simultaneously.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8360
diff
changeset
|
185 | ) |
d9fd02e8c28b
Added a special file dialog to select files and directories simultaneously.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8360
diff
changeset
|
186 | |
d9fd02e8c28b
Added a special file dialog to select files and directories simultaneously.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8360
diff
changeset
|
187 | |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
188 | def getSaveFileName(parent=None, caption="", directory="", filterStr="", options=None): |
882
34b86be88bf0
Redid the native file dialog code to be future proof.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
791
diff
changeset
|
189 | """ |
9239
3c605ab5a8c7
Extended EricDirFileDialog and EricFileDialog to offer a pathlib.Path based interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9221
diff
changeset
|
190 | Module function to get the name of a file for saving. |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
191 | |
8403
d9fd02e8c28b
Added a special file dialog to select files and directories simultaneously.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8360
diff
changeset
|
192 | @param parent parent widget of the dialog |
d9fd02e8c28b
Added a special file dialog to select files and directories simultaneously.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8360
diff
changeset
|
193 | @type QWidget |
d9fd02e8c28b
Added a special file dialog to select files and directories simultaneously.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8360
diff
changeset
|
194 | @param caption window title of the dialog |
d9fd02e8c28b
Added a special file dialog to select files and directories simultaneously.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8360
diff
changeset
|
195 | @type str |
d9fd02e8c28b
Added a special file dialog to select files and directories simultaneously.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8360
diff
changeset
|
196 | @param directory working directory of the dialog |
d9fd02e8c28b
Added a special file dialog to select files and directories simultaneously.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8360
diff
changeset
|
197 | @type str |
d9fd02e8c28b
Added a special file dialog to select files and directories simultaneously.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8360
diff
changeset
|
198 | @param filterStr filter string for the dialog |
d9fd02e8c28b
Added a special file dialog to select files and directories simultaneously.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8360
diff
changeset
|
199 | @type str |
d9fd02e8c28b
Added a special file dialog to select files and directories simultaneously.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8360
diff
changeset
|
200 | @param options various options for the dialog |
d9fd02e8c28b
Added a special file dialog to select files and directories simultaneously.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8360
diff
changeset
|
201 | @type QFileDialog.Options |
d9fd02e8c28b
Added a special file dialog to select files and directories simultaneously.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8360
diff
changeset
|
202 | @return name of file to be saved |
d9fd02e8c28b
Added a special file dialog to select files and directories simultaneously.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8360
diff
changeset
|
203 | @rtype str |
882
34b86be88bf0
Redid the native file dialog code to be future proof.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
791
diff
changeset
|
204 | """ |
8319
ea11a3948f40
Continued porting eric to PyQt6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8318
diff
changeset
|
205 | if options is None: |
ea11a3948f40
Continued porting eric to PyQt6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8318
diff
changeset
|
206 | options = QFileDialog.Option(0) |
7201
6b42677d7043
Modified sources to be in line with the minimum Qt/PyQt requirement (v 5.9.0).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6942
diff
changeset
|
207 | return QFileDialog.getSaveFileName( |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
208 | parent, caption, directory, filterStr, "", options |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
209 | )[0] |
520
b0f523c3b037
Added code to cope with Linux distributor's usage of KDE wrapper dialogs for the Qt file dialogs.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
210 | |
945
8cd4d08fa9f6
Made code mostly PEP 8 compliant (except all whitespace and line length).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
883
diff
changeset
|
211 | |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
212 | def getSaveFileNameAndFilter( |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
213 | parent=None, caption="", directory="", filterStr="", initialFilter="", options=None |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
214 | ): |
520
b0f523c3b037
Added code to cope with Linux distributor's usage of KDE wrapper dialogs for the Qt file dialogs.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
215 | """ |
9239
3c605ab5a8c7
Extended EricDirFileDialog and EricFileDialog to offer a pathlib.Path based interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9221
diff
changeset
|
216 | Module function to get the name of a file for saving and the selected file name |
3c605ab5a8c7
Extended EricDirFileDialog and EricFileDialog to offer a pathlib.Path based interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9221
diff
changeset
|
217 | filter. |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
218 | |
8403
d9fd02e8c28b
Added a special file dialog to select files and directories simultaneously.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8360
diff
changeset
|
219 | @param parent parent widget of the dialog |
d9fd02e8c28b
Added a special file dialog to select files and directories simultaneously.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8360
diff
changeset
|
220 | @type QWidget |
d9fd02e8c28b
Added a special file dialog to select files and directories simultaneously.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8360
diff
changeset
|
221 | @param caption window title of the dialog |
d9fd02e8c28b
Added a special file dialog to select files and directories simultaneously.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8360
diff
changeset
|
222 | @type str |
d9fd02e8c28b
Added a special file dialog to select files and directories simultaneously.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8360
diff
changeset
|
223 | @param directory working directory of the dialog |
d9fd02e8c28b
Added a special file dialog to select files and directories simultaneously.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8360
diff
changeset
|
224 | @type str |
d9fd02e8c28b
Added a special file dialog to select files and directories simultaneously.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8360
diff
changeset
|
225 | @param filterStr filter string for the dialog |
d9fd02e8c28b
Added a special file dialog to select files and directories simultaneously.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8360
diff
changeset
|
226 | @type str |
d9fd02e8c28b
Added a special file dialog to select files and directories simultaneously.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8360
diff
changeset
|
227 | @param initialFilter initial filter for the dialog |
d9fd02e8c28b
Added a special file dialog to select files and directories simultaneously.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8360
diff
changeset
|
228 | @type str |
d9fd02e8c28b
Added a special file dialog to select files and directories simultaneously.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8360
diff
changeset
|
229 | @param options various options for the dialog |
d9fd02e8c28b
Added a special file dialog to select files and directories simultaneously.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8360
diff
changeset
|
230 | @type QFileDialog.Options |
d9fd02e8c28b
Added a special file dialog to select files and directories simultaneously.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8360
diff
changeset
|
231 | @return name of file to be saved and selected filte |
d9fd02e8c28b
Added a special file dialog to select files and directories simultaneously.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8360
diff
changeset
|
232 | @rtype tuple of (str, str) |
520
b0f523c3b037
Added code to cope with Linux distributor's usage of KDE wrapper dialogs for the Qt file dialogs.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
233 | """ |
8319
ea11a3948f40
Continued porting eric to PyQt6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8318
diff
changeset
|
234 | if options is None: |
ea11a3948f40
Continued porting eric to PyQt6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8318
diff
changeset
|
235 | options = QFileDialog.Option(0) |
5587
ea526b78ee6c
Started to fix code style issues detected by the extended style checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5389
diff
changeset
|
236 | newfilter = __reorderFilter(filterStr, initialFilter) |
7201
6b42677d7043
Modified sources to be in line with the minimum Qt/PyQt requirement (v 5.9.0).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6942
diff
changeset
|
237 | return QFileDialog.getSaveFileName( |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
238 | parent, caption, directory, newfilter, initialFilter, options |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
239 | ) |
882
34b86be88bf0
Redid the native file dialog code to be future proof.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
791
diff
changeset
|
240 | |
945
8cd4d08fa9f6
Made code mostly PEP 8 compliant (except all whitespace and line length).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
883
diff
changeset
|
241 | |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
242 | def getExistingDirectory( |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
243 | parent=None, caption="", directory="", options=QFileDialog.Option.ShowDirsOnly |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
244 | ): |
882
34b86be88bf0
Redid the native file dialog code to be future proof.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
791
diff
changeset
|
245 | """ |
34b86be88bf0
Redid the native file dialog code to be future proof.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
791
diff
changeset
|
246 | Module function to get the name of a directory. |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
247 | |
8403
d9fd02e8c28b
Added a special file dialog to select files and directories simultaneously.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8360
diff
changeset
|
248 | @param parent parent widget of the dialog |
d9fd02e8c28b
Added a special file dialog to select files and directories simultaneously.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8360
diff
changeset
|
249 | @type QWidget |
d9fd02e8c28b
Added a special file dialog to select files and directories simultaneously.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8360
diff
changeset
|
250 | @param caption window title of the dialog |
d9fd02e8c28b
Added a special file dialog to select files and directories simultaneously.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8360
diff
changeset
|
251 | @type str |
d9fd02e8c28b
Added a special file dialog to select files and directories simultaneously.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8360
diff
changeset
|
252 | @param directory working directory of the dialog |
d9fd02e8c28b
Added a special file dialog to select files and directories simultaneously.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8360
diff
changeset
|
253 | @type str |
d9fd02e8c28b
Added a special file dialog to select files and directories simultaneously.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8360
diff
changeset
|
254 | @param options various options for the dialog |
d9fd02e8c28b
Added a special file dialog to select files and directories simultaneously.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8360
diff
changeset
|
255 | @type QFileDialog.Options |
d9fd02e8c28b
Added a special file dialog to select files and directories simultaneously.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8360
diff
changeset
|
256 | @return name of selected directory |
d9fd02e8c28b
Added a special file dialog to select files and directories simultaneously.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8360
diff
changeset
|
257 | @rtype str |
882
34b86be88bf0
Redid the native file dialog code to be future proof.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
791
diff
changeset
|
258 | """ |
8319
ea11a3948f40
Continued porting eric to PyQt6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8318
diff
changeset
|
259 | if options is None: |
ea11a3948f40
Continued porting eric to PyQt6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8318
diff
changeset
|
260 | options = QFileDialog.Option(0) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
261 | return QFileDialog.getExistingDirectory(parent, caption, directory, options) |
9239
3c605ab5a8c7
Extended EricDirFileDialog and EricFileDialog to offer a pathlib.Path based interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9221
diff
changeset
|
262 | |
3c605ab5a8c7
Extended EricDirFileDialog and EricFileDialog to offer a pathlib.Path based interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9221
diff
changeset
|
263 | |
3c605ab5a8c7
Extended EricDirFileDialog and EricFileDialog to offer a pathlib.Path based interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9221
diff
changeset
|
264 | ########################################################################### |
3c605ab5a8c7
Extended EricDirFileDialog and EricFileDialog to offer a pathlib.Path based interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9221
diff
changeset
|
265 | ## pathlib.Path based interface |
3c605ab5a8c7
Extended EricDirFileDialog and EricFileDialog to offer a pathlib.Path based interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9221
diff
changeset
|
266 | ########################################################################### |
3c605ab5a8c7
Extended EricDirFileDialog and EricFileDialog to offer a pathlib.Path based interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9221
diff
changeset
|
267 | |
3c605ab5a8c7
Extended EricDirFileDialog and EricFileDialog to offer a pathlib.Path based interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9221
diff
changeset
|
268 | |
3c605ab5a8c7
Extended EricDirFileDialog and EricFileDialog to offer a pathlib.Path based interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9221
diff
changeset
|
269 | def getOpenFilePath(parent=None, caption="", directory="", filterStr="", options=None): |
3c605ab5a8c7
Extended EricDirFileDialog and EricFileDialog to offer a pathlib.Path based interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9221
diff
changeset
|
270 | """ |
3c605ab5a8c7
Extended EricDirFileDialog and EricFileDialog to offer a pathlib.Path based interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9221
diff
changeset
|
271 | Module function to get the path of a file for opening it. |
3c605ab5a8c7
Extended EricDirFileDialog and EricFileDialog to offer a pathlib.Path based interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9221
diff
changeset
|
272 | |
3c605ab5a8c7
Extended EricDirFileDialog and EricFileDialog to offer a pathlib.Path based interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9221
diff
changeset
|
273 | @param parent parent widget of the dialog |
3c605ab5a8c7
Extended EricDirFileDialog and EricFileDialog to offer a pathlib.Path based interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9221
diff
changeset
|
274 | @type QWidget |
3c605ab5a8c7
Extended EricDirFileDialog and EricFileDialog to offer a pathlib.Path based interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9221
diff
changeset
|
275 | @param caption window title of the dialog |
3c605ab5a8c7
Extended EricDirFileDialog and EricFileDialog to offer a pathlib.Path based interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9221
diff
changeset
|
276 | @type str |
3c605ab5a8c7
Extended EricDirFileDialog and EricFileDialog to offer a pathlib.Path based interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9221
diff
changeset
|
277 | @param directory working directory of the dialog |
3c605ab5a8c7
Extended EricDirFileDialog and EricFileDialog to offer a pathlib.Path based interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9221
diff
changeset
|
278 | @type str or pathlib.Path |
3c605ab5a8c7
Extended EricDirFileDialog and EricFileDialog to offer a pathlib.Path based interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9221
diff
changeset
|
279 | @param filterStr filter string for the dialog |
3c605ab5a8c7
Extended EricDirFileDialog and EricFileDialog to offer a pathlib.Path based interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9221
diff
changeset
|
280 | @type str |
3c605ab5a8c7
Extended EricDirFileDialog and EricFileDialog to offer a pathlib.Path based interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9221
diff
changeset
|
281 | @param options various options for the dialog |
3c605ab5a8c7
Extended EricDirFileDialog and EricFileDialog to offer a pathlib.Path based interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9221
diff
changeset
|
282 | @type QFileDialog.Options |
3c605ab5a8c7
Extended EricDirFileDialog and EricFileDialog to offer a pathlib.Path based interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9221
diff
changeset
|
283 | @return path of file to be opened |
3c605ab5a8c7
Extended EricDirFileDialog and EricFileDialog to offer a pathlib.Path based interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9221
diff
changeset
|
284 | @rtype pathlib.Path |
3c605ab5a8c7
Extended EricDirFileDialog and EricFileDialog to offer a pathlib.Path based interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9221
diff
changeset
|
285 | """ |
3c605ab5a8c7
Extended EricDirFileDialog and EricFileDialog to offer a pathlib.Path based interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9221
diff
changeset
|
286 | if options is None: |
3c605ab5a8c7
Extended EricDirFileDialog and EricFileDialog to offer a pathlib.Path based interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9221
diff
changeset
|
287 | options = QFileDialog.Option(0) |
3c605ab5a8c7
Extended EricDirFileDialog and EricFileDialog to offer a pathlib.Path based interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9221
diff
changeset
|
288 | filename = QFileDialog.getOpenFileName( |
3c605ab5a8c7
Extended EricDirFileDialog and EricFileDialog to offer a pathlib.Path based interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9221
diff
changeset
|
289 | parent, caption, str(directory), filterStr, "", options |
3c605ab5a8c7
Extended EricDirFileDialog and EricFileDialog to offer a pathlib.Path based interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9221
diff
changeset
|
290 | )[0] |
3c605ab5a8c7
Extended EricDirFileDialog and EricFileDialog to offer a pathlib.Path based interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9221
diff
changeset
|
291 | return pathlib.Path(filename) |
3c605ab5a8c7
Extended EricDirFileDialog and EricFileDialog to offer a pathlib.Path based interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9221
diff
changeset
|
292 | |
3c605ab5a8c7
Extended EricDirFileDialog and EricFileDialog to offer a pathlib.Path based interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9221
diff
changeset
|
293 | |
3c605ab5a8c7
Extended EricDirFileDialog and EricFileDialog to offer a pathlib.Path based interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9221
diff
changeset
|
294 | def getOpenFilePathAndFilter( |
3c605ab5a8c7
Extended EricDirFileDialog and EricFileDialog to offer a pathlib.Path based interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9221
diff
changeset
|
295 | parent=None, caption="", directory="", filterStr="", initialFilter="", options=None |
3c605ab5a8c7
Extended EricDirFileDialog and EricFileDialog to offer a pathlib.Path based interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9221
diff
changeset
|
296 | ): |
3c605ab5a8c7
Extended EricDirFileDialog and EricFileDialog to offer a pathlib.Path based interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9221
diff
changeset
|
297 | """ |
3c605ab5a8c7
Extended EricDirFileDialog and EricFileDialog to offer a pathlib.Path based interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9221
diff
changeset
|
298 | Module function to get the path of a file for opening it and the selected |
3c605ab5a8c7
Extended EricDirFileDialog and EricFileDialog to offer a pathlib.Path based interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9221
diff
changeset
|
299 | file name filter. |
3c605ab5a8c7
Extended EricDirFileDialog and EricFileDialog to offer a pathlib.Path based interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9221
diff
changeset
|
300 | |
3c605ab5a8c7
Extended EricDirFileDialog and EricFileDialog to offer a pathlib.Path based interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9221
diff
changeset
|
301 | @param parent parent widget of the dialog |
3c605ab5a8c7
Extended EricDirFileDialog and EricFileDialog to offer a pathlib.Path based interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9221
diff
changeset
|
302 | @type QWidget |
3c605ab5a8c7
Extended EricDirFileDialog and EricFileDialog to offer a pathlib.Path based interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9221
diff
changeset
|
303 | @param caption window title of the dialog |
3c605ab5a8c7
Extended EricDirFileDialog and EricFileDialog to offer a pathlib.Path based interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9221
diff
changeset
|
304 | @type str |
3c605ab5a8c7
Extended EricDirFileDialog and EricFileDialog to offer a pathlib.Path based interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9221
diff
changeset
|
305 | @param directory working directory of the dialog |
3c605ab5a8c7
Extended EricDirFileDialog and EricFileDialog to offer a pathlib.Path based interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9221
diff
changeset
|
306 | @type str or pathlib.Path |
3c605ab5a8c7
Extended EricDirFileDialog and EricFileDialog to offer a pathlib.Path based interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9221
diff
changeset
|
307 | @param filterStr filter string for the dialog |
3c605ab5a8c7
Extended EricDirFileDialog and EricFileDialog to offer a pathlib.Path based interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9221
diff
changeset
|
308 | @type str |
3c605ab5a8c7
Extended EricDirFileDialog and EricFileDialog to offer a pathlib.Path based interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9221
diff
changeset
|
309 | @param initialFilter initial filter for the dialog |
3c605ab5a8c7
Extended EricDirFileDialog and EricFileDialog to offer a pathlib.Path based interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9221
diff
changeset
|
310 | @type str |
3c605ab5a8c7
Extended EricDirFileDialog and EricFileDialog to offer a pathlib.Path based interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9221
diff
changeset
|
311 | @param options various options for the dialog |
3c605ab5a8c7
Extended EricDirFileDialog and EricFileDialog to offer a pathlib.Path based interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9221
diff
changeset
|
312 | @type QFileDialog.Options |
3c605ab5a8c7
Extended EricDirFileDialog and EricFileDialog to offer a pathlib.Path based interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9221
diff
changeset
|
313 | @return path of file to be opened and selected filter |
3c605ab5a8c7
Extended EricDirFileDialog and EricFileDialog to offer a pathlib.Path based interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9221
diff
changeset
|
314 | @rtype tuple of (pathlib.Path, str) |
3c605ab5a8c7
Extended EricDirFileDialog and EricFileDialog to offer a pathlib.Path based interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9221
diff
changeset
|
315 | """ |
3c605ab5a8c7
Extended EricDirFileDialog and EricFileDialog to offer a pathlib.Path based interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9221
diff
changeset
|
316 | if options is None: |
3c605ab5a8c7
Extended EricDirFileDialog and EricFileDialog to offer a pathlib.Path based interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9221
diff
changeset
|
317 | options = QFileDialog.Option(0) |
3c605ab5a8c7
Extended EricDirFileDialog and EricFileDialog to offer a pathlib.Path based interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9221
diff
changeset
|
318 | newfilter = __reorderFilter(filterStr, initialFilter) |
3c605ab5a8c7
Extended EricDirFileDialog and EricFileDialog to offer a pathlib.Path based interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9221
diff
changeset
|
319 | filename, selectedFilter = QFileDialog.getOpenFileName( |
3c605ab5a8c7
Extended EricDirFileDialog and EricFileDialog to offer a pathlib.Path based interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9221
diff
changeset
|
320 | parent, caption, str(directory), newfilter, initialFilter, options |
3c605ab5a8c7
Extended EricDirFileDialog and EricFileDialog to offer a pathlib.Path based interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9221
diff
changeset
|
321 | ) |
3c605ab5a8c7
Extended EricDirFileDialog and EricFileDialog to offer a pathlib.Path based interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9221
diff
changeset
|
322 | return pathlib.Path(filename), selectedFilter |
3c605ab5a8c7
Extended EricDirFileDialog and EricFileDialog to offer a pathlib.Path based interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9221
diff
changeset
|
323 | |
3c605ab5a8c7
Extended EricDirFileDialog and EricFileDialog to offer a pathlib.Path based interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9221
diff
changeset
|
324 | |
3c605ab5a8c7
Extended EricDirFileDialog and EricFileDialog to offer a pathlib.Path based interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9221
diff
changeset
|
325 | def getOpenFilePaths(parent=None, caption="", directory="", filterStr="", options=None): |
3c605ab5a8c7
Extended EricDirFileDialog and EricFileDialog to offer a pathlib.Path based interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9221
diff
changeset
|
326 | """ |
3c605ab5a8c7
Extended EricDirFileDialog and EricFileDialog to offer a pathlib.Path based interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9221
diff
changeset
|
327 | Module function to get a list of paths of files for opening. |
3c605ab5a8c7
Extended EricDirFileDialog and EricFileDialog to offer a pathlib.Path based interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9221
diff
changeset
|
328 | |
3c605ab5a8c7
Extended EricDirFileDialog and EricFileDialog to offer a pathlib.Path based interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9221
diff
changeset
|
329 | @param parent parent widget of the dialog |
3c605ab5a8c7
Extended EricDirFileDialog and EricFileDialog to offer a pathlib.Path based interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9221
diff
changeset
|
330 | @type QWidget |
3c605ab5a8c7
Extended EricDirFileDialog and EricFileDialog to offer a pathlib.Path based interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9221
diff
changeset
|
331 | @param caption window title of the dialog |
3c605ab5a8c7
Extended EricDirFileDialog and EricFileDialog to offer a pathlib.Path based interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9221
diff
changeset
|
332 | @type str |
3c605ab5a8c7
Extended EricDirFileDialog and EricFileDialog to offer a pathlib.Path based interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9221
diff
changeset
|
333 | @param directory working directory of the dialog |
3c605ab5a8c7
Extended EricDirFileDialog and EricFileDialog to offer a pathlib.Path based interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9221
diff
changeset
|
334 | @type str or pathlib.Path |
3c605ab5a8c7
Extended EricDirFileDialog and EricFileDialog to offer a pathlib.Path based interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9221
diff
changeset
|
335 | @param filterStr filter string for the dialog |
3c605ab5a8c7
Extended EricDirFileDialog and EricFileDialog to offer a pathlib.Path based interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9221
diff
changeset
|
336 | @type str |
3c605ab5a8c7
Extended EricDirFileDialog and EricFileDialog to offer a pathlib.Path based interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9221
diff
changeset
|
337 | @param options various options for the dialog |
3c605ab5a8c7
Extended EricDirFileDialog and EricFileDialog to offer a pathlib.Path based interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9221
diff
changeset
|
338 | @type QFileDialog.Options |
3c605ab5a8c7
Extended EricDirFileDialog and EricFileDialog to offer a pathlib.Path based interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9221
diff
changeset
|
339 | @return list of file paths to be opened |
3c605ab5a8c7
Extended EricDirFileDialog and EricFileDialog to offer a pathlib.Path based interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9221
diff
changeset
|
340 | @rtype list of pathlib.Path |
3c605ab5a8c7
Extended EricDirFileDialog and EricFileDialog to offer a pathlib.Path based interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9221
diff
changeset
|
341 | """ |
3c605ab5a8c7
Extended EricDirFileDialog and EricFileDialog to offer a pathlib.Path based interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9221
diff
changeset
|
342 | if options is None: |
3c605ab5a8c7
Extended EricDirFileDialog and EricFileDialog to offer a pathlib.Path based interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9221
diff
changeset
|
343 | options = QFileDialog.Option(0) |
3c605ab5a8c7
Extended EricDirFileDialog and EricFileDialog to offer a pathlib.Path based interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9221
diff
changeset
|
344 | filenames = QFileDialog.getOpenFileNames( |
3c605ab5a8c7
Extended EricDirFileDialog and EricFileDialog to offer a pathlib.Path based interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9221
diff
changeset
|
345 | parent, caption, str(directory), filterStr, "", options |
3c605ab5a8c7
Extended EricDirFileDialog and EricFileDialog to offer a pathlib.Path based interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9221
diff
changeset
|
346 | )[0] |
3c605ab5a8c7
Extended EricDirFileDialog and EricFileDialog to offer a pathlib.Path based interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9221
diff
changeset
|
347 | return [pathlib.Path(f) for f in filenames] |
3c605ab5a8c7
Extended EricDirFileDialog and EricFileDialog to offer a pathlib.Path based interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9221
diff
changeset
|
348 | |
3c605ab5a8c7
Extended EricDirFileDialog and EricFileDialog to offer a pathlib.Path based interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9221
diff
changeset
|
349 | |
3c605ab5a8c7
Extended EricDirFileDialog and EricFileDialog to offer a pathlib.Path based interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9221
diff
changeset
|
350 | def getOpenFilPathsAndFilter( |
3c605ab5a8c7
Extended EricDirFileDialog and EricFileDialog to offer a pathlib.Path based interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9221
diff
changeset
|
351 | parent=None, caption="", directory="", filterStr="", initialFilter="", options=None |
3c605ab5a8c7
Extended EricDirFileDialog and EricFileDialog to offer a pathlib.Path based interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9221
diff
changeset
|
352 | ): |
3c605ab5a8c7
Extended EricDirFileDialog and EricFileDialog to offer a pathlib.Path based interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9221
diff
changeset
|
353 | """ |
3c605ab5a8c7
Extended EricDirFileDialog and EricFileDialog to offer a pathlib.Path based interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9221
diff
changeset
|
354 | Module function to get a list of paths of files for opening and the |
3c605ab5a8c7
Extended EricDirFileDialog and EricFileDialog to offer a pathlib.Path based interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9221
diff
changeset
|
355 | selected file name filter. |
3c605ab5a8c7
Extended EricDirFileDialog and EricFileDialog to offer a pathlib.Path based interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9221
diff
changeset
|
356 | |
3c605ab5a8c7
Extended EricDirFileDialog and EricFileDialog to offer a pathlib.Path based interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9221
diff
changeset
|
357 | @param parent parent widget of the dialog |
3c605ab5a8c7
Extended EricDirFileDialog and EricFileDialog to offer a pathlib.Path based interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9221
diff
changeset
|
358 | @type QWidget |
3c605ab5a8c7
Extended EricDirFileDialog and EricFileDialog to offer a pathlib.Path based interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9221
diff
changeset
|
359 | @param caption window title of the dialog |
3c605ab5a8c7
Extended EricDirFileDialog and EricFileDialog to offer a pathlib.Path based interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9221
diff
changeset
|
360 | @type str |
3c605ab5a8c7
Extended EricDirFileDialog and EricFileDialog to offer a pathlib.Path based interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9221
diff
changeset
|
361 | @param directory working directory of the dialog |
3c605ab5a8c7
Extended EricDirFileDialog and EricFileDialog to offer a pathlib.Path based interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9221
diff
changeset
|
362 | @type str or pathlib.Path |
3c605ab5a8c7
Extended EricDirFileDialog and EricFileDialog to offer a pathlib.Path based interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9221
diff
changeset
|
363 | @param filterStr filter string for the dialog |
3c605ab5a8c7
Extended EricDirFileDialog and EricFileDialog to offer a pathlib.Path based interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9221
diff
changeset
|
364 | @type str |
3c605ab5a8c7
Extended EricDirFileDialog and EricFileDialog to offer a pathlib.Path based interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9221
diff
changeset
|
365 | @param initialFilter initial filter for the dialog |
3c605ab5a8c7
Extended EricDirFileDialog and EricFileDialog to offer a pathlib.Path based interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9221
diff
changeset
|
366 | @type str |
3c605ab5a8c7
Extended EricDirFileDialog and EricFileDialog to offer a pathlib.Path based interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9221
diff
changeset
|
367 | @param options various options for the dialog |
3c605ab5a8c7
Extended EricDirFileDialog and EricFileDialog to offer a pathlib.Path based interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9221
diff
changeset
|
368 | @type QFileDialog.Options |
3c605ab5a8c7
Extended EricDirFileDialog and EricFileDialog to offer a pathlib.Path based interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9221
diff
changeset
|
369 | @return list of file paths to be opened and selected filter |
3c605ab5a8c7
Extended EricDirFileDialog and EricFileDialog to offer a pathlib.Path based interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9221
diff
changeset
|
370 | @rtype tuple of (list of pathlib.Path, str) |
3c605ab5a8c7
Extended EricDirFileDialog and EricFileDialog to offer a pathlib.Path based interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9221
diff
changeset
|
371 | """ |
3c605ab5a8c7
Extended EricDirFileDialog and EricFileDialog to offer a pathlib.Path based interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9221
diff
changeset
|
372 | if options is None: |
3c605ab5a8c7
Extended EricDirFileDialog and EricFileDialog to offer a pathlib.Path based interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9221
diff
changeset
|
373 | options = QFileDialog.Option(0) |
3c605ab5a8c7
Extended EricDirFileDialog and EricFileDialog to offer a pathlib.Path based interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9221
diff
changeset
|
374 | newfilter = __reorderFilter(filterStr, initialFilter) |
3c605ab5a8c7
Extended EricDirFileDialog and EricFileDialog to offer a pathlib.Path based interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9221
diff
changeset
|
375 | filenames, selectedFilter = QFileDialog.getOpenFileNames( |
3c605ab5a8c7
Extended EricDirFileDialog and EricFileDialog to offer a pathlib.Path based interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9221
diff
changeset
|
376 | parent, caption, str(directory), newfilter, initialFilter, options |
3c605ab5a8c7
Extended EricDirFileDialog and EricFileDialog to offer a pathlib.Path based interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9221
diff
changeset
|
377 | ) |
3c605ab5a8c7
Extended EricDirFileDialog and EricFileDialog to offer a pathlib.Path based interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9221
diff
changeset
|
378 | return [pathlib.Path(f) for f in filenames], selectedFilter |
3c605ab5a8c7
Extended EricDirFileDialog and EricFileDialog to offer a pathlib.Path based interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9221
diff
changeset
|
379 | |
3c605ab5a8c7
Extended EricDirFileDialog and EricFileDialog to offer a pathlib.Path based interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9221
diff
changeset
|
380 | |
3c605ab5a8c7
Extended EricDirFileDialog and EricFileDialog to offer a pathlib.Path based interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9221
diff
changeset
|
381 | def getOpenFileAndDirPaths( |
3c605ab5a8c7
Extended EricDirFileDialog and EricFileDialog to offer a pathlib.Path based interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9221
diff
changeset
|
382 | parent=None, caption="", directory="", filterStr="", options=None |
3c605ab5a8c7
Extended EricDirFileDialog and EricFileDialog to offer a pathlib.Path based interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9221
diff
changeset
|
383 | ): |
3c605ab5a8c7
Extended EricDirFileDialog and EricFileDialog to offer a pathlib.Path based interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9221
diff
changeset
|
384 | """ |
3c605ab5a8c7
Extended EricDirFileDialog and EricFileDialog to offer a pathlib.Path based interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9221
diff
changeset
|
385 | Module function to get the paths of files and directories for opening. |
3c605ab5a8c7
Extended EricDirFileDialog and EricFileDialog to offer a pathlib.Path based interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9221
diff
changeset
|
386 | |
3c605ab5a8c7
Extended EricDirFileDialog and EricFileDialog to offer a pathlib.Path based interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9221
diff
changeset
|
387 | @param parent parent widget of the dialog |
3c605ab5a8c7
Extended EricDirFileDialog and EricFileDialog to offer a pathlib.Path based interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9221
diff
changeset
|
388 | @type QWidget |
3c605ab5a8c7
Extended EricDirFileDialog and EricFileDialog to offer a pathlib.Path based interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9221
diff
changeset
|
389 | @param caption window title of the dialog |
3c605ab5a8c7
Extended EricDirFileDialog and EricFileDialog to offer a pathlib.Path based interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9221
diff
changeset
|
390 | @type str |
3c605ab5a8c7
Extended EricDirFileDialog and EricFileDialog to offer a pathlib.Path based interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9221
diff
changeset
|
391 | @param directory working directory of the dialog |
3c605ab5a8c7
Extended EricDirFileDialog and EricFileDialog to offer a pathlib.Path based interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9221
diff
changeset
|
392 | @type str or pathlib.Path |
3c605ab5a8c7
Extended EricDirFileDialog and EricFileDialog to offer a pathlib.Path based interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9221
diff
changeset
|
393 | @param filterStr filter string for the dialog |
3c605ab5a8c7
Extended EricDirFileDialog and EricFileDialog to offer a pathlib.Path based interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9221
diff
changeset
|
394 | @type str |
3c605ab5a8c7
Extended EricDirFileDialog and EricFileDialog to offer a pathlib.Path based interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9221
diff
changeset
|
395 | @param options various options for the dialog |
3c605ab5a8c7
Extended EricDirFileDialog and EricFileDialog to offer a pathlib.Path based interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9221
diff
changeset
|
396 | @type QFileDialog.Options |
3c605ab5a8c7
Extended EricDirFileDialog and EricFileDialog to offer a pathlib.Path based interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9221
diff
changeset
|
397 | @return paths of the selected files and folders |
3c605ab5a8c7
Extended EricDirFileDialog and EricFileDialog to offer a pathlib.Path based interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9221
diff
changeset
|
398 | @rtype list of pathlib.Path |
3c605ab5a8c7
Extended EricDirFileDialog and EricFileDialog to offer a pathlib.Path based interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9221
diff
changeset
|
399 | """ |
3c605ab5a8c7
Extended EricDirFileDialog and EricFileDialog to offer a pathlib.Path based interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9221
diff
changeset
|
400 | from .EricDirFileDialog import EricDirFileDialog |
3c605ab5a8c7
Extended EricDirFileDialog and EricFileDialog to offer a pathlib.Path based interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9221
diff
changeset
|
401 | |
3c605ab5a8c7
Extended EricDirFileDialog and EricFileDialog to offer a pathlib.Path based interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9221
diff
changeset
|
402 | return EricDirFileDialog.getOpenFileAndDirPaths( |
3c605ab5a8c7
Extended EricDirFileDialog and EricFileDialog to offer a pathlib.Path based interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9221
diff
changeset
|
403 | parent, caption, directory, filterStr, options |
3c605ab5a8c7
Extended EricDirFileDialog and EricFileDialog to offer a pathlib.Path based interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9221
diff
changeset
|
404 | ) |
3c605ab5a8c7
Extended EricDirFileDialog and EricFileDialog to offer a pathlib.Path based interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9221
diff
changeset
|
405 | |
3c605ab5a8c7
Extended EricDirFileDialog and EricFileDialog to offer a pathlib.Path based interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9221
diff
changeset
|
406 | |
3c605ab5a8c7
Extended EricDirFileDialog and EricFileDialog to offer a pathlib.Path based interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9221
diff
changeset
|
407 | def getSaveFilePath(parent=None, caption="", directory="", filterStr="", options=None): |
3c605ab5a8c7
Extended EricDirFileDialog and EricFileDialog to offer a pathlib.Path based interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9221
diff
changeset
|
408 | """ |
3c605ab5a8c7
Extended EricDirFileDialog and EricFileDialog to offer a pathlib.Path based interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9221
diff
changeset
|
409 | Module function to get the path of a file for saving. |
3c605ab5a8c7
Extended EricDirFileDialog and EricFileDialog to offer a pathlib.Path based interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9221
diff
changeset
|
410 | |
3c605ab5a8c7
Extended EricDirFileDialog and EricFileDialog to offer a pathlib.Path based interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9221
diff
changeset
|
411 | @param parent parent widget of the dialog |
3c605ab5a8c7
Extended EricDirFileDialog and EricFileDialog to offer a pathlib.Path based interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9221
diff
changeset
|
412 | @type QWidget |
3c605ab5a8c7
Extended EricDirFileDialog and EricFileDialog to offer a pathlib.Path based interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9221
diff
changeset
|
413 | @param caption window title of the dialog |
3c605ab5a8c7
Extended EricDirFileDialog and EricFileDialog to offer a pathlib.Path based interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9221
diff
changeset
|
414 | @type str |
3c605ab5a8c7
Extended EricDirFileDialog and EricFileDialog to offer a pathlib.Path based interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9221
diff
changeset
|
415 | @param directory working directory of the dialog |
3c605ab5a8c7
Extended EricDirFileDialog and EricFileDialog to offer a pathlib.Path based interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9221
diff
changeset
|
416 | @type str or pathlib.Path |
3c605ab5a8c7
Extended EricDirFileDialog and EricFileDialog to offer a pathlib.Path based interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9221
diff
changeset
|
417 | @param filterStr filter string for the dialog |
3c605ab5a8c7
Extended EricDirFileDialog and EricFileDialog to offer a pathlib.Path based interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9221
diff
changeset
|
418 | @type str |
3c605ab5a8c7
Extended EricDirFileDialog and EricFileDialog to offer a pathlib.Path based interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9221
diff
changeset
|
419 | @param options various options for the dialog |
3c605ab5a8c7
Extended EricDirFileDialog and EricFileDialog to offer a pathlib.Path based interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9221
diff
changeset
|
420 | @type QFileDialog.Options |
3c605ab5a8c7
Extended EricDirFileDialog and EricFileDialog to offer a pathlib.Path based interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9221
diff
changeset
|
421 | @return path of file to be saved |
3c605ab5a8c7
Extended EricDirFileDialog and EricFileDialog to offer a pathlib.Path based interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9221
diff
changeset
|
422 | @rtype pathlib.Path |
3c605ab5a8c7
Extended EricDirFileDialog and EricFileDialog to offer a pathlib.Path based interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9221
diff
changeset
|
423 | """ |
3c605ab5a8c7
Extended EricDirFileDialog and EricFileDialog to offer a pathlib.Path based interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9221
diff
changeset
|
424 | if options is None: |
3c605ab5a8c7
Extended EricDirFileDialog and EricFileDialog to offer a pathlib.Path based interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9221
diff
changeset
|
425 | options = QFileDialog.Option(0) |
3c605ab5a8c7
Extended EricDirFileDialog and EricFileDialog to offer a pathlib.Path based interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9221
diff
changeset
|
426 | filename = QFileDialog.getSaveFileName( |
3c605ab5a8c7
Extended EricDirFileDialog and EricFileDialog to offer a pathlib.Path based interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9221
diff
changeset
|
427 | parent, caption, str(directory), filterStr, "", options |
3c605ab5a8c7
Extended EricDirFileDialog and EricFileDialog to offer a pathlib.Path based interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9221
diff
changeset
|
428 | )[0] |
3c605ab5a8c7
Extended EricDirFileDialog and EricFileDialog to offer a pathlib.Path based interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9221
diff
changeset
|
429 | return pathlib.Path(filename) |
3c605ab5a8c7
Extended EricDirFileDialog and EricFileDialog to offer a pathlib.Path based interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9221
diff
changeset
|
430 | |
3c605ab5a8c7
Extended EricDirFileDialog and EricFileDialog to offer a pathlib.Path based interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9221
diff
changeset
|
431 | |
3c605ab5a8c7
Extended EricDirFileDialog and EricFileDialog to offer a pathlib.Path based interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9221
diff
changeset
|
432 | def getSaveFilePathAndFilter( |
3c605ab5a8c7
Extended EricDirFileDialog and EricFileDialog to offer a pathlib.Path based interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9221
diff
changeset
|
433 | parent=None, caption="", directory="", filterStr="", initialFilter="", options=None |
3c605ab5a8c7
Extended EricDirFileDialog and EricFileDialog to offer a pathlib.Path based interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9221
diff
changeset
|
434 | ): |
3c605ab5a8c7
Extended EricDirFileDialog and EricFileDialog to offer a pathlib.Path based interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9221
diff
changeset
|
435 | """ |
3c605ab5a8c7
Extended EricDirFileDialog and EricFileDialog to offer a pathlib.Path based interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9221
diff
changeset
|
436 | Module function to get the path of a file for saving and the selected |
3c605ab5a8c7
Extended EricDirFileDialog and EricFileDialog to offer a pathlib.Path based interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9221
diff
changeset
|
437 | file name filter. |
3c605ab5a8c7
Extended EricDirFileDialog and EricFileDialog to offer a pathlib.Path based interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9221
diff
changeset
|
438 | |
3c605ab5a8c7
Extended EricDirFileDialog and EricFileDialog to offer a pathlib.Path based interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9221
diff
changeset
|
439 | @param parent parent widget of the dialog |
3c605ab5a8c7
Extended EricDirFileDialog and EricFileDialog to offer a pathlib.Path based interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9221
diff
changeset
|
440 | @type QWidget |
3c605ab5a8c7
Extended EricDirFileDialog and EricFileDialog to offer a pathlib.Path based interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9221
diff
changeset
|
441 | @param caption window title of the dialog |
3c605ab5a8c7
Extended EricDirFileDialog and EricFileDialog to offer a pathlib.Path based interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9221
diff
changeset
|
442 | @type str |
3c605ab5a8c7
Extended EricDirFileDialog and EricFileDialog to offer a pathlib.Path based interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9221
diff
changeset
|
443 | @param directory working directory of the dialog |
3c605ab5a8c7
Extended EricDirFileDialog and EricFileDialog to offer a pathlib.Path based interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9221
diff
changeset
|
444 | @type str or pathlib.Path |
3c605ab5a8c7
Extended EricDirFileDialog and EricFileDialog to offer a pathlib.Path based interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9221
diff
changeset
|
445 | @param filterStr filter string for the dialog |
3c605ab5a8c7
Extended EricDirFileDialog and EricFileDialog to offer a pathlib.Path based interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9221
diff
changeset
|
446 | @type str |
3c605ab5a8c7
Extended EricDirFileDialog and EricFileDialog to offer a pathlib.Path based interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9221
diff
changeset
|
447 | @param initialFilter initial filter for the dialog |
3c605ab5a8c7
Extended EricDirFileDialog and EricFileDialog to offer a pathlib.Path based interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9221
diff
changeset
|
448 | @type str |
3c605ab5a8c7
Extended EricDirFileDialog and EricFileDialog to offer a pathlib.Path based interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9221
diff
changeset
|
449 | @param options various options for the dialog |
3c605ab5a8c7
Extended EricDirFileDialog and EricFileDialog to offer a pathlib.Path based interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9221
diff
changeset
|
450 | @type QFileDialog.Options |
3c605ab5a8c7
Extended EricDirFileDialog and EricFileDialog to offer a pathlib.Path based interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9221
diff
changeset
|
451 | @return path of file to be saved and selected filte |
3c605ab5a8c7
Extended EricDirFileDialog and EricFileDialog to offer a pathlib.Path based interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9221
diff
changeset
|
452 | @rtype tuple of (pathlib.Path, str) |
3c605ab5a8c7
Extended EricDirFileDialog and EricFileDialog to offer a pathlib.Path based interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9221
diff
changeset
|
453 | """ |
3c605ab5a8c7
Extended EricDirFileDialog and EricFileDialog to offer a pathlib.Path based interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9221
diff
changeset
|
454 | if options is None: |
3c605ab5a8c7
Extended EricDirFileDialog and EricFileDialog to offer a pathlib.Path based interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9221
diff
changeset
|
455 | options = QFileDialog.Option(0) |
3c605ab5a8c7
Extended EricDirFileDialog and EricFileDialog to offer a pathlib.Path based interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9221
diff
changeset
|
456 | newfilter = __reorderFilter(filterStr, initialFilter) |
3c605ab5a8c7
Extended EricDirFileDialog and EricFileDialog to offer a pathlib.Path based interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9221
diff
changeset
|
457 | filename, selectedFilter = QFileDialog.getSaveFileName( |
3c605ab5a8c7
Extended EricDirFileDialog and EricFileDialog to offer a pathlib.Path based interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9221
diff
changeset
|
458 | parent, caption, directory, newfilter, initialFilter, options |
3c605ab5a8c7
Extended EricDirFileDialog and EricFileDialog to offer a pathlib.Path based interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9221
diff
changeset
|
459 | ) |
3c605ab5a8c7
Extended EricDirFileDialog and EricFileDialog to offer a pathlib.Path based interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9221
diff
changeset
|
460 | return pathlib.Path(filename), selectedFilter |
3c605ab5a8c7
Extended EricDirFileDialog and EricFileDialog to offer a pathlib.Path based interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9221
diff
changeset
|
461 | |
3c605ab5a8c7
Extended EricDirFileDialog and EricFileDialog to offer a pathlib.Path based interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9221
diff
changeset
|
462 | |
3c605ab5a8c7
Extended EricDirFileDialog and EricFileDialog to offer a pathlib.Path based interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9221
diff
changeset
|
463 | def getExistingDirectoryPath( |
3c605ab5a8c7
Extended EricDirFileDialog and EricFileDialog to offer a pathlib.Path based interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9221
diff
changeset
|
464 | parent=None, caption="", directory="", options=QFileDialog.Option.ShowDirsOnly |
3c605ab5a8c7
Extended EricDirFileDialog and EricFileDialog to offer a pathlib.Path based interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9221
diff
changeset
|
465 | ): |
3c605ab5a8c7
Extended EricDirFileDialog and EricFileDialog to offer a pathlib.Path based interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9221
diff
changeset
|
466 | """ |
3c605ab5a8c7
Extended EricDirFileDialog and EricFileDialog to offer a pathlib.Path based interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9221
diff
changeset
|
467 | Module function to get the path of a directory. |
3c605ab5a8c7
Extended EricDirFileDialog and EricFileDialog to offer a pathlib.Path based interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9221
diff
changeset
|
468 | |
3c605ab5a8c7
Extended EricDirFileDialog and EricFileDialog to offer a pathlib.Path based interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9221
diff
changeset
|
469 | @param parent parent widget of the dialog |
3c605ab5a8c7
Extended EricDirFileDialog and EricFileDialog to offer a pathlib.Path based interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9221
diff
changeset
|
470 | @type QWidget |
3c605ab5a8c7
Extended EricDirFileDialog and EricFileDialog to offer a pathlib.Path based interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9221
diff
changeset
|
471 | @param caption window title of the dialog |
3c605ab5a8c7
Extended EricDirFileDialog and EricFileDialog to offer a pathlib.Path based interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9221
diff
changeset
|
472 | @type str |
3c605ab5a8c7
Extended EricDirFileDialog and EricFileDialog to offer a pathlib.Path based interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9221
diff
changeset
|
473 | @param directory working directory of the dialog |
3c605ab5a8c7
Extended EricDirFileDialog and EricFileDialog to offer a pathlib.Path based interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9221
diff
changeset
|
474 | @type str or pathlib.Path |
3c605ab5a8c7
Extended EricDirFileDialog and EricFileDialog to offer a pathlib.Path based interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9221
diff
changeset
|
475 | @param options various options for the dialog |
3c605ab5a8c7
Extended EricDirFileDialog and EricFileDialog to offer a pathlib.Path based interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9221
diff
changeset
|
476 | @type QFileDialog.Options |
3c605ab5a8c7
Extended EricDirFileDialog and EricFileDialog to offer a pathlib.Path based interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9221
diff
changeset
|
477 | @return path of selected directory |
3c605ab5a8c7
Extended EricDirFileDialog and EricFileDialog to offer a pathlib.Path based interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9221
diff
changeset
|
478 | @rtype pathlib.Path |
3c605ab5a8c7
Extended EricDirFileDialog and EricFileDialog to offer a pathlib.Path based interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9221
diff
changeset
|
479 | """ |
3c605ab5a8c7
Extended EricDirFileDialog and EricFileDialog to offer a pathlib.Path based interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9221
diff
changeset
|
480 | if options is None: |
3c605ab5a8c7
Extended EricDirFileDialog and EricFileDialog to offer a pathlib.Path based interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9221
diff
changeset
|
481 | options = QFileDialog.Option(0) |
3c605ab5a8c7
Extended EricDirFileDialog and EricFileDialog to offer a pathlib.Path based interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9221
diff
changeset
|
482 | dirname = QFileDialog.getExistingDirectory(parent, caption, str(directory), options) |
3c605ab5a8c7
Extended EricDirFileDialog and EricFileDialog to offer a pathlib.Path based interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9221
diff
changeset
|
483 | return pathlib.Path(dirname) |