X-Git-Url: https://cloud.milkyroute.net/gitweb/dolphin.git/blobdiff_plain/9aee5d22513f0367febab54b38b3a7dc58d120bb..889a574fcdde7d378cdcec75ffc5972b39efbf55:/src/dolphintabwidget.cpp diff --git a/src/dolphintabwidget.cpp b/src/dolphintabwidget.cpp index 5b26359e6..0b1f07e0e 100644 --- a/src/dolphintabwidget.cpp +++ b/src/dolphintabwidget.cpp @@ -22,10 +22,10 @@ #include "dolphintabbar.h" #include "dolphintabpage.h" #include "dolphinviewcontainer.h" -#include "dolphin_generalsettings.h" #include #include +#include #include #include @@ -154,16 +154,14 @@ void DolphinTabWidget::openNewTab(const QUrl& primaryUrl, const QUrl& secondaryU } } -void DolphinTabWidget::openDirectories(const QList& dirs) +void DolphinTabWidget::openDirectories(const QList& dirs, bool splitView) { - const bool hasSplitView = GeneralSettings::splitView(); + Q_ASSERT(dirs.size() > 0); - // Open each directory inside a new tab. If the "split view" option has been enabled, - // always show two directories within one tab. QList::const_iterator it = dirs.constBegin(); while (it != dirs.constEnd()) { const QUrl& primaryUrl = *(it++); - if (hasSplitView && (it != dirs.constEnd())) { + if (splitView && (it != dirs.constEnd())) { const QUrl& secondaryUrl = *(it++); openNewTab(primaryUrl, secondaryUrl); } else { @@ -172,11 +170,9 @@ void DolphinTabWidget::openDirectories(const QList& dirs) } } -void DolphinTabWidget::openFiles(const QList& files) +void DolphinTabWidget::openFiles(const QList& files, bool splitView) { - if (files.isEmpty()) { - return; - } + Q_ASSERT(files.size() > 0); // Get all distinct directories from 'files' and open a tab // for each directory. If the "split view" option is enabled, two @@ -190,7 +186,7 @@ void DolphinTabWidget::openFiles(const QList& files) } const int oldTabCount = count(); - openDirectories(dirs); + openDirectories(dirs, splitView); const int tabCount = count(); // Select the files. Although the files can be split between several @@ -260,16 +256,16 @@ void DolphinTabWidget::detachTab(int index) { Q_ASSERT(index >= 0); - const QString separator(QLatin1Char(' ')); - QString command = QLatin1String("dolphin"); + QStringList args; const DolphinTabPage* tabPage = tabPageAt(index); - command += separator + tabPage->primaryViewContainer()->url().url(); + args << tabPage->primaryViewContainer()->url().url(); if (tabPage->splitViewEnabled()) { - command += separator + tabPage->secondaryViewContainer()->url().url(); - command += separator + QLatin1String("-split"); + args << tabPage->secondaryViewContainer()->url().url(); + args << QStringLiteral("--split"); } + const QString command = QStringLiteral("dolphin %1").arg(KShell::joinArgs(args)); KRun::runCommand(command, this); closeTab(index);