X-Git-Url: https://cloud.milkyroute.net/gitweb/dolphin.git/blobdiff_plain/f37ecd6ecfab9bc1d2929504b4f6e4363f8137b9..8eb9b508ca87fb1d634d8b8ba62c054ed04466d2:/src/panels/panel.cpp diff --git a/src/panels/panel.cpp b/src/panels/panel.cpp index e8f5c8277..712e3ef5f 100644 --- a/src/panels/panel.cpp +++ b/src/panels/panel.cpp @@ -1,6 +1,6 @@ /*************************************************************************** * Copyright (C) 2006 by Cvetoslav Ludmiloff * - * Copyright (C) 2006 by Peter Penz * + * Copyright (C) 2006-2010 by Peter Penz * * * * 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 * @@ -19,13 +19,12 @@ ***************************************************************************/ #include "panel.h" -#include -#include -#include +#include 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& actions) +{ + m_customContextMenuActions = actions; +} + +QList 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"