bool CPanelPreferences::SaveSkinSettings() { CSkinManager* pSkinManager = wxGetApp().GetSkinManager(); wxASSERT(pSkinManager); wxASSERT(wxDynamicCast(pSkinManager, CSkinManager)); pSkinManager->ReloadSkin(m_strSkinSelector); return true; }
void CSimpleFrame::OnSelectDefaultSkin( wxCommandEvent& WXUNUSED(event) ) { CSkinManager* pSkinManager = wxGetApp().GetSkinManager(); wxASSERT(pSkinManager); wxASSERT(wxDynamicCast(pSkinManager, CSkinManager)); // The "Default" skin menu item is localized, but // the name of the default skin is not localized pSkinManager->ReloadSkin(pSkinManager->GetDefaultSkinName()); }
void CSimpleFrame::OnSelectSkin( wxCommandEvent& event ){ CSkinManager *pSkinManager = wxGetApp().GetSkinManager(); wxMenuItem *oldItem, *selectedItem; wxMenuBar *pMenuBar = GetMenuBar(); int newSkinId = event.GetId(); int oldSkinID; wxASSERT(pSkinManager); wxASSERT(wxDynamicCast(pSkinManager, CSkinManager)); selectedItem = pMenuBar->FindItem(newSkinId); if (!selectedItem) return; wxString oldSkinName = pSkinManager->GetSelectedSkin(); wxString newSkinName = selectedItem->GetItemLabelText(); if (newSkinName == oldSkinName) return; if (oldSkinName == pSkinManager->GetDefaultSkinName()) { // The "Default" skin menu item is localized, but // the name of the default skin is not localized oldSkinID = ID_SGDEFAULTSKINSELECTOR; } else { oldSkinID = m_pSubmenuSkins->FindItem(oldSkinName); } oldItem = m_pSubmenuSkins->FindItem(oldSkinID); if (oldItem) { oldItem->Check(false); } selectedItem->Check(true); pSkinManager->ReloadSkin(newSkinName); wxGetApp().SaveState(); wxConfigBase::Get(FALSE)->Flush(); }