Sat, 22 May 2021 18:51:46 +0200
Renamed the modules and classes of the E5Gui package to have the prefix 'Eric' instead of 'E5'.
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 | |
7923
91e843545d9a
Updated copyright for 2021.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7780
diff
changeset
|
3 | # Copyright (c) 2010 - 2021 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 | """ |
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
|
7 | Module implementing alternative functions for the QFileDialog static methods |
882
34b86be88bf0
Redid the native file dialog code to be future proof.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
791
diff
changeset
|
8 | to cope with distributor's usage of KDE wrapper dialogs for Qt file dialogs. |
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
|
9 | """ |
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
|
10 | |
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
|
11 | 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
|
12 | |
882
34b86be88bf0
Redid the native file dialog code to be future proof.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
791
diff
changeset
|
13 | import Globals |
34b86be88bf0
Redid the native file dialog code to be future proof.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
791
diff
changeset
|
14 | |
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
|
15 | ##Options = QFileDialog.Options |
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 |
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
|
24 | ##DontUseSheet = QFileDialog.Option.DontUseSheet |
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
|
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. |
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
|
32 | |
5587
ea526b78ee6c
Started to fix code style issues detected by the extended style checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5389
diff
changeset
|
33 | @param filterStr Qt file filter (string) |
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
|
34 | @param initialFilter initial filter (string) |
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
|
35 | @return the rearranged Qt file filter (string) |
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
|
36 | """ |
1374
b1e9ed69529e
A little Mac related fix.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
945
diff
changeset
|
37 | if initialFilter and not Globals.isMacPlatform(): |
5587
ea526b78ee6c
Started to fix code style issues detected by the extended style checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5389
diff
changeset
|
38 | fileFilters = filterStr.split(';;') |
523
596ad929137e
Fixed a bug in E5FileDialog.py.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
520
diff
changeset
|
39 | 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
|
40 | 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
|
41 | 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
|
42 | 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
|
43 | 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
|
44 | 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
|
45 | |
945
8cd4d08fa9f6
Made code mostly PEP 8 compliant (except all whitespace and line length).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
883
diff
changeset
|
46 | |
8cd4d08fa9f6
Made code mostly PEP 8 compliant (except all whitespace and line length).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
883
diff
changeset
|
47 | def getOpenFileName(parent=None, caption="", directory="", |
5653
c023821bb25f
Fixed a few code style issues related to the usage of class instances for default arguments.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5587
diff
changeset
|
48 | filterStr="", options=None): |
882
34b86be88bf0
Redid the native file dialog code to be future proof.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
791
diff
changeset
|
49 | """ |
34b86be88bf0
Redid the native file dialog code to be future proof.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
791
diff
changeset
|
50 | Module function to get the name of a file for opening it. |
34b86be88bf0
Redid the native file dialog code to be future proof.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
791
diff
changeset
|
51 | |
34b86be88bf0
Redid the native file dialog code to be future proof.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
791
diff
changeset
|
52 | @param parent parent widget of the dialog (QWidget) |
34b86be88bf0
Redid the native file dialog code to be future proof.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
791
diff
changeset
|
53 | @param caption window title of the dialog (string) |
34b86be88bf0
Redid the native file dialog code to be future proof.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
791
diff
changeset
|
54 | @param directory working directory of the dialog (string) |
5587
ea526b78ee6c
Started to fix code style issues detected by the extended style checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5389
diff
changeset
|
55 | @param filterStr filter string for the dialog (string) |
882
34b86be88bf0
Redid the native file dialog code to be future proof.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
791
diff
changeset
|
56 | @param options various options for the dialog (QFileDialog.Options) |
34b86be88bf0
Redid the native file dialog code to be future proof.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
791
diff
changeset
|
57 | @return name of file to be opened (string) |
34b86be88bf0
Redid the native file dialog code to be future proof.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
791
diff
changeset
|
58 | """ |
8319
ea11a3948f40
Continued porting eric to PyQt6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8318
diff
changeset
|
59 | if options is None: |
ea11a3948f40
Continued porting eric to PyQt6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8318
diff
changeset
|
60 | options = QFileDialog.Option(0) |
882
34b86be88bf0
Redid the native file dialog code to be future proof.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
791
diff
changeset
|
61 | if Globals.isLinuxPlatform(): |
8319
ea11a3948f40
Continued porting eric to PyQt6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8318
diff
changeset
|
62 | options |= QFileDialog.Option.DontUseNativeDialog |
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
|
63 | return QFileDialog.getOpenFileName( |
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
|
64 | parent, caption, directory, filterStr, "", options)[0] |
882
34b86be88bf0
Redid the native file dialog code to be future proof.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
791
diff
changeset
|
65 | |
945
8cd4d08fa9f6
Made code mostly PEP 8 compliant (except all whitespace and line length).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
883
diff
changeset
|
66 | |
8cd4d08fa9f6
Made code mostly PEP 8 compliant (except all whitespace and line length).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
883
diff
changeset
|
67 | def getOpenFileNameAndFilter(parent=None, caption="", directory="", |
5587
ea526b78ee6c
Started to fix code style issues detected by the extended style checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5389
diff
changeset
|
68 | filterStr="", initialFilter="", |
5653
c023821bb25f
Fixed a few code style issues related to the usage of class instances for default arguments.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5587
diff
changeset
|
69 | options=None): |
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
|
70 | """ |
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
|
71 | 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
|
72 | file name filter. |
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
|
73 | |
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
|
74 | @param parent parent widget of the dialog (QWidget) |
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
|
75 | @param caption window title of the dialog (string) |
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
|
76 | @param directory working directory of the dialog (string) |
5587
ea526b78ee6c
Started to fix code style issues detected by the extended style checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5389
diff
changeset
|
77 | @param filterStr filter string for the dialog (string) |
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
|
78 | @param initialFilter initial filter for the dialog (string) |
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
|
79 | @param options various options for the dialog (QFileDialog.Options) |
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
|
80 | @return name of file to be opened and selected filter (string, string) |
b0f523c3b037
Added code to cope with Linux distributor's usage of KDE wrapper dialogs for the Qt file dialogs.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
81 | """ |
8319
ea11a3948f40
Continued porting eric to PyQt6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8318
diff
changeset
|
82 | if options is None: |
ea11a3948f40
Continued porting eric to PyQt6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8318
diff
changeset
|
83 | options = QFileDialog.Option(0) |
882
34b86be88bf0
Redid the native file dialog code to be future proof.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
791
diff
changeset
|
84 | if Globals.isLinuxPlatform(): |
8319
ea11a3948f40
Continued porting eric to PyQt6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8318
diff
changeset
|
85 | options |= QFileDialog.Option.DontUseNativeDialog |
5587
ea526b78ee6c
Started to fix code style issues detected by the extended style checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5389
diff
changeset
|
86 | 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
|
87 | return QFileDialog.getOpenFileName( |
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
|
88 | parent, caption, directory, newfilter, initialFilter, options) |
882
34b86be88bf0
Redid the native file dialog code to be future proof.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
791
diff
changeset
|
89 | |
945
8cd4d08fa9f6
Made code mostly PEP 8 compliant (except all whitespace and line length).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
883
diff
changeset
|
90 | |
8cd4d08fa9f6
Made code mostly PEP 8 compliant (except all whitespace and line length).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
883
diff
changeset
|
91 | def getOpenFileNames(parent=None, caption="", directory="", |
5653
c023821bb25f
Fixed a few code style issues related to the usage of class instances for default arguments.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5587
diff
changeset
|
92 | filterStr="", options=None): |
882
34b86be88bf0
Redid the native file dialog code to be future proof.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
791
diff
changeset
|
93 | """ |
34b86be88bf0
Redid the native file dialog code to be future proof.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
791
diff
changeset
|
94 | Module function to get a list of names of files for opening. |
34b86be88bf0
Redid the native file dialog code to be future proof.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
791
diff
changeset
|
95 | |
34b86be88bf0
Redid the native file dialog code to be future proof.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
791
diff
changeset
|
96 | @param parent parent widget of the dialog (QWidget) |
34b86be88bf0
Redid the native file dialog code to be future proof.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
791
diff
changeset
|
97 | @param caption window title of the dialog (string) |
34b86be88bf0
Redid the native file dialog code to be future proof.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
791
diff
changeset
|
98 | @param directory working directory of the dialog (string) |
5587
ea526b78ee6c
Started to fix code style issues detected by the extended style checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5389
diff
changeset
|
99 | @param filterStr filter string for the dialog (string) |
882
34b86be88bf0
Redid the native file dialog code to be future proof.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
791
diff
changeset
|
100 | @param options various options for the dialog (QFileDialog.Options) |
34b86be88bf0
Redid the native file dialog code to be future proof.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
791
diff
changeset
|
101 | @return list of file names to be opened (list of string) |
34b86be88bf0
Redid the native file dialog code to be future proof.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
791
diff
changeset
|
102 | """ |
8319
ea11a3948f40
Continued porting eric to PyQt6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8318
diff
changeset
|
103 | if options is None: |
ea11a3948f40
Continued porting eric to PyQt6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8318
diff
changeset
|
104 | options = QFileDialog.Option(0) |
882
34b86be88bf0
Redid the native file dialog code to be future proof.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
791
diff
changeset
|
105 | if Globals.isLinuxPlatform(): |
8319
ea11a3948f40
Continued porting eric to PyQt6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8318
diff
changeset
|
106 | options |= QFileDialog.Option.DontUseNativeDialog |
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
|
107 | return QFileDialog.getOpenFileNames( |
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
|
108 | parent, caption, directory, filterStr, "", options)[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
|
109 | |
945
8cd4d08fa9f6
Made code mostly PEP 8 compliant (except all whitespace and line length).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
883
diff
changeset
|
110 | |
8cd4d08fa9f6
Made code mostly PEP 8 compliant (except all whitespace and line length).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
883
diff
changeset
|
111 | def getOpenFileNamesAndFilter(parent=None, caption="", directory="", |
5587
ea526b78ee6c
Started to fix code style issues detected by the extended style checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5389
diff
changeset
|
112 | filterStr="", initialFilter="", |
5653
c023821bb25f
Fixed a few code style issues related to the usage of class instances for default arguments.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5587
diff
changeset
|
113 | options=None): |
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
|
114 | """ |
882
34b86be88bf0
Redid the native file dialog code to be future proof.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
791
diff
changeset
|
115 | 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
|
116 | selected file name filter. |
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
|
117 | |
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
|
118 | @param parent parent widget of the dialog (QWidget) |
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
|
119 | @param caption window title of the dialog (string) |
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
|
120 | @param directory working directory of the dialog (string) |
5587
ea526b78ee6c
Started to fix code style issues detected by the extended style checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5389
diff
changeset
|
121 | @param filterStr filter string for the dialog (string) |
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
|
122 | @param initialFilter initial filter for the dialog (string) |
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
|
123 | @param options various options for the dialog (QFileDialog.Options) |
945
8cd4d08fa9f6
Made code mostly PEP 8 compliant (except all whitespace and line length).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
883
diff
changeset
|
124 | @return list of file names to be opened and selected filter |
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
|
125 | (list of string, string) |
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
|
126 | """ |
8319
ea11a3948f40
Continued porting eric to PyQt6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8318
diff
changeset
|
127 | if options is None: |
ea11a3948f40
Continued porting eric to PyQt6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8318
diff
changeset
|
128 | options = QFileDialog.Option(0) |
882
34b86be88bf0
Redid the native file dialog code to be future proof.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
791
diff
changeset
|
129 | if Globals.isLinuxPlatform(): |
8319
ea11a3948f40
Continued porting eric to PyQt6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8318
diff
changeset
|
130 | options |= QFileDialog.Option.DontUseNativeDialog |
5587
ea526b78ee6c
Started to fix code style issues detected by the extended style checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5389
diff
changeset
|
131 | 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
|
132 | return QFileDialog.getOpenFileNames( |
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
|
133 | parent, caption, directory, newfilter, initialFilter, options) |
882
34b86be88bf0
Redid the native file dialog code to be future proof.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
791
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 | |
8cd4d08fa9f6
Made code mostly PEP 8 compliant (except all whitespace and line length).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
883
diff
changeset
|
136 | def getSaveFileName(parent=None, caption="", directory="", |
5653
c023821bb25f
Fixed a few code style issues related to the usage of class instances for default arguments.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5587
diff
changeset
|
137 | filterStr="", options=None): |
882
34b86be88bf0
Redid the native file dialog code to be future proof.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
791
diff
changeset
|
138 | """ |
34b86be88bf0
Redid the native file dialog code to be future proof.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
791
diff
changeset
|
139 | Module function to get the name of a file for saving it. |
34b86be88bf0
Redid the native file dialog code to be future proof.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
791
diff
changeset
|
140 | |
34b86be88bf0
Redid the native file dialog code to be future proof.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
791
diff
changeset
|
141 | @param parent parent widget of the dialog (QWidget) |
34b86be88bf0
Redid the native file dialog code to be future proof.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
791
diff
changeset
|
142 | @param caption window title of the dialog (string) |
34b86be88bf0
Redid the native file dialog code to be future proof.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
791
diff
changeset
|
143 | @param directory working directory of the dialog (string) |
5587
ea526b78ee6c
Started to fix code style issues detected by the extended style checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5389
diff
changeset
|
144 | @param filterStr filter string for the dialog (string) |
882
34b86be88bf0
Redid the native file dialog code to be future proof.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
791
diff
changeset
|
145 | @param options various options for the dialog (QFileDialog.Options) |
34b86be88bf0
Redid the native file dialog code to be future proof.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
791
diff
changeset
|
146 | @return name of file to be saved (string) |
34b86be88bf0
Redid the native file dialog code to be future proof.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
791
diff
changeset
|
147 | """ |
8319
ea11a3948f40
Continued porting eric to PyQt6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8318
diff
changeset
|
148 | if options is None: |
ea11a3948f40
Continued porting eric to PyQt6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8318
diff
changeset
|
149 | options = QFileDialog.Option(0) |
882
34b86be88bf0
Redid the native file dialog code to be future proof.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
791
diff
changeset
|
150 | if Globals.isLinuxPlatform(): |
8319
ea11a3948f40
Continued porting eric to PyQt6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8318
diff
changeset
|
151 | options |= QFileDialog.Option.DontUseNativeDialog |
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
|
152 | return QFileDialog.getSaveFileName( |
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
|
153 | parent, caption, directory, filterStr, "", options)[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
|
154 | |
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 | |
8cd4d08fa9f6
Made code mostly PEP 8 compliant (except all whitespace and line length).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
883
diff
changeset
|
156 | def getSaveFileNameAndFilter(parent=None, caption="", directory="", |
5587
ea526b78ee6c
Started to fix code style issues detected by the extended style checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5389
diff
changeset
|
157 | filterStr="", initialFilter="", |
5653
c023821bb25f
Fixed a few code style issues related to the usage of class instances for default arguments.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5587
diff
changeset
|
158 | options=None): |
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
|
159 | """ |
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
|
160 | Module function to get the name of a file for saving 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
|
161 | file name filter. |
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
|
162 | |
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
|
163 | @param parent parent widget of the dialog (QWidget) |
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
|
164 | @param caption window title of the dialog (string) |
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
|
165 | @param directory working directory of the dialog (string) |
5587
ea526b78ee6c
Started to fix code style issues detected by the extended style checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5389
diff
changeset
|
166 | @param filterStr filter string for the dialog (string) |
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 | @param initialFilter initial filter for the dialog (string) |
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
|
168 | @param options various options for the dialog (QFileDialog.Options) |
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
|
169 | @return name of file to be saved and selected filter (string, string) |
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
|
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) |
882
34b86be88bf0
Redid the native file dialog code to be future proof.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
791
diff
changeset
|
173 | if Globals.isLinuxPlatform(): |
8319
ea11a3948f40
Continued porting eric to PyQt6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8318
diff
changeset
|
174 | options |= QFileDialog.Option.DontUseNativeDialog |
5587
ea526b78ee6c
Started to fix code style issues detected by the extended style checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5389
diff
changeset
|
175 | 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
|
176 | return QFileDialog.getSaveFileName( |
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
|
177 | parent, caption, directory, newfilter, initialFilter, options) |
882
34b86be88bf0
Redid the native file dialog code to be future proof.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
791
diff
changeset
|
178 | |
945
8cd4d08fa9f6
Made code mostly PEP 8 compliant (except all whitespace and line length).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
883
diff
changeset
|
179 | |
8cd4d08fa9f6
Made code mostly PEP 8 compliant (except all whitespace and line length).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
883
diff
changeset
|
180 | def getExistingDirectory(parent=None, caption="", |
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
|
181 | directory="", |
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
|
182 | options=QFileDialog.Option.ShowDirsOnly): |
882
34b86be88bf0
Redid the native file dialog code to be future proof.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
791
diff
changeset
|
183 | """ |
34b86be88bf0
Redid the native file dialog code to be future proof.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
791
diff
changeset
|
184 | Module function to get the name of a directory. |
34b86be88bf0
Redid the native file dialog code to be future proof.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
791
diff
changeset
|
185 | |
34b86be88bf0
Redid the native file dialog code to be future proof.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
791
diff
changeset
|
186 | @param parent parent widget of the dialog (QWidget) |
34b86be88bf0
Redid the native file dialog code to be future proof.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
791
diff
changeset
|
187 | @param caption window title of the dialog (string) |
34b86be88bf0
Redid the native file dialog code to be future proof.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
791
diff
changeset
|
188 | @param directory working directory of the dialog (string) |
34b86be88bf0
Redid the native file dialog code to be future proof.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
791
diff
changeset
|
189 | @param options various options for the dialog (QFileDialog.Options) |
34b86be88bf0
Redid the native file dialog code to be future proof.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
791
diff
changeset
|
190 | @return name of selected directory (string) |
34b86be88bf0
Redid the native file dialog code to be future proof.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
791
diff
changeset
|
191 | """ |
8319
ea11a3948f40
Continued porting eric to PyQt6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8318
diff
changeset
|
192 | if options is None: |
ea11a3948f40
Continued porting eric to PyQt6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8318
diff
changeset
|
193 | options = QFileDialog.Option(0) |
882
34b86be88bf0
Redid the native file dialog code to be future proof.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
791
diff
changeset
|
194 | if Globals.isLinuxPlatform(): |
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
|
195 | options |= QFileDialog.Option.DontUseNativeDialog |
945
8cd4d08fa9f6
Made code mostly PEP 8 compliant (except all whitespace and line length).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
883
diff
changeset
|
196 | return QFileDialog.getExistingDirectory(parent, caption, directory, |
882
34b86be88bf0
Redid the native file dialog code to be future proof.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
791
diff
changeset
|
197 | options) |