void COptionPluginPage::UpdatePageSettings(void) { UpdateCheckBoxes(); for (ComboBoxList::iterator cb_iter = m_ComboBoxList.begin(); cb_iter != m_ComboBoxList.end(); cb_iter++) { CModifiedComboBox * ComboBox = cb_iter->second; stdstr SelectedValue; ComboBox->SetChanged(g_Settings->LoadStringVal(cb_iter->first, SelectedValue)); for (int i = 0, n = ComboBox->GetCount(); i < n; i++) { const CPluginList::PLUGIN ** PluginPtr = (const CPluginList::PLUGIN **)ComboBox->GetItemDataPtr(i); if (PluginPtr == NULL) { continue; } const CPluginList::PLUGIN * Plugin = *PluginPtr; if (Plugin == NULL) { continue; } if (_stricmp(SelectedValue.c_str(), Plugin->FileName.c_str()) != 0) { continue; } ComboBox->SetDefault((WPARAM)Plugin); } } PluginItemChanged(GFX_LIST, GFX_ABOUT, false); PluginItemChanged(AUDIO_LIST, AUDIO_ABOUT, false); PluginItemChanged(CONT_LIST, CONT_ABOUT, false); PluginItemChanged(RSP_LIST, RSP_ABOUT, false); }
void COptionPluginPage::AddPlugins(int ListId, SettingID Type, PLUGIN_TYPE PluginType) { stdstr Default = g_Settings->LoadStringVal(Type); CModifiedComboBox * ComboBox; ComboBox = AddModComboBox(GetDlgItem(ListId), Type); for (int i = 0, n = m_PluginList.GetPluginCount(); i < n; i++) { const CPluginList::PLUGIN * Plugin = m_PluginList.GetPluginInfo(i); if (Plugin == NULL) { continue; } if (Plugin->Info.Type != PluginType) { continue; } if (_stricmp(Default.c_str(), Plugin->FileName.c_str()) == 0) { ComboBox->SetDefault((WPARAM)Plugin); } ComboBox->AddItem(Plugin->Info.Name, (WPARAM)Plugin); } }