File indexing completed on 2024-05-12 16:23:45
0001 // SPDX-FileCopyrightText: 2020 Jonah BrĂ¼chert <jbb@kaidan.im> 0002 // 0003 // SPDX-License-Identifier: GPL-2.0-or-later 0004 0005 #pragma once 0006 0007 #include <QAbstractListModel> 0008 #include <QDateTime> 0009 #include <QNetworkAccessManager> 0010 0011 #include "adblockfilterlistsmanager.h" 0012 0013 class AdblockFilterListsModel : public QAbstractListModel 0014 { 0015 Q_OBJECT 0016 0017 enum Role { 0018 Url = Qt::UserRole + 1, 0019 }; 0020 0021 public: 0022 explicit AdblockFilterListsModel(QObject *parent = nullptr); 0023 0024 QVariant data(const QModelIndex &index, int role) const override; 0025 QHash<int, QByteArray> roleNames() const override; 0026 int rowCount(const QModelIndex &parent) const override; 0027 0028 Q_SLOT void addFilterList(const QString &name, const QUrl &url); 0029 Q_SLOT void removeFilterList(const int index); 0030 0031 Q_SLOT void refreshLists(); 0032 Q_SLOT void resetAdblock(); 0033 Q_SIGNAL void refreshFinished(); 0034 0035 private: 0036 AdblockFilterListsManager m_manager; 0037 };