Compare commits

..

45 Commits

Author SHA1 Message Date
6426a3c12a update debian/changelog.
Signed-off-by: shenmo <jifengshenmo@outlook.com>
2024-04-27 10:37:11 +00:00
42fa1b5340 !258 修复 aria2c 下载永不超时
Merge pull request !258 from 麻本法/fix-aria2c-download-never-timeout
2024-04-27 10:34:59 +00:00
10320e99eb !2 update src/backend/downloadworker.cpp.
Merge pull request !2 from shenmo/N/A

"--connect-timeout=5" 实际应该是 25s 切线
2024-04-27 10:34:22 +00:00
b2120411e5 update src/backend/downloadworker.cpp.
Signed-off-by: shenmo <jifengshenmo@outlook.com>
2024-04-27 10:30:57 +00:00
9c219e5e89 !259 fix: hide error
Merge pull request !259 from shenmo/N/A
2024-04-27 05:57:08 +00:00
021283e240 fix: hide error
Signed-off-by: shenmo <jifengshenmo@outlook.com>
2024-04-27 05:56:57 +00:00
74513723e9 aria2c: Fixed aria2c download never timed out 2024-04-26 13:53:59 +08:00
3664a80c55 De-Magic Operation: Delete arm64 magic
Signed-off-by: shenmo <jifengshenmo@outlook.com>
2024-04-25 17:45:57 +00:00
0bd8bab7eb sync: retryfix: Phytium can not use gles makes white screen
Signed-off-by: shenmo <jifengshenmo@outlook.com>
2024-04-25 17:35:03 +00:00
4c565cda6c update debian/changelog.
Signed-off-by: shenmo <jifengshenmo@outlook.com>
2024-04-25 17:26:28 +00:00
7484ee8438 sync: fix: Phytium can not use gles makes white screen
Signed-off-by: shenmo <jifengshenmo@outlook.com>
2024-04-25 17:23:22 +00:00
c22f13a271 update debian/spark-store.postinst.
Signed-off-by: shenmo <jifengshenmo@outlook.com>
2024-04-18 07:29:40 +00:00
e0a62a88d9 adjust: modify dstore patch 2024-04-17 16:47:30 +08:00
804db2e623 fix: icon break on v23 2024-04-17 16:36:48 +08:00
zty199
89f7696704 build: 获取编译打包实际时间
https://www.debian.org/doc/manuals/debmake-doc/ch05.en.html#reproducible
修改 debian/rules,覆盖环境变量 SOURCE_DATE_EPOCH 为 $(date +%s),使关于窗口中版本号显示编译时间为实际编译时间,而不是 changelog 最新时间(将导致相同版本代码每次编译结果不同,不推荐)

Log: 修改 debian/rules:覆盖环境变量 SOURCE_DATE_EPOCH 为 $(date +%s);修改 qmake 参数为 CONFIG+=force_debug_info 以生成 dbgsym 包;编译生成临时文件夹名称添加架构后缀
2024-04-10 23:31:43 +08:00
zty199
18e13e4525 fix: 修复应用信息页面安装再卸载应用后,重新进入页面,应用仍然为已安装状态问题
下载管理中存在已卸载应用的下载记录,判断应用状态时认为应用安装完成

Log: 根据下载记录判断应用状态时,若下载管理显示安装完成,额外判断应用是否已安装
2024-04-10 21:58:48 +08:00
230b208fcb update debian/changelog.
Signed-off-by: shenmo <jifengshenmo@outlook.com>
2024-04-10 08:22:49 +00:00
c9354e6d27 update tool/aptss.
Signed-off-by: shenmo <jifengshenmo@outlook.com>
2024-04-10 03:33:39 +00:00
bad522e40a 哦我的上帝啊这东西是什么时候加的我都不记得了这个坑啊
Signed-off-by: shenmo <jifengshenmo@outlook.com>
2024-04-10 03:01:40 +00:00
ffac75eab7 update src/mainwindow-dtk.cpp.
Signed-off-by: shenmo <jifengshenmo@outlook.com>
2024-04-09 15:03:27 +00:00
e2497116bf update tool/aptss.
Signed-off-by: shenmo <jifengshenmo@outlook.com>
2024-04-09 04:14:38 +00:00
99fae1bb3f update tool/aptss.
Signed-off-by: shenmo <jifengshenmo@outlook.com>
2024-04-09 04:09:53 +00:00
59e4da7b40 update tool/ssinstall.
Signed-off-by: shenmo <jifengshenmo@outlook.com>
2024-04-09 04:04:11 +00:00
609a301ecc update 2024-04-09 11:39:22 +08:00
f0a8b141b4 fix: no usr bin 2024-04-09 11:33:27 +08:00
4d35438bf0 update debian/spark-store.postinst.
Signed-off-by: shenmo <jifengshenmo@outlook.com>
2024-04-07 11:57:34 +00:00
4863850195 !255 更新readme文件。
Merge pull request !255 from 花雨落逝/dev
2024-04-01 10:35:24 +00:00
花雨落逝
d379f2ad63 update README.zh.md.
Signed-off-by: 花雨落逝 <12135927+hylshi@user.noreply.gitee.com>
2024-03-31 07:14:01 +00:00
0ac0f97688 修改: debian/changelog 2024-03-29 23:07:01 +08:00
zty199
6c606806a1 fix: 修复软件包安装状态判断异常问题
check-is-installed 脚本判断软件包是否安装,仅根据执行结果返回;原始逻辑根据返回错误输出进行判断,错误输出为空会造成误判

Log: 修改 QProcess 执行结果判断逻辑,根据 QProcess::exitCode 和 QProcess::exitStatus 判断
2024-03-29 22:13:35 +08:00
363c38cb8f update tool/aptss.
Signed-off-by: shenmo <jifengshenmo@outlook.com>
2024-03-26 09:16:02 +00:00
c039fd52a7 fix:卸载后仍显示可重新安装 2024-03-25 11:29:13 +08:00
83540e1c55 update src/pages/appintopage.cpp.
Signed-off-by: shenmo <jifengshenmo@outlook.com>
2024-03-25 03:27:13 +00:00
b54c797ce5 update README.md.
Signed-off-by: shenmo <jifengshenmo@outlook.com>
2024-03-24 05:30:25 +00:00
f60d125920 update README.zh.md.
Signed-off-by: shenmo <jifengshenmo@outlook.com>
2024-03-24 05:29:25 +00:00
fa00f9aaf7 update tool/aptss.
Signed-off-by: shenmo <jifengshenmo@outlook.com>
2024-03-22 03:55:22 +00:00
76808cc2f5 update tool/ssinstall.
Signed-off-by: shenmo <jifengshenmo@outlook.com>
2024-03-22 03:53:24 +00:00
eaa335cc04 修改: src/pages/applistpage.cpp
修改:     tool/ss-feedback/sender-d
2024-03-22 02:11:32 +08:00
6768058358 fix: loongarch bad applist 2024-03-22 00:34:42 +08:00
09c2d41118 Merge remote-tracking branch 'refs/remotes/origin/dev' into dev 2024-03-21 17:34:33 +08:00
c9e7ef20ec 修改: src/backend/sparkapi.cpp 2024-03-21 17:34:22 +08:00
6e55244776 update tool/aptss.
Signed-off-by: shenmo <jifengshenmo@outlook.com>
2024-03-21 08:40:09 +00:00
b7e2571789 准备修改aptss以支持loongarch 2024-03-21 15:56:55 +08:00
zty199
e9a52da098 fix: 修改 treeland 环境判断条件
修改读取的环境变量名称为 DDE_CURRENT_COMPOSITOR,避免后续修改造成的不兼容问题

Log: 修改 treeland 环境判断条件;去除 dwayland 平台插件调用
2024-02-03 20:25:51 +08:00
37057306bb !254 cmake-patch: 更新补丁用于处理 v4.2.10 时期的变动构建与全量更新
Merge pull request !254 from 麻本法/auto-2067698-dev-59460c87
2024-02-03 01:51:54 +00:00
27 changed files with 2872 additions and 561 deletions

View File

@@ -15,6 +15,7 @@ To improve this situation, we have launched this app store. We have broadly incl
- **amd64 architecture:** deepin 20 / deepin 23 / Ubuntu 20.04 / Ubuntu 22.04 / UOS Home Edition 20 - **amd64 architecture:** deepin 20 / deepin 23 / Ubuntu 20.04 / Ubuntu 22.04 / UOS Home Edition 20
- **arm64 architecture:** UOS Professional Edition 1060 / Ubuntu 22.04 / deepin 23 - **arm64 architecture:** UOS Professional Edition 1060 / Ubuntu 22.04 / deepin 23
- **loong64 architecture:** deepin 23
> Special Note: We also support all versions of Ubuntu operating systems higher than Ubuntu 22.04, such as Ubuntu 22.10, 23.04, 23.10, etc. > Special Note: We also support all versions of Ubuntu operating systems higher than Ubuntu 22.04, such as Ubuntu 22.10, 23.04, 23.10, etc.
@@ -177,6 +178,6 @@ You can also check the [Chinese version](https://gitee.com/spark-store-project/s
- If you want to follow our development progress, you can go to the [Spark App Store Board](https://gitee.com/spark-store-project/spark-store/board) for more information. - If you want to follow our development progress, you can go to the [Spark App Store Board](https://gitee.com/spark-store-project/spark-store/board) for more information.
- Our [Forum](https://www.deepinos.org/) - Our [Forum](https://www.deepinos.org/)
- Our [QQ Group](https://blog.shenmo.tech/post/%E6%95%85%E9%9A%9C%E5%85%AC%E5%91%8A/) - Our [QQ Group](https://blog.shenmo.tech/post/%E6%95%85%E9%9A%9C%E5%85%AC%E5%91%8A/)
- For commercial support, please visit [Flamescion Inc.](http://flamescion.cn/) - For commercial support, please leave your issue~
--- ---

View File

@@ -11,12 +11,13 @@ Linux 应用的数量相对有限Wine 软件的可获得性也颇为困难。
生态系统的构建并非依赖个体的孤立努力,而需要全社区共同参与。只有当大家的“星火”聚集一处,方可引发“燎原之势”。 生态系统的构建并非依赖个体的孤立努力,而需要全社区共同参与。只有当大家的“星火”聚集一处,方可引发“燎原之势”。
为了改善这一现状,我们推出了这个应用商店。我们广泛地收录了各种用户需求的软件包,汇集了高质量的小工具,并主动对 Wine 应用进行了适配,一切都储存在我们的软件库中,以便用户方便地获取。 为了改善这一现状,我们推出了这个应用商店。我们广泛地收录了各种用户需求的软件包,汇集了高质量的小工具,并主动对 Wine 应用进行了适配,一切都储存在我们的软件库中,使得用户可以方便地获取这些应用
**当前支持的Linux发行版包括** **当前支持的Linux发行版包括**
- **amd64架构** deepin 20 / deepin 23 / Ubuntu 20.04 / Ubuntu 22.04 / UOS家庭版20 - **amd64架构** deepin 20 / deepin 23 / Ubuntu 20.04 / Ubuntu 22.04 / UOS家庭版20
- **arm64架构** UOS专业版1060 / Ubuntu 22.04 / deepin 23 - **arm64架构** UOS专业版1060 / Ubuntu 22.04 / deepin 23
- **loong64架构** deepin 23
> 特别说明我们还支持所有版本高于Ubuntu 22.04的Ubuntu操作系统例如Ubuntu 22.10、23.04、23.10等。 > 特别说明我们还支持所有版本高于Ubuntu 22.04的Ubuntu操作系统例如Ubuntu 22.10、23.04、23.10等。
@@ -188,7 +189,6 @@ GPLV3许可证的完整文本可以在以下链接找到https://www.gnu.org/l
- 如果你想关注我们的开发进度,可以跳转[星火应用商店Board](https://gitee.com/spark-store-project/spark-store/board)获取更多信息。 - 如果你想关注我们的开发进度,可以跳转[星火应用商店Board](https://gitee.com/spark-store-project/spark-store/board)获取更多信息。
- 我们的[论坛](https://www.deepinos.org/) - 我们的[论坛](https://www.deepinos.org/)
- 我们的[QQ群](https://blog.shenmo.tech/post/%E6%95%85%E9%9A%9C%E5%85%AC%E5%91%8A/) - 我们的[QQ群](https://blog.shenmo.tech/post/%E6%95%85%E9%9A%9C%E5%85%AC%E5%91%8A/)
- 商业支持请访问[火穗科技 Flamescion Inc.](http://flamescion.cn/) - 商业支持请留言咨询~
--- ---

17
debian/changelog vendored
View File

@@ -1,3 +1,20 @@
spark-store (4.2.12) stable; urgency=medium
* 修复:飞腾部分设备上白屏的问题
* 修复:下载开始时长时等待(降低链接超时时长)
-- shenmo <shenmo@spark-app.store> Sun, 5 Mar 2022 11:45:14 +0800
spark-store (4.2.11) stable; urgency=medium
* 修复:判断是否安装状态错误
* 修改:部分组件重构提升清晰度
* 修复v23下部分应用图标失效
-- shenmo <shenmo@spark-app.store> Sun, 5 Mar 2022 11:45:14 +0800
spark-store (4.2.10) stable; urgency=medium spark-store (4.2.10) stable; urgency=medium
* 修复:部分发行版上无法启动自动创建的桌面图标 * 修复:部分发行版上无法启动自动创建的桌面图标

19
debian/rules vendored
View File

@@ -3,10 +3,13 @@
export QT_SELECT = qt5 export QT_SELECT = qt5
export DEB_BUILD_MAINT_OPTIONS = hardening=+all export DEB_BUILD_MAINT_OPTIONS = hardening=+all
include /usr/share/dpkg/default.mk include /usr/share/dpkg/default.mk
export DEB_VERSION = $(shell dpkg-parsechangelog -S Version)
DEB_BUILD_ARCH ?= $(shell dpkg-architecture -qDEB_BUILD_ARCH) DEB_BUILD_ARCH ?= $(shell dpkg-architecture -qDEB_BUILD_ARCH)
DEB_HOST_MULTIARCH ?= $(shell dpkg-architecture -qDEB_HOST_MULTIARCH) DEB_HOST_MULTIARCH ?= $(shell dpkg-architecture -qDEB_HOST_MULTIARCH)
# Use realtime timestamp instead of the latest entry in debian/changelog
SOURCE_DATE_EPOCH := $(shell date +%s)
# Uncomment this to turn on verbose mode. # Uncomment this to turn on verbose mode.
#export DH_VERBOSE = 1 #export DH_VERBOSE = 1
@@ -14,25 +17,23 @@ DEB_HOST_MULTIARCH ?= $(shell dpkg-architecture -qDEB_HOST_MULTIARCH)
dh $@ --parallel dh $@ --parallel
override_dh_auto_clean: override_dh_auto_clean:
rm -rf $(CURDIR)/build rm -rf $(CURDIR)/build-$(DEB_HOST_MULTIARCH)
override_dh_auto_configure: override_dh_auto_configure:
mkdir -p $(CURDIR)/build mkdir -p $(CURDIR)/build-$(DEB_HOST_MULTIARCH)
qmake BUILD_VERSION=$(DEB_VERSION_UPSTREAM) spark-store-project.pro \ qmake BUILD_VERSION=$(DEB_VERSION_UPSTREAM) spark-store-project.pro \
-spec linux-g++ CONFIG+=qtquickcompiler \ -spec linux-g++ CONFIG+=force_debug_info \
-o $(CURDIR)/build/ -o $(CURDIR)/build-$(DEB_HOST_MULTIARCH)/
override_dh_auto_build: override_dh_auto_build:
make MAKEFLAGS="$(MAKEFLAGS)" -C $(CURDIR)/build make -C $(CURDIR)/build-$(DEB_HOST_MULTIARCH) -j$(JOBS)
override_dh_auto_install: override_dh_auto_install:
make -C $(CURDIR)/build install \ make -C $(CURDIR)/build-$(DEB_HOST_MULTIARCH) install \
INSTALL_ROOT=$(CURDIR)/debian/spark-store INSTALL_ROOT=$(CURDIR)/debian/spark-store
# 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

View File

@@ -12,6 +12,10 @@ case "$1" in
aarch64) aarch64)
echo "Will not enable armhf since 4271" echo "Will not enable armhf since 4271"
;; ;;
loongarch64)
echo "Nope we DO NOT WANT ABI1 now"
dpkg --remove-architecture loongarch64
;;
*) *)
echo "Unknown architecture, skip enable 32-bit arch" echo "Unknown architecture, skip enable 32-bit arch"
@@ -25,12 +29,15 @@ case "$1" in
# Check if /usr/local/bin existed # Check if /usr/local/bin existed
mkdir -p /usr/local/bin mkdir -p /usr/local/bin
## I hate /usr/local/bin. We will abandon them later
# Create symbol links for binary files # Create symbol links for binary files
ln -s -f /opt/durapps/spark-store/bin/spark-store /usr/local/bin/spark-store ln -s -f /opt/durapps/spark-store/bin/spark-store /usr/local/bin/spark-store
ln -s -f /opt/durapps/spark-store/bin/ssinstall /usr/local/bin/ssinstall ln -s -f /opt/durapps/spark-store/bin/ssinstall /usr/local/bin/ssinstall
ln -s -f /opt/durapps/spark-store/bin/ssaudit /usr/local/bin/ssaudit ln -s -f /opt/durapps/spark-store/bin/ssaudit /usr/local/bin/ssaudit
ln -s -f /opt/durapps/spark-store/bin/ssinstall /usr/bin/ssinstall
ln -s -f /opt/durapps/spark-store/bin/ssaudit /usr/bin/ssaudit
ln -s -f /opt/durapps/spark-store/bin/spark-dstore-patch /usr/local/bin/spark-dstore-patch ln -s -f /opt/durapps/spark-store/bin/spark-dstore-patch /usr/local/bin/spark-dstore-patch
ln -s -f /opt/durapps/spark-store/bin/spark-dstore-patch /usr/bin/spark-dstore-patch
ln -s -f /opt/durapps/spark-store/bin/aptss /usr/local/bin/ss-apt-fast ln -s -f /opt/durapps/spark-store/bin/aptss /usr/local/bin/ss-apt-fast
ln -s -f /opt/durapps/spark-store/bin/aptss /usr/bin/aptss ln -s -f /opt/durapps/spark-store/bin/aptss /usr/bin/aptss
@@ -66,18 +73,7 @@ case "$1" in
;; ;;
triggered) triggered)
# Quit if deepin-app-store-tool existed spark-dstore-patch
if [ -x "/usr/bin/deepin-app-store-tool" ] ; then
exit 0
fi
# Trigger for UOS debs installation
echo '--------检测到Uniontech标准软件包运行补丁以修正安装--------'
if [ -x "/usr/local/bin/spark-dstore-patch" ] ; then
/usr/local/bin/spark-dstore-patch
echo '-----------spark-dstore-patch补丁工具已运行完毕-----------'
else
echo '------------spark-dstore-patch补丁工具运行失败------------'
fi
;; ;;
esac esac

0
debian/spark-store.postrm vendored Normal file → Executable file
View File

View File

@@ -16,12 +16,15 @@ if [ "$1" = "remove" -o "$1" = "purge" ] ; then
echo "卸载操作,进行配置清理" echo "卸载操作,进行配置清理"
# Remove residual symbol links # Remove residual symbol links
rm -f /usr/local/bin/spark-store unlink /usr/local/bin/spark-store
rm -f /usr/local/bin/ssinstall unlink /usr/local/bin/ssinstall
rm -f /usr/local/bin/ssaudit unlink /usr/local/bin/ssaudit
rm -f /usr/local/bin/spark-dstore-patch unlink /usr/bin/ssinstall
rm -f /usr/local/bin/ss-apt-fast unlink /usr/bin/ssaudit
rm -f /usr/bin/aptss unlink /usr/local/bin/spark-dstore-patch
unlink /usr/bin/spark-dstore-patch
unlink /usr/local/bin/ss-apt-fast
unlink /usr/bin/aptss
rm -rf /etc/aptss/ rm -rf /etc/aptss/
rm -rf /var/lib/aptss/ rm -rf /var/lib/aptss/

View File

@@ -1 +1,2 @@
interest-noawait /opt/apps interest-noawait /opt/apps
interest-noawait /usr/share/icons

File diff suppressed because it is too large Load Diff

View File

@@ -120,6 +120,7 @@ void DownloadController::startDownload(const QString &url)
QString downloadDir = "/tmp/spark-store/"; //下载目录 QString downloadDir = "/tmp/spark-store/"; //下载目录
QString aria2ConnectionPerServer = "--max-connection-per-server=1"; //每个服务器最大连接数 QString aria2ConnectionPerServer = "--max-connection-per-server=1"; //每个服务器最大连接数
QString aria2ConnectionMax = "--max-concurrent-downloads=16"; //最大同时下载数 QString aria2ConnectionMax = "--max-concurrent-downloads=16"; //最大同时下载数
QString aria2ConnectionTimeout = "--connect-timeout=5"; // 1 秒服务器连接超时(像 spark1.uniartisan.com、cdn.dl.uniartisan.com、momen.d.store.deepinos.org.cn 等服务器失效时不影响即时下载)
if (useMetalink) //如果是metalink if (useMetalink) //如果是metalink
@@ -147,6 +148,7 @@ void DownloadController::startDownload(const QString &url)
command.append(aria2SizePerThreads.toUtf8()); command.append(aria2SizePerThreads.toUtf8());
command.append(aria2ConnectionPerServer.toUtf8()); command.append(aria2ConnectionPerServer.toUtf8());
command.append(aria2ConnectionMax.toUtf8()); command.append(aria2ConnectionMax.toUtf8());
command.append(aria2ConnectionTimeout.toUtf8());
if (useMetalink) if (useMetalink)
{ {

View File

@@ -10,6 +10,8 @@ QString SparkAPI::serverUrl = "";
#elif __aarch64__ #elif __aarch64__
QString SparkAPI::serverUrlDir = "aarch64-store"; QString SparkAPI::serverUrlDir = "aarch64-store";
#elif __loongarch__
QString SparkAPI::serverUrlDir = "loong64-store";
#endif #endif
SparkAPI::SparkAPI(QObject *parent) : QObject(parent) SparkAPI::SparkAPI(QObject *parent) : QObject(parent)

View File

@@ -148,49 +148,9 @@ int main(int argc, char *argv[])
// qputenv("QTWEBENGINE_CHROMIUM_FLAGS", "--disable-web-security"); // qputenv("QTWEBENGINE_CHROMIUM_FLAGS", "--disable-web-security");
#ifdef __sw_64__ #ifdef __sw_64__
qputenv("QTWEBENGINE_CHROMIUM_FLAGS", "--no-sandbox"); qputenv("QTWEBENGINE_CHROMIUM_FLAGS", "--no-sandbox");
#elif __aarch64__
QString env = QString::fromUtf8(qgetenv("QTWEBENGINE_CHROMIUM_FLAGS"));
env = env.trimmed();
/**
* NOTE: 参考帮助手册代码,对于部分 ARM CPU 设备,
* --disable-gpu 保证网页正常显示
* --single-process 避免 QtWebEngine 崩溃(可选)
*/
env += " --disable-gpu";
if (Utils::isPhytium()) {
env += " --single-process";
}
qputenv("QTWEBENGINE_CHROMIUM_FLAGS", env.trimmed().toUtf8());
if (Utils::isWayland()) {
/**
* WARNING: DDM TreeLand 混合器下,设置
* QT_WAYLAND_SHELL_INTEGRATION 环境变量
* 会导致崩溃 By justforlxz
*/
if (!Utils::isTreeLand()) {
/**
* NOTE: 参考帮助手册代码,对于麒麟 CPU 设备,
* 避免 wayland 环境下 QtWebEngine 崩溃
*/
qputenv("QT_WAYLAND_SHELL_INTEGRATION", "kwayland-shell");
}
}
QSurfaceFormat format;
format.setRenderableType(QSurfaceFormat::OpenGLES);
QSurfaceFormat::setDefaultFormat(format);
/**
* NOTE: https://zhuanlan.zhihu.com/p/550285855
* 避免 X11 环境下从 QtWebEngine 后退回到 QWidget 时黑屏闪烁
*/
if (!Utils::isWayland()) {
qputenv("QMLSCENE_DEVICE", "softwarecontext");
DApplication::setAttribute(Qt::AA_UseSoftwareOpenGL);
}
#endif #endif
/** /**
* NOTE: https://zhuanlan.zhihu.com/p/550285855 * NOTE: https://zhuanlan.zhihu.com/p/550285855
* 避免 wayland 环境下从 QtWebEngine 后退回到 QWidget 时黑屏闪烁 * 避免 wayland 环境下从 QtWebEngine 后退回到 QWidget 时黑屏闪烁

View File

@@ -25,7 +25,7 @@
#define WaylandSearchCenter 1 #define WaylandSearchCenter 1
#define OtherSearchCenter 2 #define OtherSearchCenter 2
#define RightSearchSpace 1 #define RightSearchSpace 1
#define UploadServerUrl "https://upload.deepinos.org/" #define UploadServerUrl "https://upload.deepinos.org.cn/"
MainWindow::MainWindow(QWidget *parent) MainWindow::MainWindow(QWidget *parent)
: BaseWidgetOpacity(parent) : BaseWidgetOpacity(parent)

View File

@@ -55,7 +55,7 @@ void AppIntoPage::openUrl(const QUrl &url)
ui->label_2->setText(info["More"].toString()); ui->label_2->setText(info["More"].toString());
// 显示 tags // 显示 tags
#if (DTK_VERSION >= DTK_VERSION_CHECK(5, 15, 0, 0)) #if QT_VERSION >= QT_VERSION_CHECK(5, 15, 0)
QStringList taglist = info["Tags"].toString().split(";", Qt::SkipEmptyParts); QStringList taglist = info["Tags"].toString().split(";", Qt::SkipEmptyParts);
#else #else
QStringList taglist = info["Tags"].toString().split(";", QString::SkipEmptyParts); QStringList taglist = info["Tags"].toString().split(";", QString::SkipEmptyParts);
@@ -133,11 +133,15 @@ void AppIntoPage::openUrl(const QUrl &url)
bool isInstalled; bool isInstalled;
bool isUpdated; bool isUpdated;
QString packagename = info["Pkgname"].toString(); QString packagename = info["Pkgname"].toString();
isInstall.start("dpkg", QStringList() << "-s" << info["Pkgname"].toString()); isInstall.start("/opt/durapps/spark-store/bin/store-helper/check-is-installed", QStringList() << info["Pkgname"].toString());
qDebug() << info["Pkgname"].toString(); qDebug() << info["Pkgname"].toString();
isInstall.waitForFinished(180 * 1000); // 默认超时 3 分钟 isInstall.waitForFinished(180 * 1000); // 默认超时 3 分钟
int error = QString::fromStdString(isInstall.readAllStandardError().toStdString()).length();
if (error == 0) int exitCode = isInstall.exitCode();
QProcess::ExitStatus exitStatus = isInstall.exitStatus();
isInstall.close();
if (exitCode == 0 && exitStatus == QProcess::NormalExit)
{ {
isInstalled = true; isInstalled = true;
@@ -150,7 +154,7 @@ void AppIntoPage::openUrl(const QUrl &url)
isUpdate.start("dpkg", QStringList() << "--compare-versions" << localVersion << "ge" << info["Version"].toString()); isUpdate.start("dpkg", QStringList() << "--compare-versions" << localVersion << "ge" << info["Version"].toString());
isUpdate.waitForFinished(180 * 1000); // 默认超时 3 分钟 isUpdate.waitForFinished(180 * 1000); // 默认超时 3 分钟
if (!isUpdate.exitCode()) if (isUpdate.exitCode() == 0 && isUpdate.exitStatus() == QProcess::NormalExit)
{ {
isUpdated = true; isUpdated = true;
} }
@@ -158,6 +162,7 @@ void AppIntoPage::openUrl(const QUrl &url)
{ {
isUpdated = false; isUpdated = false;
} }
isUpdate.close();
} }
else else
{ {
@@ -337,10 +342,27 @@ void AppIntoPage::isDownloading(const QUrl &url)
} }
if (item->download == 3) if (item->download == 3)
{ {
ui->downloadButton->setEnabled(true); QString packageName = info["Pkgname"].toString();
ui->downloadButton->setText(tr("Reinstall")); QProcess process;
ui->downloadButton->show(); process.start("/opt/durapps/spark-store/bin/store-helper/check-is-installed", {packageName});
ui->pushButton_3->show(); process.waitForFinished(-1);
int exitCode = process.exitCode();
QProcess::ExitStatus exitStatus = process.exitStatus();
process.close();
if (exitCode == 0 && exitStatus == QProcess::NormalExit)
{
ui->downloadButton->setEnabled(true);
ui->downloadButton->setText(tr("Reinstall"));
ui->downloadButton->show();
ui->pushButton_3->show();
}
else
{
ui->downloadButton->setEnabled(true);
ui->downloadButton->setText(tr("Download and Install"));
}
} }
} }
@@ -485,22 +507,24 @@ void AppIntoPage::on_pushButton_3_clicked()
QProcess uninstall; QProcess uninstall;
uninstall.start("pkexec", QStringList() << "apt" << "autopurge" << "-y" << info["Pkgname"].toString().toLower()); uninstall.start("pkexec", QStringList() << "apt" << "autopurge" << "-y" << info["Pkgname"].toString().toLower());
uninstall.waitForFinished(-1); uninstall.waitForFinished(-1);
uninstall.close();
QProcess check; QProcess check;
check.start("dpkg", QStringList() << "-s" << info["Pkgname"].toString().toLower()); check.start("dpkg", QStringList() << "-s" << info["Pkgname"].toString().toLower());
check.waitForFinished(10*1000); check.waitForFinished(-1);
if (check.readAllStandardOutput().isEmpty()) if (check.exitCode() != 0 || check.exitStatus() != QProcess::NormalExit)
{ {
ui->downloadButton->setText(tr("Download and Install")); ui->downloadButton->setText(tr("Download and Install"));
ui->pushButton_3->hide(); ui->pushButton_3->hide();
updatesEnabled();
Utils::sendNotification("spark-store",tr("Spark Store"),tr("Uninstall succeeded")); Utils::sendNotification("spark-store",tr("Spark Store"),tr("Uninstall succeeded"));
} }
ui->downloadButton->setEnabled(true); ui->downloadButton->setEnabled(true);
ui->pushButton_3->setEnabled(true); ui->pushButton_3->setEnabled(true);
check.close();
}); });
} }

View File

@@ -1,108 +1,105 @@
#include "applistpage.h" #include "applistpage.h"
#include "ui_applistpage.h" #include "ui_applistpage.h"
#define BUILD_URL(theme, arch) \
api->getServerUrl() + SparkAPI::getArchDir() + "/#/flamescion/" + (type.isEmpty() ? "?" : "applist?type=" + type + "&") + theme + "&arch=" + arch
AppListPage::AppListPage(QWidget *parent) : QWidget(parent),
ui(new Ui::AppListPage) AppListPage::AppListPage(QWidget *parent) : QWidget(parent),
{ ui(new Ui::AppListPage)
ui->setupUi(this); {
ui->webEngineView->page()->setBackgroundColor(Qt::transparent); ui->setupUi(this);
} ui->webEngineView->page()->setBackgroundColor(Qt::transparent);
void AppListPage::setTheme(bool dark) }
{ void AppListPage::setTheme(bool dark)
isDark = dark; {
if (dark) isDark = dark;
{ if (dark)
this->setStyleSheet("#frame{background-color: #252525;border-radius:14px;border:1px solid rgb(64, 64, 64);}"); {
} this->setStyleSheet("#frame{background-color: #252525;border-radius:14px;border:1px solid rgb(64, 64, 64);}");
else }
{ else
// 亮色模式 {
this->setStyleSheet("#frame{background-color: #ffffff;border-radius:14px;border:1px solid rgb(229,229,229);}"); // 亮色模式
} this->setStyleSheet("#frame{background-color: #ffffff;border-radius:14px;border:1px solid rgb(229,229,229);}");
if (isSearch) }
{ if (isSearch)
getSearchList(nowType); {
} getSearchList(nowType);
else }
{ else
getAppList(nowType); {
} getAppList(nowType);
} }
void AppListPage::getAppList(QString type) }
{ void AppListPage::getAppList(QString type)
isSearch = false; {
nowType = type; isSearch = false;
SparkAPI *api = new SparkAPI(this); nowType = type;
QString url; SparkAPI *api = new SparkAPI(this);
QString theme; QString url;
if (isDark) QString theme;
{ if (isDark)
theme = "theme=dark"; {
} theme = "theme=dark";
else }
{ else
theme = "theme=light"; {
} theme = "theme=light";
if (type == "") }
{
url = api->getServerUrl() + SparkAPI::getArchDir() + "/#/flamescion/?" + theme + "&" + "arch=x86"; #ifdef __aarch64__
#ifdef __aarch64__ url = BUILD_URL(theme, "aarch64");
url = api->getServerUrl() + SparkAPI::getArchDir() + "/#/flamescion/?" + theme + "&" + "arch=aarch64"; #elif __loongarch__
#endif url = BUILD_URL(theme, "loong64");
} #else
else url = BUILD_URL(theme, "x86");
{ #endif
url = api->getServerUrl() + SparkAPI::getArchDir() + "/#/flamescion/applist?type=" + type + "&" + theme + "&" + "arch=x86";
#ifdef __aarch64__ ui->webEngineView->setUrl(url);
url = api->getServerUrl() + SparkAPI::getArchDir() + "/#/flamescion/applist?type=" + type + "&" + theme + "&" + "arch=aarch64"; delete api;
#endif }
}
void AppListPage::getSearchList(const QString &keyword)
ui->webEngineView->setUrl(url); {
delete api; isSearch = true;
} nowType = keyword;
SparkAPI *api = new SparkAPI(this);
void AppListPage::getSearchList(const QString &keyword) QString url;
{ QString theme;
isSearch = true; if (isDark)
nowType = keyword; {
SparkAPI *api = new SparkAPI(this); theme = "theme=dark";
QString url; }
QString theme; else
if (isDark) {
{ theme = "theme=light";
theme = "theme=dark"; }
}
else url = api->getServerUrl() + SparkAPI::getArchDir() + "/#/flamescion/search?keywords=" + QUrl::toPercentEncoding(keyword) + "&" + theme + "&" + "arch=x86";
{ #ifdef __aarch64__
theme = "theme=light"; url = api->getServerUrl() + SparkAPI::getArchDir() + "/#/flamescion/search?keywords=" + QUrl::toPercentEncoding(keyword) + "&" + theme + "&" + "arch=aarch64";
} #elif __loongarch__
url = api->getServerUrl() + SparkAPI::getArchDir() + "/#/flamescion/search?keywords=" + QUrl::toPercentEncoding(keyword) + "&" + theme + "&" + "arch=loong64";
url = api->getServerUrl() + SparkAPI::getArchDir() + "/#/flamescion/search?keywords=" + QUrl::toPercentEncoding(keyword) + "&" + theme + "&" + "arch=x86"; #endif
#ifdef __aarch64__ ui->webEngineView->setUrl(url);
url = api->getServerUrl() + SparkAPI::getArchDir() + "/#/flamescion/search?keywords=" + QUrl::toPercentEncoding(keyword) + "&" + theme + "&" + "arch=aarch64"; delete api;
#endif }
ui->webEngineView->setUrl(url);
delete api; AppListPage::~AppListPage()
} {
delete ui;
AppListPage::~AppListPage() }
{
delete ui; void AppListPage::on_webEngineView_urlChanged(const QUrl &arg1)
} {
if (arg1.path().right(8) == "app.json")
void AppListPage::on_webEngineView_urlChanged(const QUrl &arg1) {
{ QString url = arg1.toString();
if (arg1.path().right(8) == "app.json") url = url.mid(url.indexOf("/" + SparkAPI::getArchDir() + "/"));
{ url = "spk:/" + url;
QString url = arg1.toString(); url = url.mid(0, url.indexOf("/app.json"));
url = url.mid(url.indexOf("/" + SparkAPI::getArchDir() + "/")); qDebug() << "程序跳转链接地址:" << url;
url = "spk:/" + url; ui->webEngineView->back();
url = url.mid(0, url.indexOf("/app.json")); emit clicked(url);
qDebug() << "程序跳转链接地址:" << url; }
ui->webEngineView->back(); }
emit clicked(url);
}
}

View File

@@ -9,7 +9,7 @@
#define TMP_PATH "/tmp/spark-store" #define TMP_PATH "/tmp/spark-store"
#define DEFAULT_SERVER_URL "https://cdn.d.store.deepinos.org.cn/" #define DEFAULT_SERVER_URL "https://cdn.d.store.deepinos.org.cn/"
#define DEFAULT_CHECK_DOMAIN "deepinos"
bool SettingsPage::needUncompatibleNotification = true; bool SettingsPage::needUncompatibleNotification = true;
bool SettingsPage::isdownload = false; bool SettingsPage::isdownload = false;
@@ -57,10 +57,7 @@ void SettingsPage::readServerList()
// 创建 QTextStream 对象 // 创建 QTextStream 对象
QTextStream textStream(&file); QTextStream textStream(&file);
if (!textStream.readAll().contains(DEFAULT_CHECK_DOMAIN)) // 校验配置文件有效性
{
return;
}
textStream.seek(0); // 回到开头 textStream.seek(0); // 回到开头
QString lineData = textStream.readLine(); // 读取文件的第一行 QString lineData = textStream.readLine(); // 读取文件的第一行
ui->comboBox_server->addItem(lineData); ui->comboBox_server->addItem(lineData);

View File

@@ -80,8 +80,7 @@ bool Utils::isWayland()
bool Utils::isTreeLand() bool Utils::isTreeLand()
{ {
bool isTreeLand = false; bool isTreeLand = false;
if (qgetenv("DDE_CURRENT_COMPOSITER").toLower() == "treeland" if (qgetenv("DDE_CURRENT_COMPOSITOR").toLower() == "treeland") {
|| qgetenv("DESKTOP_SESSION").toLower() == "treeland") {
isTreeLand = true; isTreeLand = true;
} }
@@ -185,14 +184,18 @@ void Utils::setQPAPlatform()
qDebug() << "System Wayland enabled:" << isWayland << "Spark Wayland enabled:" << useWayland; qDebug() << "System Wayland enabled:" << isWayland << "Spark Wayland enabled:" << useWayland;
if (isWayland && useWayland && !(Dtk::Core::DSysInfo::isDeepin() || isDDE)) /**
* NOTE: https://github.com/linuxdeepin/developer-center/issues/7217#issuecomment-1922653903
* DDE Wayland has been deprecated, so using wayland plugin only
*/
if (isWayland && useWayland /*&& !(Dtk::Core::DSysInfo::isDeepin() || isDDE)*/)
{ {
qputenv("QT_QPA_PLATFORM", "wayland"); qputenv("QT_QPA_PLATFORM", "wayland");
} }
else if (isWayland && useWayland && (Dtk::Core::DSysInfo::isDeepin() && isDDE)) // else if (isWayland && useWayland && (Dtk::Core::DSysInfo::isDeepin() && isDDE))
{ // {
qputenv("QT_QPA_PLATFORM", "dwayland"); // qputenv("QT_QPA_PLATFORM", "dwayland");
} // }
else else
{ {
qputenv("QT_QPA_PLATFORM", "dxcb"); qputenv("QT_QPA_PLATFORM", "dxcb");

View File

@@ -1,5 +1,7 @@
#!/bin/bash #!/bin/bash
SPARK_DOWNLOAD_SERVER_URL="https://d.store.deepinos.org.cn/"
SPARK_DOWNLOAD_SERVER_URL_NO_PROTOCOL="d.store.deepinos.org.cn"
source /opt/durapps/spark-store/bin/bashimport/transhell.amber source /opt/durapps/spark-store/bin/bashimport/transhell.amber
load_transhell load_transhell
@@ -12,6 +14,10 @@ case `arch` in
STORE_URL="aarch64-store" STORE_URL="aarch64-store"
STORE_LIST_URL="-aarch64" STORE_LIST_URL="-aarch64"
;; ;;
loongarch64)
STORE_URL="loong64-store"
STORE_LIST_URL="-loong64"
;;
esac esac
SS_APT_FAST="/opt/durapps/spark-store/bin/apt-fast/ss-apt-fast" SS_APT_FAST="/opt/durapps/spark-store/bin/apt-fast/ss-apt-fast"
@@ -40,22 +46,22 @@ 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 "https://d.store.deepinos.org.cn/apt-fast.conf" curl --progress-bar -o /tmp/aptss-conf/apt-fast.conf "${SPARK_DOWNLOAD_SERVER_URL}/apt-fast.conf"
chmod -R 755 /tmp/aptss-conf chmod -R 755 /tmp/aptss-conf
fi fi
if [ ! -e "/var/lib/aptss/lists/d.spark-app.store_${STORE_URL}_Packages" ] && [ ! -e "/var/lib/aptss/lists/d.store.deepinos.org.cn_${STORE_URL}_Packages" ] && [ ! -e "/var/lib/aptss/lists/mirrors.sdu.edu.cn_spark-store-repository_${STORE_URL}_Packages" ];then if [ ! -e "/var/lib/aptss/lists/${SPARK_DOWNLOAD_SERVER_URL_NO_PROTOCOL}_${STORE_URL}_Packages" ] && [ ! -e "/var/lib/aptss/lists/d.store.deepinos.org.cn_${STORE_URL}_Packages" ] && [ ! -e "/var/lib/aptss/lists/mirrors.sdu.edu.cn_spark-store-repository_${STORE_URL}_Packages" ];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 "https://d.store.deepinos.org.cn/apt-fast.conf" curl --silent -o /tmp/aptss-conf/apt-fast.conf "${SPARK_DOWNLOAD_SERVER_URL}/apt-fast.conf"
chmod -R 755 /tmp/aptss-conf chmod -R 755 /tmp/aptss-conf
curl --silent -o /opt/durapps/spark-store/bin/apt-fast-conf/sources.list.d/sparkstore.list "https://d.store.deepinos.org.cn/sparkstore${STORE_LIST_URL}.list" 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"
apt update -c /opt/durapps/spark-store/bin/apt-fast-conf/aptss-apt.conf /usr/bin/apt update -c /opt/durapps/spark-store/bin/apt-fast-conf/aptss-apt.conf
#只更新星火源 #只更新星火源
@@ -92,35 +98,34 @@ elif [ "$1" = "policy" ] || [ "$1" = "search" ];then
###执行 ###执行
apt "$@" -c /opt/durapps/spark-store/bin/apt-fast-conf/aptss-apt.conf /usr/bin/apt "$@" -c /opt/durapps/spark-store/bin/apt-fast-conf/aptss-apt.conf
elif [ "$1" = "ssupdate" ];then 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 "https://d.store.deepinos.org.cn/apt-fast.conf" curl --silent -o /tmp/aptss-conf/apt-fast.conf "${SPARK_DOWNLOAD_SERVER_URL}/apt-fast.conf"
chmod -R 755 /tmp/aptss-conf chmod -R 755 /tmp/aptss-conf
curl --silent -o /opt/durapps/spark-store/bin/apt-fast-conf/sources.list.d/sparkstore.list "https://d.store.deepinos.org.cn/sparkstore${STORE_LIST_URL}.list" 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"
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"
#只更新星火源 #只更新星火源
elif [ "$1" = "update" ];then 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 "https://d.store.deepinos.org.cn/sparkstore${STORE_LIST_URL}.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"
mkdir -p /tmp/aptss-conf/ mkdir -p /tmp/aptss-conf/
curl --progress-bar -o /tmp/aptss-conf/apt-fast.conf "https://d.store.deepinos.org.cn/apt-fast.conf" curl --progress-bar -o /tmp/aptss-conf/apt-fast.conf "${SPARK_DOWNLOAD_SERVER_URL}/apt-fast.conf"
chmod -R 755 /tmp/aptss-conf chmod -R 755 /tmp/aptss-conf
### 额外一份拿来给aptss自动补全用 ### 额外一份拿来给aptss自动补全用
apt "$@" -c /opt/durapps/spark-store/bin/apt-fast-conf/aptss-apt.conf /usr/bin/apt "$@" -c /opt/durapps/spark-store/bin/apt-fast-conf/aptss-apt.conf
else else
apt "$@" -c /opt/durapps/spark-store/bin/apt-fast-conf/aptss-apt.conf /usr/bin/apt "$@" -c /opt/durapps/spark-store/bin/apt-fast-conf/aptss-apt.conf
fi fi

View File

@@ -1,13 +1,13 @@
#!/bin/bash #!/bin/bash
echo "----------------Running Spark DStore Patch----------------"
enumAppInfoList() { enumAppInfoList() {
appInfoList=() appInfoList=()
apps="/opt/apps" apps="/opt/apps"
list=$(ls $apps) list=$(ls $apps 2>/dev/null)
for appID in $list; do for appID in $list; do
appInfoList+=("$appID") appInfoList+=("$appID")
done done
@@ -26,15 +26,13 @@ linkDir() {
targetDir=$(dirname "$target") targetDir=$(dirname "$target")
find "$source" -type f | while read sourceFile; do find "$source" -type f | while read sourceFile; do
targetFile="$targetDir/${sourceFile#$sourceDir/}" targetFile="$targetDir/${sourceFile#$sourceDir/}"
if [ -L "$targetFile" ] && [ "$(readlink "$targetFile")" = "$sourceFile" ]; then
continue
else
rm -f "$targetFile"
fi
ensureTargetDir "$targetFile" ensureTargetDir "$targetFile"
sourceFile=$(realpath --relative-to="$(dirname $targetFile)" "$sourceFile" ) sourceFile=$(realpath --relative-to="$(dirname $targetFile)" "$sourceFile" )
ln -s "$sourceFile" "$targetFile" if [ ! -e ${targetFile} ];then
ln -sv "$sourceFile" "$targetFile"
fi
done done
} }
@@ -65,61 +63,66 @@ linkApp() {
done done
} }
function exec_uos_package_link(){
# execute linkApp function for each app and print output
for app in $(enumAppInfoList); do for app in $(enumAppInfoList); do
linkApp "$app" & linkApp "$app" &
if [ "$1" = "--debug" ]; then
echo "Linking for $app"
fi
# remove broken links in /usr/share
done done
wait wait
}
if [ "$1" = "--debug" ]; then function exec_v23_icon_link(){
echo "Cleaning links and updating databases and caches..." # Fix v23 broken icon
if [ ! -d "/usr/share/icons/hicolor/scalable/apps" ];then
mkdir -p /usr/share/icons/hicolor/scalable/apps
fi fi
for icon_root_icon_path in $(ls /usr/share/icons/*.png /usr/share/icons/*.svg 2>/dev/null)
do
target_icon_path=/usr/share/icons/hicolor/scalable/apps/$(basename ${icon_root_icon_path})
if [ ! -e ${target_icon_path} ];then
ln -sv $(realpath --relative-to=/usr/share/icons/hicolor/scalable/apps ${icon_root_icon_path}) /usr/share/icons/hicolor/scalable/apps
fi
done
}
if [ "$1" = "--debug" ]; then function exec_link_clean(){
find /usr/share/applications -xtype l -delete & # remove broken links in /usr/share
find /usr/share/icons -xtype l -delete &
find /usr/share/mime/packages -xtype l -delete & find /usr/share/applications -xtype l -exec echo '{} is invalid now and going to be cleaned' \; -exec unlink {} \; 2>/dev/null &
find /usr/share/glib-2.0 -xtype l -delete & find /usr/share/icons -xtype l -exec echo '{} is invalid now and going to be cleaned' \; -exec unlink {} \; 2>/dev/null &
find /usr/share/dbus-1/services -xtype l -delete & find /usr/share/mime/packages -xtype l -exec echo '{} is invalid now and going to be cleaned' \; -exec unlink {} \; 2>/dev/null &
find /usr/share/fcitx -xtype l -delete & find /usr/share/glib-2.0 -xtype l -exec echo '{} is invalid now and going to be cleaned' \; -exec unlink {} \; 2>/dev/null &
find /usr/share/help -xtype l -delete & find /usr/share/dbus-1/services -xtype l -exec echo '{} is invalid now and going to be cleaned' \; -exec unlink {} \; 2>/dev/null &
find /usr/share/locale -xtype l -delete & find /usr/share/fcitx -xtype l -exec echo '{} is invalid now and going to be cleaned' \; -exec unlink {} \; 2>/dev/null &
find /usr/lib/`dpkg-architecture -qDEB_HOST_MULTIARCH`/fcitx -xtype l -delete & find /usr/share/help -xtype l -exec echo '{} is invalid now and going to be cleaned' \; -exec unlink {} \; 2>/dev/null &
find /usr/lib/mozilla/plugins -xtype l -delete & find /usr/share/locale -xtype l -exec echo '{} is invalid now and going to be cleaned' \; -exec unlink {} \; 2>/dev/null &
find /usr/share/polkit-1/actions -xtype l -delete & find /usr/lib/`dpkg-architecture -qDEB_HOST_MULTIARCH`/fcitx -xtype l -exec echo '{} is invalid now and going to be cleaned' \; -exec unlink {} \; 2>/dev/null &
find /usr/share/fonts -xtype l -delete & find /usr/lib/mozilla/plugins -xtype l -exec echo '{} is invalid now and going to be cleaned' \; -exec unlink {} \; 2>/dev/null &
find /etc/fonts/conf.d -xtype l -delete & find /usr/share/polkit-1/actions -xtype l -exec echo '{} is invalid now and going to be cleaned' \; -exec unlink {} \; 2>/dev/null &
update-icon-caches /usr/share/icons/* & find /usr/share/fonts -xtype l -exec echo '{} is invalid now and going to be cleaned' \; -exec unlink {} \; 2>/dev/null &
update-desktop-database -q & find /etc/fonts/conf.d -xtype l -exec echo '{} is invalid now and going to be cleaned' \; -exec unlink {} \; 2>/dev/null &
update-mime-database -V /usr/share/mime &
glib-compile-schemas /usr/share/glib-2.0/schemas/ &
wait }
else function exec_uos_package_update(){
find /usr/share/applications -xtype l -delete > /dev/null 2>&1 &
find /usr/share/icons -xtype l -delete > /dev/null 2>&1 &
find /usr/share/mime/packages -xtype l -delete > /dev/null 2>&1 &
find /usr/share/glib-2.0 -xtype l -delete > /dev/null 2>&1 &
find /usr/share/dbus-1/services -xtype l -delete > /dev/null 2>&1 &
find /usr/share/fcitx -xtype l -delete > /dev/null 2>&1 &
find /usr/share/help -xtype l -delete > /dev/null 2>&1 &
find /usr/share/locale -xtype l -delete > /dev/null 2>&1 &
find /usr/lib/`dpkg-architecture -qDEB_HOST_MULTIARCH`/fcitx -xtype l -delete > /dev/null 2>&1 &
find /usr/lib/mozilla/plugins -xtype l -delete > /dev/null 2>&1 &
find /usr/share/polkit-1/actions -xtype l -delete > /dev/null 2>&1 &
find /usr/share/fonts -xtype l -delete > /dev/null 2>&1 &
find /etc/fonts/conf.d -xtype l -delete > /dev/null 2>&1 &
update-icon-caches /usr/share/icons/* > /dev/null 2>&1 & update-icon-caches /usr/share/icons/* > /dev/null 2>&1 &
update-desktop-database -q > /dev/null 2>&1 & update-desktop-database -q > /dev/null 2>&1 &
update-mime-database -V /usr/share/mime > /dev/null 2>&1 & update-mime-database -V /usr/share/mime > /dev/null 2>&1 &
glib-compile-schemas /usr/share/glib-2.0/schemas/ > /dev/null 2>&1 & glib-compile-schemas /usr/share/glib-2.0/schemas/ > /dev/null 2>&1 &
}
#########################################################################################
echo "----------------Running Spark DStore Patch----------------"
if [ ! -e /usr/bin/deepin-app-store-tool ];then
# execute linkApp function for each app and print output
exec_uos_package_link
fi fi
exec_v23_icon_link
exec_link_clean
echo "----------------Finished----------------" wait
exec_uos_package_update
echo "----------------Finished----------------"

View File

@@ -9,6 +9,9 @@ case `arch` in
aarch64) aarch64)
STORE_URL="aarch64-store" STORE_URL="aarch64-store"
;; ;;
loongarch64)
STORE_URL="loong64-store"
;;
esac esac
if [ -z $1 ] || [ "$2" != "HD70642" ];then if [ -z $1 ] || [ "$2" != "HD70642" ];then

View File

@@ -10,6 +10,10 @@ case $(arch) in
aarch64) aarch64)
STORE_URL="aarch64-store" STORE_URL="aarch64-store"
;; ;;
loongarch64)
STORE_URL="loong64-store"
STORE_LIST_URL="-loong64"
;;
esac esac
echo "Spark Store Install script. 星火商店安装脚本" echo "Spark Store Install script. 星火商店安装脚本"
@@ -75,6 +79,7 @@ function hash_check() {
echo "Running Spark Package Verify..." echo "Running Spark Package Verify..."
DEB_SHA512SUM=$(sha512sum "$1" | cut -d ' ' -f 1) DEB_SHA512SUM=$(sha512sum "$1" | cut -d ' ' -f 1)
unset IS_SHA512SUM_CHECKED
IS_SHA512SUM_CHECKED=$(cat "$PACKAGES_DATA_PATH" | grep "$DEB_SHA512SUM") IS_SHA512SUM_CHECKED=$(cat "$PACKAGES_DATA_PATH" | grep "$DEB_SHA512SUM")
} }
@@ -162,4 +167,3 @@ if [ ! -z "$IS_SHA512SUM_CHECKED" ]; then
fi fi
fi fi
fi fi

View File

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

View File

@@ -126,9 +126,9 @@
</message> </message>
<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="190"/> <location filename="../src/pages/appintopage.cpp" line="192"/>
<location filename="../src/pages/appintopage.cpp" line="328"/> <location filename="../src/pages/appintopage.cpp" line="330"/>
<location filename="../src/pages/appintopage.cpp" line="498"/> <location filename="../src/pages/appintopage.cpp" line="500"/>
<source>Download and Install</source> <source>Download and Install</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
@@ -175,79 +175,79 @@
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../src/pages/appintopage.cpp" line="56"/> <location filename="../src/pages/appintopage.cpp" line="53"/>
<source>Click Open</source> <source>Click Open</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../src/pages/appintopage.cpp" line="129"/> <location filename="../src/pages/appintopage.cpp" line="126"/>
<source>Developer Mode Disabled</source> <source>Developer Mode Disabled</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../src/pages/appintopage.cpp" line="175"/> <location filename="../src/pages/appintopage.cpp" line="177"/>
<location filename="../src/pages/appintopage.cpp" line="344"/> <location filename="../src/pages/appintopage.cpp" line="346"/>
<location filename="../src/pages/appintopage.cpp" line="471"/> <location filename="../src/pages/appintopage.cpp" line="473"/>
<source>Reinstall</source> <source>Reinstall</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../src/pages/appintopage.cpp" line="182"/> <location filename="../src/pages/appintopage.cpp" line="184"/>
<source>Upgrade</source> <source>Upgrade</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../src/pages/appintopage.cpp" line="333"/> <location filename="../src/pages/appintopage.cpp" line="335"/>
<location filename="../src/pages/appintopage.cpp" line="447"/> <location filename="../src/pages/appintopage.cpp" line="449"/>
<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="338"/> <location filename="../src/pages/appintopage.cpp" line="340"/>
<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="426"/> <location filename="../src/pages/appintopage.cpp" line="428"/>
<location filename="../src/pages/appintopage.cpp" line="430"/> <location filename="../src/pages/appintopage.cpp" line="432"/>
<location filename="../src/pages/appintopage.cpp" line="434"/> <location filename="../src/pages/appintopage.cpp" line="436"/>
<location filename="../src/pages/appintopage.cpp" line="438"/> <location filename="../src/pages/appintopage.cpp" line="440"/>
<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="426"/> <location filename="../src/pages/appintopage.cpp" line="428"/>
<source>The current application does not support deepin, there may be problems</source> <source>The current application does not support 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="430"/> <location filename="../src/pages/appintopage.cpp" line="432"/>
<source>The current application does not support UOS, there may be problems</source> <source>The current application does not support 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="434"/> <location filename="../src/pages/appintopage.cpp" line="436"/>
<source>The current application does not support Ubuntu, there may be problems</source> <source>The current application does not support 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="438"/> <location filename="../src/pages/appintopage.cpp" line="440"/>
<source>The current application does not support current platform, there may be problems</source> <source>The current application does not support 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="502"/> <location filename="../src/pages/appintopage.cpp" line="504"/>
<location filename="../src/pages/appintopage.cpp" line="515"/> <location filename="../src/pages/appintopage.cpp" line="517"/>
<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="502"/> <location filename="../src/pages/appintopage.cpp" line="504"/>
<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="515"/> <location filename="../src/pages/appintopage.cpp" line="517"/>
<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>

View File

@@ -126,9 +126,9 @@
</message> </message>
<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="190"/> <location filename="../src/pages/appintopage.cpp" line="192"/>
<location filename="../src/pages/appintopage.cpp" line="328"/> <location filename="../src/pages/appintopage.cpp" line="330"/>
<location filename="../src/pages/appintopage.cpp" line="498"/> <location filename="../src/pages/appintopage.cpp" line="500"/>
<source>Download and Install</source> <source>Download and Install</source>
<translation>Descargar e instalar</translation> <translation>Descargar e instalar</translation>
</message> </message>
@@ -175,79 +175,79 @@
<translation>Sitio web</translation> <translation>Sitio web</translation>
</message> </message>
<message> <message>
<location filename="../src/pages/appintopage.cpp" line="56"/> <location filename="../src/pages/appintopage.cpp" line="53"/>
<source>Click Open</source> <source>Click Open</source>
<translation>Haga clic en &quot;abrir&quot;</translation> <translation>Haga clic en &quot;abrir&quot;</translation>
</message> </message>
<message> <message>
<location filename="../src/pages/appintopage.cpp" line="129"/> <location filename="../src/pages/appintopage.cpp" line="126"/>
<source>Developer Mode Disabled</source> <source>Developer Mode Disabled</source>
<translation>Se ha desactivado el modo desarrollador</translation> <translation>Se ha desactivado el modo desarrollador</translation>
</message> </message>
<message> <message>
<location filename="../src/pages/appintopage.cpp" line="175"/> <location filename="../src/pages/appintopage.cpp" line="177"/>
<location filename="../src/pages/appintopage.cpp" line="344"/> <location filename="../src/pages/appintopage.cpp" line="346"/>
<location filename="../src/pages/appintopage.cpp" line="471"/> <location filename="../src/pages/appintopage.cpp" line="473"/>
<source>Reinstall</source> <source>Reinstall</source>
<translation>Reinstalación</translation> <translation>Reinstalación</translation>
</message> </message>
<message> <message>
<location filename="../src/pages/appintopage.cpp" line="182"/> <location filename="../src/pages/appintopage.cpp" line="184"/>
<source>Upgrade</source> <source>Upgrade</source>
<translation>Actualización</translation> <translation>Actualización</translation>
</message> </message>
<message> <message>
<location filename="../src/pages/appintopage.cpp" line="333"/> <location filename="../src/pages/appintopage.cpp" line="335"/>
<location filename="../src/pages/appintopage.cpp" line="447"/> <location filename="../src/pages/appintopage.cpp" line="449"/>
<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="338"/> <location filename="../src/pages/appintopage.cpp" line="340"/>
<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="426"/> <location filename="../src/pages/appintopage.cpp" line="428"/>
<location filename="../src/pages/appintopage.cpp" line="430"/> <location filename="../src/pages/appintopage.cpp" line="432"/>
<location filename="../src/pages/appintopage.cpp" line="434"/> <location filename="../src/pages/appintopage.cpp" line="436"/>
<location filename="../src/pages/appintopage.cpp" line="438"/> <location filename="../src/pages/appintopage.cpp" line="440"/>
<source>Warning</source> <source>Warning</source>
<translation>Aviso</translation> <translation>Aviso</translation>
</message> </message>
<message> <message>
<location filename="../src/pages/appintopage.cpp" line="426"/> <location filename="../src/pages/appintopage.cpp" line="428"/>
<source>The current application does not support deepin, there may be problems</source> <source>The current application does not support deepin, there may be problems</source>
<translation>La aplicación actual no admite deepin, puede haber problemas</translation> <translation>La aplicación actual no admite deepin, puede haber problemas</translation>
</message> </message>
<message> <message>
<location filename="../src/pages/appintopage.cpp" line="430"/> <location filename="../src/pages/appintopage.cpp" line="432"/>
<source>The current application does not support UOS, there may be problems</source> <source>The current application does not support UOS, there may be problems</source>
<translation>La aplicación actual no admite uos, puede haber problemas</translation> <translation>La aplicación actual no admite uos, puede haber problemas</translation>
</message> </message>
<message> <message>
<location filename="../src/pages/appintopage.cpp" line="434"/> <location filename="../src/pages/appintopage.cpp" line="436"/>
<source>The current application does not support Ubuntu, there may be problems</source> <source>The current application does not support Ubuntu, there may be problems</source>
<translation>La aplicación actual no admite ubuntu, puede haber problemas</translation> <translation>La aplicación actual no admite ubuntu, puede haber problemas</translation>
</message> </message>
<message> <message>
<location filename="../src/pages/appintopage.cpp" line="438"/> <location filename="../src/pages/appintopage.cpp" line="440"/>
<source>The current application does not support current platform, there may be problems</source> <source>The current application does not support current platform, there may be problems</source>
<translation>La aplicación actual no admite la Plataforma actual, puede haber problemas</translation> <translation>La aplicación actual no admite la Plataforma actual, puede haber problemas</translation>
</message> </message>
<message> <message>
<location filename="../src/pages/appintopage.cpp" line="502"/> <location filename="../src/pages/appintopage.cpp" line="504"/>
<location filename="../src/pages/appintopage.cpp" line="515"/> <location filename="../src/pages/appintopage.cpp" line="517"/>
<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="502"/> <location filename="../src/pages/appintopage.cpp" line="504"/>
<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="515"/> <location filename="../src/pages/appintopage.cpp" line="517"/>
<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>

View File

@@ -126,9 +126,9 @@
</message> </message>
<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="190"/> <location filename="../src/pages/appintopage.cpp" line="192"/>
<location filename="../src/pages/appintopage.cpp" line="328"/> <location filename="../src/pages/appintopage.cpp" line="330"/>
<location filename="../src/pages/appintopage.cpp" line="498"/> <location filename="../src/pages/appintopage.cpp" line="500"/>
<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>
@@ -175,79 +175,79 @@
<translation>Site Web</translation> <translation>Site Web</translation>
</message> </message>
<message> <message>
<location filename="../src/pages/appintopage.cpp" line="56"/> <location filename="../src/pages/appintopage.cpp" line="53"/>
<source>Click Open</source> <source>Click Open</source>
<translation>Cliquez sur Ouvrir</translation> <translation>Cliquez sur Ouvrir</translation>
</message> </message>
<message> <message>
<location filename="../src/pages/appintopage.cpp" line="129"/> <location filename="../src/pages/appintopage.cpp" line="126"/>
<source>Developer Mode Disabled</source> <source>Developer Mode Disabled</source>
<translation>Mode développeur désactivé</translation> <translation>Mode développeur désactivé</translation>
</message> </message>
<message> <message>
<location filename="../src/pages/appintopage.cpp" line="175"/> <location filename="../src/pages/appintopage.cpp" line="177"/>
<location filename="../src/pages/appintopage.cpp" line="344"/> <location filename="../src/pages/appintopage.cpp" line="346"/>
<location filename="../src/pages/appintopage.cpp" line="471"/> <location filename="../src/pages/appintopage.cpp" line="473"/>
<source>Reinstall</source> <source>Reinstall</source>
<translation>Réinstaller</translation> <translation>Réinstaller</translation>
</message> </message>
<message> <message>
<location filename="../src/pages/appintopage.cpp" line="182"/> <location filename="../src/pages/appintopage.cpp" line="184"/>
<source>Upgrade</source> <source>Upgrade</source>
<translation>Mise à niveau</translation> <translation>Mise à niveau</translation>
</message> </message>
<message> <message>
<location filename="../src/pages/appintopage.cpp" line="333"/> <location filename="../src/pages/appintopage.cpp" line="335"/>
<location filename="../src/pages/appintopage.cpp" line="447"/> <location filename="../src/pages/appintopage.cpp" line="449"/>
<source>Install</source> <source>Install</source>
<translation>Installation</translation> <translation>Installation</translation>
</message> </message>
<message> <message>
<location filename="../src/pages/appintopage.cpp" line="338"/> <location filename="../src/pages/appintopage.cpp" line="340"/>
<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="426"/> <location filename="../src/pages/appintopage.cpp" line="428"/>
<location filename="../src/pages/appintopage.cpp" line="430"/> <location filename="../src/pages/appintopage.cpp" line="432"/>
<location filename="../src/pages/appintopage.cpp" line="434"/> <location filename="../src/pages/appintopage.cpp" line="436"/>
<location filename="../src/pages/appintopage.cpp" line="438"/> <location filename="../src/pages/appintopage.cpp" line="440"/>
<source>Warning</source> <source>Warning</source>
<translation>Avertissement</translation> <translation>Avertissement</translation>
</message> </message>
<message> <message>
<location filename="../src/pages/appintopage.cpp" line="426"/> <location filename="../src/pages/appintopage.cpp" line="428"/>
<source>The current application does not support deepin, there may be problems</source> <source>The current application does not support deepin, there may be problems</source>
<translation>L&apos;application actuelle ne supporte pas deepin, il peut y avoir un problème</translation> <translation>L&apos;application actuelle ne supporte pas deepin, il peut y avoir un problème</translation>
</message> </message>
<message> <message>
<location filename="../src/pages/appintopage.cpp" line="430"/> <location filename="../src/pages/appintopage.cpp" line="432"/>
<source>The current application does not support UOS, there may be problems</source> <source>The current application does not support UOS, there may be problems</source>
<translation>L&apos;application actuelle ne prend pas en charge uos, il peut y avoir un problème</translation> <translation>L&apos;application actuelle ne prend pas en charge uos, il peut y avoir un problème</translation>
</message> </message>
<message> <message>
<location filename="../src/pages/appintopage.cpp" line="434"/> <location filename="../src/pages/appintopage.cpp" line="436"/>
<source>The current application does not support Ubuntu, there may be problems</source> <source>The current application does not support Ubuntu, there may be problems</source>
<translation>L&apos;application actuelle ne supporte pas Ubuntu, il peut y avoir un problème</translation> <translation>L&apos;application actuelle ne supporte pas Ubuntu, il peut y avoir un problème</translation>
</message> </message>
<message> <message>
<location filename="../src/pages/appintopage.cpp" line="438"/> <location filename="../src/pages/appintopage.cpp" line="440"/>
<source>The current application does not support current platform, there may be problems</source> <source>The current application does not support current platform, there may be problems</source>
<translation>L&apos;application actuelle ne prend pas en charge la plate - forme actuelle, il peut y avoir un problème</translation> <translation>L&apos;application actuelle ne prend pas en charge la plate - forme actuelle, il peut y avoir un problème</translation>
</message> </message>
<message> <message>
<location filename="../src/pages/appintopage.cpp" line="502"/> <location filename="../src/pages/appintopage.cpp" line="504"/>
<location filename="../src/pages/appintopage.cpp" line="515"/> <location filename="../src/pages/appintopage.cpp" line="517"/>
<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="502"/> <location filename="../src/pages/appintopage.cpp" line="504"/>
<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="515"/> <location filename="../src/pages/appintopage.cpp" line="517"/>
<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>

View File

@@ -121,9 +121,9 @@
</message> </message>
<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="190"/> <location filename="../src/pages/appintopage.cpp" line="192"/>
<location filename="../src/pages/appintopage.cpp" line="328"/> <location filename="../src/pages/appintopage.cpp" line="330"/>
<location filename="../src/pages/appintopage.cpp" line="498"/> <location filename="../src/pages/appintopage.cpp" line="500"/>
<source>Download and Install</source> <source>Download and Install</source>
<translation></translation> <translation></translation>
</message> </message>
@@ -175,79 +175,79 @@
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../src/pages/appintopage.cpp" line="56"/> <location filename="../src/pages/appintopage.cpp" line="53"/>
<source>Click Open</source> <source>Click Open</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../src/pages/appintopage.cpp" line="129"/> <location filename="../src/pages/appintopage.cpp" line="126"/>
<source>Developer Mode Disabled</source> <source>Developer Mode Disabled</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../src/pages/appintopage.cpp" line="175"/> <location filename="../src/pages/appintopage.cpp" line="177"/>
<location filename="../src/pages/appintopage.cpp" line="344"/> <location filename="../src/pages/appintopage.cpp" line="346"/>
<location filename="../src/pages/appintopage.cpp" line="471"/> <location filename="../src/pages/appintopage.cpp" line="473"/>
<source>Reinstall</source> <source>Reinstall</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../src/pages/appintopage.cpp" line="182"/> <location filename="../src/pages/appintopage.cpp" line="184"/>
<source>Upgrade</source> <source>Upgrade</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../src/pages/appintopage.cpp" line="333"/> <location filename="../src/pages/appintopage.cpp" line="335"/>
<location filename="../src/pages/appintopage.cpp" line="447"/> <location filename="../src/pages/appintopage.cpp" line="449"/>
<source>Install</source> <source>Install</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../src/pages/appintopage.cpp" line="338"/> <location filename="../src/pages/appintopage.cpp" line="340"/>
<source>Installing</source> <source>Installing</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../src/pages/appintopage.cpp" line="426"/> <location filename="../src/pages/appintopage.cpp" line="428"/>
<location filename="../src/pages/appintopage.cpp" line="430"/> <location filename="../src/pages/appintopage.cpp" line="432"/>
<location filename="../src/pages/appintopage.cpp" line="434"/> <location filename="../src/pages/appintopage.cpp" line="436"/>
<location filename="../src/pages/appintopage.cpp" line="438"/> <location filename="../src/pages/appintopage.cpp" line="440"/>
<source>Warning</source> <source>Warning</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../src/pages/appintopage.cpp" line="426"/> <location filename="../src/pages/appintopage.cpp" line="428"/>
<source>The current application does not support deepin, there may be problems</source> <source>The current application does not support deepin, there may be problems</source>
<translation>deepin</translation> <translation>deepin</translation>
</message> </message>
<message> <message>
<location filename="../src/pages/appintopage.cpp" line="430"/> <location filename="../src/pages/appintopage.cpp" line="432"/>
<source>The current application does not support UOS, there may be problems</source> <source>The current application does not support UOS, there may be problems</source>
<translation>UOS</translation> <translation>UOS</translation>
</message> </message>
<message> <message>
<location filename="../src/pages/appintopage.cpp" line="434"/> <location filename="../src/pages/appintopage.cpp" line="436"/>
<source>The current application does not support Ubuntu, there may be problems</source> <source>The current application does not support Ubuntu, there may be problems</source>
<translation>Ubuntu</translation> <translation>Ubuntu</translation>
</message> </message>
<message> <message>
<location filename="../src/pages/appintopage.cpp" line="438"/> <location filename="../src/pages/appintopage.cpp" line="440"/>
<source>The current application does not support current platform, there may be problems</source> <source>The current application does not support current platform, there may be problems</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../src/pages/appintopage.cpp" line="502"/> <location filename="../src/pages/appintopage.cpp" line="504"/>
<location filename="../src/pages/appintopage.cpp" line="515"/> <location filename="../src/pages/appintopage.cpp" line="517"/>
<source>Spark Store</source> <source>Spark Store</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../src/pages/appintopage.cpp" line="502"/> <location filename="../src/pages/appintopage.cpp" line="504"/>
<source>Uninstall succeeded</source> <source>Uninstall succeeded</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../src/pages/appintopage.cpp" line="515"/> <location filename="../src/pages/appintopage.cpp" line="517"/>
<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>

View File

@@ -121,9 +121,9 @@
</message> </message>
<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="190"/> <location filename="../src/pages/appintopage.cpp" line="192"/>
<location filename="../src/pages/appintopage.cpp" line="328"/> <location filename="../src/pages/appintopage.cpp" line="330"/>
<location filename="../src/pages/appintopage.cpp" line="498"/> <location filename="../src/pages/appintopage.cpp" line="500"/>
<source>Download and Install</source> <source>Download and Install</source>
<translation></translation> <translation></translation>
</message> </message>
@@ -175,79 +175,79 @@
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../src/pages/appintopage.cpp" line="56"/> <location filename="../src/pages/appintopage.cpp" line="53"/>
<source>Click Open</source> <source>Click Open</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../src/pages/appintopage.cpp" line="129"/> <location filename="../src/pages/appintopage.cpp" line="126"/>
<source>Developer Mode Disabled</source> <source>Developer Mode Disabled</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../src/pages/appintopage.cpp" line="175"/> <location filename="../src/pages/appintopage.cpp" line="177"/>
<location filename="../src/pages/appintopage.cpp" line="344"/> <location filename="../src/pages/appintopage.cpp" line="346"/>
<location filename="../src/pages/appintopage.cpp" line="471"/> <location filename="../src/pages/appintopage.cpp" line="473"/>
<source>Reinstall</source> <source>Reinstall</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../src/pages/appintopage.cpp" line="182"/> <location filename="../src/pages/appintopage.cpp" line="184"/>
<source>Upgrade</source> <source>Upgrade</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../src/pages/appintopage.cpp" line="333"/> <location filename="../src/pages/appintopage.cpp" line="335"/>
<location filename="../src/pages/appintopage.cpp" line="447"/> <location filename="../src/pages/appintopage.cpp" line="449"/>
<source>Install</source> <source>Install</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../src/pages/appintopage.cpp" line="338"/> <location filename="../src/pages/appintopage.cpp" line="340"/>
<source>Installing</source> <source>Installing</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../src/pages/appintopage.cpp" line="426"/> <location filename="../src/pages/appintopage.cpp" line="428"/>
<location filename="../src/pages/appintopage.cpp" line="430"/> <location filename="../src/pages/appintopage.cpp" line="432"/>
<location filename="../src/pages/appintopage.cpp" line="434"/> <location filename="../src/pages/appintopage.cpp" line="436"/>
<location filename="../src/pages/appintopage.cpp" line="438"/> <location filename="../src/pages/appintopage.cpp" line="440"/>
<source>Warning</source> <source>Warning</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../src/pages/appintopage.cpp" line="426"/> <location filename="../src/pages/appintopage.cpp" line="428"/>
<source>The current application does not support deepin, there may be problems</source> <source>The current application does not support deepin, there may be problems</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../src/pages/appintopage.cpp" line="430"/> <location filename="../src/pages/appintopage.cpp" line="432"/>
<source>The current application does not support UOS, there may be problems</source> <source>The current application does not support UOS, there may be problems</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../src/pages/appintopage.cpp" line="434"/> <location filename="../src/pages/appintopage.cpp" line="436"/>
<source>The current application does not support Ubuntu, there may be problems</source> <source>The current application does not support Ubuntu, there may be problems</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../src/pages/appintopage.cpp" line="438"/> <location filename="../src/pages/appintopage.cpp" line="440"/>
<source>The current application does not support current platform, there may be problems</source> <source>The current application does not support current platform, there may be problems</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../src/pages/appintopage.cpp" line="502"/> <location filename="../src/pages/appintopage.cpp" line="504"/>
<location filename="../src/pages/appintopage.cpp" line="515"/> <location filename="../src/pages/appintopage.cpp" line="517"/>
<source>Spark Store</source> <source>Spark Store</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../src/pages/appintopage.cpp" line="502"/> <location filename="../src/pages/appintopage.cpp" line="504"/>
<source>Uninstall succeeded</source> <source>Uninstall succeeded</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../src/pages/appintopage.cpp" line="515"/> <location filename="../src/pages/appintopage.cpp" line="517"/>
<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>