Commit Graph

83 Commits

Author SHA1 Message Date
Paul Beckingham
19b803312f Dependencies - TDB
- Allowed const access to the internal lists of the TDB object.
2010-07-12 20:22:51 -04:00
Paul Beckingham
7e5c0eb9a5 Dependencies
- Supports new "depends" attribute.
- Supports "task <id> depends:1,2".
- Supports "task <id> depends:-1,-2".
- Supports id <--> uuid mapping in TDB.
2010-07-12 01:05:25 -04:00
Johannes Schlatow
5ecbd85020 Bug - merge command resulted in an error if
completed/deleted tasks were overwritten with pending tasks
2010-07-04 01:19:44 +02:00
Paul Beckingham
716ed39695 Missing include
- The usual problem, this time <algorithm>.
2010-07-03 18:44:29 -04:00
Paul Beckingham
484c31f0e4 Documentation
- Modified the wording of the output of the undo command.
2010-07-03 17:54:02 -04:00
Paul Beckingham
d00b57ec65 Feature - #156
+ Task now supports both a 'side' and 'diff' style of undo.
+ Undo now observes the 'color.undo.before' and 'color.undo.after'
  configuration variables.
2010-07-03 15:50:46 -04:00
Paul Beckingham
213a7a519b Feature - merge command
- Merged patch that implements the first milestone of the merge
  feature.  Thanks to Johannes Schlatow.
2010-07-01 20:22:33 -04:00
Paul Beckingham
abf31a6b35 Performance Enhancements
- Nibbler: Now locally stores input length rather than repeatedly calling
  std::string::length.
- Nibbler: Makes greater use of std::string::find_first_not_of, instead of
  looping.
- TDB: No longer applies empty filters to lists - just copies the lists.
- TDB: Now caches data when reading completed.data.
- TDB: During loadPending and loadCompleted, makes fewer copies of the data.
- TDB: In commit, breaks out of search loops after finding the right data.
- TDB: In gc, only writes out minimal pending or completed data, instead of
       all data, all the time.
- TDB: No longer reads completed.data in gc, and simply appends completed
       and deleted tasks to it.
2010-06-23 17:21:56 -04:00
Paul Beckingham
b02374c3f5 Enhancement - Hooks
- Implemented pre-completed, post-completed events.
- Added debug info for event triggers.
- Removed support for pre-file-unlock, post-file-unlock, as they are
  called from TDB::~TDB in Context::~Context, which is after Hooks::~Hooks,
  which means segfault.
2010-01-23 13:12:49 -05:00
Paul Beckingham
03f7e0686f Enhancement - Hooks
- Implemented API::callTaskHook.
- Implemented Hook object inside Hooks.cpp, not Hooks.h.
- Implemented Hooks.setTaskId to provide context for task hooks.
- Implemented pre-tag, post-tag, pre-detag, post-detag
  events.
- Implemented pre-file-lock, post-file-lock, pre-file-unlock, post-file-unlock
  events.
2010-01-23 12:47:48 -05:00
Paul Beckingham
1cd6d4c7e7 Enhancement - Hooks
- Implemented pre-debug, post-debug.
- Implemented pre-header, post-header.
- Implemented pre-output, post-output.
- Implemented pre-footnote, post-footnote.
- Implemented pre-gc, post-gc.
- Implemented pre-undo, post-undo.
- Implemented pre-add-command, post-add-command.
2010-01-19 23:01:52 -05:00
Paul Beckingham
abffaa184b Enhancement - Path integration
- Obsoleted util.cpp spit, slurp calls
2010-01-16 17:45:45 -05:00
Paul Beckingham
e53ba8110b Enhancement - Path integration
- Implemented Path::operator (std::string) const, to provide an
  automatic cast to std::string for any Path, File or Directory.
- Made use of new cast in various code.
- Changed use of spaces in atoi () calls.
- Switched from std::string::data () to std::string::c_str () calls.
2010-01-16 14:42:36 -05:00
Paul Beckingham
b596e96b43 Enhancement - Path, File, Directory integration
- Replaced all access calls.
- Replaced all stat calls.
- Obsoleted util.cpp isAbsoluteDirectory calls.
- Obsoleted util.cpp expandPath calls.
2010-01-16 10:27:31 -05:00
Paul Beckingham
9ce55bcf67 Copyright
- Updated the copyright notices to 2010, for the 1.9.0 release.
2009-12-27 12:39:42 -05:00
Paul Beckingham
2cf25b7c35 Code Cleanup
- Used the shorter form of std::string::substr that defaults the second
  argument to std::string::npos.
2009-12-13 16:59:28 -05:00
Paul Beckingham
fbb217538e Code Cleanup
- Removed unnecessary use of the scope resolution operator.
2009-11-17 22:34:28 -05:00
Paul Beckingham
010ef7cd07 Bug Fix - Color::Color (color_id, color_id)
- Removed temporary fix from task code to accommodate above bug.
2009-10-06 00:20:50 -04:00
Paul Beckingham
e5fce9ac08 Bug Fix - missing color
- There's something wrong with Color::Color (int, int), so this is a
  temporary fix.
2009-10-05 23:53:28 -04:00
Paul Beckingham
ff3b7cf337 Feature - 256-color support
- Integrated new Color object into task.
- Debugging needed - the cyan, green, and yellow colors are mixed up!
2009-09-22 17:01:59 -04:00
Paul Beckingham
de8a2c36a0 Feature - 256-color support
- Temporary reorganization of files to prepare for a case change in
  from color.* -> Color.* on a Mac.
2009-09-22 12:07:56 -04:00
Paul Beckingham
f790d52f62 Bug Fix - #194
- Fixed bug that causes tasks awaking from their waiting state to not
  be written back to the pending file.
2009-07-09 22:16:58 -04:00
Paul Beckingham
4c6d58549d Code Cleanup
- Working toward a clean build on Ubuntu.
2009-07-05 19:09:43 -04:00
Paul Beckingham
ebff1f48c2 Code Cleanup
- Working toward a clean build on Ubuntu.
2009-07-05 19:01:24 -04:00
Paul Beckingham
65595220f2 Enhancment - undo
- Now presents a side-by-side table for comparison during undo.
2009-07-02 22:15:10 -04:00
Paul Beckingham
5a1191300c Enhancement - file locking
- While waiting for a lock, display a message to that effect,
  otherwise it looks like task is hung (thanks to John Florian).
2009-07-02 21:16:24 -04:00
Paul Beckingham
c00e5138e0 Bug Fix
- Fixed compiler warnings on Solaris with --enable-debug=off.
2009-07-02 18:35:00 -04:00
Paul Beckingham
c89a0bbbd8 Bug Fix
- Fixed bug in TDB::loadCompleted that failed to provide a nice value
  for Task::id, and folks not using a Mac saw unitialized int values
  as task IDs.
2009-07-02 18:30:47 -04:00
Paul Beckingham
21c3a0ef48 Code Cleanup - undo
- Improved description of most recent change.
- Added timestamp of most recent change.
2009-07-01 01:00:25 -04:00
Paul Beckingham
e7ba2ab76d Code Cleanup
- Converted std::cout diagnostics to context.debug calls.
2009-07-01 00:52:42 -04:00
Paul Beckingham
569d31da7a Bug Fix - undo
- Fixed bug that didn't properly pop_back off the undo stack.
- Fixed bug that caused an attempt to call taskDifferences when one of
  the tasks was "".
2009-07-01 00:46:15 -04:00
Paul Beckingham
0891d3ea63 Enhancement - undo
- Implemented new undo command.
- Removed old undelete command.
- Does not work yet.
2009-07-01 00:15:32 -04:00
Paul Beckingham
ed49546eac I18N
- Removed obsolete 'undelete' string.
2009-06-30 18:35:06 -04:00
Paul Beckingham
af7803ea27 Enhancement - undo
- Removed obsolete undelete command.
- Removed obsolete undo command.
- Implemented new undo command as a call to the stubbed TDB::undo call.
2009-06-28 21:51:43 -04:00
Paul Beckingham
5d8c28f72f Enhancement - undo
- Added logging of both new tasks, and modified tasks.
- Added size of undo.data file to the statistics report.
2009-06-28 14:17:07 -04:00
Paul Beckingham
c29682b91f Enhancement - undo
- Now creates/opens/closes undo.data file.
- All new tasks are logged in undo.data file.
2009-06-28 12:23:46 -04:00
Paul Beckingham
a32263e7ea Enhancement - next
- The next report is now a custom report.  There is also a nasty
  piece of logic that lets the next report exist as a custom report,
  and also with it's own handleReportNext function to prep and filter
  the tasks, then hand off to runCustomReport.
2009-06-25 00:47:07 -04:00
Paul Beckingham
50f000988b Debugging
- Added timers to measure performance.
2009-06-23 01:23:46 -04:00
Federico Hernandez
dd3b651767 Fixed include statement for Linux 2009-06-22 08:32:52 +02:00
Paul Beckingham
329a78039a Enhancement - wait status
- Supports the new Task::waiting status.
- Supports: task <id> wait:<date>
- Supports: task <id> wait:
- Supports: task waiting
2009-06-21 22:42:32 -04:00
Paul Beckingham
fab37d3383 Enhancment - interactive shell
- At the request of several, and the great example of John Florian,
  task has an interactive shell.
2009-06-21 08:39:53 -04:00
Paul Beckingham
3bed6bb573 Enhancements - config variables, debug
- "debug" now considered a valid configuration variable.
- "alias.*" now considered a valid configuration variable.
- Moved some messages over to use Context::debug.
2009-06-20 14:14:51 -04:00
Paul Beckingham
f5e0f8b7a6 Enhancement - echo ID on add
- When a task is added, the new ID is echoed back, for convenience.
  This requires a scan of the pending file, so there is a performance
  hit, and the feature is controlled by the FEATURE_NEW_ID define.
2009-06-20 13:06:53 -04:00
Paul Beckingham
02518e0223 Enhancement - debug support
- Added debug=on support.
- Added color.debug= support.
2009-06-20 10:54:01 -04:00
Paul Beckingham
8dab95e200 Bug Fix - recurrence
- Fixed bug whereby handleRecurrence was being called after the tasks
  were loaded and filtered, and thus handleRecurrence operated on a
  filtered set, and failed.  The fix is to move the call to before the
  TDB::load call, and to add another TDB::loadPending call inside
  handleRecurrence.  This means TDB::load needs to be reentrant without
  re-reading the file, and can therefore be called twice, with the
  likelihood of there being a different filter for each call.  This in
  turn led to the problem whereby handleRecurrence would generate the
  synthetic tasks, which then sat uncommitted in TDB::mNew.  The fix
  for this is that every call to TDB::loadPending gets the contents of
  TDB::mNew appended (with correct IDs).  This bug is what you might
  call a good one.
2009-06-19 00:15:38 -04:00
Paul Beckingham
5eb4d23685 Bug Fix - nag
- TDB::gc now displays a header message.
- nag function now piggy-backs on existing locked TDB.
2009-06-18 01:55:04 -04:00
Paul Beckingham
4d43b77441 Enhancement - recurring tasks
- Implemented handleRecurringTasks.
- Implemented TDB::nextId.
2009-06-18 00:02:12 -04:00
Paul Beckingham
7e2da42f40 Bug Fix - due date, colorization
- Fixed bug that caused colorization to be way, way off.  Silly
  mistake.
- Fixed bug whereby due dates and durations were stored as-is, but
  should have been converted.
- On a related note, added Date::toEpochString,
  Duration::operator (std::string).
2009-06-17 22:52:04 -04:00
Paul Beckingham
e7a0a20d55 Optimization
- TDB::load can entirely skip the loading of completed.data if the
  specified filter is just so.
- Added FEATURE_TDB_OPT definition to allow disabling of this.
2009-06-16 18:35:02 -04:00
Paul Beckingham
41e137a92c Enhancements - stop command
- Implemented stop command
- Fixed bug in TDB that failed to truncate the pending file on
  update.
2009-06-15 23:59:56 -04:00