Sun, 23 May 2021 15:35:49 +0200
Corrected some code style issues.
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1 | # -*- coding: utf-8 -*- |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
2 | |
7923
91e843545d9a
Updated copyright for 2021.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7907
diff
changeset
|
3 | # Copyright (c) 2007 - 2021 Detlev Offenbach <detlev@die-offenbachs.de> |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
4 | # |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
5 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
6 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
7 | Module implementing the QFileDialog wizard plugin. |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
8 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
9 | |
3122
4bcf6c0f4432
Added support for PyQt5 to the QFileDialog wizard.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3034
diff
changeset
|
10 | import re |
4bcf6c0f4432
Added support for PyQt5 to the QFileDialog wizard.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3034
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.QtCore import QObject |
962bce857696
Replaced all imports of PyQt5 to PyQt6 and started to replace code using obsoleted methods and adapt to the PyQt6 enum usage.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8312
diff
changeset
|
13 | from PyQt6.QtWidgets import QDialog |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
14 | |
8358
144a6b854f70
Sorted the eric specific extensions into packages named like the corresponding PyQt packages (i.e. EricCore,EricGui and EricWidgets).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8356
diff
changeset
|
15 | from EricWidgets.EricApplication import ericApp |
144a6b854f70
Sorted the eric specific extensions into packages named like the corresponding PyQt packages (i.e. EricCore,EricGui and EricWidgets).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8356
diff
changeset
|
16 | from EricGui.EricAction import EricAction |
144a6b854f70
Sorted the eric specific extensions into packages named like the corresponding PyQt packages (i.e. EricCore,EricGui and EricWidgets).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8356
diff
changeset
|
17 | from EricWidgets import EricMessageBox |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
18 | |
5316
31cbc97d4974
Got rid of the manually set version numbers.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4631
diff
changeset
|
19 | import UI.Info |
31cbc97d4974
Got rid of the manually set version numbers.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4631
diff
changeset
|
20 | |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
21 | # Start-Of-Header |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
22 | name = "QFileDialog Wizard Plugin" |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
23 | author = "Detlev Offenbach <detlev@die-offenbachs.de>" |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
24 | autoactivate = True |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
25 | deactivateable = True |
5316
31cbc97d4974
Got rid of the manually set version numbers.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4631
diff
changeset
|
26 | version = UI.Info.VersionOnly |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
27 | className = "FileDialogWizard" |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
28 | packageName = "__core__" |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
29 | shortDescription = "Show the QFileDialog wizard." |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
30 | longDescription = """This plugin shows the QFileDialog wizard.""" |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
31 | pyqtApi = 2 |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
32 | # End-Of-Header |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
33 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
34 | error = "" |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
35 | |
945
8cd4d08fa9f6
Made code mostly PEP 8 compliant (except all whitespace and line length).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
791
diff
changeset
|
36 | |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
37 | class FileDialogWizard(QObject): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
38 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
39 | Class implementing the QFileDialog wizard plugin. |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
40 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
41 | def __init__(self, ui): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
42 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
43 | Constructor |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
44 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
45 | @param ui reference to the user interface object (UI.UserInterface) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
46 | """ |
8218
7c09585bd960
Applied some more code simplifications suggested by the new Simplify checker (super(Foo, self) => super()).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8205
diff
changeset
|
47 | super().__init__(ui) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
48 | self.__ui = ui |
3122
4bcf6c0f4432
Added support for PyQt5 to the QFileDialog wizard.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3034
diff
changeset
|
49 | |
7635
0cdead130a81
Removed support for Python2 and removed support for Qt4 (PyQt4 and pyside).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7360
diff
changeset
|
50 | # PyQt5 |
7907
7991ea245c20
Added support for PyQt6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7780
diff
changeset
|
51 | self.__pyqtRe = re.compile(r"(?:import|from)\s+PyQt([56])") |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
52 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
53 | def activate(self): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
54 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
55 | Public method to activate this plugin. |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
56 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
57 | @return tuple of None and activation status (boolean) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
58 | """ |
7207
4ba7a9b26020
QFileDialog Wizard:
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7199
diff
changeset
|
59 | self.__initActions() |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
60 | self.__initMenu() |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
61 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
62 | return None, True |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
63 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
64 | def deactivate(self): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
65 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
66 | Public method to deactivate this plugin. |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
67 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
68 | menu = self.__ui.getMenu("wizards") |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
69 | if menu: |
7207
4ba7a9b26020
QFileDialog Wizard:
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7199
diff
changeset
|
70 | menu.removeAction(self.qFileDialogAction) |
8356
68ec9c3d4de5
Renamed the modules and classes of the E5Gui package to have the prefix 'Eric' instead of 'E5'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8318
diff
changeset
|
71 | menu.removeAction(self.ericFileDialogAction) |
68ec9c3d4de5
Renamed the modules and classes of the E5Gui package to have the prefix 'Eric' instead of 'E5'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8318
diff
changeset
|
72 | self.__ui.removeEricActions( |
68ec9c3d4de5
Renamed the modules and classes of the E5Gui package to have the prefix 'Eric' instead of 'E5'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8318
diff
changeset
|
73 | [self.qFileDialogAction, self.ericFileDialogAction], |
7207
4ba7a9b26020
QFileDialog Wizard:
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7199
diff
changeset
|
74 | 'wizards') |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
75 | |
7207
4ba7a9b26020
QFileDialog Wizard:
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7199
diff
changeset
|
76 | def __initActions(self): |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
77 | """ |
7207
4ba7a9b26020
QFileDialog Wizard:
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7199
diff
changeset
|
78 | Private method to initialize the actions. |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
79 | """ |
8356
68ec9c3d4de5
Renamed the modules and classes of the E5Gui package to have the prefix 'Eric' instead of 'E5'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8318
diff
changeset
|
80 | self.qFileDialogAction = EricAction( |
3190
a9a94491c4fd
Changed the code to use QObject.tr() instead of QObject.trUtf8().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3180
diff
changeset
|
81 | self.tr('QFileDialog Wizard'), |
a9a94491c4fd
Changed the code to use QObject.tr() instead of QObject.trUtf8().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3180
diff
changeset
|
82 | self.tr('Q&FileDialog Wizard...'), 0, 0, self, |
3022
57179e4cdadd
Fixed a bunch of visible indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3020
diff
changeset
|
83 | 'wizards_qfiledialog') |
7207
4ba7a9b26020
QFileDialog Wizard:
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7199
diff
changeset
|
84 | self.qFileDialogAction.setStatusTip(self.tr('QFileDialog Wizard')) |
4ba7a9b26020
QFileDialog Wizard:
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7199
diff
changeset
|
85 | self.qFileDialogAction.setWhatsThis(self.tr( |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
86 | """<b>QFileDialog Wizard</b>""" |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
87 | """<p>This wizard opens a dialog for entering all the parameters""" |
3004
c4bf32c791d0
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2962
diff
changeset
|
88 | """ needed to create a QFileDialog. The generated code is""" |
c4bf32c791d0
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2962
diff
changeset
|
89 | """ inserted at the current cursor position.</p>""" |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
90 | )) |
7207
4ba7a9b26020
QFileDialog Wizard:
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7199
diff
changeset
|
91 | self.qFileDialogAction.triggered.connect(self.__handleQFileDialog) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
92 | |
8356
68ec9c3d4de5
Renamed the modules and classes of the E5Gui package to have the prefix 'Eric' instead of 'E5'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8318
diff
changeset
|
93 | self.ericFileDialogAction = EricAction( |
68ec9c3d4de5
Renamed the modules and classes of the E5Gui package to have the prefix 'Eric' instead of 'E5'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8318
diff
changeset
|
94 | self.tr('EricFileDialog Wizard'), |
7238
c1eda208462b
PluginWizardQFileDialog: fixed a typo in a display string.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7229
diff
changeset
|
95 | self.tr('E&5FileDialog Wizard...'), 0, 0, self, |
7207
4ba7a9b26020
QFileDialog Wizard:
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7199
diff
changeset
|
96 | 'wizards_e5filedialog') |
8366
2a9f5153c438
Corrected some code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8358
diff
changeset
|
97 | self.ericFileDialogAction.setStatusTip(self.tr( |
2a9f5153c438
Corrected some code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8358
diff
changeset
|
98 | 'EricFileDialog Wizard')) |
8356
68ec9c3d4de5
Renamed the modules and classes of the E5Gui package to have the prefix 'Eric' instead of 'E5'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8318
diff
changeset
|
99 | self.ericFileDialogAction.setWhatsThis(self.tr( |
68ec9c3d4de5
Renamed the modules and classes of the E5Gui package to have the prefix 'Eric' instead of 'E5'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8318
diff
changeset
|
100 | """<b>EricFileDialog Wizard</b>""" |
7207
4ba7a9b26020
QFileDialog Wizard:
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7199
diff
changeset
|
101 | """<p>This wizard opens a dialog for entering all the parameters""" |
8356
68ec9c3d4de5
Renamed the modules and classes of the E5Gui package to have the prefix 'Eric' instead of 'E5'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8318
diff
changeset
|
102 | """ needed to create an EricFileDialog. The generated code is""" |
7207
4ba7a9b26020
QFileDialog Wizard:
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7199
diff
changeset
|
103 | """ inserted at the current cursor position.</p>""" |
4ba7a9b26020
QFileDialog Wizard:
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7199
diff
changeset
|
104 | )) |
8366
2a9f5153c438
Corrected some code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8358
diff
changeset
|
105 | self.ericFileDialogAction.triggered.connect( |
2a9f5153c438
Corrected some code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8358
diff
changeset
|
106 | self.__handleEricFileDialog) |
7207
4ba7a9b26020
QFileDialog Wizard:
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7199
diff
changeset
|
107 | |
8356
68ec9c3d4de5
Renamed the modules and classes of the E5Gui package to have the prefix 'Eric' instead of 'E5'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8318
diff
changeset
|
108 | self.__ui.addEricActions( |
68ec9c3d4de5
Renamed the modules and classes of the E5Gui package to have the prefix 'Eric' instead of 'E5'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8318
diff
changeset
|
109 | [self.qFileDialogAction, self.ericFileDialogAction], |
7207
4ba7a9b26020
QFileDialog Wizard:
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7199
diff
changeset
|
110 | 'wizards') |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
111 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
112 | def __initMenu(self): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
113 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
114 | Private method to add the actions to the right menu. |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
115 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
116 | menu = self.__ui.getMenu("wizards") |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
117 | if menu: |
8356
68ec9c3d4de5
Renamed the modules and classes of the E5Gui package to have the prefix 'Eric' instead of 'E5'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8318
diff
changeset
|
118 | menu.addAction(self.ericFileDialogAction) |
7207
4ba7a9b26020
QFileDialog Wizard:
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7199
diff
changeset
|
119 | menu.addAction(self.qFileDialogAction) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
120 | |
7207
4ba7a9b26020
QFileDialog Wizard:
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7199
diff
changeset
|
121 | def __callForm(self, editor, variant): |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
122 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
123 | Private method to display a dialog and get the code. |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
124 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
125 | @param editor reference to the current editor |
7207
4ba7a9b26020
QFileDialog Wizard:
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7199
diff
changeset
|
126 | @type Editor |
4ba7a9b26020
QFileDialog Wizard:
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7199
diff
changeset
|
127 | @param variant variant of code to be generated |
8356
68ec9c3d4de5
Renamed the modules and classes of the E5Gui package to have the prefix 'Eric' instead of 'E5'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8318
diff
changeset
|
128 | (-1 = EricFileDialog, 0 = unknown, 5 = PyQt5) |
7207
4ba7a9b26020
QFileDialog Wizard:
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7199
diff
changeset
|
129 | @type int |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
130 | @return the generated code (string) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
131 | """ |
7256
4ef3b78ebb4e
Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7238
diff
changeset
|
132 | from WizardPlugins.FileDialogWizard.FileDialogWizardDialog import ( |
2407
b98cc8ee1142
Continued implementing the delayed import.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2302
diff
changeset
|
133 | FileDialogWizardDialog |
7256
4ef3b78ebb4e
Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7238
diff
changeset
|
134 | ) |
7207
4ba7a9b26020
QFileDialog Wizard:
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7199
diff
changeset
|
135 | dlg = FileDialogWizardDialog(variant, None) |
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
|
136 | if dlg.exec() == QDialog.DialogCode.Accepted: |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
137 | line, index = editor.getCursorPosition() |
117
d63640116aec
Fixed a division bug caused by porting to Python3.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
55
diff
changeset
|
138 | indLevel = editor.indentation(line) // editor.indentationWidth() |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
139 | if editor.indentationsUseTabs(): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
140 | indString = '\t' |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
141 | else: |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
142 | indString = editor.indentationWidth() * ' ' |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
143 | return (dlg.getCode(indLevel, indString), 1) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
144 | else: |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
145 | return (None, 0) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
146 | |
7207
4ba7a9b26020
QFileDialog Wizard:
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7199
diff
changeset
|
147 | def __handle(self, variant): |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
148 | """ |
2962
d6c9d1ca2da4
Continued correcting doc strings by using the new doc string checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2712
diff
changeset
|
149 | Private method to handle the wizards action. |
7207
4ba7a9b26020
QFileDialog Wizard:
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7199
diff
changeset
|
150 | |
4ba7a9b26020
QFileDialog Wizard:
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7199
diff
changeset
|
151 | @param variant dialog variant to be generated |
8356
68ec9c3d4de5
Renamed the modules and classes of the E5Gui package to have the prefix 'Eric' instead of 'E5'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8318
diff
changeset
|
152 | (EricFileDialog or QFileDialog) |
7207
4ba7a9b26020
QFileDialog Wizard:
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7199
diff
changeset
|
153 | @type str |
4ba7a9b26020
QFileDialog Wizard:
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7199
diff
changeset
|
154 | @exception ValueError raised to indicate an illegal file dialog variant |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
155 | """ |
8356
68ec9c3d4de5
Renamed the modules and classes of the E5Gui package to have the prefix 'Eric' instead of 'E5'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8318
diff
changeset
|
156 | editor = ericApp().getObject("ViewManager").activeWindow() |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
157 | |
3034
7ce719013078
Fixed various coding style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3022
diff
changeset
|
158 | if editor is None: |
8356
68ec9c3d4de5
Renamed the modules and classes of the E5Gui package to have the prefix 'Eric' instead of 'E5'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8318
diff
changeset
|
159 | EricMessageBox.critical( |
3020
542e97d4ecb3
Fixed a bunch of visible indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3004
diff
changeset
|
160 | self.__ui, |
3190
a9a94491c4fd
Changed the code to use QObject.tr() instead of QObject.trUtf8().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3180
diff
changeset
|
161 | self.tr('No current editor'), |
a9a94491c4fd
Changed the code to use QObject.tr() instead of QObject.trUtf8().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3180
diff
changeset
|
162 | self.tr('Please open or create a file first.')) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
163 | else: |
8356
68ec9c3d4de5
Renamed the modules and classes of the E5Gui package to have the prefix 'Eric' instead of 'E5'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8318
diff
changeset
|
164 | if variant not in ("QFileDialog", "EricFileDialog"): |
8205
4a0f1f896341
Applied some code simplifications suggested by the new Simplify checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8143
diff
changeset
|
165 | raise ValueError("Illegal dialog variant given") |
4a0f1f896341
Applied some code simplifications suggested by the new Simplify checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8143
diff
changeset
|
166 | |
7207
4ba7a9b26020
QFileDialog Wizard:
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7199
diff
changeset
|
167 | if variant == "QFileDialog": |
4ba7a9b26020
QFileDialog Wizard:
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7199
diff
changeset
|
168 | match = self.__pyqtRe.search(editor.text()) |
4ba7a9b26020
QFileDialog Wizard:
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7199
diff
changeset
|
169 | if match is None: |
4ba7a9b26020
QFileDialog Wizard:
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7199
diff
changeset
|
170 | # unknown |
4ba7a9b26020
QFileDialog Wizard:
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7199
diff
changeset
|
171 | dialogVariant = 0 |
4ba7a9b26020
QFileDialog Wizard:
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7199
diff
changeset
|
172 | else: |
7907
7991ea245c20
Added support for PyQt6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7780
diff
changeset
|
173 | # PyQt5/PyQt6 |
7207
4ba7a9b26020
QFileDialog Wizard:
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7199
diff
changeset
|
174 | dialogVariant = int(match.group(1)) |
8205
4a0f1f896341
Applied some code simplifications suggested by the new Simplify checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8143
diff
changeset
|
175 | else: |
8356
68ec9c3d4de5
Renamed the modules and classes of the E5Gui package to have the prefix 'Eric' instead of 'E5'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8318
diff
changeset
|
176 | # EricFileDialog |
7207
4ba7a9b26020
QFileDialog Wizard:
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7199
diff
changeset
|
177 | dialogVariant = -1 |
4ba7a9b26020
QFileDialog Wizard:
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7199
diff
changeset
|
178 | |
4ba7a9b26020
QFileDialog Wizard:
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7199
diff
changeset
|
179 | code, ok = self.__callForm(editor, dialogVariant) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
180 | if ok: |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
181 | line, index = editor.getCursorPosition() |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
182 | # It should be done on this way to allow undo |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
183 | editor.beginUndoAction() |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
184 | editor.insertAt(code, line, index) |
467
0911d8be9b07
Continued porting signal/slot usage to the new API.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
454
diff
changeset
|
185 | editor.endUndoAction() |
7207
4ba7a9b26020
QFileDialog Wizard:
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7199
diff
changeset
|
186 | |
4ba7a9b26020
QFileDialog Wizard:
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7199
diff
changeset
|
187 | def __handleQFileDialog(self): |
4ba7a9b26020
QFileDialog Wizard:
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7199
diff
changeset
|
188 | """ |
4ba7a9b26020
QFileDialog Wizard:
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7199
diff
changeset
|
189 | Private slot to handle the wizard QFileDialog action. |
4ba7a9b26020
QFileDialog Wizard:
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7199
diff
changeset
|
190 | """ |
4ba7a9b26020
QFileDialog Wizard:
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7199
diff
changeset
|
191 | self.__handle("QFileDialog") |
4ba7a9b26020
QFileDialog Wizard:
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7199
diff
changeset
|
192 | |
8356
68ec9c3d4de5
Renamed the modules and classes of the E5Gui package to have the prefix 'Eric' instead of 'E5'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8318
diff
changeset
|
193 | def __handleEricFileDialog(self): |
7207
4ba7a9b26020
QFileDialog Wizard:
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7199
diff
changeset
|
194 | """ |
8356
68ec9c3d4de5
Renamed the modules and classes of the E5Gui package to have the prefix 'Eric' instead of 'E5'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8318
diff
changeset
|
195 | Private slot to handle the wizard EricFileDialog action. |
7207
4ba7a9b26020
QFileDialog Wizard:
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7199
diff
changeset
|
196 | """ |
8356
68ec9c3d4de5
Renamed the modules and classes of the E5Gui package to have the prefix 'Eric' instead of 'E5'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8318
diff
changeset
|
197 | self.__handle("EricFileDialog") |