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