void CState::SetServer(const CServer* server) { if (m_pServer) { SetRemoteDir(0); delete m_pServer; } if (server) m_pServer = new CServer(*server); else { if (m_pServer) m_pMainFrame->SetTitle(_T("FileZilla")); m_pServer = 0; } }
void CState::SetServer(const CServer* server) { if (m_pServer) { if (server && *server == *m_pServer && server->GetName() == m_pServer->GetName() && server->MaximumMultipleConnections() == m_pServer->MaximumMultipleConnections()) { // Nothing changes return; } SetRemoteDir(0); delete m_pServer; delete m_pCertificate; m_pCertificate = 0; delete m_pSftpEncryptionInfo; m_pSftpEncryptionInfo = 0; } if (server) { if (m_last_server != *server) m_last_path.Clear(); m_last_server = *server; m_pServer = new CServer(*server); const wxString& name = server->GetName(); if (!name.IsEmpty()) m_title = name + _T(" - ") + server->FormatServer(); else m_title = server->FormatServer(); } else { m_pServer = 0; m_title = _("Not connected"); } m_successful_connect = false; NotifyHandlers(STATECHANGE_SERVER); }