view include/gui/widgets/anime_button.h @ 392:a72d6d7b3568

anime_info: don't need to wait on the thread, just disconnect eventually, we can cancel any outgoing requests, but it's kind of unnecessary
author Paper <paper@tflc.us>
date Fri, 07 Nov 2025 07:10:32 -0500
parents f81bed4e04ac
children
line wrap: on
line source

#ifndef MINORI_GUI_WIDGETS_ANIME_BUTTON_H_
#define MINORI_GUI_WIDGETS_ANIME_BUTTON_H_

#include <QFrame>
#include <QWidget>
#include <QLabel>

#include "gui/widgets/poster.h"
#include "gui/widgets/elided_label.h"
#include "gui/widgets/text.h"

namespace Anime {
class Anime;
}

class AnimeButton final : public QFrame {
	Q_OBJECT

public:
	AnimeButton(QWidget* parent = nullptr);
	AnimeButton(const Anime::Anime& anime, QWidget* parent = nullptr);
	void SetAnime(const Anime::Anime& anime);

	bool hasHeightForWidth() const override;
	int heightForWidth(int w) const override;

protected:
	Poster _poster;
	QLabel _title;
	TextWidgets::LabelledParagraph _info;
	TextWidgets::Paragraph _synopsis;
};

#endif // MINORI_GUI_WIDGETS_ANIME_BUTTON_H_