#include "mainwindow.h" #include <QLocale> #include <QTranslator> #include <DApplication> #include <DMessageBox> #include <iostream> #include <DApplicationSettings> #include "messagebox.h" DWIDGET_USE_NAMESPACE using namespace std; int main(int argc, char *argv[]) { // 强制使用 DTK 平台插件 QVector<char *> fakeArgs(argc + 2); fakeArgs[0] = argv[0]; fakeArgs[1] = const_cast<char *>("-platformtheme"); fakeArgs[2] = const_cast<char *>("deepin"); for(int i = 1; i < argc; i++){ fakeArgs[i + 2] = argv[i]; } int fakeArgc = argc + 2; DApplication a(fakeArgc, fakeArgs.data()); a.setApplicationLicense("GPLV3"); a.setOrganizationName("gfdgd_xi"); a.setApplicationName("deepin-wine-runner-aptss-installer"); a.setWindowIcon(QIcon(":/Icon/deepin-wine-runner.svg")); a.setApplicationDescription("Wine运行器是一个能让Linux用户更加方便地运行Windows应用的程序。原版的 Wine 只能使用命令操作,且安装过程较为繁琐,对小白不友好。于是该运行器为了解决该痛点,内置了对Wine图形化的支持、Wine 安装器、微型应用商店、各种Wine工具、自制的Wine程序打包器、运行库安装工具等。"); a.setApplicationVersion("3.6.1"); a.setProductIcon(QIcon(":/Icon/deepin-wine-runner.svg")); a.setProductName("aptss 应用安装器"); a.setApplicationHomePage("https://gitee.com/gfdgd-xi/deep-wine-runner"); //DApplication::setApplicationHomePage("https://gitee.com/gfdgd-xi/deep-wine-runner"); DApplication::setOrganizationName("gfdgd_xi"); DApplication::setApplicationName("deepin-wine-runner-aptss-installer"); if(argc > 0){ // 用于显示对话框 qDebug() << argv[1]; if(QString(argv[1]) == "--messagebox-information"){ if(argc < 4){ qDebug() << "参数有误!"; return 1; } MessageBox().information(argv[2], argv[3]); return a.exec(); } if(QString(argv[1]) == "--messagebox-error"){ if(argc < 4){ qDebug() << "参数有误!"; return 1; } MessageBox().critical(argv[2], argv[3]); return a.exec(); } } if(system("which aptss")){ MessageBox().critical("错误", "无法检测到 aptss\n请确保您已安装星火应用商店并更新至最新版本"); a.exec(); return 1; } QTranslator translator; const QStringList uiLanguages = QLocale::system().uiLanguages(); for (const QString &locale : uiLanguages) { const QString baseName = "aptss-installer_" + QLocale(locale).name(); if (translator.load(":/i18n/" + baseName)) { a.installTranslator(&translator); break; } } DApplicationSettings settings; // 定义 DApplicationSettings,自动保存主题设置 MainWindow w; w.show(); return a.exec(); }