better handling of quicksearch show/hide
authorColin Leroy <colin@colino.net>
Fri, 13 Dec 2002 12:12:09 +0000 (12:12 +0000)
committerColin Leroy <colin@colino.net>
Fri, 13 Dec 2002 12:12:09 +0000 (12:12 +0000)
ChangeLog.claws
configure.in
src/summaryview.c

index 85adef3898e630a14c7260440957a8d8829b08de..4cb2354bbaae60cf7aab6b68271a7b3d69539fa3 100644 (file)
@@ -1,3 +1,10 @@
+2002-12-13 [colin]     0.8.6claws104
+
+       * src/summaryview.c
+               Better handling of quicksearch show/hide
+               (basically the button stays under the mouse 
+                when toggled)
+
 2002-12-13 [paul]      0.8.6claws103
 
        * sync with 0.8.6cvs17
index db4d72f4a0e7efc8e8b7a10e892cee0c98952bd7..411bb69ad716cbb3470caa7394fd7c795526656c 100644 (file)
@@ -11,7 +11,7 @@ MINOR_VERSION=8
 MICRO_VERSION=6
 INTERFACE_AGE=0
 BINARY_AGE=0
-EXTRA_VERSION=claws103
+EXTRA_VERSION=claws104
 VERSION=$MAJOR_VERSION.$MINOR_VERSION.$MICRO_VERSION$EXTRA_VERSION
 
 dnl set $target
index acd293c48dc280254b964afc70583192e28c846d..72ea7d288c7ee42192211077e2b64669252e3041 100644 (file)
@@ -486,7 +486,8 @@ SummaryView *summary_create(void)
        debug_print("Creating summary view...\n");
        summaryview = g_new0(SummaryView, 1);
 
-       vbox = gtk_vbox_new(FALSE, 3);
+#define SUMMARY_VBOX_SPACING 3
+       vbox = gtk_vbox_new(FALSE, SUMMARY_VBOX_SPACING);
        
        /* create status label */
        hbox = gtk_hbox_new(FALSE, 0);
@@ -588,7 +589,7 @@ SummaryView *summary_create(void)
                           summaryview);
 
        gtk_signal_connect (GTK_OBJECT(toggle_search), "toggled",
-                        GTK_SIGNAL_FUNC(tog_searchbar_cb), hbox_search);
+                        GTK_SIGNAL_FUNC(tog_searchbar_cb), summaryview);
 
        /* create popup menu */
        n_entries = sizeof(summary_popup_entries) /
@@ -4687,12 +4688,33 @@ static void summary_searchtype_changed(GtkMenuItem *widget, gpointer data)
 
 static void tog_searchbar_cb(GtkWidget *w, gpointer data)
 {
+       SummaryView *summaryview = (SummaryView *)data;
+       GtkWidget *hbox= summaryview->hbox_search;
+       GtkAllocation size = hbox->allocation;
+       GtkAllocation msgview_size = summaryview->messageview->vbox->allocation;
+       GtkAllocation parent_size = summaryview->vbox->allocation;
        if (gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(w))) {
                prefs_common.show_searchbar = TRUE;
-               gtk_widget_show(GTK_WIDGET(data));
+               gtk_widget_show(hbox);
+               if (!prefs_common.sep_msg && messageview_is_visible(summaryview->messageview)
+               &&  msgview_size.height > 1 && parent_size.height > 1) {
+                       gtk_widget_set_usize(GTK_WIDGET(summaryview->messageview->vbox),
+                                               -1,msgview_size.height - size.height - SUMMARY_VBOX_SPACING);
+                       gtk_widget_set_usize(GTK_WIDGET(summaryview->vbox),
+                                               -1,parent_size.height + size.height + SUMMARY_VBOX_SPACING);
+                       gtk_paned_set_position(GTK_PANED(summaryview->vbox->parent),-1);
+               }
        } else {
                prefs_common.show_searchbar = FALSE;
-               gtk_widget_hide(GTK_WIDGET(data));
+               gtk_widget_hide(hbox);
+               if (!prefs_common.sep_msg && messageview_is_visible(summaryview->messageview)
+               &&  msgview_size.height > 1 && parent_size.height > 1) {
+                       gtk_widget_set_usize(GTK_WIDGET(summaryview->messageview->vbox),
+                                               -1,msgview_size.height + size.height + SUMMARY_VBOX_SPACING);
+                       gtk_widget_set_usize(GTK_WIDGET(summaryview->vbox),
+                                               -1,parent_size.height - size.height - SUMMARY_VBOX_SPACING);
+                       gtk_paned_set_position(GTK_PANED(summaryview->vbox->parent),-1);
+               }
        }
 }