Merge branch 'sys-theme-fixes'
Fix disabling system theme for wxMSW wxListCtrl. See https://github.com/wxWidgets/wxWidgets/pull/1332
This commit is contained in:
@@ -21,7 +21,21 @@ class WXDLLIMPEXP_FWD_CORE wxWindow;
|
||||
class WXDLLIMPEXP_CORE wxSystemThemedControlBase
|
||||
{
|
||||
public:
|
||||
wxSystemThemedControlBase() { }
|
||||
wxSystemThemedControlBase()
|
||||
{
|
||||
#ifdef wxHAS_SYSTEM_THEMED_CONTROL
|
||||
m_systemThemeDisabled = false;
|
||||
#endif // wxHAS_SYSTEM_THEMED_CONTROL
|
||||
}
|
||||
|
||||
bool IsSystemThemeDisabled() const
|
||||
{
|
||||
#ifdef wxHAS_SYSTEM_THEMED_CONTROL
|
||||
return m_systemThemeDisabled;
|
||||
#else // !wxHAS_SYSTEM_THEMED_CONTROL
|
||||
return false;
|
||||
#endif // wxHAS_SYSTEM_THEMED_CONTROL/!wxHAS_SYSTEM_THEMED_CONTROL
|
||||
}
|
||||
|
||||
virtual ~wxSystemThemedControlBase() { }
|
||||
|
||||
@@ -36,6 +50,11 @@ protected:
|
||||
(bool WXUNUSED(enable), wxWindow* WXUNUSED(window)) { }
|
||||
#endif // wxHAS_SYSTEM_THEMED_CONTROL
|
||||
|
||||
private:
|
||||
#ifdef wxHAS_SYSTEM_THEMED_CONTROL
|
||||
bool m_systemThemeDisabled;
|
||||
#endif // wxHAS_SYSTEM_THEMED_CONTROL
|
||||
|
||||
wxDECLARE_NO_COPY_CLASS(wxSystemThemedControlBase);
|
||||
};
|
||||
|
||||
@@ -54,6 +73,14 @@ public:
|
||||
}
|
||||
|
||||
protected:
|
||||
void EnableSystemThemeByDefault()
|
||||
{
|
||||
// Check if the system theme hadn't been explicitly disabled before
|
||||
// enabling it by default.
|
||||
if ( !this->IsSystemThemeDisabled() )
|
||||
DoEnableSystemTheme(true, this);
|
||||
}
|
||||
|
||||
wxDECLARE_NO_COPY_TEMPLATE_CLASS(wxSystemThemedControl, C);
|
||||
};
|
||||
|
||||
|
Reference in New Issue
Block a user