File indexing completed on 2024-04-28 04:20:52
0001 /* SPDX-FileCopyrightText: 2003-2010 Jesper K. Pedersen <blackie@kde.org> 0002 0003 SPDX-License-Identifier: GPL-2.0-or-later 0004 */ 0005 #ifndef LISTVIEWITEMHIDER_H 0006 #define LISTVIEWITEMHIDER_H 0007 0008 #include <kpabase/enums.h> 0009 0010 #include <QString> 0011 0012 class QTreeWidget; 0013 class QTreeWidgetItem; 0014 0015 namespace AnnotationDialog 0016 { 0017 0018 class ListViewItemHider 0019 { 0020 protected: 0021 ListViewItemHider() { } 0022 virtual ~ListViewItemHider() { } 0023 0024 bool setItemsVisible(QTreeWidgetItem *parentItem); 0025 virtual bool shouldItemBeShown(QTreeWidgetItem *) = 0; 0026 }; 0027 0028 class ListViewTextMatchHider : public ListViewItemHider 0029 { 0030 public: 0031 ListViewTextMatchHider(const QString &text, const MatchType mt, QTreeWidget *listView); 0032 0033 protected: 0034 bool shouldItemBeShown(QTreeWidgetItem *) override; 0035 0036 private: 0037 QString m_text; 0038 const MatchType m_matchType; 0039 }; 0040 0041 class ListViewCheckedHider : public ListViewItemHider 0042 { 0043 public: 0044 explicit ListViewCheckedHider(QTreeWidget *); 0045 0046 protected: 0047 bool shouldItemBeShown(QTreeWidgetItem *) override; 0048 }; 0049 0050 } 0051 0052 #endif /* LISTVIEWITEMHIDER_H */ 0053 0054 // vi:expandtab:tabstop=4 shiftwidth=4: