From 70253afad80ee6c42a5d4d3731d0bfc79b56a872 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=9F=B3=E5=8D=9A=E6=96=87?= Date: Mon, 1 Aug 2016 11:26:39 +0800 Subject: [PATCH] delay load plugins Change-Id: Ida0ee8d2f92103272aa64d3ec9873d7230867d07 --- frame/controller/dockpluginscontroller.cpp | 4 ++-- frame/main.cpp | 2 ++ frame/util/dockpopupwindow.h | 3 +++ plugins/network/networkmanager.cpp | 4 ++-- 4 files changed, 9 insertions(+), 4 deletions(-) diff --git a/frame/controller/dockpluginscontroller.cpp b/frame/controller/dockpluginscontroller.cpp index f018a93b3..1f36de2f7 100644 --- a/frame/controller/dockpluginscontroller.cpp +++ b/frame/controller/dockpluginscontroller.cpp @@ -75,6 +75,7 @@ void DockPluginsController::loadPlugins() #endif const QStringList plugins = pluginsDir.entryList(QDir::Files); + int pluginIndex = 0; for (const QString file : plugins) { if (!QLibrary::isLibrary(file)) @@ -94,9 +95,8 @@ void DockPluginsController::loadPlugins() continue; } -// interface->init(this); // delay load - QTimer::singleShot(100, [=] {interface->init(this);}); + QTimer::singleShot(100 + (++pluginIndex) * 50, [=] {interface->init(this);}); } } diff --git a/frame/main.cpp b/frame/main.cpp index 6d7067ad9..7d8e7c40f 100644 --- a/frame/main.cpp +++ b/frame/main.cpp @@ -43,6 +43,8 @@ int main(int argc, char *argv[]) DLogManager::registerConsoleAppender(); DLogManager::registerFileAppender(); + qDebug() << "\n\ndde-dock startup"; + #ifndef QT_DEBUG QDir::setCurrent(QApplication::applicationDirPath()); #endif diff --git a/frame/util/dockpopupwindow.h b/frame/util/dockpopupwindow.h index 5eca8fff4..37fdca898 100644 --- a/frame/util/dockpopupwindow.h +++ b/frame/util/dockpopupwindow.h @@ -31,6 +31,9 @@ protected: private slots: void globalMouseRelease(int button, int x, int y, const QString &id); +private: + using Dtk::Widget::DArrowRectangle::show; + private: bool m_model; QPoint m_lastPoint; diff --git a/plugins/network/networkmanager.cpp b/plugins/network/networkmanager.cpp index ef1587db5..4c465c484 100644 --- a/plugins/network/networkmanager.cpp +++ b/plugins/network/networkmanager.cpp @@ -13,8 +13,8 @@ NetworkManager *NetworkManager::instance(QObject *parent) void NetworkManager::init() { - reloadDevices(); - reloadActiveConnections(); + QTimer::singleShot(2000, this, &NetworkManager::reloadDevices); + QTimer::singleShot(2500, this, &NetworkManager::reloadActiveConnections); } const NetworkDevice::NetworkTypes NetworkManager::states() const