]> cloud.milkyroute.net Git - dolphin.git/commitdiff
DolphinTabWidget: cleanup index-by-URL API usage
authorElvis Angelaccio <elvis.angelaccio@kde.org>
Tue, 10 Sep 2019 23:09:30 +0000 (01:09 +0200)
committerElvis Angelaccio <elvis.angelaccio@kde.org>
Sat, 14 Sep 2019 11:37:09 +0000 (13:37 +0200)
Summary:
Follow-up of D23655 where we didn't have time to polish the code:

- add a couple of variables to make the code more clear.
- remove the `get` prefix which we usually don't use in Qt code.
- make the function private since it's very tied to implementation.
- add a new isUrlOpen public method as wrapper.

Reviewers: feverfew

Subscribers: kfm-devel

Tags: #dolphin

Differential Revision: https://phabricator.kde.org/D23860

src/dolphinmainwindow.cpp
src/dolphintabwidget.cpp
src/dolphintabwidget.h

index 32ac0e0fdcc234537bb0d1da4f4a9612b76593ba..f4d5ba1d3d720f77a36beac87d824be488f9aa7a 100644 (file)
@@ -2160,10 +2160,6 @@ void DolphinMainWindow::UndoUiInterface::jobError(KIO::Job* job)
 
 bool DolphinMainWindow::isUrlOpen(const QString& url)
 {
-    if (m_tabWidget->getIndexByUrl(QUrl::fromUserInput((url))).first >= 0) {
-        return true;
-    } else {
-        return false;
-    }
+    return m_tabWidget->isUrlOpen(QUrl::fromUserInput((url)));
 }
 
index 0546316f7763edc628b1425115b11deefbb1796c..ec0c783bc34a491426dadda1d5ce4656dbbf4f01 100644 (file)
@@ -130,6 +130,11 @@ void DolphinTabWidget::refreshViews()
     }
 }
 
+bool DolphinTabWidget::isUrlOpen(const QUrl &url) const
+{
+    return indexByUrl(url).first >= 0;
+}
+
 void DolphinTabWidget::openNewActivatedTab()
 {
     const DolphinViewContainer* oldActiveViewContainer = currentTabPage()->activeViewContainer();
@@ -187,11 +192,13 @@ 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 QPair<int, bool> viewLocation = getIndexByUrl(primaryUrl);
-        if (viewLocation.first >= 0) {
-            setCurrentIndex(viewLocation.first);
-            const auto tabPage = tabPageAt(viewLocation.first);
-            if (viewLocation.second) {
+        const QPair<int, bool> indexInfo = indexByUrl(primaryUrl);
+        const int index = indexInfo.first;
+        const bool isInPrimaryView = indexInfo.second;
+        if (index >= 0) {
+            setCurrentIndex(index);
+            const auto tabPage = tabPageAt(index);
+            if (isInPrimaryView) {
                 tabPage->primaryViewContainer()->setActive(true);
             } else {
                 tabPage->secondaryViewContainer()->setActive(true);
@@ -400,7 +407,7 @@ QString DolphinTabWidget::tabName(DolphinTabPage* tabPage) const
     return name.replace('&', QLatin1String("&&"));
 }
 
-QPair<int, bool> DolphinTabWidget::getIndexByUrl(const QUrl& url) const
+QPair<int, bool> DolphinTabWidget::indexByUrl(const QUrl& url) const
 {
     for (int i = 0; i < count(); i++) {
         const auto tabPage = tabPageAt(i);
index 7eb001b21924e6bf9b13ef7cc439dd919be58324..4351a40a837ded13f4e41347dd611f54be93d81f 100644 (file)
@@ -79,14 +79,10 @@ public:
     void refreshViews();
 
     /**
-     * @param url The URL that we would like
-     * @return a QPair with first containing the index of the tab with the
-     * desired URL or -1 if not found. Second says true if URL is in primary
-     * view container, false otherwise. False means the URL is in the secondary
-     * view container, unless first == -1. In that case the value of second
-     * is meaningless.
+     * @return Whether any of the tab pages contains @p url in their primary
+     * or secondary view.
      */
-    QPair<int, bool> getIndexByUrl(const QUrl& url) const;
+    bool isUrlOpen(const QUrl& url) const;
 
 signals:
     /**
@@ -221,6 +217,16 @@ private:
      */
     QString tabName(DolphinTabPage* tabPage) const;
 
+    /**
+     * @param url The URL that we would like
+     * @return a QPair with first containing the index of the tab with the
+     * desired URL or -1 if not found. Second says true if URL is in primary
+     * view container, false otherwise. False means the URL is in the secondary
+     * view container, unless first == -1. In that case the value of second
+     * is meaningless.
+     */
+    QPair<int, bool> indexByUrl(const QUrl& url) const;
+
 private:
     /** Caches the (negated) places panel visibility */
     bool m_placesSelectorVisible;