fix: 社区版加载键盘布局插件

1、修改键盘布局服务的接口
2、Indicator读取布局插件在所有的插件加载完成后进行,否则键盘布局插件对应的服务还未启动

Log: 加载键盘布局插件
Influence: 社区版-观察键盘布局插件
Task: https://pms.uniontech.com/task-view-225011.html
Change-Id: I924bd2fa0a8b189af7825546e712482d836ed276
This commit is contained in:
donghualin 2022-12-12 02:21:47 +00:00
parent 5e4c288cea
commit bbc0ec5ea5
4 changed files with 11 additions and 6 deletions

View File

@ -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()

View File

@ -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<PluginsItemInterface *> 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<quint32> TrayMonitor::trayWinIds() const

View File

@ -24,7 +24,7 @@
#include <QtDBus/QtDBus>
#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

View File

@ -1,5 +1,5 @@
<node>
<interface name="org.deepin.dde.InputDevice1.Keyboard1">
<interface name="org.deepin.dde.InputDevice1.Keyboard">
<method name="AddLayoutOption">
<arg type="s" direction="in"></arg>
</method>