From 27ab6710b6626517d1386cd90ca9065d3d36f370 Mon Sep 17 00:00:00 2001 From: Christian Mollekopf Date: Thu, 25 Jan 2018 12:16:05 +0100 Subject: Require a recipient for a mail. --- framework/src/domain/controller.cpp | 13 ++++++++++++- framework/src/domain/controller.h | 4 ++++ 2 files changed, 16 insertions(+), 1 deletion(-) (limited to 'framework') diff --git a/framework/src/domain/controller.cpp b/framework/src/domain/controller.cpp index 515cfab0..226615ad 100644 --- a/framework/src/domain/controller.cpp +++ b/framework/src/domain/controller.cpp @@ -107,6 +107,9 @@ void ListPropertyController::add(const QVariantMap &value) item->setData(value.value(k), mRoles[k]); } mModel->appendRow(QList() << item); + if (mModel->rowCount() <= 1) { + emit emptyChanged(); + } emit added(id, value); } @@ -117,9 +120,17 @@ void ListPropertyController::remove(const QByteArray &id) for (int row = 0; row < root->rowCount(); row++) { if (root->child(row, 0)->data(idRole).toByteArray() == id) { root->removeRow(row); - return; + break; } } + if (mModel->rowCount() <= 0) { + emit emptyChanged(); + } +} + +bool ListPropertyController::empty() const +{ + return mModel->rowCount() == 0; } void ListPropertyController::clear() diff --git a/framework/src/domain/controller.h b/framework/src/domain/controller.h index ba7ac8fe..5f610012 100644 --- a/framework/src/domain/controller.h +++ b/framework/src/domain/controller.h @@ -109,6 +109,7 @@ class ListPropertyController : public QObject { Q_OBJECT Q_PROPERTY(QAbstractItemModel* model READ model CONSTANT) + Q_PROPERTY(bool empty READ empty NOTIFY emptyChanged) public: ListPropertyController(const QStringList &roles); @@ -132,8 +133,11 @@ public: return list; } + bool empty() const; + Q_SIGNALS: void added(QByteArray, QVariantMap); + void emptyChanged(); protected: QScopedPointer mModel; -- cgit v1.2.3