void ThemeEditorDialog::OnBnClickedButtonSave() { CString filter = _T("musikCube Theme Files (*.ini)|*.ini||"); FileDialog sfdlg( FALSE, _T("ini"), NULL, OFN_EXPLORER | OFN_OVERWRITEPROMPT, filter ); if (sfdlg.DoModal() == IDOK) { CIniFile iniFile(musik::Core::utf16to8(sfdlg.GetFileName().GetBuffer(), false)); iniFile.SetValue( "Theme", "Active Caption", COLORREFToString(Globals::Preferences->MUSIK_COLOR_ACTIVECAPTION)); iniFile.SetValue( "Theme", "Active Caption Text", COLORREFToString(Globals::Preferences->MUSIK_COLOR_CAPTIONTEXT)); iniFile.SetValue( "Theme", "Inactive Caption", COLORREFToString(Globals::Preferences->MUSIK_COLOR_INACTIVECAPTION)); iniFile.SetValue( "Theme", "Inactive Caption Text", COLORREFToString(Globals::Preferences->MUSIK_COLOR_INACTIVECAPTIONTEXT)); iniFile.SetValue( "Theme", "Button Face", COLORREFToString(Globals::Preferences->MUSIK_COLOR_BTNFACE)); iniFile.SetValue( "Theme", "Button Text", COLORREFToString(Globals::Preferences->MUSIK_COLOR_BTNTEXT)); iniFile.SetValue( "Theme", "Button Hilight", COLORREFToString(Globals::Preferences->MUSIK_COLOR_BTNHILIGHT)); iniFile.SetValue( "Theme", "Button Shadow", COLORREFToString(Globals::Preferences->MUSIK_COLOR_BTNSHADOW)); iniFile.SetValue( "Theme", "List", COLORREFToString(Globals::Preferences->MUSIK_COLOR_LISTCTRL)); iniFile.SetValue( "Theme", "List Text", COLORREFToString(Globals::Preferences->MUSIK_COLOR_LISTCTRLTEXT)); iniFile.SetValue( "Theme", "Highlight", COLORREFToString(Globals::Preferences->MUSIK_COLOR_HIGHLIGHT)); iniFile.SetValue( "Theme", "Highlight Text", COLORREFToString(Globals::Preferences->MUSIK_COLOR_HIGHLIGHTTEXT)); iniFile.SetValue( "Theme", "Use Light Icons", BoolToString(Globals::Preferences->UseLightIconTheme())); if (!iniFile.WriteFile()) { MessageBox( _T("Failed to write theme file to disk. Invalid access rights?"), _T("musikCube"), MB_OK | MB_ICONERROR ); } } }
void CMusikPrefs::SavePrefs() { UnparseColors(); // main dialog config->SetValue( "Dialog", "Dialog Size", CSizeToString( m_Dlg_Size ) ); config->SetValue( "Dialog", "Dialog Position", CPointToString( m_Dlg_Pos ) ); config->SetValue( "Dialog", "Maximized", BoolToString( m_Dlg_Maximized ) ); config->SetValue( "Dialog", "Reset UI", BoolToString( m_Dlg_ResetUI ) ); // selection area config->SetValue( "Selection Area", "Count", IntToString( (int)m_SelectionBox_Count ) ); // playlist config->SetValue( "Playlist", "Column Order", CIntArrayToString( m_Playlist_Order ) ); config->SetValue( "Playlist", "Column Sizes", CIntArrayToString( m_Playlist_Sizes ) ); // now playing config->SetValue( "Now Playing", "Caption Font Size", IntToString( m_NowPlaying_CaptionFont ) ); // player config->SetValue( "Player", "Driver", IntToString( m_Player_Driver ) ); config->SetValue( "Player", "Device", IntToString( m_Player_Device ) ); config->SetValue( "Player", "Rate", IntToString( m_Player_Rate ) ); config->SetValue( "Player", "Maximum Channels", IntToString( m_Player_Max_Channels ) ); // crossfader config->SetValue( "Crossfader", "Enabled", BoolToString( m_Crossfader_Enabled ) ); config->SetValue( "Crossfader", "Set Name", m_Crossfader_Current ); config->SetValue( "Crossfader", "Values", CrossfaderToString( m_Crossfader_Default ) ); // dialog colors config->SetValue( "Dialog Colors", "Active Caption", COLORREFToString( MUSIK_COLOR_ACTIVECAPTION ) ); config->SetValue( "Dialog Colors", "Active Caption Text", COLORREFToString( MUSIK_COLOR_CAPTIONTEXT ) ); config->SetValue( "Dialog Colors", "Inactive Caption", COLORREFToString( MUSIK_COLOR_INACTIVECAPTION ) ); config->SetValue( "Dialog Colors", "Inactive Caption Text", COLORREFToString( MUSIK_COLOR_INACTIVECAPTIONTEXT ) ); config->SetValue( "Dialog Colors", "Button Face", COLORREFToString( MUSIK_COLOR_BTNFACE ) ); config->SetValue( "Dialog Colors", "Button Text", COLORREFToString( MUSIK_COLOR_BTNTEXT ) ); config->SetValue( "Dialog Colors", "Button Highlight", COLORREFToString( MUSIK_COLOR_BTNHILIGHT ) ); config->SetValue( "Dialog Colors", "Button Shadow", COLORREFToString( MUSIK_COLOR_BTNSHADOW ) ); config->SetValue( "Dialog Colors", "List Background", COLORREFToString( MUSIK_COLOR_LISTCTRL ) ); config->SetValue( "Dialog Colors", "List Text", COLORREFToString( MUSIK_COLOR_LISTCTRLTEXT ) ); config->SetValue( "Dialog Colors", "Color Highlight", COLORREFToString( MUSIK_COLOR_HIGHLIGHT ) ); config->SetValue( "Dialog Colors", "Color Highlight Text", COLORREFToString( MUSIK_COLOR_HIGHLIGHTTEXT ) ); // write to ini file config->WriteFile(); }
void ThemeEditorDialog::OnBnClickedButtonLoad() { CString filter = _T("musikCube Theme Files (*.ini)|*.ini||"); FileDialog ofdlg( TRUE, _T("ini"), NULL, OFN_EXPLORER | OFN_FILEMUSTEXIST, filter ); if (ofdlg.DoModal() == IDOK) { std::string fn = musik::Core::utf16to8(ofdlg.GetFileName().GetBuffer(), false); CIniFile iniFile(fn); if (!iniFile.ReadFile()) { MessageBox( _T("Failed to read theme file from disk. Invalid access rights?"), _T("musikCube"), MB_OK | MB_ICONERROR ); return; } Globals::Preferences->MUSIK_COLOR_ACTIVECAPTION = StringToCOLORREF(iniFile.GetValue("Theme", "Active Caption", COLORREFToString(AUTOMATIC_COLOR))); Globals::Preferences->MUSIK_COLOR_CAPTIONTEXT = StringToCOLORREF(iniFile.GetValue("Theme", "Active Caption Text", COLORREFToString(AUTOMATIC_COLOR))); Globals::Preferences->MUSIK_COLOR_INACTIVECAPTION = StringToCOLORREF(iniFile.GetValue("Theme", "Inactive Caption", COLORREFToString(AUTOMATIC_COLOR))); Globals::Preferences->MUSIK_COLOR_INACTIVECAPTIONTEXT = StringToCOLORREF(iniFile.GetValue("Theme", "Inactive Caption Text", COLORREFToString(AUTOMATIC_COLOR))); Globals::Preferences->MUSIK_COLOR_BTNFACE = StringToCOLORREF(iniFile.GetValue("Theme", "Button Face", COLORREFToString(AUTOMATIC_COLOR))); Globals::Preferences->MUSIK_COLOR_BTNTEXT = StringToCOLORREF(iniFile.GetValue("Theme", "Button Text", COLORREFToString(AUTOMATIC_COLOR))); Globals::Preferences->MUSIK_COLOR_BTNHILIGHT = StringToCOLORREF(iniFile.GetValue("Theme", "Button Hilight", COLORREFToString(AUTOMATIC_COLOR))); Globals::Preferences->MUSIK_COLOR_BTNSHADOW = StringToCOLORREF(iniFile.GetValue("Theme", "Button Shadow", COLORREFToString(AUTOMATIC_COLOR))); Globals::Preferences->MUSIK_COLOR_LISTCTRL = StringToCOLORREF(iniFile.GetValue("Theme", "List", COLORREFToString(AUTOMATIC_COLOR))); Globals::Preferences->MUSIK_COLOR_LISTCTRLTEXT = StringToCOLORREF(iniFile.GetValue("Theme", "List Text", COLORREFToString(AUTOMATIC_COLOR))); Globals::Preferences->MUSIK_COLOR_HIGHLIGHT = StringToCOLORREF(iniFile.GetValue("Theme", "Highlight", COLORREFToString(AUTOMATIC_COLOR))); Globals::Preferences->MUSIK_COLOR_HIGHLIGHTTEXT = StringToCOLORREF(iniFile.GetValue("Theme", "Highlight Text", COLORREFToString(AUTOMATIC_COLOR))); Globals::Preferences->SetUseLightIconTheme( StringToBool(iniFile.GetValue("Theme", "Use Light Icons", BoolToString(false)))); this->ReloadColors(); AfxGetApp()->GetMainWnd()->SendMessage(WM_SYSCOLORCHANGE); } }