예제 #1
0
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
           );
        }
    }
}
예제 #2
0
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();
}
예제 #3
0
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);
    }
}