- Added an option to bypass backlog recording to TDB2::add and TDB2::modify.
  This is required when handling backlog data, to prevent perpetual syncing.
This commit is contained in:
Paul Beckingham 2012-10-08 17:45:43 -04:00
parent 98d9a367f3
commit 4a6b9e6104
2 changed files with 8 additions and 6 deletions

View file

@ -542,7 +542,7 @@ void TDB2::set_location (const std::string& location)
//////////////////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////////////////////
// Add the new task to the appropriate file. // Add the new task to the appropriate file.
void TDB2::add (Task& task) void TDB2::add (Task& task, bool add_to_backlog /* = true */)
{ {
// Ensure the task is consistent, and provide defaults if necessary. // Ensure the task is consistent, and provide defaults if necessary.
task.validate (); task.validate ();
@ -569,11 +569,12 @@ void TDB2::add (Task& task)
undo.add_line ("---\n"); undo.add_line ("---\n");
// Add task to backlog. // Add task to backlog.
if (add_to_backlog)
backlog.add_task (task); backlog.add_task (task);
} }
//////////////////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////////////////////
void TDB2::modify (Task& task) void TDB2::modify (Task& task, bool add_to_backlog /* = true */)
{ {
// Ensure the task is consistent, and provide defaults if necessary. // Ensure the task is consistent, and provide defaults if necessary.
task.validate (false); task.validate (false);
@ -601,6 +602,7 @@ void TDB2::modify (Task& task)
undo.add_line ("---\n"); undo.add_line ("---\n");
// Add modified task to backlog. // Add modified task to backlog.
if (add_to_backlog)
backlog.add_task (task); backlog.add_task (task);
} }
} }

View file

@ -101,8 +101,8 @@ public:
~TDB2 (); ~TDB2 ();
void set_location (const std::string&); void set_location (const std::string&);
void add (Task&); void add (Task&, bool add_to_backlog = true);
void modify (Task&); void modify (Task&, bool add_to_backlog = true);
void commit (); void commit ();
void merge (const std::string&); void merge (const std::string&);
void revert (); void revert ();