File indexing completed on 2024-05-12 16:59:53
0001 /* 0002 SPDX-FileCopyrightText: 2020 Harald Sitter <sitter@kde.org> 0003 SPDX-License-Identifier: GPL-2.0-only OR GPL-3.0-only OR LicenseRef-KDE-Accepted-GPL 0004 */ 0005 0006 #pragma once 0007 0008 #include <KSambaShareData> 0009 #include <QAbstractListModel> 0010 0011 /** 0012 * Model of KSambaShareData. 0013 */ 0014 class KSambaShareModel : public QAbstractListModel 0015 { 0016 Q_OBJECT 0017 public: 0018 enum class Role { Name = Qt::UserRole + 1, Path, ShareUrl, Comment }; 0019 Q_ENUM(Role) 0020 0021 explicit KSambaShareModel(QObject *parent = nullptr); 0022 ~KSambaShareModel() override; 0023 0024 int rowCount(const QModelIndex &parent) const final; 0025 QVariant data(const QModelIndex &index, int intRole) const final; 0026 bool hasChildren(const QModelIndex &parent) const final; 0027 Q_INVOKABLE void showPropertiesDialog(int index); 0028 0029 QHash<int, QByteArray> roleNames() const final; 0030 0031 public Q_SLOTS: 0032 void reloadData(); 0033 0034 private: 0035 QList<KSambaShareData> m_list; 0036 QString m_fqdn; 0037 };