mirror of
https://github.com/Open-Shell/Open-Shell-Menu.git
synced 2026-04-20 10:44:37 +10:00
Auto-detect when setting is back to default value
Intercepts *most* instances of FLAG_DEFAULT getting set, including when XML files are loaded and when Open-Shell starts, adding if-statements to those spots to check if a new value is actually different from the setting's default value. Ensures more consistency behind the scenes and gets rid of inaccurate bold highlights.
This commit is contained in:
committed by
Ibuprophen
parent
0cb43dd17c
commit
998d83c15c
@@ -793,6 +793,9 @@ CString CSettingsManager::LoadSettingsXml( const wchar_t *fname )
|
|||||||
}
|
}
|
||||||
string.push_back(0);
|
string.push_back(0);
|
||||||
pSetting->value=CComVariant(&string[0]);
|
pSetting->value=CComVariant(&string[0]);
|
||||||
|
if (pSetting->value==pSetting->defValue)
|
||||||
|
pSetting->flags|=CSetting::FLAG_DEFAULT;
|
||||||
|
else
|
||||||
pSetting->flags&=~CSetting::FLAG_DEFAULT;
|
pSetting->flags&=~CSetting::FLAG_DEFAULT;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
@@ -806,6 +809,9 @@ CString CSettingsManager::LoadSettingsXml( const wchar_t *fname )
|
|||||||
if (pSetting->type>=CSetting::TYPE_STRING)
|
if (pSetting->type>=CSetting::TYPE_STRING)
|
||||||
{
|
{
|
||||||
pSetting->value=value;
|
pSetting->value=value;
|
||||||
|
if (pSetting->value==pSetting->defValue)
|
||||||
|
pSetting->flags|=CSetting::FLAG_DEFAULT;
|
||||||
|
else
|
||||||
pSetting->flags&=~CSetting::FLAG_DEFAULT;
|
pSetting->flags&=~CSetting::FLAG_DEFAULT;
|
||||||
}
|
}
|
||||||
else if (pSetting->type==CSetting::TYPE_BOOL || (pSetting->type==CSetting::TYPE_INT && pSetting[1].type!=CSetting::TYPE_RADIO) || pSetting->type==CSetting::TYPE_HOTKEY || pSetting->type==CSetting::TYPE_HOTKEY_ANY || pSetting->type==CSetting::TYPE_COLOR)
|
else if (pSetting->type==CSetting::TYPE_BOOL || (pSetting->type==CSetting::TYPE_INT && pSetting[1].type!=CSetting::TYPE_RADIO) || pSetting->type==CSetting::TYPE_HOTKEY || pSetting->type==CSetting::TYPE_HOTKEY_ANY || pSetting->type==CSetting::TYPE_COLOR)
|
||||||
@@ -815,6 +821,9 @@ CString CSettingsManager::LoadSettingsXml( const wchar_t *fname )
|
|||||||
pSetting->value=CComVariant(val?1:0);
|
pSetting->value=CComVariant(val?1:0);
|
||||||
else
|
else
|
||||||
pSetting->value=CComVariant(val);
|
pSetting->value=CComVariant(val);
|
||||||
|
if (pSetting->value==pSetting->defValue)
|
||||||
|
pSetting->flags|=CSetting::FLAG_DEFAULT;
|
||||||
|
else
|
||||||
pSetting->flags&=~CSetting::FLAG_DEFAULT;
|
pSetting->flags&=~CSetting::FLAG_DEFAULT;
|
||||||
}
|
}
|
||||||
else if (pSetting->type==CSetting::TYPE_INT && pSetting[1].type==CSetting::TYPE_RADIO)
|
else if (pSetting->type==CSetting::TYPE_INT && pSetting[1].type==CSetting::TYPE_RADIO)
|
||||||
@@ -825,6 +834,9 @@ CString CSettingsManager::LoadSettingsXml( const wchar_t *fname )
|
|||||||
if (_wcsicmp(pRadio->name,value.bstrVal)==0)
|
if (_wcsicmp(pRadio->name,value.bstrVal)==0)
|
||||||
{
|
{
|
||||||
pSetting->value=CComVariant(val);
|
pSetting->value=CComVariant(val);
|
||||||
|
if (pSetting->value==pSetting->defValue)
|
||||||
|
pSetting->flags|=CSetting::FLAG_DEFAULT;
|
||||||
|
else
|
||||||
pSetting->flags&=~CSetting::FLAG_DEFAULT;
|
pSetting->flags&=~CSetting::FLAG_DEFAULT;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1822,6 +1822,9 @@ void CCustomTreeDlg::SerializeData( void )
|
|||||||
if ((m_pSetting->flags&CSetting::FLAG_DEFAULT) || wcscmp(strNew,strOld)!=0)
|
if ((m_pSetting->flags&CSetting::FLAG_DEFAULT) || wcscmp(strNew,strOld)!=0)
|
||||||
SetSettingsDirty();
|
SetSettingsDirty();
|
||||||
m_pSetting->value=CComVariant(strNew);
|
m_pSetting->value=CComVariant(strNew);
|
||||||
|
if (m_pSetting->value==m_pSetting->defValue)
|
||||||
|
m_pSetting->flags|=CSetting::FLAG_DEFAULT;
|
||||||
|
else
|
||||||
m_pSetting->flags&=~CSetting::FLAG_DEFAULT;
|
m_pSetting->flags&=~CSetting::FLAG_DEFAULT;
|
||||||
ItemsChanged();
|
ItemsChanged();
|
||||||
}
|
}
|
||||||
@@ -2778,6 +2781,9 @@ void CTreeSettingsDlg::ToggleItem( HTREEITEM hItem, bool bDefault )
|
|||||||
{
|
{
|
||||||
CSettingsLockWrite lock;
|
CSettingsLockWrite lock;
|
||||||
pSetting->value=CComVariant(state?0:1);
|
pSetting->value=CComVariant(state?0:1);
|
||||||
|
if (pSetting->value==pSetting->defValue)
|
||||||
|
pSetting->flags|=CSetting::FLAG_DEFAULT;
|
||||||
|
else
|
||||||
pSetting->flags&=~CSetting::FLAG_DEFAULT;
|
pSetting->flags&=~CSetting::FLAG_DEFAULT;
|
||||||
SetSettingsDirty();
|
SetSettingsDirty();
|
||||||
}
|
}
|
||||||
@@ -2802,6 +2808,9 @@ void CTreeSettingsDlg::ToggleItem( HTREEITEM hItem, bool bDefault )
|
|||||||
{
|
{
|
||||||
CSettingsLockWrite lock;
|
CSettingsLockWrite lock;
|
||||||
pTarget->value=CComVariant(val);
|
pTarget->value=CComVariant(val);
|
||||||
|
if (pTarget->value==pTarget->defValue)
|
||||||
|
pTarget->flags|=CSetting::FLAG_DEFAULT;
|
||||||
|
else
|
||||||
pTarget->flags&=~CSetting::FLAG_DEFAULT;
|
pTarget->flags&=~CSetting::FLAG_DEFAULT;
|
||||||
SetSettingsDirty();
|
SetSettingsDirty();
|
||||||
}
|
}
|
||||||
@@ -3013,6 +3022,9 @@ void CTreeSettingsDlg::ApplyEditBox( void )
|
|||||||
if (pSetting->value.vt!=VT_I4 || pSetting->value.intVal!=val)
|
if (pSetting->value.vt!=VT_I4 || pSetting->value.intVal!=val)
|
||||||
{
|
{
|
||||||
pSetting->value=CComVariant(val);
|
pSetting->value=CComVariant(val);
|
||||||
|
if (pSetting->value==pSetting->defValue)
|
||||||
|
pSetting->flags|=CSetting::FLAG_DEFAULT;
|
||||||
|
else
|
||||||
pSetting->flags&=~CSetting::FLAG_DEFAULT;
|
pSetting->flags&=~CSetting::FLAG_DEFAULT;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -3023,6 +3035,9 @@ void CTreeSettingsDlg::ApplyEditBox( void )
|
|||||||
if (pSetting->value.vt!=VT_I4 || pSetting->value.intVal!=val)
|
if (pSetting->value.vt!=VT_I4 || pSetting->value.intVal!=val)
|
||||||
{
|
{
|
||||||
pSetting->value=CComVariant(val);
|
pSetting->value=CComVariant(val);
|
||||||
|
if (pSetting->value==pSetting->defValue)
|
||||||
|
pSetting->flags|=CSetting::FLAG_DEFAULT;
|
||||||
|
else
|
||||||
pSetting->flags&=~CSetting::FLAG_DEFAULT;
|
pSetting->flags&=~CSetting::FLAG_DEFAULT;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -3031,6 +3046,9 @@ void CTreeSettingsDlg::ApplyEditBox( void )
|
|||||||
if (pSetting->value.vt!=VT_I4 || pSetting->value.intVal!=g_HotKey)
|
if (pSetting->value.vt!=VT_I4 || pSetting->value.intVal!=g_HotKey)
|
||||||
{
|
{
|
||||||
pSetting->value=CComVariant(g_HotKey);
|
pSetting->value=CComVariant(g_HotKey);
|
||||||
|
if (pSetting->value==pSetting->defValue)
|
||||||
|
pSetting->flags|=CSetting::FLAG_DEFAULT;
|
||||||
|
else
|
||||||
pSetting->flags&=~CSetting::FLAG_DEFAULT;
|
pSetting->flags&=~CSetting::FLAG_DEFAULT;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -3039,6 +3057,9 @@ void CTreeSettingsDlg::ApplyEditBox( void )
|
|||||||
if (pSetting->value.vt!=VT_BSTR || str!=pSetting->value.bstrVal)
|
if (pSetting->value.vt!=VT_BSTR || str!=pSetting->value.bstrVal)
|
||||||
{
|
{
|
||||||
pSetting->value=CComVariant(str);
|
pSetting->value=CComVariant(str);
|
||||||
|
if (pSetting->value==pSetting->defValue)
|
||||||
|
pSetting->flags|=CSetting::FLAG_DEFAULT;
|
||||||
|
else
|
||||||
pSetting->flags&=~CSetting::FLAG_DEFAULT;
|
pSetting->flags&=~CSetting::FLAG_DEFAULT;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -3616,6 +3616,9 @@ void CCustomMenuDlg7::SerializeData( void )
|
|||||||
stringBuilder.push_back(0);
|
stringBuilder.push_back(0);
|
||||||
CSettingsLockWrite lock;
|
CSettingsLockWrite lock;
|
||||||
m_pSetting->value=CComVariant(&stringBuilder[0]);
|
m_pSetting->value=CComVariant(&stringBuilder[0]);
|
||||||
|
if (m_pSetting->value==m_pSetting->defValue)
|
||||||
|
m_pSetting->flags|=CSetting::FLAG_DEFAULT;
|
||||||
|
else
|
||||||
m_pSetting->flags&=~CSetting::FLAG_DEFAULT;
|
m_pSetting->flags&=~CSetting::FLAG_DEFAULT;
|
||||||
SetSettingsDirty();
|
SetSettingsDirty();
|
||||||
}
|
}
|
||||||
@@ -3843,6 +3846,9 @@ LRESULT CMenuStyleDlg::OnClick( WORD wNotifyCode, WORD wID, HWND hWndCtl, BOOL&
|
|||||||
CheckDlgButton(IDC_RADIO_CLASSIC,pSetting->value.intVal==MENU_CLASSIC1?BST_CHECKED:BST_UNCHECKED);
|
CheckDlgButton(IDC_RADIO_CLASSIC,pSetting->value.intVal==MENU_CLASSIC1?BST_CHECKED:BST_UNCHECKED);
|
||||||
CheckDlgButton(IDC_RADIO_TWO_COLUMNS,pSetting->value.intVal==MENU_CLASSIC2?BST_CHECKED:BST_UNCHECKED);
|
CheckDlgButton(IDC_RADIO_TWO_COLUMNS,pSetting->value.intVal==MENU_CLASSIC2?BST_CHECKED:BST_UNCHECKED);
|
||||||
CheckDlgButton(IDC_RADIO_WIN7,pSetting->value.intVal==MENU_WIN7?BST_CHECKED:BST_UNCHECKED);
|
CheckDlgButton(IDC_RADIO_WIN7,pSetting->value.intVal==MENU_WIN7?BST_CHECKED:BST_UNCHECKED);
|
||||||
|
if (pSetting->value==pSetting->defValue)
|
||||||
|
pSetting->flags|=CSetting::FLAG_DEFAULT;
|
||||||
|
else
|
||||||
pSetting->flags&=~CSetting::FLAG_DEFAULT;
|
pSetting->flags&=~CSetting::FLAG_DEFAULT;
|
||||||
SetSettingsDirty();
|
SetSettingsDirty();
|
||||||
|
|
||||||
@@ -3861,6 +3867,9 @@ LRESULT CMenuStyleDlg::OnEnabled( WORD wNotifyCode, WORD wID, HWND hWndCtl, BOOL
|
|||||||
CSettingsLockWrite lock;
|
CSettingsLockWrite lock;
|
||||||
CSetting *pSetting=FindSetting(L"EnableStartButton");
|
CSetting *pSetting=FindSetting(L"EnableStartButton");
|
||||||
pSetting->value=CComVariant(bEnabled);
|
pSetting->value=CComVariant(bEnabled);
|
||||||
|
if (pSetting->value==pSetting->defValue)
|
||||||
|
pSetting->flags|=CSetting::FLAG_DEFAULT;
|
||||||
|
else
|
||||||
pSetting->flags&=~CSetting::FLAG_DEFAULT;
|
pSetting->flags&=~CSetting::FLAG_DEFAULT;
|
||||||
SetSettingsDirty();
|
SetSettingsDirty();
|
||||||
}
|
}
|
||||||
@@ -3900,6 +3909,9 @@ LRESULT CMenuStyleDlg::OnButtonStyle( WORD wNotifyCode, WORD wID, HWND hWndCtl,
|
|||||||
CSettingsLockWrite lock;
|
CSettingsLockWrite lock;
|
||||||
CSetting *pSetting=FindSetting(L"StartButtonType");
|
CSetting *pSetting=FindSetting(L"StartButtonType");
|
||||||
pSetting->value=CComVariant(style);
|
pSetting->value=CComVariant(style);
|
||||||
|
if (pSetting->value==pSetting->defValue)
|
||||||
|
pSetting->flags|=CSetting::FLAG_DEFAULT;
|
||||||
|
else
|
||||||
pSetting->flags&=~CSetting::FLAG_DEFAULT;
|
pSetting->flags&=~CSetting::FLAG_DEFAULT;
|
||||||
SetSettingsDirty();
|
SetSettingsDirty();
|
||||||
}
|
}
|
||||||
@@ -3924,6 +3936,9 @@ LRESULT CMenuStyleDlg::OnPick( WORD wNotifyCode, WORD wID, HWND hWndCtl, BOOL& b
|
|||||||
CSettingsLockWrite lock;
|
CSettingsLockWrite lock;
|
||||||
CSetting *pSetting=FindSetting(L"StartButtonPath");
|
CSetting *pSetting=FindSetting(L"StartButtonPath");
|
||||||
pSetting->value=CComVariant(path);
|
pSetting->value=CComVariant(path);
|
||||||
|
if (pSetting->value==pSetting->defValue)
|
||||||
|
pSetting->flags|=CSetting::FLAG_DEFAULT;
|
||||||
|
else
|
||||||
pSetting->flags&=~CSetting::FLAG_DEFAULT;
|
pSetting->flags&=~CSetting::FLAG_DEFAULT;
|
||||||
SetSettingsDirty();
|
SetSettingsDirty();
|
||||||
}
|
}
|
||||||
@@ -4545,6 +4560,9 @@ void UpgradeSettings( bool bShared )
|
|||||||
items.Replace(L"Command=recent_items\n",L"Command=recent_programs\n");
|
items.Replace(L"Command=recent_items\n",L"Command=recent_programs\n");
|
||||||
items.Replace(L"Command=control_panel_categories\n",L"Command=control_panel\n");
|
items.Replace(L"Command=control_panel_categories\n",L"Command=control_panel\n");
|
||||||
pSettingItems->value=items;
|
pSettingItems->value=items;
|
||||||
|
if (pSettingItems->value==pSettingItems->defValue)
|
||||||
|
pSettingItems->flags|=CSetting::FLAG_DEFAULT;
|
||||||
|
else
|
||||||
pSettingItems->flags&=~CSetting::FLAG_DEFAULT;
|
pSettingItems->flags&=~CSetting::FLAG_DEFAULT;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -4553,6 +4571,9 @@ void UpgradeSettings( bool bShared )
|
|||||||
if (!pSettingStyle->IsLocked())
|
if (!pSettingStyle->IsLocked())
|
||||||
{
|
{
|
||||||
pSettingStyle->value=(bTwoColumns?1:0);
|
pSettingStyle->value=(bTwoColumns?1:0);
|
||||||
|
if (pSettingStyle->value==pSettingStyle->defValue)
|
||||||
|
pSettingStyle->flags|=CSetting::FLAG_DEFAULT;
|
||||||
|
else
|
||||||
pSettingStyle->flags&=~CSetting::FLAG_DEFAULT;
|
pSettingStyle->flags&=~CSetting::FLAG_DEFAULT;
|
||||||
SetSettingsStyle(bTwoColumns?CSetting::FLAG_MENU_CLASSIC2:CSetting::FLAG_MENU_CLASSIC1,CSetting::FLAG_MENU_MASK);
|
SetSettingsStyle(bTwoColumns?CSetting::FLAG_MENU_CLASSIC2:CSetting::FLAG_MENU_CLASSIC1,CSetting::FLAG_MENU_MASK);
|
||||||
}
|
}
|
||||||
@@ -4565,6 +4586,9 @@ void UpgradeSettings( bool bShared )
|
|||||||
if (!pSetting->IsDefault())
|
if (!pSetting->IsDefault())
|
||||||
{
|
{
|
||||||
pSettingSkin->value=pSetting->value;
|
pSettingSkin->value=pSetting->value;
|
||||||
|
if (pSettingSkin->value==pSettingSkin->defValue)
|
||||||
|
pSettingSkin->flags|=CSetting::FLAG_DEFAULT;
|
||||||
|
else
|
||||||
pSettingSkin->flags&=~CSetting::FLAG_DEFAULT;
|
pSettingSkin->flags&=~CSetting::FLAG_DEFAULT;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -4575,6 +4599,9 @@ void UpgradeSettings( bool bShared )
|
|||||||
if (!pSetting->IsDefault())
|
if (!pSetting->IsDefault())
|
||||||
{
|
{
|
||||||
pSettingOpt->value=pSetting->value;
|
pSettingOpt->value=pSetting->value;
|
||||||
|
if (pSettingOpt->value==pSettingOpt->defValue)
|
||||||
|
pSettingOpt->flags|=CSetting::FLAG_DEFAULT;
|
||||||
|
else
|
||||||
pSettingOpt->flags&=~CSetting::FLAG_DEFAULT;
|
pSettingOpt->flags&=~CSetting::FLAG_DEFAULT;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -4585,6 +4612,9 @@ void UpgradeSettings( bool bShared )
|
|||||||
if (!pSetting->IsDefault())
|
if (!pSetting->IsDefault())
|
||||||
{
|
{
|
||||||
pSettingVar->value=pSetting->value;
|
pSettingVar->value=pSetting->value;
|
||||||
|
if (pSettingVar->value==pSettingVar->defValue)
|
||||||
|
pSettingVar->flags|=CSetting::FLAG_DEFAULT;
|
||||||
|
else
|
||||||
pSettingVar->flags&=~CSetting::FLAG_DEFAULT;
|
pSettingVar->flags&=~CSetting::FLAG_DEFAULT;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -4597,6 +4627,9 @@ void UpgradeSettings( bool bShared )
|
|||||||
if (!pSetting->IsDefault())
|
if (!pSetting->IsDefault())
|
||||||
{
|
{
|
||||||
pSettingSkin->value=pSetting->value;
|
pSettingSkin->value=pSetting->value;
|
||||||
|
if (pSettingSkin->value==pSettingSkin->defValue)
|
||||||
|
pSettingSkin->flags|=CSetting::FLAG_DEFAULT;
|
||||||
|
else
|
||||||
pSettingSkin->flags&=~CSetting::FLAG_DEFAULT;
|
pSettingSkin->flags&=~CSetting::FLAG_DEFAULT;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -4607,6 +4640,9 @@ void UpgradeSettings( bool bShared )
|
|||||||
if (!pSetting->IsDefault())
|
if (!pSetting->IsDefault())
|
||||||
{
|
{
|
||||||
pSettingOpt->value=pSetting->value;
|
pSettingOpt->value=pSetting->value;
|
||||||
|
if (pSettingOpt->value==pSettingOpt->defValue)
|
||||||
|
pSettingOpt->flags|=CSetting::FLAG_DEFAULT;
|
||||||
|
else
|
||||||
pSettingOpt->flags&=~CSetting::FLAG_DEFAULT;
|
pSettingOpt->flags&=~CSetting::FLAG_DEFAULT;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -4617,6 +4653,9 @@ void UpgradeSettings( bool bShared )
|
|||||||
if (!pSetting->IsDefault())
|
if (!pSetting->IsDefault())
|
||||||
{
|
{
|
||||||
pSettingVar->value=pSetting->value;
|
pSettingVar->value=pSetting->value;
|
||||||
|
if (pSettingVar->value==pSettingVar->defValue)
|
||||||
|
pSettingVar->flags|=CSetting::FLAG_DEFAULT;
|
||||||
|
else
|
||||||
pSettingVar->flags&=~CSetting::FLAG_DEFAULT;
|
pSettingVar->flags&=~CSetting::FLAG_DEFAULT;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user