00001
00002
00003
00004
00005
00006 #include "stdafx.h"
00007 #include "FdmApp.h"
00008 #include "Prg_GeneralPage_FWDlg.h"
00009 #include "MainFrm.h"
00010
00011 #ifdef _DEBUG
00012 #define new DEBUG_NEW
00013 #undef THIS_FILE
00014 static char THIS_FILE[] = __FILE__;
00015 #endif
00016
00017 CPrg_GeneralPage_FWDlg::CPrg_GeneralPage_FWDlg(CWnd* pParent )
00018 : CDialog(CPrg_GeneralPage_FWDlg::IDD, pParent)
00019 {
00020
00021
00022
00023 }
00024
00025 void CPrg_GeneralPage_FWDlg::DoDataExchange(CDataExchange* pDX)
00026 {
00027 CDialog::DoDataExchange(pDX);
00028
00029 DDX_Control(pDX, IDC_TRANCPARENCY2, m_wndBlend2);
00030 DDX_Control(pDX, IDC_TRANCPARENCY1, m_wndBlend1);
00031
00032 }
00033
00034 BEGIN_MESSAGE_MAP(CPrg_GeneralPage_FWDlg, CDialog)
00035
00036 ON_BN_CLICKED(IDC_DROPBOX, OnDropbox)
00037 ON_BN_CLICKED(IDC_DLINFO, OnDlinfo)
00038 ON_NOTIFY(NM_CUSTOMDRAW, IDC_TRANCPARENCY1, OnCustomdrawTrancparency1)
00039 ON_NOTIFY(NM_CUSTOMDRAW, IDC_TRANCPARENCY2, OnCustomdrawTrancparency2)
00040
00041 END_MESSAGE_MAP()
00042
00043 BOOL CPrg_GeneralPage_FWDlg::OnInitDialog()
00044 {
00045 CDialog::OnInitDialog();
00046
00047 m_wndBlend1.SetRange (0, 255);
00048 m_wndBlend2.SetRange (0, 255);
00049
00050 m_blend1 = m_DropBoxTrancparency;
00051 m_blend2 = m_InfoWndTrancparency;
00052
00053 m_wndBlend1.SetPos (255 - m_DropBoxTrancparency);
00054 m_wndBlend2.SetPos (255 - m_InfoWndTrancparency);
00055 UpdateBlendsVals ();
00056
00057 CheckDlgButton (IDC_DROPBOX, m_bDropBox ? BST_CHECKED : BST_UNCHECKED);
00058 CheckDlgButton (IDC_DLINFO, m_bInfoWnd ? BST_CHECKED : BST_UNCHECKED);
00059
00060 CheckDlgButton (IDC_HIDEFWWFS, m_bHideInFs ? BST_CHECKED : BST_UNCHECKED);
00061
00062 ApplyLanguage ();
00063 UpdateEnabled ();
00064
00065 return TRUE;
00066 }
00067
00068 void CPrg_GeneralPage_FWDlg::OnOK()
00069 {
00070 m_bHideInFs = IsDlgButtonChecked (IDC_HIDEFWWFS) == BST_CHECKED;
00071
00072 m_bDropBox = IsDlgButtonChecked (IDC_DROPBOX) == BST_CHECKED;
00073 m_bInfoWnd = IsDlgButtonChecked (IDC_DLINFO) == BST_CHECKED;
00074
00075 if (m_bDropBox)
00076 m_DropBoxTrancparency = (BYTE) (255 - m_wndBlend1.GetPos ());
00077 if (m_bInfoWnd)
00078 m_InfoWndTrancparency = (BYTE) (255 - m_wndBlend2.GetPos ());
00079
00080 CDialog::OnOK();
00081 }
00082
00083 void CPrg_GeneralPage_FWDlg::ApplyLanguage()
00084 {
00085 fsDlgLngInfo lnginfo [] = {
00086 fsDlgLngInfo (IDC_HIDEFWWFS, L_FLTWNDSHIDEINFSMODE),
00087 fsDlgLngInfo (IDC_DROPBOX, L_DROPBOX),
00088 fsDlgLngInfo (IDC_DLINFO, L_SHOWDLDSINFOWHILEDOWNLOADING),
00089 fsDlgLngInfo (IDC__TRANCPARENCY1, L_TRANCPARENCY, TRUE),
00090 fsDlgLngInfo (IDC__TRANCPARENCY2, L_TRANCPARENCY, TRUE),
00091 fsDlgLngInfo (IDCANCEL, L_CANCEL),
00092 };
00093
00094 _LngMgr.ApplyLanguage (this, lnginfo, sizeof (lnginfo) / sizeof (fsDlgLngInfo), L_ADJUST_FW);
00095 }
00096
00097 void CPrg_GeneralPage_FWDlg::UpdateEnabled()
00098 {
00099 BOOL b = IsDlgButtonChecked (IDC_DROPBOX) == BST_CHECKED;
00100 if (b)
00101 b = fsSysGetOsMajorVersion () >= 5;
00102 GetDlgItem (IDC__TRANCPARENCY1)->EnableWindow (b);
00103 GetDlgItem (IDC_TRANCPARENCY1)->EnableWindow (b);
00104 GetDlgItem (IDC__TRANCPARENCY1_VAL)->EnableWindow (b);
00105
00106 BOOL b1 = IsDlgButtonChecked (IDC_DLINFO) == BST_CHECKED;
00107 if (b1)
00108 b1 = fsSysGetOsMajorVersion () >= 5;
00109 GetDlgItem (IDC__TRANCPARENCY2)->EnableWindow (b1);
00110 GetDlgItem (IDC_TRANCPARENCY2)->EnableWindow (b1);
00111 GetDlgItem (IDC__TRANCPARENCY2_VAL)->EnableWindow (b1);
00112
00113 GetDlgItem (IDC_HIDEFWWFS)->EnableWindow (b || b1);
00114 }
00115
00116 void CPrg_GeneralPage_FWDlg::OnDropbox()
00117 {
00118 UpdateEnabled ();
00119 }
00120
00121 void CPrg_GeneralPage_FWDlg::OnDlinfo()
00122 {
00123 UpdateEnabled ();
00124 }
00125
00126 void CPrg_GeneralPage_FWDlg::UpdateBlendsVals()
00127 {
00128 CString str; str.Format ("%d%%", m_wndBlend1.GetPos () * 100 / 255);
00129 CString str2; GetDlgItemText (IDC__TRANCPARENCY1_VAL, str2);
00130 if (str != str2)
00131 SetDlgItemText (IDC__TRANCPARENCY1_VAL, str);
00132
00133 str.Format ("%d%%", m_wndBlend2.GetPos () * 100 / 255);
00134 GetDlgItemText (IDC__TRANCPARENCY2_VAL, str2);
00135 if (str != str2)
00136 SetDlgItemText (IDC__TRANCPARENCY2_VAL, str);
00137 }
00138
00139 void CPrg_GeneralPage_FWDlg::OnCustomdrawTrancparency1(NMHDR* pNMHDR, LRESULT* pResult)
00140 {
00141 UpdateBlendsVals ();
00142
00143 CMainFrame *pFrame = (CMainFrame*) AfxGetApp ()->m_pMainWnd;
00144 pFrame->m_pFloatWndsThread->m_wndFloating.SetBlend ((BYTE)(255 - m_wndBlend1.GetPos ()));
00145
00146 *pResult = 0;
00147 }
00148
00149 void CPrg_GeneralPage_FWDlg::OnCustomdrawTrancparency2(NMHDR* pNMHDR, LRESULT* pResult)
00150 {
00151 UpdateBlendsVals ();
00152
00153 CMainFrame *pFrame = (CMainFrame*) AfxGetApp ()->m_pMainWnd;
00154 pFrame->m_pFloatWndsThread->m_wndFloatingInfo.SetBlend ((BYTE)(255 - m_wndBlend2.GetPos ()));
00155
00156 *pResult = 0;
00157 }
00158
00159 void CPrg_GeneralPage_FWDlg::OnCancel()
00160 {
00161 CMainFrame *pFrame = (CMainFrame*) AfxGetApp ()->m_pMainWnd;
00162 pFrame->m_pFloatWndsThread->m_wndFloating.SetBlend (m_blend1);
00163 pFrame->m_pFloatWndsThread->m_wndFloatingInfo.SetBlend (m_blend2);
00164
00165 CDialog::OnCancel();
00166 }