From 279157841005a375a1ffebb993a1caa115fad9e4 Mon Sep 17 00:00:00 2001 From: Paul Beckingham Date: Thu, 25 Mar 2010 17:33:43 -0400 Subject: [PATCH] Summary Report - Made the summary bar colors configurable. --- ChangeLog | 2 ++ doc/man/taskrc.5 | 9 +++++++++ src/Config.cpp | 2 ++ src/report.cpp | 15 ++++++++++----- 4 files changed, 23 insertions(+), 5 deletions(-) diff --git a/ChangeLog b/ChangeLog index b19fe2178..e7831a143 100644 --- a/ChangeLog +++ b/ChangeLog @@ -4,6 +4,8 @@ 1.9.1 () + Fixed bug #382 in which the annotate command didn't return an error message when called without an ID. + + Summary report bar colors can now be specified with color.summary.bar + and color.summary.background configuration variables. ------ old releases ------------------------------ diff --git a/doc/man/taskrc.5 b/doc/man/taskrc.5 index 7947519c6..ccc805188 100644 --- a/doc/man/taskrc.5 +++ b/doc/man/taskrc.5 @@ -506,6 +506,15 @@ Colors any of the messages printed prior to the report output. .B color.footnote=green Colors any of the messages printed last. +.TP +.B color.summary.bar=on green +Colors the summary progress bar. Should include both a foreground and a +background color. + +.TP +.B color.summary.background=on black +Colors the summary progress bar. Should include at least a background color. + .TP .B color.calendar.today=black on cyan Color of today in calendar. diff --git a/src/Config.cpp b/src/Config.cpp index 485e1d528..837e74e19 100644 --- a/src/Config.cpp +++ b/src/Config.cpp @@ -95,6 +95,8 @@ std::string Config::defaults = "color=on # Enable color\n" "#color.header=bold green # Color of header messages\n" "#color.footnote=bold green # Color of footnote messages\n" + "color.summary.bar=on green # Color of summary report progress bar\n" + "color.summary.background=on black # Color of summary report background\n" "color.calendar.today=black on cyan # Color of today in calendar\n" "color.calendar.due=black on green # Color of days with due tasks in calendar\n" "color.calendar.due.today=black on magenta # Color of today with due tasks in calendar\n" diff --git a/src/report.cpp b/src/report.cpp index d27b63453..002c99e38 100644 --- a/src/report.cpp +++ b/src/report.cpp @@ -655,6 +655,9 @@ int handleReportSummary (std::string &outs) table.sortOn (0, Table::ascendingCharacter); table.setDateFormat (context.config.get ("dateformat")); + Color bar_color (context.config.get ("color.summary.bar")); + Color bg_color (context.config.get ("color.summary.background")); + int barWidth = 30; foreach (i, allProjects) { @@ -675,17 +678,19 @@ int handleReportSummary (std::string &outs) int completedBar = (c * barWidth) / (c + p); std::string bar; + std::string subbar; if (context.config.getBoolean ("color") || context.config.getBoolean ("_forcecolor")) { - bar = "\033[42m"; for (int b = 0; b < completedBar; ++b) - bar += " "; + subbar += " "; + + bar += bar_color.colorize (subbar); + subbar = ""; - bar += "\033[40m"; for (int b = 0; b < barWidth - completedBar; ++b) - bar += " "; + subbar += " "; - bar += "\033[0m"; + bar += bg_color.colorize (subbar); } else {