diff --git a/source/ubl-settings-datetime.c b/source/ubl-settings-datetime.c index edc9b8f..3648b31 100644 --- a/source/ubl-settings-datetime.c +++ b/source/ubl-settings-datetime.c @@ -83,22 +83,39 @@ void yon_save_parameters(GtkWidget *self, main_window *widgets){ } -void on_config_save(GtkWidget *){ +int check_input(main_window *widgets){ + int ntp_active = gtk_combo_box_get_active(GTK_COMBO_BOX(widgets->DHCPCombo)); + if (ntp_active == 4){ + const char *ntp = gtk_entry_get_text(GTK_ENTRY(widgets->NTPEntry)); + if (yon_char_is_empty(ntp)){ + yon_ubl_status_box_render(EMPTY_IMPORTANT_LABEL,BACKGROUND_IMAGE_FAIL_TYPE); + yon_ubl_status_highlight_incorrect(widgets->NTPEntry); + return 0; + } + } + return 1; +} + +void on_config_save(GtkWidget *,main_window *widgets){ + if (!check_input(widgets)) return; main_config.save_config=2; yon_save_proceed(NULL,YON_CONFIG_BOTH,config_get_global_command,NULL); } -void on_config_save_global(GtkWidget *){ +void on_config_save_global(GtkWidget *,main_window *widgets){ + if (!check_input(widgets)) return; main_config.save_config=0; yon_save_proceed(NULL,YON_CONFIG_GLOBAL,config_get_global_command,NULL); } -void on_config_save_local(GtkWidget *){ +void on_config_save_local(GtkWidget *,main_window *widgets){ + if (!check_input(widgets)) return; main_config.save_config=1; yon_save_proceed(NULL,YON_CONFIG_LOCAL,config_get_local_command,NULL); } -void on_config_save_custom(GtkWidget *){ +void on_config_save_custom(GtkWidget *,main_window *widgets){ + if (!check_input(widgets)) return; main_config.save_config=3; yon_save_proceed(NULL,YON_CONFIG_CUSTOM,config_get_global_command,NULL); } diff --git a/source/ubl-settings-datetime.h b/source/ubl-settings-datetime.h index 7a5fb19..527c5c9 100644 --- a/source/ubl-settings-datetime.h +++ b/source/ubl-settings-datetime.h @@ -124,13 +124,15 @@ void on_ntp_sync(GtkWidget *, main_window *widgets); void yon_save_parameters(GtkWidget *self,main_window *widgets); -void on_config_save(GtkWidget *); +int check_input(main_window *widgets); -void on_config_save_global(GtkWidget *); +void on_config_save(GtkWidget *,main_window *widgets); -void on_config_save_local(GtkWidget *); +void on_config_save_global(GtkWidget *,main_window *widgets); -void on_config_save_custom(GtkWidget *); +void on_config_save_local(GtkWidget *,main_window *widgets); + +void on_config_save_custom(GtkWidget *,main_window *widgets); void on_config_load_global(); diff --git a/ubl-settings-datetime.css b/ubl-settings-datetime.css index f60dc43..c148da2 100644 --- a/ubl-settings-datetime.css +++ b/ubl-settings-datetime.css @@ -5,6 +5,18 @@ .boxInfoMessOK{ background-color: #f3f0ac; } +.errorBox { + border-width: 2px; + border-color: #ea9999; + border-style:solid; +} + +.chosenOutline{ + transition: 0ms; + border-width: 1px; + border-color: #f3f0ac; + border-style:solid; +} .textHead{ text-shadow: 2px 2px @theme_bg_color; color: @theme_text_color;