summaryrefslogtreecommitdiffstats
path: root/examples/corelib/serialization/rsslisting/rsslisting.h
diff options
context:
space:
mode:
Diffstat (limited to 'examples/corelib/serialization/rsslisting/rsslisting.h')
-rw-r--r--examples/corelib/serialization/rsslisting/rsslisting.h55
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
+