[balsa/gtk3] Replace GtkInfoBar with basic Gtk widgets



commit 002541be4c5380ce1549b1855b129229a3a0b968
Author: Peter Bloomfield <PeterBloomfield bellsouth net>
Date:   Sat Sep 14 18:06:45 2013 -0400

    Replace GtkInfoBar with basic Gtk widgets
    
        * src/balsa-mime-widget-message.c (bm_header_widget_new):
        replace GtkInfoBar with a simple GtkBox and a GtkButtonBox,
        because GtkInfoBar prevents the GtkLabel from wrapping (bgo
        #707093)

 ChangeLog                       |    7 +++++++
 src/balsa-mime-widget-message.c |   19 +++++++++++++++++++
 2 files changed, 26 insertions(+), 0 deletions(-)
---
diff --git a/ChangeLog b/ChangeLog
index fac17bd..4d0b602 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,10 @@
+2013-09-14  Peter Bloomfield
+
+       * src/balsa-mime-widget-message.c (bm_header_widget_new):
+       replace GtkInfoBar with a simple GtkBox and a GtkButtonBox,
+       because GtkInfoBar prevents the GtkLabel from wrapping (bgo
+       #707093)
+
 2013-08-30  Peter Bloomfield
 
        * src/balsa-mime-widget-message.c (bm_header_widget_new): make
diff --git a/src/balsa-mime-widget-message.c b/src/balsa-mime-widget-message.c
index 6fa878e..0222930 100644
--- a/src/balsa-mime-widget-message.c
+++ b/src/balsa-mime-widget-message.c
@@ -441,9 +441,13 @@ static GtkWidget *
 bm_header_widget_new(BalsaMessage * bm, GtkWidget * const * buttons)
 {
     GtkWidget *grid;
+#if GTK_CHECK_VERSION(3, 9, 0)
+    GtkWidget *hbox;
+#else                           /* GTK_CHECK_VERSION(3, 9, 0) */
     GtkWidget *info_bar_widget;
     GtkInfoBar *info_bar;
     GtkWidget *content_area;
+#endif                          /* GTK_CHECK_VERSION(3, 9, 0) */
     GtkWidget *action_area;
     GtkWidget *widget;
 
@@ -458,6 +462,16 @@ bm_header_widget_new(BalsaMessage * bm, GtkWidget * const * buttons)
     g_signal_connect(grid, "key_press_event",
                     G_CALLBACK(balsa_mime_widget_key_press_event), bm);
 
+#if GTK_CHECK_VERSION(3, 9, 0)
+    hbox = gtk_box_new(GTK_ORIENTATION_HORIZONTAL, 0);
+    gtk_container_add(GTK_CONTAINER(hbox), grid);
+    gtk_container_set_border_width(GTK_CONTAINER(hbox), 6);
+
+    action_area = gtk_button_box_new(GTK_ORIENTATION_VERTICAL);
+    gtk_button_box_set_layout(GTK_BUTTON_BOX(action_area),
+                              GTK_BUTTONBOX_START);
+    gtk_box_pack_end(GTK_BOX(hbox), action_area, FALSE, TRUE, 0);
+#else                           /* GTK_CHECK_VERSION(3, 9, 0) */
     info_bar_widget = gtk_info_bar_new();
     info_bar = GTK_INFO_BAR(info_bar_widget);
     gtk_orientable_set_orientation(GTK_ORIENTABLE
@@ -468,6 +482,7 @@ bm_header_widget_new(BalsaMessage * bm, GtkWidget * const * buttons)
     gtk_container_add(GTK_CONTAINER(content_area), grid);
 
     action_area = gtk_info_bar_get_action_area(info_bar);
+#endif                          /* GTK_CHECK_VERSION(3, 9, 0) */
     if (!bm->face_box) {
         bm->face_box = gtk_box_new(GTK_ORIENTATION_VERTICAL, 0);
         gtk_container_add(GTK_CONTAINER(action_area), bm->face_box);
@@ -483,7 +498,11 @@ bm_header_widget_new(BalsaMessage * bm, GtkWidget * const * buttons)
 
     widget = gtk_frame_new(NULL);
     gtk_frame_set_shadow_type(GTK_FRAME(widget), GTK_SHADOW_IN);
+#if GTK_CHECK_VERSION(3, 9, 0)
+    gtk_container_add(GTK_CONTAINER(widget), hbox);
+#else                           /* GTK_CHECK_VERSION(3, 9, 0) */
     gtk_container_add(GTK_CONTAINER(widget), info_bar_widget);
+#endif                          /* GTK_CHECK_VERSION(3, 9, 0) */
 
     g_object_set_data(G_OBJECT(widget), BALSA_MESSAGE_GRID, grid);
 


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]