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