From e768e2c1006a53444f41f204dd8ad27d215eb223 Mon Sep 17 00:00:00 2001 From: "Dustin J. Mitchell" Date: Fri, 17 Dec 2021 01:09:52 +0000 Subject: [PATCH] compare Tasks directly, not their properties --- src/Task.cpp | 6 ++++++ src/Task.h | 1 + src/commands/CmdImport.cpp | 2 +- src/commands/CmdModify.cpp | 2 +- 4 files changed, 9 insertions(+), 2 deletions(-) diff --git a/src/Task.cpp b/src/Task.cpp index dd48514df..f1a903181 100644 --- a/src/Task.cpp +++ b/src/Task.cpp @@ -114,6 +114,12 @@ bool Task::operator== (const Task& other) return true; } +//////////////////////////////////////////////////////////////////////////////// +bool Task::operator!= (const Task& other) +{ + return !(*this == other); +} + //////////////////////////////////////////////////////////////////////////////// Task::Task (const std::string& input) { diff --git a/src/Task.h b/src/Task.h index c3a6259f1..fcdf168ab 100644 --- a/src/Task.h +++ b/src/Task.h @@ -62,6 +62,7 @@ public: public: Task () = default; bool operator== (const Task&); + bool operator!= (const Task&); Task (const std::string&); Task (const json::object*); diff --git a/src/commands/CmdImport.cpp b/src/commands/CmdImport.cpp index f473a0fbf..a663324c8 100644 --- a/src/commands/CmdImport.cpp +++ b/src/commands/CmdImport.cpp @@ -198,7 +198,7 @@ void CmdImport::importSingleTask (json::object* obj) if (hasGeneratedEnd) task.set ("end", before.get ("end")); - if (before.data_removeme() != task.data_removeme()) + if (before != task) { CmdModify modHelper; modHelper.checkConsistency (before, task); diff --git a/src/commands/CmdModify.cpp b/src/commands/CmdModify.cpp index eae2ae995..cb407367d 100644 --- a/src/commands/CmdModify.cpp +++ b/src/commands/CmdModify.cpp @@ -79,7 +79,7 @@ int CmdModify::execute (std::string&) Task before (task); task.modify (Task::modReplace); - if (before.data_removeme () != task.data_removeme ()) + if (before != task) { // Abort if change introduces inconsistencies. checkConsistency(before, task);