Fixed parameters saving

pull/164/head
parent 221e6fb729
commit b654f6d3c1

@ -35,7 +35,8 @@ 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){
if (self == widgets->DHCPCombo||self == widgets->NTPEntry){
int mode = gtk_combo_box_get_active(GTK_COMBO_BOX(widgets->DHCPCombo)); int mode = gtk_combo_box_get_active(GTK_COMBO_BOX(widgets->DHCPCombo));
switch(mode){ switch(mode){
case 0:yon_config_register(NTPSERVERS_parameter,NTPSERVERS_parameter_command,"default"); case 0:yon_config_register(NTPSERVERS_parameter,NTPSERVERS_parameter_command,"default");
@ -54,6 +55,17 @@ void yon_save_parameters(main_window *widgets){
yon_config_register(NTPSERVERS_parameter,NTPSERVERS_parameter_command,value); yon_config_register(NTPSERVERS_parameter,NTPSERVERS_parameter_command,value);
break; break;
} }
} 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);
}
} else if (self == widgets->RegionCombo||self == widgets->ZoneCombo){
const char *region = gtk_combo_box_get_active_id(GTK_COMBO_BOX(widgets->RegionCombo)); 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)); const char *zone = gtk_combo_box_get_active_id(GTK_COMBO_BOX(widgets->ZoneCombo));
@ -62,39 +74,27 @@ void yon_save_parameters(main_window *widgets){
yon_config_register(ZONE_parameter,ZONE_parameter_command,zone_parameter); yon_config_register(ZONE_parameter,ZONE_parameter_command,zone_parameter);
free(zone_parameter); free(zone_parameter);
} }
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);
} }
} }
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
{ {

@ -116,15 +116,15 @@ void on_sync_clicked(GtkWidget *, main_window *widgets);
void on_ntp_sync(GtkWidget *, main_window *widgets); void on_ntp_sync(GtkWidget *, main_window *widgets);
void yon_save_parameters(main_window *widgets); void yon_save_parameters(GtkWidget *self,main_window *widgets);
void on_config_save(GtkWidget *, main_window *widgets); void on_config_save(GtkWidget *);
void on_config_save_global(GtkWidget *, main_window *widgets); void on_config_save_global(GtkWidget *);
void on_config_save_local(GtkWidget *, main_window *widgets); void on_config_save_local(GtkWidget *);
void on_config_save_custom(GtkWidget *, main_window *widgets); void on_config_save_custom(GtkWidget *);
void on_config_load_global(); void on_config_load_global();

Loading…
Cancel
Save