2005-10-27 [wwp] 1.9.15cvs121
authorTristan Chabredier <wwp@claws-mail.org>
Thu, 27 Oct 2005 12:32:33 +0000 (12:32 +0000)
committerTristan Chabredier <wwp@claws-mail.org>
Thu, 27 Oct 2005 12:32:33 +0000 (12:32 +0000)
* src/summaryview.c
* src/gtk/gtksctree.c
speed up unselecting messages in summary view (thanks to Colin)

ChangeLog-gtk2.claws
PATCHSETS
configure.ac
src/gtk/gtksctree.c
src/summaryview.c

index 647f5bb..fd03654 100644 (file)
@@ -1,3 +1,9 @@
+2005-10-27 [wwp]       1.9.15cvs121
+
+       * src/summaryview.c
+       * src/gtk/gtksctree.c
+               speed up unselecting messages in summary view (thanks to Colin)
+
 2005-10-27 [paul]      1.9.15cvs120
 
        * src/mainwindow.c
index 48ded62..b9c658c 100644 (file)
--- a/PATCHSETS
+++ b/PATCHSETS
 ( cvs diff -u -r 1.115.2.63 -r 1.115.2.64 src/main.c;  ) > 1.9.15cvs118.patchset
 ( cvs diff -u -r 1.12.2.26 -r 1.12.2.27 src/action.c;  cvs diff -u -r 1.60.2.25 -r 1.60.2.26 src/prefs_actions.c;  ) > 1.9.15cvs119.patchset
 ( cvs diff -u -r 1.274.2.77 -r 1.274.2.78 src/mainwindow.c;  cvs diff -u -r 1.395.2.142 -r 1.395.2.143 src/summaryview.c;  ) > 1.9.15cvs120.patchset
+( cvs diff -u -r 1.395.2.143 -r 1.395.2.144 src/summaryview.c;  cvs diff -u -r 1.1.4.11 -r 1.1.4.12 src/gtk/gtksctree.c;  ) > 1.9.15cvs121.patchset
index e61426f..31a8b93 100644 (file)
@@ -11,7 +11,7 @@ MINOR_VERSION=9
 MICRO_VERSION=15
 INTERFACE_AGE=0
 BINARY_AGE=0
-EXTRA_VERSION=120
+EXTRA_VERSION=121
 EXTRA_RELEASE=
 EXTRA_GTK2_VERSION=
 
index 659198c..7ced34d 100644 (file)
@@ -245,8 +245,11 @@ select_row (GtkSCTree *sctree, gint row, gint col, guint state)
 
        GTK_CLIST_GET_CLASS(sctree)->refresh(GTK_CLIST(sctree));
 
-       if (!additive)
+       if (!additive) {
+               sctree->selecting_range = TRUE;
                gtk_clist_unselect_all (GTK_CLIST (sctree));
+               sctree->selecting_range = FALSE;
+       }
 
        if (!range) {
                GtkCTreeNode *node;
@@ -330,8 +333,11 @@ gtk_sctree_button_press (GtkWidget *widget, GdkEventButton *event)
                                        sctree->dnd_select_pending_row = row;
                                } else
                                        select_row (sctree, row, col, event->state);
-                       } else
+                       } else {
+                               sctree->selecting_range = TRUE;
                                gtk_clist_unselect_all (clist);
+                               sctree->selecting_range = FALSE;
+                       }
 
                        retval = TRUE;
                } else if (event->button == 3) {
@@ -343,7 +349,9 @@ gtk_sctree_button_press (GtkWidget *widget, GdkEventButton *event)
                                                 sctree_signals[ROW_POPUP_MENU],
                                                 0, event);
                        } else {
+                               sctree->selecting_range = TRUE;
                                gtk_clist_unselect_all(clist);
+                               sctree->selecting_range = FALSE;
                                g_signal_emit (G_OBJECT (sctree),
                                                 sctree_signals[EMPTY_POPUP_MENU],
                                                 0, event);
@@ -606,7 +614,9 @@ void gtk_sctree_select_with_state (GtkSCTree *sctree, GtkCTreeNode *node, int st
 
 void gtk_sctree_unselect_all (GtkSCTree *sctree)
 {
+       sctree->selecting_range = TRUE;
        gtk_clist_unselect_all(GTK_CLIST(sctree));
+       sctree->selecting_range = FALSE;
        sctree->anchor_row = NULL;
 }
 
index e9c57fc..8166f47 100644 (file)
@@ -4808,6 +4808,11 @@ static void summary_tree_collapsed(GtkCTree *ctree, GtkCTreeNode *node,
 static void summary_unselected(GtkCTree *ctree, GtkCTreeNode *row,
                               gint column, SummaryView *summaryview)
 {
+       if (summary_is_locked(summaryview)
+       ||  GTK_SCTREE(ctree)->selecting_range) {
+               return;
+       }
+
        summary_status_show(summaryview);
 }