diff --git a/Readme.md b/Readme.md
index 7315f2c7a..01728a839 100644
--- a/Readme.md
+++ b/Readme.md
@@ -57,6 +57,15 @@ As an added service for Notepad3 users; Rizonesoft uses [Telegram](https://teleg
+# References
+
+Review of **Notepad3** posted by the moderator [Karston](https://www.nsaneforums.com/profile/12756-karlston/) at [nsane.forums](https://www.nsaneforums.com/)
+Seen on Nsane Forums: [Notepad3 is an advanced text editor...](https://www.nsaneforums.com/topic/382910-guidereview-notepad3-is-an-advanced-text-editor-that-supports-many-programming-languages/)
+To be correct and complete, this **Notepad3's review** is written on 2020-08-11 by **[Ashwin](https://www.ghacks.net/author/ashwin/)** and posted on **[gHacks](https://www.ghacks.net/)**.
+Original source: **[Notepad3 is an advanced text editor that supports many programming languages](https://www.ghacks.net/2020/08/11/notepad3-is-an-advanced-text-editor-that-supports-many-programming-languages/)**
+
+
+
# **Notepad3 Settings (Notepad3.ini)**
diff --git a/language/np3_af_za/lexer_af_za.rc b/language/np3_af_za/lexer_af_za.rc
index 98eba5eef..80e7cccb8 100644
--- a/language/np3_af_za/lexer_af_za.rc
+++ b/language/np3_af_za/lexer_af_za.rc
@@ -447,8 +447,8 @@ BEGIN
IDS_LEX_STR_63351 "HotStringOption"
IDS_LEX_STR_63352 "In lyn-IME Kleur"
IDS_LEX_STR_63353 "2de In lyn-IME Kleur"
- IDS_LEX_STR_63354 "Multi Edit Indicator"
- IDS_LEX_STR_63355 "2nd Multi Edit Indicator"
+ IDS_LEX_STR_63354 "Aanwyser vir Meerdere Wysigings"
+ IDS_LEX_STR_63355 "2de Aanwyser vir Meerdere Wysigings"
IDS_LEX_STR_63356 "Date-Time"
END
@@ -464,8 +464,8 @@ BEGIN
IDS_LEX_STR_63364 "Property Name"
IDS_LEX_STR_63365 "LD Keyword"
IDS_LEX_STR_63366 "ESC Sequence"
- IDS_LEX_STR_63367 "Unicode-Point Hover"
- IDS_LEX_STR_63368 "2nd Unicode-Point Hover"
+ IDS_LEX_STR_63367 "Unicode-Punt-Hover"
+ IDS_LEX_STR_63368 "2de Unicode-Punt-Hover"
END
STRINGTABLE
diff --git a/language/np3_af_za/menu_af_za.rc b/language/np3_af_za/menu_af_za.rc
index 7d0d4c6b7..e81a5a066 100644
--- a/language/np3_af_za/menu_af_za.rc
+++ b/language/np3_af_za/menu_af_za.rc
@@ -93,23 +93,23 @@ BEGIN
MENUITEM "Maak &File Explorer Oop", IDM_FILE_EXPLORE_DIR
END
MENUITEM SEPARATOR
- MENUITEM "Re&vert from File\tF5", IDM_FILE_REVERT
+ MENUITEM "Keer terug &van LĂȘer af\tF5", IDM_FILE_REVERT
POPUP "&Enkodering"
BEGIN
- POPUP "&Revert from File as"
+ POPUP "&Keer terug van LĂȘer af as"
BEGIN
- MENUITEM "&Default (Setting)", CMD_RECODEDEFAULT
+ MENUITEM "&Verstek (Instelling)", CMD_RECODEDEFAULT
MENUITEM "A&NSI\tCtrl+Shift+A", CMD_RECODEANSI
MENUITEM "&OEM\tCtrl+Shift+O", CMD_RECODEOEM
MENUITEM "&GB18030\tCtrl+Shift+F10", CMD_RECODEGB18030
MENUITEM SEPARATOR
MENUITEM "ASCII as UT&F-8\tCtrl+Shift+F8", CMD_RELOADASCIIASUTF8
- MENUITEM "Force U&CHARDET Analysis", CMD_RELOADFORCEDETECTION
+ MENUITEM "Dwing U&CHARDET-analise", CMD_RELOADFORCEDETECTION
MENUITEM "&Ignoreer Kodering Tags\tAlt+F8", CMD_RELOADNOFILEVARS
MENUITEM SEPARATOR
- MENUITEM "&More Encodings...\tF8", IDM_ENCODING_RECODE
+ MENUITEM "&Meer Enkodering...\tF8", IDM_ENCODING_RECODE
END
- POPUP "&Set Document as"
+ POPUP "&Stel dokument as"
BEGIN
MENUITEM "&ANSI", IDM_ENCODING_ANSI
MENUITEM "&Unicode", IDM_ENCODING_UNICODE
@@ -117,10 +117,10 @@ BEGIN
MENUITEM "UTF-&8\tShift+F8", IDM_ENCODING_UTF8
MENUITEM "UTF-8 with &Signature", IDM_ENCODING_UTF8SIGN
MENUITEM SEPARATOR
- MENUITEM "&More Encodings...\tF9", IDM_ENCODING_SELECT
+ MENUITEM "&Meer Enkodering...\tF9", IDM_ENCODING_SELECT
END
MENUITEM SEPARATOR
- MENUITEM "Set Encoding &Defaults...", IDM_ENCODING_SETDEFAULT
+ MENUITEM "Stel Kodering Stan&daardinstellings...", IDM_ENCODING_SETDEFAULT
END
POPUP "L&yn Einde"
BEGIN
@@ -267,7 +267,7 @@ BEGIN
MENUITEM SEPARATOR
MENUITEM "Tyd/Datum (&Kort Form)\tCtrl+F5", IDM_EDIT_INSERT_SHORTDATE
MENUITEM "Tyd/Datum (&Lang Form)\tCtrl+Shift+F5", IDM_EDIT_INSERT_LONGDATE
- MENUITEM "Current &Timestamp", CMD_INSERT_TIMESTAMP
+ MENUITEM "Huidige &Tydstempel", CMD_INSERT_TIMESTAMP
MENUITEM "&Opdateer Tydstempel\tShift+F5", CMD_UPDATE_TIMESTAMPS
MENUITEM SEPARATOR
MENUITEM "L&yn Kommentaar (Toggle)\tCtrl+Q", IDM_EDIT_LINECOMMENT
@@ -338,7 +338,7 @@ BEGIN
MENUITEM "&A+RGB" IDM_VIEW_COLOR_ARGB
MENUITEM "&BGRA" IDM_VIEW_COLOR_BGRA
END
- MENUITEM "Highlight &Unicode-Points", IDM_VIEW_UNICODE_POINTS
+ MENUITEM "Merk &Unicode-punte", IDM_VIEW_UNICODE_POINTS
MENUITEM "&Visuele Hakie Passing\tCtrl+Shift+V", IDM_VIEW_MATCHBRACES
POPUP "Merk Huidi&ge Lyn\tCtrl+Shift+I"
BEGIN
@@ -349,7 +349,7 @@ BEGIN
POPUP "Mer&k Voorvalle"
BEGIN
MENUITEM "&Aktiewe\tAlt+A", IDM_VIEW_MARKOCCUR_ONOFF
- MENUITEM "Use &Bookmarks too", IDM_VIEW_MARKOCCUR_BOOKMARKS
+ MENUITEM "Gebruik &Boekmerke ook", IDM_VIEW_MARKOCCUR_BOOKMARKS
MENUITEM SEPARATOR
MENUITEM "Pas Slegs Si&gbaar Aan", IDM_VIEW_MARKOCCUR_VISIBLE
MENUITEM SEPARATOR
@@ -363,7 +363,7 @@ BEGIN
END
MENUITEM SEPARATOR
MENUITEM "Lyn &Nommers\tCtrl+Shift+N", IDM_VIEW_LINENUMBERS
- MENUITEM "Bookmark &Margin\tCtrl+Shift+M", IDM_VIEW_BOOKMARK_MARGIN
+ MENUITEM "Boek&merk Ruglyn\tCtrl+Shift+M", IDM_VIEW_BOOKMARK_MARGIN
MENUITEM SEPARATOR
POPUP "&Vou"
BEGIN
@@ -379,13 +379,13 @@ BEGIN
POPUP "Ver&toning"
BEGIN
MENUITEM "Ge&fokusde Aansig\tCtrl+Alt+V", IDM_VIEW_TOGGLE_VIEW
- POPUP "View Mode"
+ POPUP "Kykmodus"
BEGIN
- MENUITEM "Fold", IDM_VIEW_FV_FOLD
- MENUITEM "Bookmark", IDM_VIEW_FV_BOOKMARK
- MENUITEM "Highlight", IDM_VIEW_FV_HIGHLIGHT
- MENUITEM "Bookmark && Fold", IDM_VIEW_FV_BKMRKFOLD
- MENUITEM "Highlight && Fold", IDM_VIEW_FV_HIGHLGFOLD
+ MENUITEM "Vou", IDM_VIEW_FV_FOLD
+ MENUITEM "Boekmerk", IDM_VIEW_FV_BOOKMARK
+ MENUITEM "Merk", IDM_VIEW_FV_HIGHLIGHT
+ MENUITEM "Boekmerk && Vou", IDM_VIEW_FV_BKMRKFOLD
+ MENUITEM "Merk && Vou", IDM_VIEW_FV_HIGHLGFOLD
END
MENUITEM SEPARATOR
MENUITEM "&Monitering Log", IDM_VIEW_CHASING_DOCTAIL
@@ -454,7 +454,7 @@ BEGIN
MENUITEM "M&aak Notepad3 Toe", IDM_VIEW_ESCEXIT
END
MENUITEM "Stoor Voor L&opende Tools", IDM_VIEW_SAVEBEFORERUNNINGTOOLS
- MENUITEM "Calculate Tiny-E&xpressions", IDM_VIEW_EVALTINYEXPRONSEL
+ MENUITEM "Bereken Tiny-E&xpressions", IDM_VIEW_EVALTINYEXPRONSEL
MENUITEM SEPARATOR
POPUP "Ont&hou"
BEGIN
@@ -485,10 +485,10 @@ BEGIN
MENUITEM "Direct&Write GDI DC", IDM_SET_RENDER_TECH_D2DDC
MENUITEM "&GDI (Geen ligature nie)", IDM_SET_RENDER_TECH_GDI
END
- POPUP "R&TL Layout (GDI)"
+ POPUP "R&TL Uitleg (GDI)"
BEGIN
- MENUITEM "&Edit Area", IDM_SET_RTL_LAYOUT_EDIT
- MENUITEM "&Other Dialogs", IDM_SET_RTL_LAYOUT_DLG
+ MENUITEM "&Wysig Area", IDM_SET_RTL_LAYOUT_EDIT
+ MENUITEM "Ander &Dialogs", IDM_SET_RTL_LAYOUT_DLG
END
POPUP "&Bidirectionele"
BEGIN
@@ -551,14 +551,14 @@ BEGIN
END
POPUP "+"
BEGIN
- MENUITEM "Clear Marker", IDM_EDIT_CLEAR_MARKER
- MENUITEM "Cut Lines of Marker-Type", IDM_EDIT_CUT_MARKED
- MENUITEM "Copy Lines of Marker-Type", IDM_EDIT_COPY_MARKED
- MENUITEM "Delete Lines of Marker-Type", IDM_EDIT_DELETE_MARKED
+ MENUITEM "Verwyder Merker", IDM_EDIT_CLEAR_MARKER
+ MENUITEM "Sny Lyne van Merk-tipe", IDM_EDIT_CUT_MARKED
+ MENUITEM "Kopieer Lyne van Merk-tipe", IDM_EDIT_COPY_MARKED
+ MENUITEM "Skrap Lyne van Merk-tipe", IDM_EDIT_DELETE_MARKED
MENUITEM SEPARATOR
MENUITEM "Kode Vou", IDM_VIEW_FOLDING
MENUITEM "Lyn Nommer", IDM_VIEW_LINENUMBERS
- MENUITEM "Bookmark Margin", IDM_VIEW_BOOKMARK_MARGIN
+ MENUITEM "Bookmerk Ruglyn", IDM_VIEW_BOOKMARK_MARGIN
END
POPUP "+"
BEGIN
diff --git a/language/np3_af_za/strings_af_za.rc b/language/np3_af_za/strings_af_za.rc
index 53a6655ed..ba74236a6 100644
--- a/language/np3_af_za/strings_af_za.rc
+++ b/language/np3_af_za/strings_af_za.rc
@@ -159,7 +159,7 @@ BEGIN
IDS_MUI_EOLMODENAME_LF "Unix/Mac (LF)"
IDS_MUI_EOLMODENAME_CR "Old Mac (CR)"
IDS_MUI_WARN_NORMALIZE_EOLS
- "Do you want to normalise all line endings to be '%s'?"
+ "Wil u alle lyneindes normaliseer om te '%s' wees?"
END
STRINGTABLE
@@ -255,11 +255,11 @@ BEGIN
IDM_THEMES_FILE_ITEM "&Standaard Instellings"
IDS_MUI_STATUSBAR_PREFIXES "Ln ,Col ,Sel ,Sb ,SLn ,Occ ,,,,,,,Ch ,Repl ,Eval ,"
IDS_MUI_STATUSBAR_POSTFIXES ",,,,,,,,,,,,,,,"
- IDS_CLEAR_ALL "Clear All"
+ IDS_CLEAR_ALL "Maak alles skoon"
IDS_MUI_CLEAR_FIND_HISTORY
- "Clear Find History"
+ "Vee geskiedenis uit"
IDS_MUI_CLEAR_REPL_HISTORY
- "Clear Replace History"
+ "Vee die vervang geskiedenis uit"
END
STRINGTABLE
diff --git a/src/AccelKeys.h b/src/AccelKeys.h
index a32520c18..7420862ff 100644
--- a/src/AccelKeys.h
+++ b/src/AccelKeys.h
@@ -12,10 +12,7 @@
* *
* *
*******************************************************************************/
-
#pragma once
-#ifndef _ACCELKEYS_H_
-#define _ACCELKEYS_H_
// ============================================================================
@@ -30,5 +27,3 @@
// ============================================================================
-
-#endif //_ACCELKEYS_H_
diff --git a/src/Dialogs.c b/src/Dialogs.c
index cdac0942b..5cf2e6ad5 100644
--- a/src/Dialogs.c
+++ b/src/Dialogs.c
@@ -1854,7 +1854,7 @@ static INT_PTR CALLBACK FileMRUDlgProc(HWND hwnd, UINT umsg, WPARAM wParam, LPAR
SetWindowLayoutRTL(hwnd, Settings.DialogsLayoutRTL);
// sync with other instances
- if (Settings.SaveRecentFiles) {
+ if (Settings.SaveRecentFiles && Globals.bCanSaveIniFile) {
if (MRU_MergeSave(Globals.pFileMRU, true, Flags.RelativeFileMRU, Flags.PortableMyDocs)) {
MRU_Load(Globals.pFileMRU, true);
}
@@ -1997,8 +1997,10 @@ static INT_PTR CALLBACK FileMRUDlgProc(HWND hwnd, UINT umsg, WPARAM wParam, LPAR
break;
case IDC_FILEMRU:
- if (((LPNMHDR)(lParam))->idFrom == IDC_FILEMRU) {
- switch (((LPNMHDR)(lParam))->code) {
+ if (((LPNMHDR)(lParam))->idFrom == IDC_FILEMRU)
+ {
+ switch (((LPNMHDR)(lParam))->code)
+ {
case NM_DBLCLK:
SendWMCommand(hwnd, IDOK);
break;
@@ -2095,18 +2097,11 @@ static INT_PTR CALLBACK FileMRUDlgProc(HWND hwnd, UINT umsg, WPARAM wParam, LPAR
case WM_COMMAND:
- switch (LOWORD(wParam)) {
+ switch (LOWORD(wParam))
+ {
case IDC_FILEMRU_UPDATE_VIEW:
{
- int i;
- WCHAR tch[MAX_PATH] = {L'\0'};
- LV_ITEM lvi;
- SHFILEINFO shfi;
- ZeroMemory(&shfi, sizeof(SHFILEINFO));
-
- DWORD dwtid;
LPICONTHREADINFO lpit = (LPVOID)GetProp(hwnd, L"it");
-
SetEvent(lpit->hExitThread);
while (WaitForSingleObject(lpit->hTerminatedThread, 0) != WAIT_OBJECT_0) {
MSG msg;
@@ -2121,15 +2116,19 @@ static INT_PTR CALLBACK FileMRUDlgProc(HWND hwnd, UINT umsg, WPARAM wParam, LPAR
ListView_DeleteAllItems(hwndIL);
+ LV_ITEM lvi;
ZeroMemory(&lvi, sizeof(LV_ITEM));
lvi.mask = LVIF_TEXT | LVIF_IMAGE;
+ SHFILEINFO shfi;
+ ZeroMemory(&shfi, sizeof(SHFILEINFO));
SHGetFileInfo(L"Icon", FILE_ATTRIBUTE_NORMAL, &shfi, sizeof(SHFILEINFO),
SHGFI_SMALLICON | SHGFI_SYSICONINDEX | SHGFI_USEFILEATTRIBUTES);
lvi.iImage = shfi.iIcon;
- for (i = 0; i < MRU_Count(Globals.pFileMRU); i++) {
+ WCHAR tch[MAX_PATH] = { L'\0' };
+ for (int i = 0; i < MRU_Count(Globals.pFileMRU); i++) {
MRU_Enum(Globals.pFileMRU, i, tch, COUNTOF(tch));
PathAbsoluteFromApp(tch, NULL, 0, true);
// SendDlgItemMessage(hwnd,IDC_FILEMRU,LB_ADDSTRING,0,(LPARAM)tch); }
@@ -2139,7 +2138,7 @@ static INT_PTR CALLBACK FileMRUDlgProc(HWND hwnd, UINT umsg, WPARAM wParam, LPAR
ListView_InsertItem(hwndIL, &lvi);
}
- UINT cnt = ListView_GetItemCount(hwndIL);
+ UINT const cnt = ListView_GetItemCount(hwndIL);
if (cnt > 0) {
UINT idx = ListView_GetTopIndex(hwndIL);
ListView_SetColumnWidth(hwndIL, idx, LVSCW_AUTOSIZE_USEHEADER);
@@ -2152,8 +2151,13 @@ static INT_PTR CALLBACK FileMRUDlgProc(HWND hwnd, UINT umsg, WPARAM wParam, LPAR
//}
}
+ DWORD dwtid;
lpit->hThread = CreateThread(NULL, 0, FileMRUIconThread, (LPVOID)lpit, 0, &dwtid);
- } break;
+
+ DialogEnableControl(hwnd, IDOK, (cnt > 0));
+ DialogEnableControl(hwnd, IDC_REMOVE, (cnt > 0));
+ }
+ break;
case IDC_FILEMRU:
break;
@@ -2166,30 +2170,17 @@ static INT_PTR CALLBACK FileMRUDlgProc(HWND hwnd, UINT umsg, WPARAM wParam, LPAR
case IDOK:
case IDC_REMOVE:
- case IDC_CLEAR_LIST:
{
WCHAR tchFileName[MAX_PATH] = {L'\0'};
- UINT cnt = ListView_GetSelectedCount(hwndIL);
- if (cnt > 0) {
-
- if (LOWORD(wParam) == IDC_CLEAR_LIST)
- {
- MRU_Empty(Globals.pFileMRU, StrIsNotEmpty(Globals.CurrentFile));
- if (Globals.bCanSaveIniFile) {
- MRU_Save(Globals.pFileMRU);
- }
- PostWMCommand(hwnd, IDC_FILEMRU_UPDATE_VIEW);
- break; // done here
- }
+ if (ListView_GetSelectedCount(hwndIL)) {
LV_ITEM lvi;
ZeroMemory(&lvi, sizeof(LV_ITEM));
-
- lvi.mask = LVIF_TEXT;
- lvi.pszText = tchFileName;
+ lvi.mask = LVIF_TEXT;
+ lvi.pszText = tchFileName;
lvi.cchTextMax = COUNTOF(tchFileName);
- lvi.iItem = ListView_GetNextItem(hwndIL, -1, LVNI_ALL | LVNI_SELECTED);
+ lvi.iItem = ListView_GetNextItem(hwndIL, -1, LVNI_ALL | LVNI_SELECTED);
ListView_GetItem(hwndIL, &lvi);
@@ -2206,33 +2197,39 @@ static INT_PTR CALLBACK FileMRUDlgProc(HWND hwnd, UINT umsg, WPARAM wParam, LPAR
INT_PTR const answer = (LOWORD(wParam) == IDOK) ? InfoBoxLng(MB_YESNO | MB_ICONWARNING, NULL, IDS_MUI_ERR_MRUDLG)
: ((iCur == lvi.iItem) ? IDNO : IDYES);
- if ((IDOK == answer) || (IDYES == answer)) {
+ if ((IDOK == answer) || (IDYES == answer))
+ {
MRU_Delete(Globals.pFileMRU, lvi.iItem);
-
//SendDlgItemMessage(hwnd,IDC_FILEMRU,LB_DELETESTRING,(WPARAM)iItem,0);
//ListView_DeleteItem(GetDlgItem(hwnd,IDC_FILEMRU),lvi.iItem);
- // must use IDM_VIEW_REFRESH, index might change...
- SendWMCommand(hwnd, IDC_FILEMRU_UPDATE_VIEW);
-
//DialogEnableWindow(hwnd,IDOK,
// (LB_ERR != SendDlgItemMessage(hwnd,IDC_GOTO,LB_GETCURSEL,0,0)));
-
- cnt = ListView_GetSelectedCount(hwndIL);
- DialogEnableControl(hwnd, IDOK, (cnt > 0));
- DialogEnableControl(hwnd, IDC_REMOVE, (cnt > 0));
}
- }
- else {
+ }
+ else { // file to load
StringCchCopy((LPWSTR)GetWindowLongPtr(hwnd, DWLP_USER), MAX_PATH, tchFileName);
EndDialog(hwnd, IDOK);
}
+
+ // must use IDM_VIEW_REFRESH, index might change...
+ SendWMCommand(hwnd, IDC_FILEMRU_UPDATE_VIEW);
}
- if (Settings.SaveRecentFiles && !StrIsEmpty(Globals.IniFile)) {
+ if (Settings.SaveRecentFiles && Globals.bCanSaveIniFile) {
MRU_MergeSave(Globals.pFileMRU, true, Flags.RelativeFileMRU, Flags.PortableMyDocs);
}
+
} break;
+ case IDC_CLEAR_LIST:
+ ListView_DeleteAllItems(hwndIL);
+ MRU_Empty(Globals.pFileMRU, StrIsNotEmpty(Globals.CurrentFile));
+ if (Globals.bCanSaveIniFile) {
+ MRU_Save(Globals.pFileMRU);
+ }
+ SendWMCommand(hwnd, IDC_FILEMRU_UPDATE_VIEW);
+ break;
+
case IDCANCEL:
EndDialog(hwnd, IDCANCEL);
break;