aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorJan Djärv2012-08-11 10:54:35 +0200
committerJan Djärv2012-08-11 10:54:35 +0200
commit32bcadb4763c2b57a6587e0daf95c421d5391526 (patch)
tree04670db788cd9f80b245edf77896d6cb906539b9 /src
parent9ff9402d3aa4278f34ffff71cc4b89ba7878e3ab (diff)
downloademacs-32bcadb4763c2b57a6587e0daf95c421d5391526.tar.gz
emacs-32bcadb4763c2b57a6587e0daf95c421d5391526.zip
Use GtkFontChooser on Gtk+ 3.2 and up.
* src/gtkutil.c (gtk_font_chooser_dialog_new, GTK_FONT_CHOOSER) (gtk_font_chooser_set_font, gtk_font_chooser_get_font): Define for Gtk+ versions less than 3.2. (xg_get_font_name): Use those functions/macros here. Reported by Frans Oilinki <moilinki@gmail.com>.
Diffstat (limited to 'src')
-rw-r--r--src/ChangeLog8
-rw-r--r--src/gtkutil.c22
2 files changed, 25 insertions, 5 deletions
diff --git a/src/ChangeLog b/src/ChangeLog
index 0fc90a14825..b60ab6ec56f 100644
--- a/src/ChangeLog
+++ b/src/ChangeLog
@@ -1,3 +1,11 @@
12012-08-11 Jan Djärv <jan.h.d@swipnet.se>
2
3 * gtkutil.c (gtk_font_chooser_dialog_new, GTK_FONT_CHOOSER)
4 (gtk_font_chooser_set_font, gtk_font_chooser_get_font): Define
5 for Gtk+ versions less than 3.2.
6 (xg_get_font_name): Use those functions/macros here.
7 Reported by Frans Oilinki <moilinki@gmail.com>.
8
12012-08-11 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp> 92012-08-11 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
2 10
3 * unexmacosx.c (copy_data_segment): Copy initialized data in 11 * unexmacosx.c (copy_data_segment): Copy initialized data in
diff --git a/src/gtkutil.c b/src/gtkutil.c
index 4879479201a..dec4ee079e2 100644
--- a/src/gtkutil.c
+++ b/src/gtkutil.c
@@ -75,6 +75,18 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
75#define remove_submenu(w) gtk_menu_item_remove_submenu ((w)) 75#define remove_submenu(w) gtk_menu_item_remove_submenu ((w))
76#endif 76#endif
77 77
78#if GTK_MAJOR_VERSION < 3 || \
79 (GTK_MAJOR_VERSION == 3 && GTK_MINOR_VERSION < 2)
80#define gtk_font_chooser_dialog_new(x, y) \
81 gtk_font_selection_dialog_new (x)
82#undef GTK_FONT_CHOOSER
83#define GTK_FONT_CHOOSER(x) GTK_FONT_SELECTION_DIALOG (x)
84#define gtk_font_chooser_set_font(x, y) \
85 gtk_font_selection_dialog_set_font_name (x, y)
86#define gtk_font_chooser_get_font(x) \
87 gtk_font_selection_dialog_get_font_name (x)
88#endif
89
78#ifndef HAVE_GTK3 90#ifndef HAVE_GTK3
79#ifdef USE_GTK_TOOLTIP 91#ifdef USE_GTK_TOOLTIP
80#define gdk_window_get_screen(w) gdk_drawable_get_screen (w) 92#define gdk_window_get_screen(w) gdk_drawable_get_screen (w)
@@ -2000,12 +2012,13 @@ xg_get_font_name (FRAME_PTR f, const char *default_name)
2000 sigblock (sigmask (__SIGRTMIN)); 2012 sigblock (sigmask (__SIGRTMIN));
2001#endif /* HAVE_PTHREAD */ 2013#endif /* HAVE_PTHREAD */
2002 2014
2003 w = gtk_font_selection_dialog_new ("Pick a font"); 2015 w = gtk_font_chooser_dialog_new
2016 ("Pick a font", GTK_WINDOW (FRAME_GTK_OUTER_WIDGET (f)));
2017
2004 if (!default_name) 2018 if (!default_name)
2005 default_name = "Monospace 10"; 2019 default_name = "Monospace 10";
2006 gtk_font_selection_dialog_set_font_name (GTK_FONT_SELECTION_DIALOG (w),
2007 default_name);
2008 2020
2021 gtk_font_chooser_set_font (GTK_FONT_CHOOSER (w), default_name);
2009 gtk_widget_set_name (w, "emacs-fontdialog"); 2022 gtk_widget_set_name (w, "emacs-fontdialog");
2010 2023
2011 done = xg_dialog_run (f, w); 2024 done = xg_dialog_run (f, w);
@@ -2015,8 +2028,7 @@ xg_get_font_name (FRAME_PTR f, const char *default_name)
2015#endif 2028#endif
2016 2029
2017 if (done == GTK_RESPONSE_OK) 2030 if (done == GTK_RESPONSE_OK)
2018 fontname = gtk_font_selection_dialog_get_font_name 2031 fontname = gtk_font_chooser_get_font (GTK_FONT_CHOOSER (w));
2019 (GTK_FONT_SELECTION_DIALOG (w));
2020 2032
2021 gtk_widget_destroy (w); 2033 gtk_widget_destroy (w);
2022 return fontname; 2034 return fontname;