X-Git-Url: https://cloud.milkyroute.net/gitweb/dolphin.git/blobdiff_plain/476128f01aba48f6519ead627d39175443f59758..a07d63d419469592b2600e668795cea2f9bee403:/src/dolphinapplication.cpp diff --git a/src/dolphinapplication.cpp b/src/dolphinapplication.cpp index 0cd51a454..da9358e37 100644 --- a/src/dolphinapplication.cpp +++ b/src/dolphinapplication.cpp @@ -24,20 +24,26 @@ #include #include -#include -#include +#include DolphinApplication::DolphinApplication() : m_mainWindow(0) { - KGlobal::locale()->insertCatalog("libkonq"); // Needed for applications using libkonq - m_mainWindow = new DolphinMainWindow(); m_mainWindow->setAttribute(Qt::WA_DeleteOnClose); - m_mainWindow->show(); KCmdLineArgs* args = KCmdLineArgs::parsedArgs(); + const int argsCount = args->count(); + + QList urls; + for (int i = 0; i < argsCount; ++i) { + const QUrl url = args->url(i); + if (url.isValid()) { + urls.append(url); + } + } + bool resetSplitSettings = false; if (args->isSet("split") && !GeneralSettings::splitView()) { // Dolphin should be opened with a split view although this is not @@ -45,31 +51,34 @@ DolphinApplication::DolphinApplication() : // all passed URLs have been opened. GeneralSettings::setSplitView(true); resetSplitSettings = true; - } - const int argsCount = args->count(); - if (argsCount > 0) { - QList urls; - for (int i = 0; i < argsCount; ++i) { - const KUrl url = args->url(i); - if (url.isValid()) { - urls.append(url); - } + // We need 2 URLs to open Dolphin in split view mode + if (urls.isEmpty()) { // No URL given - Open home URL in all two views + urls.append(GeneralSettings::homeUrl()); + urls.append(GeneralSettings::homeUrl()); + } else if (urls.length() == 1) { // Only 1 URL given - Open given URL in all two views + urls.append(urls.at(0)); } + } - if (!urls.isEmpty()) { - if (args->isSet("select")) { - m_mainWindow->openFiles(urls); - } else { - m_mainWindow->openDirectories(urls); - } + if (!urls.isEmpty()) { + if (args->isSet("select")) { + m_mainWindow->openFiles(urls); + } else { + m_mainWindow->openDirectories(urls); } + } else { + const QUrl homeUrl(QUrl::fromLocalFile(GeneralSettings::homeUrl())); + m_mainWindow->openNewActivatedTab(homeUrl); } - args->clear(); if (resetSplitSettings) { GeneralSettings::setSplitView(false); } + + args->clear(); + + m_mainWindow->show(); } DolphinApplication::~DolphinApplication() @@ -91,4 +100,3 @@ void DolphinApplication::restoreSession() } } -#include "dolphinapplication.moc"