move use of contextTask out of columns, into commands

This commit is contained in:
Dustin J. Mitchell
2021-12-18 01:49:48 +00:00
committed by Tomas Babej
parent e98b61f2b5
commit 6e9ad1048d
17 changed files with 44 additions and 35 deletions

View File

@@ -36,6 +36,8 @@
#define STRING_CMD_MODIFY_TASK_R "Modifying recurring task {1} '{2}'."
#define STRING_CMD_MODIFY_RECUR "This is a recurring task. Do you want to modify all pending recurrences of this same task?"
extern Task* contextTask;
////////////////////////////////////////////////////////////////////////////////
CmdModify::CmdModify ()
{
@@ -77,6 +79,7 @@ int CmdModify::execute (std::string&)
for (auto& task : filtered)
{
Task before (task);
contextTask = &task;
task.modify (Task::modReplace);
if (before != task)
@@ -174,6 +177,7 @@ int CmdModify::modifyRecurrenceSiblings (
for (auto& sibling : siblings)
{
Task alternate (sibling);
contextTask = &sibling;
sibling.modify (Task::modReplace);
updateRecurrenceMask (sibling);
++count;
@@ -187,6 +191,7 @@ int CmdModify::modifyRecurrenceSiblings (
// Modify the parent
Task parent;
Context::getContext ().tdb2.get (task.get ("parent"), parent);
contextTask = &parent;
parent.modify (Task::modReplace);
Context::getContext ().tdb2.modify (parent);
}
@@ -210,6 +215,7 @@ int CmdModify::modifyRecurrenceParent (
for (auto& child : children)
{
Task alternate (child);
contextTask = &child;
child.modify (Task::modReplace);
updateRecurrenceMask (child);
Context::getContext ().tdb2.modify (child);