]> cloud.milkyroute.net Git - dolphin.git/blobdiff - src/panels/panel.cpp
Remove the automoc noise
[dolphin.git] / src / panels / panel.cpp
index 9e7ff4ff3afdd10f624bad47d230e34414c375d5..7673134456f7ae84c61375f1a88b927dc8cdd431 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.penz19@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 "panel.h"
-#include <kurl.h>
+#include <KUrl>
 
 Panel::Panel(QWidget* parent) :
     QWidget(parent),
-    m_url(KUrl())
+    m_url(),
+    m_customContextMenuActions()
 {
 }
 
@@ -31,14 +32,47 @@ 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;
+    }
+}
+
+void Panel::readSettings()
+{
+
 }
 
-#include "panel.moc"