diff options
| author | Eike Ziller <eike.ziller@qt.io> | 2018-09-28 10:36:42 +0200 |
|---|---|---|
| committer | Eike Ziller <eike.ziller@qt.io> | 2018-10-01 07:39:06 +0000 |
| commit | 18a6265f1374d1389629530d664d7a1593af14e1 (patch) | |
| tree | 850fed5fffdc1cebf699f6992c39bca048159b82 /src | |
| parent | 7d779bad7cc052c4d09859fc46d95792e4f0658f (diff) | |
| download | qt-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.cpp | 5 | ||||
| -rw-r--r-- | src/plugins/projectexplorer/projectexplorer.h | 2 |
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); |
