/* * Copyright (c) 2012 Tobias Markmann * Licensed under the simplified BSD license. * See Documentation/Licenses/BSD-simplified.txt for more information. */ #pragma once #include #include #include "QtVCardFieldInfo.h" namespace Swift { namespace Ui { class QtVCardBirthdayField; } class QtVCardBirthdayField : public QWidget { Q_OBJECT Q_PROPERTY(bool editable READ isEditable WRITE setEditable) Q_PROPERTY(bool empty READ isEmpty) public : class FieldInfo : public QtVCardFieldInfo { public: virtual ~FieldInfo() { } virtual QString getMenuName() const { return tr("Birthday"); } virtual int getAllowedInstances() const { return 1; } virtual QWidget* createFieldInstance(QWidget* parent, bool editable) const { return new QtVCardBirthdayField(parent, editable); } virtual bool testInstance(QWidget* widget) const { return dynamic_cast(widget) != 0; } }; public: explicit QtVCardBirthdayField(QWidget* parent = 0, bool editable = false); virtual ~QtVCardBirthdayField(); bool isEditable() const; void setEditable(bool); bool isEmpty() const; void setBirthday(const QDate& date); QDate getBirthday() const; private slots: void onDateChanged(QDate date); void onDeleteFieldPressed(); private: Ui::QtVCardBirthdayField* ui; bool editable; }; }