summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBrian Cameron <brian.cameron@sun.com>2007-11-14 22:36:23 +0000
committerBrian Cameron <bcameron@src.gnome.org>2007-11-14 22:36:23 +0000
commit051fd09c69f61f49768c750ab2dd59bb39e49d75 (patch)
treea2ff337233a942330ad0003d50669d9e2f5181ff
parent168547c17e070c85d1c341f20274dbcb204c4c2e (diff)
downloadgdm-051fd09c69f61f49768c750ab2dd59bb39e49d75.tar.gz
Reversing last commit since it broke string freeze.
2007-11-14 Brian Cameron <brian.cameron@sun.com> * Reversing last commit since it broke string freeze. svn path=/branches/gnome-2-20/; revision=5508
-rw-r--r--ChangeLog4
-rw-r--r--config/gdm.conf.in3
-rw-r--r--docs/C/gdm.xml11
-rw-r--r--gui/gdmlogin.c2
-rw-r--r--gui/gdmsetup.c29
-rw-r--r--gui/gdmsetup.glade113
-rw-r--r--gui/greeter/greeter_canvas_item.c2
7 files changed, 149 insertions, 15 deletions
diff --git a/ChangeLog b/ChangeLog
index f402d22b..a1f19b86 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,9 @@
2007-11-14 Brian Cameron <brian.cameron@sun.com>
+ * Reversing last commit since it broke string freeze.
+
+2007-11-14 Brian Cameron <brian.cameron@sun.com>
+
* gui/gdmlogin.c, gui/greeter/greeter_canvas_item.c,
gui/gdmsetup.glade, gui/gdmsetup.c, config/gdm.conf.in,
docs/C/gdm.xml: No longer hardcode the password field to '*'.
diff --git a/config/gdm.conf.in b/config/gdm.conf.in
index 5efdcca2..28a9f60d 100644
--- a/config/gdm.conf.in
+++ b/config/gdm.conf.in
@@ -500,6 +500,9 @@ GraphicalThemedColor=#76848F
#ShowLastSession=true
# Always use 24 hour clock no matter what the locale.
#Use24Clock=auto
+# Use circles in the password field. Looks kind of cool actually, but only
+# works with certain fonts.
+#UseCirclesInEntry=false
# Do not show any visible feedback in the password field. This is standard for
# instance in console, xdm and ssh.
#UseInvisibleInEntry=false
diff --git a/docs/C/gdm.xml b/docs/C/gdm.xml
index bbc413c3..e3f060c5 100644
--- a/docs/C/gdm.xml
+++ b/docs/C/gdm.xml
@@ -4008,6 +4008,17 @@ gdm:.my.domain
</varlistentry>
<varlistentry>
+ <term>UseCirclesInEntry</term>
+ <listitem>
+ <synopsis>UseCirclesInEntry=false</synopsis>
+ <para>
+ Use circles instead of asterisks in the password entry.
+ This may not work with all fonts however.
+ </para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
<term>UseInvisibleInEntry</term>
<listitem>
<synopsis>UseInvisibleInEntry=false</synopsis>
diff --git a/gui/gdmlogin.c b/gui/gdmlogin.c
index a3ad5508..f673ddff 100644
--- a/gui/gdmlogin.c
+++ b/gui/gdmlogin.c
@@ -2536,6 +2536,8 @@ gdm_login_gui_init (void)
gtk_entry_set_invisible_char (GTK_ENTRY (entry), 0);
else if (gdm_config_get_bool (GDM_KEY_ENTRY_CIRCLES))
gtk_entry_set_invisible_char (GTK_ENTRY (entry), 0x25cf);
+ else
+ gtk_entry_set_invisible_char (GTK_ENTRY (entry), '*');
gtk_entry_set_max_length (GTK_ENTRY (entry), PW_ENTRY_SIZE);
gtk_widget_set_size_request (entry, 250, -1);
diff --git a/gui/gdmsetup.c b/gui/gdmsetup.c
index c06b9c4e..8fe176d4 100644
--- a/gui/gdmsetup.c
+++ b/gui/gdmsetup.c
@@ -512,7 +512,14 @@ toggle_timeout (GtkWidget *toggle)
const char *key = g_object_get_data (G_OBJECT (toggle), "key");
gboolean val = gdm_config_get_bool ((gchar *)key);
- if (strcmp (ve_sure_string (key), GDM_KEY_GLOBAL_FACE_DIR) == 0) {
+ if (strcmp (ve_sure_string (key), GDM_KEY_ENTRY_INVISIBLE) == 0) {
+ /* This is a lil bit back to front
+ true is false and false is true in this case */
+ if ( bool_equal (val, GTK_TOGGLE_BUTTON (toggle)->active)) {
+ gdm_setup_config_set_bool (key, !GTK_TOGGLE_BUTTON (toggle)->active);
+ }
+ }
+ else if (strcmp (ve_sure_string (key), GDM_KEY_GLOBAL_FACE_DIR) == 0) {
/* Once enabled write the curently selected item
in the filechooser widget, otherwise disable
the config entry, i.e. write an empty string */
@@ -2195,11 +2202,20 @@ setup_notify_toggle (const char *name,
g_signal_connect (G_OBJECT (toggle), "toggled",
G_CALLBACK (timedlogin_allow_remote_toggled), timedlogin_allow_remote);
}
- else if (strcmp ("hide_vis_feedback_passwd_checkbox", ve_sure_string (name)) == 0) {
- gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (toggle), val);
+ else if (strcmp ("vis_feedback_passwd_checkbox", ve_sure_string (name)) == 0) {
+ /* This one is a lil bit back to front
+ true is false and false is true */
+ GtkWidget *use_circles_in_passwd;
+ use_circles_in_passwd = glade_xml_get_widget (xml, "use_circles_passwd_checkbox");
+
+ gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (toggle), !val);
+ gtk_widget_set_sensitive (use_circles_in_passwd, !val);
g_signal_connect (G_OBJECT (toggle), "toggled",
- G_CALLBACK (toggle_toggled), toggle);
+ G_CALLBACK (toggle_toggled), toggle);
+ g_signal_connect (G_OBJECT (toggle), "toggled",
+ G_CALLBACK (toggle_toggled_sensitivity_positive), use_circles_in_passwd);
+
}
else if (strcmp ("local_set_pos_checkbox", ve_sure_string (name)) == 0) {
@@ -7446,7 +7462,10 @@ setup_general_tab (void)
/* Setup use visual feedback in the passwotrd entry */
- setup_notify_toggle ("hide_vis_feedback_passwd_checkbox", GDM_KEY_ENTRY_INVISIBLE);
+ setup_notify_toggle ("vis_feedback_passwd_checkbox", GDM_KEY_ENTRY_INVISIBLE);
+
+ /* Setup use circles in the password entry */
+ setup_notify_toggle ("use_circles_passwd_checkbox", GDM_KEY_ENTRY_CIRCLES);
/* Setup always login current session entry */
setup_notify_toggle ("a_login_curr_session_checkbutton", GDM_KEY_ALWAYS_LOGIN_CURRENT_SESSION);
diff --git a/gui/gdmsetup.glade b/gui/gdmsetup.glade
index 9c69f8e6..46e63d10 100644
--- a/gui/gdmsetup.glade
+++ b/gui/gdmsetup.glade
@@ -2,6 +2,7 @@
<!DOCTYPE glade-interface SYSTEM "http://glade.gnome.org/glade-2.0.dtd">
<glade-interface>
+<requires lib="gnome"/>
<widget class="GtkDialog" id="setup_dialog">
<property name="title" translatable="yes">Login Window Preferences</property>
@@ -89,17 +90,109 @@
<property name="spacing">3</property>
<child>
- <widget class="GtkCheckButton" id="hide_vis_feedback_passwd_checkbox">
+ <widget class="GtkHBox" id="hbox201">
<property name="visible">True</property>
- <property name="tooltip" translatable="yes">Hide visual feedback in the password entry. Turning this option on can increase security, as the length of your password cannot be guessed by people looking at your screen.</property>
- <property name="can_focus">True</property>
- <property name="label" translatable="yes">_Hide visual feedback in the password entry</property>
- <property name="use_underline">True</property>
- <property name="relief">GTK_RELIEF_NORMAL</property>
- <property name="focus_on_click">True</property>
- <property name="active">False</property>
- <property name="inconsistent">False</property>
- <property name="draw_indicator">True</property>
+ <property name="homogeneous">False</property>
+ <property name="spacing">0</property>
+
+ <child>
+ <widget class="GtkTable" id="table24">
+ <property name="visible">True</property>
+ <property name="n_rows">2</property>
+ <property name="n_columns">1</property>
+ <property name="homogeneous">False</property>
+ <property name="row_spacing">3</property>
+ <property name="column_spacing">12</property>
+
+ <child>
+ <widget class="GtkCheckButton" id="vis_feedback_passwd_checkbox">
+ <property name="visible">True</property>
+ <property name="tooltip" translatable="yes">Show visual feedback in the password entry. Turning this option on can be a security hazard as the length of your password can be guessed.</property>
+ <property name="can_focus">True</property>
+ <property name="label" translatable="yes">_Show visual feedback (asterisks) in the password entry</property>
+ <property name="use_underline">True</property>
+ <property name="relief">GTK_RELIEF_NORMAL</property>
+ <property name="focus_on_click">True</property>
+ <property name="active">False</property>
+ <property name="inconsistent">False</property>
+ <property name="draw_indicator">True</property>
+ </widget>
+ <packing>
+ <property name="left_attach">0</property>
+ <property name="right_attach">1</property>
+ <property name="top_attach">0</property>
+ <property name="bottom_attach">1</property>
+ <property name="x_options">fill</property>
+ <property name="y_options"></property>
+ </packing>
+ </child>
+
+ <child>
+ <widget class="GtkHBox" id="hbox203">
+ <property name="visible">True</property>
+ <property name="homogeneous">False</property>
+ <property name="spacing">0</property>
+
+ <child>
+ <widget class="GtkLabel" id="label297">
+ <property name="visible">True</property>
+ <property name="label"> </property>
+ <property name="use_underline">False</property>
+ <property name="use_markup">False</property>
+ <property name="justify">GTK_JUSTIFY_LEFT</property>
+ <property name="wrap">False</property>
+ <property name="selectable">False</property>
+ <property name="xalign">0.5</property>
+ <property name="yalign">0.5</property>
+ <property name="xpad">0</property>
+ <property name="ypad">0</property>
+ <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
+ <property name="width_chars">-1</property>
+ <property name="single_line_mode">False</property>
+ <property name="angle">0</property>
+ </widget>
+ <packing>
+ <property name="padding">0</property>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ </packing>
+ </child>
+
+ <child>
+ <widget class="GtkCheckButton" id="use_circles_passwd_checkbox">
+ <property name="visible">True</property>
+ <property name="tooltip" translatable="yes">Use circles instead of asterisks in the password entry. This may not work with all fonts however.</property>
+ <property name="can_focus">True</property>
+ <property name="label" translatable="yes">_Use circles instead of asterisks in the password entry</property>
+ <property name="use_underline">True</property>
+ <property name="relief">GTK_RELIEF_NORMAL</property>
+ <property name="focus_on_click">True</property>
+ <property name="active">False</property>
+ <property name="inconsistent">False</property>
+ <property name="draw_indicator">True</property>
+ </widget>
+ <packing>
+ <property name="padding">0</property>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ </packing>
+ </child>
+ </widget>
+ <packing>
+ <property name="left_attach">0</property>
+ <property name="right_attach">1</property>
+ <property name="top_attach">1</property>
+ <property name="bottom_attach">2</property>
+ <property name="x_options">fill</property>
+ </packing>
+ </child>
+ </widget>
+ <packing>
+ <property name="padding">0</property>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ </packing>
+ </child>
</widget>
<packing>
<property name="padding">0</property>
diff --git a/gui/greeter/greeter_canvas_item.c b/gui/greeter/greeter_canvas_item.c
index 18dcf702..56e7fd1a 100644
--- a/gui/greeter/greeter_canvas_item.c
+++ b/gui/greeter/greeter_canvas_item.c
@@ -468,6 +468,8 @@ greeter_item_create_canvas_item (GreeterItemInfo *item)
gtk_entry_set_invisible_char (GTK_ENTRY (entry), 0);
else if (gdm_config_get_bool (GDM_KEY_ENTRY_CIRCLES))
gtk_entry_set_invisible_char (GTK_ENTRY (entry), 0x25cf);
+ else
+ gtk_entry_set_invisible_char (GTK_ENTRY (entry), '*');
gtk_widget_modify_font (entry, item->data.text.fonts[GREETER_ITEM_STATE_NORMAL]);