X-Git-Url: https://cloud.milkyroute.net/gitweb/dolphin.git/blobdiff_plain/ed68687614472e18904c4a3f613d01df2f5bb90e..edced8460b:/src/panels/information/informationpanel.h diff --git a/src/panels/information/informationpanel.h b/src/panels/information/informationpanel.h index e0768bc1b..31a48332b 100644 --- a/src/panels/information/informationpanel.h +++ b/src/panels/information/informationpanel.h @@ -1,28 +1,21 @@ -/*************************************************************************** - * Copyright (C) 2006-2009 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 * - * the Free Software Foundation; either version 2 of the License, or * - * (at your option) any later version. * - * * - * This program is distributed in the hope that it will be useful, * - * but WITHOUT ANY WARRANTY; without even the implied warranty of * - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * - * GNU General Public License for more details. * - * * - * You should have received a copy of the GNU General Public License * - * along with this program; if not, write to the * - * Free Software Foundation, Inc., * - * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA * - ***************************************************************************/ +/* + * SPDX-FileCopyrightText: 2006-2009 Peter Penz + * + * SPDX-License-Identifier: GPL-2.0-or-later + */ #ifndef INFORMATIONPANEL_H #define INFORMATIONPANEL_H -#include +#include "panels/panel.h" + +#include class InformationPanelContent; +namespace KIO +{ + class Job; +} /** * @brief Panel for showing meta information of one ore more selected items. @@ -32,19 +25,13 @@ class InformationPanel : public Panel Q_OBJECT public: - explicit InformationPanel(QWidget* parent = 0); - virtual ~InformationPanel(); - - /** @see QWidget::sizeHint() */ - virtual QSize sizeHint() const; + explicit InformationPanel(QWidget* parent = nullptr); + ~InformationPanel() override; signals: - void urlActivated(const KUrl& url); + void urlActivated(const QUrl& url); public slots: - /** @see Panel::setUrl() */ - virtual void setUrl(const KUrl& url); - /** * This is invoked to inform the panel that the user has selected a new * set of items. @@ -60,19 +47,22 @@ public slots: void requestDelayedItemInfo(const KFileItem& item); protected: + /** @see Panel::urlChanged() */ + bool urlChanged() override; + /** @see QWidget::showEvent() */ - virtual void showEvent(QShowEvent* event); + void showEvent(QShowEvent* event) override; /** @see QWidget::resizeEvent() */ - virtual void resizeEvent(QResizeEvent* event); + void resizeEvent(QResizeEvent* event) override; /** @see QWidget::contextMenuEvent() */ - virtual void contextMenuEvent(QContextMenuEvent* event); + void contextMenuEvent(QContextMenuEvent* event) override; private slots: /** * Shows the information for the item of the URL which has been provided by - * InformationPanel::requestItemInfo() and provides default actions. + * InformationPanel::requestDelayedItemInfo() and provides default actions. */ void showItemInfo(); @@ -112,20 +102,10 @@ private: */ void showMetaInfo(); - /** - * Returns true, if the meta information should be shown for - * the multiple selected items that are stored in - * m_selection. If true is returned, it is assured that - * m_selection.count() > 1. If false is returned, the meta - * information should be shown for the file - * InformationPanel::fileUrl(); - */ - bool showMultipleSelectionInfo() const; - /** * Returns true, if \a url is equal to the shown URL m_shownUrl. */ - bool isEqualToShownUrl(const KUrl& url) const; + bool isEqualToShownUrl(const QUrl& url) const; /** * Marks the URL as invalid and will reset the Information Panel @@ -135,34 +115,40 @@ private: */ void markUrlAsInvalid(); + /** + * Opens a menu which allows to configure which meta information + * should be shown. + */ + void showContextMenu(const QPoint &point); + void init(); private: bool m_initialized; - bool m_pendingPreview; QTimer* m_infoTimer; QTimer* m_urlChangedTimer; QTimer* m_resetUrlTimer; // URL that is currently shown in the Information Panel. - KUrl m_shownUrl; + QUrl m_shownUrl; // URL candidate that will replace m_shownURL after a delay. // Used to remember URLs when hovering items. - KUrl m_urlCandidate; + QUrl m_urlCandidate; // URL candidate that is marked as invalid (e. g. because the directory // has been deleted or the shown item has been renamed). The Information // Panel will be reset asynchronously to prevent unnecessary resets when // a directory has been changed. - KUrl m_invalidUrlCandidate; + QUrl m_invalidUrlCandidate; KFileItem m_fileItem; // file item for m_shownUrl if available (otherwise null) KFileItemList m_selection; - KJob* m_folderStatJob; + KIO::Job* m_folderStatJob; InformationPanelContent* m_content; + bool m_inConfigurationMode = false; }; #endif // INFORMATIONPANEL_H