]> cloud.milkyroute.net Git - dolphin.git/blobdiff - src/panels/places/placespanel.cpp
The &-shortcut from another action is not set until the action has been shown at...
[dolphin.git] / src / panels / places / placespanel.cpp
index e1e63ba9b5c6ed34ed9f53e53fc65594ce76477b..1ca9bf59a1ef5069a8b8a8c530b66bb237cd92e2 100644 (file)
@@ -1,5 +1,6 @@
 /***************************************************************************
  *   Copyright (C) 2008 by Peter Penz <peter.penz@gmx.at>                  *
+ *   Copyright (C) 2010 by Christian Muehlhaeuser <muesli@gmail.com>       *
  *                                                                         *
  *   This program is free software; you can redistribute it and/or modify  *
  *   it under the terms of the GNU General Public License as published by  *
  ***************************************************************************/
 
 #include "placespanel.h"
-#include "draganddrophelper.h"
+
+#include "dolphin_generalsettings.h"
 #include <kfileitem.h>
 #include <konq_operations.h>
+#include "settings/dolphinsettings.h"
+#include "views/draganddrophelper.h"
 
 PlacesPanel::PlacesPanel(QWidget* parent) :
     KFilePlacesView(parent),
@@ -43,6 +47,22 @@ void PlacesPanel::mousePressEvent(QMouseEvent* event)
     KFilePlacesView::mousePressEvent(event);
 }
 
+void PlacesPanel::rowsAboutToBeRemoved(const QModelIndex& parent, int start, int end)
+{
+    Q_UNUSED(parent);
+
+    const QModelIndexList indexes = selectedIndexes();
+    if (!indexes.isEmpty()) {
+        const int selectedRow = indexes.first().row();
+        if ((start >= selectedRow) && (end <= selectedRow)) {
+            // The currently selected item is about to be removed, reset view to home URL
+            const KUrl homeUrl = DolphinSettings::instance().generalSettings()->homeUrl();
+            setUrl(homeUrl);
+            emit urlChanged(homeUrl, Qt::NoButton);
+        }
+    }
+}
+
 void PlacesPanel::slotUrlsDropped(const KUrl& dest, QDropEvent* event, QWidget* parent)
 {
     DragAndDropHelper::instance().dropUrls(KFileItem(), dest, event, parent);