Ticket #155: 0001-Made-the-connect-dialog-aware-of-branches.patch
| File 0001-Made-the-connect-dialog-aware-of-branches.patch, 17.2 kB (added by Malric <vladmihaisima@…>, 6 months ago) |
|---|
-
src/connectwindow.cpp
From 7b722bbc65e1faedff042bbc288b0e9f22842f61 Mon Sep 17 00:00:00 2001 From: Vlad-Mihai Sima <vladms@ce.et.tudelft.nl> Date: Sun, 20 Jul 2008 21:03:43 +0200 Subject: [PATCH] Made the connect dialog aware of branches. --- src/connectwindow.cpp | 100 ++++++++++++++++++++++++++++++++++++++++++++++++- src/connectwindow.h | 25 ++++++++++++- src/settings.cpp | 101 +++++++++++++++++++++++++++++++++++++++++++++++++ src/settings.h | 33 ++++++++++++++++ 4 files changed, 257 insertions(+), 2 deletions(-) diff --git a/src/connectwindow.cpp b/src/connectwindow.cpp index f7f0c7c..f2435e0 100644
a b 30 30 EVT_BUTTON ( wxID_OK, ConnectWindow::OnOk ) 31 31 EVT_BUTTON ( wxID_CANCEL, ConnectWindow::OnCancel ) 32 32 EVT_COMBOBOX ( CON_SERV_SEL , ConnectWindow::OnServerChange ) 33 33 #ifndef NO_CURL_LADDER 34 EVT_CHECKBOX ( CON_SERV_LADDER_CHECK , ConnectWindow::OnLadderCheck ) 35 #endif 34 36 END_EVENT_TABLE() 35 37 36 38 //! @brief Constructor … … 43 45 wxString server; 44 46 wxString username; 45 47 wxString password; 48 #ifndef NO_CURL_LADDER 49 wxString ladder_password; 50 #endif 46 51 bool savepass; 47 52 bool autoconnect; 48 53 … … 51 56 server = sett().GetDefaultServer(); 52 57 username = sett().GetServerAccountNick( sett().GetDefaultServer() ); 53 58 password = sett().GetServerAccountPass( sett().GetDefaultServer() ); 59 #ifndef NO_CURL_LADDER 60 ladder_password = sett().GetServerAccountLadderPass( sett().GetDefaultServer() ); 61 #endif 54 62 savepass = sett().GetServerAccountSavePass( sett().GetDefaultServer() ); 55 63 autoconnect = sett().GetAutoConnect(); 56 64 // Create all UI elements. … … 62 70 m_server_combo = new wxComboBox ( m_login_tab, CON_SERV_SEL, server ); 63 71 m_server_combo->SetToolTip( _("Server to connect to. You can connect to any server you like by typing in hostaddress:port format.") ); 64 72 73 #ifndef NO_CURL_LADDER 74 m_ladder_lbl = new wxStaticText( m_login_tab, -1, _("Ladder server") ); 75 m_ladder_combo = new wxComboBox ( m_login_tab, CON_SERV_SEL, server ); 76 m_ladder_combo->SetToolTip( _("Ladder server to connect to. You can connect to any server.") ); 77 #endif 78 65 79 m_ser_acc_line = new wxStaticLine( m_login_tab ); 66 80 67 81 m_nick_lbl = new wxStaticText( m_login_tab, -1, _("Nickname") ); 68 82 m_nick_text = new wxTextCtrl ( m_login_tab, -1, username ); 69 83 m_pass_lbl = new wxStaticText( m_login_tab, -1, _("Password") ); 70 84 m_pass_text = new wxTextCtrl ( m_login_tab, -1, password, wxDefaultPosition, wxDefaultSize, wxTE_PASSWORD ); 85 86 #ifndef NO_CURL_LADDER 87 m_ladder_pass_lbl = new wxStaticText( m_login_tab, -1, _("Ladder Password") ); 88 m_ladder_pass_text = new wxTextCtrl ( m_login_tab, -1, ladder_password, wxDefaultPosition, wxDefaultSize, wxTE_PASSWORD ); 89 #endif 90 71 91 m_rpass_check = new wxCheckBox ( m_login_tab, -1, _("Remember password") ); 72 92 m_autoconnect_check = new wxCheckBox ( m_login_tab, -1, _("Autoconnect next time") ); 73 93 m_autoconnect_check->SetToolTip( _("remember connection details and automatically connect to server on next lobby startup") ); 94 95 #ifndef NO_CURL_LADDER 96 m_ladder_check = new wxCheckBox ( m_login_tab, CON_SERV_LADDER_CHECK , _("Connect to ladder") ); 97 m_ladder_check->SetToolTip( _("connect to a ladder") ); 98 #endif 74 99 75 100 m_rpass_check->SetValue( savepass ); 76 101 m_autoconnect_check->SetValue( autoconnect ); 77 102 103 #ifndef NO_CURL_LADDER 104 m_ladder_check->SetValue( sett().GetServerLadderConnect( sett().GetDefaultServer() ) ); 105 #endif 106 107 78 108 m_acc_note_line = new wxStaticLine( m_login_tab ); 79 109 80 110 m_note_lbl = new wxStaticText( m_login_tab, -1, _("Note: If you do not have an account, you\n can register one for free under the\n\"Register\" tab.") ); … … 90 120 m_main_sizer = new wxBoxSizer( wxVERTICAL ); 91 121 m_login_main_sizer = new wxBoxSizer( wxVERTICAL ); 92 122 m_server_sizer = new wxBoxSizer( wxHORIZONTAL ); 123 #ifndef NO_CURL_LADDER 124 m_ladder_sizer = new wxBoxSizer( wxHORIZONTAL ); 125 #endif 93 126 m_nick_sizer = new wxBoxSizer( wxHORIZONTAL ); 94 127 m_pass_sizer = new wxBoxSizer( wxHORIZONTAL ); 128 #ifndef NO_CURL_LADDER 129 m_ladder_pass_sizer = new wxBoxSizer( wxHORIZONTAL ); 130 #endif 95 131 m_rpass_sizer = new wxBoxSizer( wxVERTICAL ); 96 132 wxBoxSizer* m_check_sizer = new wxBoxSizer( wxHORIZONTAL ); 97 133 m_buttons_sizer = new wxBoxSizer( wxHORIZONTAL ); … … 103 139 104 140 m_rpass_sizer->Add( m_rpass_check, 2, wxEXPAND | wxALL | wxALIGN_RIGHT, 4 ); 105 141 m_rpass_sizer->Add( m_autoconnect_check, 2, wxEXPAND | wxALL | wxALIGN_RIGHT, 4 ); 142 #ifndef NO_CURL_LADDER 143 m_rpass_sizer->Add( m_ladder_check, 2, wxEXPAND | wxALL | wxALIGN_RIGHT, 4 ); 144 #endif 106 145 107 146 m_pass_sizer->Add( m_pass_lbl, 1, wxEXPAND | wxALL, 4 ); 108 147 m_pass_sizer->Add( m_pass_text, 2, wxEXPAND | wxALL, 4 ); 148 149 #ifndef NO_CURL_LADDER 150 m_ladder_pass_sizer->Add( m_ladder_pass_lbl, 1, wxEXPAND | wxALL, 4 ); 151 m_ladder_pass_sizer->Add( m_ladder_pass_text, 2, wxEXPAND | wxALL, 4 ); 152 #endif 109 153 110 154 //FIXME was lazy, absoulte positioning isn't that nice 111 155 int pos1 = (m_pass_lbl->GetSize()).GetWidth() + 40; … … 118 162 m_server_sizer->Add( m_server_lbl, 1, wxEXPAND | wxALL, 4 ); 119 163 m_server_sizer->Add( m_server_combo, 2, wxEXPAND | wxALL, 4 ); 120 164 165 #ifndef NO_CURL_LADDER 166 m_ladder_sizer->Add( m_ladder_lbl, 1, wxEXPAND | wxALL, 4 ); 167 m_ladder_sizer->Add( m_ladder_combo, 2, wxEXPAND | wxALL, 4 ); 168 #endif 169 121 170 m_login_main_sizer->Add( m_server_sizer, 0, wxEXPAND ); 171 #ifndef NO_CURL_LADDER 172 m_login_main_sizer->Add( m_ladder_sizer, 0, wxEXPAND ); 173 #endif 122 174 m_login_main_sizer->Add( m_ser_acc_line, 0, wxEXPAND | wxALL, 4 ); 123 175 m_login_main_sizer->Add( m_nick_sizer, 0, wxEXPAND ); 124 176 m_login_main_sizer->Add( m_pass_sizer, 0, wxEXPAND ); 177 #ifndef NO_CURL_LADDER 178 m_login_main_sizer->Add( m_ladder_pass_sizer, 0, wxEXPAND ); 179 #endif 125 180 m_login_main_sizer->Add( m_check_sizer, 0, wxEXPAND ); 126 181 m_login_main_sizer->Add( m_acc_note_line, 0, wxEXPAND | wxALL, 4 ); 127 182 m_login_main_sizer->Add( m_note_lbl, 0, wxEXPAND | wxALL, 4 ); … … 192 247 #endif 193 248 194 249 ReloadServerList(); 250 251 #ifndef NO_CURL_LADDER 252 // Depending on the value of ladder check we want to have disabled/enabled the ladder fields 253 wxCommandEvent temp = wxCommandEvent(); 254 OnLadderCheck( temp ); 255 #endif 195 256 } 196 257 197 258 … … 209 270 m_server_combo->AppendString( sett().GetServerName( i ) ); 210 271 } 211 272 m_server_combo->SetValue( sett().GetDefaultServer() ); 273 274 #ifndef NO_CURL_LADDER 275 m_ladder_combo->Clear(); 276 for ( int i = 0; i < sett().GetNumLadderServers(); i++ ) { 277 m_ladder_combo->AppendString( sett().GetLadderServerName( i ) ); 278 } 279 m_ladder_combo->SetValue( sett().GetDefaultLadderServer() ); 280 #endif 212 281 } 213 282 214 283 void ConnectWindow::OnServerChange( wxCommandEvent& event ) … … 219 288 if ( sett().GetServerAccountSavePass( HostAddress ) ) m_pass_text->SetValue( sett().GetServerAccountPass( HostAddress ) ); 220 289 } 221 290 291 #ifndef NO_CURL_LADDER 292 void ConnectWindow::OnLadderCheck( wxCommandEvent& event ) 293 { 294 if ( m_ladder_check->GetValue() == true ) 295 { 296 m_ladder_combo->Enable( true ); 297 m_ladder_pass_text->SetValue( sett().GetServerAccountLadderPass( sett().GetDefaultServer() ) ); 298 m_ladder_pass_text->Enable( true ); 299 } 300 else 301 { 302 m_ladder_combo->Enable( false ); 303 // We do this so that it can be seen easy it is disabled 304 m_ladder_pass_text->SetValue( _T("something") ); 305 m_ladder_pass_text->Enable( false ); 306 } 307 } 308 #endif 222 309 223 310 void ConnectWindow::OnOk(wxCommandEvent& event) 224 311 { … … 267 354 if ( m_autoconnect_check->IsChecked() ) 268 355 sett().SetServerAccountSavePass( HostAddress, true ); 269 356 357 #ifndef NO_CURL_LADDER 358 sett().SetServerLadderConnect( HostAddress, m_ladder_check->GetValue() ); 359 if ( m_ladder_check->GetValue() == true ) 360 { 361 sett().AddLadderServer ( m_ladder_combo->GetValue() ); 362 sett().SetServerAccountLadderPass ( HostAddress, m_ladder_pass_text->GetValue() ); 363 364 // TODO: check if the pass is correct and if not offer to register to ladder 365 } 366 #endif 367 270 368 sett().SaveSettings(); 271 369 ReloadServerList(); 272 370 -
src/connectwindow.h
diff --git a/src/connectwindow.h b/src/connectwindow.h index 8346074..b5c7c72 100644
a b 26 26 void ReloadServerList(); 27 27 28 28 void OnServerChange( wxCommandEvent& event ); 29 30 #ifndef NO_CURL_LADDER 31 void OnLadderCheck( wxCommandEvent& event ); 32 #endif 29 33 30 34 void OnOk(wxCommandEvent& event); 31 35 void OnCancel(wxCommandEvent& event); … … 40 44 wxStaticText* m_server_lbl; //!< Label saying "Server" 41 45 wxComboBox* m_server_combo; //!< Combobox where user can select server 42 46 47 #ifndef NO_CURL_LADDER 48 wxStaticText* m_ladder_lbl; //!< Label saying "Ladder Server" 49 wxComboBox* m_ladder_combo; //!< Combobox where user can select ladder server 50 #endif 51 43 52 wxStaticLine* m_ser_acc_line; //!< Line that separates the server setting and the acount settings 44 53 45 54 wxStaticText* m_nick_lbl; //!< Label saying "Nickname" 46 55 wxTextCtrl* m_nick_text; //!< Textbox where user can input nickname 47 56 wxStaticText* m_pass_lbl; //!< Label saying "Password" 48 57 wxTextCtrl* m_pass_text; //!< Textbox where user can input password 58 #ifndef NO_CURL_LADDER 59 wxStaticText* m_ladder_pass_lbl; //!< Label saying "Ladder password" 60 wxTextCtrl* m_ladder_pass_text; //!< Textbox where user can input password for ladder 61 #endif 49 62 wxCheckBox* m_rpass_check; //!< Checkbox where user can chose if he wants his password to be saved. 50 63 wxCheckBox* m_autoconnect_check; //!< Checkbox where user can chose if he wants to autoconnect. 64 #ifndef NO_CURL_LADDER 65 wxCheckBox* m_ladder_check; //!< Checkbox where user can chose if he wants to connect to a ladder. 66 #endif 51 67 52 68 wxStaticLine* m_acc_note_line; //!< Line that separates the account settings from the note 53 69 … … 59 75 wxBoxSizer* m_main_sizer; //!< The main sizer connecting it all together 60 76 wxBoxSizer* m_login_main_sizer; //!< Login tab main sizer 61 77 wxBoxSizer* m_server_sizer; //!< Sizer connecting server label and combo 78 #ifndef NO_CURL_LADDER 79 wxBoxSizer* m_ladder_sizer; //!< Sizer connecting server label and combo 80 #endif 62 81 wxBoxSizer* m_nick_sizer; //!< Sizer connecting nick label and input 63 82 wxBoxSizer* m_pass_sizer; //!< Sizer connecting password label and input 83 #ifndef NO_CURL_LADDER 84 wxBoxSizer* m_ladder_pass_sizer; //!< Sizer connecting ladder password label and input 85 #endif 64 86 wxBoxSizer* m_rpass_sizer; //!< Sizer spacing the remember password setting 65 87 wxBoxSizer* m_buttons_sizer; //!< Sizer connecting the ok and cancel buttons 66 88 … … 80 102 81 103 enum 82 104 { 83 CON_SERV_SEL = wxID_HIGHEST 105 CON_SERV_SEL = wxID_HIGHEST, 106 CON_SERV_LADDER_CHECK 84 107 }; 85 108 86 109 -
src/settings.cpp
diff --git a/src/settings.cpp b/src/settings.cpp index 1a1c42a..0ae392f 100644
a b 344 344 return m_config->Read( wxString::Format( _T("/Servers/Server%d"), index ), _T("") ); 345 345 } 346 346 347 #ifndef NO_CURL_LADDER 348 349 //! @brief Get the name/alias of the default ladder server. 350 //! 351 //! @note Normally this will be the ladder server selected for the current server. But when first selecting a server and activating the ladder it will be a server that is set as the default. 352 wxString Settings::GetDefaultLadderServer() 353 { 354 wxString serv = WX_STRINGC(DEFSETT_DEFAULT_LADDER_SERVER); 355 return m_config->Read( _T("/LadderServers/Default"), serv ); 356 } 357 358 359 //! @brief Set the name/alias of the default ladder server. 360 //! 361 //! @param ladder_server_name the server name/alias 362 //! @see GetDefaultLadderServer() 363 void Settings::SetDefaultLadderServer( const wxString& ladder_server_name ) 364 { 365 m_config->Write( _T("/LadderServers/Default"), ladder_server_name ); 366 } 367 368 int Settings::GetNumLadderServers() 369 { 370 return m_config->Read( _T("/LadderServers/Count"), (long)0 ); 371 } 372 373 void Settings::SetNumLadderServers( int num ) 374 { 375 m_config->Write( _T("/LadderServers/Count"), num ); 376 } 377 378 //! @brief Get name/alias of a ladder server. 379 //! 380 //! @param index the server index 381 wxString Settings::GetLadderServerName( int index ) 382 { 383 return m_config->Read( wxString::Format( _T("/LadderServers/Server%d"), index ), _T("") ); 384 } 385 386 void Settings::AddLadderServer( const wxString& ladder_server_name ) 387 { 388 int index = GetLadderServerIndex( ladder_server_name ); 389 if ( index != -1 ) return; 390 391 index = GetNumLadderServers(); 392 SetNumLadderServers( index + 1 ); 393 394 m_config->Write( _T("/LadderServers/Server")+ wxString::Format( _T("%d"), index ), ladder_server_name ); 395 } 396 397 int Settings::GetLadderServerIndex( const wxString& ladder_server_name ) 398 { 399 int num = GetNumLadderServers(); 400 for ( int i= 0; i < num; i++ ) 401 { 402 if ( GetLadderServerName( i ) == ladder_server_name ) return i; 403 } 404 return -1; 405 } 406 407 #endif 347 408 348 409 //! @brief Get nickname of the default account for a server. 349 410 //! … … 384 445 m_config->Write( _T("/Server/")+ server_name +_T("/pass"), value ); 385 446 } 386 447 448 #ifndef NO_CURL_LADDER 449 //! @brief Get password for the ladder for the server. 450 //! 451 //! @param server_name the server name/alias 452 wxString Settings::GetServerAccountLadderPass( const wxString& server_name ) 453 { 454 return m_config->Read( _T("/Server/")+ server_name +_T("/LadderPass"), _T("") ); 455 } 456 457 458 //! @brief Set password for ladder for the server. 459 //! 460 //! @param server_name the server name/alias 461 //! @param value the vaule to be set 462 void Settings::SetServerAccountLadderPass( const wxString& server_name, const wxString& value ) 463 { 464 m_config->Write( _T("/Server/")+ server_name +_T("/LadderPass"), value ); 465 } 466 467 wxString Settings::GetServerLadder( const wxString& server_name ) 468 { 469 return m_config->Read( _T("/Server/")+ server_name +_T("/Ladder"), _T("") ); 470 } 471 472 void Settings::SetServerLadder( const wxString& server_name, const wxString& value ) 473 { 474 m_config->Write( _T("/Server/")+ server_name +_T("/Ladder"), value ); 475 } 476 477 bool Settings::GetServerLadderConnect( const wxString& server_name ) 478 { 479 return m_config->Read( _T("/Server/")+ server_name +_T("/LadderConnect"), 0l ); 480 } 481 482 void Settings::SetServerLadderConnect( const wxString& server_name, bool do_autoconnect ) 483 { 484 m_config->Write( _T("/Server/")+ server_name +_T("/LadderConnect"), do_autoconnect ); 485 } 486 487 #endif 387 488 388 489 //! @brief Get if the password should be saved for a default server account. 389 490 //! -
src/settings.h
diff --git a/src/settings.h b/src/settings.h index 3fd60e5..bd3c35b 100644
a b 8 8 9 9 #define DEFSETT_DEFAULT_SERVER "TAS Server" 10 10 #define DEFSETT_DEFAULT_SERVER_HOST "taspringmaster.clan-sy.com" 11 #define DEFSETT_DEFAULT_LADDER_SERVER "http://springladder.no-ip.org/ladder" 11 12 #define DEFSETT_DEFAULT_SERVER_PORT 8200 12 13 #define DEFSETT_SAVE_PASSWORD false 13 14 #define DEFSETT_MW_WIDTH 880 … … 184 185 185 186 wxString GetServerName( int index ); 186 187 /**@}*/ 188 189 #ifndef NO_CURL_LADDER 190 /* ================================================================ */ 191 /** @name Ladder Servers 192 * @{ 193 */ 194 195 wxString GetDefaultLadderServer(); 196 void SetDefaultLadderServer( const wxString& ladder_server_name ); 197 198 int GetNumLadderServers(); 199 void SetNumLadderServers( int num ); 200 201 wxString GetLadderServerName( int index ); 202 203 void AddLadderServer( const wxString& server_name ); 204 205 int GetLadderServerIndex( const wxString& server_name ); 206 207 /**@}*/ 208 #endif 187 209 188 210 /* ================================================================ */ 189 211 /** @name Accounts … … 195 217 wxString GetServerAccountPass( const wxString& server_name ); 196 218 void SetServerAccountPass( const wxString& server_name, const wxString& value ); 197 219 220 #ifndef NO_CURL_LADDER 221 wxString GetServerAccountLadderPass( const wxString& server_name ); 222 void SetServerAccountLadderPass( const wxString& server_name, const wxString& value ); 223 224 wxString GetServerLadder( const wxString& server_name); 225 void SetServerLadder( const wxString& server_name, const wxString& value ); 226 227 bool GetServerLadderConnect( const wxString& server_name); 228 void SetServerLadderConnect( const wxString& server_name, bool do_autoconnect ); 229 #endif 230 198 231 bool GetServerAccountSavePass( const wxString& server_name ); 199 232 void SetServerAccountSavePass( const wxString& server_name, const bool value ); 200 233 /**@}*/
