aboutsummarylogtreecommitdiffstats
diff options
context:
space:
mode:
authorAntony Kellermann2018-08-28 13:28:50 -0400
committerAntony Kellermann2018-08-28 13:28:50 -0400
commit94b58a1df5c69b425d7bd1ad16633a54fbaa749c (patch)
tree10aa2c39f6f5c647885704cc0650ce0b4ecc2545
parent76c21390503fce8c5193e928e22813c2b0c43ce6 (diff)
downloadaur-94b58a1df5c69b425d7bd1ad16633a54fbaa749c.tar.gz
Implemented 60 second minimum reload timer
-rw-r--r--gtk_win.c7
-rw-r--r--gtk_win.h1
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;
/**