aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorJan Djärv2014-10-19 18:28:49 +0200
committerJan Djärv2014-10-19 18:28:49 +0200
commit58af643d69eeb911ac8842c6dc4ddd06f6ea0b00 (patch)
tree7a9d2060171eac2c04eaba02c0b694d041eac58e /src
parent821339c944eea52105777c5f52bdc3cf477b475c (diff)
downloademacs-58af643d69eeb911ac8842c6dc4ddd06f6ea0b00.tar.gz
emacs-58af643d69eeb911ac8842c6dc4ddd06f6ea0b00.zip
* gtkutil.c (create_dialog): Don't use gtk_dialog_get_action_area on
Gt+ >= 3.12, or gtk_misc_set_alignment on Gtk+ >= 3.14. (make_widget_for_menu_item): Don't use gtk_misc_set_alignment on Gtk+ >= 3.14 (Bug#18674). (update_frame_tool_bar): Don't use gtk_misc_set_padding on Gtk+ >= 3.14 (Bug#18674).
Diffstat (limited to 'src')
-rw-r--r--src/ChangeLog9
-rw-r--r--src/gtkutil.c36
2 files changed, 42 insertions, 3 deletions
diff --git a/src/ChangeLog b/src/ChangeLog
index ae7272d39ca..de37d52bf79 100644
--- a/src/ChangeLog
+++ b/src/ChangeLog
@@ -1,3 +1,12 @@
12014-10-19 Jan Djärv <jan.h.d@swipnet.se>
2
3 * gtkutil.c (create_dialog): Don't use gtk_dialog_get_action_area on
4 Gt+ >= 3.12, or gtk_misc_set_alignment on Gtk+ >= 3.14 (Bug#18674).
5 (make_widget_for_menu_item): Don't use gtk_misc_set_alignment on
6 Gtk+ >= 3.14 (Bug#18674).
7 (update_frame_tool_bar): Don't use gtk_misc_set_padding on
8 Gtk+ >= 3.14 (Bug#18674).
9
12014-10-18 Paul Eggert <eggert@cs.ucla.edu> 102014-10-18 Paul Eggert <eggert@cs.ucla.edu>
2 11
3 * gtkutil.c: Remove no-longer-used code. 12 * gtkutil.c: Remove no-longer-used code.
diff --git a/src/gtkutil.c b/src/gtkutil.c
index 64940d07f19..759219a377d 100644
--- a/src/gtkutil.c
+++ b/src/gtkutil.c
@@ -1489,7 +1489,6 @@ create_dialog (widget_value *wv,
1489 int button_spacing = 10; 1489 int button_spacing = 10;
1490 GtkWidget *wdialog = gtk_dialog_new (); 1490 GtkWidget *wdialog = gtk_dialog_new ();
1491 GtkDialog *wd = GTK_DIALOG (wdialog); 1491 GtkDialog *wd = GTK_DIALOG (wdialog);
1492 GtkBox *cur_box = GTK_BOX (gtk_dialog_get_action_area (wd));
1493 widget_value *item; 1492 widget_value *item;
1494 GtkWidget *whbox_down; 1493 GtkWidget *whbox_down;
1495 1494
@@ -1497,6 +1496,17 @@ create_dialog (widget_value *wv,
1497 instead. This looks better. */ 1496 instead. This looks better. */
1498 bool make_two_rows = total_buttons > 4; 1497 bool make_two_rows = total_buttons > 4;
1499 1498
1499#if GTK_CHECK_VERSION (3, 12, 0)
1500 GtkBuilder *gbld = gtk_builder_new ();
1501 GObject *go = gtk_buildable_get_internal_child (GTK_BUILDABLE (wd),
1502 gbld,
1503 "action_area");
1504 GtkBox *cur_box = GTK_BOX (go);
1505 g_object_unref (G_OBJECT (gbld));
1506#else
1507 GtkBox *cur_box = GTK_BOX (gtk_dialog_get_action_area (wd));
1508#endif
1509
1500 if (right_buttons == 0) right_buttons = total_buttons/2; 1510 if (right_buttons == 0) right_buttons = total_buttons/2;
1501 left_buttons = total_buttons - right_buttons; 1511 left_buttons = total_buttons - right_buttons;
1502 1512
@@ -1542,8 +1552,12 @@ create_dialog (widget_value *wv,
1542 w = gtk_label_new (utf8_label); 1552 w = gtk_label_new (utf8_label);
1543 gtk_box_pack_start (wvbox, gtk_label_new (""), FALSE, FALSE, 0); 1553 gtk_box_pack_start (wvbox, gtk_label_new (""), FALSE, FALSE, 0);
1544 gtk_box_pack_start (wvbox, w, TRUE, TRUE, 0); 1554 gtk_box_pack_start (wvbox, w, TRUE, TRUE, 0);
1555#if GTK_CHECK_VERSION (3, 14, 0)
1556 gtk_widget_set_halign (w, GTK_ALIGN_START);
1557 gtk_widget_set_valign (w, GTK_ALIGN_CENTER);
1558#else
1545 gtk_misc_set_alignment (GTK_MISC (w), 0.1, 0.5); 1559 gtk_misc_set_alignment (GTK_MISC (w), 0.1, 0.5);
1546 1560#endif
1547 /* Try to make dialog look better. Must realize first so 1561 /* Try to make dialog look better. Must realize first so
1548 the widget can calculate the size it needs. */ 1562 the widget can calculate the size it needs. */
1549 gtk_widget_realize (w); 1563 gtk_widget_realize (w);
@@ -2293,9 +2307,15 @@ make_widget_for_menu_item (const char *utf8_label, const char *utf8_key)
2293 wlbl = gtk_label_new (utf8_label); 2307 wlbl = gtk_label_new (utf8_label);
2294 wkey = gtk_label_new (utf8_key); 2308 wkey = gtk_label_new (utf8_key);
2295 2309
2310#if GTK_CHECK_VERSION (3, 14, 0)
2311 gtk_widget_set_halign (wlbl, GTK_ALIGN_START);
2312 gtk_widget_set_valign (wlbl, GTK_ALIGN_CENTER);
2313 gtk_widget_set_halign (wkey, GTK_ALIGN_START);
2314 gtk_widget_set_valign (wkey, GTK_ALIGN_CENTER);
2315#else
2296 gtk_misc_set_alignment (GTK_MISC (wlbl), 0.0, 0.5); 2316 gtk_misc_set_alignment (GTK_MISC (wlbl), 0.0, 0.5);
2297 gtk_misc_set_alignment (GTK_MISC (wkey), 0.0, 0.5); 2317 gtk_misc_set_alignment (GTK_MISC (wkey), 0.0, 0.5);
2298 2318#endif
2299 gtk_box_pack_start (GTK_BOX (wbox), wlbl, TRUE, TRUE, 0); 2319 gtk_box_pack_start (GTK_BOX (wbox), wlbl, TRUE, TRUE, 0);
2300 gtk_box_pack_start (GTK_BOX (wbox), wkey, FALSE, FALSE, 0); 2320 gtk_box_pack_start (GTK_BOX (wbox), wkey, FALSE, FALSE, 0);
2301 2321
@@ -4761,7 +4781,17 @@ update_frame_tool_bar (struct frame *f)
4761 (gpointer)img->pixmap); 4781 (gpointer)img->pixmap);
4762 } 4782 }
4763 4783
4784#if GTK_CHECK_VERSION (3, 14, 0)
4785 if (w)
4786 {
4787 gtk_widget_set_margin_start (w, hmargin);
4788 gtk_widget_set_margin_end (w, hmargin);
4789 gtk_widget_set_margin_top (w, vmargin);
4790 gtk_widget_set_margin_bottom (w, vmargin);
4791 }
4792#else
4764 if (w) gtk_misc_set_padding (GTK_MISC (w), hmargin, vmargin); 4793 if (w) gtk_misc_set_padding (GTK_MISC (w), hmargin, vmargin);
4794#endif
4765 ti = xg_make_tool_item (f, w, &wbutton, label, i, horiz, text_image); 4795 ti = xg_make_tool_item (f, w, &wbutton, label, i, horiz, text_image);
4766 gtk_toolbar_insert (GTK_TOOLBAR (wtoolbar), ti, j); 4796 gtk_toolbar_insert (GTK_TOOLBAR (wtoolbar), ti, j);
4767 } 4797 }