From 7e2193158c5f896d495566266083b57da96fe2c9 Mon Sep 17 00:00:00 2001 From: yafeng shen Date: Tue, 23 Jul 2024 16:06:56 +0800 Subject: [PATCH] sync upstream/1.3.2.1 --- .gitignore | 0 .../checkUpdate.py => checkUpdate.py | 0 .../checkUpdate.pyc => checkUpdate.pyc | Bin .../data => data}/Resources.qrc | 2 - .../kylin-background-upgrade-manul.service | 2 +- .../kylin-background-upgrade-manul.timer | 0 .../kylin-background-upgrade-template.conf | 0 .../kylin-background-upgrade.desktop | 2 +- .../data => data}/kylin-update.timer.conf | 0 ...og4qt.kylin-background-upgrade.gschema.xml | 0 data/update.png | Bin 0 -> 715 bytes kylin-background-upgrade.pro | 73 ++ kylin-background-upgrade.pro.user | 315 ++++++++ kylin-update-notify-immutable/README.md | 36 - .../data/Resources.qrc | 8 - .../data/background_upgrade_icon.png | Bin 5225 -> 0 bytes kylin-update-notify-immutable/data/close.png | Bin 957 -> 0 bytes .../kylin-background-upgrade-manul.service | 10 - .../data/kylin-background-upgrade-manul.timer | 12 - kylin-update-notify-immutable/data/update.png | Bin 8074 -> 0 bytes .../debian/changelog | 300 ------- kylin-update-notify-immutable/debian/control | 31 - kylin-update-notify-immutable/debian/install | 2 - kylin-update-notify-immutable/debian/postinst | 5 - kylin-update-notify-immutable/debian/postrm | 7 - kylin-update-notify-immutable/debian/rules | 8 - .../debian/source/format | 1 - .../debian/source/options | 1 - kylin-update-notify-immutable/env.pri | 4 - .../kylin-update-notify-immutable.pro | 42 - kylin-update-notify-immutable/src/core.cpp | 22 - kylin-update-notify-immutable/src/main.cpp | 206 ----- .../src/traydbus.cpp | 450 ----------- kylin-update-notify-immutable/src/traydbus.h | 160 ---- .../src/updatehandle.cpp | 750 ------------------ .../src/updatewidget.cpp | 661 --------------- .../src/updatewidget.h | 131 --- .../kylin-background-upgrade_bo_CN.qm | Bin 2003 -> 0 bytes .../kylin-background-upgrade_bo_CN.ts | 112 --- .../kylin-background-upgrade_zh_CN.qm | Bin 1305 -> 0 bytes .../widgets/Button/button.pri | 6 - .../widgets/Button/fixbutton.cpp | 36 - .../widgets/Button/fixbutton.h | 21 - .../widgets/widgets.pri | 4 - ...ify.desktop => kylin-update-notify.desktop | 2 +- kylin-update-notify.pro | 4 - kylin-update-notify.pro.user | 388 +++++++++ kylin-update-notify/checkUpdate.py | 20 - kylin-update-notify/checkUpdate.pyc | Bin 897 -> 0 bytes .../data/background_upgrade_icon.png | Bin 5225 -> 0 bytes kylin-update-notify/data/close.png | Bin 957 -> 0 bytes .../kylin-background-upgrade-silent.service | 10 - .../kylin-background-upgrade-silent.timer | 12 - .../kylin-background-upgrade-template.conf | 9 - .../data/kylin-background-upgrade.desktop | 10 - .../data/kylin-update.timer.conf | 6 - ...og4qt.kylin-background-upgrade.gschema.xml | 39 - kylin-update-notify/data/update.png | Bin 8074 -> 0 bytes kylin-update-notify/env.pri | 4 - .../kylin-update-notify.desktop | 6 - kylin-update-notify/kylin-update-notify.pro | 42 - kylin-update-notify/src/core.h | 23 - kylin-update-notify/src/trayicon.cpp | 35 - kylin-update-notify/src/trayicon.h | 33 - kylin-update-notify/src/updatehandle.h | 105 --- kylin-update-notify/src/updatewidget.ui | 21 - kylin-update-notify/translations/UapLBi.json | 1 - .../kylin-background-upgrade_bo_CN.qm | Bin 2003 -> 0 bytes .../kylin-background-upgrade_bo_CN.ts | 112 --- .../kylin-background-upgrade_zh_CN.qm | Bin 1305 -> 0 bytes .../kylin-background-upgrade_zh_CN.ts | 151 ---- kylin-update-notify/widgets/Button/button.pri | 6 - .../widgets/Button/fixbutton.cpp | 36 - .../widgets/Button/fixbutton.h | 21 - kylin-update-notify/widgets/widgets.pri | 4 - {kylin-update-notify/src => src}/core.cpp | 2 +- .../src => src}/core.h | 0 {kylin-update-notify/src => src}/main.cpp | 110 +-- {kylin-update-notify/src => src}/traydbus.cpp | 20 +- {kylin-update-notify/src => src}/traydbus.h | 2 +- .../src => src}/trayicon.cpp | 0 .../src => src}/trayicon.h | 0 .../src => src}/updatehandle.cpp | 191 ++--- .../src => src}/updatehandle.h | 6 +- .../src => src}/updatewidget.cpp | 263 ++---- .../src => src}/updatewidget.h | 24 +- .../src => src}/updatewidget.ui | 0 .../translations => translations}/UapLBi.json | 0 .../kylin-background-upgrade_bo_CN.qm | Bin 0 -> 2535 bytes .../kylin-background-upgrade_bo_CN.ts | 92 +++ .../kylin-background-upgrade_zh_CN.qm | Bin 0 -> 1306 bytes .../kylin-background-upgrade_zh_CN.ts | 110 +-- 92 files changed, 1090 insertions(+), 4250 deletions(-) delete mode 100644 .gitignore rename kylin-update-notify-immutable/checkUpdate.py => checkUpdate.py (100%) rename kylin-update-notify-immutable/checkUpdate.pyc => checkUpdate.pyc (100%) rename {kylin-update-notify/data => data}/Resources.qrc (60%) rename {kylin-update-notify/data => data}/kylin-background-upgrade-manul.service (62%) rename {kylin-update-notify/data => data}/kylin-background-upgrade-manul.timer (100%) rename {kylin-update-notify-immutable/data => data}/kylin-background-upgrade-template.conf (100%) rename {kylin-update-notify-immutable/data => data}/kylin-background-upgrade.desktop (78%) rename {kylin-update-notify-immutable/data => data}/kylin-update.timer.conf (100%) rename {kylin-update-notify-immutable/data => data}/org.ukui.log4qt.kylin-background-upgrade.gschema.xml (100%) create mode 100644 data/update.png create mode 100644 kylin-background-upgrade.pro create mode 100644 kylin-background-upgrade.pro.user delete mode 100644 kylin-update-notify-immutable/README.md delete mode 100644 kylin-update-notify-immutable/data/Resources.qrc delete mode 100644 kylin-update-notify-immutable/data/background_upgrade_icon.png delete mode 100644 kylin-update-notify-immutable/data/close.png delete mode 100644 kylin-update-notify-immutable/data/kylin-background-upgrade-manul.service delete mode 100644 kylin-update-notify-immutable/data/kylin-background-upgrade-manul.timer delete mode 100644 kylin-update-notify-immutable/data/update.png delete mode 100644 kylin-update-notify-immutable/debian/changelog delete mode 100644 kylin-update-notify-immutable/debian/control delete mode 100644 kylin-update-notify-immutable/debian/install delete mode 100755 kylin-update-notify-immutable/debian/postinst delete mode 100644 kylin-update-notify-immutable/debian/postrm delete mode 100755 kylin-update-notify-immutable/debian/rules delete mode 100644 kylin-update-notify-immutable/debian/source/format delete mode 100644 kylin-update-notify-immutable/debian/source/options delete mode 100644 kylin-update-notify-immutable/env.pri delete mode 100644 kylin-update-notify-immutable/kylin-update-notify-immutable.pro delete mode 100644 kylin-update-notify-immutable/src/core.cpp delete mode 100644 kylin-update-notify-immutable/src/main.cpp delete mode 100644 kylin-update-notify-immutable/src/traydbus.cpp delete mode 100644 kylin-update-notify-immutable/src/traydbus.h delete mode 100644 kylin-update-notify-immutable/src/updatehandle.cpp delete mode 100644 kylin-update-notify-immutable/src/updatewidget.cpp delete mode 100644 kylin-update-notify-immutable/src/updatewidget.h delete mode 100644 kylin-update-notify-immutable/translations/kylin-background-upgrade_bo_CN.qm delete mode 100644 kylin-update-notify-immutable/translations/kylin-background-upgrade_bo_CN.ts delete mode 100644 kylin-update-notify-immutable/translations/kylin-background-upgrade_zh_CN.qm delete mode 100644 kylin-update-notify-immutable/widgets/Button/button.pri delete mode 100644 kylin-update-notify-immutable/widgets/Button/fixbutton.cpp delete mode 100644 kylin-update-notify-immutable/widgets/Button/fixbutton.h delete mode 100644 kylin-update-notify-immutable/widgets/widgets.pri rename kylin-update-notify-immutable/kylin-update-notify.desktop => kylin-update-notify.desktop (64%) delete mode 100644 kylin-update-notify.pro create mode 100644 kylin-update-notify.pro.user delete mode 100755 kylin-update-notify/checkUpdate.py delete mode 100644 kylin-update-notify/checkUpdate.pyc delete mode 100644 kylin-update-notify/data/background_upgrade_icon.png delete mode 100644 kylin-update-notify/data/close.png delete mode 100644 kylin-update-notify/data/kylin-background-upgrade-silent.service delete mode 100644 kylin-update-notify/data/kylin-background-upgrade-silent.timer delete mode 100644 kylin-update-notify/data/kylin-background-upgrade-template.conf delete mode 100644 kylin-update-notify/data/kylin-background-upgrade.desktop delete mode 100644 kylin-update-notify/data/kylin-update.timer.conf delete mode 100644 kylin-update-notify/data/org.ukui.log4qt.kylin-background-upgrade.gschema.xml delete mode 100644 kylin-update-notify/data/update.png delete mode 100644 kylin-update-notify/env.pri delete mode 100644 kylin-update-notify/kylin-update-notify.desktop delete mode 100644 kylin-update-notify/kylin-update-notify.pro delete mode 100644 kylin-update-notify/src/core.h delete mode 100644 kylin-update-notify/src/trayicon.cpp delete mode 100644 kylin-update-notify/src/trayicon.h delete mode 100644 kylin-update-notify/src/updatehandle.h delete mode 100644 kylin-update-notify/src/updatewidget.ui delete mode 100644 kylin-update-notify/translations/UapLBi.json delete mode 100644 kylin-update-notify/translations/kylin-background-upgrade_bo_CN.qm delete mode 100644 kylin-update-notify/translations/kylin-background-upgrade_bo_CN.ts delete mode 100644 kylin-update-notify/translations/kylin-background-upgrade_zh_CN.qm delete mode 100644 kylin-update-notify/translations/kylin-background-upgrade_zh_CN.ts delete mode 100644 kylin-update-notify/widgets/Button/button.pri delete mode 100644 kylin-update-notify/widgets/Button/fixbutton.cpp delete mode 100644 kylin-update-notify/widgets/Button/fixbutton.h delete mode 100644 kylin-update-notify/widgets/widgets.pri rename {kylin-update-notify/src => src}/core.cpp (89%) rename {kylin-update-notify-immutable/src => src}/core.h (100%) rename {kylin-update-notify/src => src}/main.cpp (53%) rename {kylin-update-notify/src => src}/traydbus.cpp (94%) rename {kylin-update-notify/src => src}/traydbus.h (99%) rename {kylin-update-notify-immutable/src => src}/trayicon.cpp (100%) rename {kylin-update-notify-immutable/src => src}/trayicon.h (100%) rename {kylin-update-notify/src => src}/updatehandle.cpp (76%) rename {kylin-update-notify-immutable/src => src}/updatehandle.h (94%) rename {kylin-update-notify/src => src}/updatewidget.cpp (64%) rename {kylin-update-notify/src => src}/updatewidget.h (81%) rename {kylin-update-notify-immutable/src => src}/updatewidget.ui (100%) rename {kylin-update-notify-immutable/translations => translations}/UapLBi.json (100%) create mode 100644 translations/kylin-background-upgrade_bo_CN.qm create mode 100644 translations/kylin-background-upgrade_bo_CN.ts create mode 100644 translations/kylin-background-upgrade_zh_CN.qm rename {kylin-update-notify-immutable/translations => translations}/kylin-background-upgrade_zh_CN.ts (60%) diff --git a/.gitignore b/.gitignore deleted file mode 100644 index e69de29..0000000 diff --git a/kylin-update-notify-immutable/checkUpdate.py b/checkUpdate.py similarity index 100% rename from kylin-update-notify-immutable/checkUpdate.py rename to checkUpdate.py diff --git a/kylin-update-notify-immutable/checkUpdate.pyc b/checkUpdate.pyc similarity index 100% rename from kylin-update-notify-immutable/checkUpdate.pyc rename to checkUpdate.pyc diff --git a/kylin-update-notify/data/Resources.qrc b/data/Resources.qrc similarity index 60% rename from kylin-update-notify/data/Resources.qrc rename to data/Resources.qrc index d68938f..6859cf5 100644 --- a/kylin-update-notify/data/Resources.qrc +++ b/data/Resources.qrc @@ -2,7 +2,5 @@ update.png - background_upgrade_icon.png - close.png diff --git a/kylin-update-notify/data/kylin-background-upgrade-manul.service b/data/kylin-background-upgrade-manul.service similarity index 62% rename from kylin-update-notify/data/kylin-background-upgrade-manul.service rename to data/kylin-background-upgrade-manul.service index 34f7c2a..d5e9c63 100644 --- a/kylin-update-notify/data/kylin-background-upgrade-manul.service +++ b/data/kylin-background-upgrade-manul.service @@ -5,6 +5,6 @@ Description=系统升级后台检测程序 [Service] Type=forking TimeoutStartSec=infinity -ExecStart=/usr/bin/kylin-background-upgrade --check-upgrade +ExecStart=/usr/share/kylin-update-notify/checkUpdate.py diff --git a/kylin-update-notify/data/kylin-background-upgrade-manul.timer b/data/kylin-background-upgrade-manul.timer similarity index 100% rename from kylin-update-notify/data/kylin-background-upgrade-manul.timer rename to data/kylin-background-upgrade-manul.timer diff --git a/kylin-update-notify-immutable/data/kylin-background-upgrade-template.conf b/data/kylin-background-upgrade-template.conf similarity index 100% rename from kylin-update-notify-immutable/data/kylin-background-upgrade-template.conf rename to data/kylin-background-upgrade-template.conf diff --git a/kylin-update-notify-immutable/data/kylin-background-upgrade.desktop b/data/kylin-background-upgrade.desktop similarity index 78% rename from kylin-update-notify-immutable/data/kylin-background-upgrade.desktop rename to data/kylin-background-upgrade.desktop index 2e53db2..f592f81 100644 --- a/kylin-update-notify-immutable/data/kylin-background-upgrade.desktop +++ b/data/kylin-background-upgrade.desktop @@ -1,7 +1,7 @@ [Desktop Entry] Name=kylin-background-upgrade Name[zh_CN]=更新管理器托盘程序 -Exec=/usr/bin/kylin-background-upgrade --check-immediately +Exec=/usr/bin/kylin-background-upgrade %u Icon=kylin-update-manager Type=Application X-UKUI-AutoRestart=true diff --git a/kylin-update-notify-immutable/data/kylin-update.timer.conf b/data/kylin-update.timer.conf similarity index 100% rename from kylin-update-notify-immutable/data/kylin-update.timer.conf rename to data/kylin-update.timer.conf diff --git a/kylin-update-notify-immutable/data/org.ukui.log4qt.kylin-background-upgrade.gschema.xml b/data/org.ukui.log4qt.kylin-background-upgrade.gschema.xml similarity index 100% rename from kylin-update-notify-immutable/data/org.ukui.log4qt.kylin-background-upgrade.gschema.xml rename to data/org.ukui.log4qt.kylin-background-upgrade.gschema.xml diff --git a/data/update.png b/data/update.png new file mode 100644 index 0000000000000000000000000000000000000000..a28e913243c91874881e9b93cdabdf95a8e18d21 GIT binary patch literal 715 zcmV;+0yO=JP)Px#1ZP1_K>z@;j|==^1poj532;bRa{vGmbN~PnbOGLGA9w%&0$@o*K~y+TZBk25 z6Hyo){{&*i|DtH(#s$Vi9hVq6$WOjI_mlo+E#k=6noG(`%1Nz0?o zP+oPI4xK*ev@=r{dc5Z%jVNDo($n+!W^Q{G{4=_)Bce_sm(yUEYZBzt=*7n)C|$WF zLEc`_YPCd2MZMv{Y5E6(o_ni!Ez+X146qjyiC!-O39HOc9rnhI4pY`JyYVz!yb+VUCbLb+!(fTxW6btPK_Qj zXGNBs@Yn>DWGV~Os-a65%8-wzSqInO+BkH_#Hm3`f}9#XW&-a#*Vp<%Q7>iSESCaGCiBZYGDh3L29mn_-Q#MPD;X=L;ha?6H9I8}slyLBMcZ)Q99QFJ)%s~j3rv7i+Y zoilLyNgaVc523^+g7Hms-1Vgv%NjBh3{T2VdjW^ShmjC6i|fcPZR|s4aqn|oW_EUV x{5Dknisjo$tNeghO5NixqE2k8I+002ovPDHLkV1j>-K#%|c literal 0 HcmV?d00001 diff --git a/kylin-background-upgrade.pro b/kylin-background-upgrade.pro new file mode 100644 index 0000000..0c28cdf --- /dev/null +++ b/kylin-background-upgrade.pro @@ -0,0 +1,73 @@ +QT += core gui dbus network KWindowSystem sql +greaterThan(QT_MAJOR_VERSION, 4): QT += widgets + +CONFIG += c++11 link_pkgconfig + +# 项目名 +TARGET = kylin-background-upgrade +TEMPLATE = app + +LIBS +=-lukui-log4qt -lpython2.7 + +# 执行文件装载 +target.path = /usr/bin +target.source += $$TARGET + +SOURCES += \ + ./src/core.cpp \ + ./src/main.cpp \ + ./src/traydbus.cpp \ + ./src/trayicon.cpp \ + ./src/updatehandle.cpp \ + ./src/updatewidget.cpp + +HEADERS += \ + ./src/core.h \ + ./src/traydbus.h \ + ./src/trayicon.h \ + ./src/updatehandle.h \ + ./src/updatewidget.h + +# service文件装载 manul +service_manul.files = ./data/kylin-background-upgrade-manul.service +service_manul.path = /usr/lib/systemd/user/ + +# timer文件装载 +timer_manul.files = ./data/kylin-background-upgrade-manul.timer +timer_manul.path = /usr/lib/systemd/user/ + + +# desktop文件装载 +desktop.files = ./data/kylin-background-upgrade.desktop +desktop.path = /usr/share/applications/ + +conf.files = ./data/kylin-background-upgrade-template.conf +conf.path = /var/lib/kylin-background-upgrade/ + +# 日志配置文件 +schemes.files += data/org.ukui.log4qt.kylin-background-upgrade.gschema.xml +schemes.path = /usr/share/glib-2.0/schemas/ + + +TRANSLATIONS += translations/kylin-background-upgrade_zh_CN.ts + translations/kylin-background-upgrade_bo_CN.ts + translation.path = /usr/share/kylin-background-upgrade + translation.files += translations/kylin-background-upgrade_zh_CN.qm + translation.files += translations/kylin-background-upgrade_bo_CN.qm + + +INSTALLS += target desktop conf translation schemes service_manul timer_manul + +PKGCONFIG += gsettings-qt + +FORMS += \ + ./src/updatewidget.ui + +RESOURCES += \ + ./data/Resources.qrc + +DISTFILES += \ + ./data/update.png + +DISTFILES += \ + checkUpdate.py diff --git a/kylin-background-upgrade.pro.user b/kylin-background-upgrade.pro.user new file mode 100644 index 0000000..c7c7ba3 --- /dev/null +++ b/kylin-background-upgrade.pro.user @@ -0,0 +1,315 @@ + + + + + + EnvironmentId + {3d34bcf0-6a81-46d0-90d9-4cc7667111f8} + + + ProjectExplorer.Project.ActiveTarget + 0 + + + ProjectExplorer.Project.EditorSettings + + true + false + true + + Cpp + + CppGlobal + + + + QmlJS + + QmlJSGlobal + + + 2 + UTF-8 + false + 4 + false + 80 + true + true + 1 + true + false + 0 + true + true + 0 + 8 + true + 1 + true + true + true + false + + + + ProjectExplorer.Project.PluginSettings + + + + ProjectExplorer.Project.Target.0 + + 桌面 + 桌面 + {fb955230-392d-4c01-8fb0-8bfc9c0d7279} + 0 + 0 + 0 + + /home/lxy/kylin-background-upgrade/sp3/build-kylin-background-upgrade-unknown-Debug + + + true + QtProjectManager.QMakeBuildStep + true + + false + false + false + + + true + Qt4ProjectManager.MakeStep + + false + + + false + + 2 + Build + Build + ProjectExplorer.BuildSteps.Build + + + + true + Qt4ProjectManager.MakeStep + + true + clean + + false + + 1 + Clean + Clean + ProjectExplorer.BuildSteps.Clean + + 2 + false + + Debug + Qt4ProjectManager.Qt4BuildConfiguration + 2 + + + /home/lxy/kylin-background-upgrade/sp3/build-kylin-background-upgrade-unknown-Release + + + true + QtProjectManager.QMakeBuildStep + false + + false + false + false + + + true + Qt4ProjectManager.MakeStep + + false + + + false + + 2 + Build + Build + ProjectExplorer.BuildSteps.Build + + + + true + Qt4ProjectManager.MakeStep + + true + clean + + false + + 1 + Clean + Clean + ProjectExplorer.BuildSteps.Clean + + 2 + false + + Release + Qt4ProjectManager.Qt4BuildConfiguration + 0 + + + /home/lxy/kylin-background-upgrade/sp3/build-kylin-background-upgrade-unknown-Profile + + + true + QtProjectManager.QMakeBuildStep + true + + false + true + false + + + true + Qt4ProjectManager.MakeStep + + false + + + false + + 2 + Build + Build + ProjectExplorer.BuildSteps.Build + + + + true + Qt4ProjectManager.MakeStep + + true + clean + + false + + 1 + Clean + Clean + ProjectExplorer.BuildSteps.Clean + + 2 + false + + Profile + Qt4ProjectManager.Qt4BuildConfiguration + 0 + + 3 + + + 0 + Deploy + Deploy + ProjectExplorer.BuildSteps.Deploy + + 1 + ProjectExplorer.DefaultDeployConfiguration + + 1 + + + dwarf + + cpu-cycles + + + 250 + + -e + cpu-cycles + --call-graph + dwarf,4096 + -F + 250 + + -F + true + 4096 + false + false + 1000 + + true + + false + false + false + false + true + 0.01 + 10 + true + kcachegrind + 1 + 25 + + 1 + true + false + true + valgrind + + 0 + 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 + 10 + 11 + 12 + 13 + 14 + + 2 + + kylin-background-upgrade2 + Qt4ProjectManager.Qt4RunConfiguration:/home/lxy/kylin-background-upgrade/OpenKylin/make_deb/kylin-background-upgrade/kylin-background-upgrade.pro + /home/lxy/kylin-background-upgrade/OpenKylin/make_deb/kylin-background-upgrade/kylin-background-upgrade.pro + + false + + false + true + true + false + false + true + + /home/lxy/kylin-background-upgrade/sp3/build-kylin-background-upgrade-unknown-Debug + + 1 + + + + ProjectExplorer.Project.TargetCount + 1 + + + ProjectExplorer.Project.Updater.FileVersion + 22 + + + Version + 22 + + diff --git a/kylin-update-notify-immutable/README.md b/kylin-update-notify-immutable/README.md deleted file mode 100644 index 2620f7b..0000000 --- a/kylin-update-notify-immutable/README.md +++ /dev/null @@ -1,36 +0,0 @@ -# kylin-background-upgrade - -## 主要功能: - -> 由后台定时器定时调起,访问源服务器检测是否有强制更新与可选更新 -> -> 检测到强制更新内容在后台升级,托盘不显示 -> -> 如果控制面板的自动检测更新关闭,则后台托盘程序不提醒用户更新 -> -> 检测到可选更新弹出交互界面 -> -> 点击同意更新按钮,调到控制面板更新页面,托盘程序退出 -> -> 点击暂不更新按钮,退出托盘程序 - -## 注意事项: - -> 如果托盘应该出现的情况下没出现,请查看是否收纳。在控制面板>个性化>显示在托盘上的图标中,把更新管理器托盘程序改成显示。 -> -> 如果托盘打印信息为:“源管理器updateSource is failed,连接失败,程序退出”,请查看源管理器是否启动,如已启动,请执行: sudo pkill -f start_dbus sudo -> -> killall kylin-software-properties-service sudo kylin-software-properties-service 后,再启动托盘程序。 -> -> 静默升级时,会在命令行打印信息 -> -> 右下角提示,在不进行其他操作时,不退出 -> - -## 启动定时器: - -> 定时器与托盘服务名称: kylin-background-upgrade-timer.timer kylin-background-upgrade.service -> -> 查看定时器是否工作: systemctl --user status kylin-background-upgrade-timer.timer - - diff --git a/kylin-update-notify-immutable/data/Resources.qrc b/kylin-update-notify-immutable/data/Resources.qrc deleted file mode 100644 index d68938f..0000000 --- a/kylin-update-notify-immutable/data/Resources.qrc +++ /dev/null @@ -1,8 +0,0 @@ - - - - update.png - background_upgrade_icon.png - close.png - - diff --git a/kylin-update-notify-immutable/data/background_upgrade_icon.png b/kylin-update-notify-immutable/data/background_upgrade_icon.png deleted file mode 100644 index 19fb6d0bc3ccd3c74f1f7caa323e1d65ac2e6f1d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5225 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 diff --git a/kylin-update-notify-immutable/data/kylin-background-upgrade-manul.service b/kylin-update-notify-immutable/data/kylin-background-upgrade-manul.service deleted file mode 100644 index 1eab582..0000000 --- a/kylin-update-notify-immutable/data/kylin-background-upgrade-manul.service +++ /dev/null @@ -1,10 +0,0 @@ -[Unit] -Description=Kylin Background Upgrade - - -[Service] -Type=forking -TimeoutStartSec=infinity -ExecStart=/usr/bin/kylin-background-upgrade --check-upgrade - - diff --git a/kylin-update-notify-immutable/data/kylin-background-upgrade-manul.timer b/kylin-update-notify-immutable/data/kylin-background-upgrade-manul.timer deleted file mode 100644 index 9455699..0000000 --- a/kylin-update-notify-immutable/data/kylin-background-upgrade-manul.timer +++ /dev/null @@ -1,12 +0,0 @@ -[Unit] -Description=系统升级定时检测 - -[Timer] -OnStartupSec=10min -OnUnitInactiveSec=10min -AccuracySec=5s -Unit=kylin-background-upgrade-manul.service - -[Install] -WantedBy=default.target - diff --git a/kylin-update-notify-immutable/data/update.png b/kylin-update-notify-immutable/data/update.png deleted file mode 100644 index fe222a39f346935d1812c4d08822de6a12e23932..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8074 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 Fri, 01 Dec 2023 14:16:50 +0800 - -kylin-update-notify (1.3.2.1-ok7) yangtze; urgency=medium - - * remove depend kylin-software-properties . - - -- luoxueyi Mon, 12 Jun 2023 14:08:00 +0800 - -kylin-update-notify (1.3.2.1-ok6) yangtze; urgency=medium - - * Fix the upload error. - - -- handsome_feng Fri, 09 Jun 2023 15:55:18 +0800 - -kylin-update-notify (1.3.2.1-ok5) yangtze; urgency=medium - - *BUG号:#issues/I784B9 【arm】【树莓派】【系统更新】控制面板“有更新应用时通知”是关闭的,会自动弹出“检测到有系统更新”弹窗 - #issues/I7847A 【arm】【树莓派】【系统更新】点击“检测到有系统更新”弹窗的“立即更新”按钮,无法跳转到控制面板系统更新页面 - #issues/I76LO5 【wayland】【控制面板】【更新】更新提示弹窗未显示在屏幕右下角 - #issues/I768RV 【控制面板】【更新】推迟提醒计时器时间错乱,在未到推迟时间又重新出现弹窗 - #issues/I74KO7 【控制面板】【更新】开启"有更新应用时通知",在通知弹窗中点击"立即更新"无法跳转到控制面板-更新界面 - - *需求号:无 - *其他改动说明:无 - *影响域: 无 - - -- luoxueyi Fri, 09 Jun 2023 10:13:18 +0800 - -kylin-update-notify (1.3.2.1-ok4) yangtze; urgency=medium - - *BUG号:135671 【wayland】【更新升级】设置推迟时间不生效,到推迟的时间后没有再次出现自动更新弹窗 - *需求号:无 - *其他改动说明:无 - *影响域: 无 - - -- luoxueyi Tue, 18 Apr 2023 09:46:45 +0800 - -kylin-update-notify (1.3.2.1-ok3) yangtze; urgency=medium - - * patch from zhangdongwei - - -- Xie Wei Thu, 21 Jul 2022 19:41:21 +0800 - -kylin-update-notify (1.3.2.1-ok2) yangtze; urgency=medium - - * add BR: python2.7-dev - - -- Xie Wei Thu, 21 Jul 2022 18:26:14 +0800 - -kylin-update-notify (1.3.2.1-ok1) yangtze; urgency=medium - - * build for openKylin - * 修改为quilt格式 - - -- Xie Wei Thu, 21 Jul 2022 18:08:51 +0800 - -kylin-update-notify (1.3.2.1) yangtze; urgency=medium - - *BUG号:无 - *需求号:无 - *其他改动说明:无 - *影响域: 系统更新-静默升级 - - -- luoxueyi Thu, 21 Jul 2022 17:57:12 +0800 - -kylin-background-upgrade (1.3.2.1) v101; urgency=medium - - *BUG号:121781 【在线更新】中文环境下,静默更新完成后,右上角及侧边栏通知未汉化 - 122046 【更新升级】配置静默推送,但是仓库源不存在推送的包,后台日志有报错,功能未见异常 - 122183 【在线更新】上午8-12点外仍会弹出更新通知 - 122425 【在线更新】设置每隔1min38s弹出通知,在弹出的通知弹窗中点击推迟,1min38s后再次弹出更新通知 - *需求号:无 - *其他改动说明:无 - *影响域: 系统更新-静默升级 - - -- luoxueyi Thu, 07 Jul 2022 18:34:30 +0800 - -kylin-background-upgrade (1.3.2.0) v101; urgency=medium - - *BUG号:无 - *需求号:# 12723 【更新升级】静默升级接口重构 - # 13511 【更新升级】系统可选更新通知机制优化 - *其他改动说明:更新kylin-system-updater后端接口 - *影响域: 系统更新-静默升级 - - -- luoxueyi Mon, 06 Jun 2022 16:24:14 +0800 - -kylin-background-upgrade (1.3.1+0527kord0) v101; urgency=medium - - *BUG号:无 - *需求号:无 - *其他改动说明:更新kylin-system-updater后端接口 - - -- luoxueyi Fri, 20 May 2022 15:58:48 +0800 - -kylin-background-upgrade (1.3.1+0520) v101; urgency=medium - - *BUG号:无 - *需求号:无 - *其他改动说明:更新kylin-system-updater后端接口 - - -- luoxueyi Fri, 20 May 2022 15:58:48 +0800 - -kylin-background-upgrade (1.3.1+0125.2) v101; urgency=medium - - *BUG号:104479 - *需求号:无 - *其他改动说明:无 - - -- wanghailiang Tue, 25 Jan 2022 10:11:46 +0800 - -kylin-background-upgrade (1.3.1+0111.1) v101; urgency=medium - - *BUG 号: 102451 - *需求号:无 - *其他改动说明:无 - - -- liyanda Tue, 11 Jan 2022 18:05:55 +0800 - -kylin-background-upgrade (1.2.1+0830.4hw1) v101.hw; urgency=medium - - *BUG 号:无 - *需求号:无 - *其他改动说明:测试设置固定值的窗口出现位置 - - -- liyanda Thu, 29 Apr 2021 19:24:32 +0800 - -kylin-background-upgrade (1.2.1+0331.1) v101; urgency=medium - - * 更新界面拉起控制面板异常问题 - - -- liyanda Wed, 31 Mar 2021 19:26:45 +0800 - -kylin-background-upgrade (1.2.1+0324.1) v101; urgency=medium - - * 适配高分屏 - - -- liyanda Wed, 24 Mar 2021 18:53:48 +0800 - -kylin-background-upgrade (1.2.1+0320.5) v101; urgency=medium - - * 优化弹窗布局 - - -- liyanda Sat, 20 Mar 2021 16:23:38 +0800 - -kylin-background-upgrade (1.2.1+0316.3) v101; urgency=medium - - * 更改定时器生成机制 - - -- liyanda Mon, 15 Mar 2021 12:37:14 +0800 - -kylin-background-upgrade (1.2.1+0312.2) v101; urgency=medium - - * 增加推迟提醒功能 - - -- liyanda Fri, 12 Mar 2021 15:07:45 +0800 - -kylin-background-upgrade (1.2.1+0303.1) v101; urgency=medium - - * 更新文件锁内容 - - -- liyanda Wed, 03 Mar 2021 13:49:46 +0800 - -kylin-background-upgrade (1.2.1+0204.2) v101; urgency=medium - - * 更改托盘图标提示方式 - - -- liyanda1234 Thu, 04 Feb 2021 11:32:41 +0800 - -kylin-background-upgrade (1.2.1+0201.1) v101; urgency=medium - - * Change file lock path - * 更改文件锁路径 - - -- liyanda1234 Mon, 01 Feb 2021 15:46:09 +0800 - -kylin-background-upgrade (1.2.1+0129.1) v101; urgency=medium - - * Modify the problem of abnormal installation - * 修改安装异常的问题 - - -- liyanda1234 Fri, 29 Jan 2021 13:48:21 +0800 - -kylin-background-upgrade (1.2.1+0126.1) v101; urgency=medium - - * 更改后台更新错误处理机制 - - -- liyanda1234 Tue, 26 Jan 2021 16:42:59 +0800 - -kylin-background-upgrade (1.2.1+0122.1) v101; urgency=medium - - * 更改托盘选择页面的ui - - -- liyanda1234 Fri, 22 Jan 2021 15:13:40 +0800 - -kylin-background-upgrade (1.2.1+0120.4) v101; urgency=medium - - * 更改消息通知逻辑 - * 更改环境变量 - * 更改托盘图标右键内容 - - -- liyanda1234 Wed, 20 Jan 2021 11:40:40 +0800 - -kylin-background-upgrade (1.2.1+0119.3) v101; urgency=medium - - * Modify message notification icon - * 修改消息通知图标 - - * Standardize message notification content - * 规范消息通知内容 - - * Increase the focus on source management - * 增加对源管理器重连机制 - - -- liyanda1234 Tue, 19 Jan 2021 11:05:27 +0800 - -kylin-background-upgrade (1.2.1+0118.1) v101; urgency=medium - - * 增加对更新管理器的启动的判断 - - -- liyanda1234 Mon, 18 Jan 2021 17:41:38 +0800 - -kylin-background-upgrade (1.2.1+0115.3) v101; urgency=medium - - * 增加中英文翻译 - * 更改单例方式 - * 更改连接dbus的方式 - * 修改server参数,调整定时器调用方式 - - -- liyanda1234 Fri, 15 Jan 2021 11:13:31 +0800 - -kylin-background-upgrade (1.2.1+0112.1) v101; urgency=medium - - * 修改读取更新管理器数据库地址 - * 修改获取源管理器返回值类型 - - -- liyanda1234 Tue, 12 Jan 2021 17:27:38 +0800 - -kylin-background-upgrade (1.2.1+0111.1) v101; urgency=medium - - * 增加电量与包大小的判断 - - -- liyanda1234 Mon, 11 Jan 2021 13:38:20 +0800 - -kylin-background-upgrade (1.2.1+0109.4) v101; urgency=medium - - * 修改了电量错误处理 - - -- liyanda1234 Sat, 09 Jan 2021 13:26:51 +0800 - -kylin-background-upgrade (1.2.1+0108.1) v101; urgency=medium - - * 重新命名托盘 - - -- liyanda1234 Fri, 08 Jan 2021 12:15:37 +0800 - -kylin-background-upgrade (1.2.1+0106.3) v101; urgency=medium - - * 增加文件锁的错误处理 - - -- liyanda1234 Wed, 06 Jan 2021 14:29:43 +0800 - -kylin-background-upgrade (1.2.1+0104.8) v101; urgency=medium - - * 增加文件锁 - * 增加消息通知功能 - - -- liyanda1234 Mon, 04 Jan 2021 10:18:57 +0800 - -kylin-background-upgrade (1.1.1+1231.2) v101; urgency=medium - - * 新增托盘静默更新气泡提示 - * 重构dbus连接代码 - - -- liyanda1234 Thu, 31 Dec 2020 14:43:43 +0800 - -kylin-background-upgrade (1.1.1+1230.5) v101; urgency=medium - - * 更改获取包列表的方式 - - -- liyanda1234 Wed, 30 Dec 2020 20:53:18 +0800 - -kylin-background-upgrade (1.1.1+1229.6) v101; urgency=medium - - * 更改任务栏显示的问题 - - -- liyanda1234 Tue, 29 Dec 2020 17:00:00 +0800 - -kylin-background-upgrade (1.1.1+1229.1) v101; urgency=medium - - * firstlog - - -- liyanda1234 Wed, 23 Dec 2020 15:18:22 +0800 diff --git a/kylin-update-notify-immutable/debian/control b/kylin-update-notify-immutable/debian/control deleted file mode 100644 index dd7c4ea..0000000 --- a/kylin-update-notify-immutable/debian/control +++ /dev/null @@ -1,31 +0,0 @@ -Source: kylin-update-notify -Maintainer: kylin -Section: universe/admin -Priority: optional -Build-Depends: debhelper-compat(=12), - qtbase5-dev, - libxml2-dev, - libxml2, - libqt5svg5-dev, - libglib2.0-dev, - qttools5-dev-tools, - qtchooser, - libgsettings-qt-dev, - libqt5dbus5, - nvme-cli, - libqapt-dev, - libkf5windowsystem-data, - libkf5windowsystem-dev, - libkf5windowsystem5, - libkf5windowsystem-doc, - libukui-log4qt-dev, -Standards-Version: 4.1.3 - -Package: kylin-update-notify -Architecture: any -Section: universe/admin -Priority: optional -Depends: ${shlibs:Depends}, - kylin-system-updater ( >= 2.0.5.1 ) -Breaks: kylin-update-tray -Description: kylin background upgrade diff --git a/kylin-update-notify-immutable/debian/install b/kylin-update-notify-immutable/debian/install deleted file mode 100644 index 2d1cc74..0000000 --- a/kylin-update-notify-immutable/debian/install +++ /dev/null @@ -1,2 +0,0 @@ -kylin-update-notify.desktop /etc/xdg/autostart/ -checkUpdate.py /usr/share/kylin-update-notify diff --git a/kylin-update-notify-immutable/debian/postinst b/kylin-update-notify-immutable/debian/postinst deleted file mode 100755 index 18fefff..0000000 --- a/kylin-update-notify-immutable/debian/postinst +++ /dev/null @@ -1,5 +0,0 @@ -#!/bin/bash - -systemctl --user daemon-reload -systemctl --global enable kylin-background-upgrade-silent.timer -systemctl --global enable kylin-background-upgrade-manul.timer \ No newline at end of file diff --git a/kylin-update-notify-immutable/debian/postrm b/kylin-update-notify-immutable/debian/postrm deleted file mode 100644 index c9010ea..0000000 --- a/kylin-update-notify-immutable/debian/postrm +++ /dev/null @@ -1,7 +0,0 @@ -#!/bin/bash - -#if [ ! -f "/etc/systemd/user/kylin-background-upgrade-timer.timer" ];then -#echo "remove_timer" -#else -#rm /etc/systemd/user/kylin-background-upgrade-timer.timer -#fi diff --git a/kylin-update-notify-immutable/debian/rules b/kylin-update-notify-immutable/debian/rules deleted file mode 100755 index 9e47e96..0000000 --- a/kylin-update-notify-immutable/debian/rules +++ /dev/null @@ -1,8 +0,0 @@ -#!/usr/bin/make -f - -export DEB_BUILD_MAINT_OPTIONS = hardening=+all -export QT_SELECT := qt5 - -%: - dh $@ - diff --git a/kylin-update-notify-immutable/debian/source/format b/kylin-update-notify-immutable/debian/source/format deleted file mode 100644 index 89ae9db..0000000 --- a/kylin-update-notify-immutable/debian/source/format +++ /dev/null @@ -1 +0,0 @@ -3.0 (native) diff --git a/kylin-update-notify-immutable/debian/source/options b/kylin-update-notify-immutable/debian/source/options deleted file mode 100644 index 06e1ae9..0000000 --- a/kylin-update-notify-immutable/debian/source/options +++ /dev/null @@ -1 +0,0 @@ -include-binaries diff --git a/kylin-update-notify-immutable/env.pri b/kylin-update-notify-immutable/env.pri deleted file mode 100644 index 673db9f..0000000 --- a/kylin-update-notify-immutable/env.pri +++ /dev/null @@ -1,4 +0,0 @@ -PROJECT_ROOTDIR = $$PWD - -INCLUDEPATH = ./widgets -include(./widgets/widgets.pri) diff --git a/kylin-update-notify-immutable/kylin-update-notify-immutable.pro b/kylin-update-notify-immutable/kylin-update-notify-immutable.pro deleted file mode 100644 index 450bff3..0000000 --- a/kylin-update-notify-immutable/kylin-update-notify-immutable.pro +++ /dev/null @@ -1,42 +0,0 @@ -QT += core gui dbus network KWindowSystem sql -greaterThan(QT_MAJOR_VERSION, 4): QT += widgets - -CONFIG += c++11 link_pkgconfig - -# 项目名 -TARGET = kylin-background-upgrade -TEMPLATE = app - -LIBS +=-lukui-log4qt - -include(env.pri) -INCLUDEPATH +=./widgets - -SOURCES += \ - ./src/core.cpp \ - ./src/main.cpp \ - ./src/traydbus.cpp \ - ./src/trayicon.cpp \ - ./src/updatehandle.cpp \ - ./src/updatewidget.cpp - -HEADERS += \ - ./src/core.h \ - ./src/traydbus.h \ - ./src/trayicon.h \ - ./src/updatehandle.h \ - ./src/updatewidget.h - -TRANSLATIONS += translations/kylin-background-upgrade_zh_CN.ts \ - translations/kylin-background-upgrade_bo_CN.ts - -PKGCONFIG += gsettings-qt kysdk-waylandhelper - -FORMS += \ - ./src/updatewidget.ui - -RESOURCES += \ - ./data/Resources.qrc - -DISTFILES += \ - ./data/update.png diff --git a/kylin-update-notify-immutable/src/core.cpp b/kylin-update-notify-immutable/src/core.cpp deleted file mode 100644 index 269318f..0000000 --- a/kylin-update-notify-immutable/src/core.cpp +++ /dev/null @@ -1,22 +0,0 @@ -#include "core.h" - -core::core(QString getnum, QWidget *parent) - : QMainWindow(parent) -{ - updateHandle = new updatehandle(getnum,this); - connect(updateHandle,&updatehandle::execSignal,this,&core::execSlots); - this->setWindowFlags(Qt::SubWindow); - -} - -core::~core() -{ - qDebug() << Q_FUNC_INFO << __LINE__; -} - -void core::execSlots() -{ - emit execSignal(); -} - - diff --git a/kylin-update-notify-immutable/src/main.cpp b/kylin-update-notify-immutable/src/main.cpp deleted file mode 100644 index e3c717b..0000000 --- a/kylin-update-notify-immutable/src/main.cpp +++ /dev/null @@ -1,206 +0,0 @@ -#include "core.h" -#include -#include -#include -#include -#include -#include -#include -#include - -#define PROGRAM_NAME "kylin-background-upgrade" -#define LOG_NAME "/.config/kylin-background-upgrade/kylin-background-upgrade.log" -#define LOG_SILENT_NAME "/.config/kylin-background-upgrade/kylin-background-upgrade-silent.log" -#define LOG_MANUL_NAME "/.config/kylin-background-upgrade/kylin-background-upgrade-manul.log" - -static FILE *fp = NULL; -QString toDir; -static bool _silentOrManul = true; - -void msgHandler(QtMsgType type, const QMessageLogContext& context, const QString& msg) -{ - static char logPath[255] = {0}; - int uid = -1; - static int pid = 0; - - Q_UNUSED(context); - - QDateTime currentTime = QDateTime::currentDateTime(); - QString timeStr = currentTime.toString("yy.MM.dd hh:mm:ss +zzz"); - pid = (int)getpid(); - uid = (int)getuid(); - // 获取用于控制命令行输出的环境变量 - char *ctrlEnv = getenv("BACKGROUND_UPGRADE_DEBUG"); - QString env; - - // 格式化输出字符串,添加消息发生时间、消息等级 - QString outMsg; - switch (type) { - case QtDebugMsg: - outMsg = QString("[%1 D .%2 :%4]: %3").arg(timeStr).arg(pid).arg(msg).arg(uid); - break; - case QtInfoMsg: - outMsg = QString("[%1 D .%2 :%4]: %3").arg(timeStr).arg(pid).arg(msg).arg(uid); - break; - case QtWarningMsg: - outMsg = QString("[%1 D .%2 :%4]: %3").arg(timeStr).arg(pid).arg(msg).arg(uid); - break; - case QtCriticalMsg: - outMsg = QString("[%1 D .%2 :%4]: %3").arg(timeStr).arg(pid).arg(msg).arg(uid); - break; - case QtFatalMsg: - outMsg = QString("[%1 D .%2 :%4]: %3").arg(timeStr).arg(pid).arg(msg).arg(uid); - } - - if (fp != NULL) { - // 日志文件存在,则输出到日志文件中 - fprintf(fp, "%s\n", outMsg.toUtf8().data()); - fflush(fp); - } - - if (ctrlEnv != NULL) { - // 环境变量为true或者1,则将信息输出到命令行 - env = QString(ctrlEnv).toLower(); - if ((env == "true") || (env == "1")) { - fprintf(stdout, "%s\n", outMsg.toStdString().c_str()); - fflush(stdout); - } - } - - // 遇到致命错误,需要终止程序(这里终止程序是可选的) - if (type == QtFatalMsg) - abort(); -} - -void log_env_init(QString arg){ - static int uid = -1; - static char logPath[98] = {0}; - bool _is_root = false; - toDir = QDir::homePath(); - toDir += "/.config/kylin-background-upgrade/"; - QDir dir(toDir); - if(!dir.exists()) { - dir.mkdir(toDir); - } - - // 初始执行时,设置log文件路径 - if (uid == -1) { - uid = getuid(); - } - if (uid == 0) { - // root user - sprintf(logPath, "/var/log/kylin-background-upgrade/kylin-background-upgrade.log"); - _is_root = true; - } else { - // normal user - // sprintf(logPath, "/run/user/%d/%s.log", uid, PROGRAM_NAME); - //QString 转 const char* - std::string str = QDir::homePath().toStdString(); - const char* ch = str.c_str(); - if (arg == "--check-upgrade" || arg == "--check-immediately") { - sprintf(logPath, "%s%s", ch, LOG_MANUL_NAME); - } else { - sprintf(logPath, "%s%s", ch, LOG_SILENT_NAME); - } - } - - if (access(logPath, F_OK|W_OK) == 0) { // log文件存在且可写 - if (fp == NULL) - fp = fopen(logPath, "a+"); - QFileInfo info(logPath); - if (info.size() > 1024*1024*20) { //20MB - fclose(fp); fp = NULL; - QFile fileclean(logPath); - fileclean.open(QIODevice::WriteOnly | QIODevice::Text | QFile::Truncate); - fileclean.close(); - if (fp == NULL) - fp = fopen(logPath, "a+"); - } - } else if (access(logPath, F_OK) != 0){ //文件不存在 - if (fp == NULL) { - if (_is_root) { //root用户日志文件 - QDir* dir = new QDir(); - if(!dir->exists("/var/log/kylin-background-upgrade/")){ - dir->mkpath("/var/log/kylin-background-upgrade/"); - } - fp = fopen(logPath, "a+"); - if (fp == NULL) - printf("Can't open logfile!\n"); - } else { - fp = fopen(logPath, "a+"); - if (fp == NULL) - printf("Can't open logfile!\n"); - } - } - } else { - // log文件不可写,则需要判断是否被打开过,被打开过就需要关闭 - if (fp != NULL) - fclose(fp); - fp = NULL; - } -} - -bool _is_openkylin() -{ - QString OPENKYLIN_DISTTRIBUTOR = "Openkylin"; - QString command = "lsb_release -i -s"; - QProcess process; - process.start(command); - process.waitForFinished(); - - QString result = process.readAllStandardOutput(); - int ret = result.left(OPENKYLIN_DISTTRIBUTOR.length()).compare(OPENKYLIN_DISTTRIBUTOR.left(OPENKYLIN_DISTTRIBUTOR.length())); - return (0 == ret)?true:false; -} - -int main(int argc, char *argv[]) -{ - QString arg=QString::fromLatin1(argv[1]); - log_env_init(arg); - qInstallMessageHandler(msgHandler); - char *dis_env=getenv("DISPLAY"); - QString display_env(dis_env); - if(display_env != NULL){ - qDebug()<<"The desktop graphics environment is normal, DISPLAY="<= QT_VERSION_CHECK(5, 6, 0)) - QApplication::setAttribute(Qt::AA_EnableHighDpiScaling); - QApplication::setAttribute(Qt::AA_UseHighDpiPixmaps); -#endif - - setenv("QT_QPA_PLATFORMTHEME","ukui",true); - qunsetenv("SESSION_MANAGER"); - QApplication a(argc, argv); - core m_core(arg); -// QObject::connect(m_core,SIGNAL(execSignal()),&a,SLOT(quit())); - return a.exec(); -} diff --git a/kylin-update-notify-immutable/src/traydbus.cpp b/kylin-update-notify-immutable/src/traydbus.cpp deleted file mode 100644 index 7618f0d..0000000 --- a/kylin-update-notify-immutable/src/traydbus.cpp +++ /dev/null @@ -1,450 +0,0 @@ -#include "traydbus.h" -#include -#include -#include - -//托盘d-bus 服务 -traydbusservice::traydbusservice() -{ - -} - -QStringList traydbusservice::getCrucial() -{ - QFile file("/var/lib/kylin-software-properties/template/crucial.list"); - if (!file.open(QIODevice::ReadOnly | QIODevice::Text)) - return crucial; - while (!file.atEnd()) { - QByteArray line = file.readLine(); - QString str = QString(line); - qDebug()<isValid()) { - qDebug() << qPrintable(QDBusConnection::systemBus().lastError().message()); - exit(1); - } - - interface1->setTimeout(123456789); - //调用远程的value方法,源管理器update - qDebug()<<"Start updateSourceTemplate ..."; - QDBusReply reply1 = interface1->call(QDBus::Block, "updateSourceTemplate"); - if (reply1.isValid()) { - if (reply1.value()) { -// QDBusReply reply2 = interface1->call(QDBus::Block, "updateSourcePackages","kylin-background-upgrade"); -// if (reply2.isValid()) { -// qDebug()<<"updateSourcePackages return value:"<start(3000); - if (initSource_Dbus()) { - connectTimer->stop(); - } else { - num ++; - if (num >2) { - qDebug()<<"updateSourceTemplate failed, exit."; - exit(0); - } - qDebug()<<"updateSourceTemplate failed,Retries are in progress for the "<isValid()) { - qDebug() << qPrintable(QDBusConnection::systemBus().lastError().message()); - qDebug() << "Failed to connect /com/kylin/systemupgrade "; - exit(1); - } - interface_utils = new QDBusInterface("com.kylin.systemupgrade", "/com/kylin/systemupgrade/utils", - "com.kylin.systemupgrade.interface", - QDBusConnection::systemBus()); - if (!interface_utils->isValid()) { - qDebug() << qPrintable(QDBusConnection::systemBus().lastError().message()); - qDebug() << "Failed to connect /com/kylin/systemupgrade "; - exit(1); - } - - //监听D-bus信号,获取安装信息与进度 -// connect(interface,SIGNAL(UpdateDloadAndInstStaChanged(QStringList, int, QString, QString)),this,SLOT(getsignal(QStringList, int, QString, QString))); -// QDBusConnection::systemBus().connect(QString("com.kylin.systemupgrade"), QString("/com/kylin/systemupgrade"), -// QString("com.kylin.systemupgrade.interface"), -// QString("UpdateDloadAndInstStaChanged"), this, SLOT(getsignal(QStringList, int32_t, QString, QString))); - -} - -/** - * @brief update_dbus::getsignal - * 获取下载进度 - */ -void update_dbus::getsignal(QStringList pkgs, int progess, QString status, QString current_details) -{ - QString aptStatus = ""; -// QString aptAppName; - int aptPercent = 0; - -// QVariant dateQVariant; -// aptStatus = arg; - -// QVariantMap::Iterator it; -// for (it = key.begin(); it != key.end(); ++it) { -// if (it.key() == "apt_appname") { -// dateQVariant = it.value(); -// aptAppName = dateQVariant.toString(); -// } -// if (it.key() == "apt_percent") { -// dateQVariant = it.value(); -// aptPercent = dateQVariant.toFloat(); -// } -// } - -// if (arg == "apt_start" && aptD_busStatus == true) { -// aptD_busStatus =false; -// } -// if ((arg == "apt_start" || arg == "apt_finish") && (aptPercent == 0 || aptPercent == 100)) { -// emit aptAppNames_Percentsignal(aptAppName,aptPercent,true); -// } else if (arg == "apt_error" ) { -// emit aptAppNames_Percentsignal(aptAppName,aptPercent,false); -// } - if (aptPercent != progess) { - aptPercent = progess; - emit aptAppNames_Percentsignal(pkgs.at(0),aptPercent,status); - } - -} - -/** - * @brief update_dbus::checkForUpdates - * 检测强制推送列表 - */ -QStringList update_dbus::checkForUpdates(QStringList arg) -{ - QDBusReply reply = interface_utils->call("CheckInstalledOrUpgrade",arg); - if (reply.isValid()) - { - qDebug()<<"The upgradeable list:"< res = interface->asyncCall("UpdateDetect"); - qDebug() << "UpdateDetect (mode: MODE_UPDATE_DETECT) ..."; - return true; -} - -/** - * @brief update_dbus::installAndUpgrade - * 静默升级入口 - */ -bool update_dbus::installAndUpgrade(QStringList pkgNames) -{ - installpkgs = pkgNames; - - //调用D-bus接口,安装软件 - connect(interface,SIGNAL(UpdateDetectFinished(bool,QStringList,QString,QString)),this,SLOT(slotUpdateCache(bool,QStringList,QString,QString))); -// QDBusPendingCall call = interface_utils->asyncCall("InstallPackages","kylin-background-upgrade", installpkgs); - QDBusPendingCall call = interface->asyncCall("UpdateCache"); - qDebug() << "UpdateCache (mode: MODE_UPDATE_CACHE) ..."; //MODE_UPDATE_CACHE - return true; -} - -void update_dbus::slotInstallFinish(bool status, QStringList pkgs,QString error,QString details) -{ - emit UpdateInstallFinished(status,pkgs,error,details); -} - -void update_dbus::UpdateDectSlot(bool status, QStringList pkgs,QString error,QString details) -{ - emit UpdateDectFinished(status,pkgs,error,details); -} - -void update_dbus::slotUpdateCache(bool status,QStringList pkgslist,QString errorstring,QString errorcode) -{ - if (status) { - qDebug() << "MODE_UPDATE_CACHE finish ."; - connect(interface,SIGNAL(UpdateInstallFinished(bool,QStringList,QString,QString)),this,SLOT(slotInstallFinish(bool,QStringList,QString,QString))); - interface->asyncCall("InstallPackages", installpkgs); - } else { - qDebug() << "Call UpdateCache (mode: MODE_UPDATE_CACHE) failed, exit!"; - exit(0); - } -} - -/** - * @brief update_dbus::listenState - * 监听状态 - * @return - */ -bool update_dbus::listenState() -{ - QDBusReply r4eply = interface->call("get_important_status"); - return r4eply; -} - - -//连接电源的d-bus································ - -power_dbus::power_dbus(QObject *parent) - :QObject(parent) -{ - -} - -power_dbus::~power_dbus() -{ - -} - -/** - * @brief power_dbus::initDbusaddrest - * 连接电源管理器的dbus,获取dbus路径 - * @return - */ -bool power_dbus::initDbusaddrest() -{ - - QStringList users; - QDBusInterface m_interface1( "org.freedesktop.UPower", - "/org/freedesktop/UPower", - "org.freedesktop.UPower", - QDBusConnection::systemBus() ); - if (!m_interface1.isValid()) { - qDebug() << "< org.freedesktop.UPower > initialization failed!"; - return false; - } - - QDBusReply> obj_reply = m_interface1.call("EnumerateDevices"); - - - if (obj_reply.isValid()) { - for (QDBusObjectPath op : obj_reply.value()) - users << op.path(); - if (users.size()==1 || users.isEmpty()) { - qDebug()<<"Failed to obtain the remaining battery capacity, The built-in power supply cannot be detected ..."; - return false; - } - powerpath=users.at(1); - return true; - } - return true; -} - -/** - * @brief power_dbus::getPower_Dbus - * 连接电源管理器的dbus - * @return - */ -QString power_dbus::getPower_Dbus() -{ - QDBusInterface m_interface( "org.freedesktop.UPower", - powerpath, - "org.freedesktop.DBus.Properties", - QDBusConnection::systemBus()); - - if (!m_interface.isValid()) { - qDebug() << "电源管理器dbus接口初始化失败"; - return "false"; - } - - QDBusReply obj_reply = m_interface.call("Get","org.freedesktop.UPower.Device","Percentage"); - QString Ele_surplus=obj_reply.value().toString(); - return Ele_surplus; -} - -//判断是否为活跃用户的dbus······························· - -UserIdStatus::UserIdStatus(QObject *parent) - :QObject(parent) -{ - initUserIdStatus(); -} - -UserIdStatus::~UserIdStatus() -{ - -} - - -void UserIdStatus::initConnectionInfo() -{ -// qRegisterMetaType("MyClass"); -// QDBusInterface m_interface1("org.freedesktop.login1", -// "/org/freedesktop/login1", -// "org.freedesktop.login1.Manager", -// QDBusConnection::systemBus() ); -// if (!m_interface1.isValid()) { -// qDebug() << "dbus接口初始化失败"; -// return; -// } - -// QDBusMessage res = m_interface1.call("ListUsers"); - -// qDebug() << res.arguments().at(0).value().IDName; -// qDebug()< res = m_interface1.call("Get","org.freedesktop.login1.User","State"); - UIDStatus = res.value().toString(); -} - - - - diff --git a/kylin-update-notify-immutable/src/traydbus.h b/kylin-update-notify-immutable/src/traydbus.h deleted file mode 100644 index 795f869..0000000 --- a/kylin-update-notify-immutable/src/traydbus.h +++ /dev/null @@ -1,160 +0,0 @@ -#ifndef TRAYDBUSSERVICE_H -#define TRAYDBUSSERVICE_H - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - - -#include -#include -#include - -class traydbusservice : public QObject -{ - Q_OBJECT - //定义Interface名称为com.scorpio.test.value - Q_CLASSINFO("D-Bus Interface", "com.scorpio.test.value") -public: - traydbusservice(); - - QStringList crucial; - QStringList important; - -public slots: - QStringList getCrucial(); - QStringList getImportant(); - - void connectSuccessslots(); - void quitslots(); - -private: - -Q_SIGNALS: // SIGNALS - QString ready(QString ret); - QString connectSuccessSignal(); - QString quitsignal(); - -}; - -//连接源管理器的d-bus································ - -class source_dbus: public QObject -{ - Q_OBJECT - -public: - explicit source_dbus(QObject *parent = nullptr); - ~source_dbus(); - QString serialNumber; - QTimer *connectTimer; - int num=0; - static source_dbus *getInstance(); - QDBusInterface *interface1; //连接源更新管理器的D-bus - - bool initSource_Dbus(); - static source_dbus *sourceMutual; //UpdateDbus类静态对象 - -public slots: - void connectDbus(); - -Q_SIGNALS: - void ready(); -}; - -//连接更新管理器的d-bus································ - -class update_dbus: public QObject -{ - Q_OBJECT - -public: - explicit update_dbus(QObject *parent = nullptr); - ~update_dbus(); - static update_dbus *getInstance(); - QDBusInterface *interface; //连接更新管理器的D-bus - QDBusInterface *interface_utils; //kylin-system-updater utils - void initUpdate_Dbus(); - static update_dbus *updateMutual; //UpdateDbus类静态对象 - QStringList checkForUpdates(QStringList arg); //检测是否有更新 - bool checkForUpdateDect(); //检测系统更新 - bool installAndUpgrade(QStringList pkgNames); //静默升级入口 - QTimer *timer; - - bool aptD_busStatus=true; //发送状态的标志位 - - bool listenState(); - QStringList installpkgs; -Q_SIGNALS: - void ready(); - void aptAppNames_Percentsignal(QString arg,int32_t args,QString state); //发送正在下载安装的包名以及进度 - void dowloadStart(); - void UpdateInstallFinished(bool,QStringList,QString,QString); - void UpdateDectFinished(bool,QStringList,QString,QString); - -protected slots: - void getsignal(QStringList, int, QString, QString); - void slotUpdateCache(bool,QStringList,QString,QString); - void slotInstallFinish(bool,QStringList,QString,QString); - void UpdateDectSlot(bool,QStringList,QString,QString); -}; - -//连接电源的d-bus································ - -class power_dbus: public QObject -{ - Q_OBJECT -public: - power_dbus(QObject *parent = nullptr); - ~power_dbus(); - QDBusInterface *interface; //连接更新管理器的D-bus - bool initDbusaddrest(); - QString getPower_Dbus(); - QString powerpath; - - -Q_SIGNALS: - void ready(); - -protected slots: - -}; - -//判断是否为活跃用户的dbus······························· - - -class MyClass -{ -public: - uint32_t uidnum; - QString IDName; - QDBusObjectPath address; -}; -Q_DECLARE_METATYPE(MyClass) - -class UserIdStatus: public QObject -{ - Q_OBJECT -public: - UserIdStatus(QObject *parent = nullptr); - ~UserIdStatus(); - QString UIDStatus; - void initConnectionInfo(); - void initUserIdStatus(); - -Q_SIGNALS: - void ready(); - -protected slots: - -}; - - -#endif // TRAYDBUSSERVICE_H diff --git a/kylin-update-notify-immutable/src/updatehandle.cpp b/kylin-update-notify-immutable/src/updatehandle.cpp deleted file mode 100644 index 8e04ed5..0000000 --- a/kylin-update-notify-immutable/src/updatehandle.cpp +++ /dev/null @@ -1,750 +0,0 @@ -#include "updatehandle.h" -#include -#include - -updatehandle::updatehandle(QString getnum1,QWidget *parent) : QWidget(parent) -{ - argnum = getnum1; - - initTranslator(); //加载翻译文件 - getpower(); //获取电量值 - readconf(); //读取配置文件设定值 - initDbus(); //初始化dbus - initUI(argnum); //初始化托盘程序 -} - -updatehandle::~updatehandle() -{ - qDebug() << Q_FUNC_INFO << __LINE__; -} - -/** - * @brief updatehandle::initTranslator - * 加载翻译文件 - */ -void updatehandle::initTranslator() -{ - QTranslator *translator = new QTranslator; - if (translator->load(QLocale(), QLatin1String("kylin-background-upgrade"), QLatin1String("_"), QLatin1String("/usr/share/kylin-background-upgrade"))) { - QApplication::installTranslator(translator); - } else { - qDebug() << "cannot load translator kylin-background-upgrade_" << QLocale::system().name() << ".qm!"; - } - -} - -/** - * @brief updatehandle::getpower - * 获取电量值 - */ -void updatehandle::getpower() -{ - //获取电量信息 - Power_dbus = new power_dbus(this); - powerState = Power_dbus->initDbusaddrest(); - if (powerState) { - powerNum = Power_dbus->getPower_Dbus(); - qDebug()<<"电脑电量值为:"<UIDStatus == "online") { - qDebug()<<"非活跃窗口,禁止启动"; - exit(0); - } - m_updateMutual = update_dbus::getInstance(); //初始化更新管理器d-bus - m_sourceMutual = source_dbus::getInstance(); //初始化源管理器d-bus - -} - - -/** - * @brief updatehandle::initUI - * 初始化界面类 - */ -void updatehandle::initUI(QString argnum) -{ - timerDownload = new QTimer(this); - connect(timerDownload, SIGNAL(timeout()), this, SLOT(downloadTimeout())); - - if(argnum.contains("--check-immediately")){ - qDebug()<<"exec --check-immediately"; - } else if(argnum.contains("--check-upgrade")) { - qDebug()<<"exec --check-upgrade"; - } else { - qDebug()<<"exec slient."; - } - - trayIcon = new trayicon(this); - bool ignore_or_delay = ignoreOrDelay(argnum.contains("--check-immediately",Qt::CaseInsensitive)); - choice_window = new updatewidget(ignore_or_delay);//更新选择页面 - tip_window = new updateTip(); //静默升级提示 - - if (argnum == "") { - //监听连接源管理器d-bus - //监听托盘点击事件,3:单击,2:双击,1:右键 - connect(trayIcon,&trayicon::activated, this,&updatehandle::onActivated); - connect(m_sourceMutual,&source_dbus::ready,this,&updatehandle::getTemplateList); - m_sourceMutual->connectDbus(); - } else if (argnum.contains("--check-upgrade",Qt::CaseInsensitive)||ignore_or_delay) { - //连接关闭功能槽函数 - connect(choice_window,&updatewidget::disAgreeBtnSignals,this,&updatehandle::execslots); - UpdateDectCheck(ignore_or_delay); - } else { - qDebug()<<"No update,exit!"; - exit(0); - } -} - -/** - * @brief updatehandle::tray_Show - * 启动托盘选择页面 - */ -void updatehandle::tray_Show() -{ - if(checktime()){ - if (!m_updateMutual->listenState()) { - if (m_getsql()) { - qDebug()<<"m_getsql 的值为true"; - choice_window->update_lab->setText(tr("System update")); - if (argnum != "update") { - choice_window->updateWidgetShow(); - } - } else { - qDebug()<<"更新管理器关闭检测更新,托盘程序结束"; - exit(0); - } - } else { - qDebug()<<"更新管理器已运行,程序退出"; - exit(0); - } - } else { - qDebug()<<"配置文件设定时间未到,程序退出"; - exit(0); - } -} - -/** - * @brief updatehandle::checktime - * 进行当前时间与配置文件时间比对 - * @return - * true: 当前时间大于配置文件时间 - * false: 当前时间小于配置文件时间 - */ -bool updatehandle::checktime() -{ - timersetting->beginGroup(QString::fromLocal8Bit("Timer")); - CheckUpgradeTime = timersetting->value("CheckUpgradeTime").toString(); - QDateTime datetime = QDateTime::fromString(CheckUpgradeTime, "yyyy-MM-dd hh:mm:ss"); - //结束组 - timersetting->endGroup(); - QDateTime Nowtime = QDateTime::currentDateTime(); //获取系统现在的时间 - qint64 nSecs = Nowtime.secsTo(datetime); //对比 - qDebug()<<"Get timing time: "<isHidden()){ - QPoint pt=cursor().pos(); - tip_window->move(pt.x(),pt.y()-45); - tip_window->show(); - } else { - tip_window->hide(); - } -} - -/** - * @brief updatehandle::getTemplateList - * 获取源管理器文件中的可选更新与强制更新列表 - */ -void updatehandle::getTemplateList() -{ - qDebug()<<"Parses the optional update list and the mandatory update list ..."; - QMap updatedata; - QString str1; - QString str2; - QStringList m_crucial; - QFile file1("/var/lib/kylin-software-properties/template/crucial.list"); - if (!file1.open(QIODevice::ReadOnly | QIODevice::Text)){ - qDebug()<<"cat not open file crucial.list"; - exit(0); - } - while (!file1.atEnd()) { - QByteArray line = file1.readLine(); - str1 += QString(line); - } - str1.replace(QString("\n"), QString("")); - m_crucial = str1.split(QRegExp("[ ]")); - m_crucial.removeAll(QString("")); - qDebug()<<"The crucial lists: "< data) -{ - qDebug()<<"Monitor the installation progress and status signal ..."; - //ksu获取进度,状态 - connect(m_updateMutual,&update_dbus::UpdateInstallFinished,this,&updatehandle::InstallFinsih); - QStringList crucial; - QMap::iterator it; - for (it = data.begin();it != data.end();it++) { - if (it.key() == "crucial") { - crucial = it.value(); - } else if (it.key() == "important") { - important = it.value(); - } - } - qDebug()<<"Checking silent upgrade list: "<checkForUpdates(crucial); - if (!checkCrucialAll.isEmpty()) { - handleCrucial(checkCrucialAll); - } else { - qDebug() << "Silent upgrade list is empty, exit!"; - exit(0); - } -} - -/** - * @brief updatehandle::handleCrucial - * 处理静默升级包 - * @param checkCrucialAll - * 传入包列表 - */ -void updatehandle::handleCrucial(QStringList checkCrucialAll) -{ - QStringList crucialPackageSize; - QStringList crucialPackage; - - if (checkCrucialAll.count()%2 != 0) { - qDebug()<<"The format of the silent upgrade list is incorrect, exit!"; - exit(0); - } - if (argnum != "update") { - //提取包名与大小信息 - for (int i=0;istart(20*60*1000); - if (powerState) { //判断是否获取到电量 - if (powerNum.toInt()setVisible(true); - qDebug()<<"The system is updating silently ..."; - m_updateMutual->installAndUpgrade(crucialPackage); - } else { - exit(0); - } - } else { - notify_send(tr("The system is updating silently")); - trayIcon->setVisible(true); - qDebug()<<"The system is updating silently ..."; - m_updateMutual->installAndUpgrade(crucialPackage); - } - } else { - notify_send(tr("The system is updating silently")); - trayIcon->setVisible(true); - qDebug()<<"The system is updating silently ..."; - m_updateMutual->installAndUpgrade(crucialPackage); - } - } -} - -/** - * @brief updatehandle::UpdateDectSlot - * 处理可选升级包 - */ -void updatehandle::UpdateDectSlot(bool status,QStringList list,QString errorstring,QString errorcode) -{ - if (!status) { - qDebug() << "Update Detect failed: " << QString("%1 %2").arg(errorstring).arg(errorcode); - exit(0); - } else { - if (list.length() == 0) { - qDebug() << "The software on this computer is up to date, exit!"; - exit(0); - } else { - choice_window->update_lab->setText(tr("System update")); - if (argnum != "update") { - choice_window->updateWidgetShow(); - } - } - } - //完成检测,刷新下次更新标志位 - timersetting->beginGroup(QString::fromLocal8Bit("Timer")); - timersetting->setValue("GeneratRandomTime",true); - timersetting->setValue("CheckCompleted",true); - timersetting->sync(); - timersetting->endGroup(); -} - -/** - * @brief updatehandle::UpdateDectCheck - * 处理可选升级包 - */ -void updatehandle::UpdateDectCheck(bool _check_immediately) -{ - //判断是否有系统更新 - if(checktime() || !RandomizedExecute || _check_immediately){ - if (m_getsql() || _check_immediately) { - qDebug()<<"Detection update has been opened ..."; - connect(m_updateMutual,&update_dbus::UpdateDectFinished,this,&updatehandle::UpdateDectSlot); - bool ret= m_updateMutual->checkForUpdateDect(); - } else { - qDebug()<<"Detection updates have been disabled, exit!"; - exit(0); - } - } else { - qDebug()<<"The scheduled time is not reached, exit."; - exit(0); - } -} - - -/** - * @brief updatehandle::ignoreOrDelays - * 处理可选升级包 - */ -bool updatehandle::ignoreOrDelay(bool mode) -{ - static char flagPath[64] = {0}; - sprintf(flagPath, "/var/cache/kylin-update-manager/ignoreOrDelay"); - bool ignore_or_delay = false; - QFile file(flagPath); - - //判断是否完成第一步更新 - if (access(flagPath, F_OK) == 0) { // flag文件存在且可写 - qDebug()< setPackageSize) { - qDebug()<<"包大小超出设定大小,程序退出"; - return false; - } - } - qDebug()<<"包大小符合预定大小"; - return true; -} - -/** - * @brief updatehandle::register_dbus - */ -void updatehandle::register_dbus() -{ - //建立到session bus的连接 - QDBusConnection connection = QDBusConnection::sessionBus(); - - //在session bus上注册名为com.scorpio.test的服务 - if (!connection.registerService("com.scorpio.test")) { - qDebug() << "error:" << connection.lastError().message(); - exit(-1); - } - object = new traydbusservice(); - - //注册名为/test/objects的对象,把类Object所有槽函数导出为object的method - connection.registerObject("/test/objectsd", object,QDBusConnection::ExportAllSlots| QDBusConnection :: ExportAllSignals); - - connect(object,&traydbusservice::quitsignal,[=](){ - emit execSignal(); - }); - - connect(object,&traydbusservice::connectSuccessSignal,[=](){ - dbusConnectStatus = true; - emit object->ready("success"); - }); - -} - -/** - * @brief updatehandle::d_busStatus - * 判断下载状态的槽函数 - * @param arg : Appname - * @param args : aptpercent - * @param state : state - */ -void updatehandle::d_busStatus(QString arg,int32_t args,QString state) -{ - if (!checkCrucial.isEmpty() && messstate2) { - messstate2=false; - trayIcon->setVisible(true); - } - -// qDebug()<<"下载进度:"; -// qDebug()<<"Appname:"<stop(); - //apt返回失败时判断是否安装成功 - if (!state) - _check_status = package_installation_status(checkCrucial); - - if(state || _check_status){ - qDebug() << "Silent upgrade is complete, exit."; - notify_send(tr("The system has completed an important update, It is recommended that you restart immediately.")); - }else{ - QString errorstate = tr("update error"); - QString errorName; - errorName = QString("%1 %2").arg(error).arg(errorstate); - qDebug() << "Silent update failed: "<setVisible(false); - tip_window->hide(); - exit(0); -} - -bool updatehandle::package_installation_status(QStringList pkgs) -{ - QString pkgname; - QString cmd; - QProcess process; - bool status,status_single; - for (QStringList::iterator it = pkgs.begin(); it != pkgs.end(); ++it) { - pkgname = *it; - status_single = false; - cmd = QString("dpkg -l %1").arg(pkgname); - process.start(cmd); - process.waitForFinished(); - QByteArray result_ = process.readAllStandardOutput(); - if (QString::fromLocal8Bit(result_) != "") { - QStringList rets = QString::fromLocal8Bit(result_).split(QRegExp("[\n]"),QString::SkipEmptyParts); - for (QStringList::iterator it_ret = rets.begin(); it_ret != rets.end(); ++it_ret) { - QString ret; - ret = *it_ret; - if (ret.contains(pkgname) && ret.startsWith("ii")) { - status_single = true; - qDebug() << "pkg "<beginGroup(QString::fromLocal8Bit("Timer")); - timersetting->setValue("CheckCompleted",false); - timersetting->setValue("GeneratRandomTime",false); - timersetting->sync(); - timersetting->endGroup(); - emit execSignal(); -} - -/** - * @brief updatehandle::notify_send - * 发送消息通知函数 - * @param arg - * 发送的正文 - */ -void updatehandle::notify_send(QString arg) -{ - QDBusInterface iface("org.freedesktop.Notifications", - "/org/freedesktop/Notifications", - "org.freedesktop.Notifications", - QDBusConnection::sessionBus()); - QList args; - args< time2Slot.at(0)) { - return 1; - } else if (time1Slot.at(0) == time2Slot.at(0)) { - if (time1Slot.at(1) > time2Slot.at(1)) { - return 1; - } else if (time1Slot.at(1) == time2Slot.at(1)) { - return 0; - } else if (time1Slot.at(1) < time2Slot.at(1)) { - return -1; - } - } else if (time1Slot.at(0) < time2Slot.at(0)) { - return -1; - } -} - -/** - * @brief updatehandle::readconf - * 读取配置文件 - */ -void updatehandle::readconf() -{ - QMap Timer; - Timer.insert("CheckCompleted", bool(false)); - Timer.insert("CheckUpgradeTime", " "); - Timer.insert("CheckUpgradeTimeSlot", "14:30:00-16:30:00"); - Timer.insert("GeneratRandomTime", bool(true)); - Timer.insert("RandomizedExecute", bool(true)); - QMap Settings; - Settings.insert("powersize", int(1)); - Settings.insert("setpackagesize", "999999999"); -// qDebug()<<"Settings "< ir_timer(Timer); - QMapIterator ir_settings(Settings); - QSettings *code_conf = new QSettings(confPath,QSettings::IniFormat); - code_conf->beginGroup(QString::fromLocal8Bit("Timer")); - while(ir_timer.hasNext()){ - ir_timer.next(); - code_conf->setValue(ir_timer.key(), ir_timer.value()); - } - code_conf->sync(); - code_conf->endGroup(); - code_conf->beginGroup(QString::fromLocal8Bit("Settings")); - while(ir_settings.hasNext()){ - ir_settings.next(); - code_conf->setValue(ir_settings.key(), ir_settings.value()); - } - code_conf->sync(); - code_conf->endGroup(); - } - - timersetting = new QSettings(confPath,QSettings::IniFormat); - timersetting->beginGroup(QString::fromLocal8Bit("Timer")); - CheckUpgradeTime = timersetting->value("CheckUpgradeTime").toString(); - CheckUpgradeTimeSlot = timersetting->value("CheckUpgradeTimeSlot").toString(); - RandomizedExecute = timersetting->value("RandomizedExecute").toBool(); - GeneratRandomTime = timersetting->value("GeneratRandomTime").toBool(); - CheckCompleted = timersetting->value("CheckCompleted").toBool(); - qDebug()<<"[ CheckUpgradeTime: "<endGroup(); - - timersetting->beginGroup(QString::fromLocal8Bit("Settings")); - powerSize = timersetting->value("powersize").toInt(); - setPackageSize = timersetting->value("setpackagesize").toFloat(); - timersetting->endGroup(); - - QStringList timeSlot = CheckUpgradeTimeSlot.split("-"); - qDebug()<<"timeSlot "<beginGroup(QString::fromLocal8Bit("Timer")); - QString timing = current_date+' '+timeSlot.at(0); - QString start_timing = timeSlot.at(0); - QString end_timing = timeSlot.at(1); - QStringList start_timingSlot,end_timingSlot; - QString time0,time1,time2,time3; - if (start_timing.contains(":")){ - start_timingSlot = start_timing.split(":"); - time0 = start_timingSlot.at(0); - time1 = start_timingSlot.at(1); - } - if (end_timing.contains(":")){ - end_timingSlot = end_timing.split(":"); - time2 = end_timingSlot.at(0); - time3 = end_timingSlot.at(1); - } - int strayParameter = (time2.toInt()*60+time3.toInt())-(time0.toInt()*60+time1.toInt()); - a = 0; - if (strayParameter<0){ - qDebug() << "Time format error."; - }else if (strayParameter==0) { - qDebug() << "strayParameter: "<< strayParameter << ", a "<setValue("CheckCompleted",false); - } - QString timing_time = bojb.toString("yyyy-MM-dd hh:mm:ss").toLatin1().data(); - - timersetting->setValue("CheckUpgradeTime",timing_time); - timersetting->setValue("GeneratRandomTime",false); - qDebug()<< "CheckUpgradeTime "<sync(); - timersetting->endGroup(); - } -} - diff --git a/kylin-update-notify-immutable/src/updatewidget.cpp b/kylin-update-notify-immutable/src/updatewidget.cpp deleted file mode 100644 index ef46e46..0000000 --- a/kylin-update-notify-immutable/src/updatewidget.cpp +++ /dev/null @@ -1,661 +0,0 @@ -#include "updatewidget.h" -#include "ui_updatewidget.h" -#include -#include -#include -#include "ukuistylehelper/ukuistylehelper.h" -#include "windowmanager/windowmanager.h" - -#define PANEL_DBUS_SERVICE "com.ukui.panel.desktop" -#define PANEL_DBUS_PATH "/" -#define PANEL_DBUS_INTERFACE "com.ukui.panel.desktop" -#define UKUI_PANEL_SETTING "org.ukui.panel.settings" - -#define DBUS_NAME "org.ukui.SettingsDaemon" -#define DBUS_PATH "/org/ukui/SettingsDaemon/wayland" -#define DBUS_INTERFACE "org.ukui.SettingsDaemon.wayland" - -updatewidget::updatewidget(bool check_Tips, QWidget *parent) : - QWidget(parent), - ui(new Ui::Form) -{ - ui->setupUi(this); - //设置出现在屏幕的位置以及大小 - listenPanelChange(); - QString xdg_session_type = qgetenv("XDG_SESSION_TYPE"); - if (xdg_session_type != "wayland"){ - initPanelDbusGsetting(); - GetsAvailableAreaScreen(); - qDebug()<<"not wayland"; - bIsWayland = false; - } else { - //注释掉的是原先的接口,已经废除。采用原本的获取方式 -// initset_window_position(); -// set_window_position(); - initPanelDbusGsetting(); - GetsAvailableAreaScreen(); - qDebug()<<"wayland"; - bIsWayland = true; - } - _check_Tips = check_Tips; - //设置任务栏无显示 - setWindowFlags(Qt::FramelessWindowHint | Qt::X11BypassWindowManagerHint); - setWindowFlags(windowFlags() | Qt::WindowStaysOnTopHint); - - update_lab = new QLabel(); - icon_lab = new QLabel(); - - tip_lab = new QLabel(); - tip_lab->setText(tr(" Updatable app detected on your system!")); - agreebtn = new FixButton(); - delaybtn = new FixButton(); - window_close = new QPushButton(this); - - window_close->setIcon(QIcon::fromTheme("window-close-symbolic")); - window_close->setProperty("isWindowButton", 0x2); - window_close->setProperty("useIconHighlightEffect", 0x8); - window_close->setFlat(true); - window_close->setToolTip(tr("Close")); - window_close->installEventFilter(this); - connect(window_close, &QPushButton::clicked, this, &updatewidget::onClick_close_btn); - - QPixmap icon(QIcon::fromTheme("ukui-control-center").pixmap(QSize(26,26))); - - m_pfirstlayout = new QVBoxLayout(); - m_labellayout = new QHBoxLayout(); - m_psecondlayout = new QHBoxLayout(); - m_pselectlayout = new QHBoxLayout(); - comboBox = new QComboBox(); - comboBox->clear(); - strList<addItems(strList); - comboBox->installEventFilter(this); - - labelwidget = new QWidget(); - selectWidget = new QWidget(); - statwidget = new QWidget(); - - agreebtn->setText(tr("Update"),1); - agreebtn->installEventFilter(this); - delaybtn->setText(tr("Delay"),1); - delaybtn->installEventFilter(this); - - connect(agreebtn,&QPushButton::clicked,this,&updatewidget::agreeBtnClicked); - connect(comboBox,SIGNAL(activated(int)),this,SLOT(comboBoxClicked(int))); - connect(delaybtn,&QPushButton::clicked,this,&updatewidget::delayBtnClicked); - - icon_lab->setPixmap(icon); - icon_lab->setScaledContents(true); - icon_lab->setMaximumSize(26,26); - update_lab->setMaximumHeight(26); - update_lab->setContentsMargins(0,0,0,3); - window_close->setFixedSize(24,24); - window_close->setContentsMargins(0,0,0,3); - m_labellayout->addWidget(icon_lab); - m_labellayout->addWidget(update_lab); - m_labellayout->addStretch(); - m_labellayout->addWidget(window_close); - m_labellayout->setContentsMargins(0,0,0,20); - labelwidget->setLayout(m_labellayout); - - m_pselectlayout->addWidget(tip_lab); - m_pselectlayout->setContentsMargins(0,0,0,25); - selectWidget->setLayout(m_pselectlayout); - - m_psecondlayout->addStretch(); - comboBox->setFixedHeight(35); - comboBox->setMinimumWidth(135); - comboBox->setMaximumWidth(155); - agreebtn->setFixedSize(100,35); - if (_check_Tips) - m_psecondlayout->addWidget(delaybtn); - else - m_psecondlayout->addWidget(comboBox); - m_psecondlayout->addWidget(agreebtn); - m_psecondlayout->setSpacing(15); //set space between comboBox and btn - m_psecondlayout->setContentsMargins(0,0,12,12); - statwidget->setLayout(m_psecondlayout); - - m_pfirstlayout->addWidget(labelwidget); - m_pfirstlayout->addWidget(selectWidget); - m_pfirstlayout->addWidget(statwidget); - - m_pfirstlayout->setSpacing(2); - this->setLayout(m_pfirstlayout); - this->setFixedSize(435,160); - -// QGSettings *settings; -// if(QGSettings::isSchemaInstalled("org.ukui.style")){ -// settings = new QGSettings("org.ukui.style"); -// connect(settings,&QGSettings::changed,this,&ActiveConnectionWidget::GSettingsChanges); -// } - -// const QByteArray transparency_id(TRANSPARENCY_SETTINGS); -// if(QGSettings::isSchemaInstalled(transparency_id)) { -// transparency = new QGSettings(transparency_id); -// } -// if(QGSettings::isSchemaInstalled(transparency_id)) { -// getTransparency(); -// connect(transparency,&QGSettings::changed,this,&ActiveConnectionWidget::GSettingsChanges); -// } - - this->setProperty("useStyleWindowManager", false); - this->setProperty("useSystemStyleBlur", true); - this->setAttribute(Qt::WA_TranslucentBackground, true); - this->setWindowOpacity(0.9); - -// labelwidget->setStyleSheet("background-color:green;"); -// update_lab->setStyleSheet("background-color:blue;"); -// selectWidget->setStyleSheet("background-color:red;"); -// statwidget->setStyleSheet("background-color:orange;"); -// comboBox->setStyleSheet("background-color:violet;"); -// agreebtn->setStyleSheet("background-color:yellow;"); -} - -updatewidget::~updatewidget() -{ - qDebug() << Q_FUNC_INFO << __LINE__; - delete ui; -} - -void updatewidget::updateWidgetShow() -{ - this->show(); - qDebug()<<"should show:"<windowHandle(), updateWidgetRect); - else - this->setGeometry(updateWidgetRect); -} - -void updatewidget::onClick_close_btn() -{ - // emit disAgreeBtnSignals(); - qDebug()<<"User Cancel reminder, exit tray program!"; - // exit(0); - qApp->quit(); -} - -/** - * @brief updatewidget::eventFilter - * 事件过滤器 - */ -bool updatewidget::eventFilter(QObject *obj, QEvent *event) -{ - if (obj == this->window_close) { //指定window_close - if (event->type() == QEvent::HoverMove) { - QPushButton *close_btn = qobject_cast(obj); - if (close_btn) { - QToolTip::showText(QCursor::pos(), close_btn->toolTip()); - } - } - } else if (obj == this->agreebtn || obj == this->delaybtn) { - if (event->type() == QEvent::HoverMove) { - FixButton *btn = qobject_cast(obj); - if (btn) { - QToolTip::showText(QCursor::pos(), btn->toolTip()); - } - } - } else if (obj == this->comboBox) { - if (event->type() == QEvent::HoverMove) { - QComboBox *comboBox = qobject_cast(obj); - if (comboBox) { - QToolTip::showText(QCursor::pos(), comboBox->toolTip()); - } - } - } - return QWidget::eventFilter(obj, event); -} - -/** - * @brief updatewidget::initPanelDbusGsetting - * 初始化与任务栏gsetting和dbus - */ -void updatewidget::initPanelDbusGsetting() -{ - /* 链接任务栏Dbus接口,获取任务栏高度和位置 */ - m_pServiceInterface = new QDBusInterface(PANEL_DBUS_SERVICE, PANEL_DBUS_PATH, PANEL_DBUS_INTERFACE, QDBusConnection::sessionBus()); - m_pServiceInterface->setTimeout(2147483647); - connect(m_pPanelSetting, &QGSettings::changed,[=](QString key){ - if ("panelposition" == key | "panelsize" == key) { - GetsAvailableAreaScreen(); - } - }); -} - -void updatewidget::listenPanelChange() -{ - /* 链接任务栏dgsetting接口 */ - if(QGSettings::isSchemaInstalled(UKUI_PANEL_SETTING)) - m_pPanelSetting = new QGSettings(UKUI_PANEL_SETTING); -} - -/** - * @brief updatewidget::connectTaskBarDbus - * 链接任务栏dbus获取高度的接口 - * @return - */ -int updatewidget::connectTaskBarDbus() -{ - int panelHeight = 46; - if (m_pPanelSetting != nullptr) { - QStringList keys = m_pPanelSetting->keys(); - if (keys.contains("panelsize")) { - panelHeight = m_pPanelSetting->get("panelsize").toInt(); - } - } else { - QDBusMessage msg = m_pServiceInterface->call("GetPanelSize", QVariant("Hight")); - panelHeight = msg.arguments().at(0).toInt(); - return panelHeight; - } - return panelHeight; -} - -/** - * @brief updatewidget::getPanelSite - * 获取任务栏状态位置下上左右 - * @return - * 返回任务栏位置 - */ -int updatewidget::getPanelSite() -{ - int panelPosition = 0; - if (m_pPanelSetting != nullptr) { - QStringList keys = m_pPanelSetting->keys(); - if (keys.contains("panelposition")) { - panelPosition = m_pPanelSetting->get("panelposition").toInt(); - } - } else { - QDBusMessage msg = m_pServiceInterface->call("GetPanelPosition", QVariant("Site")); - panelPosition = msg.arguments().at(0).toInt(); - } - qDebug() << "Current Position of ukui panel: " << panelPosition; - return panelPosition; -} - -/** - * @brief updatewidget::GetsAvailableAreaScreen - * 获取屏幕的可用区域高度和宽度并设置位置 - */ -void updatewidget::GetsAvailableAreaScreen() -{ - //如果取不到任务栏的高度,还是优先获取桌面分辨率,可用区域 - if ((0 == connectTaskBarDbus()) && (0 == getPanelSite())) { - QScreen* pScreen = QGuiApplication::primaryScreen(); - QRect DeskSize = pScreen->availableGeometry(); - m_nScreenWidth = DeskSize.width(); //桌面分辨率的宽 - m_nScreenHeight = DeskSize.height(); //桌面分辨率的高 - } else { - //如果取到任务栏的高度,则取屏幕分辨率的高度 - int h = connectTaskBarDbus(); - QRect screenRect = QGuiApplication::primaryScreen()->geometry(); - m_nScreenWidth = screenRect.width(); - m_nScreenHeight = screenRect.height(); - m_pPeonySite = getPanelSite(); - switch (m_pPeonySite) - { - case updatewidget::PanelDown : - { - qDebug()<<"Taskbar coordinates: [ '"< reply = interface.call("GetPanelPosition", str); - return reply; -} - -int updatewidget::getTaskbarHeight(QString str) -{ - QDBusInterface interface( "com.ukui.panel.desktop", - "/", - "com.ukui.panel.desktop", - QDBusConnection::sessionBus() ); - - QDBusReply reply = interface.call("GetPanelSize", str); - return reply; -} - - -int updatewidget::getScreenGeometry(QString methodName) -{ - int res = 0; - QDBusMessage message = QDBusMessage::createMethodCall(DBUS_NAME, - DBUS_PATH, - DBUS_INTERFACE, - methodName); - QDBusMessage response = QDBusConnection::sessionBus().call(message); - if (response.type() == QDBusMessage::ReplyMessage) { - if(response.arguments().isEmpty() == false) { - int value = response.arguments().takeFirst().toInt(); - res = value; - } - } else { - qDebug()<geometry(); - int priX = getScreenGeometry("x"); - int priY = getScreenGeometry("y"); - int priWid = getScreenGeometry("width"); - int priHei = getScreenGeometry("height"); - QRect screenGeometry = qApp->primaryScreen()->geometry(); - - availableWidth = priX + priWid; - availableHeight = priY + priHei; - totalHeight = screenGeometry.height(); - totalWidth = screenGeometry.width(); - - int distance = 4; - int n = 0; - int m = 46; - - n = getTaskbarPos("position"); - m = getTaskbarHeight("height"); - if(n == 0){ - //任务栏在下侧 - this->setGeometry(priWid-435-distance,availableHeight-160-m-distance,this->width(),this->height()); - qDebug()<<"任务栏在下侧"<width()<<" "<height(); - }else if(n == 1){ - //任务栏在上侧 - this->setGeometry(priWid-435-distance,availableHeight-160-distance,this->width(),this->height()); - qDebug()<<"任务栏在上侧"<width()<<" "<height(); - } else if (n == 2){ - //任务栏在左侧 - this->setGeometry(priWid-435-distance,availableHeight-160-distance,this->width(),this->height()); - qDebug()<<"任务栏在左侧"<width()<<" "<height(); - } else if (n == 3){ - //任务栏在右侧 - this->setGeometry(availableWidth-435-m-distance,availableHeight-160-distance,this->width(),this->height()); - qDebug()<<"任务栏在右侧"<width()<<" "<height(); - } -} - -/** - * @brief updatewidget::insideTime - * 获取时间 - * @return - */ -char *updatewidget::insideTime() -{ - qDebug()<<"current select: "<comboBox->currentText(); - QDateTime time = QDateTime::currentDateTime(); //获取系统现在的时间 - QString str = time.toString("yyyy-MM-dd hh:mm:ss"); //设置显示格式 - QByteArray str2char2 = str.toLatin1(); // must - char *nowtime = str2char2.data(); - - if(comboBox->currentText() == strList.at(0)) { - QDateTime time = QDateTime::currentDateTime(); //获取系统现在的时间 - QString str = time.toString("yyyy-MM-dd hh:mm:ss"); //设置显示格式 - QDateTime bojb = QDateTime::fromString(str,"yyyy-MM-dd hh:mm:ss").addSecs(1800); - QString str1 = bojb.toString("yyyy-MM-dd hh:mm:ss"); - QByteArray str2char2 = str1.toLatin1(); // must - nowtime = str2char2.data(); - return nowtime; - } else if (comboBox->currentText() == strList.at(1)) { - QDateTime time = QDateTime::currentDateTime(); //获取系统现在的时间 - QString str = time.toString("yyyy-MM-dd hh:mm:ss"); //设置显示格式 - QDateTime bojb = QDateTime::fromString(str,"yyyy-MM-dd hh:mm:ss").addSecs(3600); - QString str1 = bojb.toString("yyyy-MM-dd hh:mm:ss"); - QByteArray str2char2 = str1.toLatin1(); // must - nowtime = str2char2.data(); - return nowtime; - } else if (comboBox->currentText() == strList.at(2)) { - QDateTime time = QDateTime::currentDateTime(); //获取系统现在的时间 - QString str = time.toString("yyyy-MM-dd hh:mm:ss"); //设置显示格式 - QDateTime bojb = QDateTime::fromString(str,"yyyy-MM-dd hh:mm:ss").addSecs(18000); - QString str1 = bojb.toString("yyyy-MM-dd hh:mm:ss"); - QByteArray str2char2 = str1.toLatin1(); // must - nowtime = str2char2.data(); - return nowtime; - } else if (comboBox->currentText() == strList.at(3)) { - QDateTime time = QDateTime::currentDateTime(); //获取系统现在的时间 - QString str = time.toString("yyyy-MM-dd hh:mm:ss"); //设置显示格式 - QDateTime bojb = QDateTime::fromString(str,"yyyy-MM-dd hh:mm:ss").addDays(1); - QString str1 = bojb.toString("yyyy-MM-dd hh:mm:ss"); - QByteArray str2char2 = str1.toLatin1(); // must - nowtime = str2char2.data(); - return nowtime; - } else if (comboBox->currentText() == strList.at(4)) { - QDateTime time = QDateTime::currentDateTime(); //获取系统现在的时间 - QString str = time.toString("yyyy-MM-dd hh:mm:ss"); //设置显示格式 - QDateTime bojb = QDateTime::fromString(str,"yyyy-MM-dd hh:mm:ss").addDays(3); - QString str1 = bojb.toString("yyyy-MM-dd hh:mm:ss"); - QByteArray str2char2 = str1.toLatin1(); // must - nowtime = str2char2.data(); - return nowtime; - } - return nowtime; - -} - -bool updatewidget::_is_openkylin() -{ - QString OPENKYLIN_DISTTRIBUTOR = "Openkylin"; - QString command = "lsb_release -i -s"; - QProcess process; - process.start(command); - process.waitForFinished(); - - QString result = process.readAllStandardOutput(); - int ret = result.left(OPENKYLIN_DISTTRIBUTOR.length()).compare(OPENKYLIN_DISTTRIBUTOR.left(OPENKYLIN_DISTTRIBUTOR.length())); - return (0 == ret)?true:false; -} - -/** - * @brief updatewidget::agreeBtnClicked - * 同意更新按钮槽函数 - */ -void updatewidget::agreeBtnClicked() -{ - emit agreeBtnSignals(); - bool _is_2107 = true; - QFile file("/etc/os-release"); - if (file.open(QIODevice::ReadOnly | QIODevice::Text)) { - QString line; - QTextStream in(&file); - line = in.readLine(); - while(!line.isNull()) { - line = in.readLine(); - if(line.contains("KYLIN_RELEASE_ID")) { - _is_2107 = false; - } - } - } - file.close(); - QProcess p(0); - - p.startDetached("ukui-control-center -m upgrade"); - qDebug()<<"exec -m upgrade"; - - p.waitForStarted(); - qDebug()<<"Open the control panel and start updating immediately, exit tray program!"; - exit(0); -} - -/** - * @brief updatewidget::comboBoxClicked - * 推迟框槽函数 - */ -void updatewidget::comboBoxClicked(int num) -{ - //判断是否有kylin-background-upgrade目录,没有则创建 - QString toDir = QDir::homePath(); - toDir += "/.config/kylin-background-upgrade/"; - QDir dir(toDir); - if(! dir.exists()) { - dir.mkdir(toDir);//只创建一级子目录,即必须保证上级目录存在 - } - - toDir += "kylin-background-upgrade-conf.ini"; - QFileInfo fileInfo(toDir); - if (!fileInfo.exists()) { - qDebug()<<"The periodic configuration file fails to be opened, exit!"; - exit(0); - } else { - char *nowtime=insideTime(); - qDebug() << "current timing: "<beginGroup(QString::fromLocal8Bit("Timer")); - timersettings->setValue("CheckUpgradeTime",nowtime); - timersettings->sync(); - timersettings->endGroup(); - } - emit disAgreeBtnSignals(); - qDebug()<<"Users do not update, exit tray program!"; - exit(0); -} - -/** - * @brief updatewidget::delayBtnClicked - * 延迟提醒,退出 - */ -void updatewidget::delayBtnClicked() -{ - qDebug() << "User deferred updates, exit!"; - exit(0); -} - -/** - * @brief updatewidget::paintEvent - * 样式绘画画家 - * @param e - */ -void updatewidget::paintEvent(QPaintEvent *e) -{ - QStyleOption opt; - opt.init(this); - QPainter p(this); - /* 获取当前剪贴板中字体的颜色,作为背景色; - * 白字体 --> 黑背景 - * 黑字体 --> 白字体 - */ - p.setBrush(opt.palette.color(QPalette::Base)); - p.setOpacity(1); - p.setPen(QPen(QColor(220,220,220))); - QPainterPath path; - opt.rect.adjust(0,0,0,0); - path.addRoundedRect(opt.rect,12,12); - p.setRenderHint(QPainter::Antialiasing); //反锯齿 - p.drawRoundedRect(opt.rect,12,12); - setProperty("blurRegion",QRegion(path.toFillPolygon().toPolygon())); - style()->drawPrimitive(QStyle::PE_Widget, &opt, &p, this); - - QFontMetrics fontMetrics(this->font()); - QString current_str = comboBox->currentText(); - int fontSize = fontMetrics.width(current_str); - int showTextSize = comboBox->width() - 32; - if (fontSize > showTextSize) { - QString elidedText = fontMetrics.elidedText(comboBox->currentText(), Qt::ElideRight, showTextSize); - comboBox->setItemText(comboBox->currentIndex(), elidedText); - comboBox->setToolTip(current_str); - } - QWidget::paintEvent(e); -} - -/** - * @brief updateTip::updateTip - * 提示框 - * @param parent - */ -updateTip::updateTip(QWidget *parent) : - QWidget(parent) -{ - //设置任务栏无显示 - setWindowFlags(Qt::FramelessWindowHint | Qt::X11BypassWindowManagerHint); - setWindowFlags(windowFlags() | Qt::WindowStaysOnTopHint | Qt::Popup); - - m_layout = new QVBoxLayout(); - tipLabel = new QLabel(); - tipLabel->setText(tr("The system is updating silently")); - m_layout->addWidget(tipLabel); - this->setLayout(m_layout); - this->setProperty("useSystemStyleBlur", true); - this->setAttribute(Qt::WA_TranslucentBackground, true); - this->setWindowOpacity(0.9); -} - -updateTip::~updateTip() -{ - -} - -/** - * @brief updateTip::paintEvent - * 样式绘画画家 - * @param e - */ -void updateTip::paintEvent(QPaintEvent *e) -{ - QStyleOption opt; - opt.init(this); - QPainter p(this); - /* 获取当前剪贴板中字体的颜色,作为背景色; - * 白字体 --> 黑背景 - * 黑字体 --> 白字体 - */ - p.setBrush(opt.palette.color(QPalette::Base)); - p.setOpacity(1); - p.setPen(QPen(QColor(220,220,220))); - QPainterPath path; - opt.rect.adjust(0,0,0,0); - path.addRoundedRect(opt.rect,4,4); - p.setRenderHint(QPainter::Antialiasing); //反锯齿 - p.drawRoundedRect(opt.rect,4,4); - setProperty("blurRegion",QRegion(path.toFillPolygon().toPolygon())); - style()->drawPrimitive(QStyle::PE_Widget, &opt, &p, this); - QWidget::paintEvent(e); -} - - diff --git a/kylin-update-notify-immutable/src/updatewidget.h b/kylin-update-notify-immutable/src/updatewidget.h deleted file mode 100644 index 15f0c30..0000000 --- a/kylin-update-notify-immutable/src/updatewidget.h +++ /dev/null @@ -1,131 +0,0 @@ -#ifndef TRAYWIDGET_H -#define TRAYWIDGET_H - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include "Button/fixbutton.h" - -namespace Ui { -class Form; -} - -class updatewidget : public QWidget -{ - Q_OBJECT - -public: - explicit updatewidget(bool check_Tips, QWidget *parent = nullptr); - ~updatewidget(); - - enum PanelStatePosition - { - PanelDown = 0, - PanelUp, - PanelLeft, - PanelRight - }; - - bool _check_Tips; - QLabel *update_lab; - QLabel *icon_lab; - QLabel *tip_lab; - QLabel *close_lab; - - FixButton *agreebtn; - FixButton *delaybtn; - QPushButton *window_close; - QWidget *labelwidget; - QWidget *statwidget; - QWidget *selectWidget; - QStringList strList; - QPixmap *icon; - - QVBoxLayout *m_pfirstlayout = nullptr; - QHBoxLayout *m_labellayout = nullptr; - QHBoxLayout *m_psecondlayout = nullptr; - QHBoxLayout *m_pselectlayout = nullptr; - - QDBusInterface* m_pServiceInterface; // 获取任务栏的高度 - QGSettings *m_pPanelSetting = nullptr; - QComboBox *comboBox; - - int m_nScreenWidth; // 屏幕分辨率的宽 - int m_nScreenHeight; // 屏幕分辨率的高 - int m_pPeonySite; // 任务栏位置 - QSettings *timersettings; //读取timer配置文件 - QRect updateWidgetRect; - bool bIsWayland = false; - - int connectTaskBarDbus(); - int getPanelSite(); - void GetsAvailableAreaScreen(); - char *insideTime(); - int getTaskbarPos(QString str); - int getTaskbarHeight(QString str); - int getScreenGeometry(QString methodName); - void set_window_position(); - void initset_window_position(); - void listenPanelChange(); - void initPanelDbusGsetting(); // 初始化与任务栏gsetting和dbus - bool eventFilter(QObject *, QEvent *); // 添加事件过滤器声明 - bool _is_openkylin(); - void updateWidgetShow(); - -private: - Ui::Form *ui; - void paintEvent(QPaintEvent *e); - -signals: - void agreeBtnSignals(); - void disAgreeBtnSignals(); - -protected slots: - void agreeBtnClicked(); - void comboBoxClicked(int); - void delayBtnClicked(); - void onClick_close_btn(); -}; - - - - - -class updateTip : public QWidget -{ - Q_OBJECT -public: - explicit updateTip(QWidget *parent = nullptr); - ~updateTip(); - QLabel *tipLabel; - QVBoxLayout *m_layout = nullptr; - - -private: - void paintEvent(QPaintEvent *e); - - -signals: - -protected slots: -}; - -#endif // TRAYWIDGET_H diff --git a/kylin-update-notify-immutable/translations/kylin-background-upgrade_bo_CN.qm b/kylin-update-notify-immutable/translations/kylin-background-upgrade_bo_CN.qm deleted file mode 100644 index 535b5f598f2ccb2f465ddce9b5d0c408cc5ef980..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2003 zcmd5-&1(}u6rUvKLy|HgC_Pv@)gmQWX($yBA~eQId#nAR2$sz5PLidY-LN}Rw-mhU zMWoP^qKFFBTic5l5qj{T_D>Kzc@V^Z!S`l2$!gc&O;f_W%)HOv`@PpoZ;ZhYKOS!# zjGTH`efIWqnGkZ1%w5E&frX&pz!R2O2*d`r4NEA$+X_ZK1lJ8AMW{9U z3gE??m>6^wUQkO1$nhPucA*i=Ak7EhgIo)nG^29V;cdFxBu!~m=@QuC%Zk!Ln}?u- zHB}=m?X~h|q?HZsG2LmlEFp!#xXsLF%W);QWzb@Aj?GGJxGO-dDQpAOWP?lQJ8ii1 zBzNH*UJR2Z@vhOQkuDtKgF>-0GCdpz*L=&g$2G36)m^7; z8{_R(-Q|XehhQuW`1^ErCb33ez>GrMy7bHRjI`neo~sosIAJALici?fY)5Q0pSiAep&CMQ_awA)hj zbv*hj2xO{nrUO%|_`V)b!uV_gq&OfrP-T!7BP>o|u^cZt6Ooo2KNP)3*>pu%T>W1O Z$s4g_u<#J&np%M|% - - - - Form - - - Form - - - - - trayicon - - - The system is updating silently - རྒྱུད་ཁོངས་ཁ་རོག་གེར་རིམ་འགྱུར་བྱེད་སྒང་། - - - - updateTip - - - The system is updating silently - རྒྱུད་ཁོངས་ཁ་རོག་གེར་རིམ་འགྱུར་བྱེད་སྒང་། - - - - updatehandle - - - - System update - རྒྱུད་ཁོངས་གསར་སྒྱུར་ - - - - - - The system is updating silently - རྒྱུད་ཁོངས་ཁ་རོག་གེར་རིམ་འགྱུར་བྱེད་སྒང་། - - - - The system has completed an important update, It is recommended that you restart immediately. - མ་ལག་གི་འགག་རྩའི་གསར་སྒྱུར་ཞིག་ལེགས་གྲུབ་དང་།བསམ་འཆར་ལ་ཁྱེད་རང་འཕྲལ་མར་བསྐྱར་འབྱེད་། - - - - update error - རིམ་འཕར་འགྲུབ་མེད། - - - - kylin-background-upgrade - རྒྱབ་སྟེགས་གསར་སྒྱུར་བྱ་རིམ། - - - - update - རྒྱུད་ཁོངས་རིམ་སྤོར་ - - - - updatewidget - - - Updatable app detected on your system! - རྒྱུད་ཁོངས་གསར་སྒྱུར་རྣམ་གྲངས་ - - - - Close - སྒོ་རྒྱག་པ་ - - - - 30 minutes later - ཕྱིར་འགྱངས་སྐར་མ་30། - - - - 1 hour later - ཆུ་ཚོད་གཅིག་ནར་འགྱངས་། - - - - 5 hours later - ཆུ་ཚོད་5ནར་འགྱངས་། - - - - 1 day later - ཉིན་གཅིག་ནར་འགྱངས་། - - - - 3 days later - ཉིན་གསུམ་ནར་འགྱངས་། - - - - Update - ལམ་སང་གསར་སྒྱུར་ - - - - Delay - ནར་འགྱངས། - - - diff --git a/kylin-update-notify-immutable/translations/kylin-background-upgrade_zh_CN.qm b/kylin-update-notify-immutable/translations/kylin-background-upgrade_zh_CN.qm deleted file mode 100644 index 1025f13b5cf7d4eb987ac30a13f2dc1b3134be4d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1305 zcmbtTO=uHA6rTKTwq#p#QF`!a>JQXlYeR@9@lXrZB0^0>f*Ly69g{Vi-F0_j*i!0M zQ7MAK3Zi%rg9j0M=|#jIJXniYFH%q5{5cd4deAq!>2`x5m+rF6@b>%O_r3RKjxQ^N z?|(dMt_|&eGxPNI=W&G4O*D0^iBMz%O|9HQD7qKDNUtCi&W6~23*wE?(v6)6h2Dly z$^krTuV=h9bS=E+YYA}6v3IR!z&|BS8~}dgL|mB*!y1XZ@vtBcPZojxQA{mOLzb%v z@?{*>Rp~<{2Jwd~kQ))$CFlOkuUF*@!w(9NKV8|NuS5tU0lt0t3dOc#Gg`x{jq9dD zn5vhtt!h+fniB_%$SmThvZ05zpR3PRpn27FlZo6|hoSzQXU4;EdCA*Wh^}bVWgXX&#qP-2DHST<^=Mj2Hw(Xm=H4T}+- zd8N}M_%!2~P-9Zl6oN<^-fEu*e0BXzTE5ruX)GAoS|8$f1Sw-9tXS?F&=OGOX?z zyAbwXKB96Tx4h_F|L&(qVR+8-Q$|V}#l$qR0<)0$I1HV4*=irhp@2X`RmzmPvzO%7 z!a7K#5iT6|(Y;i5gLo06FhNh!l6?Ow!WTQh^k z5I!f|f8whqGh?`>>UBnYCfGEcMYzLsf7UhKlN*JL@y!>Eozx6FcrF61iE^7;$O) -#include - -FixButton::FixButton(QWidget *parent): - QPushButton(parent) -{ - -} - -FixButton::~FixButton() -{ - -} - -void FixButton::paintEvent(QPaintEvent *event) -{ - QFontMetrics fontMetrics(this->font()); - int fontSize = fontMetrics.width(mStr); - int showTextSize = this->width() - 32; - if (fontSize > showTextSize) { - this->setText(fontMetrics.elidedText(mStr, Qt::ElideRight, showTextSize), false); - this->setToolTip(mStr); - } else { - this->setText(mStr, false); - this->setToolTip(""); - } - QPushButton::paintEvent(event); -} - -void FixButton::setText(const QString & text, bool saveTextFlag) -{ - if (saveTextFlag) - mStr = text; - QPushButton::setText(text); -} diff --git a/kylin-update-notify-immutable/widgets/Button/fixbutton.h b/kylin-update-notify-immutable/widgets/Button/fixbutton.h deleted file mode 100644 index 2f30dbe..0000000 --- a/kylin-update-notify-immutable/widgets/Button/fixbutton.h +++ /dev/null @@ -1,21 +0,0 @@ -#ifndef _FIXBUTTON_H_ -#define _FIXBUTTON_H_ -#include - -class FixButton : public QPushButton -{ - Q_OBJECT -public: - FixButton(QWidget *parent = nullptr); - ~FixButton(); - void setText(const QString &text, bool saveTextFlag = true); -private: - void paintEvent(QPaintEvent *event); - -private: - QString mStr; -}; - - - -#endif diff --git a/kylin-update-notify-immutable/widgets/widgets.pri b/kylin-update-notify-immutable/widgets/widgets.pri deleted file mode 100644 index da4ea4f..0000000 --- a/kylin-update-notify-immutable/widgets/widgets.pri +++ /dev/null @@ -1,4 +0,0 @@ -INCLUDEPATH += $$PWD - -include(Button/button.pri) -#include(ComboBox/comboBox.pri) diff --git a/kylin-update-notify-immutable/kylin-update-notify.desktop b/kylin-update-notify.desktop similarity index 64% rename from kylin-update-notify-immutable/kylin-update-notify.desktop rename to kylin-update-notify.desktop index 72d60c6..662e431 100644 --- a/kylin-update-notify-immutable/kylin-update-notify.desktop +++ b/kylin-update-notify.desktop @@ -1,6 +1,6 @@ [Desktop Entry] Name=update-notify-force -Exec=/usr/bin/kylin-update-notify --check-upgrade +Exec=/usr/bin/kylin-background-upgrade --check-upgrade Type=Application NoDisplay=true Comment=update-notify-force diff --git a/kylin-update-notify.pro b/kylin-update-notify.pro deleted file mode 100644 index 2206f0c..0000000 --- a/kylin-update-notify.pro +++ /dev/null @@ -1,4 +0,0 @@ -TEMPLATE = subdirs -SUBDIRS = \ - kylin-update-notify \ - kylin-update-notify-immutable \ No newline at end of file diff --git a/kylin-update-notify.pro.user b/kylin-update-notify.pro.user new file mode 100644 index 0000000..40338c3 --- /dev/null +++ b/kylin-update-notify.pro.user @@ -0,0 +1,388 @@ + + + + + + EnvironmentId + {d046ac2c-d866-413d-b1bb-19624e2982b6} + + + ProjectExplorer.Project.ActiveTarget + 0 + + + ProjectExplorer.Project.EditorSettings + + true + false + true + + Cpp + + CppGlobal + + + + QmlJS + + QmlJSGlobal + + + 2 + UTF-8 + false + 4 + false + 80 + true + true + 1 + true + false + 0 + true + true + 0 + 8 + true + 1 + true + true + true + false + + + + ProjectExplorer.Project.PluginSettings + + + + ProjectExplorer.Project.Target.0 + + 桌面 + 桌面 + {aec71f56-69fb-48e2-9c09-f1e33c937a53} + 0 + 0 + 1 + + /home/kylin/openkylin/build-kylin-update-notify-unknown-Debug + + + true + QtProjectManager.QMakeBuildStep + true + + false + false + false + + + true + Qt4ProjectManager.MakeStep + + false + + + false + + 2 + Build + Build + ProjectExplorer.BuildSteps.Build + + + + true + Qt4ProjectManager.MakeStep + + true + clean + + false + + 1 + Clean + Clean + ProjectExplorer.BuildSteps.Clean + + 2 + false + + Debug + Qt4ProjectManager.Qt4BuildConfiguration + 2 + + + /home/kylin/openkylin/build-kylin-update-notify-unknown-Release + + + true + QtProjectManager.QMakeBuildStep + false + + false + false + true + + + true + Qt4ProjectManager.MakeStep + + false + + + false + + 2 + Build + Build + ProjectExplorer.BuildSteps.Build + + + + true + Qt4ProjectManager.MakeStep + + true + clean + + false + + 1 + Clean + Clean + ProjectExplorer.BuildSteps.Clean + + 2 + false + + Release + Qt4ProjectManager.Qt4BuildConfiguration + 0 + + + /home/kylin/openkylin/build-kylin-update-notify-unknown-Profile + + + true + QtProjectManager.QMakeBuildStep + true + + false + true + true + + + true + Qt4ProjectManager.MakeStep + + false + + + false + + 2 + Build + Build + ProjectExplorer.BuildSteps.Build + + + + true + Qt4ProjectManager.MakeStep + + true + clean + + false + + 1 + Clean + Clean + ProjectExplorer.BuildSteps.Clean + + 2 + false + + Profile + Qt4ProjectManager.Qt4BuildConfiguration + 0 + + 3 + + + 0 + Deploy + Deploy + ProjectExplorer.BuildSteps.Deploy + + 1 + ProjectExplorer.DefaultDeployConfiguration + + 1 + + + dwarf + + cpu-cycles + + + 250 + + -e + cpu-cycles + --call-graph + dwarf,4096 + -F + 250 + + -F + true + 4096 + false + false + 1000 + + true + + false + false + false + false + true + 0.01 + 10 + true + kcachegrind + 1 + 25 + + 1 + true + false + true + valgrind + + 0 + 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 + 10 + 11 + 12 + 13 + 14 + + 2 + + Qt4ProjectManager.Qt4RunConfiguration:/home/kylin/openkylin/kylin-update-notify/kylin-update-notify-immutable/kylin-update-notify-immutable.pro + /home/kylin/openkylin/kylin-update-notify/kylin-update-notify-immutable/kylin-update-notify-immutable.pro + + false + + false + true + true + false + false + true + + /home/kylin/openkylin/build-kylin-update-notify-unknown-Debug/kylin-update-notify-immutable + + + dwarf + + cpu-cycles + + + 250 + + -e + cpu-cycles + --call-graph + dwarf,4096 + -F + 250 + + -F + true + 4096 + false + false + 1000 + + true + + false + false + false + false + true + 0.01 + 10 + true + kcachegrind + 1 + 25 + + 1 + true + false + true + valgrind + + 0 + 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 + 10 + 11 + 12 + 13 + 14 + + 2 + + Qt4ProjectManager.Qt4RunConfiguration:/home/kylin/openkylin/kylin-update-notify/kylin-update-notify/kylin-update-notify.pro + /home/kylin/openkylin/kylin-update-notify/kylin-update-notify/kylin-update-notify.pro + + false + + false + true + true + false + false + true + + /home/kylin/openkylin/build-kylin-update-notify-unknown-Debug/kylin-update-notify + + 2 + + + + ProjectExplorer.Project.TargetCount + 1 + + + ProjectExplorer.Project.Updater.FileVersion + 22 + + + Version + 22 + + diff --git a/kylin-update-notify/checkUpdate.py b/kylin-update-notify/checkUpdate.py deleted file mode 100755 index 23ce81a..0000000 --- a/kylin-update-notify/checkUpdate.py +++ /dev/null @@ -1,20 +0,0 @@ -#!/usr/bin/python3 -import apt -import subprocess - -def calculate_upgradable_pkgs(): - cache = apt.Cache() - pkgs_to_upgrade = [] - - for pkg in cache: - if pkg.is_installed and pkg.is_upgradable : - pkgs_to_upgrade.append(pkg.name) - - if cache.get_changes(): - cache.clear() - - if len(pkgs_to_upgrade) != 0: - subprocess.Popen('dbus-send --system --type=signal / com.kylin.update.notification.DownloadFinish', shell=True) - -if __name__ == "__main__": - calculate_upgradable_pkgs() diff --git a/kylin-update-notify/checkUpdate.pyc b/kylin-update-notify/checkUpdate.pyc deleted file mode 100644 index d168620b274bb1adf61330a3835fcfc695a16e4d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 897 zcmcIiO^e$w5FN?c?54G8cMmPO^;SdK=1_Vllu}4x7YZpPErmiciY*-5itV*zNFX_F z|73qhe?a?23FOq{3TgCaG#_sy1%IMPFQ5HhrgR(<`$sJM4kE)8WQcwMNcsgJC<{E0 zqyx$ZR7vXIk`{DNbaPw#h(&yc=;ANN%x4au@|t2<4dIANAF?OPiS~jvZ)ivK>E|oj zOWH{)k$3Dt;DMlW;MFs_7bNb+g!vsI<&aBvio?ru#sVyMf)=qrrCEHz^|-ofonvBC zm9Df4feM=xwROrEow?{>=-a$gnOYj{hCZm(b>;?uwOVWU7$Da!Nmr`Qwe<;8qg5Ak ziG%9%KY`j-xlLS?9CB*U0=5`OoVXkN6oN!3hB6XY;<*e(BvZEW;H#Tr z*%1Uj!Obl`!y@MIF|${YD^(ok3)457UT=$2S10sv{c#Hp_kW4qGA$DB0y0U~s;HAB rW`{Z3=lo=Ie(s|Kzat#@>?9tJDYJUNZnEC!4@}guA(W$N6old*X&BY( diff --git a/kylin-update-notify/data/background_upgrade_icon.png b/kylin-update-notify/data/background_upgrade_icon.png deleted file mode 100644 index 19fb6d0bc3ccd3c74f1f7caa323e1d65ac2e6f1d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5225 zcmV-v6qf6WP)Px#1ZP1_K>z@;j|==^1poj532;bRa{vGmbN~PnbOGLGA9w%&6aGm=K~z{rOgwv8Bz07hX(A8DvopVtk zR1xBSq;wfk{uU|7{t9Bn6~rY<=aHB?kI99Lm|DDw+2#K$$N8Tyvvdv9JXe^%jQrdc zq!a)#HQ z#rV`B(u_p$JR$;I#WDdBJju~XMu5k``~^jx0{ye72okV>*2$n=;z)}e9rq0ZNU#P0 z8adv)xUASrmllzmTSkN+BB=sGu?a+?DMaHLga|eoOTh?55soAf3df*_qXDo`F7bmPD-}GE*kY$gdDI2g0p!V|xJ=2Ehgh&`+R#f-HkB z%R#?B`j9Znn@!A~M>0PJA0Mtq;xNJjicI zU=8kvI4zOs3%p=a{V_9ljS^Udp2!hw9Iil+%*Egjh6#?02FaoxK{ymglwiUf&??|a zJccks00%h`VcQ=x7$JmX9CS2+cqWhB=|$>%8JU?SCAlyqBG1>Ub)CmLkM%NO(aj}- z6?Vxcr#{Sxaz8zH8QJ-3(2~<|=t+1&DY*GCUoZ&G2w{98i}CS1VgxOKb+R0xexn>r zlnjbA(wPi_k>zj*$xIrlObW3?lrjoK*EMJX9YNkRnn+`!ID>3y9;xD4M2SJjGMJdb z+=>D#x~7H+c8Vb*Dp3MVhA5{cQ9Or4Gw1ngJr z>UjQzXVKo#j+)w9ba(Zkv9Sez{mWZOk*SaoA?pdG)8lZty|{hbc64@ip|!o8*EQj{ z_uq$u|NMxcV;o!$|3;2Vwl^2NG^(0c9u>;Y2?Ya z0?h=Zmdk)CZb>p>cY>l%P0o_V7(s^ApEc@J3xvsn!70`;IM`3X8`06(fws1G0_s&j zHuY{stEmmO)pclUXhwBq4LaI8(A&ESn>KAmPw!T2+I$E9*M~c{?NAoz^JxSb;6Srm7n4tsUqgvmG5>1l)_Rj&Af2d}n)?+IDyLppSzPhUL26o~@M6W|*2g@buHq zGHLUC1|>mO6=;H$WDW@9em|2oj`7kN7N|3bQL+Y=P@%JW7}HWLmN3Ecs( z^JW18m&6dj^jX@H0RH^Qr>L)~Lq}UDIy-vEGN-t!TOGHxw4uQl zmeUmf93j9UZ>Tdd;)ul(2peI<33zyL5VvjFLO^X~xJ!X*ZzoVwD|T?2cRsWeuf6gb zUViaqyztx$*tK&PS?xh%eIvR#16^c)Gqo&|*|+Z{<=F;-N9f-XCaOVq35uQxS_^1! zdUd4or;(&w#p)E`Fy$~Yy975YmfPcpU!y-VAwnGO-}fKD(XYRO+v&oge|?PGx84R* zQ!|+>4Vx{D5>kfox_RUS2zDwy5LrL=vtsJKj5RK(XIY*U02FDakbQ zK2JaW2b?%D0E^j<4?g@CzCHQ_%Q`C|XVy=~y_8`hokgZdSrpDu!z{z;(-)CoqPZz{ z(W%et=BR_%_xuZ}+E__;8cQkX@QLwYePkl&CTRIy*QGAhwN&8A2b4X*lg(Sqz0Rsxa~q)vx!sMi57xxp_jH( z0$&~Z0ufr>W4m_4#DNINZn}a*53g;it5?_7Y~0BEm~i;eVI=9(_uuyb38*jU04-6H zR-&D9F|~By$)thRZ{C#TWe^g7A}-SIN+N1-h%X z4P9bijCNCtV(q}+-bRRJbsHtpK=%72=~~Dd2PA`&kYl-i^|*R{CEj}TEhLx|+it&8 zxk(50-_p{ilG8*I>Z$Ge1``uLqyQVt9iLBE#Ux3r6;X;gJ98GJV{Ud`v=W~O$%u}- z@7%_RG!aNA*=k28K?@jR^7hSJkfAnz|M(M%Rbf+p7k~m@u91*|3CsT;K#Ll{H(!2@ zAC4VIZB?x*A_90dL>}wbZotQfK4T)X7Wg>h;v~_uY8NV!Q_D!OsyQ4kg7q=nh_hGN zz4IYjS2bB}RngI6QUC<>;X|KL4xcMfGW`Np0Nuvo@WH$9sic!QaqN4%vhPJT2>G9Y zZKXscNqrtKrSYJ0i&nA1>wxR&CJju=ufO>YZkBaT0Q;$BR@@wWn~E$uvJmy_bTHBQ zqwaMiL2~KM*AJoKc4R$^J5XO^9B?Vzj01NYP z{pC$w&k|0M5&~L6_C@Ot-uGKID7n7Ax(0uG{g3Q92Iv+oDn!54)wQr#Y%Eq0c)YY% zV$d00ua6EEL^^*)0AGdO5m112G92)F;Bhz!+JUGM#IbL_=9E?|cI&IF=m?J@!D?5> z(kuXkF-gWBj(*4ga{35xRT2`yv;cnY5C5$OCV)lPPd)ZHpXs5Ovj9;Fjg-a%5ByHG zrJ`96@o4Nbg3Kwmldk2|ker-DMe)oP*v7nNOXI_Ij?78GZo8e1;lsd>CzM+V!;Q7o zcyjL^GUvdCb+_Jd07<$L`mE0BD-X5|c9mse{?!*>x*-dhon1R0q0a{B6m$prxoCOU zu06^beAKMZPal?=;Bvv^^uT6wA;wBvG0u|g@RDKP*y|XB*W-qZ`!0taF|NfvdjCCY zZUZ&ktQgwO2MJ@sumBdH6#z#*`4k2Ltm;=nKueVqzz>r>$%WRYM*h!)mtWYYib<=9 zJ#u{$6OS%KFBUm?iN|60s3yoI!!^@>q5fv#eEd6XHJ(PfZ)CM=%bMs;05DlB4 z@7S`LfY>H-DutoD@7%6fyz{o(Z&;RW_ddD{Vd+1}$|}nOIu;7!_;<%tVz!%_=_oBq zTA#AaAO83d8VGh3a8*?e_PzKTpYJCQABp3jJw7-|g5BZ4WS)|cmmu+U4lcVBu2Cyl zrW81`58i!O0TulUE239nSU`(i{po*SSIi1n`AstanJ1s3gN!QR;tm4%`)`k`|Crcw z^mR++Y*akX0En#8(wx8RL8{;WDV@nT`uLJb#Kky)C# zyk@87baEO-MHXZz;8n>b?27+N2t&fKfLpufCJdfDrPz~)%6ZuecqtOXx@cVXSBpv~ z2eaYU4Y-#+n@wj_m8@F7p*(8>mMja~^?c5nH8chefhu7q@90!Ww?AY1!3DXmInTLmc(7nVh@Vs&NR zl0~vCGqZ#GAG6x<-a7}Bgvzrc<(_h5|4>iBRccw)#a=uFJ7qd*bVI}Q0^9VH87{)9k>=`yGSxDh9HAtmvP~c=M>cWgDT!9Ax=Z1z38ChaY%Qu_qdo5Ksb6ru*POK2V7! z<@TfZ|DlpebpF~)FRK|a4-Tn;?V_fI>7UP(0G5GD!b-orojtXc)lPaF7wyb!VVl4O z@chzc#HDaZ120SHiMgwA>j{k7xmvIc(@&`zw@Xz!3GrC5ECC`96b9vi!s4yJS&J>b zeX3Fa{L{}AaLdrJs(v4TbWrunjl6aPXGH)C=q571g-fSX-ydhQ6;|FJ;h_DjmM(&| zT1UyQ0~V{D?9L&Tn?*8rmJCl_;4*)it5SCKq})cpE{9D?Li8+Qx0=qa!0^bc7Yw20QQVWR#PuzLZ~yu4K< zV0jVfFEH_PE9#R#D0c=aUYH!uE8!3H_mhE9IH_anP(N%0|Lx~r@S#;)QCFjeY*ts+ zD*u%C4abgt&((yV%()m&y!q$9;x{+R;OZzHiCTi)h0z#c~9BQa-}SYI>4usOZEL%vL88jx6v29vfvcG^7R~jgH0!=g`4}_>A3` zR6cp3(trE}EcD*tQ~jKFGY2t0LWt%CzRFWW&iFbO#>TjU6f!VpGA254C}43dD8yytiQ zBk;v1DMk5&MvJ8z#Q5we0Y*#Lh~pY1ON{bDTLAmT)=HPv$C&{29N=+q>KfxJw8^sw z=fv_Tm1LgnUVy-F%ax7JCj9_G%ZInhiMldvV3L`8^Bi0d| z;dAAC#sxL~5$04lcNt-VHHySixPpLu_L5hvnj{?$&0dD zRmsPK5}CP5iEuzHi<5H~Fm>i4Gq=DBHyZuV#|X=&_zZ(t&QdRt%+4_ukmhycb1O*lI*By*L-_@=c#iihe-#x{rzr-6r~gu5>XBZj))%aB#?*}jZT`^bhN|^hGiolMn(vD3A_|)GohLN$o$dtEImUH z(Tl9MOf{M}uJ&WiFvHBZ*V%imeGz>B@l)_W@%Kj{{tj0WaC%`KrwH_T{3zk{XzF=X zR1(i38>qE9Au}}N1c6tZd#Ec^kf zsu8Wd;{_!#6^cVtXNFjPlY;wkrUw2%C^w=?Wx?G(cR@(FpGP26YQUOXFcyg7ToL}k z(&hmqDk~v>628TCh*Ubr^ftKs3%Jk)#}P{Gpt`;(O~TPRk`oDU^bHuj9Wq@LMtuvo z)Q0~e5Zg`@5G&1a_KaplVs3F8m30=BlBW9Hv&g6qoQ3e(9^_gFMD)<@uFNtq{UU+u zQXUno5d)8d$hZ-mhxyk#kn^`tA=lylfak&or{fcnWg04H7CxTldLwJP#+psLd#q)WSnq$Y~a2 zg2>tq1!|;BXwcE?N(Y(`uR_^ig`iAEU%r5xhf$_jPLeQ*1WTPwV|1Xl!Gbag2e&tZ zyry9`SlrlwRH*}_GNFcs*swc*yvK1i2(4^E$=ks3RxljdZOngl1ZJa~P-yK?G}zGA zGXmb!f@)H}qtjLV68IxYNXZFD=>PrIp~QPsaVCNh_Xa)16QL*FWHjImchL24=0u>C zt$pw}9Vlmbw01u%ybay65tOkys7y|{ro(3jc>CcqWJiu*HE0`}DqJH9EF~e7@lfbn z;P%BXd^k$(P|#*|OBy|P|nR+<;9%Vm{T{B^nQ!T61Msy74wiP8m9*|&dR1OY~ z`$L&8B%WX#Le@aFY{t0nWnL@U=KdjA9SKuT!W^8ud?gF6rckD!v~y+(9xljIn%q0Y z4W&L!qJ8l3`Ag|cED6TgO1rxqt{ex;dDz&cOwfK?AAFt zQd^phG!znYv+00000NkvXXu0mjf*!RB^ diff --git a/kylin-update-notify/data/kylin-background-upgrade-silent.service b/kylin-update-notify/data/kylin-background-upgrade-silent.service deleted file mode 100644 index d10f47f..0000000 --- a/kylin-update-notify/data/kylin-background-upgrade-silent.service +++ /dev/null @@ -1,10 +0,0 @@ -[Unit] -Description=自动更新托盘更新程序 - - -[Service] -Type=forking -TimeoutStartSec=infinity -ExecStart=/usr/bin/kylin-background-upgrade - - diff --git a/kylin-update-notify/data/kylin-background-upgrade-silent.timer b/kylin-update-notify/data/kylin-background-upgrade-silent.timer deleted file mode 100644 index 89a2a70..0000000 --- a/kylin-update-notify/data/kylin-background-upgrade-silent.timer +++ /dev/null @@ -1,12 +0,0 @@ -[Unit] -Description=静默更新定时检测 - -[Timer] -OnStartupSec=30min -OnUnitInactiveSec=2h -AccuracySec=20s -Unit=kylin-background-upgrade-silent.service - -[Install] -WantedBy=default.target - diff --git a/kylin-update-notify/data/kylin-background-upgrade-template.conf b/kylin-update-notify/data/kylin-background-upgrade-template.conf deleted file mode 100644 index 0ac8fb8..0000000 --- a/kylin-update-notify/data/kylin-background-upgrade-template.conf +++ /dev/null @@ -1,9 +0,0 @@ -[Settings] -powersize=1 -setpackagesize=999999999 - -[Timer] -checkUpgradeTime= -checkUpgradeTimeSlot=9:30-11:30 -RandomizedExecute=True - diff --git a/kylin-update-notify/data/kylin-background-upgrade.desktop b/kylin-update-notify/data/kylin-background-upgrade.desktop deleted file mode 100644 index 2e53db2..0000000 --- a/kylin-update-notify/data/kylin-background-upgrade.desktop +++ /dev/null @@ -1,10 +0,0 @@ -[Desktop Entry] -Name=kylin-background-upgrade -Name[zh_CN]=更新管理器托盘程序 -Exec=/usr/bin/kylin-background-upgrade --check-immediately -Icon=kylin-update-manager -Type=Application -X-UKUI-AutoRestart=true -OnlyShowIn=UKUI -X-UKUI-Autostart-Phase=Application -NoDisplay=true diff --git a/kylin-update-notify/data/kylin-update.timer.conf b/kylin-update-notify/data/kylin-update.timer.conf deleted file mode 100644 index 09880ea..0000000 --- a/kylin-update-notify/data/kylin-update.timer.conf +++ /dev/null @@ -1,6 +0,0 @@ -[Timer] -CheckUpgradeTime= -CheckCompleted=false -CheckUpgradeTimeSlot=09:30:00-11:30:00 -GeneratRandomTime=true -RandomizedExecute=true \ No newline at end of file diff --git a/kylin-update-notify/data/org.ukui.log4qt.kylin-background-upgrade.gschema.xml b/kylin-update-notify/data/org.ukui.log4qt.kylin-background-upgrade.gschema.xml deleted file mode 100644 index cc35fcd..0000000 --- a/kylin-update-notify/data/org.ukui.log4qt.kylin-background-upgrade.gschema.xml +++ /dev/null @@ -1,39 +0,0 @@ - - - - "true" - hook qt messages - Control if hook qt messages - - - "DEBUG,console,daily" - config rootLogger's level and appenders - config rootLogger's level and appenders:"level,appender" - - - ".yyyy-MM-dd" - daily log file pattern - set daily log file pattern format:one day - - - "%d{yyyy-MM-dd HH:mm:ss,zzz}(%-4r)[%t]|%-5p| - %m%n" - set log message's format - set log message's format - - - 3600 - set check log files delay time - set check log files delay time - - - 7 - set log files count - set log files count,unit s - - - 512 - set log files total size - set log files total size, unit M - - - diff --git a/kylin-update-notify/data/update.png b/kylin-update-notify/data/update.png deleted file mode 100644 index fe222a39f346935d1812c4d08822de6a12e23932..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8074 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 -#include "updatehandle.h" - -class core : public QMainWindow -{ - Q_OBJECT - -public: - core(QString getnum, QWidget *parent = nullptr); - ~core(); - updatehandle *updateHandle; - -signals: - void execSignal(); - -protected slots: - void execSlots(); - -}; -#endif // CORE_H diff --git a/kylin-update-notify/src/trayicon.cpp b/kylin-update-notify/src/trayicon.cpp deleted file mode 100644 index 612e126..0000000 --- a/kylin-update-notify/src/trayicon.cpp +++ /dev/null @@ -1,35 +0,0 @@ -#include "trayicon.h" - -trayicon::trayicon(QWidget *parent) : QSystemTrayIcon(parent) -{ - initAction(); -} - -void trayicon::initAction() -{ - this->setToolTip(tr("The system is updating silently")); - this->setIcon(QIcon(":/update.png")); - - m_trayMenu = new QMenu(); - m_topWidget = new QWidget(); - m_topWidget->setFixedSize(30,30); - m_topWidget->installEventFilter(this); - m_topWidgetAction = new QWidgetAction(this); - -} - -/** - * @brief trayicon::eventFilter - * 事件过滤器 - */ -bool trayicon::eventFilter(QObject *obj, QEvent *event) -{ -// if (obj == m_topWidget && event->type() == QEvent::MouseButtonPress) -// { -// QPainter painter(m_topWidget); -// painter.setPen(Qt::NoPen); -// painter.setBrush(QColor(42,120,192)); -// painter.drawRect(m_topWidget->rect()); -// } - return QSystemTrayIcon::eventFilter(obj,event); -} diff --git a/kylin-update-notify/src/trayicon.h b/kylin-update-notify/src/trayicon.h deleted file mode 100644 index 6e49374..0000000 --- a/kylin-update-notify/src/trayicon.h +++ /dev/null @@ -1,33 +0,0 @@ -#ifndef TRAYICON_H -#define TRAYICON_H - -#include -#include -#include -#include -#include -#include -#include -#include - -class trayicon : public QSystemTrayIcon -{ - Q_OBJECT -public: - explicit trayicon(QWidget *parent = nullptr); - void initAction(); - - QAction *action_show; - QMenu *m_trayMenu; - QWidget *m_topWidget; - QWidgetAction *m_topWidgetAction; - QMenu* trayIconMenu; - QAction* OpenSetUp; -protected: - bool eventFilter(QObject *obj, QEvent *event); - -signals: - -}; - -#endif // TRAYICON_H diff --git a/kylin-update-notify/src/updatehandle.h b/kylin-update-notify/src/updatehandle.h deleted file mode 100644 index 9eb4250..0000000 --- a/kylin-update-notify/src/updatehandle.h +++ /dev/null @@ -1,105 +0,0 @@ -#ifndef TRAY_H -#define TRAY_H - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#include -#include -#include -#include - -#include "traydbus.h" -#include "trayicon.h" -#include "updatewidget.h" - - -class updatehandle : public QWidget -{ - Q_OBJECT -public: - updatehandle(QString getnum1,QWidget *parent = nullptr); - ~updatehandle(); - trayicon *trayIcon; //托盘实例化 - QStringList important; //保存重要更新包名 - QString argnum; //得到命令行输入参数 - traydbusservice *object; //托盘dbus服务 - bool powerState; //保存电量是否可获取 - QString powerNum = "0"; //保存电量值 - QString confPath = ""; //保存配置文件位置 - - bool dbusConnectStatus=false; //d-bus连接状态 - bool messstate1=true; - bool messstate2=true; - int powerSize; //电源设定值 - float setPackageSize; //包大小设定值 - QString CheckUpgradeTime; //检查更新时间 - QString CheckUpgradeTimeSlot; //检查更新时间段 - bool CheckCompleted; //是否检查完成 - bool RandomizedExecute; //是否随机执行 - bool GeneratRandomTime; //是否刷新随机时间 - bool errorStatus=false; //是否完整下载安装的状态值 - - updatewidget *choice_window; //托盘选择框 - updateTip *tip_window; //托盘提示框框 - QStringList checkCrucial; //保存静默升级包以及大小信息 - - source_dbus *m_sourceMutual; //源管理器dbus - update_dbus *m_updateMutual; //更新管理器dbus - power_dbus *Power_dbus; - QTimer *timerDownload; //托盘下载时间错误延时处理 - QTimer *timerLock; //文件锁定时检测 - QSettings *mqsetting; //读取配置文件 - QSettings *timersetting; //读取timer配置文件 - - - void initUI(QString); //初始化界面 - void initDbus(); //初始化dbus - void initTranslator(); //初始化翻译加载 - void getTemplateList(); //获取源管理器文件中的可选更新与强制更新 - void processData(QMap data); //处理获取的更新数据 - void handleCrucial(QStringList checkCrucialAll); //处理静默升级包 - void handleImportant(); //处理可选升级包 - void register_dbus(); //注册D-bus服务 - bool checktime(); //检查设定更新时间 - - //数据库相关 - QSqlDatabase db; - QSqlQueryModel model; - - bool m_getsql(); //获取更新管理器数据库信息 - void notify_send(QString arg); //向notification发送信息显示 - - bool packageDownOrNot(QStringList arg); - void readconf(); //读取配置文件 - int _secsTo(QString,QString); //时间差 - void getpower(); //获取电量值 - void UpdateDectCheck(bool); //调用后端UpdateDetect - bool ignoreOrDelay(bool mode); //是否开机检查检查弹窗 - bool package_installation_status(QStringList); -signals: - void execSignal(); //关闭窗口信号 - -protected slots: - void onActivated(trayicon::ActivationReason reason); //更新选择页面 - void tray_Show(); //启动托盘显示 - void execslots(); //关闭窗口槽函数 - void d_busStatus(QString,int32_t,QString); //判断下载状态的槽函数 - void InstallFinsih(bool,QStringList,QString,QString); //状态槽函数 - void downloadTimeout(); //延时检测下载状态 - void UpdateDectSlot(bool,QStringList,QString,QString); //updatedetect回调函数 -}; - -#endif // TRAY_H diff --git a/kylin-update-notify/src/updatewidget.ui b/kylin-update-notify/src/updatewidget.ui deleted file mode 100644 index d527737..0000000 --- a/kylin-update-notify/src/updatewidget.ui +++ /dev/null @@ -1,21 +0,0 @@ - - - - - Form - - - - 0 - 0 - 400 - 300 - - - - Form - - - - - diff --git a/kylin-update-notify/translations/UapLBi.json b/kylin-update-notify/translations/UapLBi.json deleted file mode 100644 index c82f587..0000000 --- a/kylin-update-notify/translations/UapLBi.json +++ /dev/null @@ -1 +0,0 @@ -[{"excluded":[],"includePaths":["/usr/include/x86_64-linux-gnu/qt5/QGSettings","/usr/include/KF5/KWindowSystem","/usr/include/x86_64-linux-gnu/qt5","/usr/include/x86_64-linux-gnu/qt5/QtWidgets","/usr/include/x86_64-linux-gnu/qt5/QtGui","/usr/include/x86_64-linux-gnu/qt5/QtDBus","/usr/include/x86_64-linux-gnu/qt5/QtNetwork","/usr/include/x86_64-linux-gnu/qt5/QtSql","/usr/include/x86_64-linux-gnu/qt5/QtCore","/home/li/ukui/kylin-background-upgrade/kylin-background-upgrade","/home/li/ukui/kylin-background-upgrade/kylin-background-upgrade"],"projectFile":"/home/li/ukui/kylin-background-upgrade/kylin-background-upgrade/kylin-background-upgrade.pro","sources":["/home/li/ukui/kylin-background-upgrade/kylin-background-upgrade/core.cpp","/home/li/ukui/kylin-background-upgrade/kylin-background-upgrade/core.h","/home/li/ukui/kylin-background-upgrade/kylin-background-upgrade/main.cpp","/home/li/ukui/kylin-background-upgrade/kylin-background-upgrade/traydbus.cpp","/home/li/ukui/kylin-background-upgrade/kylin-background-upgrade/traydbus.h","/home/li/ukui/kylin-background-upgrade/kylin-background-upgrade/trayicon.cpp","/home/li/ukui/kylin-background-upgrade/kylin-background-upgrade/trayicon.h","/home/li/ukui/kylin-background-upgrade/kylin-background-upgrade/updatehandle.cpp","/home/li/ukui/kylin-background-upgrade/kylin-background-upgrade/updatehandle.h","/home/li/ukui/kylin-background-upgrade/kylin-background-upgrade/updatewidget.cpp","/home/li/ukui/kylin-background-upgrade/kylin-background-upgrade/updatewidget.h","/home/li/ukui/kylin-background-upgrade/kylin-background-upgrade/updatewidget.ui"]}] diff --git a/kylin-update-notify/translations/kylin-background-upgrade_bo_CN.qm b/kylin-update-notify/translations/kylin-background-upgrade_bo_CN.qm deleted file mode 100644 index 535b5f598f2ccb2f465ddce9b5d0c408cc5ef980..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2003 zcmd5-&1(}u6rUvKLy|HgC_Pv@)gmQWX($yBA~eQId#nAR2$sz5PLidY-LN}Rw-mhU zMWoP^qKFFBTic5l5qj{T_D>Kzc@V^Z!S`l2$!gc&O;f_W%)HOv`@PpoZ;ZhYKOS!# zjGTH`efIWqnGkZ1%w5E&frX&pz!R2O2*d`r4NEA$+X_ZK1lJ8AMW{9U z3gE??m>6^wUQkO1$nhPucA*i=Ak7EhgIo)nG^29V;cdFxBu!~m=@QuC%Zk!Ln}?u- zHB}=m?X~h|q?HZsG2LmlEFp!#xXsLF%W);QWzb@Aj?GGJxGO-dDQpAOWP?lQJ8ii1 zBzNH*UJR2Z@vhOQkuDtKgF>-0GCdpz*L=&g$2G36)m^7; z8{_R(-Q|XehhQuW`1^ErCb33ez>GrMy7bHRjI`neo~sosIAJALici?fY)5Q0pSiAep&CMQ_awA)hj zbv*hj2xO{nrUO%|_`V)b!uV_gq&OfrP-T!7BP>o|u^cZt6Ooo2KNP)3*>pu%T>W1O Z$s4g_u<#J&np%M|% - - - - Form - - - Form - - - - - trayicon - - - The system is updating silently - རྒྱུད་ཁོངས་ཁ་རོག་གེར་རིམ་འགྱུར་བྱེད་སྒང་། - - - - updateTip - - - The system is updating silently - རྒྱུད་ཁོངས་ཁ་རོག་གེར་རིམ་འགྱུར་བྱེད་སྒང་། - - - - updatehandle - - - - System update - རྒྱུད་ཁོངས་གསར་སྒྱུར་ - - - - - - The system is updating silently - རྒྱུད་ཁོངས་ཁ་རོག་གེར་རིམ་འགྱུར་བྱེད་སྒང་། - - - - The system has completed an important update, It is recommended that you restart immediately. - མ་ལག་གི་འགག་རྩའི་གསར་སྒྱུར་ཞིག་ལེགས་གྲུབ་དང་།བསམ་འཆར་ལ་ཁྱེད་རང་འཕྲལ་མར་བསྐྱར་འབྱེད་། - - - - update error - རིམ་འཕར་འགྲུབ་མེད། - - - - kylin-background-upgrade - རྒྱབ་སྟེགས་གསར་སྒྱུར་བྱ་རིམ། - - - - update - རྒྱུད་ཁོངས་རིམ་སྤོར་ - - - - updatewidget - - - Updatable app detected on your system! - རྒྱུད་ཁོངས་གསར་སྒྱུར་རྣམ་གྲངས་ - - - - Close - སྒོ་རྒྱག་པ་ - - - - 30 minutes later - ཕྱིར་འགྱངས་སྐར་མ་30། - - - - 1 hour later - ཆུ་ཚོད་གཅིག་ནར་འགྱངས་། - - - - 5 hours later - ཆུ་ཚོད་5ནར་འགྱངས་། - - - - 1 day later - ཉིན་གཅིག་ནར་འགྱངས་། - - - - 3 days later - ཉིན་གསུམ་ནར་འགྱངས་། - - - - Update - ལམ་སང་གསར་སྒྱུར་ - - - - Delay - ནར་འགྱངས། - - - diff --git a/kylin-update-notify/translations/kylin-background-upgrade_zh_CN.qm b/kylin-update-notify/translations/kylin-background-upgrade_zh_CN.qm deleted file mode 100644 index 1025f13b5cf7d4eb987ac30a13f2dc1b3134be4d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1305 zcmbtTO=uHA6rTKTwq#p#QF`!a>JQXlYeR@9@lXrZB0^0>f*Ly69g{Vi-F0_j*i!0M zQ7MAK3Zi%rg9j0M=|#jIJXniYFH%q5{5cd4deAq!>2`x5m+rF6@b>%O_r3RKjxQ^N z?|(dMt_|&eGxPNI=W&G4O*D0^iBMz%O|9HQD7qKDNUtCi&W6~23*wE?(v6)6h2Dly z$^krTuV=h9bS=E+YYA}6v3IR!z&|BS8~}dgL|mB*!y1XZ@vtBcPZojxQA{mOLzb%v z@?{*>Rp~<{2Jwd~kQ))$CFlOkuUF*@!w(9NKV8|NuS5tU0lt0t3dOc#Gg`x{jq9dD zn5vhtt!h+fniB_%$SmThvZ05zpR3PRpn27FlZo6|hoSzQXU4;EdCA*Wh^}bVWgXX&#qP-2DHST<^=Mj2Hw(Xm=H4T}+- zd8N}M_%!2~P-9Zl6oN<^-fEu*e0BXzTE5ruX)GAoS|8$f1Sw-9tXS?F&=OGOX?z zyAbwXKB96Tx4h_F|L&(qVR+8-Q$|V}#l$qR0<)0$I1HV4*=irhp@2X`RmzmPvzO%7 z!a7K#5iT6|(Y;i5gLo06FhNh!l6?Ow!WTQh^k z5I!f|f8whqGh?`>>UBnYCfGEcMYzLsf7UhKlN*JL@y!>Eozx6FcrF61iE^7;$O) - - - - Form - - - Form - - - - - QObject - - The system is updating silently - 系统正在静默更新 - - - - trayicon - - - The system is updating silently - 系统正在静默更新 - - - - updateTip - - - The system is updating silently - 系统正在静默更新 - - - - updatehandle - - The system has completed an important update. It is recommended that you restart immediately. - 系统已经完成一项关键更新,建议您立即重启 - - - - - - The system is updating silently - 系统正在静默更新 - - - System update detected - 检测到有系统更新 - - - System update detected - 检测到有系统更新 - - - The system has completed a critical update, and some software packages failed to update. It is recommended that you restart immediately - 系统完成一项关键更新,部分软件包更新失败,建议您立即重启 - - - - - System update - 系统更新 - - - - The system has completed an important update, It is recommended that you restart immediately. - 系统完成一项关键更新,建议您立即重启 - - - - update error - 升级失败 - - - - kylin-background-upgrade - 后台更新程序 - - - - update - 系统升级 - - - - updatewidget - - Please remind me later - 请在以下时间段之后提醒我 - - - at - - - - No more reminders - 内不再提醒 - - - No reminders - 内不再提醒 - - - - Updatable app detected on your system! - 系统有更新项目 - - - - Close - 关闭 - - - - 30 minutes later - 推迟 30 分钟 - - - - 1 hour later - 推迟 1 小时 - - - - 3 days later - 推迟 3 天 - - - - Delay - 推迟 - - - - 5 hours later - 推迟 5 小时 - - - - 1 day later - 推迟 1 天 - - - - Update - 立即更新 - - - diff --git a/kylin-update-notify/widgets/Button/button.pri b/kylin-update-notify/widgets/Button/button.pri deleted file mode 100644 index ded778b..0000000 --- a/kylin-update-notify/widgets/Button/button.pri +++ /dev/null @@ -1,6 +0,0 @@ -SOURCES += \ - $$PWD/fixbutton.cpp \ - -HEADERS += \ - $$PWD/fixbutton.h \ - diff --git a/kylin-update-notify/widgets/Button/fixbutton.cpp b/kylin-update-notify/widgets/Button/fixbutton.cpp deleted file mode 100644 index fed4aad..0000000 --- a/kylin-update-notify/widgets/Button/fixbutton.cpp +++ /dev/null @@ -1,36 +0,0 @@ -#include "fixbutton.h" -#include -#include - -FixButton::FixButton(QWidget *parent): - QPushButton(parent) -{ - -} - -FixButton::~FixButton() -{ - -} - -void FixButton::paintEvent(QPaintEvent *event) -{ - QFontMetrics fontMetrics(this->font()); - int fontSize = fontMetrics.width(mStr); - int showTextSize = this->width() - 32; - if (fontSize > showTextSize) { - this->setText(fontMetrics.elidedText(mStr, Qt::ElideRight, showTextSize), false); - this->setToolTip(mStr); - } else { - this->setText(mStr, false); - this->setToolTip(""); - } - QPushButton::paintEvent(event); -} - -void FixButton::setText(const QString & text, bool saveTextFlag) -{ - if (saveTextFlag) - mStr = text; - QPushButton::setText(text); -} diff --git a/kylin-update-notify/widgets/Button/fixbutton.h b/kylin-update-notify/widgets/Button/fixbutton.h deleted file mode 100644 index 2f30dbe..0000000 --- a/kylin-update-notify/widgets/Button/fixbutton.h +++ /dev/null @@ -1,21 +0,0 @@ -#ifndef _FIXBUTTON_H_ -#define _FIXBUTTON_H_ -#include - -class FixButton : public QPushButton -{ - Q_OBJECT -public: - FixButton(QWidget *parent = nullptr); - ~FixButton(); - void setText(const QString &text, bool saveTextFlag = true); -private: - void paintEvent(QPaintEvent *event); - -private: - QString mStr; -}; - - - -#endif diff --git a/kylin-update-notify/widgets/widgets.pri b/kylin-update-notify/widgets/widgets.pri deleted file mode 100644 index da4ea4f..0000000 --- a/kylin-update-notify/widgets/widgets.pri +++ /dev/null @@ -1,4 +0,0 @@ -INCLUDEPATH += $$PWD - -include(Button/button.pri) -#include(ComboBox/comboBox.pri) diff --git a/kylin-update-notify/src/core.cpp b/src/core.cpp similarity index 89% rename from kylin-update-notify/src/core.cpp rename to src/core.cpp index 269318f..00dc303 100644 --- a/kylin-update-notify/src/core.cpp +++ b/src/core.cpp @@ -11,7 +11,7 @@ core::core(QString getnum, QWidget *parent) core::~core() { - qDebug() << Q_FUNC_INFO << __LINE__; + } void core::execSlots() diff --git a/kylin-update-notify-immutable/src/core.h b/src/core.h similarity index 100% rename from kylin-update-notify-immutable/src/core.h rename to src/core.h diff --git a/kylin-update-notify/src/main.cpp b/src/main.cpp similarity index 53% rename from kylin-update-notify/src/main.cpp rename to src/main.cpp index e3c717b..f7179b2 100644 --- a/kylin-update-notify/src/main.cpp +++ b/src/main.cpp @@ -6,50 +6,42 @@ #include #include #include -#include #define PROGRAM_NAME "kylin-background-upgrade" -#define LOG_NAME "/.config/kylin-background-upgrade/kylin-background-upgrade.log" -#define LOG_SILENT_NAME "/.config/kylin-background-upgrade/kylin-background-upgrade-silent.log" -#define LOG_MANUL_NAME "/.config/kylin-background-upgrade/kylin-background-upgrade-manul.log" static FILE *fp = NULL; -QString toDir; -static bool _silentOrManul = true; void msgHandler(QtMsgType type, const QMessageLogContext& context, const QString& msg) { static char logPath[255] = {0}; - int uid = -1; - static int pid = 0; + static int uid = -1; Q_UNUSED(context); QDateTime currentTime = QDateTime::currentDateTime(); QString timeStr = currentTime.toString("yy.MM.dd hh:mm:ss +zzz"); - pid = (int)getpid(); - uid = (int)getuid(); + // 获取用于控制命令行输出的环境变量 - char *ctrlEnv = getenv("BACKGROUND_UPGRADE_DEBUG"); + char *ctrlEnv = getenv("XXXX_DEBUG"); QString env; // 格式化输出字符串,添加消息发生时间、消息等级 QString outMsg; switch (type) { case QtDebugMsg: - outMsg = QString("[%1 D .%2 :%4]: %3").arg(timeStr).arg(pid).arg(msg).arg(uid); + outMsg = QString("[%1 D]: %2").arg(timeStr).arg(msg); break; case QtInfoMsg: - outMsg = QString("[%1 D .%2 :%4]: %3").arg(timeStr).arg(pid).arg(msg).arg(uid); + outMsg = QString("[%1 I]: %2").arg(timeStr).arg(msg); break; case QtWarningMsg: - outMsg = QString("[%1 D .%2 :%4]: %3").arg(timeStr).arg(pid).arg(msg).arg(uid); + outMsg = QString("[%1 W]: %2").arg(timeStr).arg(msg); break; case QtCriticalMsg: - outMsg = QString("[%1 D .%2 :%4]: %3").arg(timeStr).arg(pid).arg(msg).arg(uid); + outMsg = QString("[%1 C]: %2").arg(timeStr).arg(msg); break; case QtFatalMsg: - outMsg = QString("[%1 D .%2 :%4]: %3").arg(timeStr).arg(pid).arg(msg).arg(uid); + outMsg = QString("[%1 F]: %2").arg(timeStr).arg(msg); } if (fp != NULL) { @@ -72,43 +64,31 @@ void msgHandler(QtMsgType type, const QMessageLogContext& context, const QString abort(); } -void log_env_init(QString arg){ +void log_env_init(){ static int uid = -1; - static char logPath[98] = {0}; + static char logPath[255] = {0}; bool _is_root = false; - toDir = QDir::homePath(); - toDir += "/.config/kylin-background-upgrade/"; - QDir dir(toDir); - if(!dir.exists()) { - dir.mkdir(toDir); - } // 初始执行时,设置log文件路径 if (uid == -1) { uid = getuid(); + } if (uid == 0) { // root user - sprintf(logPath, "/var/log/kylin-background-upgrade/kylin-background-upgrade.log"); + sprintf(logPath, "/var/log/kylin-background-upgrade/kylin-background-upgrade.log", uid, PROGRAM_NAME); _is_root = true; } else { // normal user - // sprintf(logPath, "/run/user/%d/%s.log", uid, PROGRAM_NAME); - //QString 转 const char* - std::string str = QDir::homePath().toStdString(); - const char* ch = str.c_str(); - if (arg == "--check-upgrade" || arg == "--check-immediately") { - sprintf(logPath, "%s%s", ch, LOG_MANUL_NAME); - } else { - sprintf(logPath, "%s%s", ch, LOG_SILENT_NAME); - } + sprintf(logPath, "/run/user/%d/%s.log", uid, PROGRAM_NAME); } + printf("Logfile path: %s\n", logPath); if (access(logPath, F_OK|W_OK) == 0) { // log文件存在且可写 if (fp == NULL) fp = fopen(logPath, "a+"); QFileInfo info(logPath); - if (info.size() > 1024*1024*20) { //20MB + if (info.size() > 1024*1024*200) { //200MB fclose(fp); fp = NULL; QFile fileclean(logPath); fileclean.open(QIODevice::WriteOnly | QIODevice::Text | QFile::Truncate); @@ -140,67 +120,35 @@ void log_env_init(QString arg){ } } -bool _is_openkylin() -{ - QString OPENKYLIN_DISTTRIBUTOR = "Openkylin"; - QString command = "lsb_release -i -s"; - QProcess process; - process.start(command); - process.waitForFinished(); - - QString result = process.readAllStandardOutput(); - int ret = result.left(OPENKYLIN_DISTTRIBUTOR.length()).compare(OPENKYLIN_DISTTRIBUTOR.left(OPENKYLIN_DISTTRIBUTOR.length())); - return (0 == ret)?true:false; -} - int main(int argc, char *argv[]) { QString arg=QString::fromLatin1(argv[1]); - log_env_init(arg); +// initUkuiLog4qt("kylin-background-upgrade"); + log_env_init(); qInstallMessageHandler(msgHandler); - char *dis_env=getenv("DISPLAY"); - QString display_env(dis_env); - if(display_env != NULL){ - qDebug()<<"The desktop graphics environment is normal, DISPLAY="<= QT_VERSION_CHECK(5, 6, 0)) QApplication::setAttribute(Qt::AA_EnableHighDpiScaling); QApplication::setAttribute(Qt::AA_UseHighDpiPixmaps); #endif +// callPyFunc *lxy = new callPyFunc(); setenv("QT_QPA_PLATFORMTHEME","ukui",true); qunsetenv("SESSION_MANAGER"); QApplication a(argc, argv); - core m_core(arg); -// QObject::connect(m_core,SIGNAL(execSignal()),&a,SLOT(quit())); + core *m_core= new core(arg); + QObject::connect(m_core,SIGNAL(execSignal()),&a,SLOT(quit())); return a.exec(); } diff --git a/kylin-update-notify/src/traydbus.cpp b/src/traydbus.cpp similarity index 94% rename from kylin-update-notify/src/traydbus.cpp rename to src/traydbus.cpp index 7618f0d..9d44cd5 100644 --- a/kylin-update-notify/src/traydbus.cpp +++ b/src/traydbus.cpp @@ -70,12 +70,12 @@ source_dbus::source_dbus(QObject *parent) :QObject(parent) { connectTimer = new QTimer(this); - connect(connectTimer, SIGNAL(timeout()), this, SLOT(connectDbus())); +// connect(connectTimer, SIGNAL(timeout()), this, SLOT(connectDbus())); } source_dbus::~source_dbus() { - qDebug() << Q_FUNC_INFO << __LINE__; + } /** @@ -164,7 +164,7 @@ update_dbus* update_dbus::getInstance() update_dbus::update_dbus(QObject *parent) :QObject(parent) { - initUpdate_Dbus(); +// initUpdate_Dbus(); } @@ -270,9 +270,17 @@ QStringList update_dbus::checkForUpdates(QStringList arg) bool update_dbus::checkForUpdateDect() { qDebug()<<"Start to check system upgrade ..."; - connect(interface,SIGNAL(UpdateDetectFinished(bool, QStringList, QString, QString)),this,SLOT(UpdateDectSlot(bool, QStringList, QString, QString))); - QDBusReply res = interface->asyncCall("UpdateDetect"); - qDebug() << "UpdateDetect (mode: MODE_UPDATE_DETECT) ..."; +// connect(interface,SIGNAL(UpdateDetectFinished(bool, QStringList, QString, QString)),this,SLOT(UpdateDectSlot(bool, QStringList, QString, QString))); +// QDBusReply res = interface->call("UpdateDetect"); +// QProcess process; +// process.start("/home/lxy/kylin-background-upgrade/OpenKylin/kylin-background-upgrade/checkUpdate.py"); +// process.waitForStarted(); +// process.waitForFinished();//以阻塞的方式等待释放 +// QStringList updatelists; +// updatelists.append("kylin-video"); +// QString errorcode = ""; +// QString errorstring = ""; +// UpdateDectSlot(true,updatelists,errorcode, errorstring); return true; } diff --git a/kylin-update-notify/src/traydbus.h b/src/traydbus.h similarity index 99% rename from kylin-update-notify/src/traydbus.h rename to src/traydbus.h index 795f869..4772831 100644 --- a/kylin-update-notify/src/traydbus.h +++ b/src/traydbus.h @@ -11,7 +11,7 @@ #include #include #include - +#include #include #include diff --git a/kylin-update-notify-immutable/src/trayicon.cpp b/src/trayicon.cpp similarity index 100% rename from kylin-update-notify-immutable/src/trayicon.cpp rename to src/trayicon.cpp diff --git a/kylin-update-notify-immutable/src/trayicon.h b/src/trayicon.h similarity index 100% rename from kylin-update-notify-immutable/src/trayicon.h rename to src/trayicon.h diff --git a/kylin-update-notify/src/updatehandle.cpp b/src/updatehandle.cpp similarity index 76% rename from kylin-update-notify/src/updatehandle.cpp rename to src/updatehandle.cpp index 8e04ed5..2559021 100644 --- a/kylin-update-notify/src/updatehandle.cpp +++ b/src/updatehandle.cpp @@ -1,6 +1,5 @@ #include "updatehandle.h" #include -#include updatehandle::updatehandle(QString getnum1,QWidget *parent) : QWidget(parent) { @@ -15,7 +14,7 @@ updatehandle::updatehandle(QString getnum1,QWidget *parent) : QWidget(parent) updatehandle::~updatehandle() { - qDebug() << Q_FUNC_INFO << __LINE__; + } /** @@ -74,31 +73,16 @@ void updatehandle::initUI(QString argnum) timerDownload = new QTimer(this); connect(timerDownload, SIGNAL(timeout()), this, SLOT(downloadTimeout())); - if(argnum.contains("--check-immediately")){ - qDebug()<<"exec --check-immediately"; - } else if(argnum.contains("--check-upgrade")) { - qDebug()<<"exec --check-upgrade"; - } else { - qDebug()<<"exec slient."; - } - trayIcon = new trayicon(this); - bool ignore_or_delay = ignoreOrDelay(argnum.contains("--check-immediately",Qt::CaseInsensitive)); - choice_window = new updatewidget(ignore_or_delay);//更新选择页面 + choice_window = new updatewidget();//更新选择页面 tip_window = new updateTip(); //静默升级提示 - if (argnum == "") { - //监听连接源管理器d-bus - //监听托盘点击事件,3:单击,2:双击,1:右键 - connect(trayIcon,&trayicon::activated, this,&updatehandle::onActivated); - connect(m_sourceMutual,&source_dbus::ready,this,&updatehandle::getTemplateList); - m_sourceMutual->connectDbus(); - } else if (argnum.contains("--check-upgrade",Qt::CaseInsensitive)||ignore_or_delay) { + if (argnum.contains("--check-upgrade",Qt::CaseInsensitive)) { //连接关闭功能槽函数 connect(choice_window,&updatewidget::disAgreeBtnSignals,this,&updatehandle::execslots); - UpdateDectCheck(ignore_or_delay); + UpdateDectCheck(); } else { - qDebug()<<"No update,exit!"; + qDebug()<<"no --check-upgrade, exit."; exit(0); } } @@ -113,9 +97,9 @@ void updatehandle::tray_Show() if (!m_updateMutual->listenState()) { if (m_getsql()) { qDebug()<<"m_getsql 的值为true"; - choice_window->update_lab->setText(tr("System update")); + choice_window->update_lab->setText(tr("System update detected")); if (argnum != "update") { - choice_window->updateWidgetShow(); + choice_window->show(); } } else { qDebug()<<"更新管理器关闭检测更新,托盘程序结束"; @@ -219,10 +203,8 @@ void updatehandle::getTemplateList() QString str2; QStringList m_crucial; QFile file1("/var/lib/kylin-software-properties/template/crucial.list"); - if (!file1.open(QIODevice::ReadOnly | QIODevice::Text)){ - qDebug()<<"cat not open file crucial.list"; - exit(0); - } + if (!file1.open(QIODevice::ReadOnly | QIODevice::Text)) + return ; while (!file1.atEnd()) { QByteArray line = file1.readLine(); str1 += QString(line); @@ -234,10 +216,8 @@ void updatehandle::getTemplateList() QStringList m_important; QFile file2("/var/lib/kylin-software-properties/template/important.list"); - if (!file2.open(QIODevice::ReadOnly | QIODevice::Text)) { - qDebug()<<"cat not open file important.list"; - exit(0); - } + if (!file2.open(QIODevice::ReadOnly | QIODevice::Text)) + return ; while (!file2.atEnd()) { QByteArray line = file2.readLine(); str2 += QString(line); @@ -309,7 +289,6 @@ void updatehandle::handleCrucial(QStringList checkCrucialAll) for (int i=1;istart(20*60*1000); if (powerState) { //判断是否获取到电量 @@ -333,31 +312,31 @@ void updatehandle::handleCrucial(QStringList checkCrucialAll) notify_send(tr("The system is updating silently")); trayIcon->setVisible(true); qDebug()<<"The system is updating silently ..."; - m_updateMutual->installAndUpgrade(crucialPackage); +// m_updateMutual->installAndUpgrade(crucialPackage); } } } /** - * @brief updatehandle::UpdateDectSlot + * @brief updatehandle::handleImportant * 处理可选升级包 */ -void updatehandle::UpdateDectSlot(bool status,QStringList list,QString errorstring,QString errorcode) +void updatehandle::UpdateDectSlot() { - if (!status) { - qDebug() << "Update Detect failed: " << QString("%1 %2").arg(errorstring).arg(errorcode); - exit(0); - } else { - if (list.length() == 0) { - qDebug() << "The software on this computer is up to date, exit!"; - exit(0); - } else { - choice_window->update_lab->setText(tr("System update")); +// if (!status) { +//// qDebug() << "Update Detect failed: " << QString("%1 %2").arg(errorstring).arg(errorcode); +// exit(0); +// } else { +// if (list.length() == 0) { +// qDebug() << "The software on this computer is up to date, exit!"; +// exit(0); +// } else { + choice_window->update_lab->setText(tr("System update detected")); if (argnum != "update") { - choice_window->updateWidgetShow(); + choice_window->show(); } - } - } +// } +// } //完成检测,刷新下次更新标志位 timersetting->beginGroup(QString::fromLocal8Bit("Timer")); timersetting->setValue("GeneratRandomTime",true); @@ -370,11 +349,31 @@ void updatehandle::UpdateDectSlot(bool status,QStringList list,QString errorstri * @brief updatehandle::UpdateDectCheck * 处理可选升级包 */ -void updatehandle::UpdateDectCheck(bool _check_immediately) +void updatehandle::UpdateDectCheck() { //判断是否有系统更新 - if(checktime() || !RandomizedExecute || _check_immediately){ - if (m_getsql() || _check_immediately) { + if(!checktime()){ + qDebug()<<"Detection update has been opened ..."; +// connect(m_updateMutual,&update_dbus::UpdateDectFinished,this,&updatehandle::UpdateDectSlot); + QDBusConnection::systemBus().connect(QString(),QString("/"),"com.kylin.update.notification","DownloadFinish",this,SLOT(UpdateDectSlot())); +// bool ret= m_updateMutual->checkForUpdateDect(); + } else { + qDebug()<<"The scheduled time is not reached, exit."; + exit(0); + } +} + +/** + * @brief updatehandle::handleImportant + * 处理可选升级包 + */ +void updatehandle::handleImportant() +{ + //判断是否需要检查系统更新 + + if(checktime()){ + if (!m_updateMutual->listenState()) { + if (m_getsql()) { qDebug()<<"Detection update has been opened ..."; connect(m_updateMutual,&update_dbus::UpdateDectFinished,this,&updatehandle::UpdateDectSlot); bool ret= m_updateMutual->checkForUpdateDect(); @@ -383,48 +382,13 @@ void updatehandle::UpdateDectCheck(bool _check_immediately) exit(0); } } else { - qDebug()<<"The scheduled time is not reached, exit."; + qDebug()<<"更新管理器已运行,程序退出"; exit(0); } -} - - -/** - * @brief updatehandle::ignoreOrDelays - * 处理可选升级包 - */ -bool updatehandle::ignoreOrDelay(bool mode) -{ - static char flagPath[64] = {0}; - sprintf(flagPath, "/var/cache/kylin-update-manager/ignoreOrDelay"); - bool ignore_or_delay = false; - QFile file(flagPath); - - //判断是否完成第一步更新 - if (access(flagPath, F_OK) == 0) { // flag文件存在且可写 - qDebug()<stop(); - //apt返回失败时判断是否安装成功 - if (!state) - _check_status = package_installation_status(checkCrucial); - - if(state || _check_status){ + if(state){ qDebug() << "Silent upgrade is complete, exit."; +// qDebug() << (tr("The system has completed an important update, It is recommended that you restart immediately.")); notify_send(tr("The system has completed an important update, It is recommended that you restart immediately.")); }else{ QString errorstate = tr("update error"); @@ -521,55 +481,12 @@ void updatehandle::InstallFinsih(bool state,QStringList pkgname,QString error,QS exit(0); } -bool updatehandle::package_installation_status(QStringList pkgs) -{ - QString pkgname; - QString cmd; - QProcess process; - bool status,status_single; - for (QStringList::iterator it = pkgs.begin(); it != pkgs.end(); ++it) { - pkgname = *it; - status_single = false; - cmd = QString("dpkg -l %1").arg(pkgname); - process.start(cmd); - process.waitForFinished(); - QByteArray result_ = process.readAllStandardOutput(); - if (QString::fromLocal8Bit(result_) != "") { - QStringList rets = QString::fromLocal8Bit(result_).split(QRegExp("[\n]"),QString::SkipEmptyParts); - for (QStringList::iterator it_ret = rets.begin(); it_ret != rets.end(); ++it_ret) { - QString ret; - ret = *it_ret; - if (ret.contains(pkgname) && ret.startsWith("ii")) { - status_single = true; - qDebug() << "pkg "<beginGroup(QString::fromLocal8Bit("Timer")); - timersetting->setValue("CheckCompleted",false); - timersetting->setValue("GeneratRandomTime",false); - timersetting->sync(); - timersetting->endGroup(); emit execSignal(); } diff --git a/kylin-update-notify-immutable/src/updatehandle.h b/src/updatehandle.h similarity index 94% rename from kylin-update-notify-immutable/src/updatehandle.h rename to src/updatehandle.h index 9eb4250..49ebe77 100644 --- a/kylin-update-notify-immutable/src/updatehandle.h +++ b/src/updatehandle.h @@ -86,9 +86,7 @@ public: void readconf(); //读取配置文件 int _secsTo(QString,QString); //时间差 void getpower(); //获取电量值 - void UpdateDectCheck(bool); //调用后端UpdateDetect - bool ignoreOrDelay(bool mode); //是否开机检查检查弹窗 - bool package_installation_status(QStringList); + void UpdateDectCheck(); //调用后端UpdateDetect signals: void execSignal(); //关闭窗口信号 @@ -99,7 +97,7 @@ protected slots: void d_busStatus(QString,int32_t,QString); //判断下载状态的槽函数 void InstallFinsih(bool,QStringList,QString,QString); //状态槽函数 void downloadTimeout(); //延时检测下载状态 - void UpdateDectSlot(bool,QStringList,QString,QString); //updatedetect回调函数 + void UpdateDectSlot(); //updatedetect回调函数 }; #endif // TRAY_H diff --git a/kylin-update-notify/src/updatewidget.cpp b/src/updatewidget.cpp similarity index 64% rename from kylin-update-notify/src/updatewidget.cpp rename to src/updatewidget.cpp index ef46e46..5babafa 100644 --- a/kylin-update-notify/src/updatewidget.cpp +++ b/src/updatewidget.cpp @@ -1,11 +1,6 @@ #include "updatewidget.h" #include "ui_updatewidget.h" #include -#include -#include -#include "ukuistylehelper/ukuistylehelper.h" -#include "windowmanager/windowmanager.h" - #define PANEL_DBUS_SERVICE "com.ukui.panel.desktop" #define PANEL_DBUS_PATH "/" #define PANEL_DBUS_INTERFACE "com.ukui.panel.desktop" @@ -15,7 +10,7 @@ #define DBUS_PATH "/org/ukui/SettingsDaemon/wayland" #define DBUS_INTERFACE "org.ukui.SettingsDaemon.wayland" -updatewidget::updatewidget(bool check_Tips, QWidget *parent) : +updatewidget::updatewidget(QWidget *parent) : QWidget(parent), ui(new Ui::Form) { @@ -27,7 +22,6 @@ updatewidget::updatewidget(bool check_Tips, QWidget *parent) : initPanelDbusGsetting(); GetsAvailableAreaScreen(); qDebug()<<"not wayland"; - bIsWayland = false; } else { //注释掉的是原先的接口,已经废除。采用原本的获取方式 // initset_window_position(); @@ -35,179 +29,69 @@ updatewidget::updatewidget(bool check_Tips, QWidget *parent) : initPanelDbusGsetting(); GetsAvailableAreaScreen(); qDebug()<<"wayland"; - bIsWayland = true; } - _check_Tips = check_Tips; + //设置任务栏无显示 setWindowFlags(Qt::FramelessWindowHint | Qt::X11BypassWindowManagerHint); setWindowFlags(windowFlags() | Qt::WindowStaysOnTopHint); update_lab = new QLabel(); - icon_lab = new QLabel(); - tip_lab = new QLabel(); - tip_lab->setText(tr(" Updatable app detected on your system!")); - agreebtn = new FixButton(); - delaybtn = new FixButton(); - window_close = new QPushButton(this); - - window_close->setIcon(QIcon::fromTheme("window-close-symbolic")); - window_close->setProperty("isWindowButton", 0x2); - window_close->setProperty("useIconHighlightEffect", 0x8); - window_close->setFlat(true); - window_close->setToolTip(tr("Close")); - window_close->installEventFilter(this); - connect(window_close, &QPushButton::clicked, this, &updatewidget::onClick_close_btn); - - QPixmap icon(QIcon::fromTheme("ukui-control-center").pixmap(QSize(26,26))); + tip_lab->setText(tr("at")); + tip_lab1 = new QLabel(); + tip_lab1->setText(tr("No reminders")); + agreebtn = new QPushButton(); + disagreebtn = new QPushButton(); m_pfirstlayout = new QVBoxLayout(); m_labellayout = new QHBoxLayout(); m_psecondlayout = new QHBoxLayout(); m_pselectlayout = new QHBoxLayout(); + comboBox = new QComboBox(); comboBox->clear(); - strList<addItems(strList); - comboBox->installEventFilter(this); labelwidget = new QWidget(); - selectWidget = new QWidget(); statwidget = new QWidget(); + selectWidget = new QWidget(); - agreebtn->setText(tr("Update"),1); - agreebtn->installEventFilter(this); - delaybtn->setText(tr("Delay"),1); - delaybtn->installEventFilter(this); + agreebtn->setText(tr("Update")); + disagreebtn->setText(tr("Delay")); connect(agreebtn,&QPushButton::clicked,this,&updatewidget::agreeBtnClicked); - connect(comboBox,SIGNAL(activated(int)),this,SLOT(comboBoxClicked(int))); - connect(delaybtn,&QPushButton::clicked,this,&updatewidget::delayBtnClicked); + connect(disagreebtn,&QPushButton::clicked,this,&updatewidget::disAgreeBtnClicked); + - icon_lab->setPixmap(icon); - icon_lab->setScaledContents(true); - icon_lab->setMaximumSize(26,26); - update_lab->setMaximumHeight(26); - update_lab->setContentsMargins(0,0,0,3); - window_close->setFixedSize(24,24); - window_close->setContentsMargins(0,0,0,3); - m_labellayout->addWidget(icon_lab); m_labellayout->addWidget(update_lab); - m_labellayout->addStretch(); - m_labellayout->addWidget(window_close); - m_labellayout->setContentsMargins(0,0,0,20); labelwidget->setLayout(m_labellayout); m_pselectlayout->addWidget(tip_lab); - m_pselectlayout->setContentsMargins(0,0,0,25); + m_pselectlayout->addWidget(comboBox); + m_pselectlayout->addWidget(tip_lab1); + m_pselectlayout->addStretch(); selectWidget->setLayout(m_pselectlayout); - m_psecondlayout->addStretch(); - comboBox->setFixedHeight(35); - comboBox->setMinimumWidth(135); - comboBox->setMaximumWidth(155); - agreebtn->setFixedSize(100,35); - if (_check_Tips) - m_psecondlayout->addWidget(delaybtn); - else - m_psecondlayout->addWidget(comboBox); + + m_psecondlayout->addWidget(disagreebtn); m_psecondlayout->addWidget(agreebtn); - m_psecondlayout->setSpacing(15); //set space between comboBox and btn - m_psecondlayout->setContentsMargins(0,0,12,12); statwidget->setLayout(m_psecondlayout); m_pfirstlayout->addWidget(labelwidget); m_pfirstlayout->addWidget(selectWidget); m_pfirstlayout->addWidget(statwidget); - - m_pfirstlayout->setSpacing(2); this->setLayout(m_pfirstlayout); - this->setFixedSize(435,160); + this->setAttribute(Qt::WA_TranslucentBackground); + this->setFixedSize(330,180); -// QGSettings *settings; -// if(QGSettings::isSchemaInstalled("org.ukui.style")){ -// settings = new QGSettings("org.ukui.style"); -// connect(settings,&QGSettings::changed,this,&ActiveConnectionWidget::GSettingsChanges); -// } - -// const QByteArray transparency_id(TRANSPARENCY_SETTINGS); -// if(QGSettings::isSchemaInstalled(transparency_id)) { -// transparency = new QGSettings(transparency_id); -// } -// if(QGSettings::isSchemaInstalled(transparency_id)) { -// getTransparency(); -// connect(transparency,&QGSettings::changed,this,&ActiveConnectionWidget::GSettingsChanges); -// } - - this->setProperty("useStyleWindowManager", false); - this->setProperty("useSystemStyleBlur", true); - this->setAttribute(Qt::WA_TranslucentBackground, true); - this->setWindowOpacity(0.9); - -// labelwidget->setStyleSheet("background-color:green;"); -// update_lab->setStyleSheet("background-color:blue;"); -// selectWidget->setStyleSheet("background-color:red;"); -// statwidget->setStyleSheet("background-color:orange;"); -// comboBox->setStyleSheet("background-color:violet;"); -// agreebtn->setStyleSheet("background-color:yellow;"); } updatewidget::~updatewidget() { - qDebug() << Q_FUNC_INFO << __LINE__; delete ui; } -void updatewidget::updateWidgetShow() -{ - this->show(); - qDebug()<<"should show:"<windowHandle(), updateWidgetRect); - else - this->setGeometry(updateWidgetRect); -} - -void updatewidget::onClick_close_btn() -{ - // emit disAgreeBtnSignals(); - qDebug()<<"User Cancel reminder, exit tray program!"; - // exit(0); - qApp->quit(); -} - -/** - * @brief updatewidget::eventFilter - * 事件过滤器 - */ -bool updatewidget::eventFilter(QObject *obj, QEvent *event) -{ - if (obj == this->window_close) { //指定window_close - if (event->type() == QEvent::HoverMove) { - QPushButton *close_btn = qobject_cast(obj); - if (close_btn) { - QToolTip::showText(QCursor::pos(), close_btn->toolTip()); - } - } - } else if (obj == this->agreebtn || obj == this->delaybtn) { - if (event->type() == QEvent::HoverMove) { - FixButton *btn = qobject_cast(obj); - if (btn) { - QToolTip::showText(QCursor::pos(), btn->toolTip()); - } - } - } else if (obj == this->comboBox) { - if (event->type() == QEvent::HoverMove) { - QComboBox *comboBox = qobject_cast(obj); - if (comboBox) { - QToolTip::showText(QCursor::pos(), comboBox->toolTip()); - } - } - } - return QWidget::eventFilter(obj, event); -} - /** * @brief updatewidget::initPanelDbusGsetting * 初始化与任务栏gsetting和dbus @@ -297,26 +181,26 @@ void updatewidget::GetsAvailableAreaScreen() { case updatewidget::PanelDown : { - qDebug()<<"Taskbar coordinates: [ '"<setGeometry(m_nScreenWidth - 340,m_nScreenHeight - h - 190,300,150-100); + qDebug()<<"Taskbar coordinates: [ '"<setGeometry(m_nScreenWidth - 340,m_nScreenHeight - 190,300,150-100); + qDebug()<<"任务栏在上方: 显示坐标为: "<setGeometry(m_nScreenWidth - 340,m_nScreenHeight - 190,300,150-100); + qDebug()<<"任务栏在左侧: 显示坐标为: "<setGeometry(m_nScreenWidth - 340 - h,m_nScreenHeight - 190,300,150-100); + qDebug()<<"任务栏在右侧: 显示坐标为: "<setGeometry(priWid-435-distance,availableHeight-160-m-distance,this->width(),this->height()); - qDebug()<<"任务栏在下侧"<width()<<" "<height(); + this->setGeometry(priWid-330-distance,availableHeight-180-m-distance,this->width(),this->height()); + qDebug()<<"任务栏在下侧"<width()<<" "<height(); }else if(n == 1){ //任务栏在上侧 - this->setGeometry(priWid-435-distance,availableHeight-160-distance,this->width(),this->height()); - qDebug()<<"任务栏在上侧"<width()<<" "<height(); + this->setGeometry(priWid-330-distance,availableHeight-180-distance,this->width(),this->height()); + qDebug()<<"任务栏在上侧"<width()<<" "<height(); } else if (n == 2){ //任务栏在左侧 - this->setGeometry(priWid-435-distance,availableHeight-160-distance,this->width(),this->height()); - qDebug()<<"任务栏在左侧"<width()<<" "<height(); + this->setGeometry(priWid-330-distance,availableHeight-180-distance,this->width(),this->height()); + qDebug()<<"任务栏在左侧"<width()<<" "<height(); } else if (n == 3){ //任务栏在右侧 - this->setGeometry(availableWidth-435-m-distance,availableHeight-160-distance,this->width(),this->height()); - qDebug()<<"任务栏在右侧"<width()<<" "<height(); + this->setGeometry(availableWidth-330-m-distance,availableHeight-180-distance,this->width(),this->height()); + qDebug()<<"任务栏在右侧"<width()<<" "<height(); } } @@ -429,7 +313,7 @@ void updatewidget::set_window_position() */ char *updatewidget::insideTime() { - qDebug()<<"current select: "<comboBox->currentText(); + qDebug()<currentText(); QDateTime time = QDateTime::currentDateTime(); //获取系统现在的时间 QString str = time.toString("yyyy-MM-dd hh:mm:ss"); //设置显示格式 QByteArray str2char2 = str.toLatin1(); // must @@ -475,24 +359,19 @@ char *updatewidget::insideTime() QByteArray str2char2 = str1.toLatin1(); // must nowtime = str2char2.data(); return nowtime; + } else if (comboBox->currentText() == strList.at(5)) { + QDateTime time = QDateTime::currentDateTime(); //获取系统现在的时间 + QString str = time.toString("yyyy-MM-dd hh:mm:ss"); //设置显示格式 + QDateTime bojb = QDateTime::fromString(str,"yyyy-MM-dd hh:mm:ss").addDays(5); + QString str1 = bojb.toString("yyyy-MM-dd hh:mm:ss"); + QByteArray str2char2 = str1.toLatin1(); // must + nowtime = str2char2.data(); + return nowtime; } return nowtime; } -bool updatewidget::_is_openkylin() -{ - QString OPENKYLIN_DISTTRIBUTOR = "Openkylin"; - QString command = "lsb_release -i -s"; - QProcess process; - process.start(command); - process.waitForFinished(); - - QString result = process.readAllStandardOutput(); - int ret = result.left(OPENKYLIN_DISTTRIBUTOR.length()).compare(OPENKYLIN_DISTTRIBUTOR.left(OPENKYLIN_DISTTRIBUTOR.length())); - return (0 == ret)?true:false; -} - /** * @brief updatewidget::agreeBtnClicked * 同意更新按钮槽函数 @@ -500,35 +379,19 @@ bool updatewidget::_is_openkylin() void updatewidget::agreeBtnClicked() { emit agreeBtnSignals(); - bool _is_2107 = true; - QFile file("/etc/os-release"); - if (file.open(QIODevice::ReadOnly | QIODevice::Text)) { - QString line; - QTextStream in(&file); - line = in.readLine(); - while(!line.isNull()) { - line = in.readLine(); - if(line.contains("KYLIN_RELEASE_ID")) { - _is_2107 = false; - } - } - } - file.close(); + qDebug()<<"WifiButtonClickSlot is running"; QProcess p(0); - p.startDetached("ukui-control-center -m upgrade"); - qDebug()<<"exec -m upgrade"; - p.waitForStarted(); qDebug()<<"Open the control panel and start updating immediately, exit tray program!"; exit(0); } /** - * @brief updatewidget::comboBoxClicked - * 推迟框槽函数 + * @brief updatewidget::disAgreeBtnClicked + * 延迟提醒按钮槽函数 */ -void updatewidget::comboBoxClicked(int num) +void updatewidget::disAgreeBtnClicked() { //判断是否有kylin-background-upgrade目录,没有则创建 QString toDir = QDir::homePath(); @@ -545,7 +408,7 @@ void updatewidget::comboBoxClicked(int num) exit(0); } else { char *nowtime=insideTime(); - qDebug() << "current timing: "<beginGroup(QString::fromLocal8Bit("Timer")); timersettings->setValue("CheckUpgradeTime",nowtime); @@ -557,16 +420,6 @@ void updatewidget::comboBoxClicked(int num) exit(0); } -/** - * @brief updatewidget::delayBtnClicked - * 延迟提醒,退出 - */ -void updatewidget::delayBtnClicked() -{ - qDebug() << "User deferred updates, exit!"; - exit(0); -} - /** * @brief updatewidget::paintEvent * 样式绘画画家 @@ -591,16 +444,6 @@ void updatewidget::paintEvent(QPaintEvent *e) p.drawRoundedRect(opt.rect,12,12); setProperty("blurRegion",QRegion(path.toFillPolygon().toPolygon())); style()->drawPrimitive(QStyle::PE_Widget, &opt, &p, this); - - QFontMetrics fontMetrics(this->font()); - QString current_str = comboBox->currentText(); - int fontSize = fontMetrics.width(current_str); - int showTextSize = comboBox->width() - 32; - if (fontSize > showTextSize) { - QString elidedText = fontMetrics.elidedText(comboBox->currentText(), Qt::ElideRight, showTextSize); - comboBox->setItemText(comboBox->currentIndex(), elidedText); - comboBox->setToolTip(current_str); - } QWidget::paintEvent(e); } @@ -621,9 +464,7 @@ updateTip::updateTip(QWidget *parent) : tipLabel->setText(tr("The system is updating silently")); m_layout->addWidget(tipLabel); this->setLayout(m_layout); - this->setProperty("useSystemStyleBlur", true); - this->setAttribute(Qt::WA_TranslucentBackground, true); - this->setWindowOpacity(0.9); + this->setAttribute(Qt::WA_TranslucentBackground); } updateTip::~updateTip() diff --git a/kylin-update-notify/src/updatewidget.h b/src/updatewidget.h similarity index 81% rename from kylin-update-notify/src/updatewidget.h rename to src/updatewidget.h index 15f0c30..c27b470 100644 --- a/kylin-update-notify/src/updatewidget.h +++ b/src/updatewidget.h @@ -21,8 +21,6 @@ #include #include #include -#include -#include "Button/fixbutton.h" namespace Ui { class Form; @@ -33,7 +31,7 @@ class updatewidget : public QWidget Q_OBJECT public: - explicit updatewidget(bool check_Tips, QWidget *parent = nullptr); + explicit updatewidget(QWidget *parent = nullptr); ~updatewidget(); enum PanelStatePosition @@ -44,20 +42,16 @@ public: PanelRight }; - bool _check_Tips; QLabel *update_lab; - QLabel *icon_lab; QLabel *tip_lab; - QLabel *close_lab; + QLabel *tip_lab1; - FixButton *agreebtn; - FixButton *delaybtn; - QPushButton *window_close; + QPushButton *agreebtn; + QPushButton *disagreebtn; QWidget *labelwidget; QWidget *statwidget; QWidget *selectWidget; QStringList strList; - QPixmap *icon; QVBoxLayout *m_pfirstlayout = nullptr; QHBoxLayout *m_labellayout = nullptr; @@ -72,8 +66,6 @@ public: int m_nScreenHeight; // 屏幕分辨率的高 int m_pPeonySite; // 任务栏位置 QSettings *timersettings; //读取timer配置文件 - QRect updateWidgetRect; - bool bIsWayland = false; int connectTaskBarDbus(); int getPanelSite(); @@ -86,9 +78,6 @@ public: void initset_window_position(); void listenPanelChange(); void initPanelDbusGsetting(); // 初始化与任务栏gsetting和dbus - bool eventFilter(QObject *, QEvent *); // 添加事件过滤器声明 - bool _is_openkylin(); - void updateWidgetShow(); private: Ui::Form *ui; @@ -100,9 +89,8 @@ signals: protected slots: void agreeBtnClicked(); - void comboBoxClicked(int); - void delayBtnClicked(); - void onClick_close_btn(); + void disAgreeBtnClicked(); + }; diff --git a/kylin-update-notify-immutable/src/updatewidget.ui b/src/updatewidget.ui similarity index 100% rename from kylin-update-notify-immutable/src/updatewidget.ui rename to src/updatewidget.ui diff --git a/kylin-update-notify-immutable/translations/UapLBi.json b/translations/UapLBi.json similarity index 100% rename from kylin-update-notify-immutable/translations/UapLBi.json rename to translations/UapLBi.json diff --git a/translations/kylin-background-upgrade_bo_CN.qm b/translations/kylin-background-upgrade_bo_CN.qm new file mode 100644 index 0000000000000000000000000000000000000000..ced5ae65599d9983068fb2f55cf94d8ea9c26eeb GIT binary patch literal 2535 zcmd5-&ubJ(6s}3kBq13q1P#GoTgrM_R#}yZ2M=b5fhY*sOhO2YYo)tprg5fwsIE~) z0v;4ZghgCMQBgcB$if~>5cVR12M>Zb4_;)w=+%S&fZwa`OgBjcNvYMaI}I#_|^#>%Ps7J-dwSyX^0M&tQ+|md)F<^{puj>Kb`MxFT#G@kbigq{;#{9Kl}^0zvmynnt~PG z_MG3)x9cMCI`8#8eh>fd|N8F?ykac3y|Cj-FYIDrSMuyihb7t~8!s5usO8zNxjk@lKD?vgJ8}pZgxz^jeOp(jXqC&_?>^f0g)KFTmABKNJ_8MzGB9w?{K;xM+lyM>}ci;nS^}=kJ+E zb5?ZF^xZwpMny|kWo{Hq-l&~(T1&JAXo9HvQRmI4rX?S3qimQT;kf*Pn6@D4Wio5W zH{lrPEtJ-Q&ITOfG`G49^~ipk5{RxbRg?BB5`&%f+=?=Gb#DRxtJae?N*Vc)Jqnxn z7bbjh;1^N%{H9T1ibD!#5W8j3ZXm*=Nl5(rPXricxVuWP;l8OYXr`Rg^hr!tB^7xW z*e}_-P*tX|&u9;h$NRU0bHb!Unr!+Tv9O~h>hS9+hmB?Lj1sPFi5du`^krPCauPqN+2ZST+{Ogz;Gp SgDDPCV + + + + updatewidget + + at + རླུང་གནོན་ཆེན་པོ། + + + Delay + ཕྱིར་འགྱངས། + + + five hours later + རྗེས་སུ་དུས་ཚོད%d + + + one hours later + ཆུ་ཚོད་གཅིག + + + three day later + ཉིན་གསུམ། + + + In 30 minutes + སྐར་མ་སུམ་ཅུ། + + + Update + གསར་སྒྱུར། + + + No reminders + དྲན་སྐུལ། + + + five day later + ཉིན་ལྔ། + + + one day later + ཉིན་གཅིག + + + + updatehandle + + update error + རིམ་འཕར་འགྲུབ་མེད། + + + kylin-background-upgrade + རྒྱབ་སྟེགས་རིམ་འགྱུར་བྱ་རིམ། + + + The system is updating silently + རྒྱུད་ཁོངས་ཁ་རོག་གེར་རིམ་འགྱུར་བྱེད་སྒང་། + + + update + ཁུངས་གསར་བསྒྱུར། + + + The system has completed an important update. It is recommended that you restart immediately + རྒྱུད་ཁོངས་ཀྱིས་གནད་འགག་གི་རིམ་འགྱུར་ཞིག་ལེགས་འགྲུབ་བྱུང་བས། བསམ་ཚུལ་ཡིན་ན་ཁྱེད་ཀྱིས་མྱུར་དུ་འཁོར་སྒོ་སླར་ཕྱེ་བྱོས། + + + System update detected + རྒྱུད་ཁོངས་རིམ་འགྱུར་ཞིག་ཞིབ་དཔྱད་ཚད་ལེན་བྱས་པ། + + + The system has completed a critical update, and some software packages failed to update. It is recommended that you restart immediately + རྒྱུད་ཁོངས་ཀྱིས་གནད་འགག་གི་རིམ་འགྱུར་ཞིག་ལེགས་འགྲུབ་བྱུང་བས། མཉེན་ཆས་ཁག་གཅིག་རིམ་འགྱུར་ལེགས་འགྲུབ་མ་བྱུང་་། བསམ་འཆར་ཡིན་ན་ཁྱེད་ཀྱིས་མྱུར་དུ་འཁོར་སྒོ་སླར་ཕྱེ་བྱོས། + + + + trayicon + + The system is updating silently + རྒྱུད་ཁོངས་ཁ་རོག་གེར་རིམ་འགྱུར་བྱེད་སྒང་། + + + + updateTip + + The system is updating silently + རྒྱུད་ཁོངས་ཁ་རོག་གེར་རིམ་འགྱུར་བྱེད་སྒང་། + + + diff --git a/translations/kylin-background-upgrade_zh_CN.qm b/translations/kylin-background-upgrade_zh_CN.qm new file mode 100644 index 0000000000000000000000000000000000000000..99232f2a03815338f03a5b4fa911733d4b2e17af GIT binary patch literal 1306 zcmbtSO=uHA6rOC-?ZzfeD5wP$M^K2x)>hF|FBP#=Wg$(Z1T}QJGs!O5>@K?#Wvf*1 z=O9}8LyA^K@lXsNM3jOTsr2AMDM;x-5NR)Z)q{A@gU)8dvemQ{dKez>&G+-(o9TXq zTi<E7YPrK$>JP~+#Wh(%IMGmyt3O9gxgAF*8E=}~HQoY1C=~p1?*)t9A--~rp=TQ2R%Y0J3qQM*V)>`WYR+vJ61`a_ zx6(BG)#2wN_v1?}pN<|`ImGfsg^3tJR*7H!J+fSo1`>BN4?pI9kmmv`0-l}SX_-LF zwkRn=#eyXRBdTb5XelbusA@Mdj6h9fE0V4SHm?<~I*_ztxMK2~;;H`5eAsDlRb$&y zZc{EEVnT^T33mF4xHTDRSS3}Ny$=2C?V-2`?%GLfs>6}`6UqL%^=z;*{61w(ETj*5 zGoSa(EF%j_deKmsK88qxO3~0wiZtr(f*gQ-)Y*(l7_3M%%wSYT6xw=;6)lQPcF%6G zf+$h#j`|&L?gjpzIFfEoeRrlDZpw~%leHFXRngjqkW|QLUtbIMvh7 zmmhiPXrBfTcfz8gl_;@%`aaf{B3SwDoI~OBAJzBgd!wGCK-f2?8-YXeSUpHqy=CRx|(FVj|OAOHXW literal 0 HcmV?d00001 diff --git a/kylin-update-notify-immutable/translations/kylin-background-upgrade_zh_CN.ts b/translations/kylin-background-upgrade_zh_CN.ts similarity index 60% rename from kylin-update-notify-immutable/translations/kylin-background-upgrade_zh_CN.ts rename to translations/kylin-background-upgrade_zh_CN.ts index 480f39a..2e07623 100644 --- a/kylin-update-notify-immutable/translations/kylin-background-upgrade_zh_CN.ts +++ b/translations/kylin-background-upgrade_zh_CN.ts @@ -27,7 +27,7 @@ updateTip - + The system is updating silently 系统正在静默更新 @@ -39,9 +39,9 @@ 系统已经完成一项关键更新,建议您立即重启 - - - + + + The system is updating silently 系统正在静默更新 @@ -50,36 +50,33 @@ 检测到有系统更新 + + System update detected - 检测到有系统更新 + 检测到有系统更新 The system has completed a critical update, and some software packages failed to update. It is recommended that you restart immediately 系统完成一项关键更新,部分软件包更新失败,建议您立即重启 - - - System update - 系统更新 - - - + + The system has completed an important update, It is recommended that you restart immediately. 系统完成一项关键更新,建议您立即重启 - + update error 升级失败 - + kylin-background-upgrade 后台更新程序 - + update 系统升级 @@ -91,61 +88,74 @@ 请在以下时间段之后提醒我 + at - + No more reminders 内不再提醒 - - No reminders - 内不再提醒 - - Updatable app detected on your system! - 系统有更新项目 + No reminders + 内不再提醒 - - Close - 关闭 + + In 30 minutes + 三十分钟 - - 30 minutes later - 推迟 30 分钟 + + one hours later + 一个小时 - - 1 hour later - 推迟 1 小时 + + three day later + 三天 - - 3 days later - 推迟 3 天 + + five day later + 五天 - - Delay - 推迟 - - - - 5 hours later - 推迟 5 小时 - - - - 1 day later - 推迟 1 天 - - - + Update 立即更新 + + + Delay + 推迟 + + + Two hours later + 两个小时 + + + + five hours later + 五个小时 + + + + one day later + 一天 + + + two day later + 两天 + + + Agree + 立即更新 + + + Disagree + 推迟 +