-text_view_size_request (GtkWidget *widget,
- GtkRequisition *requisition,
- gpointer user_data)
-{
- GtkTextBuffer *buffer = NULL;
- GtkTextIter iter;
- int line;
- GdkRectangle iter_rectangle;
- GtkWidget *text_view = GTK_WIDGET (user_data);
- GtkAdjustment *adj = NULL;
- ModestRecptViewPriv *priv = MODEST_RECPT_VIEW_GET_PRIVATE (widget);
-
- buffer = gtk_text_view_get_buffer (GTK_TEXT_VIEW (text_view));
-
- gtk_text_buffer_get_start_iter (buffer, &iter);
- gtk_text_view_get_iter_location (GTK_TEXT_VIEW (text_view), &iter, &iter_rectangle);
-
- for (line = 0; line < 2; line++) {
- if (!gtk_text_view_forward_display_line (GTK_TEXT_VIEW (text_view), &iter))
- break;
- }
-
- gtk_text_buffer_get_start_iter (buffer, &iter);
-
- gtk_text_view_scroll_to_iter (GTK_TEXT_VIEW (text_view), &iter, 0.0, TRUE, 0.0, 0.0);
-
- adj = gtk_scrolled_window_get_vadjustment (GTK_SCROLLED_WINDOW (widget));
- if (adj != NULL) {
- g_object_set (G_OBJECT (adj), "page-increment", (gdouble) iter_rectangle.height, "step-increment", (gdouble) iter_rectangle.height, NULL);
- gtk_adjustment_changed (adj);
- }
-
- if (line > 0) {
- requisition->height = iter_rectangle.height * 2;
- } else {
- requisition->height = iter_rectangle.height;
- }
-
- priv->line_height = iter_rectangle.height;
-
-}
-
-static void
-view_size_allocate (GtkWidget *widget,
- GtkAllocation *allocation,
- gpointer user_data)
-{
- GtkAdjustment *adj = NULL;
- ModestRecptViewPriv *priv = MODEST_RECPT_VIEW_GET_PRIVATE (widget);
-
- adj = gtk_scrolled_window_get_vadjustment (GTK_SCROLLED_WINDOW (widget));
- if (adj != NULL) {
- g_object_set (G_OBJECT (adj), "page-increment", (gdouble) priv->line_height, "step-increment", (gdouble) priv->line_height, NULL);
- }
- gtk_adjustment_changed (adj);
-}
-
-static void