comparison src/gui/pages/now_playing.cpp @ 79:c489dd4434af

*: what did I do again? I really forgot what I did here :)
author Paper <mrpapersonic@gmail.com>
date Thu, 12 Oct 2023 11:31:39 -0400
parents 27a19dd6cba1
children 825506f0e221
comparison
equal deleted inserted replaced
78:1ce00c1c8ddc 79:c489dd4434af
19 class Playing : public QWidget { 19 class Playing : public QWidget {
20 Q_OBJECT 20 Q_OBJECT
21 21
22 public: 22 public:
23 Playing(QWidget* parent = nullptr); 23 Playing(QWidget* parent = nullptr);
24 void SetPlayingAnime(int id); 24 void SetPlayingAnime(int id, int episode);
25 int GetPlayingAnime(); 25 int GetPlayingAnime();
26 26
27 private: 27 private:
28 int _id = 0; 28 int _id = 0;
29 int _episode = 0;
29 std::unique_ptr<AnimeInfoWidget> info = nullptr; 30 std::unique_ptr<AnimeInfoWidget> info = nullptr;
30 }; 31 };
31 32
32 Default::Default(QWidget* parent) : QWidget(parent) { 33 Default::Default(QWidget* parent) : QWidget(parent) {
33 QVBoxLayout* layout = new QVBoxLayout(this); 34 QVBoxLayout* layout = new QVBoxLayout(this);
44 45
45 int Playing::GetPlayingAnime() { 46 int Playing::GetPlayingAnime() {
46 return _id; 47 return _id;
47 } 48 }
48 49
49 void Playing::SetPlayingAnime(int id) { 50 void Playing::SetPlayingAnime(int id, int episodes) {
51 if (id == _id)
52 return;
50 if (info.get()) 53 if (info.get())
51 layout()->removeWidget(info.get()); 54 layout()->removeWidget(info.get());
52 if (Anime::db.items.find(id) != Anime::db.items.end()) { 55 if (Anime::db.items.find(id) != Anime::db.items.end()) {
53 info.reset(new AnimeInfoWidget(Anime::db.items[_id = id])); 56 info.reset(new AnimeInfoWidget(Anime::db.items[_id = id]));
54 layout()->addWidget(info.get()); 57 layout()->addWidget(info.get());
85 88
86 int NowPlayingPage::GetPlayingId() { 89 int NowPlayingPage::GetPlayingId() {
87 return reinterpret_cast<NowPlayingPages::Playing*>(stack->widget(1))->GetPlayingAnime(); 90 return reinterpret_cast<NowPlayingPages::Playing*>(stack->widget(1))->GetPlayingAnime();
88 } 91 }
89 92
90 void NowPlayingPage::SetPlaying(int id) { 93 void NowPlayingPage::SetPlaying(int id, int episodes) {
91 reinterpret_cast<NowPlayingPages::Playing*>(stack->widget(1))->SetPlayingAnime(id); 94 reinterpret_cast<NowPlayingPages::Playing*>(stack->widget(1))->SetPlayingAnime(id, episodes);
92 stack->setCurrentIndex(1); 95 stack->setCurrentIndex(1);
93 } 96 }
94 97
95 #include "gui/pages/moc_now_playing.cpp" 98 #include "gui/pages/moc_now_playing.cpp"
96 #include "now_playing.moc" 99 #include "now_playing.moc"