summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--timetracker.c65
1 files changed, 53 insertions, 12 deletions
diff --git a/timetracker.c b/timetracker.c
index 508961c..388d6d0 100644
--- a/timetracker.c
+++ b/timetracker.c
@@ -27,15 +27,15 @@ void print_new(WINDOW *win)
wrefresh(win);
}
-void print_activities(WINDOW *win)
+void print_activities(WINDOW *win, int sel, int off)
{
- int sel;
-
for (int i = 0; activities[i].start; i++) {
char name[100];
char time[7];
- long dur = difftime(activities[i].end, activities[i].start);
- snprintf(name, 100, "%-*s", COLS - 6, activities[i].name);
+ long dur = difftime(activities[i + off].end,
+ activities[i + off].start);
+ snprintf(name, 100, "%-*s", COLS - 6,
+ activities[i + off].name);
snprintf(time, 7, "%0.1f ", dur / 3600.0f);
strcat(name, time);
if (i == sel) {
@@ -138,15 +138,29 @@ void stop_new()
{
new.end = time(NULL);
- for(int i = 0; i < 100; i++) {
+ for (int i = 0; i < 100; i++)
if (!activities[i].start) {
activities[i] = new;
- strcpy(new.name, "N/A");
break;
}
- }
save(create_files());
+
+ strcpy(new.name, "N/A");
+ new.start = time (NULL);
+}
+
+void delete_activity(int i)
+{
+ activities[i].name[0] = 0;
+ activities[i].start = 0;
+ activities[i].end = 0;
+ for (i + 1; activities[i + 1].start; i++) {
+ activities[i] = activities[i + 1];
+ activities[i + 1].name[0] = 0;
+ activities[i + 1].start = 0;
+ activities[i + 1].end = 0;