⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 greenbrowseroptions.cpp

📁 用VC写的浏览器
💻 CPP
📖 第 1 页 / 共 4 页
字号:
// GreenBrowserOptions.cpp : implementation file
//

#include "stdafx.h"
#include "GreenBrowser.h"
#include "GreenBrowserOptions.h"
#include "MainFrm.h"
#include "InputDlg.h"

#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif

#define MAX_MOUSE_ACTION		6

extern BOOL	g_bRegisterHotKeyOk;

//#pragma optimize( "s", on )

/////////////////////////////////////////////////////////////////////////////
// CWindowProp property page

IMPLEMENT_DYNCREATE(CWindowProp, CSAPrefsSubDlg)

CWindowProp::CWindowProp() : CSAPrefsSubDlg(CWindowProp::IDD)
{
	//{{AFX_DATA_INIT(CWindowProp)
	m_bActiveNew = FALSE;
	m_nInterval = 0;
	m_nMaxWins = 0;
	m_bOpenFolderOut = FALSE;
	m_nCollectorTrans = 0;
	m_nMonitorTrans = 0;
	m_nOpenNew = -1;
	m_nNewSequence = -1;
	m_nCloseSequence = -1;
	m_nNewAddress = FALSE;
	m_bNewFav = FALSE;
	m_bNewHistory = FALSE;
	m_bNewLinks = FALSE;
	m_bNewLocal = FALSE;
	m_bActiveFileNew = FALSE;
	m_bAutoRefreshActive = FALSE;
	m_bKeepOnePage = FALSE;
	m_bBlankMonitorClip = FALSE;
	m_bActiveNewAddress = FALSE;
	m_bNewHome = FALSE;
	m_bUseTargetFrameName = FALSE;
	m_bReloadUnShownImage = FALSE;
	//}}AFX_DATA_INIT
}

CWindowProp::~CWindowProp()
{
}

void CWindowProp::DoDataExchange(CDataExchange* pDX)
{
	CSAPrefsSubDlg::DoDataExchange(pDX);
	//{{AFX_DATA_MAP(CWindowProp)
	DDX_Control(pDX, IDC_SPIN4, m_spin4);
	DDX_Control(pDX, IDC_SPIN3, m_spin3);
	DDX_Control(pDX, IDC_SPIN2, m_spin2);
	DDX_Control(pDX, IDC_SPIN1, m_spin1);
	DDX_Check(pDX, IDC_ACTIVATE_NEWWIN, m_bActiveNew);
	DDX_Text(pDX, IDC_INTERVAL, m_nInterval);
	DDX_Text(pDX, IDC_MAXWIN, m_nMaxWins);
	DDX_Check(pDX, IDC_OPEN_FOLDER_OUT, m_bOpenFolderOut);
	DDX_Text(pDX, IDC_TRANS, m_nCollectorTrans);
	DDV_MinMaxInt(pDX, m_nCollectorTrans, 5, 255);
	DDX_Text(pDX, IDC_MONITOR_TRANS, m_nMonitorTrans);
	DDV_MinMaxInt(pDX, m_nMonitorTrans, 5, 255);
	DDX_CBIndex(pDX, IDC_BLANKWIN, m_nOpenNew);
	DDX_CBIndex(pDX, IDC_NEW_SEQUENCE, m_nNewSequence);
	DDX_CBIndex(pDX, IDC_CLOSE_SEQUENCE, m_nCloseSequence);
	DDX_Check(pDX, ID_NEW_ADDRESS, m_nNewAddress);
	DDX_Check(pDX, ID_NEW_FAV, m_bNewFav);
	DDX_Check(pDX, ID_NEW_HISTORY, m_bNewHistory);
	DDX_Check(pDX, ID_NEW_LINKS, m_bNewLinks);
	DDX_Check(pDX, ID_NEW_LOCAL, m_bNewLocal);
	DDX_Check(pDX, ID_ACTIVE_FILE_NEW, m_bActiveFileNew);
	DDX_Check(pDX, IDC_AUTO_REFRESH_ACTIVE, m_bAutoRefreshActive);
	DDX_Check(pDX, IDC_KEEP_ONEPAGE, m_bKeepOnePage);
	DDX_Check(pDX, IDC_MONITOR_CLIP, m_bBlankMonitorClip);
	DDX_Check(pDX, IDC_ACTIVATE_NEW_ADDRESS, m_bActiveNewAddress);
	DDX_Check(pDX, ID_NEW_HOME, m_bNewHome);
	DDX_Check(pDX, IDC_USE_TARGET_FRAME_NAME, m_bUseTargetFrameName);
	DDX_Check(pDX, IDC_RELOAD_UNSHOWN_IMAGE, m_bReloadUnShownImage);
	//}}AFX_DATA_MAP
}


BEGIN_MESSAGE_MAP(CWindowProp, CSAPrefsSubDlg)
	//{{AFX_MSG_MAP(CWindowProp)
	//}}AFX_MSG_MAP
END_MESSAGE_MAP()

/////////////////////////////////////////////////////////////////////////////
// CWindowProp message handlers
/////////////////////////////////////////////////////////////////////////////
// CTabProp property page

IMPLEMENT_DYNCREATE(CTabProp, CSAPrefsSubDlg)

CTabProp::CTabProp() : CSAPrefsSubDlg(CTabProp::IDD)
{
	//{{AFX_DATA_INIT(CTabProp)
	m_bAutoFitTab = FALSE;
	m_nMaxChars = 0;
	m_nMaxWidth = 0;
	m_nMinWidth = 0;
	m_bMultiTab = FALSE;
	m_nLDBClick = -1;
	m_nMCLICK = -1;
	m_bShowIndex = FALSE;
	m_nRClick = -1;
	m_bClickClose = -1;
	m_bWheelOnTab = FALSE;
	m_bWheelTab = FALSE;
	m_bShowDot = FALSE;
	m_bShowFavIcon = FALSE;
	m_bShowRead = FALSE;
	//}}AFX_DATA_INIT
}

CTabProp::~CTabProp()
{
}

void CTabProp::DoDataExchange(CDataExchange* pDX)
{
	CSAPrefsSubDlg::DoDataExchange(pDX);
	//{{AFX_DATA_MAP(CTabProp)
	DDX_Control(pDX, IDC_SPIN3, m_spin3);
	DDX_Control(pDX, IDC_SPIN2, m_spin2);
	DDX_Control(pDX, IDC_SPIN1, m_spin1);
	DDX_Control(pDX, IDC_RDBCLICK_BLANK, m_RDbClickBlank);
	DDX_Control(pDX, IDC_LDBCLICK_BLANK, m_LDbClickBlank);
	DDX_Check(pDX, IDC_AUTOFIT_TAB, m_bAutoFitTab);
	DDX_Text(pDX, IDC_MAXCHARS, m_nMaxChars);
	DDX_Text(pDX, IDC_MAXWIDTH, m_nMaxWidth);
	DDX_Text(pDX, IDC_MINWIDTH, m_nMinWidth);
	DDX_Check(pDX, IDC_MULTILINE_TAB, m_bMultiTab);
	DDX_CBIndex(pDX, IDC_LDBCLICK, m_nLDBClick);
	DDX_CBIndex(pDX, IDC_MCLIK, m_nMCLICK);
	DDX_Check(pDX, IDC_SHOW_INDEX, m_bShowIndex);
	DDX_CBIndex(pDX, IDC_RCLIK, m_nRClick);
	DDX_Radio(pDX, IDC_CC_DISABLE, m_bClickClose);
	DDX_Check(pDX, IDC_WHEEL_ON_TAB, m_bWheelOnTab);
	DDX_Check(pDX, IDC_WHEEL_TAB, m_bWheelTab);
	DDX_Check(pDX, IDC_SHOW_DOT, m_bShowDot);
	DDX_Check(pDX, IDC_SHOW_FAVICON, m_bShowFavIcon);
	DDX_Check(pDX, IDC_SHOW_READ, m_bShowRead);
	//}}AFX_DATA_MAP
}


BEGIN_MESSAGE_MAP(CTabProp, CSAPrefsSubDlg)
	//{{AFX_MSG_MAP(CTabProp)
	//}}AFX_MSG_MAP
END_MESSAGE_MAP()

/////////////////////////////////////////////////////////////////////////////
// CTabProp message handlers
/////////////////////////////////////////////////////////////////////////////
// CGeneralProp property page

IMPLEMENT_DYNCREATE(CGeneralProp, CSAPrefsSubDlg)

CGeneralProp::CGeneralProp() : CSAPrefsSubDlg(CGeneralProp::IDD)
{
	//{{AFX_DATA_INIT(CGeneralProp)
	m_bAniIcon = FALSE;
	m_bKeepSilent = FALSE;
	m_bOneInstance = FALSE;
	m_bLockHomepage = FALSE;
	m_strSkinPath = _T("");
	m_strGroupPath = _T("");
	m_bAutoRun = FALSE;
	m_strFavPath = _T("");
	m_bUseDefaultFavPath = TRUE;
	m_bForbidMainTitle = FALSE;
	m_strLinkPath = _T("");
	m_bUseDefaultLinkPath = FALSE;
	//}}AFX_DATA_INIT
}

CGeneralProp::~CGeneralProp()
{
}

void CGeneralProp::DoDataExchange(CDataExchange* pDX)
{
	CSAPrefsSubDlg::DoDataExchange(pDX);
	//{{AFX_DATA_MAP(CGeneralProp)
	DDX_Check(pDX, IDC_DISP_ANIICON, m_bAniIcon);
	DDX_Check(pDX, IDC_KEEPSILENT, m_bKeepSilent);
	DDX_Check(pDX, IDC_ONLYONE, m_bOneInstance);	
	DDX_Check(pDX, IDC_LOCKHOME, m_bLockHomepage);
	DDX_Text(pDX, IDC_SKINPATH, m_strSkinPath);
	DDV_MaxChars(pDX, m_strSkinPath, 255);
	DDX_Text(pDX, IDC_GROUP_PATH, m_strGroupPath);
	DDV_MaxChars(pDX, m_strGroupPath, 255);
	DDX_Check(pDX, IDC_AUTO_RUN, m_bAutoRun);
	DDX_Text(pDX, IDC_FAV_PATH, m_strFavPath);
	DDV_MaxChars(pDX, m_strFavPath, 255);
	DDX_Check(pDX, IDC_DEFAULT_FAVPATH, m_bUseDefaultFavPath);
	DDX_Check(pDX, IDC_FORBID_MAIN_TITLE, m_bForbidMainTitle);
	DDX_Text(pDX, IDC_LINK_PATH, m_strLinkPath);
	DDV_MaxChars(pDX, m_strLinkPath, 255);
	DDX_Check(pDX, IDC_DEFAULT_LINKPATH, m_bUseDefaultLinkPath);
	//}}AFX_DATA_MAP
}


BEGIN_MESSAGE_MAP(CGeneralProp, CSAPrefsSubDlg)
	//{{AFX_MSG_MAP(CGeneralProp)
	ON_BN_CLICKED(IDC_GET_SKINPATH, OnGetSkinpath)
	ON_BN_CLICKED(IDC_GET_GROUPPATH, OnGetGrouppath)
	ON_BN_CLICKED(IDC_GET_FAVPATH, OnGetFavPath)
	ON_BN_CLICKED(IDC_DEFAULT_FAVPATH, OnDefaultFavPath)
	ON_BN_CLICKED(IDC_GET_LINKPATH, OnGetLinkPath)
	ON_BN_CLICKED(IDC_DEFAULT_LINKPATH, OnDefaultLinkPath)
	//}}AFX_MSG_MAP
END_MESSAGE_MAP()


/////////////////////////////////////////////////////////////////////////////
// COtherProp property page

IMPLEMENT_DYNCREATE(COtherProp, CSAPrefsSubDlg)

COtherProp::COtherProp() : CSAPrefsSubDlg(COtherProp::IDD)
{
	//{{AFX_DATA_INIT(COtherProp)
	m_strCE1 = _T("");
	m_strCE2 = _T("");
	m_strCSE1 = _T("");
	m_strCSE2 = _T("");
	m_strSE1 = _T("");
	m_strSE2 = _T("");
	m_nMenuStyle = 1;
	m_bMinTray = FALSE;
	m_bCloseTray = FALSE;
	m_bShowTray = FALSE;
	m_bCloseAllWhenCloseToTray = FALSE;
	//}}AFX_DATA_INIT
}

COtherProp::~COtherProp()
{
}

void COtherProp::DoDataExchange(CDataExchange* pDX)
{
	CSAPrefsSubDlg::DoDataExchange(pDX);
	//{{AFX_DATA_MAP(COtherProp)
	DDX_Control(pDX, IDC_HOTKEY, m_HotKey);
	DDX_Text(pDX, IDC_CE1, m_strCE1);
	DDX_Text(pDX, IDC_CE2, m_strCE2);
	DDX_Text(pDX, IDC_CSE1, m_strCSE1);
	DDX_Text(pDX, IDC_CSE2, m_strCSE2);
	DDX_Text(pDX, IDC_SE1, m_strSE1);
	DDX_Text(pDX, IDC_SE2, m_strSE2);
	DDX_Radio(pDX, IDC_MENU_WIN9X, m_nMenuStyle);
	DDX_Check(pDX, IDC_MIN_TRAY, m_bMinTray);
	DDX_Check(pDX, IDC_CLOSE_TRAY, m_bCloseTray);
	DDX_Check(pDX, IDC_SHOW_TRAY, m_bShowTray);
	DDX_Check(pDX, IDC_CLOSE_TRAY_CLOSEALL, m_bCloseAllWhenCloseToTray);
	//}}AFX_DATA_MAP
}


BEGIN_MESSAGE_MAP(COtherProp, CSAPrefsSubDlg)
	//{{AFX_MSG_MAP(COtherProp)
	ON_BN_CLICKED(IDC_SHOW_TRAY, OnShowTray)
	ON_BN_CLICKED(IDC_UPDATE_HOTKEY, OnUpdateHotkey)
	ON_BN_CLICKED(IDC_SET_DEFAULT, OnSetDefault)
	//}}AFX_MSG_MAP
END_MESSAGE_MAP()

/////////////////////////////////////////////////////////////////////////////
// COtherProp message handlers

/////////////////////////////////////////////////////////////////////////////
// CSaveProp property page

IMPLEMENT_DYNCREATE(CSaveProp, CSAPrefsSubDlg)

CSaveProp::CSaveProp() : CSAPrefsSubDlg(CSaveProp::IDD)
{
	//{{AFX_DATA_INIT(CSaveProp)
	m_strSavePath = _T("");
	m_strImagePath = _T("");
	m_nAutoSave = -1;
	m_bCateWithSite = FALSE;
	m_bImgCateWithSite = FALSE;
	m_strSavePathSort = _T("");
	m_bNameByTitle = FALSE;
	m_bSavePageByDate = FALSE;
	m_bShowSortSaveDlg = FALSE;
	//}}AFX_DATA_INIT
}

CSaveProp::~CSaveProp()
{
}

void CSaveProp::DoDataExchange(CDataExchange* pDX)
{
	CSAPrefsSubDlg::DoDataExchange(pDX);
	//{{AFX_DATA_MAP(CSaveProp)
	DDX_Text(pDX, IDC_SAVEPATH, m_strSavePath);
	DDX_Text(pDX, IDC_IMAGEPATH, m_strImagePath);
	DDX_CBIndex(pDX, IDC_AUTOSAVE, m_nAutoSave);
	DDX_Check(pDX, IDC_CATEWITHSITE, m_bCateWithSite);
	DDX_Check(pDX, IDC_IMG_CATEWITHSITE, m_bImgCateWithSite);
	DDX_Text(pDX, IDC_SAVEPATH_SORT, m_strSavePathSort);
	DDX_Check(pDX, IDC_NAME_BY_TITLE, m_bNameByTitle);
	DDX_Check(pDX, IDC_SAVE_BY_DATE, m_bSavePageByDate);
	DDX_Check(pDX, IDC_SHOW_SORT_DLG, m_bShowSortSaveDlg);
	//}}AFX_DATA_MAP
}


BEGIN_MESSAGE_MAP(CSaveProp, CSAPrefsSubDlg)
	//{{AFX_MSG_MAP(CSaveProp)
	ON_BN_CLICKED(IDC_GET_SAVEPATH, OnGetSavepath)
	ON_BN_CLICKED(IDC_GET_IMAGEPATH, OnGetImagepath)
	ON_BN_CLICKED(IDC_GET_SAVEPATH_SORT, OnGetSavepathSort)
	//}}AFX_MSG_MAP
END_MESSAGE_MAP()

/////////////////////////////////////////////////////////////////////////////
// CSaveProp message handlers


//#pragma optimize( "s", off)

BOOL COtherProp::OnInitDialog() 
{
#ifdef _WRITE_LNG_FILE_
	_WriteDlgString(this,"DialogOtherProp");
#endif
	LOADDLG("DialogOtherProp");
	CSAPrefsSubDlg::OnInitDialog();

	try{
	// TODO: Add extra initialization here
	UINT Modifiers = AfxGetApp()->GetProfileInt("Settings", "ShowHideModifiers", MOD_CONTROL);
	UINT Key = AfxGetApp()->GetProfileInt("Settings", "ShowHideKey", 192);
	m_HotKey.SetHotKey(Key, Mod2HotKey(Modifiers));
	m_OldModifiers = Modifiers;
	m_OldKey = Key;
	}catch(...){}

	return TRUE;  // return TRUE unless you set the focus to a control
	              // EXCEPTION: OCX Property Pages should return FALSE
}

void CSaveProp::OnGetSavepath() 
{
	// TODO: Add your control notification handler code here
	if (_BrowserPath(this,m_strSavePath) == TRUE)
		GetDlgItem(IDC_SAVEPATH)->SetWindowText(m_strSavePath);//UpdateData(FALSE);
}

void CSaveProp::OnGetImagepath() 
{
	// TODO: Add your control notification handler code here
	if (_BrowserPath(this,m_strImagePath) == TRUE)
		GetDlgItem(IDC_IMAGEPATH)->SetWindowText(m_strImagePath);//UpdateData(FALSE);
}

void CGeneralProp::OnGetSkinpath() 
{
	// TODO: Add your control notification handler code here
	if (_BrowserPath(this,m_strSkinPath) == TRUE) 
		GetDlgItem(IDC_SKINPATH)->SetWindowText(m_strSkinPath);//UpdateData(FALSE);
}

void CGeneralProp::OnGetGrouppath() 
{
	// TODO: Add your control notification handler code here
	if (_BrowserPath(this,m_strGroupPath) == TRUE)
		GetDlgItem(IDC_GROUP_PATH)->SetWindowText(m_strGroupPath);//UpdateData(FALSE);
}
/////////////////////////////////////////////////////////////////////////////
// CMouseProp property page

IMPLEMENT_DYNCREATE(CMouseProp, CSAPrefsSubDlg)

CMouseProp::CMouseProp() : CSAPrefsSubDlg(CMouseProp::IDD)
{
	//{{AFX_DATA_INIT(CMouseProp)
	m_nImgDown = -1;
	m_nImgLeft = -1;
	m_nImgRight = -1;
	m_nImgUp = -1;
	m_nLinkDown = -1;
	m_nLinkLeft = -1;
	m_nLinkRight = -1;
	m_nLinkUp = -1;
	m_nTextDown = -1;
	m_nTextLeft = -1;
	m_nTextRight = -1;
	m_nTextUp = -1;
	m_bSimuDragLink = FALSE;
	//}}AFX_DATA_INIT
}

CMouseProp::~CMouseProp()
{
}

void CMouseProp::DoDataExchange(CDataExchange* pDX)
{
	CSAPrefsSubDlg::DoDataExchange(pDX);
	//{{AFX_DATA_MAP(CMouseProp)
	DDX_CBIndex(pDX, IDC_IMG_DOWN, m_nImgDown);
	DDX_CBIndex(pDX, IDC_IMG_LEFT, m_nImgLeft);
	DDX_CBIndex(pDX, IDC_IMG_RIGHT, m_nImgRight);
	DDX_CBIndex(pDX, IDC_IMG_UP, m_nImgUp);
	DDX_CBIndex(pDX, IDC_LINK_DOWN, m_nLinkDown);
	DDX_CBIndex(pDX, IDC_LINK_LEFT, m_nLinkLeft);
	DDX_CBIndex(pDX, IDC_LINK_RIGHT, m_nLinkRight);
	DDX_CBIndex(pDX, IDC_LINK_UP, m_nLinkUp);
	DDX_CBIndex(pDX, IDC_TXT_DOWN, m_nTextDown);
	DDX_CBIndex(pDX, IDC_TXT_LEFT, m_nTextLeft);
	DDX_CBIndex(pDX, IDC_TXT_RIGHT, m_nTextRight);
	DDX_CBIndex(pDX, IDC_TXT_UP, m_nTextUp);
	DDX_Check(pDX, IDC_SIMU_DRAG_LINK, m_bSimuDragLink);
	//}}AFX_DATA_MAP
}


BEGIN_MESSAGE_MAP(CMouseProp, CSAPrefsSubDlg)
	//{{AFX_MSG_MAP(CMouseProp)
	//}}AFX_MSG_MAP
END_MESSAGE_MAP()

/////////////////////////////////////////////////////////////////////////////
// CMouseProp message handlers

void CGeneralProp::SetFavPathState(BOOL state)
{
	GetDlgItem(IDC_STATIC_FAVPATH)->EnableWindow(state);
	GetDlgItem(IDC_FAV_PATH)->EnableWindow(state);
	GetDlgItem(IDC_GET_FAVPATH)->EnableWindow(state);
}

void CGeneralProp::SetLinkPathState(BOOL state)
{
	GetDlgItem(IDC_STATIC_LINKPATH)->EnableWindow(state);
	GetDlgItem(IDC_LINK_PATH)->EnableWindow(state);
	GetDlgItem(IDC_GET_LINKPATH)->EnableWindow(state);
}

BOOL CGeneralProp::OnInitDialog() 
{
#ifdef _WRITE_LNG_FILE_
	_WriteDlgString(this,"DialogGeneralProp");
#endif
	LOADDLG("DialogGeneralProp");
	CSAPrefsSubDlg::OnInitDialog();
	
	// TODO: Add extra initialization here
	if (m_bUseDefaultFavPath)
		SetFavPathState(FALSE);
	if (m_bUseDefaultLinkPath)
		SetLinkPathState(FALSE);
	return TRUE;  // return TRUE unless you set the focus to a control
	              // EXCEPTION: OCX Property Pages should return FALSE
}

void CGeneralProp::OnGetFavPath() 
{
	// TODO: Add your control notification handler code here
	if (_BrowserPath(this,m_strFavPath ) == TRUE) 
		GetDlgItem(IDC_FAV_PATH)->SetWindowText(m_strFavPath);//UpdateData(FALSE);
}

void CGeneralProp::OnDefaultFavPath() 
{
	// TODO: Add your control notification handler code here
	CButton *p = (CButton*)GetDlgItem(IDC_DEFAULT_FAVPATH);
	BOOL state = p->GetCheck();
	SetFavPathState(!state);
}

/////////////////////////////////////////////////////////////////////////////
// CMouseProp property page

IMPLEMENT_DYNCREATE(CGestureProp, CSAPrefsSubDlg)

CGestureProp::CGestureProp() : CSAPrefsSubDlg(CGestureProp::IDD)
{
	//{{AFX_DATA_INIT(CGestureProp)
	m_bShowGesture = FALSE;
	//}}AFX_DATA_INIT
	m_nLastIdx = MAX_MOUSE_ACTION;
}

CGestureProp::~CGestureProp()
{
}
void CGestureProp::DoDataExchange(CDataExchange* pDX)
{
	CSAPrefsSubDlg::DoDataExchange(pDX);
	//{{AFX_DATA_MAP(CGestureProp)
	DDX_Control(pDX, IDC_GESTURE, m_gesture);
	DDX_Control(pDX, IDC_COMMAND, m_command);
	DDX_Control(pDX, IDC_LIST, m_list);
	DDX_Check(pDX, IDC_SHOW_GESTURE, m_bShowGesture);

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -