diff options
Diffstat (limited to 'examples/corelib/serialization/rsslisting/rsslisting.h')
-rw-r--r-- | examples/corelib/serialization/rsslisting/rsslisting.h | 55 |
1 files changed, 55 insertions, 0 deletions
diff --git a/examples/corelib/serialization/rsslisting/rsslisting.h b/examples/corelib/serialization/rsslisting/rsslisting.h new file mode 100644 index 0000000000..81c655f677 --- /dev/null +++ b/examples/corelib/serialization/rsslisting/rsslisting.h @@ -0,0 +1,55 @@ +// Copyright (C) 2016 The Qt Company Ltd. +// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause + +#ifndef RSSLISTING_H +#define RSSLISTING_H + +#include <QNetworkAccessManager> +#include <QNetworkReply> +#include <QWidget> +#include <QBuffer> +#include <QXmlStreamReader> +#include <QUrl> + + +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 + |