Commit Graph

237 Commits (88665b5d17427307d1ed9feff5a95556bd40d8c7)

Author SHA1 Message Date
Don Ho 3347044595 Fix edit zone not being applied to dark mode issue
Problem:
After installing Notepad++ v8.1 under an user account (with admin privilege), then switch to another user account (with or without admin privilege), launch Notepad++ and turn dark mode on. The dark theme on edit zone won't be applied.

Solution:
Notepad++ installer copies all theme files in installed directory instead of "%APPDATA%\Notepad++\themes\".
When theme is choosen or modified, it'll be saved in "%APPDATA%\Notepad++\themes\", and the saved theme file will override the original theme in installation directory.

New behaviour of theme:
Any theme selected via Style Configurator will be copied from its installation directory (C:\Program Files\Notepad++\themes\) into "%APPDATA%\Notepad++\themes\".
If the theme exists in "%APPDATA%\Notepad++\themes", the original one in s installation directory (C:\Program Files\Notepad++\themes) will be ignored.

Fix #10076, close #10077
2021-06-27 16:42:01 +02:00
Don HO 4aa459ef47 Switch to default dark theme as dark mode is enabled
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
2021-05-10 09:56:35 +02:00
Don HO cd1a468b1c Make select text foreground color setting optional
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.
2021-05-01 20:02:09 +02:00
Scott Sumner 0dbdef320f Add MarkAll Preference settings for case and word
Fix #9751 #5148, close #9796
2021-04-26 12:05:35 +02:00
Scott Sumner a0177e8d05 Add pref setting to allow Replace to stop after replacement
Fix #4437, close #9801
2021-04-26 10:26:47 +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
Don HO 1a9307b02d Add padding options in the edit zonze
Fix #2323
2021-04-11 19:59:30 +02:00
Don HO cbf3d2c9cb Add new feature "Distraction Free Mode" 2021-04-09 19:55:55 +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
Scott Sumner 874f0d0140 Add ability to avoid accumulating multiple search results
Fix #8777, close #9653
2021-03-27 18:19:54 +01: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
Udo Hoffmann 5c884a80c6
Add "Find in Projects" features
Close #8125, close #9534
2021-02-27 23:58:17 +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 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 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 a2ee3e6254
Fix a memory leak issue in NppParameters::writeSession
Solution: simplify the method NppParameters::getSessionFromXmlTree by removing unecessary variable member NppParameters::_pXmlSessionDoc.
2021-01-17 19:47:45 +01:00
Scott Sumner d5ad02521e
Improve option for setting save dialog filter to All Types
Fix #9325, close #9328
2021-01-08 04:34:23 +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
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 c9c2d1e376
Add an option for displying constant line number width
1. Add an option for displying constant line number width in Preferences dialog.
   This option set the line number constant width according the total line number in the document (minimun 4 digits).
   It ensures no unexpected visual effect while scrolling content vertically.
   If the document content is modified and the total number of lines is increased or decreased, more digits will be added or removed according the number of digits in total number of lines.

2. Add new plugin messages NPPM_GETLINENUMBERWIDTHMODE & NPPM_SETLINENUMBERWIDTHMODE for getting or setting LINENUMWIDTH_DYNAMIC / LINENUMWIDTH_CONSTANT.
   So plugins may send NPPM_SETLINENUMBERWIDTHMODE message with LINENUMWIDTH_CONSTANT to Notepad++ for avoiding some unexpected visual effect (while scrolling).

Fix #5670
2020-12-06 16:38:53 +01:00
Don HO 4b29971168
Add GUI in preferences dialog for adding URI customized schemes
And add default supported url schemes.
Related: 5168bdb and #9155

Close #9195
2020-11-25 03:19:30 +01:00
Udo Hoffmann 5168bdb7c5
Allow custom URL schemes
Fix #9155, close #9190
2020-11-22 18:06:37 +01:00
Don HO bbeb66aa56
Fix crash issue while passing argument "-export=functionList"
This regression is due to commit 7399257f56
(7399257f56)
2020-11-11 02:23:24 +01:00
Don HO 7399257f56 Fix docked panels appear with "-nosession" cmd line parameters
Fix #8005
2020-11-09 04:19:37 +01:00
Scott Sumner bbde64c308
Add preference for save type of normal text files
Fix #8866, close #8948
2020-10-05 00:26:48 +02:00
Scott Sumner 79cf60f498
Add alternative icon set for tab bar
Close #8068, close #8871
2020-09-30 03:04:06 +02:00
Don HO a2264e5b36
Restore Folder as Workspace's latest selected item of last session on start up
Fix #8353
2020-09-19 00:36:03 +02:00
Udo Hoffmann 84430809df Add back hovered blue underlined URLs
Fix #8654, close #8713
2020-08-23 12:28:14 +02:00
Scott Sumner 209ccb97ec Add confirmation preference for Replace All in All Opened Documents operation
Close #8527, close #8708
2020-08-16 16:15:21 +02:00
Scott Sumner 3a2edb99c4 Add word-wrap option to find-results context menu
Close #8624, close #8681
2020-08-13 17:17:22 +02:00
Scott Sumner 33f042932f Make (Find) dlgAlwaysVisible a true Preference setting
Close #7908, close #8651
2020-08-12 23:50:47 +02:00
Scott Sumner f1b059414b
Add an option to prevent right-click from canceling selection
Fix #8563, close  #8564
2020-08-06 20:11:10 +02:00
Udo Hoffmann 0a821b60e2
Add an option to improve rendering special Unicode characters
... by using Scintilla's DirectWrite technology.
It allows ligature support if the font needed (for exemple "Fira Code") is installed.

Fix #2287, close #8326
Fix #442, fix #675, fix #813, fix #870, fix #1621, fix #3458, fix #4056, fix #4086, fix #4490, fix #8305
2020-06-12 19:16:39 +02:00
Don HO 5e262c8122
Add an non-UI option to allow regEx backward search
Set "regexBackward4PowerUser" to "yes" in config.xml to eanable this option.
2020-06-05 00:56:25 +02:00
Don HO c3ec0cbf6e
Make vertical edge (column marker) usage easier
Simplify the UI to make vertical edge easy to use.
2020-04-17 16:20:34 +02:00
Don HO cc2c9b7740
Implement multi-line edge feature
Close #3128
2020-04-13 04:15:32 +02:00
Don HO 3de506bf48
Update copyright
Close #5919
2020-04-04 23:03:18 +02:00
Scott Sumner 4cc6215e63
Implement issue 905 to make Find window remember its position across runs
Close #905, close #7898
2020-02-07 23:31:29 +01:00
Christophe Meriaux 9387dcdaef
Fix restoring line position issue while document is wrapped
If you switch between tabs while wrap mode is enable, text jump to another lines.
It's an old bug, fixed in v7.5.9, but it had performance regression so it was reverted in v6.0.0.

It's been one year, and I'm back.
This works whatever the size of the file.
There isn't any performance regression because we don't use SCI_ENSUREVISIBLE scintilla command.

In case wrap option on, The restore position function is done in **twice** steps.

- First step: set selection, set anchor, set xoffset...
- Second step: once Scintilla has send the notification SCN_PAINTED, we can scroll several lines to set the first visible line to the correct wrapped line.

Keep in mind that Line wrapping is a background activity that takes time, specially for huge file.

Fix #2078, fix #2576, fix #3570, fix #4825, fix #4881, close #7781
2020-01-06 10:18:46 +01:00
Don HO 14074e1487
Disable file association settings when Notepad++'s no admin right
File association feature under Windows 10 needs the Administrator's preivilege.
This commit add an explicit message to users who want to use this feature, and disable this feature if Notepad++ has no Administrator's preivilege.

Fix #4984, fix #5192, fix #4542
2019-12-27 00:35:16 +05:00
Don HO 7a1096de5b
Make filling find field of Find dialog with selected word(s) optional
Close #3243
2019-12-25 13:32:40 +05:00
Waldi Ravens 4228c315fd
Make cmd cli ("Open Containing Folder in cmd") customizable
Add "commandLineInterpreter" setting in config.xml
No UI to set it, user has to add the fowllowing line into config.xml:
<GUIConfig name="commandLineInterpreter">powershell</GUIConfig>

(Use your shell to replace powershell)

Close #7737, close #7738
2019-12-15 18:27:34 +01:00
Don HO 3220eaaa30
Refine "Open UDL folder" command & make it translatable 2019-11-21 02:24:57 +01:00
Waldi Ravens 88a2f68f05
Fix typo
Close #6233
2019-10-21 10:47:00 +02:00
Don HO dde38183d3
Make monospaced font in Find dialog optional
Default value is disabled (old behaviour).
2019-10-17 14:16:10 +02:00
Don HO 445dc5ebc1
Fix a memory leak for NppParameters
Fix a memory leak due to not releasing allocated memory for NppParameters while quitting Notepad++
2019-10-05 20:51:29 +02:00
Don HO 10f6ff6c1f
Fix a crash (regression) due to "new-less" of NppParameters
The commit 'Make NppParameters singleton "new-less"' make NppParameters instantiate in the stack instead of allocating in the heap:
3dbb2c4b8e

It makes Notepad++ crash:
https://community.notepad-plus-plus.org/topic/18316/notepad-7-8-release-candidate-3/4

The crash is on following code:

  vector<MacroShortcut> & vShortcuts = NppParameters::getInstance().getMacroList();
  size_t nbItems = vShortcuts.size();
  for (size_t itemIndex2 = 0; itemIndex2 < nbItems; ++itemIndex2)
  {
  ...

vShortcuts.size() here return a random large number, which makes crash.

The explanation about vector::size() unexpected behaviour:
https://stackoverflow.com/questions/30548944/c-vector-size-is-wrong-and-higher-than-the-number-of-elements

Obviously the stack size is not large enough to contain NppParameters singleton in 64 bits.
2019-10-03 14:05:50 +02:00
Oirfeodent d5c0ef2c77
Increase Keyword Set for the adaptation of new updated Scintilla
This will enable languages having more than 7 keyword sets to use it.

"You can set up to 9 lists of keywords for use by the current lexer. keyWordSet can be 0 to 8" :
https://www.scintilla.org/ScintillaDoc.html#SCI_SETKEYWORDS

Fix #6020, close #6081
2019-08-23 11:29:45 +02:00