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 --- tracker/AdminServer/DialogServerPassword.cpp | 119 +++++++++++++++++++++++++++ 1 file changed, 119 insertions(+) create mode 100644 tracker/AdminServer/DialogServerPassword.cpp (limited to 'tracker/AdminServer/DialogServerPassword.cpp') diff --git a/tracker/AdminServer/DialogServerPassword.cpp b/tracker/AdminServer/DialogServerPassword.cpp new file mode 100644 index 0000000..ffb3129 --- /dev/null +++ b/tracker/AdminServer/DialogServerPassword.cpp @@ -0,0 +1,119 @@ +//========= Copyright Valve Corporation, All rights reserved. ============// +// +// Purpose: +// +// $NoKeywords: $ +//============================================================================= + +#include "DialogServerPassword.h" + +#include +#include +#include +#include + +#include +#include + +using namespace vgui; + +//----------------------------------------------------------------------------- +// Purpose: Constructor +//----------------------------------------------------------------------------- +CDialogServerPassword::CDialogServerPassword() : Frame(NULL, "DialogServerPassword") +{ + m_iServerID = -1; + SetSize(320, 240); + + m_pInfoLabel = new Label(this, "InfoLabel", "This server requires a password to join."); + m_pGameLabel = new Label(this, "GameLabel", ""); + m_pPasswordEntry = new TextEntry(this, "PasswordEntry"); + m_pConnectButton = new Button(this, "ConnectButton", "&Connect"); + m_pPasswordEntry->SetTextHidden(true); + + LoadControlSettings("Admin\\DialogServerPassword.res"); + + SetTitle("Server Requires Password - Servers", 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); + MakePopup(); + MoveToFront(); + m_pPasswordEntry->RequestFocus(); + RequestFocus(); +} + +//----------------------------------------------------------------------------- +// Purpose: +// Input : *command - +//----------------------------------------------------------------------------- +void CDialogServerPassword::OnCommand(const char *command) +{ + bool bClose = false; + + if (!stricmp(command, "Connect")) + { + KeyValues *msg = new KeyValues("JoinServerWithPassword"); + char buf[64]; + m_pPasswordEntry->GetText(0, buf, sizeof(buf)-1); + msg->SetString("password", buf); + msg->SetInt("serverID", m_iServerID); + PostActionSignal(msg); + + bClose = true; + } + else if (!stricmp(command, "Close")) + { + bClose = true; + } + else + { + BaseClass::OnCommand(command); + } + + if (bClose) + { + PostMessage(this, new KeyValues("Close")); + MarkForDeletion(); + } +} + + +//----------------------------------------------------------------------------- +// Purpose: +//----------------------------------------------------------------------------- +void CDialogServerPassword::PerformLayout() +{ + BaseClass::PerformLayout(); +} + +//----------------------------------------------------------------------------- +// Purpose: deletes the dialog on close +//----------------------------------------------------------------------------- +void CDialogServerPassword::OnClose() +{ + BaseClass::OnClose(); + MarkForDeletion(); +} + + + + -- cgit v1.2.3