File indexing completed on 2024-05-05 09:54:17
0001 /* 0002 Mobile proxy model - model for displaying netwoks in mobile kcm 0003 SPDX-FileCopyrightText: 2017 Martin Kacej <m.kacej@atlas.sk> 0004 0005 SPDX-License-Identifier: GPL-2.0-only OR GPL-3.0-only OR LicenseRef-KDE-Accepted-GPL 0006 0007 */ 0008 0009 #ifndef PLASMA_NM_MOBILE_PROXY_MODEL_H 0010 #define PLASMA_NM_MOBILE_PROXY_MODEL_H 0011 0012 #include "plasmanm_internal_export.h" 0013 0014 #include <QSortFilterProxyModel> 0015 0016 #include <qqmlregistration.h> 0017 0018 class PLASMANM_INTERNAL_EXPORT MobileProxyModel : public QSortFilterProxyModel 0019 { 0020 Q_OBJECT 0021 QML_ELEMENT 0022 Q_PROPERTY(QAbstractItemModel *sourceModel READ sourceModel WRITE setSourceModel) 0023 Q_PROPERTY(bool showSavedMode READ showSavedMode WRITE setShowSavedMode NOTIFY showSavedModeChanged) 0024 public: 0025 explicit MobileProxyModel(QObject *parent = nullptr); 0026 ~MobileProxyModel() override; 0027 void setShowSavedMode(bool mode); 0028 bool showSavedMode() const; 0029 signals: 0030 void showSavedModeChanged(bool mode); 0031 0032 protected: 0033 bool filterAcceptsRow(int source_row, const QModelIndex &source_parent) const Q_DECL_OVERRIDE; 0034 bool lessThan(const QModelIndex &left, const QModelIndex &right) const Q_DECL_OVERRIDE; 0035 0036 private: 0037 bool m_showSavedMode = false; 0038 }; 0039 0040 #endif // PLASMA_NM_MOBILE_PROXY_MODEL_H