// Copyright (C) 2016 The Qt Company Ltd. // SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause #ifndef RSSLISTING_H #define RSSLISTING_H #include #include #include #include #include #include QT_BEGIN_NAMESPACE class QLineEdit; class QTreeWidget; class QTreeWidgetItem; class QPushButton; QT_END_NAMESPACE class RSSListing : public QWidget { Q_OBJECT public: RSSListing(QWidget *widget = nullptr); public slots: void fetch(); void finished(QNetworkReply *reply); void readyRead(); void metaDataChanged(); void itemActivated(QTreeWidgetItem * item); void error(QNetworkReply::NetworkError); private: void parseXml(); void get(const QUrl &url); QXmlStreamReader xml; QString currentTag; QString linkString; QString titleString; QNetworkAccessManager manager; QNetworkReply *currentReply; QLineEdit *lineEdit; QTreeWidget *treeWidget; QPushButton *fetchButton; }; #endif