Development of daun-builder

This commit is contained in:
BarsTiger
2022-04-10 13:23:00 +03:00
parent b727a9e23b
commit e5b3674e4b
6 changed files with 212 additions and 141 deletions

View File

@@ -1 +1 @@
pyinstaller --onefile --console --noconfirm --icon logo.ico daun.py
pyinstaller --onefile --console --noconfirm --icon ui/logo.ico daun.py

BIN
logo.ico

Binary file not shown.

Before

Width:  |  Height:  |  Size: 264 KiB

11
modules/thread.py Normal file
View File

@@ -0,0 +1,11 @@
# Module to easily create threads
import threading
def threaded(func):
"""
Decorator to start a function in a new thread
"""
def thr(*args, **kwargs):
threading.Thread(target=func, args=(*args,), kwargs={**kwargs, }).start()
return thr

View File

@@ -3,3 +3,5 @@ pyimgur
psutil
requests
pyinstaller
zstandard
nuitka

View File

@@ -23,7 +23,7 @@ class Ui_MainWindow(object):
MainWindow.setWindowIcon(icon)
MainWindow.setWindowOpacity(0.99)
MainWindow.setStyleSheet("background-color: #202020;\n"
"color: #ffffff;")
"color: #ffffff;")
self.centralwidget = QtWidgets.QWidget(MainWindow)
self.centralwidget.setObjectName("centralwidget")
self.build_button = QtWidgets.QPushButton(self.centralwidget)
@@ -33,50 +33,50 @@ class Ui_MainWindow(object):
self.build_button.setFocusPolicy(QtCore.Qt.TabFocus)
self.build_button.setContextMenuPolicy(QtCore.Qt.NoContextMenu)
self.build_button.setStyleSheet("QPushButton {\n"
" color: white;\n"
" border-width: 1px;\n"
" border-radius:6px;\n"
" border-style: solid;\n"
" border-color: #303030;\n"
" background-color: #2c2d2e;\n"
" font: 10pt \"Segoe UI\";\n"
"}\n"
"QPushButton:hover{\n"
" border-width: 2px;\n"
" background-color: #323232;\n"
"}\n"
"QPushButton:pressed{\n"
" background-color: #262728;\n"
"}\n"
"QPushButton:disabled{\n"
" background-color: #434343;\n"
" border-color: #0000;\n"
"}")
" color: white;\n"
" border-width: 1px;\n"
" border-radius:6px;\n"
" border-style: solid;\n"
" border-color: #303030;\n"
" background-color: #2c2d2e;\n"
" font: 10pt \"Segoe UI\";\n"
"}\n"
"QPushButton:hover{\n"
" border-width: 2px;\n"
" background-color: #323232;\n"
"}\n"
"QPushButton:pressed{\n"
" background-color: #262728;\n"
"}\n"
"QPushButton:disabled{\n"
" background-color: #434343;\n"
" border-color: #0000;\n"
"}")
self.build_button.setAutoDefault(False)
self.build_button.setFlat(False)
self.build_button.setObjectName("build_button")
self.modules_list = QtWidgets.QListWidget(self.centralwidget)
self.modules_list.setGeometry(QtCore.QRect(10, 70, 270, 310))
self.modules_list.setStyleSheet("QListWidget {\n"
" border-width: 1px;\n"
" border-radius:15px;\n"
" border-style: solid;\n"
" border-color: #303030;\n"
" padding: 10px;\n"
" background-color: #242424;\n"
" font: 10pt \"Segoe UI\";\n"
"}\n"
"\n"
"QScrollBar {\n"
" background: #959595;\n"
" width: 8px;\n"
"}\n"
"\n"
"QScrollBar::handle:vertical {\n"
" background: #303030;\n"
" min-height: 20px;\n"
"}\n"
"")
" border-width: 1px;\n"
" border-radius:15px;\n"
" border-style: solid;\n"
" border-color: #303030;\n"
" padding: 10px;\n"
" background-color: #242424;\n"
" font: 10pt \"Segoe UI\";\n"
"}\n"
"\n"
"QScrollBar {\n"
" background: #959595;\n"
" width: 8px;\n"
"}\n"
"\n"
"QScrollBar::handle:vertical {\n"
" background: #303030;\n"
" min-height: 20px;\n"
"}\n"
"")
self.modules_list.setFrameShape(QtWidgets.QFrame.StyledPanel)
self.modules_list.setFrameShadow(QtWidgets.QFrame.Raised)
self.modules_list.setSizeAdjustPolicy(QtWidgets.QAbstractScrollArea.AdjustIgnored)
@@ -87,12 +87,12 @@ class Ui_MainWindow(object):
self.desc_list = QtWidgets.QTextBrowser(self.centralwidget)
self.desc_list.setGeometry(QtCore.QRect(285, 70, 270, 310))
self.desc_list.setStyleSheet("border-width: 1px;\n"
"border-radius:15px;\n"
"border-style: solid;\n"
"border-color: #303030;\n"
"padding: 10px;\n"
"background-color: #242424;\n"
"font: 10pt \"Segoe UI\";")
"border-radius:15px;\n"
"border-style: solid;\n"
"border-color: #303030;\n"
"padding: 10px;\n"
"background-color: #242424;\n"
"font: 10pt \"Segoe UI\";")
self.desc_list.setFrameShape(QtWidgets.QFrame.StyledPanel)
self.desc_list.setFrameShadow(QtWidgets.QFrame.Raised)
self.desc_list.setAcceptRichText(True)
@@ -101,82 +101,82 @@ class Ui_MainWindow(object):
self.daun_builder_logo = QtWidgets.QTextBrowser(self.centralwidget)
self.daun_builder_logo.setGeometry(QtCore.QRect(10, 10, 545, 50))
self.daun_builder_logo.setStyleSheet("border-width: 1px;\n"
"border-radius:15px;\n"
"border-style: solid;\n"
"border-color: #303030;\n"
"background-color: #242424;\n"
"font: 20pt \"Segoe UI\";")
"border-radius:15px;\n"
"border-style: solid;\n"
"border-color: #303030;\n"
"background-color: #242424;\n"
"font: 20pt \"Segoe UI\";")
self.daun_builder_logo.setFrameShape(QtWidgets.QFrame.StyledPanel)
self.daun_builder_logo.setFrameShadow(QtWidgets.QFrame.Raised)
self.daun_builder_logo.setTextInteractionFlags(QtCore.Qt.NoTextInteraction)
self.daun_builder_logo.setObjectName("daun_builder_logo")
self.choose_button = QtWidgets.QPushButton(self.centralwidget)
self.choose_button.setGeometry(QtCore.QRect(450, 390, 101, 25))
self.choose_button.setMouseTracking(False)
self.choose_button.setTabletTracking(False)
self.choose_button.setFocusPolicy(QtCore.Qt.TabFocus)
self.choose_button.setContextMenuPolicy(QtCore.Qt.NoContextMenu)
self.choose_button.setStyleSheet("QPushButton {\n"
" color: white;\n"
" border-width: 1px;\n"
" border-radius:6px;\n"
" border-style: solid;\n"
" border-color: #303030;\n"
" background-color: #2c2d2e;\n"
" font: 10pt \"Segoe UI\";\n"
"}\n"
"QPushButton:hover{\n"
" border-width: 2px;\n"
" background-color: #323232;\n"
"}\n"
"QPushButton:pressed{\n"
" background-color: #262728;\n"
"}\n"
"QPushButton:disabled{\n"
" background-color: #434343;\n"
" border-color: #0000;\n"
"}")
self.choose_button.setAutoDefault(False)
self.choose_button.setFlat(False)
self.choose_button.setObjectName("choose_button")
self.choose_folder_button = QtWidgets.QPushButton(self.centralwidget)
self.choose_folder_button.setGeometry(QtCore.QRect(450, 390, 101, 25))
self.choose_folder_button.setMouseTracking(False)
self.choose_folder_button.setTabletTracking(False)
self.choose_folder_button.setFocusPolicy(QtCore.Qt.TabFocus)
self.choose_folder_button.setContextMenuPolicy(QtCore.Qt.NoContextMenu)
self.choose_folder_button.setStyleSheet("QPushButton {\n"
" color: white;\n"
" border-width: 1px;\n"
" border-radius:6px;\n"
" border-style: solid;\n"
" border-color: #303030;\n"
" background-color: #2c2d2e;\n"
" font: 10pt \"Segoe UI\";\n"
"}\n"
"QPushButton:hover{\n"
" border-width: 2px;\n"
" background-color: #323232;\n"
"}\n"
"QPushButton:pressed{\n"
" background-color: #262728;\n"
"}\n"
"QPushButton:disabled{\n"
" background-color: #434343;\n"
" border-color: #0000;\n"
"}")
self.choose_folder_button.setAutoDefault(False)
self.choose_folder_button.setFlat(False)
self.choose_folder_button.setObjectName("choose_folder_button")
self.path_box = QtWidgets.QLineEdit(self.centralwidget)
self.path_box.setGeometry(QtCore.QRect(285, 390, 160, 25))
self.path_box.setStyleSheet("border-width: 1px;\n"
"border-radius:5px;\n"
"border-style: solid;\n"
"border-color: #303030;\n"
"background-color: #242424;\n"
"font: 10pt \"Segoe UI\";")
"border-radius:5px;\n"
"border-style: solid;\n"
"border-color: #303030;\n"
"background-color: #242424;\n"
"font: 10pt \"Segoe UI\";")
self.path_box.setObjectName("path_box")
self.choose_button_2 = QtWidgets.QPushButton(self.centralwidget)
self.choose_button_2.setGeometry(QtCore.QRect(285, 430, 160, 25))
self.choose_button_2.setMouseTracking(False)
self.choose_button_2.setTabletTracking(False)
self.choose_button_2.setFocusPolicy(QtCore.Qt.TabFocus)
self.choose_button_2.setContextMenuPolicy(QtCore.Qt.NoContextMenu)
self.choose_button_2.setStyleSheet("QPushButton {\n"
" color: white;\n"
" border-width: 1px;\n"
" border-radius:6px;\n"
" border-style: solid;\n"
" border-color: #303030;\n"
" background-color: #2c2d2e;\n"
" font: 10pt \"Segoe UI\";\n"
"}\n"
"QPushButton:hover{\n"
" border-width: 2px;\n"
" background-color: #323232;\n"
"}\n"
"QPushButton:pressed{\n"
" background-color: #262728;\n"
"}\n"
"QPushButton:disabled{\n"
" background-color: #434343;\n"
" border-color: #0000;\n"
"}")
self.choose_button_2.setAutoDefault(False)
self.choose_button_2.setFlat(False)
self.choose_button_2.setObjectName("choose_button_2")
self.choose_icon_button = QtWidgets.QPushButton(self.centralwidget)
self.choose_icon_button.setGeometry(QtCore.QRect(285, 430, 160, 25))
self.choose_icon_button.setMouseTracking(False)
self.choose_icon_button.setTabletTracking(False)
self.choose_icon_button.setFocusPolicy(QtCore.Qt.TabFocus)
self.choose_icon_button.setContextMenuPolicy(QtCore.Qt.NoContextMenu)
self.choose_icon_button.setStyleSheet("QPushButton {\n"
" color: white;\n"
" border-width: 1px;\n"
" border-radius:6px;\n"
" border-style: solid;\n"
" border-color: #303030;\n"
" background-color: #2c2d2e;\n"
" font: 10pt \"Segoe UI\";\n"
"}\n"
"QPushButton:hover{\n"
" border-width: 2px;\n"
" background-color: #323232;\n"
"}\n"
"QPushButton:pressed{\n"
" background-color: #262728;\n"
"}\n"
"QPushButton:disabled{\n"
" background-color: #434343;\n"
" border-color: #0000;\n"
"}")
self.choose_icon_button.setAutoDefault(False)
self.choose_icon_button.setFlat(False)
self.choose_icon_button.setObjectName("choose_icon_button")
self.is_pyinstaller = QtWidgets.QRadioButton(self.centralwidget)
self.is_pyinstaller.setGeometry(QtCore.QRect(20, 415, 80, 15))
self.is_pyinstaller.setStyleSheet("font: 10pt \"Segoe UI\";")
@@ -193,24 +193,40 @@ class Ui_MainWindow(object):
self.builder_bg = QtWidgets.QWidget(self.centralwidget)
self.builder_bg.setGeometry(QtCore.QRect(10, 389, 121, 71))
self.builder_bg.setStyleSheet("border-width: 1px;\n"
"border-radius:15px;\n"
"border-style: solid;\n"
"border-color: #303030;\n"
"padding: 10px;\n"
"background-color: #242424;\n"
"font: 10pt \"Segoe UI\";")
"border-radius:15px;\n"
"border-style: solid;\n"
"border-color: #303030;\n"
"padding: 10px;\n"
"background-color: #242424;\n"
"font: 10pt \"Segoe UI\";")
self.builder_bg.setObjectName("builder_bg")
self.options_bg = QtWidgets.QWidget(self.centralwidget)
self.options_bg.setGeometry(QtCore.QRect(140, 390, 141, 71))
self.options_bg.setStyleSheet("border-width: 1px;\n"
"border-radius:15px;\n"
"border-style: solid;\n"
"border-color: #303030;\n"
"padding: 10px;\n"
"background-color: #242424;\n"
"font: 10pt \"Segoe UI\";")
self.options_bg.setObjectName("options_bg")
self.enable_console_button = QtWidgets.QCheckBox(self.centralwidget)
self.enable_console_button.setGeometry(QtCore.QRect(150, 400, 121, 17))
self.enable_console_button.setStyleSheet("font: 10pt \"Segoe UI\";")
self.enable_console_button.setObjectName("enable_console_button")
self.builder_bg.raise_()
self.build_button.raise_()
self.modules_list.raise_()
self.desc_list.raise_()
self.daun_builder_logo.raise_()
self.choose_button.raise_()
self.choose_folder_button.raise_()
self.path_box.raise_()
self.choose_button_2.raise_()
self.choose_icon_button.raise_()
self.is_pyinstaller.raise_()
self.is_nuitka.raise_()
self.label.raise_()
self.options_bg.raise_()
self.enable_console_button.raise_()
MainWindow.setCentralWidget(self.centralwidget)
self.retranslateUi(MainWindow)
@@ -220,26 +236,31 @@ class Ui_MainWindow(object):
_translate = QtCore.QCoreApplication.translate
MainWindow.setWindowTitle(_translate("MainWindow", "daun builder"))
self.build_button.setText(_translate("MainWindow", "Build it"))
self.desc_list.setHtml(_translate("MainWindow", "<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.0//EN\" \"http://www.w3.org/TR/REC-html40/strict.dtd\">\n"
"<html><head><meta name=\"qrichtext\" content=\"1\" /><style type=\"text/css\">\n"
"p, li { white-space: pre-wrap; }\n"
"</style></head><body style=\" font-family:\'Segoe UI\'; font-size:10pt; font-weight:400; font-style:normal;\">\n"
"<p style=\"-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;\"><br /></p></body></html>"))
self.daun_builder_logo.setHtml(_translate("MainWindow", "<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.0//EN\" \"http://www.w3.org/TR/REC-html40/strict.dtd\">\n"
"<html><head><meta name=\"qrichtext\" content=\"1\" /><style type=\"text/css\">\n"
"p, li { white-space: pre-wrap; }\n"
"</style></head><body style=\" font-family:\'Segoe UI\'; font-size:20pt; font-weight:400; font-style:normal;\">\n"
"<p align=\"center\" style=\" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;\">daun builder</p></body></html>"))
self.choose_button.setText(_translate("MainWindow", "Choose folder"))
self.choose_button_2.setText(_translate("MainWindow", "Choose custom icon"))
self.desc_list.setHtml(_translate("MainWindow",
"<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.0//EN\" \"http://www.w3.org/TR/REC-html40/strict.dtd\">\n"
"<html><head><meta name=\"qrichtext\" content=\"1\" /><style type=\"text/css\">\n"
"p, li { white-space: pre-wrap; }\n"
"</style></head><body style=\" font-family:\'Segoe UI\'; font-size:10pt; font-weight:400; font-style:normal;\">\n"
"<p style=\"-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;\"><br /></p></body></html>"))
self.daun_builder_logo.setHtml(_translate("MainWindow",
"<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.0//EN\" \"http://www.w3.org/TR/REC-html40/strict.dtd\">\n"
"<html><head><meta name=\"qrichtext\" content=\"1\" /><style type=\"text/css\">\n"
"p, li { white-space: pre-wrap; }\n"
"</style></head><body style=\" font-family:\'Segoe UI\'; font-size:20pt; font-weight:400; font-style:normal;\">\n"
"<p align=\"center\" style=\" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;\">daun builder</p></body></html>"))
self.choose_folder_button.setText(_translate("MainWindow", "Choose folder"))
self.choose_icon_button.setText(_translate("MainWindow", "Choose custom icon"))
self.is_pyinstaller.setText(_translate("MainWindow", "pyinstaller"))
self.is_nuitka.setText(_translate("MainWindow", "nuitka"))
self.label.setText(_translate("MainWindow", "Choose builder"))
import images_rc
self.enable_console_button.setText(_translate("MainWindow", "Invisible window"))
import images_rc
if __name__ == "__main__":
import sys
app = QtWidgets.QApplication(sys.argv)
MainWindow = QtWidgets.QMainWindow()
ui = Ui_MainWindow()

View File

@@ -168,7 +168,7 @@ font: 10pt &quot;Segoe UI&quot;;</string>
<enum>QFrame::Raised</enum>
</property>
<property name="html">
<string>&lt;!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 4.0//EN&quot; &quot;http://www.w3.org/TR/REC-html40/strict.dtd&quot;&gt;
<string notr="true">&lt;!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 4.0//EN&quot; &quot;http://www.w3.org/TR/REC-html40/strict.dtd&quot;&gt;
&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
p, li { white-space: pre-wrap; }
&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:'Segoe UI'; font-size:10pt; font-weight:400; font-style:normal;&quot;&gt;
@@ -215,7 +215,7 @@ p, li { white-space: pre-wrap; }
<set>Qt::NoTextInteraction</set>
</property>
</widget>
<widget class="QPushButton" name="choose_button">
<widget class="QPushButton" name="choose_folder_button">
<property name="geometry">
<rect>
<x>450</x>
@@ -286,7 +286,7 @@ background-color: #242424;
font: 10pt &quot;Segoe UI&quot;;</string>
</property>
</widget>
<widget class="QPushButton" name="choose_button_2">
<widget class="QPushButton" name="choose_icon_button">
<property name="geometry">
<rect>
<x>285</x>
@@ -409,17 +409,54 @@ background-color: #242424;
font: 10pt &quot;Segoe UI&quot;;</string>
</property>
</widget>
<widget class="QWidget" name="options_bg" native="true">
<property name="geometry">
<rect>
<x>140</x>
<y>390</y>
<width>141</width>
<height>71</height>
</rect>
</property>
<property name="styleSheet">
<string notr="true">border-width: 1px;
border-radius:15px;
border-style: solid;
border-color: #303030;
padding: 10px;
background-color: #242424;
font: 10pt &quot;Segoe UI&quot;;</string>
</property>
</widget>
<widget class="QCheckBox" name="enable_console_button">
<property name="geometry">
<rect>
<x>150</x>
<y>400</y>
<width>121</width>
<height>17</height>
</rect>
</property>
<property name="styleSheet">
<string notr="true">font: 10pt &quot;Segoe UI&quot;;</string>
</property>
<property name="text">
<string>Invisible window</string>
</property>
</widget>
<zorder>builder_bg</zorder>
<zorder>build_button</zorder>
<zorder>modules_list</zorder>
<zorder>desc_list</zorder>
<zorder>daun_builder_logo</zorder>
<zorder>choose_button</zorder>
<zorder>choose_folder_button</zorder>
<zorder>path_box</zorder>
<zorder>choose_button_2</zorder>
<zorder>choose_icon_button</zorder>
<zorder>is_pyinstaller</zorder>
<zorder>is_nuitka</zorder>
<zorder>label</zorder>
<zorder>options_bg</zorder>
<zorder>enable_console_button</zorder>
</widget>
</widget>
<resources>