view include/gui/dialog/information.h @ 229:adc20fa321c1

theme: force Fusion style on platforms other than Win32 or OS X I was reluctant to do this, but most of the other styles just look like pure shite regardless of whether I force a stylesheet on them or not. KDE's style is actually hilariously bad paired with my stylesheet, so I've decided to also make the stylesheet Windows-specific as well, because that's really the only platform where it makes sense in the first place.
author Paper <paper@paper.us.eu.org>
date Wed, 10 Jan 2024 21:23:57 -0500
parents 39521c47c7a3
children 862d0d8619f6
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