diff options
Diffstat (limited to 'src/application.cpp')
-rw-r--r-- | src/application.cpp | 18 |
1 files changed, 14 insertions, 4 deletions
diff --git a/src/application.cpp b/src/application.cpp index bf326888..3a76a6de 100644 --- a/src/application.cpp +++ b/src/application.cpp @@ -192,16 +192,23 @@ int Application::newInstance() if (isFirstLoad) { bool restoreOk = false; - if (ReKonfig::startupBehaviour() == 2) + + switch(ReKonfig::startupBehaviour()) { + case 2: if (hasToBeRecoveredFromCrash) restoreOk = false; else restoreOk = SessionManager::self()->restoreSessionFromScratch(); - } - else - { + break; + + case 3: + SessionManager::self()->manageSessions(); + break; + + default: restoreOk = SessionManager::self()->restoreJustThePinnedTabs(); + break; } isFirstLoad = !restoreOk; @@ -296,6 +303,9 @@ int Application::newInstance() loadUrl(KUrl("about:home") , Rekonq::NewTab); } break; + case 3: + SessionManager::self()->manageSessions(); + break; default: ASSERT_NOT_REACHED(unknown startup behavior); break; |