|
|
|
|
@ -47,7 +47,9 @@ void yon_save_parameters(GtkWidget *self, main_window *widgets){
|
|
|
|
|
break;
|
|
|
|
|
case 3:yon_config_register(NTPSERVERS_parameter,NTPSERVERS_parameter_command,"ntp-ru");
|
|
|
|
|
break;
|
|
|
|
|
case 5:yon_config_register(NTPSERVERS_parameter,NTPSERVERS_parameter_command,"stop");
|
|
|
|
|
case 5:yon_config_register(NTPSERVERS_parameter,NTPSERVERS_parameter_command,"disable");
|
|
|
|
|
break;
|
|
|
|
|
case 6:yon_config_register(NTPSERVERS_parameter,NTPSERVERS_parameter_command,"stop");
|
|
|
|
|
break;
|
|
|
|
|
case 4:
|
|
|
|
|
char *value = (char*)gtk_entry_get_text(GTK_ENTRY(widgets->NTPEntry));
|
|
|
|
|
@ -81,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);
|
|
|
|
|
}
|
|
|
|
|
@ -222,8 +241,10 @@ void yon_interface_update(main_window *widgets){
|
|
|
|
|
gtk_combo_box_set_active(GTK_COMBO_BOX(widgets->DHCPCombo),2);
|
|
|
|
|
} else if (!strcmp(ntp,"ntp-ru")){
|
|
|
|
|
gtk_combo_box_set_active(GTK_COMBO_BOX(widgets->DHCPCombo),3);
|
|
|
|
|
} else if (!strcmp(ntp,"stop")||!strcmp(ntp,"no")||!strcmp(ntp,"disable")){
|
|
|
|
|
} else if (!strcmp(ntp,"no")||!strcmp(ntp,"disable")){
|
|
|
|
|
gtk_combo_box_set_active(GTK_COMBO_BOX(widgets->DHCPCombo),5);
|
|
|
|
|
} else if (!strcmp(ntp,"stop")){
|
|
|
|
|
gtk_combo_box_set_active(GTK_COMBO_BOX(widgets->DHCPCombo),6);
|
|
|
|
|
} else {
|
|
|
|
|
gtk_combo_box_set_active(GTK_COMBO_BOX(widgets->DHCPCombo),4);
|
|
|
|
|
gtk_widget_set_sensitive(widgets->NTPEntry,1);
|
|
|
|
|
@ -409,17 +430,44 @@ void on_ntp_sync(GtkWidget *, main_window *widgets){
|
|
|
|
|
switch(mode){
|
|
|
|
|
case 0:
|
|
|
|
|
if (main_config.ntp_default){
|
|
|
|
|
gtk_entry_set_text(GTK_ENTRY(widgets->NTPEntry),main_config.ntp_default);
|
|
|
|
|
gtk_entry_set_text(GTK_ENTRY(widgets->NTPEntry),"");
|
|
|
|
|
gtk_entry_set_placeholder_text(GTK_ENTRY(widgets->NTPEntry),main_config.ntp_default);
|
|
|
|
|
}
|
|
|
|
|
break;
|
|
|
|
|
case 2:{
|
|
|
|
|
int size;
|
|
|
|
|
config_str parsed = yon_config_load(get_ntp_default_command,&size);
|
|
|
|
|
if (size&&!yon_char_is_empty(parsed[0])&&strcmp(parsed[0],"(null)\n")){
|
|
|
|
|
free(yon_char_divide_search(parsed[0],"=",-1));
|
|
|
|
|
yon_char_remove_last_symbol(parsed[0],'\n');
|
|
|
|
|
yon_char_remove_brackets(parsed[0]);
|
|
|
|
|
gtk_entry_set_placeholder_text(GTK_ENTRY(widgets->NTPEntry),parsed[0]);
|
|
|
|
|
yon_char_parsed_free(parsed,size);
|
|
|
|
|
gtk_entry_set_text(GTK_ENTRY(widgets->NTPEntry),"");
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
break;
|
|
|
|
|
case 3:{
|
|
|
|
|
int size;
|
|
|
|
|
config_str parsed = yon_config_load(get_ntp_ru_command,&size);
|
|
|
|
|
if (size&&!yon_char_is_empty(parsed[0])&&strcmp(parsed[0],"(null)\n")){
|
|
|
|
|
free(yon_char_divide_search(parsed[0],"=",-1));
|
|
|
|
|
yon_char_remove_last_symbol(parsed[0],'\n');
|
|
|
|
|
yon_char_remove_brackets(parsed[0]);
|
|
|
|
|
gtk_entry_set_placeholder_text(GTK_ENTRY(widgets->NTPEntry),parsed[0]);
|
|
|
|
|
yon_char_parsed_free(parsed,size);
|
|
|
|
|
gtk_entry_set_text(GTK_ENTRY(widgets->NTPEntry),"");
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
break;
|
|
|
|
|
case 1:
|
|
|
|
|
case 2:
|
|
|
|
|
case 3:
|
|
|
|
|
case 5:
|
|
|
|
|
gtk_entry_set_placeholder_text(GTK_ENTRY(widgets->NTPEntry),"");
|
|
|
|
|
gtk_entry_set_text(GTK_ENTRY(widgets->NTPEntry),"");
|
|
|
|
|
break;
|
|
|
|
|
case 4:
|
|
|
|
|
gtk_widget_set_sensitive(widgets->NTPEntry,1);
|
|
|
|
|
gtk_entry_set_placeholder_text(GTK_ENTRY(widgets->NTPEntry),"");
|
|
|
|
|
gtk_entry_set_text(GTK_ENTRY(widgets->NTPEntry),"");
|
|
|
|
|
break;
|
|
|
|
|
}
|
|
|
|
|
@ -544,37 +592,34 @@ void yon_main_window_complete(main_window **window){
|
|
|
|
|
g_signal_connect(G_OBJECT(widgets->ZoneCombo),"changed",G_CALLBACK(yon_save_parameters),widgets);
|
|
|
|
|
}
|
|
|
|
|
// Initial data loading
|
|
|
|
|
char *ntp_default = NULL;
|
|
|
|
|
char *time_sync_default = NULL;
|
|
|
|
|
char *ntp_default = NULL;
|
|
|
|
|
char *time_sync_default = NULL;
|
|
|
|
|
{
|
|
|
|
|
{
|
|
|
|
|
int size;
|
|
|
|
|
config_str parsed = yon_config_load(NTPSERVERS_parameter_command,&size);
|
|
|
|
|
if (size&&!yon_char_is_empty(parsed[0])){
|
|
|
|
|
yon_char_remove_last_symbol(parsed[0],'\n');
|
|
|
|
|
free(yon_char_divide_search(parsed[0],"=",-1));
|
|
|
|
|
if (!strcmp(parsed[0],"dhcp")){
|
|
|
|
|
|
|
|
|
|
if (!yon_char_is_empty(main_config.ntp_default)){
|
|
|
|
|
if (!strcmp(main_config.ntp_default,"dhcp")){
|
|
|
|
|
ntp_default = DHCP_LABEL;
|
|
|
|
|
} else if (!strcmp(parsed[0],"default")){
|
|
|
|
|
} else if (!strcmp(main_config.ntp_default,"default")){
|
|
|
|
|
ntp_default = NTP_LABEL;
|
|
|
|
|
|
|
|
|
|
} else if (!strcmp(parsed[0],"ntp-ru")){
|
|
|
|
|
} else if (!strcmp(main_config.ntp_default,"ntp-ru")){
|
|
|
|
|
ntp_default = NTp_RU_LABEL;
|
|
|
|
|
|
|
|
|
|
} else if (!strcmp(parsed[0],"disable")||!strcmp(parsed[0],"stop")){
|
|
|
|
|
} else if (!strcmp(main_config.ntp_default,"disable")){
|
|
|
|
|
ntp_default = STOPPED_LABEL;
|
|
|
|
|
|
|
|
|
|
} else if(!strcmp(main_config.ntp_default,"stop")) {
|
|
|
|
|
ntp_default = DISABLED_LABEL;
|
|
|
|
|
} else {
|
|
|
|
|
ntp_default = yon_char_new(parsed[0]);
|
|
|
|
|
ntp_default = yon_char_new(main_config.ntp_default);
|
|
|
|
|
}
|
|
|
|
|
yon_char_parsed_free(parsed,size);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
{
|
|
|
|
|
int size;
|
|
|
|
|
config_str parsed = yon_config_load(HWCLOCK_SYNC_parameter_command,&size);
|
|
|
|
|
if (size&&!yon_char_is_empty(parsed[0])&&strcmp(parsed[0],"(null)\n")){
|
|
|
|
|
yon_char_remove_last_symbol(parsed[0],'\n');
|
|
|
|
|
if (size&&!yon_char_is_empty(parsed[0])){
|
|
|
|
|
free(yon_char_divide_search(parsed[0],"=",-1));
|
|
|
|
|
if (!strcmp(parsed[0],"utc")){
|
|
|
|
|
time_sync_default = UTC_LABEL;
|
|
|
|
|
@ -605,8 +650,6 @@ void yon_main_window_complete(main_window **window){
|
|
|
|
|
if (size) yon_char_parsed_free(parsed,size);
|
|
|
|
|
gtk_combo_box_set_active(GTK_COMBO_BOX(widgets->RegionCombo),0);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
gtk_window_resize(GTK_WINDOW(widgets->Window),100,150);
|
|
|
|
|
while(gtk_events_pending()) gtk_main_iteration();
|
|
|
|
|
|