Commit graph

59 commits

Author SHA1 Message Date
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
Paul Beckingham
858f34cf95 Bug Fix - std::vector::erase
- Fixed bug whereby code called std::vector::erase, but then continued
  as though the iterator was still good.
2009-06-15 20:15:40 -04:00
Paul Beckingham
00c5e61d49 Bug Fix - rc:alternate
- Fixed handling of rc: alternate rc file.
- Reorganized Config.cpp regarding defaults.  More work needed.
2009-06-15 17:31:29 -04:00
Paul Beckingham
62f240aad4 Bug Fix - composeF4 -> parse -> composeF4
- Fixed bug that meant Task::composeF4 added a newline, but Task::parse
  did not expect a newline.  This caused Task::determineVersion to
  detect a format 1 encoding and throw.  Changed TDB::load to not remove
  any \n characters, and Task::parse to accept lines either with or
  without.
2009-06-15 12:37:35 -04:00
Paul Beckingham
9f1880e050 Enhancement - done command
- Implemented done command.
2009-06-15 11:27:50 -04:00
Paul Beckingham
7ff178cecc Integration - TDB write operations
- TDB::gc rewritten.
- TDB::commit fixed.
- Corrected usage of handleRecurringTasks wrt TDB.
- Unit tests for TDB.
2009-06-15 00:52:24 -04:00
Paul Beckingham
80bb9f0a18 Integration - TDB
- Renamed TDB2 to TDB.
- Integration of new code complete.
2009-06-14 18:19:00 -04:00
Paul Beckingham
53d0d1cbac Integration - TDB*
- Obsoleted TDB.h, TDB.cpp
- Implemented missing functionality in TDB2.cpp
2009-06-14 17:58:37 -04:00
Paul Beckingham
7b9cb12308 Enhancement - add
- Modified Record::get* methods to be const.
- Implemented TDB2::add.
- Renamed Task::valid to Task::validate.
- Implemented Task::setEntry to default creation time.
- Fixed bug where TDB2 was opening files "rw" instead of "r+".
2009-06-11 00:11:11 -04:00
Paul Beckingham
04f60a4d8c FF4 - header file reorg
- Added new util.h and text.h header files.
- Corresponding edits.
2009-05-17 23:29:53 -04:00
Paul Beckingham
5814432366 Enhancement - TDB API cleanup
- Removed obsolete TDB::deleteT method.
- Removed obsolete TDB::completeT method.
- Updated documentation.
2009-05-08 00:37:24 -04:00
Paul Beckingham
5cf33105a3 Enhancement - en passant "done"
- When marking task(s) as done, it is now possible to modify them
  at the same time.
2009-05-08 00:25:30 -04:00
Paul Beckingham
a0838474c4 Diagnostics - Better parsing errors
- Improved the errors when parsing a corrupt or unrecognized pending.data
  or completed.data file.
2009-05-03 00:18:23 -04:00
Paul Beckingham
6d8cb5181f Bug Fix - unit test tdb.t
- Fixed two failing unit tests in tdb.t.cpp, which were both due to
  incorrect test logic, rather than a TDB bug.
2009-03-10 15:40:48 -04:00
Paul Beckingham
d174bb1143 Bug Workaround - locking
- Added support for the "locking" configuration variable that disables
  file locking.  This can be helpful to folks who use task on Solaris,
  and store their task data files on an NFS mount.
2009-03-10 15:21:29 -04:00
Paul Beckingham
1e70400143 Shadow File Rewrite
- No longer writes shadow files based on TDB onChange trigger.
- Addressed bug whereby adding a recurring task trigger a shadow
  file rewrite, which in turn performs trigger another rewrite...
2009-03-02 23:47:41 -05:00
Paul Beckingham
2307dcab8a Copyright Update
- bumped the year, on the source copyright notices.
2009-02-14 17:50:38 -05:00
Paul Beckingham
3d4beaf41f - Enhanced split algorithm to be non-destrutive, and therefore faster
- Added autoconf testing to detect Solaris
- Added Solaris-specific flock implementation
2008-12-14 15:18:33 -05:00
Paul Beckingham
ce42ae9622 Merge branch '1.4.3' of git@github.com:pbeckingham/task into 1.4.3
Conflicts:
	ChangeLog
	html/task.html
	src/task.cpp
2008-11-02 21:50:55 -05:00
Paul Beckingham
2cae1df42f - Merged 1.4.3 to master 2008-11-01 16:31:30 -04:00
Paul Beckingham
b0e18de1b6 - Fixed bug where the onChangeCallback was being called twice for "task list" after "task do xx". 2008-10-25 02:09:31 -04:00
Paul Beckingham
2a5736b876 - TDB::gc now only calls overwritePending when something changed.
- Removed TDB::gc calls from report.cpp.
- Made TDB::gc calls from task.cpp whenever necessary.
- Disabled TDB::gc calls when running a report for the sake of the shadow file.
- Shadow file overwrite now implemented using ostream, instead of cout.rdbuf trickery, for the well-being of cygwin.
2008-10-24 23:15:52 -04:00
Paul Beckingham
b176591261 - Converted reports/command to return strings 2008-10-23 00:44:21 -04:00
Paul Beckingham
a5ec1e4b27 - Added support for shadow file, shadow file command
- Added support for TDB::onChange callback
2008-10-09 17:19:57 -04:00
Paul Beckingham
d837a25be7 - Removed support for the "command.logging" configuration variable and
the "task usage" command.
2008-09-20 20:46:20 -04:00