diff options
Diffstat (limited to 'Swift/QtUI/QtVCardWidget/QtVCardOrganisationField.h')
-rw-r--r-- | Swift/QtUI/QtVCardWidget/QtVCardOrganisationField.h | 68 |
1 files changed, 68 insertions, 0 deletions
diff --git a/Swift/QtUI/QtVCardWidget/QtVCardOrganisationField.h b/Swift/QtUI/QtVCardWidget/QtVCardOrganisationField.h new file mode 100644 index 0000000..0743823 --- /dev/null +++ b/Swift/QtUI/QtVCardWidget/QtVCardOrganisationField.h @@ -0,0 +1,68 @@ +/* + * Copyright (c) 2012 Tobias Markmann + * Licensed under the simplified BSD license. + * See Documentation/Licenses/BSD-simplified.txt for more information. + */ + +#pragma once + +#include <QWidget> + +#include "QtVCardFieldInfo.h" + +namespace Swift { + + namespace Ui { + class QtVCardOrganisationField; + } + + class QtVCardOrganisationField : 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("Organisation"); + } + virtual int getAllowedInstances() const { + return UNLIMITED_INSTANCES; + } + virtual QWidget* createFieldInstance(QWidget* parent, bool editable) const { + return new QtVCardOrganisationField(parent, editable); + } + virtual bool testInstance(QWidget* widget) const { + return dynamic_cast<QtVCardOrganisationField*>(widget) != 0; + } + }; + + public: + explicit QtVCardOrganisationField(QWidget* parent = 0, bool editable = false); + ~QtVCardOrganisationField(); + + bool isEditable() const; + void setEditable(bool); + + bool isEmpty() const; + + void setName(const QString name); + QString getName() const; + + void setUnits(const QList<QString> units); + QList<QString> getUnits() const; + + private slots: + void onTextChanged(const QString&); + void onAddUnitButtonPressed(); + void onRemoveUnitButtonPressed(); + + private: + Ui::QtVCardOrganisationField* ui; + bool editable; + }; + +} |