mirror of
https://gitee.com/spark-store-project/spark-store
synced 2025-12-14 04:42:03 +08:00
10
debian/changelog
vendored
10
debian/changelog
vendored
@@ -1,3 +1,13 @@
|
||||
spark-store (4.2.2) stable; urgency=medium
|
||||
|
||||
* 调整:脚本应用的transhell支持转为source导入
|
||||
* 修复:ssinstall弹窗支持wayland
|
||||
* 新增:应用托盘,下载时候可以放心关闭窗口了
|
||||
* 新增:支持spk://search/内容 格式链接
|
||||
|
||||
--shenmo <shenmo@spark-app.store> Fri, 30 Jan 2022 00:00:00 +0800
|
||||
|
||||
|
||||
spark-store (4.2.1) stable; urgency=medium
|
||||
|
||||
* 调整:支持在安装前进行测试(ss-do-upgrade-worker),但是未实装到appinfo
|
||||
|
||||
44
patchs/README.md
Normal file
44
patchs/README.md
Normal file
@@ -0,0 +1,44 @@
|
||||
# 补丁操作说明
|
||||
|
||||
- 克隆与构建本项目
|
||||
|
||||
> 用于 zinface-community-cmake-build-system.patch 补丁化构建方式
|
||||
|
||||
```shell
|
||||
git clone https://gitee.com/deepin-community-store/spark-store
|
||||
cd spark-store
|
||||
git am < patchs/zinface-community-cmake-build-system.patch
|
||||
make package
|
||||
sudo dpkg -i build/*.deb
|
||||
```
|
||||
|
||||
|
||||
- 在应用补丁时,并对补丁进行的更新操作
|
||||
|
||||
```shell
|
||||
# 切换到一个新的分支,即可开始进行补丁内的更新提交
|
||||
git checkout -b cmake-build-system
|
||||
|
||||
# origin/dev 表示本仓库的 dev 开发分支
|
||||
# 在应用过补丁,并产生了新的提交,即可在当前所在补丁更新分支内
|
||||
# 相对基于 origin/dev 为参考,目前所包含的所有最新提交内容将生成为一个补丁文件(其中尾部为增量更新)
|
||||
git format-patch --stdout origin/dev > patchs/zinface-community-cmake-build-system.patch
|
||||
|
||||
# 最后,回到你的原 dev 分支,将被改变的补丁文件进行提交
|
||||
# 在推送完成后,即可放弃你在 cmake-build-system 分支中所有产生的内容(因为都已经进入补丁)
|
||||
```
|
||||
|
||||
- 一些注意事项
|
||||
|
||||
```shell
|
||||
# 在不了解补丁时,你需要认识一下补丁,但补丁与补丁之间有着不同的用法
|
||||
# 本 patchs/zinface-community-cmake-build-system.patch 补丁为 cmake 化构建
|
||||
|
||||
# 关于补丁的一些方面
|
||||
# 1. 首先你需要了解 git 是什么,以及简单的使用
|
||||
# 2. 你需要了解补丁是什么,以及简单的使用(应用补丁)
|
||||
# 3. 你需要了解如何创建一个补丁,最基本的就是相对于旧目标分支,将本分区新增的提交进行导出为补丁
|
||||
# 4. 你可能只会将单个提交、或多个提交导出为补丁,但这还不够,你需要具有绝对的对于补丁的理解
|
||||
# 5. 对于不同的目的补丁,应该是多个 patch 文件存在的形式
|
||||
# 6. 最后,不管在什么时候,你在应用补丁前,你应该考虑是否应用到当前分支?为什么不切换到一个新的分支呢?
|
||||
```
|
||||
@@ -1,7 +1,7 @@
|
||||
From 9d1714ec7ceb3748bd151af059389ed10d37e676 Mon Sep 17 00:00:00 2001
|
||||
From abbfbf12c1ea9853039e6864d0ede91973189ce6 Mon Sep 17 00:00:00 2001
|
||||
From: zinface <zinface@163.com>
|
||||
Date: Sun, 11 Dec 2022 22:27:23 +0800
|
||||
Subject: [PATCH 1/5] =?UTF-8?q?repo:=20=E4=B8=80=E6=AC=A1=E6=80=A7?=
|
||||
Subject: [PATCH 01/10] =?UTF-8?q?repo:=20=E4=B8=80=E6=AC=A1=E6=80=A7?=
|
||||
=?UTF-8?q?=E5=AF=BC=E5=85=A5=20spark=20=E9=AA=A8=E6=9E=B6=E4=BB=A5?=
|
||||
=?UTF-8?q?=E5=8F=98=E4=B8=BA=20cmake=20=E6=9E=84=E5=BB=BA?=
|
||||
MIME-Version: 1.0
|
||||
@@ -1789,10 +1789,10 @@ index 0000000..0fa070b
|
||||
2.20.1
|
||||
|
||||
|
||||
From 1e1cb19995536d74626960ae863bf4c5cd9e3a4b Mon Sep 17 00:00:00 2001
|
||||
From d1974334ce60291894b53f6839b78f3147aaa233 Mon Sep 17 00:00:00 2001
|
||||
From: zinface <zinface@163.com>
|
||||
Date: Sun, 11 Dec 2022 22:37:26 +0800
|
||||
Subject: [PATCH 2/5] =?UTF-8?q?repo:=20=E5=A4=84=E7=90=86=20deb=20?=
|
||||
Subject: [PATCH 02/10] =?UTF-8?q?repo:=20=E5=A4=84=E7=90=86=20deb=20?=
|
||||
=?UTF-8?q?=E5=AE=89=E8=A3=85=E8=84=9A=E6=9C=AC=E7=9A=84=E9=97=AE=E9=A2=98?=
|
||||
=?UTF-8?q?=EF=BC=8C=E5=AE=8C=E6=88=90=20cmake=20=E5=8C=96=E6=9E=84?=
|
||||
=?UTF-8?q?=E5=BB=BA?=
|
||||
@@ -1856,10 +1856,10 @@ index 2ab24e7..38ad2d7 100644
|
||||
2.20.1
|
||||
|
||||
|
||||
From 4f07b34bc268bc3c49ef1c51c524d50ccbbf6d07 Mon Sep 17 00:00:00 2001
|
||||
From 5a978c7db6c34d7dcd4aa56d94605e51245004a5 Mon Sep 17 00:00:00 2001
|
||||
From: zinface <zinface@163.com>
|
||||
Date: Mon, 12 Dec 2022 00:50:01 +0800
|
||||
Subject: [PATCH 3/5] =?UTF-8?q?docs:=20=E6=B7=BB=E5=8A=A0=20Spark=20?=
|
||||
Subject: [PATCH 03/10] =?UTF-8?q?docs:=20=E6=B7=BB=E5=8A=A0=20Spark=20?=
|
||||
=?UTF-8?q?=E6=9E=84=E5=BB=BA=20=E4=B8=8E=20CMake=20=E6=9E=84=E5=BB=BA?=
|
||||
=?UTF-8?q?=E7=B3=BB=E7=BB=9F=E9=A2=84=E8=A7=88=E6=96=87=E6=A1=A3?=
|
||||
MIME-Version: 1.0
|
||||
@@ -2184,10 +2184,10 @@ index 0000000..a807009
|
||||
2.20.1
|
||||
|
||||
|
||||
From cb59139fcfd74b530a14f2a987aa38d28d403225 Mon Sep 17 00:00:00 2001
|
||||
From 4b5b4bc91a42cc860efbe1728f2dba9f255ea954 Mon Sep 17 00:00:00 2001
|
||||
From: zinface <zinface@163.com>
|
||||
Date: Thu, 15 Dec 2022 19:59:46 +0800
|
||||
Subject: [PATCH 4/5] =?UTF-8?q?repo:=20=E6=9B=B4=E6=96=B0=E7=94=A8?=
|
||||
Subject: [PATCH 04/10] =?UTF-8?q?repo:=20=E6=9B=B4=E6=96=B0=E7=94=A8?=
|
||||
=?UTF-8?q?=E4=BA=8E=20Qt5=20Svg=20=E4=BE=9D=E8=B5=96=E7=9A=84=E6=9E=84?=
|
||||
=?UTF-8?q?=E5=BB=BA=E5=86=85=E5=AE=B9?=
|
||||
MIME-Version: 1.0
|
||||
@@ -2236,10 +2236,10 @@ index b56399f..67e29b6 100644
|
||||
2.20.1
|
||||
|
||||
|
||||
From 72e5ca47cef718cdbd4ea45134d574874fb43ba9 Mon Sep 17 00:00:00 2001
|
||||
From ede820a7267afa113a2d8b4f93f45fa6c1b4b23b Mon Sep 17 00:00:00 2001
|
||||
From: zinface <zinface@163.com>
|
||||
Date: Mon, 19 Dec 2022 02:58:17 +0800
|
||||
Subject: [PATCH 5/5] =?UTF-8?q?repo:=20=E6=9B=B4=E6=96=B0=E7=94=A8?=
|
||||
Subject: [PATCH 05/10] =?UTF-8?q?repo:=20=E6=9B=B4=E6=96=B0=E7=94=A8?=
|
||||
=?UTF-8?q?=E4=BA=8E=E6=94=AF=E6=8C=81=20BaseWidgetOpacity=20=E5=9F=BA?=
|
||||
=?UTF-8?q?=E7=A1=80=E7=B1=BB=E7=9A=84=E6=9E=84=E5=BB=BA?=
|
||||
MIME-Version: 1.0
|
||||
@@ -2282,3 +2282,315 @@ index 14530e1..b5e32d8 100644
|
||||
--
|
||||
2.20.1
|
||||
|
||||
|
||||
From b63790722efa275977b2033a1beeb21b730c1895 Mon Sep 17 00:00:00 2001
|
||||
From: zinface <zinface@163.com>
|
||||
Date: Mon, 30 Jan 2023 20:48:25 +0800
|
||||
Subject: [PATCH 06/10] =?UTF-8?q?spark:=20=E5=88=9B=E5=BB=BA=E6=96=B0?=
|
||||
=?UTF-8?q?=E7=9A=84=E6=A8=A1=E5=9D=97=E7=94=A8=E4=BA=8E=20debian/changelo?=
|
||||
=?UTF-8?q?g=20=E7=9A=84=E7=89=88=E6=9C=AC=E5=8F=B7=E9=87=8D=E5=86=99?=
|
||||
=?UTF-8?q?=E8=A7=84=E5=88=99?=
|
||||
MIME-Version: 1.0
|
||||
Content-Type: text/plain; charset=UTF-8
|
||||
Content-Transfer-Encoding: 8bit
|
||||
|
||||
1. SparkDebianChangelogVersion.cmake
|
||||
在此文件中提供 spark_debian_changelog_override_version 宏:
|
||||
基于指定的 debian/changelog 文件并用于读取最新版本号并覆盖到项目版本
|
||||
|
||||
@Since: v4.0.0
|
||||
---
|
||||
CMakeLists.txt | 4 ++
|
||||
cmake/SparkDebianChangelogVersion.cmake | 58 +++++++++++++++++++++++++
|
||||
2 files changed, 62 insertions(+)
|
||||
create mode 100644 cmake/SparkDebianChangelogVersion.cmake
|
||||
|
||||
diff --git a/CMakeLists.txt b/CMakeLists.txt
|
||||
index b5e32d8..73221bc 100644
|
||||
--- a/CMakeLists.txt
|
||||
+++ b/CMakeLists.txt
|
||||
@@ -11,6 +11,10 @@ include(cmake/SparkFindDtkConfig.cmake) # 提供了 target_link_dtk 用
|
||||
include(cmake/SparkTranslatorConfig.cmake) # 提供了 qt5 ts转qm 的操作,最终生成 SPARK_QM_TRANSLATIONS 变量用于构建可执行文件时参与编译
|
||||
include(cmake/SparkMacrosExtendConfig.cmake) # 使用了 spark_ 宏基于已提供的宏参数自动展开构建可执行目标文件
|
||||
include(cmake/SparkInstallMacrosConfig.cmake) # 提供了 spark_install 开头的 macro 宏用于安装 target、file、program、directory、changelog 等内容
|
||||
+include(cmake/SparkDebianChangelogVersion.cmake)# 提供了 spark_debian_ 开头的宏进行进行覆盖 PROJECT_VERSION
|
||||
+
|
||||
+# 在开始之前,使用项目中提供的 debian/changelog 进行重写本构建系统的 PROJECT_VERSION
|
||||
+spark_debian_changelog_override_version(debian/changelog)
|
||||
|
||||
# 资源文件路径
|
||||
set(QRC_SOURCES "src/assets/assets.qrc")
|
||||
diff --git a/cmake/SparkDebianChangelogVersion.cmake b/cmake/SparkDebianChangelogVersion.cmake
|
||||
new file mode 100644
|
||||
index 0000000..9d8bca2
|
||||
--- /dev/null
|
||||
+++ b/cmake/SparkDebianChangelogVersion.cmake
|
||||
@@ -0,0 +1,58 @@
|
||||
+# SparkDebianChangelogVersion
|
||||
+
|
||||
+# 尝试读取 debian/changelog 文件的第一行数据,并查找
|
||||
+# spark-store (4.2.2) stable; urgency=medium
|
||||
+# 将 (version) 信息应用用于 PROJECT_VERSION
|
||||
+
|
||||
+
|
||||
+macro(spark_debian_changelog_override_version _CHANGELOG_FILE_PATH)
|
||||
+ set(CHANGELOG_FILE_PATH ${_CHANGELOG_FILE_PATH})
|
||||
+ set(CHANGELOG_FILE_EXISTS FALSE)
|
||||
+
|
||||
+ # 首次判断,如果判断文件不存在,将尽可能的判断文件是存在的
|
||||
+ if(NOT EXISTS ${CHANGELOG_FILE_PATH})
|
||||
+
|
||||
+ # 在 CMake v3.19 起,可以使用 file(REAL_PATH <path> <out-var>) 进行获取 path 的绝对路径
|
||||
+ if(CMAKE_VERSION GREATER_EQUAL 3.19)
|
||||
+ file(REAL_PATH ${CHANGELOG_FILE_PATH} CHANGELOG_FILE_ABSOLUTE_PATH)
|
||||
+ if(EXISTS ${CHANGELOG_FILE_ABSOLUTE_PATH})
|
||||
+ set(CHANGELOG_FILE_EXISTS TRUE)
|
||||
+ set(CHANGELOG_FILE_PATH ${CHANGELOG_FILE_ABSOLUTE_PATH})
|
||||
+ endif(EXISTS ${CHANGELOG_FILE_ABSOLUTE_PATH})
|
||||
+ endif(CMAKE_VERSION GREATER_EQUAL 3.19)
|
||||
+
|
||||
+ # 第二次判断与处理 使用 file(SIZE) 方式
|
||||
+ if(NOT CHANGELOG_FILE_EXISTS)
|
||||
+ file(SIZE ${CHANGELOG_FILE_PATH} CHANGELOG_FILE_SIZE)
|
||||
+ if(CHANGELOG_FILE_SIZE GREATER 0)
|
||||
+ set(CHANGELOG_FILE_EXISTS TRUE)
|
||||
+ endif(CHANGELOG_FILE_SIZE GREATER 0)
|
||||
+ endif(NOT CHANGELOG_FILE_EXISTS)
|
||||
+
|
||||
+ # 第三次判断与处理 使用路径拼接方式
|
||||
+ if(NOT CHANGELOG_FILE_EXISTS)
|
||||
+ if(EXISTS ${CMAKE_SOURCE_DIR}/${CHANGELOG_FILE_PATH})
|
||||
+ set(CHANGELOG_FILE_PATH ${CMAKE_SOURCE_DIR}/${CHANGELOG_FILE_PATH})
|
||||
+ set(CHANGELOG_FILE_EXISTS TRUE)
|
||||
+ endif(EXISTS ${CMAKE_SOURCE_DIR}/${CHANGELOG_FILE_PATH})
|
||||
+ endif(NOT CHANGELOG_FILE_EXISTS)
|
||||
+ endif(NOT EXISTS ${CHANGELOG_FILE_PATH})
|
||||
+
|
||||
+ message("> V = ${CHANGELOG_FILE_PATH}")
|
||||
+ if(CHANGELOG_FILE_EXISTS)
|
||||
+ file(READ ${CHANGELOG_FILE_PATH} CHANGELOG_CONTENT LIMIT 20)
|
||||
+
|
||||
+ string(FIND ${CHANGELOG_CONTENT} "(" V_PRE) # +1 to V_BEGIN
|
||||
+ string(FIND ${CHANGELOG_CONTENT} ")" V_END)
|
||||
+
|
||||
+ math(EXPR V_BEGIN "${V_PRE}+1")
|
||||
+ math(EXPR V_LENGTH "${V_END}-${V_BEGIN}")
|
||||
+
|
||||
+ string(SUBSTRING ${CHANGELOG_CONTENT} ${V_BEGIN} ${V_LENGTH} V)
|
||||
+
|
||||
+ message("> V = ${CHANGELOG_CONTENT}")
|
||||
+ message("> V = [${V}]")
|
||||
+
|
||||
+ set(PROJECT_VERSION ${V})
|
||||
+ endif(CHANGELOG_FILE_EXISTS)
|
||||
+endmacro(spark_debian_changelog_override_version _CHANGELOG_FILE_PATH)
|
||||
--
|
||||
2.20.1
|
||||
|
||||
|
||||
From cca243c18b125a0e24a08c06a358ee04f0861884 Mon Sep 17 00:00:00 2001
|
||||
From: zinface <zinface@163.com>
|
||||
Date: Mon, 30 Jan 2023 21:23:15 +0800
|
||||
Subject: [PATCH 07/10] =?UTF-8?q?spark:=20=E5=AF=B9=20SparkDebianChangelog?=
|
||||
=?UTF-8?q?Version.cmake=20=E6=A8=A1=E5=9D=97=E7=9A=84=E6=89=A9=E5=B1=95?=
|
||||
MIME-Version: 1.0
|
||||
Content-Type: text/plain; charset=UTF-8
|
||||
Content-Transfer-Encoding: 8bit
|
||||
|
||||
1. 增加 SPARK_OVERRIDE_VERSION 的文件输出
|
||||
以解决 Makefile 中无法明确多个 deb 包时无法确定最新版本的情况
|
||||
---
|
||||
Makefile | 15 +++++++++++++--
|
||||
cmake/SparkDebianChangelogVersion.cmake | 1 +
|
||||
2 files changed, 14 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/Makefile b/Makefile
|
||||
index c673c76..81ca078 100644
|
||||
--- a/Makefile
|
||||
+++ b/Makefile
|
||||
@@ -8,6 +8,17 @@ SUFFIX=_$(OSID)$(OSRELEASE)
|
||||
endif
|
||||
|
||||
PROJECT_NAME=spark-store
|
||||
+PROJECT_VERSION=*
|
||||
+
|
||||
+ifneq ($(wildcard build/SPARK_OVERRIDE_VERSION),)
|
||||
+SPARK_OVERRIDE_VERSION=`cat build/SPARK_OVERRIDE_VERSION`
|
||||
+.PHONY: override-version
|
||||
+override-version:
|
||||
+ @echo $(SPARK_OVERRIDE_VERSION)
|
||||
+ @echo "wildcard - good: $(wildcard build/SPARK_OVERRIDE_VERSION)"
|
||||
+ @echo "wildcard - bad.: $(wildcard build/SPARK_OVERRIDE_VERSIONS)"
|
||||
+PROJECT_VERSION=$(SPARK_OVERRIDE_VERSION)-
|
||||
+endif
|
||||
|
||||
all:
|
||||
mkdir -p build
|
||||
@@ -44,7 +55,7 @@ debian-build-scripts:
|
||||
package: release debian-build-scripts
|
||||
cd build && make package
|
||||
tree build/_CPack_Packages/Linux/DEB/$(PROJECT_NAME)-*
|
||||
- dpkg-deb --contents build/$(PROJECT_NAME)_*$(CALENDAR)*$(SUFFIX).deb
|
||||
+ dpkg-deb --contents build/$(PROJECT_NAME)_$(PROJECT_VERSION)$(CALENDAR)*$(SUFFIX).deb
|
||||
# cd build/_CPack_Packages/Linux/DEB/$(PROJECT_NAME)_*$(CALENDAR)*$(SUFFIX).deb && find .
|
||||
|
||||
builddeps:
|
||||
@@ -54,7 +65,7 @@ cpus:
|
||||
@echo "CPU数量: $(CPUS)"
|
||||
|
||||
copytosource:package
|
||||
- cp build/$(PROJECT_NAME)_*$(CALENDAR)*.deb .
|
||||
+ cp build/$(PROJECT_NAME)_$(PROJECT_VERSION)$(CALENDAR)*.deb .
|
||||
|
||||
# 进入 qdebug 模式,在 deepin 中默认被禁用,可 env | grep QT 查看,并在 /etc/X11/Xsession.d/00deepin-dde-env 配置中已定义
|
||||
# 1. 禁止 qt 的 debug 打印: qt.*.debug=false
|
||||
diff --git a/cmake/SparkDebianChangelogVersion.cmake b/cmake/SparkDebianChangelogVersion.cmake
|
||||
index 9d8bca2..65e1c16 100644
|
||||
--- a/cmake/SparkDebianChangelogVersion.cmake
|
||||
+++ b/cmake/SparkDebianChangelogVersion.cmake
|
||||
@@ -54,5 +54,6 @@ macro(spark_debian_changelog_override_version _CHANGELOG_FILE_PATH)
|
||||
message("> V = [${V}]")
|
||||
|
||||
set(PROJECT_VERSION ${V})
|
||||
+ file(WRITE ${CMAKE_BINARY_DIR}/SPARK_OVERRIDE_VERSION ${V})
|
||||
endif(CHANGELOG_FILE_EXISTS)
|
||||
endmacro(spark_debian_changelog_override_version _CHANGELOG_FILE_PATH)
|
||||
--
|
||||
2.20.1
|
||||
|
||||
|
||||
From f3595a55f567fc01a5928fea8e4b89f99cf8793e Mon Sep 17 00:00:00 2001
|
||||
From: zinface <zinface@163.com>
|
||||
Date: Mon, 30 Jan 2023 23:17:24 +0800
|
||||
Subject: [PATCH 08/10] =?UTF-8?q?repo:=20=E5=A4=84=E7=90=86=20v4.2.2=20?=
|
||||
=?UTF-8?q?=E7=89=88=E6=9C=AC=E6=97=B6=E6=9C=9F=E6=96=B0=E5=A2=9E=E7=9A=84?=
|
||||
=?UTF-8?q?=E5=AE=89=E8=A3=85=E6=96=87=E4=BB=B6?=
|
||||
MIME-Version: 1.0
|
||||
Content-Type: text/plain; charset=UTF-8
|
||||
Content-Transfer-Encoding: 8bit
|
||||
|
||||
pkg/usr/share/ssinstall/transhell
|
||||
-> /usr/share/ssinstall
|
||||
---
|
||||
CMakeLists.txt | 5 +++++
|
||||
cmake/SparkInstallMacrosConfig.cmake | 2 +-
|
||||
2 files changed, 6 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/CMakeLists.txt b/CMakeLists.txt
|
||||
index 73221bc..22a788d 100644
|
||||
--- a/CMakeLists.txt
|
||||
+++ b/CMakeLists.txt
|
||||
@@ -86,6 +86,11 @@ spark_install_file(/usr/share/icons/hicolor/scalable/apps
|
||||
spark_install_program(/tmp/spark-store-install
|
||||
pkg/tmp/spark-store-install/feedback.sh)
|
||||
|
||||
+# 安装什么翻译? Since: v4.2.2
|
||||
+spark_install_directory(/usr/share/ssinstall
|
||||
+ pkg/usr/share/ssinstall/transhell
|
||||
+)
|
||||
+
|
||||
# 安装 qm 文件?
|
||||
spark_install_file(/usr/share/spark-store/translations
|
||||
${SPARK_QM_TRANSLATIONS})
|
||||
diff --git a/cmake/SparkInstallMacrosConfig.cmake b/cmake/SparkInstallMacrosConfig.cmake
|
||||
index bbb958a..c7ea53b 100644
|
||||
--- a/cmake/SparkInstallMacrosConfig.cmake
|
||||
+++ b/cmake/SparkInstallMacrosConfig.cmake
|
||||
@@ -79,7 +79,7 @@ macro(spark_install_directory INSTALL_DIRECTORY_DIR INSTALL_DIRECOTRY)
|
||||
# message(FATAL_ERROR " directory: ${INSTALL_DIRECTORY_FIND_INDEX_SUBSTRING_FILE_GLOB_LIST_LENGTH}")
|
||||
|
||||
else()
|
||||
- message(FATAL_ERROR "install: ${INSTALL_DIRECTORY_DIR}")
|
||||
+ # message(FATAL_ERROR "install: ${INSTALL_DIRECTORY_DIR}")
|
||||
|
||||
install(DIRECTORY
|
||||
${INSTALL_DIRECOTRY} ${ARGN}
|
||||
--
|
||||
2.20.1
|
||||
|
||||
|
||||
From da9ef6f95ea7be97595b1e3285ac8e98a34c8c0a Mon Sep 17 00:00:00 2001
|
||||
From: zinface <zinface@163.com>
|
||||
Date: Mon, 30 Jan 2023 23:18:44 +0800
|
||||
Subject: [PATCH 09/10] =?UTF-8?q?spark:=20=E5=AF=B9=20SparkTranslatorConfi?=
|
||||
=?UTF-8?q?g.cmake=20=E6=A8=A1=E5=9D=97=E7=9A=84=E6=89=A9=E5=B1=95?=
|
||||
MIME-Version: 1.0
|
||||
Content-Type: text/plain; charset=UTF-8
|
||||
Content-Transfer-Encoding: 8bit
|
||||
|
||||
1. 增加 SPARK_QM_TRANSLATIONS 的文件输出
|
||||
无任何其它变动
|
||||
---
|
||||
cmake/SparkTranslatorConfig.cmake | 5 +++++
|
||||
1 file changed, 5 insertions(+)
|
||||
|
||||
diff --git a/cmake/SparkTranslatorConfig.cmake b/cmake/SparkTranslatorConfig.cmake
|
||||
index 272dd9d..689e70d 100644
|
||||
--- a/cmake/SparkTranslatorConfig.cmake
|
||||
+++ b/cmake/SparkTranslatorConfig.cmake
|
||||
@@ -12,6 +12,11 @@ endforeach(item IN LISTS SPARK_TRANSLATIONS)
|
||||
qt5_add_translation(SPARK_QM_TRANSLATIONS
|
||||
${SPARK_TRANSLATIONS})
|
||||
|
||||
+file(WRITE ${CMAKE_BINARY_DIR}/SPARK_QM_TRANSLATIONS "")
|
||||
+foreach(item IN LISTS SPARK_QM_TRANSLATIONS)
|
||||
+ file(APPEND ${CMAKE_BINARY_DIR}/SPARK_QM_TRANSLATIONS "${item}\n")
|
||||
+endforeach(item IN LISTS SPARK_QM_TRANSLATIONS)
|
||||
+
|
||||
message("translator(ts -> qm):")
|
||||
foreach(item IN LISTS SPARK_QM_TRANSLATIONS)
|
||||
message("-> ${item}")
|
||||
--
|
||||
2.20.1
|
||||
|
||||
|
||||
From 22eea0e930a073cac8e6dd750b6389044668dcd6 Mon Sep 17 00:00:00 2001
|
||||
From: zinface <zinface@163.com>
|
||||
Date: Mon, 30 Jan 2023 23:20:12 +0800
|
||||
Subject: [PATCH 10/10] =?UTF-8?q?make:=20=E5=A4=84=E7=90=86=E9=BB=98?=
|
||||
=?UTF-8?q?=E8=AE=A4=20make=20=E7=9B=AE=E6=A0=87=E4=B8=BA=20override-versi?=
|
||||
=?UTF-8?q?on=20=E7=9A=84=E9=97=AE=E9=A2=98?=
|
||||
MIME-Version: 1.0
|
||||
Content-Type: text/plain; charset=UTF-8
|
||||
Content-Transfer-Encoding: 8bit
|
||||
|
||||
---
|
||||
Makefile | 16 ++++++++++------
|
||||
1 file changed, 10 insertions(+), 6 deletions(-)
|
||||
|
||||
diff --git a/Makefile b/Makefile
|
||||
index 81ca078..076502c 100644
|
||||
--- a/Makefile
|
||||
+++ b/Makefile
|
||||
@@ -12,11 +12,6 @@ PROJECT_VERSION=*
|
||||
|
||||
ifneq ($(wildcard build/SPARK_OVERRIDE_VERSION),)
|
||||
SPARK_OVERRIDE_VERSION=`cat build/SPARK_OVERRIDE_VERSION`
|
||||
-.PHONY: override-version
|
||||
-override-version:
|
||||
- @echo $(SPARK_OVERRIDE_VERSION)
|
||||
- @echo "wildcard - good: $(wildcard build/SPARK_OVERRIDE_VERSION)"
|
||||
- @echo "wildcard - bad.: $(wildcard build/SPARK_OVERRIDE_VERSIONS)"
|
||||
PROJECT_VERSION=$(SPARK_OVERRIDE_VERSION)-
|
||||
endif
|
||||
|
||||
@@ -82,4 +77,13 @@ copytosource:package
|
||||
enter-qdebug-mode:
|
||||
# 进入新的 bash 环境
|
||||
@# export QT_LOGGING_RULES=".debug=true; qt.*.debug=false; dtk.*.debug=false; dde.*.debug=false; qtc*=false; " && bash
|
||||
- export QT_LOGGING_RULES=".debug=true" && bash
|
||||
\ No newline at end of file
|
||||
+ export QT_LOGGING_RULES=".debug=true" && bash
|
||||
+
|
||||
+
|
||||
+ifneq ($(wildcard build/SPARK_OVERRIDE_VERSION),)
|
||||
+.PHONY: override-version
|
||||
+override-version:
|
||||
+ @echo $(SPARK_OVERRIDE_VERSION)
|
||||
+ @echo "wildcard - good: $(wildcard build/SPARK_OVERRIDE_VERSION)"
|
||||
+ @echo "wildcard - bad.: $(wildcard build/SPARK_OVERRIDE_VERSIONS)"
|
||||
+endif
|
||||
\ No newline at end of file
|
||||
--
|
||||
2.20.1
|
||||
|
||||
|
||||
@@ -19,6 +19,8 @@ Application::Application(int &argc, char **argv)
|
||||
}
|
||||
setAttribute(Qt::AA_UseHighDpiPixmaps);
|
||||
|
||||
setQuitOnLastWindowClosed(false); // 启用托盘图标时,关闭窗口程序仍然运行
|
||||
|
||||
loadTranslator(); // 载入翻译
|
||||
|
||||
setOrganizationName("spark-union");
|
||||
|
||||
@@ -5,6 +5,10 @@
|
||||
#include <DApplicationSettings>
|
||||
#include <DWidgetUtil>
|
||||
|
||||
#include <QDate>
|
||||
#include <QProcessEnvironment>
|
||||
#include <QSettings>
|
||||
#include <QFile>
|
||||
#include <QStandardPaths>
|
||||
|
||||
DCORE_USE_NAMESPACE
|
||||
@@ -15,7 +19,7 @@ DWIDGET_USE_NAMESPACE
|
||||
int main(int argc, char *argv[])
|
||||
{
|
||||
// Get build time
|
||||
static const QString version = "4.2.1";
|
||||
static const QString version = "4.2.2";
|
||||
static const QDate buildDate = QLocale(QLocale::English).toDate(QString(__DATE__).replace(" ", " 0"), "MMM dd yyyy");
|
||||
static const QTime buildTime = QTime::fromString(__TIME__, "hh:mm:ss");
|
||||
static const QString buildDateTime = buildDate.toString("yyyy.MM.dd") + "-" + buildTime.toString("hh:mm:ss");
|
||||
@@ -124,7 +128,6 @@ int main(int argc, char *argv[])
|
||||
return -1;
|
||||
}
|
||||
|
||||
DGuiApplicationHelper::instance()->setPaletteType(DGuiApplicationHelper::LightType); // 固定主题为浅色主题
|
||||
DApplicationSettings settings; // 定义 DApplicationSettings,自动保存主题设置
|
||||
|
||||
MainWindow w;
|
||||
@@ -136,7 +139,7 @@ int main(int argc, char *argv[])
|
||||
QString arg1 = argv[1];
|
||||
if (arg1.trimmed().startsWith("spk://"))
|
||||
{
|
||||
w.openUrl(QUrl(argv[1]));
|
||||
w.openUrl(arg1);
|
||||
}
|
||||
}
|
||||
w.show();
|
||||
|
||||
@@ -1,10 +1,16 @@
|
||||
#include "mainwindow-dtk.h"
|
||||
#include "ui_mainwindow-dtk.h"
|
||||
#include "utils/widgetanimation.h"
|
||||
#include "widgets/common/progressbutton.h"
|
||||
#include "widgets/downloadlistwidget.h"
|
||||
#include "dbus/dbussparkstoreservice.h"
|
||||
#include "application.h"
|
||||
|
||||
#include <DLabel>
|
||||
#include <DWidgetUtil>
|
||||
#include <DGuiApplicationHelper>
|
||||
#include <DApplicationSettings>
|
||||
#include <QSizePolicy>
|
||||
|
||||
#include <QAbstractButton>
|
||||
|
||||
#define AppPageApplist 0
|
||||
#define AppPageSearchlist 1
|
||||
@@ -16,43 +22,160 @@
|
||||
#define UploadServerUrl "https://upload.deepinos.org/"
|
||||
|
||||
MainWindow::MainWindow(QWidget *parent)
|
||||
: BaseWidgetOpacity(parent), ui(new Ui::MainWindow)
|
||||
: BaseWidgetOpacity(parent)
|
||||
, ui(new Ui::MainWindow)
|
||||
, downloadlistwidget(new DownloadListWidget)
|
||||
, trayIcon(new QSystemTrayIcon(QIcon::fromTheme("spark-store"), this))
|
||||
{
|
||||
ui->setupUi(this);
|
||||
setWindowTitle(QObject::tr("Spark Store"));
|
||||
initConfig();
|
||||
|
||||
// FIXME: wayland 不支持直接设置窗口透明度,需要调用 wayland 相关库(考虑抄控制中心“窗口移动时启用透明特效”代码?)
|
||||
QSettings config(QStandardPaths::writableLocation(QStandardPaths::AppConfigLocation) + "/config.ini", QSettings::IniFormat);
|
||||
bool isWayland = config.value("build/isWayland").toBool();
|
||||
if (!isWayland)
|
||||
initTmpDir();
|
||||
|
||||
initUI();
|
||||
initConnections();
|
||||
|
||||
ui->appintopage->setDownloadWidget(downloadlistwidget);
|
||||
|
||||
emit DGuiApplicationHelper::instance()->themeTypeChanged(DGuiApplicationHelper::instance()->themeType());
|
||||
}
|
||||
|
||||
MainWindow::~MainWindow()
|
||||
{
|
||||
delete ui;
|
||||
|
||||
downloadlistwidget->deleteLater();
|
||||
}
|
||||
|
||||
void MainWindow::initDbus()
|
||||
{
|
||||
DBusSparkStoreService *dbusInter = new DBusSparkStoreService(this);
|
||||
|
||||
QDBusConnection::sessionBus().registerService("com.gitee.spark.store");
|
||||
QDBusConnection::sessionBus().registerObject("/com/gitee/spark/store", "com.gitee.spark.store", this);
|
||||
connect(dbusInter, &DBusSparkStoreService::sigOpenUrl, this, &MainWindow::onGetUrl);
|
||||
}
|
||||
|
||||
void MainWindow::onGetUrl(const QString &url)
|
||||
{
|
||||
if (url.trimmed().startsWith("spk://"))
|
||||
{
|
||||
WidgetAnimation::widgetOpacity(this, true);
|
||||
openUrl(url);
|
||||
}
|
||||
|
||||
searchEdit = new DSearchEdit(ui->titlebar);
|
||||
downloadlistwidget = new DownloadListWidget;
|
||||
downloadButton = new ProgressButton(ui->titlebar);
|
||||
backButtom = new QPushButton(ui->titlebar);
|
||||
ui->appintopage->setDownloadWidget(downloadlistwidget);
|
||||
ui->stackedWidget->setCurrentIndex(0);
|
||||
ui->titlebar->setBackgroundTransparent(true);
|
||||
// ui->titlebar->setSwitchThemeMenuVisible(false); // 去除 dtk 标题栏主题切换菜单
|
||||
showWindowAnimation = false;
|
||||
closeWindowAnimation = false;
|
||||
|
||||
setWindowState(windowState() & Qt::WindowActive);
|
||||
activateWindow();
|
||||
show();
|
||||
}
|
||||
|
||||
void MainWindow::onNewProcessInstance(qint64 pid, const QStringList &arguments)
|
||||
{
|
||||
Q_UNUSED(pid)
|
||||
|
||||
if (arguments.size() > 1)
|
||||
{
|
||||
onGetUrl(arguments.value(1));
|
||||
}
|
||||
}
|
||||
|
||||
void MainWindow::openUrl(const QString &url)
|
||||
{
|
||||
if (url.startsWith("spk://search/"))
|
||||
{
|
||||
QString keyword = url.mid(13);
|
||||
if (keyword == "%")
|
||||
{
|
||||
qWarning() << "keyword '%' is not valid, which will cause QtWebEngine crash.";
|
||||
return;
|
||||
}
|
||||
ui->applistpage_1->getSearchList(keyword);
|
||||
switchPage(AppPageSearchlist);
|
||||
}
|
||||
else if (url.startsWith("spk://"))
|
||||
{
|
||||
ui->appintopage->openUrl(QUrl::fromUserInput(url));
|
||||
switchPage(AppPageAppdetail);
|
||||
}
|
||||
else
|
||||
{
|
||||
QDesktopServices::openUrl(QUrl::fromUserInput(url));
|
||||
}
|
||||
}
|
||||
|
||||
void MainWindow::initUI()
|
||||
{
|
||||
setWindowTitle(QObject::tr("Spark Store"));
|
||||
setMaskAlpha(250);
|
||||
|
||||
initTitleBar();
|
||||
initLeftMenu();
|
||||
|
||||
ui->stackedWidget->setCurrentIndex(0);
|
||||
updateUi(0);
|
||||
|
||||
initTrayIcon();
|
||||
}
|
||||
|
||||
void MainWindow::initTitleBar()
|
||||
{
|
||||
ui->titlebar->setIcon(QIcon::fromTheme("spark-store"));
|
||||
ui->titlebar->setBackgroundTransparent(true);
|
||||
// ui->titlebar->setSwitchThemeMenuVisible(false); // 去除 dtk 标题栏主题切换菜单
|
||||
|
||||
// 初始化标题栏控件
|
||||
DLabel *title = new DLabel(ui->titlebar);
|
||||
title->setText(tr("Spark Store"));
|
||||
|
||||
backButton = new DPushButton(ui->titlebar);
|
||||
|
||||
searchEdit = new DSearchEdit(ui->titlebar);
|
||||
searchEdit->setPlaceholderText(tr("Search or enter spk://"));
|
||||
|
||||
downloadButton = new ProgressButton(ui->titlebar);
|
||||
|
||||
QWidget *w_titlebar = new QWidget(ui->titlebar);
|
||||
QHBoxLayout *ly_titlebar = new QHBoxLayout(w_titlebar);
|
||||
ly_titlebar->addWidget(title);
|
||||
ly_titlebar->addWidget(backButton);
|
||||
// Check wayland configs
|
||||
QSettings config(QStandardPaths::writableLocation(QStandardPaths::AppConfigLocation) + "/config.ini", QSettings::IniFormat);
|
||||
if (!config.value("build/isDeepinOS").toBool() && config.value("build/useWayland").toBool())
|
||||
{
|
||||
// Wayland 搜索栏居中
|
||||
ly_titlebar->addStretch(WaylandSearchCenter);
|
||||
}
|
||||
else
|
||||
{
|
||||
// dwayland dxcb 搜索栏顶部右侧居中
|
||||
ly_titlebar->addStretch(OtherSearchCenter);
|
||||
}
|
||||
ly_titlebar->addWidget(searchEdit);
|
||||
ly_titlebar->addWidget(downloadButton);
|
||||
ly_titlebar->addStretch(RightSearchSpace);
|
||||
ui->titlebar->setCustomWidget(w_titlebar);
|
||||
|
||||
initTitleBarMenu();
|
||||
|
||||
backButton->hide();
|
||||
downloadlistwidget->hide();
|
||||
}
|
||||
|
||||
void MainWindow::initTitleBarMenu()
|
||||
{
|
||||
QAction *actionSubmission = new QAction(tr("Submit App"), this);
|
||||
QAction *actionSubmissionWithClient = new QAction(tr("Submit App with client(Recommanded)"), this);
|
||||
QAction *setting = new QAction(tr("Settings"));
|
||||
QAction *upgrade = new QAction(tr("APP Upgrade and Install Settings"));
|
||||
QMenu *menu = new QMenu;
|
||||
QMenu *menu = new QMenu(ui->titlebar);
|
||||
menu->addAction(setting);
|
||||
menu->addAction(upgrade);
|
||||
menu->addAction(actionSubmission);
|
||||
menu->addAction(actionSubmissionWithClient);
|
||||
|
||||
ui->titlebar->setMenu(menu);
|
||||
|
||||
connect(actionSubmission, &QAction::triggered, this, [=]
|
||||
{ QDesktopServices::openUrl(QUrl(UploadServerUrl)); });
|
||||
connect(setting, &QAction::triggered, this, [=]
|
||||
@@ -76,14 +199,62 @@ MainWindow::MainWindow(QWidget *parent)
|
||||
qDebug() << "投稿器不存在,跳转页面";
|
||||
openUrl(submitterSpk);
|
||||
} });
|
||||
}
|
||||
|
||||
void MainWindow::initLeftMenu()
|
||||
{
|
||||
// 侧边栏按钮
|
||||
foreach (QAbstractButton *button, ui->buttonGroup->buttons())
|
||||
{
|
||||
button->setStyleSheet("QPushButton{qproperty-icon: url(data/images/userMangaer/teacher.png);}");
|
||||
connect(button, &QPushButton::toggled, [=](bool checked)
|
||||
{
|
||||
if (checked == true) {
|
||||
searchEdit->clearEdit();
|
||||
updateUi(ui->buttonGroup->buttons().indexOf(button));
|
||||
} });
|
||||
}
|
||||
}
|
||||
|
||||
void MainWindow::initTrayIcon()
|
||||
{
|
||||
QMenu *menu = new QMenu(this);
|
||||
|
||||
QAction *showAction = new QAction(QObject::tr("Show MainWindow"), menu);
|
||||
QAction *aboutAction = new QAction(qApp->translate("TitleBarMenu", "About"), menu);
|
||||
QAction *exitAction = new QAction(qApp->translate("TitleBarMenu", "Exit"), menu);
|
||||
menu->addAction(showAction);
|
||||
menu->addAction(aboutAction);
|
||||
menu->addAction(exitAction);
|
||||
trayIcon->setContextMenu(menu);
|
||||
|
||||
connect(showAction, &QAction::triggered, this, [=]()
|
||||
{
|
||||
showWindowAnimation = false;
|
||||
closeWindowAnimation = false;
|
||||
|
||||
setWindowState(windowState() & Qt::WindowActive);
|
||||
activateWindow();
|
||||
show(); });
|
||||
connect(aboutAction, &QAction::triggered, this, [=]()
|
||||
{
|
||||
qobject_cast<Application *>(qApp)->handleAboutAction(); });
|
||||
connect(exitAction, &QAction::triggered, this, [=]()
|
||||
{
|
||||
qobject_cast<Application *>(qApp)->quit(); });
|
||||
|
||||
trayIcon->show();
|
||||
}
|
||||
|
||||
void MainWindow::initConnections()
|
||||
{
|
||||
// 主题切换
|
||||
connect(DGuiApplicationHelper::instance(), &DGuiApplicationHelper::themeTypeChanged, this, [=](DGuiApplicationHelper::ColorType themeType)
|
||||
{
|
||||
if (themeType == DGuiApplicationHelper::DarkType) {
|
||||
//深色模式
|
||||
setMaskColor(QColor("#2a2b2b"));
|
||||
backButtom->setIcon(QIcon(":/icon/dark/back.svg"));
|
||||
backButton->setIcon(QIcon(":/icon/dark/back.svg"));
|
||||
downloadButton->setIcon(":/icon/dark/download.svg");
|
||||
downloadButton->setBackgroundColor(QColor("#444444"));
|
||||
downloadButton->setColor(QColor("#66CCFF"));
|
||||
@@ -103,7 +274,7 @@ MainWindow::MainWindow(QWidget *parent)
|
||||
} else {
|
||||
//亮色模式
|
||||
setMaskColor(QColor("#f3f7f8"));
|
||||
backButtom->setIcon(QIcon(":/icon/light/back.svg"));
|
||||
backButton->setIcon(QIcon(":/icon/light/back.svg"));
|
||||
downloadButton->setBackgroundColor(QColor("#e3e4e4"));
|
||||
downloadButton->setColor(QColor("#66CCFF"));
|
||||
downloadButton->setIcon(":/icon/light/download.svg");
|
||||
@@ -127,7 +298,6 @@ MainWindow::MainWindow(QWidget *parent)
|
||||
ui->appintopage->setTheme(themeType == DGuiApplicationHelper::DarkType);
|
||||
ui->settingspage->setTheme(themeType == DGuiApplicationHelper::DarkType); });
|
||||
|
||||
// 初始化标题栏控件
|
||||
connect(downloadButton, &ProgressButton::clicked, [=]()
|
||||
{
|
||||
QPoint pos;
|
||||
@@ -142,57 +312,15 @@ MainWindow::MainWindow(QWidget *parent)
|
||||
WidgetAnimation::widgetShake(downloadButton, 6); // 第一个参数是抖动的控件,第二个参数是抖动范围(像素)
|
||||
});
|
||||
|
||||
connect(backButtom, &QPushButton::clicked, [=]()
|
||||
connect(backButton, &QPushButton::clicked, [=]()
|
||||
{
|
||||
ui->stackedWidget->setCurrentIndex(pageHistory.at(pageHistory.count() - 2));
|
||||
pageHistory.removeLast();
|
||||
if (pageHistory.count() > 1) {
|
||||
backButtom->show();
|
||||
backButton->show();
|
||||
} else {
|
||||
backButtom->hide();
|
||||
backButton->hide();
|
||||
} });
|
||||
downloadlistwidget->hide();
|
||||
backButtom->hide();
|
||||
ui->titlebar->setIcon(QIcon::fromTheme(":/icon/logo.svg"));
|
||||
|
||||
QWidget *w_titlebar = new QWidget(ui->titlebar);
|
||||
QHBoxLayout *ly_titlebar = new QHBoxLayout(w_titlebar);
|
||||
QLabel *title = new QLabel(ui->titlebar);
|
||||
title->setText(tr("Spark Store"));
|
||||
searchEdit->setPlaceholderText(tr("Search or enter spk://"));
|
||||
ly_titlebar->addWidget(title);
|
||||
ly_titlebar->addWidget(backButtom);
|
||||
|
||||
// Check wayland configs
|
||||
// QSettings config(QStandardPaths::writableLocation(QStandardPaths::AppConfigLocation) + "/config.ini", QSettings::IniFormat);
|
||||
if (!config.value("build/isDeepinOS").toBool() && config.value("build/useWayland").toBool())
|
||||
{
|
||||
// Wayland 搜索栏居中
|
||||
ly_titlebar->addStretch(WaylandSearchCenter);
|
||||
}
|
||||
else
|
||||
{
|
||||
// dwayland dxcb 搜索栏顶部右侧居中
|
||||
ly_titlebar->addStretch(OtherSearchCenter);
|
||||
}
|
||||
|
||||
ly_titlebar->addWidget(searchEdit);
|
||||
ly_titlebar->addWidget(downloadButton);
|
||||
ly_titlebar->addStretch(RightSearchSpace);
|
||||
ui->titlebar->setCustomWidget(w_titlebar);
|
||||
// 侧边栏按钮
|
||||
int i = 0;
|
||||
while (i < ui->buttonGroup->buttons().size())
|
||||
{
|
||||
ui->buttonGroup->buttons()[i]->setStyleSheet("QPushButton{qproperty-icon: url(data/images/userMangaer/teacher.png);}");
|
||||
connect(ui->buttonGroup->buttons()[i], &QPushButton::toggled, [=](bool checked)
|
||||
{
|
||||
if (checked == true) {
|
||||
searchEdit->clearEdit();
|
||||
updateUi(i);
|
||||
} });
|
||||
i++;
|
||||
}
|
||||
|
||||
// 搜索事件
|
||||
connect(searchEdit, &DSearchEdit::returnPressed, this, [=]()
|
||||
@@ -200,11 +328,18 @@ MainWindow::MainWindow(QWidget *parent)
|
||||
QString searchtext = searchEdit->text();
|
||||
if (!searchtext.isEmpty()) {
|
||||
if (searchtext.startsWith("spk://")) {
|
||||
openUrl(QUrl(searchtext));
|
||||
openUrl(searchtext);
|
||||
searchEdit->clearEdit();
|
||||
} else {
|
||||
ui->applistpage_1->getSearchList(searchtext);
|
||||
switchPage(AppPageSearchlist);
|
||||
if (searchtext == "%")
|
||||
{
|
||||
qWarning() << "keyword '%' matches too many results, which will cause QtWebEngine crash.";
|
||||
}
|
||||
else
|
||||
{
|
||||
ui->applistpage_1->getSearchList(searchtext);
|
||||
switchPage(AppPageSearchlist);
|
||||
}
|
||||
}
|
||||
}
|
||||
this->setFocus(); });
|
||||
@@ -213,68 +348,35 @@ MainWindow::MainWindow(QWidget *parent)
|
||||
{ downloadButton->setProgress(i); });
|
||||
// 列表点击事件
|
||||
connect(ui->applistpage, &AppListPage::clicked, this, [=](QUrl spk)
|
||||
{ openUrl(spk); });
|
||||
{ openUrl(spk.toString()); });
|
||||
connect(ui->applistpage_1, &AppListPage::clicked, this, [=](QUrl spk)
|
||||
{ openUrl(spk); });
|
||||
{ openUrl(spk.toString()); });
|
||||
connect(ui->settingspage, &SettingsPage::openUrl, this, [=](QUrl spk)
|
||||
{ openUrl(spk); });
|
||||
emit DGuiApplicationHelper::instance()->themeTypeChanged(DGuiApplicationHelper::instance()->themeType());
|
||||
{ openUrl(spk.toString()); });
|
||||
|
||||
// 托盘图标点击事件
|
||||
connect(trayIcon, &QSystemTrayIcon::activated, this, [=](QSystemTrayIcon::ActivationReason reason)
|
||||
{
|
||||
switch (reason) {
|
||||
case QSystemTrayIcon::Trigger:
|
||||
{
|
||||
showWindowAnimation = false;
|
||||
closeWindowAnimation = false;
|
||||
|
||||
setWindowState(windowState() & Qt::WindowActive);
|
||||
activateWindow();
|
||||
show();
|
||||
|
||||
Q_FALLTHROUGH();
|
||||
}
|
||||
default:
|
||||
break;
|
||||
} });
|
||||
|
||||
connect(DGuiApplicationHelper::instance(), &DGuiApplicationHelper::newProcessInstance, this, &MainWindow::onNewProcessInstance);
|
||||
}
|
||||
|
||||
MainWindow::~MainWindow()
|
||||
{
|
||||
delete ui;
|
||||
|
||||
if (downloadlistwidget)
|
||||
{
|
||||
downloadlistwidget->deleteLater();
|
||||
}
|
||||
}
|
||||
|
||||
void MainWindow::initDbus()
|
||||
{
|
||||
DBusSparkStoreService *dbusInter = new DBusSparkStoreService(this);
|
||||
|
||||
QDBusConnection::sessionBus().registerService("com.gitee.spark.store");
|
||||
QDBusConnection::sessionBus().registerObject("/com/gitee/spark/store", "com.gitee.spark.store", this);
|
||||
connect(dbusInter, &DBusSparkStoreService::sigOpenUrl, this, &MainWindow::onGetUrl);
|
||||
}
|
||||
|
||||
void MainWindow::onGetUrl(const QString &url)
|
||||
{
|
||||
if (url.trimmed().startsWith("spk://"))
|
||||
{
|
||||
openUrl(QUrl(url));
|
||||
}
|
||||
activateWindow();
|
||||
}
|
||||
|
||||
void MainWindow::onNewProcessInstance(qint64 pid, const QStringList &arguments)
|
||||
{
|
||||
Q_UNUSED(pid)
|
||||
|
||||
if (arguments.size() > 1)
|
||||
{
|
||||
onGetUrl(arguments.value(1));
|
||||
}
|
||||
}
|
||||
|
||||
void MainWindow::openUrl(QUrl url)
|
||||
{
|
||||
if (url.toString().startsWith("spk://"))
|
||||
{
|
||||
ui->appintopage->openUrl(QUrl(url.toString().replace("+", "%2B")));
|
||||
switchPage(AppPageAppdetail);
|
||||
}
|
||||
else
|
||||
{
|
||||
QDesktopServices::openUrl(QUrl(url.toString().replace("+", "%2B")));
|
||||
}
|
||||
}
|
||||
|
||||
void MainWindow::initConfig()
|
||||
void MainWindow::initTmpDir()
|
||||
{
|
||||
// 新建临时文件夹
|
||||
QDir dir;
|
||||
@@ -286,11 +388,11 @@ void MainWindow::switchPage(int now) // 临时方案,回家后修改
|
||||
qDebug() << pageHistory.count();
|
||||
if (pageHistory.count() >= 1)
|
||||
{
|
||||
backButtom->show();
|
||||
backButton->show();
|
||||
}
|
||||
else
|
||||
{
|
||||
backButtom->hide();
|
||||
backButton->hide();
|
||||
}
|
||||
ui->stackedWidget->setCurrentIndex(now);
|
||||
ui->stackedWidget->currentWidget()->setFocus();
|
||||
@@ -355,5 +457,5 @@ void MainWindow::on_pushButton_14_clicked()
|
||||
upgradeP->waitForFinished(-1);
|
||||
upgradeP->deleteLater(); });
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,21 +1,15 @@
|
||||
#ifndef MAINWINDOWDTK_H
|
||||
#define MAINWINDOWDTK_H
|
||||
|
||||
#include "widgets/base/basewidgetopacity.h"
|
||||
|
||||
#include <DMainWindow>
|
||||
#include <DTitlebar>
|
||||
#include <DPushButton>
|
||||
#include <DSearchEdit>
|
||||
#include <QGraphicsDropShadowEffect>
|
||||
#include <DGuiApplicationHelper>
|
||||
|
||||
#include <QPushButton>
|
||||
#include <QDir>
|
||||
#include <QDesktopServices>
|
||||
|
||||
#include "widgets/base/basewidgetopacity.h"
|
||||
#include "widgets/downloadlistwidget.h"
|
||||
#include "widgets/common/progressbutton.h"
|
||||
#include "utils/widgetanimation.h"
|
||||
#include "dbus/dbussparkstoreservice.h"
|
||||
#include <QSystemTrayIcon>
|
||||
|
||||
DWIDGET_USE_NAMESPACE
|
||||
|
||||
@@ -23,6 +17,8 @@ namespace Ui {
|
||||
class MainWindow;
|
||||
}
|
||||
|
||||
class ProgressButton;
|
||||
class DownloadListWidget;
|
||||
class MainWindow : public BaseWidgetOpacity
|
||||
{
|
||||
Q_OBJECT
|
||||
@@ -31,11 +27,17 @@ public:
|
||||
explicit MainWindow(QWidget *parent = nullptr);
|
||||
~MainWindow();
|
||||
|
||||
void openUrl(QUrl);
|
||||
void openUrl(const QString &url);
|
||||
|
||||
private:
|
||||
void initUI();
|
||||
void initTitleBar();
|
||||
void initTitleBarMenu();
|
||||
void initLeftMenu();
|
||||
void initTrayIcon();
|
||||
void initConnections();
|
||||
void initDbus();
|
||||
void initConfig();
|
||||
void initTmpDir();
|
||||
void switchPage(int now);
|
||||
void updateUi(int now);
|
||||
|
||||
@@ -46,13 +48,16 @@ private slots:
|
||||
void on_pushButton_14_clicked();
|
||||
|
||||
private:
|
||||
QList<int> pageHistory;
|
||||
|
||||
Ui::MainWindow *ui;
|
||||
DownloadListWidget *downloadlistwidget;
|
||||
ProgressButton *downloadButton;
|
||||
QPushButton *backButtom;
|
||||
|
||||
DPushButton *backButton;
|
||||
DSearchEdit *searchEdit;
|
||||
ProgressButton *downloadButton;
|
||||
DownloadListWidget *downloadlistwidget;
|
||||
|
||||
QSystemTrayIcon *trayIcon = nullptr;
|
||||
|
||||
QList<int> pageHistory;
|
||||
};
|
||||
|
||||
#endif // MAINWINDOWDTK_H
|
||||
|
||||
@@ -56,7 +56,7 @@ void AppListPage::getAppList(QString type)
|
||||
delete api;
|
||||
}
|
||||
|
||||
void AppListPage::getSearchList(QString keyword)
|
||||
void AppListPage::getSearchList(const QString &keyword)
|
||||
{
|
||||
isSearch = true;
|
||||
nowType = keyword;
|
||||
@@ -71,7 +71,7 @@ void AppListPage::getSearchList(QString keyword)
|
||||
{
|
||||
theme = "theme=light";
|
||||
}
|
||||
url = api->getServerUrl() + "store/#/flamescion/search?keywords=" + keyword + "&" + theme;
|
||||
url = api->getServerUrl() + "store/#/flamescion/search?keywords=" + QUrl::toPercentEncoding(keyword) + "&" + theme;
|
||||
ui->webEngineView->setUrl(url);
|
||||
delete api;
|
||||
}
|
||||
|
||||
@@ -14,7 +14,7 @@ class AppListPage : public QWidget
|
||||
|
||||
public:
|
||||
void setTheme(bool dark);
|
||||
void getSearchList(QString keyword);
|
||||
void getSearchList(const QString &keyword);
|
||||
void getAppList(QString type);
|
||||
explicit AppListPage(QWidget *parent = nullptr);
|
||||
~AppListPage();
|
||||
|
||||
@@ -1,15 +1,37 @@
|
||||
#include "basewidgetopacity.h"
|
||||
#include "utils/widgetanimation.h"
|
||||
|
||||
#include <QCloseEvent>
|
||||
#include <QSettings>
|
||||
#include <QStandardPaths>
|
||||
#include <QPropertyAnimation>
|
||||
#include <QCloseEvent>
|
||||
|
||||
BaseWidgetOpacity::BaseWidgetOpacity(QWidget *parent) : DBlurEffectWidget(parent)
|
||||
{
|
||||
// WidgetAnimation::widgetOpacity(this,true);
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief 窗口显示事件
|
||||
* @param event
|
||||
*/
|
||||
void BaseWidgetOpacity::showEvent(QShowEvent *event)
|
||||
{
|
||||
// FIXME: wayland 不支持直接设置窗口透明度,需要调用 wayland 相关库(考虑抄控制中心“窗口移动时启用透明特效”代码?)
|
||||
QSettings config(QStandardPaths::writableLocation(QStandardPaths::AppConfigLocation) + "/config.ini", QSettings::IniFormat);
|
||||
bool isWayland = config.value("build/isWayland").toBool();
|
||||
if (!isWayland)
|
||||
{
|
||||
if (!showWindowAnimation)
|
||||
{
|
||||
showWindowAnimation = true;
|
||||
WidgetAnimation::widgetOpacity(this, true);
|
||||
}
|
||||
}
|
||||
|
||||
DBlurEffectWidget::showEvent(event);
|
||||
}
|
||||
|
||||
/// @brief 窗口关闭事件
|
||||
/// @param event
|
||||
void BaseWidgetOpacity::closeEvent(QCloseEvent *event)
|
||||
@@ -17,7 +39,7 @@ void BaseWidgetOpacity::closeEvent(QCloseEvent *event)
|
||||
// FIXME: wayland 不支持直接设置窗口透明度,需要调用 wayland 相关库(考虑抄控制中心“窗口移动时启用透明特效”代码?)
|
||||
QSettings config(QStandardPaths::writableLocation(QStandardPaths::AppConfigLocation) + "/config.ini", QSettings::IniFormat);
|
||||
bool isWayland = config.value("build/isWayland").toBool();
|
||||
if(isWayland)
|
||||
if (isWayland)
|
||||
{
|
||||
return DBlurEffectWidget::closeEvent(event);
|
||||
}
|
||||
|
||||
@@ -8,17 +8,17 @@ DWIDGET_USE_NAMESPACE
|
||||
class BaseWidgetOpacity : public DBlurEffectWidget
|
||||
{
|
||||
Q_OBJECT
|
||||
|
||||
public:
|
||||
explicit BaseWidgetOpacity(QWidget *parent = nullptr);
|
||||
|
||||
signals:
|
||||
|
||||
public slots:
|
||||
|
||||
// QWidget interface
|
||||
protected:
|
||||
bool closeWindowAnimation = false;
|
||||
void showEvent(QShowEvent *event) override;
|
||||
void closeEvent(QCloseEvent *event) override;
|
||||
|
||||
protected:
|
||||
bool showWindowAnimation = false;
|
||||
bool closeWindowAnimation = false;
|
||||
};
|
||||
|
||||
#endif // BASEWIDGETOPACITY_H
|
||||
|
||||
@@ -11,12 +11,20 @@
|
||||
#
|
||||
# Default: apt-get
|
||||
#
|
||||
_APTMGR=apt-get
|
||||
|
||||
if [ -x "$(command -v apt)" ]; then
|
||||
_APTMGR=apt
|
||||
fi
|
||||
|
||||
|
||||
if grep -Eqi "linuxmint" /etc/os-release;then
|
||||
_APTMGR=apt-get
|
||||
fi
|
||||
|
||||
if [ -x "$(command -v oyo)" ]; then
|
||||
_APTMGR=/usr/bin/apt
|
||||
fi
|
||||
|
||||
####
|
||||
#
|
||||
|
||||
31
tool/bashimport/transhell.amber
Executable file
31
tool/bashimport/transhell.amber
Executable file
@@ -0,0 +1,31 @@
|
||||
#!/bin/bash
|
||||
|
||||
##load transhell
|
||||
function load_transhell_debug()
|
||||
{
|
||||
local WORK_PATH="$(cd "$(dirname "${0}")" && pwd)"
|
||||
local CURRENT_LANG="$(echo ${LANG%.*})"
|
||||
if [ -e "/usr/share/$(basename $0)/transhell/$(basename $0)_en_US.transhell" ]; then source /usr/share/$(basename $0)/transhell/$(basename $0)_en_US.transhell; echo "Loading transhell from /usr/share/$(basename $0)/transhell/$(basename $0)_en_US.transhell ..."; fi
|
||||
if [ -e "/usr/share/$(basename $0)/transhell/$(basename $0)_$CURRENT_LANG.transhell" ]; then source /usr/share/$(basename $0)/transhell/$(basename $0)_$CURRENT_LANG.transhell; echo "Loading transhell from /usr/share/$(basename $0)/transhell/$(basename $0)_$CURRENT_LANG.transhell ..."; fi
|
||||
if [ -e "${WORK_PATH}/transhell/$(basename $0)_en_US.transhell" ]; then source ${WORK_PATH}/transhell/$(basename $0)_en_US.transhell; echo "Loading transhell from ${WORK_PATH}/transhell/$(basename $0)_en_US.transhell ..."; fi
|
||||
if [ -e "${WORK_PATH}/transhell/$(basename $0)_$CURRENT_LANG.transhell" ]; then source ${WORK_PATH}/transhell/$(basename $0)_$CURRENT_LANG.transhell; echo "Loading transhell from ${WORK_PATH}/transhell/$(basename $0)_$CURRENT_LANG.transhell ..."; fi
|
||||
|
||||
echo "-----------------------------------------------------------------------------"
|
||||
}
|
||||
|
||||
function load_transhell()
|
||||
{
|
||||
local WORK_PATH="$(cd "$(dirname "${0}")" && pwd)"
|
||||
local CURRENT_LANG="$(echo ${LANG%.*})"
|
||||
if [ -e "/usr/share/$(basename $0)/transhell/$(basename $0)_en_US.transhell" ]; then source /usr/share/$(basename $0)/transhell/$(basename $0)_en_US.transhell; fi
|
||||
if [ -e "/usr/share/$(basename $0)/transhell/$(basename $0)_$CURRENT_LANG.transhell" ]; then source /usr/share/$(basename $0)/transhell/$(basename $0)_$CURRENT_LANG.transhell; fi
|
||||
if [ -e "${WORK_PATH}/transhell/$(basename $0)_en_US.transhell" ]; then source ${WORK_PATH}/transhell/$(basename $0)_en_US.transhell; fi
|
||||
if [ -e "${WORK_PATH}/transhell/$(basename $0)_$CURRENT_LANG.transhell" ]; then source ${WORK_PATH}/transhell/$(basename $0)_$CURRENT_LANG.transhell; fi
|
||||
|
||||
}
|
||||
|
||||
function update_transhell()
|
||||
{
|
||||
load_transhell $@
|
||||
}
|
||||
|
||||
@@ -1,30 +1,7 @@
|
||||
#!/bin/bash
|
||||
|
||||
##load transhell
|
||||
function load_transhell()
|
||||
{
|
||||
local WORK_PATH="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
|
||||
local CURRENT_LANG="$(echo ${LANG%.*})"
|
||||
if [ -e "/usr/share/$(basename $0)/transhell/$(basename $0)_en_US.transhell" ]; then source /usr/share/$(basename $0)/transhell/$(basename $0)_en_US.transhell; echo "Loading transhell from /usr/share/$(basename $0)/transhell/$(basename $0)_en_US.transhell ..."; fi
|
||||
if [ -e "/usr/share/$(basename $0)/transhell/$(basename $0)_$CURRENT_LANG.transhell" ]; then source /usr/share/$(basename $0)/transhell/$(basename $0)_$CURRENT_LANG.transhell; echo "Loading transhell from /usr/share/$(basename $0)/transhell/$(basename $0)_$CURRENT_LANG.transhell ..."; fi
|
||||
if [ -e "${WORK_PATH}/transhell/$(basename $0)_en_US.transhell" ]; then source ${WORK_PATH}/transhell/$(basename $0)_en_US.transhell; echo "Loading transhell from ${WORK_PATH}/transhell/$(basename $0)_en_US.transhell ..."; fi
|
||||
if [ -e "${WORK_PATH}/transhell/$(basename $0)_$CURRENT_LANG.transhell" ]; then source ${WORK_PATH}/transhell/$(basename $0)_$CURRENT_LANG.transhell; echo "Loading transhell from ${WORK_PATH}/transhell/$(basename $0)_$CURRENT_LANG.transhell ..."; fi
|
||||
|
||||
echo "-----------------------------------------------------------------------------"
|
||||
}
|
||||
|
||||
function update_transhell()
|
||||
{
|
||||
local WORK_PATH="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
|
||||
local CURRENT_LANG="$(echo ${LANG%.*})"
|
||||
if [ -e "/usr/share/$(basename $0)/transhell/$(basename $0)_en_US.transhell" ]; then source /usr/share/$(basename $0)/transhell/$(basename $0)_en_US.transhell; fi
|
||||
if [ -e "/usr/share/$(basename $0)/transhell/$(basename $0)_$CURRENT_LANG.transhell" ]; then source /usr/share/$(basename $0)/transhell/$(basename $0)_$CURRENT_LANG.transhell; fi
|
||||
if [ -e "${WORK_PATH}/transhell/$(basename $0)_en_US.transhell" ]; then source ${WORK_PATH}/transhell/$(basename $0)_en_US.transhell; fi
|
||||
if [ -e "${WORK_PATH}/transhell/$(basename $0)_$CURRENT_LANG.transhell" ]; then source ${WORK_PATH}/transhell/$(basename $0)_$CURRENT_LANG.transhell; fi
|
||||
|
||||
}
|
||||
|
||||
load_transhell
|
||||
source /opt/durapps/spark-store/bin/bashimport/transhell.amber
|
||||
load_transhell_debug
|
||||
|
||||
|
||||
|
||||
@@ -40,19 +17,19 @@ function pkexec_as_current_user() {
|
||||
sudo -u $user DBUS_SESSION_BUS_ADDRESS=unix:path=/run/user/$uid/bus pkexec "$@"
|
||||
}
|
||||
|
||||
function zenity() {
|
||||
#Detect the name of the display in use
|
||||
local display=":$(ls /tmp/.X11-unix/* | sed 's#/tmp/.X11-unix/X##' | head -n 1)"
|
||||
function zenity()
|
||||
{
|
||||
|
||||
|
||||
#Detect the user using such display
|
||||
local user=$(who | grep '('$display')' | awk '{print $1}' | head -n 1)
|
||||
local user=$(who | awk '{print $1}' | head -n 1)
|
||||
|
||||
#Detect the id of the user
|
||||
local uid=$(id -u $user)
|
||||
|
||||
sudo -u $user DISPLAY=$display DBUS_SESSION_BUS_ADDRESS=unix:path=/run/user/$uid/bus zenity "$@"
|
||||
}
|
||||
|
||||
sudo -u $user DBUS_SESSION_BUS_ADDRESS=unix:path=/run/user/$uid/bus zenity "$@"
|
||||
}
|
||||
#################检测文件是否存在
|
||||
if [ $# -eq 0 ];then
|
||||
echo "没有接收到参数,退出"
|
||||
|
||||
@@ -1,30 +1,8 @@
|
||||
#!/bin/bash
|
||||
|
||||
##load transhell
|
||||
function load_transhell()
|
||||
{
|
||||
local WORK_PATH="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
|
||||
local CURRENT_LANG="$(echo ${LANG%.*})"
|
||||
if [ -e "/usr/share/$(basename $0)/transhell/$(basename $0)_en_US.transhell" ]; then source /usr/share/$(basename $0)/transhell/$(basename $0)_en_US.transhell; echo "Loading transhell from /usr/share/$(basename $0)/transhell/$(basename $0)_en_US.transhell ..."; fi
|
||||
if [ -e "/usr/share/$(basename $0)/transhell/$(basename $0)_$CURRENT_LANG.transhell" ]; then source /usr/share/$(basename $0)/transhell/$(basename $0)_$CURRENT_LANG.transhell; echo "Loading transhell from /usr/share/$(basename $0)/transhell/$(basename $0)_$CURRENT_LANG.transhell ..."; fi
|
||||
if [ -e "${WORK_PATH}/transhell/$(basename $0)_en_US.transhell" ]; then source ${WORK_PATH}/transhell/$(basename $0)_en_US.transhell; echo "Loading transhell from ${WORK_PATH}/transhell/$(basename $0)_en_US.transhell ..."; fi
|
||||
if [ -e "${WORK_PATH}/transhell/$(basename $0)_$CURRENT_LANG.transhell" ]; then source ${WORK_PATH}/transhell/$(basename $0)_$CURRENT_LANG.transhell; echo "Loading transhell from ${WORK_PATH}/transhell/$(basename $0)_$CURRENT_LANG.transhell ..."; fi
|
||||
source /opt/durapps/spark-store/bin/bashimport/transhell.amber
|
||||
load_transhell_debug
|
||||
|
||||
echo "-----------------------------------------------------------------------------"
|
||||
}
|
||||
|
||||
function update_transhell()
|
||||
{
|
||||
local WORK_PATH="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
|
||||
local CURRENT_LANG="$(echo ${LANG%.*})"
|
||||
if [ -e "/usr/share/$(basename $0)/transhell/$(basename $0)_en_US.transhell" ]; then source /usr/share/$(basename $0)/transhell/$(basename $0)_en_US.transhell; fi
|
||||
if [ -e "/usr/share/$(basename $0)/transhell/$(basename $0)_$CURRENT_LANG.transhell" ]; then source /usr/share/$(basename $0)/transhell/$(basename $0)_$CURRENT_LANG.transhell; fi
|
||||
if [ -e "${WORK_PATH}/transhell/$(basename $0)_en_US.transhell" ]; then source ${WORK_PATH}/transhell/$(basename $0)_en_US.transhell; fi
|
||||
if [ -e "${WORK_PATH}/transhell/$(basename $0)_$CURRENT_LANG.transhell" ]; then source ${WORK_PATH}/transhell/$(basename $0)_$CURRENT_LANG.transhell; fi
|
||||
|
||||
}
|
||||
|
||||
load_transhell
|
||||
|
||||
touch /tmp/spark-store/upgradeStatus.txt
|
||||
|
||||
|
||||
@@ -1,30 +1,7 @@
|
||||
#!/bin/bash
|
||||
|
||||
##load transhell
|
||||
function load_transhell()
|
||||
{
|
||||
local WORK_PATH="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
|
||||
local CURRENT_LANG="$(echo ${LANG%.*})"
|
||||
if [ -e "/usr/share/$(basename $0)/transhell/$(basename $0)_en_US.transhell" ]; then source /usr/share/$(basename $0)/transhell/$(basename $0)_en_US.transhell; echo "Loading transhell from /usr/share/$(basename $0)/transhell/$(basename $0)_en_US.transhell ..."; fi
|
||||
if [ -e "/usr/share/$(basename $0)/transhell/$(basename $0)_$CURRENT_LANG.transhell" ]; then source /usr/share/$(basename $0)/transhell/$(basename $0)_$CURRENT_LANG.transhell; echo "Loading transhell from /usr/share/$(basename $0)/transhell/$(basename $0)_$CURRENT_LANG.transhell ..."; fi
|
||||
if [ -e "${WORK_PATH}/transhell/$(basename $0)_en_US.transhell" ]; then source ${WORK_PATH}/transhell/$(basename $0)_en_US.transhell; echo "Loading transhell from ${WORK_PATH}/transhell/$(basename $0)_en_US.transhell ..."; fi
|
||||
if [ -e "${WORK_PATH}/transhell/$(basename $0)_$CURRENT_LANG.transhell" ]; then source ${WORK_PATH}/transhell/$(basename $0)_$CURRENT_LANG.transhell; echo "Loading transhell from ${WORK_PATH}/transhell/$(basename $0)_$CURRENT_LANG.transhell ..."; fi
|
||||
|
||||
echo "-----------------------------------------------------------------------------"
|
||||
}
|
||||
|
||||
function update_transhell()
|
||||
{
|
||||
local WORK_PATH="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
|
||||
local CURRENT_LANG="$(echo ${LANG%.*})"
|
||||
if [ -e "/usr/share/$(basename $0)/transhell/$(basename $0)_en_US.transhell" ]; then source /usr/share/$(basename $0)/transhell/$(basename $0)_en_US.transhell; fi
|
||||
if [ -e "/usr/share/$(basename $0)/transhell/$(basename $0)_$CURRENT_LANG.transhell" ]; then source /usr/share/$(basename $0)/transhell/$(basename $0)_$CURRENT_LANG.transhell; fi
|
||||
if [ -e "${WORK_PATH}/transhell/$(basename $0)_en_US.transhell" ]; then source ${WORK_PATH}/transhell/$(basename $0)_en_US.transhell; fi
|
||||
if [ -e "${WORK_PATH}/transhell/$(basename $0)_$CURRENT_LANG.transhell" ]; then source ${WORK_PATH}/transhell/$(basename $0)_$CURRENT_LANG.transhell; fi
|
||||
|
||||
}
|
||||
|
||||
load_transhell
|
||||
source /opt/durapps/spark-store/bin/bashimport/transhell.amber
|
||||
load_transhell_debug
|
||||
|
||||
endloop=0
|
||||
|
||||
|
||||
@@ -1,31 +1,8 @@
|
||||
#!/bin/bash
|
||||
LANGUAGE=en_US
|
||||
|
||||
##load transhell
|
||||
function load_transhell()
|
||||
{
|
||||
local WORK_PATH="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
|
||||
local CURRENT_LANG="$(echo ${LANG%.*})"
|
||||
if [ -e "/usr/share/$(basename $0)/transhell/$(basename $0)_en_US.transhell" ]; then source /usr/share/$(basename $0)/transhell/$(basename $0)_en_US.transhell; echo "Loading transhell from /usr/share/$(basename $0)/transhell/$(basename $0)_en_US.transhell ..."; fi
|
||||
if [ -e "/usr/share/$(basename $0)/transhell/$(basename $0)_$CURRENT_LANG.transhell" ]; then source /usr/share/$(basename $0)/transhell/$(basename $0)_$CURRENT_LANG.transhell; echo "Loading transhell from /usr/share/$(basename $0)/transhell/$(basename $0)_$CURRENT_LANG.transhell ..."; fi
|
||||
if [ -e "${WORK_PATH}/transhell/$(basename $0)_en_US.transhell" ]; then source ${WORK_PATH}/transhell/$(basename $0)_en_US.transhell; echo "Loading transhell from ${WORK_PATH}/transhell/$(basename $0)_en_US.transhell ..."; fi
|
||||
if [ -e "${WORK_PATH}/transhell/$(basename $0)_$CURRENT_LANG.transhell" ]; then source ${WORK_PATH}/transhell/$(basename $0)_$CURRENT_LANG.transhell; echo "Loading transhell from ${WORK_PATH}/transhell/$(basename $0)_$CURRENT_LANG.transhell ..."; fi
|
||||
|
||||
echo "-----------------------------------------------------------------------------"
|
||||
}
|
||||
|
||||
function update_transhell()
|
||||
{
|
||||
local WORK_PATH="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
|
||||
local CURRENT_LANG="$(echo ${LANG%.*})"
|
||||
if [ -e "/usr/share/$(basename $0)/transhell/$(basename $0)_en_US.transhell" ]; then source /usr/share/$(basename $0)/transhell/$(basename $0)_en_US.transhell; fi
|
||||
if [ -e "/usr/share/$(basename $0)/transhell/$(basename $0)_$CURRENT_LANG.transhell" ]; then source /usr/share/$(basename $0)/transhell/$(basename $0)_$CURRENT_LANG.transhell; fi
|
||||
if [ -e "${WORK_PATH}/transhell/$(basename $0)_en_US.transhell" ]; then source ${WORK_PATH}/transhell/$(basename $0)_en_US.transhell; fi
|
||||
if [ -e "${WORK_PATH}/transhell/$(basename $0)_$CURRENT_LANG.transhell" ]; then source ${WORK_PATH}/transhell/$(basename $0)_$CURRENT_LANG.transhell; fi
|
||||
|
||||
}
|
||||
|
||||
load_transhell
|
||||
source /opt/durapps/spark-store/bin/bashimport/transhell.amber
|
||||
load_transhell_debug
|
||||
|
||||
#############################################################
|
||||
|
||||
|
||||
@@ -240,12 +240,12 @@
|
||||
<context>
|
||||
<name>DAboutDialog</name>
|
||||
<message>
|
||||
<location filename="../src/application.cpp" line="88"/>
|
||||
<location filename="../src/application.cpp" line="90"/>
|
||||
<source>Version: %1</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/application.cpp" line="95"/>
|
||||
<location filename="../src/application.cpp" line="97"/>
|
||||
<source>%1 is released under %2</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
@@ -452,32 +452,32 @@
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/mainwindow-dtk.cpp" line="45"/>
|
||||
<location filename="../src/mainwindow-dtk.cpp" line="161"/>
|
||||
<source>Submit App</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/mainwindow-dtk.cpp" line="46"/>
|
||||
<location filename="../src/mainwindow-dtk.cpp" line="162"/>
|
||||
<source>Submit App with client(Recommanded)</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/mainwindow-dtk.cpp" line="47"/>
|
||||
<location filename="../src/mainwindow-dtk.cpp" line="163"/>
|
||||
<source>Settings</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/mainwindow-dtk.cpp" line="48"/>
|
||||
<location filename="../src/mainwindow-dtk.cpp" line="164"/>
|
||||
<source>APP Upgrade and Install Settings</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/mainwindow-dtk.cpp" line="161"/>
|
||||
<location filename="../src/mainwindow-dtk.cpp" line="123"/>
|
||||
<source>Spark Store</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/mainwindow-dtk.cpp" line="162"/>
|
||||
<location filename="../src/mainwindow-dtk.cpp" line="128"/>
|
||||
<source>Search or enter spk://</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
@@ -485,19 +485,19 @@
|
||||
<context>
|
||||
<name>QObject</name>
|
||||
<message>
|
||||
<location filename="../src/application.cpp" line="26"/>
|
||||
<location filename="../src/application.cpp" line="27"/>
|
||||
<location filename="../src/mainwindow-dtk.cpp" line="22"/>
|
||||
<location filename="../src/application.cpp" line="28"/>
|
||||
<location filename="../src/application.cpp" line="29"/>
|
||||
<location filename="../src/mainwindow-dtk.cpp" line="103"/>
|
||||
<source>Spark Store</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/application.cpp" line="31"/>
|
||||
<location filename="../src/application.cpp" line="33"/>
|
||||
<source><span style=' font-size:10pt;font-weight:60;'>An appstore powered by community</span><br/><a href='https://www.spark-app.store/'>https://www.spark-app.store</a><br/><span style=' font-size:12pt;'>Spark developers</span></source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/application.cpp" line="92"/>
|
||||
<location filename="../src/application.cpp" line="94"/>
|
||||
<source>Spark Project</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
@@ -506,6 +506,11 @@
|
||||
<source>Download list</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/mainwindow-dtk.cpp" line="217"/>
|
||||
<source>Show MainWindow</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>SettingsPage</name>
|
||||
@@ -610,4 +615,17 @@
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>TitleBarMenu</name>
|
||||
<message>
|
||||
<location filename="../src/mainwindow-dtk.cpp" line="218"/>
|
||||
<source>About</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/mainwindow-dtk.cpp" line="219"/>
|
||||
<source>Exit</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
</TS>
|
||||
|
||||
@@ -240,12 +240,12 @@
|
||||
<context>
|
||||
<name>DAboutDialog</name>
|
||||
<message>
|
||||
<location filename="../src/application.cpp" line="88"/>
|
||||
<location filename="../src/application.cpp" line="90"/>
|
||||
<source>Version: %1</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/application.cpp" line="95"/>
|
||||
<location filename="../src/application.cpp" line="97"/>
|
||||
<source>%1 is released under %2</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
@@ -452,32 +452,32 @@
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/mainwindow-dtk.cpp" line="45"/>
|
||||
<location filename="../src/mainwindow-dtk.cpp" line="161"/>
|
||||
<source>Submit App</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/mainwindow-dtk.cpp" line="46"/>
|
||||
<location filename="../src/mainwindow-dtk.cpp" line="162"/>
|
||||
<source>Submit App with client(Recommanded)</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/mainwindow-dtk.cpp" line="47"/>
|
||||
<location filename="../src/mainwindow-dtk.cpp" line="163"/>
|
||||
<source>Settings</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/mainwindow-dtk.cpp" line="48"/>
|
||||
<location filename="../src/mainwindow-dtk.cpp" line="164"/>
|
||||
<source>APP Upgrade and Install Settings</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/mainwindow-dtk.cpp" line="161"/>
|
||||
<location filename="../src/mainwindow-dtk.cpp" line="123"/>
|
||||
<source>Spark Store</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/mainwindow-dtk.cpp" line="162"/>
|
||||
<location filename="../src/mainwindow-dtk.cpp" line="128"/>
|
||||
<source>Search or enter spk://</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
@@ -485,19 +485,19 @@
|
||||
<context>
|
||||
<name>QObject</name>
|
||||
<message>
|
||||
<location filename="../src/application.cpp" line="26"/>
|
||||
<location filename="../src/application.cpp" line="27"/>
|
||||
<location filename="../src/mainwindow-dtk.cpp" line="22"/>
|
||||
<location filename="../src/application.cpp" line="28"/>
|
||||
<location filename="../src/application.cpp" line="29"/>
|
||||
<location filename="../src/mainwindow-dtk.cpp" line="103"/>
|
||||
<source>Spark Store</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/application.cpp" line="31"/>
|
||||
<location filename="../src/application.cpp" line="33"/>
|
||||
<source><span style=' font-size:10pt;font-weight:60;'>An appstore powered by community</span><br/><a href='https://www.spark-app.store/'>https://www.spark-app.store</a><br/><span style=' font-size:12pt;'>Spark developers</span></source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/application.cpp" line="92"/>
|
||||
<location filename="../src/application.cpp" line="94"/>
|
||||
<source>Spark Project</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
@@ -506,6 +506,11 @@
|
||||
<source>Download list</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/mainwindow-dtk.cpp" line="217"/>
|
||||
<source>Show MainWindow</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>SettingsPage</name>
|
||||
@@ -610,4 +615,17 @@
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>TitleBarMenu</name>
|
||||
<message>
|
||||
<location filename="../src/mainwindow-dtk.cpp" line="218"/>
|
||||
<source>About</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/mainwindow-dtk.cpp" line="219"/>
|
||||
<source>Exit</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
</TS>
|
||||
|
||||
@@ -131,7 +131,7 @@
|
||||
<location filename="../src/pages/appintopage.ui" line="429"/>
|
||||
<location filename="../src/pages/appintopage.ui" line="432"/>
|
||||
<source><html><head/><body><p>Capable to Ubuntu 22.04</p></body></html></source>
|
||||
<translation type="unfinished"><html><head/><body><p>支持Ubuntu 22.04</p></body></html></translation>
|
||||
<translation><html><head/><body><p>支持Ubuntu 22.04</p></body></html></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/pages/appintopage.ui" line="543"/>
|
||||
@@ -240,12 +240,12 @@
|
||||
<context>
|
||||
<name>DAboutDialog</name>
|
||||
<message>
|
||||
<location filename="../src/application.cpp" line="88"/>
|
||||
<location filename="../src/application.cpp" line="90"/>
|
||||
<source>Version: %1</source>
|
||||
<translation>版本:%1</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/application.cpp" line="95"/>
|
||||
<location filename="../src/application.cpp" line="97"/>
|
||||
<source>%1 is released under %2</source>
|
||||
<translation>%1遵循%2协议发布</translation>
|
||||
</message>
|
||||
@@ -452,32 +452,32 @@
|
||||
<translation>更新</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/mainwindow-dtk.cpp" line="45"/>
|
||||
<location filename="../src/mainwindow-dtk.cpp" line="161"/>
|
||||
<source>Submit App</source>
|
||||
<translation>投递应用</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/mainwindow-dtk.cpp" line="46"/>
|
||||
<location filename="../src/mainwindow-dtk.cpp" line="162"/>
|
||||
<source>Submit App with client(Recommanded)</source>
|
||||
<translation>使用本地投稿器投递应用(推荐)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/mainwindow-dtk.cpp" line="47"/>
|
||||
<location filename="../src/mainwindow-dtk.cpp" line="163"/>
|
||||
<source>Settings</source>
|
||||
<translation>设置</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/mainwindow-dtk.cpp" line="48"/>
|
||||
<location filename="../src/mainwindow-dtk.cpp" line="164"/>
|
||||
<source>APP Upgrade and Install Settings</source>
|
||||
<translation>应用更新和安装设置</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/mainwindow-dtk.cpp" line="161"/>
|
||||
<location filename="../src/mainwindow-dtk.cpp" line="123"/>
|
||||
<source>Spark Store</source>
|
||||
<translation>星火应用商店</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/mainwindow-dtk.cpp" line="162"/>
|
||||
<location filename="../src/mainwindow-dtk.cpp" line="128"/>
|
||||
<source>Search or enter spk://</source>
|
||||
<translation>搜索或打开链接</translation>
|
||||
</message>
|
||||
@@ -485,19 +485,19 @@
|
||||
<context>
|
||||
<name>QObject</name>
|
||||
<message>
|
||||
<location filename="../src/application.cpp" line="26"/>
|
||||
<location filename="../src/application.cpp" line="27"/>
|
||||
<location filename="../src/mainwindow-dtk.cpp" line="22"/>
|
||||
<location filename="../src/application.cpp" line="28"/>
|
||||
<location filename="../src/application.cpp" line="29"/>
|
||||
<location filename="../src/mainwindow-dtk.cpp" line="103"/>
|
||||
<source>Spark Store</source>
|
||||
<translation>星火应用商店</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/application.cpp" line="31"/>
|
||||
<location filename="../src/application.cpp" line="33"/>
|
||||
<source><span style=' font-size:10pt;font-weight:60;'>An appstore powered by community</span><br/><a href='https://www.spark-app.store/'>https://www.spark-app.store</a><br/><span style=' font-size:12pt;'>Spark developers</span></source>
|
||||
<translation><span style=' font-size:10pt;font-weight:60;'>一款由社区提供的应用商店</span><br/><a href='https://www.spark-app.store/'>https://www.spark-app.store</a><br/><span style=' font-size:12pt;'>星火计划开发者</span></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/application.cpp" line="92"/>
|
||||
<location filename="../src/application.cpp" line="94"/>
|
||||
<source>Spark Project</source>
|
||||
<translation>星火计划</translation>
|
||||
</message>
|
||||
@@ -506,6 +506,11 @@
|
||||
<source>Download list</source>
|
||||
<translation>下载列表</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/mainwindow-dtk.cpp" line="217"/>
|
||||
<source>Show MainWindow</source>
|
||||
<translation>显示主窗口</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>SettingsPage</name>
|
||||
@@ -610,4 +615,17 @@
|
||||
<translation>缓存目录已清空</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>TitleBarMenu</name>
|
||||
<message>
|
||||
<location filename="../src/mainwindow-dtk.cpp" line="218"/>
|
||||
<source>About</source>
|
||||
<translation>关于</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/mainwindow-dtk.cpp" line="219"/>
|
||||
<source>Exit</source>
|
||||
<translation>退出</translation>
|
||||
</message>
|
||||
</context>
|
||||
</TS>
|
||||
|
||||
Reference in New Issue
Block a user