#include "application.h" #include "globaldefine.h" #include #include Application::Application(int &argc, char **argv) : DApplication(argc, argv) { loadTranslator(); setAttribute(Qt::AA_UseHighDpiPixmaps); if (!DPlatformWindowHandle::pluginVersion().isEmpty()) { setAttribute(Qt::AA_DontCreateNativeWidgetSiblings, true); } setApplicationVersion(QString(CURRENT_VER)); setOrganizationName(ORGANIZATION_NAME); // 添加组织名称,和商店主体的文件夹同在 ~/.local/share/spark-union 文件夹下 setApplicationName(APPLICATION_NAME); // 这里不要翻译,否则 ~/.local/share 中文件夹名也会被翻译 setProductName(DEFAULT_TITLE); setApplicationDisplayName(DEFAULT_TITLE); setApplicationLicense(" GPLv3 "); initAboutDialog(); } void Application::handleAboutAction() { if (aboutDialog()) { DApplication::handleAboutAction(); return; } initAboutDialog(); DApplication::handleAboutAction(); } void Application::initAboutDialog() { // Customized DAboutDialog DAboutDialog *dialog = new DAboutDialog(activeWindow()); // WindowIcon dialog->setWindowIcon(QIcon(":/images/spark-webapp-runtime.svg")); // ProductIcon dialog->setProductIcon(QIcon(":/images/spark-webapp-runtime.svg")); // ProductName dialog->setProductName(productName()); // Version dialog->setVersion(translate("DAboutDialog", "Version: %1").arg(applicationVersion())); // CompanyLogo dialog->setCompanyLogo(QPixmap(":/images/Logo-Spark.png")); // Description QString szDefaultDesc = QString("%1
" "%2") .arg(DEFAULT_TITLE) .arg(QObject::tr("Presented By Spark developers # HadesStudio")); dialog->setDescription(szDefaultDesc); // WebsiteName dialog->setWebsiteName("Spark Project"); // WebsiteLink dialog->setWebsiteLink("https://gitee.com/deepin-community-store/"); // License dialog->setLicense(translate("DAboutDialog", "%1 is released under %2").arg(productName()).arg(applicationLicense())); setAboutDialog(dialog); connect(aboutDialog(), &DAboutDialog::destroyed, this, [=] { setAboutDialog(nullptr); }); dialog->hide(); } void Application::slotMainWindowClose() { if (aboutDialog()) { aboutDialog()->close(); aboutDialog()->deleteLater(); } }