Mercurial > minori
diff src/gui/pages/statistics.cc @ 370:ea3a74ed2ef9
*: hm, last commit wasn't quite finished?
author | Paper <paper@tflc.us> |
---|---|
date | Fri, 25 Jul 2025 10:22:04 -0400 |
parents | 6b0768158dcd |
children |
line wrap: on
line diff
--- a/src/gui/pages/statistics.cc Fri Jul 25 10:16:02 2025 -0400 +++ b/src/gui/pages/statistics.cc Fri Jul 25 10:22:04 2025 -0400 @@ -17,11 +17,11 @@ #include <cmath> #include <sstream> -StatisticsPage::StatisticsPage(QWidget* parent) - : QFrame(parent) { +StatisticsPage::StatisticsPage(QWidget *parent) : QFrame(parent) +{ setBackgroundRole(QPalette::Base); - QVBoxLayout* layout = new QVBoxLayout(this); + QVBoxLayout *layout = new QVBoxLayout(this); setFrameShape(QFrame::Box); setFrameShadow(QFrame::Sunken); @@ -29,12 +29,12 @@ setAutoFillBackground(true); const std::vector<std::pair<std::string, std::string>> al_data_template = { - {Strings::Translate("Anime count:"), ""}, - {Strings::Translate("Episode count:"), ""}, - {Strings::Translate("Time spent watching:"), ""}, - {Strings::Translate("Time to complete:"), ""}, - {Strings::Translate("Average score:"), ""}, - {Strings::Translate("Score deviation:"), ""}, + {Strings::Translate("Anime count:"), ""}, + {Strings::Translate("Episode count:"), ""}, + {Strings::Translate("Time spent watching:"), ""}, + {Strings::Translate("Time to complete:"), ""}, + {Strings::Translate("Average score:"), ""}, + {Strings::Translate("Score deviation:"), ""}, }; _anime_list.GetHeader().SetText(Strings::Translate("Anime List")); @@ -43,17 +43,17 @@ layout->addWidget(&_anime_list); { - QWidget* score_dist_widget = new QWidget(this); - QVBoxLayout* score_dist_layout = new QVBoxLayout(score_dist_widget); + QWidget *score_dist_widget = new QWidget(this); + QVBoxLayout *score_dist_layout = new QVBoxLayout(score_dist_widget); - TextWidgets::Header* hdr = new TextWidgets::Header(score_dist_widget); + TextWidgets::Header *hdr = new TextWidgets::Header(score_dist_widget); hdr->SetText(Strings::Translate("Score distribution")); score_dist_layout->addWidget(hdr); /* Ew */ { - QWidget* score_graph_parent = new QWidget(score_dist_widget); - QVBoxLayout* score_parent_layout = new QVBoxLayout(score_graph_parent); + QWidget *score_graph_parent = new QWidget(score_dist_widget); + QVBoxLayout *score_parent_layout = new QVBoxLayout(score_graph_parent); score_parent_layout->addWidget(&_score_distribution_graph); @@ -69,8 +69,8 @@ } const std::vector<std::pair<std::string, std::string>> app_data_template = { - {Strings::Translate("Uptime:"), ""}, - {Strings::Translate("Requests made:"), ""}, + {Strings::Translate("Uptime:"), ""}, + {Strings::Translate("Requests made:"), ""}, }; _application.GetHeader().SetText(Strings::Translate("Minori")); @@ -80,7 +80,7 @@ layout->addStretch(); - QTimer* timer = new QTimer(this); + QTimer *timer = new QTimer(this); connect(timer, &QTimer::timeout, this, [this] { if (isVisible()) UpdateStatistics(); @@ -88,26 +88,31 @@ timer->start(1000); // update statistics every second } -void StatisticsPage::showEvent(QShowEvent*) { +void StatisticsPage::showEvent(QShowEvent *) +{ UpdateStatistics(); } -inline int GetTotalWithScore(const int score) { +inline int GetTotalWithScore(const int score) +{ int count = 0; - for (const auto& item : Anime::db.items) + for (const auto &item : Anime::db.items) if (item.second.IsInUserList() && item.second.GetUserScore() == score) count++; return count; } -void StatisticsPage::UpdateStatistics() { +void StatisticsPage::UpdateStatistics() +{ const std::vector<std::pair<std::string, std::string>> al_data = { - {Strings::Translate("Anime count:"), Strings::ToUtf8String(Anime::db.GetTotalAnimeAmount())}, - {Strings::Translate("Episode count:"), Strings::ToUtf8String(Anime::db.GetTotalEpisodeAmount())}, - {Strings::Translate("Time spent watching:"), Time::GetSecondsAsAbsoluteString(Time::Units::Minutes, Anime::db.GetTotalWatchedAmount(), 60.0)}, - {Strings::Translate("Time to complete:"), Time::GetSecondsAsAbsoluteString(Time::Units::Minutes, Anime::db.GetTotalPlannedAmount(), 60.0)}, - {Strings::Translate("Average score:"), Strings::ToUtf8String(Anime::db.GetAverageScore())}, - {Strings::Translate("Score deviation:"), Strings::ToUtf8String(Anime::db.GetScoreDeviation())}, + {Strings::Translate("Anime count:"), Strings::ToUtf8String(Anime::db.GetTotalAnimeAmount())}, + {Strings::Translate("Episode count:"), Strings::ToUtf8String(Anime::db.GetTotalEpisodeAmount())}, + {Strings::Translate("Time spent watching:"), + Time::GetSecondsAsAbsoluteString(Time::Units::Minutes, Anime::db.GetTotalWatchedAmount(), 60.0)}, + {Strings::Translate("Time to complete:"), + Time::GetSecondsAsAbsoluteString(Time::Units::Minutes, Anime::db.GetTotalPlannedAmount(), 60.0)}, + {Strings::Translate("Average score:"), Strings::ToUtf8String(Anime::db.GetAverageScore())}, + {Strings::Translate("Score deviation:"), Strings::ToUtf8String(Anime::db.GetScoreDeviation())}, }; _anime_list.GetContent().SetData(al_data); @@ -118,8 +123,9 @@ /* Application */ const std::vector<std::pair<std::string, std::string>> app_data_template = { - {Strings::Translate("Uptime:"), Time::GetSecondsAsAbsoluteString(Time::Units::Seconds, session.uptime() / 1000)}, - {Strings::Translate("Requests made:"), Strings::ToUtf8String(session.GetRequests())}, + {Strings::Translate("Uptime:"), + Time::GetSecondsAsAbsoluteString(Time::Units::Seconds, session.uptime() / 1000)}, + {Strings::Translate("Requests made:"), Strings::ToUtf8String(session.GetRequests())}, }; _application.GetContent().SetData(app_data_template);