diff options
author | Antony Kellermann | 2018-08-28 13:28:50 -0400 |
---|---|---|
committer | Antony Kellermann | 2018-08-28 13:28:50 -0400 |
commit | 94b58a1df5c69b425d7bd1ad16633a54fbaa749c (patch) | |
tree | 10aa2c39f6f5c647885704cc0650ce0b4ecc2545 | |
parent | 76c21390503fce8c5193e928e22813c2b0c43ce6 (diff) | |
download | aur-94b58a1df5c69b425d7bd1ad16633a54fbaa749c.tar.gz |
Implemented 60 second minimum reload timer
-rw-r--r-- | gtk_win.c | 7 | ||||
-rw-r--r-- | gtk_win.h | 1 |
2 files changed, 8 insertions, 0 deletions
diff --git a/gtk_win.c b/gtk_win.c index 238232ce1782..f95eaf8b0284 100644 --- a/gtk_win.c +++ b/gtk_win.c @@ -12,6 +12,7 @@ void window_main(void) { app.portfolio_string = NULL; app.builder = gtk_builder_new(); app.password[0] = '\0'; + app.last_reload = 0; // Read glade XML config file gtk_builder_add_from_file(app.builder, "/usr/share/tick/window_main.glade", NULL); @@ -76,6 +77,11 @@ void check_list_add_api_data(void) { } void on_load_button_clicked(GtkButton* button) { + time_t now; + time(&now); + if (difftime(now, app.last_reload) <= 60) + return; + if (strcmp(gtk_button_get_label(button), "Reload") == 0) { // Reload portfolio list_store_update(); return; @@ -134,6 +140,7 @@ void on_load_button_clicked(GtkButton* button) { app.portfolio_data = portfolio_info_array_init_from_portfolio_string(app.portfolio_string); if (app.portfolio_data != NULL) { // If file is not a length 0 JSON array check_list_create_from_string(); + app.last_reload = now; api_info_array_store_data_batch(app.portfolio_data, CHECK); check_list_add_api_data(); } diff --git a/gtk_win.h b/gtk_win.h index 919c8a3350e8..bb8afca32c5a 100644 --- a/gtk_win.h +++ b/gtk_win.h @@ -21,6 +21,7 @@ typedef struct app_data { String* portfolio_string; GtkBuilder* builder; char password[PASS_MAX]; + time_t last_reload; } App_Data; /** |