Branch 'kolab/integration/4.13.0' - kcalcore/tests kcalcore/todo.cpp
Sandro Knauß
knauss at kolabsys.com
Mon Mar 9 19:49:22 CET 2015
kcalcore/tests/testtodo.cpp | 7 ++++++-
kcalcore/todo.cpp | 4 +++-
2 files changed, 9 insertions(+), 2 deletions(-)
New commits:
commit 78686a98e09c8edc167de7ee3c17d597587e3a6c
Author: Sandro Knauà <knauss at kolabsys.com>
Date: Mon Mar 9 19:32:55 2015 +0100
Mark todo as completed, according to their status
todo can have two ways to indicate, that are completed. Either with 100%
completed and one with the status StatusCompleted.
KOLAB: 4818
diff --git a/kcalcore/tests/testtodo.cpp b/kcalcore/tests/testtodo.cpp
index fd895be..30b6a09 100644
--- a/kcalcore/tests/testtodo.cpp
+++ b/kcalcore/tests/testtodo.cpp
@@ -121,9 +121,10 @@ void TodoTest::testAssign()
void TodoTest::testSetCompleted() {
- Todo todo1, todo2;
+ Todo todo1, todo2, todo3;
todo1.setSummary("Todo Summary");
todo2.setSummary("Todo Summary");
+ todo3.setSummary("Todo Summary");
KDateTime today = KDateTime::currentUtcDateTime();
// due yesterday
@@ -136,9 +137,13 @@ void TodoTest::testSetCompleted() {
todo2.setCompleted(true);
+ todo3.setStatus(Incidence::StatusCompleted);
+
QVERIFY(originalDueDate != todo1.dtDue());
QVERIFY(!todo1.isCompleted());
QVERIFY(todo2.isCompleted());
+ QCOMPARE(todo2.status(), Incidence::StatusCompleted);
+ QVERIFY(todo3.isCompleted());
}
void TodoTest::testStatus() {
diff --git a/kcalcore/todo.cpp b/kcalcore/todo.cpp
index be2c4d5..fdc55f2 100644
--- a/kcalcore/todo.cpp
+++ b/kcalcore/todo.cpp
@@ -282,7 +282,7 @@ void Todo::setDtStart(const KDateTime &dtStart)
bool Todo::isCompleted() const
{
- return d->mPercentComplete == 100;
+ return d->mPercentComplete == 100 || status() == StatusCompleted;
}
void Todo::setCompleted(bool completed)
@@ -290,11 +290,13 @@ void Todo::setCompleted(bool completed)
update();
if (completed) {
d->mPercentComplete = 100;
+ setStatus(StatusCompleted);
} else {
d->mPercentComplete = 0;
d->mCompleted = KDateTime();
}
setFieldDirty(FieldCompleted);
+ setFieldDirty(FieldStatus);
updated();
}
More information about the commits
mailing list