diff --git a/.gitignore b/.gitignore index 6fe4004..21d239c 100644 --- a/.gitignore +++ b/.gitignore @@ -53,3 +53,4 @@ debian/*.substvars debian/spark-store .vscode/* +src/spark-store diff --git a/src/backend/ThemeChecker.cpp b/src/backend/ThemeChecker.cpp new file mode 100644 index 0000000..3d57b1c --- /dev/null +++ b/src/backend/ThemeChecker.cpp @@ -0,0 +1,44 @@ +#include "ThemeChecker.h" +#include <QTimer> +#include <QProcess> +#include <QDebug> + +ThemeChecker::ThemeChecker(QObject *parent) : QObject(parent), lastColorSchema(-1) { + timer = new QTimer(this); + connect(timer, SIGNAL(timeout()), this, SLOT(checkThemeChange())); + timer->start(1000); +} + +void ThemeChecker::checkThemeChange() { + + + QProcess process; + QStringList parameters; + parameters << "-c" << "dbus-send --session --print-reply=literal --reply-timeout=1000 --dest=org.freedesktop.portal.Desktop /org/freedesktop/portal/desktop org.freedesktop.portal.Settings.Read string:'org.freedesktop.appearance' string:'color-scheme'"; + process.start("/bin/sh", parameters); + + if (process.waitForFinished(-1)) { + QString errorOutput = QString(process.readAllStandardError()).trimmed(); + if (!errorOutput.isEmpty()) { + qWarning() << "检测到DBus错误:" << errorOutput; + return; + } + + QString output = QString(process.readAll()).trimmed(); + int systemColorSchema = output.right(1).toInt(); + + if(systemColorSchema != lastColorSchema) { + lastColorSchema = systemColorSchema; + qDebug() << "主题已更改,新的主题是:" << systemColorSchema; + if(systemColorSchema == 1){ + emit themeChanged(true); + } + else if(systemColorSchema == 0 || systemColorSchema == 2){ + emit themeChanged(false); + } + } + } else { + qWarning() << "DBus调用未能完成"; + } +} + diff --git a/src/backend/ThemeChecker.h b/src/backend/ThemeChecker.h new file mode 100644 index 0000000..4ca29f2 --- /dev/null +++ b/src/backend/ThemeChecker.h @@ -0,0 +1,26 @@ +#ifndef THEMECHECKER_H +#define THEMECHECKER_H + +#include <QObject> +#include <QTimer> + + +class ThemeChecker : public QObject +{ + Q_OBJECT +public: + explicit ThemeChecker(QObject *parent = nullptr); + +signals: + void themeChanged(bool isDark); + +public slots: + void checkThemeChange(); + + +private: + int lastColorSchema; + QTimer *timer; +}; + +#endif // THEMECHECKER_H diff --git a/src/mainwindow-dtk.cpp b/src/mainwindow-dtk.cpp index 4cc8a90..1e1e210 100644 --- a/src/mainwindow-dtk.cpp +++ b/src/mainwindow-dtk.cpp @@ -16,6 +16,8 @@ #include <QtConcurrent> #include <unistd.h> +#include <backend/ThemeChecker.h> + #define AppPageApplist 0 #define AppPageSearchlist 1 #define AppPageAppdetail 2 @@ -139,7 +141,7 @@ void MainWindow::initTitleBar() { ui->titlebar->setIcon(QIcon::fromTheme("spark-store")); ui->titlebar->setBackgroundTransparent(true); - // ui->titlebar->setSwitchThemeMenuVisible(false); // 去除 dtk 标题栏主题切换菜单 + ui->titlebar->setSwitchThemeMenuVisible(false); // 去除 dtk 标题栏主题切换菜单 // 初始化标题栏控件 DLabel *title = new DLabel(ui->titlebar); @@ -267,57 +269,91 @@ void MainWindow::initTrayIcon() trayIcon->show(); } -void MainWindow::initConnections() +void MainWindow::refreshTheme(bool isDarkMode) { - // 主题切换 - connect(DGuiApplicationHelper::instance(), &DGuiApplicationHelper::themeTypeChanged, this, [=](DGuiApplicationHelper::ColorType themeType) - { - if (themeType == DGuiApplicationHelper::DarkType) { - //深色模式 - setMaskColor(QColor("#2a2b2b")); - backButton->setIcon(QIcon(":/icon/dark/back.svg")); - downloadButton->setIcon(":/icon/dark/download.svg"); - downloadButton->setBackgroundColor(QColor("#444444")); - downloadButton->setColor(QColor("#66CCFF")); - ui->pushButton_14->setIcon(QIcon(":/icon/dark/update.svg")); - for (int i = 0; i < ui->buttonGroup->buttons().size(); i++) { - ui->buttonGroup->buttons()[i]->setIcon(QIcon(":/icon/dark/leftbutton_" + QString::number(i) + ".svg")); - if (QLocale::system().name() == "zh_CN") { - ui->buttonGroup->buttons()[i]->setStyleSheet("QPushButton{background-color:transparent;}\ - QPushButton:hover{background-color:#7a7a7a;border:0px;border-radius:8px;}\ - QPushButton:checked{background-color:#6e6e6e;border:0px;border-radius:8px;}"); - } else { - ui->buttonGroup->buttons()[i]->setStyleSheet("QPushButton{background-color:transparent;text-align: left; padding-left: 15px;}\ - QPushButton:hover{background-color:#7a7a7a;border:0px;border-radius:8px;text-align: left; padding-left: 15px;}\ - QPushButton:checked{background-color:#6e6e6e;border:0px;border-radius:8px;text-align: left; padding-left: 15px;}"); - } - } - } else { - //亮色模式 - setMaskColor(QColor("#f3f7f8")); - backButton->setIcon(QIcon(":/icon/light/back.svg")); - downloadButton->setBackgroundColor(QColor("#e3e4e4")); - downloadButton->setColor(QColor("#66CCFF")); - downloadButton->setIcon(":/icon/light/download.svg"); - ui->pushButton_14->setIcon(QIcon(":/icon/light/update.svg")); - for (int i = 0; i < ui->buttonGroup->buttons().size(); i++) { - ui->buttonGroup->buttons()[i]->setIcon(QIcon(":/icon/light/leftbutton_" + QString::number(i) + ".svg")); - if (QLocale::system().name() == "zh_CN") { - ui->buttonGroup->buttons()[i]->setStyleSheet("QPushButton{background-color:transparent;}\ - QPushButton:hover{background-color:#eAeAeA;border:0px;border-radius:8px;}\ - QPushButton:checked{background-color:#dddddd;border:0px;border-radius:8px;}"); - } else { - ui->buttonGroup->buttons()[i]->setStyleSheet("QPushButton{background-color:transparent;text-align: left; padding-left: 15px;}\ - QPushButton:hover{background-color:#eAeAeA;border:0px;border-radius:8px;text-align: left; padding-left: 15px;}\ - QPushButton:checked{background-color:#dddddd;border:0px;border-radius:8px;text-align: left; padding-left: 15px;}"); - } + // 使用isDarkMode变量来判断是否是深色模式 + if (isDarkMode) { + //深色模式 + setMaskColor(QColor("#2a2b2b")); + backButton->setIcon(QIcon(":/icon/dark/back.svg")); + downloadButton->setIcon(":/icon/dark/download.svg"); + downloadButton->setBackgroundColor(QColor("#444444")); + downloadButton->setColor(QColor("#66CCFF")); + ui->pushButton_14->setIcon(QIcon(":/icon/dark/update.svg")); + for (int i = 0; i < ui->buttonGroup->buttons().size(); i++) { + ui->buttonGroup->buttons()[i]->setIcon(QIcon(":/icon/dark/leftbutton_" + QString::number(i) + ".svg")); + if (QLocale::system().name() == "zh_CN") { + ui->buttonGroup->buttons()[i]->setStyleSheet("QPushButton{background-color:transparent;}\ + QPushButton:hover{background-color:#7a7a7a;border:0px;border-radius:8px;}\ + QPushButton:checked{background-color:#6e6e6e;border:0px;border-radius:8px;}"); + } else { + ui->buttonGroup->buttons()[i]->setStyleSheet("QPushButton{background-color:transparent;text-align: left; padding-left: 15px;}\ + QPushButton:hover{background-color:#7a7a7a;border:0px;border-radius:8px;text-align: left; padding-left: 15px;}\ + QPushButton:checked{background-color:#6e6e6e;border:0px;border-radius:8px;text-align: left; padding-left: 15px;}"); } } - ui->pushButton_14->setStyleSheet(ui->pushButton_4->styleSheet()); - ui->applistpage->setTheme(themeType == DGuiApplicationHelper::DarkType); - ui->applistpage_1->setTheme(themeType == DGuiApplicationHelper::DarkType); - ui->appintopage->setTheme(themeType == DGuiApplicationHelper::DarkType); - ui->settingspage->setTheme(themeType == DGuiApplicationHelper::DarkType); }); + } else { + //亮色模式 + setMaskColor(QColor("#f3f7f8")); + backButton->setIcon(QIcon(":/icon/light/back.svg")); + downloadButton->setBackgroundColor(QColor("#e3e4e4")); + downloadButton->setColor(QColor("#66CCFF")); + downloadButton->setIcon(":/icon/light/download.svg"); + ui->pushButton_14->setIcon(QIcon(":/icon/light/update.svg")); + for (int i = 0; i < ui->buttonGroup->buttons().size(); i++) { + ui->buttonGroup->buttons()[i]->setIcon(QIcon(":/icon/light/leftbutton_" + QString::number(i) + ".svg")); + if (QLocale::system().name() == "zh_CN") { + ui->buttonGroup->buttons()[i]->setStyleSheet("QPushButton{background-color:transparent;}\ + QPushButton:hover{background-color:#eAeAeA;border:0px;border-radius:8px;}\ + QPushButton:checked{background-color:#dddddd;border:0px;border-radius:8px;}"); + } else { + ui->buttonGroup->buttons()[i]->setStyleSheet("QPushButton{background-color:transparent;text-align: left; padding-left: 15px;}\ + QPushButton:hover{background-color:#eAeAeA;border:0px;border-radius:8px;text-align: left; padding-left: 15px;}\ + QPushButton:checked{background-color:#dddddd;border:0px;border-radius:8px;text-align: left; padding-left: 15px;}"); + } + } + } + ui->pushButton_14->setStyleSheet(ui->pushButton_4->styleSheet()); + ui->applistpage->setTheme(isDarkMode); + ui->applistpage_1->setTheme(isDarkMode); + ui->appintopage->setTheme(isDarkMode); + ui->settingspage->setTheme(isDarkMode); +} + +void MainWindow::onThemeChanged(bool isDark) { + DGuiApplicationHelper::ColorType currentTheme = DGuiApplicationHelper::instance()->themeType(); + + // 检查当前外观设置 + bool isUserSetDark = (currentTheme == DGuiApplicationHelper::DarkType); //当前已经是深色模式 + bool isUserSetWhite = (currentTheme == DGuiApplicationHelper::LightType); //当前已经是浅色模式 + + // 检查 isDark 为 true 时, isUserSetDark 是否为 true + // 检查 isDark 为 false , isUserSetWhite 是否为 ture + qDebug() << isUserSetDark << isUserSetWhite << isDark; + + + if ((isUserSetDark != isDark) || (isUserSetWhite == !isDark)) { + // 否则,根据传入的 isDark 值设置 + refreshTheme(isDark); + } + +} + + +void MainWindow::initConnections() +{ + + // 主题切换 + connect(DGuiApplicationHelper::instance(), &DGuiApplicationHelper::themeTypeChanged, this, [=](DGuiApplicationHelper::ColorType themeType) + { + bool isDarkMode = (themeType == DGuiApplicationHelper::ColorType::DarkType); + refreshTheme(isDarkMode); + }); + + ThemeChecker *themeChecker = new ThemeChecker(this); + connect(themeChecker, SIGNAL(themeChanged(bool)), this, SLOT(onThemeChanged(bool))); + + // appintopage按下下载按钮时标题栏下载列表按钮抖动 connect(ui->appintopage, &AppIntoPage::clickedDownloadBtn, [=]() diff --git a/src/mainwindow-dtk.h b/src/mainwindow-dtk.h index 11fd60e..4831a59 100644 --- a/src/mainwindow-dtk.h +++ b/src/mainwindow-dtk.h @@ -30,6 +30,8 @@ public: void openUrl(const QString &url); bool isCloseWindowAnimation(); + void refreshTheme(bool isDarkMode); + protected: void closeEvent(QCloseEvent *event) override; @@ -48,6 +50,7 @@ private: public slots: void notify(QObject *receiver, QEvent *event); + void onThemeChanged(bool isDark); private slots: //接受来自dbus的url diff --git a/src/spark-store.pro b/src/spark-store.pro index 16dfc5d..481c4db 100644 --- a/src/spark-store.pro +++ b/src/spark-store.pro @@ -35,6 +35,7 @@ PKGCONFIG += dtkcore dtkgui dtkwidget SOURCES += \ backend/DataCollectorAndUploader.cpp \ + backend/ThemeChecker.cpp \ backend/downloadworker.cpp \ backend/image_show.cpp \ backend/sparkapi.cpp \ @@ -60,6 +61,7 @@ SOURCES += \ HEADERS += \ backend/DataCollectorAndUploader.h \ + backend/ThemeChecker.h \ backend/downloadworker.h \ backend/image_show.h \ backend/sparkapi.h \ diff --git a/translations/spark-store_en.ts b/translations/spark-store_en.ts index 1579777..aa11124 100644 --- a/translations/spark-store_en.ts +++ b/translations/spark-store_en.ts @@ -480,33 +480,33 @@ <translation type="unfinished"></translation> </message> <message> - <location filename="../src/mainwindow-dtk.cpp" line="187"/> + <location filename="../src/mainwindow-dtk.cpp" line="189"/> <source>Submit App</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/mainwindow-dtk.cpp" line="188"/> + <location filename="../src/mainwindow-dtk.cpp" line="190"/> <source>Submit App with client(Recommanded)</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/mainwindow-dtk.cpp" line="189"/> + <location filename="../src/mainwindow-dtk.cpp" line="191"/> <source>Settings</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/mainwindow-dtk.cpp" line="190"/> + <location filename="../src/mainwindow-dtk.cpp" line="192"/> <source>APP Upgrade and Install Settings</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/mainwindow-dtk.cpp" line="146"/> - <location filename="../src/mainwindow-dtk.cpp" line="241"/> + <location filename="../src/mainwindow-dtk.cpp" line="148"/> + <location filename="../src/mainwindow-dtk.cpp" line="243"/> <source>Spark Store</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/mainwindow-dtk.cpp" line="151"/> + <location filename="../src/mainwindow-dtk.cpp" line="153"/> <source>Search or enter spk://</source> <translation type="unfinished"></translation> </message> @@ -516,7 +516,7 @@ <message> <location filename="../src/application.cpp" line="35"/> <location filename="../src/application.cpp" line="36"/> - <location filename="../src/mainwindow-dtk.cpp" line="126"/> + <location filename="../src/mainwindow-dtk.cpp" line="128"/> <source>Spark Store</source> <translation type="unfinished"></translation> </message> @@ -536,7 +536,7 @@ <translation type="unfinished"></translation> </message> <message> - <location filename="../src/mainwindow-dtk.cpp" line="244"/> + <location filename="../src/mainwindow-dtk.cpp" line="246"/> <source>Show MainWindow</source> <translation type="unfinished"></translation> </message> @@ -658,12 +658,12 @@ <context> <name>TitleBarMenu</name> <message> - <location filename="../src/mainwindow-dtk.cpp" line="245"/> + <location filename="../src/mainwindow-dtk.cpp" line="247"/> <source>About</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/mainwindow-dtk.cpp" line="246"/> + <location filename="../src/mainwindow-dtk.cpp" line="248"/> <source>Exit</source> <translation type="unfinished"></translation> </message> diff --git a/translations/spark-store_es.ts b/translations/spark-store_es.ts index bb740a2..28ee71c 100644 --- a/translations/spark-store_es.ts +++ b/translations/spark-store_es.ts @@ -480,33 +480,33 @@ <translation>Actualización de app</translation> </message> <message> - <location filename="../src/mainwindow-dtk.cpp" line="187"/> + <location filename="../src/mainwindow-dtk.cpp" line="189"/> <source>Submit App</source> <translation>Presentación de la aplicación</translation> </message> <message> - <location filename="../src/mainwindow-dtk.cpp" line="188"/> + <location filename="../src/mainwindow-dtk.cpp" line="190"/> <source>Submit App with client(Recommanded)</source> <translation>Enviar la aplicación al cliente (recomendación)</translation> </message> <message> - <location filename="../src/mainwindow-dtk.cpp" line="189"/> + <location filename="../src/mainwindow-dtk.cpp" line="191"/> <source>Settings</source> <translation>Configuración</translation> </message> <message> - <location filename="../src/mainwindow-dtk.cpp" line="190"/> + <location filename="../src/mainwindow-dtk.cpp" line="192"/> <source>APP Upgrade and Install Settings</source> <translation>Actualización e instalación de app</translation> </message> <message> - <location filename="../src/mainwindow-dtk.cpp" line="146"/> - <location filename="../src/mainwindow-dtk.cpp" line="241"/> + <location filename="../src/mainwindow-dtk.cpp" line="148"/> + <location filename="../src/mainwindow-dtk.cpp" line="243"/> <source>Spark Store</source> <translation>SPARK Store</translation> </message> <message> - <location filename="../src/mainwindow-dtk.cpp" line="151"/> + <location filename="../src/mainwindow-dtk.cpp" line="153"/> <source>Search or enter spk://</source> <translation>Buscar o introducir spk: /%</translation> </message> @@ -516,7 +516,7 @@ <message> <location filename="../src/application.cpp" line="35"/> <location filename="../src/application.cpp" line="36"/> - <location filename="../src/mainwindow-dtk.cpp" line="126"/> + <location filename="../src/mainwindow-dtk.cpp" line="128"/> <source>Spark Store</source> <translation>SPARK Store</translation> </message> @@ -536,7 +536,7 @@ <translation>Descargar lista</translation> </message> <message> - <location filename="../src/mainwindow-dtk.cpp" line="244"/> + <location filename="../src/mainwindow-dtk.cpp" line="246"/> <source>Show MainWindow</source> <translation>Mostrar la ventana principal</translation> </message> @@ -658,12 +658,12 @@ <context> <name>TitleBarMenu</name> <message> - <location filename="../src/mainwindow-dtk.cpp" line="245"/> + <location filename="../src/mainwindow-dtk.cpp" line="247"/> <source>About</source> <translation>Sobre</translation> </message> <message> - <location filename="../src/mainwindow-dtk.cpp" line="246"/> + <location filename="../src/mainwindow-dtk.cpp" line="248"/> <source>Exit</source> <translation>Exportaciones</translation> </message> diff --git a/translations/spark-store_fr.ts b/translations/spark-store_fr.ts index abde11d..5801d28 100644 --- a/translations/spark-store_fr.ts +++ b/translations/spark-store_fr.ts @@ -480,33 +480,33 @@ <translation>Mise à niveau app</translation> </message> <message> - <location filename="../src/mainwindow-dtk.cpp" line="187"/> + <location filename="../src/mainwindow-dtk.cpp" line="189"/> <source>Submit App</source> <translation>Soumettre une application</translation> </message> <message> - <location filename="../src/mainwindow-dtk.cpp" line="188"/> + <location filename="../src/mainwindow-dtk.cpp" line="190"/> <source>Submit App with client(Recommanded)</source> <translation>Soumettre une demande au client (recommandé)</translation> </message> <message> - <location filename="../src/mainwindow-dtk.cpp" line="189"/> + <location filename="../src/mainwindow-dtk.cpp" line="191"/> <source>Settings</source> <translation>Paramètres</translation> </message> <message> - <location filename="../src/mainwindow-dtk.cpp" line="190"/> + <location filename="../src/mainwindow-dtk.cpp" line="192"/> <source>APP Upgrade and Install Settings</source> <translation>Paramètres de mise à niveau et d'installation de l'app</translation> </message> <message> - <location filename="../src/mainwindow-dtk.cpp" line="146"/> - <location filename="../src/mainwindow-dtk.cpp" line="241"/> + <location filename="../src/mainwindow-dtk.cpp" line="148"/> + <location filename="../src/mainwindow-dtk.cpp" line="243"/> <source>Spark Store</source> <translation>Le Spark store</translation> </message> <message> - <location filename="../src/mainwindow-dtk.cpp" line="151"/> + <location filename="../src/mainwindow-dtk.cpp" line="153"/> <source>Search or enter spk://</source> <translation>Rechercher ou entrer SPK /</translation> </message> @@ -516,7 +516,7 @@ <message> <location filename="../src/application.cpp" line="35"/> <location filename="../src/application.cpp" line="36"/> - <location filename="../src/mainwindow-dtk.cpp" line="126"/> + <location filename="../src/mainwindow-dtk.cpp" line="128"/> <source>Spark Store</source> <translation>Le Spark store</translation> </message> @@ -536,7 +536,7 @@ <translation>Télécharger la Liste</translation> </message> <message> - <location filename="../src/mainwindow-dtk.cpp" line="244"/> + <location filename="../src/mainwindow-dtk.cpp" line="246"/> <source>Show MainWindow</source> <translation>Afficher la fenêtre principale</translation> </message> @@ -658,12 +658,12 @@ <context> <name>TitleBarMenu</name> <message> - <location filename="../src/mainwindow-dtk.cpp" line="245"/> + <location filename="../src/mainwindow-dtk.cpp" line="247"/> <source>About</source> <translation>À propos</translation> </message> <message> - <location filename="../src/mainwindow-dtk.cpp" line="246"/> + <location filename="../src/mainwindow-dtk.cpp" line="248"/> <source>Exit</source> <translation>Exportations</translation> </message> diff --git a/translations/spark-store_zh_CN.ts b/translations/spark-store_zh_CN.ts index 7cb6ae0..8ebdcae 100644 --- a/translations/spark-store_zh_CN.ts +++ b/translations/spark-store_zh_CN.ts @@ -480,33 +480,33 @@ <translation>更新</translation> </message> <message> - <location filename="../src/mainwindow-dtk.cpp" line="187"/> + <location filename="../src/mainwindow-dtk.cpp" line="189"/> <source>Submit App</source> <translation>投递应用</translation> </message> <message> - <location filename="../src/mainwindow-dtk.cpp" line="188"/> + <location filename="../src/mainwindow-dtk.cpp" line="190"/> <source>Submit App with client(Recommanded)</source> <translation>使用本地投稿器投递应用(推荐)</translation> </message> <message> - <location filename="../src/mainwindow-dtk.cpp" line="189"/> + <location filename="../src/mainwindow-dtk.cpp" line="191"/> <source>Settings</source> <translation>设置</translation> </message> <message> - <location filename="../src/mainwindow-dtk.cpp" line="190"/> + <location filename="../src/mainwindow-dtk.cpp" line="192"/> <source>APP Upgrade and Install Settings</source> <translation>应用更新和安装设置</translation> </message> <message> - <location filename="../src/mainwindow-dtk.cpp" line="146"/> - <location filename="../src/mainwindow-dtk.cpp" line="241"/> + <location filename="../src/mainwindow-dtk.cpp" line="148"/> + <location filename="../src/mainwindow-dtk.cpp" line="243"/> <source>Spark Store</source> <translation>星火应用商店</translation> </message> <message> - <location filename="../src/mainwindow-dtk.cpp" line="151"/> + <location filename="../src/mainwindow-dtk.cpp" line="153"/> <source>Search or enter spk://</source> <translation>搜索或打开链接</translation> </message> @@ -516,7 +516,7 @@ <message> <location filename="../src/application.cpp" line="35"/> <location filename="../src/application.cpp" line="36"/> - <location filename="../src/mainwindow-dtk.cpp" line="126"/> + <location filename="../src/mainwindow-dtk.cpp" line="128"/> <source>Spark Store</source> <translation>星火应用商店</translation> </message> @@ -536,7 +536,7 @@ <translation>下载列表</translation> </message> <message> - <location filename="../src/mainwindow-dtk.cpp" line="244"/> + <location filename="../src/mainwindow-dtk.cpp" line="246"/> <source>Show MainWindow</source> <translation>显示主窗口</translation> </message> @@ -658,12 +658,12 @@ <context> <name>TitleBarMenu</name> <message> - <location filename="../src/mainwindow-dtk.cpp" line="245"/> + <location filename="../src/mainwindow-dtk.cpp" line="247"/> <source>About</source> <translation>关于</translation> </message> <message> - <location filename="../src/mainwindow-dtk.cpp" line="246"/> + <location filename="../src/mainwindow-dtk.cpp" line="248"/> <source>Exit</source> <translation>退出</translation> </message> diff --git a/translations/spark-store_zh_TW.ts b/translations/spark-store_zh_TW.ts index 4aa4b63..3c2f0c3 100644 --- a/translations/spark-store_zh_TW.ts +++ b/translations/spark-store_zh_TW.ts @@ -480,33 +480,33 @@ <translation>軟體更新</translation> </message> <message> - <location filename="../src/mainwindow-dtk.cpp" line="187"/> + <location filename="../src/mainwindow-dtk.cpp" line="189"/> <source>Submit App</source> <translation>上傳軟體</translation> </message> <message> - <location filename="../src/mainwindow-dtk.cpp" line="188"/> + <location filename="../src/mainwindow-dtk.cpp" line="190"/> <source>Submit App with client(Recommanded)</source> <translation>從客戶端上傳軟體(推薦的)</translation> </message> <message> - <location filename="../src/mainwindow-dtk.cpp" line="189"/> + <location filename="../src/mainwindow-dtk.cpp" line="191"/> <source>Settings</source> <translation>設定</translation> </message> <message> - <location filename="../src/mainwindow-dtk.cpp" line="190"/> + <location filename="../src/mainwindow-dtk.cpp" line="192"/> <source>APP Upgrade and Install Settings</source> <translation>軟體升級 和 安裝設定</translation> </message> <message> - <location filename="../src/mainwindow-dtk.cpp" line="146"/> - <location filename="../src/mainwindow-dtk.cpp" line="241"/> + <location filename="../src/mainwindow-dtk.cpp" line="148"/> + <location filename="../src/mainwindow-dtk.cpp" line="243"/> <source>Spark Store</source> <translation>星火应用商店</translation> </message> <message> - <location filename="../src/mainwindow-dtk.cpp" line="151"/> + <location filename="../src/mainwindow-dtk.cpp" line="153"/> <source>Search or enter spk://</source> <translation>搜索或打开链接</translation> </message> @@ -516,7 +516,7 @@ <message> <location filename="../src/application.cpp" line="35"/> <location filename="../src/application.cpp" line="36"/> - <location filename="../src/mainwindow-dtk.cpp" line="126"/> + <location filename="../src/mainwindow-dtk.cpp" line="128"/> <source>Spark Store</source> <translation>星火应用商店</translation> </message> @@ -536,7 +536,7 @@ <translation>下载列表</translation> </message> <message> - <location filename="../src/mainwindow-dtk.cpp" line="244"/> + <location filename="../src/mainwindow-dtk.cpp" line="246"/> <source>Show MainWindow</source> <translation>显示主窗口</translation> </message> @@ -658,12 +658,12 @@ <context> <name>TitleBarMenu</name> <message> - <location filename="../src/mainwindow-dtk.cpp" line="245"/> + <location filename="../src/mainwindow-dtk.cpp" line="247"/> <source>About</source> <translation>关于</translation> </message> <message> - <location filename="../src/mainwindow-dtk.cpp" line="246"/> + <location filename="../src/mainwindow-dtk.cpp" line="248"/> <source>Exit</source> <translation>退出</translation> </message>