From 35ac315646e68acadd9e46fe146757594fface9f Mon Sep 17 00:00:00 2001 From: donghualin Date: Wed, 7 Dec 2022 10:42:04 +0000 Subject: [PATCH] =?UTF-8?q?fix:=20=E4=BF=AE=E5=A4=8D=E7=A4=BE=E5=8C=BA?= =?UTF-8?q?=E7=89=88=E4=BB=BB=E5=8A=A1=E6=A0=8F=E7=9A=84=E6=98=BE=E7=A4=BA?= =?UTF-8?q?=E6=A8=A1=E5=BC=8F=E9=94=99=E8=AF=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit AM中初始化的显示模式设置为空,当AM第一次启动的时候,读取到的显示模式配置如果为空,就判断当前系统是否为社区版,如果是社区版,就让其配置为时尚模式,否则,就配置为高效模式 Log: Influence: 安装社区版,观察任务栏启动是否为时尚模式 Bug: https://pms.uniontech.com/bug-view-175723.html Change-Id: I51e7678716ca8064a61c8ab3b703d03beb779291 --- misc/dconf/com.deepin.dde.dock.json | 2 +- src/service/main.cpp | 17 +++++++++++++++++ 2 files changed, 18 insertions(+), 1 deletion(-) diff --git a/misc/dconf/com.deepin.dde.dock.json b/misc/dconf/com.deepin.dde.dock.json index 3b35204..970177b 100644 --- a/misc/dconf/com.deepin.dde.dock.json +++ b/misc/dconf/com.deepin.dde.dock.json @@ -133,7 +133,7 @@ "visibility": "private" }, "Display_Mode": { - "value": "efficient", + "value": "", "serial": 0, "flags": [], "name": "Display_Mode", diff --git a/src/service/main.cpp b/src/service/main.cpp index 1937f72..5b97b45 100644 --- a/src/service/main.cpp +++ b/src/service/main.cpp @@ -6,6 +6,8 @@ #include "application1adaptor.h" #include "applicationhelper.h" #include "mime1adaptor.h" +#include "settings.h" +#include "dsysinfo.h" #include "../modules/apps/appmanager.h" #include "../modules/launcher/launchermanager.h" #include "../modules/dock/dockmanager.h" @@ -69,6 +71,18 @@ QList> scanFiles() return applications; } +void init() +{ + // 从DConfig中读取当前的显示模式,如果为空,则认为是第一次进入(新安装的系统),否则,就认为系统之前已经进入设置过,直接返回即可 + QSharedPointer config(Settings::ConfigPtr("com.deepin.dde.dock")); + if (config.isNull() || !config->value("Display_Mode").toString().isEmpty()) + return; + + // 然后判断当前系统是否为社区版,社区版默认任务栏模式为时尚模式,其他版本默认为高效模式 + QString displayMode = DSysInfo::isCommunityEdition() ? QString("fashion") : QString("efficient"); + config->setValue("Display_Mode", displayMode); +} + int main(int argc, char *argv[]) { QCoreApplication app(argc, argv); @@ -82,6 +96,9 @@ int main(int argc, char *argv[]) translator->load(QString("/usr/share/dde-application-manager/translations/dde-application-manager_%1.qm").arg(QLocale::system().name())); QCoreApplication::installTranslator(translator); + // 初始化 + init(); + new AppManager(ApplicationManager::instance()); new LauncherManager(ApplicationManager::instance()); new DockManager(ApplicationManager::instance());