┌   ┐
54
└   ┘

summaryrefslogtreecommitdiff
path: root/src/dolphintabwidget.cpp
diff options
context:
space:
mode:
authorElvis Angelaccio <[email protected]>2019-09-02 23:18:33 +0200
committerElvis Angelaccio <[email protected]>2019-09-02 23:18:33 +0200
commit3df68fb667a9d0df0bfe53ff762c88b9fcde28f6 (patch)
tree4cd658cfd0a9491713de2293ad167220516a52ce /src/dolphintabwidget.cpp
parent63c195b7ed9fa11c91dfed59bf00d65b66426339 (diff)
parenta6403716439ae72bfdf86a14af94ea9d212f08ee (diff)
Merge branch 'Applications/19.08'
Diffstat (limited to 'src/dolphintabwidget.cpp')
-rw-r--r--src/dolphintabwidget.cpp29
1 files changed, 18 insertions, 11 deletions
diff --git a/src/dolphintabwidget.cpp b/src/dolphintabwidget.cpp
index bd0ee301f..0546316f7 100644
--- a/src/dolphintabwidget.cpp
+++ b/src/dolphintabwidget.cpp
@@ -187,9 +187,15 @@ void DolphinTabWidget::openDirectories(const QList<QUrl>& dirs, bool splitView)
QList<QUrl>::const_iterator it = dirs.constBegin();
while (it != dirs.constEnd()) {
const QUrl& primaryUrl = *(it++);
- const int index = getIndexByUrl(primaryUrl);
- if (index >= 0) {
- setCurrentIndex(index);
+ const QPair<int, bool> viewLocation = getIndexByUrl(primaryUrl);
+ if (viewLocation.first >= 0) {
+ setCurrentIndex(viewLocation.first);
+ const auto tabPage = tabPageAt(viewLocation.first);
+ if (viewLocation.second) {
+ tabPage->primaryViewContainer()->setActive(true);
+ } else {
+ tabPage->secondaryViewContainer()->setActive(true);
+ }
continue;
}
if (splitView && (it != dirs.constEnd())) {
@@ -394,16 +400,17 @@ QString DolphinTabWidget::tabName(DolphinTabPage* tabPage) const
return name.replace('&', QLatin1String("&&"));
}
-int DolphinTabWidget::getIndexByUrl(const QUrl& url) const
+QPair<int, bool> DolphinTabWidget::getIndexByUrl(const QUrl& url) const
{
for (int i = 0; i < count(); i++) {
- // Conversion to display string is necessary to deal with the '~' alias.
- // i.e. to acknowledge that ~/ is equivalent to /home/user/
- const QUrl tabUrl = tabPageAt(i)->activeViewContainer()->url();
- if (url == tabUrl ||
- url.toDisplayString(QUrl::StripTrailingSlash) == tabUrl.toDisplayString(QUrl::StripTrailingSlash)) {
- return i;
+ const auto tabPage = tabPageAt(i);
+ if (url == tabPage->primaryViewContainer()->url()) {
+ return qMakePair(i, true);
+ }
+
+ if (tabPage->splitViewEnabled() && url == tabPage->secondaryViewContainer()->url()) {
+ return qMakePair(i, false);
}
}
- return -1;
+ return qMakePair(-1, false);
}