📄 greenbrowseroptions.cpp
字号:
// 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 + -