view include/gui/widgets/optional_date.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 8043152ef9d4
children 862d0d8619f6
line wrap: on
line source

#ifndef __gui__widgets__optional_date_h
#define __gui__widgets__optional_date_h

#include "core/date.h"
#include <QWidget>

class QCheckBox;
class QDateEdit;
class QDate;

class OptionalDate final : public QWidget {
		Q_OBJECT

	public:
		OptionalDate(QWidget* parent = nullptr);
		OptionalDate(bool enabled, QWidget* parent = nullptr);
		QDateEdit* GetDateEdit();
		QCheckBox* GetCheckBox();
		void SetDate(QDate date);
		void SetDate(Date date);
		Date GetDate();
		void SetEnabled(bool enabled);
		bool IsEnabled();

	signals:
		void DataChanged(bool checked, Date date);

	private:
		QDateEdit* _dateedit;
		QCheckBox* _checkbox;
};

#endif // __gui__widgets__optional_date_h