📄 resorgoptions.cpp
字号:
m_sAboutMeURL);
m_bWarnOnSymbolChanges = (bool)::AfxGetApp()->GetProfileInt( OPTIONS,
OPTION_WARN_SYM_CHANGES,
m_bWarnOnSymbolChanges);
m_bAutoFixNextSymbolValues = (bool)::AfxGetApp()->GetProfileInt( OPTIONS,
OPTION_AUTOFIX_NEXT_SYM_VALUES,
m_bAutoFixNextSymbolValues);
m_bWarnIfNextSymbolValuesInUse = (bool)::AfxGetApp()->GetProfileInt( OPTIONS,
OPTION_WARN_NEXT_SYM_VALUES,
m_bWarnIfNextSymbolValuesInUse);
m_bCheckForOutOfRangeSymbols = (bool)::AfxGetApp()->GetProfileInt( OPTIONS,
OPTION_CHECK_OUT_OF_RANGE_SYMBOLS,
m_bCheckForOutOfRangeSymbols);
m_bFilterMultiFileSymbolsDisplays = (bool)::AfxGetApp()->GetProfileInt( OPTIONS,
OPTION_FILTER_MULTI_FILE_DISPLAYS,
m_bFilterMultiFileSymbolsDisplays);
m_bAutoSaveSymbolFileConfig = (bool)::AfxGetApp()->GetProfileInt( OPTIONS,
OPTION_SAVE_CONFIG,
m_bShowTextOnToolbars);
m_bShowTextOnToolbars = (bool)::AfxGetApp()->GetProfileInt( OPTIONS,
OPTION_DISPLAY_TOOLBAR_TEXT,
m_bShowTextOnToolbars);
m_bAutoReloadFiles = (bool)::AfxGetApp()->GetProfileInt( OPTIONS,
OPTION_DISPLAY_AUTO_RELOAD,
m_bAutoReloadFiles);
m_bAutoHideWorkspace = (bool)::AfxGetApp()->GetProfileInt( OPTIONS,
OPTION_DISPLAY_AUTO_HIDE_WORKSPACE,
m_bAutoHideWorkspace);
m_bAskAboutLoading = (bool)::AfxGetApp()->GetProfileInt( OPTIONS,
OPTION_ADDIN_LOAD_PROMPT,
m_bAskAboutLoading);
m_bXpStyleMenus = (bool)::AfxGetApp()->GetProfileInt( OPTIONS,
OPTION_DISPLAY_XP_MENUS,
m_bXpStyleMenus);
m_sDevStudioVer = ::AfxGetApp()->GetProfileString( OPTIONS,
OPTION_DS_VER);
m_bEnableVersionChecking = (bool)::AfxGetApp()->GetProfileInt( OPTIONS,
OPTION_VERSION_CHECKING,
m_bEnableVersionChecking);
m_nVersionCheckInterval = ::AfxGetApp()->GetProfileInt( OPTIONS,
OPTION_VERSION_CHECK_INTERVAL,
m_nVersionCheckInterval);
m_bCheckDevelopmentVersions = (bool)::AfxGetApp()->GetProfileInt( OPTIONS,
OPTION_VERSION_CHECK_DEV,
m_bCheckDevelopmentVersions);
m_timeLastUpdateCheck = (time_t)::AfxGetApp()->GetProfileInt( OPTIONS,
OPTION_LAST_UPDATE_CHECK,
0);
m_bAskAboutMailingList = (bool)::AfxGetApp()->GetProfileInt( OPTIONS,
OPTION_MAILING_LIST_PROMPT,
m_bAskAboutMailingList);
CString sDefaultFixedSymbols = _T("IDR_MAINFRAME");
CString sFixedSymbols = ::AfxGetApp()->GetProfileString( OPTIONS,
OPTION_FIXED_SYMBOLS,
sDefaultFixedSymbols );
m_setDefaultFixedSymbols.insert(sDefaultFixedSymbols);
while (!sFixedSymbols.IsEmpty() )
{
CString sSymbol = ::Chomp(sFixedSymbols, _T(",") );
if (!sSymbol.IsEmpty() )
{
m_setFixedSymbols.insert(sSymbol);
}
}
return true;
}
int CResOrgOptions::Configure(CWnd* pParentWnd /*= NULL*/)
{
CNGPropertySheet dlg(IDS_RESORG_OPTIONS, pParentWnd);
dlg.m_psh.dwFlags |= PSH_NOAPPLYNOW; // Remove the "Apply" button
CResOrgOptionsGeneralPage GeneralPage;
CResOrgOptionsSymbolsPage SymbolsPage;
CResOrgOptionsFixedSymbolsPage FixedSymbolsPage;
CResOrgOptionsAddInPage AddInPage;
CResOrgOptionsUpdatesPage UpdatesPage;
GeneralPage.m_bShowTextOnToolbars = ShowTextOnToolbars();
GeneralPage.m_bAutoReloadFiles = AutoReloadFiles();
GeneralPage.m_bAutoHideWorkspace = AutoHideWorkspace();
GeneralPage.m_bXpStyleMenus = UseXpStyleMenus();
SymbolsPage.m_bWarnOnSymbolChanges = m_bWarnOnSymbolChanges;
SymbolsPage.m_bAutoFixNextSymbolValues = AutoFixNextSymbolValues();
SymbolsPage.m_bWarnIfNextSymbolValuesInUse = m_bWarnIfNextSymbolValuesInUse;
SymbolsPage.m_bCheckForOutOfRangeSymbols = m_bCheckForOutOfRangeSymbols;
SymbolsPage.m_bFilterMultiFileSymbolsDisplays = m_bFilterMultiFileSymbolsDisplays;
SymbolsPage.m_bAutoSaveSymbolFileConfig = m_bAutoSaveSymbolFileConfig;
FixedSymbolsPage.SetFixedSymbols(m_setFixedSymbols);
FixedSymbolsPage.SetDefaultFixedSymbols(m_setDefaultFixedSymbols);
AddInPage.m_bAskAboutLoading = m_bAskAboutLoading;
UpdatesPage.m_bEnableVersionCheck = m_bEnableVersionChecking;
UpdatesPage.m_nVersionCheckInterval = m_nVersionCheckInterval;
UpdatesPage.m_bCheckDevelopmentVersions = m_bCheckDevelopmentVersions;
dlg.AddPage(&GeneralPage);
dlg.AddPage(&SymbolsPage);
dlg.AddPage(&FixedSymbolsPage);
#if _MSC_VER < 1300
dlg.AddPage(&AddInPage);
#endif
dlg.AddPage(&UpdatesPage);
int nResult = dlg.DoModal();
if (IDOK == nResult)
{
ShowTextOnToolbars(GeneralPage.m_bShowTextOnToolbars);
AutoReloadFiles(GeneralPage.m_bAutoReloadFiles);
AutoHideWorkspace(GeneralPage.m_bAutoHideWorkspace);
UseXpStyleMenus(GeneralPage.m_bXpStyleMenus);
WarnOnSymbolChanges(SymbolsPage.m_bWarnOnSymbolChanges);
AutoFixNextSymbolValues(SymbolsPage.m_bAutoFixNextSymbolValues);
WarnIfNextSymbolValuesInUse(SymbolsPage.m_bWarnIfNextSymbolValuesInUse);
CheckForOutOfRangeSymbols(SymbolsPage.m_bCheckForOutOfRangeSymbols);
FilterMultiFileSymbolsDisplays(SymbolsPage.m_bFilterMultiFileSymbolsDisplays);
AutoSaveSymbolFileConfig(SymbolsPage.m_bAutoSaveSymbolFileConfig);
AskAboutLoadingAddIn(AddInPage.m_bAskAboutLoading);
EnableVersionChecking(UpdatesPage.m_bEnableVersionCheck);
m_nVersionCheckInterval = UpdatesPage.m_nVersionCheckInterval;
CheckDevelopmentVersions(UpdatesPage.m_bCheckDevelopmentVersions);
FixedSymbolsPage.GetFixedSymbols(m_setFixedSymbols);
::AfxGetApp()->WriteProfileInt( OPTIONS,
OPTION_VERSION_CHECK_INTERVAL,
m_nVersionCheckInterval);
CString sFixedSymbols;
for (std::set<CString>::const_iterator it = m_setFixedSymbols.begin();
it != m_setFixedSymbols.end();
it++)
{
sFixedSymbols += sFixedSymbols + *it + _T(",");
}
::AfxGetApp()->WriteProfileString( OPTIONS,
OPTION_FIXED_SYMBOLS,
sFixedSymbols);
}
return nResult;
}
/////////////////////////////////////////////////////////////////////////////
// Operations
bool CResOrgOptions::SetWebURL(const CString& sWebURL)
{
// For safety, don't accept a new URL if it is blank
// since we should NEVER lose the homepage URL
// (the others don't do this so we can disable them
// if need be)
if ( (sWebURL != m_sWebURL) && !sWebURL.IsEmpty())
{
m_sWebURL = sWebURL;
::AfxGetApp()->WriteProfileString(OPTIONS,
OPTION_WEB_URL,
m_sWebURL);
return true;
}
return false;
}
bool CResOrgOptions::SetEmailURL(const CString& sEmailURL)
{
// For safety, don't accept a new URL if it is blank
// since we should NEVER lose the homepage URL
// (the others don't do this so we can disable them
// if need be)
if ( (sEmailURL != m_sEmailURL) && !sEmailURL.IsEmpty())
{
m_sEmailURL = sEmailURL;
::AfxGetApp()->WriteProfileString(OPTIONS,
OPTION_EMAIL_URL,
m_sEmailURL);
return true;
}
return false;
}
bool CResOrgOptions::SetFaqURL(const CString& sFaqURL)
{
if (sFaqURL != m_sFaqURL)
{
m_sFaqURL = sFaqURL;
::AfxGetApp()->WriteProfileString(OPTIONS,
OPTION_FAQ_URL,
m_sFaqURL);
return true;
}
return false;
}
bool CResOrgOptions::SetDiscussionBoardURL(const CString& sDiscussionBoardURL)
{
if (sDiscussionBoardURL != m_sDiscussionBoardURL)
{
m_sDiscussionBoardURL = sDiscussionBoardURL;
::AfxGetApp()->WriteProfileString(OPTIONS,
OPTION_DISCUSSIONS_URL,
m_sDiscussionBoardURL);
return true;
}
return false;
}
bool CResOrgOptions::SetKnownBugsURL(const CString& sKnownBugsURL)
{
if (sKnownBugsURL != m_sKnownBugsURL)
{
m_sKnownBugsURL = sKnownBugsURL;
::AfxGetApp()->WriteProfileString(OPTIONS,
OPTION_BUGS_URL,
m_sKnownBugsURL);
return true;
}
return false;
}
bool CResOrgOptions::SetMailingListURL(const CString& sMailingListURL)
{
if (sMailingListURL != m_sMailingListURL)
{
m_sMailingListURL = sMailingListURL;
::AfxGetApp()->WriteProfileString( OPTIONS,
OPTION_MAILING_LIST_URL,
m_sMailingListURL);
return true;
}
return false;
}
bool CResOrgOptions::SetAboutMeURL(const CString& sAboutMeURL)
{
if (sAboutMeURL != m_sAboutMeURL)
{
m_sAboutMeURL = sAboutMeURL;
::AfxGetApp()->WriteProfileString( OPTIONS,
OPTION_ABOUTME_URL,
m_sAboutMeURL);
return true;
}
return false;
}
bool CResOrgOptions::WarnIfNextSymbolValuesInUse(bool bWarn)
{
return UpdateBooleanOption(OPTION_WARN_NEXT_SYM_VALUES, m_bWarnIfNextSymbolValuesInUse, bWarn);
}
bool CResOrgOptions::ShowTextOnToolbars(bool bShow)
{
return UpdateBooleanOption(OPTION_DISPLAY_TOOLBAR_TEXT, m_bShowTextOnToolbars, bShow);
}
bool CResOrgOptions::AutoReloadFiles(bool bEnable)
{
return UpdateBooleanOption(OPTION_DISPLAY_AUTO_RELOAD, m_bAutoReloadFiles, bEnable);
}
bool CResOrgOptions::AutoFixNextSymbolValues(bool bEnable)
{
return UpdateBooleanOption(OPTION_AUTOFIX_NEXT_SYM_VALUES, m_bAutoFixNextSymbolValues, bEnable);
}
bool CResOrgOptions::CheckForOutOfRangeSymbols(bool bCheck)
{
return UpdateBooleanOption(OPTION_CHECK_OUT_OF_RANGE_SYMBOLS, m_bCheckForOutOfRangeSymbols, bCheck);
}
bool CResOrgOptions::FilterMultiFileSymbolsDisplays(bool bFilter)
{
return UpdateBooleanOption(OPTION_FILTER_MULTI_FILE_DISPLAYS, m_bFilterMultiFileSymbolsDisplays, bFilter);
}
bool CResOrgOptions::WarnOnSymbolChanges(bool bWarn)
{
return UpdateBooleanOption(OPTION_FILTER_MULTI_FILE_DISPLAYS, m_bWarnOnSymbolChanges, bWarn);
}
bool CResOrgOptions::UseXpStyleMenus(bool bXpStyleMenus)
{
return UpdateBooleanOption(OPTION_DISPLAY_XP_MENUS, m_bXpStyleMenus, bXpStyleMenus);
}
bool CResOrgOptions::AutoHideWorkspace(bool bEnable)
{
return UpdateBooleanOption(OPTION_DISPLAY_AUTO_HIDE_WORKSPACE, m_bAutoHideWorkspace, bEnable);
}
bool CResOrgOptions::AutoSaveSymbolFileConfig(bool bEnable)
{
return UpdateBooleanOption(OPTION_SAVE_CONFIG, m_bAutoSaveSymbolFileConfig, bEnable);
}
bool CResOrgOptions::AskAboutLoadingAddIn(bool bAsk)
{
return UpdateBooleanOption(OPTION_ADDIN_LOAD_PROMPT, m_bAskAboutLoading, bAsk);
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -