From bbc0ec5ea5c21427edca4333675a73edd43795c6 Mon Sep 17 00:00:00 2001 From: donghualin Date: Mon, 12 Dec 2022 02:21:47 +0000 Subject: [PATCH] =?UTF-8?q?fix:=20=E7=A4=BE=E5=8C=BA=E7=89=88=E5=8A=A0?= =?UTF-8?q?=E8=BD=BD=E9=94=AE=E7=9B=98=E5=B8=83=E5=B1=80=E6=8F=92=E4=BB=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 1、修改键盘布局服务的接口 2、Indicator读取布局插件在所有的插件加载完成后进行,否则键盘布局插件对应的服务还未启动 Log: 加载键盘布局插件 Influence: 社区版-观察键盘布局插件 Task: https://pms.uniontech.com/task-view-225011.html Change-Id: I924bd2fa0a8b189af7825546e712482d836ed276 --- frame/controller/quicksettingcontroller.cpp | 4 +++- frame/window/tray/tray_monitor.cpp | 9 ++++++--- plugins/keyboard-layout/dbusadaptors.h | 2 +- .../xml/org.deepin.dde.InputDevice1.Keyboard.xml | 2 +- 4 files changed, 11 insertions(+), 6 deletions(-) diff --git a/frame/controller/quicksettingcontroller.cpp b/frame/controller/quicksettingcontroller.cpp index 370ed8ea2..82086f8e9 100644 --- a/frame/controller/quicksettingcontroller.cpp +++ b/frame/controller/quicksettingcontroller.cpp @@ -27,7 +27,9 @@ QuickSettingController::QuickSettingController(QObject *parent) : AbstractPluginsController(parent) { // 加载本地插件 - ProxyPluginController::instance(PluginType::QuickPlugin)->addProxyInterface(this); + ProxyPluginController *contoller = ProxyPluginController::instance(PluginType::QuickPlugin); + contoller->addProxyInterface(this); + connect(contoller, &ProxyPluginController::pluginLoaderFinished, this, &QuickSettingController::pluginLoaderFinished); } QuickSettingController::~QuickSettingController() diff --git a/frame/window/tray/tray_monitor.cpp b/frame/window/tray/tray_monitor.cpp index 49860117f..0f9bc64c2 100644 --- a/frame/window/tray/tray_monitor.cpp +++ b/frame/window/tray/tray_monitor.cpp @@ -56,6 +56,12 @@ TrayMonitor::TrayMonitor(QObject *parent) Q_EMIT systemTrayRemoved(itemInter); }); + //-------------------------------Tray Indicator---------------------------------------------// + // Indicators服务是集成在插件中的,因此需要在所有的插件加载完成后再加载Indicators服务 + connect(quickController, &QuickSettingController::pluginLoaderFinished, this, [ this ] { + startLoadIndicators(); + }); + QMetaObject::invokeMethod(this, [ = ] { QList trayPlugins = quickController->pluginItems(QuickSettingController::PluginAttribute::Tray); for (PluginsItemInterface *plugin : trayPlugins) { @@ -63,9 +69,6 @@ TrayMonitor::TrayMonitor(QObject *parent) Q_EMIT systemTrayAdded(plugin); } }, Qt::QueuedConnection); - - //-------------------------------Tray Indicator---------------------------------------------// - QMetaObject::invokeMethod(this, "startLoadIndicators", Qt::QueuedConnection); } QList TrayMonitor::trayWinIds() const diff --git a/plugins/keyboard-layout/dbusadaptors.h b/plugins/keyboard-layout/dbusadaptors.h index befa7d2d1..8ad973a35 100644 --- a/plugins/keyboard-layout/dbusadaptors.h +++ b/plugins/keyboard-layout/dbusadaptors.h @@ -24,7 +24,7 @@ #include #include "org_deepin_dde_inputdevice1_keyboard.h" -using Keyboard = org::deepin::dde::inputdevice1::Keyboard1; +using Keyboard = org::deepin::dde::inputdevice1::Keyboard; class QGSettings; class DBusAdaptors : public QDBusAbstractAdaptor diff --git a/plugins/keyboard-layout/dbusinterface/xml/org.deepin.dde.InputDevice1.Keyboard.xml b/plugins/keyboard-layout/dbusinterface/xml/org.deepin.dde.InputDevice1.Keyboard.xml index 633c33581..63d0f886a 100644 --- a/plugins/keyboard-layout/dbusinterface/xml/org.deepin.dde.InputDevice1.Keyboard.xml +++ b/plugins/keyboard-layout/dbusinterface/xml/org.deepin.dde.InputDevice1.Keyboard.xml @@ -1,5 +1,5 @@ - +