Sat, 26 Apr 2025 12:34:32 +0200
MicroPython
- Added a configuration option to disable the support for the no longer produced Pimoroni Pico Wireless Pack.
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 | |
11090
f5f5f5803935
Updated copyright for 2025.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
11035
diff
changeset
|
3 | # Copyright (c) 2010 - 2025 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 | |
11035
e1e1d6e317c7
Modified some of the EricWidgets dialogs to ensure a valid parent widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10537
diff
changeset
|
12 | from PyQt6.QtCore import QCoreApplication |
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
|
13 | 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
|
14 | |
9624
b47dfa7a137d
Refactored the Utilities and Globals modules in order to enhance the maintainability.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9413
diff
changeset
|
15 | 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
|
16 | |
1910
96641d9a10a2
Fixed an issue adding a sub-repository on Windows systems.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1509
diff
changeset
|
17 | Option = QFileDialog.Option |
883
ac0c6a9ab656
Fixed an issue introduced by the last change.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
882
diff
changeset
|
18 | |
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
|
19 | 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
|
20 | 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
|
21 | 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
|
22 | 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
|
23 | 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
|
24 | 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
|
25 | 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
|
26 | |
945
8cd4d08fa9f6
Made code mostly PEP 8 compliant (except all whitespace and line length).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
883
diff
changeset
|
27 | |
5587
ea526b78ee6c
Started to fix code style issues detected by the extended style checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5389
diff
changeset
|
28 | 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
|
29 | """ |
882
34b86be88bf0
Redid the native file dialog code to be future proof.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
791
diff
changeset
|
30 | 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
|
31 | 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
|
32 | |
8403
d9fd02e8c28b
Added a special file dialog to select files and directories simultaneously.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8360
diff
changeset
|
33 | @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
|
34 | @type str |
10537
cd0fd14d09d5
EricFileDialog
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10439
diff
changeset
|
35 | @param initialFilter initial filter (defaults to "") |
cd0fd14d09d5
EricFileDialog
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10439
diff
changeset
|
36 | @type str (optional) |
8403
d9fd02e8c28b
Added a special file dialog to select files and directories simultaneously.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8360
diff
changeset
|
37 | @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
|
38 | @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
|
39 | """ |
9624
b47dfa7a137d
Refactored the Utilities and Globals modules in order to enhance the maintainability.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9413
diff
changeset
|
40 | 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
|
41 | fileFilters = filterStr.split(";;") |
523
596ad929137e
Fixed a bug in E5FileDialog.py.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
520
diff
changeset
|
42 | 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
|
43 | 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
|
44 | 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
|
45 | 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
|
46 | 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
|
47 | 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
|
48 | |
945
8cd4d08fa9f6
Made code mostly PEP 8 compliant (except all whitespace and line length).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
883
diff
changeset
|
49 | |
9239
3c605ab5a8c7
Extended EricDirFileDialog and EricFileDialog to offer a pathlib.Path based interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9221
diff
changeset
|
50 | ########################################################################### |
3c605ab5a8c7
Extended EricDirFileDialog and EricFileDialog to offer a pathlib.Path based interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9221
diff
changeset
|
51 | ## 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
|
52 | ########################################################################### |
3c605ab5a8c7
Extended EricDirFileDialog and EricFileDialog to offer a pathlib.Path based interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9221
diff
changeset
|
53 | |
3c605ab5a8c7
Extended EricDirFileDialog and EricFileDialog to offer a pathlib.Path based interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9221
diff
changeset
|
54 | |
10537
cd0fd14d09d5
EricFileDialog
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10439
diff
changeset
|
55 | def getOpenFileName( |
cd0fd14d09d5
EricFileDialog
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10439
diff
changeset
|
56 | parent=None, caption="", directory="", filterStr="", initialFilter="", options=None |
cd0fd14d09d5
EricFileDialog
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10439
diff
changeset
|
57 | ): |
882
34b86be88bf0
Redid the native file dialog code to be future proof.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
791
diff
changeset
|
58 | """ |
34b86be88bf0
Redid the native file dialog code to be future proof.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
791
diff
changeset
|
59 | 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
|
60 | |
10537
cd0fd14d09d5
EricFileDialog
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10439
diff
changeset
|
61 | @param parent parent widget of the dialog (defaults to None) |
cd0fd14d09d5
EricFileDialog
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10439
diff
changeset
|
62 | @type QWidget (optional) |
cd0fd14d09d5
EricFileDialog
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10439
diff
changeset
|
63 | @param caption window title of the dialog (defaults to "") |
cd0fd14d09d5
EricFileDialog
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10439
diff
changeset
|
64 | @type str (optional) |
cd0fd14d09d5
EricFileDialog
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10439
diff
changeset
|
65 | @param directory working directory of the dialog (defaults to "") |
cd0fd14d09d5
EricFileDialog
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10439
diff
changeset
|
66 | @type str (optional) |
cd0fd14d09d5
EricFileDialog
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10439
diff
changeset
|
67 | @param filterStr filter string for the dialog (defaults to "") |
cd0fd14d09d5
EricFileDialog
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10439
diff
changeset
|
68 | @type str (optional) |
cd0fd14d09d5
EricFileDialog
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10439
diff
changeset
|
69 | @param initialFilter initial filter for the dialog (defaults to "") |
cd0fd14d09d5
EricFileDialog
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10439
diff
changeset
|
70 | @type str (optional) |
cd0fd14d09d5
EricFileDialog
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10439
diff
changeset
|
71 | @param options various options for the dialog (defaults to None) |
cd0fd14d09d5
EricFileDialog
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10439
diff
changeset
|
72 | @type QFileDialog.Options ((optional) |
8403
d9fd02e8c28b
Added a special file dialog to select files and directories simultaneously.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8360
diff
changeset
|
73 | @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
|
74 | @rtype str |
882
34b86be88bf0
Redid the native file dialog code to be future proof.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
791
diff
changeset
|
75 | """ |
11035
e1e1d6e317c7
Modified some of the EricWidgets dialogs to ensure a valid parent widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10537
diff
changeset
|
76 | if parent is None: |
e1e1d6e317c7
Modified some of the EricWidgets dialogs to ensure a valid parent widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10537
diff
changeset
|
77 | parent = QCoreApplication.instance().getMainWindow() |
e1e1d6e317c7
Modified some of the EricWidgets dialogs to ensure a valid parent widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10537
diff
changeset
|
78 | |
10537
cd0fd14d09d5
EricFileDialog
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10439
diff
changeset
|
79 | return getOpenFileNameAndFilter( |
cd0fd14d09d5
EricFileDialog
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10439
diff
changeset
|
80 | parent, caption, directory, filterStr, initialFilter, options |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
81 | )[0] |
882
34b86be88bf0
Redid the native file dialog code to be future proof.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
791
diff
changeset
|
82 | |
945
8cd4d08fa9f6
Made code mostly PEP 8 compliant (except all whitespace and line length).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
883
diff
changeset
|
83 | |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
84 | def getOpenFileNameAndFilter( |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
85 | 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
|
86 | ): |
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
|
87 | """ |
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
|
88 | 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
|
89 | file name filter. |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
90 | |
10537
cd0fd14d09d5
EricFileDialog
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10439
diff
changeset
|
91 | @param parent parent widget of the dialog (defaults to None) |
cd0fd14d09d5
EricFileDialog
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10439
diff
changeset
|
92 | @type QWidget (optional) |
cd0fd14d09d5
EricFileDialog
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10439
diff
changeset
|
93 | @param caption window title of the dialog (defaults to "") |
cd0fd14d09d5
EricFileDialog
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10439
diff
changeset
|
94 | @type str (optional) |
cd0fd14d09d5
EricFileDialog
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10439
diff
changeset
|
95 | @param directory working directory of the dialog (defaults to "") |
cd0fd14d09d5
EricFileDialog
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10439
diff
changeset
|
96 | @type str (optional) |
cd0fd14d09d5
EricFileDialog
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10439
diff
changeset
|
97 | @param filterStr filter string for the dialog (defaults to "") |
cd0fd14d09d5
EricFileDialog
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10439
diff
changeset
|
98 | @type str (optional) |
cd0fd14d09d5
EricFileDialog
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10439
diff
changeset
|
99 | @param initialFilter initial filter for the dialog (defaults to "") |
cd0fd14d09d5
EricFileDialog
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10439
diff
changeset
|
100 | @type str (optional) |
cd0fd14d09d5
EricFileDialog
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10439
diff
changeset
|
101 | @param options various options for the dialog (defaults to None) |
cd0fd14d09d5
EricFileDialog
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10439
diff
changeset
|
102 | @type QFileDialog.Options ((optional) |
8403
d9fd02e8c28b
Added a special file dialog to select files and directories simultaneously.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8360
diff
changeset
|
103 | @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
|
104 | @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
|
105 | """ |
11035
e1e1d6e317c7
Modified some of the EricWidgets dialogs to ensure a valid parent widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10537
diff
changeset
|
106 | if parent is None: |
e1e1d6e317c7
Modified some of the EricWidgets dialogs to ensure a valid parent widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10537
diff
changeset
|
107 | parent = QCoreApplication.instance().getMainWindow() |
e1e1d6e317c7
Modified some of the EricWidgets dialogs to ensure a valid parent widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10537
diff
changeset
|
108 | |
8319
ea11a3948f40
Continued porting eric to PyQt6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8318
diff
changeset
|
109 | if options is None: |
ea11a3948f40
Continued porting eric to PyQt6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8318
diff
changeset
|
110 | 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
|
111 | 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
|
112 | return QFileDialog.getOpenFileName( |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
113 | 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
|
114 | ) |
882
34b86be88bf0
Redid the native file dialog code to be future proof.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
791
diff
changeset
|
115 | |
945
8cd4d08fa9f6
Made code mostly PEP 8 compliant (except all whitespace and line length).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
883
diff
changeset
|
116 | |
10537
cd0fd14d09d5
EricFileDialog
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10439
diff
changeset
|
117 | def getOpenFileNames( |
cd0fd14d09d5
EricFileDialog
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10439
diff
changeset
|
118 | parent=None, caption="", directory="", filterStr="", initialFilter="", options=None |
cd0fd14d09d5
EricFileDialog
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10439
diff
changeset
|
119 | ): |
882
34b86be88bf0
Redid the native file dialog code to be future proof.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
791
diff
changeset
|
120 | """ |
34b86be88bf0
Redid the native file dialog code to be future proof.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
791
diff
changeset
|
121 | 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
|
122 | |
10537
cd0fd14d09d5
EricFileDialog
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10439
diff
changeset
|
123 | @param parent parent widget of the dialog (defaults to None) |
cd0fd14d09d5
EricFileDialog
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10439
diff
changeset
|
124 | @type QWidget (optional) |
cd0fd14d09d5
EricFileDialog
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10439
diff
changeset
|
125 | @param caption window title of the dialog (defaults to "") |
cd0fd14d09d5
EricFileDialog
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10439
diff
changeset
|
126 | @type str (optional) |
cd0fd14d09d5
EricFileDialog
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10439
diff
changeset
|
127 | @param directory working directory of the dialog (defaults to "") |
cd0fd14d09d5
EricFileDialog
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10439
diff
changeset
|
128 | @type str (optional) |
cd0fd14d09d5
EricFileDialog
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10439
diff
changeset
|
129 | @param filterStr filter string for the dialog (defaults to "") |
cd0fd14d09d5
EricFileDialog
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10439
diff
changeset
|
130 | @type str (optional) |
cd0fd14d09d5
EricFileDialog
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10439
diff
changeset
|
131 | @param initialFilter initial filter for the dialog (defaults to "") |
cd0fd14d09d5
EricFileDialog
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10439
diff
changeset
|
132 | @type str (optional) |
cd0fd14d09d5
EricFileDialog
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10439
diff
changeset
|
133 | @param options various options for the dialog (defaults to None) |
cd0fd14d09d5
EricFileDialog
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10439
diff
changeset
|
134 | @type QFileDialog.Options ((optional) |
8403
d9fd02e8c28b
Added a special file dialog to select files and directories simultaneously.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8360
diff
changeset
|
135 | @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
|
136 | @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
|
137 | """ |
11035
e1e1d6e317c7
Modified some of the EricWidgets dialogs to ensure a valid parent widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10537
diff
changeset
|
138 | if parent is None: |
e1e1d6e317c7
Modified some of the EricWidgets dialogs to ensure a valid parent widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10537
diff
changeset
|
139 | parent = QCoreApplication.instance().getMainWindow() |
e1e1d6e317c7
Modified some of the EricWidgets dialogs to ensure a valid parent widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10537
diff
changeset
|
140 | |
10537
cd0fd14d09d5
EricFileDialog
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10439
diff
changeset
|
141 | return getOpenFileNamesAndFilter( |
cd0fd14d09d5
EricFileDialog
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10439
diff
changeset
|
142 | parent, caption, directory, filterStr, initialFilter, options |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
143 | )[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
|
144 | |
945
8cd4d08fa9f6
Made code mostly PEP 8 compliant (except all whitespace and line length).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
883
diff
changeset
|
145 | |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
146 | def getOpenFileNamesAndFilter( |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
147 | 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
|
148 | ): |
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
|
149 | """ |
882
34b86be88bf0
Redid the native file dialog code to be future proof.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
791
diff
changeset
|
150 | 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
|
151 | selected file name filter. |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
152 | |
10537
cd0fd14d09d5
EricFileDialog
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10439
diff
changeset
|
153 | @param parent parent widget of the dialog (defaults to None) |
cd0fd14d09d5
EricFileDialog
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10439
diff
changeset
|
154 | @type QWidget (optional) |
cd0fd14d09d5
EricFileDialog
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10439
diff
changeset
|
155 | @param caption window title of the dialog (defaults to "") |
cd0fd14d09d5
EricFileDialog
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10439
diff
changeset
|
156 | @type str (optional) |
cd0fd14d09d5
EricFileDialog
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10439
diff
changeset
|
157 | @param directory working directory of the dialog (defaults to "") |
cd0fd14d09d5
EricFileDialog
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10439
diff
changeset
|
158 | @type str (optional) |
cd0fd14d09d5
EricFileDialog
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10439
diff
changeset
|
159 | @param filterStr filter string for the dialog (defaults to "") |
cd0fd14d09d5
EricFileDialog
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10439
diff
changeset
|
160 | @type str (optional) |
cd0fd14d09d5
EricFileDialog
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10439
diff
changeset
|
161 | @param initialFilter initial filter for the dialog (defaults to "") |
cd0fd14d09d5
EricFileDialog
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10439
diff
changeset
|
162 | @type str (optional) |
cd0fd14d09d5
EricFileDialog
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10439
diff
changeset
|
163 | @param options various options for the dialog (defaults to None) |
cd0fd14d09d5
EricFileDialog
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10439
diff
changeset
|
164 | @type QFileDialog.Options ((optional) |
945
8cd4d08fa9f6
Made code mostly PEP 8 compliant (except all whitespace and line length).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
883
diff
changeset
|
165 | @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
|
166 | @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
|
167 | """ |
11035
e1e1d6e317c7
Modified some of the EricWidgets dialogs to ensure a valid parent widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10537
diff
changeset
|
168 | if parent is None: |
e1e1d6e317c7
Modified some of the EricWidgets dialogs to ensure a valid parent widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10537
diff
changeset
|
169 | parent = QCoreApplication.instance().getMainWindow() |
e1e1d6e317c7
Modified some of the EricWidgets dialogs to ensure a valid parent widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10537
diff
changeset
|
170 | |
8319
ea11a3948f40
Continued porting eric to PyQt6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8318
diff
changeset
|
171 | if options is None: |
ea11a3948f40
Continued porting eric to PyQt6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8318
diff
changeset
|
172 | 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
|
173 | 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
|
174 | return QFileDialog.getOpenFileNames( |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
175 | 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
|
176 | ) |
882
34b86be88bf0
Redid the native file dialog code to be future proof.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
791
diff
changeset
|
177 | |
945
8cd4d08fa9f6
Made code mostly PEP 8 compliant (except all whitespace and line length).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
883
diff
changeset
|
178 | |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
179 | def getOpenFileAndDirNames( |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
180 | 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
|
181 | ): |
8403
d9fd02e8c28b
Added a special file dialog to select files and directories simultaneously.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8360
diff
changeset
|
182 | """ |
d9fd02e8c28b
Added a special file dialog to select files and directories simultaneously.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8360
diff
changeset
|
183 | 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
|
184 | |
10537
cd0fd14d09d5
EricFileDialog
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10439
diff
changeset
|
185 | @param parent parent widget of the dialog (defaults to None) |
cd0fd14d09d5
EricFileDialog
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10439
diff
changeset
|
186 | @type QWidget (optional) |
cd0fd14d09d5
EricFileDialog
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10439
diff
changeset
|
187 | @param caption window title of the dialog (defaults to "") |
cd0fd14d09d5
EricFileDialog
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10439
diff
changeset
|
188 | @type str (optional) |
cd0fd14d09d5
EricFileDialog
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10439
diff
changeset
|
189 | @param directory working directory of the dialog (defaults to "") |
cd0fd14d09d5
EricFileDialog
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10439
diff
changeset
|
190 | @type str (optional) |
cd0fd14d09d5
EricFileDialog
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10439
diff
changeset
|
191 | @param filterStr filter string for the dialog (defaults to "") |
cd0fd14d09d5
EricFileDialog
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10439
diff
changeset
|
192 | @type str (optional) |
cd0fd14d09d5
EricFileDialog
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10439
diff
changeset
|
193 | @param options various options for the dialog (defaults to None) |
cd0fd14d09d5
EricFileDialog
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10439
diff
changeset
|
194 | @type QFileDialog.Options ((optional) |
8403
d9fd02e8c28b
Added a special file dialog to select files and directories simultaneously.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8360
diff
changeset
|
195 | @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
|
196 | @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
|
197 | """ |
d9fd02e8c28b
Added a special file dialog to select files and directories simultaneously.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8360
diff
changeset
|
198 | from .EricDirFileDialog import EricDirFileDialog |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
199 | |
11035
e1e1d6e317c7
Modified some of the EricWidgets dialogs to ensure a valid parent widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10537
diff
changeset
|
200 | if parent is None: |
e1e1d6e317c7
Modified some of the EricWidgets dialogs to ensure a valid parent widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10537
diff
changeset
|
201 | parent = QCoreApplication.instance().getMainWindow() |
e1e1d6e317c7
Modified some of the EricWidgets dialogs to ensure a valid parent widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10537
diff
changeset
|
202 | |
8403
d9fd02e8c28b
Added a special file dialog to select files and directories simultaneously.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8360
diff
changeset
|
203 | 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
|
204 | 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
|
205 | ) |
d9fd02e8c28b
Added a special file dialog to select files and directories simultaneously.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8360
diff
changeset
|
206 | |
d9fd02e8c28b
Added a special file dialog to select files and directories simultaneously.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8360
diff
changeset
|
207 | |
10537
cd0fd14d09d5
EricFileDialog
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10439
diff
changeset
|
208 | def getSaveFileName( |
cd0fd14d09d5
EricFileDialog
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10439
diff
changeset
|
209 | parent=None, caption="", directory="", filterStr="", initialFilter="", options=None |
cd0fd14d09d5
EricFileDialog
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10439
diff
changeset
|
210 | ): |
882
34b86be88bf0
Redid the native file dialog code to be future proof.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
791
diff
changeset
|
211 | """ |
9239
3c605ab5a8c7
Extended EricDirFileDialog and EricFileDialog to offer a pathlib.Path based interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9221
diff
changeset
|
212 | 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
|
213 | |
10537
cd0fd14d09d5
EricFileDialog
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10439
diff
changeset
|
214 | @param parent parent widget of the dialog (defaults to None) |
cd0fd14d09d5
EricFileDialog
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10439
diff
changeset
|
215 | @type QWidget (optional) |
cd0fd14d09d5
EricFileDialog
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10439
diff
changeset
|
216 | @param caption window title of the dialog (defaults to "") |
cd0fd14d09d5
EricFileDialog
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10439
diff
changeset
|
217 | @type str (optional) |
cd0fd14d09d5
EricFileDialog
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10439
diff
changeset
|
218 | @param directory working directory of the dialog (defaults to "") |
cd0fd14d09d5
EricFileDialog
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10439
diff
changeset
|
219 | @type str (optional) |
cd0fd14d09d5
EricFileDialog
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10439
diff
changeset
|
220 | @param filterStr filter string for the dialog (defaults to "") |
cd0fd14d09d5
EricFileDialog
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10439
diff
changeset
|
221 | @type str (optional) |
cd0fd14d09d5
EricFileDialog
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10439
diff
changeset
|
222 | @param initialFilter initial filter for the dialog (defaults to "") |
cd0fd14d09d5
EricFileDialog
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10439
diff
changeset
|
223 | @type str (optional) |
cd0fd14d09d5
EricFileDialog
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10439
diff
changeset
|
224 | @param options various options for the dialog (defaults to None) |
cd0fd14d09d5
EricFileDialog
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10439
diff
changeset
|
225 | @type QFileDialog.Options ((optional) |
8403
d9fd02e8c28b
Added a special file dialog to select files and directories simultaneously.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8360
diff
changeset
|
226 | @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
|
227 | @rtype str |
882
34b86be88bf0
Redid the native file dialog code to be future proof.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
791
diff
changeset
|
228 | """ |
11035
e1e1d6e317c7
Modified some of the EricWidgets dialogs to ensure a valid parent widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10537
diff
changeset
|
229 | if parent is None: |
e1e1d6e317c7
Modified some of the EricWidgets dialogs to ensure a valid parent widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10537
diff
changeset
|
230 | parent = QCoreApplication.instance().getMainWindow() |
e1e1d6e317c7
Modified some of the EricWidgets dialogs to ensure a valid parent widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10537
diff
changeset
|
231 | |
10537
cd0fd14d09d5
EricFileDialog
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10439
diff
changeset
|
232 | return getSaveFileNameAndFilter( |
cd0fd14d09d5
EricFileDialog
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10439
diff
changeset
|
233 | parent, caption, directory, filterStr, initialFilter, options |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
234 | )[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
|
235 | |
945
8cd4d08fa9f6
Made code mostly PEP 8 compliant (except all whitespace and line length).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
883
diff
changeset
|
236 | |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
237 | def getSaveFileNameAndFilter( |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
238 | 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
|
239 | ): |
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
|
240 | """ |
9239
3c605ab5a8c7
Extended EricDirFileDialog and EricFileDialog to offer a pathlib.Path based interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9221
diff
changeset
|
241 | 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
|
242 | filter. |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
243 | |
10537
cd0fd14d09d5
EricFileDialog
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10439
diff
changeset
|
244 | @param parent parent widget of the dialog (defaults to None) |
cd0fd14d09d5
EricFileDialog
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10439
diff
changeset
|
245 | @type QWidget (optional) |
cd0fd14d09d5
EricFileDialog
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10439
diff
changeset
|
246 | @param caption window title of the dialog (defaults to "") |
cd0fd14d09d5
EricFileDialog
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10439
diff
changeset
|
247 | @type str (optional) |
cd0fd14d09d5
EricFileDialog
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10439
diff
changeset
|
248 | @param directory working directory of the dialog (defaults to "") |
cd0fd14d09d5
EricFileDialog
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10439
diff
changeset
|
249 | @type str (optional) |
cd0fd14d09d5
EricFileDialog
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10439
diff
changeset
|
250 | @param filterStr filter string for the dialog (defaults to "") |
cd0fd14d09d5
EricFileDialog
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10439
diff
changeset
|
251 | @type str (optional) |
cd0fd14d09d5
EricFileDialog
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10439
diff
changeset
|
252 | @param initialFilter initial filter for the dialog (defaults to "") |
cd0fd14d09d5
EricFileDialog
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10439
diff
changeset
|
253 | @type str (optional) |
cd0fd14d09d5
EricFileDialog
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10439
diff
changeset
|
254 | @param options various options for the dialog (defaults to None) |
cd0fd14d09d5
EricFileDialog
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10439
diff
changeset
|
255 | @type QFileDialog.Options ((optional) |
8403
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 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
|
257 | @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
|
258 | """ |
11035
e1e1d6e317c7
Modified some of the EricWidgets dialogs to ensure a valid parent widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10537
diff
changeset
|
259 | if parent is None: |
e1e1d6e317c7
Modified some of the EricWidgets dialogs to ensure a valid parent widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10537
diff
changeset
|
260 | parent = QCoreApplication.instance().getMainWindow() |
e1e1d6e317c7
Modified some of the EricWidgets dialogs to ensure a valid parent widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10537
diff
changeset
|
261 | |
8319
ea11a3948f40
Continued porting eric to PyQt6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8318
diff
changeset
|
262 | if options is None: |
ea11a3948f40
Continued porting eric to PyQt6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8318
diff
changeset
|
263 | 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
|
264 | 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
|
265 | return QFileDialog.getSaveFileName( |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
266 | 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
|
267 | ) |
882
34b86be88bf0
Redid the native file dialog code to be future proof.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
791
diff
changeset
|
268 | |
945
8cd4d08fa9f6
Made code mostly PEP 8 compliant (except all whitespace and line length).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
883
diff
changeset
|
269 | |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
270 | def getExistingDirectory( |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
271 | 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
|
272 | ): |
882
34b86be88bf0
Redid the native file dialog code to be future proof.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
791
diff
changeset
|
273 | """ |
34b86be88bf0
Redid the native file dialog code to be future proof.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
791
diff
changeset
|
274 | 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
|
275 | |
10537
cd0fd14d09d5
EricFileDialog
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10439
diff
changeset
|
276 | @param parent parent widget of the dialog (defaults to None) |
cd0fd14d09d5
EricFileDialog
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10439
diff
changeset
|
277 | @type QWidget (optional) |
cd0fd14d09d5
EricFileDialog
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10439
diff
changeset
|
278 | @param caption window title of the dialog (defaults to "") |
cd0fd14d09d5
EricFileDialog
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10439
diff
changeset
|
279 | @type str (optional) |
cd0fd14d09d5
EricFileDialog
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10439
diff
changeset
|
280 | @param directory working directory of the dialog (defaults to "") |
cd0fd14d09d5
EricFileDialog
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10439
diff
changeset
|
281 | @type str (optional) |
cd0fd14d09d5
EricFileDialog
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10439
diff
changeset
|
282 | @param options various options for the dialog (defaults to |
cd0fd14d09d5
EricFileDialog
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10439
diff
changeset
|
283 | QFileDialog.Option.ShowDirsOnly) |
cd0fd14d09d5
EricFileDialog
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10439
diff
changeset
|
284 | @type QFileDialog.Options ((optional) |
8403
d9fd02e8c28b
Added a special file dialog to select files and directories simultaneously.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8360
diff
changeset
|
285 | @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
|
286 | @rtype str |
882
34b86be88bf0
Redid the native file dialog code to be future proof.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
791
diff
changeset
|
287 | """ |
11035
e1e1d6e317c7
Modified some of the EricWidgets dialogs to ensure a valid parent widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10537
diff
changeset
|
288 | if parent is None: |
e1e1d6e317c7
Modified some of the EricWidgets dialogs to ensure a valid parent widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10537
diff
changeset
|
289 | parent = QCoreApplication.instance().getMainWindow() |
e1e1d6e317c7
Modified some of the EricWidgets dialogs to ensure a valid parent widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10537
diff
changeset
|
290 | |
8319
ea11a3948f40
Continued porting eric to PyQt6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8318
diff
changeset
|
291 | if options is None: |
ea11a3948f40
Continued porting eric to PyQt6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8318
diff
changeset
|
292 | options = QFileDialog.Option(0) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
293 | 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
|
294 | |
3c605ab5a8c7
Extended EricDirFileDialog and EricFileDialog to offer a pathlib.Path based interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9221
diff
changeset
|
295 | |
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 | ## 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
|
298 | ########################################################################### |
3c605ab5a8c7
Extended EricDirFileDialog and EricFileDialog to offer a pathlib.Path based interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9221
diff
changeset
|
299 | |
3c605ab5a8c7
Extended EricDirFileDialog and EricFileDialog to offer a pathlib.Path based interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9221
diff
changeset
|
300 | |
10537
cd0fd14d09d5
EricFileDialog
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10439
diff
changeset
|
301 | def getOpenFilePath( |
cd0fd14d09d5
EricFileDialog
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10439
diff
changeset
|
302 | parent=None, caption="", directory="", filterStr="", initialFilter="", options=None |
cd0fd14d09d5
EricFileDialog
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10439
diff
changeset
|
303 | ): |
9239
3c605ab5a8c7
Extended EricDirFileDialog and EricFileDialog to offer a pathlib.Path based interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9221
diff
changeset
|
304 | """ |
3c605ab5a8c7
Extended EricDirFileDialog and EricFileDialog to offer a pathlib.Path based interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9221
diff
changeset
|
305 | 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
|
306 | |
10537
cd0fd14d09d5
EricFileDialog
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10439
diff
changeset
|
307 | @param parent parent widget of the dialog (defaults to None) |
cd0fd14d09d5
EricFileDialog
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10439
diff
changeset
|
308 | @type QWidget (optional) |
cd0fd14d09d5
EricFileDialog
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10439
diff
changeset
|
309 | @param caption window title of the dialog (defaults to "") |
cd0fd14d09d5
EricFileDialog
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10439
diff
changeset
|
310 | @type str (optional) |
cd0fd14d09d5
EricFileDialog
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10439
diff
changeset
|
311 | @param directory working directory of the dialog (defaults to "") |
cd0fd14d09d5
EricFileDialog
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10439
diff
changeset
|
312 | @type str or pathlib.Path (optional) |
cd0fd14d09d5
EricFileDialog
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10439
diff
changeset
|
313 | @param filterStr filter string for the dialog (defaults to "") |
cd0fd14d09d5
EricFileDialog
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10439
diff
changeset
|
314 | @type str (optional) |
cd0fd14d09d5
EricFileDialog
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10439
diff
changeset
|
315 | @param initialFilter initial filter for the dialog (defaults to "") |
cd0fd14d09d5
EricFileDialog
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10439
diff
changeset
|
316 | @type str (optional) |
cd0fd14d09d5
EricFileDialog
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10439
diff
changeset
|
317 | @param options various options for the dialog (defaults to None) |
cd0fd14d09d5
EricFileDialog
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10439
diff
changeset
|
318 | @type QFileDialog.Options ((optional) |
9239
3c605ab5a8c7
Extended EricDirFileDialog and EricFileDialog to offer a pathlib.Path based interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9221
diff
changeset
|
319 | @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
|
320 | @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
|
321 | """ |
11035
e1e1d6e317c7
Modified some of the EricWidgets dialogs to ensure a valid parent widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10537
diff
changeset
|
322 | if parent is None: |
e1e1d6e317c7
Modified some of the EricWidgets dialogs to ensure a valid parent widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10537
diff
changeset
|
323 | parent = QCoreApplication.instance().getMainWindow() |
e1e1d6e317c7
Modified some of the EricWidgets dialogs to ensure a valid parent widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10537
diff
changeset
|
324 | |
10537
cd0fd14d09d5
EricFileDialog
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10439
diff
changeset
|
325 | return getOpenFilePathAndFilter( |
cd0fd14d09d5
EricFileDialog
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10439
diff
changeset
|
326 | parent, caption, directory, filterStr, initialFilter, options |
9239
3c605ab5a8c7
Extended EricDirFileDialog and EricFileDialog to offer a pathlib.Path based interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9221
diff
changeset
|
327 | )[0] |
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 | |
3c605ab5a8c7
Extended EricDirFileDialog and EricFileDialog to offer a pathlib.Path based interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9221
diff
changeset
|
330 | def getOpenFilePathAndFilter( |
3c605ab5a8c7
Extended EricDirFileDialog and EricFileDialog to offer a pathlib.Path based interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9221
diff
changeset
|
331 | 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
|
332 | ): |
3c605ab5a8c7
Extended EricDirFileDialog and EricFileDialog to offer a pathlib.Path based interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9221
diff
changeset
|
333 | """ |
3c605ab5a8c7
Extended EricDirFileDialog and EricFileDialog to offer a pathlib.Path based interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9221
diff
changeset
|
334 | 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
|
335 | 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
|
336 | |
10537
cd0fd14d09d5
EricFileDialog
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10439
diff
changeset
|
337 | @param parent parent widget of the dialog (defaults to None) |
cd0fd14d09d5
EricFileDialog
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10439
diff
changeset
|
338 | @type QWidget (optional) |
cd0fd14d09d5
EricFileDialog
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10439
diff
changeset
|
339 | @param caption window title of the dialog (defaults to "") |
cd0fd14d09d5
EricFileDialog
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10439
diff
changeset
|
340 | @type str (optional) |
cd0fd14d09d5
EricFileDialog
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10439
diff
changeset
|
341 | @param directory working directory of the dialog (defaults to "") |
cd0fd14d09d5
EricFileDialog
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10439
diff
changeset
|
342 | @type str or pathlib.Path (optional) |
cd0fd14d09d5
EricFileDialog
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10439
diff
changeset
|
343 | @param filterStr filter string for the dialog (defaults to "") |
cd0fd14d09d5
EricFileDialog
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10439
diff
changeset
|
344 | @type str (optional) |
cd0fd14d09d5
EricFileDialog
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10439
diff
changeset
|
345 | @param initialFilter initial filter for the dialog (defaults to "") |
cd0fd14d09d5
EricFileDialog
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10439
diff
changeset
|
346 | @type str (optional) |
cd0fd14d09d5
EricFileDialog
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10439
diff
changeset
|
347 | @param options various options for the dialog (defaults to None) |
cd0fd14d09d5
EricFileDialog
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10439
diff
changeset
|
348 | @type QFileDialog.Options ((optional) |
9239
3c605ab5a8c7
Extended EricDirFileDialog and EricFileDialog to offer a pathlib.Path based interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9221
diff
changeset
|
349 | @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
|
350 | @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
|
351 | """ |
11035
e1e1d6e317c7
Modified some of the EricWidgets dialogs to ensure a valid parent widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10537
diff
changeset
|
352 | if parent is None: |
e1e1d6e317c7
Modified some of the EricWidgets dialogs to ensure a valid parent widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10537
diff
changeset
|
353 | parent = QCoreApplication.instance().getMainWindow() |
e1e1d6e317c7
Modified some of the EricWidgets dialogs to ensure a valid parent widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10537
diff
changeset
|
354 | |
9239
3c605ab5a8c7
Extended EricDirFileDialog and EricFileDialog to offer a pathlib.Path based interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9221
diff
changeset
|
355 | 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
|
356 | 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
|
357 | 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
|
358 | 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
|
359 | 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
|
360 | ) |
3c605ab5a8c7
Extended EricDirFileDialog and EricFileDialog to offer a pathlib.Path based interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9221
diff
changeset
|
361 | 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
|
362 | |
3c605ab5a8c7
Extended EricDirFileDialog and EricFileDialog to offer a pathlib.Path based interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9221
diff
changeset
|
363 | |
10537
cd0fd14d09d5
EricFileDialog
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10439
diff
changeset
|
364 | def getOpenFilePaths( |
cd0fd14d09d5
EricFileDialog
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10439
diff
changeset
|
365 | parent=None, caption="", directory="", filterStr="", initialFilter="", options=None |
cd0fd14d09d5
EricFileDialog
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10439
diff
changeset
|
366 | ): |
9239
3c605ab5a8c7
Extended EricDirFileDialog and EricFileDialog to offer a pathlib.Path based interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9221
diff
changeset
|
367 | """ |
3c605ab5a8c7
Extended EricDirFileDialog and EricFileDialog to offer a pathlib.Path based interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9221
diff
changeset
|
368 | 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
|
369 | |
10537
cd0fd14d09d5
EricFileDialog
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10439
diff
changeset
|
370 | @param parent parent widget of the dialog (defaults to None) |
cd0fd14d09d5
EricFileDialog
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10439
diff
changeset
|
371 | @type QWidget (optional) |
cd0fd14d09d5
EricFileDialog
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10439
diff
changeset
|
372 | @param caption window title of the dialog (defaults to "") |
cd0fd14d09d5
EricFileDialog
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10439
diff
changeset
|
373 | @type str (optional) |
cd0fd14d09d5
EricFileDialog
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10439
diff
changeset
|
374 | @param directory working directory of the dialog (defaults to "") |
cd0fd14d09d5
EricFileDialog
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10439
diff
changeset
|
375 | @type str or pathlib.Path (optional) |
cd0fd14d09d5
EricFileDialog
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10439
diff
changeset
|
376 | @param filterStr filter string for the dialog (defaults to "") |
cd0fd14d09d5
EricFileDialog
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10439
diff
changeset
|
377 | @type str (optional) |
cd0fd14d09d5
EricFileDialog
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10439
diff
changeset
|
378 | @param initialFilter initial filter for the dialog (defaults to "") |
cd0fd14d09d5
EricFileDialog
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10439
diff
changeset
|
379 | @type str (optional) |
cd0fd14d09d5
EricFileDialog
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10439
diff
changeset
|
380 | @param options various options for the dialog (defaults to None) |
cd0fd14d09d5
EricFileDialog
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10439
diff
changeset
|
381 | @type QFileDialog.Options ((optional) |
9239
3c605ab5a8c7
Extended EricDirFileDialog and EricFileDialog to offer a pathlib.Path based interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9221
diff
changeset
|
382 | @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
|
383 | @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
|
384 | """ |
11035
e1e1d6e317c7
Modified some of the EricWidgets dialogs to ensure a valid parent widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10537
diff
changeset
|
385 | if parent is None: |
e1e1d6e317c7
Modified some of the EricWidgets dialogs to ensure a valid parent widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10537
diff
changeset
|
386 | parent = QCoreApplication.instance().getMainWindow() |
e1e1d6e317c7
Modified some of the EricWidgets dialogs to ensure a valid parent widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10537
diff
changeset
|
387 | |
10537
cd0fd14d09d5
EricFileDialog
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10439
diff
changeset
|
388 | return getOpenFilPathsAndFilter( |
cd0fd14d09d5
EricFileDialog
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10439
diff
changeset
|
389 | parent, caption, directory, filterStr, initialFilter, options |
9239
3c605ab5a8c7
Extended EricDirFileDialog and EricFileDialog to offer a pathlib.Path based interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9221
diff
changeset
|
390 | )[0] |
3c605ab5a8c7
Extended EricDirFileDialog and EricFileDialog to offer a pathlib.Path based interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9221
diff
changeset
|
391 | |
3c605ab5a8c7
Extended EricDirFileDialog and EricFileDialog to offer a pathlib.Path based interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9221
diff
changeset
|
392 | |
3c605ab5a8c7
Extended EricDirFileDialog and EricFileDialog to offer a pathlib.Path based interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9221
diff
changeset
|
393 | def getOpenFilPathsAndFilter( |
3c605ab5a8c7
Extended EricDirFileDialog and EricFileDialog to offer a pathlib.Path based interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9221
diff
changeset
|
394 | 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
|
395 | ): |
3c605ab5a8c7
Extended EricDirFileDialog and EricFileDialog to offer a pathlib.Path based interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9221
diff
changeset
|
396 | """ |
3c605ab5a8c7
Extended EricDirFileDialog and EricFileDialog to offer a pathlib.Path based interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9221
diff
changeset
|
397 | 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
|
398 | 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
|
399 | |
10537
cd0fd14d09d5
EricFileDialog
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10439
diff
changeset
|
400 | @param parent parent widget of the dialog (defaults to None) |
cd0fd14d09d5
EricFileDialog
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10439
diff
changeset
|
401 | @type QWidget (optional) |
cd0fd14d09d5
EricFileDialog
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10439
diff
changeset
|
402 | @param caption window title of the dialog (defaults to "") |
cd0fd14d09d5
EricFileDialog
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10439
diff
changeset
|
403 | @type str (optional) |
cd0fd14d09d5
EricFileDialog
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10439
diff
changeset
|
404 | @param directory working directory of the dialog (defaults to "") |
cd0fd14d09d5
EricFileDialog
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10439
diff
changeset
|
405 | @type str or pathlib.Path (optional) |
cd0fd14d09d5
EricFileDialog
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10439
diff
changeset
|
406 | @param filterStr filter string for the dialog (defaults to "") |
cd0fd14d09d5
EricFileDialog
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10439
diff
changeset
|
407 | @type str (optional) |
cd0fd14d09d5
EricFileDialog
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10439
diff
changeset
|
408 | @param initialFilter initial filter for the dialog (defaults to "") |
cd0fd14d09d5
EricFileDialog
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10439
diff
changeset
|
409 | @type str (optional) |
cd0fd14d09d5
EricFileDialog
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10439
diff
changeset
|
410 | @param options various options for the dialog (defaults to None) |
cd0fd14d09d5
EricFileDialog
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10439
diff
changeset
|
411 | @type QFileDialog.Options ((optional) |
9239
3c605ab5a8c7
Extended EricDirFileDialog and EricFileDialog to offer a pathlib.Path based interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9221
diff
changeset
|
412 | @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
|
413 | @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
|
414 | """ |
11035
e1e1d6e317c7
Modified some of the EricWidgets dialogs to ensure a valid parent widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10537
diff
changeset
|
415 | if parent is None: |
e1e1d6e317c7
Modified some of the EricWidgets dialogs to ensure a valid parent widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10537
diff
changeset
|
416 | parent = QCoreApplication.instance().getMainWindow() |
e1e1d6e317c7
Modified some of the EricWidgets dialogs to ensure a valid parent widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10537
diff
changeset
|
417 | |
9239
3c605ab5a8c7
Extended EricDirFileDialog and EricFileDialog to offer a pathlib.Path based interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9221
diff
changeset
|
418 | 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
|
419 | 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
|
420 | 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
|
421 | 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
|
422 | 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
|
423 | ) |
3c605ab5a8c7
Extended EricDirFileDialog and EricFileDialog to offer a pathlib.Path based interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9221
diff
changeset
|
424 | 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
|
425 | |
3c605ab5a8c7
Extended EricDirFileDialog and EricFileDialog to offer a pathlib.Path based interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9221
diff
changeset
|
426 | |
3c605ab5a8c7
Extended EricDirFileDialog and EricFileDialog to offer a pathlib.Path based interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9221
diff
changeset
|
427 | def getOpenFileAndDirPaths( |
3c605ab5a8c7
Extended EricDirFileDialog and EricFileDialog to offer a pathlib.Path based interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9221
diff
changeset
|
428 | 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
|
429 | ): |
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 | 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
|
432 | |
10537
cd0fd14d09d5
EricFileDialog
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10439
diff
changeset
|
433 | @param parent parent widget of the dialog (defaults to None) |
cd0fd14d09d5
EricFileDialog
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10439
diff
changeset
|
434 | @type QWidget (optional) |
cd0fd14d09d5
EricFileDialog
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10439
diff
changeset
|
435 | @param caption window title of the dialog (defaults to "") |
cd0fd14d09d5
EricFileDialog
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10439
diff
changeset
|
436 | @type str (optional) |
cd0fd14d09d5
EricFileDialog
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10439
diff
changeset
|
437 | @param directory working directory of the dialog (defaults to "") |
cd0fd14d09d5
EricFileDialog
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10439
diff
changeset
|
438 | @type str or pathlib.Path (optional) |
cd0fd14d09d5
EricFileDialog
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10439
diff
changeset
|
439 | @param filterStr filter string for the dialog (defaults to "") |
cd0fd14d09d5
EricFileDialog
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10439
diff
changeset
|
440 | @type str (optional) |
cd0fd14d09d5
EricFileDialog
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10439
diff
changeset
|
441 | @param options various options for the dialog (defaults to None) |
cd0fd14d09d5
EricFileDialog
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10439
diff
changeset
|
442 | @type QFileDialog.Options ((optional) |
9239
3c605ab5a8c7
Extended EricDirFileDialog and EricFileDialog to offer a pathlib.Path based interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9221
diff
changeset
|
443 | @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
|
444 | @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
|
445 | """ |
3c605ab5a8c7
Extended EricDirFileDialog and EricFileDialog to offer a pathlib.Path based interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9221
diff
changeset
|
446 | 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
|
447 | |
11035
e1e1d6e317c7
Modified some of the EricWidgets dialogs to ensure a valid parent widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10537
diff
changeset
|
448 | if parent is None: |
e1e1d6e317c7
Modified some of the EricWidgets dialogs to ensure a valid parent widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10537
diff
changeset
|
449 | parent = QCoreApplication.instance().getMainWindow() |
e1e1d6e317c7
Modified some of the EricWidgets dialogs to ensure a valid parent widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10537
diff
changeset
|
450 | |
9239
3c605ab5a8c7
Extended EricDirFileDialog and EricFileDialog to offer a pathlib.Path based interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9221
diff
changeset
|
451 | 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
|
452 | 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
|
453 | ) |
3c605ab5a8c7
Extended EricDirFileDialog and EricFileDialog to offer a pathlib.Path based interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9221
diff
changeset
|
454 | |
3c605ab5a8c7
Extended EricDirFileDialog and EricFileDialog to offer a pathlib.Path based interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9221
diff
changeset
|
455 | |
10537
cd0fd14d09d5
EricFileDialog
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10439
diff
changeset
|
456 | def getSaveFilePath( |
cd0fd14d09d5
EricFileDialog
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10439
diff
changeset
|
457 | parent=None, caption="", directory="", filterStr="", initialFilter="", options=None |
cd0fd14d09d5
EricFileDialog
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10439
diff
changeset
|
458 | ): |
9239
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 | 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
|
461 | |
10537
cd0fd14d09d5
EricFileDialog
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10439
diff
changeset
|
462 | @param parent parent widget of the dialog (defaults to None) |
cd0fd14d09d5
EricFileDialog
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10439
diff
changeset
|
463 | @type QWidget (optional) |
cd0fd14d09d5
EricFileDialog
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10439
diff
changeset
|
464 | @param caption window title of the dialog (defaults to "") |
cd0fd14d09d5
EricFileDialog
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10439
diff
changeset
|
465 | @type str (optional) |
cd0fd14d09d5
EricFileDialog
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10439
diff
changeset
|
466 | @param directory working directory of the dialog (defaults to "") |
cd0fd14d09d5
EricFileDialog
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10439
diff
changeset
|
467 | @type str or pathlib.Path (optional) |
cd0fd14d09d5
EricFileDialog
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10439
diff
changeset
|
468 | @param filterStr filter string for the dialog (defaults to "") |
cd0fd14d09d5
EricFileDialog
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10439
diff
changeset
|
469 | @type str (optional) |
cd0fd14d09d5
EricFileDialog
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10439
diff
changeset
|
470 | @param initialFilter initial filter for the dialog (defaults to "") |
cd0fd14d09d5
EricFileDialog
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10439
diff
changeset
|
471 | @type str (optional) |
cd0fd14d09d5
EricFileDialog
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10439
diff
changeset
|
472 | @param options various options for the dialog (defaults to None) |
cd0fd14d09d5
EricFileDialog
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10439
diff
changeset
|
473 | @type QFileDialog.Options ((optional) |
9239
3c605ab5a8c7
Extended EricDirFileDialog and EricFileDialog to offer a pathlib.Path based interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9221
diff
changeset
|
474 | @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
|
475 | @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
|
476 | """ |
11035
e1e1d6e317c7
Modified some of the EricWidgets dialogs to ensure a valid parent widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10537
diff
changeset
|
477 | if parent is None: |
e1e1d6e317c7
Modified some of the EricWidgets dialogs to ensure a valid parent widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10537
diff
changeset
|
478 | parent = QCoreApplication.instance().getMainWindow() |
e1e1d6e317c7
Modified some of the EricWidgets dialogs to ensure a valid parent widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10537
diff
changeset
|
479 | |
10537
cd0fd14d09d5
EricFileDialog
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10439
diff
changeset
|
480 | return getSaveFilePathAndFilter( |
cd0fd14d09d5
EricFileDialog
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10439
diff
changeset
|
481 | parent, caption, str(directory), filterStr, initialFilter, options |
9239
3c605ab5a8c7
Extended EricDirFileDialog and EricFileDialog to offer a pathlib.Path based interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9221
diff
changeset
|
482 | )[0] |
3c605ab5a8c7
Extended EricDirFileDialog and EricFileDialog to offer a pathlib.Path based interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9221
diff
changeset
|
483 | |
3c605ab5a8c7
Extended EricDirFileDialog and EricFileDialog to offer a pathlib.Path based interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9221
diff
changeset
|
484 | |
3c605ab5a8c7
Extended EricDirFileDialog and EricFileDialog to offer a pathlib.Path based interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9221
diff
changeset
|
485 | def getSaveFilePathAndFilter( |
3c605ab5a8c7
Extended EricDirFileDialog and EricFileDialog to offer a pathlib.Path based interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9221
diff
changeset
|
486 | 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
|
487 | ): |
3c605ab5a8c7
Extended EricDirFileDialog and EricFileDialog to offer a pathlib.Path based interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9221
diff
changeset
|
488 | """ |
3c605ab5a8c7
Extended EricDirFileDialog and EricFileDialog to offer a pathlib.Path based interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9221
diff
changeset
|
489 | 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
|
490 | 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
|
491 | |
10537
cd0fd14d09d5
EricFileDialog
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10439
diff
changeset
|
492 | @param parent parent widget of the dialog (defaults to None) |
cd0fd14d09d5
EricFileDialog
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10439
diff
changeset
|
493 | @type QWidget (optional) |
cd0fd14d09d5
EricFileDialog
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10439
diff
changeset
|
494 | @param caption window title of the dialog (defaults to "") |
cd0fd14d09d5
EricFileDialog
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10439
diff
changeset
|
495 | @type str (optional) |
cd0fd14d09d5
EricFileDialog
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10439
diff
changeset
|
496 | @param directory working directory of the dialog (defaults to "") |
cd0fd14d09d5
EricFileDialog
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10439
diff
changeset
|
497 | @type str or pathlib.Path (optional) |
cd0fd14d09d5
EricFileDialog
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10439
diff
changeset
|
498 | @param filterStr filter string for the dialog (defaults to "") |
cd0fd14d09d5
EricFileDialog
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10439
diff
changeset
|
499 | @type str (optional) |
cd0fd14d09d5
EricFileDialog
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10439
diff
changeset
|
500 | @param initialFilter initial filter for the dialog (defaults to "") |
cd0fd14d09d5
EricFileDialog
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10439
diff
changeset
|
501 | @type str (optional) |
cd0fd14d09d5
EricFileDialog
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10439
diff
changeset
|
502 | @param options various options for the dialog (defaults to None) |
cd0fd14d09d5
EricFileDialog
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10439
diff
changeset
|
503 | @type QFileDialog.Options ((optional) |
9239
3c605ab5a8c7
Extended EricDirFileDialog and EricFileDialog to offer a pathlib.Path based interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9221
diff
changeset
|
504 | @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
|
505 | @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
|
506 | """ |
11035
e1e1d6e317c7
Modified some of the EricWidgets dialogs to ensure a valid parent widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10537
diff
changeset
|
507 | if parent is None: |
e1e1d6e317c7
Modified some of the EricWidgets dialogs to ensure a valid parent widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10537
diff
changeset
|
508 | parent = QCoreApplication.instance().getMainWindow() |
e1e1d6e317c7
Modified some of the EricWidgets dialogs to ensure a valid parent widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10537
diff
changeset
|
509 | |
9239
3c605ab5a8c7
Extended EricDirFileDialog and EricFileDialog to offer a pathlib.Path based interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9221
diff
changeset
|
510 | 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
|
511 | 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
|
512 | 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
|
513 | 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
|
514 | 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
|
515 | ) |
3c605ab5a8c7
Extended EricDirFileDialog and EricFileDialog to offer a pathlib.Path based interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9221
diff
changeset
|
516 | 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
|
517 | |
3c605ab5a8c7
Extended EricDirFileDialog and EricFileDialog to offer a pathlib.Path based interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9221
diff
changeset
|
518 | |
3c605ab5a8c7
Extended EricDirFileDialog and EricFileDialog to offer a pathlib.Path based interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9221
diff
changeset
|
519 | def getExistingDirectoryPath( |
3c605ab5a8c7
Extended EricDirFileDialog and EricFileDialog to offer a pathlib.Path based interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9221
diff
changeset
|
520 | 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
|
521 | ): |
3c605ab5a8c7
Extended EricDirFileDialog and EricFileDialog to offer a pathlib.Path based interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9221
diff
changeset
|
522 | """ |
3c605ab5a8c7
Extended EricDirFileDialog and EricFileDialog to offer a pathlib.Path based interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9221
diff
changeset
|
523 | 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
|
524 | |
10537
cd0fd14d09d5
EricFileDialog
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10439
diff
changeset
|
525 | @param parent parent widget of the dialog (defaults to None) |
cd0fd14d09d5
EricFileDialog
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10439
diff
changeset
|
526 | @type QWidget (optional) |
cd0fd14d09d5
EricFileDialog
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10439
diff
changeset
|
527 | @param caption window title of the dialog (defaults to "") |
cd0fd14d09d5
EricFileDialog
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10439
diff
changeset
|
528 | @type str (optional) |
cd0fd14d09d5
EricFileDialog
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10439
diff
changeset
|
529 | @param directory working directory of the dialog (defaults to "") |
cd0fd14d09d5
EricFileDialog
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10439
diff
changeset
|
530 | @type str or pathlib.Path (optional) |
cd0fd14d09d5
EricFileDialog
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10439
diff
changeset
|
531 | @param options various options for the dialog (defaults to |
cd0fd14d09d5
EricFileDialog
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10439
diff
changeset
|
532 | QFileDialog.Option.ShowDirsOnly) |
cd0fd14d09d5
EricFileDialog
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10439
diff
changeset
|
533 | @type QFileDialog.Options ((optional) |
9239
3c605ab5a8c7
Extended EricDirFileDialog and EricFileDialog to offer a pathlib.Path based interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9221
diff
changeset
|
534 | @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
|
535 | @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
|
536 | """ |
11035
e1e1d6e317c7
Modified some of the EricWidgets dialogs to ensure a valid parent widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10537
diff
changeset
|
537 | if parent is None: |
e1e1d6e317c7
Modified some of the EricWidgets dialogs to ensure a valid parent widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10537
diff
changeset
|
538 | parent = QCoreApplication.instance().getMainWindow() |
e1e1d6e317c7
Modified some of the EricWidgets dialogs to ensure a valid parent widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10537
diff
changeset
|
539 | |
9239
3c605ab5a8c7
Extended EricDirFileDialog and EricFileDialog to offer a pathlib.Path based interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9221
diff
changeset
|
540 | 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
|
541 | 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
|
542 | 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
|
543 | return pathlib.Path(dirname) |
10060
b946699e9e79
Corrected some issues related to unused global variables.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9653
diff
changeset
|
544 | |
10065
de4ae767b0e3
Corrected and checked some code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10060
diff
changeset
|
545 | |
10060
b946699e9e79
Corrected some issues related to unused global variables.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9653
diff
changeset
|
546 | # |
11148
15e30f0c76a8
Adjusted the code to the modified issue codes.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
11090
diff
changeset
|
547 | # eflag: noqa = U-200 |