Mercurial > minori
comparison src/gui/pages/now_playing.cc @ 386:e89901683d72
now_playing: don't reset the timer every 5 seconds
ahaha
| author | Paper <paper@tflc.us> |
|---|---|
| date | Thu, 06 Nov 2025 08:59:44 -0500 |
| parents | 27c462bc7815 |
| children | 04a894e96355 |
comparison
equal
deleted
inserted
replaced
| 385:aa38b904de4f | 386:e89901683d72 |
|---|---|
| 42 QVBoxLayout *main_layout = new QVBoxLayout(&_main); | 42 QVBoxLayout *main_layout = new QVBoxLayout(&_main); |
| 43 main_layout->setContentsMargins(0, 0, 0, 0); | 43 main_layout->setContentsMargins(0, 0, 0, 0); |
| 44 | 44 |
| 45 main_layout->addWidget(&_title); | 45 main_layout->addWidget(&_title); |
| 46 | 46 |
| 47 _info.setSizePolicy(QSizePolicy::Preferred, QSizePolicy::Expanding); | 47 _info.setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Expanding); |
| 48 _info.layout()->setContentsMargins(0, 0, 0, 0); | 48 _info.layout()->setContentsMargins(0, 0, 0, 0); |
| 49 main_layout->addWidget(&_info); | 49 main_layout->addWidget(&_info); |
| 50 | 50 |
| 51 /* "sidebar", includes... just the anime image :) */ | 51 /* "sidebar", includes... just the anime image :) */ |
| 52 QVBoxLayout *sidebar_layout = new QVBoxLayout(&_sidebar); | 52 QVBoxLayout *sidebar_layout = new QVBoxLayout(&_sidebar); |
| 70 int Playing::GetPlayingEpisode() | 70 int Playing::GetPlayingEpisode() |
| 71 { | 71 { |
| 72 return _episode; | 72 return _episode; |
| 73 } | 73 } |
| 74 | 74 |
| 75 void Playing::SetPlayingAnime(const Anime::Anime &anime, const anitomy::Elements &info) | 75 bool Playing::SetPlayingAnime(const Anime::Anime &anime, const anitomy::Elements &info) |
| 76 { | 76 { |
| 77 if (_id == anime.GetId() && | 77 if (_id == anime.GetId() && |
| 78 _episode == Strings::ToInt(Strings::ToUtf8String(info.get(anitomy::kElementEpisodeNumber)))) | 78 _episode == Strings::ToInt(Strings::ToUtf8String(info.get(anitomy::kElementEpisodeNumber)))) |
| 79 return; | 79 return false; |
| 80 _id = anime.GetId(); | 80 _id = anime.GetId(); |
| 81 _episode = Strings::ToInt(Strings::ToUtf8String(info.get(anitomy::kElementEpisodeNumber))); | 81 _episode = Strings::ToInt(Strings::ToUtf8String(info.get(anitomy::kElementEpisodeNumber))); |
| 82 _title.SetText(anime.GetUserPreferredTitle()); | 82 _title.SetText(anime.GetUserPreferredTitle()); |
| 83 _info.SetAnime(anime); | 83 _info.SetAnime(anime); |
| 84 _poster.SetAnime(anime); | 84 _poster.SetAnime(anime); |
| 85 | 85 |
| 86 updateGeometry(); | 86 updateGeometry(); |
| 87 return true; | |
| 87 } | 88 } |
| 88 | 89 |
| 89 } // namespace NowPlayingPages | 90 } // namespace NowPlayingPages |
| 90 | 91 |
| 91 NowPlayingPage::NowPlayingPage(QWidget *parent) : QFrame(parent) | 92 NowPlayingPage::NowPlayingPage(QWidget *parent) : QFrame(parent) |
| 130 return playing_.GetPlayingAnime(); | 131 return playing_.GetPlayingAnime(); |
| 131 } | 132 } |
| 132 | 133 |
| 133 void NowPlayingPage::SetPlaying(const Anime::Anime &anime, const anitomy::Elements &info) | 134 void NowPlayingPage::SetPlaying(const Anime::Anime &anime, const anitomy::Elements &info) |
| 134 { | 135 { |
| 135 playing_.SetPlayingAnime(anime, info); | 136 if (playing_.SetPlayingAnime(anime, info)) |
| 137 timer_ = session.uptime(); | |
| 138 | |
| 136 stack_.setCurrentIndex(static_cast<int>(Subpages::Playing)); | 139 stack_.setCurrentIndex(static_cast<int>(Subpages::Playing)); |
| 137 updateGeometry(); | 140 updateGeometry(); |
| 138 | |
| 139 timer_ = session.uptime(); | |
| 140 } | 141 } |
| 141 | 142 |
| 142 void NowPlayingPage::TimerDone(void) | 143 void NowPlayingPage::TimerDone(void) |
| 143 { | 144 { |
| 144 Anime::Anime &anime = Anime::db.items[playing_.GetPlayingAnime()]; | 145 Anime::Anime &anime = Anime::db.items[playing_.GetPlayingAnime()]; |
