00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026 #include "stdafx.h"
00027 #include "mplayerc.h"
00028 #include "MainFrm.h"
00029 #include "PPagePlayer.h"
00030
00031
00032
00033 IMPLEMENT_DYNAMIC(CPPagePlayer, CPPageBase)
00034 CPPagePlayer::CPPagePlayer()
00035 : CPPageBase(CPPagePlayer::IDD, CPPagePlayer::IDD)
00036 , m_iAllowMultipleInst(0)
00037 , m_iAlwaysOnTop(FALSE)
00038 , m_fTrayIcon(FALSE)
00039 , m_iShowBarsWhenFullScreen(FALSE)
00040 , m_nShowBarsWhenFullScreenTimeOut(0)
00041 , m_iTitleBarTextStyle(0)
00042 , m_fExitFullScreenAtTheEnd(FALSE)
00043 , m_fRememberWindowPos(FALSE)
00044 , m_fRememberWindowSize(FALSE)
00045 , m_fUseIni(FALSE)
00046 , m_fKeepHistory(FALSE)
00047 , m_fHideCDROMsSubMenu(FALSE)
00048 , m_priority(FALSE)
00049 , m_launchfullscreen(FALSE)
00050 {
00051 }
00052
00053 CPPagePlayer::~CPPagePlayer()
00054 {
00055 }
00056
00057 void CPPagePlayer::DoDataExchange(CDataExchange* pDX)
00058 {
00059 __super::DoDataExchange(pDX);
00060 DDX_Radio(pDX, IDC_RADIO1, m_iAllowMultipleInst);
00061 DDX_Radio(pDX, IDC_RADIO3, m_iTitleBarTextStyle);
00062 DDX_Check(pDX, IDC_CHECK2, m_iAlwaysOnTop);
00063 DDX_Check(pDX, IDC_CHECK3, m_fTrayIcon);
00064 DDX_Check(pDX, IDC_CHECK4, m_iShowBarsWhenFullScreen);
00065 DDX_Text(pDX, IDC_EDIT1, m_nShowBarsWhenFullScreenTimeOut);
00066 DDX_Check(pDX, IDC_CHECK5, m_fExitFullScreenAtTheEnd);
00067 DDX_Check(pDX, IDC_CHECK6, m_fRememberWindowPos);
00068 DDX_Check(pDX, IDC_CHECK7, m_fRememberWindowSize);
00069 DDX_Check(pDX, IDC_CHECK8, m_fUseIni);
00070 DDX_Control(pDX, IDC_SPIN1, m_nTimeOutCtrl);
00071 DDX_Check(pDX, IDC_CHECK1, m_fKeepHistory);
00072 DDX_Check(pDX, IDC_CHECK10, m_fHideCDROMsSubMenu);
00073 DDX_Check(pDX, IDC_CHECK9, m_priority);
00074 DDX_Check(pDX, IDC_CHECK11, m_launchfullscreen);
00075 }
00076
00077
00078 BEGIN_MESSAGE_MAP(CPPagePlayer, CPPageBase)
00079 ON_BN_CLICKED(IDC_CHECK8, OnBnClickedCheck8)
00080 ON_UPDATE_COMMAND_UI(IDC_SPIN1, OnUpdateTimeout)
00081 ON_UPDATE_COMMAND_UI(IDC_EDIT1, OnUpdateTimeout)
00082 ON_UPDATE_COMMAND_UI(IDC_STATIC1, OnUpdateTimeout)
00083 ON_UPDATE_COMMAND_UI(IDC_STATIC2, OnUpdateTimeout)
00084 END_MESSAGE_MAP()
00085
00086
00087
00088
00089 BOOL CPPagePlayer::OnInitDialog()
00090 {
00091 __super::OnInitDialog();
00092
00093 AppSettings& s = AfxGetAppSettings();
00094
00095 m_iAllowMultipleInst = s.fAllowMultipleInst;
00096 m_iTitleBarTextStyle = s.iTitleBarTextStyle;
00097 m_iAlwaysOnTop = s.iOnTop;
00098 m_fTrayIcon = s.fTrayIcon;
00099 m_iShowBarsWhenFullScreen = s.fShowBarsWhenFullScreen;
00100 m_nShowBarsWhenFullScreenTimeOut = s.nShowBarsWhenFullScreenTimeOut;
00101 m_nTimeOutCtrl.SetRange(-1, 10);
00102 m_fExitFullScreenAtTheEnd = s.fExitFullScreenAtTheEnd;
00103 m_fRememberWindowPos = s.fRememberWindowPos;
00104 m_fRememberWindowSize = s.fRememberWindowSize;
00105 m_fUseIni = ((CMPlayerCApp*)AfxGetApp())->IsIniValid();
00106 m_fKeepHistory = s.fKeepHistory;
00107 m_fHideCDROMsSubMenu = s.fHideCDROMsSubMenu;
00108 m_priority = s.priority != NORMAL_PRIORITY_CLASS;
00109 m_launchfullscreen = s.launchfullscreen;
00110
00111 UpdateData(FALSE);
00112
00113 return TRUE;
00114
00115 }
00116
00117 BOOL CPPagePlayer::OnApply()
00118 {
00119 UpdateData();
00120
00121 AppSettings& s = AfxGetAppSettings();
00122
00123 s.fAllowMultipleInst = !!m_iAllowMultipleInst;
00124 s.iTitleBarTextStyle = m_iTitleBarTextStyle;
00125 s.iOnTop = m_iAlwaysOnTop;
00126 s.fTrayIcon = !!m_fTrayIcon;
00127 s.fShowBarsWhenFullScreen = !!m_iShowBarsWhenFullScreen;
00128 s.nShowBarsWhenFullScreenTimeOut = m_nShowBarsWhenFullScreenTimeOut;
00129 s.fExitFullScreenAtTheEnd = !!m_fExitFullScreenAtTheEnd;
00130 s.fRememberWindowPos = !!m_fRememberWindowPos;
00131 s.fRememberWindowSize = !!m_fRememberWindowSize;
00132 s.fKeepHistory = !!m_fKeepHistory;
00133 s.fHideCDROMsSubMenu = !!m_fHideCDROMsSubMenu;
00134 s.priority = !m_priority ? NORMAL_PRIORITY_CLASS : GetVersion() < 0 ? HIGH_PRIORITY_CLASS : ABOVE_NORMAL_PRIORITY_CLASS;
00135 s.launchfullscreen = !!m_launchfullscreen;
00136
00137 if(!m_fKeepHistory)
00138 {
00139 for(int i = 0; i < s.MRU.GetSize(); i++) s.MRU.Remove(i);
00140 for(int i = 0; i < s.MRUDub.GetSize(); i++) s.MRUDub.Remove(i);
00141 s.MRU.WriteList();
00142 s.MRUDub.WriteList();
00143 }
00144
00145 ((CMainFrame*)AfxGetMainWnd())->ShowTrayIcon(s.fTrayIcon);
00146
00147 ::SetPriorityClass(::GetCurrentProcess(), s.priority);
00148
00149 return __super::OnApply();
00150 }
00151
00152 void CPPagePlayer::OnBnClickedCheck8()
00153 {
00154 UpdateData();
00155
00156 if(m_fUseIni) ((CMPlayerCApp*)AfxGetApp())->StoreSettingsToIni();
00157 else ((CMPlayerCApp*)AfxGetApp())->StoreSettingsToRegistry();
00158 }
00159
00160 void CPPagePlayer::OnUpdateTimeout(CCmdUI* pCmdUI)
00161 {
00162 UpdateData();
00163 pCmdUI->Enable(m_iShowBarsWhenFullScreen);
00164 }
00165