gdm r5731 - in trunk: . gui/simple-greeter po



Author: mccann
Date: Fri Feb  8 03:14:14 2008
New Revision: 5731
URL: http://svn.gnome.org/viewvc/gdm?rev=5731&view=rev

Log:
2008-02-07  William Jon McCann  <jmccann redhat com>

	* gui/simple-greeter/gdm-a11y-preferences-dialog.c:
	(config_get_large_print), (config_set_large_print),
	(on_large_print_checkbutton_toggled), (ui_set_large_print),
	(setup_dialog):
	* gui/simple-greeter/gdm-a11y-preferences-dialog.glade:
	Add Large Print a11y option.



Modified:
   trunk/ChangeLog
   trunk/gui/simple-greeter/gdm-a11y-preferences-dialog.c
   trunk/gui/simple-greeter/gdm-a11y-preferences-dialog.glade
   trunk/po/ChangeLog

Modified: trunk/gui/simple-greeter/gdm-a11y-preferences-dialog.c
==============================================================================
--- trunk/gui/simple-greeter/gdm-a11y-preferences-dialog.c	(original)
+++ trunk/gui/simple-greeter/gdm-a11y-preferences-dialog.c	Fri Feb  8 03:14:14 2008
@@ -50,12 +50,15 @@
 #define KEY_SCREEN_MAGNIFIER_ENABLED KEY_GDM_A11Y_DIR "/screen_magnifier_enabled"
 #define KEY_SCREEN_READER_ENABLED    KEY_GDM_A11Y_DIR "/screen_reader_enabled"
 
-#define KEY_GTK_THEME "/desktop/gnome/interface/gtk_theme"
-#define KEY_COLOR_SCHEME "/desktop/gnome/interface/gtk_color_scheme"
-#define KEY_METACITY_THEME "/apps/metacity/general/theme"
-#define KEY_ICON_THEME "/desktop/gnome/interface/icon_theme"
+#define KEY_GTK_THEME          "/desktop/gnome/interface/gtk_theme"
+#define KEY_COLOR_SCHEME       "/desktop/gnome/interface/gtk_color_scheme"
+#define KEY_METACITY_THEME     "/apps/metacity/general/theme"
+#define KEY_ICON_THEME         "/desktop/gnome/interface/icon_theme"
 
-#define HIGH_CONTRAST_THEME "HighContrast"
+#define KEY_GTK_FONT           "/desktop/gnome/interface/font_name"
+
+#define HIGH_CONTRAST_THEME    "HighContrast"
+#define LARGE_FONT             "Sans 24"
 
 struct GdmA11yPreferencesDialogPrivate
 {
@@ -202,6 +205,37 @@
 }
 
 static gboolean
+config_get_large_print (gboolean *is_writable)
+{
+        gboolean ret;
+        char    *font;
+
+        ret = FALSE;
+
+        font = config_get_string (KEY_GTK_FONT, is_writable);
+
+        g_free (font);
+
+        return ret;
+}
+
+static void
+config_set_large_print (gboolean enabled)
+{
+        GConfClient *client;
+
+        client = gconf_client_get_default ();
+
+        if (enabled) {
+                gconf_client_set_string (client, KEY_GTK_FONT, LARGE_FONT, NULL);
+        } else {
+                gconf_client_unset (client, KEY_GTK_FONT, NULL);
+        }
+
+        g_object_unref (client);
+}
+
+static gboolean
 config_get_high_contrast (gboolean *is_writable)
 {
         gboolean ret;
@@ -384,6 +418,13 @@
 }
 
 static void
+on_large_print_checkbutton_toggled (GtkToggleButton          *button,
+                                    GdmA11yPreferencesDialog *dialog)
+{
+        config_set_large_print (gtk_toggle_button_get_active (button));
+}
+
+static void
 ui_set_sticky_keys (GdmA11yPreferencesDialog *dialog,
                     gboolean                  enabled)
 {
@@ -482,6 +523,20 @@
 }
 
 static void
+ui_set_large_print (GdmA11yPreferencesDialog *dialog,
+                    gboolean                  enabled)
+{
+        GtkWidget *widget;
+        gboolean   active;
+
+        widget = glade_xml_get_widget (dialog->priv->xml, "large_print_checkbutton");
+        active = gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (widget));
+        if (active != enabled) {
+                gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (widget), enabled);
+        }
+}
+
+static void
 key_changed_cb (GConfClient *client,
                 guint        cnxn_id,
                 GConfEntry  *entry,
@@ -649,6 +704,18 @@
                 gtk_widget_set_sensitive (widget, FALSE);
         }
 
+        widget = glade_xml_get_widget (dialog->priv->xml, "large_print_checkbutton");
+        g_signal_connect (widget,
+                          "toggled",
+                          G_CALLBACK (on_large_print_checkbutton_toggled),
+                          NULL);
+        enabled = config_get_large_print (&is_writable);
+        ui_set_large_print (dialog, enabled);
+        if (! is_writable) {
+                gtk_widget_set_sensitive (widget, FALSE);
+        }
+
+
         client = gconf_client_get_default ();
         gconf_client_add_dir (client,
                               KEY_A11Y_DIR,

Modified: trunk/gui/simple-greeter/gdm-a11y-preferences-dialog.glade
==============================================================================
--- trunk/gui/simple-greeter/gdm-a11y-preferences-dialog.glade	(original)
+++ trunk/gui/simple-greeter/gdm-a11y-preferences-dialog.glade	Fri Feb  8 03:14:14 2008
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
 <!DOCTYPE glade-interface SYSTEM "glade-2.0.dtd">
-<!--Generated with glade3 3.4.1 on Thu Feb  7 15:36:44 2008 -->
+<!--Generated with glade3 3.4.1 on Thu Feb  7 19:14:20 2008 -->
 <glade-interface>
   <widget class="GtkDialog" id="dialog1">
     <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
@@ -142,6 +142,20 @@
                         <property name="position">6</property>
                       </packing>
                     </child>
+                    <child>
+                      <widget class="GtkCheckButton" id="large_print_checkbutton">
+                        <property name="visible">True</property>
+                        <property name="can_focus">True</property>
+                        <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
+                        <property name="label" translatable="yes">_Use a larger font size (Large Print)</property>
+                        <property name="use_underline">True</property>
+                        <property name="response_id">0</property>
+                        <property name="draw_indicator">True</property>
+                      </widget>
+                      <packing>
+                        <property name="position">7</property>
+                      </packing>
+                    </child>
                   </widget>
                   <packing>
                     <property name="position">1</property>



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]