From fb6c42f375bdc915bbac1b3bb57f60257589ac69 Mon Sep 17 00:00:00 2001 From: DanielMowitz <53856770+DanielMowitz@users.noreply.github.com> Date: Thu, 18 Mar 2021 00:39:06 +0100 Subject: [PATCH] Change nagging behavior Don't nag if the specified set of tasks consists only of highest urgency tasks. --- src/commands/CmdDone.cpp | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/src/commands/CmdDone.cpp b/src/commands/CmdDone.cpp index 9834936af..274f2b3a9 100644 --- a/src/commands/CmdDone.cpp +++ b/src/commands/CmdDone.cpp @@ -68,7 +68,7 @@ int CmdDone::execute (std::string&) // Accumulated project change notifications. std::map projectChanges; - auto nagged = false; + Task& lowest = filtered.front(); for (auto& task : filtered) { Task before (task); @@ -101,8 +101,8 @@ int CmdDone::execute (std::string&) ++count; feedback_affected ("Completed task {1} '{2}'.", task); feedback_unblocked (task); - if (!nagged) - nagged = nag (task); + if (task.urgency () < lowest.urgency ()) + lowest = task; dependencyChainOnComplete (task); if (Context::getContext ().verbose ("project")) projectChanges[task.get ("project")] = onProjectChange (task); @@ -124,7 +124,9 @@ int CmdDone::execute (std::string&) rc = 1; } } - + + nag(lowest); + // Now list the project changes. for (const auto& change : projectChanges) if (change.first != "")