|
@@ -280,6 +280,7 @@ on_show (IridiumWindow *self, gpointer user_data)
|
|
|
gchar *server;
|
|
gchar *server;
|
|
|
gchar *email;
|
|
gchar *email;
|
|
|
gchar *password = NULL;
|
|
gchar *password = NULL;
|
|
|
|
|
+ gboolean valid = TRUE;
|
|
|
|
|
|
|
|
server = g_settings_get_string (self->settings, "server");
|
|
server = g_settings_get_string (self->settings, "server");
|
|
|
email = g_settings_get_string (self->settings, "email");
|
|
email = g_settings_get_string (self->settings, "email");
|
|
@@ -295,23 +296,30 @@ on_show (IridiumWindow *self, gpointer user_data)
|
|
|
dialog = iridium_signin_dialog_new ();
|
|
dialog = iridium_signin_dialog_new ();
|
|
|
gtk_window_set_transient_for (GTK_WINDOW (dialog), GTK_WINDOW (self));
|
|
gtk_window_set_transient_for (GTK_WINDOW (dialog), GTK_WINDOW (self));
|
|
|
gtk_dialog_run (dialog);
|
|
gtk_dialog_run (dialog);
|
|
|
- server = g_strdup (iridium_signin_dialog_get_server (IRIDIUM_SIGNIN_DIALOG (dialog)));
|
|
|
|
|
- email = g_strdup (iridium_signin_dialog_get_email (IRIDIUM_SIGNIN_DIALOG (dialog)));
|
|
|
|
|
- password = g_strdup (iridium_signin_dialog_get_password (IRIDIUM_SIGNIN_DIALOG (dialog)));
|
|
|
|
|
|
|
|
|
|
- secret_password_store_sync (STANDARD_FILE_SCHEMA, NULL,
|
|
|
|
|
- "Iridium", password, NULL, NULL,
|
|
|
|
|
- "email", email, "server", server, NULL);
|
|
|
|
|
- g_settings_set_string (self->settings, "server", server);
|
|
|
|
|
- g_settings_set_string (self->settings, "email", email);
|
|
|
|
|
|
|
+ if (iridium_signin_dialog_entries_valid (IRIDIUM_SIGNIN_DIALOG (dialog))) {
|
|
|
|
|
+ server = g_strdup (iridium_signin_dialog_get_server (IRIDIUM_SIGNIN_DIALOG (dialog)));
|
|
|
|
|
+ email = g_strdup (iridium_signin_dialog_get_email (IRIDIUM_SIGNIN_DIALOG (dialog)));
|
|
|
|
|
+ password = g_strdup (iridium_signin_dialog_get_password (IRIDIUM_SIGNIN_DIALOG (dialog)));
|
|
|
|
|
+
|
|
|
|
|
+ secret_password_store_sync (STANDARD_FILE_SCHEMA, NULL,
|
|
|
|
|
+ "Iridium", password, NULL, NULL,
|
|
|
|
|
+ "email", email, "server", server, NULL);
|
|
|
|
|
+ g_settings_set_string (self->settings, "server", server);
|
|
|
|
|
+ g_settings_set_string (self->settings, "email", email);
|
|
|
|
|
+ }
|
|
|
|
|
+ else {
|
|
|
|
|
+ valid = FALSE;
|
|
|
|
|
+ }
|
|
|
|
|
|
|
|
gtk_widget_destroy (GTK_WIDGET (dialog));
|
|
gtk_widget_destroy (GTK_WIDGET (dialog));
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
- gtk_revealer_set_reveal_child (self->notification_revealer, TRUE);
|
|
|
|
|
-
|
|
|
|
|
- iridium_standard_file_connect_async (self->client, server, email, password, NULL,
|
|
|
|
|
- on_standard_file_connected, self);
|
|
|
|
|
|
|
+ if (valid) {
|
|
|
|
|
+ gtk_revealer_set_reveal_child (self->notification_revealer, TRUE);
|
|
|
|
|
+ iridium_standard_file_connect_async (self->client, server, email, password, NULL,
|
|
|
|
|
+ on_standard_file_connected, self);
|
|
|
|
|
+ }
|
|
|
|
|
|
|
|
secret_password_free (password);
|
|
secret_password_free (password);
|
|
|
g_free (server);
|
|
g_free (server);
|