Mercurial > minori
comparison include/gui/pages/anime_list.h @ 307:8769c5d50b06
pages/anime_list: don't call GUI functions in a non-GUI thread
| author | Paper <paper@paper.us.eu.org> |
|---|---|
| date | Sun, 19 May 2024 18:25:14 -0400 |
| parents | 9a88e1725fd2 |
| children | 1b5c04268d6a |
comparison
equal
deleted
inserted
replaced
| 306:f4538a4c91ba | 307:8769c5d50b06 |
|---|---|
| 13 class QTreeView; | 13 class QTreeView; |
| 14 class QTabBar; | 14 class QTabBar; |
| 15 class AnimeListPage; | 15 class AnimeListPage; |
| 16 | 16 |
| 17 class AnimeListPageUpdateEntryThread final : public QThread { | 17 class AnimeListPageUpdateEntryThread final : public QThread { |
| 18 Q_OBJECT | |
| 19 | |
| 18 public: | 20 public: |
| 19 AnimeListPageUpdateEntryThread(AnimeListPage* parent); | 21 AnimeListPageUpdateEntryThread(AnimeListPage* parent); |
| 20 | 22 |
| 21 void AddToQueue(int id); | 23 void AddToQueue(int id); |
| 24 | |
| 25 signals: | |
| 26 void NeedRefresh(); | |
| 22 | 27 |
| 23 protected: | 28 protected: |
| 24 void run() override; | 29 void run() override; |
| 25 | 30 |
| 26 private: | 31 private: |
| 71 private: | 76 private: |
| 72 Anime::ListStatus status; | 77 Anime::ListStatus status; |
| 73 std::vector<Anime::Anime> list; | 78 std::vector<Anime::Anime> list; |
| 74 }; | 79 }; |
| 75 | 80 |
| 76 /* todo: rename these to "page" or something more | |
| 77 sensible than "widget" */ | |
| 78 class AnimeListPage final : public QWidget { | 81 class AnimeListPage final : public QWidget { |
| 79 Q_OBJECT | 82 Q_OBJECT |
| 80 | 83 |
| 81 public: | 84 public: |
| 82 AnimeListPage(QWidget* parent = nullptr); | 85 AnimeListPage(QWidget* parent = nullptr); |
| 86 | |
| 87 public slots: | |
| 83 void Refresh(); | 88 void Refresh(); |
| 84 | 89 |
| 85 protected: | 90 protected: |
| 86 void paintEvent(QPaintEvent*) override; | 91 void paintEvent(QPaintEvent*) override; |
| 87 void InitStyle(QStyleOptionTabWidgetFrame* option) const; | 92 void InitStyle(QStyleOptionTabWidgetFrame* option) const; |
