diff --git a/ChangeLog b/ChangeLog index b75147d9e8..32be611bbe 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,12 @@ +2006-03-10 Robert Love + + * gnome/applet/applet.glade: Add toggles to show/obfuscate the + passphrase or key. + * gnome/applet/wso-wep-ascii.c, gnome/applet/wso-wep-hex.c, + gnome/applet/wso-wep-passphrase.c, gnome/applet/wso-wpa-eap.c, + gnome/applet/wso-wpa-psk.c: Show and obfuscate passphrases and keys + in response to "toggled" signal on new toggle. + 2006-03-10 Robert Love * src/nm-ap-security-wpa-eap.c: Pass fake empty strings for diff --git a/gnome/applet/applet.glade b/gnome/applet/applet.glade index 1b99cd1185..606a20f5cb 100644 --- a/gnome/applet/applet.glade +++ b/gnome/applet/applet.glade @@ -1749,7 +1749,7 @@ WEP 40/128-bit ASCII 8 True - 2 + 3 2 False 6 @@ -1825,8 +1825,8 @@ WEP 40/128-bit ASCII 0 1 - 1 - 2 + 2 + 3 fill @@ -1843,10 +1843,60 @@ Shared Key 1 2 + 2 + 3 + fill + fill + + + + + + True + + False + False + GTK_JUSTIFY_LEFT + False + False + 0 + 0.5 + 0 + 0 + PANGO_ELLIPSIZE_NONE + -1 + False + 0 + + + 0 + 1 1 2 fill - fill + + + + + + + True + True + Show key + True + GTK_RELIEF_NORMAL + True + False + False + True + + + 1 + 2 + 1 + 2 + fill + @@ -2130,7 +2180,7 @@ Shared Key 8 True - 2 + 3 2 False 4 @@ -2206,8 +2256,8 @@ Shared Key 0 1 - 1 - 2 + 2 + 3 fill @@ -2223,10 +2273,60 @@ Shared Key 1 2 + 2 + 3 + fill + fill + + + + + + True + + False + False + GTK_JUSTIFY_LEFT + False + False + 0 + 0.5 + 0 + 0 + PANGO_ELLIPSIZE_NONE + -1 + False + 0 + + + 0 + 1 1 2 fill - fill + + + + + + + True + True + Show password + True + GTK_RELIEF_NORMAL + True + False + False + True + + + 1 + 2 + 1 + 2 + fill + @@ -2318,7 +2418,7 @@ Shared Key 8 True - 8 + 9 2 False 4 @@ -2707,6 +2807,56 @@ Shared Key fill + + + + True + + False + False + GTK_JUSTIFY_LEFT + False + False + 0 + 0.5 + 0 + 0 + PANGO_ELLIPSIZE_NONE + -1 + False + 0 + + + 0 + 1 + 8 + 9 + fill + + + + + + + True + True + Show passwords + True + GTK_RELIEF_NORMAL + True + False + False + True + + + 1 + 2 + 8 + 9 + fill + + + False @@ -2796,7 +2946,7 @@ Shared Key 8 True - 2 + 3 2 False 6 @@ -2872,8 +3022,8 @@ Shared Key 0 1 - 1 - 2 + 2 + 3 fill @@ -2887,13 +3037,63 @@ Shared Key False True + + 1 + 2 + 2 + 3 + fill + fill + + + + + + True + True + Show passphrase + True + GTK_RELIEF_NORMAL + True + False + False + True + 1 2 1 2 fill - fill + + + + + + + True + + False + False + GTK_JUSTIFY_LEFT + False + False + 0 + 0.5 + 0 + 0 + PANGO_ELLIPSIZE_NONE + -1 + False + 0 + + + 0 + 1 + 1 + 2 + fill + diff --git a/gnome/applet/wso-wep-ascii.c b/gnome/applet/wso-wep-ascii.c index e11980b470..20c08d23f1 100644 --- a/gnome/applet/wso-wep-ascii.c +++ b/gnome/applet/wso-wep-ascii.c @@ -37,6 +37,7 @@ struct OptData { const char * entry_name; const char * auth_combo_name; + const char * show_checkbutton_name; }; static void data_free_func (WirelessSecurityOption *opt) @@ -53,9 +54,16 @@ static void data_free_func (WirelessSecurityOption *opt) } +static void show_key_cb (GtkToggleButton *button, GtkEntry *entry) +{ + gtk_entry_set_visibility (entry, gtk_toggle_button_get_active (button)); +} + + static GtkWidget * widget_create_func (WirelessSecurityOption *opt, GtkSignalFunc validate_cb, gpointer user_data) { GtkWidget * entry; + GtkWidget * checkbutton; GtkWidget * combo; GtkWidget * widget; @@ -69,6 +77,9 @@ static GtkWidget * widget_create_func (WirelessSecurityOption *opt, GtkSignalFun entry = glade_xml_get_widget (opt->uixml, opt->data->entry_name); g_signal_connect (G_OBJECT (entry), "changed", validate_cb, user_data); + checkbutton = glade_xml_get_widget (opt->uixml, opt->data->show_checkbutton_name); + g_signal_connect (G_OBJECT (checkbutton), "toggled", GTK_SIGNAL_FUNC (show_key_cb), GTK_ENTRY (entry)); + combo = glade_xml_get_widget (opt->uixml, opt->data->auth_combo_name); wso_wep_auth_combo_setup (opt, GTK_COMBO_BOX (combo)); @@ -143,6 +154,7 @@ WirelessSecurityOption * wso_wep_ascii_new (const char *glade_file) opt->data = data = g_malloc0 (sizeof (OptData)); data->entry_name = "wep_key_entry"; data->auth_combo_name = "auth_method_combo"; + data->show_checkbutton_name = "show_checkbutton"; return opt; } diff --git a/gnome/applet/wso-wep-hex.c b/gnome/applet/wso-wep-hex.c index 2809edd23b..102b616630 100644 --- a/gnome/applet/wso-wep-hex.c +++ b/gnome/applet/wso-wep-hex.c @@ -37,6 +37,7 @@ struct OptData { const char * entry_name; const char * auth_combo_name; + const char * show_checkbutton_name; }; static void data_free_func (WirelessSecurityOption *opt) @@ -53,9 +54,16 @@ static void data_free_func (WirelessSecurityOption *opt) } +static void show_key_cb (GtkToggleButton *button, GtkEntry *entry) +{ + gtk_entry_set_visibility (entry, gtk_toggle_button_get_active (button)); +} + + static GtkWidget * widget_create_func (WirelessSecurityOption *opt, GtkSignalFunc validate_cb, gpointer user_data) { GtkWidget * entry; + GtkWidget * checkbutton; GtkWidget * combo; GtkWidget * widget; @@ -67,6 +75,9 @@ static GtkWidget * widget_create_func (WirelessSecurityOption *opt, GtkSignalFun entry = glade_xml_get_widget (opt->uixml, opt->data->entry_name); g_signal_connect (G_OBJECT (entry), "changed", validate_cb, user_data); + checkbutton = glade_xml_get_widget (opt->uixml, opt->data->show_checkbutton_name); + g_signal_connect (G_OBJECT (checkbutton), "toggled", GTK_SIGNAL_FUNC (show_key_cb), GTK_ENTRY (entry)); + combo = glade_xml_get_widget (opt->uixml, opt->data->auth_combo_name); wso_wep_auth_combo_setup (opt, GTK_COMBO_BOX (combo)); @@ -140,6 +151,7 @@ WirelessSecurityOption * wso_wep_hex_new (const char *glade_file) opt->data = data = g_malloc0 (sizeof (OptData)); data->entry_name = "wep_key_entry"; data->auth_combo_name = "auth_method_combo"; + data->show_checkbutton_name = "show_checkbutton"; return opt; } diff --git a/gnome/applet/wso-wep-passphrase.c b/gnome/applet/wso-wep-passphrase.c index 7034b3e855..29cc373d66 100644 --- a/gnome/applet/wso-wep-passphrase.c +++ b/gnome/applet/wso-wep-passphrase.c @@ -37,6 +37,7 @@ struct OptData { const char * entry_name; const char * auth_combo_name; + const char * show_checkbutton_name; }; static void data_free_func (WirelessSecurityOption *opt) @@ -53,9 +54,15 @@ static void data_free_func (WirelessSecurityOption *opt) } +static void show_passphrase_cb (GtkToggleButton *button, GtkEntry *entry) +{ + gtk_entry_set_visibility (entry, gtk_toggle_button_get_active (button)); +} + static GtkWidget * widget_create_func (WirelessSecurityOption *opt, GtkSignalFunc validate_cb, gpointer user_data) { GtkWidget * entry; + GtkWidget * checkbutton; GtkWidget * combo; GtkWidget * widget; @@ -67,6 +74,9 @@ static GtkWidget * widget_create_func (WirelessSecurityOption *opt, GtkSignalFun entry = glade_xml_get_widget (opt->uixml, opt->data->entry_name); g_signal_connect (G_OBJECT (entry), "changed", validate_cb, user_data); + checkbutton = glade_xml_get_widget (opt->uixml, opt->data->show_checkbutton_name); + g_signal_connect (G_OBJECT (checkbutton), "toggled", GTK_SIGNAL_FUNC (show_passphrase_cb), GTK_ENTRY (entry)); + combo = glade_xml_get_widget (opt->uixml, opt->data->auth_combo_name); wso_wep_auth_combo_setup (opt, GTK_COMBO_BOX (combo)); @@ -83,6 +93,7 @@ static gboolean validate_input_func (WirelessSecurityOption *opt, const char *ss entry = glade_xml_get_widget (opt->uixml, opt->data->entry_name); input = gtk_entry_get_text (GTK_ENTRY (entry)); + return wso_validate_helper (opt, ssid, input, out_cipher); } @@ -139,6 +150,7 @@ WirelessSecurityOption * wso_wep_passphrase_new (const char *glade_file) opt->data = data = g_malloc0 (sizeof (OptData)); data->entry_name = "wep_passphrase_entry"; data->auth_combo_name = "auth_method_combo"; + data->show_checkbutton_name = "show_checkbutton"; return opt; } diff --git a/gnome/applet/wso-wpa-eap.c b/gnome/applet/wso-wpa-eap.c index f7ae4c7467..44342d422b 100644 --- a/gnome/applet/wso-wpa-eap.c +++ b/gnome/applet/wso-wpa-eap.c @@ -62,6 +62,21 @@ data_free_func (WirelessSecurityOption *opt) } +static void show_passwords_cb (GtkToggleButton *button, WirelessSecurityOption *opt) +{ + GtkWidget * entry; + gboolean visible; + + visible = gtk_toggle_button_get_active (button); + + entry = glade_xml_get_widget (opt->uixml, "wpa_eap_passwd_entry"); + gtk_entry_set_visibility (GTK_ENTRY (entry), visible); + + entry = glade_xml_get_widget (opt->uixml, "wpa_eap_private_key_passwd_entry"); + gtk_entry_set_visibility (GTK_ENTRY (entry), visible); +} + + static GtkWidget * widget_create_func (WirelessSecurityOption *opt, GtkSignalFunc validate_cb, @@ -69,6 +84,7 @@ widget_create_func (WirelessSecurityOption *opt, { GtkWidget * entry; GtkWidget * widget; + GtkWidget * checkbutton; g_return_val_if_fail (opt != NULL, NULL); g_return_val_if_fail (opt->data != NULL, NULL); @@ -97,6 +113,9 @@ widget_create_func (WirelessSecurityOption *opt, entry = glade_xml_get_widget (opt->uixml, "wpa_eap_private_key_passwd_entry"); g_signal_connect (G_OBJECT (entry), "changed", validate_cb, user_data); + checkbutton = glade_xml_get_widget (opt->uixml, "show_checkbutton"); + g_signal_connect (G_OBJECT (checkbutton), "toggled", GTK_SIGNAL_FUNC (show_passwords_cb), opt); + return widget; } diff --git a/gnome/applet/wso-wpa-psk.c b/gnome/applet/wso-wpa-psk.c index ded3e16ca5..e6fcbf5ee3 100644 --- a/gnome/applet/wso-wpa-psk.c +++ b/gnome/applet/wso-wpa-psk.c @@ -41,6 +41,7 @@ struct OptData gboolean wpa2; const char * entry_name; const char * key_type_combo_name; + const char * show_checkbutton_name; IEEE_802_11_Cipher * hex_cipher; IEEE_802_11_Cipher * passphrase_cipher; }; @@ -58,12 +59,19 @@ data_free_func (WirelessSecurityOption *opt) } +static void show_passphrase_cb (GtkToggleButton *button, GtkEntry *entry) +{ + gtk_entry_set_visibility (entry, gtk_toggle_button_get_active (button)); +} + + static GtkWidget * widget_create_func (WirelessSecurityOption *opt, GtkSignalFunc validate_cb, gpointer user_data) { GtkWidget * entry; + GtkWidget * checkbutton; GtkWidget * widget; g_return_val_if_fail (opt != NULL, NULL); @@ -73,6 +81,10 @@ widget_create_func (WirelessSecurityOption *opt, widget = wso_widget_helper (opt); entry = glade_xml_get_widget (opt->uixml, opt->data->entry_name); g_signal_connect (G_OBJECT (entry), "changed", validate_cb, user_data); + + checkbutton = glade_xml_get_widget (opt->uixml, opt->data->show_checkbutton_name); + g_signal_connect (G_OBJECT (checkbutton), "toggled", GTK_SIGNAL_FUNC (show_passphrase_cb), GTK_ENTRY (entry)); + return widget; } @@ -183,6 +195,7 @@ wso_wpa_psk_new (const char *glade_file, data->wpa2 = wpa2; data->entry_name = "wpa_psk_entry"; data->key_type_combo_name = "wpa_psk_type_combo"; + data->show_checkbutton_name = "show_checkbutton"; /* Set up our ciphers */ data->passphrase_cipher = cipher_wpa_psk_passphrase_new ();