Commit Graph

84 Commits (4fb8845183122409ef738597c788d69e327acd46)

Author SHA1 Message Date
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 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
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
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 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 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
Silent bfb7e863cc Update uchardet to 0.0.6 to improve UTF-8 detection quality
This PR updates uchardet (https://www.freedesktop.org/wiki/Software/uchardet/) to the newest stable version (0.0.6).
This version seems to improve UTF-8 detection quality, so updating this dependency is expected to squash numerous charset detection issues.

Fixes #4878, Fixes #4767, Fixes #4428, Fixes #4246, Fixes #3705, Fixes #3588, Fixes #431, Closes #4925
2018-11-09 13:49:58 +01:00
Don HO 519fecbb82 Add SHA-256 implementation and use sha-256 instead of md5 in Plugin Admin 2018-10-24 09:45:35 +02:00
Silent 6b5144d176 Fix format specifier warnings - /Wv:18 can now be removed
As a follow up to my previous pull request, this PR fixes the last remaining improper format specifiers. This allows to remove /Wv:18 compilation flag completely, since (presumably) the only reason it was added in the first place were those format specifier warnings, introduced in VS2015.

Effectively, all this PR does is applying fixes suggested by the compiler (included in those warnings).

Close #4604
2018-06-27 22:35:32 +02:00
Silent 08eb29e3d6 Force cpp standard const char pointer on string literals
const-ified all string literals to suppress warnings on gcc and allow /Zc:strictStrings to be used with Visual Studio

Fix #4146, close #4150
2018-06-25 00:06:26 +02:00
Don HO 40163e0338 switch from VS2013 to VS2015 & VS2017 2017-10-01 23:16:17 +02:00
Don HO b033d907b2 Export function list in json format 2017-09-11 02:46:15 +02:00
Don Ho 5c714043fb Fix compiliing issue in VS2013 2017-05-08 01:43:04 +02:00
Don HO 20e669ff01 Add document snapshot feature (in progress) 2017-04-18 01:31:41 +02:00
Don Ho e5f4344f69 Add Crypto lib in vcproj to make Notepad++ compiled under VC2013 2017-03-08 03:14:54 +01:00
Don Ho c235e17f7d Add Plugins Administrator (UI part, in progress) 2017-01-20 14:13:41 +01:00