- /* Show the window: */
- /* TODO: Retrieve the chosen settings,
- * so we can supply them when creating the connection somehow.
- */
- GtkWidget *window = GTK_WIDGET (modest_connection_specific_smtp_window_new ());
- gtk_window_set_transient_for (GTK_WINDOW (window), GTK_WINDOW (self));
- gtk_window_set_modal (GTK_WINDOW (window), TRUE);
- gtk_widget_show (window);
-
- g_signal_connect (G_OBJECT (window), "hide",
- G_CALLBACK (on_smtp_servers_window_hide), self);
+ /* 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,
+ self->account_name);
+ }
+
+ /* 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);