144 Commits

Author SHA1 Message Date
Jon Bockhorst
b75ccd29e2
Added close unchanged tabs command
Close #5185, close #5007
2019-03-26 13:11:15 +01:00
Don HO
4d58027f17
[EU-FOSSA] Add an enhancement to prevent from the eventual crash. 2019-03-22 20:08:31 +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
Don HO
52a4e21af5
Remove ugly coding style 2019-03-16 05:33:50 +01:00
Don HO
5356f648c2
Remove some ugly coding styles 2019-03-13 02:02:35 +01:00
Don HO
a2e9421669 Fix renamed new tab incorrect behaviour
Double-clicking on a "find all in current document" result in a renamed new tab get a prompt to create it.
2019-03-10 03:14:47 +01:00
Don HO
6580255a2b Fix a regression: double-clicking on a "find all in current document" result for an unsaved doc prompts to save it 2019-03-09 16:02:32 +01:00
Rajendra Singh
da3a17e912 Support More localization
Close #5323
2019-03-04 09:53:01 +01:00
Rajendra Singh
ae980ce4d4 Don't allow restricted characters for tab file rename
Extend class StringDlg, so that characters which are not allowed in a file name such as |, :, >, < etc. will be restricted for tab's new name so that there will be no problem while saving backup file.

Close #5324
2019-03-03 15:51:31 +01:00
Don HO
011aa960fb Fix a regression on c4ff9f76a35775b865c01e3ec7142bf222c2d95a
Fix a regression on c4ff9f76a3
2019-02-17 20:13:04 +01:00
Rajendra Singh
3546268c23 Add the capacity to rename non-existing document's tab
Close #5311
2019-02-17 18:17:24 +01:00
Don HO
c4ff9f76a3 Make "new #" document drag-and-drop operation among instances right.
New correct behaviour: Dragging out a "new #" document from instance 1 and dropping it into instance 2 makes disappear "new #" document from instance 1, and nothing happens in instance 2.
2019-02-16 23:47:03 +01:00
Don HO
7fe3cda1d0 [EU-FOSSA] Use wcscpy_s instead of lstrcpy to prevent from buffer overflow 2019-02-11 02:07:04 +01:00
Don HO
c906af27b2 [EU-FOSSA] Fix stack overflow in exts2Filters function 2019-01-30 23:33:16 +01:00
Silent
acb30b9e61 Fix "Close all but this" behaviour if multiple views are present and some files are dirty.
This PR contains three types of changes:

1. Actual bug fix. This bug appeared, because prior to closing files, "Close all but this" attempts to save modified files, and for that it needs to switch views. Those views were not restored after that, however - so further actions could end up being executed on a wrong view. Those are changed commented with // We may have to restore previous view after saving new files.

2. Another potential bug fix. Closing files in both views could result in views being switched (it may or may not, I did not manage to unambiguously find that out from the code). To prevent any possible issues, I stored view IDs in viewNo. If those could never switch, then the code changes nothing - but if they could, it fixes a potential bug.

3. Code clarity fix in Notepad_plus::switchEditViewTo. std::swap makes it more obvious this code is there only to swap values around!

Fixes #4911, Close #4920
2018-11-10 16:45:37 +01:00
Rajendra Singh
b9b3faf307 Fix crash issue due to Unix style path input in Open file dialog.
This issue occurs when "Use New Style Dialog" setting is not used .
Ctrl+O, then type D:/*.log and hit Enter.

Fix #4946, close #4986
2018-11-10 12:15:08 +01:00
Chris Cammack
fd51703ad8 Fix a performance issue for swiching back to folded document.
Use the _isFolding flag to fix several overlooked edge case hangs.
This pull request fixes additional hangs I found after #4867 when working with deeply-nested fully-folded files. The hangs are easy to reproduce by following these steps:

Download the sample file https://raw.githubusercontent.com/notepad-plus-plus/notepad-plus-plus/master/PowerEditor/src/Parameters.cpp
Open the downloaded file by itself in NPP and fold it using Alt-0
Create a new empty tab and remain focused on it
Perform the six actions below, each of which will produce a hang as NPP tries to change focus back to the first tab. On my machine, each hang lasts about 30 seconds. After control returns, refocus the empty tab again and try the next action.
Use File>>Open to reopen the downloaded file, even though it is already open
Drag and drop the downloaded file onto NPP to reopen it
Double-click the downloaded file to reopen it
Right-click the downloaded file and select Edit with Notepad++ in the context menu
Open the downloaded file from the command line: C:\Program Files (x86)\Notepad++\notepad++.exe" .\Parameters.cpp
Click the red [X] in the upper right corner to close NPP
After applying the patch, none of the hangs should happen any more.

Close #4999
2018-11-10 03:05:13 +01:00
Chris Cammack
fe458a7072 Fix hanging problem while switching back a fully-folded document by using shortcut (Ctrl-TAB)
Use the _isFolding flag to avoid expensive redundant operations that cause an apparent hang when opening or switching tabs to a large fully-folded file.

The released version of Notepad++ uses the _isFolding flag to avoid expensive redundant operations when switching to a fully-folded tab using the mouse pointer.

However, opening a fully-folded file or switching to a fully-folded tab with the keyboard can produce a delay so long that Notepad++ appears to hang forever.

The hang is 100% reproducible and can be demonstrated in less than 60 seconds:

Download a deeply-nested file such as https://raw.githubusercontent.com/notepad-plus-plus/notepad-plus-plus/master/PowerEditor/src/Parameters.cpp or https://github.com/notepad-plus-plus/notepad-plus-plus/files/1555939/nppTest.zip
Open the file in Notepad++ and fold it using Alt-0
Create a new empty tab
Switch back and forth between tabs using the mouse, which is fast
Switch back and forth between tabs using the keyboard (Ctrl-Tab, Ctrl-Page(Up|Down), Ctrl-NumPad[0-9]), which will hang
This pull request applies the existing _isFolding flag to the forgotten keyboard and file open operations and prevents the hang caused by opening or switching tabs to a fully-folded file.

Fix #3996, fix #1128, fix #1806, fix #4871
Close #4867
2018-10-07 23:42:47 +02:00
Rajendra Singh
efbc3b2160 Fix Tail moniotoring incoherent status after deleting a monitored file
Steps to Reproduce the Issue:

1. Open two files a.txt (first tab) and b.txt (second tab)
2. Start tail monitoring for a.txt (first tab) and activate b.txt (second tab)
3. Now delete a.txt from the explorer
4. Come back to notepad++
5. Observe the behavior now

Unexpected Behavior:

At step 4, if user choose to keep the file, a.txt is still marked as monitoring. As soon as del action occurs, b.txt automatically comes under "tail monitoring".
If user choose to remove file, a.txt should be removed from the notepad. This is absolutely fine.

Fix #4750, close #4751
2018-10-05 23:49:55 +02:00
Pavel Nedev
b48c086831 Fix wrong backup file deleted isuue
On doClose() delete the right backup file

Fix #4744, close #4745
2018-09-03 00:33:40 +02:00
Silent
9cb8fce854 Migrate timestamps from time_t to FILETIME and store them in UTC universally
Fixes #4491, #3969, #2535 and #215.
2018-06-25 00:32:46 +02:00
SinghRajenM
6890e94952 Fixed a code in ReadDirectoryChangesPrivate.cpp
Close #4257
2018-04-21 14:51:57 +02:00
Christian Grasser
0f4b0ec9a4 Fix typo to make translation work.
correct typo STRT_REPLACE -> STR_REPLACE

Fix #4354, close #4391
2018-04-20 13:10:18 +02:00
SinghRajenM
e9c0ee4866 Fixed UDL export extension issue
Fix #4372, close #4377
2018-04-20 02:42:56 +02:00
Jorge Rocha Gualtieri
182063f31b Fix for "Monitoring" doesn't detect changes
Fix #3142, close #3882
2018-02-25 20:34:35 +01:00
SinghRajenM
6e315e076a Updated Hindi localization
1. Updated "Hindi.xml"
2. Corrected typos in English.xml (changed "NppIO.cpp" and "shortcut.rc" accordingly)
3. Synced "english_customizable.xml" with "English.xml"

Close #4152
2018-02-20 20:22:49 +01:00
Don HO
a1b4628b8b Fix the wrong integer replacement (instead of string)
Fix also some minor grammatical errors

Close #4203
2018-02-20 13:38:09 +01:00
Don HO
1a86603a0c Make more dialog strings translatable 2018-02-04 21:38:49 +01:00
Silent
683c358e8a Fix 2 different files whose canonic names are the same can't be opened
in the same time issue

Fix Unicode file name comparision to match Windows behaviour (as opposed to doing a linguistic filename comparision)

Fixes #3820, closes #4141
2018-02-04 04:26:52 +01:00
Don HO
1d58c1d3d3 Add function list export feature
"notepad++.exe -export=functionList -lcpp c:\funcListTests\whatever.cpp"
will open whatever.cpp as cpp file, then parse this file to write the
funcLst result on disk, then exit Notepad++.
The result will write into c:\funcListTests\whatever.cpp.result.
2017-08-06 00:03:18 +02:00
Don HO
ecc9258d45 Fix the long time bug that non-exist folder to pass via command line is not opened without warning 2017-07-28 10:30:42 +02:00
Don HO
385746de01 Rename variables & clean up 2017-07-27 10:30:53 +02:00
SinghRajenM
194376d6d7 Fixed monitoring related issuse and corrected code
Updated file "NppIO.cpp" to deal with issue #3553

However both existing and updated code looks same, but it is not.
command(IDM_VIEW_MONITORING);
looks equal to

buf->stopMonitoring();
checkMenuItem(IDM_VIEW_MONITORING, false);
_toolBar.setCheck(IDM_VIEW_MONITORING, false);
buf->setUserReadOnly(false);
Updated code works on the current file being processed while existing code command(IDM_VIEW_MONITORING); works with current active buffer. Debugging for reported case can help to understand the above statement.

Justification for updating file "NppCommands.cpp":

See static HANDLE hThread gets a handle when monitoring is activated on a tab.
This handle is overwritten if monitoring is activated on another tab. Resource leak happens here as previous handle can't be closed at all.
However, this handle is not used anywhere in the code, then just why not to close the handle as soon thread is created.

Closes #3554, fixes #3553
2017-07-24 19:28:26 +02:00
SinghRajenM
a9adc4835d Remove some useless codes
Closes #3472
2017-07-17 10:39:46 +02:00
SinghRajenM
feff20893f Fixed saved duplicated file in the same view issue
While D:\test.txt has been opend. And open new Tab (new 1), add random text then save
it as D:\test.txt - 2 different tabs having same file opened and they could have
different content.

The fix checks for opened file existence only in the other view
(either in sub view or in main view), but does not check in same view.

Fixes #3384, Closes #3500
2017-07-14 11:38:06 +02:00
SinghRajenM
65a90fd91a Fixed regression for save session file
Fixes #3029, closes #3032
2017-05-08 19:45:18 +02:00
SinghRajenM
336992ea77 Activate buffer after reload
Fixes #3080, closes #3082
2017-04-30 20:33:00 +02:00
Don HO
20e669ff01 Add document snapshot feature (in progress) 2017-04-18 01:31:41 +02:00
Don HO
fe463dc03a Check content via document map on hovering (in progress) 2017-03-13 02:10:47 +01:00
SinghRajenM
6388d48e0c Enhance Load/Save Session Feature
1. If any session ext is set, then give preference to session ext instead
of "All Types (* . *). This is applicable for both save/load session
methods.
2. Show error message when user tries to load wrong session file (e.g. any
text file which is not a valid session file).
3. Correct typo and wrong description in a messagebox.

Closes #2921
2017-02-19 13:21:34 +01:00
SinghRajenM
746c3da88a Add to recent file history only if file is removed from all the views
There might be cases when file is cloned/moved to view. Don't add to recent list unless file is removed from all the views
Closes #2665, Fixes #2277
2016-12-24 20:57:34 +01:00
dail8859
5f3654b362 Expand environment variables in backup path
Fixes #2520, Fixes #2525
2016-11-08 08:07:32 -05:00
dail8859
a82d9f9981 Ensure backup directory exists
Failed backups result in a user error message and asks to save the file anyways. Closes #2346, Closes #2441
2016-10-23 21:07:17 -04:00
Don Ho
e31e37ebc3 Change quitOnEmpty trigger from command line to settings 2016-09-11 11:45:56 +02:00
Don Ho
000e447cb9 Fix "Folder as Workspace" not updating regression 2016-09-05 01:48:42 +02:00
Don Ho
e451efbd29 Add "Search on Internet" for selected words as build-in command
Update translation for French, Chinese and English.
2016-08-29 00:13:28 +02:00
Vineel Kumar Reddy Kovvuri
f3abc30c7a Recognize new file type via its file extension when file is created from the command line
Closes #2018, fixes #2016
This commit fixes the issue of notepad++ defaulting to 'Normal text file'
file type when creating new file form the command like:
notepad++.exe new_example_file.cpp
2016-08-14 18:28:31 +02:00
Don HO
37ed299743 Lost in Translation 2 2016-08-10 00:22:45 +02:00
Mark
8b0f5165d2 Added a -quitOnEmpty command line flag
closes #1923, Fixes #1006

-quitOnEmpty command line flag makes Notepad++ to quit when the last tab is closed. Useful for people who use Notead++ for things like editing Git commit messages (using -multiInst -notabbar -nosession), and want to signal they are done editing by closing the tab with Ctrl-W instead of Alt-F4.
2016-08-02 09:49:15 +02:00
Don HO
38ddd32ac5 Added some error checking during file saving.
Closese #1930
2016-07-15 02:18:01 +02:00