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;