Enhance smarthighting UI

Use checkboxes instead of combobox.
If "Use Find settings" is checked, use both "match case" & "whole word
only" (instead of only "whole word only")
This commit is contained in:
Don Ho 2016-10-13 02:01:09 +02:00
parent addc9b483a
commit 66c6aca759
8 changed files with 99 additions and 191 deletions

View File

@ -5871,11 +5871,12 @@ struct Quote
const int nbQuote = 204;
const int nbQuote = 205;
Quote quotes[nbQuote] =
{
{"Notepad++", "I hate reading other people's code.\nSo I wrote mine, made it as open source project, and see others suffer."},
{"Notepad++ #2", "Good programmers use Notepad++ to code.\nExtreme programmers use MS Word to code, in Comic Sans, center aligned."},
{"Richard Stallman?", "If I'm the Father of Open Source, it was conceived through artificial insemination using stolen sperm without my knowledge or consent."},
{"Martin Golding", "Always code as if the guy who ends up maintaining your code will be a violent psychopath who knows where you live."},
{"L. Peter Deutsch", "To iterate is human, to recurse divine."},
{"Seymour Cray", "The trouble with programmers is that you can never tell what a programmer is doing until it's too late."},

View File

@ -3999,7 +3999,7 @@ void NppParameters::feedGUIParameters(TiXmlNode *node)
}
}
}
// <GUIConfig name="SmartHighLight" matchCase="yes" wholeWordOnly="yes" useFindSettings="no">yes</GUIConfig>
else if (!lstrcmp(nm, TEXT("SmartHighLight")))
{
TiXmlNode *n = childNode->FirstChild();
@ -4013,46 +4013,32 @@ void NppParameters::feedGUIParameters(TiXmlNode *node)
else
_nppGUI._enableSmartHilite = false;
}
}
}
else if (!lstrcmp(nm, TEXT("SmartHighLightCaseSensitive")))
{
TiXmlNode *n = childNode->FirstChild();
if (n)
{
const TCHAR* val = n->Value();
val = element->Attribute(TEXT("matchCase"));
if (val)
{
if (!lstrcmp(val, TEXT("yes")))
_nppGUI._smartHiliteCaseSensitive = true;
else
else if (!lstrcmp(val, TEXT("no")))
_nppGUI._smartHiliteCaseSensitive = false;
}
}
}
else if (!lstrcmp(nm, TEXT("SmartHighLightMode")))
{
TiXmlNode *n = childNode->FirstChild();
if (n)
{
const TCHAR* val = n->Value();
val = element->Attribute(TEXT("wholeWordOnly"));
if (val)
{
if (!lstrcmp(val, TEXT("1")))
{
_nppGUI._smartHiliteMode = NppGUI::SmartHiliteMode::anySelection;
}
else if (!lstrcmp(val, TEXT("2")))
{
_nppGUI._smartHiliteMode = NppGUI::SmartHiliteMode::findDialog;
}
else
{
_nppGUI._smartHiliteMode = NppGUI::SmartHiliteMode::wordOnly;
}
if (!lstrcmp(val, TEXT("yes")))
_nppGUI._smartHiliteWordOnly = true;
else if (!lstrcmp(val, TEXT("no")))
_nppGUI._smartHiliteWordOnly = false;
}
val = element->Attribute(TEXT("useFindSettings"));
if (val)
{
if (!lstrcmp(val, TEXT("yes")))
_nppGUI._smartHiliteUseFindSettings = true;
else if (!lstrcmp(val, TEXT("no")))
_nppGUI._smartHiliteUseFindSettings = false;
}
}
}
@ -5104,9 +5090,6 @@ bool NppParameters::writeGUIParams()
bool workspaceExtExist = false;
bool noUpdateExist = false;
bool menuBarExist = false;
bool smartHighLightExist = false;
bool smartHighLightCaseSensitiveExist = false;
bool smartHighLightModeExists = false;
bool tagsMatchHighLightExist = false;
bool caretExist = false;
bool ScintillaGlobalSettingsExist = false;
@ -5296,56 +5279,24 @@ bool NppParameters::writeGUIParams()
else
childNode->InsertEndChild(TiXmlText(pStr));
}
// <GUIConfig name="SmartHighLight" matchCase="yes" wholeWordOnly="yes" useFindSettings="no">yes</GUIConfig>
else if (!lstrcmp(nm, TEXT("SmartHighLight")))
{
smartHighLightExist = true;
const TCHAR *pStr = _nppGUI._enableSmartHilite?TEXT("yes"):TEXT("no");
TiXmlNode *n = childNode->FirstChild();
if (n)
n->SetValue(pStr);
else
childNode->InsertEndChild(TiXmlText(pStr));
}
else if (!lstrcmp(nm, TEXT("SmartHighLightCaseSensitive")))
{
smartHighLightCaseSensitiveExist = true;
const TCHAR *pStr = _nppGUI._smartHiliteCaseSensitive?TEXT("yes"):TEXT("no");
TiXmlNode *n = childNode->FirstChild();
if (n)
n->SetValue(pStr);
else
childNode->InsertEndChild(TiXmlText(pStr));
}
else if (!lstrcmp(nm, TEXT("SmartHighLightMode")))
{
smartHighLightModeExists = true;
const TCHAR *pStr;
switch (_nppGUI._smartHiliteMode)
{
case NppGUI::SmartHiliteMode::anySelection:
pStr = TEXT("1");
break;
pStr = _nppGUI._smartHiliteCaseSensitive ? TEXT("yes") : TEXT("no");
element->SetAttribute(TEXT("matchCase"), pStr);
case NppGUI::SmartHiliteMode::findDialog:
pStr = TEXT("2");
break;
pStr = _nppGUI._smartHiliteWordOnly ? TEXT("yes") : TEXT("no");
element->SetAttribute(TEXT("wholeWordOnly"), pStr);
default: // NppGUI::SmartHiliteMode::wordOnly
pStr = TEXT("0");
break;
}
TiXmlNode *n = childNode->FirstChild();
if (n)
{
n->SetValue(pStr);
}
else
{
childNode->InsertEndChild(TiXmlText(pStr));
}
pStr = _nppGUI._smartHiliteUseFindSettings ? TEXT("yes") : TEXT("no");
element->SetAttribute(TEXT("useFindSettings"), pStr);
}
else if (!lstrcmp(nm, TEXT("TagsMatchHighLight")))
{
@ -5668,33 +5619,6 @@ bool NppParameters::writeGUIParams()
insertGUIConfigBoolNode(GUIRoot, TEXT("MaitainIndent"), _nppGUI._maitainIndent);
}
if (!smartHighLightExist)
{
insertGUIConfigBoolNode(GUIRoot, TEXT("SmartHighLight"), _nppGUI._enableSmartHilite);
}
if( !smartHighLightCaseSensitiveExist)
{
insertGUIConfigBoolNode(GUIRoot, TEXT("SmartHighLightCaseSensitive"), _nppGUI._smartHiliteCaseSensitive);
}
if (!smartHighLightModeExists)
{
const TCHAR *pStr = TEXT("0");
if (_nppGUI._smartHiliteMode == 1)
{
pStr = TEXT("1");
}
else if (_nppGUI._smartHiliteMode == 2)
{
pStr = TEXT("2");
}
TiXmlElement *GUIConfigElement = (GUIRoot->InsertEndChild(TiXmlElement(TEXT("GUIConfig"))))->ToElement();
GUIConfigElement->SetAttribute(TEXT("name"), TEXT("SmartHighLightMode"));
GUIConfigElement->InsertEndChild(TiXmlText(pStr));
}
if (!tagsMatchHighLightExist)
{
TiXmlElement * ele = insertGUIConfigBoolNode(GUIRoot, TEXT("TagsMatchHighLight"), _nppGUI._enableTagsMatchHilite);

View File

@ -746,10 +746,10 @@ struct NppGUI final
bool _doTaskList = true;
bool _maitainIndent = true;
bool _enableSmartHilite = true;
bool _smartHiliteCaseSensitive = false;
enum SmartHiliteMode { wordOnly = 0, anySelection = 1, findDialog = 2 };
SmartHiliteMode _smartHiliteMode = SmartHiliteMode::wordOnly;
bool _smartHiliteWordOnly = true;
bool _smartHiliteUseFindSettings = false;
bool _disableSmartHiliteTmp = false;
bool _enableTagsMatchHilite = true;

View File

@ -52,28 +52,26 @@ void SmartHighlighter::highlightView(ScintillaEditView * pHighlightView)
const NppGUI & nppGUI = NppParameters::getInstance()->getNppGUI();
// Determine mode for SmartHighlighting
NppGUI::SmartHiliteMode mode = nppGUI._smartHiliteMode;
bool wordOnly;
bool isWordOnly = true;
bool isCaseSensentive = true;
if (mode == NppGUI::SmartHiliteMode::wordOnly)
{
wordOnly = true;
}
else if (mode == NppGUI::SmartHiliteMode::findDialog)
if (nppGUI._smartHiliteUseFindSettings)
{
// fetch find dialog's setting
NppParameters *nppParams = NppParameters::getInstance();
FindHistory &findHistory = nppParams->getFindHistory();
wordOnly = findHistory._isMatchWord;
isWordOnly = findHistory._isMatchWord;
isCaseSensentive = findHistory._isMatchCase;
}
else
{
wordOnly = false;
isWordOnly = nppGUI._smartHiliteWordOnly;
isCaseSensentive = nppGUI._smartHiliteCaseSensitive;
}
// additional checks for wordOnly mode
// Make sure the "word" positions match the current selection
if (wordOnly)
if (isWordOnly)
{
auto wordStart = pHighlightView->execute(SCI_WORDSTARTPOSITION, curPos, true);
auto wordEnd = pHighlightView->execute(SCI_WORDENDPOSITION, wordStart, true);
@ -101,8 +99,8 @@ void SmartHighlighter::highlightView(ScintillaEditView * pHighlightView)
int prevDocLineChecked = -1; //invalid start
FindOption fo;
fo._isMatchCase = nppGUI._smartHiliteCaseSensitive;
fo._isWholeWord = wordOnly;
fo._isMatchCase = isCaseSensentive;
fo._isWholeWord = isWordOnly;
const TCHAR * searchText = NULL;

View File

@ -229,16 +229,15 @@ IDD_PREFERENCE_TABSETTINGS_BOX DIALOGEX 0, 0, 455, 185
STYLE DS_SETFONT | DS_FIXEDSYS | DS_CONTROL | WS_CHILD
FONT 8, "MS Shell Dlg", 0, 0, 0x1
BEGIN
CONTROL "Enable",IDC_CHECK_ENABLSMARTHILITE,"Button",BS_AUTOCHECKBOX | BS_MULTILINE | WS_TABSTOP,71,69,142,10
CONTROL "Match case",IDC_CHECK_SMARTHILITECASESENSITIVE,"Button",BS_AUTOCHECKBOX | BS_MULTILINE | WS_TABSTOP,71,83,142,10
COMBOBOX IDC_COMBO_SMARTHILITEMODE,71,94,142,10,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP
GROUPBOX "Smart Highlighting",IDC_SMARTHILITING_STATIC,63,59,155,52,BS_CENTER
CONTROL "Enable",IDC_CHECK_ENABLTAGSMATCHHILITE,"Button",BS_AUTOCHECKBOX | BS_MULTILINE | WS_TABSTOP,245,69,140,10
CONTROL "Highlight tag attributes",IDC_CHECK_ENABLTAGATTRHILITE,
"Button",BS_AUTOCHECKBOX | BS_MULTILINE | WS_TABSTOP,245,81,140,10
CONTROL "Highlight comment/php/asp zone",IDC_CHECK_HIGHLITENONEHTMLZONE,
"Button",BS_AUTOCHECKBOX | BS_MULTILINE | WS_TABSTOP,245,94,140,10
GROUPBOX "Highlight Matching Tags",IDC_TAGMATCHEDHILITE_STATIC,237,59,155,50,BS_CENTER
CONTROL "Enable",IDC_CHECK_ENABLSMARTHILITE,"Button",BS_AUTOCHECKBOX | BS_MULTILINE | WS_TABSTOP,155,31,142,10
CONTROL "Match case",IDC_CHECK_SMARTHILITECASESENSITIVE,"Button",BS_AUTOCHECKBOX | BS_MULTILINE | WS_TABSTOP,155,45,142,10
GROUPBOX "Smart Highlighting",IDC_SMARTHILITING_STATIC,147,21,155,66,BS_CENTER
CONTROL "Enable",IDC_CHECK_ENABLTAGSMATCHHILITE,"Button",BS_AUTOCHECKBOX | BS_MULTILINE | WS_TABSTOP,156,120,140,10
CONTROL "Highlight tag attributes",IDC_CHECK_ENABLTAGATTRHILITE,"Button",BS_AUTOCHECKBOX | BS_MULTILINE | WS_TABSTOP,156,132,140,10
CONTROL "Highlight comment/php/asp zone",IDC_CHECK_HIGHLITENONEHTMLZONE,"Button",BS_AUTOCHECKBOX | BS_MULTILINE | WS_TABSTOP,156,145,140,10
GROUPBOX "Highlight Matching Tags",IDC_TAGMATCHEDHILITE_STATIC,148,110,155,50,BS_CENTER
CONTROL "Match whole word only",IDC_CHECK_SMARTHILITEWHOLEWORDONLY, "Button",BS_AUTOCHECKBOX | BS_MULTILINE | WS_TABSTOP,155,58,142,10
CONTROL "Use Find dialog settings",IDC_CHECK_SMARTHILITEUSEFINDSETTINGS, "Button",BS_AUTOCHECKBOX | BS_MULTILINE | WS_TABSTOP,155,71,142,10
END
IDD_PREFERENCE_PRINT_BOX DIALOGEX 0, 0, 455, 185

View File

@ -1918,33 +1918,16 @@ INT_PTR CALLBACK TabSettings::run_dlgProc(UINT message, WPARAM wParam, LPARAM/*
{
::SendDlgItemMessage(_hSelf, IDC_CHECK_ENABLSMARTHILITE, BM_SETCHECK, nppGUI._enableSmartHilite, 0);
::SendDlgItemMessage(_hSelf, IDC_CHECK_SMARTHILITECASESENSITIVE, BM_SETCHECK, nppGUI._smartHiliteCaseSensitive, 0);
::SendDlgItemMessage(_hSelf, IDC_CHECK_SMARTHILITEWHOLEWORDONLY, BM_SETCHECK, nppGUI._smartHiliteWordOnly, 0);
::SendDlgItemMessage(_hSelf, IDC_CHECK_SMARTHILITEUSEFINDSETTINGS, BM_SETCHECK, nppGUI._smartHiliteUseFindSettings, 0);
::SendDlgItemMessage(_hSelf, IDC_CHECK_ENABLTAGSMATCHHILITE, BM_SETCHECK, nppGUI._enableTagsMatchHilite, 0);
::SendDlgItemMessage(_hSelf, IDC_CHECK_ENABLTAGATTRHILITE, BM_SETCHECK, nppGUI._enableTagAttrsHilite, 0);
::SendDlgItemMessage(_hSelf, IDC_CHECK_HIGHLITENONEHTMLZONE, BM_SETCHECK, nppGUI._enableHiliteNonHTMLZone, 0);
::SendDlgItemMessage(_hSelf, IDC_COMBO_SMARTHILITEMODE, CB_ADDSTRING, 0, (LPARAM)TEXT("Match whole word only"));
::SendDlgItemMessage(_hSelf, IDC_COMBO_SMARTHILITEMODE, CB_ADDSTRING, 0, (LPARAM)TEXT("Match any selection"));
::SendDlgItemMessage(_hSelf, IDC_COMBO_SMARTHILITEMODE, CB_ADDSTRING, 0, (LPARAM)TEXT("Same as Find dialog"));
switch (nppGUI._smartHiliteMode)
{
case NppGUI::SmartHiliteMode::wordOnly:
::SendMessage(::GetDlgItem(_hSelf, IDC_COMBO_SMARTHILITEMODE), CB_SETCURSEL, 0, 0);
break;
case NppGUI::SmartHiliteMode::anySelection:
::SendMessage(::GetDlgItem(_hSelf, IDC_COMBO_SMARTHILITEMODE), CB_SETCURSEL, 1, 0);
break;
case NppGUI::SmartHiliteMode::findDialog:
::SendMessage(::GetDlgItem(_hSelf, IDC_COMBO_SMARTHILITEMODE), CB_SETCURSEL, 2, 0);
break;
}
::EnableWindow(::GetDlgItem(_hSelf, IDC_CHECK_ENABLTAGATTRHILITE), nppGUI._enableTagsMatchHilite);
::EnableWindow(::GetDlgItem(_hSelf, IDC_CHECK_HIGHLITENONEHTMLZONE), nppGUI._enableTagsMatchHilite);
::EnableWindow(::GetDlgItem(_hSelf, IDC_CHECK_SMARTHILITECASESENSITIVE), nppGUI._enableSmartHilite);
::EnableWindow(::GetDlgItem(_hSelf, IDC_COMBO_SMARTHILITEMODE), nppGUI._enableSmartHilite);
ETDTProc enableDlgTheme = reinterpret_cast<ETDTProc>(pNppParam->getEnableThemeDlgTexture());
if (enableDlgTheme)
@ -1952,39 +1935,9 @@ INT_PTR CALLBACK TabSettings::run_dlgProc(UINT message, WPARAM wParam, LPARAM/*
return TRUE;
}
case WM_COMMAND :
{
if (HIWORD(wParam) == LBN_SELCHANGE)
{
switch (LOWORD(wParam))
{
case IDC_COMBO_SMARTHILITEMODE:
{
auto index = ::SendDlgItemMessage(_hSelf, IDC_COMBO_SMARTHILITEMODE, CB_GETCURSEL, 0, 0);
switch (index)
{
case 0:
nppGUI._smartHiliteMode = NppGUI::SmartHiliteMode::wordOnly;
break;
case 1:
nppGUI._smartHiliteMode = NppGUI::SmartHiliteMode::anySelection;
break;
case 2:
nppGUI._smartHiliteMode = NppGUI::SmartHiliteMode::findDialog;
break;
}
return TRUE;
}
default:
break;
}
}
switch (wParam)
{
case IDC_CHECK_ENABLSMARTHILITE:
@ -1992,22 +1945,53 @@ INT_PTR CALLBACK TabSettings::run_dlgProc(UINT message, WPARAM wParam, LPARAM/*
nppGUI._enableSmartHilite = !nppGUI._enableSmartHilite;
if (!nppGUI._enableSmartHilite)
{
HWND grandParent = ::GetParent(_hParent);
::SendMessage(grandParent, NPPM_INTERNAL_CLEARINDICATOR, 0, 0);
//HWND grandParent = ::GetParent(_hParent);
//::SendMessage(grandParent, NPPM_INTERNAL_CLEARINDICATOR, 0, 0);
}
::EnableWindow(::GetDlgItem(_hSelf, IDC_CHECK_SMARTHILITECASESENSITIVE), nppGUI._enableSmartHilite);
::EnableWindow(::GetDlgItem(_hSelf, IDC_COMBO_SMARTHILITEMODE), nppGUI._enableSmartHilite);
::EnableWindow(::GetDlgItem(_hSelf, IDC_CHECK_SMARTHILITEWHOLEWORDONLY), nppGUI._enableSmartHilite);
::EnableWindow(::GetDlgItem(_hSelf, IDC_CHECK_SMARTHILITEUSEFINDSETTINGS), nppGUI._enableSmartHilite);
HWND grandParent = ::GetParent(_hParent);
::SendMessage(grandParent, NPPM_INTERNAL_CLEARINDICATOR, 0, 0);
return TRUE;
}
case IDC_CHECK_SMARTHILITECASESENSITIVE:
{
nppGUI._smartHiliteCaseSensitive = !nppGUI._smartHiliteCaseSensitive;
if (!nppGUI._smartHiliteCaseSensitive)
nppGUI._smartHiliteCaseSensitive = isCheckedOrNot(IDC_CHECK_SMARTHILITECASESENSITIVE);
if (nppGUI._smartHiliteCaseSensitive)
{
HWND grandParent = ::GetParent(_hParent);
::SendMessage(grandParent, NPPM_INTERNAL_CLEARINDICATOR, 0, 0);
::SendDlgItemMessage(_hSelf, IDC_CHECK_SMARTHILITEUSEFINDSETTINGS, BM_SETCHECK, false, 0);
nppGUI._smartHiliteUseFindSettings = false;
}
HWND grandParent = ::GetParent(_hParent);
::SendMessage(grandParent, NPPM_INTERNAL_CLEARINDICATOR, 0, 0);
return TRUE;
}
case IDC_CHECK_SMARTHILITEWHOLEWORDONLY:
{
nppGUI._smartHiliteWordOnly = isCheckedOrNot(IDC_CHECK_SMARTHILITEWHOLEWORDONLY);
if (nppGUI._smartHiliteWordOnly)
{
::SendDlgItemMessage(_hSelf, IDC_CHECK_SMARTHILITEUSEFINDSETTINGS, BM_SETCHECK, false, 0);
nppGUI._smartHiliteUseFindSettings = false;
}
HWND grandParent = ::GetParent(_hParent);
::SendMessage(grandParent, NPPM_INTERNAL_CLEARINDICATOR, 0, 0);
return TRUE;
}
case IDC_CHECK_SMARTHILITEUSEFINDSETTINGS:
{
nppGUI._smartHiliteUseFindSettings = isCheckedOrNot(IDC_CHECK_SMARTHILITEUSEFINDSETTINGS);
if (nppGUI._smartHiliteUseFindSettings)
{
::SendDlgItemMessage(_hSelf, IDC_CHECK_SMARTHILITECASESENSITIVE, BM_SETCHECK, false, 0);
::SendDlgItemMessage(_hSelf, IDC_CHECK_SMARTHILITEWHOLEWORDONLY, BM_SETCHECK, false, 0);
nppGUI._smartHiliteCaseSensitive = false;
nppGUI._smartHiliteWordOnly = false;
}
HWND grandParent = ::GetParent(_hParent);
::SendMessage(grandParent, NPPM_INTERNAL_CLEARINDICATOR, 0, 0);
return TRUE;
}

View File

@ -184,14 +184,15 @@
#define IDC_CHECK_BACKSLASHISESCAPECHARACTERFORSQL (IDD_PREFERENCE_SETTING_BOX + 35)
#define IDC_EDIT_WORKSPACEFILEEXT (IDD_PREFERENCE_SETTING_BOX + 36)
#define IDC_WORKSPACEFILEEXT_STATIC (IDD_PREFERENCE_SETTING_BOX + 37)
#define IDC_COMBO_SMARTHILITEMODE (IDD_PREFERENCE_SETTING_BOX + 38)
//-- FLS: xFileEditViewHistoryParameterGUI: Additional Checkbox for enabling the history for restoring the edit view per file.
#define IDC_PREFERENCE_OFFSET_FLS 40
#define IDC_CHECK_REMEMBEREDITVIEWPERFILE (IDD_PREFERENCE_SETTING_BOX + IDC_PREFERENCE_OFFSET_FLS + 1)
#define IDC_REMEMBEREDITVIEWPERFILE_STATIC (IDD_PREFERENCE_SETTING_BOX + IDC_PREFERENCE_OFFSET_FLS + 2)
#define IDC_EDIT_REMEMBEREDITVIEWPERFILE (IDD_PREFERENCE_SETTING_BOX + IDC_PREFERENCE_OFFSET_FLS + 3)
#define IDC_CHECK_SMARTHILITEWHOLEWORDONLY (IDD_PREFERENCE_SETTING_BOX + 38)
#define IDC_CHECK_SMARTHILITEUSEFINDSETTINGS (IDD_PREFERENCE_SETTING_BOX + 39)
//-- xFileEditViewHistoryParameterGUI: Additional Checkbox for enabling the history for restoring the edit view per file.
#define IDC_CHECK_REMEMBEREDITVIEWPERFILE (IDD_PREFERENCE_SETTING_BOX + 41)
#define IDC_REMEMBEREDITVIEWPERFILE_STATIC (IDD_PREFERENCE_SETTING_BOX + 42)
#define IDC_EDIT_REMEMBEREDITVIEWPERFILE (IDD_PREFERENCE_SETTING_BOX + 43)
#define IDD_PREFERENCE_NEWDOCSETTING_BOX 6400 //(IDD_PREFERENCE_BOX + 400)
#define IDC_FORMAT_GB_STATIC (IDD_PREFERENCE_NEWDOCSETTING_BOX + 1)
#define IDC_RADIO_F_WIN (IDD_PREFERENCE_NEWDOCSETTING_BOX + 2)

View File

@ -77,6 +77,7 @@
<GUIConfig name="auto-insert" parentheses="yes" brackets="yes" curlyBrackets="yes" quotes="no" doubleQuotes="yes" htmlXmlTag="no" />
<GUIConfig name="multiInst" setting="0" />
<GUIConfig name="sessionExt"></GUIConfig>
<GUIConfig name="SmartHighLight" matchCase="no" wholeWordOnly="yes" useFindSettings="no">yes</GUIConfig>
</GUIConfigs>
<!-- The History of opened files list -->
<History nbMaxFile="15" />