Index: dlgServer.cpp =================================================================== RCS file: /projects/pgadmin3/src/ui/dlgServer.cpp,v retrieving revision 1.4 retrieving revision 1.5 diff -Lsrc/ui/dlgServer.cpp -Lsrc/ui/dlgServer.cpp -u -w -r1.4 -r1.5 --- src/ui/dlgServer.cpp +++ src/ui/dlgServer.cpp @@ -56,6 +56,25 @@ { SetIcon(wxIcon(server_xpm)); server=node; + + cbDatabase->Append(settings->GetLastDatabase()); + cbDatabase->SetSelection(0); + txtPort->SetValue(NumToStr((long)settings->GetLastPort())); + cbSSL->SetSelection(settings->GetLastSSL()); + txtUsername->SetValue(settings->GetLastUsername()); + chkNeedPwd->SetValue(true); +} + + +dlgServer::~dlgServer() +{ + if (!server) + { + settings->SetLastDatabase(cbDatabase->GetValue()); + settings->SetLastPort(StrToLong(txtPort->GetValue())); + settings->SetLastSSL(cbSSL->GetSelection()); + settings->SetLastUsername(txtUsername->GetValue()); + } } @@ -159,6 +178,8 @@ else { SetTitle(_("Add server")); + +#if 0 cbDatabase->Append(settings->GetLastDatabase()); txtName->SetValue(settings->GetLastServer()); @@ -168,7 +189,7 @@ cbDatabase->SetSelection(0); txtUsername->SetValue(settings->GetLastUsername()); chkNeedPwd->SetValue(true); - +#endif } int rc=dlgProperty::Go(modal); Index: events.cpp =================================================================== RCS file: /projects/pgadmin3/src/ui/events.cpp,v retrieving revision 1.111 retrieving revision 1.112 diff -Lsrc/ui/events.cpp -Lsrc/ui/events.cpp -u -w -r1.111 -r1.112 --- src/ui/events.cpp +++ src/ui/events.cpp @@ -618,13 +618,15 @@ { int rc = PGCONN_BAD; + dlgServer dlg(this, 0); + while (rc != PGCONN_OK) { - dlgServer dlg(this, 0); if (dlg.GoNew() != wxID_OK) return; pgServer *server=(pgServer*)dlg.CreateObject(0); + rc = server->Connect(this, false, dlg.GetPassword()); switch (rc)