void CDVSMainPPage::UpdateObjectData(bool fSave)
{
	if(fSave)
	{
		if(m_pDirectVobSub->put_FileName(m_fn) == S_OK)
		{
			int nLangs;
			m_pDirectVobSub->get_LanguageCount(&nLangs); 
			AllocLangs(nLangs);
			for(int i = 0; i < m_nLangs; i++) m_pDirectVobSub->get_LanguageName(i, &m_ppLangs[i]);
			m_pDirectVobSub->get_SelectedLanguage(&m_iSelectedLanguage);
		}

		m_pDirectVobSub->put_SelectedLanguage(m_iSelectedLanguage);
		m_pDirectVobSub->put_Placement(m_fOverridePlacement, m_PlacementXperc, m_PlacementYperc);
		m_pDirectVobSub->put_VobSubSettings(true, m_fOnlyShowForcedVobSubs, false);
		m_pDirectVobSub->put_TextSettings(&m_defStyle);
		m_pDirectVobSub->put_AspectRatioSettings(&m_ePARCompensationType);
        m_pDirectVobSubXy->XySetBool(DirectVobSubXyOptions::BOOL_HIDE_TRAY_ICON, m_fHideTrayIcon);
	}
	else
	{
		m_pDirectVobSub->get_FileName(m_fn);
		int nLangs;
		m_pDirectVobSub->get_LanguageCount(&nLangs); 
		AllocLangs(nLangs);
		for(int i = 0; i < m_nLangs; i++) m_pDirectVobSub->get_LanguageName(i, &m_ppLangs[i]);
		m_pDirectVobSub->get_SelectedLanguage(&m_iSelectedLanguage);
		m_pDirectVobSub->get_Placement(&m_fOverridePlacement, &m_PlacementXperc, &m_PlacementYperc);
		m_pDirectVobSub->get_VobSubSettings(NULL, &m_fOnlyShowForcedVobSubs, NULL);
		m_pDirectVobSub->get_TextSettings(&m_defStyle);
		m_pDirectVobSub->get_AspectRatioSettings(&m_ePARCompensationType);
        m_pDirectVobSubXy->XyGetBool(DirectVobSubXyOptions::BOOL_HIDE_TRAY_ICON, &m_fHideTrayIcon);
	}
}
Пример #2
0
void CDVSMainPPage::UpdateObjectData(bool fSave)
{
    if (fSave) {
        if (m_pDirectVobSub->put_FileName(m_fn) == S_OK) {
            int nLangs;
            m_pDirectVobSub->get_LanguageCount(&nLangs);
            AllocLangs(nLangs);
            for (int i = 0; i < m_nLangs; i++) {
                m_pDirectVobSub->get_LanguageName(i, &m_ppLangs[i]);
            }
            m_pDirectVobSub->get_SelectedLanguage(&m_iSelectedLanguage);
        }

        m_pDirectVobSub->put_SelectedLanguage(m_iSelectedLanguage);
        m_pDirectVobSub->put_Placement(m_fOverridePlacement, m_PlacementXperc, m_PlacementYperc);
        m_pDirectVobSub->put_VobSubSettings(true, m_fOnlyShowForcedVobSubs, false);
        m_pDirectVobSub->put_TextSettings(&m_defStyle);
        m_pDirectVobSub->put_AspectRatioSettings(&m_ePARCompensationType);
    } else {
        m_pDirectVobSub->get_FileName(m_fn);
        int nLangs;
        m_pDirectVobSub->get_LanguageCount(&nLangs);
        AllocLangs(nLangs);
        for (int i = 0; i < m_nLangs; i++) {
            m_pDirectVobSub->get_LanguageName(i, &m_ppLangs[i]);
        }
        m_pDirectVobSub->get_SelectedLanguage(&m_iSelectedLanguage);
        m_pDirectVobSub->get_Placement(&m_fOverridePlacement, &m_PlacementXperc, &m_PlacementYperc);
        m_pDirectVobSub->get_VobSubSettings(nullptr, &m_fOnlyShowForcedVobSubs, nullptr);
        m_pDirectVobSub->get_TextSettings(&m_defStyle);
        m_pDirectVobSub->get_AspectRatioSettings(&m_ePARCompensationType);
    }
}