mirror of
https://gitee.com/spark-store-project/spark-store
synced 2025-06-04 07:29:49 +08:00
feat: 使用dbus支持kde的暗色模式
This commit is contained in:
parent
c00d62c010
commit
5cb1cff0ca
1
.gitignore
vendored
1
.gitignore
vendored
@ -53,3 +53,4 @@ debian/*.substvars
|
||||
debian/spark-store
|
||||
|
||||
.vscode/*
|
||||
src/spark-store
|
||||
|
44
src/backend/ThemeChecker.cpp
Normal file
44
src/backend/ThemeChecker.cpp
Normal file
@ -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调用未能完成";
|
||||
}
|
||||
}
|
||||
|
26
src/backend/ThemeChecker.h
Normal file
26
src/backend/ThemeChecker.h
Normal file
@ -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
|
@ -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, [=]()
|
||||
|
@ -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
|
||||
|
@ -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 \
|
||||
|
@ -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>
|
||||
|
@ -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>
|
||||
|
@ -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>
|
||||
|
@ -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>
|
||||
|
@ -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>
|
||||
|
Loading…
x
Reference in New Issue
Block a user