Added unfocus preventation

pull/41/head
parent 90c3fef214
commit 9c223f9a8a

@ -1198,6 +1198,7 @@ void config_init(){
main_config.signs=NULL; main_config.signs=NULL;
main_config.signs_size=0; main_config.signs_size=0;
yon_sign_list_update(); yon_sign_list_update();
main_config.last_selection = NULL;
} }
void yon_config_load_update(main_window *widgets){ void yon_config_load_update(main_window *widgets){
@ -1239,6 +1240,7 @@ void yon_config_load_update(main_window *widgets){
} }
void on_main_tree_selection_changed(GtkWidget *self, main_window *widgets){ void on_main_tree_selection_changed(GtkWidget *self, main_window *widgets){
gtk_list_store_clear(widgets->RepoFileList); gtk_list_store_clear(widgets->RepoFileList);
GtkTreeIter iter,itar; GtkTreeIter iter,itar;
GtkTreeModel *model=NULL; GtkTreeModel *model=NULL;
@ -1291,6 +1293,10 @@ void on_main_tree_selection_changed(GtkWidget *self, main_window *widgets){
} }
break; break;
} }
if (main_config.last_selection){
gtk_tree_model_get_iter_from_string(GTK_TREE_MODEL(widgets->RepoFileList),&itar,main_config.last_selection);
gtk_tree_selection_select_iter(gtk_tree_view_get_selection(GTK_TREE_VIEW(widgets->RepoFileTree)),&itar);
}
} }
} }
@ -1299,6 +1305,8 @@ void on_package_selection_changed(GtkWidget *self, main_window *widgets){
GtkTreeIter iter,itar; GtkTreeIter iter,itar;
GtkTreeModel *model, *model2; GtkTreeModel *model, *model2;
if (gtk_tree_selection_get_selected(gtk_tree_view_get_selection(GTK_TREE_VIEW(widgets->RepoFileTree)),&model,&iter)){ if (gtk_tree_selection_get_selected(gtk_tree_view_get_selection(GTK_TREE_VIEW(widgets->RepoFileTree)),&model,&iter)){
if (main_config.last_selection) free(main_config.last_selection);
main_config.last_selection = gtk_tree_model_get_string_from_iter(GTK_TREE_MODEL(widgets->RepoFileList),&iter);
gtk_tree_selection_get_selected(gtk_tree_view_get_selection(GTK_TREE_VIEW(widgets->ReposTree)),&model2,&itar); gtk_tree_selection_get_selected(gtk_tree_view_get_selection(GTK_TREE_VIEW(widgets->ReposTree)),&model2,&itar);
switch (gtk_tree_store_iter_depth(widgets->RepoList,&itar)){ switch (gtk_tree_store_iter_depth(widgets->RepoList,&itar)){
case 0: case 0:

@ -109,6 +109,7 @@ typedef struct {
int lock_root; int lock_root;
config_str signs; config_str signs;
int signs_size; int signs_size;
char *last_selection;
} config; } config;
typedef struct { typedef struct {

Loading…
Cancel
Save