Maemo: Added a widget to "unselect" a certificate.

This commit is contained in:
Tobias Brunner
2010-10-14 17:36:20 +02:00
parent 889c7947a6
commit 070b63d704
2 changed files with 38 additions and 4 deletions
@@ -248,6 +248,10 @@ strongswan_connection_save_to_key_file (GKeyFile *key_file,
{
g_key_file_set_string (key_file, name, "cert", priv->cert);
}
else
{
g_key_file_remove_key (key_file, name, "cert", NULL);
}
if (priv->user)
{
g_key_file_set_string (key_file, name, "user", priv->user);
+34 -4
View File
@@ -34,18 +34,48 @@ struct {
StrongswanConnections *conns;
} ListDialog = { 0, };
/**
* Callback if no certificate should be selected
*/
void no_certificate(HildonButton *button, gpointer user_data)
{
gtk_dialog_response (GTK_DIALOG (user_data), GTK_RESPONSE_REJECT);
}
/**
* Callback to select a certificate
*/
void select_cert(HildonButton *button, gpointer user_data)
{
GtkWidget *selector = hildon_file_chooser_dialog_new (GTK_WINDOW (user_data), GTK_FILE_CHOOSER_ACTION_OPEN);
GtkWidget *nocert = hildon_button_new (HILDON_SIZE_FINGER_HEIGHT |
HILDON_SIZE_AUTO_WIDTH,
HILDON_BUTTON_ARRANGEMENT_VERTICAL);
hildon_button_set_text (HILDON_BUTTON (nocert),
"No certificate",
"Use system-wide CA certificates");
hildon_button_set_alignment (HILDON_BUTTON (nocert), 0, 0.5, 1, 1);
g_signal_connect (nocert, "clicked", G_CALLBACK (no_certificate), selector);
hildon_file_chooser_dialog_add_extra (HILDON_FILE_CHOOSER_DIALOG (selector),
nocert);
gtk_widget_show_all (selector);
if (gtk_dialog_run (GTK_DIALOG (selector)) == GTK_RESPONSE_OK)
switch (gtk_dialog_run (GTK_DIALOG (selector)))
{
gchar *file = gtk_file_chooser_get_filename (GTK_FILE_CHOOSER (selector));
hildon_button_set_value (button, file);
g_free(file);
case GTK_RESPONSE_OK:
{
gchar *file = gtk_file_chooser_get_filename (GTK_FILE_CHOOSER (selector));
hildon_button_set_value (button, file);
g_free(file);
break;
}
case GTK_RESPONSE_REJECT:
{
hildon_button_set_value (button, "None");
break;
}
default:
break;
}
gtk_widget_destroy (selector);
}