Added day switching.
This commit is contained in:
1
.gitignore
vendored
1
.gitignore
vendored
@@ -2,3 +2,4 @@ main
|
|||||||
main.dSYM
|
main.dSYM
|
||||||
third_party
|
third_party
|
||||||
sourcecodepro.ttf
|
sourcecodepro.ttf
|
||||||
|
.DS_Store
|
||||||
|
|||||||
47
main.c
47
main.c
@@ -177,10 +177,8 @@ void switch_activity(activity *activities, U32 *current_activity, activity_type
|
|||||||
|
|
||||||
int main(int argc, char *argv[])
|
int main(int argc, char *argv[])
|
||||||
{
|
{
|
||||||
(void)argc;
|
|
||||||
(void)argv;
|
|
||||||
|
|
||||||
activity activities[100];
|
activity activities[100];
|
||||||
|
memset(activities, 0, sizeof(activities));
|
||||||
U32 current_activity = 0;
|
U32 current_activity = 0;
|
||||||
|
|
||||||
Activity_Stat activities_stats[activity_type_COUNT];
|
Activity_Stat activities_stats[activity_type_COUNT];
|
||||||
@@ -306,7 +304,7 @@ int main(int argc, char *argv[])
|
|||||||
|
|
||||||
// Initialize to default activity at the start.
|
// Initialize to default activity at the start.
|
||||||
// NOTE: We can potentially make the default a non-state, so the users
|
// NOTE: We can potentially make the default a non-state, so the users
|
||||||
// choos themselves.
|
// choose themselves.
|
||||||
activities[current_activity].type = other;
|
activities[current_activity].type = other;
|
||||||
activities[current_activity].color = RED;
|
activities[current_activity].color = RED;
|
||||||
activities[current_activity].began = now();
|
activities[current_activity].began = now();
|
||||||
@@ -320,6 +318,47 @@ int main(int argc, char *argv[])
|
|||||||
while(!WindowShouldClose()) {
|
while(!WindowShouldClose()) {
|
||||||
U64 now_s = now();
|
U64 now_s = now();
|
||||||
|
|
||||||
|
// NOTE: WARNING: TODO: Temporary solution; to be cleaned up.
|
||||||
|
if(now_s >= upper_bound_s) {
|
||||||
|
U64 secs = now();
|
||||||
|
|
||||||
|
t = localtime((time_t *)(&secs));
|
||||||
|
t->tm_hour = 0;
|
||||||
|
t->tm_min = 0;
|
||||||
|
t->tm_sec = 0;
|
||||||
|
|
||||||
|
time_t ts = mktime(t);
|
||||||
|
if(ts == (time_t)-1) {
|
||||||
|
fprintf(stderr, "mktime failed.\n");
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
lower_bound_s = (U64)ts;
|
||||||
|
upper_bound_s = lower_bound_s + 86400;
|
||||||
|
|
||||||
|
fclose(f);
|
||||||
|
|
||||||
|
strftime(date_buffer, sizeof(date_buffer), "%Y_%m_%d", t);
|
||||||
|
snprintf(file_buffer, sizeof(file_buffer), "%s/%s", dir_buffer,
|
||||||
|
date_buffer);
|
||||||
|
|
||||||
|
f = fopen(file_buffer, "w+");
|
||||||
|
if(!f) {
|
||||||
|
fprintf(stderr, "Failed to create file: %s\n", file_buffer);
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
activity_type type = activities[current_activity].type;
|
||||||
|
memset(activities, 0, sizeof(activities));
|
||||||
|
memset(activities_stats, 0, sizeof(activities_stats));
|
||||||
|
current_activity = 0;
|
||||||
|
|
||||||
|
activities[current_activity].type = type;
|
||||||
|
activities[current_activity].color =
|
||||||
|
activity_type_color_representation[type];
|
||||||
|
activities[current_activity].began = now();
|
||||||
|
}
|
||||||
|
|
||||||
window_w = GetScreenWidth();
|
window_w = GetScreenWidth();
|
||||||
window_h = GetScreenHeight();
|
window_h = GetScreenHeight();
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user