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.
189 lines
5.0 KiB
189 lines
5.0 KiB
//========= Copyright Valve Corporation, All rights reserved. ============// |
|
// |
|
// Purpose: |
|
// |
|
// $NoKeywords: $ |
|
// |
|
//=============================================================================// |
|
// SwitchProps.cpp : implementation file |
|
// |
|
|
|
#include "stdafx.h" |
|
#include "UI.h" |
|
#include "SwitchProps.h" |
|
|
|
#ifdef _DEBUG |
|
#define new DEBUG_NEW |
|
#undef THIS_FILE |
|
static char THIS_FILE[] = __FILE__; |
|
#endif |
|
|
|
///////////////////////////////////////////////////////////////////////////// |
|
// CSwitchProps dialog |
|
|
|
|
|
CSwitchProps::CSwitchProps(CWnd* pParent /*=NULL*/) |
|
: CPropertyPage(CSwitchProps::IDD), |
|
m_persistDefall("AllSwitchesDefault"), |
|
m_persistDisplayMM2("DefaultMM2"), |
|
m_persistDisplayStartupInfo("DefaultStartupInfo"), |
|
m_persistPersistPlayerStats("DefaultPersistPlayerStats"), |
|
m_persistUseSupportDir("DefaultUseSupportDir"), |
|
m_persistElimPlayers("DefaultElimPlayers"), |
|
m_persistElimDays("DefaultElimDays"), |
|
m_persistPause("DefaultPause"), |
|
m_persistPauseSecs("DefaultPauseSecs") |
|
{ |
|
//{{AFX_DATA_INIT(CSwitchProps) |
|
//}}AFX_DATA_INIT |
|
m_psp.dwFlags &= ~PSP_HASHELP; |
|
alreadyAcknowledged=false; |
|
} |
|
|
|
|
|
void CSwitchProps::DoDataExchange(CDataExchange* pDX) |
|
{ |
|
CDialog::DoDataExchange(pDX); |
|
//{{AFX_DATA_MAP(CSwitchProps) |
|
DDX_Control(pDX, IDC_STATIC2, m_OnlyHereToBeDisabledToo); |
|
DDX_Control(pDX, IDC_STATICLBL, m_OnlyHereToBeDisabled); |
|
DDX_Control(pDX, IDC_PAUSE, m_Pause); |
|
DDX_Control(pDX, IDC_PAUSESECS, m_PauseSecs); |
|
DDX_Control(pDX, IDC_DEFALL, m_Defall); |
|
DDX_Control(pDX, IDC_STARTUPINFO, m_DisplayStartupInfo); |
|
DDX_Control(pDX, IDC_ELIMDAYS, m_elimDays); |
|
DDX_Control(pDX, IDC_ELIMINATEOLDPLRS, m_ElimOldPlrs); |
|
DDX_Control(pDX, IDC_USESUPPORT, m_UseSupportDir); |
|
DDX_Control(pDX, IDC_PLRPERSIST, m_PersistPlayerStats); |
|
DDX_Control(pDX, IDC_DISPLAYMM2, m_DisplayMM2); |
|
//}}AFX_DATA_MAP |
|
} |
|
|
|
|
|
BEGIN_MESSAGE_MAP(CSwitchProps, CDialog) |
|
//{{AFX_MSG_MAP(CSwitchProps) |
|
ON_BN_CLICKED(IDC_DEFALL, OnDefall) |
|
ON_BN_CLICKED(IDC_PLRPERSIST, OnPlrpersist) |
|
//}}AFX_MSG_MAP |
|
END_MESSAGE_MAP() |
|
|
|
///////////////////////////////////////////////////////////////////////////// |
|
// CSwitchProps message handlers |
|
|
|
|
|
#include "propsht.h" |
|
BOOL CSwitchProps::OnKillActive() |
|
{ |
|
//call superclass |
|
BOOL bRes=this->CPropertyPage::OnKillActive(); |
|
|
|
m_persistDefall=m_Defall.GetCheck(); |
|
m_persistPause=theApp.pause=m_Pause.GetCheck(); |
|
|
|
char buf[100]; |
|
m_PauseSecs.GetWindowText(buf,100); |
|
m_persistPauseSecs=theApp.pauseSecs=atoi(buf); |
|
|
|
|
|
m_persistDisplayMM2=theApp.displayMM2=m_DisplayMM2.GetCheck()==1; |
|
m_persistPersistPlayerStats=theApp.persistPlayerStats=m_PersistPlayerStats.GetCheck()==1; |
|
m_persistUseSupportDir=theApp.useSupportDir=m_UseSupportDir.GetCheck()==1; |
|
m_persistDisplayStartupInfo=theApp.displayStartupInfo=m_DisplayStartupInfo.GetCheck()==1; |
|
m_persistElimPlayers=theApp.elimOldPlayers=m_ElimOldPlrs.GetCheck()==1; |
|
|
|
|
|
m_elimDays.GetWindowText(buf,100); |
|
m_persistElimDays=theApp.elimDays=atoi(buf); |
|
|
|
|
|
return bRes; |
|
|
|
} |
|
|
|
BOOL CSwitchProps::OnSetActive() |
|
{ |
|
|
|
//call superclass |
|
BOOL bRes=this->CPropertyPage::OnSetActive(); |
|
|
|
if (theApp.FirstEverTimeRun && !alreadyAcknowledged) |
|
{ |
|
alreadyAcknowledged=true; |
|
m_persistDefall=1; |
|
m_Defall.SetCheck(1); |
|
OnDefall(); |
|
return bRes; |
|
} |
|
|
|
|
|
bool temp; |
|
|
|
temp=m_persistDefall.toBool(); |
|
m_Defall.SetCheck(temp); |
|
|
|
temp=theApp.pause=m_persistPause.toBool(); |
|
m_Pause.SetCheck(temp); |
|
|
|
theApp.pauseSecs=m_persistPauseSecs.toInt(); |
|
m_PauseSecs.SetWindowText(m_persistPauseSecs.toChars()); |
|
|
|
temp=theApp.displayMM2=m_persistDisplayMM2.toBool(); |
|
m_DisplayMM2.SetCheck(temp); |
|
|
|
temp=theApp.persistPlayerStats=m_persistPersistPlayerStats.toBool(); |
|
m_PersistPlayerStats.SetCheck(temp); |
|
|
|
temp=theApp.useSupportDir=m_persistUseSupportDir.toBool(); |
|
m_UseSupportDir.SetCheck(temp); |
|
|
|
temp=theApp.displayStartupInfo=m_persistDisplayStartupInfo.toBool(); |
|
m_DisplayStartupInfo.SetCheck(temp); |
|
|
|
temp=theApp.elimOldPlayers=m_persistElimPlayers.toBool(); |
|
m_ElimOldPlrs.SetCheck(temp); |
|
|
|
theApp.elimDays=m_persistElimDays.toInt(); |
|
m_elimDays.SetWindowText(m_persistElimDays.toChars()); |
|
|
|
|
|
OnDefall(); |
|
OnPlrpersist(); |
|
return bRes; |
|
|
|
} |
|
|
|
|
|
void CSwitchProps::OnDefall() |
|
{ |
|
bool defall=m_Defall.GetCheck()!=0; |
|
|
|
if (defall) |
|
{ |
|
m_DisplayMM2.SetCheck(0); |
|
m_DisplayStartupInfo.SetCheck(0); |
|
m_elimDays.SetWindowText("7"); |
|
m_ElimOldPlrs.SetCheck(1); |
|
m_Pause.SetCheck(1); |
|
m_PauseSecs.SetWindowText("2"); |
|
m_PersistPlayerStats.SetCheck(1); |
|
m_UseSupportDir.SetCheck(1); |
|
|
|
} |
|
m_DisplayMM2.EnableWindow(!defall); |
|
m_DisplayStartupInfo.EnableWindow(!defall); |
|
m_elimDays.EnableWindow(!defall); |
|
m_ElimOldPlrs.EnableWindow(!defall); |
|
m_Pause.EnableWindow(!defall); |
|
m_PauseSecs.EnableWindow(!defall); |
|
m_PersistPlayerStats.EnableWindow(!defall); |
|
m_UseSupportDir.EnableWindow(!defall); |
|
m_OnlyHereToBeDisabled.EnableWindow(!defall); |
|
m_OnlyHereToBeDisabledToo.EnableWindow(!defall); |
|
} |
|
|
|
void CSwitchProps::OnPlrpersist() |
|
{ |
|
m_ElimOldPlrs.EnableWindow(m_PersistPlayerStats.GetCheck() && !m_Defall.GetCheck()); |
|
m_elimDays.EnableWindow(m_PersistPlayerStats.GetCheck() && !m_Defall.GetCheck()); |
|
m_OnlyHereToBeDisabledToo.EnableWindow(m_PersistPlayerStats.GetCheck() && !m_Defall.GetCheck()); |
|
}
|
|
|