Fixed configuration menu item checking

pull/239/head
parent 211f785253
commit f545f6d59b

@ -47,8 +47,12 @@ void configuration_mode_accept(GtkWidget *,configuration_window *window){
yon_ubl_status_highlight_incorrect(window->PathEntry); yon_ubl_status_highlight_incorrect(window->PathEntry);
return; return;
} }
main_window *widgets = g_object_get_data(G_OBJECT(window->Window),"widgets");
if (yon_configuration_path_check(path)){ if (yon_configuration_path_check(path)){
gtk_widget_destroy(window->Window); gtk_widget_destroy(window->Window);
gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(widgets->ConfigurationModeCheck),1);
} else {
gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(widgets->ConfigurationModeCheck),0);
} }
} }
@ -64,25 +68,15 @@ void on_path_choose(GtkWidget *,configuration_window *window){
void on_configuration_exit(GtkWidget *,configuration_window *window){ void on_configuration_exit(GtkWidget *,configuration_window *window){
main_window *widgets = g_object_get_data(G_OBJECT(window->Window),"widgets"); main_window *widgets = g_object_get_data(G_OBJECT(window->Window),"widgets");
GList *box = gtk_container_get_children(GTK_CONTAINER(widgets->ConfigurationModeMenuItem)); gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(widgets->ConfigurationModeCheck),0);
GList *children = gtk_container_get_children(GTK_CONTAINER(box->data));
GtkWidget *Check = GTK_WIDGET(g_list_nth_data(children,1));
gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(Check),0);
g_list_free(box);
g_list_free(children);
gtk_widget_destroy(window->Window); gtk_widget_destroy(window->Window);
if (getuid()){ if (getuid()){
gtk_main_quit(); gtk_main_quit();
} }
} }
void on_configuration_mode_switch(GtkWidget *self,main_window *widgets){ void on_configuration_mode_switch(GtkWidget *,main_window *widgets){
int active = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(widgets->ConfigurationModeCheck));
GList *box = gtk_container_get_children(GTK_CONTAINER(self));
GList *children = gtk_container_get_children(GTK_CONTAINER(box->data));
GtkWidget *Check = GTK_WIDGET(g_list_nth_data(children,0));
int active = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(Check));
if (!active){ if (!active){
GtkBuilder *builder = gtk_builder_new_from_resource(glade_path_configuration_mode); GtkBuilder *builder = gtk_builder_new_from_resource(glade_path_configuration_mode);
configuration_window *window = malloc(sizeof(configuration_window)); configuration_window *window = malloc(sizeof(configuration_window));
@ -96,6 +90,7 @@ void on_configuration_mode_switch(GtkWidget *self,main_window *widgets){
g_signal_connect(G_OBJECT(window->CancelButton),"clicked",G_CALLBACK(on_configuration_exit),window); g_signal_connect(G_OBJECT(window->CancelButton),"clicked",G_CALLBACK(on_configuration_exit),window);
g_signal_connect(G_OBJECT(window->Window),"destroy",G_CALLBACK(gtk_main_quit),NULL); g_signal_connect(G_OBJECT(window->Window),"destroy",G_CALLBACK(gtk_main_quit),NULL);
g_signal_connect(G_OBJECT(window->ChooseButton),"clicked",G_CALLBACK(configuration_mode_accept),window); g_signal_connect(G_OBJECT(window->ChooseButton),"clicked",G_CALLBACK(configuration_mode_accept),window);
g_object_set_data(G_OBJECT(window->Window),"widgets",widgets);
g_signal_connect(G_OBJECT(window->PathButton),"clicked",G_CALLBACK(on_path_choose),window); g_signal_connect(G_OBJECT(window->PathButton),"clicked",G_CALLBACK(on_path_choose),window);
g_object_set_data(G_OBJECT(window->Window),"widgets",widgets); g_object_set_data(G_OBJECT(window->Window),"widgets",widgets);
yon_gtk_window_setup(GTK_WINDOW(window->Window),GTK_WINDOW(widgets->MainWindow),CONFIGURATION_MODE_TITLE_LABEL,icon_path,"configuration_window"); yon_gtk_window_setup(GTK_WINDOW(window->Window),GTK_WINDOW(widgets->MainWindow),CONFIGURATION_MODE_TITLE_LABEL,icon_path,"configuration_window");
@ -131,8 +126,4 @@ void on_configuration_mode_switch(GtkWidget *self,main_window *widgets){
main_config.configure_mode = 0; main_config.configure_mode = 0;
} }
gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(Check),!active);
g_list_free(box);
g_list_free(children);
} }

@ -856,8 +856,8 @@ void yon_main_window_create(main_window *widgets){
widgets->ConfigurationModeMenuItem = gtk_menu_item_new(); widgets->ConfigurationModeMenuItem = gtk_menu_item_new();
GtkWidget *Box = gtk_box_new(GTK_ORIENTATION_HORIZONTAL,5); GtkWidget *Box = gtk_box_new(GTK_ORIENTATION_HORIZONTAL,5);
GtkWidget *Label = gtk_label_new(CONFIGURATION_MODE_LABEL); GtkWidget *Label = gtk_label_new(CONFIGURATION_MODE_LABEL);
GtkWidget *Check = gtk_check_button_new(); widgets->ConfigurationModeCheck = gtk_check_button_new();
gtk_box_pack_start(GTK_BOX(Box),Check,0,0,0); gtk_box_pack_start(GTK_BOX(Box),widgets->ConfigurationModeCheck,0,0,0);
gtk_box_pack_start(GTK_BOX(Box),Label,0,0,0); gtk_box_pack_start(GTK_BOX(Box),Label,0,0,0);
gtk_container_add(GTK_CONTAINER(widgets->ConfigurationModeMenuItem),Box); gtk_container_add(GTK_CONTAINER(widgets->ConfigurationModeMenuItem),Box);
g_signal_connect(G_OBJECT(widgets->ConfigurationModeMenuItem),"activate",G_CALLBACK(on_configuration_mode_switch),widgets); g_signal_connect(G_OBJECT(widgets->ConfigurationModeMenuItem),"activate",G_CALLBACK(on_configuration_mode_switch),widgets);

@ -610,6 +610,7 @@ typedef struct
GtkWidget *ReadFullLogButton; GtkWidget *ReadFullLogButton;
GtkWidget *ConfigurationModeMenuItem; GtkWidget *ConfigurationModeMenuItem;
GtkWidget *ConfigurationModeCheck;
GtkWidget *EnableVNCMenuItem; GtkWidget *EnableVNCMenuItem;
GtkWidget *EnableRDPMenuItem; GtkWidget *EnableRDPMenuItem;
GtkWidget *AboutMenuItem; GtkWidget *AboutMenuItem;

Loading…
Cancel
Save