Commit graph

1666 commits

Author SHA1 Message Date
Thomas Lauf
c0039b6ff5 Add convenience method to set range with two dates 2018-09-19 06:32:56 +02:00
Thomas Lauf
9dd106116c Let Interval inherit from Range
- Remove 1 level of indirection
- Remove public field Interval::range (instead use interval directly)
2018-09-19 06:32:56 +02:00
Thomas Lauf
9e1e604108 Rename Range::overlap to Range::overlaps 2018-09-18 21:06:33 +02:00
Thomas Lauf
c48063dec7 Remove unnecessary check from Range::startsWithin/endsWithin 2018-09-18 21:06:33 +02:00
Thomas Lauf
6f79313519 Simplify Range::encloses with Range::startsWithin && Range::endsWithin 2018-09-18 21:06:33 +02:00
Thomas Lauf
1a54bb5c37 Fix corner cases in startsWithin/endsWithin 2018-09-18 21:06:33 +02:00
Thomas Lauf
bd65b67248 Add endsWithin(Range...)
- use startsWithin/endsWithin in autoAdjust(...)
- use Range::contains in startsWithin/endsWithin
2018-09-18 21:06:33 +02:00
Thomas Lauf
592e2853e0 Move debug output about overlaps where it matters 2018-09-18 21:06:33 +02:00
Thomas Lauf
f640eb4bc5 Remove splitting of intervals in storage files
- intervals are stored within the datafile which contains the starting date
- convert segmentContains to startsWithin and unify it
- Closes #174
2018-09-18 21:06:33 +02:00
Janik Rabe
fef522c53d Fix getTracked() when last interval is empty 2018-09-18 21:06:05 +02:00
Janik Rabe
4325ffa136 Handle zero-width intervals correctly
Fixes #101
Fixes #165
Closes #164
2018-09-18 21:04:09 +02:00
Thomas Lauf
0273987ae6 Fix NPE when interval has no tags 2018-09-18 20:51:14 +02:00
Thomas Lauf
4f5eb6eb0c Make warning about new tags adhere to :quiet hint 2018-09-07 10:13:22 +02:00
Thomas Lauf
9b5793206f Remove old warnOnNewTag function 2018-09-07 10:13:22 +02:00
Thomas Lauf
f62767bc3d Some code clean-up 2018-09-07 10:13:22 +02:00
Thomas Lauf
a7da0438ca Connect database and tag-info database 2018-09-07 10:13:22 +02:00
Thomas Lauf
b32237cfb8 Add a toJson method to database
- only tag information for tags with count>0 is written out
2018-09-07 10:13:22 +02:00
Thomas Lauf
bfde36a740 Make counter in TagInfo an unsigned int 2018-09-07 10:13:22 +02:00
Thomas Lauf
7d93e23a20 Introduce add function 2018-09-07 10:13:22 +02:00
Thomas Lauf
d974742654 Add a tag database 2018-09-07 10:13:22 +02:00
Thomas Lauf
961d0212ba #167 Allow intervals to be shortened to zero width
Closes #167
2018-08-10 18:02:41 +02:00
Janik Rabe
7bc2002f47 Database: Fix an incorrect comment 2018-08-08 21:28:38 +02:00
Janik Rabe
8b48085ee8 CmdHelp: Add missing closing bracket 2018-08-08 21:13:08 +02:00
Janik Rabe
d54bc6ba55 CmdSummary: Do not extend end time beyond end of day
When showing a summary, set the end time to the current time on the
last day only.  This prevents over-counting of time when a tracked
interval covers multiple days.

Fixes test TestSummary.test_with_open_interval when the system time
is between midnight and 01:00 AM.
2018-08-08 07:12:40 +02:00
Janik Rabe
616ca4b884 #157: Change error message for non-positive IDs 2018-08-08 07:06:42 +02:00
Janik Rabe
48aa9cfdc0 CLI: Ensure IDs are non-zero
This fixes out-of-bounds accesses in several subcommands when the
invalid ID @0 is passed to the program.
2018-08-08 07:06:42 +02:00
Thomas Lauf
9489ed5b70 Fix error message 2018-07-31 09:48:03 +02:00
Thomas Lauf
1dcefd6a31 Update libshared to 230c63bd385b2a5a6ee5eb431df54b0c5c229b4d 2018-07-25 21:57:33 +02:00
Thomas Lauf
d230e40313 #9 TI-1: Make undo work with config actions 2018-07-24 18:40:11 +02:00
Thomas Lauf
0688e3ba07 #9 TI-1: Move static functions (un)setConfigVariable(...) to Rules 2018-07-24 08:07:10 +02:00
Thomas Lauf
cd7755bc6c #9 TI-1: Make undo work with interval actions 2018-07-23 22:12:11 +02:00
Thomas Lauf
cfdd3680a4 #9 TI-1: Move starting and stopping of transactions to commands 2018-07-22 00:01:31 +02:00
Thomas Lauf
29e305033b #9 TI-1: Make undo work with interval actions
- Add creator method to create interval from JSON string
- Add getters for UndoAction fields
- Make Database::modifyInterval work with empty intervals (i.e. ignore them at the respective command)
2018-07-21 22:35:17 +02:00
Thomas Lauf
86258cdb93 #9 TI-1: Add informative output to undo command 2018-07-19 20:03:01 +02:00
Thomas Lauf
76ee22e7e5 #9 TI-1: Add TransactionFactory
- CmdUndo pops last transaction from array (and applies undo actions - tbd)
- TransactionFactory reads contents of undo.data into transaction array
- Transaction array is written back to undo.data
2018-07-19 19:56:10 +02:00
Thomas Lauf
d8a4b8ff43 #9 TI-1 Add a skeleton undo command 2018-07-19 11:58:43 +02:00
Thomas Lauf
21b4b6242c #9 TI-1: Merge if statements 2018-07-18 22:43:32 +02:00
Thomas Lauf
af621a3eef #9 TI-1: Return early, use return value of delegated CmdShow 2018-07-18 22:32:05 +02:00
Thomas Lauf
36134ca5fc #9 TI-1: Fix application name in comments 2018-07-18 22:25:14 +02:00
Thomas Lauf
b32945a925 #9 TI-1: Reformat function definitions 2018-07-18 22:22:02 +02:00
Thomas Lauf
881d9590da #9 TI-1: Add wrapper methods for config and interval undo-actions
- make recordUndoAction private
2018-07-18 21:49:18 +02:00
Thomas Lauf
b8b0bbfeaf #9 TI-1: Rename undoTxn*-functions 2018-07-18 21:38:06 +02:00
Thomas Lauf
f031bd9d22 #9 TI-1: Use Transaction and UndoAction in Database
- Add toString-Methods to Transaction and UndoAction
2018-07-18 21:09:07 +02:00
Thomas Lauf
2fdc3eba4a #9 TI-1: Add data types Transaction and UndoAction 2018-07-18 21:04:20 +02:00
Thomas Lauf
b1421579ab Update ChangeLog, AUTHORS, and Copyright 2018-05-19 11:35:14 +02:00
Thomas Lauf
543848ae68 Take change of month into account when calculating interval widths
- Fixes #135: Task at month end not getting displayed
2018-05-19 11:35:14 +02:00
Thomas Lauf
10dfa64cfa #21 Add implicit @1 to command 'untag'
- Extend interval assertions
- Add interval assertions to tests for command 'tag'
- Add interval assertions to tests for command 'untag'
2018-05-13 17:56:55 +02:00
Thomas Lauf
c595132a9c #21 Use open interval when no id given
- Add test
- Special handling if database empty
2018-05-13 17:56:55 +02:00
Thomas Lauf
4afd14ee2e #21 Let command 'tag' fail on no tags given
- Add test
2018-05-13 17:56:55 +02:00
Thomas Lauf
784ecbbfd9 #21 Move check for empty ID list
- Sharpen error message
- Add test
2018-05-13 17:56:55 +02:00