[UI] Moved 64DD IPL ROM Path to Advanced Settings

This commit is contained in:
luigiblood 2016-06-05 15:35:53 +02:00
parent faeeb6fa9d
commit 9cac742ebc
5 changed files with 76 additions and 77 deletions

View File

@ -45,6 +45,8 @@ CAdvancedOptionsPage::CAdvancedOptionsPage(HWND hParent, const RECT & rcDispay)
ComboBox->AddItemW(wGS(STR_FR_PERCENT).c_str(), FR_PERCENT);
}
m_IplDir.Attach(GetDlgItem(IDC_IPL_DIR));
UpdatePageSettings();
}
@ -60,6 +62,16 @@ void CAdvancedOptionsPage::ShowPage()
void CAdvancedOptionsPage::ApplySettings(bool UpdateScreen)
{
if (m_IplDir.IsChanged())
{
stdstr file = m_IplDir.GetWindowText();
g_Settings->SaveString(File_DiskIPLPath, file.c_str());
}
if (m_IplDir.IsReset())
{
g_Settings->DeleteSetting(File_DiskIPLPath);
}
CSettingsPageImpl<CAdvancedOptionsPage>::ApplySettings(UpdateScreen);
}
@ -72,4 +84,53 @@ bool CAdvancedOptionsPage::EnableReset(void)
void CAdvancedOptionsPage::ResetPage()
{
CSettingsPageImpl<CAdvancedOptionsPage>::ResetPage();
}
void CAdvancedOptionsPage::SelectIplDir(UINT /*Code*/, int /*id*/, HWND /*ctl*/)
{
SelectFile(DIR_SELECT_PLUGIN, m_IplDir);
}
void CAdvancedOptionsPage::IplDirChanged(UINT /*Code*/, int /*id*/, HWND /*ctl*/)
{
if (m_InUpdateSettings) { return; }
m_IplDir.SetChanged(true);
SendMessage(GetParent(), PSM_CHANGED, (WPARAM)m_hWnd, 0);
}
void CAdvancedOptionsPage::UpdatePageSettings(void)
{
m_InUpdateSettings = true;
CSettingsPageImpl<CAdvancedOptionsPage>::UpdatePageSettings();
stdstr File;
g_Settings->LoadStringVal(File_DiskIPLPath, File);
m_IplDir.SetWindowText(File.c_str());
m_InUpdateSettings = false;
}
void CAdvancedOptionsPage::SelectFile(LanguageStringID Title, CModifiedEditBox & EditBox)
{
// Open DDROM
OPENFILENAME openfilename;
char FileName[_MAX_PATH], Directory[_MAX_PATH];
memset(&FileName, 0, sizeof(FileName));
memset(&openfilename, 0, sizeof(openfilename));
strcpy(Directory, g_Settings->LoadStringVal(RomList_GameDir).c_str());
openfilename.lStructSize = sizeof(openfilename);
openfilename.hwndOwner = m_hWnd;
openfilename.lpstrFilter = "64DD IPL ROM Image (*.zip, *.7z, *.?64, *.rom, *.usa, *.jap, *.pal, *.bin)\0*.?64;*.zip;*.7z;*.bin;*.rom;*.usa;*.jap;*.pal\0All files (*.*)\0*.*\0";
openfilename.lpstrFile = FileName;
openfilename.lpstrInitialDir = Directory;
openfilename.nMaxFile = MAX_PATH;
openfilename.Flags = OFN_FILEMUSTEXIST | OFN_HIDEREADONLY;
if (GetOpenFileName(&openfilename))
{
EditBox.SetChanged(true);
EditBox.SetWindowText(FileName);
SendMessage(GetParent(), PSM_CHANGED, (WPARAM)m_hWnd, 0);
}
}

View File

@ -20,9 +20,11 @@ class CAdvancedOptionsPage :
COMMAND_ID_HANDLER_EX(IDC_ZIP,CheckBoxChanged)
COMMAND_ID_HANDLER_EX(IDC_DEBUGGER,CheckBoxChanged)
COMMAND_ID_HANDLER_EX(IDC_REMEMBER_CHEAT,CheckBoxChanged)
COMMAND_ID_HANDLER_EX(IDC_CHECK_RUNNING, CheckBoxChanged)
COMMAND_ID_HANDLER_EX(IDC_UNIQUE_SAVE_DIR, CheckBoxChanged)
COMMAND_ID_HANDLER_EX(IDC_DISPLAY_FRAMERATE, CheckBoxChanged)
COMMAND_ID_HANDLER_EX(IDC_CHECK_RUNNING, CheckBoxChanged)
COMMAND_ID_HANDLER_EX(IDC_UNIQUE_SAVE_DIR, CheckBoxChanged)
COMMAND_ID_HANDLER_EX(IDC_DISPLAY_FRAMERATE, CheckBoxChanged)
COMMAND_ID_HANDLER_EX(IDC_SELECT_IPL_DIR, SelectIplDir)
COMMAND_HANDLER_EX(IDC_IPL_DIR, EN_UPDATE, IplDirChanged)
COMMAND_HANDLER_EX(IDC_FRAME_DISPLAY_TYPE,LBN_SELCHANGE,ComboBoxChanged)
END_MSG_MAP()
@ -40,4 +42,11 @@ public:
void ResetPage ( void );
private:
void SelectIplDir(UINT Code, int id, HWND ctl);
void IplDirChanged(UINT Code, int id, HWND ctl);
void UpdatePageSettings(void);
void SelectFile(LanguageStringID Title, CModifiedEditBox & EditBox);
CModifiedEditBox m_IplDir;
bool m_InUpdateSettings;
};

View File

@ -42,8 +42,6 @@ m_SettingsConfig(SettingsConfig)
TxtBox = AddModTextBox(GetDlgItem(IDC_REMEMBERDIR), Directory_RecentGameDirCount, false);
TxtBox->SetTextField(GetDlgItem(IDC_MAXROMDIR_TXT));
m_IplDir.Attach(GetDlgItem(IDC_IPL_DIR));
UpdatePageSettings();
}
@ -59,16 +57,6 @@ void CGeneralOptionsPage::ShowPage()
void CGeneralOptionsPage::ApplySettings(bool UpdateScreen)
{
if (m_IplDir.IsChanged())
{
stdstr file = m_IplDir.GetWindowText();
g_Settings->SaveString(File_DiskIPLPath, file.c_str());
}
if (m_IplDir.IsReset())
{
g_Settings->DeleteSetting(File_DiskIPLPath);
}
CSettingsPageImpl<CGeneralOptionsPage>::ApplySettings(UpdateScreen);
}
@ -89,52 +77,3 @@ void CGeneralOptionsPage::OnBasicMode(UINT Code, int id, HWND ctl)
CheckBoxChanged(Code, id, ctl);
m_SettingsConfig->UpdateAdvanced((int)::SendMessage(ctl, BM_GETCHECK, 0, 0) == 0);
}
void CGeneralOptionsPage::SelectIplDir(UINT /*Code*/, int /*id*/, HWND /*ctl*/)
{
SelectFile(DIR_SELECT_PLUGIN, m_IplDir);
}
void CGeneralOptionsPage::IplDirChanged(UINT /*Code*/, int /*id*/, HWND /*ctl*/)
{
if (m_InUpdateSettings) { return; }
m_IplDir.SetChanged(true);
SendMessage(GetParent(), PSM_CHANGED, (WPARAM)m_hWnd, 0);
}
void CGeneralOptionsPage::UpdatePageSettings(void)
{
m_InUpdateSettings = true;
CSettingsPageImpl<CGeneralOptionsPage>::UpdatePageSettings();
stdstr File;
g_Settings->LoadStringVal(File_DiskIPLPath, File);
m_IplDir.SetWindowText(File.c_str());
m_InUpdateSettings = false;
}
void CGeneralOptionsPage::SelectFile(LanguageStringID Title, CModifiedEditBox & EditBox)
{
// Open DDROM
OPENFILENAME openfilename;
char FileName[_MAX_PATH], Directory[_MAX_PATH];
memset(&FileName, 0, sizeof(FileName));
memset(&openfilename, 0, sizeof(openfilename));
strcpy(Directory, g_Settings->LoadStringVal(RomList_GameDir).c_str());
openfilename.lStructSize = sizeof(openfilename);
openfilename.hwndOwner = m_hWnd;
openfilename.lpstrFilter = "64DD IPL ROM Image (*.zip, *.7z, *.?64, *.rom, *.usa, *.jap, *.pal, *.bin)\0*.?64;*.zip;*.7z;*.bin;*.rom;*.usa;*.jap;*.pal\0All files (*.*)\0*.*\0";
openfilename.lpstrFile = FileName;
openfilename.lpstrInitialDir = Directory;
openfilename.nMaxFile = MAX_PATH;
openfilename.Flags = OFN_FILEMUSTEXIST | OFN_HIDEREADONLY;
if (GetOpenFileName(&openfilename))
{
EditBox.SetChanged(true);
EditBox.SetWindowText(FileName);
SendMessage(GetParent(), PSM_CHANGED, (WPARAM)m_hWnd, 0);
}
}

View File

@ -20,8 +20,6 @@ class CGeneralOptionsPage :
COMMAND_ID_HANDLER_EX(IDC_LOAD_FULLSCREEN,CheckBoxChanged)
COMMAND_ID_HANDLER_EX(IDC_SCREEN_SAVER,CheckBoxChanged)
COMMAND_ID_HANDLER_EX(IDC_BASIC_MODE,OnBasicMode)
COMMAND_ID_HANDLER_EX(IDC_SELECT_IPL_DIR, SelectIplDir)
COMMAND_HANDLER_EX(IDC_IPL_DIR, EN_UPDATE, IplDirChanged)
COMMAND_HANDLER_EX(IDC_REMEMBER,EN_UPDATE,EditBoxChanged)
COMMAND_HANDLER_EX(IDC_REMEMBERDIR,EN_UPDATE,EditBoxChanged)
END_MSG_MAP()
@ -40,12 +38,5 @@ public:
private:
void OnBasicMode ( UINT Code, int id, HWND ctl );
void SelectIplDir( UINT Code, int id, HWND ctl );
void IplDirChanged( UINT Code, int id, HWND ctl );
void UpdatePageSettings( void );
void SelectFile( LanguageStringID Title, CModifiedEditBox & EditBox );
CSettingConfig * m_SettingsConfig;
CModifiedEditBox m_IplDir;
bool m_InUpdateSettings;
};

View File

@ -159,10 +159,6 @@ BEGIN
EDITTEXT IDC_REMEMBERDIR,148,94,26,12,ES_AUTOHSCROLL | ES_NUMBER
LTEXT "dirs",IDC_ROMSEL_TEXT4,178,98,34,10
CONTROL "",IDC_STATIC,"Static",SS_BLACKFRAME | SS_SUNKEN,4,73,208,1
CONTROL "",IDC_STATIC,"Static",SS_BLACKFRAME | SS_SUNKEN,4,112,208,1
EDITTEXT IDC_IPL_DIR,4,130,184,12,ES_AUTOHSCROLL
PUSHBUTTON "...",IDC_SELECT_IPL_DIR,194,130,14,12
LTEXT "64DD IPL ROM Path:",IDC_IPLDIR_TXT,6,120,145,10
END
IDD_Rom_Information DIALOGEX 0, 0, 239, 207
@ -339,6 +335,9 @@ BEGIN
CONTROL "Frame rate display",IDC_DISPLAY_FRAMERATE,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,8,98,86,10
COMBOBOX IDC_FRAME_DISPLAY_TYPE,101,97,99,57,CBS_DROPDOWNLIST | CBS_SORT | WS_VSCROLL | WS_TABSTOP
CONTROL "Unique Game Save Directory",IDC_UNIQUE_SAVE_DIR,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,8,83,189,10
EDITTEXT IDC_IPL_DIR,4,125,184,12,ES_AUTOHSCROLL
PUSHBUTTON "...",IDC_SELECT_IPL_DIR,194,125,14,12
LTEXT "64DD IPL ROM Path:",IDC_IPLDIR_TXT,6,115,145,10
END
IDD_Settings_ShellInt DIALOGEX 0, 0, 231, 206