Mercurial > minori
annotate src/gui/widgets/anime_info.cc @ 102:b315f3759c56
*: big patch
1. use a wrapper for mINI that enables case sensitivity
   (personal preference)
2. rename dark_theme.cc to theme.cc and change it to be
   a class
3. include the "dep" folder so we don't have stupidity in
   json.h or ini.h
4. I think the graph was also tweaked a lot in this, nothing
   is constexpr and size is found at runtime...
| author | Paper <mrpapersonic@gmail.com> | 
|---|---|
| date | Fri, 03 Nov 2023 21:32:52 -0400 | 
| parents | d02fdf1d6708 | 
| 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: 
81diff
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: 
81diff
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: 
81diff
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" | 
