Compare commits

..

54 Commits

Author SHA1 Message Date
b6f57c727b update debian/changelog.
Signed-off-by: shenmo <jifengshenmo@outlook.com>
2024-12-16 15:45:41 +00:00
d0dec1b3b0 update debian/spark-store.prerm.
Signed-off-by: shenmo <jifengshenmo@outlook.com>
2024-12-11 04:52:01 +00:00
b125993336 update tool/update-upgrade/ss-update-notifier.sh.
Signed-off-by: shenmo <jifengshenmo@outlook.com>
2024-12-02 14:38:44 +00:00
5a37f24145 try fix always retry 2024-12-01 23:22:14 +08:00
a7b32db9b5 update tool/bashimport/log.amber.
Signed-off-by: shenmo <jifengshenmo@outlook.com>
2024-11-30 11:02:58 +00:00
b7d9ea9358 add: binary to git 2024-11-29 00:00:34 +08:00
e2118a471f feat: aptss logger
feat: Now we only popup window for once
2024-11-28 23:47:03 +08:00
8d06c37e96 feat: aptss log enhance && upgrade-experience-enhance 2024-11-28 21:43:29 +08:00
0d3431b616 chore: adjust user experience of upgrading 2024-11-28 20:55:42 +08:00
b2fc02d145 fix: crash when upgrade
Signed-off-by: shenmo <jifengshenmo@outlook.com>
2024-11-28 10:32:01 +00:00
102c0831af update debian/control.
Signed-off-by: shenmo <jifengshenmo@outlook.com>
2024-11-19 13:43:31 +00:00
8dc1854f2e update tool/update-upgrade/ss-do-upgrade.sh.
Signed-off-by: shenmo <jifengshenmo@outlook.com>
2024-11-14 11:54:33 +00:00
b778e351b3 update tool/update-upgrade/ss-do-upgrade.sh.
Signed-off-by: shenmo <jifengshenmo@outlook.com>
2024-11-14 11:47:32 +00:00
85a7790932 !313 try fix: Can not show window on pkexec
Merge pull request !313 from shenmo/N/A
2024-11-14 10:04:54 +00:00
09bc7f2867 try fix: Can not show window on pkexec
Signed-off-by: shenmo <jifengshenmo@outlook.com>
2024-11-14 10:02:45 +00:00
81aa00ff01 update dtk-build-release-tag-20220425.yml 2024-11-12 11:40:17 +00:00
4b72d091e5 update .workflow/dtk-build-release-tag-20220425.yml.
Signed-off-by: shenmo <jifengshenmo@outlook.com>
2024-11-12 11:33:36 +00:00
a159a11807 spark-store (4.3.3.1) UNRELEASED; urgency=medium
* 修复点击更新需要输入密码的问题
  * 修复安装速度下降的问题
  * 修复闪退问题
  * 修复错误地展示已安装

 -- shenmo <shenmo@spark-app.store>  Tue, 24 Sep 2024 11:27:08 +0800

Signed-off-by: shenmo <jifengshenmo@outlook.com>
2024-11-12 11:25:41 +00:00
d86efc642a update dtk-build-release-tag-20220425.yml 2024-11-12 10:38:54 +00:00
4c05c18198 update dtk-build-release-tag-20220425.yml 2024-11-12 10:32:37 +00:00
09c1d50bd2 update dtk-build-release-tag-20220425.yml 2024-11-12 10:25:47 +00:00
ef36a92c7c update dtk-build-release-tag-20220425.yml 2024-11-12 10:16:22 +00:00
8a93d4dd06 update dtk-build-release-tag-20220425.yml 2024-11-12 10:04:42 +00:00
zty199
29ddef300f fix: crash when installation complete if MainWindow is closed
Installation finished signal is triggered in child thread, which may cause crash when handling in AppInfoPage slot

Log: use Qt::ConnectionType::QueuedConnection when connecting with installation finished signal
2024-11-12 17:43:54 +08:00
5bd6ad9399 fix: 包名部分匹配仍然展示为已安装
Signed-off-by: shenmo <jifengshenmo@outlook.com>
2024-11-10 03:43:10 +00:00
32c74bc5a0 fix: can not install depends 2024-11-05 18:26:21 +08:00
ce34fc763f fix: 安装速度降低 2024-11-05 15:24:53 +08:00
85823fdc23 update tool/apt-fast/ss-apt-fast.
Signed-off-by: shenmo <jifengshenmo@outlook.com>
2024-10-29 12:08:59 +00:00
5f12494b95 update debian/source/format.
Signed-off-by: shenmo <jifengshenmo@outlook.com>
2024-10-29 09:15:26 +00:00
8be23ff5f4 bumpversion 2024-10-29 17:10:04 +08:00
b060000028 fix: Update require password 2024-10-29 17:09:05 +08:00
ed3db29806 add: GXDE Builder 2024-10-28 22:04:40 +08:00
81ab122d6b fix: now we don't need root to policy/search 2024-10-28 21:59:25 +08:00
bab1b1cb0a fix: In ACE you can't use updater 2024-10-25 13:10:25 +08:00
15e826898b Merge branch 'Reason' of gitee.com:spark-store-project/spark-store into dev
Signed-off-by: shenmo <jifengshenmo@outlook.com>
2024-10-22 11:46:44 +00:00
7c1e44010c export DEBIAN_FRONTEND=noninteractive
Signed-off-by: shenmo <jifengshenmo@outlook.com>
2024-10-22 11:43:59 +00:00
4bb389e378 update debian/changelog.
Signed-off-by: shenmo <jifengshenmo@outlook.com>
2024-10-22 11:43:15 +00:00
22ea57c263 update tool/update-upgrade/ss-do-upgrade-worker.sh.
Signed-off-by: shenmo <jifengshenmo@outlook.com>
2024-10-22 09:58:18 +00:00
zty199
019f20dcba fix: wrong back button position
mistakenly use setSpacing in layout

Log: delete setSpacing operation; adjust layout margin
2024-10-21 22:35:33 +08:00
zty199
f4fa07d589 fix: incorrect download water drop animation start position
use rect().center() instead of event->rect().center() in WaterDrop::paintEvent;
all coordinate calculation should use float instead of int

Log: fix incorrect download water drop animation start position
2024-10-21 21:41:18 +08:00
44d04c5bcb !298 fix: abandon dpkg
Merge pull request !298 from shenmo/auto-4915358-Reason-22474d88-1
2024-10-20 18:45:27 +00:00
e7d15f903d fix: abandon dpkg 2024-10-21 02:45:13 +08:00
fb01686527 fix: Now only use apt but not dpkg
Signed-off-by: shenmo <jifengshenmo@outlook.com>
2024-10-20 18:41:27 +00:00
7ad606bbd4 update debian/changelog.
Signed-off-by: shenmo <jifengshenmo@outlook.com>
2024-10-20 18:29:42 +00:00
723475ca9c !296 432
Merge pull request !296 from shenmo/dev
2024-10-20 18:29:38 +00:00
6fee032bd1 fix:quotes 2024-10-21 02:06:34 +08:00
f3a690d9ae try fix install won't fix dependencies 2024-10-21 01:57:34 +08:00
120793dbcc bump version to 4.3.2 2024-10-21 01:47:53 +08:00
39a2f74f2e update aptss 4.3.2 2024-10-21 01:47:00 +08:00
zty199
b49ea2c71f fix: compatible with deepin V23 compact mode
modify titlebar layout, widget size and animation;
modify whole window layout, allow titlebar to resize automatically

Log: compatible with deepin V23 compact mode
2024-10-21 00:12:10 +08:00
3647d80037 !294 431
Merge pull request !294 from shenmo/dev
2024-10-14 06:24:32 +00:00
94f555bfa6 !291 43f5
Merge pull request !291 from shenmo/dev
2024-09-23 05:04:29 +00:00
c8759e8284 !285 430
Merge pull request !285 from shenmo/dev
2024-08-19 08:33:42 +00:00
506ead11f9 !280 4.3
Merge pull request !280 from shenmo/dev
2024-08-17 06:16:49 +00:00
32 changed files with 1109 additions and 936 deletions

13
.github/workflows/program-builder.yml vendored Normal file
View File

@@ -0,0 +1,13 @@
name: Building Program
run-name: Building ${{ GITHUB.REPOSITORY }}
on:
workflow_dispatch:
push:
tags:
- "*"
jobs:
call:
uses: GXDE-OS/GXDE/.github/workflows/building-deb.yml@master
secrets: inherit

View File

@@ -18,22 +18,28 @@ stages:
name: execute_by_docker name: execute_by_docker
displayName: 基于镜像的DTK构建 displayName: 基于镜像的DTK构建
certificate: '' certificate: ''
image: docker.io/debian:buster image: docker.jianmuhub.com/library/debian:buster
command: command:
- sed -i 's/deb.debian.org/mirrors.ustc.edu.cn/g' /etc/apt/sources.list - sed -i 's/deb.debian.org/mirrors.ustc.edu.cn/g' /etc/apt/sources.list
- '# 换源' - '# 换源'
- apt update - apt update
- export DEBIAN_FRONTEND=noninteractive - export DEBIAN_FRONTEND=noninteractive
- echo "安装git devscripts equivs curl..." - echo "安装依赖..."
- 'apt install git devscripts equivs curl -y ' - 'apt install libgsettings-qt-dev -y '
- 'apt install debhelper git curl fakeroot qtbase5-dev zlib1g-dev qt5-default -y '
- git clone https://gitlink.org.cn/shenmo7192/dtk-old-bundle.git - git clone https://gitlink.org.cn/shenmo7192/dtk-old-bundle.git
- cd dtk-old-bundle - cd dtk-old-bundle
- apt install ./*.deb -y - apt install ./*.deb -y
- cd .. - cd ..
- rm -rf dtk-old-bundle - rm -rf dtk-old-bundle
- '' - ''
- 'mk-build-deps --install --tool "apt-get -o Debug::pkgProblemResolver=yes -y" ' - '#mk-build-deps --install --tool "apt-get -o Debug::pkgProblemResolver=yes -y" '
- dpkg-buildpackage -j2 -b -us -uc - apt build-dep . -y
- strip --remove-section=.note.ABI-tag /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
- uname -a
- sed -i 's/dh \$@ --parallel/dh \$@/' debian/rules
- '# Gitee的配置太低了'
- dpkg-buildpackage -b -us -uc
- cd .. - cd ..
- ls -all - ls -all
- pwd - pwd

33
debian/changelog vendored
View File

@@ -1,3 +1,36 @@
spark-store (4.3.3.2) UNRELEASED; urgency=medium
* 提升升级工具体验,不再反复弹窗
* 提升aptss使用体验汇报目前所在阶段而不是卡住不动
* 修复debian sid 无法卸载
-- shenmo <shenmo@spark-app.store> Tue, 24 Sep 2024 11:27:08 +0800
spark-store (4.3.3.1) UNRELEASED; urgency=medium
* 修复点击更新需要输入密码的问题
* 修复安装速度下降的问题
* 修复闪退问题
* 修复错误地展示已安装
-- shenmo <shenmo@spark-app.store> Tue, 24 Sep 2024 11:27:08 +0800
spark-store (4.3.2.0) UNRELEASED; urgency=medium
* 后续更新请从4.3.2.0版本号开始4.3.2版本仅用于GXDE测试
* 支持dummyapps 安装包安装
* 支持紧凑模式
* 修复部分情况下升级安装失败的问题
-- shenmo <shenmo@spark-app.store> Tue, 24 Sep 2024 11:27:08 +0800
spark-store (4.3.2) UNRELEASED; urgency=medium
* ssinstall支持安装conflict包
* 支持紧凑模式
-- shenmo <shenmo@spark-app.store> Tue, 24 Sep 2024 11:27:08 +0800
spark-store (4.3.1) UNRELEASED; urgency=medium spark-store (4.3.1) UNRELEASED; urgency=medium
* 修复自提权更新问题 * 修复自提权更新问题

3
debian/control vendored
View File

@@ -30,6 +30,7 @@ Depends: ${shlibs:Depends}, ${misc:Depends},
libnotify-bin, libnotify-bin,
qtwayland5, qtwayland5,
desktop-file-utils, desktop-file-utils,
dpkg-dev dpkg-dev,
lsb-release,
Description: Spark Store Description: Spark Store
A community powered app store, based on DTK. A community powered app store, based on DTK.

4
debian/rules vendored
View File

@@ -36,4 +36,6 @@ override_dh_auto_install:
# Ignore the dpkg-shlibdeps: warning (it uses none of the library's symbols) # Ignore the dpkg-shlibdeps: warning (it uses none of the library's symbols)
# Qt Mutidedia lib will ref to network libraray. # Qt Mutidedia lib will ref to network libraray.
override_dh_shlibdeps: override_dh_shlibdeps:
dh_shlibdeps --dpkg-shlibdeps-params=--warnings=0 dh_shlibdeps --dpkg-shlibdeps-params=--warnings=0 --exclude=opt/durapps/spark-store/bin/ss-feedback/
override_dh_strip:
dh_strip --exclude=opt/durapps/spark-store/bin/ss-feedback/

View File

@@ -1 +1 @@
1.0 3.0 (native)

View File

@@ -51,7 +51,7 @@ for username in `ls /home`
# Remove gpg key file # Remove gpg key file
rm -f /etc/apt/trusted.gpg.d/spark-store.gpg rm -f /etc/apt/trusted.gpg.d/spark-store.gpg
apt-key del '9D9A A859 F750 24B1 A1EC E16E 0E41 D354 A29A 440C' apt-key del '9D9A A859 F750 24B1 A1EC E16E 0E41 D354 A29A 440C' || true
else else
if [ ! -z "`pidof spark-store`" ] ; then if [ ! -z "`pidof spark-store`" ] ; then

View File

@@ -2,13 +2,14 @@
Description=Spark Store update notifier Description=Spark Store update notifier
After=apt-daily.service network.target network-online.target systemd-networkd.service NetworkManager.service connman.service After=apt-daily.service network.target network-online.target systemd-networkd.service NetworkManager.service connman.service
[Service] [Service]
Type=simple Type=simple
RemainAfterExit=yes RemainAfterExit=yes
ExecStart=/opt/durapps/spark-store/bin/update-upgrade/ss-update-notifier.sh ExecStart=/opt/durapps/spark-store/bin/update-upgrade/ss-update-notifier.sh
Restart=on-failure Restart=on-failure
RestartSec=10 RestartSec=15 # 可以设置为更长的重试间隔,比如 15 秒或 30 秒
StartLimitIntervalSec=1h # 设置为 1 小时的时间窗口
StartLimitBurst=3 # 最大允许失败次数为 3 次
[Install] [Install]
WantedBy=multi-user.target WantedBy=multi-user.target

View File

@@ -22,9 +22,6 @@
#define AppPageSearchlist 1 #define AppPageSearchlist 1
#define AppPageAppdetail 2 #define AppPageAppdetail 2
#define AppPageSettings 3 #define AppPageSettings 3
#define WaylandSearchCenter 1
#define OtherSearchCenter 2
#define RightSearchSpace 1
#define UploadServerUrl "https://upload.deepinos.org.cn/" #define UploadServerUrl "https://upload.deepinos.org.cn/"
MainWindow::MainWindow(QWidget *parent) MainWindow::MainWindow(QWidget *parent)
@@ -126,6 +123,16 @@ void MainWindow::closeEvent(QCloseEvent *event)
BaseWidgetOpacity::closeEvent(event); BaseWidgetOpacity::closeEvent(event);
} }
void MainWindow::changeEvent(QEvent *event)
{
if (event->type() != QEvent::StyleChange) {
return BaseWidgetOpacity::changeEvent(event);
}
BaseWidgetOpacity::changeEvent(event);
downloadButton->setFixedSize(searchEdit->sizeHint().height(), searchEdit->sizeHint().height());
}
void MainWindow::initUI() void MainWindow::initUI()
{ {
QSettings config(QStandardPaths::writableLocation(QStandardPaths::AppConfigLocation) + "/config.ini", QSettings::IniFormat); QSettings config(QStandardPaths::writableLocation(QStandardPaths::AppConfigLocation) + "/config.ini", QSettings::IniFormat);
@@ -159,8 +166,9 @@ void MainWindow::initTitleBar()
ui->titlebar->setBackgroundTransparent(true); ui->titlebar->setBackgroundTransparent(true);
// 初始化标题栏控件 // 初始化标题栏控件
DLabel *title = new DLabel(ui->titlebar); DLabel *titleLabel = new DLabel(ui->titlebar);
title->setText(tr("Spark Store")); titleLabel->setSizePolicy(QSizePolicy::Preferred, QSizePolicy::Fixed);
titleLabel->setText(tr("Spark Store"));
backButton = new DPushButton(ui->titlebar); backButton = new DPushButton(ui->titlebar);
@@ -170,34 +178,37 @@ void MainWindow::initTitleBar()
searchEdit->lineEdit()->setFixedWidth(350); searchEdit->lineEdit()->setFixedWidth(350);
downloadButton = new ProgressButton(ui->titlebar); downloadButton = new ProgressButton(ui->titlebar);
downloadButton->setSizePolicy(QSizePolicy::Preferred, QSizePolicy::Preferred);
downloadButton->setDownloadListWidget(downloadlistwidget); downloadButton->setDownloadListWidget(downloadlistwidget);
downloadButton->setFocusPolicy(Qt::FocusPolicy::ClickFocus); downloadButton->setFocusPolicy(Qt::FocusPolicy::ClickFocus);
downloadButton->setFixedSize(searchEdit->sizeHint().height(), searchEdit->sizeHint().height());
downloadlistwidget->setFocusProxy(downloadButton); downloadlistwidget->setFocusProxy(downloadButton);
QWidget *w_titlebar = new QWidget(ui->titlebar); QWidget *customWidget = new QWidget(ui->titlebar);
QHBoxLayout *ly_titlebar = new QHBoxLayout(w_titlebar); customWidget->setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Preferred);
ly_titlebar->addWidget(title); ui->titlebar->setCustomWidget(customWidget);
ly_titlebar->addWidget(backButton);
// Check wayland configs QHBoxLayout *customWidgetLayout = new QHBoxLayout(customWidget);
QSettings config(QStandardPaths::writableLocation(QStandardPaths::AppConfigLocation) + "/config.ini", QSettings::IniFormat); customWidgetLayout->setContentsMargins(8, 0, 0, 0);
if (!config.value("runtime/isDDE").toBool() && config.value("runtime/useWayland").toBool()) customWidgetLayout->setSpacing(0);
{ customWidgetLayout->addWidget(titleLabel, 0, Qt::AlignLeft);
// Wayland 搜索栏居中 customWidgetLayout->addSpacing(8);
ly_titlebar->addStretch(WaylandSearchCenter); customWidgetLayout->addWidget(backButton, 0, Qt::AlignLeft);
} QWidget *centralWidget = new QWidget(customWidget);
else centralWidget->setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Preferred);
{ customWidgetLayout->addWidget(centralWidget, 1, Qt::AlignHCenter);
// dwayland dxcb 搜索栏顶部右侧居中
ly_titlebar->addStretch(OtherSearchCenter); QHBoxLayout *centralLayout = new QHBoxLayout(centralWidget);
} centralLayout->setContentsMargins(20, 0, 10, 0);
ly_titlebar->addWidget(searchEdit); centralLayout->setSpacing(0);
ly_titlebar->addWidget(downloadButton);
ly_titlebar->addStretch(RightSearchSpace); centralLayout->addWidget(searchEdit, 0, Qt::AlignHCenter);
ui->titlebar->setCustomWidget(w_titlebar); centralLayout->addSpacing(10);
centralLayout->addWidget(downloadButton, 0, Qt::AlignHCenter);
initTitleBarMenu(); initTitleBarMenu();
backButton->hide(); backButton->setDisabled(true);
downloadlistwidget->hide(); downloadlistwidget->hide();
} }
@@ -353,9 +364,9 @@ void MainWindow::initConnections()
ui->stackedWidget->setCurrentIndex(pageHistory.at(pageHistory.count() - 2)); ui->stackedWidget->setCurrentIndex(pageHistory.at(pageHistory.count() - 2));
pageHistory.removeLast(); pageHistory.removeLast();
if (pageHistory.count() > 1) { if (pageHistory.count() > 1) {
backButton->show(); backButton->setEnabled(true);
} else { } else {
backButton->hide(); backButton->setDisabled(true);
} }); } });
// 搜索事件 // 搜索事件
@@ -446,11 +457,11 @@ void MainWindow::switchPage(int now) // 临时方案,回家后修改
qDebug() << pageHistory.count(); qDebug() << pageHistory.count();
if (pageHistory.count() >= 1) if (pageHistory.count() >= 1)
{ {
backButton->show(); backButton->setEnabled(true);
} }
else else
{ {
backButton->hide(); backButton->setDisabled(true);
} }
ui->stackedWidget->setCurrentIndex(now); ui->stackedWidget->setCurrentIndex(now);
ui->stackedWidget->currentWidget()->setFocus(); ui->stackedWidget->currentWidget()->setFocus();

View File

@@ -34,6 +34,7 @@ public:
protected: protected:
void closeEvent(QCloseEvent *event) override; void closeEvent(QCloseEvent *event) override;
void changeEvent(QEvent *event) override;
private: private:
void initUI(); void initUI();

File diff suppressed because it is too large Load Diff

View File

@@ -287,8 +287,10 @@ void AppIntoPage::setDownloadWidget(DownloadListWidget *w)
} }
dw = w; dw = w;
connect(w, &DownloadListWidget::downloadFinished, [=]() connect(w, &DownloadListWidget::downloadFinished, this, [=]() {
{ isDownloading(SparkAPI::getServerUrl() + SparkAPI::getArchDir() + spk.path() + "/" + info["Filename"].toString()); }); isDownloading(SparkAPI::getServerUrl() + SparkAPI::getArchDir() + spk.path() + "/" + info["Filename"].toString());
},
Qt::QueuedConnection);
} }
void AppIntoPage::initUI() void AppIntoPage::initUI()
@@ -486,7 +488,10 @@ void AppIntoPage::on_downloadButton_clicked()
return; return;
} }
connect(item, &DownloadItem::finished, [=]() { isDownloading(downloadUrl); }); connect(item, &DownloadItem::finished, this, [=]() {
isDownloading(downloadUrl);
},
Qt::QueuedConnection);
item->install(0); item->install(0);
isDownloading(downloadUrl); isDownloading(downloadUrl);
@@ -507,7 +512,10 @@ void AppIntoPage::on_downloadButton_clicked()
item->reinstall = true; item->reinstall = true;
} }
ui->downloadButton->setEnabled(false); ui->downloadButton->setEnabled(false);
connect(item, &DownloadItem::finished, [=]() { isDownloading(downloadUrl); }); connect(item, &DownloadItem::finished, this, [=]() {
isDownloading(downloadUrl);
},
Qt::QueuedConnection);
isDownloading(downloadUrl); isDownloading(downloadUrl);
} }

View File

@@ -9,10 +9,6 @@
ProgressButton::ProgressButton(QWidget *parent) ProgressButton::ProgressButton(QWidget *parent)
: QWidget{parent} : QWidget{parent}
{ {
// this->setWindowFlags(Qt::FramelessWindowHint);
// this->setAttribute(Qt::WA_TranslucentBackground, true);
setMinimumSize(36, 36);
svgPath = ""; svgPath = "";
backColor = Qt::transparent; backColor = Qt::transparent;
@@ -37,7 +33,7 @@ void ProgressButton::setProgress(int progress)
buttonState = state::closeProgress; buttonState = state::closeProgress;
update(); update();
WaterDrop *waterDrop = new WaterDrop(parentWidget()); WaterDrop *waterDrop = new WaterDrop(parentWidget());
waterDrop->move(geometry().center()); waterDrop->move(QRectF(geometry()).center());
waterDrop->show(); waterDrop->show();
} }
repaint(); repaint();
@@ -77,12 +73,9 @@ void ProgressButton::mousePressEvent(QMouseEvent *event)
void ProgressButton::mouseReleaseEvent(QMouseEvent *event) void ProgressButton::mouseReleaseEvent(QMouseEvent *event)
{ {
if (buttonState == state::hover || buttonState == state::normal) if (buttonState == state::hover
{ || buttonState == state::normal
widthChangeValue = (this->width() - 6) / 2; || buttonState == state::closeProgress)
update();
}
else if (buttonState == state::closeProgress)
{ {
update(); update();
} }
@@ -131,19 +124,15 @@ void ProgressButton::paintEvent(QPaintEvent *event)
{ {
QPainter painter(this); QPainter painter(this);
painter.setRenderHint(QPainter::Antialiasing, true); painter.setRenderHint(QPainter::Antialiasing, true);
QRect rect = event->rect(); QRectF rect = this->rect();
if (buttonState == state::normal || buttonState == state::hover) if (buttonState == state::normal || buttonState == state::hover)
{ {
int radius = (rect.height() - 6) / 2; qreal radius = rect.height() / 2;
painter.translate(rect.center()); painter.translate(rect.center());
painter.setPen(Qt::transparent); painter.setPen(Qt::transparent);
painter.setBrush(QColor(buttonState == state::normal ? color : color.darker()));
// painter.drawEllipse(QPoint(0, 0), radius, radius);
// radiu -= 3;
painter.setBrush(backColor); painter.setBrush(backColor);
painter.drawEllipse(QPoint(0, 0), radius, radius); painter.drawEllipse(QPointF(0, 0), radius, radius);
QSvgRenderer m_svgRender; QSvgRenderer m_svgRender;
m_svgRender.load(svgPath); m_svgRender.load(svgPath);
@@ -151,42 +140,34 @@ void ProgressButton::paintEvent(QPaintEvent *event)
} }
else if (buttonState == state::openProgress) else if (buttonState == state::openProgress)
{ {
qreal radius = rect.height() / 2 - 1;
painter.translate(rect.center()); painter.translate(rect.center());
int radius = (rect.height() - 6) / 2 - 3; painter.setPen(QPen(backColor.darker(), 2));
painter.setBrush(backColor); painter.setBrush(backColor);
painter.setPen(QPen(backColor, 3)); painter.drawEllipse(QPointF(0, 0), radius, radius);
painter.drawEllipse(QPoint(0, 0), radius, radius);
painter.setPen(QPen(backColor, 3)); QRectF rectF = QRectF(-radius, -radius, radius * 2, radius * 2);
painter.setPen(QPen(color.darker(100), 2));
qreal angle = progress * 360 / 100 * 1.0;
painter.drawArc(rectF, 90 * 16, -qIntCast(angle * 16));
QSvgRenderer m_svgRender; QSvgRenderer m_svgRender;
m_svgRender.load(svgPath); m_svgRender.load(svgPath);
m_svgRender.render(&painter, QRectF(-radius / 2, -radius / 2, radius, radius)); m_svgRender.render(&painter, QRectF(-radius / 2, -radius / 2, radius, radius));
QRect rect = QRect(-radius, -radius,
radius * 2, radius * 2);
painter.setPen(QPen(color.darker(100), 3));
qreal angle = progress * 360 / 100 * 1.0;
painter.drawArc(rect.adjusted(-3, -3, 3, 3), 90 * 16, -qIntCast(angle * 16));
} }
else if (buttonState == state::closeProgress) else if (buttonState == state::closeProgress)
{ {
auto radius = (rect.height() - 6) / 2; qreal radius = rect.height() / 2 - 1;
painter.translate(rect.center()); painter.translate(rect.center());
painter.setPen(Qt::transparent); painter.setPen(QPen(color.darker(100), 2));
painter.setBrush(QColor(0, 0, 0, 63));
painter.drawEllipse(QPoint(0, 0), radius, radius);
radius -= 3;
painter.setBrush(backColor); painter.setBrush(backColor);
painter.drawEllipse(QPoint(0, 0), radius, radius); painter.drawEllipse(QPointF(0, 0), radius, radius);
painter.setPen(QPen(color, 3, Qt::SolidLine, Qt::RoundCap, Qt::RoundJoin)); painter.setPen(QPen(color, 2, Qt::SolidLine, Qt::RoundCap, Qt::RoundJoin));
painter.drawLine(QPoint(-radius / 3, 0), painter.drawLine(QPointF(-radius / 3, 0),
QPoint(-radius / 5, radius / 3)); QPointF(-radius / 5, radius / 3));
painter.drawLine(QPoint(-radius / 5, radius / 3), painter.drawLine(QPointF(-radius / 5, radius / 3),
QPoint(radius / 4, -radius / 4)); QPointF(radius / 4, -radius / 4));
} }
QWidget::paintEvent(event); QWidget::paintEvent(event);
} }
@@ -195,7 +176,7 @@ void ProgressButton::operationProcessing()
{ {
} }
const int RADIUS = 60; const int RADIUS = 30;
WaterDrop::WaterDrop(QWidget *parent) WaterDrop::WaterDrop(QWidget *parent)
: QWidget(parent) : QWidget(parent)
, m_waterDropAnimation(new QVariantAnimation(this)) , m_waterDropAnimation(new QVariantAnimation(this))
@@ -210,20 +191,20 @@ WaterDrop::WaterDrop(QWidget *parent)
} }
// 把鼠标点击的点转换为圆心点坐标 // 把鼠标点击的点转换为圆心点坐标
void WaterDrop::move(const QPoint &point) void WaterDrop::move(const QPointF &point)
{ {
QPoint translatePoint = point - QPoint(RADIUS, RADIUS); QPointF translatePoint = point - QRectF(rect()).center();
QWidget::move(translatePoint); QWidget::move(qRound(translatePoint.x()), qRound(translatePoint.y()));
} }
void WaterDrop::show() void WaterDrop::show()
{ {
m_waterDropAnimation->setStartValue(0); m_waterDropAnimation->setStartValue(0);
m_waterDropAnimation->setEndValue(RADIUS); m_waterDropAnimation->setEndValue(RADIUS - 2);
m_waterDropAnimation->setDuration(350); m_waterDropAnimation->setDuration(350);
connect(m_waterDropAnimation, &QVariantAnimation::valueChanged, this, &WaterDrop::onRadiusChanged); connect(m_waterDropAnimation, &QVariantAnimation::valueChanged, this, &WaterDrop::onRadiusChanged);
connect(m_waterDropAnimation, &QVariantAnimation::finished, this, &WaterDrop::close); connect(m_waterDropAnimation, &QVariantAnimation::finished, this, &WaterDrop::deleteLater);
m_waterDropAnimation->start(QVariantAnimation::DeleteWhenStopped); m_waterDropAnimation->start(QVariantAnimation::DeleteWhenStopped);
QWidget::show(); QWidget::show();
} }
@@ -232,10 +213,9 @@ void WaterDrop::paintEvent(QPaintEvent *event)
{ {
QPainter painter(this); QPainter painter(this);
painter.setRenderHint(QPainter::Antialiasing); painter.setRenderHint(QPainter::Antialiasing);
QPen pen(QBrush(QColor("#ffff80")), 5.0); QPen pen(QBrush(QColor("#ffff80")), 4.0);
pen.setWidth(5);
painter.setPen(pen); painter.setPen(pen);
painter.drawEllipse(event->rect().center(), m_animationRadius, m_animationRadius); painter.drawEllipse(QRectF(rect()).center(), m_animationRadius, m_animationRadius);
QWidget::paintEvent(event); QWidget::paintEvent(event);
} }

View File

@@ -52,7 +52,6 @@ private:
QColor backColor; QColor backColor;
QColor color; QColor color;
QString svgPath; QString svgPath;
int widthChangeValue{0};
int progress{0};//处理百分比 int progress{0};//处理百分比
bool m_mouseMoved = false; bool m_mouseMoved = false;
@@ -66,7 +65,7 @@ class WaterDrop : public QWidget
public: public:
explicit WaterDrop(QWidget *parent = nullptr); explicit WaterDrop(QWidget *parent = nullptr);
void show(); void show();
void move(const QPoint &point); void move(const QPointF &point);
protected: protected:
void paintEvent(QPaintEvent *event); void paintEvent(QPaintEvent *event);

View File

@@ -52,7 +52,7 @@ for argument in "$@"; do
option="source" option="source"
root=0 root=0
;; ;;
changelog) changelog|search|policy|show)
root=0 root=0
;; ;;
esac esac

View File

@@ -3,6 +3,7 @@
SPARK_DOWNLOAD_SERVER_URL="https://d.spark-app.store/" SPARK_DOWNLOAD_SERVER_URL="https://d.spark-app.store/"
SPARK_DOWNLOAD_SERVER_URL_NO_PROTOCOL="d.spark-app.store" SPARK_DOWNLOAD_SERVER_URL_NO_PROTOCOL="d.spark-app.store"
source /opt/durapps/spark-store/bin/bashimport/transhell.amber source /opt/durapps/spark-store/bin/bashimport/transhell.amber
source /opt/durapps/spark-store/bin/bashimport/log.amber
load_transhell load_transhell
case `arch` in case `arch` in
@@ -26,7 +27,17 @@ is_empty_dir(){
return `ls -A $1|wc -w` return `ls -A $1|wc -w`
} }
function update_list(){
curl --progress-bar -o /opt/durapps/spark-store/bin/apt-fast-conf/sources.list.d/sparkstore.list "${SPARK_DOWNLOAD_SERVER_URL}/sparkstore${STORE_LIST_URL}.list"
log.info "sparkstore${STORE_LIST_URL}.list update done"
}
function update_conf(){
mkdir -p /tmp/aptss-conf/
curl --progress-bar -o /tmp/aptss-conf/apt-fast.conf "${SPARK_DOWNLOAD_SERVER_URL}/apt-fast.conf"
log.info "apt-fast.conf update done"
chmod -R 755 /tmp/aptss-conf
}
if [ "$(id -u)" != "0" ];then if [ "$(id -u)" != "0" ];then
#############################无root权限时 #############################无root权限时
@@ -46,8 +57,7 @@ if [ ! -e "/tmp/aptss-conf/apt-fast.conf" ];then
mkdir -p /tmp/aptss-conf/ mkdir -p /tmp/aptss-conf/
echo -e "\e[1;32m${TRANSHELL_CONTENT_GETTING_SERVER_CONFIG_AND_MIRROR_LIST}\e[0m" echo -e "\e[1;32m${TRANSHELL_CONTENT_GETTING_SERVER_CONFIG_AND_MIRROR_LIST}\e[0m"
echo echo
curl --progress-bar -o /tmp/aptss-conf/apt-fast.conf "${SPARK_DOWNLOAD_SERVER_URL}/apt-fast.conf" update_conf
chmod -R 755 /tmp/aptss-conf
fi fi
@@ -57,11 +67,9 @@ if [ ! -e "/var/lib/aptss/lists/${SPARK_DOWNLOAD_SERVER_URL_NO_PROTOCOL}_${STORE
mkdir -p /tmp/aptss-conf/ mkdir -p /tmp/aptss-conf/
echo -e "\e[1;32m${TRANSHELL_CONTENT_GETTING_SERVER_CONFIG_AND_MIRROR_LIST}\e[0m" echo -e "\e[1;32m${TRANSHELL_CONTENT_GETTING_SERVER_CONFIG_AND_MIRROR_LIST}\e[0m"
echo echo
curl --silent -o /tmp/aptss-conf/apt-fast.conf "${SPARK_DOWNLOAD_SERVER_URL}/apt-fast.conf"
chmod -R 755 /tmp/aptss-conf
curl --silent -o /opt/durapps/spark-store/bin/apt-fast-conf/sources.list.d/sparkstore.list "${SPARK_DOWNLOAD_SERVER_URL}/sparkstore${STORE_LIST_URL}.list" update_list
/usr/bin/apt update -c /opt/durapps/spark-store/bin/apt-fast-conf/aptss-apt.conf update_conf
#只更新星火源 #只更新星火源
@@ -93,12 +101,11 @@ elif [ "$1" = "ssupdate" ];then
mkdir -p /tmp/aptss-conf/ mkdir -p /tmp/aptss-conf/
echo -e "\e[1;32m${TRANSHELL_CONTENT_GETTING_SERVER_CONFIG_AND_MIRROR_LIST}\e[0m" echo -e "\e[1;32m${TRANSHELL_CONTENT_GETTING_SERVER_CONFIG_AND_MIRROR_LIST}\e[0m"
echo echo
curl --silent -o /tmp/aptss-conf/apt-fast.conf "${SPARK_DOWNLOAD_SERVER_URL}/apt-fast.conf"
chmod -R 755 /tmp/aptss-conf
curl --silent -o /opt/durapps/spark-store/bin/apt-fast-conf/sources.list.d/sparkstore.list "${SPARK_DOWNLOAD_SERVER_URL}/sparkstore${STORE_LIST_URL}.list"
update_list
update_conf
/usr/bin/apt update -c /opt/durapps/spark-store/bin/apt-fast-conf/aptss-apt.conf -o Dir::Etc::sourceparts="-" -o APT::Get::List-Cleanup="0" -o Dir::Etc::sourcelist="/opt/durapps/spark-store/bin/apt-fast-conf/sources.list.d/sparkstore.list" /usr/bin/apt update -c /opt/durapps/spark-store/bin/apt-fast-conf/aptss-apt.conf -o Dir::Etc::sourceparts="-" -o APT::Get::List-Cleanup="0" -o Dir::Etc::sourcelist="/opt/durapps/spark-store/bin/apt-fast-conf/sources.list.d/sparkstore.list"
#只更新星火源 #只更新星火源
@@ -107,10 +114,8 @@ elif [ "$1" = "update" ];then
echo -e "\e[1;32m${TRANSHELL_CONTENT_GETTING_SERVER_CONFIG_AND_MIRROR_LIST}\e[0m" echo -e "\e[1;32m${TRANSHELL_CONTENT_GETTING_SERVER_CONFIG_AND_MIRROR_LIST}\e[0m"
echo echo
curl --progress-bar -o /opt/durapps/spark-store/bin/apt-fast-conf/sources.list.d/sparkstore.list "${SPARK_DOWNLOAD_SERVER_URL}/sparkstore${STORE_LIST_URL}.list" update_list
mkdir -p /tmp/aptss-conf/ update_conf
curl --progress-bar -o /tmp/aptss-conf/apt-fast.conf "${SPARK_DOWNLOAD_SERVER_URL}/apt-fast.conf"
chmod -R 755 /tmp/aptss-conf
### 额外一份拿来给aptss自动补全用 ### 额外一份拿来给aptss自动补全用
${SS_APT_FAST} "$@" -c /opt/durapps/spark-store/bin/apt-fast-conf/aptss-apt.conf ${SS_APT_FAST} "$@" -c /opt/durapps/spark-store/bin/apt-fast-conf/aptss-apt.conf

View File

@@ -0,0 +1,5 @@
#!/bin/bash
log.warn() { echo -e "[\e[33mWARN\e[0m]: \e[1m$*\e[0m"; }
log.error() { echo -e "[\e[31mERROR\e[0m]: \e[1m$*\e[0m"; }
log.info() { echo -e "[\e[96mINFO\e[0m]: \e[1m$*\e[0m"; }
log.debug() { echo -e "[\e[32mDEBUG\e[0m]: \e[1m$*\e[0m"; }

BIN
tool/ss-feedback/sender-d-amd64 Executable file

Binary file not shown.

BIN
tool/ss-feedback/sender-d-arm64 Executable file

Binary file not shown.

BIN
tool/ss-feedback/sender-d-loong64 Executable file

Binary file not shown.

View File

@@ -2,6 +2,7 @@
source /opt/durapps/spark-store/bin/bashimport/transhell.amber source /opt/durapps/spark-store/bin/bashimport/transhell.amber
load_transhell_debug load_transhell_debug
export DEBIAN_FRONTEND=noninteractive
case $(arch) in case $(arch) in
x86_64) x86_64)
@@ -122,7 +123,7 @@ DEBPATH=$(realpath "$1")
exit "$try_run_ret" exit "$try_run_ret"
fi fi
dpkg -i "$DEBPATH" || aptss install -yf dpkg -i "$DEBPATH" || aptss install "$DEBPATH" -yf
if [ "$?" = "0" ] && [ "$2" = "--delete-after-install" ]; then if [ "$?" = "0" ] && [ "$2" = "--delete-after-install" ]; then
if dpkg -s "$package_name" >/dev/null 2>&1; then if dpkg -s "$package_name" >/dev/null 2>&1; then

View File

@@ -2,6 +2,7 @@
source /opt/durapps/spark-store/bin/bashimport/transhell.amber source /opt/durapps/spark-store/bin/bashimport/transhell.amber
load_transhell_debug load_transhell_debug
export DEBIAN_FRONTEND=noninteractive
trap 'unlock_file $DEBPATH' EXIT trap 'unlock_file $DEBPATH' EXIT
case $(arch) in case $(arch) in
@@ -165,7 +166,7 @@ if [ ! -z "$IS_SHA512SUM_CHECKED" ]; then
exit "$try_run_ret" exit "$try_run_ret"
fi fi
dpkg -i "$DEBPATH" || aptss install -yf dpkg -i "$DEBPATH" || aptss install "$DEBPATH" -yf
unlock_file "$DEBPATH" unlock_file "$DEBPATH"

View File

@@ -1,2 +1,2 @@
#!/bin/bash #!/bin/bash
dpkg -l | grep "^ii" | grep -w "$1" > /dev/null dpkg -l | grep "^ii $1 " > /dev/null

46
tool/store-helper/pass-auth.sh Executable file
View File

@@ -0,0 +1,46 @@
#!/bin/bash
# We use sudo twice to avoid ACE bug here
# https://gitee.com/amber-ce/amber-ce-bookworm/commit/43e1a1599ede474b37e41aa10c53fd8afc4d35a1
#!/bin/bash
# We use sudo twice to avoid ACE bug here
# https://gitee.com/amber-ce/amber-ce-bookworm/commit/43e1a1599ede474b37e41aa10c53fd8afc4d35a1
function zenity_prompt() {
if [[ -e /usr/bin/garma ]]; then
garma "$@"
else
$(command -v zenity) "$@"
fi
}
# 检查sudo是否需要密码
if sudo -n true 2>/dev/null; then
echo "sudo 无需密码,继续执行"
else
# 循环输入密码直到成功或用户取消
while true; do
# 使用zenity弹出密码输入框
PASSWORD=$(zenity_prompt --password --title="需要sudo权限")
# 检查用户是否取消输入
if [ -z "$PASSWORD" ]; then
zenity_prompt --error --text="操作已取消"
exit 1
fi
# 尝试使用输入的密码执行sudo命令
echo "$PASSWORD" | sudo -S -v 2>/dev/null
# 检查sudo是否成功
if [ $? -eq 0 ]; then
echo "密码正确,继续执行"
break
else
zenity_prompt --error --text="密码错误,请重新输入"
fi
done
fi
# 使用sudo命令执行目标程序
echo "$PASSWORD" | sudo sudo -S "$@"

View File

@@ -1,6 +1,6 @@
#!/bin/bash #!/bin/bash
export LANGUAGE=en_US export LANGUAGE=en_US
export DEBIAN_FRONTEND=noninteractive
case $1 in case $1 in
ssupdate) ssupdate)
if [ "$(id -u)" != "0" ] ; then if [ "$(id -u)" != "0" ] ; then

View File

@@ -1,8 +1,15 @@
#!/bin/bash #!/bin/bash
if [ "$(id -u)" != "0" ] ; then if [ "$(id -u)" != "0" ] ; then
pkexec "$0" "$@" if [ "$IS_ACE_ENV" = "1" ];then
exit /opt/durapps/spark-store/bin/store-helper/pass-auth.sh "$0" "$@"
else
xhost +
pkexec "$0" "$@"
exit
fi
fi fi
trap "rm -f /tmp/spark-store/upgradeStatus.txt" EXIT trap "rm -f /tmp/spark-store/upgradeStatus.txt" EXIT
source /opt/durapps/spark-store/bin/bashimport/transhell.amber source /opt/durapps/spark-store/bin/bashimport/transhell.amber
load_transhell_debug load_transhell_debug
@@ -50,7 +57,7 @@ echo ${app_name_in_desktop}
touch /tmp/spark-store/upgradeStatus.txt touch /tmp/spark-store/upgradeStatus.txt
# 执行 apt update # 执行 apt update
pkexec /opt/durapps/spark-store/bin/update-upgrade/ss-do-upgrade-worker.sh ssupdate | zenity --progress --auto-close --pulsate --no-cancel --text="${TRANSHELL_CONTENT_UPDATE_CHEKING_PLEASE_WAIT}" --height 70 --width 400 --title="${TRANSHELL_CONTENT_SPARK_STORE_UPGRADE_MODEL}" --window-icon=/usr/share/icons/hicolor/scalable/apps/spark-store.svg pkexec /opt/durapps/spark-store/bin/update-upgrade/ss-do-upgrade-worker.sh ssupdate 2>&1 > /dev/null | zenity --progress --auto-close --pulsate --no-cancel --text="${TRANSHELL_CONTENT_UPDATE_CHEKING_PLEASE_WAIT}" --height 70 --width 400 --title="${TRANSHELL_CONTENT_SPARK_STORE_UPGRADE_MODEL}" --window-icon=/usr/share/icons/hicolor/scalable/apps/spark-store.svg
if [ -z `cat /tmp/spark-store-app-ssupdate-status.txt` ] ; then if [ -z `cat /tmp/spark-store-app-ssupdate-status.txt` ] ; then
/opt/durapps/spark-store/bin/update-upgrade/ss-do-upgrade-worker.sh clean-log /opt/durapps/spark-store/bin/update-upgrade/ss-do-upgrade-worker.sh clean-log
@@ -113,11 +120,25 @@ done)
zenity --info --text "${TRANSHELL_CONTENT_NO_APP_IS_CHOSEN}" --title "${TRANSHELL_CONTENT_SPARK_STORE_UPGRADE_MODEL}" --height 150 --width 300 --window-icon=/usr/share/icons/hicolor/scalable/apps/spark-store.svg zenity --info --text "${TRANSHELL_CONTENT_NO_APP_IS_CHOSEN}" --title "${TRANSHELL_CONTENT_SPARK_STORE_UPGRADE_MODEL}" --height 150 --width 300 --window-icon=/usr/share/icons/hicolor/scalable/apps/spark-store.svg
else else
### 更新用户选择的应用 ### 更新用户选择的应用
for PKG_UPGRADE in $PKG_UPGRADE_LIST;do
APP_UPGRADE="$(get_name_from_desktop_file $PKG_UPGRADE)"
update_transhell (for PKG_UPGRADE in $PKG_UPGRADE_LIST; do
pkexec /opt/durapps/spark-store/bin/update-upgrade/ss-do-upgrade-worker.sh upgrade-app $PKG_UPGRADE -y | zenity --progress --auto-close --no-cancel --pulsate --text="${TRANSHELL_CONTENT_UPGRADING_PLEASE_WAIT}" --height 70 --width 400 --title="${TRANSHELL_CONTENT_SPARK_STORE_UPGRADE_MODEL}" --window-icon=/usr/share/icons/hicolor/scalable/apps/spark-store.svg APP_UPGRADE="$(get_name_from_desktop_file $PKG_UPGRADE)"
done update_transhell
# 启动升级任务
(pkexec /opt/durapps/spark-store/bin/update-upgrade/ss-do-upgrade-worker.sh upgrade-app $PKG_UPGRADE -y 2>&1 > /dev/null ) &
cmd_pid=$!
# 动态修改zenity的文本
echo "# ${TRANSHELL_CONTENT_UPGRADING_PLEASE_WAIT}"
wait
done) | zenity --progress --auto-close --no-cancel --pulsate --text="Preparing..." --height 70 --width 400 --title="${TRANSHELL_CONTENT_SPARK_STORE_UPGRADE_MODEL}" --window-icon=/usr/share/icons/hicolor/scalable/apps/spark-store.svg
#### 更新成功 #### 更新成功
if [ -z "`cat /tmp/spark-store-app-upgrade-status.txt`" ] ; then if [ -z "`cat /tmp/spark-store-app-upgrade-status.txt`" ] ; then
zenity --info --text "${TRANSHELL_CONTENT_CHOSEN_APP_UPGRADE_FINISHED}" --title "${TRANSHELL_CONTENT_SPARK_STORE_UPGRADE_MODEL}" --height 150 --width 300 --window-icon=/usr/share/icons/hicolor/scalable/apps/spark-store.svg zenity --info --text "${TRANSHELL_CONTENT_CHOSEN_APP_UPGRADE_FINISHED}" --title "${TRANSHELL_CONTENT_SPARK_STORE_UPGRADE_MODEL}" --height 150 --width 300 --window-icon=/usr/share/icons/hicolor/scalable/apps/spark-store.svg

View File

@@ -1,16 +1,12 @@
#!/bin/bash #!/bin/bash
source /opt/durapps/spark-store/bin/bashimport/transhell.amber source /opt/durapps/spark-store/bin/bashimport/transhell.amber
load_transhell_debug load_transhell_debug
############################################################# #############################################################
# 发送通知 # 发送通知
function notify-send() { function notify-send() {
# Detect user using the display # Detect user using the display
local user=$(who | awk '{print $1}' | head -n 1) local user=$(who | awk '{print $1}' | head -n 1)
@@ -20,11 +16,8 @@ function notify-send() {
sudo -u $user DBUS_SESSION_BUS_ADDRESS=unix:path=/run/user/${uid}/bus notify-send "$@" sudo -u $user DBUS_SESSION_BUS_ADDRESS=unix:path=/run/user/${uid}/bus notify-send "$@"
} }
# 检测网络链接畅通 # 检测网络链接畅通
function network-check() function network-check() {
{
# 超时时间 # 超时时间
local timeout=15 local timeout=15
@@ -32,9 +25,9 @@ function network-check()
local target=www.baidu.com local target=www.baidu.com
# 获取响应状态码 # 获取响应状态码
local ret_code=`curl -I -s --connect-timeout ${timeout} ${target} -w %{http_code} | tail -n1` local ret_code=$(curl -I -s --connect-timeout ${timeout} ${target} -w %{http_code} | tail -n1)
if [ "x$ret_code" = "x200" ] ; then if [ "$ret_code" = "200" ]; then
# 网络畅通 # 网络畅通
return 0 return 0
else else
@@ -43,32 +36,47 @@ function network-check()
fi fi
} }
network-check # 初始化等待时间和最大等待时间
if [ $? -ne 0 ] ; then initial_wait_time=15 # 初始等待时间 15 秒
echo "$TRANSHELL_CONTENT_NETWORK_FAIL" max_wait_time=$((12 * 3600)) # 最大等待时间 12 小时
exit -1
fi
# The code above is modified from https://blog.csdn.net/yaxuan88521/article/details/120516298 # 检测网络,若不通则进行重试,采用指数退避算法
wait_time=$initial_wait_time
while ! network-check; do
echo "$TRANSHELL_CONTENT_NETWORK_FAIL"
echo "Waiting for network to recover... Retrying in ${wait_time} seconds."
sleep $wait_time
wait_time=$((wait_time * 2)) # 等待时间翻倍
if [ $wait_time -gt $max_wait_time ]; then
wait_time=$max_wait_time # 最大等待时间限制为12小时
fi
done
# 每日更新星火源文件 # 每日更新星火源文件
aptss update aptss update
updatetext=`LANGUAGE=en_US aptss ssupdate 2>&1` updatetext=`LANGUAGE=en_US aptss ssupdate 2>&1`
until [ "`echo $updatetext | grep E: `" = "" ];do # 在网络恢复后,继续更新操作
echo "${TRANSHELL_CONTENT_UPDATE_ERROR_AND_WAIT_15_SEC}" retry_count=0
sleep 15 max_retries=12 # 最大重试次数,防止死循环
updatetext=`LANGUAGE=en_US aptss ssupdate 2>&1`
until ! echo $updatetext | grep -q "E:"; do
if [ $retry_count -ge $max_retries ]; then
echo "Reached maximum retry limit for aptss ssupdate."
exit 1
fi
echo "${TRANSHELL_CONTENT_UPDATE_ERROR_AND_WAIT_15_SEC}"
sleep 15
updatetext=`LANGUAGE=en_US aptss ssupdate 2>&1`
retry_count=$((retry_count + 1))
done done
update_app_number=$(env LANGUAGE=en_US /usr/bin/apt -c /opt/durapps/spark-store/bin/apt-fast-conf/aptss-apt.conf list --upgradable -o Dir::Etc::sourcelist="/opt/durapps/spark-store/bin/apt-fast-conf/sources.list.d/sparkstore.list" -o Dir::Etc::sourceparts="/dev/null" -o APT::Get::List-Cleanup="0" 2>/dev/null | grep -c upgradable) update_app_number=$(env LANGUAGE=en_US /usr/bin/apt -c /opt/durapps/spark-store/bin/apt-fast-conf/aptss-apt.conf list --upgradable -o Dir::Etc::sourcelist="/opt/durapps/spark-store/bin/apt-fast-conf/sources.list.d/sparkstore.list" -o Dir::Etc::sourceparts="/dev/null" -o APT::Get::List-Cleanup="0" 2>/dev/null | grep -c upgradable)
if [ "$update_app_number" -le 0 ] ; then if [ "$update_app_number" -le 0 ]; then
exit 0 exit 0
fi fi
@@ -78,43 +86,41 @@ PKG_LIST="$(/opt/durapps/spark-store/bin/update-upgrade/ss-do-upgrade-worker.sh
IFS_OLD="$IFS" IFS_OLD="$IFS"
IFS=$'\n' IFS=$'\n'
for line in $PKG_LIST ; do for line in $PKG_LIST; do
PKG_NAME=$(echo $line | awk -F ' ' '{print $1}') PKG_NAME=$(echo $line | awk -F ' ' '{print $1}')
PKG_NEW_VER=$(echo $line | awk -F ' ' '{print $2}') PKG_NEW_VER=$(echo $line | awk -F ' ' '{print $2}')
PKG_CUR_VER=$(echo $line | awk -F ' ' '{print $3}') PKG_CUR_VER=$(echo $line | awk -F ' ' '{print $3}')
dpkg --compare-versions $PKG_NEW_VER le $PKG_CUR_VER dpkg --compare-versions $PKG_NEW_VER le $PKG_CUR_VER
if [ $? -eq 0 ] ; then if [ $? -eq 0 ]; then
let update_app_number=$update_app_number-1 let update_app_number=$update_app_number-1
continue continue
fi fi
## 检测是否是 hold 状态 # 检测是否是 hold 状态
PKG_STA=$(dpkg-query -W -f='${db:Status-Want}' $PKG_NAME) PKG_STA=$(dpkg-query -W -f='${db:Status-Want}' $PKG_NAME)
if [ "$PKG_STA" = "hold" ] ; then if [ "$PKG_STA" = "hold" ]; then
let update_app_number=$update_app_number-1 let update_app_number=$update_app_number-1
fi fi
done done
# 还原分隔符 # 还原分隔符
IFS="$IFS_OLD" IFS="$IFS_OLD"
if [ $update_app_number -le 0 ] ; then if [ $update_app_number -le 0 ]; then
exit 0 exit 0
fi fi
update_transhell update_transhell
## 如果都是hold或者版本一致的那就直接退出否则把剩余的给提醒了 # 如果都是hold或者版本一致的那就直接退出否则把剩余的给提醒了
# TODO: 除了apt-mark hold之外额外有一个禁止检查列表
##TODO:除了apt-mark hold之外额外有一个禁止检查列表 # 如果不想提示就不提示
## 如果不想提示就不提示
user=$(who | awk '{print $1}' | head -n 1) user=$(who | awk '{print $1}' | head -n 1)
if [ -e "/home/$user/.config/spark-union/spark-store/ssshell-config-do-not-show-upgrade-notify" ];then if [ -e "/home/$user/.config/spark-union/spark-store/ssshell-config-do-not-show-upgrade-notify" ]; then
echo "他不想站在世界之巅,好吧" echo "他不想站在世界之巅,好吧"
echo "Okay he don't want to be at the top of the world, okay" echo "Okay he don't want to be at the top of the world, okay"
exit exit
else else
notify-send -a spark-store "${TRANSHELL_CONTENT_SPARK_STORE_UPGRADE_NOTIFY}" "${TRANSHELL_CONTENT_THERE_ARE_APPS_TO_UPGRADE}" notify-send -a spark-store "${TRANSHELL_CONTENT_SPARK_STORE_UPGRADE_NOTIFY}" "${TRANSHELL_CONTENT_THERE_ARE_APPS_TO_UPGRADE}" || true # Some machine don't have bus, or who command just print nothing.
fi fi

View File

@@ -127,9 +127,9 @@
<message> <message>
<location filename="../src/pages/appintopage.ui" line="244"/> <location filename="../src/pages/appintopage.ui" line="244"/>
<location filename="../src/pages/appintopage.cpp" line="198"/> <location filename="../src/pages/appintopage.cpp" line="198"/>
<location filename="../src/pages/appintopage.cpp" line="336"/> <location filename="../src/pages/appintopage.cpp" line="338"/>
<location filename="../src/pages/appintopage.cpp" line="370"/> <location filename="../src/pages/appintopage.cpp" line="372"/>
<location filename="../src/pages/appintopage.cpp" line="533"/> <location filename="../src/pages/appintopage.cpp" line="541"/>
<source>Download and Install</source> <source>Download and Install</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
@@ -187,8 +187,8 @@
</message> </message>
<message> <message>
<location filename="../src/pages/appintopage.cpp" line="183"/> <location filename="../src/pages/appintopage.cpp" line="183"/>
<location filename="../src/pages/appintopage.cpp" line="363"/> <location filename="../src/pages/appintopage.cpp" line="365"/>
<location filename="../src/pages/appintopage.cpp" line="505"/> <location filename="../src/pages/appintopage.cpp" line="510"/>
<source>Reinstall</source> <source>Reinstall</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
@@ -198,57 +198,57 @@
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../src/pages/appintopage.cpp" line="341"/> <location filename="../src/pages/appintopage.cpp" line="343"/>
<location filename="../src/pages/appintopage.cpp" line="481"/> <location filename="../src/pages/appintopage.cpp" line="483"/>
<source>Install</source> <source>Install</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../src/pages/appintopage.cpp" line="346"/> <location filename="../src/pages/appintopage.cpp" line="348"/>
<source>Installing</source> <source>Installing</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../src/pages/appintopage.cpp" line="460"/> <location filename="../src/pages/appintopage.cpp" line="462"/>
<location filename="../src/pages/appintopage.cpp" line="464"/> <location filename="../src/pages/appintopage.cpp" line="466"/>
<location filename="../src/pages/appintopage.cpp" line="468"/> <location filename="../src/pages/appintopage.cpp" line="470"/>
<location filename="../src/pages/appintopage.cpp" line="472"/> <location filename="../src/pages/appintopage.cpp" line="474"/>
<source>Warning</source> <source>Warning</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../src/pages/appintopage.cpp" line="460"/> <location filename="../src/pages/appintopage.cpp" line="462"/>
<source>The current application does not support or tested on deepin, there may be problems</source> <source>The current application does not support or tested on deepin, there may be problems</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../src/pages/appintopage.cpp" line="464"/> <location filename="../src/pages/appintopage.cpp" line="466"/>
<source>The current application does not support or tested on UOS, there may be problems</source> <source>The current application does not support or tested on UOS, there may be problems</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../src/pages/appintopage.cpp" line="468"/> <location filename="../src/pages/appintopage.cpp" line="470"/>
<source>The current application does not support or tested on Ubuntu, there may be problems</source> <source>The current application does not support or tested on Ubuntu, there may be problems</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../src/pages/appintopage.cpp" line="472"/> <location filename="../src/pages/appintopage.cpp" line="474"/>
<source>The current application does not support or tested on current platform, there may be problems</source> <source>The current application does not support or tested on current platform, there may be problems</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../src/pages/appintopage.cpp" line="536"/> <location filename="../src/pages/appintopage.cpp" line="544"/>
<location filename="../src/pages/appintopage.cpp" line="551"/> <location filename="../src/pages/appintopage.cpp" line="559"/>
<source>Spark Store</source> <source>Spark Store</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../src/pages/appintopage.cpp" line="536"/> <location filename="../src/pages/appintopage.cpp" line="544"/>
<source>Uninstall succeeded</source> <source>Uninstall succeeded</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../src/pages/appintopage.cpp" line="551"/> <location filename="../src/pages/appintopage.cpp" line="559"/>
<source>The URL has been copied to the clipboard</source> <source>The URL has been copied to the clipboard</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
@@ -411,103 +411,103 @@
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../src/mainwindow-dtk.ui" line="166"/> <location filename="../src/mainwindow-dtk.ui" line="116"/>
<source>Home</source> <source>Home</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../src/mainwindow-dtk.ui" line="203"/> <location filename="../src/mainwindow-dtk.ui" line="153"/>
<source>Network</source> <source>Network</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../src/mainwindow-dtk.ui" line="231"/> <location filename="../src/mainwindow-dtk.ui" line="181"/>
<source>Chat</source> <source>Chat</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../src/mainwindow-dtk.ui" line="259"/> <location filename="../src/mainwindow-dtk.ui" line="209"/>
<source>Music</source> <source>Music</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../src/mainwindow-dtk.ui" line="287"/> <location filename="../src/mainwindow-dtk.ui" line="237"/>
<source>Video</source> <source>Video</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../src/mainwindow-dtk.ui" line="315"/> <location filename="../src/mainwindow-dtk.ui" line="265"/>
<source>Picture</source> <source>Picture</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../src/mainwindow-dtk.ui" line="343"/> <location filename="../src/mainwindow-dtk.ui" line="293"/>
<source>Game</source> <source>Game</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../src/mainwindow-dtk.ui" line="371"/> <location filename="../src/mainwindow-dtk.ui" line="321"/>
<source>Office</source> <source>Office</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../src/mainwindow-dtk.ui" line="399"/> <location filename="../src/mainwindow-dtk.ui" line="349"/>
<source>Reading</source> <source>Reading</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../src/mainwindow-dtk.ui" line="427"/> <location filename="../src/mainwindow-dtk.ui" line="377"/>
<source>Development</source> <source>Development</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../src/mainwindow-dtk.ui" line="455"/> <location filename="../src/mainwindow-dtk.ui" line="405"/>
<source>Tool</source> <source>Tool</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../src/mainwindow-dtk.ui" line="483"/> <location filename="../src/mainwindow-dtk.ui" line="433"/>
<source>Theme</source> <source>Theme</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../src/mainwindow-dtk.ui" line="511"/> <location filename="../src/mainwindow-dtk.ui" line="461"/>
<source>Other</source> <source>Other</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../src/mainwindow-dtk.ui" line="539"/> <location filename="../src/mainwindow-dtk.ui" line="489"/>
<source>APP Upgrade</source> <source>APP Upgrade</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../src/mainwindow-dtk.cpp" line="206"/> <location filename="../src/mainwindow-dtk.cpp" line="217"/>
<source>Submit App</source> <source>Submit App</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../src/mainwindow-dtk.cpp" line="207"/> <location filename="../src/mainwindow-dtk.cpp" line="218"/>
<source>Submit App with client(Recommanded)</source> <source>Submit App with client(Recommanded)</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../src/mainwindow-dtk.cpp" line="208"/> <location filename="../src/mainwindow-dtk.cpp" line="219"/>
<source>Settings</source> <source>Settings</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../src/mainwindow-dtk.cpp" line="209"/> <location filename="../src/mainwindow-dtk.cpp" line="220"/>
<source>APP Upgrade and Install Settings</source> <source>APP Upgrade and Install Settings</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../src/mainwindow-dtk.cpp" line="163"/> <location filename="../src/mainwindow-dtk.cpp" line="171"/>
<location filename="../src/mainwindow-dtk.cpp" line="260"/> <location filename="../src/mainwindow-dtk.cpp" line="271"/>
<source>Spark Store</source> <source>Spark Store</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../src/mainwindow-dtk.cpp" line="168"/> <location filename="../src/mainwindow-dtk.cpp" line="176"/>
<source>Search or enter spk://</source> <source>Search or enter spk://</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
@@ -517,7 +517,7 @@
<message> <message>
<location filename="../src/application.cpp" line="36"/> <location filename="../src/application.cpp" line="36"/>
<location filename="../src/application.cpp" line="37"/> <location filename="../src/application.cpp" line="37"/>
<location filename="../src/mainwindow-dtk.cpp" line="142"/> <location filename="../src/mainwindow-dtk.cpp" line="149"/>
<source>Spark Store</source> <source>Spark Store</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
@@ -537,7 +537,7 @@
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../src/mainwindow-dtk.cpp" line="263"/> <location filename="../src/mainwindow-dtk.cpp" line="274"/>
<source>Show MainWindow</source> <source>Show MainWindow</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
@@ -658,12 +658,12 @@
<context> <context>
<name>TitleBarMenu</name> <name>TitleBarMenu</name>
<message> <message>
<location filename="../src/mainwindow-dtk.cpp" line="264"/> <location filename="../src/mainwindow-dtk.cpp" line="275"/>
<source>About</source> <source>About</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../src/mainwindow-dtk.cpp" line="265"/> <location filename="../src/mainwindow-dtk.cpp" line="276"/>
<source>Exit</source> <source>Exit</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>

View File

@@ -127,9 +127,9 @@
<message> <message>
<location filename="../src/pages/appintopage.ui" line="244"/> <location filename="../src/pages/appintopage.ui" line="244"/>
<location filename="../src/pages/appintopage.cpp" line="198"/> <location filename="../src/pages/appintopage.cpp" line="198"/>
<location filename="../src/pages/appintopage.cpp" line="336"/> <location filename="../src/pages/appintopage.cpp" line="338"/>
<location filename="../src/pages/appintopage.cpp" line="370"/> <location filename="../src/pages/appintopage.cpp" line="372"/>
<location filename="../src/pages/appintopage.cpp" line="533"/> <location filename="../src/pages/appintopage.cpp" line="541"/>
<source>Download and Install</source> <source>Download and Install</source>
<translation>Descargar e instalar</translation> <translation>Descargar e instalar</translation>
</message> </message>
@@ -187,8 +187,8 @@
</message> </message>
<message> <message>
<location filename="../src/pages/appintopage.cpp" line="183"/> <location filename="../src/pages/appintopage.cpp" line="183"/>
<location filename="../src/pages/appintopage.cpp" line="363"/> <location filename="../src/pages/appintopage.cpp" line="365"/>
<location filename="../src/pages/appintopage.cpp" line="505"/> <location filename="../src/pages/appintopage.cpp" line="510"/>
<source>Reinstall</source> <source>Reinstall</source>
<translation>Reinstalación</translation> <translation>Reinstalación</translation>
</message> </message>
@@ -198,57 +198,57 @@
<translation>Actualización</translation> <translation>Actualización</translation>
</message> </message>
<message> <message>
<location filename="../src/pages/appintopage.cpp" line="341"/> <location filename="../src/pages/appintopage.cpp" line="343"/>
<location filename="../src/pages/appintopage.cpp" line="481"/> <location filename="../src/pages/appintopage.cpp" line="483"/>
<source>Install</source> <source>Install</source>
<translation>Instalación</translation> <translation>Instalación</translation>
</message> </message>
<message> <message>
<location filename="../src/pages/appintopage.cpp" line="346"/> <location filename="../src/pages/appintopage.cpp" line="348"/>
<source>Installing</source> <source>Installing</source>
<translation>Se está instalando</translation> <translation>Se está instalando</translation>
</message> </message>
<message> <message>
<location filename="../src/pages/appintopage.cpp" line="460"/> <location filename="../src/pages/appintopage.cpp" line="462"/>
<location filename="../src/pages/appintopage.cpp" line="464"/> <location filename="../src/pages/appintopage.cpp" line="466"/>
<location filename="../src/pages/appintopage.cpp" line="468"/> <location filename="../src/pages/appintopage.cpp" line="470"/>
<location filename="../src/pages/appintopage.cpp" line="472"/> <location filename="../src/pages/appintopage.cpp" line="474"/>
<source>Warning</source> <source>Warning</source>
<translation>Aviso</translation> <translation>Aviso</translation>
</message> </message>
<message> <message>
<location filename="../src/pages/appintopage.cpp" line="460"/> <location filename="../src/pages/appintopage.cpp" line="462"/>
<source>The current application does not support or tested on deepin, there may be problems</source> <source>The current application does not support or tested on deepin, there may be problems</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../src/pages/appintopage.cpp" line="464"/> <location filename="../src/pages/appintopage.cpp" line="466"/>
<source>The current application does not support or tested on UOS, there may be problems</source> <source>The current application does not support or tested on UOS, there may be problems</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../src/pages/appintopage.cpp" line="468"/> <location filename="../src/pages/appintopage.cpp" line="470"/>
<source>The current application does not support or tested on Ubuntu, there may be problems</source> <source>The current application does not support or tested on Ubuntu, there may be problems</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../src/pages/appintopage.cpp" line="472"/> <location filename="../src/pages/appintopage.cpp" line="474"/>
<source>The current application does not support or tested on current platform, there may be problems</source> <source>The current application does not support or tested on current platform, there may be problems</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../src/pages/appintopage.cpp" line="536"/> <location filename="../src/pages/appintopage.cpp" line="544"/>
<location filename="../src/pages/appintopage.cpp" line="551"/> <location filename="../src/pages/appintopage.cpp" line="559"/>
<source>Spark Store</source> <source>Spark Store</source>
<translation>SPARK Store</translation> <translation>SPARK Store</translation>
</message> </message>
<message> <message>
<location filename="../src/pages/appintopage.cpp" line="536"/> <location filename="../src/pages/appintopage.cpp" line="544"/>
<source>Uninstall succeeded</source> <source>Uninstall succeeded</source>
<translation>Desinstalación exitosa</translation> <translation>Desinstalación exitosa</translation>
</message> </message>
<message> <message>
<location filename="../src/pages/appintopage.cpp" line="551"/> <location filename="../src/pages/appintopage.cpp" line="559"/>
<source>The URL has been copied to the clipboard</source> <source>The URL has been copied to the clipboard</source>
<translation>La URL ha sido copiada al portapapeles</translation> <translation>La URL ha sido copiada al portapapeles</translation>
</message> </message>
@@ -411,103 +411,103 @@
<translation>Ventana principal</translation> <translation>Ventana principal</translation>
</message> </message>
<message> <message>
<location filename="../src/mainwindow-dtk.ui" line="166"/> <location filename="../src/mainwindow-dtk.ui" line="116"/>
<source>Home</source> <source>Home</source>
<translation>Casa</translation> <translation>Casa</translation>
</message> </message>
<message> <message>
<location filename="../src/mainwindow-dtk.ui" line="203"/> <location filename="../src/mainwindow-dtk.ui" line="153"/>
<source>Network</source> <source>Network</source>
<translation>Red</translation> <translation>Red</translation>
</message> </message>
<message> <message>
<location filename="../src/mainwindow-dtk.ui" line="231"/> <location filename="../src/mainwindow-dtk.ui" line="181"/>
<source>Chat</source> <source>Chat</source>
<translation>Charla</translation> <translation>Charla</translation>
</message> </message>
<message> <message>
<location filename="../src/mainwindow-dtk.ui" line="259"/> <location filename="../src/mainwindow-dtk.ui" line="209"/>
<source>Music</source> <source>Music</source>
<translation>Música</translation> <translation>Música</translation>
</message> </message>
<message> <message>
<location filename="../src/mainwindow-dtk.ui" line="287"/> <location filename="../src/mainwindow-dtk.ui" line="237"/>
<source>Video</source> <source>Video</source>
<translation>Vídeo</translation> <translation>Vídeo</translation>
</message> </message>
<message> <message>
<location filename="../src/mainwindow-dtk.ui" line="315"/> <location filename="../src/mainwindow-dtk.ui" line="265"/>
<source>Picture</source> <source>Picture</source>
<translation>Foto</translation> <translation>Foto</translation>
</message> </message>
<message> <message>
<location filename="../src/mainwindow-dtk.ui" line="343"/> <location filename="../src/mainwindow-dtk.ui" line="293"/>
<source>Game</source> <source>Game</source>
<translation>Juego</translation> <translation>Juego</translation>
</message> </message>
<message> <message>
<location filename="../src/mainwindow-dtk.ui" line="371"/> <location filename="../src/mainwindow-dtk.ui" line="321"/>
<source>Office</source> <source>Office</source>
<translation>Oficina</translation> <translation>Oficina</translation>
</message> </message>
<message> <message>
<location filename="../src/mainwindow-dtk.ui" line="399"/> <location filename="../src/mainwindow-dtk.ui" line="349"/>
<source>Reading</source> <source>Reading</source>
<translation>Leer</translation> <translation>Leer</translation>
</message> </message>
<message> <message>
<location filename="../src/mainwindow-dtk.ui" line="427"/> <location filename="../src/mainwindow-dtk.ui" line="377"/>
<source>Development</source> <source>Development</source>
<translation>Desarrollo</translation> <translation>Desarrollo</translation>
</message> </message>
<message> <message>
<location filename="../src/mainwindow-dtk.ui" line="455"/> <location filename="../src/mainwindow-dtk.ui" line="405"/>
<source>Tool</source> <source>Tool</source>
<translation>Herramientas</translation> <translation>Herramientas</translation>
</message> </message>
<message> <message>
<location filename="../src/mainwindow-dtk.ui" line="483"/> <location filename="../src/mainwindow-dtk.ui" line="433"/>
<source>Theme</source> <source>Theme</source>
<translation>Tema</translation> <translation>Tema</translation>
</message> </message>
<message> <message>
<location filename="../src/mainwindow-dtk.ui" line="511"/> <location filename="../src/mainwindow-dtk.ui" line="461"/>
<source>Other</source> <source>Other</source>
<translation>Además</translation> <translation>Además</translation>
</message> </message>
<message> <message>
<location filename="../src/mainwindow-dtk.ui" line="539"/> <location filename="../src/mainwindow-dtk.ui" line="489"/>
<source>APP Upgrade</source> <source>APP Upgrade</source>
<translation>Actualización de app</translation> <translation>Actualización de app</translation>
</message> </message>
<message> <message>
<location filename="../src/mainwindow-dtk.cpp" line="206"/> <location filename="../src/mainwindow-dtk.cpp" line="217"/>
<source>Submit App</source> <source>Submit App</source>
<translation>Presentación de la aplicación</translation> <translation>Presentación de la aplicación</translation>
</message> </message>
<message> <message>
<location filename="../src/mainwindow-dtk.cpp" line="207"/> <location filename="../src/mainwindow-dtk.cpp" line="218"/>
<source>Submit App with client(Recommanded)</source> <source>Submit App with client(Recommanded)</source>
<translation>Enviar la aplicación al cliente (recomendación)</translation> <translation>Enviar la aplicación al cliente (recomendación)</translation>
</message> </message>
<message> <message>
<location filename="../src/mainwindow-dtk.cpp" line="208"/> <location filename="../src/mainwindow-dtk.cpp" line="219"/>
<source>Settings</source> <source>Settings</source>
<translation>Configuración</translation> <translation>Configuración</translation>
</message> </message>
<message> <message>
<location filename="../src/mainwindow-dtk.cpp" line="209"/> <location filename="../src/mainwindow-dtk.cpp" line="220"/>
<source>APP Upgrade and Install Settings</source> <source>APP Upgrade and Install Settings</source>
<translation>Actualización e instalación de app</translation> <translation>Actualización e instalación de app</translation>
</message> </message>
<message> <message>
<location filename="../src/mainwindow-dtk.cpp" line="163"/> <location filename="../src/mainwindow-dtk.cpp" line="171"/>
<location filename="../src/mainwindow-dtk.cpp" line="260"/> <location filename="../src/mainwindow-dtk.cpp" line="271"/>
<source>Spark Store</source> <source>Spark Store</source>
<translation>SPARK Store</translation> <translation>SPARK Store</translation>
</message> </message>
<message> <message>
<location filename="../src/mainwindow-dtk.cpp" line="168"/> <location filename="../src/mainwindow-dtk.cpp" line="176"/>
<source>Search or enter spk://</source> <source>Search or enter spk://</source>
<translation>Buscar o introducir spk: /%</translation> <translation>Buscar o introducir spk: /%</translation>
</message> </message>
@@ -517,7 +517,7 @@
<message> <message>
<location filename="../src/application.cpp" line="36"/> <location filename="../src/application.cpp" line="36"/>
<location filename="../src/application.cpp" line="37"/> <location filename="../src/application.cpp" line="37"/>
<location filename="../src/mainwindow-dtk.cpp" line="142"/> <location filename="../src/mainwindow-dtk.cpp" line="149"/>
<source>Spark Store</source> <source>Spark Store</source>
<translation>SPARK Store</translation> <translation>SPARK Store</translation>
</message> </message>
@@ -537,7 +537,7 @@
<translation>Descargar lista</translation> <translation>Descargar lista</translation>
</message> </message>
<message> <message>
<location filename="../src/mainwindow-dtk.cpp" line="263"/> <location filename="../src/mainwindow-dtk.cpp" line="274"/>
<source>Show MainWindow</source> <source>Show MainWindow</source>
<translation>Mostrar la ventana principal</translation> <translation>Mostrar la ventana principal</translation>
</message> </message>
@@ -658,12 +658,12 @@
<context> <context>
<name>TitleBarMenu</name> <name>TitleBarMenu</name>
<message> <message>
<location filename="../src/mainwindow-dtk.cpp" line="264"/> <location filename="../src/mainwindow-dtk.cpp" line="275"/>
<source>About</source> <source>About</source>
<translation>Sobre</translation> <translation>Sobre</translation>
</message> </message>
<message> <message>
<location filename="../src/mainwindow-dtk.cpp" line="265"/> <location filename="../src/mainwindow-dtk.cpp" line="276"/>
<source>Exit</source> <source>Exit</source>
<translation>Exportaciones</translation> <translation>Exportaciones</translation>
</message> </message>

View File

@@ -127,9 +127,9 @@
<message> <message>
<location filename="../src/pages/appintopage.ui" line="244"/> <location filename="../src/pages/appintopage.ui" line="244"/>
<location filename="../src/pages/appintopage.cpp" line="198"/> <location filename="../src/pages/appintopage.cpp" line="198"/>
<location filename="../src/pages/appintopage.cpp" line="336"/> <location filename="../src/pages/appintopage.cpp" line="338"/>
<location filename="../src/pages/appintopage.cpp" line="370"/> <location filename="../src/pages/appintopage.cpp" line="372"/>
<location filename="../src/pages/appintopage.cpp" line="533"/> <location filename="../src/pages/appintopage.cpp" line="541"/>
<source>Download and Install</source> <source>Download and Install</source>
<translation>Télécharger et installer</translation> <translation>Télécharger et installer</translation>
</message> </message>
@@ -187,8 +187,8 @@
</message> </message>
<message> <message>
<location filename="../src/pages/appintopage.cpp" line="183"/> <location filename="../src/pages/appintopage.cpp" line="183"/>
<location filename="../src/pages/appintopage.cpp" line="363"/> <location filename="../src/pages/appintopage.cpp" line="365"/>
<location filename="../src/pages/appintopage.cpp" line="505"/> <location filename="../src/pages/appintopage.cpp" line="510"/>
<source>Reinstall</source> <source>Reinstall</source>
<translation>Réinstaller</translation> <translation>Réinstaller</translation>
</message> </message>
@@ -198,57 +198,57 @@
<translation>Mise à niveau</translation> <translation>Mise à niveau</translation>
</message> </message>
<message> <message>
<location filename="../src/pages/appintopage.cpp" line="341"/> <location filename="../src/pages/appintopage.cpp" line="343"/>
<location filename="../src/pages/appintopage.cpp" line="481"/> <location filename="../src/pages/appintopage.cpp" line="483"/>
<source>Install</source> <source>Install</source>
<translation>Installation</translation> <translation>Installation</translation>
</message> </message>
<message> <message>
<location filename="../src/pages/appintopage.cpp" line="346"/> <location filename="../src/pages/appintopage.cpp" line="348"/>
<source>Installing</source> <source>Installing</source>
<translation>Installation en cours</translation> <translation>Installation en cours</translation>
</message> </message>
<message> <message>
<location filename="../src/pages/appintopage.cpp" line="460"/> <location filename="../src/pages/appintopage.cpp" line="462"/>
<location filename="../src/pages/appintopage.cpp" line="464"/> <location filename="../src/pages/appintopage.cpp" line="466"/>
<location filename="../src/pages/appintopage.cpp" line="468"/> <location filename="../src/pages/appintopage.cpp" line="470"/>
<location filename="../src/pages/appintopage.cpp" line="472"/> <location filename="../src/pages/appintopage.cpp" line="474"/>
<source>Warning</source> <source>Warning</source>
<translation>Avertissement</translation> <translation>Avertissement</translation>
</message> </message>
<message> <message>
<location filename="../src/pages/appintopage.cpp" line="460"/> <location filename="../src/pages/appintopage.cpp" line="462"/>
<source>The current application does not support or tested on deepin, there may be problems</source> <source>The current application does not support or tested on deepin, there may be problems</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../src/pages/appintopage.cpp" line="464"/> <location filename="../src/pages/appintopage.cpp" line="466"/>
<source>The current application does not support or tested on UOS, there may be problems</source> <source>The current application does not support or tested on UOS, there may be problems</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../src/pages/appintopage.cpp" line="468"/> <location filename="../src/pages/appintopage.cpp" line="470"/>
<source>The current application does not support or tested on Ubuntu, there may be problems</source> <source>The current application does not support or tested on Ubuntu, there may be problems</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../src/pages/appintopage.cpp" line="472"/> <location filename="../src/pages/appintopage.cpp" line="474"/>
<source>The current application does not support or tested on current platform, there may be problems</source> <source>The current application does not support or tested on current platform, there may be problems</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../src/pages/appintopage.cpp" line="536"/> <location filename="../src/pages/appintopage.cpp" line="544"/>
<location filename="../src/pages/appintopage.cpp" line="551"/> <location filename="../src/pages/appintopage.cpp" line="559"/>
<source>Spark Store</source> <source>Spark Store</source>
<translation>Le Spark store</translation> <translation>Le Spark store</translation>
</message> </message>
<message> <message>
<location filename="../src/pages/appintopage.cpp" line="536"/> <location filename="../src/pages/appintopage.cpp" line="544"/>
<source>Uninstall succeeded</source> <source>Uninstall succeeded</source>
<translation>Désinstallation réussie</translation> <translation>Désinstallation réussie</translation>
</message> </message>
<message> <message>
<location filename="../src/pages/appintopage.cpp" line="551"/> <location filename="../src/pages/appintopage.cpp" line="559"/>
<source>The URL has been copied to the clipboard</source> <source>The URL has been copied to the clipboard</source>
<translation>L&apos;URL a é copiée dans le presse - papiers</translation> <translation>L&apos;URL a é copiée dans le presse - papiers</translation>
</message> </message>
@@ -411,103 +411,103 @@
<translation>Fenêtre principale</translation> <translation>Fenêtre principale</translation>
</message> </message>
<message> <message>
<location filename="../src/mainwindow-dtk.ui" line="166"/> <location filename="../src/mainwindow-dtk.ui" line="116"/>
<source>Home</source> <source>Home</source>
<translation>Maison</translation> <translation>Maison</translation>
</message> </message>
<message> <message>
<location filename="../src/mainwindow-dtk.ui" line="203"/> <location filename="../src/mainwindow-dtk.ui" line="153"/>
<source>Network</source> <source>Network</source>
<translation>Réseau</translation> <translation>Réseau</translation>
</message> </message>
<message> <message>
<location filename="../src/mainwindow-dtk.ui" line="231"/> <location filename="../src/mainwindow-dtk.ui" line="181"/>
<source>Chat</source> <source>Chat</source>
<translation>Bavarder</translation> <translation>Bavarder</translation>
</message> </message>
<message> <message>
<location filename="../src/mainwindow-dtk.ui" line="259"/> <location filename="../src/mainwindow-dtk.ui" line="209"/>
<source>Music</source> <source>Music</source>
<translation>Musique</translation> <translation>Musique</translation>
</message> </message>
<message> <message>
<location filename="../src/mainwindow-dtk.ui" line="287"/> <location filename="../src/mainwindow-dtk.ui" line="237"/>
<source>Video</source> <source>Video</source>
<translation>Vidéo</translation> <translation>Vidéo</translation>
</message> </message>
<message> <message>
<location filename="../src/mainwindow-dtk.ui" line="315"/> <location filename="../src/mainwindow-dtk.ui" line="265"/>
<source>Picture</source> <source>Picture</source>
<translation>Photos</translation> <translation>Photos</translation>
</message> </message>
<message> <message>
<location filename="../src/mainwindow-dtk.ui" line="343"/> <location filename="../src/mainwindow-dtk.ui" line="293"/>
<source>Game</source> <source>Game</source>
<translation>Jeux</translation> <translation>Jeux</translation>
</message> </message>
<message> <message>
<location filename="../src/mainwindow-dtk.ui" line="371"/> <location filename="../src/mainwindow-dtk.ui" line="321"/>
<source>Office</source> <source>Office</source>
<translation>Bureaux</translation> <translation>Bureaux</translation>
</message> </message>
<message> <message>
<location filename="../src/mainwindow-dtk.ui" line="399"/> <location filename="../src/mainwindow-dtk.ui" line="349"/>
<source>Reading</source> <source>Reading</source>
<translation>Lire</translation> <translation>Lire</translation>
</message> </message>
<message> <message>
<location filename="../src/mainwindow-dtk.ui" line="427"/> <location filename="../src/mainwindow-dtk.ui" line="377"/>
<source>Development</source> <source>Development</source>
<translation>Développement</translation> <translation>Développement</translation>
</message> </message>
<message> <message>
<location filename="../src/mainwindow-dtk.ui" line="455"/> <location filename="../src/mainwindow-dtk.ui" line="405"/>
<source>Tool</source> <source>Tool</source>
<translation>Outils</translation> <translation>Outils</translation>
</message> </message>
<message> <message>
<location filename="../src/mainwindow-dtk.ui" line="483"/> <location filename="../src/mainwindow-dtk.ui" line="433"/>
<source>Theme</source> <source>Theme</source>
<translation>Thèmes</translation> <translation>Thèmes</translation>
</message> </message>
<message> <message>
<location filename="../src/mainwindow-dtk.ui" line="511"/> <location filename="../src/mainwindow-dtk.ui" line="461"/>
<source>Other</source> <source>Other</source>
<translation>En outre</translation> <translation>En outre</translation>
</message> </message>
<message> <message>
<location filename="../src/mainwindow-dtk.ui" line="539"/> <location filename="../src/mainwindow-dtk.ui" line="489"/>
<source>APP Upgrade</source> <source>APP Upgrade</source>
<translation>Mise à niveau app</translation> <translation>Mise à niveau app</translation>
</message> </message>
<message> <message>
<location filename="../src/mainwindow-dtk.cpp" line="206"/> <location filename="../src/mainwindow-dtk.cpp" line="217"/>
<source>Submit App</source> <source>Submit App</source>
<translation>Soumettre une application</translation> <translation>Soumettre une application</translation>
</message> </message>
<message> <message>
<location filename="../src/mainwindow-dtk.cpp" line="207"/> <location filename="../src/mainwindow-dtk.cpp" line="218"/>
<source>Submit App with client(Recommanded)</source> <source>Submit App with client(Recommanded)</source>
<translation>Soumettre une demande au client (recommandé)</translation> <translation>Soumettre une demande au client (recommandé)</translation>
</message> </message>
<message> <message>
<location filename="../src/mainwindow-dtk.cpp" line="208"/> <location filename="../src/mainwindow-dtk.cpp" line="219"/>
<source>Settings</source> <source>Settings</source>
<translation>Paramètres</translation> <translation>Paramètres</translation>
</message> </message>
<message> <message>
<location filename="../src/mainwindow-dtk.cpp" line="209"/> <location filename="../src/mainwindow-dtk.cpp" line="220"/>
<source>APP Upgrade and Install Settings</source> <source>APP Upgrade and Install Settings</source>
<translation>Paramètres de mise à niveau et d&apos;installation de l&apos;app</translation> <translation>Paramètres de mise à niveau et d&apos;installation de l&apos;app</translation>
</message> </message>
<message> <message>
<location filename="../src/mainwindow-dtk.cpp" line="163"/> <location filename="../src/mainwindow-dtk.cpp" line="171"/>
<location filename="../src/mainwindow-dtk.cpp" line="260"/> <location filename="../src/mainwindow-dtk.cpp" line="271"/>
<source>Spark Store</source> <source>Spark Store</source>
<translation>Le Spark store</translation> <translation>Le Spark store</translation>
</message> </message>
<message> <message>
<location filename="../src/mainwindow-dtk.cpp" line="168"/> <location filename="../src/mainwindow-dtk.cpp" line="176"/>
<source>Search or enter spk://</source> <source>Search or enter spk://</source>
<translation>Rechercher ou entrer SPK /</translation> <translation>Rechercher ou entrer SPK /</translation>
</message> </message>
@@ -517,7 +517,7 @@
<message> <message>
<location filename="../src/application.cpp" line="36"/> <location filename="../src/application.cpp" line="36"/>
<location filename="../src/application.cpp" line="37"/> <location filename="../src/application.cpp" line="37"/>
<location filename="../src/mainwindow-dtk.cpp" line="142"/> <location filename="../src/mainwindow-dtk.cpp" line="149"/>
<source>Spark Store</source> <source>Spark Store</source>
<translation>Le Spark store</translation> <translation>Le Spark store</translation>
</message> </message>
@@ -537,7 +537,7 @@
<translation>Télécharger la Liste</translation> <translation>Télécharger la Liste</translation>
</message> </message>
<message> <message>
<location filename="../src/mainwindow-dtk.cpp" line="263"/> <location filename="../src/mainwindow-dtk.cpp" line="274"/>
<source>Show MainWindow</source> <source>Show MainWindow</source>
<translation>Afficher la fenêtre principale</translation> <translation>Afficher la fenêtre principale</translation>
</message> </message>
@@ -658,12 +658,12 @@
<context> <context>
<name>TitleBarMenu</name> <name>TitleBarMenu</name>
<message> <message>
<location filename="../src/mainwindow-dtk.cpp" line="264"/> <location filename="../src/mainwindow-dtk.cpp" line="275"/>
<source>About</source> <source>About</source>
<translation>À propos</translation> <translation>À propos</translation>
</message> </message>
<message> <message>
<location filename="../src/mainwindow-dtk.cpp" line="265"/> <location filename="../src/mainwindow-dtk.cpp" line="276"/>
<source>Exit</source> <source>Exit</source>
<translation>Exportations</translation> <translation>Exportations</translation>
</message> </message>

View File

@@ -122,9 +122,9 @@
<message> <message>
<location filename="../src/pages/appintopage.ui" line="244"/> <location filename="../src/pages/appintopage.ui" line="244"/>
<location filename="../src/pages/appintopage.cpp" line="198"/> <location filename="../src/pages/appintopage.cpp" line="198"/>
<location filename="../src/pages/appintopage.cpp" line="336"/> <location filename="../src/pages/appintopage.cpp" line="338"/>
<location filename="../src/pages/appintopage.cpp" line="370"/> <location filename="../src/pages/appintopage.cpp" line="372"/>
<location filename="../src/pages/appintopage.cpp" line="533"/> <location filename="../src/pages/appintopage.cpp" line="541"/>
<source>Download and Install</source> <source>Download and Install</source>
<translation></translation> <translation></translation>
</message> </message>
@@ -187,8 +187,8 @@
</message> </message>
<message> <message>
<location filename="../src/pages/appintopage.cpp" line="183"/> <location filename="../src/pages/appintopage.cpp" line="183"/>
<location filename="../src/pages/appintopage.cpp" line="363"/> <location filename="../src/pages/appintopage.cpp" line="365"/>
<location filename="../src/pages/appintopage.cpp" line="505"/> <location filename="../src/pages/appintopage.cpp" line="510"/>
<source>Reinstall</source> <source>Reinstall</source>
<translation></translation> <translation></translation>
</message> </message>
@@ -198,57 +198,57 @@
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../src/pages/appintopage.cpp" line="341"/> <location filename="../src/pages/appintopage.cpp" line="343"/>
<location filename="../src/pages/appintopage.cpp" line="481"/> <location filename="../src/pages/appintopage.cpp" line="483"/>
<source>Install</source> <source>Install</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../src/pages/appintopage.cpp" line="346"/> <location filename="../src/pages/appintopage.cpp" line="348"/>
<source>Installing</source> <source>Installing</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../src/pages/appintopage.cpp" line="460"/> <location filename="../src/pages/appintopage.cpp" line="462"/>
<location filename="../src/pages/appintopage.cpp" line="464"/> <location filename="../src/pages/appintopage.cpp" line="466"/>
<location filename="../src/pages/appintopage.cpp" line="468"/> <location filename="../src/pages/appintopage.cpp" line="470"/>
<location filename="../src/pages/appintopage.cpp" line="472"/> <location filename="../src/pages/appintopage.cpp" line="474"/>
<source>Warning</source> <source>Warning</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../src/pages/appintopage.cpp" line="460"/> <location filename="../src/pages/appintopage.cpp" line="462"/>
<source>The current application does not support or tested on deepin, there may be problems</source> <source>The current application does not support or tested on deepin, there may be problems</source>
<translation>deepin上测试过</translation> <translation>deepin上测试过</translation>
</message> </message>
<message> <message>
<location filename="../src/pages/appintopage.cpp" line="464"/> <location filename="../src/pages/appintopage.cpp" line="466"/>
<source>The current application does not support or tested on UOS, there may be problems</source> <source>The current application does not support or tested on UOS, there may be problems</source>
<translation>UOS上测试过</translation> <translation>UOS上测试过</translation>
</message> </message>
<message> <message>
<location filename="../src/pages/appintopage.cpp" line="468"/> <location filename="../src/pages/appintopage.cpp" line="470"/>
<source>The current application does not support or tested on Ubuntu, there may be problems</source> <source>The current application does not support or tested on Ubuntu, there may be problems</source>
<translation>Ubuntu上测试过</translation> <translation>Ubuntu上测试过</translation>
</message> </message>
<message> <message>
<location filename="../src/pages/appintopage.cpp" line="472"/> <location filename="../src/pages/appintopage.cpp" line="474"/>
<source>The current application does not support or tested on current platform, there may be problems</source> <source>The current application does not support or tested on current platform, there may be problems</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../src/pages/appintopage.cpp" line="536"/> <location filename="../src/pages/appintopage.cpp" line="544"/>
<location filename="../src/pages/appintopage.cpp" line="551"/> <location filename="../src/pages/appintopage.cpp" line="559"/>
<source>Spark Store</source> <source>Spark Store</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../src/pages/appintopage.cpp" line="536"/> <location filename="../src/pages/appintopage.cpp" line="544"/>
<source>Uninstall succeeded</source> <source>Uninstall succeeded</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../src/pages/appintopage.cpp" line="551"/> <location filename="../src/pages/appintopage.cpp" line="559"/>
<source>The URL has been copied to the clipboard</source> <source>The URL has been copied to the clipboard</source>
<translation></translation> <translation></translation>
</message> </message>
@@ -411,103 +411,103 @@
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../src/mainwindow-dtk.ui" line="166"/> <location filename="../src/mainwindow-dtk.ui" line="116"/>
<source>Home</source> <source>Home</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../src/mainwindow-dtk.ui" line="203"/> <location filename="../src/mainwindow-dtk.ui" line="153"/>
<source>Network</source> <source>Network</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../src/mainwindow-dtk.ui" line="231"/> <location filename="../src/mainwindow-dtk.ui" line="181"/>
<source>Chat</source> <source>Chat</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../src/mainwindow-dtk.ui" line="259"/> <location filename="../src/mainwindow-dtk.ui" line="209"/>
<source>Music</source> <source>Music</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../src/mainwindow-dtk.ui" line="287"/> <location filename="../src/mainwindow-dtk.ui" line="237"/>
<source>Video</source> <source>Video</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../src/mainwindow-dtk.ui" line="315"/> <location filename="../src/mainwindow-dtk.ui" line="265"/>
<source>Picture</source> <source>Picture</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../src/mainwindow-dtk.ui" line="343"/> <location filename="../src/mainwindow-dtk.ui" line="293"/>
<source>Game</source> <source>Game</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../src/mainwindow-dtk.ui" line="371"/> <location filename="../src/mainwindow-dtk.ui" line="321"/>
<source>Office</source> <source>Office</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../src/mainwindow-dtk.ui" line="399"/> <location filename="../src/mainwindow-dtk.ui" line="349"/>
<source>Reading</source> <source>Reading</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../src/mainwindow-dtk.ui" line="427"/> <location filename="../src/mainwindow-dtk.ui" line="377"/>
<source>Development</source> <source>Development</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../src/mainwindow-dtk.ui" line="455"/> <location filename="../src/mainwindow-dtk.ui" line="405"/>
<source>Tool</source> <source>Tool</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../src/mainwindow-dtk.ui" line="483"/> <location filename="../src/mainwindow-dtk.ui" line="433"/>
<source>Theme</source> <source>Theme</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../src/mainwindow-dtk.ui" line="511"/> <location filename="../src/mainwindow-dtk.ui" line="461"/>
<source>Other</source> <source>Other</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../src/mainwindow-dtk.ui" line="539"/> <location filename="../src/mainwindow-dtk.ui" line="489"/>
<source>APP Upgrade</source> <source>APP Upgrade</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../src/mainwindow-dtk.cpp" line="206"/> <location filename="../src/mainwindow-dtk.cpp" line="217"/>
<source>Submit App</source> <source>Submit App</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../src/mainwindow-dtk.cpp" line="207"/> <location filename="../src/mainwindow-dtk.cpp" line="218"/>
<source>Submit App with client(Recommanded)</source> <source>Submit App with client(Recommanded)</source>
<translation>使稿</translation> <translation>使稿</translation>
</message> </message>
<message> <message>
<location filename="../src/mainwindow-dtk.cpp" line="208"/> <location filename="../src/mainwindow-dtk.cpp" line="219"/>
<source>Settings</source> <source>Settings</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../src/mainwindow-dtk.cpp" line="209"/> <location filename="../src/mainwindow-dtk.cpp" line="220"/>
<source>APP Upgrade and Install Settings</source> <source>APP Upgrade and Install Settings</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../src/mainwindow-dtk.cpp" line="163"/> <location filename="../src/mainwindow-dtk.cpp" line="171"/>
<location filename="../src/mainwindow-dtk.cpp" line="260"/> <location filename="../src/mainwindow-dtk.cpp" line="271"/>
<source>Spark Store</source> <source>Spark Store</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../src/mainwindow-dtk.cpp" line="168"/> <location filename="../src/mainwindow-dtk.cpp" line="176"/>
<source>Search or enter spk://</source> <source>Search or enter spk://</source>
<translation></translation> <translation></translation>
</message> </message>
@@ -517,7 +517,7 @@
<message> <message>
<location filename="../src/application.cpp" line="36"/> <location filename="../src/application.cpp" line="36"/>
<location filename="../src/application.cpp" line="37"/> <location filename="../src/application.cpp" line="37"/>
<location filename="../src/mainwindow-dtk.cpp" line="142"/> <location filename="../src/mainwindow-dtk.cpp" line="149"/>
<source>Spark Store</source> <source>Spark Store</source>
<translation></translation> <translation></translation>
</message> </message>
@@ -537,7 +537,7 @@
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../src/mainwindow-dtk.cpp" line="263"/> <location filename="../src/mainwindow-dtk.cpp" line="274"/>
<source>Show MainWindow</source> <source>Show MainWindow</source>
<translation></translation> <translation></translation>
</message> </message>
@@ -658,12 +658,12 @@
<context> <context>
<name>TitleBarMenu</name> <name>TitleBarMenu</name>
<message> <message>
<location filename="../src/mainwindow-dtk.cpp" line="264"/> <location filename="../src/mainwindow-dtk.cpp" line="275"/>
<source>About</source> <source>About</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../src/mainwindow-dtk.cpp" line="265"/> <location filename="../src/mainwindow-dtk.cpp" line="276"/>
<source>Exit</source> <source>Exit</source>
<translation>退</translation> <translation>退</translation>
</message> </message>

View File

@@ -122,9 +122,9 @@
<message> <message>
<location filename="../src/pages/appintopage.ui" line="244"/> <location filename="../src/pages/appintopage.ui" line="244"/>
<location filename="../src/pages/appintopage.cpp" line="198"/> <location filename="../src/pages/appintopage.cpp" line="198"/>
<location filename="../src/pages/appintopage.cpp" line="336"/> <location filename="../src/pages/appintopage.cpp" line="338"/>
<location filename="../src/pages/appintopage.cpp" line="370"/> <location filename="../src/pages/appintopage.cpp" line="372"/>
<location filename="../src/pages/appintopage.cpp" line="533"/> <location filename="../src/pages/appintopage.cpp" line="541"/>
<source>Download and Install</source> <source>Download and Install</source>
<translation></translation> <translation></translation>
</message> </message>
@@ -187,8 +187,8 @@
</message> </message>
<message> <message>
<location filename="../src/pages/appintopage.cpp" line="183"/> <location filename="../src/pages/appintopage.cpp" line="183"/>
<location filename="../src/pages/appintopage.cpp" line="363"/> <location filename="../src/pages/appintopage.cpp" line="365"/>
<location filename="../src/pages/appintopage.cpp" line="505"/> <location filename="../src/pages/appintopage.cpp" line="510"/>
<source>Reinstall</source> <source>Reinstall</source>
<translation></translation> <translation></translation>
</message> </message>
@@ -198,57 +198,57 @@
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../src/pages/appintopage.cpp" line="341"/> <location filename="../src/pages/appintopage.cpp" line="343"/>
<location filename="../src/pages/appintopage.cpp" line="481"/> <location filename="../src/pages/appintopage.cpp" line="483"/>
<source>Install</source> <source>Install</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../src/pages/appintopage.cpp" line="346"/> <location filename="../src/pages/appintopage.cpp" line="348"/>
<source>Installing</source> <source>Installing</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../src/pages/appintopage.cpp" line="460"/> <location filename="../src/pages/appintopage.cpp" line="462"/>
<location filename="../src/pages/appintopage.cpp" line="464"/> <location filename="../src/pages/appintopage.cpp" line="466"/>
<location filename="../src/pages/appintopage.cpp" line="468"/> <location filename="../src/pages/appintopage.cpp" line="470"/>
<location filename="../src/pages/appintopage.cpp" line="472"/> <location filename="../src/pages/appintopage.cpp" line="474"/>
<source>Warning</source> <source>Warning</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../src/pages/appintopage.cpp" line="460"/> <location filename="../src/pages/appintopage.cpp" line="462"/>
<source>The current application does not support or tested on deepin, there may be problems</source> <source>The current application does not support or tested on deepin, there may be problems</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../src/pages/appintopage.cpp" line="464"/> <location filename="../src/pages/appintopage.cpp" line="466"/>
<source>The current application does not support or tested on UOS, there may be problems</source> <source>The current application does not support or tested on UOS, there may be problems</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../src/pages/appintopage.cpp" line="468"/> <location filename="../src/pages/appintopage.cpp" line="470"/>
<source>The current application does not support or tested on Ubuntu, there may be problems</source> <source>The current application does not support or tested on Ubuntu, there may be problems</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../src/pages/appintopage.cpp" line="472"/> <location filename="../src/pages/appintopage.cpp" line="474"/>
<source>The current application does not support or tested on current platform, there may be problems</source> <source>The current application does not support or tested on current platform, there may be problems</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../src/pages/appintopage.cpp" line="536"/> <location filename="../src/pages/appintopage.cpp" line="544"/>
<location filename="../src/pages/appintopage.cpp" line="551"/> <location filename="../src/pages/appintopage.cpp" line="559"/>
<source>Spark Store</source> <source>Spark Store</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../src/pages/appintopage.cpp" line="536"/> <location filename="../src/pages/appintopage.cpp" line="544"/>
<source>Uninstall succeeded</source> <source>Uninstall succeeded</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../src/pages/appintopage.cpp" line="551"/> <location filename="../src/pages/appintopage.cpp" line="559"/>
<source>The URL has been copied to the clipboard</source> <source>The URL has been copied to the clipboard</source>
<translation></translation> <translation></translation>
</message> </message>
@@ -411,103 +411,103 @@
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../src/mainwindow-dtk.ui" line="166"/> <location filename="../src/mainwindow-dtk.ui" line="116"/>
<source>Home</source> <source>Home</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../src/mainwindow-dtk.ui" line="203"/> <location filename="../src/mainwindow-dtk.ui" line="153"/>
<source>Network</source> <source>Network</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../src/mainwindow-dtk.ui" line="231"/> <location filename="../src/mainwindow-dtk.ui" line="181"/>
<source>Chat</source> <source>Chat</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../src/mainwindow-dtk.ui" line="259"/> <location filename="../src/mainwindow-dtk.ui" line="209"/>
<source>Music</source> <source>Music</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../src/mainwindow-dtk.ui" line="287"/> <location filename="../src/mainwindow-dtk.ui" line="237"/>
<source>Video</source> <source>Video</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../src/mainwindow-dtk.ui" line="315"/> <location filename="../src/mainwindow-dtk.ui" line="265"/>
<source>Picture</source> <source>Picture</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../src/mainwindow-dtk.ui" line="343"/> <location filename="../src/mainwindow-dtk.ui" line="293"/>
<source>Game</source> <source>Game</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../src/mainwindow-dtk.ui" line="371"/> <location filename="../src/mainwindow-dtk.ui" line="321"/>
<source>Office</source> <source>Office</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../src/mainwindow-dtk.ui" line="399"/> <location filename="../src/mainwindow-dtk.ui" line="349"/>
<source>Reading</source> <source>Reading</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../src/mainwindow-dtk.ui" line="427"/> <location filename="../src/mainwindow-dtk.ui" line="377"/>
<source>Development</source> <source>Development</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../src/mainwindow-dtk.ui" line="455"/> <location filename="../src/mainwindow-dtk.ui" line="405"/>
<source>Tool</source> <source>Tool</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../src/mainwindow-dtk.ui" line="483"/> <location filename="../src/mainwindow-dtk.ui" line="433"/>
<source>Theme</source> <source>Theme</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../src/mainwindow-dtk.ui" line="511"/> <location filename="../src/mainwindow-dtk.ui" line="461"/>
<source>Other</source> <source>Other</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../src/mainwindow-dtk.ui" line="539"/> <location filename="../src/mainwindow-dtk.ui" line="489"/>
<source>APP Upgrade</source> <source>APP Upgrade</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../src/mainwindow-dtk.cpp" line="206"/> <location filename="../src/mainwindow-dtk.cpp" line="217"/>
<source>Submit App</source> <source>Submit App</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../src/mainwindow-dtk.cpp" line="207"/> <location filename="../src/mainwindow-dtk.cpp" line="218"/>
<source>Submit App with client(Recommanded)</source> <source>Submit App with client(Recommanded)</source>
<translation>()</translation> <translation>()</translation>
</message> </message>
<message> <message>
<location filename="../src/mainwindow-dtk.cpp" line="208"/> <location filename="../src/mainwindow-dtk.cpp" line="219"/>
<source>Settings</source> <source>Settings</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../src/mainwindow-dtk.cpp" line="209"/> <location filename="../src/mainwindow-dtk.cpp" line="220"/>
<source>APP Upgrade and Install Settings</source> <source>APP Upgrade and Install Settings</source>
<translation> </translation> <translation> </translation>
</message> </message>
<message> <message>
<location filename="../src/mainwindow-dtk.cpp" line="163"/> <location filename="../src/mainwindow-dtk.cpp" line="171"/>
<location filename="../src/mainwindow-dtk.cpp" line="260"/> <location filename="../src/mainwindow-dtk.cpp" line="271"/>
<source>Spark Store</source> <source>Spark Store</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../src/mainwindow-dtk.cpp" line="168"/> <location filename="../src/mainwindow-dtk.cpp" line="176"/>
<source>Search or enter spk://</source> <source>Search or enter spk://</source>
<translation></translation> <translation></translation>
</message> </message>
@@ -517,7 +517,7 @@
<message> <message>
<location filename="../src/application.cpp" line="36"/> <location filename="../src/application.cpp" line="36"/>
<location filename="../src/application.cpp" line="37"/> <location filename="../src/application.cpp" line="37"/>
<location filename="../src/mainwindow-dtk.cpp" line="142"/> <location filename="../src/mainwindow-dtk.cpp" line="149"/>
<source>Spark Store</source> <source>Spark Store</source>
<translation></translation> <translation></translation>
</message> </message>
@@ -537,7 +537,7 @@
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../src/mainwindow-dtk.cpp" line="263"/> <location filename="../src/mainwindow-dtk.cpp" line="274"/>
<source>Show MainWindow</source> <source>Show MainWindow</source>
<translation></translation> <translation></translation>
</message> </message>
@@ -658,12 +658,12 @@
<context> <context>
<name>TitleBarMenu</name> <name>TitleBarMenu</name>
<message> <message>
<location filename="../src/mainwindow-dtk.cpp" line="264"/> <location filename="../src/mainwindow-dtk.cpp" line="275"/>
<source>About</source> <source>About</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../src/mainwindow-dtk.cpp" line="265"/> <location filename="../src/mainwindow-dtk.cpp" line="276"/>
<source>Exit</source> <source>Exit</source>
<translation>退</translation> <translation>退</translation>
</message> </message>