Commit graph

228 commits

Author SHA1 Message Date
Paul Beckingham
df38d5aaa0 Code Cleanup
- Relocated longUsage and shortUsage to report.cpp, where they belong,
  which has the positive side effect of allowing all the compiled unit
  tests to link.
2009-06-10 21:51:01 -04:00
Paul Beckingham
71f4749d56 Code Cleanup
- Renamed files task.h -> main.h, task.cpp -> main.cpp.  This is to
  prepare for the next rename, which addresses the OpenBSD bug.
- Removed utf8.h, utf8.cpp from Makefile.am, which were inadvertantly
  added.
2009-06-10 21:20:00 -04:00
Paul Beckingham
2da4f8ba7a Enhancements - Context::getWidth
- Added help function to reduce general code size.
2009-06-10 00:35:37 -04:00
Paul Beckingham
f3f77a4c78 Enhancement - report stubs
- Stubbed all non-1.8.0 reports.
- Updated all handler signatures.
2009-06-09 22:48:03 -04:00
Paul Beckingham
a694ac05b1 Enhancement - colors report
- Implemented colors report.
- Commented out all other commands and reports.
- Eliminated obsolete findT function.
2009-06-09 22:21:56 -04:00
Paul Beckingham
190c6b53fc Enhancements - Config
- Added processing for context.config overrides, and associated
  argc,argv handling.
- Bug fix in filt.t.cpp, but three tests still fail.  Too big a
  distraction to fix right now.
- Warning: build is not broken, but task is broken.
2009-06-07 14:58:32 -04:00
Paul Beckingham
76aa3c535e Aesthetics - stats report
- Widened the gap between columns for readability.
2009-06-06 14:09:34 -04:00
Paul Beckingham
ac871d9e8d Enhancement - new age_compact column
- Added support for a new custom report column called "age_compact",
  which is a more compact version of "age" (thanks to T. Charles Yun).
2009-06-03 02:19:25 -04:00
Paul Beckingham
66bd5fc3c0 Code Cleanup
- Integrated Context.config.
- Eliminated Config& as a function argument.
- Added extern references to Context where needed.
2009-06-03 02:03:49 -04:00
Paul Beckingham
4ede817ead Code Cleanup - removed formatTimeDeltaDays
- Removed util.cpp/formatTimeDeltaDays, as it was a replica of
  util.cpp/formatSeconds with a different signature.  Worthless.
2009-06-03 00:58:49 -04:00
Paul Beckingham
7248267a72 Enhancements - T2 & Subst
- Implemented more helper functions in T2, prior to integration.
- Completed Subst.
- Completed Subst unit tests.
- Eliminated T::getAnnotationCount.
2009-05-31 23:43:11 -04:00
Paul Beckingham
7aace1b3db Patch - Support tag exclusion filtering
- Now supports "-tag" in filters to filter out tasks that do not
  have the specified tag (thanks to Chris Pride).
- Added unit tests to prevent regression.
- Updated the filter docs to include examples.
2009-05-28 11:30:30 -04:00
Paul Beckingham
5ff44e2f33 Patch - Display week number in calendar report
From 9eec77085dd07940c02d9071bf2a374c9a9b54c8 Mon Sep 17 00:00:00 2001
From: Federico Hernandez <ultrafredde@gmail.com>
Date: Mon, 25 May 2009 09:28:38 +0200
Subject: [PATCH 2/3] Display dummy week of year number

From e2fc5d537863672c53ede96607508270f02aabaf Mon Sep 17 00:00:00 2001
From: Federico Hernandez <ultrafredde@gmail.com>
Date: Mon, 25 May 2009 13:43:14 +0200
Subject: [PATCH 3/3] Display weeknumbers in 'task cal' output
2009-05-25 10:56:24 -04:00
Paul Beckingham
020604334e Patch - Configurable week start day.
- Added ChangeLog entry.
- Modified timesheet report error message on incorrect weekstart
  value to match that of calendar.
2009-05-24 20:28:07 -04:00
Paul Beckingham
d09630a3a0 Patch - Configurable week start day.
From 78fef7b934f6bcac7662c1646e2dd1f8ce4f3eca Mon Sep 17 00:00:00 2001
From: Federico Hernandez <ultrafredde@gmail.com>
Date: Mon, 25 May 2009 01:14:06 +0200
Subject: [PATCH] Configurable weekstart for task cal display
2009-05-24 20:14:49 -04:00
Paul Beckingham
0eff6fa2b1 Code Cleanup - obsolete code
- Removed obsolete T::removeAttributes.
- Removed obsolete T::sequenceContains.
- Modified handleInfo so it no longer uses T::sequenceContains, and
  instead uses filterSequence.
2009-05-23 18:30:51 -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
dbc98c1230 Patch
From a08f3f919f2f4b06503004ca764339918ee5d000 Mon Sep 17 00:00:00 2001
From: Johan Friis <johanfriis@gmail.com>
Date: Fri, 15 May 2009 16:14:26 +0100
Subject: [PATCH] fontunderline boolean config option

Added an option to turn on/off the drawing of table headers with
underlined font. If off, the default asciidashes will be used.
It defaults to on.
2009-05-15 21:02:06 -04:00
Paul Beckingham
1da111ad6e Enhancement - info missing color
- Fixed bug whereby the info report was not reporting fg and bg
  color attributes.
2009-05-13 23:59:22 -04:00
Paul Beckingham
fd823871f0 Enhancement - timesheet report
- Version 1 of the timesheet report.  Displays a specified number
  of weeks tasks, both started and completed.
2009-05-11 23:07:50 -04:00
Paul Beckingham
4ab665b876 Enhancement - timesheet report
- First pass at a timesheet report.  Needs details and formatting
  improvements.
2009-05-11 00:01:42 -04:00
Paul Beckingham
de4194479a Bug Fix - ghistory ignoring deletions
- Fixed bug that prevented months with only deletions from being
  included in the report.
2009-05-10 01:03:53 -04:00
Paul Beckingham
08188fb811 Enhancement - stats report
- Reimplemented the stats report so that it uses the Table object,
  and therefore has the same aesthetics as the other reports.
2009-05-10 00:40:56 -04:00
Paul Beckingham
1c736a319d Enhancement - Custom report limit override
- If a custom report has a specified limit to the number of tasks
  it shows, then that limit may be  overridden by specifying a new
  quantity on the command line.
- Added unit tests to verify expected behavior.
- Updated documentation to reflect new functionality.
- Removed obsolete documentation references to an "oldest" and
  "newest" configuration variable.
2009-05-09 22:32:40 -04:00
Paul Beckingham
c61a295df7 Merge branch '1.7.0' into timesheet 2009-05-07 00:44:12 -04:00
Paul Beckingham
aec64afc5c Enhancements, Bug Fix
- Removed obsolete usage.html page.
- Added filterSequence helper function to subset tasks to the affected
  sequence of tasks.
- Added series of helper functions to facilitate applying modifications
  to tasks, allowing more commands the ability to modify tasks in all
  ways.
- Added calls to helper functions for append and modify commands.
- Fixed bug that would mistakenly validate the configuration variable
  "bcd" if there was a valid "abcd", "bcde" or "abcde" configuration
  variable.
- Made the messages generated by task after a command is complete
  more verbose and consistent across all commands.
- Fixed bug that caused the ghistory command to skip months where no
  tasks were added, but were deleted or done.  This is the same bug
  that was fixed in 1.6.0 for the history report.  So much for cut
  and paste.
- Allowed all commands that take an ID to now operate on a sequence.
2009-05-07 00:33:17 -04:00
Paul Beckingham
7fea1f6a63 Merge branch 'sequences' into 1.7.0 2009-05-05 02:16:24 -04:00
Paul Beckingham
b67b27f5cd Enhancement - delete sequences
- Implemented sequences for delete command
- Renamed T::inSequence to T::sequenceContains, which makes the code
  read more naturally.
2009-05-05 02:14:43 -04:00
Paul Beckingham
fb674a5626 Enhancement - parse sequence like 1,3,5-10 for IDs
- Now parses sequences as well as IDs.
- Sequences implemented for the info report.
2009-05-05 01:59:07 -04:00
Paul Beckingham
410a63fe14 Enhancement - info on recurring tasks
- Added recurrence information (parent, mask, imask, recur, until)
  to the info report when the task is either a recurring task or a
  synthetic task.
2009-05-05 01:03:07 -04:00
Paul Beckingham
57a11a74e1 New Report - timesheet
- Added new timesheet report framework
- Began adding logic pseudo-code
- Added some documentation
2009-05-03 11:32:04 -04:00
Paul Beckingham
01e5e773eb Enhancement - stats report
- Rearranged sequence of stats report to make more sense, with
  counts first and statistics (derived data) last.
2009-04-12 02:10:05 -04:00
Paul Beckingham
b4f031e4a7 New report columns
- Added support for tag_indicator column.
- Added support for recurrence_indicator column.
2009-03-30 00:29:28 -04:00
Paul Beckingham
8ab3c1cc3c Bug Fix
- Fixed bug whereby if no columns labels were specified, it was
  considered a column count mismatch.
- Fixed unit tests to use m/d/Y not M/D/Y dateformat.
2009-03-29 21:27:48 -04:00
Paul Beckingham
7e2bd166fa Code Cleanup
- Guaranteed the correct Config::get call via cast.  There is some
  doubt as to the correct call being made otherwise.  This is not a
  very likely fix, but does eliminate one possibility.
2009-03-29 11:08:32 -04:00
Paul Beckingham
41b60f88d3 Custom Report Labels
- Added the ability to override the labels of custom reports (thanks
  to T. Charles Yun).
2009-03-27 23:51:20 -04:00
Paul Beckingham
5ec0d569a9 Enhancement - annotations
- Added annotated description to the active, overdue and next reports.
2009-03-24 23:15:55 -04:00
Paul Beckingham
3979c3283e Enhancement - annotations
- Added support for "annotate" command to annotate existing tasks.
- Bumped file format to version 3, due to the annotations.
- Added unit tests to verify that annotations work.
- Changed 'description' column everywhere to include annotations.
- Added 'description_only' column to exclude the annotations.
- Fixed bug in Table.cpp that calculated the width of multi-line
  columns by using the cell length, instead of the length of the
  longest individual line.
- Updated documentation with new feature.
- Updated documentation with new column.
- Enhanced t.t unit tests to cover format 43
2009-03-24 01:57:12 -04:00
Paul Beckingham
429d0f3071 Portability - Fedora 9
- Compiler pointed out an expression (a || b && c) that clearly needs
  parentheses around (a || b).  Gcc on other OSes don't mention this.
2009-03-15 16:14:16 -04:00
Paul Beckingham
e33a918c24 Bug Fix - summary report
- Fixed bug in summary report where recently completed (and therefore
  not yet in the completed.data file) tasks were not included in the
  report.
2009-03-15 11:37:05 -04:00
Paul Beckingham
2d2bd47075 Bug Fix - summary report included deleted tasks
- Applied patch from Benjamin Tegarden to exclude deleted tasks from
  the summary report.
2009-03-14 13:47:48 -04:00
Paul Beckingham
64cfc26ff3 Enhanced Stats Report
- now reports number of unique tags (given filtering)
- now reports number of unique projects (given filtering)
2009-03-14 12:04:25 -04:00
Paul Beckingham
c35a764019 Custom Reports - oldest, newest
- Added support for the "report.X.limit" configuration variable, to
  restrict the number of rows a report generates.
- Added support for Table::render (limit) to limit the number of rows
  that are rendered.
- Removed "oldest" and "newest" report code.
- Added "oldest" and "newest" custom report details to Config.cpp
- Updated various documentation.
2009-03-12 22:34:45 -04:00
Paul Beckingham
1f45e47e36 Bug Fix - history/ghistory triggered only by add
- Fixed bug whereby if a new month rolls around, and no task is added,
  no row of data is shown in the history or ghistory reports, even
  though tasks may have been completed or deleted ni the new month.
2009-03-10 16:37:35 -04:00
Paul Beckingham
dac1942cad Bug Fix - calendar
- Task now displays as many calendars will fit across the window,
  unless a lower value is specified in the "monthsperline" configuration
  variable.
- Task now obeys the "color" configuration variable when determining
  whether to add a legend to the calendar output.
2009-03-10 16:12:59 -04:00
Paul Beckingham
17de9fec9f New Column - recur
- Added new column 'recur' for use in custom reports.
- Implemented Table::ascendingPeriod, Table::descendingPeriod allowing
  sorting on the recur column.
- Added unit tests to both use the new column and test the sorting.
- Code cleanup.
2009-03-09 22:01:08 -04:00
Paul Beckingham
28e997691f Unit Tests - repair
- Added auto right trim to all table rows, which is a much more
  efficient way of doing what Table::optimize was doing.
- Table::optimize is now a nop.
2009-03-08 22:56:47 -04:00
Paul Beckingham
3f418c6fdc Performance
- Made Table::optimize a public method.
- Table::optimize called only from handleReportGHistory, where it's
  needed.
- Retaining benchmark.txt, to allow further improvements.
2009-03-08 21:29:55 -04:00
Paul Beckingham
0362b41f3b Performance
- Added Timer class to display high resolution timing information.
- Found terrible bug in Table::optimize that was taking up 99.7%,
  on average, of the Table::rendering time, including sorting.  This
  fix naturally causes a 187-fold speedup of rendering.
- Changed report.cpp in handleCustomReport to only load pending tasks,
  instead of all pending tasks.  Subtle, but important difference.
2009-03-08 20:49:33 -04:00
Paul Beckingham
6a7c66aa05 Unit Tests - color.disable color.pri config.obsolete
- Added unit tests to cover automatic colorization by priority.
- Added unit tests to cover automatic disabling of color when !isatty.
- Added unit tests to cover display of unsupported configuration
  variable in the 'version' report.
- Added support the '_forcecolor' configuration variable to allow the
  possibility of unit tests that test color support, yet redirect
  output to a file.  This configuration variable will not be
  documented.
2009-03-07 00:14:58 -05:00