📄 preferencedlg.cpp
字号:
::SendDlgItemMessage(_hSelf, IDC_RADIO_BGMODE, BM_SETCHECK, FALSE, 0);
svp._edgeMode = EDGE_NONE;
modeID = IDM_VIEW_EDGENONE;
}
::EnableWindow(::GetDlgItem(_hSelf, IDC_RADIO_LNMODE), isChecked);
::EnableWindow(::GetDlgItem(_hSelf, IDC_RADIO_BGMODE), isChecked);
::EnableWindow(::GetDlgItem(_hSelf, IDC_NBCOLONE_STATIC), isChecked);
::ShowWindow(::GetDlgItem(_hSelf, IDC_COLONENUMBER_STATIC), isChecked);
::SendMessage(_hParent, WM_COMMAND, modeID, iView);
return TRUE;
}
case IDC_RADIO_LNMODE:
svp._edgeMode = EDGE_LINE;
::SendMessage(_hParent, WM_COMMAND, IDM_VIEW_EDGELINE, iView);
return TRUE;
case IDC_RADIO_BGMODE:
svp._edgeMode = EDGE_BACKGROUND;
::SendMessage(_hParent, WM_COMMAND, IDM_VIEW_EDGEBACKGROUND, iView);
return TRUE;
case IDM_SETTING_EDGE_SIZE:
{
::SendMessage(_hParent, WM_COMMAND, IDM_SETTING_EDGE_SIZE, iView);
char nbColStr[10];
itoa(svp._edgeNbColumn, nbColStr, 10);
::SetWindowText(::GetDlgItem(_hSelf, IDC_COLONENUMBER_STATIC), nbColStr);
return TRUE;
}
default :
switch (HIWORD(wParam))
{
case CBN_SELCHANGE : // == case LBN_SELCHANGE :
{
switch (LOWORD(wParam))
{
case IDC_COMBO_SCINTILLAVIEWCHOIX :
{
changePanelTo(i);
return TRUE;
}
default:
break;
}
}
}
}
}
}
return FALSE;
}
BOOL CALLBACK SettingsDlg::run_dlgProc(UINT Message, WPARAM wParam, LPARAM lParam)
{
NppParameters *pNppParam = NppParameters::getInstance();
NppGUI & nppGUI = (NppGUI &)pNppParam->getNppGUI();
switch (Message)
{
case WM_INITDIALOG :
{
char nbStr[10];
itoa(nppGUI._tabSize, nbStr, 10);
HWND hTabSize_val = ::GetDlgItem(_hSelf, IDC_TABSIZEVAL_STATIC);
::SetWindowText(hTabSize_val, nbStr);
_tabSizeVal.init(_hInst, _hSelf);
_tabSizeVal.create(hTabSize_val, IDM_SETTING_TAB_SIZE);
itoa(pNppParam->getNbMaxFile(), nbStr, 10);
::SetWindowText(::GetDlgItem(_hSelf, IDC_MAXNBFILEVAL_STATIC), nbStr);
_nbHistoryVal.init(_hInst, _hSelf);
_nbHistoryVal.create(::GetDlgItem(_hSelf, IDC_MAXNBFILEVAL_STATIC), IDM_SETTING_HISTORY_SIZE);
::SendDlgItemMessage(_hSelf, IDC_CHECK_REPLACEBYSPACE, BM_SETCHECK, nppGUI._tabReplacedBySpace, 0);
::SendDlgItemMessage(_hSelf, IDC_CHECK_DONTCHECKHISTORY, BM_SETCHECK, !nppGUI._checkHistoryFiles, 0);
//
if (nppGUI._fileAutoDetection == cdEnabled)
{
::SendDlgItemMessage(_hSelf, IDC_CHECK_FILEAUTODETECTION, BM_SETCHECK, BST_CHECKED, 0);
}
else if (nppGUI._fileAutoDetection == cdAutoUpdate)
{
::SendDlgItemMessage(_hSelf, IDC_CHECK_FILEAUTODETECTION, BM_SETCHECK, BST_CHECKED, 0);
::SendDlgItemMessage(_hSelf, IDC_CHECK_UPDATESILENTLY, BM_SETCHECK, BST_CHECKED, 0);
}
else //cdDisabled
{
::EnableWindow(::GetDlgItem(_hSelf, IDC_CHECK_UPDATESILENTLY), FALSE);
}
::SendDlgItemMessage(_hSelf, IDC_CHECK_MIN2SYSTRAY, BM_SETCHECK, nppGUI._isMinimizedToTray, 0);
::SendDlgItemMessage(_hSelf, IDC_CHECK_REMEMBERSESSION, BM_SETCHECK, nppGUI._rememberLastSession, 0);
::SendDlgItemMessage(_hSelf, IDC_CHECK_AUTOUPDATE, BM_SETCHECK, !nppGUI._neverUpdate, 0);
::ShowWindow(::GetDlgItem(_hSelf, IDC_CHECK_AUTOUPDATE), nppGUI._doesExistUpdater?SW_SHOW:SW_HIDE);
BOOL linkEnable = FALSE;
BOOL dontUnderline = FALSE;
BOOL dontUnderlineState = FALSE;
if (nppGUI._styleURL == 1)
{
linkEnable = TRUE;
dontUnderline = TRUE;
dontUnderlineState = TRUE;
}
else if (nppGUI._styleURL == 2)
{
linkEnable = TRUE;
dontUnderline = FALSE;
dontUnderlineState = TRUE;
}
::SendDlgItemMessage(_hSelf, IDC_CHECK_CLICKABLELINK_ENABLE, BM_SETCHECK, linkEnable, 0);
::SendDlgItemMessage(_hSelf, IDC_CHECK_CLICKABLELINK_NOUNDERLINE, BM_SETCHECK, dontUnderline, 0);
::EnableWindow(::GetDlgItem(_hSelf, IDC_CHECK_CLICKABLELINK_NOUNDERLINE), dontUnderlineState);
::SendDlgItemMessage(_hSelf, IDC_EDIT_SESSIONFILEEXT, WM_SETTEXT, 0, (LPARAM)nppGUI._definedSessionExt.c_str());
bool enableTaskList = nppGUI._doTaskList;
bool enableMaintainIndent = nppGUI._maitainIndent;
bool saveOpenKeepInSameDir = nppGUI._saveOpenKeepInSameDir;
bool styleMRU = nppGUI._styleMRU;
::SendDlgItemMessage(_hSelf, IDC_CHECK_ENABLEDOCSWITCHER, BM_SETCHECK, enableTaskList, 0);
::SendDlgItemMessage(_hSelf, IDC_CHECK_MAINTAININDENT, BM_SETCHECK, enableMaintainIndent, 0);
::SendDlgItemMessage(_hSelf, IDC_CHECK_KEEPINSAMEDIR, BM_SETCHECK, saveOpenKeepInSameDir, 0);
::SendDlgItemMessage(_hSelf, IDC_CHECK_STYLEMRU, BM_SETCHECK, styleMRU, 0);
ETDTProc enableDlgTheme = (ETDTProc)pNppParam->getEnableThemeDlgTexture();
if (enableDlgTheme)
enableDlgTheme(_hSelf, ETDT_ENABLETAB);
return TRUE;
}
case WM_COMMAND :
{
if (HIWORD(wParam) == EN_CHANGE)
{
switch (LOWORD(wParam))
{
case IDC_EDIT_SESSIONFILEEXT:
{
char sessionExt[MAX_PATH];
::SendDlgItemMessage(_hSelf, IDC_EDIT_SESSIONFILEEXT, WM_GETTEXT, sizeof(sessionExt), (LPARAM)sessionExt);
nppGUI._definedSessionExt = sessionExt;
return TRUE;
}
}
}
switch (wParam)
{
case IDC_CHECK_REPLACEBYSPACE:
::SendMessage(_hParent, WM_COMMAND, IDM_SETTING_TAB_REPLCESPACE, 0);
return TRUE;
case IDC_CHECK_DONTCHECKHISTORY:
nppGUI._checkHistoryFiles = isCheckedOrNot(IDC_CHECK_DONTCHECKHISTORY);
//::SendMessage(_hParent, WM_COMMAND, IDM_SETTING_HISTORY_DONT_CHECK, 0);
return TRUE;
case IDC_CHECK_FILEAUTODETECTION:
{
bool isChecked = isCheckedOrNot(IDC_CHECK_FILEAUTODETECTION);
if (!isChecked)
::SendDlgItemMessage(_hSelf, IDC_CHECK_UPDATESILENTLY, BM_SETCHECK, BST_UNCHECKED, 0);
::EnableWindow(::GetDlgItem(_hSelf, IDC_CHECK_UPDATESILENTLY), isChecked);
::SendMessage(_hParent, WM_COMMAND, isChecked?IDM_SETTING_FILE_AUTODETECTION_ENABLE:IDM_SETTING_FILE_AUTODETECTION_DISABLE, 0);
}
return TRUE;
case IDC_CHECK_UPDATESILENTLY:
{
bool isChecked = isCheckedOrNot(IDC_CHECK_UPDATESILENTLY);
::SendMessage(_hParent, WM_COMMAND, isChecked?IDM_SETTING_FILE_AUTODETECTION_ENABLESILENTLY:IDM_SETTING_FILE_AUTODETECTION_ENABLE, 0);
}
return TRUE;
case IDC_CHECK_CLICKABLELINK_ENABLE:
{
bool isChecked = isCheckedOrNot(IDC_CHECK_CLICKABLELINK_ENABLE);
if (!isChecked)
::SendDlgItemMessage(_hSelf, IDC_CHECK_CLICKABLELINK_NOUNDERLINE, BM_SETCHECK, BST_UNCHECKED, 0);
::EnableWindow(::GetDlgItem(_hSelf, IDC_CHECK_CLICKABLELINK_NOUNDERLINE), isChecked);
nppGUI._styleURL = isChecked?2:0;
}
return TRUE;
case IDC_CHECK_CLICKABLELINK_NOUNDERLINE:
{
bool isChecked = isCheckedOrNot(IDC_CHECK_CLICKABLELINK_NOUNDERLINE);
nppGUI._styleURL = isChecked?1:2;
}
return TRUE;
case IDC_CHECK_AUTOUPDATE:
nppGUI._neverUpdate = !isCheckedOrNot(wParam);
return TRUE;
case IDC_CHECK_MIN2SYSTRAY:
nppGUI._isMinimizedToTray = isCheckedOrNot(wParam);
return TRUE;
case IDC_CHECK_REMEMBERSESSION:
//::SendMessage(_hParent, WM_COMMAND, IDM_SETTING_REMEMBER_LAST_SESSION, 0);
nppGUI._rememberLastSession = isCheckedOrNot(wParam);
return TRUE;
case IDM_SETTING_TAB_SIZE:
{
::SendMessage(_hParent, WM_COMMAND, IDM_SETTING_TAB_SIZE, 0);
char nbStr[10];
itoa(nppGUI._tabSize, nbStr, 10);
::SetWindowText(::GetDlgItem(_hSelf, IDC_TABSIZEVAL_STATIC), nbStr);
return TRUE;
}
case IDM_SETTING_HISTORY_SIZE:
{
::SendMessage(_hParent, WM_COMMAND, IDM_SETTING_HISTORY_SIZE, 0);
char nbStr[10];
sprintf(nbStr, "%d", pNppParam->getNbMaxFile());
::SetWindowText(::GetDlgItem(_hSelf, IDC_MAXNBFILEVAL_STATIC), nbStr);
return TRUE;
}
case IDC_CHECK_ENABLEDOCSWITCHER :
{
NppGUI & nppGUI = (NppGUI &)NppParameters::getInstance()->getNppGUI();
nppGUI._doTaskList = !nppGUI._doTaskList;
if (nppGUI._doTaskList)
{
::EnableWindow(::GetDlgItem(_hSelf, IDC_CHECK_STYLEMRU), TRUE);
}
else
{
nppGUI._styleMRU = false;
::SendDlgItemMessage(_hSelf, IDC_CHECK_STYLEMRU, BM_SETCHECK, false, 0);
::EnableWindow(::GetDlgItem(_hSelf, IDC_CHECK_STYLEMRU), FALSE);
}
return TRUE;
}
case IDC_CHECK_KEEPINSAMEDIR :
{
NppGUI & nppGUI = (NppGUI &)NppParameters::getInstance()->getNppGUI();
nppGUI._saveOpenKeepInSameDir = !nppGUI._saveOpenKeepInSameDir;
return TRUE;
}
case IDC_CHECK_MAINTAININDENT :
{
NppGUI & nppGUI = (NppGUI &)NppParameters::getInstance()->getNppGUI();
nppGUI._maitainIndent = !nppGUI._maitainIndent;
return TRUE;
}
case IDC_CHECK_STYLEMRU :
{
NppGUI & nppGUI = (NppGUI &)NppParameters::getInstance()->getNppGUI();
nppGUI._styleMRU = !nppGUI._styleMRU;
return TRUE;
}
}
}
}
return FALSE;
}
BOOL CALLBACK DefaultNewDocDlg::run_dlgProc(UINT Message, WPARAM wParam, LPARAM lParam)
{
NppParameters *pNppParam = NppParameters::getInstance();
const NppGUI & nppGUI = pNppParam->getNppGUI();
NewDocDefaultSettings & ndds = (NewDocDefaultSettings &)nppGUI.getNewDocDefaultSettings();
switch (Message)
{
case WM_INITDIALOG :
{
int ID2Check = 0;
switch (ndds._format)
{
case MAC_FORMAT :
ID2Check = IDC_RADIO_F_MAC;
break;
case UNIX_FORMAT :
ID2Check = IDC_RADIO_F_UNIX;
break;
default : //WIN_FORMAT
ID2Check = IDC_RADIO_F_WIN;
}
::SendDlgItemMessage(_hSelf, ID2Check, BM_SETCHECK, BST_CHECKED, 0);
switch (ndds._encoding)
{
case uni16BE :
ID2Check = IDC_RADIO_UCS2BIG;
break;
case uni16LE :
ID2Check = IDC_RADIO_UCS2SMALL;
break;
case uniUTF8 :
ID2Check = IDC_RADIO_UTF8;
break;
case uniCookie :
ID2Check = IDC_RADIO_UTF8SANSBOM;
break;
default : //uni8Bit
ID2Check = IDC_RADIO_ANSI;
}
::SendDlgItemMessage(_hSelf, ID2Check, BM_SETCHECK, BST_CHECKED, 0);
int index = 0;
for (int i = L_TXT ; i < pNppParam->L_END ; i++)
{
string str;
if ((LangType)i != L_USER)
{
int cmdID = pNppParam->langTypeToCommandID((LangType)i);
if ((cmdID != -1))
{
getNameStrFromCmd(cmdID, str);
if (str.length() > 0)
{
_langList.push_back(LangID_Name((LangType)i, str));
::SendDlgItemMessage(_hSelf, IDC_COMBO_DEFAULTLANG, CB_ADDSTRING, 0, (LPARAM)str.c_str());
if (ndds._lang == i)
index = _langList.size() - 1;
}
}
}
}
::SendDlgItemMessage(_hSelf, IDC_COMBO_DEFAULTLANG, CB_SETCURSEL, index, 0);
ETDTProc enableDlgTheme = (ETDTProc)pNppParam->getEnableThemeDlgTexture();
if (enableDlgTheme)
enableDlgTheme(_hSelf, ETDT_ENABLETAB);
}
case WM_COMMAND :
{
switch (wParam)
{
case IDC_RADIO_UCS2BIG:
ndds._encoding = uni16BE;
return TRUE;
case IDC_RADIO_UCS2SMALL:
ndds._encoding = uni16LE;
return TRUE;
case IDC_RADIO_UTF8:
ndds._encoding = uniUTF8;
return TRUE;
case IDC_RADIO_UTF8SANSBOM:
ndds._encoding = uniCookie;
return TRUE;
case IDC_RADIO_ANSI:
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -