void COptionsDirectoriesPage::UseSelectedClicked(UINT /*Code*/, int id, HWND /*ctl*/) { CModifiedButton * Button = NULL; switch (id) { case IDC_PLUGIN_DEFAULT: Button = &m_PluginDefault; break; case IDC_PLUGIN_OTHER: Button = &m_PluginDefault; break; case IDC_AUTO_DEFAULT: Button = &m_AutoSaveDefault; break; case IDC_AUTO_OTHER: Button = &m_AutoSaveDefault; break; case IDC_INSTANT_DEFAULT: Button = &m_InstantDefault; break; case IDC_INSTANT_OTHER: Button = &m_InstantDefault; break; case IDC_SNAP_DEFAULT: Button = &m_ScreenShotDefault; break; case IDC_SNAP_OTHER: Button = &m_ScreenShotDefault; break; case IDC_TEXTURE_DEFAULT: Button = &m_TextureDefault; break; case IDC_TEXTURE_OTHER: Button = &m_TextureDefault; break; } if (Button == NULL) { return; } if (!Button->IsChanged() || Button->IsReset()) { if ((int)Button->GetMenu() == id) { return; } } Button->SetChanged(true); SendMessage(GetParent(), PSM_CHANGED, (WPARAM)m_hWnd, 0); }
void COptionsDirectoriesPage::SelectDirectory(LanguageStringID Title, CModifiedEditBox & EditBox, CModifiedButton & Default, CModifiedButton & selected) { wchar_t Buffer[MAX_PATH], Directory[MAX_PATH]; LPITEMIDLIST pidl; BROWSEINFOW bi; stdstr InitialDir = EditBox.GetWindowText(); bi.hwndOwner = m_hWnd; bi.pidlRoot = NULL; bi.pszDisplayName = Buffer; bi.lpszTitle = GS(Title); bi.ulFlags = BIF_RETURNFSANCESTORS | BIF_RETURNONLYFSDIRS; bi.lpfn = (BFFCALLBACK)SelectDirCallBack; bi.lParam = (DWORD)InitialDir.c_str(); if ((pidl = SHBrowseForFolderW(&bi)) != NULL) { if (SHGetPathFromIDListW(pidl, Directory)) { stdstr path; CPath SelectedDir(path.FromUTF16(Directory), ""); EditBox.SetChanged(true); EditBox.SetWindowText(SelectedDir); Default.SetChanged(true); Default.SetCheck(BST_UNCHECKED); selected.SetCheck(BM_SETCHECK); SendMessage(GetParent(), PSM_CHANGED, (WPARAM)m_hWnd, 0); } } }
void COptionPluginPage::HleAudioChanged(UINT /*Code*/, int id, HWND /*ctl*/) { for (ButtonList::iterator iter = m_ButtonList.begin(); iter != m_ButtonList.end(); iter++) { CModifiedButton * Button = iter->second; if ((int)Button->GetMenu() != id) { continue; } if ((Button->GetCheck() & BST_CHECKED) != 0) { int res = MessageBoxW(m_hWnd, wGS(MSG_SET_HLE_AUD_MSG).c_str(), wGS(MSG_SET_HLE_AUD_TITLE).c_str(), MB_ICONWARNING | MB_YESNO); if (res != IDYES) { Button->SetCheck(BST_UNCHECKED); return; } } Button->SetChanged(true); SendMessage(GetParent(), PSM_CHANGED, (WPARAM)m_hWnd, 0); break; } }