Skip to content
Jason C. McDonald edited this page Jan 9, 2020 · 1 revision

An Activity is a description of the task associated with the running timer. In 2.0, this is just a string, but it will need to be expanded out further to accommodate reusability.

Activity Object

An Activity object should consist of the following:

  • Category: A reusable string describing the type of task being performed.
  • Note: A description of the particular task being performed.

Data Storage

Activities will be stored in the user profile. Category will be extracted from both the time log file and the user profile file. Notes will be extracted only from the user profile file.

An Activity will be stored in the user profile file on a separate line, preceded by !:

!CategoryName|Note
!AnotherCategory|
!ThirdCategory|Another Note

The Note field is not necessary; if it's blank, just the Category will be present.

Time logs will store Category as their third field, moving Note to fourth:

2020-1-3-11-20-29|00:20:46|Timecard|Planning new features

If a three-field log is opened, the log file will still be processed using the third field as the fourth (Note), and assigning an empty Category. When the file is saved again, it will insert the additional bar character to update to the new format. This way, we can still use existing log files.

Interface

The activity note text box will need to be replaced with:

  • Category field/drop-down. All Categories ever used in the active log file are used.
  • Note field/drop-down. If no Category is selected, shows all saved Activities, and allows setting both Category and Note at the same time.
  • Add/Remove button: If the Note is not in the list, save the current Category and Note. (Note can be blank, thereby just adding a Category.) If the Note is in the list, it removes it. Does not work directly on Category; once all Activities and log entries for a Category are removed, it will disappear automatically.
Clone this wiki locally