X-Git-Url: https://cloud.milkyroute.net/gitweb/dolphin.git/blobdiff_plain/037d5db85bb0bd798d40c557d424c5c9b87457a8..a35af3a0d2022a23c5a1cc30d693141a13673b8f:/src/kitemviews/kfileitemlistwidget.h diff --git a/src/kitemviews/kfileitemlistwidget.h b/src/kitemviews/kfileitemlistwidget.h index b7061d38c..e2db43178 100644 --- a/src/kitemviews/kfileitemlistwidget.h +++ b/src/kitemviews/kfileitemlistwidget.h @@ -1,63 +1,76 @@ -/*************************************************************************** - * 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 +#include "dolphin_export.h" +#include "kitemviews/kstandarditemlistwidget.h" -#include +class KFileItemListView; -class LIBDOLPHINPRIVATE_EXPORT KFileItemListWidgetInformant : public KStandardItemListWidgetInformant +/** + * @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: KFileItemListWidgetInformant(); - virtual ~KFileItemListWidgetInformant(); + ~KFileItemListWidgetInformant() override; protected: - virtual QString itemText(int index, const KItemListView* view) const Q_DECL_OVERRIDE; - virtual bool itemIsLink(int index, const KItemListView* view) const Q_DECL_OVERRIDE; - virtual QString roleText(const QByteArray& role, const QHash& values) const Q_DECL_OVERRIDE; - virtual QFont customizedFontForLinks(const QFont& baseFont) const Q_DECL_OVERRIDE; + QString itemText(int index, const KItemListView *view) const override; + bool itemIsLink(int index, const KItemListView *view) const override; + /** @see KStandardItemListWidget::roleText(). */ + QString roleText(const QByteArray &role, const QHash &values, ForUsageAs forUsageAs = ForUsageAs::DisplayedText) const override; + QFont customizedFontForLinks(const QFont &baseFont) const override; + + friend class KItemListDelegateAccessible; }; -class LIBDOLPHINPRIVATE_EXPORT KFileItemListWidget : public KStandardItemListWidget +/** + * @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); - virtual ~KFileItemListWidget(); + KFileItemListWidget(KItemListWidgetInformant *informant, QGraphicsItem *parent); + ~KFileItemListWidget() override; + + static KItemListWidgetInformant *createInformant(); - static KItemListWidgetInformant* createInformant(); + /// Force-update the displayed icon + void forceUpdate(); protected: - virtual bool isRoleRightAligned(const QByteArray& role) const Q_DECL_OVERRIDE; - virtual bool isHidden() const Q_DECL_OVERRIDE; - virtual QFont customizedFont(const QFont& baseFont) const Q_DECL_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; /** - * @return Selection length without MIME-type extension + * @return Selection length without MIME-type extension in number of unicode characters, which might be different from number of QChars. */ - virtual int selectionLength(const QString& text) const Q_DECL_OVERRIDE; + int selectionLength(const QString &text) const override; + +private: + KFileItemListView *listView(); }; #endif - -