Task: Migrated part of ::modify to ColDepends

This commit is contained in:
Paul Beckingham
2016-01-31 17:04:45 -05:00
parent 974841883b
commit 25d4392edf
3 changed files with 30 additions and 23 deletions

View File

@@ -32,6 +32,7 @@
#include <utf8.h>
#include <i18n.h>
#include <main.h>
#include <stdlib.h>
extern Context context;
@@ -147,3 +148,30 @@ void ColumnDepends::render (
}
////////////////////////////////////////////////////////////////////////////////
void ColumnDepends::modify (Task& task, const std::string& value)
{
// Parse IDs
std::vector <std::string> deps;
split (deps, value, ',');
// Apply or remove dendencies in turn.
for (auto& dep : deps)
{
if (dep[0] == '-')
{
if (dep.length () == 37)
task.removeDependency (dep.substr (1));
else
task.removeDependency (strtol (dep.substr (1).c_str (), NULL, 10));
}
else
{
if (dep.length () == 36)
task.addDependency (dep);
else
task.addDependency (strtol (dep.c_str (), NULL, 10));
}
}
}
////////////////////////////////////////////////////////////////////////////////