view include/gui/widgets/anime_button.h @ 367:8d45d892be88 default tip

*: instead of pugixml, use Qt XML features this means we have one extra Qt dependency though...
author Paper <paper@tflc.us>
date Sun, 17 Nov 2024 22:55:47 -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_