compare Tasks directly, not their properties

This commit is contained in:
Dustin J. Mitchell 2021-12-17 01:09:52 +00:00 committed by Tomas Babej
parent ac24ec1387
commit e768e2c100
4 changed files with 9 additions and 2 deletions

View file

@ -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)
{

View file

@ -62,6 +62,7 @@ public:
public:
Task () = default;
bool operator== (const Task&);
bool operator!= (const Task&);
Task (const std::string&);
Task (const json::object*);

View file

@ -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);

View file

@ -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);