]> cloud.milkyroute.net Git - dolphin.git/blobdiff - src/dolphinapplication.cpp
Fix includes
[dolphin.git] / src / dolphinapplication.cpp
index 1abe8aa6e27681b6ddf522ca7e1b78c1a9a595c5..8a6b4cc03fd92580f3c945c57f93086dae28b17d 100644 (file)
 
 #include <KCmdLineArgs>
 #include <KDebug>
-#include <KRun>
 #include <KUrl>
 
 DolphinApplication::DolphinApplication() :
     m_mainWindow(0)
 {
+    //KF5 port: remove this line and define TRANSLATION_DOMAIN in CMakeLists.txt instead
+//KLocale::global()->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<KUrl> urls;
+    for (int i = 0; i < argsCount; ++i) {
+        const KUrl 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
@@ -43,31 +54,34 @@ DolphinApplication::DolphinApplication() :
         // all passed URLs have been opened.
         GeneralSettings::setSplitView(true);
         resetSplitSettings = true;
-    }
 
-    const int argsCount = args->count();
-    if (argsCount > 0) {
-        QList<KUrl> 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);
     }
+
+    args->clear();
+
+    m_mainWindow->show();
 }
 
 DolphinApplication::~DolphinApplication()
@@ -89,4 +103,3 @@ void DolphinApplication::restoreSession()
     }
 }
 
-#include "dolphinapplication.moc"