diff --git a/ChangeLog b/ChangeLog index 535a46ca6..be2fb45f4 100644 --- a/ChangeLog +++ b/ChangeLog @@ -12,6 +12,8 @@ + "configure --enable-debug" now supported to suppress compiler optimization to allow debugging. + Allow lower case priorities, and automatically upper case them. + + Added support for "due" configuration variable which defines the number + of days in the future when a task is considered due. ------ old releases ------------------------------ diff --git a/html/config.html b/html/config.html index 0b10b7224..fd4bc71a4 100644 --- a/html/config.html +++ b/html/config.html @@ -195,6 +195,14 @@ Defaults to 80. +
diff --git a/src/Config.cpp b/src/Config.cpp index e9f1201b2..7e1eeadd4 100644 --- a/src/Config.cpp +++ b/src/Config.cpp @@ -118,6 +118,7 @@ void Config::createDefault (const std::string& home) fprintf (out, "monthsperline=1\n"); fprintf (out, "curses=on\n"); fprintf (out, "color=on\n"); + fprintf (out, "due=7\n"); fprintf (out, "color.overdue=bold_red\n"); fprintf (out, "#color.due=on_bright_yellow\n"); diff --git a/src/report.cpp b/src/report.cpp index 7b5fdcc46..ecc8081bd 100644 --- a/src/report.cpp +++ b/src/report.cpp @@ -258,7 +258,7 @@ std::string handleList (TDB& tdb, T& task, Config& conf) { Text::color fg = Text::colorCode (refTask.getAttribute ("fg")); Text::color bg = Text::colorCode (refTask.getAttribute ("bg")); - autoColorize (refTask, fg, bg); + autoColorize (refTask, fg, bg, conf); table.setRowFg (row, fg); table.setRowBg (row, bg); @@ -390,7 +390,7 @@ std::string handleSmallList (TDB& tdb, T& task, Config& conf) { Text::color fg = Text::colorCode (refTask.getAttribute ("fg")); Text::color bg = Text::colorCode (refTask.getAttribute ("bg")); - autoColorize (refTask, fg, bg); + autoColorize (refTask, fg, bg, conf); table.setRowFg (row, fg); table.setRowBg (row, bg); @@ -489,7 +489,7 @@ std::string handleCompleted (TDB& tdb, T& task, Config& conf) { Text::color fg = Text::colorCode (refTask.getAttribute ("fg")); Text::color bg = Text::colorCode (refTask.getAttribute ("bg")); - autoColorize (refTask, fg, bg); + autoColorize (refTask, fg, bg, conf); table.setRowFg (row, fg); table.setRowBg (row, bg); } @@ -851,7 +851,7 @@ std::string handleLongList (TDB& tdb, T& task, Config& conf) { Text::color fg = Text::colorCode (refTask.getAttribute ("fg")); Text::color bg = Text::colorCode (refTask.getAttribute ("bg")); - autoColorize (refTask, fg, bg); + autoColorize (refTask, fg, bg, conf); table.setRowFg (row, fg); table.setRowBg (row, bg); @@ -1180,7 +1180,7 @@ std::string handleReportNext (TDB& tdb, T& task, Config& conf) { Text::color fg = Text::colorCode (refTask.getAttribute ("fg")); Text::color bg = Text::colorCode (refTask.getAttribute ("bg")); - autoColorize (refTask, fg, bg); + autoColorize (refTask, fg, bg, conf); table.setRowFg (row, fg); table.setRowBg (row, bg); @@ -1962,7 +1962,7 @@ std::string handleReportActive (TDB& tdb, T& task, Config& conf) { Text::color fg = Text::colorCode (refTask.getAttribute ("fg")); Text::color bg = Text::colorCode (refTask.getAttribute ("bg")); - autoColorize (refTask, fg, bg); + autoColorize (refTask, fg, bg, conf); table.setRowFg (row, fg); table.setRowBg (row, bg); @@ -2076,7 +2076,7 @@ std::string handleReportOverdue (TDB& tdb, T& task, Config& conf) { Text::color fg = Text::colorCode (refTask.getAttribute ("fg")); Text::color bg = Text::colorCode (refTask.getAttribute ("bg")); - autoColorize (refTask, fg, bg); + autoColorize (refTask, fg, bg, conf); table.setRowFg (row, fg); table.setRowBg (row, bg); @@ -2220,7 +2220,7 @@ std::string handleReportOldest (TDB& tdb, T& task, Config& conf) { Text::color fg = Text::colorCode (refTask.getAttribute ("fg")); Text::color bg = Text::colorCode (refTask.getAttribute ("bg")); - autoColorize (refTask, fg, bg); + autoColorize (refTask, fg, bg, conf); table.setRowFg (row, fg); table.setRowBg (row, bg); @@ -2368,7 +2368,7 @@ std::string handleReportNewest (TDB& tdb, T& task, Config& conf) { Text::color fg = Text::colorCode (refTask.getAttribute ("fg")); Text::color bg = Text::colorCode (refTask.getAttribute ("bg")); - autoColorize (refTask, fg, bg); + autoColorize (refTask, fg, bg, conf); table.setRowFg (row, fg); table.setRowBg (row, bg); diff --git a/src/rules.cpp b/src/rules.cpp index 20f79ac5e..f33354c9f 100644 --- a/src/rules.cpp +++ b/src/rules.cpp @@ -80,7 +80,11 @@ void initializeColorRules (Config& conf) } //////////////////////////////////////////////////////////////////////////////// -void autoColorize (T& task, Text::color& fg, Text::color& bg) +void autoColorize ( + T& task, + Text::color& fg, + Text::color& bg, + Config& conf) { // Note: fg, bg already contain colors specifically assigned via command. // Note: These rules form a hierarchy - the last rule is king. @@ -159,7 +163,7 @@ void autoColorize (T& task, Text::color& fg, Text::color& bg) { Date dueDate (::atoi (due.c_str ())); Date now; - Date then (now + 7 * 86400); + Date then (now + conf.get ("due", 7) * 86400); // Overdue if (dueDate < now) diff --git a/src/task.h b/src/task.h index d84d6210f..8c151cb83 100644 --- a/src/task.h +++ b/src/task.h @@ -141,6 +141,6 @@ std::string expandPath (const std::string&); // rules.cpp void initializeColorRules (Config&); -void autoColorize (T&, Text::color&, Text::color&); +void autoColorize (T&, Text::color&, Text::color&, Config&); ////////////////////////////////////////////////////////////////////////////////