diff options
Diffstat (limited to 'gui')
-rw-r--r-- | gui/gdmlogin.c | 2 | ||||
-rw-r--r-- | gui/gdmsetup.c | 29 | ||||
-rw-r--r-- | gui/gdmsetup.glade | 113 | ||||
-rw-r--r-- | gui/greeter/greeter_canvas_item.c | 2 |
4 files changed, 131 insertions, 15 deletions
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]); |