]> cloud.milkyroute.net Git - dolphin.git/blobdiff - src/panels/panel.cpp
Lock panels per default and allow to unlock them like in Amarok.
[dolphin.git] / src / panels / panel.cpp
index e8f5c82771a7a6ae4b82aaf9e641010d6fb50d21..e90970c6ee2c05666195cb1721e7de0961cdcdae 100644 (file)
@@ -1,6 +1,6 @@
 /***************************************************************************
  *   Copyright (C) 2006 by Cvetoslav Ludmiloff <ludmiloff@gmail.com>       *
- *   Copyright (C) 2006 by Peter Penz <peter.penz@gmx.at>                  *
+ *   Copyright (C) 2006-2010 by Peter Penz <peter.penz@gmx.at>             *
  *                                                                         *
  *   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 "panel.h"
-#include <QtGui/QWidget>
-#include <kfileitem.h>
 #include <kurl.h>
 
 Panel::Panel(QWidget* parent) :
     QWidget(parent),
-    m_url(KUrl())
+    m_url(),
+    m_customContextMenuActions()
 {
 }
 
@@ -33,14 +32,33 @@ Panel::~Panel()
 {
 }
 
-const KUrl& Panel::url() const
+KUrl Panel::url() const
 {
     return m_url;
 }
 
+void Panel::setCustomContextMenuActions(const QList<QAction*>& actions)
+{
+    m_customContextMenuActions = actions;
+}
+
+QList<QAction*> Panel::customContextMenuActions() const
+{
+    return m_customContextMenuActions;
+}
+
 void Panel::setUrl(const KUrl& url)
 {
+    if (url.equals(m_url, KUrl::CompareWithoutTrailingSlash)) {
+        return;
+    }
+
+    const KUrl oldUrl = m_url;
     m_url = url;
+    const bool accepted = urlChanged();
+    if (!accepted) {
+        m_url = oldUrl;
+    }
 }
 
 #include "panel.moc"