79 lines
3.7 KiB
C++
79 lines
3.7 KiB
C++
#pragma once
|
|
|
|
class COptionsDirectoriesPage :
|
|
public CDialogImpl<COptionsDirectoriesPage>,
|
|
public CSettingsPage
|
|
{
|
|
|
|
|
|
BEGIN_MSG_MAP_EX(COptionsDirectoriesPage)
|
|
COMMAND_ID_HANDLER_EX(IDC_SELECT_PLUGIN_DIR,SelectPluginDir);
|
|
COMMAND_ID_HANDLER_EX(IDC_SELECT_AUTO_DIR,SelectAutoDir);
|
|
COMMAND_ID_HANDLER_EX(IDC_SELECT_INSTANT_DIR,SelectInstantDir);
|
|
COMMAND_ID_HANDLER_EX(IDC_SELECT_SNAP_DIR,SelectSnapShotDir);
|
|
COMMAND_ID_HANDLER_EX(IDC_SELECT_TEXTURE_DIR,SelectTextureDir);
|
|
COMMAND_HANDLER_EX(IDC_PLUGIN_DIR,EN_UPDATE,PluginDirChanged)
|
|
COMMAND_HANDLER_EX(IDC_AUTO_DIR,EN_UPDATE,AutoSaveDirChanged)
|
|
COMMAND_HANDLER_EX(IDC_INSTANT_DIR,EN_UPDATE,InstantSaveDirChanged)
|
|
COMMAND_HANDLER_EX(IDC_SNAP_DIR,EN_UPDATE,SnapShotDirChanged)
|
|
COMMAND_HANDLER_EX(IDC_TEXTURE_DIR,EN_UPDATE,TextureDirChanged)
|
|
|
|
COMMAND_HANDLER_EX(IDC_PLUGIN_DEFAULT,BN_CLICKED,UseSelectedClicked)
|
|
COMMAND_HANDLER_EX(IDC_PLUGIN_OTHER,BN_CLICKED,UseSelectedClicked)
|
|
COMMAND_HANDLER_EX(IDC_AUTO_DEFAULT,BN_CLICKED,UseSelectedClicked)
|
|
COMMAND_HANDLER_EX(IDC_AUTO_OTHER,BN_CLICKED,UseSelectedClicked)
|
|
COMMAND_HANDLER_EX(IDC_INSTANT_DEFAULT,BN_CLICKED,UseSelectedClicked)
|
|
COMMAND_HANDLER_EX(IDC_INSTANT_OTHER,BN_CLICKED,UseSelectedClicked)
|
|
COMMAND_HANDLER_EX(IDC_SNAP_DEFAULT,BN_CLICKED,UseSelectedClicked)
|
|
COMMAND_HANDLER_EX(IDC_SNAP_OTHER,BN_CLICKED,UseSelectedClicked)
|
|
COMMAND_HANDLER_EX(IDC_TEXTURE_DEFAULT,BN_CLICKED,UseSelectedClicked)
|
|
COMMAND_HANDLER_EX(IDC_TEXTURE_OTHER,BN_CLICKED,UseSelectedClicked)
|
|
END_MSG_MAP()
|
|
|
|
enum { IDD = IDD_Settings_Directory };
|
|
|
|
public:
|
|
COptionsDirectoriesPage(HWND hParent, const RECT & rcDispay );
|
|
|
|
LanguageStringID PageTitle ( void ) { return TAB_DIRECTORY; }
|
|
void HidePage ( void );
|
|
void ShowPage ( void );
|
|
void ApplySettings ( bool UpdateScreen );
|
|
bool EnableReset ( void );
|
|
void ResetPage ( void );
|
|
|
|
private:
|
|
void SelectPluginDir ( UINT Code, int id, HWND ctl );
|
|
void SelectAutoDir ( UINT Code, int id, HWND ctl );
|
|
void SelectInstantDir ( UINT Code, int id, HWND ctl );
|
|
void SelectSnapShotDir ( UINT Code, int id, HWND ctl );
|
|
void SelectTextureDir ( UINT Code, int id, HWND ctl );
|
|
void PluginDirChanged ( UINT Code, int id, HWND ctl );
|
|
void AutoSaveDirChanged ( UINT Code, int id, HWND ctl );
|
|
void InstantSaveDirChanged ( UINT Code, int id, HWND ctl );
|
|
void SnapShotDirChanged ( UINT Code, int id, HWND ctl );
|
|
void TextureDirChanged ( UINT Code, int id, HWND ctl );
|
|
void UseSelectedClicked ( UINT Code, int id, HWND ctl );
|
|
void UpdatePageSettings ( void );
|
|
void SelectDirectory ( LanguageStringID Title, CModifiedEditBox & EditBox, CModifiedButton & Default, CModifiedButton & selected );
|
|
|
|
void UpdateDirectory ( CModifiedEditBox & EditBox, SettingID Type );
|
|
void UpdateDefaultSelected ( CModifiedButton & Button, SettingID Type );
|
|
|
|
void ResetDirectory ( CModifiedEditBox & EditBox, SettingID Type );
|
|
void ResetDefaultSelected ( CModifiedButton & ButtonDefault, CModifiedButton & ButtonSelected, SettingID Type );
|
|
|
|
static int CALLBACK SelectDirCallBack (HWND hwnd,DWORD uMsg,DWORD lp, DWORD lpData);
|
|
|
|
CPartialGroupBox m_PluginGroup, m_AutoSaveGroup, m_InstantSaveGroup,
|
|
m_ScreenShotGroup, m_TextureGroup;
|
|
CModifiedEditBox m_PluginDir, m_AutoSaveDir, m_InstantSaveDir,
|
|
m_ScreenShotDir, m_TextureDir;
|
|
|
|
CModifiedButton m_PluginDefault, m_PluginSelected, m_AutoSaveDefault, m_AutoSaveSelected,
|
|
m_InstantDefault, m_InstantSelected, m_ScreenShotDefault, m_ScreenShotSelected,
|
|
m_TextureDefault, m_TextureSelected;
|
|
|
|
bool m_InUpdateSettings;
|
|
};
|