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; | 
