]> cloud.milkyroute.net Git - dolphin.git/blobdiff - src/panels/panel.cpp
Use capitalized KDE includes
[dolphin.git] / src / panels / panel.cpp
index e8f5c82771a7a6ae4b82aaf9e641010d6fb50d21..712e3ef5f329b4361e1ecd8753e6a74a8a1d5e98 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>
+#include <KUrl>
 
 Panel::Panel(QWidget* parent) :
     QWidget(parent),
-    m_url(KUrl())
+    m_url(),
+    m_customContextMenuActions()
 {
 }
 
@@ -33,14 +32,43 @@ 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;
+}
+
+QSize Panel::sizeHint() const
+{
+    // The size hint will be requested already when starting Dolphin even
+    // if the panel is invisible. For performance reasons most panels delay
+    // the creation and initialization of widgets until a showEvent() is called.
+    // Because of this the size-hint of the embedded widgets cannot be used
+    // and a default size is provided:
+    return QSize(180, 180);
+}
+
 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"