void SyntaxHighlightDlg::SaveChanges() { int max = m_lexersBook->GetPageCount(); for (int i=0; i<max; i++) { wxWindow *win = m_lexersBook->GetPage((size_t)i); LexerPage *page = dynamic_cast<LexerPage*>( win ); if ( page ) { page->SaveSettings(); } } // Save all lexers once EditorConfigST::Get()->SaveLexers(); wxString oldFg = EditorConfigST::Get()->GetCurrentOutputviewFgColour(); wxString oldBg = EditorConfigST::Get()->GetCurrentOutputviewBgColour(); wxString newFg = m_colourPickerOutputPanesFgColour->GetColour().GetAsString(wxC2S_HTML_SYNTAX); EditorConfigST::Get()->SetCurrentOutputviewFgColour(newFg); wxString newBg = m_colourPickerOutputPanesBgColour->GetColour().GetAsString(wxC2S_HTML_SYNTAX); EditorConfigST::Get()->SetCurrentOutputviewBgColour(newBg); // Check for conditions for sending the THEME_CHANGED event wxString curSelTheme = m_themes->GetStringSelection().IsEmpty() ? wxT("Default") : m_themes->GetStringSelection(); if ( (oldBg != newBg) || (oldFg != newFg) || (m_startingTheme != curSelTheme) ) { wxCommandEvent evtThemeChanged(wxEVT_CL_THEME_CHANGED); EventNotifier::Get()->AddPendingEvent(evtThemeChanged); } }
void ColoursAndFontsManager::SaveGlobalSettings() { // save the global settings JSONRoot root(cJSON_Object); root.toElement().addProperty("m_globalBgColour", m_globalBgColour).addProperty("m_globalFgColour", m_globalFgColour); wxFileName fnSettings = GetConfigFile(); root.save(fnSettings.GetFullPath()); wxCommandEvent evtThemeChanged(wxEVT_CL_THEME_CHANGED); EventNotifier::Get()->AddPendingEvent(evtThemeChanged); }