]> cloud.milkyroute.net Git - dolphin.git/blobdiff - src/dolphinmainwindow.cpp
Merge remote-tracking branch 'fork/work/zakharafoniam/useful-groups'
[dolphin.git] / src / dolphinmainwindow.cpp
index 1f483309f304ba8cfb1436a23902663aacc7fa3c..d08d6f6b396fe75bc9dda6cb48d67eabe354e41d 100644 (file)
@@ -1511,7 +1511,7 @@ void DolphinMainWindow::updateHamburgerMenu()
         menu = new QMenu(this);
         hamburgerMenu->setMenu(menu);
         hamburgerMenu->hideActionsOf(ac->action(QStringLiteral("basic_actions"))->menu());
-        hamburgerMenu->hideActionsOf(ac->action(QStringLiteral("zoom"))->menu());
+        hamburgerMenu->hideActionsOf(qobject_cast<KToolBarPopupAction *>(ac->action(QStringLiteral("zoom")))->popupMenu());
     } else {
         menu->clear();
     }
@@ -1562,18 +1562,19 @@ void DolphinMainWindow::updateHamburgerMenu()
     // The third group contains actions to change what one sees in the view
     // and to change the more general UI.
     if (!toolBar()->isVisible()
-        || (!toolbarActions.contains(ac->action(QStringLiteral("icons"))) && !toolbarActions.contains(ac->action(QStringLiteral("compact")))
-            && !toolbarActions.contains(ac->action(QStringLiteral("details"))) && !toolbarActions.contains(ac->action(QStringLiteral("view_mode"))))
-            && !toolbarActions.contains(ac->action(QStringLiteral("view_settings")))) {
+        || ((!toolbarActions.contains(ac->action(QStringLiteral("icons"))) && !toolbarActions.contains(ac->action(QStringLiteral("compact")))
+             && !toolbarActions.contains(ac->action(QStringLiteral("details"))) && !toolbarActions.contains(ac->action(QStringLiteral("view_mode"))))
+            && !toolbarActions.contains(ac->action(QStringLiteral("view_settings"))))) {
         menu->addAction(ac->action(QStringLiteral("view_mode")));
     }
     if (!toolBar()->isVisible() || !toolbarActions.contains(ac->action(QStringLiteral("view_settings")))) {
-        menu->addAction(ac->action(QStringLiteral("show_hidden_files")));
-        menu->addAction(ac->action(QStringLiteral("sort")));
-        menu->addAction(ac->action(QStringLiteral("additional_info")));
-        if (!GeneralSettings::showStatusBar() || !GeneralSettings::showZoomSlider()) {
-            menu->addAction(ac->action(QStringLiteral("zoom")));
-        }
+           menu->addAction(ac->action(QStringLiteral("show_hidden_files")));
+           menu->addAction(ac->action(QStringLiteral("sort")));
+           menu->addAction(ac->action(QStringLiteral("group")));
+           menu->addAction(ac->action(QStringLiteral("additional_info")));
+           if (!GeneralSettings::showStatusBar() || !GeneralSettings::showZoomSlider()) {
+                       menu->addAction(ac->action(QStringLiteral("zoom")));
+               }
     }
     menu->addAction(ac->action(QStringLiteral("panels")));
 
@@ -1661,6 +1662,7 @@ void DolphinMainWindow::activeViewChanged(DolphinViewContainer *viewContainer)
 
     const QUrl url = viewContainer->url();
     Q_EMIT urlChanged(url);
+    Q_EMIT selectionChanged(m_activeViewContainer->view()->selectedItems());
 }
 
 void DolphinMainWindow::tabCountChanged(int count)
@@ -1726,7 +1728,11 @@ void DolphinMainWindow::setViewsToHomeIfMountPathOpen(const QString &mountPath)
 {
     const QVector<DolphinViewContainer *> theViewContainers = viewContainers();
     for (DolphinViewContainer *viewContainer : theViewContainers) {
-        if (viewContainer && viewContainer->url().toLocalFile().startsWith(mountPath)) {
+        if (!viewContainer) {
+            continue;
+        }
+        const auto viewPath = viewContainer->url().toLocalFile();
+        if (viewPath.startsWith(mountPath + QLatin1String("/")) || viewPath == mountPath) {
             viewContainer->setUrl(QUrl::fromLocalFile(QDir::homePath()));
         }
     }
@@ -2408,7 +2414,7 @@ void DolphinMainWindow::setupDockWidgets()
     placesDock->setLocked(lock);
     placesDock->setObjectName(QStringLiteral("placesDock"));
     placesDock->setAllowedAreas(Qt::LeftDockWidgetArea | Qt::RightDockWidgetArea);
-
+    
     m_placesPanel = new PlacesPanel(placesDock);
     m_placesPanel->setCustomContextMenuActions({lockLayoutAction});
     placesDock->setWidget(m_placesPanel);