mirror of
https://github.com/GothenburgBitFactory/taskwarrior.git
synced 2025-06-26 10:54:26 +02:00
C++11: Cleaned up commands code with range-based for
This commit is contained in:
parent
bd3d58484a
commit
5a57dfd70d
42 changed files with 911 additions and 1065 deletions
|
@ -89,8 +89,7 @@ int CmdInfo::execute (std::string& output)
|
|||
|
||||
// Render each task.
|
||||
std::stringstream out;
|
||||
std::vector <Task>::iterator task;
|
||||
for (task = filtered.begin (); task != filtered.end (); ++task)
|
||||
for (auto& task : filtered)
|
||||
{
|
||||
ViewText view;
|
||||
view.width (context.getWidth ());
|
||||
|
@ -113,25 +112,24 @@ int CmdInfo::execute (std::string& output)
|
|||
// id
|
||||
int row = view.addRow ();
|
||||
view.set (row, 0, STRING_COLUMN_LABEL_ID);
|
||||
view.set (row, 1, (task->id ? format (task->id) : "-"));
|
||||
view.set (row, 1, (task.id ? format (task.id) : "-"));
|
||||
|
||||
std::string status = ucFirst (Task::statusToText (task->getStatus ())); // L10N safe ucFirst.
|
||||
std::string status = ucFirst (Task::statusToText (task.getStatus ())); // L10N safe ucFirst.
|
||||
|
||||
// description
|
||||
Color c;
|
||||
autoColorize (*task, c);
|
||||
std::string description = task->get ("description");
|
||||
autoColorize (task, c);
|
||||
std::string description = task.get ("description");
|
||||
int indent = context.config.getInteger ("indent.annotation");
|
||||
|
||||
std::map <std::string, std::string> annotations;
|
||||
task->getAnnotations (annotations);
|
||||
std::map <std::string, std::string>::iterator ann;
|
||||
for (ann = annotations.begin (); ann != annotations.end (); ++ann)
|
||||
task.getAnnotations (annotations);
|
||||
for (auto& anno : annotations)
|
||||
description += "\n"
|
||||
+ std::string (indent, ' ')
|
||||
+ Date (ann->first.substr (11)).toString (dateformatanno)
|
||||
+ Date (anno.first.substr (11)).toString (dateformatanno)
|
||||
+ " "
|
||||
+ ann->second;
|
||||
+ anno.second;
|
||||
|
||||
row = view.addRow ();
|
||||
view.set (row, 0, STRING_COLUMN_LABEL_DESC);
|
||||
|
@ -143,23 +141,22 @@ int CmdInfo::execute (std::string& output)
|
|||
view.set (row, 1, status);
|
||||
|
||||
// project
|
||||
if (task->has ("project"))
|
||||
if (task.has ("project"))
|
||||
{
|
||||
row = view.addRow ();
|
||||
view.set (row, 0, STRING_COLUMN_LABEL_PROJECT);
|
||||
view.set (row, 1, task->get ("project"));
|
||||
view.set (row, 1, task.get ("project"));
|
||||
}
|
||||
|
||||
// dependencies: blocked
|
||||
{
|
||||
std::vector <Task> blocked;
|
||||
dependencyGetBlocking (*task, blocked);
|
||||
dependencyGetBlocking (task, blocked);
|
||||
if (blocked.size ())
|
||||
{
|
||||
std::stringstream message;
|
||||
std::vector <Task>::const_iterator it;
|
||||
for (it = blocked.begin (); it != blocked.end (); ++it)
|
||||
message << it->id << " " << it->get ("description") << "\n";
|
||||
for (auto& block : blocked)
|
||||
message << block.id << " " << block.get ("description") << "\n";
|
||||
|
||||
row = view.addRow ();
|
||||
view.set (row, 0, STRING_CMD_INFO_BLOCKED);
|
||||
|
@ -170,13 +167,12 @@ int CmdInfo::execute (std::string& output)
|
|||
// dependencies: blocking
|
||||
{
|
||||
std::vector <Task> blocking;
|
||||
dependencyGetBlocked (*task, blocking);
|
||||
dependencyGetBlocked (task, blocking);
|
||||
if (blocking.size ())
|
||||
{
|
||||
std::stringstream message;
|
||||
std::vector <Task>::const_iterator it;
|
||||
for (it = blocking.begin (); it != blocking.end (); ++it)
|
||||
message << it->id << " " << it->get ("description") << "\n";
|
||||
for (auto& block : blocking)
|
||||
message << block.id << " " << block.get ("description") << "\n";
|
||||
|
||||
row = view.addRow ();
|
||||
view.set (row, 0, STRING_CMD_INFO_BLOCKING);
|
||||
|
@ -185,45 +181,45 @@ int CmdInfo::execute (std::string& output)
|
|||
}
|
||||
|
||||
// recur
|
||||
if (task->has ("recur"))
|
||||
if (task.has ("recur"))
|
||||
{
|
||||
row = view.addRow ();
|
||||
view.set (row, 0, STRING_COLUMN_LABEL_RECUR_L);
|
||||
view.set (row, 1, task->get ("recur"));
|
||||
view.set (row, 1, task.get ("recur"));
|
||||
}
|
||||
|
||||
// parent
|
||||
if (task->has ("parent"))
|
||||
if (task.has ("parent"))
|
||||
{
|
||||
row = view.addRow ();
|
||||
view.set (row, 0, STRING_COLUMN_LABEL_PARENT);
|
||||
view.set (row, 1, task->get ("parent"));
|
||||
view.set (row, 1, task.get ("parent"));
|
||||
}
|
||||
|
||||
// mask
|
||||
if (task->has ("mask"))
|
||||
if (task.has ("mask"))
|
||||
{
|
||||
row = view.addRow ();
|
||||
view.set (row, 0, STRING_COLUMN_LABEL_MASK);
|
||||
view.set (row, 1, task->get ("mask"));
|
||||
view.set (row, 1, task.get ("mask"));
|
||||
}
|
||||
|
||||
// imask
|
||||
if (task->has ("imask"))
|
||||
if (task.has ("imask"))
|
||||
{
|
||||
row = view.addRow ();
|
||||
view.set (row, 0, STRING_COLUMN_LABEL_MASK_IDX);
|
||||
view.set (row, 1, task->get ("imask"));
|
||||
view.set (row, 1, task.get ("imask"));
|
||||
}
|
||||
|
||||
// entry
|
||||
row = view.addRow ();
|
||||
view.set (row, 0, STRING_COLUMN_LABEL_ENTERED);
|
||||
Date dt (task->get_date ("entry"));
|
||||
Date dt (task.get_date ("entry"));
|
||||
std::string entry = dt.toString (dateformat);
|
||||
|
||||
std::string age;
|
||||
std::string created = task->get ("entry");
|
||||
std::string created = task.get ("entry");
|
||||
if (created.length ())
|
||||
{
|
||||
Date dt (strtol (created.c_str (), NULL, 10));
|
||||
|
@ -233,67 +229,67 @@ int CmdInfo::execute (std::string& output)
|
|||
view.set (row, 1, entry + " (" + age + ")");
|
||||
|
||||
// wait
|
||||
if (task->has ("wait"))
|
||||
if (task.has ("wait"))
|
||||
{
|
||||
row = view.addRow ();
|
||||
view.set (row, 0, STRING_COLUMN_LABEL_WAITING);
|
||||
view.set (row, 1, Date (task->get_date ("wait")).toString (dateformat));
|
||||
view.set (row, 1, Date (task.get_date ("wait")).toString (dateformat));
|
||||
}
|
||||
|
||||
// scheduled
|
||||
if (task->has ("scheduled"))
|
||||
if (task.has ("scheduled"))
|
||||
{
|
||||
row = view.addRow ();
|
||||
view.set (row, 0, STRING_COLUMN_LABEL_SCHED);
|
||||
view.set (row, 1, Date (task->get_date ("scheduled")).toString (dateformat));
|
||||
view.set (row, 1, Date (task.get_date ("scheduled")).toString (dateformat));
|
||||
}
|
||||
|
||||
// start
|
||||
if (task->has ("start"))
|
||||
if (task.has ("start"))
|
||||
{
|
||||
row = view.addRow ();
|
||||
view.set (row, 0, STRING_COLUMN_LABEL_START);
|
||||
view.set (row, 1, Date (task->get_date ("start")).toString (dateformat));
|
||||
view.set (row, 1, Date (task.get_date ("start")).toString (dateformat));
|
||||
}
|
||||
|
||||
// due (colored)
|
||||
if (task->has ("due"))
|
||||
if (task.has ("due"))
|
||||
{
|
||||
row = view.addRow ();
|
||||
view.set (row, 0, STRING_COLUMN_LABEL_DUE);
|
||||
view.set (row, 1, Date (task->get_date ("due")).toString (dateformat));
|
||||
view.set (row, 1, Date (task.get_date ("due")).toString (dateformat));
|
||||
}
|
||||
|
||||
// end
|
||||
if (task->has ("end"))
|
||||
if (task.has ("end"))
|
||||
{
|
||||
row = view.addRow ();
|
||||
view.set (row, 0, STRING_COLUMN_LABEL_END);
|
||||
view.set (row, 1, Date (task->get_date ("end")).toString (dateformat));
|
||||
view.set (row, 1, Date (task.get_date ("end")).toString (dateformat));
|
||||
}
|
||||
|
||||
// until
|
||||
if (task->has ("until"))
|
||||
if (task.has ("until"))
|
||||
{
|
||||
row = view.addRow ();
|
||||
view.set (row, 0, STRING_CMD_INFO_UNTIL);
|
||||
view.set (row, 1, Date (task->get_date ("until")).toString (dateformat));
|
||||
view.set (row, 1, Date (task.get_date ("until")).toString (dateformat));
|
||||
}
|
||||
|
||||
// modified
|
||||
if (task->has ("modified"))
|
||||
if (task.has ("modified"))
|
||||
{
|
||||
row = view.addRow ();
|
||||
view.set (row, 0, STRING_CMD_INFO_MODIFIED);
|
||||
|
||||
Date mod (task->get_date ("modified"));
|
||||
Date mod (task.get_date ("modified"));
|
||||
std::string age = Duration (now - mod).format ();
|
||||
view.set (row, 1, mod.toString (dateformat) + " (" + age + ")");
|
||||
}
|
||||
|
||||
// tags ...
|
||||
std::vector <std::string> tags;
|
||||
task->getTags (tags);
|
||||
task.getTags (tags);
|
||||
if (tags.size ())
|
||||
{
|
||||
std::string allTags;
|
||||
|
@ -308,30 +304,30 @@ int CmdInfo::execute (std::string& output)
|
|||
{
|
||||
// Note: This list must match that in Task::hasTag.
|
||||
std::string virtualTags = "";
|
||||
if (task->hasTag ("ACTIVE")) virtualTags += "ACTIVE ";
|
||||
if (task->hasTag ("ANNOTATED")) virtualTags += "ANNOTATED ";
|
||||
if (task->hasTag ("BLOCKED")) virtualTags += "BLOCKED ";
|
||||
if (task->hasTag ("BLOCKING")) virtualTags += "BLOCKING ";
|
||||
if (task->hasTag ("CHILD")) virtualTags += "CHILD ";
|
||||
if (task->hasTag ("COMPLETED")) virtualTags += "COMPLETED ";
|
||||
if (task->hasTag ("DELETED")) virtualTags += "DELETED ";
|
||||
if (task->hasTag ("DUE")) virtualTags += "DUE ";
|
||||
if (task->hasTag ("DUETODAY")) virtualTags += "DUETODAY ";
|
||||
if (task->hasTag ("MONTH")) virtualTags += "MONTH ";
|
||||
if (task->hasTag ("OVERDUE")) virtualTags += "OVERDUE ";
|
||||
if (task->hasTag ("PARENT")) virtualTags += "PARENT ";
|
||||
if (task->hasTag ("PENDING")) virtualTags += "PENDING ";
|
||||
if (task->hasTag ("READY")) virtualTags += "READY ";
|
||||
if (task->hasTag ("SCHEDULED")) virtualTags += "SCHEDULED ";
|
||||
if (task->hasTag ("TAGGED")) virtualTags += "TAGGED ";
|
||||
if (task->hasTag ("TODAY")) virtualTags += "TODAY ";
|
||||
if (task->hasTag ("TOMORROW")) virtualTags += "TOMORROW ";
|
||||
if (task->hasTag ("UNBLOCKED")) virtualTags += "UNBLOCKED ";
|
||||
if (task->hasTag ("UNTIL")) virtualTags += "UNTIL ";
|
||||
if (task->hasTag ("WAITING")) virtualTags += "WAITING ";
|
||||
if (task->hasTag ("WEEK")) virtualTags += "WEEK ";
|
||||
if (task->hasTag ("YEAR")) virtualTags += "YEAR ";
|
||||
if (task->hasTag ("YESTERDAY")) virtualTags += "YESTERDAY ";
|
||||
if (task.hasTag ("ACTIVE")) virtualTags += "ACTIVE ";
|
||||
if (task.hasTag ("ANNOTATED")) virtualTags += "ANNOTATED ";
|
||||
if (task.hasTag ("BLOCKED")) virtualTags += "BLOCKED ";
|
||||
if (task.hasTag ("BLOCKING")) virtualTags += "BLOCKING ";
|
||||
if (task.hasTag ("CHILD")) virtualTags += "CHILD ";
|
||||
if (task.hasTag ("COMPLETED")) virtualTags += "COMPLETED ";
|
||||
if (task.hasTag ("DELETED")) virtualTags += "DELETED ";
|
||||
if (task.hasTag ("DUE")) virtualTags += "DUE ";
|
||||
if (task.hasTag ("DUETODAY")) virtualTags += "DUETODAY ";
|
||||
if (task.hasTag ("MONTH")) virtualTags += "MONTH ";
|
||||
if (task.hasTag ("OVERDUE")) virtualTags += "OVERDUE ";
|
||||
if (task.hasTag ("PARENT")) virtualTags += "PARENT ";
|
||||
if (task.hasTag ("PENDING")) virtualTags += "PENDING ";
|
||||
if (task.hasTag ("READY")) virtualTags += "READY ";
|
||||
if (task.hasTag ("SCHEDULED")) virtualTags += "SCHEDULED ";
|
||||
if (task.hasTag ("TAGGED")) virtualTags += "TAGGED ";
|
||||
if (task.hasTag ("TODAY")) virtualTags += "TODAY ";
|
||||
if (task.hasTag ("TOMORROW")) virtualTags += "TOMORROW ";
|
||||
if (task.hasTag ("UNBLOCKED")) virtualTags += "UNBLOCKED ";
|
||||
if (task.hasTag ("UNTIL")) virtualTags += "UNTIL ";
|
||||
if (task.hasTag ("WAITING")) virtualTags += "WAITING ";
|
||||
if (task.hasTag ("WEEK")) virtualTags += "WEEK ";
|
||||
if (task.hasTag ("YEAR")) virtualTags += "YEAR ";
|
||||
if (task.hasTag ("YESTERDAY")) virtualTags += "YESTERDAY ";
|
||||
|
||||
row = view.addRow ();
|
||||
view.set (row, 0, STRING_CMD_INFO_VIRTUAL_TAGS);
|
||||
|
@ -341,27 +337,26 @@ int CmdInfo::execute (std::string& output)
|
|||
// uuid
|
||||
row = view.addRow ();
|
||||
view.set (row, 0, STRING_COLUMN_LABEL_UUID);
|
||||
std::string uuid = task->get ("uuid");
|
||||
std::string uuid = task.get ("uuid");
|
||||
view.set (row, 1, uuid);
|
||||
|
||||
// Task::urgency
|
||||
row = view.addRow ();
|
||||
view.set (row, 0, STRING_COLUMN_LABEL_URGENCY);
|
||||
view.set (row, 1, format (task->urgency (), 4, 4));
|
||||
view.set (row, 1, format (task.urgency (), 4, 4));
|
||||
|
||||
// Show any UDAs
|
||||
std::vector <std::string> all = task->all ();
|
||||
std::vector <std::string>::iterator att;
|
||||
std::vector <std::string> all = task.all ();
|
||||
std::string type;
|
||||
for (att = all.begin (); att != all.end (); ++att)
|
||||
for (auto& att: all)
|
||||
{
|
||||
type = context.config.get ("uda." + *att + ".type");
|
||||
type = context.config.get ("uda." + att + ".type");
|
||||
if (type != "")
|
||||
{
|
||||
Column* col = context.columns[*att];
|
||||
Column* col = context.columns[att];
|
||||
if (col)
|
||||
{
|
||||
std::string value = task->get (*att);
|
||||
std::string value = task.get (att);
|
||||
if (value != "")
|
||||
{
|
||||
row = view.addRow ();
|
||||
|
@ -380,20 +375,20 @@ int CmdInfo::execute (std::string& output)
|
|||
|
||||
// Show any orphaned UDAs, which are identified by not being represented in
|
||||
// the context.columns map.
|
||||
for (att = all.begin (); att != all.end (); ++att)
|
||||
for (auto& att : all)
|
||||
{
|
||||
if (att->substr (0, 11) != "annotation_" &&
|
||||
context.columns.find (*att) == context.columns.end ())
|
||||
if (att.substr (0, 11) != "annotation_" &&
|
||||
context.columns.find (att) == context.columns.end ())
|
||||
{
|
||||
row = view.addRow ();
|
||||
view.set (row, 0, "[" + *att);
|
||||
view.set (row, 1, task->get (*att) + "]");
|
||||
view.set (row, 0, "[" + att);
|
||||
view.set (row, 1, task.get (att) + "]");
|
||||
}
|
||||
}
|
||||
|
||||
// Create a second table, containing urgency details, if necessary.
|
||||
ViewText urgencyDetails;
|
||||
if (task->urgency () != 0.0)
|
||||
if (task.urgency () != 0.0)
|
||||
{
|
||||
if (context.color ())
|
||||
{
|
||||
|
@ -413,74 +408,73 @@ int CmdInfo::execute (std::string& output)
|
|||
urgencyDetails.add (Column::factory ("string", "")); // =
|
||||
urgencyDetails.add (Column::factory ("string", "")); // Result
|
||||
|
||||
urgencyTerm (urgencyDetails, "project", task->urgency_project (), Task::urgencyProjectCoefficient);
|
||||
urgencyTerm (urgencyDetails, "active", task->urgency_active (), Task::urgencyActiveCoefficient);
|
||||
urgencyTerm (urgencyDetails, "scheduled", task->urgency_scheduled (), Task::urgencyScheduledCoefficient);
|
||||
urgencyTerm (urgencyDetails, "waiting", task->urgency_waiting (), Task::urgencyWaitingCoefficient);
|
||||
urgencyTerm (urgencyDetails, "blocked", task->urgency_blocked (), Task::urgencyBlockedCoefficient);
|
||||
urgencyTerm (urgencyDetails, "blocking", task->urgency_blocking (), Task::urgencyBlockingCoefficient);
|
||||
urgencyTerm (urgencyDetails, "annotations", task->urgency_annotations (), Task::urgencyAnnotationsCoefficient);
|
||||
urgencyTerm (urgencyDetails, "tags", task->urgency_tags (), Task::urgencyTagsCoefficient);
|
||||
urgencyTerm (urgencyDetails, "next", task->urgency_next (), Task::urgencyNextCoefficient);
|
||||
urgencyTerm (urgencyDetails, "due", task->urgency_due (), Task::urgencyDueCoefficient);
|
||||
urgencyTerm (urgencyDetails, "age", task->urgency_age (), Task::urgencyAgeCoefficient);
|
||||
urgencyTerm (urgencyDetails, "project", task.urgency_project (), Task::urgencyProjectCoefficient);
|
||||
urgencyTerm (urgencyDetails, "active", task.urgency_active (), Task::urgencyActiveCoefficient);
|
||||
urgencyTerm (urgencyDetails, "scheduled", task.urgency_scheduled (), Task::urgencyScheduledCoefficient);
|
||||
urgencyTerm (urgencyDetails, "waiting", task.urgency_waiting (), Task::urgencyWaitingCoefficient);
|
||||
urgencyTerm (urgencyDetails, "blocked", task.urgency_blocked (), Task::urgencyBlockedCoefficient);
|
||||
urgencyTerm (urgencyDetails, "blocking", task.urgency_blocking (), Task::urgencyBlockingCoefficient);
|
||||
urgencyTerm (urgencyDetails, "annotations", task.urgency_annotations (), Task::urgencyAnnotationsCoefficient);
|
||||
urgencyTerm (urgencyDetails, "tags", task.urgency_tags (), Task::urgencyTagsCoefficient);
|
||||
urgencyTerm (urgencyDetails, "next", task.urgency_next (), Task::urgencyNextCoefficient);
|
||||
urgencyTerm (urgencyDetails, "due", task.urgency_due (), Task::urgencyDueCoefficient);
|
||||
urgencyTerm (urgencyDetails, "age", task.urgency_age (), Task::urgencyAgeCoefficient);
|
||||
|
||||
// Tag, Project- and UDA-specific coefficients.
|
||||
std::map <std::string, float>::iterator var;
|
||||
for (var = Task::coefficients.begin (); var != Task::coefficients.end (); ++var)
|
||||
for (auto& var : Task::coefficients)
|
||||
{
|
||||
if (var->first.substr (0, 13) == "urgency.user.")
|
||||
if (var.first.substr (0, 13) == "urgency.user.")
|
||||
{
|
||||
// urgency.user.project.<project>.coefficient
|
||||
std::string::size_type end = std::string::npos;
|
||||
if (var->first.substr (13, 8) == "project." &&
|
||||
(end = var->first.find (".coefficient")) != std::string::npos)
|
||||
if (var.first.substr (13, 8) == "project." &&
|
||||
(end = var.first.find (".coefficient")) != std::string::npos)
|
||||
{
|
||||
std::string project = var->first.substr (21, end - 21);
|
||||
if (task->get ("project").find (project) == 0)
|
||||
urgencyTerm (urgencyDetails, "PROJECT " + project, 1.0, var->second);
|
||||
std::string project = var.first.substr (21, end - 21);
|
||||
if (task.get ("project").find (project) == 0)
|
||||
urgencyTerm (urgencyDetails, "PROJECT " + project, 1.0, var.second);
|
||||
}
|
||||
|
||||
// urgency.user.tag.<tag>.coefficient
|
||||
if (var->first.substr (13, 4) == "tag." &&
|
||||
(end = var->first.find (".coefficient")) != std::string::npos)
|
||||
if (var.first.substr (13, 4) == "tag." &&
|
||||
(end = var.first.find (".coefficient")) != std::string::npos)
|
||||
{
|
||||
std::string name = var->first.substr (17, end - 17);
|
||||
if (task->hasTag (name))
|
||||
urgencyTerm (urgencyDetails, "TAG " + name, 1.0, var->second);
|
||||
std::string name = var.first.substr (17, end - 17);
|
||||
if (task.hasTag (name))
|
||||
urgencyTerm (urgencyDetails, "TAG " + name, 1.0, var.second);
|
||||
}
|
||||
|
||||
// urgency.user.keyword.<keyword>.coefficient
|
||||
if (var->first.substr (13, 8) == "keyword." &&
|
||||
(end = var->first.find (".coefficient")) != std::string::npos)
|
||||
if (var.first.substr (13, 8) == "keyword." &&
|
||||
(end = var.first.find (".coefficient")) != std::string::npos)
|
||||
{
|
||||
std::string keyword = var->first.substr (21, end - 21);
|
||||
if (task->get ("description").find (keyword) != std::string::npos)
|
||||
urgencyTerm (urgencyDetails, "KEYWORD " + keyword, 1.0, var->second);
|
||||
std::string keyword = var.first.substr (21, end - 21);
|
||||
if (task.get ("description").find (keyword) != std::string::npos)
|
||||
urgencyTerm (urgencyDetails, "KEYWORD " + keyword, 1.0, var.second);
|
||||
}
|
||||
}
|
||||
|
||||
// urgency.uda.<name>.coefficient
|
||||
else if (var->first.substr (0, 12) == "urgency.uda.")
|
||||
else if (var.first.substr (0, 12) == "urgency.uda.")
|
||||
{
|
||||
// urgency.uda.<name>.coefficient
|
||||
// urgency.uda.<name>.<value>.coefficient
|
||||
std::string::size_type end = var->first.find (".coefficient");
|
||||
std::string::size_type end = var.first.find (".coefficient");
|
||||
if (end != std::string::npos)
|
||||
{
|
||||
const std::string uda = var->first.substr (12, end - 12);
|
||||
const std::string uda = var.first.substr (12, end - 12);
|
||||
std::string::size_type dot = uda.find (".");
|
||||
if (dot == std::string::npos)
|
||||
{
|
||||
// urgency.uda.<name>.coefficient
|
||||
if (task->has (uda))
|
||||
urgencyTerm (urgencyDetails, std::string ("UDA ") + uda, 1.0, var->second);
|
||||
if (task.has (uda))
|
||||
urgencyTerm (urgencyDetails, std::string ("UDA ") + uda, 1.0, var.second);
|
||||
}
|
||||
else
|
||||
{
|
||||
// urgency.uda.<name>.<value>.coefficient
|
||||
if (task->get (uda.substr(0, dot)) == uda.substr(dot+1))
|
||||
urgencyTerm (urgencyDetails, std::string ("UDA ") + uda, 1.0, var->second);
|
||||
if (task.get (uda.substr(0, dot)) == uda.substr(dot+1))
|
||||
urgencyTerm (urgencyDetails, std::string ("UDA ") + uda, 1.0, var.second);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -489,7 +483,7 @@ int CmdInfo::execute (std::string& output)
|
|||
row = urgencyDetails.addRow ();
|
||||
urgencyDetails.set (row, 5, rightJustify ("------", 6));
|
||||
row = urgencyDetails.addRow ();
|
||||
urgencyDetails.set (row, 5, rightJustify (format (task->urgency (), 4, 4), 6));
|
||||
urgencyDetails.set (row, 5, rightJustify (format (task.urgency (), 4, 4), 6));
|
||||
}
|
||||
|
||||
// Create a third table, containing undo log change details.
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue