mirror of
https://github.com/gnif/LookingGlass.git
synced 2026-07-20 22:32:01 +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->clear();
|
||||||
m_modeBox->setSel(updateModeList(index));
|
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)
|
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();
|
updateModeList();
|
||||||
onModeListSelectChange();
|
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)
|
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();
|
m_modeBox->clear();
|
||||||
updateModeList();
|
updateModeList();
|
||||||
onModeListSelectChange();
|
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)
|
else if (m_defRefresh && hwnd == *m_defRefresh && code == EN_CHANGE && m_defaultRefresh)
|
||||||
{
|
{
|
||||||
int value;
|
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
value = m_defRefresh->getNumericValue();
|
m_defaultRefresh = m_defRefresh->getNumericValue();
|
||||||
}
|
}
|
||||||
catch (std::logic_error &)
|
catch (std::logic_error &)
|
||||||
{
|
{
|
||||||
return 0;
|
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)
|
else if (m_prefNoGPU && hwnd == *m_prefNoGPU && code == BN_CLICKED && m_noGPU)
|
||||||
{
|
{
|
||||||
DEBUG_INFO("GPU button clicked");
|
|
||||||
*m_noGPU ^= true;
|
*m_noGPU ^= true;
|
||||||
m_settings.setNoGPU(*m_noGPU);
|
m_settings.setNoGPU(*m_noGPU);
|
||||||
m_prefNoGPU->setChecked(*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;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user