From 3bf9df6b2785fa6d951086978a3e66f49427166a Mon Sep 17 00:00:00 2001 From: FluorescentCIAAfricanAmerican <0934gj3049fk@protonmail.com> Date: Wed, 22 Apr 2020 12:56:21 -0400 Subject: 1 --- serverbrowser/DialogServerPassword.cpp | 89 ++++++++++++++++++++++++++++++++++ 1 file changed, 89 insertions(+) create mode 100644 serverbrowser/DialogServerPassword.cpp (limited to 'serverbrowser/DialogServerPassword.cpp') diff --git a/serverbrowser/DialogServerPassword.cpp b/serverbrowser/DialogServerPassword.cpp new file mode 100644 index 0000000..a5b2318 --- /dev/null +++ b/serverbrowser/DialogServerPassword.cpp @@ -0,0 +1,89 @@ +//========= 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", ""); + 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")); + } +} + -- cgit v1.2.3