Mercurial > minori
annotate include/gui/widgets/poster.h @ 412:05aed03e0111
poster: silence warnings under newer Qt
this is a better impl anyway
| author | Paper <paper@tflc.us> |
|---|---|
| date | Sat, 25 Jul 2026 14:33:03 -0400 |
| parents | 5912dafc6e28 |
| children |
| rev | line source |
|---|---|
|
301
b1f625b0227c
*: convert all files CRLF -> LF
Paper <paper@paper.us.eu.org>
parents:
295
diff
changeset
|
1 #ifndef MINORI_GUI_WIDGETS_POSTER_H_ |
|
b1f625b0227c
*: convert all files CRLF -> LF
Paper <paper@paper.us.eu.org>
parents:
295
diff
changeset
|
2 #define MINORI_GUI_WIDGETS_POSTER_H_ |
|
b1f625b0227c
*: convert all files CRLF -> LF
Paper <paper@paper.us.eu.org>
parents:
295
diff
changeset
|
3 #include <QFrame> |
|
b1f625b0227c
*: convert all files CRLF -> LF
Paper <paper@paper.us.eu.org>
parents:
295
diff
changeset
|
4 #include <QImage> |
|
b1f625b0227c
*: convert all files CRLF -> LF
Paper <paper@paper.us.eu.org>
parents:
295
diff
changeset
|
5 |
|
b1f625b0227c
*: convert all files CRLF -> LF
Paper <paper@paper.us.eu.org>
parents:
295
diff
changeset
|
6 #include "gui/widgets/clickable_label.h" |
|
b1f625b0227c
*: convert all files CRLF -> LF
Paper <paper@paper.us.eu.org>
parents:
295
diff
changeset
|
7 #include "core/http.h" |
|
b1f625b0227c
*: convert all files CRLF -> LF
Paper <paper@paper.us.eu.org>
parents:
295
diff
changeset
|
8 |
|
b1f625b0227c
*: convert all files CRLF -> LF
Paper <paper@paper.us.eu.org>
parents:
295
diff
changeset
|
9 namespace Anime { |
|
b1f625b0227c
*: convert all files CRLF -> LF
Paper <paper@paper.us.eu.org>
parents:
295
diff
changeset
|
10 class Anime; |
|
b1f625b0227c
*: convert all files CRLF -> LF
Paper <paper@paper.us.eu.org>
parents:
295
diff
changeset
|
11 } |
|
b1f625b0227c
*: convert all files CRLF -> LF
Paper <paper@paper.us.eu.org>
parents:
295
diff
changeset
|
12 |
| 378 | 13 class GetPosterThread final : public QThread { |
| 14 /* :') */ | |
| 15 Q_OBJECT | |
| 16 public: | |
| 17 GetPosterThread(QObject *parent); | |
| 18 void SetId(int id); | |
| 19 virtual void run() override; | |
| 20 | |
| 21 /* Or PvP boss */ | |
| 22 signals: | |
| 23 void Finished(const QImage &img); | |
| 24 | |
| 25 private: | |
| 26 int id_ = 0; | |
| 27 }; | |
| 28 | |
|
301
b1f625b0227c
*: convert all files CRLF -> LF
Paper <paper@paper.us.eu.org>
parents:
295
diff
changeset
|
29 class Poster final : public QFrame { |
|
b1f625b0227c
*: convert all files CRLF -> LF
Paper <paper@paper.us.eu.org>
parents:
295
diff
changeset
|
30 Q_OBJECT |
|
b1f625b0227c
*: convert all files CRLF -> LF
Paper <paper@paper.us.eu.org>
parents:
295
diff
changeset
|
31 |
|
b1f625b0227c
*: convert all files CRLF -> LF
Paper <paper@paper.us.eu.org>
parents:
295
diff
changeset
|
32 public: |
|
b1f625b0227c
*: convert all files CRLF -> LF
Paper <paper@paper.us.eu.org>
parents:
295
diff
changeset
|
33 Poster(QWidget* parent = nullptr); |
|
b1f625b0227c
*: convert all files CRLF -> LF
Paper <paper@paper.us.eu.org>
parents:
295
diff
changeset
|
34 Poster(const Anime::Anime& anime, QWidget* parent = nullptr); |
|
b1f625b0227c
*: convert all files CRLF -> LF
Paper <paper@paper.us.eu.org>
parents:
295
diff
changeset
|
35 ~Poster(); |
|
b1f625b0227c
*: convert all files CRLF -> LF
Paper <paper@paper.us.eu.org>
parents:
295
diff
changeset
|
36 void SetAnime(const Anime::Anime& anime); |
|
b1f625b0227c
*: convert all files CRLF -> LF
Paper <paper@paper.us.eu.org>
parents:
295
diff
changeset
|
37 void SetClickable(bool clickable); |
|
b1f625b0227c
*: convert all files CRLF -> LF
Paper <paper@paper.us.eu.org>
parents:
295
diff
changeset
|
38 |
|
348
6b0768158dcd
text: redesign almost every widget
Paper <paper@paper.us.eu.org>
parents:
301
diff
changeset
|
39 bool hasHeightForWidth(void) const override; |
|
6b0768158dcd
text: redesign almost every widget
Paper <paper@paper.us.eu.org>
parents:
301
diff
changeset
|
40 int heightForWidth(int w) const override; |
|
6b0768158dcd
text: redesign almost every widget
Paper <paper@paper.us.eu.org>
parents:
301
diff
changeset
|
41 |
|
301
b1f625b0227c
*: convert all files CRLF -> LF
Paper <paper@paper.us.eu.org>
parents:
295
diff
changeset
|
42 protected: |
|
b1f625b0227c
*: convert all files CRLF -> LF
Paper <paper@paper.us.eu.org>
parents:
295
diff
changeset
|
43 void showEvent(QShowEvent*) override; |
|
b1f625b0227c
*: convert all files CRLF -> LF
Paper <paper@paper.us.eu.org>
parents:
295
diff
changeset
|
44 void resizeEvent(QResizeEvent*) override; |
| 378 | 45 void ImageDownloadFinished(const QImage& img); |
|
301
b1f625b0227c
*: convert all files CRLF -> LF
Paper <paper@paper.us.eu.org>
parents:
295
diff
changeset
|
46 void RenderToLabel(); |
|
b1f625b0227c
*: convert all files CRLF -> LF
Paper <paper@paper.us.eu.org>
parents:
295
diff
changeset
|
47 void DownloadPoster(); |
|
412
05aed03e0111
poster: silence warnings under newer Qt
Paper <paper@tflc.us>
parents:
378
diff
changeset
|
48 void OpenServiceUrl(); |
|
301
b1f625b0227c
*: convert all files CRLF -> LF
Paper <paper@paper.us.eu.org>
parents:
295
diff
changeset
|
49 |
|
348
6b0768158dcd
text: redesign almost every widget
Paper <paper@paper.us.eu.org>
parents:
301
diff
changeset
|
50 QSize sizeHint() const override; |
|
6b0768158dcd
text: redesign almost every widget
Paper <paper@paper.us.eu.org>
parents:
301
diff
changeset
|
51 QSize minimumSizeHint() const override; |
|
6b0768158dcd
text: redesign almost every widget
Paper <paper@paper.us.eu.org>
parents:
301
diff
changeset
|
52 |
|
301
b1f625b0227c
*: convert all files CRLF -> LF
Paper <paper@paper.us.eu.org>
parents:
295
diff
changeset
|
53 private: |
|
b1f625b0227c
*: convert all files CRLF -> LF
Paper <paper@paper.us.eu.org>
parents:
295
diff
changeset
|
54 /* stored as a pointer to prevent blocking */ |
| 378 | 55 GetPosterThread* get_thread_; |
|
301
b1f625b0227c
*: convert all files CRLF -> LF
Paper <paper@paper.us.eu.org>
parents:
295
diff
changeset
|
56 |
|
b1f625b0227c
*: convert all files CRLF -> LF
Paper <paper@paper.us.eu.org>
parents:
295
diff
changeset
|
57 QImage img_; |
|
b1f625b0227c
*: convert all files CRLF -> LF
Paper <paper@paper.us.eu.org>
parents:
295
diff
changeset
|
58 QString service_url_; |
|
b1f625b0227c
*: convert all files CRLF -> LF
Paper <paper@paper.us.eu.org>
parents:
295
diff
changeset
|
59 ClickableLabel label_; |
| 378 | 60 int id_; |
|
301
b1f625b0227c
*: convert all files CRLF -> LF
Paper <paper@paper.us.eu.org>
parents:
295
diff
changeset
|
61 |
|
b1f625b0227c
*: convert all files CRLF -> LF
Paper <paper@paper.us.eu.org>
parents:
295
diff
changeset
|
62 bool clickable_ = true; |
|
b1f625b0227c
*: convert all files CRLF -> LF
Paper <paper@paper.us.eu.org>
parents:
295
diff
changeset
|
63 bool need_refresh_ = false; |
|
b1f625b0227c
*: convert all files CRLF -> LF
Paper <paper@paper.us.eu.org>
parents:
295
diff
changeset
|
64 }; |
|
b1f625b0227c
*: convert all files CRLF -> LF
Paper <paper@paper.us.eu.org>
parents:
295
diff
changeset
|
65 |
|
b1f625b0227c
*: convert all files CRLF -> LF
Paper <paper@paper.us.eu.org>
parents:
295
diff
changeset
|
66 #endif // MINORI_GUI_WIDGETS_POSTER_H_ |
