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)

Patch to baindamage ladder branch, that make the connection dialog aware of ladders.

  • 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  
    3030  EVT_BUTTON ( wxID_OK,     ConnectWindow::OnOk ) 
    3131  EVT_BUTTON ( wxID_CANCEL, ConnectWindow::OnCancel ) 
    3232  EVT_COMBOBOX ( CON_SERV_SEL , ConnectWindow::OnServerChange ) 
    33  
     33#ifndef NO_CURL_LADDER     
     34  EVT_CHECKBOX ( CON_SERV_LADDER_CHECK , ConnectWindow::OnLadderCheck ) 
     35#endif 
    3436END_EVENT_TABLE() 
    3537 
    3638//! @brief Constructor 
     
    4345  wxString server; 
    4446  wxString username; 
    4547  wxString password; 
     48#ifndef NO_CURL_LADDER   
     49  wxString ladder_password; 
     50#endif 
    4651  bool savepass; 
    4752  bool autoconnect; 
    4853 
     
    5156  server = sett().GetDefaultServer(); 
    5257  username = sett().GetServerAccountNick( sett().GetDefaultServer() ); 
    5358  password = sett().GetServerAccountPass( sett().GetDefaultServer() ); 
     59#ifndef NO_CURL_LADDER   
     60  ladder_password = sett().GetServerAccountLadderPass( sett().GetDefaultServer() ); 
     61#endif 
    5462  savepass = sett().GetServerAccountSavePass( sett().GetDefaultServer() ); 
    5563  autoconnect = sett().GetAutoConnect(); 
    5664  // Create all UI elements. 
     
    6270  m_server_combo = new wxComboBox  ( m_login_tab, CON_SERV_SEL, server ); 
    6371  m_server_combo->SetToolTip( _("Server to connect to. You can connect to any server you like by typing in hostaddress:port format.") ); 
    6472 
     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 
    6579  m_ser_acc_line = new wxStaticLine( m_login_tab ); 
    6680 
    6781  m_nick_lbl =    new wxStaticText( m_login_tab, -1, _("Nickname") ); 
    6882  m_nick_text =   new wxTextCtrl  ( m_login_tab, -1, username ); 
    6983  m_pass_lbl =    new wxStaticText( m_login_tab, -1, _("Password") ); 
    7084  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 
    7191  m_rpass_check = new wxCheckBox  ( m_login_tab, -1, _("Remember password") ); 
    7292  m_autoconnect_check = new wxCheckBox  ( m_login_tab, -1, _("Autoconnect next time") ); 
    7393  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 
    7499 
    75100  m_rpass_check->SetValue( savepass ); 
    76101  m_autoconnect_check->SetValue( autoconnect ); 
    77102 
     103#ifndef NO_CURL_LADDER   
     104  m_ladder_check->SetValue( sett().GetServerLadderConnect( sett().GetDefaultServer() ) ); 
     105#endif 
     106 
     107 
    78108  m_acc_note_line = new wxStaticLine( m_login_tab ); 
    79109 
    80110  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.") ); 
     
    90120  m_main_sizer = new wxBoxSizer( wxVERTICAL ); 
    91121  m_login_main_sizer = new wxBoxSizer( wxVERTICAL ); 
    92122  m_server_sizer = new wxBoxSizer( wxHORIZONTAL ); 
     123#ifndef NO_CURL_LADDER   
     124  m_ladder_sizer = new wxBoxSizer( wxHORIZONTAL ); 
     125#endif   
    93126  m_nick_sizer = new wxBoxSizer( wxHORIZONTAL ); 
    94127  m_pass_sizer = new wxBoxSizer( wxHORIZONTAL ); 
     128#ifndef NO_CURL_LADDER   
     129  m_ladder_pass_sizer = new wxBoxSizer( wxHORIZONTAL ); 
     130#endif   
    95131  m_rpass_sizer = new wxBoxSizer( wxVERTICAL ); 
    96132  wxBoxSizer* m_check_sizer = new wxBoxSizer( wxHORIZONTAL ); 
    97133  m_buttons_sizer = new wxBoxSizer( wxHORIZONTAL ); 
     
    103139 
    104140  m_rpass_sizer->Add( m_rpass_check, 2, wxEXPAND | wxALL | wxALIGN_RIGHT, 4 ); 
    105141  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 
    106145 
    107146  m_pass_sizer->Add( m_pass_lbl, 1, wxEXPAND | wxALL, 4 ); 
    108147  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 
    109153 
    110154  //FIXME was lazy, absoulte positioning isn't that nice 
    111155  int pos1 = (m_pass_lbl->GetSize()).GetWidth() + 40; 
     
    118162  m_server_sizer->Add( m_server_lbl, 1, wxEXPAND | wxALL, 4 ); 
    119163  m_server_sizer->Add( m_server_combo, 2, wxEXPAND | wxALL, 4 ); 
    120164 
     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 
    121170  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 
    122174  m_login_main_sizer->Add( m_ser_acc_line, 0, wxEXPAND | wxALL, 4 ); 
    123175  m_login_main_sizer->Add( m_nick_sizer, 0, wxEXPAND ); 
    124176  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 
    125180  m_login_main_sizer->Add( m_check_sizer, 0, wxEXPAND ); 
    126181  m_login_main_sizer->Add( m_acc_note_line, 0, wxEXPAND | wxALL, 4 ); 
    127182  m_login_main_sizer->Add( m_note_lbl, 0, wxEXPAND | wxALL, 4 ); 
     
    192247#endif 
    193248 
    194249  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 
    195256} 
    196257 
    197258 
     
    209270    m_server_combo->AppendString( sett().GetServerName( i ) ); 
    210271  } 
    211272  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   
    212281} 
    213282 
    214283void ConnectWindow::OnServerChange( wxCommandEvent& event ) 
     
    219288  if ( sett().GetServerAccountSavePass( HostAddress ) ) m_pass_text->SetValue( sett().GetServerAccountPass( HostAddress ) ); 
    220289} 
    221290 
     291#ifndef NO_CURL_LADDER   
     292void 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 
    222309 
    223310void ConnectWindow::OnOk(wxCommandEvent& event) 
    224311{ 
     
    267354    if ( m_autoconnect_check->IsChecked() ) 
    268355        sett().SetServerAccountSavePass( HostAddress, true ); 
    269356 
     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 
    270368    sett().SaveSettings(); 
    271369    ReloadServerList(); 
    272370 
  • src/connectwindow.h

    diff --git a/src/connectwindow.h b/src/connectwindow.h
    index 8346074..b5c7c72 100644
    a b  
    2626    void ReloadServerList(); 
    2727 
    2828    void OnServerChange( wxCommandEvent& event ); 
     29     
     30#ifndef NO_CURL_LADDER   
     31    void OnLadderCheck( wxCommandEvent& event ); 
     32#endif 
    2933 
    3034    void OnOk(wxCommandEvent& event); 
    3135    void OnCancel(wxCommandEvent& event); 
     
    4044    wxStaticText* m_server_lbl;     //!< Label saying "Server" 
    4145    wxComboBox*   m_server_combo;   //!< Combobox where user can select server 
    4246 
     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 
    4352    wxStaticLine* m_ser_acc_line;   //!< Line that separates the server setting and the acount settings 
    4453 
    4554    wxStaticText* m_nick_lbl;       //!< Label saying "Nickname" 
    4655    wxTextCtrl*   m_nick_text;      //!< Textbox where user can input nickname 
    4756    wxStaticText* m_pass_lbl;       //!< Label saying "Password" 
    4857    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     
    4962    wxCheckBox*   m_rpass_check;    //!< Checkbox where user can chose if he wants his password to be saved. 
    5063    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     
    5167 
    5268    wxStaticLine* m_acc_note_line;  //!< Line that separates the account settings from the note 
    5369 
     
    5975    wxBoxSizer* m_main_sizer;       //!< The main sizer connecting it all together 
    6076    wxBoxSizer* m_login_main_sizer; //!< Login tab main sizer 
    6177    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 
    6281    wxBoxSizer* m_nick_sizer;       //!< Sizer connecting nick label and input 
    6382    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 
    6486    wxBoxSizer* m_rpass_sizer;      //!< Sizer spacing the remember password setting 
    6587    wxBoxSizer* m_buttons_sizer;    //!< Sizer connecting the ok and cancel buttons 
    6688 
     
    80102 
    81103enum 
    82104{ 
    83   CON_SERV_SEL = wxID_HIGHEST 
     105  CON_SERV_SEL = wxID_HIGHEST, 
     106  CON_SERV_LADDER_CHECK 
    84107}; 
    85108 
    86109 
  • src/settings.cpp

    diff --git a/src/settings.cpp b/src/settings.cpp
    index 1a1c42a..0ae392f 100644
    a b  
    344344    return m_config->Read( wxString::Format( _T("/Servers/Server%d"), index ), _T("") ); 
    345345} 
    346346 
     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. 
     352wxString 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() 
     363void   Settings::SetDefaultLadderServer( const wxString& ladder_server_name ) 
     364{ 
     365    m_config->Write( _T("/LadderServers/Default"),  ladder_server_name ); 
     366} 
     367 
     368int Settings::GetNumLadderServers() 
     369{ 
     370    return m_config->Read( _T("/LadderServers/Count"), (long)0 ); 
     371} 
     372 
     373void 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 
     381wxString Settings::GetLadderServerName( int index ) 
     382{ 
     383    return m_config->Read( wxString::Format( _T("/LadderServers/Server%d"), index ), _T("") ); 
     384} 
     385 
     386void 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 
     397int 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 
    347408 
    348409//! @brief Get nickname of the default account for a server. 
    349410//! 
     
    384445    m_config->Write( _T("/Server/")+ server_name +_T("/pass"), value ); 
    385446} 
    386447 
     448#ifndef NO_CURL_LADDER   
     449//! @brief Get password for the ladder for the server. 
     450//! 
     451//! @param server_name the server name/alias 
     452wxString 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 
     462void   Settings::SetServerAccountLadderPass( const wxString& server_name, const wxString& value ) 
     463{ 
     464    m_config->Write( _T("/Server/")+ server_name +_T("/LadderPass"), value ); 
     465} 
     466 
     467wxString Settings::GetServerLadder( const wxString& server_name ) 
     468{ 
     469    return m_config->Read( _T("/Server/")+ server_name +_T("/Ladder"), _T("") ); 
     470} 
     471 
     472void Settings::SetServerLadder( const wxString& server_name, const wxString& value ) 
     473{ 
     474    m_config->Write( _T("/Server/")+ server_name +_T("/Ladder"), value ); 
     475} 
     476 
     477bool Settings::GetServerLadderConnect( const wxString& server_name ) 
     478{ 
     479    return m_config->Read( _T("/Server/")+ server_name +_T("/LadderConnect"), 0l ); 
     480} 
     481 
     482void 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 
    387488 
    388489//! @brief Get if the password should be saved for a default server account. 
    389490//! 
  • src/settings.h

    diff --git a/src/settings.h b/src/settings.h
    index 3fd60e5..bd3c35b 100644
    a b  
    88 
    99#define DEFSETT_DEFAULT_SERVER "TAS Server" 
    1010#define DEFSETT_DEFAULT_SERVER_HOST "taspringmaster.clan-sy.com" 
     11#define DEFSETT_DEFAULT_LADDER_SERVER "http://springladder.no-ip.org/ladder" 
    1112#define DEFSETT_DEFAULT_SERVER_PORT 8200 
    1213#define DEFSETT_SAVE_PASSWORD false 
    1314#define DEFSETT_MW_WIDTH 880 
     
    184185 
    185186    wxString GetServerName( int index ); 
    186187    /**@}*/ 
     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 
    187209 
    188210    /* ================================================================ */ 
    189211    /** @name Accounts 
     
    195217    wxString GetServerAccountPass( const wxString& server_name ); 
    196218    void   SetServerAccountPass( const wxString& server_name, const wxString& value ); 
    197219 
     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 
    198231    bool   GetServerAccountSavePass( const wxString& server_name ); 
    199232    void   SetServerAccountSavePass( const wxString& server_name, const bool value ); 
    200233    /**@}*/