/* ** Command & Conquer Renegade(tm) ** Copyright 2025 Electronic Arts Inc. ** ** This program is free software: you can redistribute it and/or modify ** it under the terms of the GNU General Public License as published by ** the Free Software Foundation, either version 3 of the License, or ** (at your option) any later version. ** ** This program is distributed in the hope that it will be useful, ** but WITHOUT ANY WARRANTY; without even the implied warranty of ** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ** GNU General Public License for more details. ** ** You should have received a copy of the GNU General Public License ** along with this program. If not, see . */ /****************************************************************************** * * FILE * $Archive: /Commando/Code/Commando/dlgmpchangelannickname.cpp $ * * DESCRIPTION * Handle LAN nickname collision. * * PROGRAMMER * Tom * * VERSION INFO * $Revision: 1 $ * $Modtime: 1/04/02 4:14p $ * ******************************************************************************/ #include "dlgmpchangelannickname.h" #include #include "netinterface.h" #include "dlgmplangamelist.h" int DlgMpChangeLanNickname::DialogCount = 0; //----------------------------------------------------------------------------- bool DlgMpChangeLanNickname::DoDialog(void) { DlgMpChangeLanNickname* dialog = NULL; if (DialogCount == 0) { dialog = new DlgMpChangeLanNickname; } if (dialog) { dialog->Start_Dialog(); dialog->Release_Ref(); } return (dialog != NULL); } //----------------------------------------------------------------------------- DlgMpChangeLanNickname::DlgMpChangeLanNickname() : PopupDialogClass(IDD_MP_CHANGE_LAN_NICKNAME) { WWDEBUG_SAY(("DlgMpChangeLanNickname Instantiated\n")); DialogCount++; } //----------------------------------------------------------------------------- DlgMpChangeLanNickname::~DlgMpChangeLanNickname() { WWDEBUG_SAY(("DlgMpChangeLanNickname Destroyed\n")); DialogCount--; } //----------------------------------------------------------------------------- void DlgMpChangeLanNickname::On_Init_Dialog(void) { Enable_Dlg_Item(IDOK, false); EditCtrlClass* edit = (EditCtrlClass*)Get_Dlg_Item(IDC_NICKNAME_EDIT); if (edit) { edit->Set_Text_Limit(9); edit->Set_Text(cNetInterface::Get_Nickname()); edit->Set_Focus(); } PopupDialogClass::On_Init_Dialog(); } //----------------------------------------------------------------------------- void DlgMpChangeLanNickname::On_Command(int ctrlID, int message, DWORD param) { if (IDOK == ctrlID) { WideStringClass nickname = Get_Dlg_Item_Text (IDC_NICKNAME_EDIT); cNetInterface::Set_Nickname (nickname); MPLanGameListMenuClass::Set_Update_Nickname(); End_Dialog(); } PopupDialogClass::On_Command(ctrlID, message, param); } //----------------------------------------------------------------------------- void DlgMpChangeLanNickname::On_EditCtrl_Change(EditCtrlClass* edit, int id) { if (IDC_NICKNAME_EDIT == id) { const WCHAR* text = edit->Get_Text(); bool enableok = (text && (wcslen(text) > 0)); Enable_Dlg_Item(IDOK, enableok); } } //----------------------------------------------------------------------------- void DlgMpChangeLanNickname::On_EditCtrl_Enter_Pressed(EditCtrlClass* edit, int id) { if ((IDC_NICKNAME_EDIT == id) && Is_Dlg_Item_Enabled(IDOK)) { On_Command(IDOK, 0, 0); } }