eric6/Plugins/WizardPlugins/FileDialogWizard/FileDialogWizardDialog.py

Thu, 03 Jun 2021 11:39:23 +0200

author
Detlev Offenbach <detlev@die-offenbachs.de>
date
Thu, 03 Jun 2021 11:39:23 +0200
branch
maintenance
changeset 8400
b3eefd7e58d1
parent 8273
698ae46f40a4
parent 8321
3769d95f20fb
permissions
-rw-r--r--

Merged with default branch to prepare release 21.6.

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) 2003 - 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 file dialog wizard dialog.
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
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
10 import os
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
11
7207
4ba7a9b26020 QFileDialog Wizard:
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7198
diff changeset
12 from PyQt5.QtCore import pyqtSlot, QUrl
7258
aff39db4dacc Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7229
diff changeset
13 from PyQt5.QtWidgets import (
aff39db4dacc Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7229
diff changeset
14 QDialog, QDialogButtonBox, QFileDialog, QButtonGroup
aff39db4dacc Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7229
diff changeset
15 )
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
16
55
b5c84934de9c Renamed E4Gui to E5Gui.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 53
diff changeset
17 from E5Gui.E5Completers import E5FileCompleter, E5DirCompleter
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
18
12
1d8dd9706f46 First commit after changing to Python 3.1.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
19 from .Ui_FileDialogWizardDialog import Ui_FileDialogWizardDialog
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
20
882
34b86be88bf0 Redid the native file dialog code to be future proof.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 880
diff changeset
21 import Globals
34b86be88bf0 Redid the native file dialog code to be future proof.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 880
diff changeset
22
945
8cd4d08fa9f6 Made code mostly PEP 8 compliant (except all whitespace and line length).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 882
diff changeset
23
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
24 class FileDialogWizardDialog(QDialog, Ui_FileDialogWizardDialog):
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
25 """
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
26 Class implementing the color dialog wizard dialog.
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
27
7207
4ba7a9b26020 QFileDialog Wizard:
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7198
diff changeset
28 It displays a dialog for entering the parameters for the
4ba7a9b26020 QFileDialog Wizard:
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7198
diff changeset
29 E5FileDialog or QFileDialog code generator.
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
30 """
7207
4ba7a9b26020 QFileDialog Wizard:
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7198
diff changeset
31 def __init__(self, dialogVariant, parent=None):
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
32 """
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
33 Constructor
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
34
7207
4ba7a9b26020 QFileDialog Wizard:
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7198
diff changeset
35 @param dialogVariant variant of the file dialog to be generated
7635
0cdead130a81 Removed support for Python2 and removed support for Qt4 (PyQt4 and pyside).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7360
diff changeset
36 (-1 = E5FileDialog, 0 = unknown, 5 = PyQt5)
7207
4ba7a9b26020 QFileDialog Wizard:
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7198
diff changeset
37 @type int
4ba7a9b26020 QFileDialog Wizard:
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7198
diff changeset
38 @param parent parent widget
4ba7a9b26020 QFileDialog Wizard:
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7198
diff changeset
39 @type QWidget
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
40 """
8218
7c09585bd960 Applied some more code simplifications suggested by the new Simplify checker (super(Foo, self) => super()).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8143
diff changeset
41 super().__init__(parent)
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
42 self.setupUi(self)
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
43
55
b5c84934de9c Renamed E4Gui to E5Gui.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 53
diff changeset
44 self.eStartWithCompleter = E5FileCompleter(self.eStartWith)
b5c84934de9c Renamed E4Gui to E5Gui.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 53
diff changeset
45 self.eWorkDirCompleter = E5DirCompleter(self.eWorkDir)
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
46
8321
3769d95f20fb FileDialogWizardDialog: fixed an issue causing the wizard to not being shown.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8218
diff changeset
47 self.__dialogVariant = dialogVariant
3769d95f20fb FileDialogWizardDialog: fixed an issue causing the wizard to not being shown.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8218
diff changeset
48
3122
4bcf6c0f4432 Added support for PyQt5 to the QFileDialog wizard.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3118
diff changeset
49 self.__typeButtonsGroup = QButtonGroup(self)
4bcf6c0f4432 Added support for PyQt5 to the QFileDialog wizard.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3118
diff changeset
50 self.__typeButtonsGroup.setExclusive(True)
4bcf6c0f4432 Added support for PyQt5 to the QFileDialog wizard.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3118
diff changeset
51 self.__typeButtonsGroup.addButton(self.rOpenFile, 1)
4bcf6c0f4432 Added support for PyQt5 to the QFileDialog wizard.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3118
diff changeset
52 self.__typeButtonsGroup.addButton(self.rOpenFiles, 2)
4bcf6c0f4432 Added support for PyQt5 to the QFileDialog wizard.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3118
diff changeset
53 self.__typeButtonsGroup.addButton(self.rSaveFile, 3)
4bcf6c0f4432 Added support for PyQt5 to the QFileDialog wizard.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3118
diff changeset
54 self.__typeButtonsGroup.addButton(self.rfOpenFile, 11)
4bcf6c0f4432 Added support for PyQt5 to the QFileDialog wizard.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3118
diff changeset
55 self.__typeButtonsGroup.addButton(self.rfOpenFiles, 12)
4bcf6c0f4432 Added support for PyQt5 to the QFileDialog wizard.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3118
diff changeset
56 self.__typeButtonsGroup.addButton(self.rfSaveFile, 13)
7207
4ba7a9b26020 QFileDialog Wizard:
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7198
diff changeset
57 self.__typeButtonsGroup.addButton(self.rOpenFileUrl, 21)
4ba7a9b26020 QFileDialog Wizard:
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7198
diff changeset
58 self.__typeButtonsGroup.addButton(self.rOpenFileUrls, 22)
4ba7a9b26020 QFileDialog Wizard:
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7198
diff changeset
59 self.__typeButtonsGroup.addButton(self.rSaveFileUrl, 23)
4ba7a9b26020 QFileDialog Wizard:
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7198
diff changeset
60 self.__typeButtonsGroup.addButton(self.rDirectory, 30)
4ba7a9b26020 QFileDialog Wizard:
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7198
diff changeset
61 self.__typeButtonsGroup.addButton(self.rDirectoryUrl, 31)
3122
4bcf6c0f4432 Added support for PyQt5 to the QFileDialog wizard.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3118
diff changeset
62 self.__typeButtonsGroup.buttonClicked[int].connect(
3124
a01e410893ac Extended the dialog wizards to generate code for the result variable(s).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3122
diff changeset
63 self.__toggleInitialFilterAndResult)
a01e410893ac Extended the dialog wizards to generate code for the result variable(s).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3122
diff changeset
64 self.__toggleInitialFilterAndResult(1)
3122
4bcf6c0f4432 Added support for PyQt5 to the QFileDialog wizard.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3118
diff changeset
65
7207
4ba7a9b26020 QFileDialog Wizard:
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7198
diff changeset
66 if self.__dialogVariant == -1:
4ba7a9b26020 QFileDialog Wizard:
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7198
diff changeset
67 self.pyqtComboBox.addItems(["eric"])
4ba7a9b26020 QFileDialog Wizard:
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7198
diff changeset
68 self.setWindowTitle(self.tr("E5FileDialog Wizard"))
4ba7a9b26020 QFileDialog Wizard:
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7198
diff changeset
69 self.pyqtComboBox.setCurrentIndex(0)
4ba7a9b26020 QFileDialog Wizard:
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7198
diff changeset
70 self.pyqtComboBox.setEnabled(False)
3122
4bcf6c0f4432 Added support for PyQt5 to the QFileDialog wizard.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3118
diff changeset
71 else:
7907
7991ea245c20 Added support for PyQt6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7780
diff changeset
72 self.pyqtComboBox.addItems(["PyQt5", "PyQt6"])
7207
4ba7a9b26020 QFileDialog Wizard:
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7198
diff changeset
73 self.setWindowTitle(self.tr("QFileDialog Wizard"))
4ba7a9b26020 QFileDialog Wizard:
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7198
diff changeset
74 if self.__dialogVariant == 5:
4ba7a9b26020 QFileDialog Wizard:
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7198
diff changeset
75 self.pyqtComboBox.setCurrentIndex(0)
7907
7991ea245c20 Added support for PyQt6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7780
diff changeset
76 elif self.__dialogVariant == 6:
7207
4ba7a9b26020 QFileDialog Wizard:
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7198
diff changeset
77 self.pyqtComboBox.setCurrentIndex(1)
4ba7a9b26020 QFileDialog Wizard:
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7198
diff changeset
78 else:
4ba7a9b26020 QFileDialog Wizard:
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7198
diff changeset
79 self.pyqtComboBox.setCurrentIndex(0)
3122
4bcf6c0f4432 Added support for PyQt5 to the QFileDialog wizard.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3118
diff changeset
80
500
c3abc7895a01 Continued porting signal/slot usage to the new API.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 446
diff changeset
81 self.rSaveFile.toggled[bool].connect(self.__toggleConfirmCheckBox)
c3abc7895a01 Continued porting signal/slot usage to the new API.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 446
diff changeset
82 self.rfSaveFile.toggled[bool].connect(self.__toggleConfirmCheckBox)
7207
4ba7a9b26020 QFileDialog Wizard:
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7198
diff changeset
83 self.rSaveFileUrl.toggled[bool].connect(self.__toggleConfirmCheckBox)
500
c3abc7895a01 Continued porting signal/slot usage to the new API.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 446
diff changeset
84 self.rDirectory.toggled[bool].connect(self.__toggleGroupsAndTest)
7207
4ba7a9b26020 QFileDialog Wizard:
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7198
diff changeset
85 self.rDirectoryUrl.toggled[bool].connect(self.__toggleGroupsAndTest)
500
c3abc7895a01 Continued porting signal/slot usage to the new API.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 446
diff changeset
86 self.cStartWith.toggled[bool].connect(self.__toggleGroupsAndTest)
c3abc7895a01 Continued porting signal/slot usage to the new API.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 446
diff changeset
87 self.cWorkDir.toggled[bool].connect(self.__toggleGroupsAndTest)
c3abc7895a01 Continued porting signal/slot usage to the new API.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 446
diff changeset
88 self.cFilters.toggled[bool].connect(self.__toggleGroupsAndTest)
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
89
2893
150de635fa29 Some changes to code generation wizards.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2302
diff changeset
90 self.bTest = self.buttonBox.addButton(
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
91 self.tr("Test"), QDialogButtonBox.ButtonRole.ActionRole)
3366
6084bb3c3911 Made some changes to have a bunch of dialogs with correct sizes.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3190
diff changeset
92
6084bb3c3911 Made some changes to have a bunch of dialogs with correct sizes.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3190
diff changeset
93 msh = self.minimumSizeHint()
6084bb3c3911 Made some changes to have a bunch of dialogs with correct sizes.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3190
diff changeset
94 self.resize(max(self.width(), msh.width()), msh.height())
3122
4bcf6c0f4432 Added support for PyQt5 to the QFileDialog wizard.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3118
diff changeset
95
882
34b86be88bf0 Redid the native file dialog code to be future proof.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 880
diff changeset
96 def __adjustOptions(self, options):
34b86be88bf0 Redid the native file dialog code to be future proof.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 880
diff changeset
97 """
34b86be88bf0 Redid the native file dialog code to be future proof.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 880
diff changeset
98 Private method to adjust the file dialog options.
34b86be88bf0 Redid the native file dialog code to be future proof.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 880
diff changeset
99
34b86be88bf0 Redid the native file dialog code to be future proof.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 880
diff changeset
100 @param options file dialog options (QFileDialog.Options)
34b86be88bf0 Redid the native file dialog code to be future proof.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 880
diff changeset
101 @return modified options (QFileDialog.Options)
34b86be88bf0 Redid the native file dialog code to be future proof.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 880
diff changeset
102 """
34b86be88bf0 Redid the native file dialog code to be future proof.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 880
diff changeset
103 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
104 options |= QFileDialog.Option.DontUseNativeDialog
882
34b86be88bf0 Redid the native file dialog code to be future proof.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 880
diff changeset
105 return options
3122
4bcf6c0f4432 Added support for PyQt5 to the QFileDialog wizard.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3118
diff changeset
106
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
107 @pyqtSlot(int)
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
108 def on_pyqtComboBox_currentIndexChanged(self, index):
3122
4bcf6c0f4432 Added support for PyQt5 to the QFileDialog wizard.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3118
diff changeset
109 """
4bcf6c0f4432 Added support for PyQt5 to the QFileDialog wizard.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3118
diff changeset
110 Private slot to setup the dialog for the selected PyQt variant.
882
34b86be88bf0 Redid the native file dialog code to be future proof.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 880
diff changeset
111
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
112 @param index index of the current item
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
113 @type int
3122
4bcf6c0f4432 Added support for PyQt5 to the QFileDialog wizard.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3118
diff changeset
114 """
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
115 txt = self.pyqtComboBox.itemText(index)
7635
0cdead130a81 Removed support for Python2 and removed support for Qt4 (PyQt4 and pyside).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7360
diff changeset
116 self.rfOpenFile.setEnabled(txt == "eric")
0cdead130a81 Removed support for Python2 and removed support for Qt4 (PyQt4 and pyside).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7360
diff changeset
117 self.rfOpenFiles.setEnabled(txt == "eric")
0cdead130a81 Removed support for Python2 and removed support for Qt4 (PyQt4 and pyside).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7360
diff changeset
118 self.rfSaveFile.setEnabled(txt == "eric")
7207
4ba7a9b26020 QFileDialog Wizard:
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7198
diff changeset
119
7907
7991ea245c20 Added support for PyQt6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7780
diff changeset
120 self.rOpenFileUrl.setEnabled(txt in ["PyQt5", "PyQt6"])
7991ea245c20 Added support for PyQt6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7780
diff changeset
121 self.rOpenFileUrls.setEnabled(txt in ["PyQt5", "PyQt6"])
7991ea245c20 Added support for PyQt6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7780
diff changeset
122 self.rSaveFileUrl.setEnabled(txt in ["PyQt5", "PyQt6"])
7991ea245c20 Added support for PyQt6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7780
diff changeset
123 self.rDirectoryUrl.setEnabled(txt in ["PyQt5", "PyQt6"])
3122
4bcf6c0f4432 Added support for PyQt5 to the QFileDialog wizard.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3118
diff changeset
124
7907
7991ea245c20 Added support for PyQt6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7780
diff changeset
125 if txt in ["PyQt5", "PyQt6"]:
3122
4bcf6c0f4432 Added support for PyQt5 to the QFileDialog wizard.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3118
diff changeset
126 if self.rfOpenFile.isChecked():
4bcf6c0f4432 Added support for PyQt5 to the QFileDialog wizard.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3118
diff changeset
127 self.rOpenFile.setChecked(True)
4bcf6c0f4432 Added support for PyQt5 to the QFileDialog wizard.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3118
diff changeset
128 elif self.rfOpenFiles.isChecked():
4bcf6c0f4432 Added support for PyQt5 to the QFileDialog wizard.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3118
diff changeset
129 self.rOpenFiles.setChecked(True)
4bcf6c0f4432 Added support for PyQt5 to the QFileDialog wizard.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3118
diff changeset
130 elif self.rfSaveFile.isChecked():
4bcf6c0f4432 Added support for PyQt5 to the QFileDialog wizard.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3118
diff changeset
131 self.rSaveFile.setChecked(True)
7207
4ba7a9b26020 QFileDialog Wizard:
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7198
diff changeset
132 else:
4ba7a9b26020 QFileDialog Wizard:
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7198
diff changeset
133 if self.rOpenFileUrl.isChecked():
4ba7a9b26020 QFileDialog Wizard:
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7198
diff changeset
134 self.rOpenFile.setChecked(True)
4ba7a9b26020 QFileDialog Wizard:
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7198
diff changeset
135 if self.rOpenFileUrls.isChecked():
4ba7a9b26020 QFileDialog Wizard:
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7198
diff changeset
136 self.rOpenFiles.setChecked(True)
4ba7a9b26020 QFileDialog Wizard:
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7198
diff changeset
137 if self.rSaveFileUrl.isChecked():
4ba7a9b26020 QFileDialog Wizard:
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7198
diff changeset
138 self.rSaveFile.setChecked(True)
4ba7a9b26020 QFileDialog Wizard:
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7198
diff changeset
139 if self.rDirectoryUrl.isChecked():
4ba7a9b26020 QFileDialog Wizard:
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7198
diff changeset
140 self.rDirectory.setChecked(True)
3122
4bcf6c0f4432 Added support for PyQt5 to the QFileDialog wizard.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3118
diff changeset
141
7207
4ba7a9b26020 QFileDialog Wizard:
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7198
diff changeset
142 if txt == "eric":
4ba7a9b26020 QFileDialog Wizard:
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7198
diff changeset
143 self.__dialogVariant = -1
4ba7a9b26020 QFileDialog Wizard:
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7198
diff changeset
144 elif txt == "PyQt5":
4ba7a9b26020 QFileDialog Wizard:
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7198
diff changeset
145 self.__dialogVariant = 5
7907
7991ea245c20 Added support for PyQt6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7780
diff changeset
146 elif txt == "PyQt6":
7991ea245c20 Added support for PyQt6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7780
diff changeset
147 self.__dialogVariant = 6
7207
4ba7a9b26020 QFileDialog Wizard:
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7198
diff changeset
148 else:
4ba7a9b26020 QFileDialog Wizard:
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7198
diff changeset
149 # default is PyQt5
4ba7a9b26020 QFileDialog Wizard:
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7198
diff changeset
150 self.__dialogVariant = 5
3122
4bcf6c0f4432 Added support for PyQt5 to the QFileDialog wizard.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3118
diff changeset
151
3171
2c37b9a37b2d Fixed some code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3160
diff changeset
152 self.__toggleInitialFilterAndResult(
2c37b9a37b2d Fixed some code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3160
diff changeset
153 self.__typeButtonsGroup.checkedId())
3122
4bcf6c0f4432 Added support for PyQt5 to the QFileDialog wizard.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3118
diff changeset
154
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
155 def on_buttonBox_clicked(self, button):
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
156 """
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
157 Private slot called by a button of the button box clicked.
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
158
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
159 @param button button that was clicked (QAbstractButton)
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
160 """
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
161 if button == self.bTest:
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
162 self.on_bTest_clicked()
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
163
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
164 @pyqtSlot()
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
165 def on_bTest_clicked(self):
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
166 """
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
167 Private method to test the selected options.
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
168 """
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
169 if self.rOpenFile.isChecked() or self.rfOpenFile.isChecked():
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
170 if not self.cSymlinks.isChecked():
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
171 options = QFileDialog.Options(
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
172 QFileDialog.Option.DontResolveSymlinks)
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
173 else:
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
174 options = QFileDialog.Options()
882
34b86be88bf0 Redid the native file dialog code to be future proof.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 880
diff changeset
175 options = self.__adjustOptions(options)
7207
4ba7a9b26020 QFileDialog Wizard:
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7198
diff changeset
176 QFileDialog.getOpenFileName(
4ba7a9b26020 QFileDialog Wizard:
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7198
diff changeset
177 None,
4ba7a9b26020 QFileDialog Wizard:
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7198
diff changeset
178 self.eCaption.text(),
4ba7a9b26020 QFileDialog Wizard:
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7198
diff changeset
179 self.eStartWith.text(),
4ba7a9b26020 QFileDialog Wizard:
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7198
diff changeset
180 self.eFilters.text(),
4ba7a9b26020 QFileDialog Wizard:
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7198
diff changeset
181 self.eInitialFilter.text(),
4ba7a9b26020 QFileDialog Wizard:
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7198
diff changeset
182 options)
4ba7a9b26020 QFileDialog Wizard:
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7198
diff changeset
183 elif self.rOpenFileUrl.isChecked():
4ba7a9b26020 QFileDialog Wizard:
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7198
diff changeset
184 if not self.cSymlinks.isChecked():
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
185 options = QFileDialog.Options(
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
186 QFileDialog.Option.DontResolveSymlinks)
3122
4bcf6c0f4432 Added support for PyQt5 to the QFileDialog wizard.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3118
diff changeset
187 else:
7207
4ba7a9b26020 QFileDialog Wizard:
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7198
diff changeset
188 options = QFileDialog.Options()
4ba7a9b26020 QFileDialog Wizard:
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7198
diff changeset
189 options = self.__adjustOptions(options)
4ba7a9b26020 QFileDialog Wizard:
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7198
diff changeset
190 try:
4ba7a9b26020 QFileDialog Wizard:
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7198
diff changeset
191 QFileDialog.getOpenFileUrl(
4ba7a9b26020 QFileDialog Wizard:
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7198
diff changeset
192 None,
4ba7a9b26020 QFileDialog Wizard:
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7198
diff changeset
193 self.eCaption.text(),
4ba7a9b26020 QFileDialog Wizard:
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7198
diff changeset
194 QUrl(self.eStartWith.text()),
4ba7a9b26020 QFileDialog Wizard:
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7198
diff changeset
195 self.eFilters.text(),
4ba7a9b26020 QFileDialog Wizard:
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7198
diff changeset
196 self.eInitialFilter.text(),
4ba7a9b26020 QFileDialog Wizard:
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7198
diff changeset
197 options,
4ba7a9b26020 QFileDialog Wizard:
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7198
diff changeset
198 self.schemesEdit.text().split())
4ba7a9b26020 QFileDialog Wizard:
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7198
diff changeset
199 except TypeError:
4ba7a9b26020 QFileDialog Wizard:
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7198
diff changeset
200 # PyQt5 < 5.13.0 contains an error
4ba7a9b26020 QFileDialog Wizard:
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7198
diff changeset
201 QFileDialog.getOpenFileUrl(
4ba7a9b26020 QFileDialog Wizard:
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7198
diff changeset
202 None,
4ba7a9b26020 QFileDialog Wizard:
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7198
diff changeset
203 self.eCaption.text(),
4ba7a9b26020 QFileDialog Wizard:
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7198
diff changeset
204 self.eStartWith.text(),
4ba7a9b26020 QFileDialog Wizard:
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7198
diff changeset
205 self.eFilters.text(),
4ba7a9b26020 QFileDialog Wizard:
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7198
diff changeset
206 self.eInitialFilter.text(),
4ba7a9b26020 QFileDialog Wizard:
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7198
diff changeset
207 options,
4ba7a9b26020 QFileDialog Wizard:
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7198
diff changeset
208 self.schemesEdit.text().split())
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
209 elif self.rOpenFiles.isChecked() or self.rfOpenFiles.isChecked():
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
210 if not self.cSymlinks.isChecked():
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
211 options = QFileDialog.Options(
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
212 QFileDialog.Option.DontResolveSymlinks)
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
213 else:
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
214 options = QFileDialog.Options()
882
34b86be88bf0 Redid the native file dialog code to be future proof.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 880
diff changeset
215 options = self.__adjustOptions(options)
7207
4ba7a9b26020 QFileDialog Wizard:
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7198
diff changeset
216 QFileDialog.getOpenFileNames(
4ba7a9b26020 QFileDialog Wizard:
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7198
diff changeset
217 None,
4ba7a9b26020 QFileDialog Wizard:
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7198
diff changeset
218 self.eCaption.text(),
4ba7a9b26020 QFileDialog Wizard:
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7198
diff changeset
219 self.eStartWith.text(),
4ba7a9b26020 QFileDialog Wizard:
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7198
diff changeset
220 self.eFilters.text(),
4ba7a9b26020 QFileDialog Wizard:
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7198
diff changeset
221 self.eInitialFilter.text(),
4ba7a9b26020 QFileDialog Wizard:
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7198
diff changeset
222 options)
4ba7a9b26020 QFileDialog Wizard:
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7198
diff changeset
223 elif self.rOpenFileUrls.isChecked():
4ba7a9b26020 QFileDialog Wizard:
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7198
diff changeset
224 if not self.cSymlinks.isChecked():
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
225 options = QFileDialog.Options(
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
226 QFileDialog.Option.DontResolveSymlinks)
3122
4bcf6c0f4432 Added support for PyQt5 to the QFileDialog wizard.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3118
diff changeset
227 else:
7207
4ba7a9b26020 QFileDialog Wizard:
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7198
diff changeset
228 options = QFileDialog.Options()
4ba7a9b26020 QFileDialog Wizard:
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7198
diff changeset
229 options = self.__adjustOptions(options)
4ba7a9b26020 QFileDialog Wizard:
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7198
diff changeset
230 try:
4ba7a9b26020 QFileDialog Wizard:
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7198
diff changeset
231 QFileDialog.getOpenFileUrls(
4ba7a9b26020 QFileDialog Wizard:
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7198
diff changeset
232 None,
4ba7a9b26020 QFileDialog Wizard:
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7198
diff changeset
233 self.eCaption.text(),
4ba7a9b26020 QFileDialog Wizard:
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7198
diff changeset
234 QUrl(self.eStartWith.text()),
4ba7a9b26020 QFileDialog Wizard:
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7198
diff changeset
235 self.eFilters.text(),
4ba7a9b26020 QFileDialog Wizard:
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7198
diff changeset
236 self.eInitialFilter.text(),
4ba7a9b26020 QFileDialog Wizard:
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7198
diff changeset
237 options,
4ba7a9b26020 QFileDialog Wizard:
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7198
diff changeset
238 self.schemesEdit.text().split())
4ba7a9b26020 QFileDialog Wizard:
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7198
diff changeset
239 except TypeError:
4ba7a9b26020 QFileDialog Wizard:
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7198
diff changeset
240 # PyQt5 < 5.13.0 contains an error
4ba7a9b26020 QFileDialog Wizard:
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7198
diff changeset
241 QFileDialog.getOpenFileUrls(
4ba7a9b26020 QFileDialog Wizard:
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7198
diff changeset
242 None,
4ba7a9b26020 QFileDialog Wizard:
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7198
diff changeset
243 self.eCaption.text(),
4ba7a9b26020 QFileDialog Wizard:
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7198
diff changeset
244 self.eStartWith.text(),
4ba7a9b26020 QFileDialog Wizard:
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7198
diff changeset
245 self.eFilters.text(),
4ba7a9b26020 QFileDialog Wizard:
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7198
diff changeset
246 self.eInitialFilter.text(),
4ba7a9b26020 QFileDialog Wizard:
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7198
diff changeset
247 options,
4ba7a9b26020 QFileDialog Wizard:
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7198
diff changeset
248 self.schemesEdit.text().split())
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
249 elif self.rSaveFile.isChecked() or self.rfSaveFile.isChecked():
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
250 if not self.cSymlinks.isChecked():
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
251 options = QFileDialog.Options(
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
252 QFileDialog.Option.DontResolveSymlinks)
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
253 else:
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
254 options = QFileDialog.Options()
882
34b86be88bf0 Redid the native file dialog code to be future proof.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 880
diff changeset
255 options = self.__adjustOptions(options)
7207
4ba7a9b26020 QFileDialog Wizard:
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7198
diff changeset
256 QFileDialog.getSaveFileName(
4ba7a9b26020 QFileDialog Wizard:
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7198
diff changeset
257 None,
4ba7a9b26020 QFileDialog Wizard:
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7198
diff changeset
258 self.eCaption.text(),
4ba7a9b26020 QFileDialog Wizard:
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7198
diff changeset
259 self.eStartWith.text(),
4ba7a9b26020 QFileDialog Wizard:
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7198
diff changeset
260 self.eFilters.text(),
4ba7a9b26020 QFileDialog Wizard:
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7198
diff changeset
261 self.eInitialFilter.text(),
4ba7a9b26020 QFileDialog Wizard:
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7198
diff changeset
262 options)
4ba7a9b26020 QFileDialog Wizard:
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7198
diff changeset
263 elif self.rSaveFileUrl.isChecked():
4ba7a9b26020 QFileDialog Wizard:
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7198
diff changeset
264 if not self.cSymlinks.isChecked():
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
265 options = QFileDialog.Options(
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
266 QFileDialog.Option.DontResolveSymlinks)
3122
4bcf6c0f4432 Added support for PyQt5 to the QFileDialog wizard.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3118
diff changeset
267 else:
7207
4ba7a9b26020 QFileDialog Wizard:
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7198
diff changeset
268 options = QFileDialog.Options()
4ba7a9b26020 QFileDialog Wizard:
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7198
diff changeset
269 options = self.__adjustOptions(options)
4ba7a9b26020 QFileDialog Wizard:
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7198
diff changeset
270 try:
4ba7a9b26020 QFileDialog Wizard:
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7198
diff changeset
271 QFileDialog.getSaveFileUrl(
4ba7a9b26020 QFileDialog Wizard:
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7198
diff changeset
272 None,
4ba7a9b26020 QFileDialog Wizard:
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7198
diff changeset
273 self.eCaption.text(),
4ba7a9b26020 QFileDialog Wizard:
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7198
diff changeset
274 QUrl(self.eStartWith.text()),
4ba7a9b26020 QFileDialog Wizard:
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7198
diff changeset
275 self.eFilters.text(),
4ba7a9b26020 QFileDialog Wizard:
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7198
diff changeset
276 self.eInitialFilter.text(),
4ba7a9b26020 QFileDialog Wizard:
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7198
diff changeset
277 options,
4ba7a9b26020 QFileDialog Wizard:
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7198
diff changeset
278 self.schemesEdit.text().split())
4ba7a9b26020 QFileDialog Wizard:
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7198
diff changeset
279 except TypeError:
4ba7a9b26020 QFileDialog Wizard:
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7198
diff changeset
280 # PyQt5 < 5.13.0 contains an error
4ba7a9b26020 QFileDialog Wizard:
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7198
diff changeset
281 QFileDialog.getSaveFileUrl(
4ba7a9b26020 QFileDialog Wizard:
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7198
diff changeset
282 None,
4ba7a9b26020 QFileDialog Wizard:
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7198
diff changeset
283 self.eCaption.text(),
4ba7a9b26020 QFileDialog Wizard:
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7198
diff changeset
284 self.eStartWith.text(),
4ba7a9b26020 QFileDialog Wizard:
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7198
diff changeset
285 self.eFilters.text(),
4ba7a9b26020 QFileDialog Wizard:
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7198
diff changeset
286 self.eInitialFilter.text(),
4ba7a9b26020 QFileDialog Wizard:
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7198
diff changeset
287 options,
4ba7a9b26020 QFileDialog Wizard:
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7198
diff changeset
288 self.schemesEdit.text().split())
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
289 elif self.rDirectory.isChecked():
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
290 options = QFileDialog.Options()
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
291 if not self.cSymlinks.isChecked():
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
292 options |= QFileDialog.Options(
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
293 QFileDialog.Option.DontResolveSymlinks)
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
294 if self.cDirOnly.isChecked():
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
295 options |= QFileDialog.Options(QFileDialog.Option.ShowDirsOnly)
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
296 else:
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
297 options |= QFileDialog.Options(QFileDialog.Option(0))
882
34b86be88bf0 Redid the native file dialog code to be future proof.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 880
diff changeset
298 options = self.__adjustOptions(options)
564
b3d966393ba9 Did some code cleanup.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 500
diff changeset
299 QFileDialog.getExistingDirectory(
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
300 None,
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
301 self.eCaption.text(),
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
302 self.eWorkDir.text(),
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
303 options)
7207
4ba7a9b26020 QFileDialog Wizard:
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7198
diff changeset
304 elif self.rDirectoryUrl.isChecked():
4ba7a9b26020 QFileDialog Wizard:
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7198
diff changeset
305 options = QFileDialog.Options()
4ba7a9b26020 QFileDialog Wizard:
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7198
diff changeset
306 if not self.cSymlinks.isChecked():
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
307 options |= QFileDialog.Options(
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
308 QFileDialog.Option.DontResolveSymlinks)
7207
4ba7a9b26020 QFileDialog Wizard:
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7198
diff changeset
309 if self.cDirOnly.isChecked():
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
310 options |= QFileDialog.Options(QFileDialog.Option.ShowDirsOnly)
7207
4ba7a9b26020 QFileDialog Wizard:
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7198
diff changeset
311 else:
4ba7a9b26020 QFileDialog Wizard:
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7198
diff changeset
312 options |= QFileDialog.Options(QFileDialog.Option(0))
4ba7a9b26020 QFileDialog Wizard:
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7198
diff changeset
313 options = self.__adjustOptions(options)
4ba7a9b26020 QFileDialog Wizard:
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7198
diff changeset
314 try:
4ba7a9b26020 QFileDialog Wizard:
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7198
diff changeset
315 QFileDialog.getExistingDirectoryUrl(
4ba7a9b26020 QFileDialog Wizard:
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7198
diff changeset
316 None,
4ba7a9b26020 QFileDialog Wizard:
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7198
diff changeset
317 self.eCaption.text(),
4ba7a9b26020 QFileDialog Wizard:
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7198
diff changeset
318 QUrl(self.eWorkDir.text()),
4ba7a9b26020 QFileDialog Wizard:
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7198
diff changeset
319 options,
4ba7a9b26020 QFileDialog Wizard:
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7198
diff changeset
320 self.schemesEdit.text().split())
4ba7a9b26020 QFileDialog Wizard:
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7198
diff changeset
321 except TypeError:
4ba7a9b26020 QFileDialog Wizard:
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7198
diff changeset
322 # PyQt5 < 5.13.0 contains an error
4ba7a9b26020 QFileDialog Wizard:
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7198
diff changeset
323 QFileDialog.getExistingDirectoryUrl(
4ba7a9b26020 QFileDialog Wizard:
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7198
diff changeset
324 None,
4ba7a9b26020 QFileDialog Wizard:
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7198
diff changeset
325 self.eCaption.text(),
4ba7a9b26020 QFileDialog Wizard:
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7198
diff changeset
326 self.eWorkDir.text(),
4ba7a9b26020 QFileDialog Wizard:
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7198
diff changeset
327 options,
4ba7a9b26020 QFileDialog Wizard:
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7198
diff changeset
328 self.schemesEdit.text().split())
3122
4bcf6c0f4432 Added support for PyQt5 to the QFileDialog wizard.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3118
diff changeset
329
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
330 def __toggleConfirmCheckBox(self):
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
331 """
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
332 Private slot to enable/disable the confirmation check box.
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
333 """
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
334 self.cConfirmOverwrite.setEnabled(
7207
4ba7a9b26020 QFileDialog Wizard:
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7198
diff changeset
335 self.rSaveFile.isChecked() or self.rfSaveFile.isChecked() or
4ba7a9b26020 QFileDialog Wizard:
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7198
diff changeset
336 self.rSaveFileUrl.isChecked())
3122
4bcf6c0f4432 Added support for PyQt5 to the QFileDialog wizard.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3118
diff changeset
337
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
338 def __toggleGroupsAndTest(self):
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
339 """
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
340 Private slot to enable/disable certain groups and the test button.
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
341 """
7207
4ba7a9b26020 QFileDialog Wizard:
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7198
diff changeset
342 if self.rDirectory.isChecked() or self.rDirectoryUrl.isChecked():
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
343 self.filePropertiesGroup.setEnabled(False)
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
344 self.dirPropertiesGroup.setEnabled(True)
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
345 self.bTest.setDisabled(self.cWorkDir.isChecked())
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
346 else:
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
347 self.filePropertiesGroup.setEnabled(True)
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
348 self.dirPropertiesGroup.setEnabled(False)
564
b3d966393ba9 Did some code cleanup.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 500
diff changeset
349 self.bTest.setDisabled(
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
350 self.cStartWith.isChecked() or self.cFilters.isChecked())
3122
4bcf6c0f4432 Added support for PyQt5 to the QFileDialog wizard.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3118
diff changeset
351
5599
033967644b1f Continued fixing code style issues detected by the extended style checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5389
diff changeset
352 def __toggleInitialFilterAndResult(self, checkedId):
3122
4bcf6c0f4432 Added support for PyQt5 to the QFileDialog wizard.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3118
diff changeset
353 """
3124
a01e410893ac Extended the dialog wizards to generate code for the result variable(s).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3122
diff changeset
354 Private slot to enable/disable the initial filter elements and the
a01e410893ac Extended the dialog wizards to generate code for the result variable(s).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3122
diff changeset
355 results entries.
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
356
5599
033967644b1f Continued fixing code style issues detected by the extended style checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5389
diff changeset
357 @param checkedId id of the clicked button (integer)
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
358 """
7207
4ba7a9b26020 QFileDialog Wizard:
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7198
diff changeset
359 enable = (
7907
7991ea245c20 Added support for PyQt6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7780
diff changeset
360 (self.__dialogVariant in (-1, ) and checkedId in [11, 12, 13]) or
7991ea245c20 Added support for PyQt6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7780
diff changeset
361 (self.__dialogVariant in (5, 6) and
7991ea245c20 Added support for PyQt6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7780
diff changeset
362 checkedId in [1, 2, 3, 21, 22, 23])
7207
4ba7a9b26020 QFileDialog Wizard:
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7198
diff changeset
363 )
4ba7a9b26020 QFileDialog Wizard:
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7198
diff changeset
364
3122
4bcf6c0f4432 Added support for PyQt5 to the QFileDialog wizard.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3118
diff changeset
365 self.lInitialFilter.setEnabled(enable)
4bcf6c0f4432 Added support for PyQt5 to the QFileDialog wizard.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3118
diff changeset
366 self.eInitialFilter.setEnabled(enable)
4bcf6c0f4432 Added support for PyQt5 to the QFileDialog wizard.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3118
diff changeset
367 self.cInitialFilter.setEnabled(enable)
3124
a01e410893ac Extended the dialog wizards to generate code for the result variable(s).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3122
diff changeset
368
a01e410893ac Extended the dialog wizards to generate code for the result variable(s).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3122
diff changeset
369 self.lFilterVariable.setEnabled(enable)
a01e410893ac Extended the dialog wizards to generate code for the result variable(s).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3122
diff changeset
370 self.eFilterVariable.setEnabled(enable)
7207
4ba7a9b26020 QFileDialog Wizard:
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7198
diff changeset
371
4ba7a9b26020 QFileDialog Wizard:
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7198
diff changeset
372 self.urlPropertiesGroup.setEnabled(checkedId in (21, 22, 23, 31))
3122
4bcf6c0f4432 Added support for PyQt5 to the QFileDialog wizard.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3118
diff changeset
373
4bcf6c0f4432 Added support for PyQt5 to the QFileDialog wizard.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3118
diff changeset
374 def getCode(self, indLevel, indString):
4bcf6c0f4432 Added support for PyQt5 to the QFileDialog wizard.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3118
diff changeset
375 """
7635
0cdead130a81 Removed support for Python2 and removed support for Qt4 (PyQt4 and pyside).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7360
diff changeset
376 Public method to get the source code for Qt5.
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
377
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
378 @param indLevel indentation level (int)
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
379 @param indString string used for indentation (space or tab) (string)
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
380 @return generated code (string)
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
381 """
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
382 # calculate our indentation level and the indentation string
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
383 il = indLevel + 1
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
384 istring = il * indString
446
69aac6eeba9b Changed the wizards code generation to eliminate not needed backslashes.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 425
diff changeset
385 estring = os.linesep + indLevel * indString
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
386
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
387 # now generate the code
3122
4bcf6c0f4432 Added support for PyQt5 to the QFileDialog wizard.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3118
diff changeset
388 if self.parentSelf.isChecked():
4bcf6c0f4432 Added support for PyQt5 to the QFileDialog wizard.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3118
diff changeset
389 parent = "self"
4bcf6c0f4432 Added support for PyQt5 to the QFileDialog wizard.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3118
diff changeset
390 elif self.parentNone.isChecked():
4bcf6c0f4432 Added support for PyQt5 to the QFileDialog wizard.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3118
diff changeset
391 parent = "None"
4bcf6c0f4432 Added support for PyQt5 to the QFileDialog wizard.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3118
diff changeset
392 elif self.parentOther.isChecked():
4bcf6c0f4432 Added support for PyQt5 to the QFileDialog wizard.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3118
diff changeset
393 parent = self.parentEdit.text()
4bcf6c0f4432 Added support for PyQt5 to the QFileDialog wizard.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3118
diff changeset
394 if parent == "":
4bcf6c0f4432 Added support for PyQt5 to the QFileDialog wizard.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3118
diff changeset
395 parent = "None"
4bcf6c0f4432 Added support for PyQt5 to the QFileDialog wizard.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3118
diff changeset
396
3124
a01e410893ac Extended the dialog wizards to generate code for the result variable(s).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3122
diff changeset
397 # prepare the result variables
a01e410893ac Extended the dialog wizards to generate code for the result variable(s).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3122
diff changeset
398 nameVariable = self.eNameVariable.text()
a01e410893ac Extended the dialog wizards to generate code for the result variable(s).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3122
diff changeset
399 if not nameVariable:
a01e410893ac Extended the dialog wizards to generate code for the result variable(s).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3122
diff changeset
400 if self.__typeButtonsGroup.checkedButton() in [
a01e410893ac Extended the dialog wizards to generate code for the result variable(s).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3122
diff changeset
401 self.rOpenFile, self.rfOpenFile,
a01e410893ac Extended the dialog wizards to generate code for the result variable(s).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3122
diff changeset
402 self.rSaveFile, self.rfSaveFile]:
a01e410893ac Extended the dialog wizards to generate code for the result variable(s).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3122
diff changeset
403 nameVariable = "fileName"
a01e410893ac Extended the dialog wizards to generate code for the result variable(s).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3122
diff changeset
404 elif self.__typeButtonsGroup.checkedButton() in [
a01e410893ac Extended the dialog wizards to generate code for the result variable(s).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3122
diff changeset
405 self.rOpenFiles, self.rfOpenFiles]:
a01e410893ac Extended the dialog wizards to generate code for the result variable(s).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3122
diff changeset
406 nameVariable = "fileNames"
a01e410893ac Extended the dialog wizards to generate code for the result variable(s).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3122
diff changeset
407 elif self.__typeButtonsGroup.checkedButton() == self.rDirectory:
a01e410893ac Extended the dialog wizards to generate code for the result variable(s).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3122
diff changeset
408 nameVariable = "dirName"
a01e410893ac Extended the dialog wizards to generate code for the result variable(s).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3122
diff changeset
409 else:
a01e410893ac Extended the dialog wizards to generate code for the result variable(s).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3122
diff changeset
410 nameVariable = "res"
a01e410893ac Extended the dialog wizards to generate code for the result variable(s).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3122
diff changeset
411 filterVariable = self.eFilterVariable.text()
a01e410893ac Extended the dialog wizards to generate code for the result variable(s).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3122
diff changeset
412 if not filterVariable:
7258
aff39db4dacc Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7229
diff changeset
413 if (
7907
7991ea245c20 Added support for PyQt6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7780
diff changeset
414 (self.__dialogVariant in (-1, ) and
7258
aff39db4dacc Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7229
diff changeset
415 self.__typeButtonsGroup.checkedButton() in [
aff39db4dacc Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7229
diff changeset
416 self.rfOpenFile, self.rfOpenFiles, self.rfSaveFile]) or
7907
7991ea245c20 Added support for PyQt6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7780
diff changeset
417 (self.__dialogVariant in (5, 6) and
7258
aff39db4dacc Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7229
diff changeset
418 self.__typeButtonsGroup.checkedButton() in [
aff39db4dacc Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7229
diff changeset
419 self.rOpenFile, self.rOpenFiles, self.rSaveFile])
aff39db4dacc Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7229
diff changeset
420 ):
3124
a01e410893ac Extended the dialog wizards to generate code for the result variable(s).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3122
diff changeset
421 filterVariable = ", selectedFilter"
a01e410893ac Extended the dialog wizards to generate code for the result variable(s).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3122
diff changeset
422 else:
a01e410893ac Extended the dialog wizards to generate code for the result variable(s).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3122
diff changeset
423 filterVariable = ""
4590
9fdd473c68fb Fixed an issue in the file dialog wizard.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4180
diff changeset
424 else:
9fdd473c68fb Fixed an issue in the file dialog wizard.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4180
diff changeset
425 filterVariable = ", " + filterVariable
3124
a01e410893ac Extended the dialog wizards to generate code for the result variable(s).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3122
diff changeset
426
7207
4ba7a9b26020 QFileDialog Wizard:
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7198
diff changeset
427 if self.__dialogVariant == -1:
4ba7a9b26020 QFileDialog Wizard:
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7198
diff changeset
428 dialogType = "E5FileDialog"
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
429 optionStr = ""
7207
4ba7a9b26020 QFileDialog Wizard:
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7198
diff changeset
430 else:
4ba7a9b26020 QFileDialog Wizard:
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7198
diff changeset
431 dialogType = "QFileDialog"
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
432 optionStr = ".Option"
7207
4ba7a9b26020 QFileDialog Wizard:
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7198
diff changeset
433
4ba7a9b26020 QFileDialog Wizard:
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7198
diff changeset
434 code = '{0}{1} = {2}.'.format(nameVariable, filterVariable, dialogType)
7258
aff39db4dacc Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7229
diff changeset
435 if (
aff39db4dacc Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7229
diff changeset
436 self.rOpenFile.isChecked() or
aff39db4dacc Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7229
diff changeset
437 self.rfOpenFile.isChecked() or
aff39db4dacc Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7229
diff changeset
438 self.rOpenFileUrl.isChecked()
aff39db4dacc Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7229
diff changeset
439 ):
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
440 if self.rOpenFile.isChecked():
446
69aac6eeba9b Changed the wizards code generation to eliminate not needed backslashes.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 425
diff changeset
441 code += 'getOpenFileName({0}{1}'.format(os.linesep, istring)
7207
4ba7a9b26020 QFileDialog Wizard:
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7198
diff changeset
442 elif self.rOpenFileUrl.isChecked():
4ba7a9b26020 QFileDialog Wizard:
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7198
diff changeset
443 code += 'getOpenFileUrl({0}{1}'.format(os.linesep, istring)
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
444 else:
2893
150de635fa29 Some changes to code generation wizards.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2302
diff changeset
445 code += 'getOpenFileNameAndFilter({0}{1}'.format(
150de635fa29 Some changes to code generation wizards.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2302
diff changeset
446 os.linesep, istring)
3122
4bcf6c0f4432 Added support for PyQt5 to the QFileDialog wizard.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3118
diff changeset
447 code += '{0},{1}{2}'.format(parent, os.linesep, istring)
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
448 if not self.eCaption.text():
425
ca5e65413fc5 Did some more string format conversions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 147
diff changeset
449 code += '"",{0}{1}'.format(os.linesep, istring)
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
450 else:
3190
a9a94491c4fd Changed the code to use QObject.tr() instead of QObject.trUtf8().
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3171
diff changeset
451 code += 'self.tr("{0}"),{1}{2}'.format(
425
ca5e65413fc5 Did some more string format conversions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 147
diff changeset
452 self.eCaption.text(), os.linesep, istring)
7207
4ba7a9b26020 QFileDialog Wizard:
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7198
diff changeset
453 if self.rOpenFileUrl.isChecked():
4ba7a9b26020 QFileDialog Wizard:
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7198
diff changeset
454 if not self.eStartWith.text():
4ba7a9b26020 QFileDialog Wizard:
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7198
diff changeset
455 code += 'QUrl(),{0}{1}'.format(os.linesep, istring)
4ba7a9b26020 QFileDialog Wizard:
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7198
diff changeset
456 else:
4ba7a9b26020 QFileDialog Wizard:
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7198
diff changeset
457 if self.cStartWith.isChecked():
4ba7a9b26020 QFileDialog Wizard:
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7198
diff changeset
458 fmt = '{0},{1}{2}'
4ba7a9b26020 QFileDialog Wizard:
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7198
diff changeset
459 else:
4ba7a9b26020 QFileDialog Wizard:
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7198
diff changeset
460 fmt = 'QUrl("{0}"),{1}{2}'
4ba7a9b26020 QFileDialog Wizard:
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7198
diff changeset
461 code += fmt.format(self.eStartWith.text(), os.linesep,
4ba7a9b26020 QFileDialog Wizard:
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7198
diff changeset
462 istring)
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
463 else:
7207
4ba7a9b26020 QFileDialog Wizard:
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7198
diff changeset
464 if not self.eStartWith.text():
4ba7a9b26020 QFileDialog Wizard:
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7198
diff changeset
465 code += '"",{0}{1}'.format(os.linesep, istring)
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
466 else:
7207
4ba7a9b26020 QFileDialog Wizard:
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7198
diff changeset
467 if self.cStartWith.isChecked():
4ba7a9b26020 QFileDialog Wizard:
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7198
diff changeset
468 fmt = '{0},{1}{2}'
4ba7a9b26020 QFileDialog Wizard:
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7198
diff changeset
469 else:
4ba7a9b26020 QFileDialog Wizard:
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7198
diff changeset
470 fmt = '"{0}",{1}{2}'
4ba7a9b26020 QFileDialog Wizard:
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7198
diff changeset
471 code += fmt.format(self.eStartWith.text(), os.linesep,
4ba7a9b26020 QFileDialog Wizard:
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7198
diff changeset
472 istring)
147
33830c229cc1 Fixed a bug in the QFileDialog wizard.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 96
diff changeset
473 if self.eFilters.text() == "":
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
474 code += '""'
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
475 else:
945
8cd4d08fa9f6 Made code mostly PEP 8 compliant (except all whitespace and line length).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 882
diff changeset
476 if self.cFilters.isChecked():
8cd4d08fa9f6 Made code mostly PEP 8 compliant (except all whitespace and line length).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 882
diff changeset
477 fmt = '{0}'
8cd4d08fa9f6 Made code mostly PEP 8 compliant (except all whitespace and line length).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 882
diff changeset
478 else:
3190
a9a94491c4fd Changed the code to use QObject.tr() instead of QObject.trUtf8().
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3171
diff changeset
479 fmt = 'self.tr("{0}")'
425
ca5e65413fc5 Did some more string format conversions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 147
diff changeset
480 code += fmt.format(self.eFilters.text())
7907
7991ea245c20 Added support for PyQt6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7780
diff changeset
481 if self.rfOpenFile.isChecked() or self.__dialogVariant in (5, 6):
7207
4ba7a9b26020 QFileDialog Wizard:
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7198
diff changeset
482 if self.eInitialFilter.text() == "":
4ba7a9b26020 QFileDialog Wizard:
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7198
diff changeset
483 initialFilter = "None"
4ba7a9b26020 QFileDialog Wizard:
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7198
diff changeset
484 else:
4ba7a9b26020 QFileDialog Wizard:
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7198
diff changeset
485 if self.cInitialFilter.isChecked():
4ba7a9b26020 QFileDialog Wizard:
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7198
diff changeset
486 fmt = '{0}'
4ba7a9b26020 QFileDialog Wizard:
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7198
diff changeset
487 else:
4ba7a9b26020 QFileDialog Wizard:
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7198
diff changeset
488 fmt = 'self.tr("{0}")'
4ba7a9b26020 QFileDialog Wizard:
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7198
diff changeset
489 initialFilter = fmt.format(self.eInitialFilter.text())
4ba7a9b26020 QFileDialog Wizard:
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7198
diff changeset
490 code += ',{0}{1}{2}'.format(os.linesep, istring, initialFilter)
4ba7a9b26020 QFileDialog Wizard:
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7198
diff changeset
491 if not self.cSymlinks.isChecked():
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
492 code += (
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
493 ',{0}{1}{2}.Options({2}{3}.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
494 .format(os.linesep, istring, dialogType, optionStr)
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
495 )
7207
4ba7a9b26020 QFileDialog Wizard:
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7198
diff changeset
496 if self.rOpenFileUrl.isChecked() and bool(self.schemesEdit.text()):
7258
aff39db4dacc Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7229
diff changeset
497 code += ',{0}{1}{2}'.format(
aff39db4dacc Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7229
diff changeset
498 os.linesep, istring, self.__prepareSchemesList())
7207
4ba7a9b26020 QFileDialog Wizard:
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7198
diff changeset
499 code += '){0}'.format(estring)
7258
aff39db4dacc Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7229
diff changeset
500 elif (
aff39db4dacc Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7229
diff changeset
501 self.rOpenFiles.isChecked() or
aff39db4dacc Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7229
diff changeset
502 self.rfOpenFiles.isChecked() or
aff39db4dacc Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7229
diff changeset
503 self.rOpenFileUrls.isChecked()
aff39db4dacc Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7229
diff changeset
504 ):
7207
4ba7a9b26020 QFileDialog Wizard:
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7198
diff changeset
505 if self.rOpenFiles.isChecked():
4ba7a9b26020 QFileDialog Wizard:
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7198
diff changeset
506 code += 'getOpenFileNames({0}{1}'.format(os.linesep, istring)
4ba7a9b26020 QFileDialog Wizard:
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7198
diff changeset
507 elif self.rOpenFileUrls.isChecked():
4ba7a9b26020 QFileDialog Wizard:
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7198
diff changeset
508 code += 'getOpenFileUrls({0}{1}'.format(os.linesep, istring)
4ba7a9b26020 QFileDialog Wizard:
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7198
diff changeset
509 else:
4ba7a9b26020 QFileDialog Wizard:
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7198
diff changeset
510 code += 'getOpenFileNamesAndFilter({0}{1}'.format(
4ba7a9b26020 QFileDialog Wizard:
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7198
diff changeset
511 os.linesep, istring)
4ba7a9b26020 QFileDialog Wizard:
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7198
diff changeset
512 code += '{0},{1}{2}'.format(parent, os.linesep, istring)
4ba7a9b26020 QFileDialog Wizard:
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7198
diff changeset
513 if not self.eCaption.text():
4ba7a9b26020 QFileDialog Wizard:
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7198
diff changeset
514 code += '"",{0}{1}'.format(os.linesep, istring)
4ba7a9b26020 QFileDialog Wizard:
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7198
diff changeset
515 else:
4ba7a9b26020 QFileDialog Wizard:
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7198
diff changeset
516 code += 'self.tr("{0}"),{1}{2}'.format(
4ba7a9b26020 QFileDialog Wizard:
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7198
diff changeset
517 self.eCaption.text(), os.linesep, istring)
4ba7a9b26020 QFileDialog Wizard:
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7198
diff changeset
518 if self.rOpenFileUrls.isChecked():
4ba7a9b26020 QFileDialog Wizard:
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7198
diff changeset
519 if not self.eStartWith.text():
4ba7a9b26020 QFileDialog Wizard:
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7198
diff changeset
520 code += 'QUrl(),{0}{1}'.format(os.linesep, istring)
4ba7a9b26020 QFileDialog Wizard:
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7198
diff changeset
521 else:
4ba7a9b26020 QFileDialog Wizard:
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7198
diff changeset
522 if self.cStartWith.isChecked():
4ba7a9b26020 QFileDialog Wizard:
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7198
diff changeset
523 fmt = '{0},{1}{2}'
4ba7a9b26020 QFileDialog Wizard:
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7198
diff changeset
524 else:
4ba7a9b26020 QFileDialog Wizard:
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7198
diff changeset
525 fmt = 'QUrl("{0}"),{1}{2}'
4ba7a9b26020 QFileDialog Wizard:
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7198
diff changeset
526 code += fmt.format(self.eStartWith.text(), os.linesep,
4ba7a9b26020 QFileDialog Wizard:
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7198
diff changeset
527 istring)
4ba7a9b26020 QFileDialog Wizard:
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7198
diff changeset
528 else:
4ba7a9b26020 QFileDialog Wizard:
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7198
diff changeset
529 if not self.eStartWith.text():
4ba7a9b26020 QFileDialog Wizard:
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7198
diff changeset
530 code += '"",{0}{1}'.format(os.linesep, istring)
4ba7a9b26020 QFileDialog Wizard:
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7198
diff changeset
531 else:
4ba7a9b26020 QFileDialog Wizard:
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7198
diff changeset
532 if self.cStartWith.isChecked():
4ba7a9b26020 QFileDialog Wizard:
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7198
diff changeset
533 fmt = '{0},{1}{2}'
4ba7a9b26020 QFileDialog Wizard:
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7198
diff changeset
534 else:
4ba7a9b26020 QFileDialog Wizard:
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7198
diff changeset
535 fmt = '"{0}",{1}{2}'
4ba7a9b26020 QFileDialog Wizard:
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7198
diff changeset
536 code += fmt.format(self.eStartWith.text(), os.linesep,
4ba7a9b26020 QFileDialog Wizard:
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7198
diff changeset
537 istring)
4ba7a9b26020 QFileDialog Wizard:
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7198
diff changeset
538 if not self.eFilters.text():
4ba7a9b26020 QFileDialog Wizard:
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7198
diff changeset
539 code += '""'
4ba7a9b26020 QFileDialog Wizard:
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7198
diff changeset
540 else:
4ba7a9b26020 QFileDialog Wizard:
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7198
diff changeset
541 if self.cFilters.isChecked():
4ba7a9b26020 QFileDialog Wizard:
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7198
diff changeset
542 fmt = '{0}'
4ba7a9b26020 QFileDialog Wizard:
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7198
diff changeset
543 else:
4ba7a9b26020 QFileDialog Wizard:
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7198
diff changeset
544 fmt = 'self.tr("{0}")'
4ba7a9b26020 QFileDialog Wizard:
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7198
diff changeset
545 code += fmt.format(self.eFilters.text())
7907
7991ea245c20 Added support for PyQt6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7780
diff changeset
546 if self.rfOpenFiles.isChecked() or self.__dialogVariant in (5, 6):
3122
4bcf6c0f4432 Added support for PyQt5 to the QFileDialog wizard.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3118
diff changeset
547 if self.eInitialFilter.text() == "":
5599
033967644b1f Continued fixing code style issues detected by the extended style checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5389
diff changeset
548 initialFilter = "None"
3122
4bcf6c0f4432 Added support for PyQt5 to the QFileDialog wizard.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3118
diff changeset
549 else:
4bcf6c0f4432 Added support for PyQt5 to the QFileDialog wizard.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3118
diff changeset
550 if self.cInitialFilter.isChecked():
4bcf6c0f4432 Added support for PyQt5 to the QFileDialog wizard.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3118
diff changeset
551 fmt = '{0}'
4bcf6c0f4432 Added support for PyQt5 to the QFileDialog wizard.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3118
diff changeset
552 else:
3190
a9a94491c4fd Changed the code to use QObject.tr() instead of QObject.trUtf8().
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3171
diff changeset
553 fmt = 'self.tr("{0}")'
5599
033967644b1f Continued fixing code style issues detected by the extended style checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5389
diff changeset
554 initialFilter = fmt.format(self.eInitialFilter.text())
033967644b1f Continued fixing code style issues detected by the extended style checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5389
diff changeset
555 code += ',{0}{1}{2}'.format(os.linesep, istring, initialFilter)
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
556 if not self.cSymlinks.isChecked():
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
557 code += (
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
558 ',{0}{1}{2}.Options({2}{3}.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
559 .format(os.linesep, istring, dialogType, optionStr)
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
560 )
7258
aff39db4dacc Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7229
diff changeset
561 if (
aff39db4dacc Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7229
diff changeset
562 self.rOpenFileUrls.isChecked() and
aff39db4dacc Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7229
diff changeset
563 bool(self.schemesEdit.text())
aff39db4dacc Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7229
diff changeset
564 ):
aff39db4dacc Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7229
diff changeset
565 code += ',{0}{1}{2}'.format(
aff39db4dacc Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7229
diff changeset
566 os.linesep, istring, self.__prepareSchemesList())
446
69aac6eeba9b Changed the wizards code generation to eliminate not needed backslashes.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 425
diff changeset
567 code += '){0}'.format(estring)
7258
aff39db4dacc Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7229
diff changeset
568 elif (
aff39db4dacc Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7229
diff changeset
569 self.rSaveFile.isChecked() or
aff39db4dacc Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7229
diff changeset
570 self.rfSaveFile.isChecked() or
aff39db4dacc Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7229
diff changeset
571 self.rSaveFileUrl.isChecked()
aff39db4dacc Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7229
diff changeset
572 ):
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
573 if self.rSaveFile.isChecked():
446
69aac6eeba9b Changed the wizards code generation to eliminate not needed backslashes.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 425
diff changeset
574 code += 'getSaveFileName({0}{1}'.format(os.linesep, istring)
7207
4ba7a9b26020 QFileDialog Wizard:
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7198
diff changeset
575 elif self.rSaveFileUrl.isChecked():
4ba7a9b26020 QFileDialog Wizard:
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7198
diff changeset
576 code += 'getSaveFileUrl({0}{1}'.format(os.linesep, istring)
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
577 else:
2893
150de635fa29 Some changes to code generation wizards.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2302
diff changeset
578 code += 'getSaveFileNameAndFilter({0}{1}'.format(
150de635fa29 Some changes to code generation wizards.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2302
diff changeset
579 os.linesep, istring)
3122
4bcf6c0f4432 Added support for PyQt5 to the QFileDialog wizard.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3118
diff changeset
580 code += '{0},{1}{2}'.format(parent, os.linesep, istring)
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
581 if not self.eCaption.text():
425
ca5e65413fc5 Did some more string format conversions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 147
diff changeset
582 code += '"",{0}{1}'.format(os.linesep, istring)
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
583 else:
3190
a9a94491c4fd Changed the code to use QObject.tr() instead of QObject.trUtf8().
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3171
diff changeset
584 code += 'self.tr("{0}"),{1}{2}'.format(
425
ca5e65413fc5 Did some more string format conversions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 147
diff changeset
585 self.eCaption.text(), os.linesep, istring)
7207
4ba7a9b26020 QFileDialog Wizard:
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7198
diff changeset
586 if self.rSaveFileUrl.isChecked():
4ba7a9b26020 QFileDialog Wizard:
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7198
diff changeset
587 if not self.eStartWith.text():
4ba7a9b26020 QFileDialog Wizard:
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7198
diff changeset
588 code += 'QUrl(),{0}{1}'.format(os.linesep, istring)
4ba7a9b26020 QFileDialog Wizard:
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7198
diff changeset
589 else:
4ba7a9b26020 QFileDialog Wizard:
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7198
diff changeset
590 if self.cStartWith.isChecked():
4ba7a9b26020 QFileDialog Wizard:
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7198
diff changeset
591 fmt = '{0},{1}{2}'
4ba7a9b26020 QFileDialog Wizard:
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7198
diff changeset
592 else:
4ba7a9b26020 QFileDialog Wizard:
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7198
diff changeset
593 fmt = 'QUrl("{0}"),{1}{2}'
4ba7a9b26020 QFileDialog Wizard:
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7198
diff changeset
594 code += fmt.format(self.eStartWith.text(), os.linesep,
4ba7a9b26020 QFileDialog Wizard:
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7198
diff changeset
595 istring)
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
596 else:
7207
4ba7a9b26020 QFileDialog Wizard:
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7198
diff changeset
597 if not self.eStartWith.text():
4ba7a9b26020 QFileDialog Wizard:
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7198
diff changeset
598 code += '"",{0}{1}'.format(os.linesep, istring)
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
599 else:
7207
4ba7a9b26020 QFileDialog Wizard:
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7198
diff changeset
600 if self.cStartWith.isChecked():
4ba7a9b26020 QFileDialog Wizard:
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7198
diff changeset
601 fmt = '{0},{1}{2}'
4ba7a9b26020 QFileDialog Wizard:
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7198
diff changeset
602 else:
4ba7a9b26020 QFileDialog Wizard:
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7198
diff changeset
603 fmt = '"{0}",{1}{2}'
4ba7a9b26020 QFileDialog Wizard:
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7198
diff changeset
604 code += fmt.format(self.eStartWith.text(), os.linesep,
4ba7a9b26020 QFileDialog Wizard:
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7198
diff changeset
605 istring)
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
606 if not self.eFilters.text():
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
607 code += '""'
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
608 else:
945
8cd4d08fa9f6 Made code mostly PEP 8 compliant (except all whitespace and line length).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 882
diff changeset
609 if self.cFilters.isChecked():
8cd4d08fa9f6 Made code mostly PEP 8 compliant (except all whitespace and line length).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 882
diff changeset
610 fmt = '{0}'
8cd4d08fa9f6 Made code mostly PEP 8 compliant (except all whitespace and line length).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 882
diff changeset
611 else:
3190
a9a94491c4fd Changed the code to use QObject.tr() instead of QObject.trUtf8().
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3171
diff changeset
612 fmt = 'self.tr("{0}")'
425
ca5e65413fc5 Did some more string format conversions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 147
diff changeset
613 code += fmt.format(self.eFilters.text())
7907
7991ea245c20 Added support for PyQt6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7780
diff changeset
614 if self.rfSaveFile.isChecked() or self.__dialogVariant in (5, 6):
3122
4bcf6c0f4432 Added support for PyQt5 to the QFileDialog wizard.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3118
diff changeset
615 if self.eInitialFilter.text() == "":
5599
033967644b1f Continued fixing code style issues detected by the extended style checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5389
diff changeset
616 initialFilter = "None"
3122
4bcf6c0f4432 Added support for PyQt5 to the QFileDialog wizard.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3118
diff changeset
617 else:
4bcf6c0f4432 Added support for PyQt5 to the QFileDialog wizard.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3118
diff changeset
618 if self.cInitialFilter.isChecked():
4bcf6c0f4432 Added support for PyQt5 to the QFileDialog wizard.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3118
diff changeset
619 fmt = '{0}'
4bcf6c0f4432 Added support for PyQt5 to the QFileDialog wizard.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3118
diff changeset
620 else:
3190
a9a94491c4fd Changed the code to use QObject.tr() instead of QObject.trUtf8().
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3171
diff changeset
621 fmt = 'self.tr("{0}")'
5599
033967644b1f Continued fixing code style issues detected by the extended style checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5389
diff changeset
622 initialFilter = fmt.format(self.eInitialFilter.text())
033967644b1f Continued fixing code style issues detected by the extended style checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5389
diff changeset
623 code += ',{0}{1}{2}'.format(os.linesep, istring, initialFilter)
7258
aff39db4dacc Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7229
diff changeset
624 if (
aff39db4dacc Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7229
diff changeset
625 (not self.cSymlinks.isChecked()) or
aff39db4dacc Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7229
diff changeset
626 (not self.cConfirmOverwrite.isChecked())
aff39db4dacc Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7229
diff changeset
627 ):
7207
4ba7a9b26020 QFileDialog Wizard:
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7198
diff changeset
628 code += ',{0}{1}{2}.Options('.format(
4ba7a9b26020 QFileDialog Wizard:
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7198
diff changeset
629 os.linesep, istring, dialogType)
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
630 if not self.cSymlinks.isChecked():
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
631 code += '{0}{1}.DontResolveSymlinks'.format(
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
632 dialogType, optionStr)
7258
aff39db4dacc Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7229
diff changeset
633 if (
aff39db4dacc Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7229
diff changeset
634 (not self.cSymlinks.isChecked()) and
aff39db4dacc Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7229
diff changeset
635 (not self.cConfirmOverwrite.isChecked())
aff39db4dacc Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7229
diff changeset
636 ):
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
637 code += ' | '
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
638 if not self.cConfirmOverwrite.isChecked():
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
639 code += '{0}{1}.DontConfirmOverwrite'.format(
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
640 dialogType, optionStr)
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
641 code += ')'
7258
aff39db4dacc Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7229
diff changeset
642 if (
aff39db4dacc Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7229
diff changeset
643 self.rSaveFileUrl.isChecked() and
aff39db4dacc Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7229
diff changeset
644 bool(self.schemesEdit.text())
aff39db4dacc Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7229
diff changeset
645 ):
aff39db4dacc Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7229
diff changeset
646 code += ',{0}{1}{2}'.format(
aff39db4dacc Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7229
diff changeset
647 os.linesep, istring, self.__prepareSchemesList())
aff39db4dacc Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7229
diff changeset
648
446
69aac6eeba9b Changed the wizards code generation to eliminate not needed backslashes.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 425
diff changeset
649 code += '){0}'.format(estring)
7207
4ba7a9b26020 QFileDialog Wizard:
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7198
diff changeset
650 elif self.rDirectory.isChecked() or self.rDirectoryUrl.isChecked():
4ba7a9b26020 QFileDialog Wizard:
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7198
diff changeset
651 if self.rDirectory.isChecked():
4ba7a9b26020 QFileDialog Wizard:
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7198
diff changeset
652 code += 'getExistingDirectory({0}{1}'.format(
4ba7a9b26020 QFileDialog Wizard:
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7198
diff changeset
653 os.linesep, istring)
4ba7a9b26020 QFileDialog Wizard:
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7198
diff changeset
654 else:
4ba7a9b26020 QFileDialog Wizard:
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7198
diff changeset
655 code += 'getExistingDirectoryUrl({0}{1}'.format(
4ba7a9b26020 QFileDialog Wizard:
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7198
diff changeset
656 os.linesep, istring)
3122
4bcf6c0f4432 Added support for PyQt5 to the QFileDialog wizard.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3118
diff changeset
657 code += '{0},{1}{2}'.format(parent, os.linesep, istring)
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
658 if not self.eCaption.text():
425
ca5e65413fc5 Did some more string format conversions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 147
diff changeset
659 code += '"",{0}{1}'.format(os.linesep, istring)
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
660 else:
3190
a9a94491c4fd Changed the code to use QObject.tr() instead of QObject.trUtf8().
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3171
diff changeset
661 code += 'self.tr("{0}"),{1}{2}'.format(
425
ca5e65413fc5 Did some more string format conversions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 147
diff changeset
662 self.eCaption.text(), os.linesep, istring)
7207
4ba7a9b26020 QFileDialog Wizard:
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7198
diff changeset
663 if self.rDirectoryUrl.isChecked():
4ba7a9b26020 QFileDialog Wizard:
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7198
diff changeset
664 if not self.eWorkDir.text():
4ba7a9b26020 QFileDialog Wizard:
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7198
diff changeset
665 code += 'QUrl()'
4ba7a9b26020 QFileDialog Wizard:
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7198
diff changeset
666 else:
4ba7a9b26020 QFileDialog Wizard:
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7198
diff changeset
667 if self.cWorkDir.isChecked():
4ba7a9b26020 QFileDialog Wizard:
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7198
diff changeset
668 fmt = '{0}'
4ba7a9b26020 QFileDialog Wizard:
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7198
diff changeset
669 else:
4ba7a9b26020 QFileDialog Wizard:
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7198
diff changeset
670 fmt = 'QUrl("{0}")'
4ba7a9b26020 QFileDialog Wizard:
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7198
diff changeset
671 code += fmt.format(self.eWorkDir.text())
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
672 else:
7207
4ba7a9b26020 QFileDialog Wizard:
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7198
diff changeset
673 if not self.eWorkDir.text():
4ba7a9b26020 QFileDialog Wizard:
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7198
diff changeset
674 code += '""'
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
675 else:
7207
4ba7a9b26020 QFileDialog Wizard:
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7198
diff changeset
676 if self.cWorkDir.isChecked():
4ba7a9b26020 QFileDialog Wizard:
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7198
diff changeset
677 fmt = '{0}'
4ba7a9b26020 QFileDialog Wizard:
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7198
diff changeset
678 else:
4ba7a9b26020 QFileDialog Wizard:
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7198
diff changeset
679 fmt = '"{0}"'
4ba7a9b26020 QFileDialog Wizard:
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7198
diff changeset
680 code += fmt.format(self.eWorkDir.text())
4ba7a9b26020 QFileDialog Wizard:
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7198
diff changeset
681 code += ',{0}{1}{2}.Options('.format(os.linesep, istring,
4ba7a9b26020 QFileDialog Wizard:
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7198
diff changeset
682 dialogType)
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
683 if not self.cSymlinks.isChecked():
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
684 code += '{0}{1}.DontResolveSymlinks | '.format(
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
685 dialogType, optionStr)
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
686 if self.cDirOnly.isChecked():
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
687 code += '{0}{1}.ShowDirsOnly'.format(
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
688 dialogType, optionStr)
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
689 else:
7207
4ba7a9b26020 QFileDialog Wizard:
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7198
diff changeset
690 code += '{0}.Option(0)'.format(dialogType)
4ba7a9b26020 QFileDialog Wizard:
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7198
diff changeset
691 code += ')'
4ba7a9b26020 QFileDialog Wizard:
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7198
diff changeset
692 if self.rDirectoryUrl.isChecked():
7258
aff39db4dacc Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7229
diff changeset
693 code += ',{0}{1}{2}'.format(
aff39db4dacc Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7229
diff changeset
694 os.linesep, istring, self.__prepareSchemesList())
7207
4ba7a9b26020 QFileDialog Wizard:
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7198
diff changeset
695 code += '){0}'.format(estring)
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
696
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
697 return code
7207
4ba7a9b26020 QFileDialog Wizard:
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7198
diff changeset
698
4ba7a9b26020 QFileDialog Wizard:
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7198
diff changeset
699 def __prepareSchemesList(self):
4ba7a9b26020 QFileDialog Wizard:
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7198
diff changeset
700 """
4ba7a9b26020 QFileDialog Wizard:
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7198
diff changeset
701 Private method to prepare the list of supported schemes.
4ba7a9b26020 QFileDialog Wizard:
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7198
diff changeset
702
4ba7a9b26020 QFileDialog Wizard:
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7198
diff changeset
703 @return string representation of the supported schemes
4ba7a9b26020 QFileDialog Wizard:
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7198
diff changeset
704 @rtype str
4ba7a9b26020 QFileDialog Wizard:
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7198
diff changeset
705 """
4ba7a9b26020 QFileDialog Wizard:
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7198
diff changeset
706 return repr(self.schemesEdit.text().strip().split())

eric ide

mercurial