Commit Graph

97 Commits

Author SHA1 Message Date
Rainer Kottenhoff
aa52069372 + fix: re-enable accidentally disabled toolbar buttons (find, replace, clear, toggle-folds, file-launch) 2017-08-18 12:39:23 +02:00
Rainer Kottenhoff
f22d0198b9 + fix: remove obsolete settings entry, never read (SciDrawTechnology)
- correct entry is 'SciDirectWriteTech', must by manually edited

+ add possibility of override SciDirectWriteTech Settings (general section),
  by resolution specific specialization (using general settings if not defined)
2017-08-18 12:01:50 +02:00
Rainer Kottenhoff
fbf995a5c1 + fixing crash: no good idea to make char array (char*) external to other compilation unit
(might be a 64-bit pointer problem or (higher probability) an order of initialization problem)
  found another (better) solution for that
2017-08-18 10:18:57 +02:00
Rainer Kottenhoff
accbcdcb2e + fix: wrong shortcut in menu on word navigation (Ctrl+LEFT/RIGHT)
+ add: toggle option for accelerated word navigation (Ctrl+LEFT/RIGHT)
  according to issue #27 (https://github.com/rizonesoft/Notepad3/issues/27)
  - [Settings2] parameter "ExtendedWhiteSpaceChars=" defines a
    set of chars to be ignored (handled as whitespaces) to find the next beginning of a word
    if "Accelerated word navigation" is switched ON
2017-08-17 17:56:08 +02:00
Rainer Kottenhoff
f6f1c5ad0d + rename encoding menu item: "Recode No FileVars" (Alt+F8) =>> "Ignore Encoding Tags" (Alt-F8) 2017-08-17 15:06:34 +02:00
Rainer Kottenhoff
362738769a + update to Scintilla 376 (root of long term maintenance branch avoiding C++14, C++17 and later features)
(one change only: the Baan lexer correctly highlights numbers when followed by an operator.)
2017-08-17 08:47:57 +02:00
Rainer Kottenhoff
6474ab9a22 + Save Edit.c and Version.h as UTF-8 w/BOM to make Unicode chars independant from encoding ANSI local codepage.
+ remove some unneccessary comments with unicode chars
2017-08-16 22:58:37 +02:00
Rainer Kottenhoff
1a9f19d961 + fix: restore selection after undo: revert selection mode too 2017-08-16 21:40:55 +02:00
Rainer Kottenhoff
878a84b9ad + fix: unicode conversion error fixed in .rc 2017-08-16 16:19:48 +02:00
Rainer Kottenhoff
b88fe6bf26 + add Del/Back Selection preserving on Undo/Redo 2017-08-16 15:39:21 +02:00
Rainer Kottenhoff
7f52ae6a4d + fix: restore "rectangular" selection too on "Selection Cut" Undo/Redo 2017-08-16 14:13:18 +02:00
Rainer Kottenhoff
ba09c53f27 + Cut Selection (Ctrl-X) will preserve Selection on Undo/Redo 2017-08-16 12:33:45 +02:00
Rainer Kottenhoff
e66c9cae8f dev trial 1 2017-08-16 00:18:06 +02:00
Rainer Kottenhoff
d9ef89f715 + fix Toolbar Button "Save" has to be enabled on encoding changes
+ encode Notepad.rc as Unicode BOM (UTF-16LE) to enable unicode characters for resource embedding
2017-08-15 21:45:29 +02:00
Rainer Kottenhoff
490b99831a + fix bug on path compare for editing own settings file (.ini) to disable "save settings" menu entries (should be case insensitive) 2017-08-15 19:27:16 +02:00
Rainer Kottenhoff
2e2e1707cd + further discussions on notepad2-mod PR #200 convinced me, that the "reload UTF-8 bugfix" solves a problem regarding pure ASCII files reloaded as UTF-8.
+ add menu entries for launching WebTemplates (specified in section [Settings2]) with selected text as arguments
2017-08-15 19:12:13 +02:00
Rainer Kottenhoff
2a11751359 + Zero initializing string buffers (hardening code while searching an issue regarding "Recent Files" list in "relative paths" mode ... 2017-08-15 17:32:31 +02:00
Rainer Kottenhoff
461b848156 + add Enabling/Disabling Save-Button in toolbar according to file modified indicator
- moving Save Settings enabler (in case of own settings loaded into editor) to method (instead of define)
2017-08-15 09:12:18 +02:00
Rainer Kottenhoff
63479b9a26 Merge branch 'master' into NP2-mod_Enhancements 2017-08-14 21:34:34 +02:00
Rainer Kottenhoff
640274b0a5 + took the nice pull request from @zufuliu (notepad2-mod PR #200 : (https://github.com/XhmikosR/notepad2-mod/pull/200)
and put some of the "hidden" shortcuts into NP3's menu tree.
   - couldn't reproduce the "reload as UTF-8 not work bug" in NP3 (?) - so didn't merge the related change.
     (if someone can reproduce it, please tell me)
+  I "guard" the shortcut for direct editing the NP3's .ini-file (Ctrl+F7) by disabling "Save Settings Now (F7)" and  "Save Settings on Exit" - Flag
    as long as I edit the settings file itself.
    (Example not disabling this:  Editing the .ini-file while "Save Settings on Exit"-Flag is checked,
     leaving NP3 would override the just edited .ini-file with "old" NP3 settings ...)
2017-08-14 21:30:16 +02:00
Rainer Kottenhoff
592796d44f menu integration of "hidden" commands 2017-08-14 18:12:13 +02:00
Derick Payne
49b7372766 Updated build bat files 2017-08-12 20:13:24 +02:00
Rainer Kottenhoff
223a977207 Merge branch 'Sandbox' into Code_Quality 2017-08-11 20:13:03 +02:00
Rainer Kottenhoff
93325e250d + add printing additional option /v(d)ialog to allow access to the Printer dialog (as on Menu: Print... ) 2017-08-11 20:10:52 +02:00
Rainer Kottenhoff
1ebeb4ceca + minor fixes for .vcxproj files regarding optimization and linker settings 2017-08-11 19:48:46 +02:00
Rainer Kottenhoff
935eed6d1e Merge branch 'Sandbox' into Code_Quality
# Conflicts:
#	src/Notepad3.c  (manually linebased merged)
2017-08-11 19:07:32 +02:00
Rainer Kottenhoff
fc10dbf655 + add command line option ( /v ) to print file immediately and quit (like Window's original notepad.exe /p option) 2017-08-11 18:33:38 +02:00
Rainer Kottenhoff
af4d1292f4 + raise Warning Level from 3 -> 4, and fix corresponding warnings
+ option: build-time: treat warning as error (build fails)
+ cleanups reported by CppCheck v.1.79  (except issue: 'variableScope')
+ remove _CRT_SECURE_NO_WARNINGS to see security warnings for deprecated functions;
+ remove macro-definition for BOOKMARK_EDITION (bookmarks are fixed component of NP3 now)
   (code has not been excaped by this MACRO consistently)
2017-08-11 14:18:39 +02:00
Rainer Kottenhoff
8600d566db fixing issue #35 (preserve FileExtension settings while switching Styles / 2nd Default Scheme)
+ enlarge some string buffers for dialogs
+ fixing np3encrypt vcxproj files
2017-08-11 03:35:21 +02:00
Derick Payne
dc2968bb28 Prepaired NP3 Build 422 for Release 2017-08-10 22:41:46 +02:00
Derick Payne
b5646fda70 Fixed some version patching issues.
- Will create a seperate repository for the version patcher.
2017-08-10 21:45:13 +02:00
Derick Payne
03e882a02d Merge pull request #46 from RaiKoHoff/NP3Encrypt
commandline tool for batch encryption - compatible with MP3' encryption feature
2017-08-10 20:07:46 +02:00
Derick Payne
c0379a137d Merge pull request #45 from RaiKoHoff/Bugfixes
revisit Manifest embedding
2017-08-10 20:05:56 +02:00
Rainer Kottenhoff
0b84a9ab1d + add commandline tool for batch encrypt / decrypt textfiles, comatible with NP3's encryption feature (Autor Dave Dyer: http://www.andromeda.com/people/ddyer/) 2017-08-10 18:00:27 +02:00
Rainer Kottenhoff
8bdad106c4 - cleanup manifest handling 2017-08-10 10:25:33 +02:00
Rainer Kottenhoff
ada5b0c2b6 + fixing manifest embedding (Notepad3 & minipath) in VS2017 Solution / vcproj
- using Linker generated manifests (knows dependencies)
   - activate VS2017's postprocessing manifest-tool to merge manifest with
     Version.exe's .manifest.conf part (re-embedding assembled manifest)
     - by the way: Version.exe (Release/Win32) should only patch the items in
       <assemblyIdentity /> node of .manifest.conf and not re-create the complete manifest wiith dependencies
       (it works fine yet, but, if the Linker change dependencies, this will lead to merge conflicts)
   - switching DPI awarenes to 'false', cause only MFC Application can be made DPI aware
     (setting 'true' for non MFC Applications will end up in blurry effects on scaled desktops [MS doc])

- Tip: the embedded manifest resource can be checked by:
    i) load the .exe via file open dialog into VS2017
   ii) or using  Sysinternal's  > sigcheck.exe -a -m Notepad3.exe
2017-08-10 09:52:05 +02:00
Derick Payne
32eb85068d Creating new release 2017-08-09 22:09:31 +02:00
Rainer Kottenhoff
d4ce0417ba - move settings for HighDPI Toolbar to [Window] section, to ge more portable configuration (same .ini-File on different screens) 2017-08-09 16:44:48 +02:00
Rainer Kottenhoff
1b71079b13 - fix: nullptr access while pressing "favorites" toolbar button on 'virgin' NP3
- reintroduce HighDPI toolbar:
  .ini-File settings:  section [Toolbar Images]
    + (new) HighDpiToolBar=
        val  -1  (or not set at all) => depending on screen resolution:
                 higher than Full-HD (1920x1080) -> select internal HighDPI-Toolbar
       val  0:  use internal low resolution Toolbar  (old behaviour)
       val  1:  use internal HighDPI-Toolbar
   -  (old)  BitmapDefault=<bitmap-file-path>  overrides HighDpiToolBar setting and uses <bitmap-file-path> (if valid)
2017-08-09 10:51:43 +02:00
Rainer Kottenhoff
da77f7d308 - fixing issues for batch buils all project configs (Release/Debug/Win32/x64)
- automatic linkage of dependant link-library projects (scintilla static lib) does not work
  (due to a VS bug or special Scintilla .vcxproj settings ?)
2017-08-08 16:03:52 +02:00
Rainer Kottenhoff
4500c2b855 add VS2017 .vcproj files: and adapt Compiler Tool Set accordingly 2017-08-08 13:00:03 +02:00
Rainer Kottenhoff
b944089efc - cleanup .vcxproj to support "All Config" ans "All Platform" selection
~ maybe it is time to change to Platform Toolset "Visual Studio 2017 - Windows XP (v141_xp)" ?

 - add existing recoding accelerator keys (Ctrl+Alt+F & Ctrl+Shift+A)
   to "Recode" menue  (func: reload file forcing this encoding type)

 - add version info for used Scintilla library
  ~ VERSION_SCIVERSION should be set by Version.exe (version patcher)
    and can be picked from provided scintilla\version.txt

 - some code-cleanup (cleancode-developer pathfinder rule)
   while trying to trace down notepad2-mod issue #121
   (i am able to reproduce, but didn't find the reason (yet))
2017-08-08 11:56:56 +02:00
Derick Payne
92a23f0bf3 Merge pull request #43 from RaiKoHoff/Bugfixes_and_More
some fixes and features, that missed the latest notepad2-mod
2017-08-07 09:31:40 +02:00
Rainer Kottenhoff
d5e480f1eb - minor cleanups reported by CppCheck v.1.79
- fix exception - reported in notepad2-mod pull request (Crash fixing. #172), which has been rejected there,
  but I was able to reproduce it in VS2017 debug mode (initial defaults for exception handling).
  (https://github.com/XhmikosR/notepad2-mod/pull/172)

- incorporate changes from  notepad2-mod from v.4.2.25.995  to  v.4.2.25.998
  (one fix,  the other changes we have done before already)

- Change shortcuts for the following actions:
  (-) Toggle Transparent Mode:  moved from Ctrl+0  to  Ctrl+Numpad_*
  (x) Reset Zoom: Ctrl+/ change to Ctrl+0      ($v_5.0.26)
  Additional Accelerator Keys, as suggested by (https://github.com/XhmikosR/notepad2-mod/pull/197)
  (+) Toggle Line Comment : in addition to Ctrl+Q add Ctrl+/  with same functionality
  (+) Do Stream Comment : in addition to Ctrl+Shift+Q add Ctrl+Shift+/ with same functionality
  believing new shortcuts are more convenient and more widely used, aren't they?
2017-08-06 23:35:37 +02:00
Derick Payne
050c2436be Small updates 2017-08-06 19:10:50 +02:00
Derick Payne
489db38dc4 Back to smaller toolbar buttons. 2017-08-06 18:38:45 +02:00
Rainer Kottenhoff
74ec34dad3 integrate Scintillas DirectWrite technology:
- Settings:  SciDirectWriteTech, SciFontQuality
  + values according to Scintilla documentation
  + values = -1 (or not set) - don't call SCI API anyway - should be the same as DEFAULT technology settings (values = 0)
      SC_TECHNOLOGY_DEFAULT = 0,  SC_TECHNOLOGY_DIRECTWRITE = 1,  SC_TECHNOLOGY_DIRECTWRITERETAIN = 2,  SC_TECHNOLOGY_DIRECTWRITEDC = 3
      SC_EFF_QUALITY_DEFAULT = 0, SC_EFF_QUALITY_NON_ANTIALIASED = 1, SC_EFF_QUALITY_ANTIALIASED = 2, SC_EFF_QUALITY_LCD_OPTIMIZED = 3
2017-08-05 22:01:46 +02:00
Rainer Kottenhoff
da073686dc reverting, and fixing encoding / code-page issues:
- consistent encoding <> code-page handling (including Scintilla's code-page settings)
- Scintilla issue regarding notepad2-mod issie #173 (see https://github.com/XhmikosR/notepad2-mod/pull/193)
- allow arbitrary conversion between encodings (even it it does not make sense in any case)
  (instead of doing silently nothing but changing encoding info on status bar)
2017-08-05 20:20:22 +02:00
Rainer Kottenhoff
7647e03801 refactoring encoding and code-page handling:
- using Scintilla UTF8 code-page internally for most encodings,
  solves some encoding/code-page problems, the behaviour slightly changes:

  + if DefaultEncoding is not set (or set to DefaultEncoding = -1),
    initial encoding is set to current system's code-page, e.g. Windows-1252
    Scintilla's internal UTF8 code-page is used for edit box,
    that means copy/paste from clipboard may show characters which are
    not valid in this char-set of the selected code-page.
    Trying to save a file with this invalid UTF8 chars will result in conversion dialog:
    ("...  encoding from ANSI to non-ANSI (and vice versa) may replace unsupported text with default characters ...")

 + if DeaultEncoding = 0 (ANSI):
   a) if LoadASCIIasUTF8 = 0 (FALSE), Scintilla's internal ANSI code-page is used for edit box
      that means copy/paste from clipboard may convert chars to ANSI ()
   b) if LoadASCIIasUTF8 = 1 (TRUE), Scintilla's internal UTF8 code-page is used for edit box
    that means the universal UTF8 encoding is used

 + if DeaultEncoding = nnn (corresponding to some ANSI code-page encoding):
   same as if DefaultEncoding is set to corresponding code-page (see section "DefaultEncoding is not set")
2017-08-04 22:49:21 +02:00
Rainer Kottenhoff
bc7c7f98bd Issue #32: add VisualStudio's editor behaviour for Ctrl-C and Ctrl-X if nothing is selected (copy / cut current line) 2017-08-03 17:30:03 +02:00