File indexing completed on 2024-04-28 16:43:18
0001 /* 0002 SPDX-FileCopyrightText: 2014 David Rosca <nowrep@gmail.com> 0003 0004 SPDX-License-Identifier: LGPL-2.1-only OR LGPL-3.0-only OR LicenseRef-KDE-Accepted-LGPL 0005 */ 0006 0007 #ifndef DEVICESPROXYMODEL_H 0008 #define DEVICESPROXYMODEL_H 0009 0010 #include <BluezQt/DevicesModel> 0011 #include <QSortFilterProxyModel> 0012 0013 class DevicesProxyModel : public QSortFilterProxyModel 0014 { 0015 Q_OBJECT 0016 0017 public: 0018 enum AdditionalRoles { 0019 SectionRole = BluezQt::DevicesModel::LastRole + 10, 0020 DeviceFullNameRole = BluezQt::DevicesModel::LastRole + 11, 0021 }; 0022 0023 explicit DevicesProxyModel(QObject *parent = nullptr); 0024 0025 QHash<int, QByteArray> roleNames() const override; 0026 QVariant data(const QModelIndex &index, int role) const override; 0027 bool lessThan(const QModelIndex &left, const QModelIndex &right) const override; 0028 bool filterAcceptsRow(int source_row, const QModelIndex &source_parent) const override; 0029 0030 Q_INVOKABLE QString adapterHciString(const QString &ubi) const; 0031 0032 private: 0033 bool duplicateIndexAddress(const QModelIndex &idx) const; 0034 }; 0035 0036 #endif // DEVICESPROXYMODEL_H