mirror of
https://gitee.com/gfdgd-xi/deep-wine-runner
synced 2025-01-27 16:38:06 +08:00
将C++版的Wine安装器改Python(技术问题)
This commit is contained in:
parent
a62a937700
commit
9254aa0cdf
@ -1329,22 +1329,7 @@ exe路径\' 参数 \'
|
|||||||
<b>千万不要中断后不删除源的情况下 apt upgrade !!!</b>中断后只需重新打开脚本输入 repair 或者随意安装一个 Wine(会自动执行恢复操作)即可
|
<b>千万不要中断后不删除源的情况下 apt upgrade !!!</b>中断后只需重新打开脚本输入 repair 或者随意安装一个 Wine(会自动执行恢复操作)即可
|
||||||
以及此脚本安装的 Wine 无法保证 100% 能使用,以及副作用是会提示
|
以及此脚本安装的 Wine 无法保证 100% 能使用,以及副作用是会提示
|
||||||
<code>N: 鉴于仓库 'https://community-packages.deepin.com/beige beige InRelease' 不支持 'i386' 体系结构,跳过配置文件 'main/binary-i386/Packages' 的获取。</code>'''
|
<code>N: 鉴于仓库 'https://community-packages.deepin.com/beige beige InRelease' 不支持 'i386' 体系结构,跳过配置文件 'main/binary-i386/Packages' 的获取。</code>'''
|
||||||
updateThingsString = '''<b>※1、修复了重复路径一直自动重复增加的问题
|
updateThingsString = '''<b>※</b>
|
||||||
※2、修复了两个打包器打包错误的问题(非基于生态活动脚本的为 wine 导入错误,基于生态活动脚本的为架构有误导致打包出的 deb 无法打包)
|
|
||||||
※3、适配了部分非 i386、amd64 架构计算机的 UOS 系统使用的 wine 并支持打包非 i386、amd64 架构计算机的 UOS 系统使用的 wine 程序 deb 包
|
|
||||||
※4、支持安装 dxvk(遵守 Zlib 开源协议)
|
|
||||||
※5、运行器、打包器(包括非基于生态适配活动脚本制作的)支持使用 Wine 生态适配活动的容器清理脚本
|
|
||||||
※6、支持更加简易的安装最新版的 WineHQ</b>
|
|
||||||
※7、增加字体商店
|
|
||||||
※8、新增查看可执行文件运行情况的功能
|
|
||||||
9、支持不显示没有安装的 Wine,方便用户识别
|
|
||||||
10、修改了 Wine 的顺序使其更加合理
|
|
||||||
11、支持删除安装 exe 后在启动器的快捷方式
|
|
||||||
12、优化了 Wine 打包器(非基于生态活动脚本)对容器的处理
|
|
||||||
13、修复了 Wine 打包器(非基于生态活动脚本)打包出的 deb 安装时显示为解压缩后会消耗 0 B 的额外空间以及 postrm 的一些问题
|
|
||||||
14、支持删除无需使用的程序组件
|
|
||||||
15、支持组件/运行库下载后缓存方便下次使用(可以清理)
|
|
||||||
16、点击获取图标按钮后会自动读取 exe 框的程序图标(不支持相对路径和包内路径,只支持绝对路径)
|
|
||||||
'''
|
'''
|
||||||
for i in information["Thank"]:
|
for i in information["Thank"]:
|
||||||
thankText += f"{i}\n"
|
thankText += f"{i}\n"
|
||||||
|
@ -63,7 +63,7 @@ void DownloadThread::run(){
|
|||||||
conf.setPeerVerifyMode(QSslSocket::VerifyNone);
|
conf.setPeerVerifyMode(QSslSocket::VerifyNone);
|
||||||
conf.setProtocol(QSsl::TlsV1_1);
|
conf.setProtocol(QSsl::TlsV1_1);
|
||||||
req.setSslConfiguration(conf);
|
req.setSslConfiguration(conf);
|
||||||
req.setUrl(QUrl("https://code.gitlink.org.cn/gfdgd_xi/wine-mirrors/raw/branch/master/spark-wine7-devel-7.14.7z"));
|
req.setUrl(QUrl(fileUrl));
|
||||||
// 下载文件
|
// 下载文件
|
||||||
QNetworkReply *reply = m.get(req);
|
QNetworkReply *reply = m.get(req);
|
||||||
QEventLoop loop;
|
QEventLoop loop;
|
||||||
|
@ -54,11 +54,13 @@ OBJECTS_DIR = ./
|
|||||||
|
|
||||||
SOURCES = ../wine-source/main.cpp \
|
SOURCES = ../wine-source/main.cpp \
|
||||||
../wine-source/mainwindow.cpp \
|
../wine-source/mainwindow.cpp \
|
||||||
../wine-source/downloadthread.cpp moc_mainwindow.cpp
|
../wine-source/downloadthread.cpp moc_mainwindow.cpp \
|
||||||
|
moc_downloadthread.cpp
|
||||||
OBJECTS = main.o \
|
OBJECTS = main.o \
|
||||||
mainwindow.o \
|
mainwindow.o \
|
||||||
downloadthread.o \
|
downloadthread.o \
|
||||||
moc_mainwindow.o
|
moc_mainwindow.o \
|
||||||
|
moc_downloadthread.o
|
||||||
DIST = /usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/spec_pre.prf \
|
DIST = /usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/spec_pre.prf \
|
||||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/common/unix.conf \
|
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/common/unix.conf \
|
||||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/common/linux.conf \
|
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/common/linux.conf \
|
||||||
@ -432,14 +434,19 @@ compiler_moc_predefs_clean:
|
|||||||
moc_predefs.h: /usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/data/dummy.cpp
|
moc_predefs.h: /usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/data/dummy.cpp
|
||||||
g++ -pipe -O2 -std=gnu++11 -Wall -Wextra -dM -E -o moc_predefs.h /usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/data/dummy.cpp
|
g++ -pipe -O2 -std=gnu++11 -Wall -Wextra -dM -E -o moc_predefs.h /usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/data/dummy.cpp
|
||||||
|
|
||||||
compiler_moc_header_make_all: moc_mainwindow.cpp
|
compiler_moc_header_make_all: moc_mainwindow.cpp moc_downloadthread.cpp
|
||||||
compiler_moc_header_clean:
|
compiler_moc_header_clean:
|
||||||
-$(DEL_FILE) moc_mainwindow.cpp
|
-$(DEL_FILE) moc_mainwindow.cpp moc_downloadthread.cpp
|
||||||
moc_mainwindow.cpp: ../wine-source/mainwindow.h \
|
moc_mainwindow.cpp: ../wine-source/mainwindow.h \
|
||||||
moc_predefs.h \
|
moc_predefs.h \
|
||||||
/usr/lib/qt5/bin/moc
|
/usr/lib/qt5/bin/moc
|
||||||
/usr/lib/qt5/bin/moc $(DEFINES) --include /home/gfdgd_xi/Desktop/deep-wine-runner/wine/moc_predefs.h -I/usr/lib/x86_64-linux-gnu/qt5/mkspecs/linux-g++ -I/home/gfdgd_xi/Desktop/deep-wine-runner/wine-source -I/usr/include/x86_64-linux-gnu/qt5 -I/usr/include/x86_64-linux-gnu/qt5/QtWidgets -I/usr/include/x86_64-linux-gnu/qt5/QtGui -I/usr/include/x86_64-linux-gnu/qt5/QtNetwork -I/usr/include/x86_64-linux-gnu/qt5/QtCore -I. -I/usr/include/c++/8 -I/usr/include/x86_64-linux-gnu/c++/8 -I/usr/include/c++/8/backward -I/usr/lib/gcc/x86_64-linux-gnu/8/include -I/usr/local/include -I/usr/lib/gcc/x86_64-linux-gnu/8/include-fixed -I/usr/include/x86_64-linux-gnu -I/usr/include ../wine-source/mainwindow.h -o moc_mainwindow.cpp
|
/usr/lib/qt5/bin/moc $(DEFINES) --include /home/gfdgd_xi/Desktop/deep-wine-runner/wine/moc_predefs.h -I/usr/lib/x86_64-linux-gnu/qt5/mkspecs/linux-g++ -I/home/gfdgd_xi/Desktop/deep-wine-runner/wine-source -I/usr/include/x86_64-linux-gnu/qt5 -I/usr/include/x86_64-linux-gnu/qt5/QtWidgets -I/usr/include/x86_64-linux-gnu/qt5/QtGui -I/usr/include/x86_64-linux-gnu/qt5/QtNetwork -I/usr/include/x86_64-linux-gnu/qt5/QtCore -I. -I/usr/include/c++/8 -I/usr/include/x86_64-linux-gnu/c++/8 -I/usr/include/c++/8/backward -I/usr/lib/gcc/x86_64-linux-gnu/8/include -I/usr/local/include -I/usr/lib/gcc/x86_64-linux-gnu/8/include-fixed -I/usr/include/x86_64-linux-gnu -I/usr/include ../wine-source/mainwindow.h -o moc_mainwindow.cpp
|
||||||
|
|
||||||
|
moc_downloadthread.cpp: ../wine-source/downloadthread.h \
|
||||||
|
moc_predefs.h \
|
||||||
|
/usr/lib/qt5/bin/moc
|
||||||
|
/usr/lib/qt5/bin/moc $(DEFINES) --include /home/gfdgd_xi/Desktop/deep-wine-runner/wine/moc_predefs.h -I/usr/lib/x86_64-linux-gnu/qt5/mkspecs/linux-g++ -I/home/gfdgd_xi/Desktop/deep-wine-runner/wine-source -I/usr/include/x86_64-linux-gnu/qt5 -I/usr/include/x86_64-linux-gnu/qt5/QtWidgets -I/usr/include/x86_64-linux-gnu/qt5/QtGui -I/usr/include/x86_64-linux-gnu/qt5/QtNetwork -I/usr/include/x86_64-linux-gnu/qt5/QtCore -I. -I/usr/include/c++/8 -I/usr/include/x86_64-linux-gnu/c++/8 -I/usr/include/c++/8/backward -I/usr/lib/gcc/x86_64-linux-gnu/8/include -I/usr/local/include -I/usr/lib/gcc/x86_64-linux-gnu/8/include-fixed -I/usr/include/x86_64-linux-gnu -I/usr/include ../wine-source/downloadthread.h -o moc_downloadthread.cpp
|
||||||
|
|
||||||
compiler_moc_objc_header_make_all:
|
compiler_moc_objc_header_make_all:
|
||||||
compiler_moc_objc_header_clean:
|
compiler_moc_objc_header_clean:
|
||||||
compiler_moc_source_make_all:
|
compiler_moc_source_make_all:
|
||||||
@ -475,6 +482,9 @@ downloadthread.o: ../wine-source/downloadthread.cpp ../wine-source/downloadthrea
|
|||||||
moc_mainwindow.o: moc_mainwindow.cpp
|
moc_mainwindow.o: moc_mainwindow.cpp
|
||||||
$(CXX) -c $(CXXFLAGS) $(INCPATH) -o moc_mainwindow.o moc_mainwindow.cpp
|
$(CXX) -c $(CXXFLAGS) $(INCPATH) -o moc_mainwindow.o moc_mainwindow.cpp
|
||||||
|
|
||||||
|
moc_downloadthread.o: moc_downloadthread.cpp
|
||||||
|
$(CXX) -c $(CXXFLAGS) $(INCPATH) -o moc_downloadthread.o moc_downloadthread.cpp
|
||||||
|
|
||||||
####### Install
|
####### Install
|
||||||
|
|
||||||
install_target: first FORCE
|
install_target: first FORCE
|
||||||
|
Binary file not shown.
BIN
wine/installwine
BIN
wine/installwine
Binary file not shown.
18
wine/installwine.py
Normal file
18
wine/installwine.py
Normal file
@ -0,0 +1,18 @@
|
|||||||
|
# 本来是用C++写的,但在非deepin/UOS编译/运行就是下载不了https文件,只能用python重写
|
||||||
|
import sys
|
||||||
|
import PyQt5.QtWidgets as QtWidgets
|
||||||
|
|
||||||
|
import mainwindowui
|
||||||
|
|
||||||
|
# 继承至界面文件的主窗口类
|
||||||
|
class MyMainWindow(mainwindowui.Ui_MainWindow):
|
||||||
|
def __init__(self, parent=None):
|
||||||
|
#pass
|
||||||
|
super(MyMainWindow, self).__init__(parent)
|
||||||
|
#self.setupUi(self)
|
||||||
|
|
||||||
|
if __name__ == "__main__":
|
||||||
|
app = QtWidgets.QApplication(sys.argv)
|
||||||
|
window = MyMainWindow()
|
||||||
|
window.show()
|
||||||
|
app.exec_()
|
Binary file not shown.
258
wine/mainwindowui.py
Normal file
258
wine/mainwindowui.py
Normal file
@ -0,0 +1,258 @@
|
|||||||
|
import os
|
||||||
|
import sys
|
||||||
|
import json
|
||||||
|
import requests
|
||||||
|
from PyQt5 import QtCore, QtGui, QtWidgets
|
||||||
|
|
||||||
|
class Ui_MainWindow(object):
|
||||||
|
def setupUi(self, MainWindow):
|
||||||
|
MainWindow.setObjectName("MainWindow")
|
||||||
|
MainWindow.resize(693, 404)
|
||||||
|
self.centralWidget = QtWidgets.QWidget(MainWindow)
|
||||||
|
self.centralWidget.setObjectName("centralWidget")
|
||||||
|
self.verticalLayout_2 = QtWidgets.QVBoxLayout(self.centralWidget)
|
||||||
|
self.verticalLayout_2.setContentsMargins(11, 11, 11, 11)
|
||||||
|
self.verticalLayout_2.setSpacing(6)
|
||||||
|
self.verticalLayout_2.setObjectName("verticalLayout_2")
|
||||||
|
self.horizontalLayout_2 = QtWidgets.QHBoxLayout()
|
||||||
|
self.horizontalLayout_2.setSpacing(6)
|
||||||
|
self.horizontalLayout_2.setObjectName("horizontalLayout_2")
|
||||||
|
self.localWineList = QtWidgets.QListView(self.centralWidget)
|
||||||
|
self.localWineList.setObjectName("localWineList")
|
||||||
|
self.horizontalLayout_2.addWidget(self.localWineList)
|
||||||
|
self.verticalLayout = QtWidgets.QVBoxLayout()
|
||||||
|
self.verticalLayout.setSpacing(6)
|
||||||
|
self.verticalLayout.setObjectName("verticalLayout")
|
||||||
|
spacerItem = QtWidgets.QSpacerItem(20, 40, QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Expanding)
|
||||||
|
self.verticalLayout.addItem(spacerItem)
|
||||||
|
self.addButton = QtWidgets.QPushButton(self.centralWidget)
|
||||||
|
self.addButton.setObjectName("addButton")
|
||||||
|
self.verticalLayout.addWidget(self.addButton)
|
||||||
|
self.delButton = QtWidgets.QPushButton(self.centralWidget)
|
||||||
|
self.delButton.setObjectName("delButton")
|
||||||
|
self.verticalLayout.addWidget(self.delButton)
|
||||||
|
spacerItem1 = QtWidgets.QSpacerItem(20, 40, QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Expanding)
|
||||||
|
self.verticalLayout.addItem(spacerItem1)
|
||||||
|
self.horizontalLayout_2.addLayout(self.verticalLayout)
|
||||||
|
self.internetWineList = QtWidgets.QListView(self.centralWidget)
|
||||||
|
self.internetWineList.setObjectName("internetWineList")
|
||||||
|
self.horizontalLayout_2.addWidget(self.internetWineList)
|
||||||
|
self.verticalLayout_2.addLayout(self.horizontalLayout_2)
|
||||||
|
self.horizontalLayout = QtWidgets.QHBoxLayout()
|
||||||
|
self.horizontalLayout.setSpacing(6)
|
||||||
|
self.horizontalLayout.setObjectName("horizontalLayout")
|
||||||
|
self.unzip = QtWidgets.QCheckBox(self.centralWidget)
|
||||||
|
self.unzip.setObjectName("unzip")
|
||||||
|
self.horizontalLayout.addWidget(self.unzip)
|
||||||
|
self.deleteZip = QtWidgets.QCheckBox(self.centralWidget)
|
||||||
|
self.deleteZip.setChecked(True)
|
||||||
|
self.deleteZip.setTristate(False)
|
||||||
|
self.deleteZip.setObjectName("deleteZip")
|
||||||
|
self.horizontalLayout.addWidget(self.deleteZip)
|
||||||
|
spacerItem2 = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Minimum)
|
||||||
|
self.horizontalLayout.addItem(spacerItem2)
|
||||||
|
self.verticalLayout_2.addLayout(self.horizontalLayout)
|
||||||
|
MainWindow.setCentralWidget(self.centralWidget)
|
||||||
|
|
||||||
|
self.retranslateUi(MainWindow)
|
||||||
|
QtCore.QMetaObject.connectSlotsByName(MainWindow)
|
||||||
|
|
||||||
|
def retranslateUi(self, MainWindow):
|
||||||
|
_translate = QtCore.QCoreApplication.translate
|
||||||
|
MainWindow.setWindowTitle(_translate("MainWindow", "下载 Wine"))
|
||||||
|
self.addButton.setText(_translate("MainWindow", "<<"))
|
||||||
|
self.delButton.setText(_translate("MainWindow", ">>"))
|
||||||
|
self.unzip.setText(_translate("MainWindow", "不解压Wine资源文件"))
|
||||||
|
self.deleteZip.setText(_translate("MainWindow", "删除下载的资源包,只解压保留(两个选项都选相互抵消)"))
|
||||||
|
|
||||||
|
def ReadLocalInformation():
|
||||||
|
global localJsonList
|
||||||
|
file = open(f"{programPath}/winelist.json", "r")
|
||||||
|
localJsonList = json.loads(file.read())
|
||||||
|
nmodel = QtGui.QStandardItemModel(window)
|
||||||
|
for i in localJsonList:
|
||||||
|
item = QtGui.QStandardItem(i)
|
||||||
|
nmodel.appendRow(item)
|
||||||
|
ui.localWineList.setModel(nmodel)
|
||||||
|
file.close()
|
||||||
|
|
||||||
|
def ReadInternetInformation():
|
||||||
|
global internetJsonList
|
||||||
|
# C++ 版本是用 curl 的,考虑到 Python 用 requests 反而方便,于是不用 curl
|
||||||
|
internetJsonList = json.loads(requests.get(f"{internetWineSource}/information.json").text)
|
||||||
|
nmodel = QtGui.QStandardItemModel(window)
|
||||||
|
for i in internetJsonList:
|
||||||
|
item = QtGui.QStandardItem(i[0])
|
||||||
|
nmodel.appendRow(item)
|
||||||
|
ui.internetWineList.setModel(nmodel)
|
||||||
|
|
||||||
|
class DownloadThread(QtCore.QThread):
|
||||||
|
MessageBoxInfo = QtCore.pyqtSignal(str)
|
||||||
|
MessageBoxError = QtCore.pyqtSignal(str)
|
||||||
|
ChangeDialog = QtCore.pyqtSignal(QtWidgets.QProgressDialog, int, int, int)
|
||||||
|
Finish = QtCore.pyqtSignal()
|
||||||
|
def __init__(self, progressDialog: QtWidgets.QProgressDialog,
|
||||||
|
url: str, savePath: str, fileName: str, view: QtWidgets.QListView, deleteZip: bool,
|
||||||
|
unzip: bool, localList) -> None:
|
||||||
|
self.dialog = progressDialog
|
||||||
|
self.fileUrl = url
|
||||||
|
self.fileSavePath = savePath
|
||||||
|
self.fileSaveName = fileName
|
||||||
|
self.localView = view
|
||||||
|
self.downloadDeleteZip = deleteZip
|
||||||
|
self.downloadUnzip = unzip
|
||||||
|
self.localJsonList = localList
|
||||||
|
super().__init__()
|
||||||
|
|
||||||
|
def ReadLocalInformation(self):
|
||||||
|
file = open(f"{programPath}/winelist.json", "r");
|
||||||
|
nmodel = QtGui.QStandardItemModel()
|
||||||
|
localJsonList = json.loads(file.read())
|
||||||
|
for i in localJsonList:
|
||||||
|
nmodel.appendRow(QtGui.QStandardItem(i))
|
||||||
|
self.localView.setModel(nmodel)
|
||||||
|
file.close()
|
||||||
|
|
||||||
|
def run(self):
|
||||||
|
# 创建文件夹
|
||||||
|
dir = QtCore.QDir()
|
||||||
|
savePath = f"{programPath}/{self.fileSaveName}"
|
||||||
|
# 文件下载
|
||||||
|
timeout = 0
|
||||||
|
f = requests.get(self.fileUrl, stream=True)
|
||||||
|
allSize = int(f.headers["content-length"]) # 文件总大小
|
||||||
|
bytesRead = 0
|
||||||
|
with open(savePath, "wb") as filePart:
|
||||||
|
for chunk in f.iter_content(chunk_size=1024):
|
||||||
|
if chunk:
|
||||||
|
#progressbar.update(int(part / show))
|
||||||
|
filePart.write(chunk)
|
||||||
|
bytesRead += 1024
|
||||||
|
self.ChangeDialog.emit(self.dialog, bytesRead / allSize * 100, bytesRead / 1024 / 1024, allSize / 1024 / 1024)
|
||||||
|
# 写入配置文件
|
||||||
|
rfile = open(f"{programPath}/winelist.json", "r")
|
||||||
|
list = json.loads(rfile.read())
|
||||||
|
rfile.close()
|
||||||
|
# C++ 版注释:不直接用 readwrite 是因为不能覆盖写入
|
||||||
|
file = open(f"{programPath}/winelist.json", "w")
|
||||||
|
list.append(self.fileSaveName.replace(".7z", ""))
|
||||||
|
file.write(json.dumps(list))
|
||||||
|
file.close()
|
||||||
|
# 读取配置文件
|
||||||
|
self.ReadLocalInformation()
|
||||||
|
self.localJsonList = list
|
||||||
|
# 解压文件
|
||||||
|
shellCommand = ""
|
||||||
|
if self.downloadUnzip:
|
||||||
|
path = f"{programPath}/{self.fileSaveName.replace('.7z', '')}"
|
||||||
|
shellCommand += f"""mkdir -p \"{path}\"
|
||||||
|
7z x \"{savePath}\" -o\"{path}\"
|
||||||
|
"""
|
||||||
|
if self.downloadDeleteZip:
|
||||||
|
shellCommand += f"rm -rf \"{savePath}\"\n"
|
||||||
|
shellFile = open("/tmp/depein-wine-runner-wine-install.sh", "w")
|
||||||
|
shellFile.write(shellCommand)
|
||||||
|
shellFile.close()
|
||||||
|
process = QtCore.QProcess()
|
||||||
|
command = ["deepin-terminal", "-e", "bash", "/tmp/depein-wine-runner-wine-install.sh"]
|
||||||
|
process.start(f"{programPath}/../launch.sh", command)
|
||||||
|
process.waitForFinished()
|
||||||
|
self.Finish.emit()
|
||||||
|
|
||||||
|
|
||||||
|
def MessageBoxInfo(info):
|
||||||
|
QtWidgets.QMessageBox.information(window, "提示", info)
|
||||||
|
|
||||||
|
def MessageBoxError(info):
|
||||||
|
QtWidgets.QMessageBox.critical(window, "错误", info)
|
||||||
|
|
||||||
|
def ChangeDialog(dialog: QtWidgets.QProgressDialog, value, downloadBytes, totalBytes):
|
||||||
|
dialog.setValue(value)
|
||||||
|
dialog.setLabelText(f"{downloadBytes}MB/{totalBytes}MB")
|
||||||
|
|
||||||
|
def DownloadFinish():
|
||||||
|
ui.centralWidget.setEnabled(True)
|
||||||
|
|
||||||
|
class QT:
|
||||||
|
thread = None
|
||||||
|
|
||||||
|
def on_addButton_clicked():
|
||||||
|
choose = ui.internetWineList.currentIndex().row()
|
||||||
|
if choose < 0:
|
||||||
|
QtWidgets.QMessageBox.information(window, "提示", "您未选中任何项,无法继续")
|
||||||
|
return
|
||||||
|
downloadName = internetJsonList[choose][1]
|
||||||
|
ReadLocalInformation()
|
||||||
|
for i in localJsonList:
|
||||||
|
if i == internetJsonList[choose][0]:
|
||||||
|
QtWidgets.QMessageBox.information(window, "提示", "您已经安装了这个Wine了!无需重复安装!")
|
||||||
|
return
|
||||||
|
if(ui.deleteZip.isChecked() + ui.unzip.isChecked() == 2):
|
||||||
|
ui.deleteZip.setChecked(False)
|
||||||
|
ui.unzip.setChecked(False)
|
||||||
|
downloadUrl = internetWineSource + downloadName
|
||||||
|
dialog = QtWidgets.QProgressDialog()
|
||||||
|
cancel = QtWidgets.QPushButton("取消")
|
||||||
|
cancel.setDisabled(True)
|
||||||
|
dialog.setWindowIcon(QtGui.QIcon(f"{programPath}/../deepin-wine-runner.svg"))
|
||||||
|
dialog.setCancelButton(cancel)
|
||||||
|
dialog.setWindowTitle(f"正在下载“{internetJsonList[choose][0]}”")
|
||||||
|
QT.thread = DownloadThread(
|
||||||
|
dialog,
|
||||||
|
downloadUrl,
|
||||||
|
"",
|
||||||
|
internetJsonList[choose][1],
|
||||||
|
ui.localWineList,
|
||||||
|
ui.deleteZip.isChecked(),
|
||||||
|
not ui.unzip.isChecked(),
|
||||||
|
localJsonList
|
||||||
|
)
|
||||||
|
QT.thread.MessageBoxInfo.connect(MessageBoxInfo)
|
||||||
|
QT.thread.MessageBoxError.connect(MessageBoxError)
|
||||||
|
QT.thread.ChangeDialog.connect(ChangeDialog)
|
||||||
|
QT.thread.Finish.connect(DownloadFinish)
|
||||||
|
ui.centralWidget.setDisabled(True)
|
||||||
|
QT.thread.start()
|
||||||
|
|
||||||
|
def on_delButton_clicked():
|
||||||
|
if QtWidgets.QMessageBox.question(window, "提示", "你确定要删除吗?") == QtWidgets.QMessageBox.No:
|
||||||
|
return
|
||||||
|
if ui.localWineList.currentIndex().row() < 0:
|
||||||
|
QtWidgets.QMessageBox.information(window, "提示", "您未选择任何项")
|
||||||
|
return
|
||||||
|
name = f"{programPath}/{localJsonList[ui.localWineList.currentIndex().row()]}"
|
||||||
|
dir = QtCore.QDir(name)
|
||||||
|
dir.removeRecursively()
|
||||||
|
QtCore.QFile.remove(name + ".7z")
|
||||||
|
del localJsonList[ui.localWineList.currentIndex().row()]
|
||||||
|
file = open(f"{programPath}/winelist.json", "w")
|
||||||
|
file.write(json.dumps(localJsonList))
|
||||||
|
file.close()
|
||||||
|
ReadLocalInformation()
|
||||||
|
QtWidgets.QMessageBox.information(window, "提示", "删除成功!")
|
||||||
|
|
||||||
|
if __name__ == "__main__":
|
||||||
|
localJsonList = []
|
||||||
|
internetJsonList = []
|
||||||
|
internetWineSource = "https://code.gitlink.org.cn/gfdgd_xi/wine-mirrors/raw/branch/master/"
|
||||||
|
programPath = os.path.split(os.path.realpath(__file__))[0] # 返回 string
|
||||||
|
app = QtWidgets.QApplication(sys.argv)
|
||||||
|
# 窗口构建
|
||||||
|
window = QtWidgets.QMainWindow()
|
||||||
|
ui = Ui_MainWindow()
|
||||||
|
ui.setupUi(window)
|
||||||
|
window.show()
|
||||||
|
# 连接信号
|
||||||
|
ui.addButton.clicked.connect(on_addButton_clicked)
|
||||||
|
ui.delButton.clicked.connect(on_delButton_clicked)
|
||||||
|
## 加载内容
|
||||||
|
# 设置列表双击不会编辑
|
||||||
|
ui.localWineList.setEditTriggers(QtWidgets.QAbstractItemView.NoEditTriggers)
|
||||||
|
ui.internetWineList.setEditTriggers(QtWidgets.QAbstractItemView.NoEditTriggers)
|
||||||
|
# 读取信息
|
||||||
|
ReadLocalInformation()
|
||||||
|
ReadInternetInformation()
|
||||||
|
# 图标
|
||||||
|
ui.centralWidget.setWindowIcon(QtGui.QIcon(f"{programPath}/../deepin-wine-runner.svg"))
|
||||||
|
|
||||||
|
app.exec_()
|
207
wine/moc_downloadthread.cpp
Normal file
207
wine/moc_downloadthread.cpp
Normal file
@ -0,0 +1,207 @@
|
|||||||
|
/****************************************************************************
|
||||||
|
** Meta object code from reading C++ file 'downloadthread.h'
|
||||||
|
**
|
||||||
|
** Created by: The Qt Meta Object Compiler version 67 (Qt 5.15.3)
|
||||||
|
**
|
||||||
|
** WARNING! All changes made in this file will be lost!
|
||||||
|
*****************************************************************************/
|
||||||
|
|
||||||
|
#include <memory>
|
||||||
|
#include "../wine-source/downloadthread.h"
|
||||||
|
#include <QtCore/qbytearray.h>
|
||||||
|
#include <QtCore/qmetatype.h>
|
||||||
|
#if !defined(Q_MOC_OUTPUT_REVISION)
|
||||||
|
#error "The header file 'downloadthread.h' doesn't include <QObject>."
|
||||||
|
#elif Q_MOC_OUTPUT_REVISION != 67
|
||||||
|
#error "This file was generated using the moc from 5.15.3. It"
|
||||||
|
#error "cannot be used with the include files from this version of Qt."
|
||||||
|
#error "(The moc has changed too much.)"
|
||||||
|
#endif
|
||||||
|
|
||||||
|
QT_BEGIN_MOC_NAMESPACE
|
||||||
|
QT_WARNING_PUSH
|
||||||
|
QT_WARNING_DISABLE_DEPRECATED
|
||||||
|
struct qt_meta_stringdata_DownloadThread_t {
|
||||||
|
QByteArrayData data[12];
|
||||||
|
char stringdata0[127];
|
||||||
|
};
|
||||||
|
#define QT_MOC_LITERAL(idx, ofs, len) \
|
||||||
|
Q_STATIC_BYTE_ARRAY_DATA_HEADER_INITIALIZER_WITH_OFFSET(len, \
|
||||||
|
qptrdiff(offsetof(qt_meta_stringdata_DownloadThread_t, stringdata0) + ofs \
|
||||||
|
- idx * sizeof(QByteArrayData)) \
|
||||||
|
)
|
||||||
|
static const qt_meta_stringdata_DownloadThread_t qt_meta_stringdata_DownloadThread = {
|
||||||
|
{
|
||||||
|
QT_MOC_LITERAL(0, 0, 14), // "DownloadThread"
|
||||||
|
QT_MOC_LITERAL(1, 15, 14), // "MessageBoxInfo"
|
||||||
|
QT_MOC_LITERAL(2, 30, 0), // ""
|
||||||
|
QT_MOC_LITERAL(3, 31, 4), // "info"
|
||||||
|
QT_MOC_LITERAL(4, 36, 15), // "MessageBoxError"
|
||||||
|
QT_MOC_LITERAL(5, 52, 12), // "ChangeDialog"
|
||||||
|
QT_MOC_LITERAL(6, 65, 16), // "QProgressDialog*"
|
||||||
|
QT_MOC_LITERAL(7, 82, 6), // "dialog"
|
||||||
|
QT_MOC_LITERAL(8, 89, 5), // "value"
|
||||||
|
QT_MOC_LITERAL(9, 95, 13), // "downloadBytes"
|
||||||
|
QT_MOC_LITERAL(10, 109, 10), // "totalBytes"
|
||||||
|
QT_MOC_LITERAL(11, 120, 6) // "Finish"
|
||||||
|
|
||||||
|
},
|
||||||
|
"DownloadThread\0MessageBoxInfo\0\0info\0"
|
||||||
|
"MessageBoxError\0ChangeDialog\0"
|
||||||
|
"QProgressDialog*\0dialog\0value\0"
|
||||||
|
"downloadBytes\0totalBytes\0Finish"
|
||||||
|
};
|
||||||
|
#undef QT_MOC_LITERAL
|
||||||
|
|
||||||
|
static const uint qt_meta_data_DownloadThread[] = {
|
||||||
|
|
||||||
|
// content:
|
||||||
|
8, // revision
|
||||||
|
0, // classname
|
||||||
|
0, 0, // classinfo
|
||||||
|
4, 14, // methods
|
||||||
|
0, 0, // properties
|
||||||
|
0, 0, // enums/sets
|
||||||
|
0, 0, // constructors
|
||||||
|
0, // flags
|
||||||
|
4, // signalCount
|
||||||
|
|
||||||
|
// signals: name, argc, parameters, tag, flags
|
||||||
|
1, 1, 34, 2, 0x06 /* Public */,
|
||||||
|
4, 1, 37, 2, 0x06 /* Public */,
|
||||||
|
5, 4, 40, 2, 0x06 /* Public */,
|
||||||
|
11, 0, 49, 2, 0x06 /* Public */,
|
||||||
|
|
||||||
|
// signals: parameters
|
||||||
|
QMetaType::Void, QMetaType::QString, 3,
|
||||||
|
QMetaType::Void, QMetaType::QString, 3,
|
||||||
|
QMetaType::Void, 0x80000000 | 6, QMetaType::Int, QMetaType::Int, QMetaType::Int, 7, 8, 9, 10,
|
||||||
|
QMetaType::Void,
|
||||||
|
|
||||||
|
0 // eod
|
||||||
|
};
|
||||||
|
|
||||||
|
void DownloadThread::qt_static_metacall(QObject *_o, QMetaObject::Call _c, int _id, void **_a)
|
||||||
|
{
|
||||||
|
if (_c == QMetaObject::InvokeMetaMethod) {
|
||||||
|
auto *_t = static_cast<DownloadThread *>(_o);
|
||||||
|
(void)_t;
|
||||||
|
switch (_id) {
|
||||||
|
case 0: _t->MessageBoxInfo((*reinterpret_cast< QString(*)>(_a[1]))); break;
|
||||||
|
case 1: _t->MessageBoxError((*reinterpret_cast< QString(*)>(_a[1]))); break;
|
||||||
|
case 2: _t->ChangeDialog((*reinterpret_cast< QProgressDialog*(*)>(_a[1])),(*reinterpret_cast< int(*)>(_a[2])),(*reinterpret_cast< int(*)>(_a[3])),(*reinterpret_cast< int(*)>(_a[4]))); break;
|
||||||
|
case 3: _t->Finish(); break;
|
||||||
|
default: ;
|
||||||
|
}
|
||||||
|
} else if (_c == QMetaObject::RegisterMethodArgumentMetaType) {
|
||||||
|
switch (_id) {
|
||||||
|
default: *reinterpret_cast<int*>(_a[0]) = -1; break;
|
||||||
|
case 2:
|
||||||
|
switch (*reinterpret_cast<int*>(_a[1])) {
|
||||||
|
default: *reinterpret_cast<int*>(_a[0]) = -1; break;
|
||||||
|
case 0:
|
||||||
|
*reinterpret_cast<int*>(_a[0]) = qRegisterMetaType< QProgressDialog* >(); break;
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
} else if (_c == QMetaObject::IndexOfMethod) {
|
||||||
|
int *result = reinterpret_cast<int *>(_a[0]);
|
||||||
|
{
|
||||||
|
using _t = void (DownloadThread::*)(QString );
|
||||||
|
if (*reinterpret_cast<_t *>(_a[1]) == static_cast<_t>(&DownloadThread::MessageBoxInfo)) {
|
||||||
|
*result = 0;
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
{
|
||||||
|
using _t = void (DownloadThread::*)(QString );
|
||||||
|
if (*reinterpret_cast<_t *>(_a[1]) == static_cast<_t>(&DownloadThread::MessageBoxError)) {
|
||||||
|
*result = 1;
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
{
|
||||||
|
using _t = void (DownloadThread::*)(QProgressDialog * , int , int , int );
|
||||||
|
if (*reinterpret_cast<_t *>(_a[1]) == static_cast<_t>(&DownloadThread::ChangeDialog)) {
|
||||||
|
*result = 2;
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
{
|
||||||
|
using _t = void (DownloadThread::*)();
|
||||||
|
if (*reinterpret_cast<_t *>(_a[1]) == static_cast<_t>(&DownloadThread::Finish)) {
|
||||||
|
*result = 3;
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
QT_INIT_METAOBJECT const QMetaObject DownloadThread::staticMetaObject = { {
|
||||||
|
QMetaObject::SuperData::link<QThread::staticMetaObject>(),
|
||||||
|
qt_meta_stringdata_DownloadThread.data,
|
||||||
|
qt_meta_data_DownloadThread,
|
||||||
|
qt_static_metacall,
|
||||||
|
nullptr,
|
||||||
|
nullptr
|
||||||
|
} };
|
||||||
|
|
||||||
|
|
||||||
|
const QMetaObject *DownloadThread::metaObject() const
|
||||||
|
{
|
||||||
|
return QObject::d_ptr->metaObject ? QObject::d_ptr->dynamicMetaObject() : &staticMetaObject;
|
||||||
|
}
|
||||||
|
|
||||||
|
void *DownloadThread::qt_metacast(const char *_clname)
|
||||||
|
{
|
||||||
|
if (!_clname) return nullptr;
|
||||||
|
if (!strcmp(_clname, qt_meta_stringdata_DownloadThread.stringdata0))
|
||||||
|
return static_cast<void*>(this);
|
||||||
|
return QThread::qt_metacast(_clname);
|
||||||
|
}
|
||||||
|
|
||||||
|
int DownloadThread::qt_metacall(QMetaObject::Call _c, int _id, void **_a)
|
||||||
|
{
|
||||||
|
_id = QThread::qt_metacall(_c, _id, _a);
|
||||||
|
if (_id < 0)
|
||||||
|
return _id;
|
||||||
|
if (_c == QMetaObject::InvokeMetaMethod) {
|
||||||
|
if (_id < 4)
|
||||||
|
qt_static_metacall(this, _c, _id, _a);
|
||||||
|
_id -= 4;
|
||||||
|
} else if (_c == QMetaObject::RegisterMethodArgumentMetaType) {
|
||||||
|
if (_id < 4)
|
||||||
|
qt_static_metacall(this, _c, _id, _a);
|
||||||
|
_id -= 4;
|
||||||
|
}
|
||||||
|
return _id;
|
||||||
|
}
|
||||||
|
|
||||||
|
// SIGNAL 0
|
||||||
|
void DownloadThread::MessageBoxInfo(QString _t1)
|
||||||
|
{
|
||||||
|
void *_a[] = { nullptr, const_cast<void*>(reinterpret_cast<const void*>(std::addressof(_t1))) };
|
||||||
|
QMetaObject::activate(this, &staticMetaObject, 0, _a);
|
||||||
|
}
|
||||||
|
|
||||||
|
// SIGNAL 1
|
||||||
|
void DownloadThread::MessageBoxError(QString _t1)
|
||||||
|
{
|
||||||
|
void *_a[] = { nullptr, const_cast<void*>(reinterpret_cast<const void*>(std::addressof(_t1))) };
|
||||||
|
QMetaObject::activate(this, &staticMetaObject, 1, _a);
|
||||||
|
}
|
||||||
|
|
||||||
|
// SIGNAL 2
|
||||||
|
void DownloadThread::ChangeDialog(QProgressDialog * _t1, int _t2, int _t3, int _t4)
|
||||||
|
{
|
||||||
|
void *_a[] = { nullptr, const_cast<void*>(reinterpret_cast<const void*>(std::addressof(_t1))), const_cast<void*>(reinterpret_cast<const void*>(std::addressof(_t2))), const_cast<void*>(reinterpret_cast<const void*>(std::addressof(_t3))), const_cast<void*>(reinterpret_cast<const void*>(std::addressof(_t4))) };
|
||||||
|
QMetaObject::activate(this, &staticMetaObject, 2, _a);
|
||||||
|
}
|
||||||
|
|
||||||
|
// SIGNAL 3
|
||||||
|
void DownloadThread::Finish()
|
||||||
|
{
|
||||||
|
QMetaObject::activate(this, &staticMetaObject, 3, nullptr);
|
||||||
|
}
|
||||||
|
QT_WARNING_POP
|
||||||
|
QT_END_MOC_NAMESPACE
|
BIN
wine/moc_downloadthread.o
Normal file
BIN
wine/moc_downloadthread.o
Normal file
Binary file not shown.
@ -22,8 +22,8 @@ QT_BEGIN_MOC_NAMESPACE
|
|||||||
QT_WARNING_PUSH
|
QT_WARNING_PUSH
|
||||||
QT_WARNING_DISABLE_DEPRECATED
|
QT_WARNING_DISABLE_DEPRECATED
|
||||||
struct qt_meta_stringdata_MainWindow_t {
|
struct qt_meta_stringdata_MainWindow_t {
|
||||||
QByteArrayData data[6];
|
QByteArrayData data[16];
|
||||||
char stringdata0[99];
|
char stringdata0[218];
|
||||||
};
|
};
|
||||||
#define QT_MOC_LITERAL(idx, ofs, len) \
|
#define QT_MOC_LITERAL(idx, ofs, len) \
|
||||||
Q_STATIC_BYTE_ARRAY_DATA_HEADER_INITIALIZER_WITH_OFFSET(len, \
|
Q_STATIC_BYTE_ARRAY_DATA_HEADER_INITIALIZER_WITH_OFFSET(len, \
|
||||||
@ -37,12 +37,25 @@ QT_MOC_LITERAL(1, 11, 20), // "on_addButton_clicked"
|
|||||||
QT_MOC_LITERAL(2, 32, 0), // ""
|
QT_MOC_LITERAL(2, 32, 0), // ""
|
||||||
QT_MOC_LITERAL(3, 33, 20), // "ReadLocalInformation"
|
QT_MOC_LITERAL(3, 33, 20), // "ReadLocalInformation"
|
||||||
QT_MOC_LITERAL(4, 54, 23), // "ReadInternetInformation"
|
QT_MOC_LITERAL(4, 54, 23), // "ReadInternetInformation"
|
||||||
QT_MOC_LITERAL(5, 78, 20) // "on_delButton_clicked"
|
QT_MOC_LITERAL(5, 78, 20), // "on_delButton_clicked"
|
||||||
|
QT_MOC_LITERAL(6, 99, 14), // "MessageBoxInfo"
|
||||||
|
QT_MOC_LITERAL(7, 114, 4), // "info"
|
||||||
|
QT_MOC_LITERAL(8, 119, 15), // "MessageBoxError"
|
||||||
|
QT_MOC_LITERAL(9, 135, 12), // "ChangeDialog"
|
||||||
|
QT_MOC_LITERAL(10, 148, 16), // "QProgressDialog*"
|
||||||
|
QT_MOC_LITERAL(11, 165, 6), // "dialog"
|
||||||
|
QT_MOC_LITERAL(12, 172, 5), // "value"
|
||||||
|
QT_MOC_LITERAL(13, 178, 13), // "downloadBytes"
|
||||||
|
QT_MOC_LITERAL(14, 192, 10), // "totalBytes"
|
||||||
|
QT_MOC_LITERAL(15, 203, 14) // "DownloadFinish"
|
||||||
|
|
||||||
},
|
},
|
||||||
"MainWindow\0on_addButton_clicked\0\0"
|
"MainWindow\0on_addButton_clicked\0\0"
|
||||||
"ReadLocalInformation\0ReadInternetInformation\0"
|
"ReadLocalInformation\0ReadInternetInformation\0"
|
||||||
"on_delButton_clicked"
|
"on_delButton_clicked\0MessageBoxInfo\0"
|
||||||
|
"info\0MessageBoxError\0ChangeDialog\0"
|
||||||
|
"QProgressDialog*\0dialog\0value\0"
|
||||||
|
"downloadBytes\0totalBytes\0DownloadFinish"
|
||||||
};
|
};
|
||||||
#undef QT_MOC_LITERAL
|
#undef QT_MOC_LITERAL
|
||||||
|
|
||||||
@ -52,7 +65,7 @@ static const uint qt_meta_data_MainWindow[] = {
|
|||||||
8, // revision
|
8, // revision
|
||||||
0, // classname
|
0, // classname
|
||||||
0, 0, // classinfo
|
0, 0, // classinfo
|
||||||
4, 14, // methods
|
8, 14, // methods
|
||||||
0, 0, // properties
|
0, 0, // properties
|
||||||
0, 0, // enums/sets
|
0, 0, // enums/sets
|
||||||
0, 0, // constructors
|
0, 0, // constructors
|
||||||
@ -60,15 +73,23 @@ static const uint qt_meta_data_MainWindow[] = {
|
|||||||
0, // signalCount
|
0, // signalCount
|
||||||
|
|
||||||
// slots: name, argc, parameters, tag, flags
|
// slots: name, argc, parameters, tag, flags
|
||||||
1, 0, 34, 2, 0x08 /* Private */,
|
1, 0, 54, 2, 0x08 /* Private */,
|
||||||
3, 0, 35, 2, 0x08 /* Private */,
|
3, 0, 55, 2, 0x08 /* Private */,
|
||||||
4, 0, 36, 2, 0x08 /* Private */,
|
4, 0, 56, 2, 0x08 /* Private */,
|
||||||
5, 0, 37, 2, 0x08 /* Private */,
|
5, 0, 57, 2, 0x08 /* Private */,
|
||||||
|
6, 1, 58, 2, 0x0a /* Public */,
|
||||||
|
8, 1, 61, 2, 0x0a /* Public */,
|
||||||
|
9, 4, 64, 2, 0x0a /* Public */,
|
||||||
|
15, 0, 73, 2, 0x0a /* Public */,
|
||||||
|
|
||||||
// slots: parameters
|
// slots: parameters
|
||||||
QMetaType::Void,
|
QMetaType::Void,
|
||||||
QMetaType::Void,
|
QMetaType::Void,
|
||||||
QMetaType::Void,
|
QMetaType::Void,
|
||||||
|
QMetaType::Void,
|
||||||
|
QMetaType::Void, QMetaType::QString, 7,
|
||||||
|
QMetaType::Void, QMetaType::QString, 7,
|
||||||
|
QMetaType::Void, 0x80000000 | 10, QMetaType::Int, QMetaType::Int, QMetaType::Int, 11, 12, 13, 14,
|
||||||
QMetaType::Void,
|
QMetaType::Void,
|
||||||
|
|
||||||
0 // eod
|
0 // eod
|
||||||
@ -84,10 +105,24 @@ void MainWindow::qt_static_metacall(QObject *_o, QMetaObject::Call _c, int _id,
|
|||||||
case 1: _t->ReadLocalInformation(); break;
|
case 1: _t->ReadLocalInformation(); break;
|
||||||
case 2: _t->ReadInternetInformation(); break;
|
case 2: _t->ReadInternetInformation(); break;
|
||||||
case 3: _t->on_delButton_clicked(); break;
|
case 3: _t->on_delButton_clicked(); break;
|
||||||
|
case 4: _t->MessageBoxInfo((*reinterpret_cast< QString(*)>(_a[1]))); break;
|
||||||
|
case 5: _t->MessageBoxError((*reinterpret_cast< QString(*)>(_a[1]))); break;
|
||||||
|
case 6: _t->ChangeDialog((*reinterpret_cast< QProgressDialog*(*)>(_a[1])),(*reinterpret_cast< int(*)>(_a[2])),(*reinterpret_cast< int(*)>(_a[3])),(*reinterpret_cast< int(*)>(_a[4]))); break;
|
||||||
|
case 7: _t->DownloadFinish(); break;
|
||||||
default: ;
|
default: ;
|
||||||
}
|
}
|
||||||
|
} else if (_c == QMetaObject::RegisterMethodArgumentMetaType) {
|
||||||
|
switch (_id) {
|
||||||
|
default: *reinterpret_cast<int*>(_a[0]) = -1; break;
|
||||||
|
case 6:
|
||||||
|
switch (*reinterpret_cast<int*>(_a[1])) {
|
||||||
|
default: *reinterpret_cast<int*>(_a[0]) = -1; break;
|
||||||
|
case 0:
|
||||||
|
*reinterpret_cast<int*>(_a[0]) = qRegisterMetaType< QProgressDialog* >(); break;
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
(void)_a;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
QT_INIT_METAOBJECT const QMetaObject MainWindow::staticMetaObject = { {
|
QT_INIT_METAOBJECT const QMetaObject MainWindow::staticMetaObject = { {
|
||||||
@ -119,13 +154,13 @@ int MainWindow::qt_metacall(QMetaObject::Call _c, int _id, void **_a)
|
|||||||
if (_id < 0)
|
if (_id < 0)
|
||||||
return _id;
|
return _id;
|
||||||
if (_c == QMetaObject::InvokeMetaMethod) {
|
if (_c == QMetaObject::InvokeMetaMethod) {
|
||||||
if (_id < 4)
|
if (_id < 8)
|
||||||
qt_static_metacall(this, _c, _id, _a);
|
qt_static_metacall(this, _c, _id, _a);
|
||||||
_id -= 4;
|
_id -= 8;
|
||||||
} else if (_c == QMetaObject::RegisterMethodArgumentMetaType) {
|
} else if (_c == QMetaObject::RegisterMethodArgumentMetaType) {
|
||||||
if (_id < 4)
|
if (_id < 8)
|
||||||
*reinterpret_cast<int*>(_a[0]) = -1;
|
qt_static_metacall(this, _c, _id, _a);
|
||||||
_id -= 4;
|
_id -= 8;
|
||||||
}
|
}
|
||||||
return _id;
|
return _id;
|
||||||
}
|
}
|
||||||
|
Binary file not shown.
Loading…
x
Reference in New Issue
Block a user