Warning, file /system/kjournald/lib/filtercriteriamodel_p.h was not indexed or was modified since last indexation (in which case cross-reference links may be missing, inaccurate or erroneous).
0001 /* 0002 SPDX-License-Identifier: LGPL-2.1-or-later OR MIT 0003 SPDX-FileCopyrightText: 2021 Andreas Cord-Landwehr <cordlandwehr@kde.org> 0004 */ 0005 0006 #ifndef FILTERCRITERIAMODEL_P_H 0007 #define FILTERCRITERIAMODEL_P_H 0008 0009 #include "filtercriteriamodel.h" 0010 #include "ijournal.h" 0011 #include <QMap> 0012 #include <QString> 0013 #include <QVector> 0014 #include <memory> 0015 #include <optional> 0016 0017 class SelectionEntry 0018 { 0019 public: 0020 explicit SelectionEntry() = default; 0021 explicit SelectionEntry(const QString &text, 0022 const QVariant &data, 0023 FilterCriteriaModel::Category category, 0024 bool selected = false, 0025 std::shared_ptr<SelectionEntry> parentItem = nullptr); 0026 0027 void appendChild(std::shared_ptr<SelectionEntry> child); 0028 0029 std::shared_ptr<SelectionEntry> child(int row); 0030 int childCount() const; 0031 int columnCount() const; 0032 QVariant data(FilterCriteriaModel::Roles role) const; 0033 bool setData(const QVariant &value, FilterCriteriaModel::Roles role); 0034 int row() const; 0035 std::shared_ptr<SelectionEntry> parentItem(); 0036 0037 private: 0038 std::vector<std::shared_ptr<SelectionEntry>> mChildItems; 0039 std::weak_ptr<SelectionEntry> mParentItem; 0040 QString mText; //!< user formatted string 0041 QVariant mData; //!< verbatim string as needed for journald filtering 0042 bool mSelected{true}; 0043 FilterCriteriaModel::Category mCategory; 0044 }; 0045 0046 class FilterCriteriaModelPrivate 0047 { 0048 public: 0049 FilterCriteriaModelPrivate(); 0050 ~FilterCriteriaModelPrivate(); 0051 /** 0052 * @brief clear all model data and read units, processes... from currently set journal 0053 */ 0054 void rebuildModel(); 0055 0056 static QString mapPriorityToString(int priority); 0057 0058 std::shared_ptr<IJournal> mJournal; 0059 std::shared_ptr<SelectionEntry> mRootItem; 0060 std::optional<quint8> mPriorityLevel; 0061 }; 0062 0063 #endif // FILTERCRITERIAMODEL_P_H