Commit Graph

227 Commits

Author SHA1 Message Date
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
Don HO 06db9ee338
Code improvement for NppParameters 2019-08-14 22:13:24 +02:00
Rajendra Singh 938dae9b2a
Improve singleton
Close #6036
2019-08-13 12:48:05 +02:00
Don HO 3dbb2c4b8e
Make NppParameters singleton "new-less" 2019-08-10 23:53:59 +02:00
Rajendra Singh bfd8cd0702
Initialize a member value correctly to prevent from crash
_langType in CmdLineParamsDTO could not be copied so Initialize its value to prevent from the crash.

Close #5838
2019-06-27 09:42:47 +02:00
Rajendra Singh 9539a892eb
Code quality improvement: pass string by reference instead of value
Also remove not implemented methods addBufferToView(), moveBuffer() and doActionOrNot() from Notepad_plus.h

Close #5784
2019-06-25 14:21:35 +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
Rajendra Singh cfa702a8a8
Retain read only flag state in session
Close #4987, Fix #4409, Fix #4872, Fix #2970, Fix #2548
2019-03-27 22:15:10 +01:00
Don HO 23bd8e484c
Use new "File Status Auto-Detection" option by default
And make it compatible with the existent arguments.
2019-03-17 21:19:20 +01:00
Don HO 193c4ecc5b
Clean up - remove dead code. 2019-03-17 18:02:06 +01:00
Rajendra Singh ba60fbdd71
Enhance "File status Auto-Detection" to avoid switching editing tab off behaviour
Fix a long waiting issue about file auto change detection, by adding a new option to avoid an annoying behaviour:
If file content is changed outside of Notepad++, while focus back to Notepad++, the current editing tab will be switched off, the changed file will be switched to and user will be asked to reload the file in question.
The new option remains the editing tab. User will be asked to reload it only if the changed file is switched in.

Fix #1087, Fix #3349, Fix #3333, Fix #3528, Fix #3138, Fix #3934, Fix #3160, Fix #1822, Fix #745, Fix #3599, Fix #4329, Fix #3971, Fix #4592, Fix #1116, Fix #2082
Close #4180, Close #5386, Close #4189, Close #1995, Close #2867, Close #3306, Close #2776, Close #2724, Close #2405, Close #4072, Close #4747

Close #5389
2019-03-17 12:21:16 +01:00