Mercurial > minori
comparison src/gui/pages/now_playing.cpp @ 69:27a19dd6cba1
*: fix up some stuff
settings: due to my own incompetence OnOK caused the entire program to crash,
now that's fixed :)
author | Paper <mrpapersonic@gmail.com> |
---|---|
date | Tue, 03 Oct 2023 03:38:25 -0400 |
parents | 2417121d894e |
children | c489dd4434af |
comparison
equal
deleted
inserted
replaced
68:2417121d894e | 69:27a19dd6cba1 |
---|---|
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); |
25 int GetPlayingAnime(); | |
25 | 26 |
26 private: | 27 private: |
28 int _id = 0; | |
27 std::unique_ptr<AnimeInfoWidget> info = nullptr; | 29 std::unique_ptr<AnimeInfoWidget> info = nullptr; |
28 }; | 30 }; |
29 | 31 |
30 Default::Default(QWidget* parent) : QWidget(parent) { | 32 Default::Default(QWidget* parent) : QWidget(parent) { |
31 QVBoxLayout* layout = new QVBoxLayout(this); | 33 QVBoxLayout* layout = new QVBoxLayout(this); |
38 QHBoxLayout* layout = new QHBoxLayout(this); | 40 QHBoxLayout* layout = new QHBoxLayout(this); |
39 | 41 |
40 layout->setContentsMargins(0, 0, 0, 0); | 42 layout->setContentsMargins(0, 0, 0, 0); |
41 } | 43 } |
42 | 44 |
45 int Playing::GetPlayingAnime() { | |
46 return _id; | |
47 } | |
48 | |
43 void Playing::SetPlayingAnime(int id) { | 49 void Playing::SetPlayingAnime(int id) { |
44 if (info.get()) | 50 if (info.get()) |
45 layout()->removeWidget(info.get()); | 51 layout()->removeWidget(info.get()); |
46 info.reset(new AnimeInfoWidget(Anime::db.items[id])); | 52 if (Anime::db.items.find(id) != Anime::db.items.end()) { |
47 layout()->addWidget(info.get()); | 53 info.reset(new AnimeInfoWidget(Anime::db.items[_id = id])); |
54 layout()->addWidget(info.get()); | |
55 } | |
48 } | 56 } |
49 | 57 |
50 } // namespace NowPlayingPages | 58 } // namespace NowPlayingPages |
51 | 59 |
52 NowPlayingPage::NowPlayingPage(QWidget* parent) : QFrame(parent) { | 60 NowPlayingPage::NowPlayingPage(QWidget* parent) : QFrame(parent) { |
73 | 81 |
74 void NowPlayingPage::SetDefault() { | 82 void NowPlayingPage::SetDefault() { |
75 stack->setCurrentIndex(0); | 83 stack->setCurrentIndex(0); |
76 } | 84 } |
77 | 85 |
86 int NowPlayingPage::GetPlayingId() { | |
87 return reinterpret_cast<NowPlayingPages::Playing*>(stack->widget(1))->GetPlayingAnime(); | |
88 } | |
89 | |
78 void NowPlayingPage::SetPlaying(int id) { | 90 void NowPlayingPage::SetPlaying(int id) { |
79 reinterpret_cast<NowPlayingPages::Playing*>(stack->widget(1))->SetPlayingAnime(id); | 91 reinterpret_cast<NowPlayingPages::Playing*>(stack->widget(1))->SetPlayingAnime(id); |
80 stack->setCurrentIndex(1); | 92 stack->setCurrentIndex(1); |
81 } | 93 } |
82 | 94 |