Fixed unclicked check buttons on saving window

pull/7/head
parent 1bd63a9d6f
commit 9afaffa2da

@ -217,4 +217,7 @@
</object>
</child>
</object>
<object class="GtkTreeModelFilter" id="listfilter1">
<property name="child-model">liststore1</property>
</object>
</interface>

@ -70,12 +70,22 @@ void on_about(GtkWidget *self, char *version_application){
//functions
void on_save_window_parameter_switched(GtkCellRendererToggle *self, gchar *path, template_saving_window *window){
GtkTreeIter iter;
if (path)
if (gtk_tree_model_get_iter_from_string(GTK_TREE_MODEL(window->list),&iter,path)){
gboolean is_active;
gtk_tree_model_get(GTK_TREE_MODEL(window->list),&iter,0,&is_active,-1);
gtk_list_store_set(window->list,&iter,0,!is_active,-1);
GtkTreeIter iter,itar;
if (path){
if (gtk_tree_model_get_iter_from_string(GTK_TREE_MODEL(window->filteredModel),&itar,path)){
char *seek_name;
gtk_tree_model_get(window->filteredModel,&itar,1,&seek_name,-1);
int valid = gtk_tree_model_get_iter_first(GTK_TREE_MODEL(window->list),&iter);
for (;valid;valid=gtk_tree_model_iter_next(GTK_TREE_MODEL(window->list),&iter)){
char *name;
gtk_tree_model_get(window->list,&iter,1,&name,-1);
if (!strcmp(seek_name,name)){
gboolean is_active;
gtk_tree_model_get(GTK_TREE_MODEL(window->list),&iter,0,&is_active,-1);
gtk_list_store_set(window->list,&iter,0,!is_active,-1);
}
}
}
}
int once_active=0;
int valid = gtk_tree_model_get_iter_first(GTK_TREE_MODEL(window->list),&iter);
@ -89,6 +99,7 @@ void on_save_window_parameter_switched(GtkCellRendererToggle *self, gchar *path,
}
if (!once_active) gtk_widget_set_sensitive(window->SaveButton,0);
else gtk_widget_set_sensitive(window->SaveButton,1);
gtk_tree_model_filter_refilter(GTK_TREE_MODEL_FILTER(window->filteredModel));
}
@ -233,7 +244,7 @@ template_saving_window *yon_save_proceed(char *path,YON_CONFIG_TYPE type, ...){
window->ToggleCell = GTK_CELL_RENDERER(gtk_builder_get_object(builder,"ToggleCell"));
window->list = GTK_LIST_STORE(gtk_builder_get_object(builder,"liststore1"));
window->type=type;
window->filteredModel = gtk_tree_model_filter_new(GTK_TREE_MODEL(window->list),NULL);
window->filteredModel = GTK_TREE_MODEL(gtk_builder_get_object(builder,"listfilter1"));
gtk_tree_model_filter_set_visible_column(GTK_TREE_MODEL_FILTER(window->filteredModel),5);
yon_window_config_custom_window_setup(GTK_WINDOW(window->Window),"SaveWindow");
gtk_window_set_icon_name(GTK_WINDOW(window->Window),yon_char_append("com.ublinux.",template_app_information.app_tech_name));

Loading…
Cancel
Save