]> cloud.milkyroute.net Git - dolphin.git/blobdiff - src/dolphinmainwindow.cpp
Merge branch 'work/zakharafoniam/useful-groups' of https://invent.kde.org/zakharafoni...
[dolphin.git] / src / dolphinmainwindow.cpp
index 10dc9375de0a6d0318c2979af8e75f3190aa4ca4..cb94e86572962edc05b8df2720444d3f3ef58b04 100644 (file)
@@ -8,6 +8,7 @@
 
 #include "dolphinmainwindow.h"
 
+#include "admin/workerintegration.h"
 #include "dolphin_generalsettings.h"
 #include "dolphinbookmarkhandler.h"
 #include "dolphincontextmenu.h"
@@ -783,8 +784,14 @@ void DolphinMainWindow::updateNewMenu()
 
 void DolphinMainWindow::createDirectory()
 {
-    m_newFileMenu->setWorkingDirectory(activeViewContainer()->url());
-    m_newFileMenu->createDirectory();
+    // When creating directory, namejob is being run. In network folders,
+    // this job can take long time, so instead of starting multiple namejobs,
+    // just check if we are already running one. This prevents opening multiple
+    // dialogs. BUG:481401
+    if (!m_newFileMenu->isCreateDirectoryRunning()) {
+        m_newFileMenu->setWorkingDirectory(activeViewContainer()->url());
+        m_newFileMenu->createDirectory();
+    }
 }
 
 void DolphinMainWindow::quit()
@@ -1489,6 +1496,7 @@ void DolphinMainWindow::updateHamburgerMenu()
     }
     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")));
@@ -1858,6 +1866,8 @@ void DolphinMainWindow::setupActions()
     // setup 'View' menu
     // (note that most of it is set up in DolphinViewActionHandler)
 
+    Admin::WorkerIntegration::createActAsAdminAction(actionCollection(), this);
+
     m_splitViewAction = actionCollection()->add<KActionMenu>(QStringLiteral("split_view"));
     m_splitViewMenuAction = actionCollection()->addAction(QStringLiteral("split_view_menu"));
 
@@ -2307,7 +2317,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);