This is the Node Tree.
Here you\'ll find the nodes that make up your installer.
You can navigate the tree with the little arrows on the left side of each node.
")) + self.label_2.setText(_translate("Dialog", "These are the Preview Tabs.
Here you can preview what your installer looks like and what the XML code will be once you save.
")) + self.button_exit.setText(_translate("Dialog", "Continue")) + self.label_3.setText(_translate("Dialog", "This is the Property Editor.
Here you can edit the individual properties each node has.
")) + self.label_4.setText(_translate("Dialog", "This is the Children Box.
Here you can view which children nodes are available to the currently selected node and add them if possible.
You can only have one of some children while others are available infinitely.
")) + diff --git a/designer/ui_templates/window_about.py b/designer/ui_templates/window_about.py new file mode 100644 index 0000000..bba3cb9 --- /dev/null +++ b/designer/ui_templates/window_about.py @@ -0,0 +1,96 @@ +# -*- coding: utf-8 -*- + +# Form implementation generated from reading ui file 'resources/templates/window_about.ui' +# +# Created by: PyQt5 UI code generator 5.5.1 +# +# WARNING! All changes made in this file will be lost! + +from PyQt5 import QtCore, QtGui, QtWidgets + +class Ui_Dialog(object): + def setupUi(self, Dialog): + Dialog.setObjectName("Dialog") + Dialog.setWindowModality(QtCore.Qt.ApplicationModal) + Dialog.resize(340, 355) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Fixed, QtWidgets.QSizePolicy.Fixed) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(Dialog.sizePolicy().hasHeightForWidth()) + Dialog.setSizePolicy(sizePolicy) + Dialog.setMinimumSize(QtCore.QSize(340, 355)) + Dialog.setMaximumSize(QtCore.QSize(340, 355)) + Dialog.setModal(True) + self.verticalLayout = QtWidgets.QVBoxLayout(Dialog) + self.verticalLayout.setObjectName("verticalLayout") + self.label = QtWidgets.QLabel(Dialog) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Preferred) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(2) + sizePolicy.setHeightForWidth(self.label.sizePolicy().hasHeightForWidth()) + self.label.setSizePolicy(sizePolicy) + font = QtGui.QFont() + font.setFamily("Arial") + font.setPointSize(22) + self.label.setFont(font) + self.label.setAlignment(QtCore.Qt.AlignCenter) + self.label.setObjectName("label") + self.verticalLayout.addWidget(self.label) + self.version = QtWidgets.QLabel(Dialog) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Preferred) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(1) + sizePolicy.setHeightForWidth(self.version.sizePolicy().hasHeightForWidth()) + self.version.setSizePolicy(sizePolicy) + self.version.setScaledContents(False) + self.version.setAlignment(QtCore.Qt.AlignHCenter|QtCore.Qt.AlignTop) + self.version.setObjectName("version") + self.verticalLayout.addWidget(self.version) + self.copyright = QtWidgets.QLabel(Dialog) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Preferred) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(1) + sizePolicy.setHeightForWidth(self.copyright.sizePolicy().hasHeightForWidth()) + self.copyright.setSizePolicy(sizePolicy) + self.copyright.setAlignment(QtCore.Qt.AlignCenter) + self.copyright.setObjectName("copyright") + self.verticalLayout.addWidget(self.copyright) + self.label_2 = QtWidgets.QLabel(Dialog) + self.label_2.setAlignment(QtCore.Qt.AlignCenter) + self.label_2.setObjectName("label_2") + self.verticalLayout.addWidget(self.label_2) + self.label_4 = QtWidgets.QLabel(Dialog) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Preferred) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(5) + sizePolicy.setHeightForWidth(self.label_4.sizePolicy().hasHeightForWidth()) + self.label_4.setSizePolicy(sizePolicy) + self.label_4.setTextFormat(QtCore.Qt.AutoText) + self.label_4.setScaledContents(False) + self.label_4.setAlignment(QtCore.Qt.AlignJustify|QtCore.Qt.AlignVCenter) + self.label_4.setWordWrap(True) + self.label_4.setObjectName("label_4") + self.verticalLayout.addWidget(self.label_4) + self.button = QtWidgets.QPushButton(Dialog) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Fixed, QtWidgets.QSizePolicy.Fixed) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.button.sizePolicy().hasHeightForWidth()) + self.button.setSizePolicy(sizePolicy) + self.button.setDefault(False) + self.button.setObjectName("button") + self.verticalLayout.addWidget(self.button, 0, QtCore.Qt.AlignHCenter) + + self.retranslateUi(Dialog) + QtCore.QMetaObject.connectSlotsByName(Dialog) + + def retranslateUi(self, Dialog): + _translate = QtCore.QCoreApplication.translate + Dialog.setWindowTitle(_translate("Dialog", "About")) + self.label.setText(_translate("Dialog", "FOMOD Designer")) + self.version.setText(_translate("Dialog", "Version: 0.0.0.0")) + self.copyright.setText(_translate("Dialog", "Copyright 2016 Daniel Nunes")) + self.label_2.setText(_translate("Dialog", "Special Thanks to Hishutup.
")) + self.label_4.setText(_translate("Dialog", "Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.See the License for the specific language governing permissions and limitations under the License.
")) + self.button.setText(_translate("Dialog", "Exit")) + diff --git a/designer/ui_templates/window_intro.py b/designer/ui_templates/window_intro.py new file mode 100644 index 0000000..a6c76b1 --- /dev/null +++ b/designer/ui_templates/window_intro.py @@ -0,0 +1,161 @@ +# -*- coding: utf-8 -*- + +# Form implementation generated from reading ui file 'resources/templates/window_intro.ui' +# +# Created by: PyQt5 UI code generator 5.5.1 +# +# WARNING! All changes made in this file will be lost! + +from PyQt5 import QtCore, QtGui, QtWidgets + +class Ui_MainWindow(object): + def setupUi(self, MainWindow): + MainWindow.setObjectName("MainWindow") + MainWindow.resize(609, 436) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Fixed, QtWidgets.QSizePolicy.Fixed) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(MainWindow.sizePolicy().hasHeightForWidth()) + MainWindow.setSizePolicy(sizePolicy) + MainWindow.setMinimumSize(QtCore.QSize(609, 436)) + MainWindow.setMaximumSize(QtCore.QSize(609, 436)) + MainWindow.setWindowTitle("") + self.centralwidget = QtWidgets.QWidget(MainWindow) + self.centralwidget.setObjectName("centralwidget") + self.verticalLayout = QtWidgets.QVBoxLayout(self.centralwidget) + self.verticalLayout.setObjectName("verticalLayout") + spacerItem = QtWidgets.QSpacerItem(20, 40, QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Expanding) + self.verticalLayout.addItem(spacerItem) + self.title = QtWidgets.QLabel(self.centralwidget) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Preferred) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.title.sizePolicy().hasHeightForWidth()) + self.title.setSizePolicy(sizePolicy) + font = QtGui.QFont() + font.setPointSize(25) + self.title.setFont(font) + self.title.setText("FOMOD Designer") + self.title.setAlignment(QtCore.Qt.AlignCenter) + self.title.setWordWrap(False) + self.title.setObjectName("title") + self.verticalLayout.addWidget(self.title) + self.version = QtWidgets.QLabel(self.centralwidget) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Preferred) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.version.sizePolicy().hasHeightForWidth()) + self.version.setSizePolicy(sizePolicy) + self.version.setAlignment(QtCore.Qt.AlignCenter) + self.version.setObjectName("version") + self.verticalLayout.addWidget(self.version) + spacerItem1 = QtWidgets.QSpacerItem(20, 40, QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Expanding) + self.verticalLayout.addItem(spacerItem1) + spacerItem2 = QtWidgets.QSpacerItem(20, 40, QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Expanding) + self.verticalLayout.addItem(spacerItem2) + self.horizontalLayout = QtWidgets.QHBoxLayout() + self.horizontalLayout.setObjectName("horizontalLayout") + spacerItem3 = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Minimum) + self.horizontalLayout.addItem(spacerItem3) + self.new_button = QtWidgets.QPushButton(self.centralwidget) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Preferred) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.new_button.sizePolicy().hasHeightForWidth()) + self.new_button.setSizePolicy(sizePolicy) + self.new_button.setAutoFillBackground(False) + self.new_button.setObjectName("new_button") + self.horizontalLayout.addWidget(self.new_button) + spacerItem4 = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Minimum) + self.horizontalLayout.addItem(spacerItem4) + self.verticalLayout.addLayout(self.horizontalLayout) + self.horizontalLayout_4 = QtWidgets.QHBoxLayout() + self.horizontalLayout_4.setObjectName("horizontalLayout_4") + spacerItem5 = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Minimum) + self.horizontalLayout_4.addItem(spacerItem5) + self.button_about = QtWidgets.QPushButton(self.centralwidget) + self.button_about.setObjectName("button_about") + self.horizontalLayout_4.addWidget(self.button_about) + spacerItem6 = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Minimum) + self.horizontalLayout_4.addItem(spacerItem6) + self.verticalLayout.addLayout(self.horizontalLayout_4) + spacerItem7 = QtWidgets.QSpacerItem(20, 40, QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Expanding) + self.verticalLayout.addItem(spacerItem7) + self.horizontalLayout_2 = QtWidgets.QHBoxLayout() + self.horizontalLayout_2.setObjectName("horizontalLayout_2") + spacerItem8 = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Minimum) + self.horizontalLayout_2.addItem(spacerItem8) + self.widget = QtWidgets.QWidget(self.centralwidget) + self.widget.setObjectName("widget") + self.verticalLayout_3 = QtWidgets.QVBoxLayout(self.widget) + self.verticalLayout_3.setContentsMargins(0, 0, 0, 0) + self.verticalLayout_3.setObjectName("verticalLayout_3") + self.check_intro = QtWidgets.QCheckBox(self.widget) + self.check_intro.setObjectName("check_intro") + self.verticalLayout_3.addWidget(self.check_intro) + self.check_advanced = QtWidgets.QCheckBox(self.widget) + self.check_advanced.setEnabled(False) + self.check_advanced.setChecked(False) + self.check_advanced.setObjectName("check_advanced") + self.verticalLayout_3.addWidget(self.check_advanced) + self.horizontalLayout_2.addWidget(self.widget) + spacerItem9 = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Minimum) + self.horizontalLayout_2.addItem(spacerItem9) + self.verticalLayout.addLayout(self.horizontalLayout_2) + spacerItem10 = QtWidgets.QSpacerItem(20, 40, QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Expanding) + self.verticalLayout.addItem(spacerItem10) + self.recent_label = QtWidgets.QLabel(self.centralwidget) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Preferred) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.recent_label.sizePolicy().hasHeightForWidth()) + self.recent_label.setSizePolicy(sizePolicy) + font = QtGui.QFont() + font.setBold(True) + font.setItalic(True) + font.setWeight(75) + self.recent_label.setFont(font) + self.recent_label.setAlignment(QtCore.Qt.AlignCenter) + self.recent_label.setObjectName("recent_label") + self.verticalLayout.addWidget(self.recent_label) + self.horizontalLayout_3 = QtWidgets.QHBoxLayout() + self.horizontalLayout_3.setObjectName("horizontalLayout_3") + self.scrollArea = QtWidgets.QScrollArea(self.centralwidget) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Fixed) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.scrollArea.sizePolicy().hasHeightForWidth()) + self.scrollArea.setSizePolicy(sizePolicy) + self.scrollArea.setMaximumSize(QtCore.QSize(16777215, 158)) + self.scrollArea.setSizeAdjustPolicy(QtWidgets.QAbstractScrollArea.AdjustIgnored) + self.scrollArea.setWidgetResizable(True) + self.scrollArea.setAlignment(QtCore.Qt.AlignLeading|QtCore.Qt.AlignLeft|QtCore.Qt.AlignVCenter) + self.scrollArea.setObjectName("scrollArea") + self.scrollAreaWidgetContents = QtWidgets.QWidget() + self.scrollAreaWidgetContents.setGeometry(QtCore.QRect(0, 26, 587, 16)) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Fixed) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.scrollAreaWidgetContents.sizePolicy().hasHeightForWidth()) + self.scrollAreaWidgetContents.setSizePolicy(sizePolicy) + self.scrollAreaWidgetContents.setObjectName("scrollAreaWidgetContents") + self.scroll_layout = QtWidgets.QVBoxLayout(self.scrollAreaWidgetContents) + self.scroll_layout.setContentsMargins(0, 0, 0, 0) + self.scroll_layout.setObjectName("scroll_layout") + self.scrollArea.setWidget(self.scrollAreaWidgetContents) + self.horizontalLayout_3.addWidget(self.scrollArea) + self.verticalLayout.addLayout(self.horizontalLayout_3) + MainWindow.setCentralWidget(self.centralwidget) + + self.retranslateUi(MainWindow) + QtCore.QMetaObject.connectSlotsByName(MainWindow) + + def retranslateUi(self, MainWindow): + _translate = QtCore.QCoreApplication.translate + self.version.setText(_translate("MainWindow", "Version 0.0.0")) + self.new_button.setText(_translate("MainWindow", "New/Open")) + self.button_about.setText(_translate("MainWindow", "About")) + self.check_intro.setText(_translate("MainWindow", "Don\'t show this window again.")) + self.check_advanced.setText(_translate("MainWindow", "Show the Advanced View at startup.")) + self.recent_label.setText(_translate("MainWindow", "Recent Packages:")) + diff --git a/designer/ui_templates/window_mainframe.py b/designer/ui_templates/window_mainframe.py new file mode 100644 index 0000000..ca8839d --- /dev/null +++ b/designer/ui_templates/window_mainframe.py @@ -0,0 +1,333 @@ +# -*- coding: utf-8 -*- + +# Form implementation generated from reading ui file 'resources/templates/window_mainframe.ui' +# +# Created by: PyQt5 UI code generator 5.5.1 +# +# WARNING! All changes made in this file will be lost! + +from PyQt5 import QtCore, QtGui, QtWidgets + +class Ui_MainWindow(object): + def setupUi(self, MainWindow): + MainWindow.setObjectName("MainWindow") + MainWindow.resize(1115, 659) + self.centralwidget = QtWidgets.QWidget(MainWindow) + self.centralwidget.setObjectName("centralwidget") + self.horizontalLayout_3 = QtWidgets.QHBoxLayout(self.centralwidget) + self.horizontalLayout_3.setContentsMargins(0, 0, 0, 0) + self.horizontalLayout_3.setObjectName("horizontalLayout_3") + self.splitter = QtWidgets.QSplitter(self.centralwidget) + self.splitter.setOrientation(QtCore.Qt.Horizontal) + self.splitter.setOpaqueResize(True) + self.splitter.setObjectName("splitter") + self.tabWidget = QtWidgets.QTabWidget(self.splitter) + self.tabWidget.setObjectName("tabWidget") + self.tabWidgetPage1 = QtWidgets.QWidget() + self.tabWidgetPage1.setObjectName("tabWidgetPage1") + self.layout_mo = QtWidgets.QHBoxLayout(self.tabWidgetPage1) + self.layout_mo.setObjectName("layout_mo") + self.tabWidget.addTab(self.tabWidgetPage1, "") + self.tabWidgetPage2 = QtWidgets.QWidget() + self.tabWidgetPage2.setObjectName("tabWidgetPage2") + self.verticalLayout = QtWidgets.QVBoxLayout(self.tabWidgetPage2) + self.verticalLayout.setObjectName("verticalLayout") + self.label = QtWidgets.QLabel(self.tabWidgetPage2) + self.label.setLineWidth(1) + self.label.setAlignment(QtCore.Qt.AlignCenter) + self.label.setObjectName("label") + self.verticalLayout.addWidget(self.label) + self.xml_code_browser = QtWidgets.QTextBrowser(self.tabWidgetPage2) + self.xml_code_browser.setHorizontalScrollBarPolicy(QtCore.Qt.ScrollBarAsNeeded) + self.xml_code_browser.setLineWrapMode(QtWidgets.QTextEdit.NoWrap) + self.xml_code_browser.setObjectName("xml_code_browser") + self.verticalLayout.addWidget(self.xml_code_browser) + self.tabWidget.addTab(self.tabWidgetPage2, "") + self.horizontalLayout_3.addWidget(self.splitter) + MainWindow.setCentralWidget(self.centralwidget) + self.statusbar = QtWidgets.QStatusBar(MainWindow) + self.statusbar.setObjectName("statusbar") + MainWindow.setStatusBar(self.statusbar) + self.property_editor = QtWidgets.QDockWidget(MainWindow) + self.property_editor.setMinimumSize(QtCore.QSize(250, 63)) + self.property_editor.setAllowedAreas(QtCore.Qt.LeftDockWidgetArea|QtCore.Qt.RightDockWidgetArea) + self.property_editor.setObjectName("property_editor") + self.dockWidgetContents = QtWidgets.QWidget() + self.dockWidgetContents.setObjectName("dockWidgetContents") + self.layout_prop_editor = QtWidgets.QFormLayout(self.dockWidgetContents) + self.layout_prop_editor.setObjectName("layout_prop_editor") + self.property_editor.setWidget(self.dockWidgetContents) + MainWindow.addDockWidget(QtCore.Qt.DockWidgetArea(2), self.property_editor) + self.node_tree = QtWidgets.QDockWidget(MainWindow) + self.node_tree.setEnabled(True) + self.node_tree.setMinimumSize(QtCore.QSize(250, 222)) + self.node_tree.setFloating(False) + self.node_tree.setFeatures(QtWidgets.QDockWidget.AllDockWidgetFeatures) + self.node_tree.setAllowedAreas(QtCore.Qt.LeftDockWidgetArea|QtCore.Qt.RightDockWidgetArea) + self.node_tree.setObjectName("node_tree") + self.dockWidgetContents_2 = QtWidgets.QWidget() + self.dockWidgetContents_2.setObjectName("dockWidgetContents_2") + self.verticalLayout_2 = QtWidgets.QVBoxLayout(self.dockWidgetContents_2) + self.verticalLayout_2.setContentsMargins(5, 0, 5, 0) + self.verticalLayout_2.setObjectName("verticalLayout_2") + self.button_wizard = QtWidgets.QPushButton(self.dockWidgetContents_2) + self.button_wizard.setEnabled(True) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Preferred) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.button_wizard.sizePolicy().hasHeightForWidth()) + self.button_wizard.setSizePolicy(sizePolicy) + font = QtGui.QFont() + font.setPointSize(8) + self.button_wizard.setFont(font) + self.button_wizard.setCheckable(False) + self.button_wizard.setFlat(False) + self.button_wizard.setObjectName("button_wizard") + self.verticalLayout_2.addWidget(self.button_wizard) + self.node_tree_view = QtWidgets.QTreeView(self.dockWidgetContents_2) + self.node_tree_view.setEnabled(True) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Expanding) + sizePolicy.setHorizontalStretch(3) + sizePolicy.setVerticalStretch(1) + sizePolicy.setHeightForWidth(self.node_tree_view.sizePolicy().hasHeightForWidth()) + self.node_tree_view.setSizePolicy(sizePolicy) + self.node_tree_view.setMinimumSize(QtCore.QSize(151, 0)) + self.node_tree_view.setAcceptDrops(True) + self.node_tree_view.setDragEnabled(True) + self.node_tree_view.setDragDropMode(QtWidgets.QAbstractItemView.InternalMove) + self.node_tree_view.setDefaultDropAction(QtCore.Qt.MoveAction) + self.node_tree_view.setAlternatingRowColors(True) + self.node_tree_view.setIndentation(10) + self.node_tree_view.setHeaderHidden(True) + self.node_tree_view.setObjectName("node_tree_view") + self.verticalLayout_2.addWidget(self.node_tree_view) + self.node_tree.setWidget(self.dockWidgetContents_2) + MainWindow.addDockWidget(QtCore.Qt.DockWidgetArea(1), self.node_tree) + self.children_box = QtWidgets.QDockWidget(MainWindow) + self.children_box.setMinimumSize(QtCore.QSize(250, 83)) + self.children_box.setAllowedAreas(QtCore.Qt.LeftDockWidgetArea|QtCore.Qt.RightDockWidgetArea) + self.children_box.setObjectName("children_box") + self.dockWidgetContents_3 = QtWidgets.QWidget() + self.dockWidgetContents_3.setObjectName("dockWidgetContents_3") + self.layout_box = QtWidgets.QVBoxLayout(self.dockWidgetContents_3) + self.layout_box.setContentsMargins(3, 3, 3, 3) + self.layout_box.setSpacing(3) + self.layout_box.setObjectName("layout_box") + spacerItem = QtWidgets.QSpacerItem(20, 40, QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Expanding) + self.layout_box.addItem(spacerItem) + self.children_box.setWidget(self.dockWidgetContents_3) + MainWindow.addDockWidget(QtCore.Qt.DockWidgetArea(2), self.children_box) + self.menuBar = QtWidgets.QMenuBar(MainWindow) + self.menuBar.setGeometry(QtCore.QRect(0, 0, 1115, 21)) + self.menuBar.setObjectName("menuBar") + self.menu_File = QtWidgets.QMenu(self.menuBar) + self.menu_File.setObjectName("menu_File") + self.menu_Recent_Files = QtWidgets.QMenu(self.menu_File) + icon = QtGui.QIcon() + icon.addPixmap(QtGui.QPixmap("../logos/logo_recent.png"), QtGui.QIcon.Normal, QtGui.QIcon.Off) + self.menu_Recent_Files.setIcon(icon) + self.menu_Recent_Files.setObjectName("menu_Recent_Files") + self.menu_Tools = QtWidgets.QMenu(self.menuBar) + self.menu_Tools.setObjectName("menu_Tools") + self.menu_View = QtWidgets.QMenu(self.menuBar) + self.menu_View.setObjectName("menu_View") + self.menu_Help = QtWidgets.QMenu(self.menuBar) + self.menu_Help.setObjectName("menu_Help") + MainWindow.setMenuBar(self.menuBar) + self.action_Open = QtWidgets.QAction(MainWindow) + self.action_Open.setEnabled(True) + icon1 = QtGui.QIcon() + icon1.addPixmap(QtGui.QPixmap("../logos/logo_open_file.png"), QtGui.QIcon.Normal, QtGui.QIcon.Off) + self.action_Open.setIcon(icon1) + self.action_Open.setShortcutContext(QtCore.Qt.WindowShortcut) + self.action_Open.setAutoRepeat(True) + self.action_Open.setObjectName("action_Open") + self.action_Save = QtWidgets.QAction(MainWindow) + icon2 = QtGui.QIcon() + icon2.addPixmap(QtGui.QPixmap("../logos/logo_floppy_disk.png"), QtGui.QIcon.Normal, QtGui.QIcon.Off) + self.action_Save.setIcon(icon2) + self.action_Save.setShortcutContext(QtCore.Qt.WindowShortcut) + self.action_Save.setObjectName("action_Save") + self.actionO_ptions = QtWidgets.QAction(MainWindow) + icon3 = QtGui.QIcon() + icon3.addPixmap(QtGui.QPixmap("../logos/logo_gear.png"), QtGui.QIcon.Normal, QtGui.QIcon.Off) + self.actionO_ptions.setIcon(icon3) + self.actionO_ptions.setShortcutContext(QtCore.Qt.WindowShortcut) + self.actionO_ptions.setObjectName("actionO_ptions") + self.action_Refresh = QtWidgets.QAction(MainWindow) + icon4 = QtGui.QIcon() + icon4.addPixmap(QtGui.QPixmap("../logos/logo_refresh.png"), QtGui.QIcon.Normal, QtGui.QIcon.Off) + self.action_Refresh.setIcon(icon4) + self.action_Refresh.setShortcutContext(QtCore.Qt.WindowShortcut) + self.action_Refresh.setObjectName("action_Refresh") + self.action_Delete = QtWidgets.QAction(MainWindow) + self.action_Delete.setEnabled(False) + icon5 = QtGui.QIcon() + icon5.addPixmap(QtGui.QPixmap("../logos/logo_cross.png"), QtGui.QIcon.Normal, QtGui.QIcon.Off) + self.action_Delete.setIcon(icon5) + self.action_Delete.setShortcutContext(QtCore.Qt.WindowShortcut) + self.action_Delete.setObjectName("action_Delete") + self.action_About = QtWidgets.QAction(MainWindow) + self.action_About.setEnabled(True) + icon6 = QtGui.QIcon() + icon6.addPixmap(QtGui.QPixmap("../logos/logo_notepad.png"), QtGui.QIcon.Normal, QtGui.QIcon.Off) + self.action_About.setIcon(icon6) + self.action_About.setShortcutContext(QtCore.Qt.WindowShortcut) + self.action_About.setObjectName("action_About") + self.actionHe_lp = QtWidgets.QAction(MainWindow) + icon7 = QtGui.QIcon() + icon7.addPixmap(QtGui.QPixmap("../logos/logo_info.png"), QtGui.QIcon.Normal, QtGui.QIcon.Off) + self.actionHe_lp.setIcon(icon7) + self.actionHe_lp.setShortcutContext(QtCore.Qt.WindowShortcut) + self.actionHe_lp.setObjectName("actionHe_lp") + self.action_Object_Tree = QtWidgets.QAction(MainWindow) + self.action_Object_Tree.setCheckable(True) + self.action_Object_Tree.setChecked(True) + self.action_Object_Tree.setObjectName("action_Object_Tree") + self.action_Property_Editor = QtWidgets.QAction(MainWindow) + self.action_Property_Editor.setCheckable(True) + self.action_Property_Editor.setChecked(True) + self.action_Property_Editor.setObjectName("action_Property_Editor") + self.actionObject_Box = QtWidgets.QAction(MainWindow) + self.actionObject_Box.setCheckable(True) + self.actionObject_Box.setChecked(True) + self.actionObject_Box.setObjectName("actionObject_Box") + self.actionClear = QtWidgets.QAction(MainWindow) + icon8 = QtGui.QIcon() + icon8.addPixmap(QtGui.QPixmap("../logos/logo_clear.png"), QtGui.QIcon.Normal, QtGui.QIcon.Off) + self.actionClear.setIcon(icon8) + self.actionClear.setObjectName("actionClear") + self.actionCopy = QtWidgets.QAction(MainWindow) + icon9 = QtGui.QIcon() + icon9.addPixmap(QtGui.QPixmap("../logos/logo_copy.png"), QtGui.QIcon.Normal, QtGui.QIcon.Off) + self.actionCopy.setIcon(icon9) + self.actionCopy.setObjectName("actionCopy") + self.actionPaste = QtWidgets.QAction(MainWindow) + self.actionPaste.setEnabled(False) + icon10 = QtGui.QIcon() + icon10.addPixmap(QtGui.QPixmap("../logos/logo_paste.png"), QtGui.QIcon.Normal, QtGui.QIcon.Off) + self.actionPaste.setIcon(icon10) + self.actionPaste.setObjectName("actionPaste") + self.actionUndo = QtWidgets.QAction(MainWindow) + self.actionUndo.setEnabled(False) + icon11 = QtGui.QIcon() + icon11.addPixmap(QtGui.QPixmap("../logos/logo_undo.png"), QtGui.QIcon.Normal, QtGui.QIcon.Off) + self.actionUndo.setIcon(icon11) + self.actionUndo.setShortcutContext(QtCore.Qt.WindowShortcut) + self.actionUndo.setObjectName("actionUndo") + self.actionRedo = QtWidgets.QAction(MainWindow) + self.actionRedo.setEnabled(False) + icon12 = QtGui.QIcon() + icon12.addPixmap(QtGui.QPixmap("../logos/logo_redo.png"), QtGui.QIcon.Normal, QtGui.QIcon.Off) + self.actionRedo.setIcon(icon12) + self.actionRedo.setObjectName("actionRedo") + self.actionExpand_All = QtWidgets.QAction(MainWindow) + icon13 = QtGui.QIcon() + icon13.addPixmap(QtGui.QPixmap("../logos/logo_expand.png"), QtGui.QIcon.Normal, QtGui.QIcon.Off) + self.actionExpand_All.setIcon(icon13) + self.actionExpand_All.setObjectName("actionExpand_All") + self.actionCollapse_All = QtWidgets.QAction(MainWindow) + icon14 = QtGui.QIcon() + icon14.addPixmap(QtGui.QPixmap("../logos/logo_collapse.png"), QtGui.QIcon.Normal, QtGui.QIcon.Off) + self.actionCollapse_All.setIcon(icon14) + self.actionCollapse_All.setObjectName("actionCollapse_All") + self.menu_Recent_Files.addAction(self.actionClear) + self.menu_File.addAction(self.action_Open) + self.menu_File.addAction(self.action_Save) + self.menu_File.addSeparator() + self.menu_File.addAction(self.menu_Recent_Files.menuAction()) + self.menu_File.addSeparator() + self.menu_File.addAction(self.actionO_ptions) + self.menu_Tools.addAction(self.actionExpand_All) + self.menu_Tools.addAction(self.actionCollapse_All) + self.menu_Tools.addSeparator() + self.menu_Tools.addAction(self.action_Refresh) + self.menu_Tools.addSeparator() + self.menu_Tools.addAction(self.action_Delete) + self.menu_Tools.addSeparator() + self.menu_Tools.addAction(self.actionCopy) + self.menu_Tools.addAction(self.actionPaste) + self.menu_Tools.addSeparator() + self.menu_Tools.addAction(self.actionUndo) + self.menu_Tools.addAction(self.actionRedo) + self.menu_View.addAction(self.action_Object_Tree) + self.menu_View.addAction(self.action_Property_Editor) + self.menu_View.addAction(self.actionObject_Box) + self.menu_Help.addAction(self.action_About) + self.menu_Help.addAction(self.actionHe_lp) + self.menuBar.addAction(self.menu_File.menuAction()) + self.menuBar.addAction(self.menu_Tools.menuAction()) + self.menuBar.addAction(self.menu_View.menuAction()) + self.menuBar.addAction(self.menu_Help.menuAction()) + + self.retranslateUi(MainWindow) + self.tabWidget.setCurrentIndex(0) + QtCore.QMetaObject.connectSlotsByName(MainWindow) + + def retranslateUi(self, MainWindow): + _translate = QtCore.QCoreApplication.translate + MainWindow.setWindowTitle(_translate("MainWindow", "FOMOD Designer")) + self.tabWidget.setTabText(self.tabWidget.indexOf(self.tabWidgetPage1), _translate("MainWindow", "Preview")) + self.label.setText(_translate("MainWindow", "Generated XML Code")) + self.xml_code_browser.setPlaceholderText(_translate("MainWindow", "Click a node to see the generated XML code here.")) + self.tabWidget.setTabText(self.tabWidget.indexOf(self.tabWidgetPage2), _translate("MainWindow", "XML Preview")) + self.property_editor.setStatusTip(_translate("MainWindow", "A list of all the properties and the means to edit them.")) + self.property_editor.setWindowTitle(_translate("MainWindow", "Property Editor")) + self.node_tree.setStatusTip(_translate("MainWindow", "The tree containing all the existing nodes.")) + self.node_tree.setWindowTitle(_translate("MainWindow", "Node Tree")) + self.button_wizard.setText(_translate("MainWindow", "Start Wizard")) + self.children_box.setStatusTip(_translate("MainWindow", "A list with the possible nodes to add.")) + self.children_box.setWindowTitle(_translate("MainWindow", "Children Box")) + self.menu_File.setTitle(_translate("MainWindow", "&File")) + self.menu_Recent_Files.setStatusTip(_translate("MainWindow", "Your recent files in an easy-to-open list.")) + self.menu_Recent_Files.setTitle(_translate("MainWindow", "&Recent Files")) + self.menu_Tools.setTitle(_translate("MainWindow", "&Tools")) + self.menu_View.setTitle(_translate("MainWindow", "&View")) + self.menu_Help.setTitle(_translate("MainWindow", "&Help")) + self.action_Open.setText(_translate("MainWindow", "&New/&Open")) + self.action_Open.setToolTip(_translate("MainWindow", "New/Open")) + self.action_Open.setStatusTip(_translate("MainWindow", "Select a folder to open or create an installer there.")) + self.action_Open.setShortcut(_translate("MainWindow", "Ctrl+O")) + self.action_Save.setText(_translate("MainWindow", "&Save")) + self.action_Save.setStatusTip(_translate("MainWindow", "Save the current installer.")) + self.action_Save.setShortcut(_translate("MainWindow", "Ctrl+S")) + self.actionO_ptions.setText(_translate("MainWindow", "Settings")) + self.actionO_ptions.setIconText(_translate("MainWindow", "Settings")) + self.actionO_ptions.setToolTip(_translate("MainWindow", "Settings")) + self.actionO_ptions.setStatusTip(_translate("MainWindow", "Open up the settings menu")) + self.actionO_ptions.setShortcut(_translate("MainWindow", "Ctrl+P")) + self.action_Refresh.setText(_translate("MainWindow", "&Refresh")) + self.action_Refresh.setStatusTip(_translate("MainWindow", "Refresh the previews.")) + self.action_Refresh.setShortcut(_translate("MainWindow", "Ctrl+R")) + self.action_Delete.setText(_translate("MainWindow", "&Delete")) + self.action_Delete.setStatusTip(_translate("MainWindow", "Delete the currently selected node.")) + self.action_Delete.setShortcut(_translate("MainWindow", "Del")) + self.action_About.setText(_translate("MainWindow", "&About")) + self.action_About.setIconText(_translate("MainWindow", "About")) + self.action_About.setToolTip(_translate("MainWindow", "About")) + self.action_About.setStatusTip(_translate("MainWindow", "Who made this and license details.")) + self.action_About.setShortcut(_translate("MainWindow", "Ctrl+A")) + self.actionHe_lp.setText(_translate("MainWindow", "He&lp")) + self.actionHe_lp.setStatusTip(_translate("MainWindow", "Haaaaaalp!")) + self.actionHe_lp.setShortcut(_translate("MainWindow", "Ctrl+H")) + self.action_Object_Tree.setText(_translate("MainWindow", "Object &Tree")) + self.action_Object_Tree.setStatusTip(_translate("MainWindow", "Toggle the visibility of the Object Tree.")) + self.action_Property_Editor.setText(_translate("MainWindow", "&Property Editor")) + self.action_Property_Editor.setStatusTip(_translate("MainWindow", "Toggle the visibility of the Property Editor.")) + self.actionObject_Box.setText(_translate("MainWindow", "Object &Box")) + self.actionObject_Box.setStatusTip(_translate("MainWindow", "Toggle the visibility of the Object Box.")) + self.actionClear.setText(_translate("MainWindow", "Clear")) + self.actionClear.setStatusTip(_translate("MainWindow", "Clear all the recent files.")) + self.actionCopy.setText(_translate("MainWindow", "Copy")) + self.actionCopy.setShortcut(_translate("MainWindow", "Ctrl+C")) + self.actionPaste.setText(_translate("MainWindow", "Paste")) + self.actionPaste.setShortcut(_translate("MainWindow", "Ctrl+V")) + self.actionUndo.setText(_translate("MainWindow", "Undo")) + self.actionUndo.setShortcut(_translate("MainWindow", "Ctrl+Z")) + self.actionRedo.setText(_translate("MainWindow", "Redo")) + self.actionRedo.setShortcut(_translate("MainWindow", "Ctrl+Shift+Z")) + self.actionExpand_All.setText(_translate("MainWindow", "Expand All")) + self.actionExpand_All.setShortcut(_translate("MainWindow", "Ctrl+*")) + self.actionCollapse_All.setText(_translate("MainWindow", "Collapse All")) + self.actionCollapse_All.setShortcut(_translate("MainWindow", "Ctrl+.")) + diff --git a/designer/ui_templates/window_plaintexteditor.py b/designer/ui_templates/window_plaintexteditor.py new file mode 100644 index 0000000..48689d9 --- /dev/null +++ b/designer/ui_templates/window_plaintexteditor.py @@ -0,0 +1,35 @@ +# -*- coding: utf-8 -*- + +# Form implementation generated from reading ui file 'resources/templates/window_plaintexteditor.ui' +# +# Created by: PyQt5 UI code generator 5.5.1 +# +# WARNING! All changes made in this file will be lost! + +from PyQt5 import QtCore, QtGui, QtWidgets + +class Ui_Dialog(object): + def setupUi(self, Dialog): + Dialog.setObjectName("Dialog") + Dialog.resize(247, 195) + self.verticalLayout = QtWidgets.QVBoxLayout(Dialog) + self.verticalLayout.setObjectName("verticalLayout") + self.edit_text = QtWidgets.QTextEdit(Dialog) + self.edit_text.setObjectName("edit_text") + self.verticalLayout.addWidget(self.edit_text) + self.buttonBox = QtWidgets.QDialogButtonBox(Dialog) + self.buttonBox.setOrientation(QtCore.Qt.Horizontal) + self.buttonBox.setStandardButtons(QtWidgets.QDialogButtonBox.Cancel|QtWidgets.QDialogButtonBox.Ok) + self.buttonBox.setCenterButtons(True) + self.buttonBox.setObjectName("buttonBox") + self.verticalLayout.addWidget(self.buttonBox) + + self.retranslateUi(Dialog) + self.buttonBox.accepted.connect(Dialog.accept) + self.buttonBox.rejected.connect(Dialog.reject) + QtCore.QMetaObject.connectSlotsByName(Dialog) + + def retranslateUi(self, Dialog): + _translate = QtCore.QCoreApplication.translate + Dialog.setWindowTitle(_translate("Dialog", "Text Editor")) + diff --git a/designer/ui_templates/window_settings.py b/designer/ui_templates/window_settings.py new file mode 100644 index 0000000..db2f4a6 --- /dev/null +++ b/designer/ui_templates/window_settings.py @@ -0,0 +1,804 @@ +# -*- coding: utf-8 -*- + +# Form implementation generated from reading ui file 'resources/templates/window_settings.ui' +# +# Created by: PyQt5 UI code generator 5.5.1 +# +# WARNING! All changes made in this file will be lost! + +from PyQt5 import QtCore, QtGui, QtWidgets + +class Ui_Dialog(object): + def setupUi(self, Dialog): + Dialog.setObjectName("Dialog") + Dialog.setWindowModality(QtCore.Qt.NonModal) + Dialog.setEnabled(True) + Dialog.resize(565, 396) + Dialog.setFocusPolicy(QtCore.Qt.StrongFocus) + Dialog.setContextMenuPolicy(QtCore.Qt.NoContextMenu) + Dialog.setModal(False) + self.verticalLayout_8 = QtWidgets.QVBoxLayout(Dialog) + self.verticalLayout_8.setObjectName("verticalLayout_8") + self.tabWidget = QtWidgets.QTabWidget(Dialog) + self.tabWidget.setTabPosition(QtWidgets.QTabWidget.North) + self.tabWidget.setTabShape(QtWidgets.QTabWidget.Rounded) + self.tabWidget.setElideMode(QtCore.Qt.ElideNone) + self.tabWidget.setTabBarAutoHide(False) + self.tabWidget.setObjectName("tabWidget") + self.tab = QtWidgets.QWidget() + self.tab.setObjectName("tab") + self.verticalLayout_7 = QtWidgets.QVBoxLayout(self.tab) + self.verticalLayout_7.setObjectName("verticalLayout_7") + self.check_intro = QtWidgets.QCheckBox(self.tab) + self.check_intro.setObjectName("check_intro") + self.verticalLayout_7.addWidget(self.check_intro) + self.line = QtWidgets.QFrame(self.tab) + self.line.setFrameShape(QtWidgets.QFrame.HLine) + self.line.setFrameShadow(QtWidgets.QFrame.Sunken) + self.line.setObjectName("line") + self.verticalLayout_7.addWidget(self.line) + self.check_advanced = QtWidgets.QCheckBox(self.tab) + self.check_advanced.setEnabled(False) + self.check_advanced.setObjectName("check_advanced") + self.verticalLayout_7.addWidget(self.check_advanced) + self.line_10 = QtWidgets.QFrame(self.tab) + self.line_10.setFrameShape(QtWidgets.QFrame.HLine) + self.line_10.setFrameShadow(QtWidgets.QFrame.Sunken) + self.line_10.setObjectName("line_10") + self.verticalLayout_7.addWidget(self.line_10) + self.check_tutorial = QtWidgets.QCheckBox(self.tab) + self.check_tutorial.setObjectName("check_tutorial") + self.verticalLayout_7.addWidget(self.check_tutorial) + self.line_2 = QtWidgets.QFrame(self.tab) + self.line_2.setFrameShape(QtWidgets.QFrame.HLine) + self.line_2.setFrameShadow(QtWidgets.QFrame.Sunken) + self.line_2.setObjectName("line_2") + self.verticalLayout_7.addWidget(self.line_2) + self.horizontalLayout_6 = QtWidgets.QHBoxLayout() + self.horizontalLayout_6.setObjectName("horizontalLayout_6") + self.label = QtWidgets.QLabel(self.tab) + self.label.setObjectName("label") + self.horizontalLayout_6.addWidget(self.label) + self.combo_code_refresh = QtWidgets.QComboBox(self.tab) + self.combo_code_refresh.setObjectName("combo_code_refresh") + self.combo_code_refresh.addItem("") + self.combo_code_refresh.addItem("") + self.combo_code_refresh.addItem("") + self.combo_code_refresh.addItem("") + self.horizontalLayout_6.addWidget(self.combo_code_refresh) + self.verticalLayout_7.addLayout(self.horizontalLayout_6) + spacerItem = QtWidgets.QSpacerItem(20, 40, QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Expanding) + self.verticalLayout_7.addItem(spacerItem) + self.check_intro.raise_() + self.check_advanced.raise_() + self.line.raise_() + self.line_2.raise_() + self.check_tutorial.raise_() + self.line_10.raise_() + self.tabWidget.addTab(self.tab, "") + self.tab_5 = QtWidgets.QWidget() + self.tab_5.setObjectName("tab_5") + self.verticalLayout_10 = QtWidgets.QVBoxLayout(self.tab_5) + self.verticalLayout_10.setObjectName("verticalLayout_10") + self.label_9 = QtWidgets.QLabel(self.tab_5) + font = QtGui.QFont() + font.setPointSize(10) + font.setBold(True) + font.setWeight(75) + self.label_9.setFont(font) + self.label_9.setObjectName("label_9") + self.verticalLayout_10.addWidget(self.label_9) + self.horizontalLayout_7 = QtWidgets.QHBoxLayout() + self.horizontalLayout_7.setObjectName("horizontalLayout_7") + self.label_10 = QtWidgets.QLabel(self.tab_5) + self.label_10.setObjectName("label_10") + self.horizontalLayout_7.addWidget(self.label_10) + self.button_colour_required = QtWidgets.QPushButton(self.tab_5) + self.button_colour_required.setMaximumSize(QtCore.QSize(40, 16777215)) + self.button_colour_required.setText("") + self.button_colour_required.setObjectName("button_colour_required") + self.horizontalLayout_7.addWidget(self.button_colour_required) + self.button_colour_reset_required = QtWidgets.QPushButton(self.tab_5) + self.button_colour_reset_required.setObjectName("button_colour_reset_required") + self.horizontalLayout_7.addWidget(self.button_colour_reset_required) + self.verticalLayout_10.addLayout(self.horizontalLayout_7) + self.horizontalLayout_8 = QtWidgets.QHBoxLayout() + self.horizontalLayout_8.setObjectName("horizontalLayout_8") + self.label_11 = QtWidgets.QLabel(self.tab_5) + self.label_11.setObjectName("label_11") + self.horizontalLayout_8.addWidget(self.label_11) + self.button_colour_atleastone = QtWidgets.QPushButton(self.tab_5) + self.button_colour_atleastone.setMaximumSize(QtCore.QSize(40, 16777215)) + self.button_colour_atleastone.setText("") + self.button_colour_atleastone.setObjectName("button_colour_atleastone") + self.horizontalLayout_8.addWidget(self.button_colour_atleastone) + self.button_colour_reset_atleastone = QtWidgets.QPushButton(self.tab_5) + self.button_colour_reset_atleastone.setObjectName("button_colour_reset_atleastone") + self.horizontalLayout_8.addWidget(self.button_colour_reset_atleastone) + self.verticalLayout_10.addLayout(self.horizontalLayout_8) + self.horizontalLayout_9 = QtWidgets.QHBoxLayout() + self.horizontalLayout_9.setObjectName("horizontalLayout_9") + self.label_12 = QtWidgets.QLabel(self.tab_5) + self.label_12.setObjectName("label_12") + self.horizontalLayout_9.addWidget(self.label_12) + self.button_colour_either = QtWidgets.QPushButton(self.tab_5) + self.button_colour_either.setMaximumSize(QtCore.QSize(40, 16777215)) + self.button_colour_either.setText("") + self.button_colour_either.setObjectName("button_colour_either") + self.horizontalLayout_9.addWidget(self.button_colour_either) + self.button_colour_reset_either = QtWidgets.QPushButton(self.tab_5) + self.button_colour_reset_either.setObjectName("button_colour_reset_either") + self.horizontalLayout_9.addWidget(self.button_colour_reset_either) + self.verticalLayout_10.addLayout(self.horizontalLayout_9) + self.line_9 = QtWidgets.QFrame(self.tab_5) + self.line_9.setMidLineWidth(0) + self.line_9.setFrameShape(QtWidgets.QFrame.HLine) + self.line_9.setFrameShadow(QtWidgets.QFrame.Sunken) + self.line_9.setObjectName("line_9") + self.verticalLayout_10.addWidget(self.line_9) + self.horizontalLayout_14 = QtWidgets.QHBoxLayout() + self.horizontalLayout_14.setObjectName("horizontalLayout_14") + self.label_14 = QtWidgets.QLabel(self.tab_5) + self.label_14.setMidLineWidth(0) + self.label_14.setObjectName("label_14") + self.horizontalLayout_14.addWidget(self.label_14) + self.combo_style = QtWidgets.QComboBox(self.tab_5) + self.combo_style.setObjectName("combo_style") + self.combo_style.addItem("") + self.combo_style.addItem("") + self.combo_style.addItem("") + self.horizontalLayout_14.addWidget(self.combo_style) + self.verticalLayout_10.addLayout(self.horizontalLayout_14) + self.widget_warning_style = QtWidgets.QWidget(self.tab_5) + self.widget_warning_style.setObjectName("widget_warning_style") + self.horizontalLayout_16 = QtWidgets.QHBoxLayout(self.widget_warning_style) + self.horizontalLayout_16.setContentsMargins(0, 0, 0, 0) + self.horizontalLayout_16.setObjectName("horizontalLayout_16") + spacerItem1 = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Minimum) + self.horizontalLayout_16.addItem(spacerItem1) + self.label_warning_style = QtWidgets.QLabel(self.widget_warning_style) + self.label_warning_style.setMaximumSize(QtCore.QSize(20, 20)) + self.label_warning_style.setText("") + self.label_warning_style.setPixmap(QtGui.QPixmap("../logos/logo_danger.png")) + self.label_warning_style.setScaledContents(True) + self.label_warning_style.setAlignment(QtCore.Qt.AlignRight|QtCore.Qt.AlignTrailing|QtCore.Qt.AlignVCenter) + self.label_warning_style.setWordWrap(False) + self.label_warning_style.setObjectName("label_warning_style") + self.horizontalLayout_16.addWidget(self.label_warning_style) + self.label_13 = QtWidgets.QLabel(self.widget_warning_style) + self.label_13.setScaledContents(True) + self.label_13.setObjectName("label_13") + self.horizontalLayout_16.addWidget(self.label_13) + spacerItem2 = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Minimum) + self.horizontalLayout_16.addItem(spacerItem2) + self.verticalLayout_10.addWidget(self.widget_warning_style) + self.line_15 = QtWidgets.QFrame(self.tab_5) + self.line_15.setMidLineWidth(0) + self.line_15.setFrameShape(QtWidgets.QFrame.HLine) + self.line_15.setFrameShadow(QtWidgets.QFrame.Sunken) + self.line_15.setObjectName("line_15") + self.verticalLayout_10.addWidget(self.line_15) + self.horizontalLayout_15 = QtWidgets.QHBoxLayout() + self.horizontalLayout_15.setObjectName("horizontalLayout_15") + self.label_16 = QtWidgets.QLabel(self.tab_5) + self.label_16.setObjectName("label_16") + self.horizontalLayout_15.addWidget(self.label_16) + self.combo_palette = QtWidgets.QComboBox(self.tab_5) + self.combo_palette.setObjectName("combo_palette") + self.combo_palette.addItem("") + self.combo_palette.addItem("") + self.combo_palette.addItem("") + self.combo_palette.addItem("") + self.combo_palette.addItem("") + self.combo_palette.addItem("") + self.combo_palette.addItem("") + self.combo_palette.addItem("") + self.combo_palette.addItem("") + self.combo_palette.addItem("") + self.combo_palette.addItem("") + self.combo_palette.addItem("") + self.combo_palette.addItem("") + self.combo_palette.addItem("") + self.combo_palette.addItem("") + self.combo_palette.addItem("") + self.combo_palette.addItem("") + self.combo_palette.addItem("") + self.combo_palette.addItem("") + self.combo_palette.addItem("") + self.combo_palette.addItem("") + self.combo_palette.addItem("") + self.combo_palette.addItem("") + self.combo_palette.addItem("") + self.combo_palette.addItem("") + self.combo_palette.addItem("") + self.combo_palette.addItem("") + self.combo_palette.addItem("") + self.combo_palette.addItem("") + self.combo_palette.addItem("") + self.combo_palette.addItem("") + self.combo_palette.addItem("") + self.combo_palette.addItem("") + self.combo_palette.addItem("") + self.combo_palette.addItem("") + self.combo_palette.addItem("") + self.combo_palette.addItem("") + self.combo_palette.addItem("") + self.combo_palette.addItem("") + self.combo_palette.addItem("") + self.combo_palette.addItem("") + self.combo_palette.addItem("") + self.combo_palette.addItem("") + self.combo_palette.addItem("") + self.combo_palette.addItem("") + self.combo_palette.addItem("") + self.combo_palette.addItem("") + self.combo_palette.addItem("") + self.combo_palette.addItem("") + self.combo_palette.addItem("") + self.combo_palette.addItem("") + self.combo_palette.addItem("") + self.combo_palette.addItem("") + self.combo_palette.addItem("") + self.combo_palette.addItem("") + self.combo_palette.addItem("") + self.combo_palette.addItem("") + self.combo_palette.addItem("") + self.combo_palette.addItem("") + self.combo_palette.addItem("") + self.combo_palette.addItem("") + self.combo_palette.addItem("") + self.combo_palette.addItem("") + self.combo_palette.addItem("") + self.combo_palette.addItem("") + self.combo_palette.addItem("") + self.combo_palette.addItem("") + self.combo_palette.addItem("") + self.combo_palette.addItem("") + self.combo_palette.addItem("") + self.combo_palette.addItem("") + self.combo_palette.addItem("") + self.combo_palette.addItem("") + self.combo_palette.addItem("") + self.combo_palette.addItem("") + self.combo_palette.addItem("") + self.combo_palette.addItem("") + self.combo_palette.addItem("") + self.combo_palette.addItem("") + self.combo_palette.addItem("") + self.combo_palette.addItem("") + self.combo_palette.addItem("") + self.combo_palette.addItem("") + self.combo_palette.addItem("") + self.combo_palette.addItem("") + self.combo_palette.addItem("") + self.combo_palette.addItem("") + self.combo_palette.addItem("") + self.combo_palette.addItem("") + self.combo_palette.addItem("") + self.combo_palette.addItem("") + self.combo_palette.addItem("") + self.combo_palette.addItem("") + self.combo_palette.addItem("") + self.combo_palette.addItem("") + self.combo_palette.addItem("") + self.combo_palette.addItem("") + self.combo_palette.addItem("") + self.combo_palette.addItem("") + self.combo_palette.addItem("") + self.combo_palette.addItem("") + self.combo_palette.addItem("") + self.combo_palette.addItem("") + self.combo_palette.addItem("") + self.combo_palette.addItem("") + self.combo_palette.addItem("") + self.combo_palette.addItem("") + self.combo_palette.addItem("") + self.combo_palette.addItem("") + self.combo_palette.addItem("") + self.combo_palette.addItem("") + self.combo_palette.addItem("") + self.combo_palette.addItem("") + self.combo_palette.addItem("") + self.combo_palette.addItem("") + self.combo_palette.addItem("") + self.combo_palette.addItem("") + self.combo_palette.addItem("") + self.combo_palette.addItem("") + self.combo_palette.addItem("") + self.combo_palette.addItem("") + self.combo_palette.addItem("") + self.combo_palette.addItem("") + self.combo_palette.addItem("") + self.combo_palette.addItem("") + self.combo_palette.addItem("") + self.combo_palette.addItem("") + self.combo_palette.addItem("") + self.combo_palette.addItem("") + self.combo_palette.addItem("") + self.combo_palette.addItem("") + self.combo_palette.addItem("") + self.combo_palette.addItem("") + self.combo_palette.addItem("") + self.combo_palette.addItem("") + self.combo_palette.addItem("") + self.combo_palette.addItem("") + self.combo_palette.addItem("") + self.combo_palette.addItem("") + self.combo_palette.addItem("") + self.combo_palette.addItem("") + self.combo_palette.addItem("") + self.horizontalLayout_15.addWidget(self.combo_palette) + self.verticalLayout_10.addLayout(self.horizontalLayout_15) + self.widget_warning_palette = QtWidgets.QWidget(self.tab_5) + self.widget_warning_palette.setObjectName("widget_warning_palette") + self.horizontalLayout_17 = QtWidgets.QHBoxLayout(self.widget_warning_palette) + self.horizontalLayout_17.setContentsMargins(0, 0, 0, 0) + self.horizontalLayout_17.setObjectName("horizontalLayout_17") + spacerItem3 = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Minimum) + self.horizontalLayout_17.addItem(spacerItem3) + self.label_warning_palette = QtWidgets.QLabel(self.widget_warning_palette) + self.label_warning_palette.setMaximumSize(QtCore.QSize(20, 20)) + self.label_warning_palette.setText("") + self.label_warning_palette.setPixmap(QtGui.QPixmap("../logos/logo_danger.png")) + self.label_warning_palette.setScaledContents(True) + self.label_warning_palette.setAlignment(QtCore.Qt.AlignRight|QtCore.Qt.AlignTrailing|QtCore.Qt.AlignVCenter) + self.label_warning_palette.setWordWrap(False) + self.label_warning_palette.setObjectName("label_warning_palette") + self.horizontalLayout_17.addWidget(self.label_warning_palette) + self.label_15 = QtWidgets.QLabel(self.widget_warning_palette) + self.label_15.setScaledContents(True) + self.label_15.setObjectName("label_15") + self.horizontalLayout_17.addWidget(self.label_15) + spacerItem4 = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Minimum) + self.horizontalLayout_17.addItem(spacerItem4) + self.verticalLayout_10.addWidget(self.widget_warning_palette) + spacerItem5 = QtWidgets.QSpacerItem(20, 40, QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Expanding) + self.verticalLayout_10.addItem(spacerItem5) + self.tabWidget.addTab(self.tab_5, "") + self.tab_3 = QtWidgets.QWidget() + self.tab_3.setObjectName("tab_3") + self.verticalLayout_6 = QtWidgets.QVBoxLayout(self.tab_3) + self.verticalLayout_6.setObjectName("verticalLayout_6") + self.verticalLayout = QtWidgets.QVBoxLayout() + self.verticalLayout.setObjectName("verticalLayout") + self.check_valid_load = QtWidgets.QCheckBox(self.tab_3) + self.check_valid_load.setChecked(True) + self.check_valid_load.setObjectName("check_valid_load") + self.verticalLayout.addWidget(self.check_valid_load) + self.horizontalLayout_5 = QtWidgets.QHBoxLayout() + self.horizontalLayout_5.setObjectName("horizontalLayout_5") + spacerItem6 = QtWidgets.QSpacerItem(20, 20, QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Minimum) + self.horizontalLayout_5.addItem(spacerItem6) + self.check_valid_load_ignore = QtWidgets.QCheckBox(self.tab_3) + self.check_valid_load_ignore.setEnabled(True) + self.check_valid_load_ignore.setObjectName("check_valid_load_ignore") + self.horizontalLayout_5.addWidget(self.check_valid_load_ignore) + self.horizontalLayout_5.setStretch(1, 9) + self.verticalLayout.addLayout(self.horizontalLayout_5) + self.verticalLayout_6.addLayout(self.verticalLayout) + self.line_7 = QtWidgets.QFrame(self.tab_3) + self.line_7.setFrameShape(QtWidgets.QFrame.HLine) + self.line_7.setFrameShadow(QtWidgets.QFrame.Sunken) + self.line_7.setObjectName("line_7") + self.verticalLayout_6.addWidget(self.line_7) + self.verticalLayout_2 = QtWidgets.QVBoxLayout() + self.verticalLayout_2.setObjectName("verticalLayout_2") + self.check_warn_load = QtWidgets.QCheckBox(self.tab_3) + self.check_warn_load.setChecked(True) + self.check_warn_load.setObjectName("check_warn_load") + self.verticalLayout_2.addWidget(self.check_warn_load) + self.horizontalLayout_4 = QtWidgets.QHBoxLayout() + self.horizontalLayout_4.setObjectName("horizontalLayout_4") + spacerItem7 = QtWidgets.QSpacerItem(20, 20, QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Minimum) + self.horizontalLayout_4.addItem(spacerItem7) + self.check_warn_load_ignore = QtWidgets.QCheckBox(self.tab_3) + self.check_warn_load_ignore.setEnabled(True) + self.check_warn_load_ignore.setObjectName("check_warn_load_ignore") + self.horizontalLayout_4.addWidget(self.check_warn_load_ignore) + self.horizontalLayout_4.setStretch(1, 9) + self.verticalLayout_2.addLayout(self.horizontalLayout_4) + self.verticalLayout_6.addLayout(self.verticalLayout_2) + spacerItem8 = QtWidgets.QSpacerItem(20, 40, QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Expanding) + self.verticalLayout_6.addItem(spacerItem8) + self.tabWidget.addTab(self.tab_3, "") + self.tab_4 = QtWidgets.QWidget() + self.tab_4.setObjectName("tab_4") + self.verticalLayout_5 = QtWidgets.QVBoxLayout(self.tab_4) + self.verticalLayout_5.setObjectName("verticalLayout_5") + self.verticalLayout_4 = QtWidgets.QVBoxLayout() + self.verticalLayout_4.setSizeConstraint(QtWidgets.QLayout.SetMinimumSize) + self.verticalLayout_4.setObjectName("verticalLayout_4") + self.check_valid_save = QtWidgets.QCheckBox(self.tab_4) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Fixed) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.check_valid_save.sizePolicy().hasHeightForWidth()) + self.check_valid_save.setSizePolicy(sizePolicy) + self.check_valid_save.setChecked(True) + self.check_valid_save.setObjectName("check_valid_save") + self.verticalLayout_4.addWidget(self.check_valid_save) + self.horizontalLayout_3 = QtWidgets.QHBoxLayout() + self.horizontalLayout_3.setSizeConstraint(QtWidgets.QLayout.SetMinimumSize) + self.horizontalLayout_3.setContentsMargins(-1, 0, -1, -1) + self.horizontalLayout_3.setSpacing(6) + self.horizontalLayout_3.setObjectName("horizontalLayout_3") + spacerItem9 = QtWidgets.QSpacerItem(20, 20, QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Minimum) + self.horizontalLayout_3.addItem(spacerItem9) + self.check_valid_save_ignore = QtWidgets.QCheckBox(self.tab_4) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Fixed) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.check_valid_save_ignore.sizePolicy().hasHeightForWidth()) + self.check_valid_save_ignore.setSizePolicy(sizePolicy) + self.check_valid_save_ignore.setObjectName("check_valid_save_ignore") + self.horizontalLayout_3.addWidget(self.check_valid_save_ignore) + self.horizontalLayout_3.setStretch(1, 9) + self.verticalLayout_4.addLayout(self.horizontalLayout_3) + self.verticalLayout_5.addLayout(self.verticalLayout_4) + self.line_8 = QtWidgets.QFrame(self.tab_4) + self.line_8.setFrameShape(QtWidgets.QFrame.HLine) + self.line_8.setFrameShadow(QtWidgets.QFrame.Sunken) + self.line_8.setObjectName("line_8") + self.verticalLayout_5.addWidget(self.line_8) + self.verticalLayout_3 = QtWidgets.QVBoxLayout() + self.verticalLayout_3.setObjectName("verticalLayout_3") + self.check_warn_save = QtWidgets.QCheckBox(self.tab_4) + self.check_warn_save.setChecked(True) + self.check_warn_save.setObjectName("check_warn_save") + self.verticalLayout_3.addWidget(self.check_warn_save) + self.horizontalLayout_2 = QtWidgets.QHBoxLayout() + self.horizontalLayout_2.setObjectName("horizontalLayout_2") + spacerItem10 = QtWidgets.QSpacerItem(20, 20, QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Minimum) + self.horizontalLayout_2.addItem(spacerItem10) + self.check_warn_save_ignore = QtWidgets.QCheckBox(self.tab_4) + self.check_warn_save_ignore.setEnabled(True) + self.check_warn_save_ignore.setObjectName("check_warn_save_ignore") + self.horizontalLayout_2.addWidget(self.check_warn_save_ignore) + self.horizontalLayout_2.setStretch(1, 9) + self.verticalLayout_3.addLayout(self.horizontalLayout_2) + self.verticalLayout_5.addLayout(self.verticalLayout_3) + spacerItem11 = QtWidgets.QSpacerItem(20, 40, QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Expanding) + self.verticalLayout_5.addItem(spacerItem11) + self.tabWidget.addTab(self.tab_4, "") + self.tab_2 = QtWidgets.QWidget() + self.tab_2.setObjectName("tab_2") + self.verticalLayout_9 = QtWidgets.QVBoxLayout(self.tab_2) + self.verticalLayout_9.setObjectName("verticalLayout_9") + self.horizontalLayout = QtWidgets.QHBoxLayout() + self.horizontalLayout.setObjectName("horizontalLayout") + self.label_4 = QtWidgets.QLabel(self.tab_2) + font = QtGui.QFont() + font.setPointSize(10) + font.setBold(True) + font.setWeight(75) + self.label_4.setFont(font) + self.label_4.setObjectName("label_4") + self.horizontalLayout.addWidget(self.label_4) + self.label_3 = QtWidgets.QLabel(self.tab_2) + font = QtGui.QFont() + font.setPointSize(10) + font.setBold(True) + font.setWeight(75) + self.label_3.setFont(font) + self.label_3.setObjectName("label_3") + self.horizontalLayout.addWidget(self.label_3) + self.label_5 = QtWidgets.QLabel(self.tab_2) + font = QtGui.QFont() + font.setPointSize(10) + font.setBold(True) + font.setWeight(75) + self.label_5.setFont(font) + self.label_5.setObjectName("label_5") + self.horizontalLayout.addWidget(self.label_5) + self.verticalLayout_9.addLayout(self.horizontalLayout) + self.line_3 = QtWidgets.QFrame(self.tab_2) + self.line_3.setLineWidth(1) + self.line_3.setMidLineWidth(1) + self.line_3.setFrameShape(QtWidgets.QFrame.HLine) + self.line_3.setFrameShadow(QtWidgets.QFrame.Sunken) + self.line_3.setObjectName("line_3") + self.verticalLayout_9.addWidget(self.line_3) + self.horizontalLayout_10 = QtWidgets.QHBoxLayout() + self.horizontalLayout_10.setObjectName("horizontalLayout_10") + self.check_installSteps = QtWidgets.QCheckBox(self.tab_2) + self.check_installSteps.setChecked(True) + self.check_installSteps.setObjectName("check_installSteps") + self.horizontalLayout_10.addWidget(self.check_installSteps) + self.label_2 = QtWidgets.QLabel(self.tab_2) + self.label_2.setObjectName("label_2") + self.horizontalLayout_10.addWidget(self.label_2) + self.combo_installSteps = QtWidgets.QComboBox(self.tab_2) + self.combo_installSteps.setObjectName("combo_installSteps") + self.combo_installSteps.addItem("") + self.combo_installSteps.addItem("") + self.combo_installSteps.addItem("") + self.horizontalLayout_10.addWidget(self.combo_installSteps) + self.verticalLayout_9.addLayout(self.horizontalLayout_10) + self.line_4 = QtWidgets.QFrame(self.tab_2) + self.line_4.setFrameShape(QtWidgets.QFrame.HLine) + self.line_4.setFrameShadow(QtWidgets.QFrame.Sunken) + self.line_4.setObjectName("line_4") + self.verticalLayout_9.addWidget(self.line_4) + self.horizontalLayout_11 = QtWidgets.QHBoxLayout() + self.horizontalLayout_11.setObjectName("horizontalLayout_11") + self.check_optionalFileGroups = QtWidgets.QCheckBox(self.tab_2) + self.check_optionalFileGroups.setChecked(True) + self.check_optionalFileGroups.setObjectName("check_optionalFileGroups") + self.horizontalLayout_11.addWidget(self.check_optionalFileGroups) + self.label_6 = QtWidgets.QLabel(self.tab_2) + self.label_6.setObjectName("label_6") + self.horizontalLayout_11.addWidget(self.label_6) + self.combo_optionalFileGroups = QtWidgets.QComboBox(self.tab_2) + self.combo_optionalFileGroups.setObjectName("combo_optionalFileGroups") + self.combo_optionalFileGroups.addItem("") + self.combo_optionalFileGroups.addItem("") + self.combo_optionalFileGroups.addItem("") + self.horizontalLayout_11.addWidget(self.combo_optionalFileGroups) + self.verticalLayout_9.addLayout(self.horizontalLayout_11) + self.line_5 = QtWidgets.QFrame(self.tab_2) + self.line_5.setFrameShape(QtWidgets.QFrame.HLine) + self.line_5.setFrameShadow(QtWidgets.QFrame.Sunken) + self.line_5.setObjectName("line_5") + self.verticalLayout_9.addWidget(self.line_5) + self.horizontalLayout_12 = QtWidgets.QHBoxLayout() + self.horizontalLayout_12.setObjectName("horizontalLayout_12") + self.check_type = QtWidgets.QCheckBox(self.tab_2) + self.check_type.setChecked(True) + self.check_type.setObjectName("check_type") + self.horizontalLayout_12.addWidget(self.check_type) + self.label_7 = QtWidgets.QLabel(self.tab_2) + self.label_7.setObjectName("label_7") + self.horizontalLayout_12.addWidget(self.label_7) + self.combo_type = QtWidgets.QComboBox(self.tab_2) + self.combo_type.setObjectName("combo_type") + self.combo_type.addItem("") + self.combo_type.addItem("") + self.combo_type.addItem("") + self.combo_type.addItem("") + self.combo_type.addItem("") + self.horizontalLayout_12.addWidget(self.combo_type) + self.verticalLayout_9.addLayout(self.horizontalLayout_12) + self.line_6 = QtWidgets.QFrame(self.tab_2) + self.line_6.setFrameShape(QtWidgets.QFrame.HLine) + self.line_6.setFrameShadow(QtWidgets.QFrame.Sunken) + self.line_6.setObjectName("line_6") + self.verticalLayout_9.addWidget(self.line_6) + self.horizontalLayout_13 = QtWidgets.QHBoxLayout() + self.horizontalLayout_13.setObjectName("horizontalLayout_13") + self.check_defaultType = QtWidgets.QCheckBox(self.tab_2) + self.check_defaultType.setChecked(True) + self.check_defaultType.setObjectName("check_defaultType") + self.horizontalLayout_13.addWidget(self.check_defaultType) + self.label_8 = QtWidgets.QLabel(self.tab_2) + self.label_8.setObjectName("label_8") + self.horizontalLayout_13.addWidget(self.label_8) + self.combo_defaultType = QtWidgets.QComboBox(self.tab_2) + self.combo_defaultType.setObjectName("combo_defaultType") + self.combo_defaultType.addItem("") + self.combo_defaultType.addItem("") + self.combo_defaultType.addItem("") + self.combo_defaultType.addItem("") + self.combo_defaultType.addItem("") + self.horizontalLayout_13.addWidget(self.combo_defaultType) + self.verticalLayout_9.addLayout(self.horizontalLayout_13) + spacerItem12 = QtWidgets.QSpacerItem(20, 40, QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Expanding) + self.verticalLayout_9.addItem(spacerItem12) + self.tabWidget.addTab(self.tab_2, "") + self.verticalLayout_8.addWidget(self.tabWidget) + self.buttonBox = QtWidgets.QDialogButtonBox(Dialog) + self.buttonBox.setStandardButtons(QtWidgets.QDialogButtonBox.Cancel|QtWidgets.QDialogButtonBox.Ok) + self.buttonBox.setObjectName("buttonBox") + self.verticalLayout_8.addWidget(self.buttonBox) + + self.retranslateUi(Dialog) + self.tabWidget.setCurrentIndex(0) + QtCore.QMetaObject.connectSlotsByName(Dialog) + + def retranslateUi(self, Dialog): + _translate = QtCore.QCoreApplication.translate + Dialog.setWindowTitle(_translate("Dialog", "Settings")) + self.check_intro.setText(_translate("Dialog", "Show intro window at statup.")) + self.check_advanced.setText(_translate("Dialog", "Show the Advanced View at startup.")) + self.check_tutorial.setText(_translate("Dialog", "Show tutorial at startup.")) + self.label.setText(_translate("Dialog", "Preview Refresh Rate")) + self.combo_code_refresh.setItemText(0, _translate("Dialog", "Never")) + self.combo_code_refresh.setItemText(1, _translate("Dialog", "On Refresh")) + self.combo_code_refresh.setItemText(2, _translate("Dialog", "On Node Select")) + self.combo_code_refresh.setItemText(3, _translate("Dialog", "On Property Editing")) + self.tabWidget.setTabText(self.tabWidget.indexOf(self.tab), _translate("Dialog", "General")) + self.label_9.setText(_translate("Dialog", "Special Button Colours")) + self.label_10.setText(_translate("Dialog", "Required")) + self.button_colour_reset_required.setText(_translate("Dialog", "Reset to Default")) + self.label_11.setText(_translate("Dialog", "At Least One")) + self.button_colour_reset_atleastone.setText(_translate("Dialog", "Reset to Default")) + self.label_12.setText(_translate("Dialog", "Either")) + self.button_colour_reset_either.setText(_translate("Dialog", "Reset to Default")) + self.label_14.setText(_translate("Dialog", "Style")) + self.combo_style.setItemText(0, _translate("Dialog", "Default")) + self.combo_style.setItemText(1, _translate("Dialog", "Windows")) + self.combo_style.setItemText(2, _translate("Dialog", "Fusion")) + self.label_13.setText(_translate("Dialog", "This setting requires a restart to take effect.")) + self.label_16.setText(_translate("Dialog", "Palette")) + self.combo_palette.setItemText(0, _translate("Dialog", "Default")) + self.combo_palette.setItemText(1, _translate("Dialog", "aliceblue")) + self.combo_palette.setItemText(2, _translate("Dialog", "antiquewhite")) + self.combo_palette.setItemText(3, _translate("Dialog", "aqua")) + self.combo_palette.setItemText(4, _translate("Dialog", "aquamarine")) + self.combo_palette.setItemText(5, _translate("Dialog", "azure")) + self.combo_palette.setItemText(6, _translate("Dialog", "beige")) + self.combo_palette.setItemText(7, _translate("Dialog", "bisque")) + self.combo_palette.setItemText(8, _translate("Dialog", "black")) + self.combo_palette.setItemText(9, _translate("Dialog", "blanchedalmond")) + self.combo_palette.setItemText(10, _translate("Dialog", "blue")) + self.combo_palette.setItemText(11, _translate("Dialog", "blueviolet")) + self.combo_palette.setItemText(12, _translate("Dialog", "brown")) + self.combo_palette.setItemText(13, _translate("Dialog", "burlywood")) + self.combo_palette.setItemText(14, _translate("Dialog", "cadetblue")) + self.combo_palette.setItemText(15, _translate("Dialog", "chartreuse")) + self.combo_palette.setItemText(16, _translate("Dialog", "chocolate")) + self.combo_palette.setItemText(17, _translate("Dialog", "coral")) + self.combo_palette.setItemText(18, _translate("Dialog", "cornflowerblue")) + self.combo_palette.setItemText(19, _translate("Dialog", "cornsilk")) + self.combo_palette.setItemText(20, _translate("Dialog", "crimson")) + self.combo_palette.setItemText(21, _translate("Dialog", "cyan")) + self.combo_palette.setItemText(22, _translate("Dialog", "darkblue")) + self.combo_palette.setItemText(23, _translate("Dialog", "darkcyan")) + self.combo_palette.setItemText(24, _translate("Dialog", "darkgoldenrod")) + self.combo_palette.setItemText(25, _translate("Dialog", "darkgray")) + self.combo_palette.setItemText(26, _translate("Dialog", "darkgreen")) + self.combo_palette.setItemText(27, _translate("Dialog", "darkgrey")) + self.combo_palette.setItemText(28, _translate("Dialog", "darkkhaki")) + self.combo_palette.setItemText(29, _translate("Dialog", "darkmagenta")) + self.combo_palette.setItemText(30, _translate("Dialog", "darkolivegreen")) + self.combo_palette.setItemText(31, _translate("Dialog", "darkorange")) + self.combo_palette.setItemText(32, _translate("Dialog", "darkorchid")) + self.combo_palette.setItemText(33, _translate("Dialog", "darkred")) + self.combo_palette.setItemText(34, _translate("Dialog", "darksalmon")) + self.combo_palette.setItemText(35, _translate("Dialog", "darkseagreen")) + self.combo_palette.setItemText(36, _translate("Dialog", "darkslateblue")) + self.combo_palette.setItemText(37, _translate("Dialog", "darkslategray")) + self.combo_palette.setItemText(38, _translate("Dialog", "darkturquoise")) + self.combo_palette.setItemText(39, _translate("Dialog", "darkviolet")) + self.combo_palette.setItemText(40, _translate("Dialog", "deeppink")) + self.combo_palette.setItemText(41, _translate("Dialog", "deepskyblue")) + self.combo_palette.setItemText(42, _translate("Dialog", "dimgray")) + self.combo_palette.setItemText(43, _translate("Dialog", "dodgerblue")) + self.combo_palette.setItemText(44, _translate("Dialog", "firebrick")) + self.combo_palette.setItemText(45, _translate("Dialog", "floralwhite")) + self.combo_palette.setItemText(46, _translate("Dialog", "forestgreen")) + self.combo_palette.setItemText(47, _translate("Dialog", "fuchsia")) + self.combo_palette.setItemText(48, _translate("Dialog", "gainsboro")) + self.combo_palette.setItemText(49, _translate("Dialog", "ghostwhite")) + self.combo_palette.setItemText(50, _translate("Dialog", "gold")) + self.combo_palette.setItemText(51, _translate("Dialog", "goldenrod")) + self.combo_palette.setItemText(52, _translate("Dialog", "gray")) + self.combo_palette.setItemText(53, _translate("Dialog", "green")) + self.combo_palette.setItemText(54, _translate("Dialog", "greenyellow")) + self.combo_palette.setItemText(55, _translate("Dialog", "honeydew")) + self.combo_palette.setItemText(56, _translate("Dialog", "hotpink")) + self.combo_palette.setItemText(57, _translate("Dialog", "indianred")) + self.combo_palette.setItemText(58, _translate("Dialog", "indigo")) + self.combo_palette.setItemText(59, _translate("Dialog", "ivory")) + self.combo_palette.setItemText(60, _translate("Dialog", "khaki")) + self.combo_palette.setItemText(61, _translate("Dialog", "lavender")) + self.combo_palette.setItemText(62, _translate("Dialog", "lavenderblush")) + self.combo_palette.setItemText(63, _translate("Dialog", "lawngreen")) + self.combo_palette.setItemText(64, _translate("Dialog", "lemonchiffon")) + self.combo_palette.setItemText(65, _translate("Dialog", "lightblue")) + self.combo_palette.setItemText(66, _translate("Dialog", "lightcoral")) + self.combo_palette.setItemText(67, _translate("Dialog", "lightcyan")) + self.combo_palette.setItemText(68, _translate("Dialog", "lightgoldenrodyellow")) + self.combo_palette.setItemText(69, _translate("Dialog", "lightgray")) + self.combo_palette.setItemText(70, _translate("Dialog", "lightgreen")) + self.combo_palette.setItemText(71, _translate("Dialog", "lightpink")) + self.combo_palette.setItemText(72, _translate("Dialog", "lightsalmon")) + self.combo_palette.setItemText(73, _translate("Dialog", "lightseagreen")) + self.combo_palette.setItemText(74, _translate("Dialog", "lightskyblue")) + self.combo_palette.setItemText(75, _translate("Dialog", "lightslategray")) + self.combo_palette.setItemText(76, _translate("Dialog", "lightsteelblue")) + self.combo_palette.setItemText(77, _translate("Dialog", "lightyellow")) + self.combo_palette.setItemText(78, _translate("Dialog", "lime")) + self.combo_palette.setItemText(79, _translate("Dialog", "limegreen")) + self.combo_palette.setItemText(80, _translate("Dialog", "linen")) + self.combo_palette.setItemText(81, _translate("Dialog", "magenta")) + self.combo_palette.setItemText(82, _translate("Dialog", "maroon")) + self.combo_palette.setItemText(83, _translate("Dialog", "mediumaquamarine")) + self.combo_palette.setItemText(84, _translate("Dialog", "mediumblue")) + self.combo_palette.setItemText(85, _translate("Dialog", "mediumorchid")) + self.combo_palette.setItemText(86, _translate("Dialog", "mediumpurple")) + self.combo_palette.setItemText(87, _translate("Dialog", "mediumseagreen")) + self.combo_palette.setItemText(88, _translate("Dialog", "mediumslateblue")) + self.combo_palette.setItemText(89, _translate("Dialog", "mediumspringgreen")) + self.combo_palette.setItemText(90, _translate("Dialog", "mediumturquoise")) + self.combo_palette.setItemText(91, _translate("Dialog", "mediumvioletred")) + self.combo_palette.setItemText(92, _translate("Dialog", "midnightblue")) + self.combo_palette.setItemText(93, _translate("Dialog", "mintcream")) + self.combo_palette.setItemText(94, _translate("Dialog", "mistyrose")) + self.combo_palette.setItemText(95, _translate("Dialog", "moccasin")) + self.combo_palette.setItemText(96, _translate("Dialog", "navajowhite")) + self.combo_palette.setItemText(97, _translate("Dialog", "navy")) + self.combo_palette.setItemText(98, _translate("Dialog", "oldlace")) + self.combo_palette.setItemText(99, _translate("Dialog", "olive")) + self.combo_palette.setItemText(100, _translate("Dialog", "olivedrab")) + self.combo_palette.setItemText(101, _translate("Dialog", "orange")) + self.combo_palette.setItemText(102, _translate("Dialog", "orangered")) + self.combo_palette.setItemText(103, _translate("Dialog", "orchid")) + self.combo_palette.setItemText(104, _translate("Dialog", "palegoldenrod")) + self.combo_palette.setItemText(105, _translate("Dialog", "palegreen")) + self.combo_palette.setItemText(106, _translate("Dialog", "paleturquoise")) + self.combo_palette.setItemText(107, _translate("Dialog", "palevioletred")) + self.combo_palette.setItemText(108, _translate("Dialog", "papayawhip")) + self.combo_palette.setItemText(109, _translate("Dialog", "peachpuff")) + self.combo_palette.setItemText(110, _translate("Dialog", "peru")) + self.combo_palette.setItemText(111, _translate("Dialog", "pink")) + self.combo_palette.setItemText(112, _translate("Dialog", "plum")) + self.combo_palette.setItemText(113, _translate("Dialog", "powderblue")) + self.combo_palette.setItemText(114, _translate("Dialog", "purple")) + self.combo_palette.setItemText(115, _translate("Dialog", "red")) + self.combo_palette.setItemText(116, _translate("Dialog", "rosybrown")) + self.combo_palette.setItemText(117, _translate("Dialog", "royalblue")) + self.combo_palette.setItemText(118, _translate("Dialog", "saddlebrown")) + self.combo_palette.setItemText(119, _translate("Dialog", "salmon")) + self.combo_palette.setItemText(120, _translate("Dialog", "sandybrown")) + self.combo_palette.setItemText(121, _translate("Dialog", "seagreen")) + self.combo_palette.setItemText(122, _translate("Dialog", "seashell")) + self.combo_palette.setItemText(123, _translate("Dialog", "sienna")) + self.combo_palette.setItemText(124, _translate("Dialog", "silver")) + self.combo_palette.setItemText(125, _translate("Dialog", "skyblue")) + self.combo_palette.setItemText(126, _translate("Dialog", "slateblue")) + self.combo_palette.setItemText(127, _translate("Dialog", "slategray")) + self.combo_palette.setItemText(128, _translate("Dialog", "snow")) + self.combo_palette.setItemText(129, _translate("Dialog", "springgreen")) + self.combo_palette.setItemText(130, _translate("Dialog", "steelblue")) + self.combo_palette.setItemText(131, _translate("Dialog", "tan")) + self.combo_palette.setItemText(132, _translate("Dialog", "teal")) + self.combo_palette.setItemText(133, _translate("Dialog", "thistle")) + self.combo_palette.setItemText(134, _translate("Dialog", "tomato")) + self.combo_palette.setItemText(135, _translate("Dialog", "turquoise")) + self.combo_palette.setItemText(136, _translate("Dialog", "violet")) + self.combo_palette.setItemText(137, _translate("Dialog", "wheat")) + self.combo_palette.setItemText(138, _translate("Dialog", "white")) + self.combo_palette.setItemText(139, _translate("Dialog", "whitesmoke")) + self.combo_palette.setItemText(140, _translate("Dialog", "yellow")) + self.combo_palette.setItemText(141, _translate("Dialog", "yellowgreen")) + self.label_15.setText(_translate("Dialog", "This setting requires a restart to take effect.")) + self.tabWidget.setTabText(self.tabWidget.indexOf(self.tab_5), _translate("Dialog", "Appearance")) + self.check_valid_load.setText(_translate("Dialog", "Validate installer.")) + self.check_valid_load_ignore.setText(_translate("Dialog", "Ignore errors and continue loading.")) + self.check_warn_load.setText(_translate("Dialog", "Check installer for common errors.")) + self.check_warn_load_ignore.setText(_translate("Dialog", "Ignore errors and continue loading.")) + self.tabWidget.setTabText(self.tabWidget.indexOf(self.tab_3), _translate("Dialog", "Loading")) + self.check_valid_save.setText(_translate("Dialog", "Validate installer.")) + self.check_valid_save_ignore.setText(_translate("Dialog", "Ignore errors and continue saving.")) + self.check_warn_save.setText(_translate("Dialog", "Check installer for common errors.")) + self.check_warn_save_ignore.setText(_translate("Dialog", "Ignore errors and continue saving.")) + self.tabWidget.setTabText(self.tabWidget.indexOf(self.tab_4), _translate("Dialog", "Saving")) + self.label_4.setText(_translate("Dialog", "Node Name")) + self.label_3.setText(_translate("Dialog", "Property Name")) + self.label_5.setText(_translate("Dialog", "Default Value")) + self.check_installSteps.setText(_translate("Dialog", "Installation Steps")) + self.label_2.setText(_translate("Dialog", "Order")) + self.combo_installSteps.setItemText(0, _translate("Dialog", "Explicit")) + self.combo_installSteps.setItemText(1, _translate("Dialog", "Ascending")) + self.combo_installSteps.setItemText(2, _translate("Dialog", "Descending")) + self.check_optionalFileGroups.setText(_translate("Dialog", "Option Group")) + self.label_6.setText(_translate("Dialog", "Order")) + self.combo_optionalFileGroups.setItemText(0, _translate("Dialog", "Explicit")) + self.combo_optionalFileGroups.setItemText(1, _translate("Dialog", "Ascending")) + self.combo_optionalFileGroups.setItemText(2, _translate("Dialog", "Descending")) + self.check_type.setText(_translate("Dialog", "Type")) + self.label_7.setText(_translate("Dialog", "Type")) + self.combo_type.setItemText(0, _translate("Dialog", "Optional")) + self.combo_type.setItemText(1, _translate("Dialog", "Required")) + self.combo_type.setItemText(2, _translate("Dialog", "Recommended")) + self.combo_type.setItemText(3, _translate("Dialog", "CouldBeUsable")) + self.combo_type.setItemText(4, _translate("Dialog", "NotUsable")) + self.check_defaultType.setText(_translate("Dialog", "Default Type")) + self.label_8.setText(_translate("Dialog", "Type")) + self.combo_defaultType.setItemText(0, _translate("Dialog", "Optional")) + self.combo_defaultType.setItemText(1, _translate("Dialog", "Required")) + self.combo_defaultType.setItemText(2, _translate("Dialog", "Recommended")) + self.combo_defaultType.setItemText(3, _translate("Dialog", "CouldBeUsable")) + self.combo_defaultType.setItemText(4, _translate("Dialog", "NotUsable")) + self.tabWidget.setTabText(self.tabWidget.indexOf(self.tab_2), _translate("Dialog", "Defaults")) + diff --git a/designer/ui_templates/window_texteditor.py b/designer/ui_templates/window_texteditor.py new file mode 100644 index 0000000..d205b82 --- /dev/null +++ b/designer/ui_templates/window_texteditor.py @@ -0,0 +1,145 @@ +# -*- coding: utf-8 -*- + +# Form implementation generated from reading ui file 'resources/templates/window_texteditor.ui' +# +# Created by: PyQt5 UI code generator 5.5.1 +# +# WARNING! All changes made in this file will be lost! + +from PyQt5 import QtCore, QtGui, QtWidgets + +class Ui_Dialog(object): + def setupUi(self, Dialog): + Dialog.setObjectName("Dialog") + Dialog.resize(235, 219) + self.verticalLayout = QtWidgets.QVBoxLayout(Dialog) + self.verticalLayout.setObjectName("verticalLayout") + self.horizontalLayout_2 = QtWidgets.QHBoxLayout() + self.horizontalLayout_2.setObjectName("horizontalLayout_2") + self.label = QtWidgets.QLabel(Dialog) + self.label.setObjectName("label") + self.horizontalLayout_2.addWidget(self.label) + self.radio_plain = QtWidgets.QRadioButton(Dialog) + self.radio_plain.setChecked(True) + self.radio_plain.setObjectName("radio_plain") + self.horizontalLayout_2.addWidget(self.radio_plain) + self.radio_html = QtWidgets.QRadioButton(Dialog) + self.radio_html.setObjectName("radio_html") + self.horizontalLayout_2.addWidget(self.radio_html) + spacerItem = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Minimum) + self.horizontalLayout_2.addItem(spacerItem) + self.verticalLayout.addLayout(self.horizontalLayout_2) + self.horizontalLayout = QtWidgets.QHBoxLayout() + self.horizontalLayout.setSpacing(0) + self.horizontalLayout.setObjectName("horizontalLayout") + self.button_colour = QtWidgets.QPushButton(Dialog) + self.button_colour.setMaximumSize(QtCore.QSize(48, 16777215)) + self.button_colour.setText("") + icon = QtGui.QIcon() + icon.addPixmap(QtGui.QPixmap("../logos/logo_font_colour.png"), QtGui.QIcon.Normal, QtGui.QIcon.Off) + self.button_colour.setIcon(icon) + self.button_colour.setObjectName("button_colour") + self.horizontalLayout.addWidget(self.button_colour) + self.button_bold = QtWidgets.QPushButton(Dialog) + self.button_bold.setMaximumSize(QtCore.QSize(48, 16777215)) + self.button_bold.setText("") + icon1 = QtGui.QIcon() + icon1.addPixmap(QtGui.QPixmap("../logos/logo_font_bold.png"), QtGui.QIcon.Normal, QtGui.QIcon.Off) + self.button_bold.setIcon(icon1) + self.button_bold.setObjectName("button_bold") + self.horizontalLayout.addWidget(self.button_bold) + self.button_italic = QtWidgets.QPushButton(Dialog) + self.button_italic.setMaximumSize(QtCore.QSize(48, 16777215)) + self.button_italic.setText("") + icon2 = QtGui.QIcon() + icon2.addPixmap(QtGui.QPixmap("../logos/logo_font_italic.png"), QtGui.QIcon.Normal, QtGui.QIcon.Off) + self.button_italic.setIcon(icon2) + self.button_italic.setObjectName("button_italic") + self.horizontalLayout.addWidget(self.button_italic) + self.button_underline = QtWidgets.QPushButton(Dialog) + self.button_underline.setMaximumSize(QtCore.QSize(48, 16777215)) + self.button_underline.setText("") + icon3 = QtGui.QIcon() + icon3.addPixmap(QtGui.QPixmap("../logos/logo_font_underline.png"), QtGui.QIcon.Normal, QtGui.QIcon.Off) + self.button_underline.setIcon(icon3) + self.button_underline.setObjectName("button_underline") + self.horizontalLayout.addWidget(self.button_underline) + self.button_align_left = QtWidgets.QPushButton(Dialog) + self.button_align_left.setMaximumSize(QtCore.QSize(48, 16777215)) + self.button_align_left.setText("") + icon4 = QtGui.QIcon() + icon4.addPixmap(QtGui.QPixmap("../logos/logo_font_align_left.png"), QtGui.QIcon.Normal, QtGui.QIcon.Off) + self.button_align_left.setIcon(icon4) + self.button_align_left.setObjectName("button_align_left") + self.horizontalLayout.addWidget(self.button_align_left) + self.button_align_center = QtWidgets.QPushButton(Dialog) + self.button_align_center.setMaximumSize(QtCore.QSize(48, 16777215)) + self.button_align_center.setText("") + icon5 = QtGui.QIcon() + icon5.addPixmap(QtGui.QPixmap("../logos/logo_font_align_center.png"), QtGui.QIcon.Normal, QtGui.QIcon.Off) + self.button_align_center.setIcon(icon5) + self.button_align_center.setObjectName("button_align_center") + self.horizontalLayout.addWidget(self.button_align_center) + self.button_align_right = QtWidgets.QPushButton(Dialog) + self.button_align_right.setMaximumSize(QtCore.QSize(48, 16777215)) + self.button_align_right.setText("") + icon6 = QtGui.QIcon() + icon6.addPixmap(QtGui.QPixmap("../logos/logo_font_align_right.png"), QtGui.QIcon.Normal, QtGui.QIcon.Off) + self.button_align_right.setIcon(icon6) + self.button_align_right.setObjectName("button_align_right") + self.horizontalLayout.addWidget(self.button_align_right) + self.button_align_justify = QtWidgets.QPushButton(Dialog) + self.button_align_justify.setMaximumSize(QtCore.QSize(48, 16777215)) + self.button_align_justify.setText("") + icon7 = QtGui.QIcon() + icon7.addPixmap(QtGui.QPixmap("../logos/logo_font_align_justify.png"), QtGui.QIcon.Normal, QtGui.QIcon.Off) + self.button_align_justify.setIcon(icon7) + self.button_align_justify.setObjectName("button_align_justify") + self.horizontalLayout.addWidget(self.button_align_justify) + spacerItem1 = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Minimum) + self.horizontalLayout.addItem(spacerItem1) + self.verticalLayout.addLayout(self.horizontalLayout) + self.edit_text = QtWidgets.QTextEdit(Dialog) + self.edit_text.setObjectName("edit_text") + self.verticalLayout.addWidget(self.edit_text) + self.widget_warning = QtWidgets.QWidget(Dialog) + self.widget_warning.setObjectName("widget_warning") + self.horizontalLayout_3 = QtWidgets.QHBoxLayout(self.widget_warning) + self.horizontalLayout_3.setContentsMargins(0, 0, 0, 0) + self.horizontalLayout_3.setSpacing(3) + self.horizontalLayout_3.setObjectName("horizontalLayout_3") + spacerItem2 = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Minimum) + self.horizontalLayout_3.addItem(spacerItem2) + self.label_warning = QtWidgets.QLabel(self.widget_warning) + self.label_warning.setMaximumSize(QtCore.QSize(20, 20)) + self.label_warning.setText("") + self.label_warning.setPixmap(QtGui.QPixmap("../logos/logo_danger.png")) + self.label_warning.setScaledContents(True) + self.label_warning.setObjectName("label_warning") + self.horizontalLayout_3.addWidget(self.label_warning) + self.label_2 = QtWidgets.QLabel(self.widget_warning) + self.label_2.setObjectName("label_2") + self.horizontalLayout_3.addWidget(self.label_2) + spacerItem3 = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Minimum) + self.horizontalLayout_3.addItem(spacerItem3) + self.verticalLayout.addWidget(self.widget_warning) + self.buttonBox = QtWidgets.QDialogButtonBox(Dialog) + self.buttonBox.setOrientation(QtCore.Qt.Horizontal) + self.buttonBox.setStandardButtons(QtWidgets.QDialogButtonBox.Cancel|QtWidgets.QDialogButtonBox.Ok) + self.buttonBox.setCenterButtons(True) + self.buttonBox.setObjectName("buttonBox") + self.verticalLayout.addWidget(self.buttonBox) + + self.retranslateUi(Dialog) + self.buttonBox.accepted.connect(Dialog.accept) + self.buttonBox.rejected.connect(Dialog.reject) + QtCore.QMetaObject.connectSlotsByName(Dialog) + + def retranslateUi(self, Dialog): + _translate = QtCore.QCoreApplication.translate + Dialog.setWindowTitle(_translate("Dialog", "Text Editor")) + self.label.setText(_translate("Dialog", "Output:")) + self.radio_plain.setText(_translate("Dialog", "To Plain Text")) + self.radio_html.setText(_translate("Dialog", "To HTML")) + self.label_2.setText(_translate("Dialog", "This may not work in all mod managers.")) + diff --git a/designer/ui_templates/wizard_depend_01.py b/designer/ui_templates/wizard_depend_01.py new file mode 100644 index 0000000..a54c04a --- /dev/null +++ b/designer/ui_templates/wizard_depend_01.py @@ -0,0 +1,175 @@ +# -*- coding: utf-8 -*- + +# Form implementation generated from reading ui file 'resources/templates/wizard_depend_01.ui' +# +# Created by: PyQt5 UI code generator 5.5.1 +# +# WARNING! All changes made in this file will be lost! + +from PyQt5 import QtCore, QtGui, QtWidgets + +class Ui_Form(object): + def setupUi(self, Form): + Form.setObjectName("Form") + Form.resize(470, 560) + self.verticalLayout = QtWidgets.QVBoxLayout(Form) + self.verticalLayout.setObjectName("verticalLayout") + self.label_4 = QtWidgets.QLabel(Form) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Preferred) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.label_4.sizePolicy().hasHeightForWidth()) + self.label_4.setSizePolicy(sizePolicy) + self.label_4.setMinimumSize(QtCore.QSize(0, 40)) + font = QtGui.QFont() + font.setPointSize(14) + font.setBold(True) + font.setWeight(75) + self.label_4.setFont(font) + self.label_4.setAlignment(QtCore.Qt.AlignCenter) + self.label_4.setObjectName("label_4") + self.verticalLayout.addWidget(self.label_4) + self.label = QtWidgets.QLabel(Form) + self.label.setObjectName("label") + self.verticalLayout.addWidget(self.label) + self.formLayout = QtWidgets.QFormLayout() + self.formLayout.setObjectName("formLayout") + self.typeLabel = QtWidgets.QLabel(Form) + self.typeLabel.setObjectName("typeLabel") + self.formLayout.setWidget(0, QtWidgets.QFormLayout.LabelRole, self.typeLabel) + self.typeComboBox = QtWidgets.QComboBox(Form) + self.typeComboBox.setObjectName("typeComboBox") + self.typeComboBox.addItem("") + self.typeComboBox.addItem("") + self.formLayout.setWidget(0, QtWidgets.QFormLayout.FieldRole, self.typeComboBox) + self.gameVersionLabel = QtWidgets.QLabel(Form) + self.gameVersionLabel.setObjectName("gameVersionLabel") + self.formLayout.setWidget(1, QtWidgets.QFormLayout.LabelRole, self.gameVersionLabel) + self.gameVersionLineEdit = QtWidgets.QLineEdit(Form) + self.gameVersionLineEdit.setObjectName("gameVersionLineEdit") + self.formLayout.setWidget(1, QtWidgets.QFormLayout.FieldRole, self.gameVersionLineEdit) + self.verticalLayout.addLayout(self.formLayout) + self.label_2 = QtWidgets.QLabel(Form) + font = QtGui.QFont() + font.setBold(True) + font.setWeight(75) + self.label_2.setFont(font) + self.label_2.setAlignment(QtCore.Qt.AlignCenter) + self.label_2.setObjectName("label_2") + self.verticalLayout.addWidget(self.label_2) + self.button_file = QtWidgets.QPushButton(Form) + self.button_file.setObjectName("button_file") + self.verticalLayout.addWidget(self.button_file) + self.scrollArea_2 = QtWidgets.QScrollArea(Form) + self.scrollArea_2.setFrameShadow(QtWidgets.QFrame.Plain) + self.scrollArea_2.setVerticalScrollBarPolicy(QtCore.Qt.ScrollBarAlwaysOn) + self.scrollArea_2.setWidgetResizable(True) + self.scrollArea_2.setObjectName("scrollArea_2") + self.scrollAreaWidgetContents_2 = QtWidgets.QWidget() + self.scrollAreaWidgetContents_2.setGeometry(QtCore.QRect(0, 0, 433, 68)) + self.scrollAreaWidgetContents_2.setObjectName("scrollAreaWidgetContents_2") + self.layout_file = QtWidgets.QVBoxLayout(self.scrollAreaWidgetContents_2) + self.layout_file.setContentsMargins(0, 0, 0, 0) + self.layout_file.setObjectName("layout_file") + spacerItem = QtWidgets.QSpacerItem(20, 58, QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Expanding) + self.layout_file.addItem(spacerItem) + self.scrollArea_2.setWidget(self.scrollAreaWidgetContents_2) + self.verticalLayout.addWidget(self.scrollArea_2) + self.label_5 = QtWidgets.QLabel(Form) + font = QtGui.QFont() + font.setBold(True) + font.setWeight(75) + self.label_5.setFont(font) + self.label_5.setAlignment(QtCore.Qt.AlignCenter) + self.label_5.setObjectName("label_5") + self.verticalLayout.addWidget(self.label_5) + self.button_flag = QtWidgets.QPushButton(Form) + self.button_flag.setObjectName("button_flag") + self.verticalLayout.addWidget(self.button_flag) + self.scrollArea = QtWidgets.QScrollArea(Form) + self.scrollArea.setFrameShape(QtWidgets.QFrame.StyledPanel) + self.scrollArea.setFrameShadow(QtWidgets.QFrame.Plain) + self.scrollArea.setVerticalScrollBarPolicy(QtCore.Qt.ScrollBarAlwaysOn) + self.scrollArea.setWidgetResizable(True) + self.scrollArea.setObjectName("scrollArea") + self.scrollAreaWidgetContents = QtWidgets.QWidget() + self.scrollAreaWidgetContents.setGeometry(QtCore.QRect(0, 0, 433, 68)) + self.scrollAreaWidgetContents.setObjectName("scrollAreaWidgetContents") + self.layout_flag = QtWidgets.QVBoxLayout(self.scrollAreaWidgetContents) + self.layout_flag.setContentsMargins(0, 0, 0, 0) + self.layout_flag.setObjectName("layout_flag") + spacerItem1 = QtWidgets.QSpacerItem(20, 58, QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Expanding) + self.layout_flag.addItem(spacerItem1) + self.scrollArea.setWidget(self.scrollAreaWidgetContents) + self.verticalLayout.addWidget(self.scrollArea) + self.label_3 = QtWidgets.QLabel(Form) + font = QtGui.QFont() + font.setBold(True) + font.setWeight(75) + self.label_3.setFont(font) + self.label_3.setAlignment(QtCore.Qt.AlignCenter) + self.label_3.setObjectName("label_3") + self.verticalLayout.addWidget(self.label_3) + self.button_sub = QtWidgets.QPushButton(Form) + self.button_sub.setObjectName("button_sub") + self.verticalLayout.addWidget(self.button_sub) + self.scrollArea_3 = QtWidgets.QScrollArea(Form) + self.scrollArea_3.setFrameShape(QtWidgets.QFrame.StyledPanel) + self.scrollArea_3.setVerticalScrollBarPolicy(QtCore.Qt.ScrollBarAlwaysOn) + self.scrollArea_3.setWidgetResizable(True) + self.scrollArea_3.setObjectName("scrollArea_3") + self.scrollAreaWidgetContents_3 = QtWidgets.QWidget() + self.scrollAreaWidgetContents_3.setGeometry(QtCore.QRect(0, 0, 433, 68)) + self.scrollAreaWidgetContents_3.setObjectName("scrollAreaWidgetContents_3") + self.layout_depend = QtWidgets.QVBoxLayout(self.scrollAreaWidgetContents_3) + self.layout_depend.setContentsMargins(0, 0, 0, 0) + self.layout_depend.setObjectName("layout_depend") + spacerItem2 = QtWidgets.QSpacerItem(20, 60, QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Expanding) + self.layout_depend.addItem(spacerItem2) + self.scrollArea_3.setWidget(self.scrollAreaWidgetContents_3) + self.verticalLayout.addWidget(self.scrollArea_3) + self.horizontalLayout = QtWidgets.QHBoxLayout() + self.horizontalLayout.setObjectName("horizontalLayout") + spacerItem3 = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Minimum) + self.horizontalLayout.addItem(spacerItem3) + self.finish_button = QtWidgets.QPushButton(Form) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Fixed, QtWidgets.QSizePolicy.Fixed) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.finish_button.sizePolicy().hasHeightForWidth()) + self.finish_button.setSizePolicy(sizePolicy) + self.finish_button.setObjectName("finish_button") + self.horizontalLayout.addWidget(self.finish_button) + self.cancel_button = QtWidgets.QPushButton(Form) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Fixed, QtWidgets.QSizePolicy.Fixed) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.cancel_button.sizePolicy().hasHeightForWidth()) + self.cancel_button.setSizePolicy(sizePolicy) + self.cancel_button.setObjectName("cancel_button") + self.horizontalLayout.addWidget(self.cancel_button) + spacerItem4 = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Minimum) + self.horizontalLayout.addItem(spacerItem4) + self.verticalLayout.addLayout(self.horizontalLayout) + + self.retranslateUi(Form) + QtCore.QMetaObject.connectSlotsByName(Form) + + def retranslateUi(self, Form): + _translate = QtCore.QCoreApplication.translate + Form.setWindowTitle(_translate("Form", "Form")) + self.label_4.setText(_translate("Form", "Dependencies Wizard")) + self.label.setText(_translate("Form", "TODO
See the Help for more information.
")) + self.typeLabel.setText(_translate("Form", "Type")) + self.typeComboBox.setItemText(0, _translate("Form", "And")) + self.typeComboBox.setItemText(1, _translate("Form", "Or")) + self.gameVersionLabel.setText(_translate("Form", "Game Version")) + self.label_2.setText(_translate("Form", "File Dependencies")) + self.button_file.setText(_translate("Form", "Add File")) + self.label_5.setText(_translate("Form", "Flag Dependencies")) + self.button_flag.setText(_translate("Form", "Add Flag")) + self.label_3.setText(_translate("Form", "Sub-Dependencies")) + self.button_sub.setText(_translate("Form", "Add Sub")) + self.finish_button.setText(_translate("Form", "Finish")) + self.cancel_button.setText(_translate("Form", "Cancel")) + diff --git a/designer/ui_templates/wizard_depend_depend.py b/designer/ui_templates/wizard_depend_depend.py new file mode 100644 index 0000000..db0a9db --- /dev/null +++ b/designer/ui_templates/wizard_depend_depend.py @@ -0,0 +1,76 @@ +# -*- coding: utf-8 -*- + +# Form implementation generated from reading ui file 'resources/templates/wizard_depend_depend.ui' +# +# Created by: PyQt5 UI code generator 5.5.1 +# +# WARNING! All changes made in this file will be lost! + +from PyQt5 import QtCore, QtGui, QtWidgets + +class Ui_Form(object): + def setupUi(self, Form): + Form.setObjectName("Form") + Form.resize(550, 130) + self.verticalLayout_2 = QtWidgets.QVBoxLayout(Form) + self.verticalLayout_2.setContentsMargins(3, 3, 3, 3) + self.verticalLayout_2.setObjectName("verticalLayout_2") + self.horizontalLayout = QtWidgets.QHBoxLayout() + self.horizontalLayout.setObjectName("horizontalLayout") + self.label = QtWidgets.QLabel(Form) + self.label.setAlignment(QtCore.Qt.AlignRight|QtCore.Qt.AlignTrailing|QtCore.Qt.AlignVCenter) + self.label.setObjectName("label") + self.horizontalLayout.addWidget(self.label) + self.label_type = QtWidgets.QLabel(Form) + self.label_type.setText("") + self.label_type.setObjectName("label_type") + self.horizontalLayout.addWidget(self.label_type) + self.button_more = QtWidgets.QPushButton(Form) + self.button_more.setObjectName("button_more") + self.horizontalLayout.addWidget(self.button_more) + self.button_less = QtWidgets.QPushButton(Form) + self.button_less.setObjectName("button_less") + self.horizontalLayout.addWidget(self.button_less) + self.button_edit = QtWidgets.QPushButton(Form) + self.button_edit.setObjectName("button_edit") + self.horizontalLayout.addWidget(self.button_edit) + self.button_delete = QtWidgets.QPushButton(Form) + self.button_delete.setMaximumSize(QtCore.QSize(30, 16777215)) + self.button_delete.setText("") + icon = QtGui.QIcon() + icon.addPixmap(QtGui.QPixmap("../logos/logo_cross.png"), QtGui.QIcon.Normal, QtGui.QIcon.Off) + self.button_delete.setIcon(icon) + self.button_delete.setObjectName("button_delete") + self.horizontalLayout.addWidget(self.button_delete) + self.verticalLayout_2.addLayout(self.horizontalLayout) + self.line = QtWidgets.QFrame(Form) + self.line.setFrameShape(QtWidgets.QFrame.HLine) + self.line.setFrameShadow(QtWidgets.QFrame.Sunken) + self.line.setObjectName("line") + self.verticalLayout_2.addWidget(self.line) + self.scrollArea = QtWidgets.QScrollArea(Form) + self.scrollArea.setWidgetResizable(True) + self.scrollArea.setObjectName("scrollArea") + self.scroll_widget = QtWidgets.QWidget() + self.scroll_widget.setGeometry(QtCore.QRect(0, 0, 542, 81)) + self.scroll_widget.setObjectName("scroll_widget") + self.layout_depend_depend = QtWidgets.QVBoxLayout(self.scroll_widget) + self.layout_depend_depend.setContentsMargins(0, 0, 0, 0) + self.layout_depend_depend.setSpacing(6) + self.layout_depend_depend.setObjectName("layout_depend_depend") + spacerItem = QtWidgets.QSpacerItem(20, 265, QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Expanding) + self.layout_depend_depend.addItem(spacerItem) + self.scrollArea.setWidget(self.scroll_widget) + self.verticalLayout_2.addWidget(self.scrollArea) + + self.retranslateUi(Form) + QtCore.QMetaObject.connectSlotsByName(Form) + + def retranslateUi(self, Form): + _translate = QtCore.QCoreApplication.translate + Form.setWindowTitle(_translate("Form", "Form")) + self.label.setText(_translate("Form", "Type:")) + self.button_more.setText(_translate("Form", "More...")) + self.button_less.setText(_translate("Form", "Less...")) + self.button_edit.setText(_translate("Form", "Edit")) + diff --git a/designer/ui_templates/wizard_depend_depend_depend.py b/designer/ui_templates/wizard_depend_depend_depend.py new file mode 100644 index 0000000..8981a51 --- /dev/null +++ b/designer/ui_templates/wizard_depend_depend_depend.py @@ -0,0 +1,34 @@ +# -*- coding: utf-8 -*- + +# Form implementation generated from reading ui file 'resources/templates/wizard_depend_depend_depend.ui' +# +# Created by: PyQt5 UI code generator 5.5.1 +# +# WARNING! All changes made in this file will be lost! + +from PyQt5 import QtCore, QtGui, QtWidgets + +class Ui_Form(object): + def setupUi(self, Form): + Form.setObjectName("Form") + Form.resize(345, 30) + self.horizontalLayout = QtWidgets.QHBoxLayout(Form) + self.horizontalLayout.setContentsMargins(0, 0, 0, 0) + self.horizontalLayout.setObjectName("horizontalLayout") + self.label_number = QtWidgets.QLabel(Form) + self.label_number.setText("") + self.label_number.setAlignment(QtCore.Qt.AlignRight|QtCore.Qt.AlignTrailing|QtCore.Qt.AlignVCenter) + self.label_number.setObjectName("label_number") + self.horizontalLayout.addWidget(self.label_number) + self.label_depend = QtWidgets.QLabel(Form) + self.label_depend.setObjectName("label_depend") + self.horizontalLayout.addWidget(self.label_depend) + + self.retranslateUi(Form) + QtCore.QMetaObject.connectSlotsByName(Form) + + def retranslateUi(self, Form): + _translate = QtCore.QCoreApplication.translate + Form.setWindowTitle(_translate("Form", "Form")) + self.label_depend.setText(_translate("Form", "Sub-Dependency")) + diff --git a/designer/ui_templates/wizard_depend_depend_file.py b/designer/ui_templates/wizard_depend_depend_file.py new file mode 100644 index 0000000..dcdd6da --- /dev/null +++ b/designer/ui_templates/wizard_depend_depend_file.py @@ -0,0 +1,43 @@ +# -*- coding: utf-8 -*- + +# Form implementation generated from reading ui file 'resources/templates/wizard_depend_depend_file.ui' +# +# Created by: PyQt5 UI code generator 5.5.1 +# +# WARNING! All changes made in this file will be lost! + +from PyQt5 import QtCore, QtGui, QtWidgets + +class Ui_Form(object): + def setupUi(self, Form): + Form.setObjectName("Form") + Form.resize(345, 30) + self.horizontalLayout = QtWidgets.QHBoxLayout(Form) + self.horizontalLayout.setContentsMargins(0, 0, 0, 0) + self.horizontalLayout.setObjectName("horizontalLayout") + self.label = QtWidgets.QLabel(Form) + self.label.setAlignment(QtCore.Qt.AlignRight|QtCore.Qt.AlignTrailing|QtCore.Qt.AlignVCenter) + self.label.setObjectName("label") + self.horizontalLayout.addWidget(self.label) + self.label_file = QtWidgets.QLabel(Form) + self.label_file.setText("") + self.label_file.setObjectName("label_file") + self.horizontalLayout.addWidget(self.label_file) + self.label_2 = QtWidgets.QLabel(Form) + self.label_2.setAlignment(QtCore.Qt.AlignRight|QtCore.Qt.AlignTrailing|QtCore.Qt.AlignVCenter) + self.label_2.setObjectName("label_2") + self.horizontalLayout.addWidget(self.label_2) + self.label_type = QtWidgets.QLabel(Form) + self.label_type.setText("") + self.label_type.setObjectName("label_type") + self.horizontalLayout.addWidget(self.label_type) + + self.retranslateUi(Form) + QtCore.QMetaObject.connectSlotsByName(Form) + + def retranslateUi(self, Form): + _translate = QtCore.QCoreApplication.translate + Form.setWindowTitle(_translate("Form", "Form")) + self.label.setText(_translate("Form", "File:")) + self.label_2.setText(_translate("Form", "Type:")) + diff --git a/designer/ui_templates/wizard_depend_depend_flag.py b/designer/ui_templates/wizard_depend_depend_flag.py new file mode 100644 index 0000000..0c95b74 --- /dev/null +++ b/designer/ui_templates/wizard_depend_depend_flag.py @@ -0,0 +1,43 @@ +# -*- coding: utf-8 -*- + +# Form implementation generated from reading ui file 'resources/templates/wizard_depend_depend_flag.ui' +# +# Created by: PyQt5 UI code generator 5.5.1 +# +# WARNING! All changes made in this file will be lost! + +from PyQt5 import QtCore, QtGui, QtWidgets + +class Ui_Form(object): + def setupUi(self, Form): + Form.setObjectName("Form") + Form.resize(345, 30) + self.horizontalLayout = QtWidgets.QHBoxLayout(Form) + self.horizontalLayout.setContentsMargins(0, 0, 0, 0) + self.horizontalLayout.setObjectName("horizontalLayout") + self.label = QtWidgets.QLabel(Form) + self.label.setAlignment(QtCore.Qt.AlignRight|QtCore.Qt.AlignTrailing|QtCore.Qt.AlignVCenter) + self.label.setObjectName("label") + self.horizontalLayout.addWidget(self.label) + self.label_flag = QtWidgets.QLabel(Form) + self.label_flag.setText("") + self.label_flag.setObjectName("label_flag") + self.horizontalLayout.addWidget(self.label_flag) + self.label_2 = QtWidgets.QLabel(Form) + self.label_2.setAlignment(QtCore.Qt.AlignRight|QtCore.Qt.AlignTrailing|QtCore.Qt.AlignVCenter) + self.label_2.setObjectName("label_2") + self.horizontalLayout.addWidget(self.label_2) + self.label_value = QtWidgets.QLabel(Form) + self.label_value.setText("") + self.label_value.setObjectName("label_value") + self.horizontalLayout.addWidget(self.label_value) + + self.retranslateUi(Form) + QtCore.QMetaObject.connectSlotsByName(Form) + + def retranslateUi(self, Form): + _translate = QtCore.QCoreApplication.translate + Form.setWindowTitle(_translate("Form", "Form")) + self.label.setText(_translate("Form", "Flag:")) + self.label_2.setText(_translate("Form", "Value:")) + diff --git a/designer/ui_templates/wizard_depend_depend_version.py b/designer/ui_templates/wizard_depend_depend_version.py new file mode 100644 index 0000000..2380742 --- /dev/null +++ b/designer/ui_templates/wizard_depend_depend_version.py @@ -0,0 +1,34 @@ +# -*- coding: utf-8 -*- + +# Form implementation generated from reading ui file 'resources/templates/wizard_depend_depend_version.ui' +# +# Created by: PyQt5 UI code generator 5.5.1 +# +# WARNING! All changes made in this file will be lost! + +from PyQt5 import QtCore, QtGui, QtWidgets + +class Ui_Form(object): + def setupUi(self, Form): + Form.setObjectName("Form") + Form.resize(345, 30) + self.horizontalLayout = QtWidgets.QHBoxLayout(Form) + self.horizontalLayout.setContentsMargins(0, 0, 0, 0) + self.horizontalLayout.setObjectName("horizontalLayout") + self.label = QtWidgets.QLabel(Form) + self.label.setAlignment(QtCore.Qt.AlignRight|QtCore.Qt.AlignTrailing|QtCore.Qt.AlignVCenter) + self.label.setObjectName("label") + self.horizontalLayout.addWidget(self.label) + self.label_version = QtWidgets.QLabel(Form) + self.label_version.setText("") + self.label_version.setObjectName("label_version") + self.horizontalLayout.addWidget(self.label_version) + + self.retranslateUi(Form) + QtCore.QMetaObject.connectSlotsByName(Form) + + def retranslateUi(self, Form): + _translate = QtCore.QCoreApplication.translate + Form.setWindowTitle(_translate("Form", "Form")) + self.label.setText(_translate("Form", "Version:")) + diff --git a/designer/ui_templates/wizard_depend_file.py b/designer/ui_templates/wizard_depend_file.py new file mode 100644 index 0000000..d4d8db0 --- /dev/null +++ b/designer/ui_templates/wizard_depend_file.py @@ -0,0 +1,53 @@ +# -*- coding: utf-8 -*- + +# Form implementation generated from reading ui file 'resources/templates/wizard_depend_file.ui' +# +# Created by: PyQt5 UI code generator 5.5.1 +# +# WARNING! All changes made in this file will be lost! + +from PyQt5 import QtCore, QtGui, QtWidgets + +class Ui_Form(object): + def setupUi(self, Form): + Form.setObjectName("Form") + Form.resize(345, 30) + self.horizontalLayout = QtWidgets.QHBoxLayout(Form) + self.horizontalLayout.setContentsMargins(0, 0, 0, 0) + self.horizontalLayout.setObjectName("horizontalLayout") + self.label = QtWidgets.QLabel(Form) + self.label.setObjectName("label") + self.horizontalLayout.addWidget(self.label) + self.edit_file = QtWidgets.QLineEdit(Form) + self.edit_file.setObjectName("edit_file") + self.horizontalLayout.addWidget(self.edit_file) + self.label_2 = QtWidgets.QLabel(Form) + self.label_2.setObjectName("label_2") + self.horizontalLayout.addWidget(self.label_2) + self.combo_type = QtWidgets.QComboBox(Form) + self.combo_type.setObjectName("combo_type") + self.combo_type.addItem("") + self.combo_type.addItem("") + self.combo_type.addItem("") + self.horizontalLayout.addWidget(self.combo_type) + self.button_delete = QtWidgets.QPushButton(Form) + self.button_delete.setMaximumSize(QtCore.QSize(30, 16777215)) + self.button_delete.setText("") + icon = QtGui.QIcon() + icon.addPixmap(QtGui.QPixmap("../logos/logo_cross.png"), QtGui.QIcon.Normal, QtGui.QIcon.Off) + self.button_delete.setIcon(icon) + self.button_delete.setObjectName("button_delete") + self.horizontalLayout.addWidget(self.button_delete) + + self.retranslateUi(Form) + QtCore.QMetaObject.connectSlotsByName(Form) + + def retranslateUi(self, Form): + _translate = QtCore.QCoreApplication.translate + Form.setWindowTitle(_translate("Form", "Form")) + self.label.setText(_translate("Form", "File:")) + self.label_2.setText(_translate("Form", "Type:")) + self.combo_type.setItemText(0, _translate("Form", "Missing")) + self.combo_type.setItemText(1, _translate("Form", "Inactive")) + self.combo_type.setItemText(2, _translate("Form", "Active")) + diff --git a/designer/ui_templates/wizard_depend_flag.py b/designer/ui_templates/wizard_depend_flag.py new file mode 100644 index 0000000..4d33b65 --- /dev/null +++ b/designer/ui_templates/wizard_depend_flag.py @@ -0,0 +1,47 @@ +# -*- coding: utf-8 -*- + +# Form implementation generated from reading ui file 'resources/templates/wizard_depend_flag.ui' +# +# Created by: PyQt5 UI code generator 5.5.1 +# +# WARNING! All changes made in this file will be lost! + +from PyQt5 import QtCore, QtGui, QtWidgets + +class Ui_Form(object): + def setupUi(self, Form): + Form.setObjectName("Form") + Form.resize(320, 31) + self.horizontalLayout = QtWidgets.QHBoxLayout(Form) + self.horizontalLayout.setContentsMargins(0, 0, 0, 0) + self.horizontalLayout.setObjectName("horizontalLayout") + self.label = QtWidgets.QLabel(Form) + self.label.setObjectName("label") + self.horizontalLayout.addWidget(self.label) + self.edit_flag = QtWidgets.QLineEdit(Form) + self.edit_flag.setObjectName("edit_flag") + self.horizontalLayout.addWidget(self.edit_flag) + self.label_2 = QtWidgets.QLabel(Form) + self.label_2.setObjectName("label_2") + self.horizontalLayout.addWidget(self.label_2) + self.edit_value = QtWidgets.QLineEdit(Form) + self.edit_value.setObjectName("edit_value") + self.horizontalLayout.addWidget(self.edit_value) + self.button_delete = QtWidgets.QPushButton(Form) + self.button_delete.setMaximumSize(QtCore.QSize(30, 16777215)) + self.button_delete.setText("") + icon = QtGui.QIcon() + icon.addPixmap(QtGui.QPixmap("../logos/logo_cross.png"), QtGui.QIcon.Normal, QtGui.QIcon.Off) + self.button_delete.setIcon(icon) + self.button_delete.setObjectName("button_delete") + self.horizontalLayout.addWidget(self.button_delete) + + self.retranslateUi(Form) + QtCore.QMetaObject.connectSlotsByName(Form) + + def retranslateUi(self, Form): + _translate = QtCore.QCoreApplication.translate + Form.setWindowTitle(_translate("Form", "Form")) + self.label.setText(_translate("Form", "Flag:")) + self.label_2.setText(_translate("Form", "Value:")) + diff --git a/designer/ui_templates/wizard_files_01.py b/designer/ui_templates/wizard_files_01.py new file mode 100644 index 0000000..a3e32dc --- /dev/null +++ b/designer/ui_templates/wizard_files_01.py @@ -0,0 +1,132 @@ +# -*- coding: utf-8 -*- + +# Form implementation generated from reading ui file 'resources/templates/wizard_files_01.ui' +# +# Created by: PyQt5 UI code generator 5.5.1 +# +# WARNING! All changes made in this file will be lost! + +from PyQt5 import QtCore, QtGui, QtWidgets + +class Ui_Form(object): + def setupUi(self, Form): + Form.setObjectName("Form") + Form.resize(470, 539) + self.verticalLayout_2 = QtWidgets.QVBoxLayout(Form) + self.verticalLayout_2.setObjectName("verticalLayout_2") + self.verticalLayout = QtWidgets.QVBoxLayout() + self.verticalLayout.setObjectName("verticalLayout") + self.label_4 = QtWidgets.QLabel(Form) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Preferred) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.label_4.sizePolicy().hasHeightForWidth()) + self.label_4.setSizePolicy(sizePolicy) + self.label_4.setMinimumSize(QtCore.QSize(0, 40)) + font = QtGui.QFont() + font.setPointSize(14) + font.setBold(True) + font.setWeight(75) + self.label_4.setFont(font) + self.label_4.setAlignment(QtCore.Qt.AlignCenter) + self.label_4.setObjectName("label_4") + self.verticalLayout.addWidget(self.label_4) + self.label = QtWidgets.QLabel(Form) + self.label.setTextFormat(QtCore.Qt.AutoText) + self.label.setScaledContents(False) + self.label.setWordWrap(True) + self.label.setIndent(-1) + self.label.setObjectName("label") + self.verticalLayout.addWidget(self.label) + self.label_2 = QtWidgets.QLabel(Form) + font = QtGui.QFont() + font.setBold(True) + font.setItalic(True) + font.setWeight(75) + self.label_2.setFont(font) + self.label_2.setAlignment(QtCore.Qt.AlignCenter) + self.label_2.setObjectName("label_2") + self.verticalLayout.addWidget(self.label_2) + self.button_add_file = QtWidgets.QPushButton(Form) + self.button_add_file.setObjectName("button_add_file") + self.verticalLayout.addWidget(self.button_add_file) + self.scrollarea_file = QtWidgets.QScrollArea(Form) + self.scrollarea_file.setVerticalScrollBarPolicy(QtCore.Qt.ScrollBarAlwaysOn) + self.scrollarea_file.setWidgetResizable(True) + self.scrollarea_file.setObjectName("scrollarea_file") + self.scroll_file = QtWidgets.QWidget() + self.scroll_file.setGeometry(QtCore.QRect(0, 0, 431, 125)) + self.scroll_file.setObjectName("scroll_file") + self.layout_file = QtWidgets.QVBoxLayout(self.scroll_file) + self.layout_file.setContentsMargins(3, 0, 3, 0) + self.layout_file.setObjectName("layout_file") + spacerItem = QtWidgets.QSpacerItem(20, 40, QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Expanding) + self.layout_file.addItem(spacerItem) + self.scrollarea_file.setWidget(self.scroll_file) + self.verticalLayout.addWidget(self.scrollarea_file) + self.label_3 = QtWidgets.QLabel(Form) + font = QtGui.QFont() + font.setBold(True) + font.setItalic(True) + font.setWeight(75) + self.label_3.setFont(font) + self.label_3.setAlignment(QtCore.Qt.AlignCenter) + self.label_3.setObjectName("label_3") + self.verticalLayout.addWidget(self.label_3) + self.button_add_folder = QtWidgets.QPushButton(Form) + self.button_add_folder.setObjectName("button_add_folder") + self.verticalLayout.addWidget(self.button_add_folder) + self.scrollarea_folder = QtWidgets.QScrollArea(Form) + self.scrollarea_folder.setVerticalScrollBarPolicy(QtCore.Qt.ScrollBarAlwaysOn) + self.scrollarea_folder.setWidgetResizable(True) + self.scrollarea_folder.setObjectName("scrollarea_folder") + self.scroll_folder = QtWidgets.QWidget() + self.scroll_folder.setGeometry(QtCore.QRect(0, 0, 431, 125)) + self.scroll_folder.setObjectName("scroll_folder") + self.layout_folder = QtWidgets.QVBoxLayout(self.scroll_folder) + self.layout_folder.setContentsMargins(3, 0, 3, 0) + self.layout_folder.setObjectName("layout_folder") + spacerItem1 = QtWidgets.QSpacerItem(20, 40, QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Expanding) + self.layout_folder.addItem(spacerItem1) + self.scrollarea_folder.setWidget(self.scroll_folder) + self.verticalLayout.addWidget(self.scrollarea_folder) + self.verticalLayout_2.addLayout(self.verticalLayout) + self.horizontalLayout = QtWidgets.QHBoxLayout() + self.horizontalLayout.setObjectName("horizontalLayout") + spacerItem2 = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Minimum) + self.horizontalLayout.addItem(spacerItem2) + self.finish_button = QtWidgets.QPushButton(Form) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Fixed, QtWidgets.QSizePolicy.Fixed) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.finish_button.sizePolicy().hasHeightForWidth()) + self.finish_button.setSizePolicy(sizePolicy) + self.finish_button.setObjectName("finish_button") + self.horizontalLayout.addWidget(self.finish_button) + self.cancel_button = QtWidgets.QPushButton(Form) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Fixed, QtWidgets.QSizePolicy.Fixed) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.cancel_button.sizePolicy().hasHeightForWidth()) + self.cancel_button.setSizePolicy(sizePolicy) + self.cancel_button.setObjectName("cancel_button") + self.horizontalLayout.addWidget(self.cancel_button) + spacerItem3 = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Minimum) + self.horizontalLayout.addItem(spacerItem3) + self.verticalLayout_2.addLayout(self.horizontalLayout) + + self.retranslateUi(Form) + QtCore.QMetaObject.connectSlotsByName(Form) + + def retranslateUi(self, Form): + _translate = QtCore.QCoreApplication.translate + Form.setWindowTitle(_translate("Form", "Form")) + self.label_4.setText(_translate("Form", "Files and Folders Wizard")) + self.label.setText(_translate("Form", "Select the files and folders to be installed. The "Source" fields are used to select the file/folder to be installed. The "Destination" fields are used to select where the item will be installed to - a blank fields corresponds to the Data folder itself.
See the Help for more information.
")) + self.label_2.setText(_translate("Form", "Files To Be Installed:")) + self.button_add_file.setText(_translate("Form", "Add File")) + self.label_3.setText(_translate("Form", "Folders To Be Installed:")) + self.button_add_folder.setText(_translate("Form", "Add Folder")) + self.finish_button.setText(_translate("Form", "Finish")) + self.cancel_button.setText(_translate("Form", "Cancel")) + diff --git a/designer/ui_templates/wizard_files_item.py b/designer/ui_templates/wizard_files_item.py new file mode 100644 index 0000000..1d2631e --- /dev/null +++ b/designer/ui_templates/wizard_files_item.py @@ -0,0 +1,56 @@ +# -*- coding: utf-8 -*- + +# Form implementation generated from reading ui file 'resources/templates/wizard_files_item.ui' +# +# Created by: PyQt5 UI code generator 5.5.1 +# +# WARNING! All changes made in this file will be lost! + +from PyQt5 import QtCore, QtGui, QtWidgets + +class Ui_base(object): + def setupUi(self, base): + base.setObjectName("base") + base.resize(396, 24) + self.layout_main = QtWidgets.QHBoxLayout(base) + self.layout_main.setContentsMargins(0, 0, 0, 0) + self.layout_main.setObjectName("layout_main") + self.label_source = QtWidgets.QLabel(base) + self.label_source.setObjectName("label_source") + self.layout_main.addWidget(self.label_source) + self.edit_source = QtWidgets.QLineEdit(base) + self.edit_source.setObjectName("edit_source") + self.layout_main.addWidget(self.edit_source) + self.button_source = QtWidgets.QPushButton(base) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Fixed) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.button_source.sizePolicy().hasHeightForWidth()) + self.button_source.setSizePolicy(sizePolicy) + self.button_source.setMaximumSize(QtCore.QSize(50, 16777215)) + self.button_source.setObjectName("button_source") + self.layout_main.addWidget(self.button_source) + self.label_dest = QtWidgets.QLabel(base) + self.label_dest.setObjectName("label_dest") + self.layout_main.addWidget(self.label_dest) + self.edit_dest = QtWidgets.QLineEdit(base) + self.edit_dest.setObjectName("edit_dest") + self.layout_main.addWidget(self.edit_dest) + self.button_delete = QtWidgets.QPushButton(base) + self.button_delete.setText("") + icon = QtGui.QIcon() + icon.addPixmap(QtGui.QPixmap("../logos/logo_cross.png"), QtGui.QIcon.Normal, QtGui.QIcon.Off) + self.button_delete.setIcon(icon) + self.button_delete.setObjectName("button_delete") + self.layout_main.addWidget(self.button_delete) + + self.retranslateUi(base) + QtCore.QMetaObject.connectSlotsByName(base) + + def retranslateUi(self, base): + _translate = QtCore.QCoreApplication.translate + base.setWindowTitle(_translate("base", "Form")) + self.label_source.setText(_translate("base", "Source:")) + self.button_source.setText(_translate("base", "...")) + self.label_dest.setText(_translate("base", "Destination:")) + diff --git a/designer/wizards.py b/designer/wizards.py index 8d2854f..4f510ae 100644 --- a/designer/wizards.py +++ b/designer/wizards.py @@ -17,13 +17,15 @@ from abc import ABCMeta, abstractmethod from copy import deepcopy from os.path import join, relpath -from PyQt5.QtWidgets import QStackedWidget, QFileDialog +from PyQt5.QtWidgets import QStackedWidget, QFileDialog, QWidget from PyQt5.QtGui import QIcon from PyQt5.QtCore import pyqtSignal -from PyQt5.uic import loadUi from . import cur_folder from .io import elem_factory from .exceptions import BaseInstanceException +from .ui_templates import (wizard_files_01, wizard_files_item, wizard_depend_01, wizard_depend_depend, + wizard_depend_depend_depend, wizard_depend_depend_file, wizard_depend_depend_flag, + wizard_depend_depend_version, wizard_depend_file, wizard_depend_flag) class _WizardBase(QStackedWidget): @@ -32,10 +34,11 @@ class _WizardBase(QStackedWidget): """ __metaclass__ = ABCMeta + code_changed = pyqtSignal([object]) cancelled = pyqtSignal() - finished = pyqtSignal() + finished = pyqtSignal([object]) - def __init__(self, parent, element, main_window): + def __init__(self, parent, element, code_signal, **kwargs): """ :param parent: The parent widget. :param element: The element this wizard corresponds. @@ -47,7 +50,8 @@ def __init__(self, parent, element, main_window): self.element = element self.parent = parent - self.main_window = main_window + self.kwargs = kwargs + self.code_changed.connect(code_signal.emit) self._setup_pages() @abstractmethod @@ -69,15 +73,10 @@ def _setup_pages(self): class WizardFiles(_WizardBase): """ - Wizard fo the "files" tag. + Wizard for the "files" tag. """ def _process_results(self, result): - self.element.getparent().replace(self.element, result) - item_parent = self.element.model_item.parent() - row = self.element.model_item.row() - item_parent.removeRow(row) - item_parent.insertRow(row, result.model_item) - self.finished.emit() + self.finished.emit(result) def _setup_pages(self): def add_elem(element_, layout): @@ -91,32 +90,35 @@ def add_elem(element_, layout): element_result.add_child(child) spacer = layout.takeAt(layout.count() - 1) item = self._create_field(child) - item.edit_source.setText(child.properties["source"].value) - item.edit_dest.setText(child.properties["destination"].value) layout.addWidget(item) layout.addSpacerItem(spacer) - self.main_window.xml_code_changed.emit(element_result) + self.code_changed.emit(element_result) element_result = deepcopy(self.element) - page = loadUi(join(cur_folder, "resources/templates/wizard_files_01.ui")) + page = QWidget() + page_ui = wizard_files_01.Ui_Form() + page_ui.setupUi(page) file_list = [elem for elem in element_result if elem.tag == "file"] for element in file_list: element_result.remove_child(element) - add_elem(element, page.layout_file) + add_elem(element, page_ui.layout_file) folder_list = [elem for elem in element_result if elem.tag == "folder"] for element in folder_list: element_result.remove_child(element) - add_elem(element, page.layout_folder) + add_elem(element, page_ui.layout_folder) # finish with connections - page.button_add_file.clicked.connect(lambda: add_elem(elem_factory("file", element_result), page.layout_file)) - page.button_add_folder.clicked.connect( - lambda: add_elem(elem_factory("folder", element_result), page.layout_folder)) - page.finish_button.clicked.connect(lambda: self._process_results(element_result)) - page.cancel_button.clicked.connect(self.cancelled.emit) + page_ui.button_add_file.clicked.connect( + lambda: add_elem(elem_factory("file", element_result), page_ui.layout_file) + ) + page_ui.button_add_folder.clicked.connect( + lambda: add_elem(elem_factory("folder", element_result), page_ui.layout_folder) + ) + page_ui.finish_button.clicked.connect(lambda: self._process_results(element_result)) + page_ui.cancel_button.clicked.connect(self.cancelled.emit) self.addWidget(page) @@ -128,31 +130,320 @@ def _create_field(self, element): def button_clicked(): open_dialog = QFileDialog() if element.tag == "file": - file_path = open_dialog.getOpenFileName(self, "Select File:", self.main_window.package_path) + file_path = open_dialog.getOpenFileName(self, "Select File:", self.kwargs["package_path"]) if file_path[0]: - item.edit_source.setText(relpath(file_path[0], self.main_window.package_path)) + item_ui.edit_source.setText(relpath(file_path[0], self.kwargs["package_path"])) elif element.tag == "folder": - folder_path = open_dialog.getExistingDirectory(self, "Select folder:", self.main_window.package_path) + folder_path = open_dialog.getExistingDirectory(self, "Select folder:", self.kwargs["package_path"]) if folder_path: - item.edit_source.setText(relpath(folder_path, self.main_window.package_path)) + item_ui.edit_source.setText(relpath(folder_path, self.kwargs["package_path"])) parent_element = element.getparent() - item = loadUi(join(cur_folder, "resources/templates/wizard_files_item.ui")) + item = QWidget() + item_ui = wizard_files_item.Ui_base() + item_ui.setupUi(item) - # the delete self button - item.button_delete.setIcon(QIcon(join(cur_folder, "resources/logos/logo_cross.png"))) + # set initial values + item_ui.edit_source.setText(element.properties["source"].value) + item_ui.edit_dest.setText(element.properties["destination"].value) + item_ui.button_delete.setIcon(QIcon(join(cur_folder, "resources/logos/logo_cross.png"))) # connect the signals - item.edit_source.textChanged.connect(element.properties["source"].set_value) - item.edit_source.textChanged.connect(element.write_attribs) - item.edit_source.textChanged.connect(lambda: self.main_window.xml_code_changed.emit(parent_element)) - item.edit_dest.textChanged.connect(element.properties["destination"].set_value) - item.edit_dest.textChanged.connect(element.write_attribs) - item.edit_dest.textChanged.connect(lambda: self.main_window.xml_code_changed.emit(parent_element)) - item.button_source.clicked.connect(button_clicked) - item.button_delete.clicked.connect(item.deleteLater) - item.button_delete.clicked.connect(lambda x: parent_element.remove_child(element)) - item.button_delete.clicked.connect(lambda: self.main_window.xml_code_changed.emit(parent_element)) + item_ui.edit_source.textChanged.connect(element.properties["source"].set_value) + item_ui.edit_source.textChanged.connect(element.write_attribs) + item_ui.edit_source.textChanged.connect(lambda: self.code_changed.emit(parent_element)) + item_ui.edit_dest.textChanged.connect(element.properties["destination"].set_value) + item_ui.edit_dest.textChanged.connect(element.write_attribs) + item_ui.edit_dest.textChanged.connect(lambda: self.code_changed.emit(parent_element)) + item_ui.button_source.clicked.connect(button_clicked) + item_ui.button_delete.clicked.connect(item.deleteLater) + item_ui.button_delete.clicked.connect(lambda _: parent_element.remove_child(element)) + item_ui.button_delete.clicked.connect(lambda: self.code_changed.emit(parent_element)) return item + + +class WizardDepend(_WizardBase): + """ + Wizard for the "dependencies" tag. + """ + def _process_results(self, result): + self.finished.emit(result) + + def _setup_pages(self): + """ + NodeConfigVisible and NodeConfigRoot are used as simple placeholders for the factory. They serve no purpose + other than giving the factory a parent to help parsing. + """ + from .nodes import NodeConfigVisible, NodeConfigRoot + + def copy_depend(element_): + if element_.getparent().tag == "dependencies" or \ + element_.getparent().tag == "moduleDependencies" or \ + element_.getparent().tag == "visible": + result = elem_factory(element_.tag, NodeConfigVisible()) + elif element_.tag == "moduleDependencies": + result = elem_factory(element_.tag, NodeConfigVisible()) + elif element_.tag == "visible": + result = elem_factory(element_.tag, NodeConfigVisible()) + else: + result = elem_factory(element_.tag, NodeConfigRoot()) + + element_.write_attribs() + for key in element_.keys(): + result.set(key, element_.get(key)) + result.parse_attribs() + + for child in element_: + if child.tag == "dependencies": + result.add_child(copy_depend(child)) + continue + new_child = deepcopy(child) + for key in child.keys(): + new_child.set(key, child.get(key)) + new_child.parse_attribs() + result.add_child(new_child) + + return result + + element_result = copy_depend(self.element) + self.code_changed.emit(element_result) + + page = QWidget() + page_ui = wizard_depend_01.Ui_Form() + page_ui.setupUi(page) + + page_ui.typeComboBox.setCurrentText(element_result.get("operator")) + + for element in [elem for elem in element_result if elem.tag == "fileDependency"]: + self.add_elem(element_result, page_ui.layout_file, element_=element) + + for element in [elem for elem in element_result if elem.tag == "flagDependency"]: + self.add_elem(element_result, page_ui.layout_flag, element_=element) + + for element in [elem for elem in element_result if elem.tag == "dependencies"]: + self.add_elem(element_result, page_ui.layout_depend, element_=element) + + for elem in element_result: + if elem.tag == "gameDependency": + page_ui.gameVersionLineEdit.setText(elem.get("version")) + + # finish with connections + page_ui.typeComboBox.currentTextChanged.connect(element_result.properties["operator"].set_value) + page_ui.typeComboBox.currentTextChanged.connect(element_result.write_attribs) + page_ui.typeComboBox.currentTextChanged.connect(lambda: self.code_changed.emit(element_result)) + + page_ui.gameVersionLineEdit.textChanged.connect( + lambda value, element_=element_result: self._update_version(value, element_)) + + page_ui.button_file.clicked.connect( + lambda: self.add_elem(element_result, page_ui.layout_file, tag="fileDependency")) + + page_ui.button_flag.clicked.connect( + lambda: self.add_elem(element_result, page_ui.layout_flag, tag="flagDependency")) + + page_ui.button_sub.clicked.connect( + lambda: self.add_elem(element_result, page_ui.layout_depend, tag="dependencies")) + + page_ui.finish_button.clicked.connect(lambda: self._process_results(element_result)) + page_ui.cancel_button.clicked.connect(self.cancelled.emit) + + self.addWidget(page) + + def add_elem(self, parent_elem, layout, tag="", element_=None): + """ + :param parent_elem: The parent element - the element the wizard is being applied on. + :param tag: The tag of the element to be created + :param element_: The element to be used + :param layout: The layout into which to insert the newly copied element + """ + from .nodes import NodeConfigVisible + + if element_ is None and tag: + child = elem_factory(tag, NodeConfigVisible()) + parent_elem.add_child(child) + else: + if element_ is None: + return + child = element_ + tag = child.tag + spacer = layout.takeAt(layout.count() - 1) + item = None + if tag == "fileDependency": + item = self._create_file(child) + elif tag == "flagDependency": + item = self._create_flag(child) + elif tag == "dependencies": + item = self._create_depend(child, layout) + layout.addWidget(item) + layout.addSpacerItem(spacer) + self.code_changed.emit(parent_elem) + + def _update_version(self, value, element): + elem = None + for ele in element: + if ele.tag == "gameDependency": + elem = ele + + if elem is not None: + if not value: + element.remove_child(elem) + else: + elem.properties["version"].set_value(value) + elem.write_attribs() + else: + if value: + elem = elem_factory("gameDependency", element) + element.add_child(elem) + elem.properties["version"].set_value(value) + elem.write_attribs() + + self.code_changed.emit(element) + + def _create_file(self, element): + parent_element = element.getparent() + + item = QWidget() + item_ui = wizard_depend_file.Ui_Form() + item_ui.setupUi(item) + + # set initial values + item_ui.edit_file.setText(element.properties["file"].value) + item_ui.combo_type.setCurrentText(element.properties["state"].value) + item_ui.button_delete.setIcon(QIcon(join(cur_folder, "resources/logos/logo_cross.png"))) + + # connect the signals + item_ui.edit_file.textChanged.connect(element.properties["file"].set_value) + item_ui.edit_file.textChanged.connect(element.write_attribs) + item_ui.edit_file.textChanged.connect(lambda: self.code_changed.emit(parent_element)) + + item_ui.combo_type.currentTextChanged.connect(element.properties["state"].set_value) + item_ui.combo_type.currentTextChanged.connect(element.write_attribs) + item_ui.combo_type.currentTextChanged.connect(lambda: self.code_changed.emit(parent_element)) + + item_ui.button_delete.clicked.connect(item.deleteLater) + item_ui.button_delete.clicked.connect(lambda _: parent_element.remove_child(element)) + item_ui.button_delete.clicked.connect(lambda: self.code_changed.emit(parent_element)) + + return item + + def _create_flag(self, element): + parent_element = element.getparent() + + item = QWidget() + item_ui = wizard_depend_flag.Ui_Form() + item_ui.setupUi(item) + + # set initial values + item_ui.edit_flag.setText(element.properties["flag"].value) + item_ui.edit_value.setText(element.properties["value"].value) + item_ui.button_delete.setIcon(QIcon(join(cur_folder, "resources/logos/logo_cross.png"))) + + # connect the signals + item_ui.edit_flag.textChanged.connect(element.properties["flag"].set_value) + item_ui.edit_flag.textChanged.connect(element.write_attribs) + item_ui.edit_flag.textChanged.connect(lambda: self.code_changed.emit(parent_element)) + + item_ui.edit_value.textChanged.connect(element.properties["value"].set_value) + item_ui.edit_value.textChanged.connect(element.write_attribs) + item_ui.edit_value.textChanged.connect(lambda: self.code_changed.emit(parent_element)) + + item_ui.button_delete.clicked.connect(item.deleteLater) + item_ui.button_delete.clicked.connect(lambda _: parent_element.remove_child(element)) + item_ui.button_delete.clicked.connect(lambda: self.code_changed.emit(parent_element)) + + return item + + def _create_depend(self, element, depend_layout): + parent_element = element.getparent() + + item = QWidget() + item_ui = wizard_depend_depend.Ui_Form() + item_ui.setupUi(item) + + file = QWidget() + file_ui = wizard_depend_depend_file.Ui_Form() + file_ui.setupUi(file) + + flag = QWidget() + flag_ui = wizard_depend_depend_flag.Ui_Form() + flag_ui.setupUi(flag) + + version = QWidget() + version_ui = wizard_depend_depend_version.Ui_Form() + version_ui.setupUi(version) + + depend = QWidget() + depend_ui = wizard_depend_depend_depend.Ui_Form() + depend_ui.setupUi(depend) + + item_ui.label_type.setText(element.properties["operator"].value) + item_ui.button_less.hide() + item_ui.line.hide() + item_ui.scrollArea.hide() + item_ui.button_delete.setIcon(QIcon(join(cur_folder, "resources/logos/logo_cross.png"))) + + spacer = item_ui.layout_depend_depend.takeAt(item_ui.layout_depend_depend.count() - 1) + + for element_ in [elem for elem in element if elem.tag == "fileDependency"]: + file_ui.label_file.setText(element_.properties["file"].value) + file_ui.label_type.setText(element_.properties["state"].value) + item_ui.layout_depend_depend.addWidget(file) + + for element_ in [elem for elem in element if elem.tag == "flagDependency"]: + flag_ui.label_flag.setText(element_.properties["flag"].value) + flag_ui.label_value.setText(element_.properties["value"].value) + item_ui.layout_depend_depend.addWidget(flag) + + sub_dependencies_sum = sum(1 for elem in element if elem.tag == "dependencies") + if sub_dependencies_sum: + depend_ui.label_number.setText(str(sub_dependencies_sum)) + if sub_dependencies_sum > 1: + depend_ui.label_depend.setText("Sub-Dependencies") + item_ui.layout_depend_depend.addWidget(depend) + + for element_ in [elem for elem in element if elem.tag == "gameDependency"]: + version_ui.label_version.setText(element_.get("version")) + item_ui.layout_depend_depend.addWidget(version) + + item_ui.layout_depend_depend.addSpacerItem(spacer) + + item_ui.button_more.clicked.connect(lambda: item_ui.button_more.hide()) + item_ui.button_more.clicked.connect(lambda: item_ui.button_less.show()) + item_ui.button_more.clicked.connect(lambda: item_ui.line.show()) + item_ui.button_more.clicked.connect(lambda: item_ui.scrollArea.show()) + + item_ui.button_less.clicked.connect(lambda: item_ui.button_less.hide()) + item_ui.button_less.clicked.connect(lambda: item_ui.button_more.show()) + item_ui.button_less.clicked.connect(lambda: item_ui.line.hide()) + item_ui.button_less.clicked.connect(lambda: item_ui.scrollArea.hide()) + + item_ui.button_edit.clicked.connect(lambda _, element__=element: self._nested_wizard(element__, depend_layout)) + + item_ui.button_delete.clicked.connect(item.deleteLater) + item_ui.button_delete.clicked.connect(lambda _: parent_element.remove_child(element)) + item_ui.button_delete.clicked.connect(lambda: self.code_changed.emit(parent_element)) + + return item + + def _nested_wizard(self, element, depend_layout): + nested_wiz = WizardDepend(self, element, self.code_changed, **self.kwargs) + self.addWidget(nested_wiz) + self.setCurrentWidget(nested_wiz) + + nested_wiz.cancelled.connect(lambda: nested_wiz.deleteLater()) + nested_wiz.cancelled.connect(lambda parent=element.getparent(): self.code_changed.emit(parent)) + + nested_wiz.finished.connect(lambda: nested_wiz.deleteLater()) + nested_wiz.finished.connect(lambda parent=element.getparent(): self._update_depends(parent, depend_layout)) + nested_wiz.finished.connect(lambda parent=element.getparent(): self.code_changed.emit(parent)) + + def _update_depends(self, main_elem, depend_layout): + for index in reversed(range(depend_layout.count())): + if depend_layout.itemAt(index).widget(): + widget = depend_layout.takeAt(index).widget() + if widget is not None: + widget.deleteLater() + + [self.add_elem(main_elem, depend_layout, element_=elem) for elem in main_elem if elem.tag == "dependencies"] diff --git a/dev/appveyor-bootstrap.bat b/dev/appveyor-bootstrap.bat index 9bff0e2..4c4691c 100644 --- a/dev/appveyor-bootstrap.bat +++ b/dev/appveyor-bootstrap.bat @@ -1,6 +1,6 @@ @echo off -set PATH=C:\Miniconda-x64;C:\Miniconda-x64\Scripts;%PATH% +set PATH=C:\Miniconda-x64;C:\Miniconda-x64\Scripts; conda create -y -n fomod-designer^ -c https://conda.anaconda.org/mmcauliffe^ diff --git a/dev/reqs.txt b/dev/reqs.txt index 8641d69..3793503 100644 --- a/dev/reqs.txt +++ b/dev/reqs.txt @@ -1,6 +1,8 @@ bumpversion==0.5.3 -fomod-validator==1.3.0 +fomod-validator==1.5.2 invoke==0.12.2 +jsonpickle==0.9.3 lxml==3.5.0 Pygments==2.1.3 PyInstaller==3.1.1 +requests==2.10.0 diff --git a/dev/travis-bootstrap.sh b/dev/travis-bootstrap.sh index 112207e..ce27042 100644 --- a/dev/travis-bootstrap.sh +++ b/dev/travis-bootstrap.sh @@ -16,9 +16,9 @@ # get pyenv - I hate messing with system python on ubuntu -git clone https://github.com/yyuu/pyenv.git $HOME/.pyenv +git clone https://github.com/yyuu/pyenv.git $HOME/.pyenv-custom -export PYENV_ROOT="$HOME/.pyenv" +export PYENV_ROOT="$HOME/.pyenv-custom" export PATH="$PYENV_ROOT/bin:$PATH" eval "$(pyenv init -)" @@ -26,7 +26,7 @@ eval "$(pyenv init -)" # get pyenv-virtualenv instead of plain old virtualenv git clone https://github.com/yyuu/pyenv-virtualenv.git \ - $HOME/.pyenv/plugins/pyenv-virtualenv + $HOME/.pyenv-custom/plugins/pyenv-virtualenv eval "$(pyenv virtualenv-init -)" diff --git a/dev/travis-build.sh b/dev/travis-build.sh index 79a782c..2ec7910 100644 --- a/dev/travis-build.sh +++ b/dev/travis-build.sh @@ -14,7 +14,7 @@ # See the License for the specific language governing permissions and # limitations under the License. -export PYENV_ROOT="$HOME/.pyenv" +export PYENV_ROOT="$HOME/.pyenv-custom" export PATH="$PYENV_ROOT/bin:$PATH" eval "$(pyenv init -)" eval "$(pyenv virtualenv-init -)" diff --git a/resources/logos/logo_cd_disk.png b/resources/logos/logo_cd_disk.png deleted file mode 100644 index 417f3e7..0000000 Binary files a/resources/logos/logo_cd_disk.png and /dev/null differ diff --git a/resources/logos/logo_clear.png b/resources/logos/logo_clear.png new file mode 100644 index 0000000..dd7ac09 Binary files /dev/null and b/resources/logos/logo_clear.png differ diff --git a/resources/logos/logo_collapse.png b/resources/logos/logo_collapse.png new file mode 100644 index 0000000..63de16f Binary files /dev/null and b/resources/logos/logo_collapse.png differ diff --git a/resources/logos/logo_copy.png b/resources/logos/logo_copy.png new file mode 100644 index 0000000..f515eec Binary files /dev/null and b/resources/logos/logo_copy.png differ diff --git a/resources/logos/logo_cross.png b/resources/logos/logo_cross.png index 7cc2ace..964a0b9 100644 Binary files a/resources/logos/logo_cross.png and b/resources/logos/logo_cross.png differ diff --git a/resources/logos/logo_danger.png b/resources/logos/logo_danger.png index 15f573d..b06c61f 100644 Binary files a/resources/logos/logo_danger.png and b/resources/logos/logo_danger.png differ diff --git a/resources/logos/logo_enter.png b/resources/logos/logo_enter.png new file mode 100644 index 0000000..cf70472 Binary files /dev/null and b/resources/logos/logo_enter.png differ diff --git a/resources/logos/logo_expand.png b/resources/logos/logo_expand.png new file mode 100644 index 0000000..a595941 Binary files /dev/null and b/resources/logos/logo_expand.png differ diff --git a/resources/logos/logo_file.png b/resources/logos/logo_file.png new file mode 100644 index 0000000..af7316e Binary files /dev/null and b/resources/logos/logo_file.png differ diff --git a/resources/logos/logo_floppy_disk.png b/resources/logos/logo_floppy_disk.png index 4cf1009..e4edbdc 100644 Binary files a/resources/logos/logo_floppy_disk.png and b/resources/logos/logo_floppy_disk.png differ diff --git a/resources/logos/logo_folder.png b/resources/logos/logo_folder.png new file mode 100644 index 0000000..2e002e5 Binary files /dev/null and b/resources/logos/logo_folder.png differ diff --git a/resources/logos/logo_font_align_center.png b/resources/logos/logo_font_align_center.png new file mode 100644 index 0000000..1dee52f Binary files /dev/null and b/resources/logos/logo_font_align_center.png differ diff --git a/resources/logos/logo_font_align_justify.png b/resources/logos/logo_font_align_justify.png new file mode 100644 index 0000000..1450bba Binary files /dev/null and b/resources/logos/logo_font_align_justify.png differ diff --git a/resources/logos/logo_font_align_left.png b/resources/logos/logo_font_align_left.png new file mode 100644 index 0000000..ea877f4 Binary files /dev/null and b/resources/logos/logo_font_align_left.png differ diff --git a/resources/logos/logo_font_align_right.png b/resources/logos/logo_font_align_right.png new file mode 100644 index 0000000..84cacf3 Binary files /dev/null and b/resources/logos/logo_font_align_right.png differ diff --git a/resources/logos/logo_font_bold.png b/resources/logos/logo_font_bold.png new file mode 100644 index 0000000..1364978 Binary files /dev/null and b/resources/logos/logo_font_bold.png differ diff --git a/resources/logos/logo_font_colour.png b/resources/logos/logo_font_colour.png new file mode 100644 index 0000000..2292d96 Binary files /dev/null and b/resources/logos/logo_font_colour.png differ diff --git a/resources/logos/logo_font_italic.png b/resources/logos/logo_font_italic.png new file mode 100644 index 0000000..90b3750 Binary files /dev/null and b/resources/logos/logo_font_italic.png differ diff --git a/resources/logos/logo_font_underline.png b/resources/logos/logo_font_underline.png new file mode 100644 index 0000000..00d3dc4 Binary files /dev/null and b/resources/logos/logo_font_underline.png differ diff --git a/resources/logos/logo_gear.png b/resources/logos/logo_gear.png index 61a7c06..9b67a66 100644 Binary files a/resources/logos/logo_gear.png and b/resources/logos/logo_gear.png differ diff --git a/resources/logos/logo_info.png b/resources/logos/logo_info.png index b94a2c9..55fef89 100644 Binary files a/resources/logos/logo_info.png and b/resources/logos/logo_info.png differ diff --git a/resources/logos/logo_less.png b/resources/logos/logo_less.png new file mode 100644 index 0000000..d00123c Binary files /dev/null and b/resources/logos/logo_less.png differ diff --git a/resources/logos/logo_more.png b/resources/logos/logo_more.png new file mode 100644 index 0000000..1f70f85 Binary files /dev/null and b/resources/logos/logo_more.png differ diff --git a/resources/logos/logo_notepad.png b/resources/logos/logo_notepad.png index 81dbfb3..42ce193 100644 Binary files a/resources/logos/logo_notepad.png and b/resources/logos/logo_notepad.png differ diff --git a/resources/logos/logo_open_file.png b/resources/logos/logo_open_file.png index 3b6e742..5385e88 100644 Binary files a/resources/logos/logo_open_file.png and b/resources/logos/logo_open_file.png differ diff --git a/resources/logos/logo_paste.png b/resources/logos/logo_paste.png new file mode 100644 index 0000000..f16065c Binary files /dev/null and b/resources/logos/logo_paste.png differ diff --git a/resources/logos/logo_plus.png b/resources/logos/logo_plus.png deleted file mode 100644 index 521566d..0000000 Binary files a/resources/logos/logo_plus.png and /dev/null differ diff --git a/resources/logos/logo_recent.png b/resources/logos/logo_recent.png new file mode 100644 index 0000000..1b3bacc Binary files /dev/null and b/resources/logos/logo_recent.png differ diff --git a/resources/logos/logo_redo.png b/resources/logos/logo_redo.png new file mode 100644 index 0000000..4c0af94 Binary files /dev/null and b/resources/logos/logo_redo.png differ diff --git a/resources/logos/logo_refresh.png b/resources/logos/logo_refresh.png index e2aaa72..1b586f2 100644 Binary files a/resources/logos/logo_refresh.png and b/resources/logos/logo_refresh.png differ diff --git a/resources/logos/logo_undo.png b/resources/logos/logo_undo.png new file mode 100644 index 0000000..6748bad Binary files /dev/null and b/resources/logos/logo_undo.png differ diff --git a/resources/templates/preview_mo.ui b/resources/templates/preview_mo.ui new file mode 100644 index 0000000..4606e17 --- /dev/null +++ b/resources/templates/preview_mo.ui @@ -0,0 +1,529 @@ + +