diff --git a/.gitignore b/.gitignore index a222802..49ff8fb 100644 --- a/.gitignore +++ b/.gitignore @@ -1 +1,2 @@ *.user* +__pycache__ diff --git a/VM-source/Makefile b/VM-source/Makefile index d2aff3c..80e8216 100755 --- a/VM-source/Makefile +++ b/VM-source/Makefile @@ -127,6 +127,7 @@ DIST = en_US.qm \ /usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_designer.pri \ /usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_devicediscovery_support_private.pri \ /usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_dtkcore.pri \ + /usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_dtkdeclarative.pri \ /usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_dtkgui.pri \ /usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_DtkWidget.pri \ /usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_edid_support_private.pri \ @@ -172,6 +173,10 @@ DIST = en_US.qm \ /usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_uiplugin.pri \ /usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_uitools.pri \ /usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_vulkan_support_private.pri \ + /usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_waylandclient.pri \ + /usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_waylandclient_private.pri \ + /usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_waylandcompositor.pri \ + /usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_waylandcompositor_private.pri \ /usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_webchannel.pri \ /usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_webengine.pri \ /usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_webenginecore.pri \ @@ -184,6 +189,7 @@ DIST = en_US.qm \ /usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_xkbcommon_support_private.pri \ /usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_xml.pri \ /usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_xml_private.pri \ + /usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_QApt.pri \ /usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_Solid.pri \ /usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_SonnetCore.pri \ /usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_SonnetUi.pri \ @@ -283,6 +289,7 @@ Makefile: VirtualMachine.pro /usr/lib/x86_64-linux-gnu/qt5/mkspecs/linux-g++/qma /usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_designer.pri \ /usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_devicediscovery_support_private.pri \ /usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_dtkcore.pri \ + /usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_dtkdeclarative.pri \ /usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_dtkgui.pri \ /usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_DtkWidget.pri \ /usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_edid_support_private.pri \ @@ -328,6 +335,10 @@ Makefile: VirtualMachine.pro /usr/lib/x86_64-linux-gnu/qt5/mkspecs/linux-g++/qma /usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_uiplugin.pri \ /usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_uitools.pri \ /usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_vulkan_support_private.pri \ + /usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_waylandclient.pri \ + /usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_waylandclient_private.pri \ + /usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_waylandcompositor.pri \ + /usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_waylandcompositor_private.pri \ /usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_webchannel.pri \ /usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_webengine.pri \ /usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_webenginecore.pri \ @@ -340,6 +351,7 @@ Makefile: VirtualMachine.pro /usr/lib/x86_64-linux-gnu/qt5/mkspecs/linux-g++/qma /usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_xkbcommon_support_private.pri \ /usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_xml.pri \ /usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_xml_private.pri \ + /usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_QApt.pri \ /usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_Solid.pri \ /usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_SonnetCore.pri \ /usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_SonnetUi.pri \ @@ -418,6 +430,7 @@ Makefile: VirtualMachine.pro /usr/lib/x86_64-linux-gnu/qt5/mkspecs/linux-g++/qma /usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_designer.pri: /usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_devicediscovery_support_private.pri: /usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_dtkcore.pri: +/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_dtkdeclarative.pri: /usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_dtkgui.pri: /usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_DtkWidget.pri: /usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_edid_support_private.pri: @@ -463,6 +476,10 @@ Makefile: VirtualMachine.pro /usr/lib/x86_64-linux-gnu/qt5/mkspecs/linux-g++/qma /usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_uiplugin.pri: /usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_uitools.pri: /usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_vulkan_support_private.pri: +/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_waylandclient.pri: +/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_waylandclient_private.pri: +/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_waylandcompositor.pri: +/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_waylandcompositor_private.pri: /usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_webchannel.pri: /usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_webengine.pri: /usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_webenginecore.pri: @@ -475,6 +492,7 @@ Makefile: VirtualMachine.pro /usr/lib/x86_64-linux-gnu/qt5/mkspecs/linux-g++/qma /usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_xkbcommon_support_private.pri: /usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_xml.pri: /usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_xml_private.pri: +/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_QApt.pri: /usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_Solid.pri: /usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_SonnetCore.pri: /usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_SonnetUi.pri: diff --git a/deepin-wine-easy-packager.py b/deepin-wine-easy-packager.py index 43e2ce1..8350175 100755 --- a/deepin-wine-easy-packager.py +++ b/deepin-wine-easy-packager.py @@ -3,6 +3,7 @@ import os import sys import json import time +import threading import updatekiller import random try: @@ -667,14 +668,22 @@ if __name__ == "__main__": buildButton = QtWidgets.QPushButton("现在打包……") installCmpleteButton = QtWidgets.QPushButton("安装程序执行完成") helpButton = QtWidgets.QPushButton("帮助") + installUosPackingTool = QtWidgets.QPushButton("安装维护工具箱(可以安装测试 deb)") browserExeButton.clicked.connect(BrowserExe) buildButton.clicked.connect(RunBuildThread) installCmpleteButton.clicked.connect(PressCompleteDownload) helpButton.clicked.connect(ReadMe) + def InstallUosPackingTool(): + if os.system("which spark-store"): + QtWidgets.QMessageBox.critical(window, "提示", "未安装星火应用商店,无法继续\n星火应用商店官网:https://spark-app.store/") + return 0 + threading.Thread(target=os.system, args=["spark-store spk://store/tools/uos-packaging-tools"]).start() + installUosPackingTool.clicked.connect(InstallUosPackingTool) installCmpleteButton.setDisabled(True) controlLayout.addWidget(buildButton) controlLayout.addWidget(installCmpleteButton) controlLayout.addWidget(helpButton) + controlLayout.addWidget(installUosPackingTool) layout.addWidget(QtWidgets.QLabel("选择 EXE:"), 0, 0) layout.addWidget(exePath, 0, 1) layout.addWidget(browserExeButton, 0, 2) diff --git a/deepin-wine-packager.py b/deepin-wine-packager.py index 465ab18..f1caceb 100755 --- a/deepin-wine-packager.py +++ b/deepin-wine-packager.py @@ -2449,6 +2449,15 @@ saveFile.triggered.connect(SaveConfigList) hideShowText.triggered.connect(lambda: textbox1.setHidden(hideShowText.isChecked())) exit.triggered.connect(window.close) tip.triggered.connect(helps) +wineDepend = menu.addMenu("Wine 应用依赖(非 Deepin/UOS 发行版)") +uosPackingTools = QtWidgets.QAction("安装维护打包工具箱(需要先安装星火应用商店)") +sparkStoreWebsite = QtWidgets.QAction("打开星火应用商店官网") +if os.system("which spark-store"): + uosPackingTools.setDisabled(True) +uosPackingTools.triggered.connect(lambda: threading.Thread(target=os.system, args=["spark-store spk://store/tools/uos-packaging-tools"]).start()) +sparkStoreWebsite.triggered.connect(lambda: webbrowser.open_new_tab("https://spark-app.store/")) +wineDepend.addAction(sparkStoreWebsite) +wineDepend.addAction(uosPackingTools) programmenu.addAction(openFile) programmenu.addAction(saveFile) #programmenu.addSeparator()