In some cases, checkbox was found instead of OK button and window procedure was overriden for it. Now, the OK button is identified using style and label checks.
Also, in some cases IFileDialog::GetFileTypeIndex() returns the old value. To fix that, always remember the file type selected.
Fix#9939, close#9945
Resolves issue #4401 "Spanish translation: Search dialog items do not fit (translated texts too long)". Now the text fits the search dialog
Before:
<Item id="1703" name="&. se ajusta a línea nueva"/>
Now:
<Item id="1703" name="&. para nueva línea"/>
Fix#4401, close#9898
As at commit f7a04ca of this repo.
View of shortcuts:
Original: Display all shortcuts in form of `Example(X)`
Now: Display the shortcuts in English word, if any.
i.e. `E&xample`
Originally it is to follow the pattern of Taiwan translation.
However, the previous commit had added a lot of shortcuts.
It is better to adapt new strategy for the UI.
Close#9920
Usage:
void NPPM_ADDTOOLBARICON_FORDARKMODE(UINT funcItem[X]._cmdID, toolbarIconsWithDarkMode iconHandles)
This new API NPPM_ADDTOOLBARICON_FORDARKMODE is for replacing obsolete NPPM_ADDTOOLBARICON which doesn't support the dark mode.
2 formats / 3 icons are needed: 1 * BMP + 2 * ICO
All 3 handles below should be set so the icon will be displayed correctly if toolbar icon sets are changed by users, also in dark mode.
struct toolbarIconsWithDarkMode {
HBITMAP hToolbarBmp;
HICON hToolbarIcon;
HICON hToolbarIconDarkMode;
};
Close#9928
NPPM_ADDTOOLBARICON take structure
struct toolbarIcons {
HBITMAP hToolbarBmp;
HICON hToolbarIcon;
};
as argument, both hToolbarBmp & hToolbarIcon should not be null to take effect.
This reverts commit f249fc5902 due to a regression.
To reproduce the regression:
1. Ctrl+f and set to "Regular expression" as Search mode.
2. Press Shift+Ctrl+f to bring up "Find in Files".
3. Note that "Match whole word only" checkbox is missing, and cannot be made to appear.
Ref: #9766 & #9792
Functions defined at the top of the file or below a class with nothing in between would not show in the Function List.
This changes the function regex to fix this. A small unit test that the old regex won't pass but the new will included.
Close#9844
1. Add default dark theme.
2. Switch to default dark theme when dark mode is enabled considering both situations:
Style Configurator is or ont launched.
Close#9847
Make selected text with syntax highlighting as default behaviour.
To override the default behaviour, user can add an empty xml file named "enableSelectFgColor.xml" (beside of "config.xml") to set the select foreground color in Style Configurator.
Toolbar, status bar, tab bar, menu bar, dark scrollbar, handle switching between light and dark, docking splitters and headers, flicker fixes. Minor tweaks to DarkMode.h. Mostly handles the dark mode request for the main interface for #7692 and also follows the windows system theme settings like #9183.
Fix#9183, fix#7692, close#9587
IFileDialog doesn't modify the current directory unlike the old file
dialog. Now the last used directory is remembered each time the user
changes directory and then set as working directory if needed.
Fix#9767, close#9775
Add "Append extension" checkbox to Save As dialog for replacing option "Save dialog file extension filter to *.*" in Preferences dialog.
Fix#9515, close#9732
- added missing unittest for c
- added further function lists for ada, fortran, fortran77, haskell from previous PR of MAPJe71_functionlist_update3
- added simple rust function list
- unittest files from the internet probably no complex ones
- added to installer
Fix#9698, close#3393, close#9727
The workaround is: in case of UDL, "-lLANG" argument part is ignored.
We let new instance detect the user lang type via file extension - it works in the most of case, except if user applies an UDL manually.
For example, this workaround won't work under the following situation:
user applies Markdown to a file named "myMarkdown.abc".
Fix#3451
Added Edge to the same case as the other browsers, which substitutes spaces for %20, and opens the files as expected and add legacy edge as a backup in case the new edge isn't found.
Fix#9313, close#9677
Remove a workaround for double backslash that leads to problems.
Originally, the double backslash workaround was needed to address #5368.
But now, the app isn't stuck when such path is used, so the problem is gone.
Fix#9582, close#9666
Follow-up to these commits:
* Add an option to mute all sounds in preferences dialog (6e43ba6ea5)
* Make tab splitter menu and incremental search translatable (35584b379f)
Close#9559
This reverts commit 1364b199b4.
3 ways we can choose:
1. PerMonitorV2: it would be the ideal solution if there were no custom control in Notepad++ : some part of the custom controls like panels and Find dialog are not rendered properly in PerMonitorV2 mode.
2. PerMonitor: in v7.9.3 WM_DPICHANGED message was not processed and that makes Notepad++ unusable under a high resolution monitor.
3. Without "PerMonitor" feature: (as in v7.9.2), it will be a little bit blurry, but at least the system resizes all parts of application correctly
This commit revert the modification in v7.9.3 and go back to the way in v7.9.2 (Without "PerMonitor" feature).
It's not easy to solve this issue, all I can do is choose the "less worst" way, just like people in world-wide vote for choosing their political leader.
Fix#9513, fix#9579
During the installation, GUP localization file will be synchronized with Notepad++ chosen localization.
So updater will show the same installed language of Notepad++ in the dialogs if the language is avalable in GUP.
Improve file name parsing.
Use the absolute path to check if a file name is a directory.
Expand environment variables if they are part of the file name.
Avoid unnecessary calls to onPreFileOk().
Close#9467
Follow up to these commits:
* Make find/replace in files progress translatable (d6c941034d)
* Improve option for setting save dialog filter to All Types (d5ad02521e)
* Make 1 section name of Preferences more explicit (e26199ab51)
* Make "Save Folder as Workspace" in Save Session dialog translatable (41c4180b2e)
* Fix spelling inconsistencies
Close#9376
Rename ScitillaComponent -> ScintillaComponent.
Git history should be kept because `git mv` was used.
Also change paths in source code.
This was noted in scope of #9403Close#9450
And use modern CustomFileDialog istead of old FileDialog in Notepad++.
In the file dialog, override window procedure for "OK" button and
file name edit box to check for input.
Transform forward slash file name to a Window path after input.
Fix#9374, close#9403
Save snapshot session immediately when needed (without incuring delay by using ::PostMessage).
Fix#7839 and latest user reported problems in #6133.
Close#9427
When any of the Find window comboboxes are dropped and an entry is highlighted, pressing the Delete key will remove the highlighted entry from the following comboboxes:
1. Find what combobox
2. Replace with combobox
3. Directory combobox
4. Filters combobox
No method is provided for clearing all entries at once, but as the "depth" of the comboboxes is limited to a small amount, clearing one entry at a time (when one wants to clear all) is not overly burdensome.
Fix#9366, close#9396
Implements a fix whereby the RIGHTMOST user specified value in the vertical edge box is the column to split by, e.g. 60 in the following example: [15, 40, 60]
If the contents of the box were instead [15, 60, 40], the split-by column would be 40, as that is the RIGHTMOST value.
Fix#8262, close#9387
Add new methods to CustomFileDialog:
- setTitle() sets the dialog title
- setFolder() sets an initial directory
- pickFolder() shows a file open dialog to select a folder
Use CustomFileDialog in folderBrowser().
Affected areas:
- Search > Find in Files
- File > Open Folder as Workspace
- Preferences > Default Directory
- Preferences > Backup > Custom Backup
- Preferences > Cloud & Link
Fix#8513, close#9378
Save FileBrowser root folders if it is visible.
When loading a session file (from menu or via the command line),
launch a FileBrowser from scratch and add folders from the file to it.
When loading an auto-saved session, ignore saved FileBrowser folders.
Store roots and selected item of FileBrowser in a Session class.
Add "FileBrowser" node to session XML.
It containts "latestSelectedItem" attribute and "root" child nodes.
This structure corresponds to the one from "config.xml".
Current save session behavior for Folder as Workspace (FaW) is like this:
1. FaW isn't opened, checkbox is greyed-out -> FaW info is not saved in session
2. FaW is opened, checkbox isn't checked -> FaW info isn't saved in session
3. FaW is opened, checkbox is checked -> FaW info is saved in session
Load session behavior:
1. FaW isn't open, session without FaW info -> FaW isn't shown after loading
2. FaW isn't open, session with FaW info -> FaW is shown after loading
3. FaW is open, session without FaW info -> FaW is kept as is without changes
4. FaW is open, session with FaW info -> FaW is shown with new directories from session
Fix#9165, close#9286
1. Added xml syntax check via python script just for the win32 debug build because there already the functionlist check happens.
2. Fixed an issue found for perl.
Fix#9330, close#9339
Follow-up for these commits:
* Make UI text consistent regarding search results (f5dcfc196a)
Note: Diff of this PR is smaller than the commit above, but it's OK. Japanese translation was already translated correctly.
* Add ellipsis to Rename and Print on tab bar context menu (1961f708c1)
* Add tooltips for Folderas Workspace 3 commands (070630a243)
* Prevent names of untitled tabs from duplication (f75f8b8d40)
* Update English file with missing strings (a7f866b89e)
* Add context menu with "Copy link" ability (d155f0326a)
* Add GUI in preferences dialog for adding URI customized schemes (4b29971168)
* Create new Margin/Border/Edge sub-page in Preferences (053266c706)
* Add an option for displying constant line number width (c9c2d1e376)
* Make "Line" preceding each line number on Search Results translatable (e3455a0f7e)
* Make "total documents number" feature in Window dialog translatable (0546f75a71)
Close#9111
Enhance ghost typing command line argument feature by changing its format:
With it's new format -qX="string contains white space" (where X is 't', 'n' or 'f'), the white spaces can be contained between double quote, so no need to use %20 anymore for substituting white spacees.
Currently the settings directory could be:
1. Notepad++ installation dir if doLocalConf.xml is present.
2. %APPDATA%\Notepad++ if doLocalConf.xml is absent.
3. The path defined in \cloud\choice in Notepad++ installation or in %APPDATA%\Notepad++, it depends on the existence of doLocalConf.xml.
In this PR "-settingsDir" argument is added for overriding above settings paths:
4. Overrided by command line argument -settingsDir="E:\my NppSettings\" : All the above configurations will be ignored, Notepad++ will load (and write) config.xml and the other configuration xml files from (into) "E:\my NppSettings\". Note that double quotes is not necessary if there's no white space in the given path.
The priorities are: 1. -settingsDir 2. Cloud 3. %APPDATA%\Notepad++ or Notepad++ installation dir.
If the given path "E:\my NppSettings\" is not a valid directory (it doesn't exist or it's a file), this argument is ignored and the settings dir will fall back to Cloud (or to %APPDATA%\Notepad++ or Notepad++ installation dir, if settings on Cloud is not defined).
Close#4696, close#9287