src/eric7/EricWidgets/EricFileDialog.py

Thu, 01 Feb 2024 15:44:36 +0100

author
Detlev Offenbach <detlev@die-offenbachs.de>
date
Thu, 01 Feb 2024 15:44:36 +0100
branch
eric7
changeset 10537
cd0fd14d09d5
parent 10439
21c28b0f9e41
child 11035
e1e1d6e317c7
permissions
-rw-r--r--

EricFileDialog
- Harmonized the API of the module level functions.

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

eric ide

mercurial