if (self->account_manager)
g_object_unref (G_OBJECT (self->account_manager));
- if (self->specific_window)
- gtk_widget_destroy (self->specific_window);
-
if (self->signature_dialog)
gtk_widget_destroy (self->signature_dialog);
on_button_outgoing_smtp_servers (GtkButton *button, gpointer user_data)
{
ModestAccountSettingsDialog * self = MODEST_ACCOUNT_SETTINGS_DIALOG (user_data);
-
+ ModestConnectionSpecificSmtpWindow *smtp_win;
+
/* Create the window if necessary: */
- if (!(self->specific_window)) {
- self->specific_window = GTK_WIDGET (modest_connection_specific_smtp_window_new ());
- modest_connection_specific_smtp_window_fill_with_connections (
- MODEST_CONNECTION_SPECIFIC_SMTP_WINDOW (self->specific_window), self->account_manager);
- }
+ smtp_win = modest_connection_specific_smtp_window_new ();
+ modest_connection_specific_smtp_window_fill_with_connections (smtp_win, self->account_manager);
/* Show the window: */
- gtk_window_set_transient_for (GTK_WINDOW (self->specific_window), GTK_WINDOW (self));
- gtk_window_set_modal (GTK_WINDOW (self->specific_window), TRUE);
- gtk_widget_show (self->specific_window);
+ modest_window_mgr_set_modal (modest_runtime_get_window_mgr (), GTK_WINDOW (smtp_win));
+ gtk_widget_show (GTK_WIDGET (smtp_win));
self->modified = TRUE;
}
if (account_name != NULL)
modest_account_mgr_save_account_settings (dialog->account_manager, dialog->settings);
- if (dialog->specific_window) {
- return modest_connection_specific_smtp_window_save_server_accounts (
- MODEST_CONNECTION_SPECIFIC_SMTP_WINDOW (dialog->specific_window));
- } else {
- return TRUE;
- }
-
+ return TRUE;
}
static gboolean entry_is_empty (GtkWidget *entry)
enable_ok);
}
+void
+modest_account_settings_dialog_check_allow_changes (ModestAccountSettingsDialog *self)
+{
+ ModestServerAccountSettings *incoming_settings;
+ const gchar *server_account_name;
+ gboolean username_known;
+
+ if (!G_IS_OBJECT (self->settings))
+ return;
+
+ incoming_settings = modest_account_settings_get_store_settings (self->settings);
+ server_account_name = modest_server_account_settings_get_account_name (incoming_settings);
+
+ username_known = modest_account_mgr_get_server_account_username_has_succeeded (self->account_manager,
+ server_account_name);
+
+ /* Enable or disable widgets */
+ gtk_widget_set_sensitive (self->entry_user_username, !username_known);
+ gtk_widget_set_sensitive (self->entry_incomingserver, !username_known);
+ /* gtk_widget_set_sensitive (self->entry_outgoingserver, !username_known); */
+ /* gtk_widget_set_sensitive (self->entry_outgoing_username, !username_known); */
+ gtk_widget_set_sensitive (self->entry_incoming_port, !username_known);
+/* gtk_widget_set_sensitive (self->entry_outgoing_port, !username_known); */
+ gtk_widget_set_sensitive (self->combo_incoming_security, !username_known);
+/* gtk_widget_set_sensitive (self->combo_outgoing_security, !username_known); */
+}
+
void
modest_account_settings_dialog_set_modified (ModestAccountSettingsDialog *dialog, gboolean modified)
{