|
|
|
@ -35,66 +35,66 @@ config_str yon_char_parsed_sort(config_str parsed, int size){
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
//Config functions
|
|
|
|
//Config functions
|
|
|
|
void yon_save_parameters(main_window *widgets){
|
|
|
|
void yon_save_parameters(GtkWidget *self, main_window *widgets){
|
|
|
|
int mode = gtk_combo_box_get_active(GTK_COMBO_BOX(widgets->DHCPCombo));
|
|
|
|
if (self == widgets->DHCPCombo||self == widgets->NTPEntry){
|
|
|
|
switch(mode){
|
|
|
|
int mode = gtk_combo_box_get_active(GTK_COMBO_BOX(widgets->DHCPCombo));
|
|
|
|
case 0:yon_config_register(NTPSERVERS_parameter,NTPSERVERS_parameter_command,"default");
|
|
|
|
switch(mode){
|
|
|
|
break;
|
|
|
|
case 0:yon_config_register(NTPSERVERS_parameter,NTPSERVERS_parameter_command,"default");
|
|
|
|
case 1:yon_config_register(NTPSERVERS_parameter,NTPSERVERS_parameter_command,"stop");
|
|
|
|
break;
|
|
|
|
break;
|
|
|
|
case 1:yon_config_register(NTPSERVERS_parameter,NTPSERVERS_parameter_command,"stop");
|
|
|
|
case 2:yon_config_register(NTPSERVERS_parameter,NTPSERVERS_parameter_command,"dhcp");
|
|
|
|
break;
|
|
|
|
break;
|
|
|
|
case 2:yon_config_register(NTPSERVERS_parameter,NTPSERVERS_parameter_command,"dhcp");
|
|
|
|
case 3:
|
|
|
|
break;
|
|
|
|
char *value = (char*)gtk_entry_get_text(GTK_ENTRY(widgets->NTPEntry));
|
|
|
|
case 3:
|
|
|
|
if (yon_char_is_empty(value)) {
|
|
|
|
char *value = (char*)gtk_entry_get_text(GTK_ENTRY(widgets->NTPEntry));
|
|
|
|
yon_ubl_status_box_render(EMPTY_IMPORTANT_LABEL,BACKGROUND_IMAGE_FAIL_TYPE);
|
|
|
|
if (yon_char_is_empty(value)) {
|
|
|
|
yon_ubl_status_highlight_incorrect(widgets->NTPEntry);
|
|
|
|
yon_ubl_status_box_render(EMPTY_IMPORTANT_LABEL,BACKGROUND_IMAGE_FAIL_TYPE);
|
|
|
|
return;
|
|
|
|
yon_ubl_status_highlight_incorrect(widgets->NTPEntry);
|
|
|
|
}
|
|
|
|
return;
|
|
|
|
yon_config_register(NTPSERVERS_parameter,NTPSERVERS_parameter_command,value);
|
|
|
|
}
|
|
|
|
break;
|
|
|
|
yon_config_register(NTPSERVERS_parameter,NTPSERVERS_parameter_command,value);
|
|
|
|
}
|
|
|
|
break;
|
|
|
|
const char *region = gtk_combo_box_get_active_id(GTK_COMBO_BOX(widgets->RegionCombo));
|
|
|
|
}
|
|
|
|
const char *zone = gtk_combo_box_get_active_id(GTK_COMBO_BOX(widgets->ZoneCombo));
|
|
|
|
} else if (self == widgets->TimeSyncTypeCombo){
|
|
|
|
|
|
|
|
int hwclock_sync = gtk_combo_box_get_active(GTK_COMBO_BOX(widgets->TimeSyncTypeCombo));
|
|
|
|
|
|
|
|
if (hwclock_sync==1){
|
|
|
|
|
|
|
|
yon_config_register(HWCLOCK_SYNC_parameter,HWCLOCK_SYNC_parameter_command,"localtime");
|
|
|
|
|
|
|
|
} else if (hwclock_sync == 2) {
|
|
|
|
|
|
|
|
yon_config_register(HWCLOCK_SYNC_parameter,HWCLOCK_SYNC_parameter_command,"utc");
|
|
|
|
|
|
|
|
} else {
|
|
|
|
|
|
|
|
yon_config_remove_by_key(HWCLOCK_SYNC_parameter);
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
if (!yon_char_is_empty(region)&&!yon_char_is_empty(zone)){
|
|
|
|
} else if (self == widgets->RegionCombo||self == widgets->ZoneCombo){
|
|
|
|
char *zone_parameter = yon_char_unite((char*)region,"/",(char*)zone,NULL);
|
|
|
|
const char *region = gtk_combo_box_get_active_id(GTK_COMBO_BOX(widgets->RegionCombo));
|
|
|
|
yon_config_register(ZONE_parameter,ZONE_parameter_command,zone_parameter);
|
|
|
|
const char *zone = gtk_combo_box_get_active_id(GTK_COMBO_BOX(widgets->ZoneCombo));
|
|
|
|
free(zone_parameter);
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
int hwclock_sync = gtk_combo_box_get_active(GTK_COMBO_BOX(widgets->TimeSyncTypeCombo));
|
|
|
|
if (!yon_char_is_empty(region)&&!yon_char_is_empty(zone)){
|
|
|
|
if (hwclock_sync==1){
|
|
|
|
char *zone_parameter = yon_char_unite((char*)region,"/",(char*)zone,NULL);
|
|
|
|
yon_config_register(HWCLOCK_SYNC_parameter,HWCLOCK_SYNC_parameter_command,"localtime");
|
|
|
|
yon_config_register(ZONE_parameter,ZONE_parameter_command,zone_parameter);
|
|
|
|
} else if (hwclock_sync == 2) {
|
|
|
|
free(zone_parameter);
|
|
|
|
yon_config_register(HWCLOCK_SYNC_parameter,HWCLOCK_SYNC_parameter_command,"utc");
|
|
|
|
}
|
|
|
|
} else {
|
|
|
|
}
|
|
|
|
yon_config_remove_by_key(HWCLOCK_SYNC_parameter);
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
void on_config_save(GtkWidget *, main_window *widgets){
|
|
|
|
void on_config_save(GtkWidget *){
|
|
|
|
main_config.save_config=2;
|
|
|
|
main_config.save_config=2;
|
|
|
|
yon_save_parameters(widgets);
|
|
|
|
|
|
|
|
yon_save_proceed(NULL,YON_CONFIG_BOTH,config_get_global_command,NULL);
|
|
|
|
yon_save_proceed(NULL,YON_CONFIG_BOTH,config_get_global_command,NULL);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
void on_config_save_global(GtkWidget *, main_window *widgets){
|
|
|
|
void on_config_save_global(GtkWidget *){
|
|
|
|
main_config.save_config=0;
|
|
|
|
main_config.save_config=0;
|
|
|
|
yon_save_parameters(widgets);
|
|
|
|
|
|
|
|
yon_save_proceed(NULL,YON_CONFIG_GLOBAL,config_get_global_command,NULL);
|
|
|
|
yon_save_proceed(NULL,YON_CONFIG_GLOBAL,config_get_global_command,NULL);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
void on_config_save_local(GtkWidget *, main_window *widgets){
|
|
|
|
void on_config_save_local(GtkWidget *){
|
|
|
|
main_config.save_config=1;
|
|
|
|
main_config.save_config=1;
|
|
|
|
yon_save_parameters(widgets);
|
|
|
|
|
|
|
|
yon_save_proceed(NULL,YON_CONFIG_LOCAL,config_get_local_command,NULL);
|
|
|
|
yon_save_proceed(NULL,YON_CONFIG_LOCAL,config_get_local_command,NULL);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
void on_config_save_custom(GtkWidget *, main_window *widgets){
|
|
|
|
void on_config_save_custom(GtkWidget *){
|
|
|
|
main_config.save_config=3;
|
|
|
|
main_config.save_config=3;
|
|
|
|
yon_save_parameters(widgets);
|
|
|
|
|
|
|
|
yon_save_proceed(NULL,YON_CONFIG_CUSTOM,config_get_global_command,NULL);
|
|
|
|
yon_save_proceed(NULL,YON_CONFIG_CUSTOM,config_get_global_command,NULL);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
@ -478,6 +478,11 @@ void yon_main_window_complete(main_window *widgets){
|
|
|
|
g_signal_connect(G_OBJECT(widgets->DateButton),"clicked",G_CALLBACK(on_date_clicked),widgets);
|
|
|
|
g_signal_connect(G_OBJECT(widgets->DateButton),"clicked",G_CALLBACK(on_date_clicked),widgets);
|
|
|
|
g_signal_connect(G_OBJECT(widgets->DateCancelButton),"clicked",G_CALLBACK(on_date_cancel),widgets);
|
|
|
|
g_signal_connect(G_OBJECT(widgets->DateCancelButton),"clicked",G_CALLBACK(on_date_cancel),widgets);
|
|
|
|
g_signal_connect(G_OBJECT(widgets->DateAcceptButton),"clicked",G_CALLBACK(on_date_accept),widgets);
|
|
|
|
g_signal_connect(G_OBJECT(widgets->DateAcceptButton),"clicked",G_CALLBACK(on_date_accept),widgets);
|
|
|
|
|
|
|
|
g_signal_connect(G_OBJECT(widgets->DHCPCombo),"changed",G_CALLBACK(yon_save_parameters),widgets);
|
|
|
|
|
|
|
|
g_signal_connect(G_OBJECT(widgets->NTPEntry),"changed",G_CALLBACK(yon_save_parameters),widgets);
|
|
|
|
|
|
|
|
g_signal_connect(G_OBJECT(widgets->TimeSyncTypeCombo),"changed",G_CALLBACK(yon_save_parameters),widgets);
|
|
|
|
|
|
|
|
g_signal_connect(G_OBJECT(widgets->RegionCombo),"changed",G_CALLBACK(yon_save_parameters),widgets);
|
|
|
|
|
|
|
|
g_signal_connect(G_OBJECT(widgets->ZoneCombo),"changed",G_CALLBACK(yon_save_parameters),widgets);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
// Initial data loading
|
|
|
|
// Initial data loading
|
|
|
|
{
|
|
|
|
{
|
|
|
|
|