Mercurial > minori
annotate include/gui/widgets/poster.h @ 296:b2a4358da16c
scripts/win32: CRLF -> LF
this breaks win32 build scripts
| author | Paper <paper@paper.us.eu.org> |
|---|---|
| date | Mon, 13 May 2024 02:48:39 -0400 |
| parents | b82841e76e79 |
| children | b1f625b0227c |
| rev | line source |
|---|---|
|
261
3ec7804abf17
include: make header guards more sane
Paper <paper@paper.us.eu.org>
parents:
254
diff
changeset
|
1 #ifndef MINORI_GUI_WIDGETS_POSTER_H_ |
|
3ec7804abf17
include: make header guards more sane
Paper <paper@paper.us.eu.org>
parents:
254
diff
changeset
|
2 #define MINORI_GUI_WIDGETS_POSTER_H_ |
| 66 | 3 #include <QFrame> |
| 4 #include <QImage> | |
| 5 | |
|
273
f31305b9f60a
*: various code safety changes
Paper <paper@paper.us.eu.org>
parents:
261
diff
changeset
|
6 #include "gui/widgets/clickable_label.h" |
| 291 | 7 #include "core/http.h" |
|
273
f31305b9f60a
*: various code safety changes
Paper <paper@paper.us.eu.org>
parents:
261
diff
changeset
|
8 |
| 83 | 9 namespace Anime { |
| 10 class Anime; | |
| 11 } | |
| 66 | 12 |
|
95
8043152ef9d4
include: set classes as final where appropriate
Paper <mrpapersonic@gmail.com>
parents:
83
diff
changeset
|
13 class Poster final : public QFrame { |
|
254
d14f8e0e40c3
[UNFINISHED] *: update anime button
Paper <paper@paper.us.eu.org>
parents:
95
diff
changeset
|
14 Q_OBJECT |
| 66 | 15 |
|
254
d14f8e0e40c3
[UNFINISHED] *: update anime button
Paper <paper@paper.us.eu.org>
parents:
95
diff
changeset
|
16 public: |
|
d14f8e0e40c3
[UNFINISHED] *: update anime button
Paper <paper@paper.us.eu.org>
parents:
95
diff
changeset
|
17 Poster(QWidget* parent = nullptr); |
|
d14f8e0e40c3
[UNFINISHED] *: update anime button
Paper <paper@paper.us.eu.org>
parents:
95
diff
changeset
|
18 Poster(const Anime::Anime& anime, QWidget* parent = nullptr); |
| 295 | 19 ~Poster(); |
|
254
d14f8e0e40c3
[UNFINISHED] *: update anime button
Paper <paper@paper.us.eu.org>
parents:
95
diff
changeset
|
20 void SetAnime(const Anime::Anime& anime); |
|
d14f8e0e40c3
[UNFINISHED] *: update anime button
Paper <paper@paper.us.eu.org>
parents:
95
diff
changeset
|
21 void SetClickable(bool clickable); |
| 66 | 22 |
|
254
d14f8e0e40c3
[UNFINISHED] *: update anime button
Paper <paper@paper.us.eu.org>
parents:
95
diff
changeset
|
23 protected: |
| 295 | 24 void showEvent(QShowEvent*) override; |
|
254
d14f8e0e40c3
[UNFINISHED] *: update anime button
Paper <paper@paper.us.eu.org>
parents:
95
diff
changeset
|
25 void resizeEvent(QResizeEvent*) override; |
|
d14f8e0e40c3
[UNFINISHED] *: update anime button
Paper <paper@paper.us.eu.org>
parents:
95
diff
changeset
|
26 void ImageDownloadFinished(const QByteArray& arr); |
|
d14f8e0e40c3
[UNFINISHED] *: update anime button
Paper <paper@paper.us.eu.org>
parents:
95
diff
changeset
|
27 void RenderToLabel(); |
| 295 | 28 void DownloadPoster(); |
| 66 | 29 |
|
254
d14f8e0e40c3
[UNFINISHED] *: update anime button
Paper <paper@paper.us.eu.org>
parents:
95
diff
changeset
|
30 private: |
| 295 | 31 /* stored as a pointer to prevent blocking */ |
| 32 HTTP::RequestThread* get_thread_; | |
| 291 | 33 |
|
273
f31305b9f60a
*: various code safety changes
Paper <paper@paper.us.eu.org>
parents:
261
diff
changeset
|
34 QImage img_; |
|
f31305b9f60a
*: various code safety changes
Paper <paper@paper.us.eu.org>
parents:
261
diff
changeset
|
35 QString service_url_; |
| 295 | 36 std::string poster_url_; |
|
273
f31305b9f60a
*: various code safety changes
Paper <paper@paper.us.eu.org>
parents:
261
diff
changeset
|
37 ClickableLabel label_; |
| 295 | 38 |
|
273
f31305b9f60a
*: various code safety changes
Paper <paper@paper.us.eu.org>
parents:
261
diff
changeset
|
39 bool clickable_ = true; |
| 295 | 40 bool need_refresh_ = false; |
| 66 | 41 }; |
| 42 | |
|
273
f31305b9f60a
*: various code safety changes
Paper <paper@paper.us.eu.org>
parents:
261
diff
changeset
|
43 #endif // MINORI_GUI_WIDGETS_POSTER_H_ |
