diff options
| author | Emmanuel Pescosta <[email protected]> | 2012-08-24 21:47:14 +0200 |
|---|---|---|
| committer | Emmanuel Pescosta <[email protected]> | 2012-08-25 00:00:30 +0200 |
| commit | 6f6a5d12affed98cab700f522a287b2f6977e096 (patch) | |
| tree | fe37066dc4ff6600267b5cc81e217ddeb5e1fa6d /src | |
| parent | ca6459ea5a950ed160486cf978be3f5f5a106fd6 (diff) | |
Fix wrong behaviour, when Dolphin is started with --split argument.
Actual Results:
dolphin starts without split view
Expected Results:
dolphin starts with split view
New behaviour:
* no url given - use default url for all two views
* one url given - use given url for all two views
* two urls given - open the first url in the left view and the second url in the right view
BUG: 305538
REVIEW: 106171
(cherry picked from commit d430a1c3b3c7485149f5486e38f4188074d09c0d)
Diffstat (limited to 'src')
| -rw-r--r-- | src/dolphinapplication.cpp | 40 |
1 files changed, 24 insertions, 16 deletions
diff --git a/src/dolphinapplication.cpp b/src/dolphinapplication.cpp index 0cd51a454..8e83a8592 100644 --- a/src/dolphinapplication.cpp +++ b/src/dolphinapplication.cpp @@ -38,6 +38,16 @@ DolphinApplication::DolphinApplication() : 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 @@ -45,31 +55,29 @@ 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); } } - args->clear(); if (resetSplitSettings) { GeneralSettings::setSplitView(false); } + + args->clear(); } DolphinApplication::~DolphinApplication() |
