From e33410d3b55ce3143343dfde5132dade7e3bd24e Mon Sep 17 00:00:00 2001 From: Andrea Diamantini Date: Sat, 20 Oct 2012 09:12:13 +0200 Subject: Enable incognito mode by calling "rekonq --incognito URL" :) --- src/application.cpp | 61 +++++++++++++++++++++++++++++++++++++++++------------ src/main.cpp | 3 +-- 2 files changed, 48 insertions(+), 16 deletions(-) diff --git a/src/application.cpp b/src/application.cpp index bd48a748..679fd1d8 100644 --- a/src/application.cpp +++ b/src/application.cpp @@ -107,6 +107,12 @@ int Application::newInstance() kDebug() << "are there arguments? " << areThereArguments; kDebug() << "is rekonq crashed? " << hasToBeRecoveredFromCrash; + bool incognito = args->isSet("incognito"); + bool webapp = args->isSet("webapp"); + + kDebug() << "INCOGNITO: " << incognito; + kDebug() << "WEBAPPS: " << webapp; + if (areThereArguments) { // prepare URLS to load @@ -146,18 +152,24 @@ int Application::newInstance() { // No windows in the current desktop? No windows at all? // Create a new one and load there sites... - loadUrl(urlList.at(0), Rekonq::NewWindow); + if (incognito) + loadUrl(urlList.at(0), Rekonq::NewPrivateWindow); + else + loadUrl(urlList.at(0), Rekonq::NewWindow); } else { - if (!ReKonfig::openExternalLinksInNewWindow()) - { - loadUrl(urlList.at(0), Rekonq::NewFocusedTab); - } + if (incognito) + loadUrl(urlList.at(0), Rekonq::NewPrivateWindow); else - { - loadUrl(urlList.at(0), Rekonq::NewWindow); - } + if (!ReKonfig::openExternalLinksInNewWindow()) + { + loadUrl(urlList.at(0), Rekonq::NewFocusedTab); + } + else + { + loadUrl(urlList.at(0), Rekonq::NewWindow); + } if (!tabWindow()->isActiveWindow()) KWindowSystem::demandAttention(tabWindow()->winId(), true); @@ -173,10 +185,13 @@ int Application::newInstance() else { for (int i = 1; i < urlList.count(); ++i) - loadUrl(urlList.at(i), Rekonq::NewWindow); + if (incognito) + loadUrl(urlList.at(i), Rekonq::NewPrivateWindow); + else + loadUrl(urlList.at(i), Rekonq::NewWindow); } } - else + else // ok, NO arguments { if (isFirstLoad) { @@ -188,6 +203,11 @@ int Application::newInstance() switch (ReKonfig::startupBehaviour()) { case 0: // open home page + if (incognito) + { + loadUrl(KUrl(ReKonfig::homePage()), Rekonq::NewPrivateWindow); + break; + } restoreOk = SessionManager::self()->restoreJustThePinnedTabs(); if (restoreOk) loadUrl(KUrl(ReKonfig::homePage()) , Rekonq::NewTab); @@ -195,6 +215,11 @@ int Application::newInstance() loadUrl(KUrl(ReKonfig::homePage()) , Rekonq::NewWindow); break; case 1: // open new tab page + if (incognito) + { + loadUrl(KUrl("about:home"), Rekonq::NewPrivateWindow); + break; + } restoreOk = SessionManager::self()->restoreJustThePinnedTabs(); if (restoreOk) loadUrl(KUrl("about:home"), Rekonq::NewTab); @@ -202,6 +227,11 @@ int Application::newInstance() loadUrl(KUrl("about:home"), Rekonq::NewWindow); break; case 2: // restore session + if (incognito) + { + loadUrl(KUrl("about:home"), Rekonq::NewPrivateWindow); + break; + } if (SessionManager::self()->restoreSessionFromScratch()) { break; @@ -214,25 +244,28 @@ int Application::newInstance() } else { + Rekonq::OpenType type = incognito ? Rekonq::NewPrivateWindow : Rekonq::NewWindow; + switch (ReKonfig::newTabsBehaviour()) { case 0: // new tab page - loadUrl(KUrl("about:home") , Rekonq::NewWindow); + loadUrl(KUrl("about:home") , type); break; case 2: // homepage - loadUrl(KUrl(ReKonfig::homePage()) , Rekonq::NewWindow); + loadUrl(KUrl(ReKonfig::homePage()) , type); break; case 1: // blank page default: - loadUrl(KUrl("about:blank") , Rekonq::NewWindow); + loadUrl(KUrl("about:blank") , type); break; } } } + // ok, now last stuffs... if (isFirstLoad) { - if (hasToBeRecoveredFromCrash) + if (hasToBeRecoveredFromCrash && !incognito) { QTimer::singleShot(1000, tabWindow()->currentWebWindow(), SLOT(showCrashMessageBar())); } diff --git a/src/main.cpp b/src/main.cpp index 07963467..c54e5bd2 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -65,8 +65,7 @@ extern "C" KDE_EXPORT int kdemain(int argc, char **argv) // adding options options.add("incognito" , ki18n("Open in incognito mode")); - options.add("webapp=URL" , ki18n("Open URL as web app (in a simple window, as separate process)")); - options.add("window" , ki18n("Open a standalone window (i.e. WITHOUT the tabbar)")); + options.add("webapp" , ki18n("Open URL as web app (in a simple window)")); options.add("+[URL]" , ki18n("Location to open")); // Register the supported options -- cgit v1.2.1