/* * Copyright (c) 2012 Tobias Markmann * Licensed under the simplified BSD license. * See Documentation/Licenses/BSD-simplified.txt for more information. */ #pragma once #include #include "QtVCardFieldInfo.h" namespace Swift { namespace Ui { class QtVCardAddressField; } class QtVCardAddressField : 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("Address"); } virtual int getAllowedInstances() const { return UNLIMITED_INSTANCES; } virtual QWidget* createFieldInstance(QWidget* parent, bool editable) const { return new QtVCardAddressField(parent, editable); } virtual bool testInstance(QWidget* widget) const { return dynamic_cast(widget) != 0; } }; public: enum DeliveryType { DomesticDelivery = 0, InternationalDelivery }; public: explicit QtVCardAddressField(QWidget* parent = 0, bool editable = false); ~QtVCardAddressField(); bool isEditable() const; void setEditable(bool); bool isEmpty() const; void setHome(const bool); bool getHome() const; void setWork(const bool); bool getWork() const; void setPostal(const bool); bool getPostal() const; void setParcel(const bool); bool getParcel() const; void setPreferred(const bool); bool getPreferred() const; void setPOBox(const QString); QString getPOBox() const; void setDeliveryType(DeliveryType type); DeliveryType getDeliveryType() const; void setAddressExtension(const QString); QString getAddressExtension() const; void setStreet(const QString); QString getStreet() const; void setLocality(const QString); QString getLocality() const; void setRegion(const QString); QString getRegion() const; void setPostalCode(const QString); QString getPostalCode() const; void setCountry(const QString); QString getCountry() const; private slots: private: Ui::QtVCardAddressField* ui; bool editable; }; }