diff --git a/AUTHORS b/AUTHORS index 324f1b619..eb41f1234 100644 --- a/AUTHORS +++ b/AUTHORS @@ -94,4 +94,5 @@ suggestions: Uli Martens Jonathan Hankins Andreas Kalex + Adam Wolk diff --git a/ChangeLog b/ChangeLog index a0a99f40e..82ca0b831 100644 --- a/ChangeLog +++ b/ChangeLog @@ -94,6 +94,8 @@ J. Pilkington). + Applied patch for Bug #771, which looks for libuuid if uuid_unparse_lower is not located (thanks to Christopher J. Pilkington). + + Fixed bug #783, which fixes completed and deleted tasks still showing as + active (thanks to Adam Wolk). # Untracked Bugs, biggest first. + Fixed bug that required the '%YAML' prologue in a YAML import. diff --git a/src/Context.cpp b/src/Context.cpp index b5933bf62..ca94b1e68 100644 --- a/src/Context.cpp +++ b/src/Context.cpp @@ -452,6 +452,7 @@ void Context::clear () //////////////////////////////////////////////////////////////////////////////// // Add all the attributes in the task to the filter. All except uuid. +/* void Context::autoFilter (Att& a, Filter& f) { // Words are found in the description using the .has modifier. @@ -532,12 +533,13 @@ void Context::autoFilter (Att& a, Filter& f) a.value ()); } } +*/ //////////////////////////////////////////////////////////////////////////////// // Add all the tags in the task to the filter. +/* void Context::autoFilter (Filter& f) { -/* // This is now a correct implementation of a filter on the presence or absence // of a tag. The prior code provided the illusion of leftmost partial tag // matches, but was really using the 'contains' and 'nocontains' attribute @@ -557,8 +559,8 @@ void Context::autoFilter (Filter& f) f.push_back (Att ("tags", "noword", *tag)); debug ("auto filter: -" + *tag); } -*/ } +*/ //////////////////////////////////////////////////////////////////////////////// // This capability is to answer the question of 'what did I just do to generate diff --git a/src/Context.h b/src/Context.h index 735e9432e..9c087ca49 100644 --- a/src/Context.h +++ b/src/Context.h @@ -77,8 +77,8 @@ private: void determineDataLocation (); void createDefaultConfig (); void loadAliases (); - void autoFilter (Att&, Filter&); - void autoFilter (Filter&); +// void autoFilter (Att&, Filter&); +// void autoFilter (Filter&); void updateXtermTitle (); public: @@ -90,23 +90,9 @@ public: Directory extension_dir; Config config; -/* - Filter filter; // TODO Obsolete - Sequence sequence; // TODO Obsolete - Subst subst; // TODO Obsolete - Task task; // TODO Obsolete -*/ TDB tdb; // TODO Obsolete TDB2 tdb2; -/* - std::string file_override; - std::string var_overrides; -*/ std::map aliases; -/* - std::vector tagAdditions; // TODO Obsolete - std::vector tagRemovals; // TODO Obsolete -*/ Hooks hooks; DOM dom; diff --git a/src/columns/ColStart.cpp b/src/columns/ColStart.cpp index 95f94ab44..64985dfd7 100644 --- a/src/columns/ColStart.cpp +++ b/src/columns/ColStart.cpp @@ -63,7 +63,10 @@ void ColumnStart::measure (Task& task, int& minimum, int& maximum) if (task.has (_attribute)) { if (_style == "active") - minimum = maximum = context.config.get ("active.indicator").length (); + { + if (! task.has ("end")) + minimum = maximum = context.config.get ("active.indicator").length (); + } else ColumnDate::measure (task, minimum, maximum); } @@ -80,10 +83,11 @@ void ColumnStart::render ( { if (_style == "active") { - lines.push_back ( - color.colorize ( - rightJustify ( - context.config.get ("active.indicator"), width))); + if (! task.has ("end")) + lines.push_back ( + color.colorize ( + rightJustify ( + context.config.get ("active.indicator"), width))); } else ColumnDate::render (lines, task, width, color); diff --git a/src/rules.cpp b/src/rules.cpp index 7b60109fc..9de2de8bd 100644 --- a/src/rules.cpp +++ b/src/rules.cpp @@ -132,12 +132,9 @@ static void colorizePriorityNone (Task& task, const std::string& rule, Color& c) //////////////////////////////////////////////////////////////////////////////// static void colorizeActive (Task& task, const std::string& rule, Color& c) { - Task::status status = task.getStatus (); - if (gsColor[rule].nontrivial () && - status != Task::completed && - status != Task::deleted && - task.has ("start")) + task.has ("start") && + !task.has ("end")) c.blend (gsColor[rule]); } @@ -157,7 +154,7 @@ static void colorizeProject (Task& task, const std::string& rule, Color& c) std::string project = task.get ("project"); std::string rule_trunc = rule.substr (14); - // Match project names leftmost, just like Context::autoFilter. + // Match project names leftmost. if (rule_trunc.length () <= project.length ()) if (compare (rule_trunc, project.substr (0, rule_trunc.length ()), sensitive)) c.blend (gsColor[rule]);