118 Commits

Author SHA1 Message Date
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
xomx
d9d26e5981 "-loadingTime" cmdline param enhancement
Improves:
- the reported time accuracy (from seconds to milliseconds, now e.g. different N++ settings benchmarking is possible)
- the ability to analyze various problems (now it is possible to distinguish the time taken by the app/plugin code-init from the possible file loading time)

Fix #14472, close #14473
2023-12-14 17:41:43 +01:00
Don Ho
ea40755e14 Fix product version value displayed in file's properties
Fix #14010, fix #11886, fix #11431, close #14025
2023-08-19 00:59:32 +02:00
Don Ho
c4733db0af Use better variable name & use standard type name
1. isInFile to isBetweenFileNameQuotes
2. generic_string to std::wstring
2023-07-27 14:26:01 +02:00
jofon
3ea789caea Fix error message of openning file with '=' as end of file name
Ignore '=' at the end of a file name.

Fix #13344, close #13917
2023-07-27 14:02:51 +02:00
Don Ho
25be5dd3b6 Code enhancement: remove some MSVS analysis warning (Part 2) 2023-03-06 19:33:36 +01:00
ArkadiuszMichalski
20f381e506 Add langCode for English and convert passed value to one format
Fix #8927, close #13272
2023-03-05 22:18:40 +01:00
ozone10
f38195a0da Fix GCC conversion warnings
Fix #13055, close #13056
2023-02-06 20:06:56 +01:00
Don Ho
39f32bda96 Fix panels not restored from systemtray with "Edit with Notepad++" in admin mode
Continue the fix from:
afacc8338e

Eventualy fix Notepad++ not being restored on the foreground issue.

Fix #13041, close #13058
2023-02-06 15:47:22 +01:00
Don Ho
5aeb8abb5d Fix notepad replacement opening file name containing white space regression
Fix #13032, close #13027
2023-02-02 20:35:45 +01:00
Rubat
afacc8338e Fixed dock-able panels not restoring for mono instances
The bug happens when Notepad++ is in the tray, and is restored via mono instance restore mechanism.

Fixes #9454, close #12817
2023-01-31 20:04:03 +01:00
Don Ho
6140865351 Use wide char version's function directely (part2)
ref: https://github.com/notepad-plus-plus/notepad-plus-plus/pull/12613#discussion_r1045153278
2023-01-19 04:12:29 +01:00
Don Ho
6c3659fe73 Fix Notepad Replacement bug by simplifying its code
Fix #12775, close #12800
2023-01-14 15:30:31 +01:00
Don Ho
df658a6010 Refactoring: make code more readable 2023-01-13 14:42:29 +01:00
Don Ho
3ee8660c23 Replace N++ by Notepad++ and fix some typos
Fix also function "getWinVersionStr" not returning "Windows 11":
https://github.com/notepad-plus-plus/notepad-plus-plus/pull/12722#discussion_r1058510340

Fix #12708, fix #12709
2022-12-29 15:38:20 +01:00
ozone10
ebe7648ee1 Code improvement, remove unnecessary part
Fix pedantic warnings, add initializers.

Close #12093
2022-09-07 17:49:56 +02:00
Don Ho
b5479bb9b0 Fix Plugin Admin not showing on menu due to certificate checking problem
* 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
2022-05-29 17:23:31 +02:00
Shridhar Kumar
0f8d5724af Add command line argument for plugin, a related notification and an API
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
2022-05-16 04:54:31 +02:00
Ibrahim Kosgi
1dffb05e0a Add file monitoring command line argument [-monitor]
Fix #10562, close #11539
2022-04-26 19:17:25 +02:00
Don Ho
252468c29b Revert "Remove the external lexer support"
This reverts commit 41a5bf0245b53e74186e49a21adec2c518587b5c.
2022-04-01 19:17:18 +02:00
Don Ho
2871ee519b Revert "Fix syntax highlighting regression with cmdline argument"
This reverts commit 7a2f809e68fee49d5fd3f9fc08521478d5f356e5.
2022-04-01 19:16:41 +02:00
Don Ho
7a2f809e68 Fix syntax highlighting regression with cmdline argument
41a5bf0245 (commitcomment-69921228)
2022-03-31 03:04:10 +02:00
Don Ho
41a5bf0245 Remove the external lexer support
SCI_LOADLEXERLIBRARY has been removed since Scintilla 5,
and I belive that Scintilla won't support it anymore:
https://sourceforge.net/p/scintilla/bugs/2236/

Close #11451
2022-03-30 18:52:47 +02:00
xomx
ca8c302805 Support better 2GB+ file (cmdline & session file adaptation)
Some members (_line2go, _column2go and _pos2go) from the CmdLineParams & CmdLineParamsDTO structs need 'int' to 'intptr_t' change to support 2GB+ files.
Saving & loading of the 'session.xml' needs a 2GB+ adaptation too. The underlying TinyXML (older v1) does not have a native support for the 64-bit integers, so loading/writing there has been changed to strings instead of integers. This way is fully compatible with a possible future update to TinyXML-2 (which has already built-in support for the 64-bit integers).

Fix #11213, close #11258
2022-02-22 14:32:28 +01:00
Ivan Ustûžanin
1c9009e9b2 Fix open file crash via open file dialog
Notepad_plus_Window was rather huge (megabytes). Now it's small (tens of kilobytes),
but to safeguard against future size increase move its allocation from the stack
into the heap.
By using smart pointer, this PR not only fix open file crash properly,
but also prevent stack from being corrupted in the future.

Fix #10454, close #10531
2021-09-09 16:05:50 +02:00
Don Ho
7bb39a08f1 Open a file from command line by applying an existent UDL via UDL name
Add command line flag -udl="UDL name" to open a file by applying an existent UDL via its name.

Close #10102
2021-07-04 19:03:52 +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
Don HO
d0afc51621 Add ARM64 support for auto-update feature 2021-04-22 05:20:54 +02:00
Don HO
15b7a26c87 Remove unecessary const type qualifier 2021-04-16 02:37:05 +02:00
Scott Sumner
cae2f77daf Add command line parameter for adding specified string to app title bar
Fix #9539, #9704
2021-03-28 04:18:23 +02:00
mere-human
dc106a4c95 Add Cloud Config and Command Line Arguments to Debug Info
Fix #9598, close #9607
2021-03-26 15:33:01 +01:00
Don HO
ab5c1d3e2a
Upgrade Notepad++ License
Update GPL version from v2 to v3.

Fix #9425, close #9441
2021-01-24 01:51:19 +01:00
Don HO
f617325006
Enhance ghost typing command line argument feature
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.
2020-12-21 17:54:10 +01:00
Don HO
b6a66ba2b1
Add "-settingsDir" argument for overriding default settings path
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
2020-12-21 16:03:05 +01:00
Don HO
3de506bf48
Update copyright
Close #5919
2020-04-04 23:03:18 +02:00
Don HO
1c55e0daa7
Fix loading localization file (-L) not working regression 2020-02-15 04:52:46 +01:00
Don HO
f3261f8620
Fix auto-updater disabling not working
Fix #5375
2020-02-14 01:33:16 +01:00
Don HO
6e6341cc61
Make some codes conform to the defined coding style 2020-01-28 02:20:44 +01:00
Markus Heidelberg
98f4b1503e
Fix GCC compile errors under Linux due to case sensitivity in #include
Closse #7528
2019-11-13 01:46:05 +01:00
Rajendra Singh
c16f7bbc1e
Fix a regression regarding notepad replacement issue
Fixed command line parsing logic error.

Root cause:
When you double click a file (where NPP has already replaced original Windows Notepad.exe) command like something like below is generated -

-notepadStyleCmdline -z "C:\WINDOWS\system32\NOTEPAD.EXE" F:\FakePath\PowerEditor\bin\change.log

After processing this command line, final command line is left as " F:\FakePath\PowerEditor\bin\change.log while others are ignored. Notice, quote " here just before the actual file path.

Later on, MS PAI ::PathIsRelative treats it as relative path because of quote " rather considering single file. It is expected too as per input to this API.

Now, notepad++ tries to open all the file from path F:\FakePath\PowerEditor\bin\ (in above case) along with file F:\FakePath\PowerEditor\bin\change.log.

Close #6215, fix #6211
2019-10-14 02:18:12 +02:00
Don HO
a739eade8e
Plugin list updater (in progress) 2019-10-13 21:48:27 +02:00
Don HO
06db9ee338
Code improvement for NppParameters 2019-08-14 22:13:24 +02:00
Don HO
f80b0ed293
Add Npp Pugin List update capacity (in progress) 2019-08-13 23:51:05 +02:00
Don HO
3643a1875b
Make 2 singleton "new-less"
Make WcharMbcsConvertor & FileManager "new-less"
2019-08-11 01:17:53 +02:00
Silent
dc6bd2a8d2
Fix commandline parsing issue
Fix issues where filenames would have multiple whitespaces in them.

Fixes #5861, close #5883
2019-07-15 09:50:13 +02:00
Don HO
57a49c3ba5
Add the commandline argument to open folders in "folder as workspace" panel
Add the ability to open folders in "folder as workspace" panel via command line argument "-openFoldersAsWorkspace".
Example:
notepad++ -openFoldersAsWorkspace c:\src\myProj01 c:\src\myProj02
The above command will launch notepad++ with folder as workspace panel by opening myProj01 and myProj02 in panel.

Close #4253, close #5100
2019-06-25 13:50:41 +02:00
Don HO
3baef49079 Add SHA256 checking of the authentity of used modules
In order to remove the code signing certificate dependency, SHA256 checking of the authentity of used modules (Scilexer.dll, GUP.exe and nppPluginList.dll) is added.
See the followling link for the detail information:
https://notepad-plus-plus.org/community/topic/17184/remove-code-signing-from-notepad
2019-02-27 10:14:36 +01:00
Don HO
bd7816755c [EU-FOSSA] Replace lstrcat by wcscat_s to avoid crash 2019-02-22 12:57:58 +01:00
Don HO
b9ce848881 [EU-FOSSA] Fix EXE Hijacking of gup.exe launched by Notepad++
Notepad++ launches updater (gup.exe) without checking the signature, that makes exe hacking possible.
The fix is to check updater binary's signature before launching it.
2019-01-18 00:40:01 +01:00