mirror of
https://github.com/gnif/LookingGlass.git
synced 2026-07-20 14:22:00 +00:00
[idd] helper: implement deferred mode save and revert
This commit is contained in:
@@ -290,12 +290,6 @@ LRESULT CConfigWindow::onCommand(WORD id, WORD code, HWND hwnd)
|
||||
|
||||
m_modeBox->clear();
|
||||
m_modeBox->setSel(updateModeList(index));
|
||||
|
||||
LRESULT result = m_settings.setModes(*m_modes);
|
||||
if (result == ERROR_SUCCESS)
|
||||
sendSettingChange();
|
||||
else
|
||||
DEBUG_ERROR_HR((HRESULT) result, "Failed to save modes");
|
||||
}
|
||||
else if (m_modeDelete && hwnd == *m_modeDelete && code == BN_CLICKED && m_modes)
|
||||
{
|
||||
@@ -309,12 +303,6 @@ LRESULT CConfigWindow::onCommand(WORD id, WORD code, HWND hwnd)
|
||||
|
||||
updateModeList();
|
||||
onModeListSelectChange();
|
||||
|
||||
LRESULT result = m_settings.setModes(*m_modes);
|
||||
if (result == ERROR_SUCCESS)
|
||||
sendSettingChange();
|
||||
else
|
||||
DEBUG_ERROR_HR((HRESULT) result, "Failed to save modes");
|
||||
}
|
||||
else if (m_modeReset && hwnd == *m_modeReset && code == BN_CLICKED && m_modes)
|
||||
{
|
||||
@@ -322,39 +310,64 @@ LRESULT CConfigWindow::onCommand(WORD id, WORD code, HWND hwnd)
|
||||
m_modeBox->clear();
|
||||
updateModeList();
|
||||
onModeListSelectChange();
|
||||
|
||||
LRESULT result = m_settings.setModes(*m_modes);
|
||||
if (result == ERROR_SUCCESS)
|
||||
sendSettingChange();
|
||||
else
|
||||
DEBUG_ERROR_HR((HRESULT)result, "Failed to save modes");
|
||||
}
|
||||
else if (m_defRefresh && hwnd == *m_defRefresh && code == EN_CHANGE && m_defaultRefresh)
|
||||
{
|
||||
int value;
|
||||
try
|
||||
{
|
||||
value = m_defRefresh->getNumericValue();
|
||||
m_defaultRefresh = m_defRefresh->getNumericValue();
|
||||
}
|
||||
catch (std::logic_error &)
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
|
||||
m_defaultRefresh = value;
|
||||
|
||||
LRESULT result = m_settings.setDefaultRefresh(value);
|
||||
if (result == ERROR_SUCCESS)
|
||||
sendSettingChange();
|
||||
else
|
||||
DEBUG_ERROR_HR((HRESULT)result, "Failed to default refresh");
|
||||
}
|
||||
else if (m_prefNoGPU && hwnd == *m_prefNoGPU && code == BN_CLICKED && m_noGPU)
|
||||
{
|
||||
DEBUG_INFO("GPU button clicked");
|
||||
*m_noGPU ^= true;
|
||||
m_settings.setNoGPU(*m_noGPU);
|
||||
m_prefNoGPU->setChecked(*m_noGPU);
|
||||
}
|
||||
else if (m_modeSave && hwnd == *m_modeSave && code == BN_CLICKED)
|
||||
{
|
||||
bool updated = false;
|
||||
|
||||
if (m_modes)
|
||||
{
|
||||
LRESULT result = m_settings.setModes(*m_modes);
|
||||
if (result == ERROR_SUCCESS)
|
||||
updated = true;
|
||||
else
|
||||
DEBUG_ERROR_HR((HRESULT)result, "Failed to save modes");
|
||||
}
|
||||
|
||||
if (m_defaultRefresh)
|
||||
{
|
||||
LRESULT result = m_settings.setDefaultRefresh(*m_defaultRefresh);
|
||||
if (result == ERROR_SUCCESS)
|
||||
updated = true;
|
||||
else
|
||||
DEBUG_ERROR_HR((HRESULT)result, "Failed to default refresh");
|
||||
}
|
||||
|
||||
if (updated)
|
||||
sendSettingChange();
|
||||
}
|
||||
else if (m_modeRevert && hwnd == *m_modeRevert && code == BN_CLICKED)
|
||||
{
|
||||
m_modes = m_settings.getModes();
|
||||
m_defaultRefresh = m_settings.getDefaultRefresh();
|
||||
|
||||
if (m_modes)
|
||||
{
|
||||
m_modeBox->clear();
|
||||
updateModeList();
|
||||
}
|
||||
|
||||
if (m_defaultRefresh)
|
||||
m_defRefresh->setNumericValue(*m_defaultRefresh);
|
||||
else
|
||||
m_defRefresh->disable();
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user