afcfed29ae95cd0699acf65dd4a6d441c428922f
[tlb/tlb-podcasts.git] / Shows.h
1 #ifndef _SHOWS_H_
2 #define _SHOWS_H_
3
4 #include "Show.h"
5
6 class Shows : public QObject
7 {
8 Q_OBJECT
9
10 Q_PROPERTY(QString selectedName READ selectedName WRITE setSelectedName NOTIFY selectedNameChanged)
11 Q_PROPERTY(QString selected READ selected WRITE setSelected NOTIFY selectedChanged)
12 Q_PROPERTY(QObject *current READ current NOTIFY currentChanged)
13
14 public:
15 Shows(QString dataDirectory, QObject* parent);
16 virtual ~Shows();
17
18 QString selectedName(void);
19 QString selected(void);
20 QObject *current(void);
21
22 Q_INVOKABLE void refreshAllFeeds(void);
23
24 public slots:
25 void setSelectedName(const QString &name);
26 void setSelected(const QString& rssFeedUrl);
27 void refreshSelected(void);
28
29 signals:
30 void selectedNameChanged(QString name);
31 void selectedChanged(QString rssFeedUrl);
32 void currentChanged(QObject *current);
33
34 private:
35 void processByteArray(const QByteArray& ba);
36 void checkSetCurrent(const QString& normalSelected);
37
38 QString m_dataDirectory;
39 QString m_selectedName;
40 QString m_selectedFeed;
41 QNetworkAccessManager *m_netMgr;
42 QObject *m_current;
43 };
44
45 #endif // _SHOWS_H_