199 Commits

Author SHA1 Message Date
ozone10
e2a1234384 Dark mode enhancement
1. Add "Follow Windows dark/light mode".
2. Remember user's toolbar, tabbar and theme choices for dark mode and light mode separately.
3. Add 2 hidden options for applying tab background color from themes (for both dark mode and light mode).

Fix #9183, fix #9992, fix #10153, fix #10239, fix #10544, fix #10644, fix #11867, fix #10239, close #12466
2022-11-22 01:54:05 +01:00
xomx
6000f3bb21 Fix session.xml emptying by forced Windows update restart
This fixes both the long standing problem with the emptying of the session.xml file by forced Windows Update restart/shutdown and some potential Notepad++ crashes caused by possible main Notepad++ window blocking at exit.

Two main changes to the original design:
- WM_QUERYENDSESSION is not used anymore for the tidy-up ops and it always quickly returns TRUE/FALSE to the system as it should.
- there is now a safe-guard flag for the session.xml saving at N++ exit, which prevents otherwise possible incorrect overwriting in case of multiple "endsession" messages.

Fix #9850, fix #12389, close #12388
2022-10-30 14:06:33 +01:00
Don Ho
513ee3e3fe Use Scitilla default 64 bits symbol 2022-10-30 01:09:52 +02:00
Don Ho
50a50cce3c Remember Column Editor settings through the sessions
Close #12386
2022-10-25 00:20:54 +02:00
Don Ho
cd6a6ac3bb Add "Allow clickable link" option in large file restriction
And enhance large file restriction UI

Close #12369
2022-10-22 14:31:19 +02:00
ozone10
2da5c5b393 Code enhancement
Fix parentheses, misleading-indentation, sign-compare, some conversion-null warnings.

Fix #12139, close #12140
2022-09-11 18:22:51 +02:00
spaxio
42d863dd9f Add setting colour ability for individual tab
Fix #2271, close #12098
2022-09-11 17:07:11 +02:00
VinsWorldcom
851900334c Add cycling function hints ability by ALT-UP/DOWN shortcuts
Fix #11950, close #12017
2022-08-24 03:04:37 +02:00
Don Ho
d0b2a9ff9d Skip save all warning dialg if only current editing file is dirty
Here is the behaviour of this commit:
1. If there's only one file dirty, and it's current editing one, then SaveAll dialog won't display.
2. If there's only one file dirty, and it's NOT current editing one, then SaveAll dialog WILL display.
3. If there's 1 editing file which is dirty, and its clone (dirty also) is on the other view, then SaveAll dialog WILL display.

Fix #10995
2022-06-14 02:52:52 +02:00
Don Ho
fa3ba7e389 Fix customizing toolbar icon messed with dark mode
Ref:
d85b9a7464 (commitcomment-74498214)
2022-05-27 04:06:11 +02:00
Don Ho
9cc01de97c Fix "Reload from disk" loosing syntax highlighting regression
In Scintilla4 reloaded document keeps its syntax highlighting without re-applying the lexer for its syntax highlighting.
It seems the behaviour has been changed in Scintilla5. Hence this workaround to force to apply syntax highlighting after reloading.

Fix #11606, close #11610
2022-04-29 19:44:54 +02:00
Ibrahim Kosgi
1dffb05e0a Add file monitoring command line argument [-monitor]
Fix #10562, close #11539
2022-04-26 19:17:25 +02:00
ozone10
2dbc25f918 Add initial dark mode support for Shortcut Mapper
- Partially implement #11530.
- Minor tweaks for drawAutocompleteColoursFromTheme to avoid double calling.

Close #11531
2022-04-13 21:11:17 +02:00
Don Ho
0ee65fd826 Fix x64 build error in 3f1a582a36db175a4f86b35dcd47f3aa5bf331fa
Fix x64 build error, remove unnecessary codes and add enhancement for the previous commit 3f1a582a36db175a4f86b35dcd47f3aa5bf331fa
2022-04-13 04:43:08 +02:00
ozone10
3f1a582a36 Add dark mode support for autocomplete list & calltip
Fix fix #11522, close #11523
2022-04-13 03:42:38 +02:00
Don Ho
785453147b Inialize all memebers of struct (instead of its 1st member) to zero
The curly brace initiator in C/C++ is quite confusing (at least to me).
The C style array uses {0} for initializing all the array to 0,
whereas C++ struct uses {0} for initializing only the 1st member's value to 0.
If we want to set all members' value in a struct to 0, we should use {} instread of {0}.

This commit fix the error which initialize only the 1st member's value to 0 in the structures.

Ref:
1. https://docs.microsoft.com/en-us/cpp/cpp/initializing-classes-and-structs-without-constructors-cpp?view=msvc-170
2. https://en.cppreference.com/w/c/language/struct_initialization
2022-02-09 16:41:56 +01:00
Don Ho
961a133a60 Remove 2GB file open restriction for x64 binary
Fix #10921, close #11047
2022-01-25 18:08:05 +01:00
Don Ho
b5d646b4cd Add exclude folder(s) capacity in Find in Files
This PR allows users to provide the list of excluding folder names/patterns in "Filters" field.
Eclusion operator is alway "!" at the begining. In order to distinguish folder from file, "\" should be used as prefix of the folder name/pattern, following "!". That allows the exclusion of the directories under the root directory you want to search (the 1st level of matched directories).

If users need to exclude folders with the same name (or names matched the specific pattern) in all levels, the + should be put between "!" and "\" to exclude them recursively.

Here is a sample:
Filters: *.* !\bin !+\test !+\log*
Directory: c:\myProject\

So the excluded directories could be:

    c:\myProject\bin\
    c:\myProject\log\
    c:\myProject\logs\
    c:\myProject\src\log4j\
    c:\myProject\test\
    c:\myProject\src\test\

The following directories will not be excluded:

    c:\myProject\foo\tests\
    c:\myProject\foo\bin\

Note that "inclusion of folder" is not allowed, and such pattern will be ignored.

Fix #2433, fix #8350, close #10927
2021-12-21 18:39:22 +01:00
Don Ho
a3116818e0 Code enhancement: Initialize variable member's value of struct/class
Close #10545
2021-09-14 03:08:17 +02:00
ozone10
68d293e711 Allow custom color for Document Map
Fix #10052, close #10422
2021-08-26 01:03:18 +02:00
Don Ho
deab93f9b5 Make "Confirm Save All" dialog more clear
Use "Always Yes" button instead of "Cancel", and whole dialog is translatble.

Fix #10339, close #10429
2021-08-25 16:31:51 +02:00
ozone10
1214319839 Don't reset style & icons, when changing dark tone
Improve title bar dynamic redraw when changing mode.

Fix #10049, fix #10196, close #10272
2021-07-28 17:03:47 +02:00
Don Ho
7c82c523b6 Add "Switch to Document List" command for shortcut
Fix #9015
2021-07-26 19:07:38 +02:00
Ashfaaq18
80c285ee2d Add a Save all confirm dialog
and add also an option in Preferences dialog to enable or diable the dialog.

Fix #2124, fix #9931, close #9968
2021-07-06 03:56:29 +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
Don HO
db27172ca8 Add Fluent UI icons for Dark mode
Add Fluent UI icons for Dark mode in the toolbar & the tabbar

Fix #9742, close #9831
2021-05-09 17:38:54 +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
432ad06108 Enhance Distraction Free mode: make dockable panels free 2021-04-14 03:39:25 +02:00
Don HO
90016a8dc0 Enhance Distraction Free mode by hidding another view 2021-04-13 03:38:40 +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
Don HO
92038c1653 Make struct VisibleGUIConf conform to coding standard 2021-04-07 18:02:30 +02:00
Udo Hoffmann
5c884a80c6
Add "Find in Projects" features
Close #8125, close #9534
2021-02-27 23:58:17 +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
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
c28116a04f
Add color samples on menu items for styling features
Fix #8983, close #9089
2020-11-02 15:15:37 +01:00
Don HO
71ae2cfce6
Fix dialogs remain issue after minimizing to systemtray
Fix #9044
2020-10-22 04:35:07 +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
Scott Sumner
5e632dfbef
Fix find-all-open-docs not finding all matches in ANSI files
Fix #8901, close #8914
2020-10-03 21:16:43 +02:00
Don HO
285172e36b
Make alternate icons of Tab bar changing dynamically 2020-09-30 03:33:37 +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
ddd2e5fd23 Improve some ambiguous commands naming in Shortcut Mapper
Separate command shortcut names and menu names.

Fix #8689, close #8690
2020-08-15 18:44:12 +02:00
Udo Hoffmann
783798e1ab Enable project panels toggle from menu
Close #8533
2020-08-11 00:04:16 +02:00
Scott Sumner
71b98a7a28
Add ability to find-all in selected text
Fix #7927, close #8133, close #8213, close #5089, close #8413
2020-06-16 01:39:19 +02:00
Udo Hoffmann
87dc9cc5d2
Fix Load project file by dragging doesn't work
Make workspace (project) & session xml setting files consistent while their file extensions are defined in Preferences dialog:
1. If I specify a session file in the command line (, or if I double-click a session file in the Explorer), not the session file itself is opened, but the session stored in it.
2. If I specify a workspace file in the command line (, or if I double-click a workspace file in the Explorer), not the workspace file itself is opened, but the Project Panel 1 switches to the specified workspace file.
3. If I specify a session file in the `File` menu `Open Ctrl-O`, not the session file itself is opened, but the session stored in it.
4. If I specify a workspace file in the `File` menu `Open Ctrl-O`, not the workspace file itself is opened, but the Project Panel 1 switches to the specified workspace file.
5. If I drag a session file to Npp, not the session file itself is opened, but the session stored in it.
6. If I drag a workspace file to Npp, not the workspace file itself is opened, but the Project Panel 1 switches to the specified workspace file.

That means that once an user extension is defined for these 2 types of file, Notepad++ stores only the session or the workspace but not opens the file itself. The session and workspace setting files are not supposed to be edited manually.

If a defined conflict happens (for example, a non session or workspace setting file with the defined extension), user can always remove the defined extension from Preferences dialog temporarily to open it.

cherry picked from commit 70e746b7a8fe44c9a1e724581ceb3b457138a474

Close #8374, fix #8324
2020-06-15 16:45:39 +02:00
Don HO
fa51c2af6e
Make URL hover foreground colour work again 2020-06-03 01:57:12 +02:00
Don HO
d4124108bc
Enhance Save file dialog
Make file extensions shorter in the file extension list for Save file dialog, so it displays more nicely while user clicking the drop down commbobox.
2020-05-30 18:40:57 +02:00
Udo Hoffmann
cf2175e479
Fix wrong project panel at start by openning a project via command line
Fix #8126, close #8161
2020-05-23 20:04:23 +02:00
Udo Hoffmann
4738c96318
Fix clickable links break syntax highlighting issue
By using indicators instead of stylers to make code shorter and cleaner.

Fix #999, close #8263
2020-05-15 17:49:23 +02:00