From b4a30ab2e2b33c7806939f0525d205e11358969a Mon Sep 17 00:00:00 2001 From: Ivan Yarcev Date: Wed, 29 Jan 2025 10:52:20 +0600 Subject: [PATCH] Added time syncronizing success status messageg --- source/ubl-settings-datetime.c | 20 ++++++++++++++------ source/ubl-settings-datetime.h | 5 +++-- 2 files changed, 17 insertions(+), 8 deletions(-) diff --git a/source/ubl-settings-datetime.c b/source/ubl-settings-datetime.c index 844c233..9421342 100644 --- a/source/ubl-settings-datetime.c +++ b/source/ubl-settings-datetime.c @@ -313,10 +313,9 @@ struct datetime_arg { const char *date; }; -void *on_sync_error(void*){ +gboolean on_sync_error(void*){ yon_ubl_status_box_render(SYNC_ERROR_LABEL,BACKGROUND_IMAGE_FAIL_TYPE); - g_thread_exit(NULL); - return NULL; + return G_SOURCE_REMOVE; } void yon_date_tooltip_update(main_window *widgets){ @@ -337,6 +336,13 @@ void on_date_format_changed(GtkWidget *, main_window *widgets){ yon_date_tooltip_update(widgets); } +gboolean on_operation_success(void*){ + textdomain(template_ui_LocaleName); + yon_ubl_status_box_render(SUCCESS_LABEL,BACKGROUND_IMAGE_SUCCESS_TYPE); + textdomain(LocaleName); + return G_SOURCE_REMOVE; +} + void *yon_sync_thread_start(void *arg){ struct datetime_arg *data = (struct datetime_arg*)arg; char *command_time = time_sync_command(data->time); @@ -345,8 +351,10 @@ void *yon_sync_thread_start(void *arg){ free(command_time); free(command_date); if (system(yon_debug_output("%s\n",command))){ - g_thread_new("status_thread",(GThreadFunc)on_sync_error,NULL); - }; + gdk_threads_add_idle((GSourceFunc)on_sync_error,NULL); + } else { + gdk_threads_add_idle((GSourceFunc)on_operation_success,NULL); + } pthread_exit(NULL); } @@ -419,7 +427,7 @@ void on_ntp_sync(GtkWidget *, main_window *widgets){ void *yon_sync_hardware_thread_start(void*){ if (system(hardware_datetime_sync_command)){ - g_thread_new("status_thread",(GThreadFunc)on_sync_error,NULL); + gdk_threads_add_idle((GSourceFunc)on_sync_error,NULL); } pthread_exit(NULL); } diff --git a/source/ubl-settings-datetime.h b/source/ubl-settings-datetime.h index 59f3bc5..75ce3e2 100644 --- a/source/ubl-settings-datetime.h +++ b/source/ubl-settings-datetime.h @@ -109,7 +109,7 @@ void on_region_changed(GtkComboBox *self, main_window *widgets); void yon_interface_update(main_window *widgets); -void *on_sync_error(void*); +gboolean on_sync_error(void*); void *yon_sync_hardware_thread_start(void*); void *yon_sync_thread_start(void*); @@ -150,4 +150,5 @@ int yon_char_parsed_compare(const void *a, const void *b); void on_save_done(main_window *widgets, config_str output, int size); void on_date_format_changed(GtkWidget *, main_window *widgets); -void yon_date_tooltip_update(main_window *widgets); \ No newline at end of file +void yon_date_tooltip_update(main_window *widgets); +gboolean on_operation_success(void*); \ No newline at end of file