rendered paste bodyIndex: /home/cloud/repositories/springlobby/src/connectwindow.cpp
===================================================================
--- /home/cloud/repositories/springlobby/src/connectwindow.cpp (revisione 610)
+++ /home/cloud/repositories/springlobby/src/connectwindow.cpp (copia locale)
@@ -201,13 +201,16 @@
void ConnectWindow::OnOk(wxCommandEvent& event)
{
Hide();
+ wxString ServerAddress = m_server_combo->GetValue();
+ if ( ServerAddress != _T( DEFSETT_DEFAULT_SERVER ) && !ServerAddress.Contains( _T(":") ) ) ServerAddress += _T(":") + wxString::Format( _T("%l"), DEFSETT_DEFAULT_SERVER_PORT );
+ std::string value = STD_STRING ( ServerAddress );
if ( m_tabs->GetSelection() <= 0 ) {
- sett().SetDefaultServer( STD_STRING(m_server_combo->GetValue()) );
- sett().SetServerAccountNick( STD_STRING(m_server_combo->GetValue()), STD_STRING(m_nick_text->GetValue()) );
- sett().SetServerAccountSavePass( STD_STRING(m_server_combo->GetValue()), m_rpass_check->GetValue() );
+ sett().SetDefaultServer( STD_STRING( ServerAddress ) );
+ sett().SetServerAccountNick( STD_STRING( ServerAddress ), STD_STRING(m_nick_text->GetValue()) );
+ sett().SetServerAccountSavePass( STD_STRING( ServerAddress ), m_rpass_check->GetValue() );
// We assume that the server is given as : "host:port" so we split based on ":"
- wxArrayString serverString = wxStringTokenize(m_server_combo->GetValue(),_T(":") );
+ wxArrayString serverString = wxStringTokenize(ServerAddress,_T(":") );
if ( serverString.GetCount() == 0 ) {
wxMessageBox( _("Invalid host/port or servername."), _("Invalid host"), wxOK );
@@ -220,9 +223,14 @@
wxMessageBox( _("Invalid port."), _("Invalid port"), wxOK );
return;
}
- sett().AddServer( STD_STRING(m_server_combo->GetValue()) );
- sett().SetServerHost( STD_STRING(m_server_combo->GetValue()),STD_STRING(serverString[0]) );
- sett().SetServerPort( STD_STRING(m_server_combo->GetValue()), (int)port );
+ if ( port < 1 || port > 65535 ) {
+ wxMessageBox( _("Port number out of range.\n\nMust be a integer between 1 and 65535"), _("Invalid port"), wxOK );
+ return;
+
+ }
+ sett().AddServer( STD_STRING( ServerAddress ) );
+ sett().SetServerHost( STD_STRING( ServerAddress ),STD_STRING(serverString[0]) );
+ sett().SetServerPort( STD_STRING( ServerAddress ), (int)port );
}
if ( serverString.GetCount() != 1 && serverString.GetCount() != 2 ) {
@@ -232,15 +240,17 @@
sett().SaveSettings();
- m_ui.DoConnect( m_server_combo->GetValue(), m_nick_text->GetValue(), m_pass_text->GetValue() );
- } else {
- if ( m_ui.DoRegister( m_server_combo->GetValue(), m_regnick_text->GetValue(), m_regpass1_text->GetValue() ) ) {
+ m_ui.DoConnect( ServerAddress, m_nick_text->GetValue(), m_pass_text->GetValue() );
+ }
+ else {
+ if ( m_ui.DoRegister( ServerAddress, m_regnick_text->GetValue(), m_regpass1_text->GetValue() ) ) {
m_tabs->SetSelection( 0 );
m_nick_text->SetValue(m_regnick_text->GetValue());
m_pass_text->SetValue(m_regpass1_text->GetValue());
Show();
wxMessageBox( _("Registration successful,\nyou should now be able to login."), _("Registration successful"), wxOK );
- } else {
+ }
+ else {
Show();
wxMessageBox( _("Registration failed."), _("Registration failed"), wxOK );
}