Sat, 26 Oct 2024 17:37:43 +0200
- changed to new style header
- changed code to ensure proper parent relationship of modal dialogs
- included compiled form files
--- a/.hgignore Sat Dec 23 17:17:08 2023 +0100 +++ b/.hgignore Sat Oct 26 17:37:43 2024 +0200 @@ -1,4 +1,3 @@ -glob:.eric6project glob:.eric7project glob:.ropeproject glob:.jedi @@ -13,4 +12,3 @@ glob:tmp glob:__pycache__ glob:**.DS_Store -glob:Ui_*.py
--- a/ChangeLog Sat Dec 23 17:17:08 2023 +0100 +++ b/ChangeLog Sat Oct 26 17:37:43 2024 +0200 @@ -1,5 +1,10 @@ ChangeLog --------- +Version 10.2.2: +- changed to new style header +- changed code to ensure proper parent relationship of modal dialogs +- included compiled form files + Version 10.2.1: - bug fixes
--- a/PKGLIST Sat Dec 23 17:17:08 2023 +0100 +++ b/PKGLIST Sat Oct 26 17:37:43 2024 +0200 @@ -3,9 +3,11 @@ ProjectWeb/Html5Prettifier.py ProjectWeb/Html5ToCss3Converter.py ProjectWeb/Html5ToCss3ConverterParameterDialog.py +ProjectWeb/Ui_Html5ToCss3ConverterParameterDialog.py ProjectWeb/Html5ToCss3ConverterParameterDialog.ui ProjectWeb/Html5ToJsConverter.py ProjectWeb/Html5ToJsConverterParameterDialog.py +ProjectWeb/Ui_Html5ToJsConverterParameterDialog.py ProjectWeb/Html5ToJsConverterParameterDialog.ui ProjectWeb/__init__.py ProjectWeb/i18n/web_de.qm
--- a/PluginProjectWeb.py Sat Dec 23 17:17:08 2023 +0100 +++ b/PluginProjectWeb.py Sat Oct 26 17:37:43 2024 +0200 @@ -25,21 +25,24 @@ BeautifulSoupAvailable = False # Start-Of-Header -name = "Generic Web Project Plug-in" -author = "Detlev Offenbach <detlev@die-offenbachs.de>" -autoactivate = True -deactivateable = True -version = "10.2.1" -className = "ProjectWebPlugin" -packageName = "ProjectWeb" -shortDescription = "Support for Web projects and web related tools." -longDescription = ( - """This plug-in provides support for ordinary web projects and some web""" - """ related tools.\n\nIt uses BeautifulSoup4 for some of its""" - """ functionality.""" -) -needsRestart = False -pyqtApi = 2 +__header__ = { + "name": "Generic Web Project Plug-in", + "author": "Detlev Offenbach <detlev@die-offenbachs.de>", + "autoactivate": True, + "deactivateable": True, + "version": "10.2.2", + "className": "ProjectWebPlugin", + "packageName": "ProjectWeb", + "shortDescription": "Support for Web projects and web related tools.", + "longDescription": ( + """This plug-in provides support for ordinary web projects and some web""" + """ related tools.\n\nIt uses BeautifulSoup4 for some of its""" + """ functionality.""" + ), + "needsRestart": False, + "hasCompiledForms": True, + "pyqtApi": 2, +} # End-Of-Header error = "" @@ -305,7 +308,7 @@ editor = vm.activeWindow() html = editor.selectedText() - converter = Html5ToCss3Converter(html) + converter = Html5ToCss3Converter(html, parent=self.__ui) css3 = converter.getCss3() if css3: @@ -324,7 +327,7 @@ editor = vm.activeWindow() html = editor.selectedText() - converter = Html5ToJsConverter(html) + converter = Html5ToJsConverter(html, parent=self.__ui) js = converter.getJavaScript() if js:
--- a/PluginWeb.epj Sat Dec 23 17:17:08 2023 +0100 +++ b/PluginWeb.epj Sat Oct 26 17:37:43 2024 +0200 @@ -1,7 +1,7 @@ { "header": { "comment": "eric project file for project PluginWeb", - "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": true }, @@ -68,7 +69,7 @@ "DocstringType": "eric_black", "EnabledCheckerCategories": "C, D, E, I, L, M, NO, N, S, Y, U, W", "ExcludeFiles": "*/Ui_*.py, */*_rc.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,U200,W293,W503,Y119,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,U200,W293,W503,Y119,Y401,Y402", "FixCodes": "", "FixIssues": false, "FutureChecker": "", @@ -189,7 +190,6 @@ "Makefile": "OTHERS", "README": "OTHERS", "README.*": "OTHERS", - "Ui_*.py": "__IGNORE__", "makefile": "OTHERS" }, "FORMS": [ @@ -228,13 +228,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", @@ -279,6 +280,8 @@ "ProjectWeb/Html5ToCss3ConverterParameterDialog.py", "ProjectWeb/Html5ToJsConverter.py", "ProjectWeb/Html5ToJsConverterParameterDialog.py", + "ProjectWeb/Ui_Html5ToCss3ConverterParameterDialog.py", + "ProjectWeb/Ui_Html5ToJsConverterParameterDialog.py", "ProjectWeb/__init__.py", "__init__.py" ], @@ -349,4 +352,4 @@ "VCSOTHERDATA": {}, "VERSION": "0.x" } -} \ No newline at end of file +}
--- a/ProjectWeb/Html5ToCss3Converter.py Sat Dec 23 17:17:08 2023 +0100 +++ b/ProjectWeb/Html5ToCss3Converter.py Sat Oct 26 17:37:43 2024 +0200 @@ -83,7 +83,7 @@ @return CSS3 text @rtype str """ - dlg = Html5ToCss3ConverterParameterDialog() + dlg = Html5ToCss3ConverterParameterDialog(parent=self.parent()) if dlg.exec() == QDialog.DialogCode.Accepted: indentation, placeholders = dlg.getData() @@ -106,9 +106,11 @@ "{", os.linesep, indentation, - random.choice(self.Placeholders) + os.linesep # secok - if placeholders - else os.linesep, + ( + random.choice(self.Placeholders) + os.linesep # secok + if placeholders + else os.linesep + ), "}", os.linesep, ) @@ -125,9 +127,11 @@ "{", os.linesep, indentation, - random.choice(self.Placeholders) + os.linesep # secok - if placeholders - else os.linesep, + ( + random.choice(self.Placeholders) + os.linesep # secok + if placeholders + else os.linesep + ), "}", os.linesep, ) @@ -144,9 +148,11 @@ "{", os.linesep, indentation, - random.choice(self.Placeholders) + os.linesep # secok - if placeholders - else os.linesep, + ( + random.choice(self.Placeholders) + os.linesep # secok + if placeholders + else os.linesep + ), "}", os.linesep, )
--- a/ProjectWeb/Html5ToJsConverter.py Sat Dec 23 17:17:08 2023 +0100 +++ b/ProjectWeb/Html5ToJsConverter.py Sat Oct 26 17:37:43 2024 +0200 @@ -68,7 +68,7 @@ @return JavaScript text @rtype str """ - dlg = Html5ToJsConverterParameterDialog() + dlg = Html5ToJsConverterParameterDialog(parent=self.parent()) if dlg.exec() == QDialog.DialogCode.Accepted: indentation, scriptTags = dlg.getData() @@ -97,9 +97,11 @@ re.sub( "[^a-z0-9]", "", - id_[1].lower() - if len(id_[1]) < 11 - else re.sub("[aeiou]", "", id_[1].lower()), + ( + id_[1].lower() + if len(id_[1]) < 11 + else re.sub("[aeiou]", "", id_[1].lower()) + ), ), " = ", '$("#{0}").length'.format(id_[1]), @@ -122,9 +124,11 @@ re.sub( "[^a-z0-9]", "", - class_[1].lower() - if len(class_[1]) < 11 - else re.sub("[aeiou]", "", class_[1].lower()), + ( + class_[1].lower() + if len(class_[1]) < 11 + else re.sub("[aeiou]", "", class_[1].lower()) + ), ), " = ", '$(".{0}").length'.format(class_[1]),
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/ProjectWeb/Ui_Html5ToCss3ConverterParameterDialog.py Sat Oct 26 17:37:43 2024 +0200 @@ -0,0 +1,73 @@ +# Form implementation generated from reading ui file '/home/detlev/Development/Python/Eric/eric7_plugins/Plugin_Project_Web/ProjectWeb/Html5ToCss3ConverterParameterDialog.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_Html5ToCss3ConverterParameterDialog(object): + def setupUi(self, Html5ToCss3ConverterParameterDialog): + Html5ToCss3ConverterParameterDialog.setObjectName("Html5ToCss3ConverterParameterDialog") + Html5ToCss3ConverterParameterDialog.resize(440, 102) + Html5ToCss3ConverterParameterDialog.setSizeGripEnabled(True) + self.gridLayout = QtWidgets.QGridLayout(Html5ToCss3ConverterParameterDialog) + self.gridLayout.setObjectName("gridLayout") + self.label = QtWidgets.QLabel(Html5ToCss3ConverterParameterDialog) + self.label.setObjectName("label") + self.gridLayout.addWidget(self.label, 0, 0, 1, 1) + self.indentationSpinBox = QtWidgets.QSpinBox(Html5ToCss3ConverterParameterDialog) + self.indentationSpinBox.setMinimum(2) + self.indentationSpinBox.setMaximum(8) + self.indentationSpinBox.setSingleStep(2) + self.indentationSpinBox.setProperty("value", 2) + self.indentationSpinBox.setObjectName("indentationSpinBox") + self.gridLayout.addWidget(self.indentationSpinBox, 0, 1, 1, 1) + spacerItem = QtWidgets.QSpacerItem(220, 20, QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Minimum) + self.gridLayout.addItem(spacerItem, 0, 2, 1, 1) + self.label_2 = QtWidgets.QLabel(Html5ToCss3ConverterParameterDialog) + self.label_2.setObjectName("label_2") + self.gridLayout.addWidget(self.label_2, 1, 0, 1, 1) + self.placeholderComboBox = QtWidgets.QComboBox(Html5ToCss3ConverterParameterDialog) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Fixed) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.placeholderComboBox.sizePolicy().hasHeightForWidth()) + self.placeholderComboBox.setSizePolicy(sizePolicy) + self.placeholderComboBox.setObjectName("placeholderComboBox") + self.placeholderComboBox.addItem("") + self.placeholderComboBox.addItem("") + self.gridLayout.addWidget(self.placeholderComboBox, 1, 1, 1, 2) + self.buttonBox = QtWidgets.QDialogButtonBox(Html5ToCss3ConverterParameterDialog) + 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, 2, 0, 1, 3) + + self.retranslateUi(Html5ToCss3ConverterParameterDialog) + self.buttonBox.accepted.connect(Html5ToCss3ConverterParameterDialog.accept) # type: ignore + self.buttonBox.rejected.connect(Html5ToCss3ConverterParameterDialog.reject) # type: ignore + QtCore.QMetaObject.connectSlotsByName(Html5ToCss3ConverterParameterDialog) + + def retranslateUi(self, Html5ToCss3ConverterParameterDialog): + _translate = QtCore.QCoreApplication.translate + Html5ToCss3ConverterParameterDialog.setWindowTitle(_translate("Html5ToCss3ConverterParameterDialog", "Conversion Parameters")) + self.label.setText(_translate("Html5ToCss3ConverterParameterDialog", "CSS Indentation Spaces:")) + self.indentationSpinBox.setToolTip(_translate("Html5ToCss3ConverterParameterDialog", "Enter the amount of spaces to be used as indentation")) + self.label_2.setText(_translate("Html5ToCss3ConverterParameterDialog", "CSS Placeholder:")) + self.placeholderComboBox.setToolTip(_translate("Html5ToCss3ConverterParameterDialog", "Select the treatment of empty CSS")) + self.placeholderComboBox.setItemText(0, _translate("Html5ToCss3ConverterParameterDialog", "Blank Empty CSS")) + self.placeholderComboBox.setItemText(1, _translate("Html5ToCss3ConverterParameterDialog", "Placeholders")) + + +if __name__ == "__main__": + import sys + app = QtWidgets.QApplication(sys.argv) + Html5ToCss3ConverterParameterDialog = QtWidgets.QDialog() + ui = Ui_Html5ToCss3ConverterParameterDialog() + ui.setupUi(Html5ToCss3ConverterParameterDialog) + Html5ToCss3ConverterParameterDialog.show() + sys.exit(app.exec())
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/ProjectWeb/Ui_Html5ToJsConverterParameterDialog.py Sat Oct 26 17:37:43 2024 +0200 @@ -0,0 +1,61 @@ +# Form implementation generated from reading ui file '/home/detlev/Development/Python/Eric/eric7_plugins/Plugin_Project_Web/ProjectWeb/Html5ToJsConverterParameterDialog.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_Html5ToJsConverterParameterDialog(object): + def setupUi(self, Html5ToJsConverterParameterDialog): + Html5ToJsConverterParameterDialog.setObjectName("Html5ToJsConverterParameterDialog") + Html5ToJsConverterParameterDialog.resize(317, 102) + Html5ToJsConverterParameterDialog.setSizeGripEnabled(True) + self.gridLayout = QtWidgets.QGridLayout(Html5ToJsConverterParameterDialog) + self.gridLayout.setObjectName("gridLayout") + self.label = QtWidgets.QLabel(Html5ToJsConverterParameterDialog) + self.label.setObjectName("label") + self.gridLayout.addWidget(self.label, 0, 0, 1, 1) + self.indentationSpinBox = QtWidgets.QSpinBox(Html5ToJsConverterParameterDialog) + self.indentationSpinBox.setMinimum(2) + self.indentationSpinBox.setMaximum(8) + self.indentationSpinBox.setSingleStep(2) + self.indentationSpinBox.setProperty("value", 4) + self.indentationSpinBox.setObjectName("indentationSpinBox") + self.gridLayout.addWidget(self.indentationSpinBox, 0, 1, 1, 1) + spacerItem = QtWidgets.QSpacerItem(220, 20, QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Minimum) + self.gridLayout.addItem(spacerItem, 0, 2, 1, 1) + self.buttonBox = QtWidgets.QDialogButtonBox(Html5ToJsConverterParameterDialog) + 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, 2, 0, 1, 3) + self.scriptCheckBox = QtWidgets.QCheckBox(Html5ToJsConverterParameterDialog) + self.scriptCheckBox.setObjectName("scriptCheckBox") + self.gridLayout.addWidget(self.scriptCheckBox, 1, 0, 1, 3) + + self.retranslateUi(Html5ToJsConverterParameterDialog) + self.buttonBox.accepted.connect(Html5ToJsConverterParameterDialog.accept) # type: ignore + self.buttonBox.rejected.connect(Html5ToJsConverterParameterDialog.reject) # type: ignore + QtCore.QMetaObject.connectSlotsByName(Html5ToJsConverterParameterDialog) + + def retranslateUi(self, Html5ToJsConverterParameterDialog): + _translate = QtCore.QCoreApplication.translate + Html5ToJsConverterParameterDialog.setWindowTitle(_translate("Html5ToJsConverterParameterDialog", "Conversion Parameters")) + self.label.setText(_translate("Html5ToJsConverterParameterDialog", "JS Indentation Spaces:")) + self.indentationSpinBox.setToolTip(_translate("Html5ToJsConverterParameterDialog", "Enter the amount of spaces to be used as indentation")) + self.scriptCheckBox.setToolTip(_translate("Html5ToJsConverterParameterDialog", "Select to enclose the generated JavaScript code by \'script\' tags")) + self.scriptCheckBox.setText(_translate("Html5ToJsConverterParameterDialog", "Enclose by \'script\' HTML tags")) + + +if __name__ == "__main__": + import sys + app = QtWidgets.QApplication(sys.argv) + Html5ToJsConverterParameterDialog = QtWidgets.QDialog() + ui = Ui_Html5ToJsConverterParameterDialog() + ui.setupUi(Html5ToJsConverterParameterDialog) + Html5ToJsConverterParameterDialog.show() + sys.exit(app.exec())