📄 pagesettingsnetworks.cpp
字号:
//
// PageSettingsNetworks.cpp
//
// Copyright (c) Shareaza Development Team, 2002-2004.
// This file is part of SHAREAZA (www.shareaza.com)
//
// Shareaza is free software; you can redistribute it
// and/or modify it under the terms of the GNU General Public License
// as published by the Free Software Foundation; either version 2 of
// the License, or (at your option) any later version.
//
// Shareaza is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
//
// You should have received a copy of the GNU General Public License
// along with Shareaza; if not, write to the Free Software
// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
//
#include "StdAfx.h"
#include "Shareaza.h"
#include "Settings.h"
#include "WndSettingsSheet.h"
#include "PageSettingsNetworks.h"
#include "PageSettingsGnutella.h"
#include "PageSettingsDonkey.h"
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif
IMPLEMENT_DYNCREATE(CNetworksSettingsPage, CSettingsPage)
BEGIN_MESSAGE_MAP(CNetworksSettingsPage, CSettingsPage)
//{{AFX_MSG_MAP(CNetworksSettingsPage)
ON_BN_CLICKED(IDC_G2_ENABLE, OnG2Enable)
ON_BN_CLICKED(IDC_G1_ENABLE, OnG1Enable)
ON_BN_CLICKED(IDC_ED2K_ENABLE, OnEd2kEnable)
ON_WM_CTLCOLOR()
ON_WM_SETCURSOR()
ON_WM_LBUTTONUP()
//}}AFX_MSG_MAP
END_MESSAGE_MAP()
/////////////////////////////////////////////////////////////////////////////
// CNetworksSettingsPage property page
CNetworksSettingsPage::CNetworksSettingsPage() : CSettingsPage( CNetworksSettingsPage::IDD )
{
//{{AFX_DATA_INIT(CNetworksSettingsPage)
m_bG2Enable = FALSE;
m_bG1Enable = FALSE;
m_bEDEnable = FALSE;
//}}AFX_DATA_INIT
}
CNetworksSettingsPage::~CNetworksSettingsPage()
{
}
void CNetworksSettingsPage::DoDataExchange(CDataExchange* pDX)
{
CSettingsPage::DoDataExchange(pDX);
//{{AFX_DATA_MAP(CNetworksSettingsPage)
DDX_Control(pDX, IDC_ED2K_SETUP, m_wndEDSetup);
DDX_Control(pDX, IDC_G1_SETUP, m_wndG1Setup);
DDX_Control(pDX, IDC_G2_SETUP, m_wndG2Setup);
DDX_Check(pDX, IDC_G2_ENABLE, m_bG2Enable);
DDX_Check(pDX, IDC_G1_ENABLE, m_bG1Enable);
DDX_Check(pDX, IDC_ED2K_ENABLE, m_bEDEnable);
//}}AFX_DATA_MAP
}
/////////////////////////////////////////////////////////////////////////////
// CNetworksSettingsPage message handlers
BOOL CNetworksSettingsPage::OnInitDialog()
{
CSettingsPage::OnInitDialog();
m_bG2Enable = Settings.Gnutella2.EnableToday;
m_bG1Enable = Settings.Gnutella1.EnableToday;
m_bEDEnable = Settings.eDonkey.EnableToday;
UpdateData( FALSE );
// m_wndG2Setup.EnableWindow( m_bG2Enable );
// m_wndG1Setup.EnableWindow( m_bG1Enable );
// m_wndEDSetup.EnableWindow( m_bEDEnable );
return TRUE;
}
HBRUSH CNetworksSettingsPage::OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor)
{
HBRUSH hbr = CSettingsPage::OnCtlColor(pDC, pWnd, nCtlColor);
if ( pWnd == &m_wndG2Setup || pWnd == &m_wndG1Setup || pWnd == &m_wndEDSetup )
{
if ( pWnd->IsWindowEnabled() )
{
pDC->SetTextColor( RGB( 0, 0, 255 ) );
pDC->SelectObject( &theApp.m_gdiFontLine );
}
}
return hbr;
}
BOOL CNetworksSettingsPage::OnSetCursor(CWnd* pWnd, UINT nHitTest, UINT message)
{
CWnd* pLinks[] = { &m_wndG2Setup, &m_wndG1Setup, &m_wndEDSetup, NULL };
CPoint point;
CRect rc;
GetCursorPos( &point );
for ( int nLink = 0 ; pLinks[ nLink ] ; nLink++ )
{
pLinks[ nLink ]->GetWindowRect( &rc );
if ( pLinks[ nLink ]->IsWindowEnabled() && rc.PtInRect( point ) )
{
SetCursor( theApp.LoadCursor( IDC_HAND ) );
return TRUE;
}
}
return CSettingsPage::OnSetCursor( pWnd, nHitTest, message );
}
void CNetworksSettingsPage::OnLButtonUp(UINT nFlags, CPoint point)
{
CRect rc;
ClientToScreen( &point );
m_wndG2Setup.GetWindowRect( &rc );
if ( m_wndG2Setup.IsWindowEnabled() && rc.PtInRect( point ) )
{
GetSheet()->SetActivePage( GetSheet()->GetPage( RUNTIME_CLASS(CGnutellaSettingsPage) ) );
}
m_wndG1Setup.GetWindowRect( &rc );
if ( m_wndG1Setup.IsWindowEnabled() && rc.PtInRect( point ) )
{
GetSheet()->SetActivePage( GetSheet()->GetPage( RUNTIME_CLASS(CGnutellaSettingsPage) ) );
}
m_wndEDSetup.GetWindowRect( &rc );
if ( m_wndEDSetup.IsWindowEnabled() && rc.PtInRect( point ) )
{
GetSheet()->SetActivePage( GetSheet()->GetPage( RUNTIME_CLASS(CDonkeySettingsPage) ) );
}
CSettingsPage::OnLButtonUp( nFlags, point );
}
BOOL CNetworksSettingsPage::OnSetActive()
{
CGnutellaSettingsPage* ppGnutella =
(CGnutellaSettingsPage*)GetPage( RUNTIME_CLASS(CGnutellaSettingsPage) );
if ( ppGnutella->GetSafeHwnd() != NULL )
{
ppGnutella->UpdateData();
m_bG2Enable = ppGnutella->m_bG2Today;
m_bG1Enable = ppGnutella->m_bG1Today;
}
CDonkeySettingsPage* ppDonkey =
(CDonkeySettingsPage*)GetPage( RUNTIME_CLASS(CDonkeySettingsPage) );
if ( ppDonkey->GetSafeHwnd() != NULL )
{
ppDonkey->UpdateData();
m_bEDEnable = ppDonkey->m_bEnableToday;
}
UpdateData( FALSE );
// m_wndG2Setup.EnableWindow( m_bG2Enable );
// m_wndG1Setup.EnableWindow( m_bG1Enable );
// m_wndEDSetup.EnableWindow( m_bEDEnable );
return CSettingsPage::OnSetActive();
}
void CNetworksSettingsPage::OnG2Enable()
{
UpdateData();
if ( ! m_bG2Enable )
{
CString strMessage;
LoadString( strMessage, IDS_NETWORK_DISABLE_G2 );
if ( AfxMessageBox( strMessage, MB_ICONEXCLAMATION|MB_YESNO|MB_DEFBUTTON2 ) != IDYES )
{
m_bG2Enable = TRUE;
UpdateData( FALSE );
}
}
CGnutellaSettingsPage* ppGnutella =
(CGnutellaSettingsPage*)GetPage( RUNTIME_CLASS(CGnutellaSettingsPage) );
if ( ppGnutella->GetSafeHwnd() != NULL )
{
ppGnutella->UpdateData( TRUE );
ppGnutella->m_bG2Today = m_bG2Enable;
ppGnutella->UpdateData( FALSE );
}
// m_wndG2Setup.EnableWindow( m_bG2Enable );
}
void CNetworksSettingsPage::OnG1Enable()
{
UpdateData();
CGnutellaSettingsPage* ppGnutella =
(CGnutellaSettingsPage*)GetPage( RUNTIME_CLASS(CGnutellaSettingsPage) );
if ( ppGnutella->GetSafeHwnd() != NULL )
{
ppGnutella->UpdateData( TRUE );
ppGnutella->m_bG1Today = m_bG1Enable;
ppGnutella->UpdateData( FALSE );
}
// m_wndG1Setup.EnableWindow( m_bG1Enable );
}
void CNetworksSettingsPage::OnEd2kEnable()
{
UpdateData();
CDonkeySettingsPage* ppDonkey =
(CDonkeySettingsPage*)GetPage( RUNTIME_CLASS(CDonkeySettingsPage) );
if ( ppDonkey->GetSafeHwnd() != NULL )
{
ppDonkey->UpdateData( TRUE );
ppDonkey->m_bEnableToday = m_bEDEnable;
ppDonkey->UpdateData( FALSE );
}
// m_wndEDSetup.EnableWindow( m_bEDEnable );
}
void CNetworksSettingsPage::OnOK()
{
UpdateData( TRUE );
Settings.Gnutella2.EnableToday = m_bG2Enable;
Settings.Gnutella1.EnableToday = m_bG1Enable;
Settings.eDonkey.EnableToday = m_bEDEnable;
CSettingsPage::OnOK();
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -