view include/gui/dialog/information.h @ 258:862d0d8619f6

*: HUUUGE changes animia has been renamed to animone, so instead of thinking of a health condition, you think of a beautiful flower :) I've also edited some of the code for animone, but I have no idea if it even works or not because I don't have a mac or windows machine lying around. whoops! ... anyway, all of the changes divergent from Anisthesia are now licensed under BSD. it's possible that I could even rewrite most of the code to where I don't even have to keep the MIT license, but that's thinking too far into the future I've been slacking off on implementing the anime seasons page, mostly out of laziness. I think I'd have to create another db file specifically for the seasons anyway, this code is being pushed *primarily* because the hard drive it's on is failing! yay :)
author Paper <paper@paper.us.eu.org>
date Mon, 01 Apr 2024 02:43:44 -0400
parents 39521c47c7a3
children 3ec7804abf17
line wrap: on
line source

#ifndef __gui__dialog__information_h
#define __gui__dialog__information_h

#include "core/anime.h"
#include "core/date.h"
#include <QDialog>
#include <functional>

class InformationDialog final : public QDialog {
	Q_OBJECT

public:
	enum Pages {
		PAGE_MAIN_INFO,
		PAGE_MY_LIST
	};

	InformationDialog(Anime::Anime& anime, std::function<void()> accept = {}, enum Pages page = Pages::PAGE_MAIN_INFO,
	                  QWidget* parent = nullptr);

protected:
	void showEvent(QShowEvent* event) override;

private:
	void SaveData(Anime::Anime& anime);
	unsigned int _progress;
	unsigned int _score;
	bool _rewatching;
	Anime::ListStatus _status;
	std::string _notes;
	Date _started;
	Date _completed;
};

#endif // __gui__dialog__information_h