fixed selection handling in sidebar
authorVladimir Nadvornik <nadvornik@suse.cz>
Mon, 14 Sep 2009 21:25:10 +0000 (21:25 +0000)
committerVladimir Nadvornik <nadvornik@suse.cz>
Mon, 14 Sep 2009 21:25:10 +0000 (21:25 +0000)
src/bar_comment.c
src/bar_gps.c
src/bar_keywords.c

index c0fe6fe..0dcbee5 100644 (file)
@@ -83,11 +83,14 @@ static void bar_pane_comment_set_selection(PaneCommentData *pcd, gboolean append
        comment = text_widget_text_pull(pcd->comment_view);
 
        list = layout_selection_list(pcd->pane.lw);
+       list = file_data_process_groups_in_selection(list, FALSE, NULL);
+       
        work = list;
        while (work)
                {
                FileData *fd = work->data;
                work = work->next;
+               if (fd == pcd->fd) continue;
 
                if (append)
                        {
index c79c24b..ef7b764 100644 (file)
@@ -326,6 +326,7 @@ static void bar_pane_gps_update(PaneGPSData *pgd)
         * Use a background process in case the user selects a large number of files.
         */
        list = layout_selection_list(pgd->pane.lw);
+       list = file_data_process_groups_in_selection(list, FALSE, NULL);
 
        if (list != NULL)
                {
index e615040..e6f8d79 100644 (file)
@@ -366,6 +366,8 @@ static void bar_pane_keywords_set_selection(PaneKeywordsData *pkd, gboolean appe
        keywords = keyword_list_pull(pkd->keyword_view);
 
        list = layout_selection_list(pkd->pane.lw);
+       list = file_data_process_groups_in_selection(list, FALSE, NULL);
+       
        work = list;
        while (work)
                {