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:
parent
150a7cdbf6
commit
55f1e82094
2 changed files with 39 additions and 45 deletions
|
@ -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>
|
2007-05-13 Jens Granseuer <jensgr@gmx.net>
|
||||||
|
|
||||||
* appearance-themes.c: (themes_init): update button name, declare
|
* appearance-themes.c: (themes_init): update button name, declare
|
||||||
|
|
|
@ -796,7 +796,6 @@ cb_details_response (GtkDialog *dialog, gint response_id)
|
||||||
/* "Go to font folder" was clicked */
|
/* "Go to font folder" was clicked */
|
||||||
g_spawn_command_line_async ("nautilus --no-desktop fonts:///", NULL);
|
g_spawn_command_line_async ("nautilus --no-desktop fonts:///", NULL);
|
||||||
} else
|
} else
|
||||||
|
|
||||||
gtk_widget_hide (GTK_WIDGET (dialog));
|
gtk_widget_hide (GTK_WIDGET (dialog));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -805,86 +804,77 @@ cb_show_details (GtkWidget *button,
|
||||||
AppearanceData *data)
|
AppearanceData *data)
|
||||||
{
|
{
|
||||||
if (!data->font_details) {
|
if (!data->font_details) {
|
||||||
GladeXML *dialog;
|
|
||||||
GtkWidget *dpi_spinner;
|
|
||||||
GnomeVFSURI *uri;
|
GnomeVFSURI *uri;
|
||||||
gint dpi;
|
gint dpi;
|
||||||
GtkAdjustment *adjustment;
|
GtkAdjustment *adjustment;
|
||||||
gchar *gladefile;
|
GtkWidget *widget;
|
||||||
|
|
||||||
gladefile = g_build_filename (GNOMECC_GLADE_DIR, "appearance.glade", NULL);
|
data->font_details = glade_xml_get_widget (data->xml, "render_details");
|
||||||
dialog = glade_xml_new (gladefile, "render_details", NULL);
|
|
||||||
g_free (gladefile);
|
|
||||||
|
|
||||||
if (!dialog)
|
|
||||||
return;
|
|
||||||
|
|
||||||
data->font_details = WID ("render_details");
|
|
||||||
uri = gnome_vfs_uri_new ("fonts:///");
|
uri = gnome_vfs_uri_new ("fonts:///");
|
||||||
|
widget = glade_xml_get_widget (data->xml, "go_to_font_button");
|
||||||
if (uri == NULL) {
|
if (uri == NULL) {
|
||||||
gtk_widget_hide (WID ("go_to_font_button"));
|
gtk_widget_hide (widget);
|
||||||
} else {
|
} else {
|
||||||
gnome_vfs_uri_unref (uri);
|
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_set_transient_for (GTK_WINDOW (data->font_details),
|
||||||
GTK_WINDOW (glade_xml_get_widget (data->xml, "appearance_window")));
|
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 */
|
/* pick a sensible maximum dpi */
|
||||||
dpi = floor ((gdk_screen_width () / gdk_screen_width_mm () +
|
dpi = floor ((gdk_screen_width () / gdk_screen_width_mm () +
|
||||||
gdk_screen_height () / gdk_screen_height_mm ()) * 25.4 / 2. + .5);
|
gdk_screen_height () / gdk_screen_height_mm ()) * 25.4 / 2. + .5);
|
||||||
if (dpi < DPI_LOW_REASONABLE_VALUE)
|
if (dpi < DPI_LOW_REASONABLE_VALUE)
|
||||||
dpi = DPI_LOW_REASONABLE_VALUE; /* be extra careful */
|
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;
|
adjustment->upper = dpi * 3;
|
||||||
|
|
||||||
dpi_load (data->client, GTK_SPIN_BUTTON (dpi_spinner));
|
dpi_load (data->client, GTK_SPIN_BUTTON (widget));
|
||||||
g_signal_connect (dpi_spinner, "value_changed",
|
g_signal_connect (widget, "value_changed",
|
||||||
G_CALLBACK (dpi_value_changed), data->client);
|
G_CALLBACK (dpi_value_changed), data->client);
|
||||||
|
|
||||||
gconf_client_notify_add (data->client, FONT_DPI_KEY,
|
gconf_client_notify_add (data->client, FONT_DPI_KEY,
|
||||||
dpi_changed,
|
dpi_changed, widget, NULL, NULL);
|
||||||
dpi_spinner, NULL, NULL);
|
|
||||||
|
|
||||||
setup_font_sample (WID ("antialias_none_sample"), ANTIALIAS_NONE, HINT_FULL);
|
setup_font_sample (glade_xml_get_widget (data->xml, "antialias_none_sample"), ANTIALIAS_NONE, HINT_FULL);
|
||||||
setup_font_sample (WID ("antialias_grayscale_sample"), ANTIALIAS_GRAYSCALE, HINT_FULL);
|
setup_font_sample (glade_xml_get_widget (data->xml, "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_subpixel_sample"), ANTIALIAS_RGBA, HINT_FULL);
|
||||||
|
|
||||||
enum_group_create (FONT_ANTIALIASING_KEY, antialias_enums, ANTIALIAS_GRAYSCALE,
|
enum_group_create (FONT_ANTIALIASING_KEY, antialias_enums, ANTIALIAS_GRAYSCALE,
|
||||||
WID ("antialias_none_radio"), ANTIALIAS_NONE,
|
glade_xml_get_widget (data->xml, "antialias_none_radio"), ANTIALIAS_NONE,
|
||||||
WID ("antialias_grayscale_radio"), ANTIALIAS_GRAYSCALE,
|
glade_xml_get_widget (data->xml, "antialias_grayscale_radio"), ANTIALIAS_GRAYSCALE,
|
||||||
WID ("antialias_subpixel_radio"), ANTIALIAS_RGBA,
|
glade_xml_get_widget (data->xml, "antialias_subpixel_radio"), ANTIALIAS_RGBA,
|
||||||
NULL);
|
NULL);
|
||||||
|
|
||||||
setup_font_sample (WID ("hint_none_sample"), ANTIALIAS_GRAYSCALE, HINT_NONE);
|
setup_font_sample (glade_xml_get_widget (data->xml, "hint_none_sample"), ANTIALIAS_GRAYSCALE, HINT_NONE);
|
||||||
setup_font_sample (WID ("hint_slight_sample"), ANTIALIAS_GRAYSCALE, HINT_SLIGHT);
|
setup_font_sample (glade_xml_get_widget (data->xml, "hint_slight_sample"), ANTIALIAS_GRAYSCALE, HINT_SLIGHT);
|
||||||
setup_font_sample (WID ("hint_medium_sample"), ANTIALIAS_GRAYSCALE, HINT_MEDIUM);
|
setup_font_sample (glade_xml_get_widget (data->xml, "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_full_sample"), ANTIALIAS_GRAYSCALE, HINT_FULL);
|
||||||
|
|
||||||
enum_group_create (FONT_HINTING_KEY, hint_enums, HINT_FULL,
|
enum_group_create (FONT_HINTING_KEY, hint_enums, HINT_FULL,
|
||||||
WID ("hint_none_radio"), HINT_NONE,
|
glade_xml_get_widget (data->xml, "hint_none_radio"), HINT_NONE,
|
||||||
WID ("hint_slight_radio"), HINT_SLIGHT,
|
glade_xml_get_widget (data->xml, "hint_slight_radio"), HINT_SLIGHT,
|
||||||
WID ("hint_medium_radio"), HINT_MEDIUM,
|
glade_xml_get_widget (data->xml, "hint_medium_radio"), HINT_MEDIUM,
|
||||||
WID ("hint_full_radio"), HINT_FULL,
|
glade_xml_get_widget (data->xml, "hint_full_radio"), HINT_FULL,
|
||||||
NULL);
|
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");
|
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");
|
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");
|
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");
|
GNOMECC_PIXMAP_DIR "/subpixel-vbgr.png");
|
||||||
|
|
||||||
enum_group_create (FONT_RGBA_ORDER_KEY, rgba_order_enums, RGBA_RGB,
|
enum_group_create (FONT_RGBA_ORDER_KEY, rgba_order_enums, RGBA_RGB,
|
||||||
WID ("subpixel_rgb_radio"), RGBA_RGB,
|
glade_xml_get_widget (data->xml, "subpixel_rgb_radio"), RGBA_RGB,
|
||||||
WID ("subpixel_bgr_radio"), RGBA_BGR,
|
glade_xml_get_widget (data->xml, "subpixel_bgr_radio"), RGBA_BGR,
|
||||||
WID ("subpixel_vrgb_radio"), RGBA_VRGB,
|
glade_xml_get_widget (data->xml, "subpixel_vrgb_radio"), RGBA_VRGB,
|
||||||
WID ("subpixel_vbgr_radio"), RGBA_VBGR,
|
glade_xml_get_widget (data->xml, "subpixel_vbgr_radio"), RGBA_VBGR,
|
||||||
NULL);
|
NULL);
|
||||||
|
|
||||||
g_signal_connect (G_OBJECT (data->font_details),
|
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),
|
g_signal_connect (G_OBJECT (data->font_details),
|
||||||
"delete_event",
|
"delete_event",
|
||||||
G_CALLBACK (gtk_true), NULL);
|
G_CALLBACK (gtk_true), NULL);
|
||||||
|
|
||||||
g_object_unref (dialog);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
gtk_window_present (GTK_WINDOW (data->font_details));
|
gtk_window_present (GTK_WINDOW (data->font_details));
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue