Mon, 28 Oct 2024 17:11:28 +0100
- changed to the new style header
- ensured proper parent relationship of modal dialogs
- included compiled form files
--- a/.hgignore Sat Dec 23 17:08:59 2023 +0100 +++ b/.hgignore Mon Oct 28 17:11:28 2024 +0100 @@ -1,5 +1,4 @@ glob:.eric7project -glob:.eric6project glob:.ropeproject glob:.jedi glob:.directory @@ -13,4 +12,3 @@ glob:tmp glob:__pycache__ glob:**.DS_Store -glob:Ui_*.py
--- a/ChangeLog Sat Dec 23 17:08:59 2023 +0100 +++ b/ChangeLog Mon Oct 28 17:11:28 2024 +0100 @@ -1,5 +1,10 @@ ChangeLog --------- +Version 10.5.0 +- changed to the new style header +- ensured proper parent relationship of modal dialogs +- included compiled form files + Version 10.4.0 - adapted some import statements to eric 23.1 and newer
--- a/PKGLIST Sat Dec 23 17:08:59 2023 +0100 +++ b/PKGLIST Mon Oct 28 17:11:28 2024 +0100 @@ -24,6 +24,7 @@ ProjectFlask/AnsiTools.py ProjectFlask/ConfigurationPage/FlaskPage.py ProjectFlask/ConfigurationPage/FlaskPage.ui +ProjectFlask/ConfigurationPage/Ui_FlaskPage.py ProjectFlask/ConfigurationPage/__init__.py ProjectFlask/Documentation/LICENSE.GPL3 ProjectFlask/FlaskBabelExtension/FlaskBabelDetector.py @@ -31,6 +32,7 @@ ProjectFlask/FlaskBabelExtension/PyBabelConfigDialog.py ProjectFlask/FlaskBabelExtension/PyBabelConfigDialog.ui ProjectFlask/FlaskBabelExtension/PyBabelProjectExtension.py +ProjectFlask/FlaskBabelExtension/Ui_PyBabelConfigDialog.py ProjectFlask/FlaskBabelExtension/__init__.py ProjectFlask/FlaskCommandDialog.py ProjectFlask/FlaskCommandDialog.ui @@ -42,6 +44,8 @@ ProjectFlask/FlaskMigrateExtension/MigrateProjectExtension.py ProjectFlask/FlaskMigrateExtension/MigrateSummaryDialog.py ProjectFlask/FlaskMigrateExtension/MigrateSummaryDialog.ui +ProjectFlask/FlaskMigrateExtension/Ui_MigrateConfigDialog.py +ProjectFlask/FlaskMigrateExtension/Ui_MigrateSummaryDialog.py ProjectFlask/FlaskMigrateExtension/__init__.py ProjectFlask/FlaskVirtualenvConfigurationDialog.py ProjectFlask/FlaskVirtualenvConfigurationDialog.ui @@ -54,6 +58,13 @@ ProjectFlask/RunServerDialog.ui ProjectFlask/ServerStartOptionsDialog.py ProjectFlask/ServerStartOptionsDialog.ui +ProjectFlask/Ui_FlaskCommandDialog.py +ProjectFlask/Ui_FlaskConfigDialog.py +ProjectFlask/Ui_FlaskVirtualenvConfigurationDialog.py +ProjectFlask/Ui_FormSelectionDialog.py +ProjectFlask/Ui_RoutesDialog.py +ProjectFlask/Ui_RunServerDialog.py +ProjectFlask/Ui_ServerStartOptionsDialog.py ProjectFlask/__init__.py ProjectFlask/i18n/flask_de.qm ProjectFlask/i18n/flask_en.qm
--- a/PluginFlask.epj Sat Dec 23 17:08:59 2023 +0100 +++ b/PluginFlask.epj Mon Oct 28 17:11:28 2024 +0100 @@ -1,7 +1,7 @@ { "header": { "comment": "eric project file for project PluginFlask", - "copyright": "Copyright (C) 2023 Detlev Offenbach, detlev@die-offenbachs.de" + "copyright": "Copyright (C) 2024 Detlev Offenbach, detlev@die-offenbachs.de" }, "project": { "AUTHOR": "Detlev Offenbach", @@ -27,6 +27,7 @@ "OverloadDecorators": [ "overload" ], + "RespectTypeIgnore": false, "SuppressDummyArgs": false, "SuppressNoneReturning": false }, @@ -68,7 +69,7 @@ "DocstringType": "eric_black", "EnabledCheckerCategories": "C, D, E, I, L, M, NO, N, Y, U, W", "ExcludeFiles": "*/Ui_*.py,", - "ExcludeMessages": "C101,E265,E266,E305,E402,M201,M301,M302,M303,M304,M305,M306,M307,M308,M311,M312,M313,M314,M315,M321,M701,M702,M811,M834,M852,N802,N803,N807,N808,N821,W293,W503,Y401,Y402", + "ExcludeMessages": "C101,E265,E266,E305,E402,M251,M301,M302,M303,M304,M305,M306,M307,M308,M311,M312,M313,M314,M315,M321,M701,M702,M811,M834,M852,N802,N803,N807,N808,N821,W293,W503,Y401,Y402", "FixCodes": "", "FixIssues": false, "FutureChecker": "", @@ -189,7 +190,6 @@ "Makefile": "OTHERS", "README": "OTHERS", "README.*": "OTHERS", - "Ui_*.py": "__IGNORE__", "makefile": "OTHERS" }, "FORMS": [ @@ -242,13 +242,14 @@ "OTHERTOOLSPARMS": { "Black": { "exclude": "/(\\.direnv|\\.eggs|\\.git|\\.hg|\\.ipynb_checkpoints|\\.mypy_cache|\\.nox|\\.pytest_cache|\\.ruff_cache|\\.tox|\\.svn|\\.venv|\\.vscode|__pypackages__|_build|buck-out|build|dist|venv)/", - "extend-exclude": "", + "extend-exclude": "Ui_.*\\.py", "force-exclude": "", "line-length": 88, "skip-magic-trailing-comma": false, "skip-string-normalization": false, "source": "project", "target-version": [ + "py313", "py312", "py311", "py310", @@ -291,11 +292,13 @@ "PluginProjectFlask.py", "ProjectFlask/AnsiTools.py", "ProjectFlask/ConfigurationPage/FlaskPage.py", + "ProjectFlask/ConfigurationPage/Ui_FlaskPage.py", "ProjectFlask/ConfigurationPage/__init__.py", "ProjectFlask/FlaskBabelExtension/FlaskBabelDetector.py", "ProjectFlask/FlaskBabelExtension/PyBabelCommandDialog.py", "ProjectFlask/FlaskBabelExtension/PyBabelConfigDialog.py", "ProjectFlask/FlaskBabelExtension/PyBabelProjectExtension.py", + "ProjectFlask/FlaskBabelExtension/Ui_PyBabelConfigDialog.py", "ProjectFlask/FlaskBabelExtension/__init__.py", "ProjectFlask/FlaskCommandDialog.py", "ProjectFlask/FlaskConfigDialog.py", @@ -303,6 +306,8 @@ "ProjectFlask/FlaskMigrateExtension/MigrateConfigDialog.py", "ProjectFlask/FlaskMigrateExtension/MigrateProjectExtension.py", "ProjectFlask/FlaskMigrateExtension/MigrateSummaryDialog.py", + "ProjectFlask/FlaskMigrateExtension/Ui_MigrateConfigDialog.py", + "ProjectFlask/FlaskMigrateExtension/Ui_MigrateSummaryDialog.py", "ProjectFlask/FlaskMigrateExtension/__init__.py", "ProjectFlask/FlaskVirtualenvConfigurationDialog.py", "ProjectFlask/FormSelectionDialog.py", @@ -310,6 +315,13 @@ "ProjectFlask/RoutesDialog.py", "ProjectFlask/RunServerDialog.py", "ProjectFlask/ServerStartOptionsDialog.py", + "ProjectFlask/Ui_FlaskCommandDialog.py", + "ProjectFlask/Ui_FlaskConfigDialog.py", + "ProjectFlask/Ui_FlaskVirtualenvConfigurationDialog.py", + "ProjectFlask/Ui_FormSelectionDialog.py", + "ProjectFlask/Ui_RoutesDialog.py", + "ProjectFlask/Ui_RunServerDialog.py", + "ProjectFlask/Ui_ServerStartOptionsDialog.py", "ProjectFlask/__init__.py", "__init__.py" ], @@ -380,4 +392,4 @@ "VCSOTHERDATA": {}, "VERSION": "" } -} \ No newline at end of file +}
--- a/PluginProjectFlask.py Sat Dec 23 17:08:59 2023 +0100 +++ b/PluginProjectFlask.py Mon Oct 28 17:11:28 2024 +0100 @@ -24,17 +24,20 @@ from ProjectFlask.Project import Project # Start-of-Header -name = "Flask Project Plugin" -author = "Detlev Offenbach <detlev@die-offenbachs.de>" -autoactivate = True -deactivateable = True -version = "10.4.0" -className = "ProjectFlaskPlugin" -packageName = "ProjectFlask" -shortDescription = "Project support for Flask projects." -longDescription = """This plugin implements project support for Flask projects.""" -needsRestart = False -pyqtApi = 2 +__header__ = { + "name": "Flask Project Plugin", + "author": "Detlev Offenbach <detlev@die-offenbachs.de>", + "autoactivate": True, + "deactivateable": True, + "version": "10.5.0", + "className": "ProjectFlaskPlugin", + "packageName": "ProjectFlask", + "shortDescription": "Project support for Flask projects.", + "longDescription": "This plugin implements project support for Flask projects.", + "needsRestart": False, + "hasCompiledForms": True, + "pyqtApi": 2, +} # End-of-Header error = ""
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/ProjectFlask/ConfigurationPage/Ui_FlaskPage.py Mon Oct 28 17:11:28 2024 +0100 @@ -0,0 +1,163 @@ +# Form implementation generated from reading ui file '/home/detlev/Development/Python/Eric/eric7_plugins/Plugin_Project_Flask/ProjectFlask/ConfigurationPage/FlaskPage.ui' +# +# Created by: PyQt6 UI code generator 6.4.0 +# +# WARNING: Any manual changes made to this file will be lost when pyuic6 is +# run again. Do not edit this file unless you know what you are doing. + + +from PyQt6 import QtCore, QtGui, QtWidgets + + +class Ui_FlaskPage(object): + def setupUi(self, FlaskPage): + FlaskPage.setObjectName("FlaskPage") + FlaskPage.resize(500, 740) + self.verticalLayout_3 = QtWidgets.QVBoxLayout(FlaskPage) + self.verticalLayout_3.setObjectName("verticalLayout_3") + self.headerLabel = QtWidgets.QLabel(FlaskPage) + self.headerLabel.setObjectName("headerLabel") + self.verticalLayout_3.addWidget(self.headerLabel) + self.line15 = QtWidgets.QFrame(FlaskPage) + self.line15.setFrameShape(QtWidgets.QFrame.Shape.HLine) + self.line15.setFrameShadow(QtWidgets.QFrame.Shadow.Sunken) + self.line15.setFrameShape(QtWidgets.QFrame.Shape.HLine) + self.line15.setObjectName("line15") + self.verticalLayout_3.addWidget(self.line15) + self.pyramidConsoleGroup = QtWidgets.QGroupBox(FlaskPage) + self.pyramidConsoleGroup.setObjectName("pyramidConsoleGroup") + self.horizontalLayout_3 = QtWidgets.QHBoxLayout(self.pyramidConsoleGroup) + self.horizontalLayout_3.setObjectName("horizontalLayout_3") + self.label_2 = QtWidgets.QLabel(self.pyramidConsoleGroup) + self.label_2.setObjectName("label_2") + self.horizontalLayout_3.addWidget(self.label_2) + self.consoleCommandCombo = QtWidgets.QComboBox(self.pyramidConsoleGroup) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Fixed) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.consoleCommandCombo.sizePolicy().hasHeightForWidth()) + self.consoleCommandCombo.setSizePolicy(sizePolicy) + self.consoleCommandCombo.setEditable(True) + self.consoleCommandCombo.setObjectName("consoleCommandCombo") + self.horizontalLayout_3.addWidget(self.consoleCommandCombo) + self.verticalLayout_3.addWidget(self.pyramidConsoleGroup) + self.flaskBrowserGroup = QtWidgets.QGroupBox(FlaskPage) + self.flaskBrowserGroup.setObjectName("flaskBrowserGroup") + self.verticalLayout_5 = QtWidgets.QVBoxLayout(self.flaskBrowserGroup) + self.verticalLayout_5.setObjectName("verticalLayout_5") + self.externalBrowserCheckBox = QtWidgets.QCheckBox(self.flaskBrowserGroup) + self.externalBrowserCheckBox.setObjectName("externalBrowserCheckBox") + self.verticalLayout_5.addWidget(self.externalBrowserCheckBox) + self.verticalLayout_3.addWidget(self.flaskBrowserGroup) + self.flaskVirtualEnvironmentPy3Group = QtWidgets.QGroupBox(FlaskPage) + self.flaskVirtualEnvironmentPy3Group.setObjectName("flaskVirtualEnvironmentPy3Group") + self.verticalLayout_2 = QtWidgets.QVBoxLayout(self.flaskVirtualEnvironmentPy3Group) + self.verticalLayout_2.setObjectName("verticalLayout_2") + self.label_13 = QtWidgets.QLabel(self.flaskVirtualEnvironmentPy3Group) + self.label_13.setWordWrap(True) + self.label_13.setObjectName("label_13") + self.verticalLayout_2.addWidget(self.label_13) + self.horizontalLayout = QtWidgets.QHBoxLayout() + self.horizontalLayout.setObjectName("horizontalLayout") + self.py3VenvNameComboBox = QtWidgets.QComboBox(self.flaskVirtualEnvironmentPy3Group) + self.py3VenvNameComboBox.setObjectName("py3VenvNameComboBox") + self.horizontalLayout.addWidget(self.py3VenvNameComboBox) + self.py3VenvNamesReloadButton = QtWidgets.QToolButton(self.flaskVirtualEnvironmentPy3Group) + self.py3VenvNamesReloadButton.setObjectName("py3VenvNamesReloadButton") + self.horizontalLayout.addWidget(self.py3VenvNamesReloadButton) + self.verticalLayout_2.addLayout(self.horizontalLayout) + self.verticalLayout_3.addWidget(self.flaskVirtualEnvironmentPy3Group) + self.groupBox = QtWidgets.QGroupBox(FlaskPage) + self.groupBox.setObjectName("groupBox") + self.gridLayout = QtWidgets.QGridLayout(self.groupBox) + self.gridLayout.setObjectName("gridLayout") + self.label = QtWidgets.QLabel(self.groupBox) + self.label.setObjectName("label") + self.gridLayout.addWidget(self.label, 0, 0, 1, 1) + self.colorSchemeComboBox = QtWidgets.QComboBox(self.groupBox) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Fixed) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.colorSchemeComboBox.sizePolicy().hasHeightForWidth()) + self.colorSchemeComboBox.setSizePolicy(sizePolicy) + self.colorSchemeComboBox.setObjectName("colorSchemeComboBox") + self.gridLayout.addWidget(self.colorSchemeComboBox, 0, 1, 1, 1) + self.verticalLayout_3.addWidget(self.groupBox) + self.flaskDocumentationGroup = QtWidgets.QGroupBox(FlaskPage) + self.flaskDocumentationGroup.setObjectName("flaskDocumentationGroup") + self.horizontalLayout_2 = QtWidgets.QHBoxLayout(self.flaskDocumentationGroup) + self.horizontalLayout_2.setObjectName("horizontalLayout_2") + self.label_6 = QtWidgets.QLabel(self.flaskDocumentationGroup) + self.label_6.setObjectName("label_6") + self.horizontalLayout_2.addWidget(self.label_6) + self.urlEdit = QtWidgets.QLineEdit(self.flaskDocumentationGroup) + self.urlEdit.setObjectName("urlEdit") + self.horizontalLayout_2.addWidget(self.urlEdit) + self.urlResetButton = QtWidgets.QToolButton(self.flaskDocumentationGroup) + self.urlResetButton.setObjectName("urlResetButton") + self.horizontalLayout_2.addWidget(self.urlResetButton) + self.verticalLayout_3.addWidget(self.flaskDocumentationGroup) + self.TranslationsGroup = QtWidgets.QGroupBox(FlaskPage) + self.TranslationsGroup.setObjectName("TranslationsGroup") + self.verticalLayout = QtWidgets.QVBoxLayout(self.TranslationsGroup) + self.verticalLayout.setObjectName("verticalLayout") + self.label_10 = QtWidgets.QLabel(self.TranslationsGroup) + self.label_10.setMinimumSize(QtCore.QSize(0, 40)) + self.label_10.setWordWrap(True) + self.label_10.setObjectName("label_10") + self.verticalLayout.addWidget(self.label_10) + self.translationsEditorPicker = EricPathPicker(self.TranslationsGroup) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Preferred) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.translationsEditorPicker.sizePolicy().hasHeightForWidth()) + self.translationsEditorPicker.setSizePolicy(sizePolicy) + self.translationsEditorPicker.setFocusPolicy(QtCore.Qt.FocusPolicy.StrongFocus) + self.translationsEditorPicker.setObjectName("translationsEditorPicker") + self.verticalLayout.addWidget(self.translationsEditorPicker) + self.verticalLayout_3.addWidget(self.TranslationsGroup) + spacerItem = QtWidgets.QSpacerItem(20, 64, QtWidgets.QSizePolicy.Policy.Minimum, QtWidgets.QSizePolicy.Policy.Expanding) + self.verticalLayout_3.addItem(spacerItem) + + self.retranslateUi(FlaskPage) + QtCore.QMetaObject.connectSlotsByName(FlaskPage) + FlaskPage.setTabOrder(self.consoleCommandCombo, self.externalBrowserCheckBox) + FlaskPage.setTabOrder(self.externalBrowserCheckBox, self.py3VenvNameComboBox) + FlaskPage.setTabOrder(self.py3VenvNameComboBox, self.py3VenvNamesReloadButton) + FlaskPage.setTabOrder(self.py3VenvNamesReloadButton, self.colorSchemeComboBox) + FlaskPage.setTabOrder(self.colorSchemeComboBox, self.urlEdit) + FlaskPage.setTabOrder(self.urlEdit, self.urlResetButton) + + def retranslateUi(self, FlaskPage): + _translate = QtCore.QCoreApplication.translate + self.headerLabel.setText(_translate("FlaskPage", "<b>Configure Flask</b>")) + self.pyramidConsoleGroup.setTitle(_translate("FlaskPage", "Console Command")) + self.label_2.setText(_translate("FlaskPage", "Console Command:")) + self.consoleCommandCombo.setToolTip(_translate("FlaskPage", "Enter the console command")) + self.flaskBrowserGroup.setTitle(_translate("FlaskPage", "Web-Browser")) + self.externalBrowserCheckBox.setToolTip(_translate("FlaskPage", "Select to use an external web-browser")) + self.externalBrowserCheckBox.setText(_translate("FlaskPage", "Use external web-browser")) + self.flaskVirtualEnvironmentPy3Group.setTitle(_translate("FlaskPage", "Flask Virtual Environment")) + self.label_13.setText(_translate("FlaskPage", "Select the Virtual Environment to be used with Flask")) + self.py3VenvNamesReloadButton.setToolTip(_translate("FlaskPage", "Press to reload the names of the virtual environments")) + self.groupBox.setTitle(_translate("FlaskPage", "Server Output")) + self.label.setText(_translate("FlaskPage", "Color Scheme for ANSI Escape Codes:")) + self.colorSchemeComboBox.setToolTip(_translate("FlaskPage", "Select the color scheme to be applied for ANSI color escape codes")) + self.flaskDocumentationGroup.setTitle(_translate("FlaskPage", "Flask Documentation")) + self.label_6.setText(_translate("FlaskPage", "URL:")) + self.urlEdit.setToolTip(_translate("FlaskPage", "Enter the URL of the Flask documentation")) + self.urlResetButton.setToolTip(_translate("FlaskPage", "Press to reset the URL to the default URL")) + self.TranslationsGroup.setTitle(_translate("FlaskPage", "Translations Editor")) + self.label_10.setText(_translate("FlaskPage", "Enter the path of an editor to use to do the translations. Leave empty to disable this feature.")) + self.translationsEditorPicker.setToolTip(_translate("FlaskPage", "Enter the path of the translations editor")) +from eric7.EricWidgets.EricPathPicker import EricPathPicker + + +if __name__ == "__main__": + import sys + app = QtWidgets.QApplication(sys.argv) + FlaskPage = QtWidgets.QWidget() + ui = Ui_FlaskPage() + ui.setupUi(FlaskPage) + FlaskPage.show() + sys.exit(app.exec())
--- a/ProjectFlask/FlaskBabelExtension/PyBabelProjectExtension.py Sat Dec 23 17:08:59 2023 +0100 +++ b/ProjectFlask/FlaskBabelExtension/PyBabelProjectExtension.py Mon Oct 28 17:11:28 2024 +0100 @@ -40,13 +40,14 @@ @type ProjectFlaskPlugin @param project reference to the project object @type Project - @param parent parent - @type QObject + @param parent reference to the parent widget + @type QWidget """ super().__init__(parent) self.__plugin = plugin self.__project = project + self.__ui = parent self.__ericProject = ericApp().getObject("Project") @@ -278,7 +279,7 @@ from .PyBabelConfigDialog import PyBabelConfigDialog config = self.__project.getData("flask-babel", "") - dlg = PyBabelConfigDialog(config) + dlg = PyBabelConfigDialog(config, parent=self.__ui) if dlg.exec() == QDialog.DialogCode.Accepted: config = dlg.getConfiguration() self.__project.setData("flask-babel", "", config) @@ -480,7 +481,10 @@ args += ["-o", os.path.relpath(potFile, workdir), "."] dlg = PyBabelCommandDialog( - self, title, msgSuccess=self.tr("\nMessages extracted successfully.") + self, + title, + msgSuccess=self.tr("\nMessages extracted successfully."), + parent=self.__ui, ) res = dlg.startCommand("extract", args, workdir) if res: @@ -516,6 +520,7 @@ self, title, msgSuccess=self.tr("\nMessage catalog initialized successfully."), + parent=self.__ui, ) res = dlg.startCommand("init", args, workdir) if res: @@ -551,6 +556,7 @@ self, title, msgSuccess=self.tr("\nMessage catalogs compiled successfully."), + parent=self.__ui, ) res = dlg.startCommand("compile", args, workdir) if res: @@ -606,6 +612,7 @@ self, title=title, msgSuccess=self.tr("\nMessage catalogs compiled successfully."), + parent=self.__ui, ) res = dlg.startBatchCommand(argsList, workdir) if res: @@ -651,6 +658,7 @@ self, title, msgSuccess=self.tr("\nMessage catalogs updated successfully."), + parent=self.__ui, ) res = dlg.startCommand("update", args, workdir) if res: @@ -714,6 +722,7 @@ self, title=title, msgSuccess=self.tr("\nMessage catalogs updated successfully."), + parent=self.__ui, ) res = dlg.startBatchCommand(argsList, workdir) if res:
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/ProjectFlask/FlaskBabelExtension/Ui_PyBabelConfigDialog.py Mon Oct 28 17:11:28 2024 +0100 @@ -0,0 +1,107 @@ +# Form implementation generated from reading ui file '/home/detlev/Development/Python/Eric/eric7_plugins/Plugin_Project_Flask/ProjectFlask/FlaskBabelExtension/PyBabelConfigDialog.ui' +# +# Created by: PyQt6 UI code generator 6.4.0 +# +# WARNING: Any manual changes made to this file will be lost when pyuic6 is +# run again. Do not edit this file unless you know what you are doing. + + +from PyQt6 import QtCore, QtGui, QtWidgets + + +class Ui_PyBabelConfigDialog(object): + def setupUi(self, PyBabelConfigDialog): + PyBabelConfigDialog.setObjectName("PyBabelConfigDialog") + PyBabelConfigDialog.resize(600, 180) + PyBabelConfigDialog.setSizeGripEnabled(True) + self.gridLayout = QtWidgets.QGridLayout(PyBabelConfigDialog) + self.gridLayout.setObjectName("gridLayout") + self.label = QtWidgets.QLabel(PyBabelConfigDialog) + self.label.setObjectName("label") + self.gridLayout.addWidget(self.label, 0, 0, 1, 1) + self.configFilePicker = EricPathPicker(PyBabelConfigDialog) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Preferred) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.configFilePicker.sizePolicy().hasHeightForWidth()) + self.configFilePicker.setSizePolicy(sizePolicy) + self.configFilePicker.setFocusPolicy(QtCore.Qt.FocusPolicy.StrongFocus) + self.configFilePicker.setObjectName("configFilePicker") + self.gridLayout.addWidget(self.configFilePicker, 0, 1, 1, 1) + self.label_4 = QtWidgets.QLabel(PyBabelConfigDialog) + self.label_4.setObjectName("label_4") + self.gridLayout.addWidget(self.label_4, 1, 0, 1, 1) + self.translationsDirectoryPicker = EricPathPicker(PyBabelConfigDialog) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Preferred) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.translationsDirectoryPicker.sizePolicy().hasHeightForWidth()) + self.translationsDirectoryPicker.setSizePolicy(sizePolicy) + self.translationsDirectoryPicker.setFocusPolicy(QtCore.Qt.FocusPolicy.StrongFocus) + self.translationsDirectoryPicker.setObjectName("translationsDirectoryPicker") + self.gridLayout.addWidget(self.translationsDirectoryPicker, 1, 1, 1, 1) + self.label_5 = QtWidgets.QLabel(PyBabelConfigDialog) + self.label_5.setObjectName("label_5") + self.gridLayout.addWidget(self.label_5, 2, 0, 1, 1) + self.domainEdit = QtWidgets.QLineEdit(PyBabelConfigDialog) + self.domainEdit.setClearButtonEnabled(True) + self.domainEdit.setObjectName("domainEdit") + self.gridLayout.addWidget(self.domainEdit, 2, 1, 1, 1) + self.label_2 = QtWidgets.QLabel(PyBabelConfigDialog) + self.label_2.setObjectName("label_2") + self.gridLayout.addWidget(self.label_2, 3, 0, 1, 1) + self.catalogFilePicker = EricPathPicker(PyBabelConfigDialog) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Preferred) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.catalogFilePicker.sizePolicy().hasHeightForWidth()) + self.catalogFilePicker.setSizePolicy(sizePolicy) + self.catalogFilePicker.setFocusPolicy(QtCore.Qt.FocusPolicy.StrongFocus) + self.catalogFilePicker.setObjectName("catalogFilePicker") + self.gridLayout.addWidget(self.catalogFilePicker, 3, 1, 1, 1) + self.label_3 = QtWidgets.QLabel(PyBabelConfigDialog) + self.label_3.setObjectName("label_3") + self.gridLayout.addWidget(self.label_3, 4, 0, 1, 1) + self.markersEdit = QtWidgets.QLineEdit(PyBabelConfigDialog) + self.markersEdit.setClearButtonEnabled(True) + self.markersEdit.setObjectName("markersEdit") + self.gridLayout.addWidget(self.markersEdit, 4, 1, 1, 1) + self.buttonBox = QtWidgets.QDialogButtonBox(PyBabelConfigDialog) + self.buttonBox.setOrientation(QtCore.Qt.Orientation.Horizontal) + self.buttonBox.setStandardButtons(QtWidgets.QDialogButtonBox.StandardButton.Cancel|QtWidgets.QDialogButtonBox.StandardButton.Ok) + self.buttonBox.setObjectName("buttonBox") + self.gridLayout.addWidget(self.buttonBox, 5, 0, 1, 2) + + self.retranslateUi(PyBabelConfigDialog) + self.buttonBox.accepted.connect(PyBabelConfigDialog.accept) # type: ignore + self.buttonBox.rejected.connect(PyBabelConfigDialog.reject) # type: ignore + QtCore.QMetaObject.connectSlotsByName(PyBabelConfigDialog) + PyBabelConfigDialog.setTabOrder(self.configFilePicker, self.translationsDirectoryPicker) + PyBabelConfigDialog.setTabOrder(self.translationsDirectoryPicker, self.domainEdit) + PyBabelConfigDialog.setTabOrder(self.domainEdit, self.catalogFilePicker) + PyBabelConfigDialog.setTabOrder(self.catalogFilePicker, self.markersEdit) + + def retranslateUi(self, PyBabelConfigDialog): + _translate = QtCore.QCoreApplication.translate + PyBabelConfigDialog.setWindowTitle(_translate("PyBabelConfigDialog", "flask-babel Configuration")) + self.label.setText(_translate("PyBabelConfigDialog", "Configuration File:")) + self.configFilePicker.setToolTip(_translate("PyBabelConfigDialog", "Enter the name of the PyBabel configuration file")) + self.label_4.setText(_translate("PyBabelConfigDialog", "Translations Directory:")) + self.translationsDirectoryPicker.setToolTip(_translate("PyBabelConfigDialog", "Enter the name of the directory containing the translations")) + self.label_5.setText(_translate("PyBabelConfigDialog", "Domain:")) + self.domainEdit.setToolTip(_translate("PyBabelConfigDialog", "Enter the name of the translations domain (leave empty for default)")) + self.label_2.setText(_translate("PyBabelConfigDialog", "Message Catalog:")) + self.catalogFilePicker.setToolTip(_translate("PyBabelConfigDialog", "Enter the name of the message catalog file")) + self.label_3.setText(_translate("PyBabelConfigDialog", "Translation Markers:")) + self.markersEdit.setToolTip(_translate("PyBabelConfigDialog", "Enter the translation markers separated by space (_ is included by default)")) +from eric7.EricWidgets.EricPathPicker import EricPathPicker + + +if __name__ == "__main__": + import sys + app = QtWidgets.QApplication(sys.argv) + PyBabelConfigDialog = QtWidgets.QDialog() + ui = Ui_PyBabelConfigDialog() + ui.setupUi(PyBabelConfigDialog) + PyBabelConfigDialog.show() + sys.exit(app.exec())
--- a/ProjectFlask/FlaskConfigDialog.py Sat Dec 23 17:08:59 2023 +0100 +++ b/ProjectFlask/FlaskConfigDialog.py Mon Oct 28 17:11:28 2024 +0100 @@ -101,13 +101,15 @@ ericProject = ericApp().getObject("Project") dlg = FlaskVirtualenvConfigurationDialog( - ericProject.getProjectPath(), ericProject.getProjectName(), self + ericProject.getProjectPath(), ericProject.getProjectName(), parent=self ) if dlg.exec() == QDialog.DialogCode.Accepted: resultDict = dlg.getData() # now do the call - dia = VirtualenvExecDialog(resultDict, self.__virtualEnvManager, self) + dia = VirtualenvExecDialog( + resultDict, self.__virtualEnvManager, parent=self + ) dia.show() dia.start(resultDict["arguments"]) dia.exec() @@ -142,7 +144,7 @@ else: args = ["-m", "pip", "install"] args.append("flask") - dia = PipDialog(self.tr("Install Flask"), self) + dia = PipDialog(self.tr("Install Flask"), parent=self) res = dia.startProcess(interpreter, args) if res: dia.exec()
--- a/ProjectFlask/FlaskMigrateExtension/MigrateProjectExtension.py Sat Dec 23 17:08:59 2023 +0100 +++ b/ProjectFlask/FlaskMigrateExtension/MigrateProjectExtension.py Mon Oct 28 17:11:28 2024 +0100 @@ -40,13 +40,14 @@ @type ProjectFlaskPlugin @param project reference to the project object @type Project - @param parent parent - @type QObject + @param parent reference to the parent widget + @type QWidget """ super().__init__(parent) self.__plugin = plugin self.__project = project + self.__ui = parent self.__ericProject = ericApp().getObject("Project") @@ -384,7 +385,7 @@ from .MigrateConfigDialog import MigrateConfigDialog config = self.__project.getData("flask-migrate", "") - dlg = MigrateConfigDialog(config) + dlg = MigrateConfigDialog(config, parent=self.__ui) if dlg.exec() == QDialog.DialogCode.Accepted: config = dlg.getConfiguration() self.__project.setData("flask-migrate", "", config) @@ -463,6 +464,7 @@ self.__project, title=title, msgSuccess=self.tr("\nMigrations initialized successfully."), + parent=self.__ui, ) if dlg.startCommand("db", args): dlg.exec() @@ -513,6 +515,7 @@ self.__project, title=title, msgSuccess=self.tr("\nMigration created successfully."), + parent=self.__ui, ) if dlg.startCommand("db", args): dlg.exec() @@ -550,6 +553,7 @@ self.__project, title=title, msgSuccess=self.tr("\nDatabase upgraded successfully."), + parent=self.__ui, ) if dlg.startCommand("db", args): dlg.exec() @@ -577,6 +581,7 @@ self.__project, title=title, msgSuccess=self.tr("\nDatabase downgraded successfully."), + parent=self.__ui, ) if dlg.startCommand("db", args): dlg.exec() @@ -616,6 +621,6 @@ if migrations: args += ["--directory", migrations] - dlg = FlaskCommandDialog(self.__project, title=title) + dlg = FlaskCommandDialog(self.__project, title=title, parent=self.__ui) if dlg.startCommand("db", args): dlg.exec()
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/ProjectFlask/FlaskMigrateExtension/Ui_MigrateConfigDialog.py Mon Oct 28 17:11:28 2024 +0100 @@ -0,0 +1,64 @@ +# Form implementation generated from reading ui file '/home/detlev/Development/Python/Eric/eric7_plugins/Plugin_Project_Flask/ProjectFlask/FlaskMigrateExtension/MigrateConfigDialog.ui' +# +# Created by: PyQt6 UI code generator 6.4.0 +# +# WARNING: Any manual changes made to this file will be lost when pyuic6 is +# run again. Do not edit this file unless you know what you are doing. + + +from PyQt6 import QtCore, QtGui, QtWidgets + + +class Ui_MigrateConfigDialog(object): + def setupUi(self, MigrateConfigDialog): + MigrateConfigDialog.setObjectName("MigrateConfigDialog") + MigrateConfigDialog.resize(627, 129) + MigrateConfigDialog.setSizeGripEnabled(True) + self.verticalLayout_2 = QtWidgets.QVBoxLayout(MigrateConfigDialog) + self.verticalLayout_2.setObjectName("verticalLayout_2") + self.groupBox = QtWidgets.QGroupBox(MigrateConfigDialog) + self.groupBox.setObjectName("groupBox") + self.verticalLayout = QtWidgets.QVBoxLayout(self.groupBox) + self.verticalLayout.setObjectName("verticalLayout") + self.migrationsDirectoryPicker = EricPathPicker(self.groupBox) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Preferred) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.migrationsDirectoryPicker.sizePolicy().hasHeightForWidth()) + self.migrationsDirectoryPicker.setSizePolicy(sizePolicy) + self.migrationsDirectoryPicker.setFocusPolicy(QtCore.Qt.FocusPolicy.StrongFocus) + self.migrationsDirectoryPicker.setObjectName("migrationsDirectoryPicker") + self.verticalLayout.addWidget(self.migrationsDirectoryPicker) + self.label = QtWidgets.QLabel(self.groupBox) + self.label.setWordWrap(True) + self.label.setObjectName("label") + self.verticalLayout.addWidget(self.label) + self.verticalLayout_2.addWidget(self.groupBox) + self.buttonBox = QtWidgets.QDialogButtonBox(MigrateConfigDialog) + self.buttonBox.setOrientation(QtCore.Qt.Orientation.Horizontal) + self.buttonBox.setStandardButtons(QtWidgets.QDialogButtonBox.StandardButton.Cancel|QtWidgets.QDialogButtonBox.StandardButton.Ok) + self.buttonBox.setObjectName("buttonBox") + self.verticalLayout_2.addWidget(self.buttonBox) + + self.retranslateUi(MigrateConfigDialog) + self.buttonBox.accepted.connect(MigrateConfigDialog.accept) # type: ignore + self.buttonBox.rejected.connect(MigrateConfigDialog.reject) # type: ignore + QtCore.QMetaObject.connectSlotsByName(MigrateConfigDialog) + + def retranslateUi(self, MigrateConfigDialog): + _translate = QtCore.QCoreApplication.translate + MigrateConfigDialog.setWindowTitle(_translate("MigrateConfigDialog", "flask-migrate Configuration")) + self.groupBox.setTitle(_translate("MigrateConfigDialog", "Migrations Directory")) + self.migrationsDirectoryPicker.setToolTip(_translate("MigrateConfigDialog", "Enter the name of the directory containing the migrations")) + self.label.setText(_translate("MigrateConfigDialog", "<b>Note:</b> Leave this entry empty to use the default of \"migrations\".")) +from eric7.EricWidgets.EricPathPicker import EricPathPicker + + +if __name__ == "__main__": + import sys + app = QtWidgets.QApplication(sys.argv) + MigrateConfigDialog = QtWidgets.QDialog() + ui = Ui_MigrateConfigDialog() + ui.setupUi(MigrateConfigDialog) + MigrateConfigDialog.show() + sys.exit(app.exec())
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/ProjectFlask/FlaskMigrateExtension/Ui_MigrateSummaryDialog.py Mon Oct 28 17:11:28 2024 +0100 @@ -0,0 +1,62 @@ +# Form implementation generated from reading ui file '/home/detlev/Development/Python/Eric/eric7_plugins/Plugin_Project_Flask/ProjectFlask/FlaskMigrateExtension/MigrateSummaryDialog.ui' +# +# Created by: PyQt6 UI code generator 6.4.0 +# +# WARNING: Any manual changes made to this file will be lost when pyuic6 is +# run again. Do not edit this file unless you know what you are doing. + + +from PyQt6 import QtCore, QtGui, QtWidgets + + +class Ui_MigrateSummaryDialog(object): + def setupUi(self, MigrateSummaryDialog): + MigrateSummaryDialog.setObjectName("MigrateSummaryDialog") + MigrateSummaryDialog.resize(800, 500) + MigrateSummaryDialog.setSizeGripEnabled(True) + self.verticalLayout = QtWidgets.QVBoxLayout(MigrateSummaryDialog) + self.verticalLayout.setObjectName("verticalLayout") + self.summaryWidget = QtWidgets.QTreeWidget(MigrateSummaryDialog) + self.summaryWidget.setAlternatingRowColors(True) + self.summaryWidget.setRootIsDecorated(False) + self.summaryWidget.setItemsExpandable(False) + self.summaryWidget.setObjectName("summaryWidget") + self.verticalLayout.addWidget(self.summaryWidget) + self.horizontalLayout = QtWidgets.QHBoxLayout() + self.horizontalLayout.setObjectName("horizontalLayout") + self.upDownButton = QtWidgets.QPushButton(MigrateSummaryDialog) + self.upDownButton.setObjectName("upDownButton") + self.horizontalLayout.addWidget(self.upDownButton) + spacerItem = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Minimum) + self.horizontalLayout.addItem(spacerItem) + self.buttonBox = QtWidgets.QDialogButtonBox(MigrateSummaryDialog) + self.buttonBox.setOrientation(QtCore.Qt.Orientation.Horizontal) + self.buttonBox.setStandardButtons(QtWidgets.QDialogButtonBox.StandardButton.Cancel|QtWidgets.QDialogButtonBox.StandardButton.Close) + self.buttonBox.setObjectName("buttonBox") + self.horizontalLayout.addWidget(self.buttonBox) + self.verticalLayout.addLayout(self.horizontalLayout) + + self.retranslateUi(MigrateSummaryDialog) + self.buttonBox.accepted.connect(MigrateSummaryDialog.accept) # type: ignore + self.buttonBox.rejected.connect(MigrateSummaryDialog.reject) # type: ignore + QtCore.QMetaObject.connectSlotsByName(MigrateSummaryDialog) + + def retranslateUi(self, MigrateSummaryDialog): + _translate = QtCore.QCoreApplication.translate + MigrateSummaryDialog.setWindowTitle(_translate("MigrateSummaryDialog", "Migrations Summary")) + self.summaryWidget.headerItem().setText(0, _translate("MigrateSummaryDialog", "Old Revision")) + self.summaryWidget.headerItem().setText(1, _translate("MigrateSummaryDialog", "New Revision")) + self.summaryWidget.headerItem().setText(2, _translate("MigrateSummaryDialog", "Message")) + self.summaryWidget.headerItem().setText(3, _translate("MigrateSummaryDialog", "Labels")) + self.upDownButton.setToolTip(_translate("MigrateSummaryDialog", "Press to upgrade or downgrade the database to the selected migration")) + self.upDownButton.setText(_translate("MigrateSummaryDialog", "Upgrade")) + + +if __name__ == "__main__": + import sys + app = QtWidgets.QApplication(sys.argv) + MigrateSummaryDialog = QtWidgets.QDialog() + ui = Ui_MigrateSummaryDialog() + ui.setupUi(MigrateSummaryDialog) + MigrateSummaryDialog.show() + sys.exit(app.exec())
--- a/ProjectFlask/Project.py Sat Dec 23 17:08:59 2023 +0100 +++ b/ProjectFlask/Project.py Mon Oct 28 17:11:28 2024 +0100 @@ -94,8 +94,8 @@ self.__capabilities = {} - self.__pybabelProject = PyBabelProject(self.__plugin, self, self) - self.__migrateProject = MigrateProject(self.__plugin, self, self) + self.__pybabelProject = PyBabelProject(self.__plugin, self, self.__ui) + self.__migrateProject = MigrateProject(self.__plugin, self, self.__ui) def initActions(self): """ @@ -382,7 +382,7 @@ """ from .FormSelectionDialog import FormSelectionDialog - dlg = FormSelectionDialog() + dlg = FormSelectionDialog(parent=self.__ui) if dlg.exec() == QDialog.DialogCode.Accepted: template = dlg.getTemplateText() @@ -603,6 +603,7 @@ ).format(versions["flask"], versions["werkzeug"], versions["python"], url), modal=True, buttons=EricMessageBox.Ok, + parent=self.__ui, ) msgBox.setIconPixmap( EricPixmapCache.getPixmap( @@ -787,7 +788,7 @@ from .FlaskConfigDialog import FlaskConfigDialog config = self.getData("flask", "") - dlg = FlaskConfigDialog(config, self) + dlg = FlaskConfigDialog(config, self, parent=self.__ui) if dlg.exec() == QDialog.DialogCode.Accepted: config = dlg.getConfiguration() self.setData("flask", "", config)
--- a/ProjectFlask/RunServerDialog.py Sat Dec 23 17:08:59 2023 +0100 +++ b/ProjectFlask/RunServerDialog.py Mon Oct 28 17:11:28 2024 +0100 @@ -114,7 +114,7 @@ self.__serverOptions["development"] = development if askForOptions: - dlg = ServerStartOptionsDialog(self.__serverOptions) + dlg = ServerStartOptionsDialog(self.__serverOptions, parent=self) if dlg.exec() != QDialog.DialogCode.Accepted: return False
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/ProjectFlask/Ui_FlaskCommandDialog.py Mon Oct 28 17:11:28 2024 +0100 @@ -0,0 +1,57 @@ +# Form implementation generated from reading ui file '/home/detlev/Development/Python/Eric/eric7_plugins/Plugin_Project_Flask/ProjectFlask/FlaskCommandDialog.ui' +# +# Created by: PyQt6 UI code generator 6.4.0 +# +# WARNING: Any manual changes made to this file will be lost when pyuic6 is +# run again. Do not edit this file unless you know what you are doing. + + +from PyQt6 import QtCore, QtGui, QtWidgets + + +class Ui_FlaskCommandDialog(object): + def setupUi(self, FlaskCommandDialog): + FlaskCommandDialog.setObjectName("FlaskCommandDialog") + FlaskCommandDialog.resize(600, 500) + FlaskCommandDialog.setSizeGripEnabled(True) + self.verticalLayout_2 = QtWidgets.QVBoxLayout(FlaskCommandDialog) + self.verticalLayout_2.setObjectName("verticalLayout_2") + self.groupBox = QtWidgets.QGroupBox(FlaskCommandDialog) + self.groupBox.setObjectName("groupBox") + self.verticalLayout = QtWidgets.QVBoxLayout(self.groupBox) + self.verticalLayout.setObjectName("verticalLayout") + self.outputEdit = QtWidgets.QPlainTextEdit(self.groupBox) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Expanding) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.outputEdit.sizePolicy().hasHeightForWidth()) + self.outputEdit.setSizePolicy(sizePolicy) + self.outputEdit.setLineWrapMode(QtWidgets.QPlainTextEdit.LineWrapMode.NoWrap) + self.outputEdit.setReadOnly(True) + self.outputEdit.setObjectName("outputEdit") + self.verticalLayout.addWidget(self.outputEdit) + self.verticalLayout_2.addWidget(self.groupBox) + self.buttonBox = QtWidgets.QDialogButtonBox(FlaskCommandDialog) + self.buttonBox.setOrientation(QtCore.Qt.Orientation.Horizontal) + self.buttonBox.setStandardButtons(QtWidgets.QDialogButtonBox.StandardButton.Cancel|QtWidgets.QDialogButtonBox.StandardButton.Close) + self.buttonBox.setObjectName("buttonBox") + self.verticalLayout_2.addWidget(self.buttonBox) + + self.retranslateUi(FlaskCommandDialog) + self.buttonBox.rejected.connect(FlaskCommandDialog.reject) # type: ignore + QtCore.QMetaObject.connectSlotsByName(FlaskCommandDialog) + + def retranslateUi(self, FlaskCommandDialog): + _translate = QtCore.QCoreApplication.translate + FlaskCommandDialog.setWindowTitle(_translate("FlaskCommandDialog", "Flask Command")) + self.groupBox.setTitle(_translate("FlaskCommandDialog", "Output")) + + +if __name__ == "__main__": + import sys + app = QtWidgets.QApplication(sys.argv) + FlaskCommandDialog = QtWidgets.QDialog() + ui = Ui_FlaskCommandDialog() + ui.setupUi(FlaskCommandDialog) + FlaskCommandDialog.show() + sys.exit(app.exec())
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/ProjectFlask/Ui_FlaskConfigDialog.py Mon Oct 28 17:11:28 2024 +0100 @@ -0,0 +1,95 @@ +# Form implementation generated from reading ui file '/home/detlev/Development/Python/Eric/eric7_plugins/Plugin_Project_Flask/ProjectFlask/FlaskConfigDialog.ui' +# +# Created by: PyQt6 UI code generator 6.4.0 +# +# WARNING: Any manual changes made to this file will be lost when pyuic6 is +# run again. Do not edit this file unless you know what you are doing. + + +from PyQt6 import QtCore, QtGui, QtWidgets + + +class Ui_FlaskConfigDialog(object): + def setupUi(self, FlaskConfigDialog): + FlaskConfigDialog.setObjectName("FlaskConfigDialog") + FlaskConfigDialog.resize(500, 253) + FlaskConfigDialog.setSizeGripEnabled(True) + self.verticalLayout_4 = QtWidgets.QVBoxLayout(FlaskConfigDialog) + self.verticalLayout_4.setObjectName("verticalLayout_4") + self.groupBox_2 = QtWidgets.QGroupBox(FlaskConfigDialog) + self.groupBox_2.setObjectName("groupBox_2") + self.verticalLayout = QtWidgets.QVBoxLayout(self.groupBox_2) + self.verticalLayout.setObjectName("verticalLayout") + self.horizontalLayout = QtWidgets.QHBoxLayout() + self.horizontalLayout.setObjectName("horizontalLayout") + self.virtualEnvironmentComboBox = QtWidgets.QComboBox(self.groupBox_2) + self.virtualEnvironmentComboBox.setObjectName("virtualEnvironmentComboBox") + self.horizontalLayout.addWidget(self.virtualEnvironmentComboBox) + self.newEnvironmentButton = QtWidgets.QToolButton(self.groupBox_2) + self.newEnvironmentButton.setObjectName("newEnvironmentButton") + self.horizontalLayout.addWidget(self.newEnvironmentButton) + self.verticalLayout.addLayout(self.horizontalLayout) + self.label = QtWidgets.QLabel(self.groupBox_2) + self.label.setWordWrap(True) + self.label.setObjectName("label") + self.verticalLayout.addWidget(self.label) + self.verticalLayout_4.addWidget(self.groupBox_2) + self.flaskBabelBox = QtWidgets.QGroupBox(FlaskConfigDialog) + self.flaskBabelBox.setCheckable(True) + self.flaskBabelBox.setObjectName("flaskBabelBox") + self.verticalLayout_2 = QtWidgets.QVBoxLayout(self.flaskBabelBox) + self.verticalLayout_2.setObjectName("verticalLayout_2") + self.flaskBabelCheckBox = QtWidgets.QCheckBox(self.flaskBabelBox) + self.flaskBabelCheckBox.setObjectName("flaskBabelCheckBox") + self.verticalLayout_2.addWidget(self.flaskBabelCheckBox) + self.verticalLayout_4.addWidget(self.flaskBabelBox) + self.flaskMigrateBox = QtWidgets.QGroupBox(FlaskConfigDialog) + self.flaskMigrateBox.setCheckable(True) + self.flaskMigrateBox.setObjectName("flaskMigrateBox") + self.verticalLayout_3 = QtWidgets.QVBoxLayout(self.flaskMigrateBox) + self.verticalLayout_3.setObjectName("verticalLayout_3") + self.flaskMigrateCheckBox = QtWidgets.QCheckBox(self.flaskMigrateBox) + self.flaskMigrateCheckBox.setObjectName("flaskMigrateCheckBox") + self.verticalLayout_3.addWidget(self.flaskMigrateCheckBox) + self.verticalLayout_4.addWidget(self.flaskMigrateBox) + self.buttonBox = QtWidgets.QDialogButtonBox(FlaskConfigDialog) + self.buttonBox.setOrientation(QtCore.Qt.Orientation.Horizontal) + self.buttonBox.setStandardButtons(QtWidgets.QDialogButtonBox.StandardButton.Cancel|QtWidgets.QDialogButtonBox.StandardButton.Ok) + self.buttonBox.setObjectName("buttonBox") + self.verticalLayout_4.addWidget(self.buttonBox) + + self.retranslateUi(FlaskConfigDialog) + self.buttonBox.accepted.connect(FlaskConfigDialog.accept) # type: ignore + self.buttonBox.rejected.connect(FlaskConfigDialog.reject) # type: ignore + QtCore.QMetaObject.connectSlotsByName(FlaskConfigDialog) + FlaskConfigDialog.setTabOrder(self.virtualEnvironmentComboBox, self.newEnvironmentButton) + FlaskConfigDialog.setTabOrder(self.newEnvironmentButton, self.flaskBabelBox) + FlaskConfigDialog.setTabOrder(self.flaskBabelBox, self.flaskBabelCheckBox) + FlaskConfigDialog.setTabOrder(self.flaskBabelCheckBox, self.flaskMigrateBox) + FlaskConfigDialog.setTabOrder(self.flaskMigrateBox, self.flaskMigrateCheckBox) + + def retranslateUi(self, FlaskConfigDialog): + _translate = QtCore.QCoreApplication.translate + FlaskConfigDialog.setWindowTitle(_translate("FlaskConfigDialog", "flask Configuration")) + self.groupBox_2.setTitle(_translate("FlaskConfigDialog", "Virtual Environment")) + self.virtualEnvironmentComboBox.setToolTip(_translate("FlaskConfigDialog", "Select a project specific virtual environment")) + self.newEnvironmentButton.setToolTip(_translate("FlaskConfigDialog", "Press to open a dialog to create a new virtual environment")) + self.label.setText(_translate("FlaskConfigDialog", "<b>Note:</b> Leave this entry empty to use the virtual environment configured globally for all flask projects.")) + self.flaskBabelBox.setToolTip(_translate("FlaskConfigDialog", "Select this to override the auto-detection feature")) + self.flaskBabelBox.setTitle(_translate("FlaskConfigDialog", "Override \'flask-babel\' Availability")) + self.flaskBabelCheckBox.setToolTip(_translate("FlaskConfigDialog", "Select to manually indicate the \'flask-babel\' availability")) + self.flaskBabelCheckBox.setText(_translate("FlaskConfigDialog", "\'flask-babel\' available")) + self.flaskMigrateBox.setToolTip(_translate("FlaskConfigDialog", "Select this to override the auto-detection feature")) + self.flaskMigrateBox.setTitle(_translate("FlaskConfigDialog", "Override \'flask-migrate\' Availability")) + self.flaskMigrateCheckBox.setToolTip(_translate("FlaskConfigDialog", "Select to manually indicate the \'flask-migrate\' availability")) + self.flaskMigrateCheckBox.setText(_translate("FlaskConfigDialog", "\'flask-migrate\' available")) + + +if __name__ == "__main__": + import sys + app = QtWidgets.QApplication(sys.argv) + FlaskConfigDialog = QtWidgets.QDialog() + ui = Ui_FlaskConfigDialog() + ui.setupUi(FlaskConfigDialog) + FlaskConfigDialog.show() + sys.exit(app.exec())
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/ProjectFlask/Ui_FlaskVirtualenvConfigurationDialog.py Mon Oct 28 17:11:28 2024 +0100 @@ -0,0 +1,84 @@ +# Form implementation generated from reading ui file '/home/detlev/Development/Python/Eric/eric7_plugins/Plugin_Project_Flask/ProjectFlask/FlaskVirtualenvConfigurationDialog.ui' +# +# Created by: PyQt6 UI code generator 6.4.0 +# +# WARNING: Any manual changes made to this file will be lost when pyuic6 is +# run again. Do not edit this file unless you know what you are doing. + + +from PyQt6 import QtCore, QtGui, QtWidgets + + +class Ui_FlaskVirtualenvConfigurationDialog(object): + def setupUi(self, FlaskVirtualenvConfigurationDialog): + FlaskVirtualenvConfigurationDialog.setObjectName("FlaskVirtualenvConfigurationDialog") + FlaskVirtualenvConfigurationDialog.resize(700, 126) + FlaskVirtualenvConfigurationDialog.setSizeGripEnabled(True) + self.verticalLayout = QtWidgets.QVBoxLayout(FlaskVirtualenvConfigurationDialog) + self.verticalLayout.setObjectName("verticalLayout") + self.formLayout = QtWidgets.QFormLayout() + self.formLayout.setObjectName("formLayout") + self.label_2 = QtWidgets.QLabel(FlaskVirtualenvConfigurationDialog) + self.label_2.setObjectName("label_2") + self.formLayout.setWidget(0, QtWidgets.QFormLayout.ItemRole.LabelRole, self.label_2) + self.nameEdit = QtWidgets.QLineEdit(FlaskVirtualenvConfigurationDialog) + self.nameEdit.setClearButtonEnabled(True) + self.nameEdit.setObjectName("nameEdit") + self.formLayout.setWidget(0, QtWidgets.QFormLayout.ItemRole.FieldRole, self.nameEdit) + self.label = QtWidgets.QLabel(FlaskVirtualenvConfigurationDialog) + self.label.setObjectName("label") + self.formLayout.setWidget(1, QtWidgets.QFormLayout.ItemRole.LabelRole, self.label) + self.targetDirectoryPicker = EricPathPicker(FlaskVirtualenvConfigurationDialog) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Preferred) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.targetDirectoryPicker.sizePolicy().hasHeightForWidth()) + self.targetDirectoryPicker.setSizePolicy(sizePolicy) + self.targetDirectoryPicker.setFocusPolicy(QtCore.Qt.FocusPolicy.WheelFocus) + self.targetDirectoryPicker.setObjectName("targetDirectoryPicker") + self.formLayout.setWidget(1, QtWidgets.QFormLayout.ItemRole.FieldRole, self.targetDirectoryPicker) + self.label_5 = QtWidgets.QLabel(FlaskVirtualenvConfigurationDialog) + self.label_5.setObjectName("label_5") + self.formLayout.setWidget(2, QtWidgets.QFormLayout.ItemRole.LabelRole, self.label_5) + self.pythonExecPicker = EricPathPicker(FlaskVirtualenvConfigurationDialog) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Preferred) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.pythonExecPicker.sizePolicy().hasHeightForWidth()) + self.pythonExecPicker.setSizePolicy(sizePolicy) + self.pythonExecPicker.setFocusPolicy(QtCore.Qt.FocusPolicy.WheelFocus) + self.pythonExecPicker.setObjectName("pythonExecPicker") + self.formLayout.setWidget(2, QtWidgets.QFormLayout.ItemRole.FieldRole, self.pythonExecPicker) + self.verticalLayout.addLayout(self.formLayout) + self.buttonBox = QtWidgets.QDialogButtonBox(FlaskVirtualenvConfigurationDialog) + self.buttonBox.setOrientation(QtCore.Qt.Orientation.Horizontal) + self.buttonBox.setStandardButtons(QtWidgets.QDialogButtonBox.StandardButton.Cancel|QtWidgets.QDialogButtonBox.StandardButton.Ok) + self.buttonBox.setObjectName("buttonBox") + self.verticalLayout.addWidget(self.buttonBox) + + self.retranslateUi(FlaskVirtualenvConfigurationDialog) + self.buttonBox.accepted.connect(FlaskVirtualenvConfigurationDialog.accept) # type: ignore + self.buttonBox.rejected.connect(FlaskVirtualenvConfigurationDialog.reject) # type: ignore + QtCore.QMetaObject.connectSlotsByName(FlaskVirtualenvConfigurationDialog) + + def retranslateUi(self, FlaskVirtualenvConfigurationDialog): + _translate = QtCore.QCoreApplication.translate + FlaskVirtualenvConfigurationDialog.setWindowTitle(_translate("FlaskVirtualenvConfigurationDialog", "Virtual Environment Configuration")) + self.label_2.setText(_translate("FlaskVirtualenvConfigurationDialog", "Logical Name:")) + self.nameEdit.setToolTip(_translate("FlaskVirtualenvConfigurationDialog", "Enter a unique name for the virtual environment")) + self.nameEdit.setPlaceholderText(_translate("FlaskVirtualenvConfigurationDialog", "Name for the virtual environment")) + self.label.setText(_translate("FlaskVirtualenvConfigurationDialog", "Target Directory:")) + self.targetDirectoryPicker.setToolTip(_translate("FlaskVirtualenvConfigurationDialog", "Enter the target directory for the virtual environment")) + self.label_5.setText(_translate("FlaskVirtualenvConfigurationDialog", "Python Executable:")) + self.pythonExecPicker.setToolTip(_translate("FlaskVirtualenvConfigurationDialog", "Enter the Python interpreter for the virtual environment")) +from eric7.EricWidgets.EricPathPicker import EricPathPicker + + +if __name__ == "__main__": + import sys + app = QtWidgets.QApplication(sys.argv) + FlaskVirtualenvConfigurationDialog = QtWidgets.QDialog() + ui = Ui_FlaskVirtualenvConfigurationDialog() + ui.setupUi(FlaskVirtualenvConfigurationDialog) + FlaskVirtualenvConfigurationDialog.show() + sys.exit(app.exec())
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/ProjectFlask/Ui_FormSelectionDialog.py Mon Oct 28 17:11:28 2024 +0100 @@ -0,0 +1,71 @@ +# Form implementation generated from reading ui file '/home/detlev/Development/Python/Eric/eric7_plugins/Plugin_Project_Flask/ProjectFlask/FormSelectionDialog.ui' +# +# Created by: PyQt6 UI code generator 6.4.0 +# +# WARNING: Any manual changes made to this file will be lost when pyuic6 is +# run again. Do not edit this file unless you know what you are doing. + + +from PyQt6 import QtCore, QtGui, QtWidgets + + +class Ui_FormSelectionDialog(object): + def setupUi(self, FormSelectionDialog): + FormSelectionDialog.setObjectName("FormSelectionDialog") + FormSelectionDialog.resize(600, 450) + FormSelectionDialog.setSizeGripEnabled(True) + self.gridLayout = QtWidgets.QGridLayout(FormSelectionDialog) + self.gridLayout.setObjectName("gridLayout") + self.label = QtWidgets.QLabel(FormSelectionDialog) + self.label.setObjectName("label") + self.gridLayout.addWidget(self.label, 0, 0, 1, 1) + self.typeCombo = QtWidgets.QComboBox(FormSelectionDialog) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Fixed) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.typeCombo.sizePolicy().hasHeightForWidth()) + self.typeCombo.setSizePolicy(sizePolicy) + self.typeCombo.setObjectName("typeCombo") + self.gridLayout.addWidget(self.typeCombo, 0, 1, 1, 1) + self.label_2 = QtWidgets.QLabel(FormSelectionDialog) + self.label_2.setObjectName("label_2") + self.gridLayout.addWidget(self.label_2, 1, 0, 1, 1) + self.buttonBox = QtWidgets.QDialogButtonBox(FormSelectionDialog) + self.buttonBox.setOrientation(QtCore.Qt.Orientation.Horizontal) + self.buttonBox.setStandardButtons(QtWidgets.QDialogButtonBox.StandardButton.Cancel|QtWidgets.QDialogButtonBox.StandardButton.Ok) + self.buttonBox.setObjectName("buttonBox") + self.gridLayout.addWidget(self.buttonBox, 3, 0, 1, 2) + self.preview = QtWidgets.QPlainTextEdit(FormSelectionDialog) + font = QtGui.QFont() + font.setFamily("Noto Sans Mono") + self.preview.setFont(font) + self.preview.setTabChangesFocus(True) + self.preview.setLineWrapMode(QtWidgets.QPlainTextEdit.LineWrapMode.NoWrap) + self.preview.setObjectName("preview") + self.gridLayout.addWidget(self.preview, 2, 0, 1, 2) + self.label.setBuddy(self.typeCombo) + + self.retranslateUi(FormSelectionDialog) + self.buttonBox.accepted.connect(FormSelectionDialog.accept) # type: ignore + self.buttonBox.rejected.connect(FormSelectionDialog.reject) # type: ignore + QtCore.QMetaObject.connectSlotsByName(FormSelectionDialog) + FormSelectionDialog.setTabOrder(self.typeCombo, self.preview) + FormSelectionDialog.setTabOrder(self.preview, self.buttonBox) + + def retranslateUi(self, FormSelectionDialog): + _translate = QtCore.QCoreApplication.translate + FormSelectionDialog.setWindowTitle(_translate("FormSelectionDialog", "Template Type Selection")) + self.label.setText(_translate("FormSelectionDialog", "Template &Type:")) + self.typeCombo.setToolTip(_translate("FormSelectionDialog", "Select the template type")) + self.label_2.setText(_translate("FormSelectionDialog", "Preview:")) + self.preview.setToolTip(_translate("FormSelectionDialog", "Shows the text of the selected template")) + + +if __name__ == "__main__": + import sys + app = QtWidgets.QApplication(sys.argv) + FormSelectionDialog = QtWidgets.QDialog() + ui = Ui_FormSelectionDialog() + ui.setupUi(FormSelectionDialog) + FormSelectionDialog.show() + sys.exit(app.exec())
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/ProjectFlask/Ui_RoutesDialog.py Mon Oct 28 17:11:28 2024 +0100 @@ -0,0 +1,89 @@ +# Form implementation generated from reading ui file '/home/detlev/Development/Python/Eric/eric7_plugins/Plugin_Project_Flask/ProjectFlask/RoutesDialog.ui' +# +# Created by: PyQt6 UI code generator 6.4.0 +# +# WARNING: Any manual changes made to this file will be lost when pyuic6 is +# run again. Do not edit this file unless you know what you are doing. + + +from PyQt6 import QtCore, QtGui, QtWidgets + + +class Ui_RoutesDialog(object): + def setupUi(self, RoutesDialog): + RoutesDialog.setObjectName("RoutesDialog") + RoutesDialog.resize(800, 600) + RoutesDialog.setSizeGripEnabled(True) + self.verticalLayout = QtWidgets.QVBoxLayout(RoutesDialog) + self.verticalLayout.setObjectName("verticalLayout") + self.groupBox = QtWidgets.QGroupBox(RoutesDialog) + self.groupBox.setObjectName("groupBox") + self.horizontalLayout = QtWidgets.QHBoxLayout(self.groupBox) + self.horizontalLayout.setObjectName("horizontalLayout") + self.matchButton = QtWidgets.QRadioButton(self.groupBox) + self.matchButton.setChecked(True) + self.matchButton.setObjectName("matchButton") + self.horizontalLayout.addWidget(self.matchButton) + self.endpointButton = QtWidgets.QRadioButton(self.groupBox) + self.endpointButton.setObjectName("endpointButton") + self.horizontalLayout.addWidget(self.endpointButton) + self.methodsButton = QtWidgets.QRadioButton(self.groupBox) + self.methodsButton.setObjectName("methodsButton") + self.horizontalLayout.addWidget(self.methodsButton) + self.ruleButton = QtWidgets.QRadioButton(self.groupBox) + self.ruleButton.setObjectName("ruleButton") + self.horizontalLayout.addWidget(self.ruleButton) + self.verticalLayout.addWidget(self.groupBox) + self.allMethodsCheckBox = QtWidgets.QCheckBox(RoutesDialog) + self.allMethodsCheckBox.setObjectName("allMethodsCheckBox") + self.verticalLayout.addWidget(self.allMethodsCheckBox) + self.routesList = QtWidgets.QTreeWidget(RoutesDialog) + self.routesList.setAlternatingRowColors(True) + self.routesList.setSelectionMode(QtWidgets.QAbstractItemView.SelectionMode.NoSelection) + self.routesList.setRootIsDecorated(False) + self.routesList.setItemsExpandable(False) + self.routesList.setObjectName("routesList") + self.verticalLayout.addWidget(self.routesList) + self.buttonBox = QtWidgets.QDialogButtonBox(RoutesDialog) + self.buttonBox.setOrientation(QtCore.Qt.Orientation.Horizontal) + self.buttonBox.setStandardButtons(QtWidgets.QDialogButtonBox.StandardButton.Close) + self.buttonBox.setObjectName("buttonBox") + self.verticalLayout.addWidget(self.buttonBox) + + self.retranslateUi(RoutesDialog) + self.buttonBox.accepted.connect(RoutesDialog.accept) # type: ignore + self.buttonBox.rejected.connect(RoutesDialog.reject) # type: ignore + QtCore.QMetaObject.connectSlotsByName(RoutesDialog) + RoutesDialog.setTabOrder(self.matchButton, self.endpointButton) + RoutesDialog.setTabOrder(self.endpointButton, self.methodsButton) + RoutesDialog.setTabOrder(self.methodsButton, self.ruleButton) + RoutesDialog.setTabOrder(self.ruleButton, self.allMethodsCheckBox) + RoutesDialog.setTabOrder(self.allMethodsCheckBox, self.routesList) + + def retranslateUi(self, RoutesDialog): + _translate = QtCore.QCoreApplication.translate + RoutesDialog.setWindowTitle(_translate("RoutesDialog", "Flask Routes")) + self.groupBox.setTitle(_translate("RoutesDialog", "Sort Method")) + self.matchButton.setToolTip(_translate("RoutesDialog", "Select to sort by match order")) + self.matchButton.setText(_translate("RoutesDialog", "match")) + self.endpointButton.setToolTip(_translate("RoutesDialog", "Select to sort by endpoint name")) + self.endpointButton.setText(_translate("RoutesDialog", "Endpoint")) + self.methodsButton.setToolTip(_translate("RoutesDialog", "Select to sort by method name")) + self.methodsButton.setText(_translate("RoutesDialog", "Methods")) + self.ruleButton.setToolTip(_translate("RoutesDialog", "Select to sort by rule")) + self.ruleButton.setText(_translate("RoutesDialog", "Rule")) + self.allMethodsCheckBox.setToolTip(_translate("RoutesDialog", "Select to also show HEAD and OPTIONS methods")) + self.allMethodsCheckBox.setText(_translate("RoutesDialog", "Show all methods")) + self.routesList.headerItem().setText(0, _translate("RoutesDialog", "Endpoint")) + self.routesList.headerItem().setText(1, _translate("RoutesDialog", "Methods")) + self.routesList.headerItem().setText(2, _translate("RoutesDialog", "Rule")) + + +if __name__ == "__main__": + import sys + app = QtWidgets.QApplication(sys.argv) + RoutesDialog = QtWidgets.QDialog() + ui = Ui_RoutesDialog() + ui.setupUi(RoutesDialog) + RoutesDialog.show() + sys.exit(app.exec())
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/ProjectFlask/Ui_RunServerDialog.py Mon Oct 28 17:11:28 2024 +0100 @@ -0,0 +1,81 @@ +# Form implementation generated from reading ui file '/home/detlev/Development/Python/Eric/eric7_plugins/Plugin_Project_Flask/ProjectFlask/RunServerDialog.ui' +# +# Created by: PyQt6 UI code generator 6.4.0 +# +# WARNING: Any manual changes made to this file will be lost when pyuic6 is +# run again. Do not edit this file unless you know what you are doing. + + +from PyQt6 import QtCore, QtGui, QtWidgets + + +class Ui_RunServerDialog(object): + def setupUi(self, RunServerDialog): + RunServerDialog.setObjectName("RunServerDialog") + RunServerDialog.resize(600, 500) + RunServerDialog.setSizeGripEnabled(True) + self.verticalLayout_2 = QtWidgets.QVBoxLayout(RunServerDialog) + self.verticalLayout_2.setObjectName("verticalLayout_2") + self.groupBox = QtWidgets.QGroupBox(RunServerDialog) + self.groupBox.setObjectName("groupBox") + self.verticalLayout = QtWidgets.QVBoxLayout(self.groupBox) + self.verticalLayout.setObjectName("verticalLayout") + self.outputEdit = QtWidgets.QPlainTextEdit(self.groupBox) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Expanding) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.outputEdit.sizePolicy().hasHeightForWidth()) + self.outputEdit.setSizePolicy(sizePolicy) + self.outputEdit.setLineWrapMode(QtWidgets.QPlainTextEdit.LineWrapMode.NoWrap) + self.outputEdit.setReadOnly(True) + self.outputEdit.setObjectName("outputEdit") + self.verticalLayout.addWidget(self.outputEdit) + self.verticalLayout_2.addWidget(self.groupBox) + self.horizontalLayout = QtWidgets.QHBoxLayout() + self.horizontalLayout.setObjectName("horizontalLayout") + self.menuButton = QtWidgets.QToolButton(RunServerDialog) + self.menuButton.setPopupMode(QtWidgets.QToolButton.ToolButtonPopupMode.InstantPopup) + self.menuButton.setObjectName("menuButton") + self.horizontalLayout.addWidget(self.menuButton) + self.startBrowserButton = QtWidgets.QPushButton(RunServerDialog) + self.startBrowserButton.setEnabled(False) + self.startBrowserButton.setObjectName("startBrowserButton") + self.horizontalLayout.addWidget(self.startBrowserButton) + self.stopServerButton = QtWidgets.QPushButton(RunServerDialog) + self.stopServerButton.setEnabled(False) + self.stopServerButton.setObjectName("stopServerButton") + self.horizontalLayout.addWidget(self.stopServerButton) + spacerItem = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Minimum) + self.horizontalLayout.addItem(spacerItem) + self.buttonBox = QtWidgets.QDialogButtonBox(RunServerDialog) + self.buttonBox.setOrientation(QtCore.Qt.Orientation.Horizontal) + self.buttonBox.setStandardButtons(QtWidgets.QDialogButtonBox.StandardButton.Close) + self.buttonBox.setObjectName("buttonBox") + self.horizontalLayout.addWidget(self.buttonBox) + self.verticalLayout_2.addLayout(self.horizontalLayout) + + self.retranslateUi(RunServerDialog) + self.buttonBox.rejected.connect(RunServerDialog.reject) # type: ignore + QtCore.QMetaObject.connectSlotsByName(RunServerDialog) + RunServerDialog.setTabOrder(self.outputEdit, self.menuButton) + RunServerDialog.setTabOrder(self.menuButton, self.startBrowserButton) + RunServerDialog.setTabOrder(self.startBrowserButton, self.stopServerButton) + + def retranslateUi(self, RunServerDialog): + _translate = QtCore.QCoreApplication.translate + RunServerDialog.setWindowTitle(_translate("RunServerDialog", "Flask Server")) + self.groupBox.setTitle(_translate("RunServerDialog", "Output")) + self.startBrowserButton.setToolTip(_translate("RunServerDialog", "Press to start a web browser with the server URL.")) + self.startBrowserButton.setText(_translate("RunServerDialog", "Start Browser")) + self.stopServerButton.setToolTip(_translate("RunServerDialog", "Press to stop the running server")) + self.stopServerButton.setText(_translate("RunServerDialog", "Stop Server")) + + +if __name__ == "__main__": + import sys + app = QtWidgets.QApplication(sys.argv) + RunServerDialog = QtWidgets.QDialog() + ui = Ui_RunServerDialog() + ui.setupUi(RunServerDialog) + RunServerDialog.show() + sys.exit(app.exec())
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/ProjectFlask/Ui_ServerStartOptionsDialog.py Mon Oct 28 17:11:28 2024 +0100 @@ -0,0 +1,100 @@ +# Form implementation generated from reading ui file '/home/detlev/Development/Python/Eric/eric7_plugins/Plugin_Project_Flask/ProjectFlask/ServerStartOptionsDialog.ui' +# +# Created by: PyQt6 UI code generator 6.4.0 +# +# WARNING: Any manual changes made to this file will be lost when pyuic6 is +# run again. Do not edit this file unless you know what you are doing. + + +from PyQt6 import QtCore, QtGui, QtWidgets + + +class Ui_ServerStartOptionsDialog(object): + def setupUi(self, ServerStartOptionsDialog): + ServerStartOptionsDialog.setObjectName("ServerStartOptionsDialog") + ServerStartOptionsDialog.resize(500, 187) + ServerStartOptionsDialog.setSizeGripEnabled(True) + self.gridLayout = QtWidgets.QGridLayout(ServerStartOptionsDialog) + self.gridLayout.setObjectName("gridLayout") + self.developmentCheckBox = QtWidgets.QCheckBox(ServerStartOptionsDialog) + self.developmentCheckBox.setObjectName("developmentCheckBox") + self.gridLayout.addWidget(self.developmentCheckBox, 0, 0, 1, 3) + self.label = QtWidgets.QLabel(ServerStartOptionsDialog) + self.label.setObjectName("label") + self.gridLayout.addWidget(self.label, 1, 0, 1, 1) + self.hostEdit = QtWidgets.QLineEdit(ServerStartOptionsDialog) + self.hostEdit.setClearButtonEnabled(True) + self.hostEdit.setObjectName("hostEdit") + self.gridLayout.addWidget(self.hostEdit, 1, 1, 1, 2) + self.label_2 = QtWidgets.QLabel(ServerStartOptionsDialog) + self.label_2.setObjectName("label_2") + self.gridLayout.addWidget(self.label_2, 2, 0, 1, 1) + self.portSpinBox = QtWidgets.QSpinBox(ServerStartOptionsDialog) + self.portSpinBox.setAlignment(QtCore.Qt.AlignmentFlag.AlignRight|QtCore.Qt.AlignmentFlag.AlignTrailing|QtCore.Qt.AlignmentFlag.AlignVCenter) + self.portSpinBox.setMinimum(1025) + self.portSpinBox.setMaximum(65565) + self.portSpinBox.setObjectName("portSpinBox") + self.gridLayout.addWidget(self.portSpinBox, 2, 1, 1, 1) + spacerItem = QtWidgets.QSpacerItem(349, 20, QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Minimum) + self.gridLayout.addItem(spacerItem, 2, 2, 1, 1) + self.label_3 = QtWidgets.QLabel(ServerStartOptionsDialog) + self.label_3.setObjectName("label_3") + self.gridLayout.addWidget(self.label_3, 3, 0, 1, 1) + self.certFilePicker = EricPathPicker(ServerStartOptionsDialog) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Preferred) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.certFilePicker.sizePolicy().hasHeightForWidth()) + self.certFilePicker.setSizePolicy(sizePolicy) + self.certFilePicker.setFocusPolicy(QtCore.Qt.FocusPolicy.StrongFocus) + self.certFilePicker.setObjectName("certFilePicker") + self.gridLayout.addWidget(self.certFilePicker, 3, 1, 1, 2) + self.label_4 = QtWidgets.QLabel(ServerStartOptionsDialog) + self.label_4.setObjectName("label_4") + self.gridLayout.addWidget(self.label_4, 4, 0, 1, 1) + self.keyFilePicker = EricPathPicker(ServerStartOptionsDialog) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Preferred) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.keyFilePicker.sizePolicy().hasHeightForWidth()) + self.keyFilePicker.setSizePolicy(sizePolicy) + self.keyFilePicker.setFocusPolicy(QtCore.Qt.FocusPolicy.StrongFocus) + self.keyFilePicker.setObjectName("keyFilePicker") + self.gridLayout.addWidget(self.keyFilePicker, 4, 1, 1, 2) + self.buttonBox = QtWidgets.QDialogButtonBox(ServerStartOptionsDialog) + self.buttonBox.setOrientation(QtCore.Qt.Orientation.Horizontal) + self.buttonBox.setStandardButtons(QtWidgets.QDialogButtonBox.StandardButton.Cancel|QtWidgets.QDialogButtonBox.StandardButton.Ok) + self.buttonBox.setObjectName("buttonBox") + self.gridLayout.addWidget(self.buttonBox, 5, 0, 1, 3) + + self.retranslateUi(ServerStartOptionsDialog) + self.buttonBox.accepted.connect(ServerStartOptionsDialog.accept) # type: ignore + self.buttonBox.rejected.connect(ServerStartOptionsDialog.reject) # type: ignore + QtCore.QMetaObject.connectSlotsByName(ServerStartOptionsDialog) + ServerStartOptionsDialog.setTabOrder(self.developmentCheckBox, self.hostEdit) + ServerStartOptionsDialog.setTabOrder(self.hostEdit, self.portSpinBox) + + def retranslateUi(self, ServerStartOptionsDialog): + _translate = QtCore.QCoreApplication.translate + ServerStartOptionsDialog.setWindowTitle(_translate("ServerStartOptionsDialog", "Server Parameters")) + self.developmentCheckBox.setToolTip(_translate("ServerStartOptionsDialog", "Select to start the server in development mode")) + self.developmentCheckBox.setText(_translate("ServerStartOptionsDialog", "Development Mode")) + self.label.setText(_translate("ServerStartOptionsDialog", "Host:")) + self.hostEdit.setToolTip(_translate("ServerStartOptionsDialog", "Enter the interface to bind to")) + self.label_2.setText(_translate("ServerStartOptionsDialog", "Port:")) + self.portSpinBox.setToolTip(_translate("ServerStartOptionsDialog", "Enter the port to bind to")) + self.label_3.setText(_translate("ServerStartOptionsDialog", "Cert File:")) + self.certFilePicker.setToolTip(_translate("ServerStartOptionsDialog", "Enter the name of the certificate file")) + self.label_4.setText(_translate("ServerStartOptionsDialog", "Key File:")) + self.keyFilePicker.setToolTip(_translate("ServerStartOptionsDialog", "Enter the name of the key file")) +from eric7.EricWidgets.EricPathPicker import EricPathPicker + + +if __name__ == "__main__": + import sys + app = QtWidgets.QApplication(sys.argv) + ServerStartOptionsDialog = QtWidgets.QDialog() + ui = Ui_ServerStartOptionsDialog() + ui.setupUi(ServerStartOptionsDialog) + ServerStartOptionsDialog.show() + sys.exit(app.exec())