You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
89 lines
2.6 KiB
89 lines
2.6 KiB
//========= Copyright Valve Corporation, All rights reserved. ============// |
|
// |
|
// Purpose: |
|
// |
|
// $NoKeywords: $ |
|
//============================================================================= |
|
|
|
#include "pch_serverbrowser.h" |
|
|
|
using namespace vgui; |
|
|
|
//----------------------------------------------------------------------------- |
|
// Purpose: Constructor |
|
//----------------------------------------------------------------------------- |
|
CDialogServerPassword::CDialogServerPassword(vgui::Panel *parent) : Frame(parent, "DialogServerPassword") |
|
{ |
|
m_iServerID = -1; |
|
SetSize(320, 240); |
|
SetDeleteSelfOnClose(true); |
|
SetSizeable(false); |
|
|
|
m_pInfoLabel = new Label(this, "InfoLabel", "#ServerBrowser_ServerRequiresPassword"); |
|
m_pGameLabel = new Label(this, "GameLabel", "<game label>"); |
|
m_pPasswordEntry = new TextEntry(this, "PasswordEntry"); |
|
m_pConnectButton = new Button(this, "ConnectButton", "#ServerBrowser_Connect"); |
|
m_pPasswordEntry->SetTextHidden(true); |
|
|
|
LoadControlSettings("Servers/DialogServerPassword.res"); |
|
|
|
SetTitle("#ServerBrowser_ServerRequiresPasswordTitle", true); |
|
|
|
// set our initial position in the middle of the workspace |
|
MoveToCenterOfScreen(); |
|
} |
|
|
|
//----------------------------------------------------------------------------- |
|
// Purpose: Destructor |
|
//----------------------------------------------------------------------------- |
|
CDialogServerPassword::~CDialogServerPassword() |
|
{ |
|
} |
|
|
|
//----------------------------------------------------------------------------- |
|
// Purpose: initializes the dialog and brings it to the foreground |
|
//----------------------------------------------------------------------------- |
|
void CDialogServerPassword::Activate(const char *serverName, unsigned int serverID) |
|
{ |
|
m_pGameLabel->SetText(serverName); |
|
m_iServerID = serverID; |
|
|
|
m_pConnectButton->SetAsDefaultButton(true); |
|
m_pPasswordEntry->RequestFocus(); |
|
BaseClass::Activate(); |
|
} |
|
|
|
//----------------------------------------------------------------------------- |
|
// Purpose: |
|
// Input : *command - |
|
//----------------------------------------------------------------------------- |
|
void CDialogServerPassword::OnCommand(const char *command) |
|
{ |
|
bool bClose = false; |
|
|
|
if (!Q_stricmp(command, "Connect")) |
|
{ |
|
KeyValues *msg = new KeyValues("JoinServerWithPassword"); |
|
char buf[64]; |
|
m_pPasswordEntry->GetText(buf, sizeof(buf)-1); |
|
msg->SetString("password", buf); |
|
msg->SetInt("serverID", m_iServerID); |
|
PostActionSignal(msg); |
|
|
|
bClose = true; |
|
} |
|
else if (!Q_stricmp(command, "Close")) |
|
{ |
|
bClose = true; |
|
} |
|
else |
|
{ |
|
BaseClass::OnCommand(command); |
|
} |
|
|
|
if (bClose) |
|
{ |
|
PostMessage(this, new KeyValues("Close")); |
|
} |
|
} |
|
|
|
|