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()];