diff --git a/i18n/strings.de-DE b/i18n/strings.de-DE index 62f7d2e1a..07790b817 100644 --- a/i18n/strings.de-DE +++ b/i18n/strings.de-DE @@ -45,7 +45,7 @@ 214 ggeschichte #ghistory 215 import #import 216 info #info -217 nächste #next + 218 überfällig #overdue 219 projekte #projects 220 start #start diff --git a/i18n/strings.en-US b/i18n/strings.en-US index 5d7156b43..78a9e78f9 100644 --- a/i18n/strings.en-US +++ b/i18n/strings.en-US @@ -46,7 +46,7 @@ 214 ghistory 215 import 216 info -217 next + 218 overdue 219 projects 220 start diff --git a/i18n/strings.sv-SE b/i18n/strings.sv-SE index 459bf45d5..7f482212a 100644 --- a/i18n/strings.sv-SE +++ b/i18n/strings.sv-SE @@ -45,7 +45,7 @@ 214 ghistoria #ghistory 215 importera #import 216 info #info -217 nästa #next + 218 försenad #overdue 219 projekten #projects 220 start #start diff --git a/src/Cmd.cpp b/src/Cmd.cpp index 0bcbdfa69..a68a4cd0c 100644 --- a/src/Cmd.cpp +++ b/src/Cmd.cpp @@ -124,7 +124,6 @@ void Cmd::load () commands.push_back (context.stringtable.get (CMD_GHISTORY, "ghistory")); commands.push_back (context.stringtable.get (CMD_IMPORT, "import")); commands.push_back (context.stringtable.get (CMD_INFO, "info")); - commands.push_back (context.stringtable.get (CMD_NEXT, "next")); commands.push_back (context.stringtable.get (CMD_PROJECTS, "projects")); #ifdef FEATURE_SHELL commands.push_back (context.stringtable.get (CMD_SHELL, "shell")); @@ -147,14 +146,6 @@ void Cmd::load () if (i->substr (0, 7) == "report.") { std::string report = i->substr (7, std::string::npos); - - // Oh, what a massive hack. Shame. Shame. - // The "next" report is in limbo between being a built-in report and - // a custom report. The projection is defined as a custom report, but - // the restriction is different. - if (report.substr (0, 4) == "next") - continue; - std::string::size_type columns = report.find (".columns"); if (columns != std::string::npos) { @@ -205,7 +196,6 @@ bool Cmd::isReadOnlyCommand () command == context.stringtable.get (CMD_HISTORY, "history") || command == context.stringtable.get (CMD_GHISTORY, "ghistory") || command == context.stringtable.get (CMD_INFO, "info") || - command == context.stringtable.get (CMD_NEXT, "next") || command == context.stringtable.get (CMD_PROJECTS, "projects") || command == context.stringtable.get (CMD_SHELL, "shell") || command == context.stringtable.get (CMD_STATS, "stats") || diff --git a/src/Config.cpp b/src/Config.cpp index 3e110a047..c34654d95 100644 --- a/src/Config.cpp +++ b/src/Config.cpp @@ -233,7 +233,7 @@ void Config::createDefaultRC (const std::string& rc, const std::string& data) << "report.all.sort=due+,priority-,project+\n" << "\n" << "# task next\n" - << "report.next.description=Lists all tasks matching the specified criteria\n" + << "report.next.description=Lists the most urgent tasks\n" << "report.next.columns=id,project,priority,due,active,age,description\n" << "report.next.labels=ID,Project,Pri,Due,Active,Age,Description\n" << "report.next.sort=due+,priority-,project+\n" @@ -318,7 +318,7 @@ void Config::setDefaults () set ("report.all.labels", "ID,Project,Pri,Due,Active,Age,Description"); // TODO i18n set ("report.all.sort", "due+,priority-,project+"); // TODO i18n - set ("report.next.description", "Lists all tasks matching the specified criteria"); // TODO i18n + set ("report.next.description", "Lists the most urgent tasks"); // TODO i18n set ("report.next.columns", "id,project,priority,due,active,age,description"); // TODO i18n set ("report.next.labels", "ID,Project,Pri,Due,Active,Age,Description"); // TODO i18n set ("report.next.sort", "due+,priority-,project+"); // TODO i18n diff --git a/src/command.cpp b/src/command.cpp index 24bbcac21..d5f6cb352 100644 --- a/src/command.cpp +++ b/src/command.cpp @@ -535,6 +535,7 @@ std::string handleDelete () context.tdb.loadPending (tasks, context.filter); // Filter sequence. + std::vector all = tasks; context.filter.applySequence (tasks, context.sequence); // Determine the end date. @@ -561,7 +562,7 @@ std::string handleDelete () { // Scan all pending tasks for siblings of this task, and the parent // itself, and delete them. - foreach (sibling, tasks) + foreach (sibling, all) { if (sibling->get ("parent") == parent || sibling->get ("uuid") == parent) @@ -584,7 +585,7 @@ std::string handleDelete () { // Update mask in parent. task->setStatus (Task::deleted); - updateRecurrenceMask (tasks, *task); + updateRecurrenceMask (all, *task); task->set ("end", endTime); context.tdb.update (*task); diff --git a/src/i18n.h b/src/i18n.h index 3693ec1f9..e06698a1c 100644 --- a/src/i18n.h +++ b/src/i18n.h @@ -83,7 +83,7 @@ #define CMD_GHISTORY 214 #define CMD_IMPORT 215 #define CMD_INFO 216 -#define CMD_NEXT 217 + #define CMD_OVERDUE 218 #define CMD_PROJECTS 219 #define CMD_START 220