File indexing completed on 2024-05-12 15:50:10

0001 #ifndef VIEWCONTROLLER_H
0002 #define VIEWCONTROLLER_H
0003 
0004 #include <QByteArray>
0005 #include <QObject>
0006 #include <QUrl>
0007 
0008 class MainWidget;
0009 class QDomDocument;
0010 
0011 class ViewController : public QObject
0012 {
0013     Q_OBJECT
0014 public:
0015     explicit ViewController(MainWidget *mainwidget);
0016     ~ViewController() override;
0017 
0018 Q_SIGNALS:
0019     void setImage(QImage image);
0020     void setCaption(QString text);
0021     void setStatus(QString text);
0022 
0023 private:
0024     void loadPlaceholderFromResource();
0025     void loadPostFromTumblr();
0026     void loadImageFromTumblr();
0027 
0028     QByteArray download(const QUrl &url);
0029     void error(const QString &message);
0030     void showResourceImage(const char *file);
0031     QString attributeTextFor(const QDomDocument &doc, const char *tag, const char *attribute);
0032 
0033     QUrl m_imageUrl;
0034     const QString m_apiPostUrl;
0035     QString m_fullPostUrl;
0036 };
0037 
0038 #endif // VIEWCONTROLLER_H