]> cloud.milkyroute.net Git - dolphin.git/blobdiff - src/dolphinmainwindow.cpp
Make the QWeakPointer<DolphinContextMenu> a QScopedPointer<DolphinContextMenu>
[dolphin.git] / src / dolphinmainwindow.cpp
index 637d46a015246a31def8c4510de27ca3ff86ca5c..398af70a85f62b1d5e6623eaf6a579d6c114990d 100644 (file)
@@ -53,7 +53,7 @@
 #include <kdualaction.h>
 #include <KDialog>
 #include <KJobWidgets>
-#include <KLineEdit>
+#include <QLineEdit>
 #include <KToolBar>
 #include <KIO/NetAccess>
 #include <KIO/JobUiDelegate>
@@ -263,11 +263,6 @@ void DolphinMainWindow::slotSelectionChanged(const KFileItemList& selection)
     emit selectionChanged(selection);
 }
 
-void DolphinMainWindow::slotRequestItemInfo(const KFileItem& item)
-{
-    emit requestItemInfo(item);
-}
-
 void DolphinMainWindow::updateHistory()
 {
     const KUrlNavigator* urlNavigator = m_activeViewContainer->urlNavigator();
@@ -763,7 +758,7 @@ void DolphinMainWindow::openContextMenu(const QPoint& pos,
                                         const QUrl& url,
                                         const QList<QAction*>& customActions)
 {
-    QWeakPointer<DolphinContextMenu> contextMenu = new DolphinContextMenu(this, pos, item, url);
+    QScopedPointer<DolphinContextMenu> contextMenu(new DolphinContextMenu(this, pos, item, url));
     contextMenu.data()->setCustomActions(customActions);
     const DolphinContextMenu::Command command = contextMenu.data()->open();
 
@@ -786,8 +781,6 @@ void DolphinMainWindow::openContextMenu(const QPoint& pos,
     default:
         break;
     }
-
-    delete contextMenu.data();
 }
 
 void DolphinMainWindow::updateControlMenu()
@@ -899,11 +892,6 @@ void DolphinMainWindow::slotControlButtonDeleted()
     m_updateToolBarTimer->start();
 }
 
-void DolphinMainWindow::slotPanelErrorMessage(const QString& error)
-{
-    activeViewContainer()->showMessage(error, DolphinViewContainer::Error);
-}
-
 void DolphinMainWindow::slotPlaceActivated(const QUrl& url)
 {
     DolphinViewContainer* view = activeViewContainer();
@@ -969,7 +957,11 @@ void DolphinMainWindow::setUrlAsCaption(const QUrl& url)
         }
     }
 
-    const QString fileName = url.fileName().isEmpty() ? "/" : url.fileName();
+    QString fileName = url.adjusted(QUrl::StripTrailingSlash).fileName();
+    if (fileName.isEmpty()) {
+        fileName = '/';
+    }
+
     caption.append(fileName);
 
     setCaption(caption);
@@ -1088,6 +1080,9 @@ void DolphinMainWindow::setupActions()
     undoCloseTab->setEnabled(false);
     connect(undoCloseTab, SIGNAL(triggered()), recentTabsMenu, SLOT(undoCloseTab()));
 
+    auto undoAction = actionCollection()->action(KStandardAction::name(KStandardAction::Undo));
+    undoAction->setEnabled(false); // undo should be disabled by default
+
     KStandardAction::forward(this, SLOT(goForward()), actionCollection());
     KStandardAction::up(this, SLOT(goUp()), actionCollection());
     KStandardAction::home(this, SLOT(goHome()), actionCollection());
@@ -1208,7 +1203,7 @@ void DolphinMainWindow::setupDockWidgets()
     connect(foldersPanel, &FoldersPanel::folderMiddleClicked,
             this, &DolphinMainWindow::openNewTab);
     connect(foldersPanel, &FoldersPanel::errorMessage,
-            this, &DolphinMainWindow::slotPanelErrorMessage);
+            this, &DolphinMainWindow::showErrorMessage);
 
     // Setup "Terminal"
 #ifndef Q_OS_WIN
@@ -1260,7 +1255,7 @@ void DolphinMainWindow::setupDockWidgets()
     connect(placesPanel, SIGNAL(placeMiddleClicked(QUrl)),
             this, SLOT(openNewTab(QUrl)));
     connect(placesPanel, &PlacesPanel::errorMessage,
-            this, &DolphinMainWindow::slotPanelErrorMessage);
+            this, &DolphinMainWindow::showErrorMessage);
     connect(this, &DolphinMainWindow::urlChanged,
             placesPanel, &PlacesPanel::setUrl);
     connect(placesDock, &DolphinDockWidget::visibilityChanged,
@@ -1421,7 +1416,7 @@ void DolphinMainWindow::connectViewSignals(DolphinViewContainer* container)
     connect(view, &DolphinView::selectionChanged,
             this, &DolphinMainWindow::slotSelectionChanged);
     connect(view, &DolphinView::requestItemInfo,
-            this, &DolphinMainWindow::slotRequestItemInfo);
+            this, &DolphinMainWindow::requestItemInfo);
     connect(view, &DolphinView::tabRequested,
             this, &DolphinMainWindow::openNewTab);
     connect(view, &DolphinView::requestContextMenu,