Commit Graph

170 Commits (891e8f936e03586b0bbf2850523a4af72701f622)

Author SHA1 Message Date
ozone10 eef91b0214 Enable optimization flags & CET
Fix #13855, close #13869
2023-07-17 11:09:17 +02:00
Don Ho 4ffd897ccf Add SHA-512 hash features
Fix also SHA-1 hash result wrong length bug while "Treat each line as a separate string" enabled.

Fix #13805, fix #13812, fix #13811, close #13806
2023-06-20 23:19:19 +02:00
Don Ho 32ce6b5b4c Code Enhancement: make notepadPlus.vcxproj less messed
Fix #13798
2023-06-19 19:29:13 +02:00
Don Ho b883759c83 Add SHA-1 hash feature
Fix #13791, close #13792
2023-06-17 13:25:07 +02:00
Don Ho 7077e304aa Add CSHA1 2023-06-17 03:46:44 +02:00
Don Ho 3b823f358e Add SHA1 hash generator 2023-06-13 19:35:06 +02:00
ozone10 e7f321f21a Add message NPPM_DARKMODESUBCLASSANDTHEME
to allow plugin authors to use generic dark mode.
Unfortunately not for C# plugins.
related #13572

Fix #13574, close #13596
2023-05-28 11:52:14 +02:00
ozone10 997ef821d1 GUI enhancement: Find Characters in Range dialog
- add accelerators
- add initializers

Fix #13577, close #13578
2023-05-02 04:58:52 +02:00
ozone10 3cf45ec3a8 Reorder tab focus in Run dlg
Plus:
- add key accelerators.
- remove unneeded library.
- add initializers.

Fix #13540, close #13541
2023-04-21 07:55:57 +02:00
ozone10 83b0b1e4ce Move uchardet file definitions from main project file to separate targets file
fix #13493, close #13494
2023-04-11 15:54:38 +02:00
Don Ho 36da61dc35 Code enhancement: remove some MSVS analysis warning (Part 5) 2023-03-08 18:35:02 +01:00
Don Ho ab5d29b6fe Code enhancement: remove some MSVS analysis warning (Part 4) 2023-03-08 00:28:42 +01:00
ozone10 34545beddd Code enhancement: enable code analysis with custom rule set
Ref https://github.com/notepad-plus-plus/notepad-plus-plus/pull/13143#issuecomment-1434689064

Close #13168
2023-03-06 16:17:30 +01:00
Christian Grasser e163c6d0aa Code enhancement: Secure overloads
- use  _CRT_SECURE_CPP_OVERLOAD_SECURE_NAMES, like in scintilla, see description in msdn https://msdn.microsoft.com/de-de/library/ms175759.aspx
- enable SDLCheck https://learn.microsoft.com/en-us/cpp/build/reference/sdl-enable-additional-security-checks?view=msvc-170

Close #13104
2023-02-15 15:19:37 +01:00
ozone10 63ba30cfe1 Code enhancement: add -Wextra flag for GCC builds
- fix ignored-qualifiers warnings
- fix inconsistent-missing-override warnings
- use -O3 flag for GCC builds to keep inline with scintilla and lexilla
- add clang default settings in props
- add clang detection in debug info

Fix #13099, close #13100
2023-02-13 23:55:35 +01:00
ozone10 f38195a0da Fix GCC conversion warnings
Fix #13055, close #13056
2023-02-06 20:06:56 +01:00
ozone10 8add866460 Code enhancement: use conformant code
Fix #12818, close #12819
2023-01-21 04:32:56 +01:00
ozone10 662b54e28a Add property sheet in VS project and clean project file
Ref: https://github.com/notepad-plus-plus/notepad-plus-plus/pull/12773#discussion_r1064351459

Fix #12790, close #12791
2023-01-11 18:34:01 +01:00
ozone10 6078ec7369 Replace macro min/max with std::min/std::max
ref https://github.com/notepad-plus-plus/notepad-plus-plus/issues/11147#issuecomment-1365724574

Close #12784
2023-01-10 21:01:36 +01:00
ozone10 0742410737 Use predefined cursor (hand) for link text
Fix #12772, close #12773
2023-01-10 00:38:00 +01:00
SinghRajenM 4b539b4d5d Build project using C++20
Fix #12232, close #12233
2022-10-05 15:44:56 +02:00
Don Ho 4c96f86979 Update build environment
Update MS Visual Studio to 2022 and its platform toolkits to v143.
2022-10-05 13:52:55 +02:00
Don Ho 83ee8f09bf Clean up NPPM_ALLOCATEMARKER API 2022-10-03 01:32:11 +02:00
Don Ho d1347d5014 Use "Max Speed" compiling optimization instead of "Full" compiling optimization
Use \Os instead of \Ox and fix the incoherent settings for the program optimization.

Fix #11778
2022-06-13 19:55:26 +02:00
Christian Grasser a61b03ea88 Update Scintilla from v4.4.6 to v5.2.1 and add Lexilla v5.1.5
Update with https://www.scintilla.org/scintilla521.zip
            https://www.scintilla.org/lexilla515.zip

- fix setting to bring Scintilla::PositionCR from ScintillaStructures.h inline with Sci_Position.h Sci_PositionCR
- add workaround to enable lexer for searchResult
commented out SCI_SETILEXER call on searchResult to get one result which is correctly handled by the lexer,
added comment about the current problem with property @MarkingsStruct which seems to disappear after call to SCI_SETILEXER or CreateLexer
- corrected usage of ObjC lexer
- removed unnecessary filter stuff
- use own sections for scintilla and lexilla build targets and allow parallel builds
- as libscilex is no longer existing, changed to libscintilla
- adapt makefiles and cmake
- use VS2019
- started simple changes for createlexer adaptations, nullpointercheck missing on return of lexer name from deprecated LexerNameFromID -> undefined behaviour
- movement from id -> lexer name, mostly done via LexerNameFromID + switching off corresponding compiler warning
- changed to SCI_SETILEXER from SCI_SETLEXER, SCI_SETLEXERLANGUAGE needs to be corrected, see Scintilla5Migration.html
- just commented out: SCI_LOADLEXERLIBRARY

Fix #10504, close #11419
2022-03-27 17:12:53 +02:00
Pavel Nedev 9aa9ecb664 Fix NUL file-corruption issue after system shutting down brutally
Uses native Win32 IO API (CreateFile, ReadFile, WriteFile, CloseHandle) instead of POSIX ones (fopen, fread, fwrite, fclose) for remedying NUL file-corruption problem due to system shutting down brutally.

Fix #6133, close #10598
2021-09-28 12:30:05 +02:00
mere-human 52c73f92dc Remove "Unicode" from build configuration names
Rename "Unicode Debug" => "Debug", "Unicode Release" => "Release"
since there is no non-Unicode version.
Also, fix the name in other configs for Git, AppVeyor and in the docs.

Fix #10114, close #10278
2021-07-29 15:14:55 +02:00
Don Ho 7d65bb9503 Use toolkits v141 still for a while 2021-06-25 15:56:08 +02:00
Christian Grasser 2e0d358cdc Adapt for VS2019 builds with toolkit v142
Fix #9922, close #9942
2021-06-25 15:26:27 +02:00
mere-human 263910a9a9 Fix compiler warnings when building Notepad++ solution
Remove unsupported option /arch:IA32 from x64 & ARM64 Release for Notepad++ project.
Define _SILENCE_CXX17_ITERATOR_BASE_CLASS_DEPRECATION_WARNING for
SciLexer project to ignore a specific warning in third-party code.
Now the solution builds without warnings in all configurations.

Fix #10033, close #10034
2021-06-19 18:52:43 +02:00
Adam D. Walling 5a3bf49c86 Add Dark Mode for not attracting bugs
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
2021-04-23 16:22:57 +02:00
Christian Grasser ab58c8ee3e One button to compile them all
1. Build Notepad++ with Scintilla static lib (libscintilla.lib) and Boost (v1.76) RegExpr.
2. ARM64 build is available.

Fix #5158, close #9594
2021-04-17 05:55:10 +02:00
Udo Hoffmann 6834d796ab Replaced UCS-2 by UTF-16, removed unused UniConversion.* 2021-03-27 03:00:14 +01:00
mere-human 6e43ba6ea5
Add an option to mute all sounds in preferences dialog
Fix #7950, close #9507
2021-02-19 03:46:52 +01:00
mere-human 3cf65ade81
Fix typo in ScitillaComponent directory name
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 #9403

Close #9450
2021-01-27 05:39:55 +01:00
mere-human e7079d57c6
Enhance FileDialog for allowing UNIX stile file path
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
2021-01-26 18:52:15 +01:00
Don HO 45912a3321
Drop Windows XP support for IFileDialogCustomize
https://github.com/notepad-plus-plus/notepad-plus-plus/pull/9378
2021-01-19 03:03:56 +01:00
mere-human b9f498f041
Add "save Folder as Workspace in session" option in save session dialog
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
2021-01-08 00:02:52 +01:00
Scott Sumner 5965b3d352 Project structure improvement: Move TreeView files in the right place
Close #9083
2020-10-31 19:15:11 +01:00
Scott Sumner 7bcb34b848 Add some missing items to Visual Studio project
Fix #9063, close #9073
2020-10-29 14:51:13 +01:00
Don HO c0c070abaf
Split functionList.xml into multifile in "functionList" Folder
New "functionList" will be added beside of notepad++.exe or "%APPDATA%\Notepad++\", according the installation mode. If the portable package is used, after removing "doLocalConf.xml", the "functionList" folder should be copied manually from Notepad++ installed directory to "%APPDATA%\Notepad++\" to make function list work again.

All splited files are localized in this folder with the explicit language name.

"overrideMap.xml" is optional for overriding the default functionList parse rule files, and for adding UDL parse rule files.

Close #4896
2020-10-21 18:05:08 +02:00
Udo Hoffmann e2a650ec10
Fix blue link-type number input boxes cut off issue
Fix blue link-type number input boxes in Preferences  cut off issue by setting sub system version numbers.

Fix #8985, fix #8144, close #8985
2020-10-12 03:49:51 +02:00
Udo Hoffmann 401bfcb0cd
Add new URL parser to replace inaccurate regex detection
Fix inaccurate URL detection and enhance URL detection for non-English character.

Fix #3912, fix #3353, fix #4643, fix #5029, fix #6155, fix #7791, fix #8634, close #8921
2020-10-04 18:42:10 +02:00
Jorge Rocha Gualtieri 66893f980f
Fix "Monitoring" not detecting all file changes issue
This patch adds an active monitor to detect changes on files since Windows isn't honoring FILE_NOTIFY_CHANGE_SIZE or FILE_NOTIFY_CHANGE_LAST_WRITE on ReadDirectoryChangesW correctly if the file writer keep it opened.
This solution is based on GNU tail for Windows does. It does it at
static void tail_forever (struct File_spec *f, int nfiles, double sleep_interval) on tail.c.

Fix #3142, fix #4955, fix #4527, close #7969
2020-02-25 22:16:57 +01:00
Scott Sumner d3cb2ceb36
Add external sound control capability for unsuccessful search bell
Fix #7950, close #7951
2020-02-17 03:37:18 +01:00
Don HO 581aff630a
Use standard C++11 mutex
And remove unecessary files

Close #6093
2019-08-25 23:34:30 +02:00
Don HO c34d3c9a4b
Make standard conformance for C++
Use SDK 10.
Use toolset v141.
Conformance mode is enable.

Check the following link for mre detail:
https://github.com/notepad-plus-plus/notepad-plus-plus/pull/6054
2019-08-18 01:52:25 +02:00
Don HO 66fc977304
Pass VS Toolset from v140_xp to v141 2019-08-17 03:41:59 +02:00
Don HO d14cb43e9d
Remove VS2013 project file. 2019-05-31 22:35:32 +02:00
Don HO 486e2188b2
Revert "Update uchardet to 0.0.6 to improve UTF-8 detection quality"
There are several important regression in uchardet to 0.0.6. Hence this revert.
This reverts commit bfb7e863cc.

Fix #5299, fix #5310, fix #5202, fix #5440
Close #5414
2019-03-25 19:35:15 +01:00