forked from qt-creator/qt-creator
Session: Restore session/open files after initialization
Only restore a session or file from the command line (or the setting) after initialization is completely done. Kit restoration moved to delayedInitialize, and before that we cannot sensibly open a session anyway. Change-Id: I73b984a8744729ea63af16b1f0161b49a2cd5d55 Reviewed-by: David Schulz <david.schulz@qt.io> Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
This commit is contained in:
@@ -117,7 +117,9 @@ SessionManager::SessionManager()
|
||||
m_instance = this;
|
||||
d = new SessionManagerPrivate;
|
||||
|
||||
connect(ICore::instance(), &ICore::coreOpened, this, [] { d->restoreStartupSession(); });
|
||||
connect(PluginManager::instance(), &PluginManager::initializationDone, this, [] {
|
||||
d->restoreStartupSession();
|
||||
});
|
||||
|
||||
connect(ModeManager::instance(), &ModeManager::currentModeChanged,
|
||||
this, &SessionManager::saveActiveMode);
|
||||
@@ -449,13 +451,10 @@ void SessionManagerPrivate::restoreStartupSession()
|
||||
: QString(),
|
||||
true);
|
||||
|
||||
// delay opening projects from the command line even more
|
||||
QTimer::singleShot(0, m_instance, [arguments] {
|
||||
ICore::openFiles(Utils::transform(arguments, &FilePath::fromUserInput),
|
||||
ICore::OpenFilesFlags(ICore::CanContainLineAndColumnNumbers
|
||||
| ICore::SwitchMode));
|
||||
emit m_instance->startupSessionRestored();
|
||||
});
|
||||
ICore::openFiles(Utils::transform(arguments, &FilePath::fromUserInput),
|
||||
ICore::OpenFilesFlags(ICore::CanContainLineAndColumnNumbers
|
||||
| ICore::SwitchMode));
|
||||
emit m_instance->startupSessionRestored();
|
||||
}
|
||||
|
||||
void SessionManagerPrivate::saveSettings()
|
||||
|
||||
Reference in New Issue
Block a user