diff src/gui/widgets/anime_button.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 f81bed4e04ac
children
line wrap: on
line diff
--- a/src/gui/widgets/anime_button.cc	Fri Jul 25 10:16:02 2025 -0400
+++ b/src/gui/widgets/anime_button.cc	Fri Jul 25 10:22:04 2025 -0400
@@ -14,7 +14,10 @@
 
 #include <iostream>
 
-/* This widget is only used on the Seasons page. */
+/* This widget is only used on the Seasons page.
+ *
+ * FIXME: If the synopsis is too long, it makes this widget look
+ * totally fucked. */
 
 /***********************************\
 *|---------| Title                  *
@@ -28,30 +31,31 @@
 *|_________| Synopsis               *
 \***********************************/
 
-AnimeButton::AnimeButton(QWidget* parent) : QFrame(parent) {
+AnimeButton::AnimeButton(QWidget *parent) : QFrame(parent)
+{
 	setFrameShadow(QFrame::Plain);
 	setFrameShape(QFrame::Box);
 
-	QHBoxLayout* ly = new QHBoxLayout(this);
+	QHBoxLayout *ly = new QHBoxLayout(this);
 
 	_poster.SetClickable(false);
 	ly->addWidget(&_poster, 1, Qt::AlignTop);
 
 	const std::vector<std::pair<std::string, std::string>> imap = {
-		{Strings::Translate("Aired:"), ""},
-		{Strings::Translate("Episodes:"), ""},
-		{Strings::Translate("Genres:"), ""},
-		{Strings::Translate("Producers:"), ""},
-		{Strings::Translate("Score:"), ""},
-		{Strings::Translate("Popularity:"), ""},
+	    {Strings::Translate("Aired:"),      ""},
+        {Strings::Translate("Episodes:"),   ""},
+	    {Strings::Translate("Genres:"),     ""},
+        {Strings::Translate("Producers:"),  ""},
+	    {Strings::Translate("Score:"),      ""},
+        {Strings::Translate("Popularity:"), ""},
 	};
 
 	_info.SetData(imap);
 
 	{
-		QWidget* misc_section = new QWidget(this);
+		QWidget *misc_section = new QWidget(this);
 
-		QVBoxLayout* misc_layout = new QVBoxLayout(misc_section);
+		QVBoxLayout *misc_layout = new QVBoxLayout(misc_section);
 		misc_layout->setContentsMargins(0, 0, 0, 0);
 
 		_title.setAutoFillBackground(true);
@@ -71,9 +75,9 @@
 		misc_layout->addWidget(&_info);
 
 		{
-			QWidget* dummy = new QWidget(misc_section);
+			QWidget *dummy = new QWidget(misc_section);
 			dummy->setContentsMargins(4, 0, 4, 0);
-			QVBoxLayout* dummy_layout = new QVBoxLayout(dummy);
+			QVBoxLayout *dummy_layout = new QVBoxLayout(dummy);
 			dummy_layout->setSpacing(0);
 			dummy_layout->setContentsMargins(0, 0, 0, 0);
 
@@ -86,23 +90,26 @@
 	}
 }
 
-AnimeButton::AnimeButton(const Anime::Anime& anime, QWidget* parent) : AnimeButton(parent) {
+AnimeButton::AnimeButton(const Anime::Anime &anime, QWidget *parent) : AnimeButton(parent)
+{
 	SetAnime(anime);
 }
 
-void AnimeButton::SetAnime(const Anime::Anime& anime) {
+void AnimeButton::SetAnime(const Anime::Anime &anime)
+{
 	_poster.SetAnime(anime);
 	_title.setText(Strings::ToQString(anime.GetUserPreferredTitle()));
 
-	const QLocale& locale = session.config.locale.GetLocale();
+	const QLocale &locale = session.config.locale.GetLocale();
 
 	const std::vector<std::pair<std::string, std::string>> imap = {
-		{Strings::Translate("Aired:"), Strings::ToUtf8String(locale.toString(anime.GetStartedDate().GetAsQDate(), "dd MMM yyyy"))},
-		{Strings::Translate("Episodes:"), Strings::ToUtf8String(anime.GetEpisodes())},
-		{Strings::Translate("Genres:"), Strings::Implode(anime.GetGenres(), ", ")},
-		{Strings::Translate("Producers:"), "..."},
-		{Strings::Translate("Score:"), Strings::ToUtf8String(anime.GetAudienceScore()) + "%"},
-		{Strings::Translate("Popularity:"), "..."},
+	    {Strings::Translate("Aired:"),
+	     Strings::ToUtf8String(locale.toString(anime.GetStartedDate().GetAsQDate(), "dd MMM yyyy"))},
+	    {Strings::Translate("Episodes:"), Strings::ToUtf8String(anime.GetEpisodes())},
+	    {Strings::Translate("Genres:"), Strings::Implode(anime.GetGenres(), ", ")},
+	    {Strings::Translate("Producers:"), "..."},
+	    {Strings::Translate("Score:"), Strings::ToUtf8String(anime.GetAudienceScore()) + "%"},
+	    {Strings::Translate("Popularity:"), "..."},
 	};
 
 	_info.SetData(imap);
@@ -110,10 +117,12 @@
 	_synopsis.SetText(anime.GetSynopsis());
 }
 
-bool AnimeButton::hasHeightForWidth() const {
+bool AnimeButton::hasHeightForWidth() const
+{
 	return true;
 }
 
-int AnimeButton::heightForWidth(int w) const {
+int AnimeButton::heightForWidth(int w) const
+{
 	return static_cast<int>(static_cast<double>(w) / 2.5);
 }