summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorEike Ziller <eike.ziller@qt.io>2018-09-28 10:36:42 +0200
committerEike Ziller <eike.ziller@qt.io>2018-10-01 07:39:06 +0000
commit18a6265f1374d1389629530d664d7a1593af14e1 (patch)
tree850fed5fffdc1cebf699f6992c39bca048159b82 /src
parent7d779bad7cc052c4d09859fc46d95792e4f0658f (diff)
downloadqt-creator-18a6265f1374d1389629530d664d7a1593af14e1.tar.gz
ProjectExplorer: Make kits available earlier during startup
delayedInitialize is run in reverse dependency order, so ProjectExplorer's will naturally be run very late during startup. It also depends on which other plugins do what during delayed initialization. Since we want the kits to be available early during startup, so the user can e.g. click on a project in Welcome mode and have them available, it is better to use a custom, short timer for this instead. Task-number: QTCREATORBUG-19381 Change-Id: I7bafa9cf77b86c11d420bb684eadf51c48abd5ed Reviewed-by: hjk <hjk@qt.io>
Diffstat (limited to 'src')
-rw-r--r--src/plugins/projectexplorer/projectexplorer.cpp5
-rw-r--r--src/plugins/projectexplorer/projectexplorer.h2
2 files changed, 4 insertions, 3 deletions
diff --git a/src/plugins/projectexplorer/projectexplorer.cpp b/src/plugins/projectexplorer/projectexplorer.cpp
index e223c1d2f1..a63d8dafa0 100644
--- a/src/plugins/projectexplorer/projectexplorer.cpp
+++ b/src/plugins/projectexplorer/projectexplorer.cpp
@@ -1686,9 +1686,11 @@ void ProjectExplorerPlugin::extensionsInitialized()
BuildManager::extensionsInitialized();
DeviceManager::instance()->addDevice(IDevice::Ptr(new DesktopDevice));
+ // delay restoring kits until UI is shown for improved perceived startup performance
+ QTimer::singleShot(0, this, &ProjectExplorerPlugin::restoreKits);
}
-bool ProjectExplorerPlugin::delayedInitialize()
+void ProjectExplorerPlugin::restoreKits()
{
dd->determineSessionToRestoreAtStartup();
ExtraAbi::load(); // Load this before Toolchains!
@@ -1696,7 +1698,6 @@ bool ProjectExplorerPlugin::delayedInitialize()
ToolChainManager::restoreToolChains();
dd->m_kitManager->restoreKits();
QTimer::singleShot(0, dd, &ProjectExplorerPluginPrivate::restoreSession); // delay a bit...
- return true;
}
void ProjectExplorerPluginPrivate::updateRunWithoutDeployMenu()
diff --git a/src/plugins/projectexplorer/projectexplorer.h b/src/plugins/projectexplorer/projectexplorer.h
index 48281d2581..153f8d0c10 100644
--- a/src/plugins/projectexplorer/projectexplorer.h
+++ b/src/plugins/projectexplorer/projectexplorer.h
@@ -123,7 +123,7 @@ public:
//PluginInterface
bool initialize(const QStringList &arguments, QString *errorMessage) override;
void extensionsInitialized() override;
- bool delayedInitialize() override;
+ void restoreKits();
ShutdownFlag aboutToShutdown() override;
static void setProjectExplorerSettings(const Internal::ProjectExplorerSettings &pes);