128 Commits

Author SHA1 Message Date
Don Ho
bc94d07766 [UPDATE] Unprecompile headers (part 4 - final) 2015-06-03 00:55:28 +02:00
Don Ho
246c8bd168 [UPDATE] Unprecompile headers (part 3) 2015-06-02 18:01:47 +02:00
Don HO
3f1e3da7d2 Merge pull request #153 from NN---/VS2015
[UPDATE] Make compilation on VS2015
2015-06-01 23:48:04 +02:00
NN
c18101823a Add missing files.
Add warning 4091 to be ignored.
Define _CRT_NON_CONFORMING_WCSTOK globally.
2015-06-01 21:40:20 +03:00
Andreas Jönsson
933aae4fc2 Improve str2Clipboard.
Make it take generic_string instead of TCHAR*, since at most callsites
we already have a generic_string.

Improve error handling. Depending on where we are in the function when
we get an error, we need to free the memory, unlock the memory, or
close the clipboard.

Note that if SetClipboardData succeeds then we should not do anything
more to the memory.
2015-06-01 18:47:24 +02:00
Andreas Jönsson
d6081a5f37 Improve copy functionality in find results window
Just copy the actual results, without the additional formatting with
line and file name. It respects the hierarchy in the results, i.e.
you can copy all results from a search operation, or from a specific
file, or just the lines you selected.
2015-06-01 18:39:22 +02:00
Don Ho
e9e710a3d4 [UPDATE] Unprecompile headers (part 2) 2015-05-31 22:40:07 +02:00
Don Ho
b35e759d11 [UPDATE] Unprecompile headers 2015-05-31 15:57:17 +02:00
Don HO
17e8ca3c15 Merge pull request #120 from andreas-jonsson/tempfix_corruption
[BUG_FIXED] Prevent big file corruption on some long period operations.
2015-05-30 18:00:16 +02:00
Don Ho
7f6dd17f03 [CODE_ENHANCEMENT] Code enhancement. 2015-05-28 01:22:28 +02:00
Andreas Jönsson
5b28e27b3d Add "static" to get internal linkage. 2015-05-26 22:54:11 +02:00
Andreas Jönsson
2a7ef2ecf0 Guard long-running operations with a mutex
The session snapshot feature runs in its own thread and access to
Scintilla etc is not thread-safe. As a *temporary* and *non-exhaustive*
fix we guard some long-running operations (undo, redo, replace, sort)
with a mutex to prevent data corruption.
2015-05-26 15:58:46 +02:00
Don HO
56ceaf5546 Merge pull request #117 from NN---/VS2015
[ADD] Add VS2015 project file and make notepad++ project compatible with VS2015.
2015-05-26 09:12:03 +02:00
Don HO
805ab2b9ff Merge pull request #86 from andreas-jonsson/decimal_sort
[NEW_FEATURE] Refine sort lines feature: Add Sort Lines Lexicographically/Integer/Decimal (comma) /Decimal (dot) with Ascending and Descending commands.
2015-05-25 22:59:26 +02:00
Andreas Jönsson
7c3376ae6b Use a rectangular selection as sort key. 2015-05-21 15:53:48 +02:00
NN
f867f40cb9 Add warnings description. 2015-05-20 12:39:28 +03:00
Andreas Jönsson
626dc02c4c Use old-style loop to be compatible with VS2010. 2015-05-20 08:25:14 +02:00
NN
2ef5e5eca3 Support compilation in VS2015.
Changes:
_CRT_NON_CONFORMING_WCSTOK - to have old wcstok behaviour
dbghelp.h doesn't disable warnings, do it manually.
Better casting from pointer to integral.
Disable warnings in tinyXml headers.
Disable warnings 4456;4457;4459 to not touch the source.
More details about the warnings: http://blogs.msdn.com/b/vcblog/archive/2014/11/12/improvements-to-warnings-in-the-c-compiler.aspx
2015-05-19 14:01:27 +03:00
Andreas Jönsson
7b9c342bda Fix outdated comment. 2015-05-18 09:32:24 +02:00
Robert Dailey
5c69e59187 Enable multiprocessor build
Project now utilizes the /MP compiler switch to perform
parallelized builds. The number of parallel builds performed
is determined on a per-machine basis based on available
logical CPUs.

Long term this will provide the best performance output to
code maintainability ratio compared to just enabling
precompiled headers.

Using my personal machine (8 cores), I got the following
timings (Debug configuration):

* Normal build           : 89 seconds
* Multi-processor build  : 28 seconds
* PCH enabled            : 27 seconds

Note that the multi-processor build timings can be further
reduced with proper dependency management and removal of
existing precompiled header file (precompiledHeaders.h).

Specific Changes:

* Precompiled header support disabled (not compatible with
  /MP flag).
* precompiledHeader.cpp deleted.
* Solution File added.
* Minimal Rebuild (/Gm) disabled (ignored when /MP is on).

precompiledHeaders.h still exists because it contains a ton of
inclusions required by lots of files. A second and less trivial
cleanup will involve removing the precompiledHeaders.h file and
individually correcting and satisfying dependencies in each source
file in the code base.
2015-05-17 22:34:34 -05:00
Andreas Jönsson
91da641adc Use initializer list in ISorter. 2015-05-17 21:50:06 +02:00
Andreas Jönsson
be230c1a29 Add a version of std::stod which takes locale.
We need a string-to-double conversion function which acts the same on
all computers, irrespective of which locale is running. We need to
guarantee that the function expects '.' as the decimal point, and not
','. The choice of en-US is more or less arbitrary.
2015-05-17 21:23:08 +02:00
Andreas Jönsson
0e42d3348a Fix handling of negative numbers + empty lines. 2015-05-17 20:05:25 +02:00
Andreas Jönsson
d0bafb7fba Add more options for sorting.
User can now choose between lexicographic, integer and decimal sorting.
For decimal sorting there are two further options: decimal point ('.')
or decimal comma (',').

When doing integer/decimal sort, the parsing is not as strict as
before. E.g during integer sorting the program will interpret "123abc"
as 123.

Performance of integer sorting has been improved by 30%.

The implementation of sorting is delegated to classes which implement
the new "ISorter" interface. Unfortunately due to template issues most
of the code had to go in the header file.
2015-05-17 19:18:43 +02:00
Don Ho
50410cc744 [BUG_FIXED] Fix compiling problem in debug mode
This problem is due to the sort lines enhancement.
2015-05-15 19:41:59 +02:00
Andreas Jönsson
83de4a9da2 Use long long in numeric sort (ie 64 bit numbers). 2015-05-11 09:26:31 +02:00
Andreas Jönsson
ee225f5cad Handle empty lines properly in numeric sort. 2015-05-10 11:00:58 +02:00
Andreas Jönsson
936d9c56fc When sorting, reserve enough space for work + output. 2015-05-10 10:30:17 +02:00
Andreas Jönsson
dd846658e6 Use new kind of loop. 2015-05-10 10:27:36 +02:00
Andreas Jönsson
501ce1d689 Make reference signs consistent. 2015-05-10 10:25:56 +02:00
Andreas Jönsson
83c16755ab Don't cache int->string conversion, it doesn't speed up anything. 2015-05-09 21:23:40 +02:00
Andreas Jönsson
4b3fbdd570 Don't throw pointers (MFC habit). 2015-05-09 13:25:36 +02:00
Andreas Jönsson
e258bcb3a7 Speed up numeric sorting by 10x.
Convert strings to int, sort, then convert back to strings.
2015-05-09 13:20:37 +02:00
Andreas Jönsson
bcbe48b13f Make stoi_CountEmptyLinesAsMinimum more restrictive.
It now only accepts digits and possibly a single minus character as the first character.
Ordinary std::stoi has too much special magic, e.g. it converts "1 a" to "1".
2015-05-09 12:49:47 +02:00
Andreas Jönsson
0eca4db949 Improve numeric sorting. No need to read lines from Scintilla, we already
have them in a vector.
2015-05-09 11:25:07 +02:00
Andreas Jönsson
eee7c4f16e Sort numerically (not lexicographically) if all lines are integers. 2015-05-09 11:02:58 +02:00
Andreas Jönsson
c926e18f42 Use more const. 2015-05-09 08:34:44 +02:00
Andreas Jönsson
1f4a1fb2e7 Optimize sort.
Remove custom, recursive implementation of quicksort which becomes too
slow to use after a couple of hundred lines.
2015-05-08 23:27:21 +02:00
Andreas Jönsson
930464fb8c Cleanup after comments in pull review. 2015-04-25 08:59:38 +02:00
Don Ho
73f47a2c04 [BUG_FIXED] Fix Setting on Cloud for dropbox not working issue. 2015-04-06 01:49:53 +02:00
Don Ho
f224c673bf [NEW] (Author: Pavel Nedev) Add notification for plugins : NPPN_BEFORESHUTDOWN NPPN_CANCELSHUTDOWN NPPN_FILEBEFORERENAME NPPN_FILERENAMECANCEL NPPN_FILERENAMED NPPN_FILEBEFOREDELETE NPPN_FILEDELETEFAILED NPPN_FILEDELETED
git-svn-id: svn://svn.tuxfamily.org/svnroot/notepadplus/repository/trunk@1346 f5eea248-9336-0410-98b8-ebc06183d4e3
2015-02-21 18:20:50 +00:00
Don Ho
b09a7c17f3 [NEW_FEATURE] Add new possibility to launch the auto-typing text from command line:
-qnQuoterName
-qfQuoteFileNameFullPath
-qtQuoteText


git-svn-id: svn://svn.tuxfamily.org/svnroot/notepadplus/repository/trunk@1328 f5eea248-9336-0410-98b8-ebc06183d4e3
2015-02-01 12:16:12 +00:00
Don Ho
b1f84d2788 [NEW] Add some menu accelerator.
[UPDATE] Fix some typos and syntax issues.

git-svn-id: svn://svn.tuxfamily.org/svnroot/notepadplus/repository/trunk@1299 f5eea248-9336-0410-98b8-ebc06183d4e3
2014-11-30 02:17:49 +00:00
Don Ho
770624c9c5 [BUG_FIXED] Make getFileName safer.
git-svn-id: svn://svn.tuxfamily.org/svnroot/notepadplus/repository/trunk@1274 f5eea248-9336-0410-98b8-ebc06183d4e3
2014-08-25 22:05:45 +00:00
Don Ho
44c291aee5 [NEW] Add new notification NPPN_SNAPSHOTDIRTYFILELOADED to notify plugins that a snapshot dirty file is loaded on startup.
git-svn-id: svn://svn.tuxfamily.org/svnroot/notepadplus/repository/trunk@1265 f5eea248-9336-0410-98b8-ebc06183d4e3
2014-07-26 09:47:14 +00:00
Don Ho
f3407442db [NEW_FEATURE] Add 2 new plugins APIs: NPPM_GETEDITORDEFAULTBACKGROUNDCOLOR & NPPM_GETEDITORDEFAULTFOREGROUNDCOLOR
[NEW_FEATURE] Make internal docking dialog match/follow the selected theme's background and foreground colors.

git-svn-id: svn://svn.tuxfamily.org/svnroot/notepadplus/repository/trunk@1259 f5eea248-9336-0410-98b8-ebc06183d4e3
2014-07-16 11:20:58 +00:00
Don Ho
bad9b9dbbf [NEW_FEATURE] Settings on cloud - dropbox.
git-svn-id: svn://svn.tuxfamily.org/svnroot/notepadplus/repository/trunk@1242 f5eea248-9336-0410-98b8-ebc06183d4e3
2014-06-02 07:02:46 +00:00
Don Ho
e3208e4ce2 [BUG_FIXED] Fix docking error messages displaying due to bad detection of windows version.
git-svn-id: svn://svn.tuxfamily.org/svnroot/notepadplus/repository/trunk@1236 f5eea248-9336-0410-98b8-ebc06183d4e3
2014-05-10 01:12:44 +00:00
Don Ho
6e9b5a64b1 [ENHANCE] Make extension column optional in vertical file switcher.
git-svn-id: svn://svn.tuxfamily.org/svnroot/notepadplus/repository/trunk@1170 f5eea248-9336-0410-98b8-ebc06183d4e3
2014-01-14 08:03:33 +00:00
Don Ho
81f5a3613e [BUG_FIXED] Fix sort settings bug in function list while reloading.
git-svn-id: svn://svn.tuxfamily.org/svnroot/notepadplus/repository/trunk@1137 f5eea248-9336-0410-98b8-ebc06183d4e3
2013-10-21 21:50:04 +00:00