X-Git-Url: https://cloud.milkyroute.net/gitweb/dolphin.git/blobdiff_plain/2e6450da1cc62c0c8ad6f868becf0fa4a1f32022..cebcf8db:/src/kitemviews/kfileitemlistwidget.h diff --git a/src/kitemviews/kfileitemlistwidget.h b/src/kitemviews/kfileitemlistwidget.h index fbb0300f8..6e98e03c4 100644 --- a/src/kitemviews/kfileitemlistwidget.h +++ b/src/kitemviews/kfileitemlistwidget.h @@ -1,29 +1,24 @@ -/*************************************************************************** - * Copyright (C) 2011 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: 2011 Peter Penz + * + * SPDX-License-Identifier: GPL-2.0-or-later + */ #ifndef KFILEITEMLISTWIDGET_H #define KFILEITEMLISTWIDGET_H #include "dolphin_export.h" +#include "kitemviews/kstandarditemlistwidget.h" -#include +class KFileItemListView; +/** + * @brief ItemList widget informant implementation for use with KFileItems. + * + * Code that does not expect KFileItems specifically should go to KStandardItemListWidgetInformant. + * + * @see KItemListWidgetInformant + */ class DOLPHIN_EXPORT KFileItemListWidgetInformant : public KStandardItemListWidgetInformant { public: @@ -31,33 +26,48 @@ public: ~KFileItemListWidgetInformant() override; protected: - QString itemText(int index, const KItemListView* view) const override; - bool itemIsLink(int index, const KItemListView* view) const override; - QString roleText(const QByteArray& role, const QHash& values) const override; - QFont customizedFontForLinks(const QFont& baseFont) const override; + QString itemText(int index, const KItemListView *view) const override; + bool itemIsLink(int index, const KItemListView *view) const override; + QString roleText(const QByteArray &role, const QHash &values) const override; + QFont customizedFontForLinks(const QFont &baseFont) const override; }; +/** + * @brief ItemList widget implementation for use with KFileItems. + * + * Code that does not expect KFileItems specifically should go to KStandardItemListWidget. + * + * @see KItemListWidget + */ class DOLPHIN_EXPORT KFileItemListWidget : public KStandardItemListWidget { Q_OBJECT public: - KFileItemListWidget(KItemListWidgetInformant* informant, QGraphicsItem* parent); + KFileItemListWidget(KItemListWidgetInformant *informant, QGraphicsItem *parent); ~KFileItemListWidget() override; - static KItemListWidgetInformant* createInformant(); + static KItemListWidgetInformant *createInformant(); + + /// Force-update the displayed icon + void forceUpdate(); protected: - bool isRoleRightAligned(const QByteArray& role) const override; + virtual void hoverSequenceStarted() override; + virtual void hoverSequenceIndexChanged(int sequenceIndex) override; + virtual void hoverSequenceEnded() override; + + bool isRoleRightAligned(const QByteArray &role) const override; bool isHidden() const override; - QFont customizedFont(const QFont& baseFont) const override; + QFont customizedFont(const QFont &baseFont) const override; /** * @return Selection length without MIME-type extension */ - int selectionLength(const QString& text) const override; + int selectionLength(const QString &text) const override; + +private: + KFileItemListView *listView(); }; #endif - -