Compare commits

...

34 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
26 changed files with 353 additions and 222 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

17
debian/changelog vendored
View File

@@ -1,3 +1,20 @@
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 spark-store (4.3.2.0) UNRELEASED; urgency=medium
* 后续更新请从4.3.2.0版本号开始4.3.2版本仅用于GXDE测试 * 后续更新请从4.3.2.0版本号开始4.3.2版本仅用于GXDE测试

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

@@ -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

@@ -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,11 +101,10 @@ 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

@@ -123,7 +123,7 @@ DEBPATH=$(realpath "$1")
exit "$try_run_ret" exit "$try_run_ret"
fi fi
aptss install "$DEBPATH" -yf --reinstall 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

@@ -166,7 +166,7 @@ if [ ! -z "$IS_SHA512SUM_CHECKED" ]; then
exit "$try_run_ret" exit "$try_run_ret"
fi fi
aptss install "$DEBPATH" -yf --reinstall 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,8 +1,15 @@
#!/bin/bash #!/bin/bash
if [ "$(id -u)" != "0" ] ; then if [ "$(id -u)" != "0" ] ; then
if [ "$IS_ACE_ENV" = "1" ];then
/opt/durapps/spark-store/bin/store-helper/pass-auth.sh "$0" "$@"
else
xhost +
pkexec "$0" "$@" pkexec "$0" "$@"
exit 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
(for PKG_UPGRADE in $PKG_UPGRADE_LIST; do
APP_UPGRADE="$(get_name_from_desktop_file $PKG_UPGRADE)" APP_UPGRADE="$(get_name_from_desktop_file $PKG_UPGRADE)"
update_transhell update_transhell
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
done # 启动升级任务
(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,27 +36,42 @@ 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 # 在网络恢复后,继续更新操作
retry_count=0
max_retries=12 # 最大重试次数,防止死循环
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}" echo "${TRANSHELL_CONTENT_UPDATE_ERROR_AND_WAIT_15_SEC}"
sleep 15 sleep 15
updatetext=`LANGUAGE=en_US aptss ssupdate 2>&1` 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)
@@ -90,7 +98,7 @@ for line in $PKG_LIST ; do
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
@@ -104,11 +112,9 @@ if [ $update_app_number -le 0 ] ; then
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
@@ -116,5 +122,5 @@ 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>
@@ -481,28 +481,28 @@
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../src/mainwindow-dtk.cpp" line="216"/> <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="217"/> <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="218"/> <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="219"/> <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="171"/> <location filename="../src/mainwindow-dtk.cpp" line="171"/>
<location filename="../src/mainwindow-dtk.cpp" line="270"/> <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>
@@ -537,7 +537,7 @@
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../src/mainwindow-dtk.cpp" line="273"/> <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="274"/> <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="275"/> <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>
@@ -481,28 +481,28 @@
<translation>Actualización de app</translation> <translation>Actualización de app</translation>
</message> </message>
<message> <message>
<location filename="../src/mainwindow-dtk.cpp" line="216"/> <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="217"/> <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="218"/> <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="219"/> <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="171"/> <location filename="../src/mainwindow-dtk.cpp" line="171"/>
<location filename="../src/mainwindow-dtk.cpp" line="270"/> <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>
@@ -537,7 +537,7 @@
<translation>Descargar lista</translation> <translation>Descargar lista</translation>
</message> </message>
<message> <message>
<location filename="../src/mainwindow-dtk.cpp" line="273"/> <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="274"/> <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="275"/> <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>
@@ -481,28 +481,28 @@
<translation>Mise à niveau app</translation> <translation>Mise à niveau app</translation>
</message> </message>
<message> <message>
<location filename="../src/mainwindow-dtk.cpp" line="216"/> <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="217"/> <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="218"/> <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="219"/> <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="171"/> <location filename="../src/mainwindow-dtk.cpp" line="171"/>
<location filename="../src/mainwindow-dtk.cpp" line="270"/> <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>
@@ -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="273"/> <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="274"/> <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="275"/> <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>
@@ -481,28 +481,28 @@
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../src/mainwindow-dtk.cpp" line="216"/> <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="217"/> <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="218"/> <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="219"/> <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="171"/> <location filename="../src/mainwindow-dtk.cpp" line="171"/>
<location filename="../src/mainwindow-dtk.cpp" line="270"/> <location filename="../src/mainwindow-dtk.cpp" line="271"/>
<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="273"/> <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="274"/> <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="275"/> <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>
@@ -481,28 +481,28 @@
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../src/mainwindow-dtk.cpp" line="216"/> <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="217"/> <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="218"/> <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="219"/> <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="171"/> <location filename="../src/mainwindow-dtk.cpp" line="171"/>
<location filename="../src/mainwindow-dtk.cpp" line="270"/> <location filename="../src/mainwindow-dtk.cpp" line="271"/>
<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="273"/> <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="274"/> <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="275"/> <location filename="../src/mainwindow-dtk.cpp" line="276"/>
<source>Exit</source> <source>Exit</source>
<translation>退</translation> <translation>退</translation>
</message> </message>