Here is the behaviour of this commit:
1. If there's only one file dirty, and it's current editing one, then SaveAll dialog won't display.
2. If there's only one file dirty, and it's NOT current editing one, then SaveAll dialog WILL display.
3. If there's 1 editing file which is dirty, and its clone (dirty also) is on the other view, then SaveAll dialog WILL display.
Fix#10995
1. use edge colors in darkmode for edit control border.
2. tweaks to properly drawn listbox scrollbar, when using custom border.
3. disabled edge color to dark mode preference dialog.
4. use disabled edge color for disabled combobox.
Fix#11207, fix#11376, close#11756
1. Add plus and arrow buttons on menu bar beside of 'X' button:
- plus button: for adding a new document
- arrow button: display a drop down list for all opened files to offer users quick access of switching file
2. Enhance the most recent opened file list: Increase maximun file number to 30.
Fix#11229, close#11757
* Fix certificate checking problem: the old certificate has been expired. In v8.4.2 Notepad++ & its components are signed by the new certificate. The certificate is checked before launching WinGUp (updater) to compare with the certificate key value stored in Notepad++. Updating certificate key value fixes the problem of WinUp validation, so Plugin Admin can be shown on the menu.
* Fix a typo.
Fix#11742
Add translations for these commit:
* Add edge highlight color in customized dark colors of Preferences dialog (ad8b1791b4)
* Update localization files (e8817eacd0)
Close#11686
Query for DisplayVersion as well instead of using only ReleaseId.
Windows deprecated the ReleaseID registry entry (now it is no longer updated and on newer Windows 10/11 builds will remain the same) and moved to use DisplayVersion.
Attempt now to first query DisplayVersion and in case that is missing, fall back to ReleaseID for older Windows 10 builds.
Close#11714
This is the enhancement of a long time forgotten feature.
To override the current toolbar icons, we needs 2 things: "toolbarIcons.xml" file and one icons set.
Here are the instructions to customize toolbar icons:
1. Put the file "toolbarIcons.xml" (Note 1) in the same folder of "config.xml" file (Note 2).
2. Create a new folder "toolbarIcons" in the folder where you put "toolbarIcons.xml" file.
3. Edit the file "toolbarIcons.xml": put the icon set name you want in "icoFolderName" attribute (Note 3).
for example: `<ToolBarIcons icoFolderName="myAwesomeIcons" />`
4. Go into "toolbarIcons" folder and create a new folder with the exact name of the icon set name you provided in "icoFolderName".
5. Put all your customized icons into "[toolbarIcons.xml's folder]\toolbarIcons\myAwesomeIcons\".
6. Now it's the magic moment: Relaunch Notepad++ and you'll see your icon set instead of the default icons.
Note:
1. The content of "toolbarIcons.xml" is following:
```xml
<?xml version="1.0" encoding="UTF-8" ?>
<NotepadPlus>
<ToolBarIcons icoFolderName="nppLagacyIcons" />
</NotepadPlus>
```
2. If you find the file "doLocalConf.xml" in the Notepad++ installed directory, you will find the "config.xml" in Notepad++ installed directory. Otherwise it should be in "%APPDATA%\Notepad++\" directory.
3. if "icoFolderName" value is an emptty string, the path of icons will be in "[toolbarIcons.xml's folder]\toolbarIcons\default\" folder.
Each replacing icon (45 icons) has the fixed and specific name:
| index | Normal icon | Disabled icon |
|-------|--------------------------|---------------------------------|
|1 | new.ico | |
|2 | open.ico | |
|3 | save.ico | save_disabled.ico |
|4 | save-all.ico | save-all_disabled.ico |
|5 | close.ico | |
|6 | close-all.ico | |
|7 | print.ico | |
|8 | cut.ico | cut_disabled.ico |
|9 | copy.ico | copy_disabled.ico |
|10 | paste.ico | paste_disabled.ico |
|11 | undo.ico | undo_disabled.ico |
|12 | redo.ico | redo_disabled.ico |
|13 | find.ico | |
|14 | replace.ico | |
|15 | zoom-in.ico | |
|16 | zoom-out.ico | |
|17 | sync-vertical.ico | |
|18 | sync-horizontal.ico | |
|19 | word-wrap.ico | |
|20 | all-chars.ico | |
|21 | indent-guide.ico | |
|22 | udl-dlg.ico | |
|23 | doc-map.ico | |
|24 | doc-list.ico | |
|25 | function-list.ico | |
|26 | folder-as-workspace.ico | |
|27 | monitoring.ico | monitoring_disabled.ico |
|28 | record.ico | record_disabled.ico |
|29 | stop-record.ico | stop-record_disabled.ico |
|30 | playback.ico | playback_disabled.ico |
|31 | playback-multiple.ico | playback-multiple_disabled.ico |
|32 | save-macro.ico | save-macro_disabled.ico |
It's not necessary to have all complete set (45 icons). The absent icons won't just be substituted.
Fix#9913
Add an option "Make current line folding/unfolding commands togglable" in Editing section of Preference dialog to make both Collapse/Uncollapse Current level commands togglable.
Fix#11529, fix#9196, close 11699
Select the entire DebugInfo text, with the command line params inserted.
This is a minor fix for an issue resulting from the last-minute changes in commit 0f8d572 (Add command line argument for plugin, a related notification and an API).
Close#11697
Fix also an issue that the word where the cursor is on in the edit zone is selected after running ABOUT box, that makes all the occurence of same word highlighted in the edit zone.
Fix#11639, fix 11671, close#11673
Fix crashes when re-invoked with -udl command line parameter with more than 7 characters as its value:
Serialize _udlName from generic_string to wchar_t _udlName[MAX_PATH].
Fix#11633, close#11681
1. Add a cmd argument for plugin: -pluginMessage="SPECIFIC_PLUGIN_MESSQGE" where SPECIFIC_PLUGIN_MESSQGE is a string which can contain white space. For example: -pluginMessage="arg1 arg2 arg3".
2. NPPN_CMDLINEPLUGINMSG notification: which will be triggered by -pluginMessage and plugins will get their specific message "arg1 arg2 arg3" via idFrom field:
//scnNotification->nmhdr.code = NPPN_CMDLINEPLUGINMSG;
//scnNotification->nmhdr.hwndFrom = hwndNpp;
//scnNotification->nmhdr.idFrom = pluginMessage; //where pluginMessage is pointer of type wchar_t
3. Add NPPM_GETCURRENTCMDLINE API for getting the latest command line.
4. Update command line dynamically in Debug info dialog.
Fix#11576, close#11589