From b0c9dfb41464ea6fdd104c8c7e47d3fdf211ecc6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=9F=B3=E5=8D=9A=E6=96=87?= Date: Thu, 20 Apr 2017 17:22:19 +0800 Subject: [PATCH] Add delay between load plugins Change-Id: I6eefc81fe3792f5d8b7397b75fc8fd71d40150e7 --- frame/controller/dockpluginloader.cpp | 3 ++- frame/controller/dockpluginscontroller.cpp | 4 ++-- plugins/datetime/datetimeplugin.cpp | 1 + 3 files changed, 5 insertions(+), 3 deletions(-) diff --git a/frame/controller/dockpluginloader.cpp b/frame/controller/dockpluginloader.cpp index 94119d25f..d2aecd47a 100644 --- a/frame/controller/dockpluginloader.cpp +++ b/frame/controller/dockpluginloader.cpp @@ -27,8 +27,9 @@ void DockPluginLoader::run() if (file.startsWith("libdde-dock-")) continue; - msleep(150); emit pluginFounded(pluginsDir.absoluteFilePath(file)); + + msleep(500); } emit finished(); diff --git a/frame/controller/dockpluginscontroller.cpp b/frame/controller/dockpluginscontroller.cpp index 6fa521fca..ec112de42 100644 --- a/frame/controller/dockpluginscontroller.cpp +++ b/frame/controller/dockpluginscontroller.cpp @@ -12,7 +12,7 @@ DockPluginsController::DockPluginsController(DockItemController *itemControllerI { qApp->installEventFilter(this); - QMetaObject::invokeMethod(this, "startLoader", Qt::QueuedConnection); + QTimer::singleShot(1, this, &DockPluginsController::startLoader); } DockPluginsController::~DockPluginsController() @@ -94,7 +94,7 @@ void DockPluginsController::startLoader() connect(loader, &DockPluginLoader::finished, loader, &DockPluginLoader::deleteLater, Qt::QueuedConnection); connect(loader, &DockPluginLoader::pluginFounded, this, &DockPluginsController::loadPlugin, Qt::QueuedConnection); - loader->start(QThread::LowestPriority); + QTimer::singleShot(1, loader, [=] { loader->start(QThread::LowestPriority); }); } void DockPluginsController::displayModeChanged() diff --git a/plugins/datetime/datetimeplugin.cpp b/plugins/datetime/datetimeplugin.cpp index 2d5bf56a7..8db6673ec 100644 --- a/plugins/datetime/datetimeplugin.cpp +++ b/plugins/datetime/datetimeplugin.cpp @@ -37,6 +37,7 @@ const QString DatetimePlugin::pluginName() const void DatetimePlugin::init(PluginProxyInterface *proxyInter) { m_proxyInter = proxyInter; + m_proxyInter->itemAdded(this, QString()); }