pidgin/gtkutils.c

changeset 17487
2d9c6631e922
parent 17385
bf46968ab031
child 17497
6cbc2e55e878
child 17858
14d53a1be2ee
equal deleted inserted replaced
17486:81eb43dbc844 17487:2d9c6631e922
92 }; 92 };
93 93
94 void 94 void
95 pidgin_setup_imhtml(GtkWidget *imhtml) 95 pidgin_setup_imhtml(GtkWidget *imhtml)
96 { 96 {
97 PangoFontDescription *desc = NULL;
97 g_return_if_fail(imhtml != NULL); 98 g_return_if_fail(imhtml != NULL);
98 g_return_if_fail(GTK_IS_IMHTML(imhtml)); 99 g_return_if_fail(GTK_IS_IMHTML(imhtml));
99 100
100 g_signal_connect(G_OBJECT(imhtml), "url_clicked", 101 g_signal_connect(G_OBJECT(imhtml), "url_clicked",
101 G_CALLBACK(url_clicked_cb), NULL); 102 G_CALLBACK(url_clicked_cb), NULL);
102 103
103 pidgin_themes_smiley_themeize(imhtml); 104 pidgin_themes_smiley_themeize(imhtml);
104 105
105 gtk_imhtml_set_funcs(GTK_IMHTML(imhtml), &gtkimhtml_cbs); 106 gtk_imhtml_set_funcs(GTK_IMHTML(imhtml), &gtkimhtml_cbs);
106 107
107 /* Use the GNOME "document" font, if applicable */ 108 if (!purple_prefs_get_bool(PIDGIN_PREFS_ROOT "/conversations/use_theme_font")) {
108 if (purple_running_gnome()) { 109 const char *font = purple_prefs_get_string(PIDGIN_PREFS_ROOT "/conversations/custom_font");
110 desc = pango_font_description_from_string(font);
111 } else if (purple_running_gnome()) {
112 /* Use the GNOME "document" font, if applicable */
109 char *path, *font; 113 char *path, *font;
110 PangoFontDescription *desc = NULL;
111 114
112 if ((path = g_find_program_in_path("gconftool-2"))) { 115 if ((path = g_find_program_in_path("gconftool-2"))) {
113 g_free(path); 116 g_free(path);
114 if (!g_spawn_command_line_sync( 117 if (!g_spawn_command_line_sync(
115 "gconftool-2 -g /desktop/gnome/interface/document_font_name", 118 "gconftool-2 -g /desktop/gnome/interface/document_font_name",
116 &font, NULL, NULL, NULL)) 119 &font, NULL, NULL, NULL))
117 return; 120 return;
118 } 121 }
119 desc = pango_font_description_from_string(font); 122 desc = pango_font_description_from_string(font);
120 g_free(font); 123 g_free(font);
121 124 }
122 if (desc) { 125
123 gtk_widget_modify_font(imhtml, desc); 126 if (desc) {
124 pango_font_description_free(desc); 127 gtk_widget_modify_font(imhtml, desc);
125 } 128 pango_font_description_free(desc);
126 } 129 }
127 } 130 }
128 131
129 GtkWidget * 132 GtkWidget *
130 pidgin_create_imhtml(gboolean editable, GtkWidget **imhtml_ret, GtkWidget **toolbar_ret, GtkWidget **sw_ret) 133 pidgin_create_imhtml(gboolean editable, GtkWidget **imhtml_ret, GtkWidget **toolbar_ret, GtkWidget **sw_ret)

mercurial