now we parse the entire glade file at startup, there's no need to reparse

2007-05-13  Jens Granseuer  <jensgr@gmx.net>

	* appearance-font.c: (cb_details_response), (cb_show_details):
	now we parse the entire glade file at startup, there's no need to
	reparse it for the font details dialog

svn path=/trunk/; revision=7609
This commit is contained in:
Jens Granseuer 2007-05-13 16:20:17 +00:00 committed by Jens Granseuer
parent 150a7cdbf6
commit 55f1e82094
2 changed files with 39 additions and 45 deletions

View file

@ -1,3 +1,9 @@
2007-05-13 Jens Granseuer <jensgr@gmx.net>
* appearance-font.c: (cb_details_response), (cb_show_details):
now we parse the entire glade file at startup, there's no need to
reparse it for the font details dialog
2007-05-13 Jens Granseuer <jensgr@gmx.net>
* appearance-themes.c: (themes_init): update button name, declare

View file

@ -796,8 +796,7 @@ cb_details_response (GtkDialog *dialog, gint response_id)
/* "Go to font folder" was clicked */
g_spawn_command_line_async ("nautilus --no-desktop fonts:///", NULL);
} else
gtk_widget_hide (GTK_WIDGET (dialog));
gtk_widget_hide (GTK_WIDGET (dialog));
}
static void
@ -805,86 +804,77 @@ cb_show_details (GtkWidget *button,
AppearanceData *data)
{
if (!data->font_details) {
GladeXML *dialog;
GtkWidget *dpi_spinner;
GnomeVFSURI *uri;
gint dpi;
GtkAdjustment *adjustment;
gchar *gladefile;
GtkWidget *widget;
gladefile = g_build_filename (GNOMECC_GLADE_DIR, "appearance.glade", NULL);
dialog = glade_xml_new (gladefile, "render_details", NULL);
g_free (gladefile);
if (!dialog)
return;
data->font_details = WID ("render_details");
data->font_details = glade_xml_get_widget (data->xml, "render_details");
uri = gnome_vfs_uri_new ("fonts:///");
widget = glade_xml_get_widget (data->xml, "go_to_font_button");
if (uri == NULL) {
gtk_widget_hide (WID ("go_to_font_button"));
gtk_widget_hide (widget);
} else {
gnome_vfs_uri_unref (uri);
gtk_widget_show (WID ("go_to_font_button"));
gtk_widget_show (widget);
}
gtk_window_set_transient_for (GTK_WINDOW (data->font_details),
GTK_WINDOW (glade_xml_get_widget (data->xml, "appearance_window")));
dpi_spinner = WID ("dpi_spinner");
widget = glade_xml_get_widget (data->xml, "dpi_spinner");
/* pick a sensible maximum dpi */
dpi = floor ((gdk_screen_width () / gdk_screen_width_mm () +
gdk_screen_height () / gdk_screen_height_mm ()) * 25.4 / 2. + .5);
if (dpi < DPI_LOW_REASONABLE_VALUE)
dpi = DPI_LOW_REASONABLE_VALUE; /* be extra careful */
adjustment = gtk_spin_button_get_adjustment (GTK_SPIN_BUTTON (dpi_spinner));
adjustment = gtk_spin_button_get_adjustment (GTK_SPIN_BUTTON (widget));
adjustment->upper = dpi * 3;
dpi_load (data->client, GTK_SPIN_BUTTON (dpi_spinner));
g_signal_connect (dpi_spinner, "value_changed",
dpi_load (data->client, GTK_SPIN_BUTTON (widget));
g_signal_connect (widget, "value_changed",
G_CALLBACK (dpi_value_changed), data->client);
gconf_client_notify_add (data->client, FONT_DPI_KEY,
dpi_changed,
dpi_spinner, NULL, NULL);
dpi_changed, widget, NULL, NULL);
setup_font_sample (WID ("antialias_none_sample"), ANTIALIAS_NONE, HINT_FULL);
setup_font_sample (WID ("antialias_grayscale_sample"), ANTIALIAS_GRAYSCALE, HINT_FULL);
setup_font_sample (WID ("antialias_subpixel_sample"), ANTIALIAS_RGBA, HINT_FULL);
setup_font_sample (glade_xml_get_widget (data->xml, "antialias_none_sample"), ANTIALIAS_NONE, HINT_FULL);
setup_font_sample (glade_xml_get_widget (data->xml, "antialias_grayscale_sample"), ANTIALIAS_GRAYSCALE, HINT_FULL);
setup_font_sample (glade_xml_get_widget (data->xml, "antialias_subpixel_sample"), ANTIALIAS_RGBA, HINT_FULL);
enum_group_create (FONT_ANTIALIASING_KEY, antialias_enums, ANTIALIAS_GRAYSCALE,
WID ("antialias_none_radio"), ANTIALIAS_NONE,
WID ("antialias_grayscale_radio"), ANTIALIAS_GRAYSCALE,
WID ("antialias_subpixel_radio"), ANTIALIAS_RGBA,
glade_xml_get_widget (data->xml, "antialias_none_radio"), ANTIALIAS_NONE,
glade_xml_get_widget (data->xml, "antialias_grayscale_radio"), ANTIALIAS_GRAYSCALE,
glade_xml_get_widget (data->xml, "antialias_subpixel_radio"), ANTIALIAS_RGBA,
NULL);
setup_font_sample (WID ("hint_none_sample"), ANTIALIAS_GRAYSCALE, HINT_NONE);
setup_font_sample (WID ("hint_slight_sample"), ANTIALIAS_GRAYSCALE, HINT_SLIGHT);
setup_font_sample (WID ("hint_medium_sample"), ANTIALIAS_GRAYSCALE, HINT_MEDIUM);
setup_font_sample (WID ("hint_full_sample"), ANTIALIAS_GRAYSCALE, HINT_FULL);
setup_font_sample (glade_xml_get_widget (data->xml, "hint_none_sample"), ANTIALIAS_GRAYSCALE, HINT_NONE);
setup_font_sample (glade_xml_get_widget (data->xml, "hint_slight_sample"), ANTIALIAS_GRAYSCALE, HINT_SLIGHT);
setup_font_sample (glade_xml_get_widget (data->xml, "hint_medium_sample"), ANTIALIAS_GRAYSCALE, HINT_MEDIUM);
setup_font_sample (glade_xml_get_widget (data->xml, "hint_full_sample"), ANTIALIAS_GRAYSCALE, HINT_FULL);
enum_group_create (FONT_HINTING_KEY, hint_enums, HINT_FULL,
WID ("hint_none_radio"), HINT_NONE,
WID ("hint_slight_radio"), HINT_SLIGHT,
WID ("hint_medium_radio"), HINT_MEDIUM,
WID ("hint_full_radio"), HINT_FULL,
glade_xml_get_widget (data->xml, "hint_none_radio"), HINT_NONE,
glade_xml_get_widget (data->xml, "hint_slight_radio"), HINT_SLIGHT,
glade_xml_get_widget (data->xml, "hint_medium_radio"), HINT_MEDIUM,
glade_xml_get_widget (data->xml, "hint_full_radio"), HINT_FULL,
NULL);
gtk_image_set_from_file (GTK_IMAGE (WID ("subpixel_rgb_image")),
gtk_image_set_from_file (GTK_IMAGE (glade_xml_get_widget (data->xml, "subpixel_rgb_image")),
GNOMECC_PIXMAP_DIR "/subpixel-rgb.png");
gtk_image_set_from_file (GTK_IMAGE (WID ("subpixel_bgr_image")),
gtk_image_set_from_file (GTK_IMAGE (glade_xml_get_widget (data->xml, "subpixel_bgr_image")),
GNOMECC_PIXMAP_DIR "/subpixel-bgr.png");
gtk_image_set_from_file (GTK_IMAGE (WID ("subpixel_vrgb_image")),
gtk_image_set_from_file (GTK_IMAGE (glade_xml_get_widget (data->xml, "subpixel_vrgb_image")),
GNOMECC_PIXMAP_DIR "/subpixel-vrgb.png");
gtk_image_set_from_file (GTK_IMAGE (WID ("subpixel_vbgr_image")),
gtk_image_set_from_file (GTK_IMAGE (glade_xml_get_widget (data->xml, "subpixel_vbgr_image")),
GNOMECC_PIXMAP_DIR "/subpixel-vbgr.png");
enum_group_create (FONT_RGBA_ORDER_KEY, rgba_order_enums, RGBA_RGB,
WID ("subpixel_rgb_radio"), RGBA_RGB,
WID ("subpixel_bgr_radio"), RGBA_BGR,
WID ("subpixel_vrgb_radio"), RGBA_VRGB,
WID ("subpixel_vbgr_radio"), RGBA_VBGR,
glade_xml_get_widget (data->xml, "subpixel_rgb_radio"), RGBA_RGB,
glade_xml_get_widget (data->xml, "subpixel_bgr_radio"), RGBA_BGR,
glade_xml_get_widget (data->xml, "subpixel_vrgb_radio"), RGBA_VRGB,
glade_xml_get_widget (data->xml, "subpixel_vbgr_radio"), RGBA_VBGR,
NULL);
g_signal_connect (G_OBJECT (data->font_details),
@ -893,8 +883,6 @@ cb_show_details (GtkWidget *button,
g_signal_connect (G_OBJECT (data->font_details),
"delete_event",
G_CALLBACK (gtk_true), NULL);
g_object_unref (dialog);
}
gtk_window_present (GTK_WINDOW (data->font_details));