Mercurial > minori
annotate src/gui/widgets/anime_info.cc @ 83:d02fdf1d6708
*: huuuge update
1. make the now playing page function correctly
2. de-constructorfy many of our custom widgets,
allowing them to be changed on-the-fly from
the Now Playing page
3. ... :)
author | Paper <mrpapersonic@gmail.com> |
---|---|
date | Tue, 24 Oct 2023 22:01:02 -0400 |
parents | 8b65c417c225 |
children | 80f49f623d30 |
rev | line source |
---|---|
64 | 1 #include "gui/widgets/anime_info.h" |
2 #include "core/anime.h" | |
3 #include "core/strings.h" | |
4 #include "gui/translate/anime.h" | |
5 #include "gui/widgets/text.h" | |
6 #include <QHBoxLayout> | |
7 #include <QTextStream> | |
8 | |
80 | 9 AnimeInfoWidget::AnimeInfoWidget(QWidget* parent) : QWidget(parent) { |
64 | 10 QVBoxLayout* layout = new QVBoxLayout(this); |
11 | |
80 | 12 _title.reset(new TextWidgets::OneLineSection(tr("Alternative titles"), "", this)); |
13 layout->addWidget(_title.get()); | |
14 | |
82
8b65c417c225
*: fix old stuff, make video players and extensions constants
Paper <mrpapersonic@gmail.com>
parents:
81
diff
changeset
|
15 _details.reset(new TextWidgets::LabelledSection(tr("Details"), tr("Type:\nEpisodes:\nStatus:\nSeason:\nGenres:\nScore:"), "", this)); |
80 | 16 layout->addWidget(_details.get()); |
17 | |
82
8b65c417c225
*: fix old stuff, make video players and extensions constants
Paper <mrpapersonic@gmail.com>
parents:
81
diff
changeset
|
18 _synopsis.reset(new TextWidgets::SelectableSection(tr("Synopsis"), "", this)); |
80 | 19 _synopsis->GetParagraph()->setSizePolicy(QSizePolicy::Preferred, QSizePolicy::Expanding); |
20 layout->addWidget(_synopsis.get()); | |
21 } | |
22 | |
23 AnimeInfoWidget::AnimeInfoWidget(const Anime::Anime& anime, QWidget* parent) : AnimeInfoWidget(parent) { | |
24 SetAnime(anime); | |
25 } | |
26 | |
82
8b65c417c225
*: fix old stuff, make video players and extensions constants
Paper <mrpapersonic@gmail.com>
parents:
81
diff
changeset
|
27 void AnimeInfoWidget::SetAnime(const Anime::Anime& anime) { |
64 | 28 /* alt titles */ |
83 | 29 _title->GetLine()->SetText(Strings::ToQString(Strings::Implode(anime.GetTitleSynonyms(), ", "))); |
64 | 30 |
31 /* details */ | |
32 QString details_data; | |
33 QTextStream details_data_s(&details_data); | |
34 details_data_s << Translate::ToString(anime.GetFormat()).c_str() << "\n" | |
35 << anime.GetEpisodes() << "\n" | |
36 << Translate::ToString(anime.GetUserStatus()).c_str() << "\n" | |
37 << Translate::ToString(anime.GetSeason()).c_str() << " " << anime.GetAirDate().GetYear() << "\n" | |
38 << Strings::Implode(anime.GetGenres(), ", ").c_str() << "\n" | |
39 << anime.GetAudienceScore() << "%"; | |
83 | 40 _details->GetParagraph()->SetText(details_data); |
64 | 41 |
83 | 42 _synopsis->GetParagraph()->SetText(Strings::ToQString(anime.GetSynopsis())); |
43 | |
44 updateGeometry(); | |
64 | 45 } |
46 | |
47 #include "gui/widgets/moc_anime_info.cpp" |