184 Commits

Author SHA1 Message Date
ozone10
11cd8c55f0 Improve security for DLL loading
Use "/DEPENDENTLOADFLAG:0x800" to limite module search path to the %windows%\system32 directory.

Fix #13964, close #16762
2025-06-30 21:32:24 +02:00
Randy Fellmy
a9d8dca832 Add Locale-based line sort feature
Fix partially:

Fix #13456, fix #927, fix #8481, fix #11261, fix #16406, fix #16409, close #16490
2025-05-02 23:31:25 +02:00
xomx
9eb2598ea4 Add version of external libraries (Scintilla/Lexilla/Boost) into Debug Info
Dynamically collects all the version info needed and creates NppLibsVersion.h file by the help of a pre-build event.

Fix https://community.notepad-plus-plus.org/topic/21513/determining-supporting-library-versions

Fix #11466, close #16318
2025-03-23 15:44:32 +01:00
Christian Grasser
af9af11aec Refactoring for the better performance & smaller binary size
1. remove deprecated std::codecvt
2. replace s2ws -> string2wstring and ws2s -> wstring2string

Fix #15898, close #15913
2024-12-08 16:16:14 +01:00
Jiri Hruska
955b042fcb Enhance DoubleBuffer and fix the debug assert issue
Refactor DoubleBuffer, fix bugs, add comments, allow easy disabling.

Fixes #15363, close #15389
2024-07-19 19:32:54 +02:00
Jiri Hruska
5b36e097c2 Fix status bar and tab bar flicker when updated
Add double buffering for status bar and tab bar to avoid flickering.

Fix #15260, close #15296
2024-06-16 04:51:42 +02:00
ozone10
6cd6aa3843 Make clang warnings flags in makefile and msvc consistent
PR #15189 added option to use clang with gcc makefile.
This PR makes clang warnings flags in makefile and msvc consistent.

Close #15227
2024-06-01 01:26:04 +02:00
ozone10
cdf32d198b Reorganize icons folder
- remove unused delete icon and code related to it
- remove notepadPlus.Resource.targets
- fix dark mode edit control in preference file association subdialog

ref https://github.com/notepad-plus-plus/notepad-plus-plus/issues/14959#issuecomment-2131289263

Close #15192
2024-05-27 03:14:37 +02:00
ozone10
29fcd1ac91 Readd dpi API
ref https://github.com/notepad-plus-plus/notepad-plus-plus/pull/14871#issuecomment-2002547565

Close #14876
2024-04-02 01:44:52 +02:00
Don Ho
999b4d1887 Revert "Improve hiDPI appearance for some DM elements"
This reverts commit 356d5cd072b25f941266f40ea93118f274affdd9.

Close #14875
2024-03-17 17:39:28 +01:00
Don Ho
10305ebded Revert "Use undocumented dpi API to support win7"
This reverts commit c8a2bcb6b0c32c93fd0501378ebaeaa25fd6e984.

ref: https://github.com/notepad-plus-plus/notepad-plus-plus/pull/14855#issuecomment-2002031940
2024-03-17 16:13:12 +01:00
ozone10
c8a2bcb6b0 Use undocumented dpi API to support win7
Fix https://github.com/notepad-plus-plus/notepad-plus-plus/pull/14818#issuecomment-1993472569

Close #14855
2024-03-14 22:31:45 +01:00
ozone10
356d5cd072 Improve hiDPI appearance for some DM elements
This commit is also preparation to properly support HiDPI for Windows 10/11 and newer.

Fix #14817, close #14818
2024-03-12 18:04:21 +01:00
Don Ho
c45d7aca75 Fix plugin crash regression due to CET enhancement
Regression is introduced by: "Enable optimization flags & CET" (eef91b0)

Ref:https://community.notepad-plus-plus.org/post/88577
2023-08-14 16:37:15 +02:00
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