X-Git-Url: https://cloud.milkyroute.net/gitweb/dolphin.git/blobdiff_plain/69e4007e5e330f2ca87c0176a186967b5ca156e8..013b2346f56e846009dd1eebfc88c737d94dad0f:/src/dolphinapplication.cpp diff --git a/src/dolphinapplication.cpp b/src/dolphinapplication.cpp index 0dc9c9602..a4b105b90 100644 --- a/src/dolphinapplication.cpp +++ b/src/dolphinapplication.cpp @@ -21,7 +21,6 @@ #include "dolphinapplication.h" #include "dolphinmainwindow.h" #include "dolphin_generalsettings.h" -#include "settings/dolphinsettings.h" #include #include @@ -31,45 +30,58 @@ 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 KUrl url = args->url(i); + if (url.isValid()) { + urls.append(url); + } + } + bool resetSplitSettings = false; - GeneralSettings* generalSettings = DolphinSettings::instance().generalSettings(); - if (args->isSet("split") && !generalSettings->splitView()) { + if (args->isSet("split") && !GeneralSettings::splitView()) { // Dolphin should be opened with a split view although this is not // set in the GeneralSettings. Temporary adjust the setting until // all passed URLs have been opened. - generalSettings->setSplitView(true); + 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 KUrl homeUrl(GeneralSettings::homeUrl()); + m_mainWindow->openNewActivatedTab(homeUrl); } - args->clear(); if (resetSplitSettings) { - generalSettings->setSplitView(false); + GeneralSettings::setSplitView(false); } + + args->clear(); + + m_mainWindow->show(); } DolphinApplication::~DolphinApplication()