mirror of
https://github.com/rizonesoft/Notepad3.git
synced 2026-06-14 21:09:05 +08:00
Merge branch 'master' of https://github.com/rizonesoft/Notepad3
This commit is contained in:
commit
6d8dde0003
@ -30,13 +30,13 @@ UCD - (UCD)ARDET is an Encoding Detector Library
|
||||
|
||||
|
||||
==================================================
|
||||
Current BETA Version 5.19.723.#(build) (2019-07-23)
|
||||
Current BETA Version 5.19.725.#(build) (2019-07-25)
|
||||
==================================================
|
||||
|
||||
--------------------------------------------------
|
||||
NEW:
|
||||
--------------------------------------------------
|
||||
- Add Web Template Action to context menu
|
||||
- Add settings for allowed AutoComplete fill-up chars
|
||||
- Advanced TOML Lexer
|
||||
- Multiselect Edit Indicator
|
||||
- Color hover and picker (HTML color def only #RRGGBB)
|
||||
@ -50,7 +50,6 @@ CHANGES:
|
||||
- Scintilla Library (SCI) version 4.2.0 (2019-Jul-5)
|
||||
- To force UTF-8 as preffered encoding: activate encoding detection failure fallback for default encoding
|
||||
- Allow Fixedsys font for GDI rendering
|
||||
- Support Compiler version (VC v1921) 192127702 - VS2019 v16.1.(0-6)
|
||||
- Color MarkOccurrences refactoring: use System's HighLight color as default (alpha:60)
|
||||
- Oniguruma: support static build
|
||||
- Merge current (v.6.9.2) Oniguruma docs
|
||||
@ -60,8 +59,9 @@ CHANGES:
|
||||
--------------------------------------------------
|
||||
ENHANCEMENT:
|
||||
--------------------------------------------------
|
||||
- Use UTF-8 for themes files
|
||||
- Use UTF-8 for .ini-File Handler (Initial Version)
|
||||
- Complete implementation of UTF-8-Sig MinPath.ini file handler
|
||||
- Use UTF-8-Sig for themes files
|
||||
- Use UTF-8-Sig for .ini-File Handler (Initial Version)
|
||||
- Multi-Selection with selection restore on undo
|
||||
- Bookmark margin click
|
||||
- Some multi-selection enhancements
|
||||
@ -69,6 +69,7 @@ ENHANCEMENT:
|
||||
--------------------------------------------------
|
||||
FIXES:
|
||||
--------------------------------------------------
|
||||
- Send NewLine to sci control, if this id no AutoComplete fill-up char
|
||||
- Obsolete newline after .ini-file sections with comments
|
||||
- Enhanced Unicode detection
|
||||
- Oniguruma allow CRLF as newline token
|
||||
@ -80,6 +81,7 @@ FIXES:
|
||||
--------------------------------------------------
|
||||
REMOVED:
|
||||
--------------------------------------------------
|
||||
- Disable "NewLine" for AutoComplete fill-up
|
||||
- Remove (old) AHK Lexer in favour of modern AHK_L Lexer
|
||||
|
||||
--------------------------------------------------
|
||||
@ -305,7 +307,7 @@ CHANGES:
|
||||
- Default ini for Notepad3Portable.
|
||||
- Scintilla library to v4.04.
|
||||
- uthash library updated to current GitHub dev.
|
||||
- Encoding of Notepad3 sources to UTF-8 (Sig).
|
||||
- Encoding of Notepad3 sources to UTF-8-Sig.
|
||||
- Focus View icon.
|
||||
- Prep Scintilla "Position" value type changes for large file support.
|
||||
- Rebases internally used code page on UTF-8 (Scintilla multi-byte conversions).
|
||||
@ -884,7 +886,7 @@ Version 3.17.1210.729 (10 December 2017)
|
||||
- New: URL Hotspot (first version).
|
||||
- Changed: [Settings2] section default values (and comment out if not changed) of initially distributed Notepad3.ini
|
||||
- Enhancement: Code Cleanup
|
||||
- Fix: Edit/Special : URL encoding/decoding for full UTF8 (non ASCII) characters.
|
||||
- Fix: Edit/Special : URL encoding/decoding for full UTF-8 (non ASCII) characters.
|
||||
- Fix: flashing of Search text-box of find/replace dialog in case of Win7 Classic theme
|
||||
- Fix: Gibberish output if URL decoded again (2nd time).
|
||||
- Fix: URL decoding, if encoding has "%#nnn" formatted ASCII chars.
|
||||
@ -954,7 +956,7 @@ Version 3.17.1124.690 (24 November 2017)
|
||||
- Fix: Issue regarding find/replace empty-string.
|
||||
- Fix: Adapt DeelX RE interface according to enhanced find/replace dialog.
|
||||
- Fix: Issue #173 - regex/wildcard search: replacement string not used if "Check All Occurrences" is active.
|
||||
- Fix: Recoding minipath's version.h to UTF-8 (Sig), because it contains codepage dependant copyright sign.
|
||||
- Fix: Recoding minipath's version.h to UTF-8-Sig, because it contains codepage dependant copyright sign.
|
||||
- Fix: Corrections to .vcproj settings inconsistencies (reported in release build process).
|
||||
- Fix: undo/redo issues (if no selection choosen).
|
||||
- Fix: Consecutive DEL/BACKSP undo/redo broken (wrapped by unconditional selection undo/redo).
|
||||
|
||||
@ -39,6 +39,7 @@ SettingsVersion=4
|
||||
;WebTemplate2=https://en.wikipedia.org/w/index.php?search=%s
|
||||
;ExtendedWhiteSpaceChars=:
|
||||
;AutoCompleteWordCharSet=
|
||||
;AutoCompleteFillUpChars=
|
||||
;UpdateDelayMarkAllOccurrences=50
|
||||
;CurrentLineHorizontalSlop=40
|
||||
;CurrentLineVerticalSlop=5
|
||||
@ -94,7 +95,6 @@ SettingsVersion=4
|
||||
[ANSI Art]
|
||||
[Apache Config Files]
|
||||
[Assembly Script]
|
||||
[AutoHotkey Script]
|
||||
[AutoHotkey_L Script]
|
||||
[AutoIt3 Script]
|
||||
[AviSynth Script]
|
||||
|
||||
@ -47,10 +47,10 @@
|
||||
[Window]
|
||||
[Filters]
|
||||
&All Files=*.*
|
||||
&Windows Text Files=*.txt;*.asc;*.bat;*.vbs;*.ini;*.inf;*.reg
|
||||
&HTML Related Files=*.htm;*.html;*.shtml;*.xml;*.php;*.css;*.js;*.vbs;*.gif;*.png;*.jpg;*.jpeg
|
||||
&C/C++ Files=*.c;*.cpp;*.h;*.hpp;*.rc;*.ico;*.cur;*.bmp;*.txt
|
||||
&No Binary Files=-*.exe;*.dll;*.cpl;*.ocx
|
||||
&C/C++ Files=*.c;*.cpp;*.h;*.hpp;*.rc;*.ico;*.cur;*.bmp;*.txt;*.nsi;*.nsh;*.cs;*.csx;*.vala;*.cxx;*.cc;*.hxx;*.hh;*.mm;*.idl;*.midl;*.inl;*.odl;*.xpm;*.pch
|
||||
&HTML Related Files=*.htm;*.html;*.shtml;*.php;*.css;*.js;*.vbs;*.gif;*.png;*.jpg;*.jpeg;*.bmp;*.txt;*.css;*.less;*.hss;*.sass;*.scss
|
||||
&No Binary Files=-*.exe;*.dll;*.cpl;*.ocx;*.bin;*.com;*.sys;*.scr;*.dat;*.dsk
|
||||
&Windows Text Files=*.txt;*.asc;*.bat;*.vbs;*.ini;*.inf;*.reg;*.xml;*.text;*.tmp;*.log;*.doc;*.wtx;*.csv
|
||||
[Toolbar Images]
|
||||
;BitmapDefault=
|
||||
;BitmapHot=
|
||||
|
||||
46
CmdLnTools.sln
Normal file
46
CmdLnTools.sln
Normal file
@ -0,0 +1,46 @@
|
||||
Microsoft Visual Studio Solution File, Format Version 12.00
|
||||
# Visual Studio Version 16
|
||||
VisualStudioVersion = 16.0.28606.126
|
||||
MinimumVisualStudioVersion = 10.0.40219.1
|
||||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "np3encrypt", "np3encrypt\np3encrypt.vcxproj", "{0210F830-26C6-40FC-BFD1-6ED833B90830}"
|
||||
EndProject
|
||||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "ced", "ced\ced.vcxproj", "{12BD16A7-3BD9-4205-99B0-75E821EA7449}"
|
||||
EndProject
|
||||
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Solution Items", "Solution Items", "{6E5B87EB-C468-4334-8384-E9A3F0F6FBDA}"
|
||||
ProjectSection(SolutionItems) = preProject
|
||||
.editorconfig = .editorconfig
|
||||
Build\Changes.txt = Build\Changes.txt
|
||||
EndProjectSection
|
||||
EndProject
|
||||
Global
|
||||
GlobalSection(SolutionConfigurationPlatforms) = preSolution
|
||||
Debug|Win32 = Debug|Win32
|
||||
Debug|x64 = Debug|x64
|
||||
Release|Win32 = Release|Win32
|
||||
Release|x64 = Release|x64
|
||||
EndGlobalSection
|
||||
GlobalSection(ProjectConfigurationPlatforms) = postSolution
|
||||
{0210F830-26C6-40FC-BFD1-6ED833B90830}.Debug|Win32.ActiveCfg = Debug|Win32
|
||||
{0210F830-26C6-40FC-BFD1-6ED833B90830}.Debug|Win32.Build.0 = Debug|Win32
|
||||
{0210F830-26C6-40FC-BFD1-6ED833B90830}.Debug|x64.ActiveCfg = Debug|x64
|
||||
{0210F830-26C6-40FC-BFD1-6ED833B90830}.Debug|x64.Build.0 = Debug|x64
|
||||
{0210F830-26C6-40FC-BFD1-6ED833B90830}.Release|Win32.ActiveCfg = Release|Win32
|
||||
{0210F830-26C6-40FC-BFD1-6ED833B90830}.Release|Win32.Build.0 = Release|Win32
|
||||
{0210F830-26C6-40FC-BFD1-6ED833B90830}.Release|x64.ActiveCfg = Release|x64
|
||||
{0210F830-26C6-40FC-BFD1-6ED833B90830}.Release|x64.Build.0 = Release|x64
|
||||
{12BD16A7-3BD9-4205-99B0-75E821EA7449}.Debug|Win32.ActiveCfg = Debug|Win32
|
||||
{12BD16A7-3BD9-4205-99B0-75E821EA7449}.Debug|Win32.Build.0 = Debug|Win32
|
||||
{12BD16A7-3BD9-4205-99B0-75E821EA7449}.Debug|x64.ActiveCfg = Debug|x64
|
||||
{12BD16A7-3BD9-4205-99B0-75E821EA7449}.Debug|x64.Build.0 = Debug|x64
|
||||
{12BD16A7-3BD9-4205-99B0-75E821EA7449}.Release|Win32.ActiveCfg = Release|Win32
|
||||
{12BD16A7-3BD9-4205-99B0-75E821EA7449}.Release|Win32.Build.0 = Release|Win32
|
||||
{12BD16A7-3BD9-4205-99B0-75E821EA7449}.Release|x64.ActiveCfg = Release|x64
|
||||
{12BD16A7-3BD9-4205-99B0-75E821EA7449}.Release|x64.Build.0 = Release|x64
|
||||
EndGlobalSection
|
||||
GlobalSection(SolutionProperties) = preSolution
|
||||
HideSolutionNode = FALSE
|
||||
EndGlobalSection
|
||||
GlobalSection(ExtensibilityGlobals) = postSolution
|
||||
SolutionGuid = {C0B8FE68-ECBC-4173-9027-E1EC2C9B5BDF}
|
||||
EndGlobalSection
|
||||
EndGlobal
|
||||
24
Notepad3.sln
24
Notepad3.sln
@ -45,10 +45,6 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "minipath", "minipath\minipa
|
||||
{29AB36E1-284E-4E0B-9DF4-F4F84760BD9B} = {29AB36E1-284E-4E0B-9DF4-F4F84760BD9B}
|
||||
EndProjectSection
|
||||
EndProject
|
||||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "np3encrypt", "np3encrypt\np3encrypt.vcxproj", "{0210F830-26C6-40FC-BFD1-6ED833B90830}"
|
||||
EndProject
|
||||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "ced", "ced\ced.vcxproj", "{12BD16A7-3BD9-4205-99B0-75E821EA7449}"
|
||||
EndProject
|
||||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "np3_de_de", "language\np3_de_de\np3_de_de.vcxproj", "{146D0122-33C6-4C1B-9E7A-178DEC80842E}"
|
||||
ProjectSection(ProjectDependencies) = postProject
|
||||
{9DC82B0D-2484-4925-92AD-1237C64CCB78} = {9DC82B0D-2484-4925-92AD-1237C64CCB78}
|
||||
@ -209,8 +205,6 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Notepad3", "Notepad3", "{C3
|
||||
EndProject
|
||||
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "MiniPath", "MiniPath", "{D21C1F85-6FA3-4695-82CD-DDC5690E2D66}"
|
||||
EndProject
|
||||
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Tools", "Tools", "{F91299D3-6992-4F0E-B284-7AC9AF559512}"
|
||||
EndProject
|
||||
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "language", "language", "{8FD783D5-8709-432D-A88E-6E3073AFF220}"
|
||||
EndProject
|
||||
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "language", "language", "{8C28F8E6-5B4E-4233-B5C7-5A903596AEB2}"
|
||||
@ -262,22 +256,6 @@ Global
|
||||
{781B17E7-427F-488F-A8E9-360BA38A10F3}.Release|x64.ActiveCfg = Release|x64
|
||||
{781B17E7-427F-488F-A8E9-360BA38A10F3}.Release|x64.Build.0 = Release|x64
|
||||
{781B17E7-427F-488F-A8E9-360BA38A10F3}.Release|x64.Deploy.0 = Release|x64
|
||||
{0210F830-26C6-40FC-BFD1-6ED833B90830}.Debug|Win32.ActiveCfg = Debug|Win32
|
||||
{0210F830-26C6-40FC-BFD1-6ED833B90830}.Debug|Win32.Build.0 = Debug|Win32
|
||||
{0210F830-26C6-40FC-BFD1-6ED833B90830}.Debug|x64.ActiveCfg = Debug|x64
|
||||
{0210F830-26C6-40FC-BFD1-6ED833B90830}.Debug|x64.Build.0 = Debug|x64
|
||||
{0210F830-26C6-40FC-BFD1-6ED833B90830}.Release|Win32.ActiveCfg = Release|Win32
|
||||
{0210F830-26C6-40FC-BFD1-6ED833B90830}.Release|Win32.Build.0 = Release|Win32
|
||||
{0210F830-26C6-40FC-BFD1-6ED833B90830}.Release|x64.ActiveCfg = Release|x64
|
||||
{0210F830-26C6-40FC-BFD1-6ED833B90830}.Release|x64.Build.0 = Release|x64
|
||||
{12BD16A7-3BD9-4205-99B0-75E821EA7449}.Debug|Win32.ActiveCfg = Debug|Win32
|
||||
{12BD16A7-3BD9-4205-99B0-75E821EA7449}.Debug|Win32.Build.0 = Debug|Win32
|
||||
{12BD16A7-3BD9-4205-99B0-75E821EA7449}.Debug|x64.ActiveCfg = Debug|x64
|
||||
{12BD16A7-3BD9-4205-99B0-75E821EA7449}.Debug|x64.Build.0 = Debug|x64
|
||||
{12BD16A7-3BD9-4205-99B0-75E821EA7449}.Release|Win32.ActiveCfg = Release|Win32
|
||||
{12BD16A7-3BD9-4205-99B0-75E821EA7449}.Release|Win32.Build.0 = Release|Win32
|
||||
{12BD16A7-3BD9-4205-99B0-75E821EA7449}.Release|x64.ActiveCfg = Release|x64
|
||||
{12BD16A7-3BD9-4205-99B0-75E821EA7449}.Release|x64.Build.0 = Release|x64
|
||||
{146D0122-33C6-4C1B-9E7A-178DEC80842E}.Debug|Win32.ActiveCfg = Debug|Win32
|
||||
{146D0122-33C6-4C1B-9E7A-178DEC80842E}.Debug|Win32.Build.0 = Debug|Win32
|
||||
{146D0122-33C6-4C1B-9E7A-178DEC80842E}.Debug|x64.ActiveCfg = Debug|x64
|
||||
@ -565,8 +543,6 @@ Global
|
||||
GlobalSection(NestedProjects) = preSolution
|
||||
{BAAD32AB-CD47-12FD-873C-0BBC204B7641} = {C3735E17-6EAE-4CC5-980E-30BCEF094862}
|
||||
{781B17E7-427F-488F-A8E9-360BA38A10F3} = {D21C1F85-6FA3-4695-82CD-DDC5690E2D66}
|
||||
{0210F830-26C6-40FC-BFD1-6ED833B90830} = {F91299D3-6992-4F0E-B284-7AC9AF559512}
|
||||
{12BD16A7-3BD9-4205-99B0-75E821EA7449} = {F91299D3-6992-4F0E-B284-7AC9AF559512}
|
||||
{146D0122-33C6-4C1B-9E7A-178DEC80842E} = {8C28F8E6-5B4E-4233-B5C7-5A903596AEB2}
|
||||
{EC255B64-2C2F-4CB6-9D40-4542893FE5E6} = {8C28F8E6-5B4E-4233-B5C7-5A903596AEB2}
|
||||
{3B8C289D-FF47-4237-AD7B-0702230F41A3} = {8C28F8E6-5B4E-4233-B5C7-5A903596AEB2}
|
||||
|
||||
@ -47,10 +47,6 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "minipath", "minipath\minipa
|
||||
EndProject
|
||||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Scintilla", "scintilla\ScintillaDLL.vcxproj", "{5877B917-512B-49F5-B514-1B4159E7A9CA}"
|
||||
EndProject
|
||||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "np3encrypt", "np3encrypt\np3encrypt.vcxproj", "{0210F830-26C6-40FC-BFD1-6ED833B90830}"
|
||||
EndProject
|
||||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "ced", "ced\ced.vcxproj", "{12BD16A7-3BD9-4205-99B0-75E821EA7449}"
|
||||
EndProject
|
||||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "np3_de_de", "language\np3_de_de\np3_de_de.vcxproj", "{146D0122-33C6-4C1B-9E7A-178DEC80842E}"
|
||||
ProjectSection(ProjectDependencies) = postProject
|
||||
{9DC82B0D-2484-4925-92AD-1237C64CCB78} = {9DC82B0D-2484-4925-92AD-1237C64CCB78}
|
||||
@ -211,8 +207,6 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Notepad3", "Notepad3", "{C3
|
||||
EndProject
|
||||
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "MiniPath", "MiniPath", "{D21C1F85-6FA3-4695-82CD-DDC5690E2D66}"
|
||||
EndProject
|
||||
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Tools", "Tools", "{F91299D3-6992-4F0E-B284-7AC9AF559512}"
|
||||
EndProject
|
||||
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "language", "language", "{8FD783D5-8709-432D-A88E-6E3073AFF220}"
|
||||
EndProject
|
||||
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "language", "language", "{8C28F8E6-5B4E-4233-B5C7-5A903596AEB2}"
|
||||
@ -276,22 +270,6 @@ Global
|
||||
{5877B917-512B-49F5-B514-1B4159E7A9CA}.Release|Win32.Build.0 = Release|Win32
|
||||
{5877B917-512B-49F5-B514-1B4159E7A9CA}.Release|x64.ActiveCfg = Release|x64
|
||||
{5877B917-512B-49F5-B514-1B4159E7A9CA}.Release|x64.Build.0 = Release|x64
|
||||
{0210F830-26C6-40FC-BFD1-6ED833B90830}.Debug|Win32.ActiveCfg = Debug|Win32
|
||||
{0210F830-26C6-40FC-BFD1-6ED833B90830}.Debug|Win32.Build.0 = Debug|Win32
|
||||
{0210F830-26C6-40FC-BFD1-6ED833B90830}.Debug|x64.ActiveCfg = Debug|x64
|
||||
{0210F830-26C6-40FC-BFD1-6ED833B90830}.Debug|x64.Build.0 = Debug|x64
|
||||
{0210F830-26C6-40FC-BFD1-6ED833B90830}.Release|Win32.ActiveCfg = Release|Win32
|
||||
{0210F830-26C6-40FC-BFD1-6ED833B90830}.Release|Win32.Build.0 = Release|Win32
|
||||
{0210F830-26C6-40FC-BFD1-6ED833B90830}.Release|x64.ActiveCfg = Release|x64
|
||||
{0210F830-26C6-40FC-BFD1-6ED833B90830}.Release|x64.Build.0 = Release|x64
|
||||
{12BD16A7-3BD9-4205-99B0-75E821EA7449}.Debug|Win32.ActiveCfg = Debug|Win32
|
||||
{12BD16A7-3BD9-4205-99B0-75E821EA7449}.Debug|Win32.Build.0 = Debug|Win32
|
||||
{12BD16A7-3BD9-4205-99B0-75E821EA7449}.Debug|x64.ActiveCfg = Debug|x64
|
||||
{12BD16A7-3BD9-4205-99B0-75E821EA7449}.Debug|x64.Build.0 = Debug|x64
|
||||
{12BD16A7-3BD9-4205-99B0-75E821EA7449}.Release|Win32.ActiveCfg = Release|Win32
|
||||
{12BD16A7-3BD9-4205-99B0-75E821EA7449}.Release|Win32.Build.0 = Release|Win32
|
||||
{12BD16A7-3BD9-4205-99B0-75E821EA7449}.Release|x64.ActiveCfg = Release|x64
|
||||
{12BD16A7-3BD9-4205-99B0-75E821EA7449}.Release|x64.Build.0 = Release|x64
|
||||
{146D0122-33C6-4C1B-9E7A-178DEC80842E}.Debug|Win32.ActiveCfg = Debug|Win32
|
||||
{146D0122-33C6-4C1B-9E7A-178DEC80842E}.Debug|Win32.Build.0 = Debug|Win32
|
||||
{146D0122-33C6-4C1B-9E7A-178DEC80842E}.Debug|x64.ActiveCfg = Debug|x64
|
||||
@ -572,8 +550,6 @@ Global
|
||||
{BAAD32AB-CD47-12FD-873C-0BBC204B7641} = {C3735E17-6EAE-4CC5-980E-30BCEF094862}
|
||||
{781B17E7-427F-488F-A8E9-360BA38A10F3} = {D21C1F85-6FA3-4695-82CD-DDC5690E2D66}
|
||||
{5877B917-512B-49F5-B514-1B4159E7A9CA} = {C3735E17-6EAE-4CC5-980E-30BCEF094862}
|
||||
{0210F830-26C6-40FC-BFD1-6ED833B90830} = {F91299D3-6992-4F0E-B284-7AC9AF559512}
|
||||
{12BD16A7-3BD9-4205-99B0-75E821EA7449} = {F91299D3-6992-4F0E-B284-7AC9AF559512}
|
||||
{146D0122-33C6-4C1B-9E7A-178DEC80842E} = {8C28F8E6-5B4E-4233-B5C7-5A903596AEB2}
|
||||
{EC255B64-2C2F-4CB6-9D40-4542893FE5E6} = {8C28F8E6-5B4E-4233-B5C7-5A903596AEB2}
|
||||
{3B8C289D-FF47-4237-AD7B-0702230F41A3} = {8C28F8E6-5B4E-4233-B5C7-5A903596AEB2}
|
||||
|
||||
@ -1 +1 @@
|
||||
2404
|
||||
2406
|
||||
|
||||
@ -274,6 +274,7 @@
|
||||
</ManifestResourceCompile>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemGroup>
|
||||
<ClCompile Include="src\Config.cpp" />
|
||||
<ClCompile Include="src\Dialogs.c" />
|
||||
<ClCompile Include="src\Dlapi.c" />
|
||||
<ClCompile Include="src\DropSource.cpp" />
|
||||
@ -282,12 +283,14 @@
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ClInclude Include="language\common_res.h" />
|
||||
<ClInclude Include="src\Config.h" />
|
||||
<ClInclude Include="src\Dialogs.h" />
|
||||
<ClInclude Include="src\Dlapi.h" />
|
||||
<ClInclude Include="src\DropSource.h" />
|
||||
<ClInclude Include="src\Helpers.h" />
|
||||
<ClInclude Include="src\minipath.h" />
|
||||
<ClInclude Include="src\resource.h" />
|
||||
<ClInclude Include="src\SimpleIni.h" />
|
||||
<ClInclude Include="src\version.h" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
|
||||
@ -34,6 +34,9 @@
|
||||
<ClCompile Include="src\DropSource.cpp">
|
||||
<Filter>C/C++ Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\Config.cpp">
|
||||
<Filter>C/C++ Source Files</Filter>
|
||||
</ClCompile>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ClInclude Include="src\Dialogs.h">
|
||||
@ -60,6 +63,12 @@
|
||||
<ClInclude Include="src\DropSource.h">
|
||||
<Filter>H Source Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="src\Config.h">
|
||||
<Filter>H Source Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="src\SimpleIni.h">
|
||||
<Filter>H Source Files</Filter>
|
||||
</ClInclude>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<None Include="res\Hover.cur">
|
||||
|
||||
@ -25,62 +25,10 @@ extern "C" {
|
||||
}
|
||||
|
||||
extern "C" HWND hwndMain;
|
||||
|
||||
extern "C" WCHAR g_wchIniFile[MAX_PATH];
|
||||
extern "C" WCHAR g_wchIniFile2[MAX_PATH];
|
||||
extern "C" WCHAR g_wchNP3IniFile[MAX_PATH];
|
||||
|
||||
extern "C" BOOL bSaveSettings;
|
||||
extern "C" WCHAR szQuickview[MAX_PATH];
|
||||
extern "C" WCHAR szQuickviewParams[MAX_PATH];
|
||||
extern "C" WCHAR g_tchFavoritesDir[MAX_PATH];
|
||||
extern "C" BOOL bNP3sFavoritesSettings;
|
||||
extern "C" WCHAR tchOpenWithDir[MAX_PATH];
|
||||
extern "C" WCHAR tchToolbarButtons[512];
|
||||
extern "C" WCHAR tchToolbarBitmap[MAX_PATH];
|
||||
extern "C" WCHAR tchToolbarBitmapHot[MAX_PATH];
|
||||
extern "C" WCHAR tchToolbarBitmapDisabled[MAX_PATH];
|
||||
extern "C" BOOL bClearReadOnly;
|
||||
extern "C" BOOL bRenameOnCollision;
|
||||
extern "C" BOOL bSingleClick;
|
||||
extern "C" BOOL bTrackSelect;
|
||||
extern "C" BOOL bFullRowSelect;
|
||||
extern "C" int iStartupDir;
|
||||
extern "C" int iEscFunction;
|
||||
extern "C" BOOL bFocusEdit;
|
||||
extern "C" BOOL bAlwaysOnTop;
|
||||
extern "C" BOOL g_bTransparentMode;
|
||||
extern "C" BOOL bMinimizeToTray;
|
||||
extern "C" BOOL fUseRecycleBin;
|
||||
extern "C" BOOL fNoConfirmDelete;
|
||||
extern "C" BOOL bShowToolbar;
|
||||
extern "C" BOOL bShowStatusbar;
|
||||
extern "C" BOOL bShowDriveBox;
|
||||
extern "C" int cxGotoDlg;
|
||||
extern "C" int cxOpenWithDlg;
|
||||
extern "C" int cyOpenWithDlg;
|
||||
extern "C" int cxCopyMoveDlg;
|
||||
|
||||
extern "C" BOOL bHasQuickview;
|
||||
|
||||
extern "C" WCHAR tchFilter[DL_FILTER_BUFSIZE];
|
||||
extern "C" BOOL bNegFilter;
|
||||
extern "C" BOOL bDefCrNoFilt;
|
||||
extern "C" BOOL bDefCrFilter;
|
||||
extern "C" COLORREF crNoFilt;
|
||||
extern "C" COLORREF crFilter;
|
||||
extern "C" COLORREF crCustom[16];
|
||||
|
||||
extern "C" LPWSTR lpPathArg;
|
||||
extern "C" LPWSTR lpFilterArg;
|
||||
|
||||
extern "C" WININFO wi;
|
||||
|
||||
extern "C" WCHAR szCurDir[MAX_PATH + 40];
|
||||
extern "C" DWORD dwFillMask;
|
||||
extern "C" int nSortFlags;
|
||||
extern "C" BOOL fSortRev;
|
||||
|
||||
extern "C" WCHAR g_tchPrefLngLocName[LOCALE_NAME_MAX_LENGTH + 1];
|
||||
extern "C" LANGID g_iPrefLANGID;
|
||||
|
||||
@ -400,6 +348,43 @@ extern "C" BOOL IniFileIterateSection(LPCWSTR lpFilePath, LPCWSTR lpSectionName,
|
||||
|
||||
|
||||
|
||||
|
||||
//=============================================================================
|
||||
//
|
||||
// InitDefaultSettings()
|
||||
//
|
||||
//
|
||||
void InitDefaultSettings()
|
||||
{
|
||||
Defaults.szQuickview[0] = L'\0';
|
||||
Defaults.szQuickviewParams[0] = L'\0';
|
||||
Defaults.g_tchFavoritesDir[0] = L'\0';
|
||||
Defaults.tchOpenWithDir[0] = L'\0';
|
||||
Defaults.tchToolbarButtons[0] = L'\0';
|
||||
Defaults.tchToolbarBitmap[0] = L'\0';
|
||||
Defaults.tchToolbarBitmapHot[0] = L'\0';
|
||||
Defaults.tchToolbarBitmapDisabled[0] = L'\0';
|
||||
Defaults.tchFilter[0] = L'\0';
|
||||
Defaults.szCurDir[0] = L'\0';
|
||||
|
||||
// Initialize custom colors for ChooseColor()
|
||||
Defaults.crCustom[0] = RGB(0, 0, 128); Defaults.crCustom[8] = RGB(255, 255, 226);
|
||||
Defaults.crCustom[1] = GetSysColor(COLOR_WINDOWTEXT); Defaults.crCustom[9] = GetSysColor(COLOR_WINDOW);
|
||||
Defaults.crCustom[2] = GetSysColor(COLOR_INFOTEXT); Defaults.crCustom[10] = GetSysColor(COLOR_INFOBK);
|
||||
Defaults.crCustom[3] = GetSysColor(COLOR_HIGHLIGHTTEXT); Defaults.crCustom[11] = GetSysColor(COLOR_HIGHLIGHT);
|
||||
Defaults.crCustom[4] = GetSysColor(COLOR_ACTIVECAPTION); Defaults.crCustom[12] = GetSysColor(COLOR_DESKTOP);
|
||||
Defaults.crCustom[5] = GetSysColor(COLOR_3DFACE); Defaults.crCustom[13] = GetSysColor(COLOR_3DFACE);
|
||||
Defaults.crCustom[6] = GetSysColor(COLOR_3DFACE); Defaults.crCustom[14] = GetSysColor(COLOR_3DFACE);
|
||||
Defaults.crCustom[7] = GetSysColor(COLOR_3DFACE); Defaults.crCustom[15] = GetSysColor(COLOR_3DFACE);
|
||||
|
||||
Defaults.wi.x = CW_USEDEFAULT;
|
||||
Defaults.wi.y = CW_USEDEFAULT;
|
||||
Defaults.wi.cx = CW_USEDEFAULT;
|
||||
Defaults.wi.cy = CW_USEDEFAULT;
|
||||
}
|
||||
|
||||
|
||||
|
||||
//=============================================================================
|
||||
//
|
||||
// CreateIniFile()
|
||||
@ -684,162 +669,129 @@ void LoadFlags()
|
||||
// LoadSettings()
|
||||
//
|
||||
//
|
||||
extern "C" LPWSTR lpFilterArg;
|
||||
|
||||
#define GET_BOOL_VALUE_FROM_INISECTION(VARNAME,KEYNAME,DEFAULT) \
|
||||
Defaults.VARNAME = DEFAULT; \
|
||||
Settings.VARNAME = IniSectionGetBool(Settings_Section, KEYNAME, Defaults.VARNAME)
|
||||
|
||||
#define GET_INT_VALUE_FROM_INISECTION(VARNAME,KEYNAME,DEFAULT,MIN,MAX) \
|
||||
Defaults.VARNAME = DEFAULT; \
|
||||
Settings.VARNAME = clampi(IniSectionGetInt(Settings_Section, KEYNAME, Defaults.VARNAME),MIN,MAX)
|
||||
|
||||
// -----------------------------------------------------------
|
||||
|
||||
void LoadSettings()
|
||||
{
|
||||
LoadIniFile(g_wchIniFile);
|
||||
|
||||
const WCHAR* const Settings_Section = L"Settings";
|
||||
|
||||
bSaveSettings = IniSectionGetInt(Settings_Section, L"SaveSettings", 1);
|
||||
if (bSaveSettings) bSaveSettings = 1;
|
||||
GET_BOOL_VALUE_FROM_INISECTION(bSaveSettings, L"SaveSettings", TRUE);
|
||||
GET_BOOL_VALUE_FROM_INISECTION(bSingleClick, L"SingleClick", TRUE);
|
||||
GET_BOOL_VALUE_FROM_INISECTION(bTrackSelect, L"TrackSelect", TRUE);
|
||||
GET_BOOL_VALUE_FROM_INISECTION(bFullRowSelect, L"FullRowSelect", FALSE);
|
||||
GET_BOOL_VALUE_FROM_INISECTION(fUseRecycleBin, L"UseRecycleBin", FALSE);
|
||||
GET_BOOL_VALUE_FROM_INISECTION(fNoConfirmDelete, L"NoConfirmDelete", FALSE);
|
||||
GET_BOOL_VALUE_FROM_INISECTION(bClearReadOnly, L"ClearReadOnly", TRUE);
|
||||
GET_BOOL_VALUE_FROM_INISECTION(bRenameOnCollision, L"RenameOnCollision", FALSE);
|
||||
GET_BOOL_VALUE_FROM_INISECTION(bFocusEdit, L"FocusEdit", TRUE);
|
||||
GET_BOOL_VALUE_FROM_INISECTION(bAlwaysOnTop, L"AlwaysOnTop", FALSE);
|
||||
GET_BOOL_VALUE_FROM_INISECTION(bMinimizeToTray, L"MinimizeToTray", FALSE);
|
||||
GET_BOOL_VALUE_FROM_INISECTION(g_bTransparentMode, L"TransparentMode", FALSE);
|
||||
GET_INT_VALUE_FROM_INISECTION(iEscFunction, L"EscFunction", 2, 0, 2);
|
||||
GET_INT_VALUE_FROM_INISECTION(iStartupDir, L"StartupDirectory", 2, 0, 2);
|
||||
|
||||
bSingleClick = IniSectionGetInt(Settings_Section, L"SingleClick", 1);
|
||||
if (bSingleClick) bSingleClick = 1;
|
||||
|
||||
bTrackSelect = IniSectionGetInt(Settings_Section, L"TrackSelect", 1);
|
||||
if (bTrackSelect) bTrackSelect = 1;
|
||||
|
||||
bFullRowSelect = IniSectionGetInt(Settings_Section, L"FullRowSelect", 0);
|
||||
if (bFullRowSelect) bFullRowSelect = 1;
|
||||
|
||||
fUseRecycleBin = IniSectionGetInt(Settings_Section, L"UseRecycleBin", 0);
|
||||
if (fUseRecycleBin) fUseRecycleBin = 1;
|
||||
|
||||
fNoConfirmDelete = IniSectionGetInt(Settings_Section, L"NoConfirmDelete", 0);
|
||||
if (fNoConfirmDelete) fNoConfirmDelete = 1;
|
||||
|
||||
bClearReadOnly = IniSectionGetInt(Settings_Section, L"ClearReadOnly", 1);
|
||||
if (bClearReadOnly) bClearReadOnly = 1;
|
||||
|
||||
bRenameOnCollision = IniSectionGetInt(Settings_Section, L"RenameOnCollision", 0);
|
||||
if (bRenameOnCollision) bRenameOnCollision = 1;
|
||||
|
||||
bFocusEdit = IniSectionGetInt(Settings_Section, L"FocusEdit", 1);
|
||||
if (bFocusEdit) bFocusEdit = 1;
|
||||
|
||||
bAlwaysOnTop = IniSectionGetInt(Settings_Section, L"AlwaysOnTop", 0);
|
||||
if (bAlwaysOnTop) bAlwaysOnTop = 1;
|
||||
|
||||
bMinimizeToTray = IniSectionGetInt(Settings_Section, L"MinimizeToTray", 0);
|
||||
if (bMinimizeToTray) bMinimizeToTray = 1;
|
||||
|
||||
g_bTransparentMode = IniSectionGetInt(Settings_Section, L"TransparentMode", 0);
|
||||
if (g_bTransparentMode) g_bTransparentMode = 1;
|
||||
|
||||
iEscFunction = IniSectionGetInt(Settings_Section, L"EscFunction", 2);
|
||||
iEscFunction = max(min(iEscFunction, 2), 0);
|
||||
|
||||
iStartupDir = IniSectionGetInt(Settings_Section, L"StartupDirectory", 2);
|
||||
iStartupDir = max(min(iStartupDir, 2), 0);
|
||||
|
||||
if (!IniSectionGetString(Settings_Section, L"Favorites", L"",
|
||||
g_tchFavoritesDir, COUNTOF(g_tchFavoritesDir))) {
|
||||
Defaults.g_tchFavoritesDir[0] = L'\0';
|
||||
if (!IniSectionGetString(Settings_Section, L"Favorites", Defaults.g_tchFavoritesDir,
|
||||
Settings.g_tchFavoritesDir, COUNTOF(Settings.g_tchFavoritesDir))) {
|
||||
// try to fetch Favorites dir from Notepad3.ini
|
||||
if (StrIsNotEmpty(g_wchNP3IniFile)) {
|
||||
bNP3sFavoritesSettings = TRUE;
|
||||
IniFileGetString(g_wchNP3IniFile, L"Settings", L"Favorites", L"", g_tchFavoritesDir, COUNTOF(g_tchFavoritesDir));
|
||||
Settings.bNP3sFavoritesSettings = TRUE;
|
||||
IniFileGetString(g_wchNP3IniFile, L"Settings", L"Favorites", L"", Settings.g_tchFavoritesDir, COUNTOF(Settings.g_tchFavoritesDir));
|
||||
}
|
||||
}
|
||||
if (StrIsEmpty(g_tchFavoritesDir))
|
||||
SHGetFolderPath(nullptr, CSIDL_PERSONAL, nullptr, SHGFP_TYPE_CURRENT, g_tchFavoritesDir);
|
||||
if (StrIsEmpty(Settings.g_tchFavoritesDir))
|
||||
SHGetFolderPath(nullptr, CSIDL_PERSONAL, nullptr, SHGFP_TYPE_CURRENT, Settings.g_tchFavoritesDir);
|
||||
else
|
||||
PathAbsoluteFromApp(g_tchFavoritesDir, nullptr, COUNTOF(g_tchFavoritesDir), TRUE);
|
||||
PathAbsoluteFromApp(Settings.g_tchFavoritesDir, nullptr, COUNTOF(Settings.g_tchFavoritesDir), TRUE);
|
||||
|
||||
if (!IniSectionGetString(Settings_Section, L"Quikview.exe", L"",
|
||||
szQuickview, COUNTOF(szQuickview))) {
|
||||
GetSystemDirectory(szQuickview, COUNTOF(szQuickview));
|
||||
PathAddBackslash(szQuickview);
|
||||
lstrcat(szQuickview, L"Viewers\\Quikview.exe");
|
||||
|
||||
Defaults.szQuickview[0] = L'\0';
|
||||
if (!IniSectionGetString(Settings_Section, L"Quikview.exe", Defaults.szQuickview,
|
||||
Settings.szQuickview, COUNTOF(Settings.szQuickview))) {
|
||||
GetSystemDirectory(Settings.szQuickview, COUNTOF(Settings.szQuickview));
|
||||
PathAddBackslash(Settings.szQuickview);
|
||||
lstrcat(Settings.szQuickview, L"Viewers\\Quikview.exe");
|
||||
}
|
||||
else
|
||||
PathAbsoluteFromApp(szQuickview, nullptr, COUNTOF(szQuickview), TRUE);
|
||||
PathAbsoluteFromApp(Settings.szQuickview, nullptr, COUNTOF(Settings.szQuickview), TRUE);
|
||||
|
||||
bHasQuickview = PathFileExists(szQuickview);
|
||||
Settings.bHasQuickview = PathFileExists(Settings.szQuickview);
|
||||
|
||||
IniSectionGetString(Settings_Section, L"QuikviewParams", L"", szQuickviewParams, COUNTOF(szQuickviewParams));
|
||||
Defaults.szQuickviewParams[0] = L'\0';
|
||||
IniSectionGetString(Settings_Section, L"QuikviewParams", Defaults.szQuickviewParams,
|
||||
Settings.szQuickviewParams, COUNTOF(Settings.szQuickviewParams));
|
||||
|
||||
if (!IniSectionGetString(Settings_Section, L"OpenWithDir", L"", tchOpenWithDir, COUNTOF(tchOpenWithDir))) {
|
||||
|
||||
lstrcpy(Defaults.tchOpenWithDir, L"%USERPROFILE%\\Desktop");
|
||||
if (IniSectionGetString(Settings_Section, L"OpenWithDir", L"",
|
||||
Settings.tchOpenWithDir, COUNTOF(Settings.tchOpenWithDir)) == 0) {
|
||||
// try to fetch Open With dir from Notepad3.ini
|
||||
IniFileGetString(g_wchNP3IniFile, L"Settings", L"OpenWithDir", L"", tchOpenWithDir, COUNTOF(tchOpenWithDir));
|
||||
IniFileGetString(g_wchNP3IniFile, L"Settings", L"OpenWithDir", L"", Settings.tchOpenWithDir, COUNTOF(Settings.tchOpenWithDir));
|
||||
}
|
||||
if (StrIsEmpty(tchOpenWithDir))
|
||||
SHGetSpecialFolderPath(nullptr, tchOpenWithDir, CSIDL_DESKTOPDIRECTORY, TRUE);
|
||||
if (StrIsEmpty(Settings.tchOpenWithDir))
|
||||
SHGetSpecialFolderPath(nullptr, Settings.tchOpenWithDir, CSIDL_DESKTOPDIRECTORY, TRUE);
|
||||
else
|
||||
PathAbsoluteFromApp(tchOpenWithDir, nullptr, COUNTOF(tchOpenWithDir), TRUE);
|
||||
PathAbsoluteFromApp(Settings.tchOpenWithDir, nullptr, COUNTOF(Settings.tchOpenWithDir), TRUE);
|
||||
|
||||
dwFillMask = IniSectionGetInt(Settings_Section, L"FillMask", DL_ALLOBJECTS);
|
||||
if (dwFillMask & ~DL_ALLOBJECTS) dwFillMask = DL_ALLOBJECTS;
|
||||
|
||||
nSortFlags = IniSectionGetInt(Settings_Section, L"SortOptions", DS_TYPE);
|
||||
nSortFlags = min(3, max(nSortFlags, 0));
|
||||
|
||||
fSortRev = IniSectionGetInt(Settings_Section, L"SortReverse", 0);
|
||||
if (fSortRev) fSortRev = 1;
|
||||
GET_INT_VALUE_FROM_INISECTION(dwFillMask, L"FillMask", DL_ALLOBJECTS, DL_FOLDERS, DL_ALLOBJECTS);
|
||||
GET_INT_VALUE_FROM_INISECTION(nSortFlags, L"SortOptions", DS_TYPE, 0, 3);
|
||||
GET_BOOL_VALUE_FROM_INISECTION(fSortRev, L"SortReverse", FALSE);
|
||||
|
||||
lstrcpy(Defaults.tchFilter, L"*.*");
|
||||
if (!lpFilterArg) {
|
||||
if (!IniSectionGetString(Settings_Section, L"FileFilter", L"",
|
||||
tchFilter, COUNTOF(tchFilter)))
|
||||
lstrcpy(tchFilter, L"*.*");
|
||||
|
||||
bNegFilter = IniSectionGetInt(Settings_Section, L"NegativeFilter", 0);
|
||||
if (bNegFilter) bNegFilter = 1;
|
||||
IniSectionGetString(Settings_Section, L"FileFilter", Defaults.tchFilter, Settings.tchFilter, COUNTOF(Settings.tchFilter));
|
||||
}
|
||||
|
||||
else { // ignore filter if /m was specified
|
||||
if (*lpFilterArg == L'-') {
|
||||
bNegFilter = TRUE;
|
||||
lstrcpyn(tchFilter, lpFilterArg + 1, COUNTOF(tchFilter));
|
||||
if (*(lpFilterArg) == L'-') {
|
||||
Settings.bNegFilter = TRUE;
|
||||
(void)lstrcpyn(Settings.tchFilter, lpFilterArg + 1, COUNTOF(Settings.tchFilter));
|
||||
}
|
||||
else {
|
||||
bNegFilter = FALSE;
|
||||
lstrcpyn(tchFilter, lpFilterArg, COUNTOF(tchFilter));
|
||||
Settings.bNegFilter = FALSE;
|
||||
(void)lstrcpyn(Settings.tchFilter, lpFilterArg, COUNTOF(Settings.tchFilter));
|
||||
}
|
||||
}
|
||||
GET_BOOL_VALUE_FROM_INISECTION(bNegFilter, L"NegativeFilter", FALSE);
|
||||
GET_BOOL_VALUE_FROM_INISECTION(bDefCrNoFilt, L"DefColorNoFilter", TRUE);
|
||||
GET_BOOL_VALUE_FROM_INISECTION(bDefCrFilter, L"DefColorFilter", TRUE);
|
||||
GET_INT_VALUE_FROM_INISECTION(crNoFilt, L"ColorNoFilter", GetSysColor(COLOR_WINDOWTEXT), 0, INT_MAX);
|
||||
GET_INT_VALUE_FROM_INISECTION(crFilter, L"ColorFilter", GetSysColor(COLOR_HIGHLIGHT), 0, INT_MAX);
|
||||
|
||||
bDefCrNoFilt = IniSectionGetInt(Settings_Section, L"DefColorNoFilter", 1);
|
||||
if (bDefCrNoFilt) bDefCrNoFilt = 1;
|
||||
bDefCrFilter = IniSectionGetInt(Settings_Section, L"DefColorFilter", 1);
|
||||
if (bDefCrFilter) bDefCrFilter = 1;
|
||||
|
||||
crNoFilt = IniSectionGetInt(Settings_Section, L"ColorNoFilter", GetSysColor(COLOR_WINDOWTEXT));
|
||||
crFilter = IniSectionGetInt(Settings_Section, L"ColorFilter", GetSysColor(COLOR_HIGHLIGHT));
|
||||
|
||||
if (IniSectionGetString(Settings_Section, L"ToolbarButtons", L"", tchToolbarButtons, COUNTOF(tchToolbarButtons)) == 0) {
|
||||
lstrcpy(tchToolbarButtons, L"1 2 3 4 5 0 8");
|
||||
lstrcpy(Defaults.tchToolbarButtons, L"1 2 3 4 5 0 8");
|
||||
if (IniSectionGetString(Settings_Section, L"ToolbarButtons", Defaults.tchToolbarButtons, Settings.tchToolbarButtons, COUNTOF(Settings.tchToolbarButtons)) == 0) {
|
||||
lstrcpy(Settings.tchToolbarButtons, Defaults.tchToolbarButtons);
|
||||
}
|
||||
bShowToolbar = IniSectionGetInt(Settings_Section, L"ShowToolbar", 1);
|
||||
if (bShowToolbar) bShowToolbar = 1;
|
||||
|
||||
bShowStatusbar = IniSectionGetInt(Settings_Section, L"ShowStatusbar", 1);
|
||||
if (bShowStatusbar) bShowStatusbar = 1;
|
||||
GET_BOOL_VALUE_FROM_INISECTION(bShowToolbar, L"ShowToolbar", TRUE);
|
||||
GET_BOOL_VALUE_FROM_INISECTION(bShowStatusbar, L"ShowStatusbar", TRUE);
|
||||
GET_BOOL_VALUE_FROM_INISECTION(bShowDriveBox, L"ShowDriveBox", TRUE);
|
||||
GET_INT_VALUE_FROM_INISECTION(cxGotoDlg, L"GotoDlgSizeX", 0, 0, INT_MAX);
|
||||
GET_INT_VALUE_FROM_INISECTION(cxOpenWithDlg, L"OpenWithDlgSizeX", 0, 0, INT_MAX);
|
||||
GET_INT_VALUE_FROM_INISECTION(cyOpenWithDlg, L"OpenWithDlgSizeY", 0, 0, INT_MAX);
|
||||
GET_INT_VALUE_FROM_INISECTION(cxCopyMoveDlg, L"CopyMoveDlgSizeX", 0, 0, INT_MAX);
|
||||
|
||||
bShowDriveBox = IniSectionGetInt(Settings_Section, L"ShowDriveBox", 1);
|
||||
if (bShowDriveBox) bShowDriveBox = 1;
|
||||
|
||||
cxGotoDlg = IniSectionGetInt(Settings_Section, L"GotoDlgSizeX", 0);
|
||||
cxGotoDlg = max(cxGotoDlg, 0);
|
||||
|
||||
cxOpenWithDlg = IniSectionGetInt(Settings_Section, L"OpenWithDlgSizeX", 0);
|
||||
cxOpenWithDlg = max(cxOpenWithDlg, 0);
|
||||
|
||||
cyOpenWithDlg = IniSectionGetInt(Settings_Section, L"OpenWithDlgSizeY", 0);
|
||||
cyOpenWithDlg = max(cyOpenWithDlg, 0);
|
||||
|
||||
cxCopyMoveDlg = IniSectionGetInt(Settings_Section, L"CopyMoveDlgSizeX", 0);
|
||||
cxCopyMoveDlg = max(cxCopyMoveDlg, 0);
|
||||
// --------------------------------------------------------------------------
|
||||
|
||||
int ResX = GetSystemMetrics(SM_CXSCREEN);
|
||||
int ResY = GetSystemMetrics(SM_CYSCREEN);
|
||||
|
||||
|
||||
const WCHAR* const ToolbarImages_Section = L"Toolbar Images";
|
||||
|
||||
IniSectionGetString(ToolbarImages_Section, L"BitmapDefault", L"",
|
||||
tchToolbarBitmap, COUNTOF(tchToolbarBitmap));
|
||||
IniSectionGetString(ToolbarImages_Section, L"BitmapHot", L"",
|
||||
tchToolbarBitmapHot, COUNTOF(tchToolbarBitmap));
|
||||
IniSectionGetString(ToolbarImages_Section, L"BitmapDisabled", L"",
|
||||
tchToolbarBitmapDisabled, COUNTOF(tchToolbarBitmap));
|
||||
IniSectionGetString(ToolbarImages_Section, L"BitmapDefault", L"", Settings.tchToolbarBitmap, COUNTOF(Settings.tchToolbarBitmap));
|
||||
IniSectionGetString(ToolbarImages_Section, L"BitmapHot", L"", Settings.tchToolbarBitmapHot, COUNTOF(Settings.tchToolbarBitmap));
|
||||
IniSectionGetString(ToolbarImages_Section, L"BitmapDisabled", L"", Settings.tchToolbarBitmapDisabled, COUNTOF(Settings.tchToolbarBitmap));
|
||||
|
||||
if (!flagPosParam) { // ignore window position if /p was specified
|
||||
|
||||
@ -852,31 +804,45 @@ void LoadSettings()
|
||||
|
||||
const WCHAR* const Window_Section = L"Window";
|
||||
|
||||
wi.x = IniSectionGetInt(Window_Section, tchPosX, CW_USEDEFAULT);
|
||||
wi.y = IniSectionGetInt(Window_Section, tchPosY, CW_USEDEFAULT);
|
||||
wi.cx = IniSectionGetInt(Window_Section, tchSizeX, CW_USEDEFAULT);
|
||||
wi.cy = IniSectionGetInt(Window_Section, tchSizeY, CW_USEDEFAULT);
|
||||
Settings.wi.x = IniSectionGetInt(Window_Section, tchPosX, Defaults.wi.x);
|
||||
Settings.wi.y = IniSectionGetInt(Window_Section, tchPosY, Defaults.wi.y);
|
||||
Settings.wi.cx = IniSectionGetInt(Window_Section, tchSizeX, Defaults.wi.cx);
|
||||
Settings.wi.cy = IniSectionGetInt(Window_Section, tchSizeY, Defaults.wi.cy);
|
||||
}
|
||||
|
||||
|
||||
// Initialize custom colors for ChooseColor()
|
||||
crCustom[0] = RGB(0, 0, 128); crCustom[8] = RGB(255, 255, 226);
|
||||
crCustom[1] = GetSysColor(COLOR_WINDOWTEXT); crCustom[9] = GetSysColor(COLOR_WINDOW);
|
||||
crCustom[2] = GetSysColor(COLOR_INFOTEXT); crCustom[10] = GetSysColor(COLOR_INFOBK);
|
||||
crCustom[3] = GetSysColor(COLOR_HIGHLIGHTTEXT); crCustom[11] = GetSysColor(COLOR_HIGHLIGHT);
|
||||
crCustom[4] = GetSysColor(COLOR_ACTIVECAPTION); crCustom[12] = GetSysColor(COLOR_DESKTOP);
|
||||
crCustom[5] = GetSysColor(COLOR_3DFACE); crCustom[13] = GetSysColor(COLOR_3DFACE);
|
||||
crCustom[6] = GetSysColor(COLOR_3DFACE); crCustom[14] = GetSysColor(COLOR_3DFACE);
|
||||
crCustom[7] = GetSysColor(COLOR_3DFACE); crCustom[15] = GetSysColor(COLOR_3DFACE);
|
||||
|
||||
for (int i = 0; i < COUNTOF(Settings.crCustom); ++i) {
|
||||
Settings.crCustom[i] = Defaults.crCustom[i];
|
||||
}
|
||||
|
||||
ReleaseIniFile();
|
||||
}
|
||||
|
||||
|
||||
//=============================================================================
|
||||
//
|
||||
// SaveSettings()
|
||||
//
|
||||
//
|
||||
|
||||
#define SAVE_VALUE_IF_NOT_EQ_DEFAULT(TYPE,KEYNAME,VARNAME) \
|
||||
if (Settings.VARNAME != Defaults.VARNAME) { \
|
||||
IniSectionSet##TYPE(Settings_Section, KEYNAME, Settings.VARNAME); \
|
||||
} \
|
||||
else { \
|
||||
IniSectionDelete(Settings_Section, KEYNAME, false); \
|
||||
}
|
||||
|
||||
#define SAVE_STRING_IF_NOT_EQ_DEFAULT(KEYNAME,VARNAME) \
|
||||
if (lstrcmp(Settings.VARNAME, Defaults.VARNAME) != 0) { \
|
||||
IniSectionSetString(Settings_Section, KEYNAME, Settings.VARNAME); \
|
||||
} \
|
||||
else { \
|
||||
IniSectionDelete(Settings_Section, KEYNAME, false); \
|
||||
}
|
||||
|
||||
// ----------------------------------------------------------------------------
|
||||
|
||||
void SaveSettings(BOOL bSaveSettingsNow)
|
||||
{
|
||||
WCHAR wchTmp[MAX_PATH];
|
||||
@ -885,11 +851,11 @@ void SaveSettings(BOOL bSaveSettingsNow)
|
||||
|
||||
CreateIniFile();
|
||||
|
||||
if (!bSaveSettings && !bSaveSettingsNow) {
|
||||
if (iStartupDir == 1) {
|
||||
IniFileSetString(g_wchIniFile, L"Settings", L"MRUDirectory", szCurDir);
|
||||
if (!Settings.bSaveSettings && !bSaveSettingsNow) {
|
||||
if (Settings.iStartupDir == 1) {
|
||||
IniFileSetString(g_wchIniFile, L"Settings", L"MRUDirectory", Settings.szCurDir);
|
||||
}
|
||||
IniFileSetBool(g_wchIniFile, L"Settings", L"SaveSettings", bSaveSettings);
|
||||
IniFileSetBool(g_wchIniFile, L"Settings", L"SaveSettings", Settings.bSaveSettings);
|
||||
return;
|
||||
}
|
||||
|
||||
@ -897,49 +863,59 @@ void SaveSettings(BOOL bSaveSettingsNow)
|
||||
|
||||
const WCHAR* const Settings_Section = L"Settings";
|
||||
|
||||
IniSectionSetInt(Settings_Section, L"SaveSettings", bSaveSettings);
|
||||
IniSectionSetInt(Settings_Section, L"SingleClick", bSingleClick);
|
||||
IniSectionSetInt(Settings_Section, L"TrackSelect", bTrackSelect);
|
||||
IniSectionSetInt(Settings_Section, L"FullRowSelect", bFullRowSelect);
|
||||
IniSectionSetInt(Settings_Section, L"UseRecycleBin", fUseRecycleBin);
|
||||
IniSectionSetInt(Settings_Section, L"NoConfirmDelete", fNoConfirmDelete);
|
||||
IniSectionSetInt(Settings_Section, L"ClearReadOnly", bClearReadOnly);
|
||||
IniSectionSetInt(Settings_Section, L"RenameOnCollision", bRenameOnCollision);
|
||||
IniSectionSetInt(Settings_Section, L"FocusEdit", bFocusEdit);
|
||||
IniSectionSetInt(Settings_Section, L"AlwaysOnTop", bAlwaysOnTop);
|
||||
IniSectionSetInt(Settings_Section, L"MinimizeToTray", bMinimizeToTray);
|
||||
IniSectionSetInt(Settings_Section, L"TransparentMode", g_bTransparentMode);
|
||||
IniSectionSetInt(Settings_Section, L"EscFunction", iEscFunction);
|
||||
IniSectionSetInt(Settings_Section, L"StartupDirectory", iStartupDir);
|
||||
if (iStartupDir == 1) {
|
||||
IniSectionSetString(Settings_Section, L"MRUDirectory", szCurDir);
|
||||
SAVE_VALUE_IF_NOT_EQ_DEFAULT(Bool, L"SaveSettings", bSaveSettings);
|
||||
SAVE_VALUE_IF_NOT_EQ_DEFAULT(Bool, L"SingleClick", bSingleClick);
|
||||
SAVE_VALUE_IF_NOT_EQ_DEFAULT(Bool, L"TrackSelect", bTrackSelect);
|
||||
SAVE_VALUE_IF_NOT_EQ_DEFAULT(Bool, L"FullRowSelect", bFullRowSelect);
|
||||
SAVE_VALUE_IF_NOT_EQ_DEFAULT(Bool, L"UseRecycleBin", fUseRecycleBin);
|
||||
SAVE_VALUE_IF_NOT_EQ_DEFAULT(Bool, L"NoConfirmDelete", fNoConfirmDelete);
|
||||
SAVE_VALUE_IF_NOT_EQ_DEFAULT(Bool, L"ClearReadOnly", bClearReadOnly);
|
||||
SAVE_VALUE_IF_NOT_EQ_DEFAULT(Bool, L"RenameOnCollision", bRenameOnCollision);
|
||||
SAVE_VALUE_IF_NOT_EQ_DEFAULT(Bool, L"FocusEdit", bFocusEdit);
|
||||
SAVE_VALUE_IF_NOT_EQ_DEFAULT(Bool, L"AlwaysOnTop", bAlwaysOnTop);
|
||||
SAVE_VALUE_IF_NOT_EQ_DEFAULT(Bool, L"MinimizeToTray", bMinimizeToTray);
|
||||
SAVE_VALUE_IF_NOT_EQ_DEFAULT(Bool, L"TransparentMode", g_bTransparentMode);
|
||||
|
||||
SAVE_VALUE_IF_NOT_EQ_DEFAULT(Int, L"EscFunction", iEscFunction);
|
||||
|
||||
SAVE_VALUE_IF_NOT_EQ_DEFAULT(Int, L"StartupDirectory", iStartupDir);
|
||||
if (Settings.iStartupDir == 1) {
|
||||
IniSectionSetString(Settings_Section, L"MRUDirectory", Settings.szCurDir);
|
||||
}
|
||||
if (!bNP3sFavoritesSettings) {
|
||||
PathRelativeToApp(g_tchFavoritesDir, wchTmp, COUNTOF(wchTmp), FALSE, TRUE, flagPortableMyDocs);
|
||||
if (!Settings.bNP3sFavoritesSettings) {
|
||||
PathRelativeToApp(Settings.g_tchFavoritesDir, wchTmp, COUNTOF(wchTmp), FALSE, TRUE, flagPortableMyDocs);
|
||||
IniSectionSetString(Settings_Section, L"Favorites", wchTmp);
|
||||
}
|
||||
PathRelativeToApp(szQuickview, wchTmp, COUNTOF(wchTmp), FALSE, TRUE, flagPortableMyDocs);
|
||||
|
||||
PathRelativeToApp(Settings.szQuickview, wchTmp, COUNTOF(wchTmp), FALSE, TRUE, flagPortableMyDocs);
|
||||
IniSectionSetString(Settings_Section, L"Quikview.exe", wchTmp);
|
||||
IniSectionSetString(Settings_Section, L"QuikviewParams", szQuickviewParams);
|
||||
PathRelativeToApp(tchOpenWithDir, wchTmp, COUNTOF(wchTmp), FALSE, TRUE, flagPortableMyDocs);
|
||||
IniSectionSetString(Settings_Section, L"OpenWithDir", wchTmp);
|
||||
IniSectionSetInt(Settings_Section, L"FillMask", dwFillMask);
|
||||
IniSectionSetInt(Settings_Section, L"SortOptions", nSortFlags);
|
||||
IniSectionSetInt(Settings_Section, L"SortReverse", fSortRev);
|
||||
IniSectionSetString(Settings_Section, L"FileFilter", tchFilter);
|
||||
IniSectionSetInt(Settings_Section, L"NegativeFilter", bNegFilter);
|
||||
IniSectionSetInt(Settings_Section, L"DefColorNoFilter", bDefCrNoFilt);
|
||||
IniSectionSetInt(Settings_Section, L"DefColorFilter", bDefCrFilter);
|
||||
IniSectionSetInt(Settings_Section, L"ColorNoFilter", crNoFilt);
|
||||
IniSectionSetInt(Settings_Section, L"ColorFilter", crFilter);
|
||||
IniSectionSetString(Settings_Section, L"ToolbarButtons", tchToolbarButtons);
|
||||
IniSectionSetInt(Settings_Section, L"ShowToolbar", bShowToolbar);
|
||||
IniSectionSetInt(Settings_Section, L"ShowStatusbar", bShowStatusbar);
|
||||
IniSectionSetInt(Settings_Section, L"ShowDriveBox", bShowDriveBox);
|
||||
IniSectionSetInt(Settings_Section, L"GotoDlgSizeX", cxGotoDlg);
|
||||
IniSectionSetInt(Settings_Section, L"OpenWithDlgSizeX", cxOpenWithDlg);
|
||||
IniSectionSetInt(Settings_Section, L"OpenWithDlgSizeY", cyOpenWithDlg);
|
||||
IniSectionSetInt(Settings_Section, L"CopyMoveDlgSizeX", cxCopyMoveDlg);
|
||||
SAVE_STRING_IF_NOT_EQ_DEFAULT(L"Quikview.exe", szQuickviewParams);
|
||||
|
||||
PathRelativeToApp(Settings.tchOpenWithDir, wchTmp, COUNTOF(wchTmp), FALSE, TRUE, flagPortableMyDocs);
|
||||
if (lstrcmp(wchTmp, Defaults.tchOpenWithDir) != 0) {
|
||||
IniSectionSetString(Settings_Section, L"OpenWithDir", wchTmp);
|
||||
}
|
||||
|
||||
SAVE_VALUE_IF_NOT_EQ_DEFAULT(Int, L"FillMask", dwFillMask);
|
||||
SAVE_VALUE_IF_NOT_EQ_DEFAULT(Int, L"SortOptions", nSortFlags);
|
||||
SAVE_VALUE_IF_NOT_EQ_DEFAULT(Bool, L"SortReverse", fSortRev);
|
||||
SAVE_STRING_IF_NOT_EQ_DEFAULT(L"FileFilter", tchFilter);
|
||||
SAVE_VALUE_IF_NOT_EQ_DEFAULT(Bool, L"NegativeFilter", bNegFilter);
|
||||
SAVE_VALUE_IF_NOT_EQ_DEFAULT(Bool, L"DefColorNoFilter", bDefCrNoFilt);
|
||||
SAVE_VALUE_IF_NOT_EQ_DEFAULT(Bool, L"DefColorFilter", bDefCrFilter);
|
||||
SAVE_VALUE_IF_NOT_EQ_DEFAULT(Int, L"ColorNoFilter", crNoFilt);
|
||||
SAVE_VALUE_IF_NOT_EQ_DEFAULT(Int, L"ColorFilter", crFilter);
|
||||
SAVE_STRING_IF_NOT_EQ_DEFAULT(L"ToolbarButtons", tchToolbarButtons);
|
||||
SAVE_VALUE_IF_NOT_EQ_DEFAULT(Bool, L"ShowToolbar", bShowToolbar);
|
||||
SAVE_VALUE_IF_NOT_EQ_DEFAULT(Bool, L"ShowStatusbar", bShowStatusbar);
|
||||
SAVE_VALUE_IF_NOT_EQ_DEFAULT(Bool, L"ShowDriveBox", bShowDriveBox);
|
||||
SAVE_VALUE_IF_NOT_EQ_DEFAULT(Int, L"GotoDlgSizeX", cxGotoDlg);
|
||||
SAVE_VALUE_IF_NOT_EQ_DEFAULT(Int, L"OpenWithDlgSizeX", cxOpenWithDlg);
|
||||
SAVE_VALUE_IF_NOT_EQ_DEFAULT(Int, L"OpenWithDlgSizeY", cyOpenWithDlg);
|
||||
SAVE_VALUE_IF_NOT_EQ_DEFAULT(Int, L"CopyMoveDlgSizeX", cxCopyMoveDlg);
|
||||
|
||||
// cleanup
|
||||
IniSectionDelete(Settings_Section, L"WriteTest", FALSE);
|
||||
|
||||
/*
|
||||
SaveSettingsNow(): query Window Dimensions
|
||||
@ -948,15 +924,15 @@ void SaveSettings(BOOL bSaveSettingsNow)
|
||||
if (bSaveSettingsNow)
|
||||
{
|
||||
WINDOWPLACEMENT wndpl;
|
||||
|
||||
ZeroMemory(&wndpl, sizeof(WINDOWPLACEMENT));
|
||||
// GetWindowPlacement
|
||||
wndpl.length = sizeof(WINDOWPLACEMENT);
|
||||
GetWindowPlacement(hwndMain, &wndpl);
|
||||
|
||||
wi.x = wndpl.rcNormalPosition.left;
|
||||
wi.y = wndpl.rcNormalPosition.top;
|
||||
wi.cx = wndpl.rcNormalPosition.right - wndpl.rcNormalPosition.left;
|
||||
wi.cy = wndpl.rcNormalPosition.bottom - wndpl.rcNormalPosition.top;
|
||||
Settings.wi.x = wndpl.rcNormalPosition.left;
|
||||
Settings.wi.y = wndpl.rcNormalPosition.top;
|
||||
Settings.wi.cx = wndpl.rcNormalPosition.right - wndpl.rcNormalPosition.left;
|
||||
Settings.wi.cy = wndpl.rcNormalPosition.bottom - wndpl.rcNormalPosition.top;
|
||||
}
|
||||
|
||||
WCHAR tchPosX[32], tchPosY[32], tchSizeX[32], tchSizeY[32], tchMaximized[32];
|
||||
@ -970,10 +946,10 @@ void SaveSettings(BOOL bSaveSettingsNow)
|
||||
|
||||
const WCHAR* const Windows_Section = L"Window";
|
||||
|
||||
IniSectionSetInt(Windows_Section, tchPosX, wi.x);
|
||||
IniSectionSetInt(Windows_Section, tchPosY, wi.y);
|
||||
IniSectionSetInt(Windows_Section, tchSizeX, wi.cx);
|
||||
IniSectionSetInt(Windows_Section, tchSizeY, wi.cy);
|
||||
IniSectionSetInt(Windows_Section, tchPosX, Settings.wi.x);
|
||||
IniSectionSetInt(Windows_Section, tchPosY, Settings.wi.y);
|
||||
IniSectionSetInt(Windows_Section, tchSizeX, Settings.wi.cx);
|
||||
IniSectionSetInt(Windows_Section, tchSizeY, Settings.wi.cy);
|
||||
|
||||
SaveIniFile(g_wchIniFile);
|
||||
}
|
||||
|
||||
@ -24,6 +24,7 @@ extern "C" {
|
||||
|
||||
//==== Ini-File Handling =============================================
|
||||
|
||||
void InitDefaultSettings();
|
||||
void LoadSettings();
|
||||
void SaveSettings(BOOL);
|
||||
void LoadFlags();
|
||||
|
||||
@ -41,9 +41,9 @@
|
||||
//
|
||||
// L"Title\nMessage Text"
|
||||
//
|
||||
extern HWND hwndMain;
|
||||
extern LANGID g_iPrefLANGID;
|
||||
extern HICON g_hDlgIcon;
|
||||
extern HWND hwndMain;
|
||||
extern HICON g_hDlgIcon;
|
||||
extern LANGID g_iPrefLANGID;
|
||||
|
||||
|
||||
int ErrorMessage(int iLevel, UINT uIdMsg, ...)
|
||||
@ -57,7 +57,7 @@ int ErrorMessage(int iLevel, UINT uIdMsg, ...)
|
||||
return(0);
|
||||
|
||||
//int t = wvsprintf(szTitle,szText,(LPVOID)((PUINT_PTR)&uIdMsg + 1));
|
||||
int t = vswprintf_s(szTitle,COUNTOF(szTitle),szText,(LPVOID)((PUINT_PTR)&uIdMsg + 1));
|
||||
int const t = clampi(vswprintf_s(szTitle,COUNTOF(szTitle),szText,(LPVOID)((PUINT_PTR)&uIdMsg + 1)), 0, 1023);
|
||||
szTitle[t] = L'\0';
|
||||
|
||||
WCHAR* c = StrChr(szTitle,L'\n');
|
||||
@ -180,8 +180,6 @@ BOOL GetDirectory2(HWND hwndParent,int iTitle,LPWSTR pszFolder,int iBase)
|
||||
}
|
||||
|
||||
|
||||
extern WCHAR szCurDir[MAX_PATH + 40];
|
||||
|
||||
//=============================================================================
|
||||
//
|
||||
// RunDlgProc()
|
||||
@ -316,7 +314,7 @@ INT_PTR CALLBACK RunDlgProc(HWND hwnd,UINT umsg,WPARAM wParam,LPARAM lParam)
|
||||
sei.lpVerb = NULL;
|
||||
sei.lpFile = arg1;
|
||||
sei.lpParameters = arg2;
|
||||
sei.lpDirectory = szCurDir;
|
||||
sei.lpDirectory = Settings.szCurDir;
|
||||
sei.nShow = SW_SHOWNORMAL;
|
||||
|
||||
if (ShellExecuteEx(&sei))
|
||||
@ -363,8 +361,8 @@ INT_PTR RunDlg(HWND hwnd)
|
||||
// GotoDlgProc()
|
||||
//
|
||||
//
|
||||
extern HISTORY mHistory;
|
||||
extern int cxGotoDlg;
|
||||
|
||||
extern HISTORY g_mHistory;
|
||||
|
||||
INT_PTR CALLBACK GotoDlgProc(HWND hwnd,UINT umsg,WPARAM wParam,LPARAM lParam)
|
||||
{
|
||||
@ -390,9 +388,9 @@ INT_PTR CALLBACK GotoDlgProc(HWND hwnd,UINT umsg,WPARAM wParam,LPARAM lParam)
|
||||
mmiPtMinX = rc.right-rc.left;
|
||||
mmiPtMaxY = rc.bottom-rc.top;
|
||||
|
||||
if (cxGotoDlg < (rc.right-rc.left))
|
||||
cxGotoDlg = rc.right-rc.left;
|
||||
SetWindowPos(hwnd,NULL,rc.left,rc.top,cxGotoDlg,rc.bottom-rc.top,SWP_NOZORDER);
|
||||
if (Settings.cxGotoDlg < (rc.right-rc.left))
|
||||
Settings.cxGotoDlg = rc.right-rc.left;
|
||||
SetWindowPos(hwnd,NULL,rc.left,rc.top, Settings.cxGotoDlg,rc.bottom-rc.top,SWP_NOZORDER);
|
||||
|
||||
SetWindowLongPtr(hwnd,GWL_STYLE,GetWindowLongPtr(hwnd,GWL_STYLE)|WS_THICKFRAME);
|
||||
SetWindowPos(hwnd,NULL,0,0,0,0,SWP_NOZORDER|SWP_NOMOVE|SWP_NOSIZE|SWP_FRAMECHANGED);
|
||||
@ -414,13 +412,13 @@ INT_PTR CALLBACK GotoDlgProc(HWND hwnd,UINT umsg,WPARAM wParam,LPARAM lParam)
|
||||
SendDlgItemMessage(hwnd,IDC_GOTO,CB_SETEXTENDEDUI,TRUE,0);
|
||||
|
||||
for (int i = 0; i < HISTORY_ITEMS; i++) {
|
||||
if (mHistory.psz[i]) {
|
||||
if (g_mHistory.psz[i]) {
|
||||
int iItem = (int)SendDlgItemMessage(hwnd,IDC_GOTO,
|
||||
CB_FINDSTRINGEXACT,(WPARAM)-1,(LPARAM)mHistory.psz[i]);
|
||||
CB_FINDSTRINGEXACT,(WPARAM)-1,(LPARAM)g_mHistory.psz[i]);
|
||||
if (iItem != LB_ERR)
|
||||
SendDlgItemMessage(hwnd,IDC_GOTO,CB_DELETESTRING,iItem,0);
|
||||
SendDlgItemMessage(hwnd,IDC_GOTO,CB_INSERTSTRING,0,
|
||||
(LPARAM)mHistory.psz[i]);
|
||||
(LPARAM)g_mHistory.psz[i]);
|
||||
}
|
||||
}
|
||||
|
||||
@ -438,7 +436,7 @@ INT_PTR CALLBACK GotoDlgProc(HWND hwnd,UINT umsg,WPARAM wParam,LPARAM lParam)
|
||||
{
|
||||
RECT rc;
|
||||
GetWindowRect(hwnd,&rc);
|
||||
cxGotoDlg = rc.right-rc.left;
|
||||
Settings.cxGotoDlg = rc.right-rc.left;
|
||||
}
|
||||
return FALSE;
|
||||
|
||||
@ -647,23 +645,6 @@ INT_PTR CALLBACK AboutDlgProc(HWND hwnd,UINT umsg,WPARAM wParam,LPARAM lParam)
|
||||
//
|
||||
//
|
||||
extern WCHAR g_wchIniFile[MAX_PATH];
|
||||
extern BOOL bSaveSettings;
|
||||
extern WCHAR szQuickview[MAX_PATH];
|
||||
extern WCHAR szQuickviewParams[MAX_PATH];
|
||||
extern WCHAR g_tchFavoritesDir[MAX_PATH];
|
||||
extern BOOL bNP3sFavoritesSettings;
|
||||
extern BOOL bClearReadOnly;
|
||||
extern BOOL bRenameOnCollision;
|
||||
extern BOOL bSingleClick;
|
||||
extern BOOL bTrackSelect;
|
||||
extern BOOL bFullRowSelect;
|
||||
extern BOOL bFocusEdit;
|
||||
extern BOOL bAlwaysOnTop;
|
||||
extern BOOL bMinimizeToTray;
|
||||
extern BOOL fUseRecycleBin;
|
||||
extern BOOL fNoConfirmDelete;
|
||||
extern int iStartupDir;
|
||||
extern int iEscFunction;
|
||||
|
||||
INT_PTR CALLBACK GeneralPageProc(HWND hwnd,UINT umsg,WPARAM wParam,LPARAM lParam)
|
||||
{
|
||||
@ -676,28 +657,28 @@ INT_PTR CALLBACK GeneralPageProc(HWND hwnd,UINT umsg,WPARAM wParam,LPARAM lParam
|
||||
if (g_hDlgIcon) { SendMessage(hwnd, WM_SETICON, ICON_SMALL, (LPARAM)g_hDlgIcon); }
|
||||
|
||||
if (StrIsNotEmpty(g_wchIniFile)) {
|
||||
if (bSaveSettings)
|
||||
if (Settings.bSaveSettings)
|
||||
CheckDlgButton(hwnd,IDC_SAVESETTINGS,BST_CHECKED);
|
||||
}
|
||||
else
|
||||
EnableWindow(GetDlgItem(hwnd,IDC_SAVESETTINGS),FALSE);
|
||||
|
||||
if (bSingleClick)
|
||||
if (Settings.bSingleClick)
|
||||
CheckDlgButton(hwnd,IDC_SINGLECLICK,BST_CHECKED);
|
||||
|
||||
if (bTrackSelect)
|
||||
if (Settings.bTrackSelect)
|
||||
CheckDlgButton(hwnd,IDC_TRACKSELECT,BST_CHECKED);
|
||||
|
||||
if (bFullRowSelect)
|
||||
if (Settings.bFullRowSelect)
|
||||
CheckDlgButton(hwnd,IDC_FULLROWSELECT,BST_CHECKED);
|
||||
|
||||
if (bFocusEdit)
|
||||
if (Settings.bFocusEdit)
|
||||
CheckDlgButton(hwnd,IDC_FOCUSEDIT,BST_CHECKED);
|
||||
|
||||
if (bAlwaysOnTop)
|
||||
if (Settings.bAlwaysOnTop)
|
||||
CheckDlgButton(hwnd,IDC_ALWAYSONTOP,BST_CHECKED);
|
||||
|
||||
if (bMinimizeToTray)
|
||||
if (Settings.bMinimizeToTray)
|
||||
CheckDlgButton(hwnd,IDC_MINIMIZETOTRAY,BST_CHECKED);
|
||||
|
||||
if (IniFileGetInt(g_wchIniFile, L"Settings2", L"ReuseWindow", 1)) {
|
||||
@ -715,40 +696,40 @@ INT_PTR CALLBACK GeneralPageProc(HWND hwnd,UINT umsg,WPARAM wParam,LPARAM lParam
|
||||
|
||||
if (IsWindowEnabled(GetDlgItem(hwnd,IDC_SAVESETTINGS))) {
|
||||
if (IsDlgButtonChecked(hwnd,IDC_SAVESETTINGS))
|
||||
bSaveSettings = 1;
|
||||
Settings.bSaveSettings = 1;
|
||||
else
|
||||
bSaveSettings = 0;
|
||||
Settings.bSaveSettings = 0;
|
||||
}
|
||||
|
||||
if (IsDlgButtonChecked(hwnd,IDC_SINGLECLICK))
|
||||
bSingleClick = 1;
|
||||
Settings.bSingleClick = 1;
|
||||
else
|
||||
bSingleClick = 0;
|
||||
Settings.bSingleClick = 0;
|
||||
|
||||
if (IsDlgButtonChecked(hwnd,IDC_TRACKSELECT))
|
||||
bTrackSelect = 1;
|
||||
Settings.bTrackSelect = 1;
|
||||
else
|
||||
bTrackSelect = 0;
|
||||
Settings.bTrackSelect = 0;
|
||||
|
||||
if (IsDlgButtonChecked(hwnd,IDC_FULLROWSELECT))
|
||||
bFullRowSelect = 1;
|
||||
Settings.bFullRowSelect = 1;
|
||||
else
|
||||
bFullRowSelect = 0;
|
||||
Settings.bFullRowSelect = 0;
|
||||
|
||||
if (IsDlgButtonChecked(hwnd,IDC_FOCUSEDIT))
|
||||
bFocusEdit = 1;
|
||||
Settings.bFocusEdit = 1;
|
||||
else
|
||||
bFocusEdit = 0;
|
||||
Settings.bFocusEdit = 0;
|
||||
|
||||
if (IsDlgButtonChecked(hwnd,IDC_ALWAYSONTOP))
|
||||
bAlwaysOnTop = 1;
|
||||
Settings.bAlwaysOnTop = 1;
|
||||
else
|
||||
bAlwaysOnTop = 0;
|
||||
Settings.bAlwaysOnTop = 0;
|
||||
|
||||
if (IsDlgButtonChecked(hwnd,IDC_MINIMIZETOTRAY))
|
||||
bMinimizeToTray = 1;
|
||||
Settings.bMinimizeToTray = 1;
|
||||
else
|
||||
bMinimizeToTray = 0;
|
||||
Settings.bMinimizeToTray = 0;
|
||||
|
||||
int const rw = IsDlgButtonChecked(hwnd, IDC_REUSEWINDOW) ? 1 : 0;
|
||||
IniFileSetInt(g_wchIniFile, L"Settings2", L"ReuseWindow", rw);
|
||||
@ -782,22 +763,22 @@ INT_PTR CALLBACK AdvancedPageProc(HWND hwnd,UINT umsg,WPARAM wParam,LPARAM lPara
|
||||
|
||||
if (g_hDlgIcon) { SendMessage(hwnd, WM_SETICON, ICON_SMALL, (LPARAM)g_hDlgIcon); }
|
||||
|
||||
if (bClearReadOnly)
|
||||
if (Settings.bClearReadOnly)
|
||||
CheckDlgButton(hwnd,IDC_CLEARREADONLY,BST_CHECKED);
|
||||
|
||||
if (bRenameOnCollision)
|
||||
if (Settings.bRenameOnCollision)
|
||||
CheckDlgButton(hwnd,IDC_RENAMEONCOLLISION,BST_CHECKED);
|
||||
|
||||
if (fUseRecycleBin)
|
||||
if (Settings.fUseRecycleBin)
|
||||
CheckDlgButton(hwnd,IDC_USERECYCLEBIN,BST_CHECKED);
|
||||
|
||||
if (fNoConfirmDelete)
|
||||
if (Settings.fNoConfirmDelete)
|
||||
CheckDlgButton(hwnd,IDC_NOCONFIRMDELETE,BST_CHECKED);
|
||||
|
||||
if (iStartupDir)
|
||||
if (Settings.iStartupDir)
|
||||
{
|
||||
CheckDlgButton(hwnd,IDC_STARTUPDIR,BST_CHECKED);
|
||||
if (iStartupDir == 1)
|
||||
if (Settings.iStartupDir == 1)
|
||||
CheckRadioButton(hwnd,IDC_GOTOMRU,IDC_GOTOFAV,IDC_GOTOMRU);
|
||||
else
|
||||
CheckRadioButton(hwnd,IDC_GOTOMRU,IDC_GOTOFAV,IDC_GOTOFAV);
|
||||
@ -809,10 +790,10 @@ INT_PTR CALLBACK AdvancedPageProc(HWND hwnd,UINT umsg,WPARAM wParam,LPARAM lPara
|
||||
EnableWindow(GetDlgItem(hwnd,IDC_GOTOFAV),FALSE);
|
||||
}
|
||||
|
||||
if (iEscFunction)
|
||||
if (Settings.iEscFunction)
|
||||
{
|
||||
CheckDlgButton(hwnd,IDC_ESCFUNCTION,BST_CHECKED);
|
||||
if (iEscFunction == 1)
|
||||
if (Settings.iEscFunction == 1)
|
||||
CheckRadioButton(hwnd,IDC_ESCMIN,IDC_ESCEXIT,IDC_ESCMIN);
|
||||
else
|
||||
CheckRadioButton(hwnd,IDC_ESCMIN,IDC_ESCEXIT,IDC_ESCEXIT);
|
||||
@ -868,42 +849,42 @@ INT_PTR CALLBACK AdvancedPageProc(HWND hwnd,UINT umsg,WPARAM wParam,LPARAM lPara
|
||||
case PSN_APPLY:
|
||||
|
||||
if (IsDlgButtonChecked(hwnd,IDC_CLEARREADONLY))
|
||||
bClearReadOnly = 1;
|
||||
Settings.bClearReadOnly = 1;
|
||||
else
|
||||
bClearReadOnly = 0;
|
||||
Settings.bClearReadOnly = 0;
|
||||
|
||||
if (IsDlgButtonChecked(hwnd,IDC_RENAMEONCOLLISION))
|
||||
bRenameOnCollision = 1;
|
||||
Settings.bRenameOnCollision = 1;
|
||||
else
|
||||
bRenameOnCollision = 0;
|
||||
Settings.bRenameOnCollision = 0;
|
||||
|
||||
if (IsDlgButtonChecked(hwnd,IDC_USERECYCLEBIN))
|
||||
fUseRecycleBin = 1;
|
||||
Settings.fUseRecycleBin = 1;
|
||||
else
|
||||
fUseRecycleBin = 0;
|
||||
Settings.fUseRecycleBin = 0;
|
||||
|
||||
if (IsDlgButtonChecked(hwnd,IDC_NOCONFIRMDELETE))
|
||||
fNoConfirmDelete = 1;
|
||||
Settings.fNoConfirmDelete = 1;
|
||||
else
|
||||
fNoConfirmDelete = 0;
|
||||
Settings.fNoConfirmDelete = 0;
|
||||
|
||||
if (IsDlgButtonChecked(hwnd,IDC_STARTUPDIR)) {
|
||||
if (IsDlgButtonChecked(hwnd,IDC_GOTOMRU))
|
||||
iStartupDir = 1;
|
||||
Settings.iStartupDir = 1;
|
||||
else
|
||||
iStartupDir = 2;
|
||||
Settings.iStartupDir = 2;
|
||||
}
|
||||
else
|
||||
iStartupDir = 0;
|
||||
Settings.iStartupDir = 0;
|
||||
|
||||
if (IsDlgButtonChecked(hwnd,IDC_ESCFUNCTION)) {
|
||||
if (IsDlgButtonChecked(hwnd,IDC_ESCMIN))
|
||||
iEscFunction = 1;
|
||||
Settings.iEscFunction = 1;
|
||||
else
|
||||
iEscFunction = 2;
|
||||
Settings.iEscFunction = 2;
|
||||
}
|
||||
else
|
||||
iEscFunction = 0;
|
||||
Settings.iEscFunction = 0;
|
||||
|
||||
SetWindowLongPtr(hwnd,DWLP_MSGRESULT,PSNRET_NOERROR);
|
||||
|
||||
@ -923,11 +904,6 @@ INT_PTR CALLBACK AdvancedPageProc(HWND hwnd,UINT umsg,WPARAM wParam,LPARAM lPara
|
||||
// ItemsPageProc
|
||||
//
|
||||
//
|
||||
extern BOOL bDefCrNoFilt;
|
||||
extern BOOL bDefCrFilter;
|
||||
extern COLORREF crNoFilt;
|
||||
extern COLORREF crFilter;
|
||||
extern COLORREF crCustom[16];
|
||||
|
||||
INT_PTR CALLBACK ItemsPageProc(HWND hwnd,UINT umsg,WPARAM wParam,LPARAM lParam)
|
||||
{
|
||||
@ -950,11 +926,11 @@ INT_PTR CALLBACK ItemsPageProc(HWND hwnd,UINT umsg,WPARAM wParam,LPARAM lParam)
|
||||
|
||||
if (g_hDlgIcon) { SendMessage(hwnd, WM_SETICON, ICON_SMALL, (LPARAM)g_hDlgIcon); }
|
||||
|
||||
m_bDefCrNoFilt = bDefCrNoFilt;
|
||||
m_bDefCrFilter = bDefCrFilter;
|
||||
m_bDefCrNoFilt = Settings.bDefCrNoFilt;
|
||||
m_bDefCrFilter = Settings.bDefCrFilter;
|
||||
|
||||
m_crNoFilt = crNoFilt;
|
||||
m_crFilter = crFilter;
|
||||
m_crNoFilt = Settings.crNoFilt;
|
||||
m_crFilter = Settings.crFilter;
|
||||
|
||||
m_hbrNoFilt = CreateSolidBrush(m_crNoFilt);
|
||||
m_hbrFilter = CreateSolidBrush(m_crFilter);
|
||||
@ -1024,7 +1000,7 @@ INT_PTR CALLBACK ItemsPageProc(HWND hwnd,UINT umsg,WPARAM wParam,LPARAM lParam)
|
||||
cc.lStructSize = sizeof(CHOOSECOLOR);
|
||||
cc.hwndOwner = hwnd;
|
||||
cc.rgbResult = m_crNoFilt;
|
||||
cc.lpCustColors = crCustom;
|
||||
cc.lpCustColors = Settings.crCustom;
|
||||
cc.Flags = CC_RGBINIT | CC_SOLIDCOLOR;
|
||||
|
||||
if (ChooseColor(&cc)) {
|
||||
@ -1042,7 +1018,7 @@ INT_PTR CALLBACK ItemsPageProc(HWND hwnd,UINT umsg,WPARAM wParam,LPARAM lParam)
|
||||
cc.lStructSize = sizeof(CHOOSECOLOR);
|
||||
cc.hwndOwner = hwnd;
|
||||
cc.rgbResult = m_crFilter;
|
||||
cc.lpCustColors = crCustom;
|
||||
cc.lpCustColors = Settings.crCustom;
|
||||
cc.Flags = CC_RGBINIT | CC_SOLIDCOLOR;
|
||||
|
||||
if (ChooseColor(&cc)) {
|
||||
@ -1065,11 +1041,11 @@ INT_PTR CALLBACK ItemsPageProc(HWND hwnd,UINT umsg,WPARAM wParam,LPARAM lParam)
|
||||
|
||||
case PSN_APPLY:
|
||||
|
||||
bDefCrNoFilt = m_bDefCrNoFilt;
|
||||
bDefCrFilter = m_bDefCrFilter;
|
||||
Settings.bDefCrNoFilt = m_bDefCrNoFilt;
|
||||
Settings.bDefCrFilter = m_bDefCrFilter;
|
||||
|
||||
crNoFilt = m_crNoFilt;
|
||||
crFilter = m_crFilter;
|
||||
Settings.crNoFilt = m_crNoFilt;
|
||||
Settings.crFilter = m_crFilter;
|
||||
|
||||
SetWindowLongPtr(hwnd,DWLP_MSGRESULT,PSNRET_NOERROR);
|
||||
|
||||
@ -1116,18 +1092,18 @@ INT_PTR CALLBACK ProgPageProc(HWND hwnd,UINT umsg,WPARAM wParam,LPARAM lParam)
|
||||
MakeBitmapButton(hwnd,IDC_BROWSE_Q,g_hInstance,IDB_OPEN);
|
||||
MakeBitmapButton(hwnd,IDC_BROWSE_F,g_hInstance,IDB_OPEN);
|
||||
|
||||
lstrcpy(tch,szQuickview);
|
||||
lstrcpy(tch, Settings.szQuickview);
|
||||
PathQuoteSpaces(tch);
|
||||
if (StrIsNotEmpty(szQuickviewParams)) {
|
||||
if (StrIsNotEmpty(Settings.szQuickviewParams)) {
|
||||
StrCatBuff(tch,L" ",COUNTOF(tch));
|
||||
StrCatBuff(tch,szQuickviewParams,COUNTOF(tch));
|
||||
StrCatBuff(tch, Settings.szQuickviewParams,COUNTOF(tch));
|
||||
}
|
||||
SendDlgItemMessage(hwnd,IDC_QUICKVIEW,EM_LIMITTEXT,MAX_PATH - 2,0);
|
||||
SetDlgItemText(hwnd,IDC_QUICKVIEW,tch);
|
||||
SHAutoComplete(GetDlgItem(hwnd,IDC_QUICKVIEW),SHACF_FILESYSTEM);
|
||||
|
||||
SendDlgItemMessage(hwnd,IDC_FAVORITES,EM_LIMITTEXT,MAX_PATH - 2,0);
|
||||
SetDlgItemText(hwnd,IDC_FAVORITES,g_tchFavoritesDir);
|
||||
SetDlgItemText(hwnd,IDC_FAVORITES, Settings.g_tchFavoritesDir);
|
||||
SHAutoComplete(GetDlgItem(hwnd,IDC_FAVORITES),SHACF_FILESYSTEM);
|
||||
}
|
||||
return TRUE;
|
||||
@ -1215,23 +1191,23 @@ INT_PTR CALLBACK ProgPageProc(HWND hwnd,UINT umsg,WPARAM wParam,LPARAM lParam)
|
||||
|
||||
if (!GetDlgItemText(hwnd,IDC_QUICKVIEW,tch,MAX_PATH)) {
|
||||
|
||||
GetSystemDirectory(szQuickview,MAX_PATH);
|
||||
PathAddBackslash(szQuickview);
|
||||
lstrcat(szQuickview,L"Viewers\\Quikview.exe");
|
||||
PathQuoteSpaces(szQuickview);
|
||||
lstrcpy(szQuickviewParams,L"");
|
||||
GetSystemDirectory(Settings.szQuickview,MAX_PATH);
|
||||
PathAddBackslash(Settings.szQuickview);
|
||||
lstrcat(Settings.szQuickview,L"Viewers\\Quikview.exe");
|
||||
PathQuoteSpaces(Settings.szQuickview);
|
||||
lstrcpy(Settings.szQuickviewParams,L"");
|
||||
}
|
||||
else
|
||||
ExtractFirstArgument(tch,szQuickview,szQuickviewParams);
|
||||
ExtractFirstArgument(tch, Settings.szQuickview, Settings.szQuickviewParams);
|
||||
|
||||
lstrcpy(tch, g_tchFavoritesDir);
|
||||
if (!GetDlgItemText(hwnd, IDC_FAVORITES, g_tchFavoritesDir, MAX_PATH)) {
|
||||
GetDefaultFavoritesDir(g_tchFavoritesDir, COUNTOF(g_tchFavoritesDir));
|
||||
lstrcpy(tch, Settings.g_tchFavoritesDir);
|
||||
if (!GetDlgItemText(hwnd, IDC_FAVORITES, Settings.g_tchFavoritesDir, MAX_PATH)) {
|
||||
GetDefaultFavoritesDir(Settings.g_tchFavoritesDir, COUNTOF(Settings.g_tchFavoritesDir));
|
||||
}
|
||||
else
|
||||
StrTrim(g_tchFavoritesDir,L" \"");
|
||||
StrTrim(Settings.g_tchFavoritesDir,L" \"");
|
||||
|
||||
if (lstrcmpi(tch, g_tchFavoritesDir) != 0) { bNP3sFavoritesSettings = FALSE; }
|
||||
if (lstrcmpi(tch, Settings.g_tchFavoritesDir) != 0) { Settings.bNP3sFavoritesSettings = FALSE; }
|
||||
|
||||
SetWindowLongPtr(hwnd,DWLP_MSGRESULT,PSNRET_NOERROR);
|
||||
|
||||
@ -1249,10 +1225,6 @@ INT_PTR CALLBACK ProgPageProc(HWND hwnd,UINT umsg,WPARAM wParam,LPARAM lParam)
|
||||
//
|
||||
//
|
||||
extern HWND hwndStatus;
|
||||
extern int nIdFocus;
|
||||
|
||||
extern WCHAR tchFilter[DL_FILTER_BUFSIZE];
|
||||
extern BOOL bNegFilter;
|
||||
|
||||
INT_PTR OptionsPropSheet(HWND hwnd,HINSTANCE hInstance)
|
||||
{
|
||||
@ -1306,12 +1278,12 @@ INT_PTR OptionsPropSheet(HWND hwnd,HINSTANCE hInstance)
|
||||
// Apply the results
|
||||
if (nResult)
|
||||
{
|
||||
if (bAlwaysOnTop)
|
||||
if (Settings.bAlwaysOnTop)
|
||||
SetWindowPos(hwnd,HWND_TOPMOST,0,0,0,0,SWP_NOMOVE|SWP_NOSIZE);
|
||||
else
|
||||
SetWindowPos(hwnd,HWND_NOTOPMOST,0,0,0,0,SWP_NOMOVE|SWP_NOSIZE);
|
||||
|
||||
if (bTrackSelect)
|
||||
if (Settings.bTrackSelect)
|
||||
ListView_SetExtendedListViewStyleEx(hwndDirList,
|
||||
LVS_EX_TRACKSELECT|LVS_EX_ONECLICKACTIVATE,
|
||||
LVS_EX_TRACKSELECT|LVS_EX_ONECLICKACTIVATE);
|
||||
@ -1319,7 +1291,7 @@ INT_PTR OptionsPropSheet(HWND hwnd,HINSTANCE hInstance)
|
||||
ListView_SetExtendedListViewStyleEx(hwndDirList,
|
||||
LVS_EX_TRACKSELECT|LVS_EX_ONECLICKACTIVATE,0);
|
||||
|
||||
if (bFullRowSelect) {
|
||||
if (Settings.bFullRowSelect) {
|
||||
ListView_SetExtendedListViewStyleEx(hwndDirList,
|
||||
LVS_EX_FULLROWSELECT,
|
||||
LVS_EX_FULLROWSELECT);
|
||||
@ -1333,12 +1305,12 @@ INT_PTR OptionsPropSheet(HWND hwnd,HINSTANCE hInstance)
|
||||
SetTheme(hwndDirList,L"Listview");
|
||||
}
|
||||
|
||||
if (lstrcmp(tchFilter,L"*.*") || bNegFilter) {
|
||||
ListView_SetTextColor(hwndDirList,(bDefCrFilter) ? GetSysColor(COLOR_WINDOWTEXT) : crFilter);
|
||||
if (lstrcmp(Settings.tchFilter,L"*.*") || Settings.bNegFilter) {
|
||||
ListView_SetTextColor(hwndDirList,(Settings.bDefCrFilter) ? GetSysColor(COLOR_WINDOWTEXT) : Settings.crFilter);
|
||||
ListView_RedrawItems(hwndDirList,0,ListView_GetItemCount(hwndDirList)-1);
|
||||
}
|
||||
else {
|
||||
ListView_SetTextColor(hwndDirList,(bDefCrNoFilt) ? GetSysColor(COLOR_WINDOWTEXT) : crNoFilt);
|
||||
ListView_SetTextColor(hwndDirList,(Settings.bDefCrNoFilt) ? GetSysColor(COLOR_WINDOWTEXT) : Settings.crNoFilt);
|
||||
ListView_RedrawItems(hwndDirList,0,ListView_GetItemCount(hwndDirList)-1);
|
||||
}
|
||||
|
||||
@ -1352,8 +1324,6 @@ INT_PTR OptionsPropSheet(HWND hwnd,HINSTANCE hInstance)
|
||||
// GetFilterDlgProc()
|
||||
//
|
||||
//
|
||||
extern WCHAR tchFilter[DL_FILTER_BUFSIZE];
|
||||
extern BOOL bNegFilter;
|
||||
|
||||
static HWND s_hWnd = NULL;
|
||||
static HMENU s_hMenu = NULL;
|
||||
@ -1389,10 +1359,10 @@ INT_PTR CALLBACK GetFilterDlgProc(HWND hwnd,UINT umsg,WPARAM wParam,LPARAM lPara
|
||||
|
||||
MakeBitmapButton(hwnd,IDC_BROWSEFILTER,NULL,OBM_COMBO);
|
||||
|
||||
SendDlgItemMessage(hwnd,IDC_FILTER,EM_LIMITTEXT,COUNTOF(tchFilter)-1,0);
|
||||
SetDlgItemText(hwnd,IDC_FILTER,tchFilter);
|
||||
SendDlgItemMessage(hwnd,IDC_FILTER,EM_LIMITTEXT,COUNTOF(Settings.tchFilter)-1,0);
|
||||
SetDlgItemText(hwnd,IDC_FILTER, Settings.tchFilter);
|
||||
|
||||
CheckDlgButton(hwnd,IDC_NEGFILTER, DlgBtnChk(bNegFilter));
|
||||
CheckDlgButton(hwnd,IDC_NEGFILTER, DlgBtnChk(Settings.bNegFilter));
|
||||
|
||||
CenterDlgInParent(hwnd);
|
||||
}
|
||||
@ -1472,12 +1442,12 @@ INT_PTR CALLBACK GetFilterDlgProc(HWND hwnd,UINT umsg,WPARAM wParam,LPARAM lPara
|
||||
|
||||
|
||||
case IDOK:
|
||||
if (GetDlgItemText(hwnd,IDC_FILTER,tchFilter,COUNTOF(tchFilter)-1)) {
|
||||
bNegFilter = IsDlgButtonChecked(hwnd,IDC_NEGFILTER)?TRUE:FALSE;
|
||||
if (GetDlgItemText(hwnd,IDC_FILTER, Settings.tchFilter,COUNTOF(Settings.tchFilter)-1)) {
|
||||
Settings.bNegFilter = IsDlgButtonChecked(hwnd,IDC_NEGFILTER)?TRUE:FALSE;
|
||||
}
|
||||
else {
|
||||
lstrcpy(tchFilter,L"*.*");
|
||||
bNegFilter = FALSE;
|
||||
lstrcpy(Settings.tchFilter,L"*.*");
|
||||
Settings.bNegFilter = FALSE;
|
||||
}
|
||||
EndDialog(hwnd,IDOK);
|
||||
break;
|
||||
@ -1510,12 +1480,12 @@ BOOL GetFilterDlg(HWND hwnd)
|
||||
WCHAR tchOldFilter[DL_FILTER_BUFSIZE];
|
||||
BOOL bOldNegFilter;
|
||||
|
||||
lstrcpy(tchOldFilter,tchFilter);
|
||||
bOldNegFilter = bNegFilter;
|
||||
lstrcpy(tchOldFilter, Settings.tchFilter);
|
||||
bOldNegFilter = Settings.bNegFilter;
|
||||
|
||||
if (IDOK == ThemedDialogBox(g_hLngResContainer,MAKEINTRESOURCE(IDD_FILTER),hwnd,GetFilterDlgProc))
|
||||
{
|
||||
if (!lstrcmpi(tchFilter,tchOldFilter) && (bOldNegFilter == bNegFilter))
|
||||
if (!lstrcmpi(Settings.tchFilter,tchOldFilter) && (bOldNegFilter == Settings.bNegFilter))
|
||||
return(FALSE); // Old and new filters are identical
|
||||
else
|
||||
return(TRUE);
|
||||
@ -1669,8 +1639,6 @@ BOOL RenameFileDlg(HWND hwnd)
|
||||
// CopyMoveDlgProc()
|
||||
//
|
||||
//
|
||||
extern int cxCopyMoveDlg;
|
||||
|
||||
INT_PTR CALLBACK CopyMoveDlgProc(HWND hwnd,UINT umsg,WPARAM wParam,LPARAM lParam)
|
||||
{
|
||||
|
||||
@ -1700,9 +1668,9 @@ INT_PTR CALLBACK CopyMoveDlgProc(HWND hwnd,UINT umsg,WPARAM wParam,LPARAM lParam
|
||||
mmiPtMinX = rc.right-rc.left;
|
||||
mmiPtMaxY = rc.bottom-rc.top;
|
||||
|
||||
if (cxCopyMoveDlg < (rc.right-rc.left))
|
||||
cxCopyMoveDlg = rc.right-rc.left;
|
||||
SetWindowPos(hwnd,NULL,rc.left,rc.top,cxCopyMoveDlg,rc.bottom-rc.top,SWP_NOZORDER);
|
||||
if (Settings.cxCopyMoveDlg < (rc.right-rc.left))
|
||||
Settings.cxCopyMoveDlg = rc.right-rc.left;
|
||||
SetWindowPos(hwnd,NULL,rc.left,rc.top, Settings.cxCopyMoveDlg,rc.bottom-rc.top,SWP_NOZORDER);
|
||||
|
||||
SetWindowLongPtr(hwnd,GWL_STYLE,GetWindowLongPtr(hwnd,GWL_STYLE)|WS_THICKFRAME);
|
||||
SetWindowPos(hwnd,NULL,0,0,0,0,SWP_NOZORDER|SWP_NOMOVE|SWP_NOSIZE|SWP_FRAMECHANGED);
|
||||
@ -1751,7 +1719,7 @@ INT_PTR CALLBACK CopyMoveDlgProc(HWND hwnd,UINT umsg,WPARAM wParam,LPARAM lParam
|
||||
{
|
||||
RECT rc;
|
||||
GetWindowRect(hwnd,&rc);
|
||||
cxCopyMoveDlg = rc.right-rc.left;
|
||||
Settings.cxCopyMoveDlg = rc.right-rc.left;
|
||||
|
||||
DeleteBitmapButton(hwnd,IDC_BROWSEDESTINATION);
|
||||
}
|
||||
@ -1903,7 +1871,7 @@ BOOL CopyMoveDlg(HWND hwnd,UINT *wFunc)
|
||||
shfos.pFrom = tchSource;
|
||||
shfos.pTo = tchDestination;
|
||||
shfos.fFlags = FOF_NO_CONNECTED_ELEMENTS | FOF_ALLOWUNDO;
|
||||
if (shfos.wFunc == FO_COPY && bRenameOnCollision)
|
||||
if (shfos.wFunc == FO_COPY && Settings.bRenameOnCollision)
|
||||
shfos.fFlags |= FOF_RENAMEONCOLLISION;
|
||||
|
||||
// Save item
|
||||
@ -1930,7 +1898,7 @@ BOOL CopyMoveDlg(HWND hwnd,UINT *wFunc)
|
||||
|
||||
if (SHFileOperation(&shfos) == 0) // success
|
||||
{
|
||||
if (bClearReadOnly)
|
||||
if (Settings.bClearReadOnly)
|
||||
{
|
||||
DWORD dwFileAttributes = GetFileAttributes(tchDestination);
|
||||
if (dwFileAttributes & FILE_ATTRIBUTE_READONLY)
|
||||
@ -1952,12 +1920,7 @@ BOOL CopyMoveDlg(HWND hwnd,UINT *wFunc)
|
||||
|
||||
}
|
||||
|
||||
|
||||
extern WCHAR tchOpenWithDir[MAX_PATH];
|
||||
extern int flagNoFadeHidden;
|
||||
|
||||
extern int cxOpenWithDlg;
|
||||
extern int cyOpenWithDlg;
|
||||
extern int flagNoFadeHidden;
|
||||
|
||||
INT_PTR CALLBACK OpenWithDlgProc(HWND hwnd,UINT umsg,WPARAM wParam,LPARAM lParam)
|
||||
{
|
||||
@ -1985,11 +1948,11 @@ INT_PTR CALLBACK OpenWithDlgProc(HWND hwnd,UINT umsg,WPARAM wParam,LPARAM lParam
|
||||
mmiPtMinX = rc.right-rc.left;
|
||||
mmiPtMaxY = rc.bottom-rc.top;
|
||||
|
||||
if (cxOpenWithDlg < (rc.right-rc.left))
|
||||
cxOpenWithDlg = rc.right-rc.left;
|
||||
if (cyOpenWithDlg < (rc.bottom-rc.top))
|
||||
cyOpenWithDlg = rc.bottom-rc.top;
|
||||
SetWindowPos(hwnd,NULL,rc.left,rc.top,cxOpenWithDlg,cyOpenWithDlg,SWP_NOZORDER);
|
||||
if (Settings.cxOpenWithDlg < (rc.right-rc.left))
|
||||
Settings.cxOpenWithDlg = rc.right-rc.left;
|
||||
if (Settings.cyOpenWithDlg < (rc.bottom-rc.top))
|
||||
Settings.cyOpenWithDlg = rc.bottom-rc.top;
|
||||
SetWindowPos(hwnd,NULL,rc.left,rc.top, Settings.cxOpenWithDlg, Settings.cyOpenWithDlg,SWP_NOZORDER);
|
||||
|
||||
SetWindowLongPtr(hwnd,GWL_STYLE,GetWindowLongPtr(hwnd,GWL_STYLE)|WS_THICKFRAME);
|
||||
SetWindowPos(hwnd,NULL,0,0,0,0,SWP_NOZORDER|SWP_NOMOVE|SWP_NOSIZE|SWP_FRAMECHANGED);
|
||||
@ -2013,7 +1976,7 @@ INT_PTR CALLBACK OpenWithDlgProc(HWND hwnd,UINT umsg,WPARAM wParam,LPARAM lParam
|
||||
ListView_SetExtendedListViewStyle(GetDlgItem(hwnd,IDC_OPENWITHDIR),/*LVS_EX_FULLROWSELECT|*/LVS_EX_DOUBLEBUFFER|LVS_EX_LABELTIP);
|
||||
ListView_InsertColumn(GetDlgItem(hwnd,IDC_OPENWITHDIR),0,&lvc);
|
||||
DirList_Init(GetDlgItem(hwnd,IDC_OPENWITHDIR),NULL);
|
||||
DirList_Fill(GetDlgItem(hwnd,IDC_OPENWITHDIR),tchOpenWithDir,DL_ALLOBJECTS,NULL,FALSE,flagNoFadeHidden,DS_NAME,FALSE);
|
||||
DirList_Fill(GetDlgItem(hwnd,IDC_OPENWITHDIR), Settings.tchOpenWithDir,DL_ALLOBJECTS,NULL,FALSE, flagNoFadeHidden,DS_NAME,FALSE);
|
||||
DirList_StartIconThread(GetDlgItem(hwnd,IDC_OPENWITHDIR));
|
||||
ListView_SetItemState(GetDlgItem(hwnd,IDC_OPENWITHDIR),0,LVIS_FOCUSED,LVIS_FOCUSED);
|
||||
|
||||
@ -2032,8 +1995,8 @@ INT_PTR CALLBACK OpenWithDlgProc(HWND hwnd,UINT umsg,WPARAM wParam,LPARAM lParam
|
||||
DeleteBitmapButton(hwnd,IDC_GETOPENWITHDIR);
|
||||
|
||||
GetWindowRect(hwnd,&rc);
|
||||
cxOpenWithDlg = rc.right-rc.left;
|
||||
cyOpenWithDlg = rc.bottom-rc.top;
|
||||
Settings.cxOpenWithDlg = rc.right-rc.left;
|
||||
Settings.cyOpenWithDlg = rc.bottom-rc.top;
|
||||
}
|
||||
return FALSE;
|
||||
|
||||
@ -2130,9 +2093,9 @@ INT_PTR CALLBACK OpenWithDlgProc(HWND hwnd,UINT umsg,WPARAM wParam,LPARAM lParam
|
||||
|
||||
case IDC_GETOPENWITHDIR:
|
||||
{
|
||||
if (GetDirectory(hwnd,IDS_OPENWITH,tchOpenWithDir,tchOpenWithDir,TRUE))
|
||||
if (GetDirectory(hwnd,IDS_OPENWITH,Settings.tchOpenWithDir, Settings.tchOpenWithDir,TRUE))
|
||||
{
|
||||
DirList_Fill(GetDlgItem(hwnd,IDC_OPENWITHDIR),tchOpenWithDir,DL_ALLOBJECTS,NULL,FALSE,flagNoFadeHidden,DS_NAME,FALSE);
|
||||
DirList_Fill(GetDlgItem(hwnd,IDC_OPENWITHDIR), Settings.tchOpenWithDir,DL_ALLOBJECTS,NULL,FALSE,flagNoFadeHidden,DS_NAME,FALSE);
|
||||
DirList_StartIconThread(GetDlgItem(hwnd,IDC_OPENWITHDIR));
|
||||
ListView_EnsureVisible(GetDlgItem(hwnd,IDC_OPENWITHDIR),0,FALSE);
|
||||
ListView_SetItemState(GetDlgItem(hwnd,IDC_OPENWITHDIR),0,LVIS_FOCUSED,LVIS_FOCUSED);
|
||||
@ -2208,7 +2171,7 @@ BOOL OpenWithDlg(HWND hwnd,LPDLITEM lpdliParam)
|
||||
|
||||
if (SHFileOperation(&shfos) == 0) // success
|
||||
{
|
||||
if (bClearReadOnly)
|
||||
if (Settings.bClearReadOnly)
|
||||
{
|
||||
DWORD dwFileAttributes = GetFileAttributes(szDestination);
|
||||
if (dwFileAttributes & FILE_ATTRIBUTE_READONLY)
|
||||
@ -2234,7 +2197,7 @@ BOOL OpenWithDlg(HWND hwnd,LPDLITEM lpdliParam)
|
||||
sei.lpVerb = NULL;
|
||||
sei.lpFile = dliOpenWith.szFileName;
|
||||
sei.lpParameters = szParam;
|
||||
sei.lpDirectory = szCurDir;
|
||||
sei.lpDirectory = Settings.szCurDir;
|
||||
sei.nShow = SW_SHOWNORMAL;
|
||||
|
||||
// resolve links and get short path name
|
||||
@ -2498,6 +2461,7 @@ extern WCHAR szDDEMsg[256];
|
||||
extern WCHAR szDDEApp[256];
|
||||
extern WCHAR szDDETopic[256];
|
||||
|
||||
|
||||
INT_PTR CALLBACK FindTargetDlgProc(HWND hwnd,UINT umsg,WPARAM wParam,LPARAM lParam)
|
||||
{
|
||||
|
||||
@ -2564,11 +2528,11 @@ INT_PTR CALLBACK FindTargetDlgProc(HWND hwnd,UINT umsg,WPARAM wParam,LPARAM lPar
|
||||
else
|
||||
CheckRadioButton(hwnd,IDC_LAUNCH,IDC_TARGET,IDC_LAUNCH);
|
||||
|
||||
lstrcpy(wch,szTargetApplication);
|
||||
lstrcpy(wch, szTargetApplication);
|
||||
PathQuoteSpaces(wch);
|
||||
if (StrIsNotEmpty(szTargetApplicationParams)) {
|
||||
StrCatBuff(wch,L" ",COUNTOF(wch));
|
||||
StrCatBuff(wch,szTargetApplicationParams,COUNTOF(wch));
|
||||
StrCatBuff(wch, szTargetApplicationParams,COUNTOF(wch));
|
||||
}
|
||||
SetDlgItemText(hwnd,IDC_TARGETPATH,wch);
|
||||
|
||||
@ -2578,11 +2542,11 @@ INT_PTR CALLBACK FindTargetDlgProc(HWND hwnd,UINT umsg,WPARAM wParam,LPARAM lPar
|
||||
CheckRadioButton(hwnd,IDC_ALWAYSRUN,IDC_USEDDE,IDC_ALWAYSRUN + i);
|
||||
}
|
||||
|
||||
lstrcpy(szTargetWndClass,szTargetApplicationWndClass);
|
||||
lstrcpy(szTargetWndClass, szTargetApplicationWndClass);
|
||||
|
||||
SetDlgItemText(hwnd,IDC_DDEMSG,szDDEMsg);
|
||||
SetDlgItemText(hwnd,IDC_DDEAPP,szDDEApp);
|
||||
SetDlgItemText(hwnd,IDC_DDETOPIC,szDDETopic);
|
||||
SetDlgItemText(hwnd,IDC_DDEMSG, szDDEMsg);
|
||||
SetDlgItemText(hwnd,IDC_DDEAPP, szDDEApp);
|
||||
SetDlgItemText(hwnd,IDC_DDETOPIC, szDDETopic);
|
||||
|
||||
CenterDlgInParent(hwnd);
|
||||
|
||||
|
||||
@ -136,14 +136,15 @@ BOOL DirList_SelectItem(HWND,LPCWSTR,LPCWSTR);
|
||||
|
||||
//==== DlCreateFilter() and DlMatchFilter() ===================================
|
||||
|
||||
#define DL_FILTER_BUFSIZE 128
|
||||
#define DL_FILTER_BUFSIZE 256
|
||||
|
||||
typedef struct tagDL_FILTER { //dlf
|
||||
int nCount;
|
||||
WCHAR tFilterBuf[DL_FILTER_BUFSIZE];
|
||||
WCHAR *pFilter [DL_FILTER_BUFSIZE];
|
||||
WCHAR* pFilter[DL_FILTER_BUFSIZE];
|
||||
BOOL bExcludeFilter;
|
||||
} DL_FILTER, *PDL_FILTER;
|
||||
} DL_FILTER, * PDL_FILTER;
|
||||
|
||||
|
||||
void DirList_CreateFilter(PDL_FILTER,LPCWSTR,BOOL);
|
||||
|
||||
|
||||
@ -24,6 +24,7 @@
|
||||
#include <commctrl.h>
|
||||
#include <uxtheme.h>
|
||||
#include <strsafe.h>
|
||||
#include "minipath.h"
|
||||
#include "dlapi.h"
|
||||
#include "config.h"
|
||||
#include "resource.h"
|
||||
@ -1051,26 +1052,24 @@ void PathCanonicalizeEx(LPWSTR lpSrc)
|
||||
//
|
||||
// This Expansion also searches the L"Favorites" folder
|
||||
//
|
||||
extern WCHAR g_tchFavoritesDir[MAX_PATH];
|
||||
extern WCHAR szCurDir[MAX_PATH];
|
||||
|
||||
BOOL SearchPathEx(LPCWSTR lpFileName, DWORD nBufferLength, LPWSTR lpBuffer) {
|
||||
DWORD dwRetVal = 0;
|
||||
|
||||
if (StrEqual(lpFileName, L"..") || StrEqual(lpFileName, L".")) {
|
||||
if (StrEqual(lpFileName, L"..") && PathIsRoot(szCurDir)) {
|
||||
if (StrEqual(lpFileName, L"..") && PathIsRoot(Settings.szCurDir)) {
|
||||
lstrcpyn(lpBuffer, L"*.*", nBufferLength);
|
||||
dwRetVal = 1;
|
||||
}
|
||||
}
|
||||
|
||||
if (!dwRetVal) {
|
||||
dwRetVal = SearchPath(szCurDir, lpFileName, NULL, nBufferLength, lpBuffer, NULL);
|
||||
dwRetVal = SearchPath(Settings.szCurDir, lpFileName, NULL, nBufferLength, lpBuffer, NULL);
|
||||
}
|
||||
|
||||
// Search Favorites if no result
|
||||
if (!dwRetVal) {
|
||||
dwRetVal = SearchPath(g_tchFavoritesDir, lpFileName, NULL, nBufferLength, lpBuffer, NULL);
|
||||
dwRetVal = SearchPath(Settings.g_tchFavoritesDir, lpFileName, NULL, nBufferLength, lpBuffer, NULL);
|
||||
}
|
||||
|
||||
return dwRetVal != 0;
|
||||
|
||||
@ -143,6 +143,7 @@ inline BOOL StrIsEmptyW(LPCWSTR s) { return ((s == NULL) || (*s == L'\0')); }
|
||||
//==== History Functions ======================================================
|
||||
#define HISTORY_ITEMS 50
|
||||
|
||||
|
||||
typedef struct tagHISTORY
|
||||
{
|
||||
WCHAR *psz[HISTORY_ITEMS]; // Strings
|
||||
|
||||
@ -30,8 +30,20 @@
|
||||
#include "minipath.h"
|
||||
#include "resource.h"
|
||||
|
||||
|
||||
SETTINGS_T Settings;
|
||||
SETTINGS_T Defaults;
|
||||
|
||||
WCHAR g_wchIniFile[MAX_PATH];
|
||||
WCHAR g_wchIniFile2[MAX_PATH];
|
||||
WCHAR g_wchNP3IniFile[MAX_PATH];
|
||||
|
||||
HICON g_hDlgIcon = NULL;
|
||||
|
||||
WCHAR g_tchPrefLngLocName[LOCALE_NAME_MAX_LENGTH + 1];
|
||||
LANGID g_iPrefLANGID;
|
||||
|
||||
|
||||
/******************************************************************************
|
||||
*
|
||||
* Local Variables for minipath.c
|
||||
@ -70,66 +82,19 @@ HWND hwndMain;
|
||||
|
||||
HANDLE hChangeHandle = NULL;
|
||||
|
||||
HISTORY mHistory;
|
||||
HISTORY g_mHistory;
|
||||
|
||||
WCHAR g_wchIniFile[MAX_PATH] = L"";
|
||||
WCHAR g_wchIniFile2[MAX_PATH] = L"";
|
||||
WCHAR g_wchNP3IniFile[MAX_PATH] = L"";
|
||||
|
||||
BOOL bSaveSettings;
|
||||
WCHAR szQuickview[MAX_PATH] = L"";
|
||||
WCHAR szQuickviewParams[MAX_PATH] = L"";
|
||||
WCHAR g_tchFavoritesDir[MAX_PATH] = L"";
|
||||
BOOL bNP3sFavoritesSettings = FALSE;
|
||||
WCHAR tchOpenWithDir[MAX_PATH] = L"";
|
||||
WCHAR tchToolbarButtons[512] = L"";
|
||||
WCHAR tchToolbarBitmap[MAX_PATH] = L"";
|
||||
WCHAR tchToolbarBitmapHot[MAX_PATH] = L"";
|
||||
WCHAR tchToolbarBitmapDisabled[MAX_PATH] = L"";
|
||||
BOOL bClearReadOnly;
|
||||
BOOL bRenameOnCollision;
|
||||
BOOL bSingleClick;
|
||||
BOOL bTrackSelect;
|
||||
BOOL bFullRowSelect;
|
||||
int iStartupDir;
|
||||
int iEscFunction;
|
||||
BOOL bFocusEdit;
|
||||
BOOL bAlwaysOnTop;
|
||||
BOOL g_bTransparentMode;
|
||||
BOOL bMinimizeToTray;
|
||||
BOOL fUseRecycleBin;
|
||||
BOOL fNoConfirmDelete;
|
||||
BOOL bShowToolbar;
|
||||
BOOL bShowStatusbar;
|
||||
BOOL bShowDriveBox;
|
||||
int cxGotoDlg;
|
||||
int cxOpenWithDlg;
|
||||
int cyOpenWithDlg;
|
||||
int cxCopyMoveDlg;
|
||||
|
||||
WCHAR tchFilter[DL_FILTER_BUFSIZE];
|
||||
BOOL bNegFilter;
|
||||
BOOL bDefCrNoFilt;
|
||||
BOOL bDefCrFilter;
|
||||
COLORREF crNoFilt;
|
||||
COLORREF crFilter;
|
||||
COLORREF crCustom[16];
|
||||
|
||||
WININFO wi;
|
||||
|
||||
int nIdFocus = IDC_DIRLIST;
|
||||
int cyReBar;
|
||||
int cyReBarFrame;
|
||||
int cyDriveBoxFrame;
|
||||
|
||||
int nIdFocus = IDC_DIRLIST;
|
||||
|
||||
WCHAR szCurDir[MAX_PATH + 40];
|
||||
DWORD dwFillMask;
|
||||
int nSortFlags;
|
||||
BOOL fSortRev;
|
||||
|
||||
LPWSTR lpPathArg = NULL;
|
||||
LPWSTR lpFilterArg = NULL;
|
||||
LPWSTR lpPathArg = NULL;
|
||||
LPWSTR lpFilterArg = NULL;
|
||||
|
||||
UINT wFuncCopyMove = FO_COPY;
|
||||
|
||||
@ -274,7 +239,6 @@ int WINAPI wWinMain(HINSTANCE hInstance,HINSTANCE hPrevInst,LPWSTR lpCmdLine,int
|
||||
HWND hwnd;
|
||||
HACCEL hAcc;
|
||||
|
||||
INITCOMMONCONTROLSEX icex;
|
||||
|
||||
// Set global variable g_hInstance
|
||||
g_hInstance = hInstance;
|
||||
@ -290,6 +254,7 @@ int WINAPI wWinMain(HINSTANCE hInstance,HINSTANCE hPrevInst,LPWSTR lpCmdLine,int
|
||||
SetErrorMode(SEM_FAILCRITICALERRORS|SEM_NOOPENFILEERRORBOX);
|
||||
|
||||
// Command Line, Ini File and Flags
|
||||
InitDefaultSettings();
|
||||
ParseCommandLine();
|
||||
FindIniFile();
|
||||
TestIniFile();
|
||||
@ -302,6 +267,8 @@ int WINAPI wWinMain(HINSTANCE hInstance,HINSTANCE hPrevInst,LPWSTR lpCmdLine,int
|
||||
// Init OLE and Common Controls
|
||||
OleInitialize(NULL);
|
||||
|
||||
INITCOMMONCONTROLSEX icex;
|
||||
ZeroMemory(&icex, sizeof(INITCOMMONCONTROLSEX));
|
||||
icex.dwSize = sizeof(INITCOMMONCONTROLSEX);
|
||||
icex.dwICC = ICC_WIN95_CLASSES|ICC_COOL_CLASSES|ICC_BAR_CLASSES|ICC_USEREX_CLASSES;
|
||||
InitCommonControlsEx(&icex);
|
||||
@ -430,11 +397,17 @@ HWND InitInstance(HINSTANCE hInstance,LPWSTR pszCmdLine,int nCmdShow)
|
||||
{
|
||||
UNUSED(pszCmdLine);
|
||||
|
||||
WININFO wi = Settings.wi;
|
||||
|
||||
RECT rc;
|
||||
rc.left = wi.x; rc.top = wi.y; rc.right = wi.x + wi.cx; rc.bottom = wi.y + wi.cy;
|
||||
rc.left = wi.x;
|
||||
rc.top = wi.y;
|
||||
rc.right = wi.x + wi.cx;
|
||||
rc.bottom = wi.y + wi.cy;
|
||||
RECT rc2;
|
||||
MONITORINFO mi;
|
||||
|
||||
|
||||
HMONITOR hMonitor = MonitorFromRect(&rc,MONITOR_DEFAULTTONEAREST);
|
||||
mi.cbSize = sizeof(mi);
|
||||
GetMonitorInfo(hMonitor,&mi);
|
||||
@ -496,10 +469,10 @@ HWND InitInstance(HINSTANCE hInstance,LPWSTR pszCmdLine,int nCmdShow)
|
||||
hInstance,
|
||||
NULL);
|
||||
|
||||
if (bAlwaysOnTop)
|
||||
if (Settings.bAlwaysOnTop)
|
||||
SetWindowPos(hwndMain,HWND_TOPMOST,0,0,0,0,SWP_NOMOVE|SWP_NOSIZE);
|
||||
|
||||
if (g_bTransparentMode) {
|
||||
if (Settings.g_bTransparentMode) {
|
||||
int const iAlphaPercent = IniFileGetInt(g_wchIniFile, L"Settings2", L"OpacityLevel", 75);
|
||||
SetWindowTransparentMode(hwndMain, TRUE, clampi(iAlphaPercent, 0, 100));
|
||||
}
|
||||
@ -521,9 +494,9 @@ HWND InitInstance(HINSTANCE hInstance,LPWSTR pszCmdLine,int nCmdShow)
|
||||
}
|
||||
|
||||
// Use a startup directory
|
||||
else if (iStartupDir)
|
||||
else if (Settings.iStartupDir)
|
||||
{
|
||||
if (iStartupDir == 1)
|
||||
if (Settings.iStartupDir == 1)
|
||||
{
|
||||
WCHAR tch[MAX_PATH];
|
||||
if (IniFileGetString(g_wchIniFile, L"Settings", L"MRUDirectory", L"", tch, COUNTOF(tch)))
|
||||
@ -532,17 +505,19 @@ HWND InitInstance(HINSTANCE hInstance,LPWSTR pszCmdLine,int nCmdShow)
|
||||
ErrorMessage(2,IDS_ERR_STARTUPDIR);
|
||||
}
|
||||
else
|
||||
DisplayPath(g_tchFavoritesDir,IDS_ERR_STARTUPDIR);
|
||||
DisplayPath(Settings.g_tchFavoritesDir,IDS_ERR_STARTUPDIR);
|
||||
}
|
||||
|
||||
// Favorites
|
||||
else if (flagGotoFavorites)
|
||||
DisplayPath(g_tchFavoritesDir,IDS_ERR_FAVORITES);
|
||||
DisplayPath(Settings.g_tchFavoritesDir,IDS_ERR_FAVORITES);
|
||||
|
||||
// Update Dirlist
|
||||
if (!ListView_GetItemCount(hwndDirList))
|
||||
PostMessage(hwndMain,WM_COMMAND,MAKELONG(IDM_VIEW_UPDATE,1),0);
|
||||
|
||||
Settings.wi = wi;
|
||||
|
||||
return(hwndMain);
|
||||
}
|
||||
|
||||
@ -632,18 +607,18 @@ LRESULT CALLBACK MainWndProc(HWND hwnd,UINT umsg,WPARAM wParam,LPARAM lParam)
|
||||
wndpl.length = sizeof(WINDOWPLACEMENT);
|
||||
GetWindowPlacement(hwnd,&wndpl);
|
||||
|
||||
wi.x = wndpl.rcNormalPosition.left;
|
||||
wi.y = wndpl.rcNormalPosition.top;
|
||||
wi.cx = wndpl.rcNormalPosition.right - wndpl.rcNormalPosition.left;
|
||||
wi.cy = wndpl.rcNormalPosition.bottom - wndpl.rcNormalPosition.top;
|
||||
Settings.wi.x = wndpl.rcNormalPosition.left;
|
||||
Settings.wi.y = wndpl.rcNormalPosition.top;
|
||||
Settings.wi.cx = wndpl.rcNormalPosition.right - wndpl.rcNormalPosition.left;
|
||||
Settings.wi.cy = wndpl.rcNormalPosition.bottom - wndpl.rcNormalPosition.top;
|
||||
|
||||
DirList_Destroy(hwndDirList);
|
||||
DragAcceptFiles(hwnd,FALSE);
|
||||
|
||||
History_Uninit(&mHistory);
|
||||
History_Uninit(&g_mHistory);
|
||||
|
||||
// prepare save
|
||||
Toolbar_GetButtons(hwndToolbar, IDT_HISTORY_BACK, tchToolbarButtons, COUNTOF(tchToolbarButtons));
|
||||
Toolbar_GetButtons(hwndToolbar, IDT_HISTORY_BACK, Settings.tchToolbarButtons, COUNTOF(Settings.tchToolbarButtons));
|
||||
|
||||
SaveSettings(FALSE);
|
||||
|
||||
@ -665,12 +640,12 @@ LRESULT CALLBACK MainWndProc(HWND hwnd,UINT umsg,WPARAM wParam,LPARAM lParam)
|
||||
{
|
||||
LRESULT lret = DefWindowProc(hwnd,umsg,wParam,lParam);
|
||||
|
||||
if (lstrcmp(tchFilter,L"*.*") || bNegFilter) {
|
||||
ListView_SetTextColor(hwndDirList,(bDefCrFilter) ? GetSysColor(COLOR_WINDOWTEXT) : crFilter);
|
||||
if (lstrcmp(Settings.tchFilter,L"*.*") || Settings.bNegFilter) {
|
||||
ListView_SetTextColor(hwndDirList,(Settings.bDefCrFilter) ? GetSysColor(COLOR_WINDOWTEXT) : Settings.crFilter);
|
||||
ListView_RedrawItems(hwndDirList,0,ListView_GetItemCount(hwndDirList)-1);
|
||||
}
|
||||
else {
|
||||
ListView_SetTextColor(hwndDirList,(bDefCrNoFilt) ? GetSysColor(COLOR_WINDOWTEXT) : crNoFilt);
|
||||
ListView_SetTextColor(hwndDirList,(Settings.bDefCrNoFilt) ? GetSysColor(COLOR_WINDOWTEXT) : Settings.crNoFilt);
|
||||
ListView_RedrawItems(hwndDirList,0,ListView_GetItemCount(hwndDirList)-1);
|
||||
}
|
||||
|
||||
@ -733,7 +708,7 @@ LRESULT CALLBACK MainWndProc(HWND hwnd,UINT umsg,WPARAM wParam,LPARAM lParam)
|
||||
|
||||
|
||||
case WM_SETFOCUS:
|
||||
SetFocus(GetDlgItem(hwnd,nIdFocus));
|
||||
SetFocus(GetDlgItem(hwnd, nIdFocus));
|
||||
break;
|
||||
|
||||
|
||||
@ -839,7 +814,7 @@ LRESULT CALLBACK MainWndProc(HWND hwnd,UINT umsg,WPARAM wParam,LPARAM lParam)
|
||||
case SC_MINIMIZE:
|
||||
case SC_MINIMIZE | 0x02:
|
||||
ShowOwnedPopups(hwnd,FALSE);
|
||||
if (!bMinimizeToTray)
|
||||
if (!Settings.bMinimizeToTray)
|
||||
return DefWindowProc(hwnd,umsg,wParam,lParam);
|
||||
else {
|
||||
MinimizeWndToTray(hwnd);
|
||||
@ -854,12 +829,12 @@ LRESULT CALLBACK MainWndProc(HWND hwnd,UINT umsg,WPARAM wParam,LPARAM lParam)
|
||||
}
|
||||
|
||||
case SC_ALWAYSONTOP:
|
||||
if (bAlwaysOnTop) {
|
||||
bAlwaysOnTop = 0;
|
||||
if (Settings.bAlwaysOnTop) {
|
||||
Settings.bAlwaysOnTop = 0;
|
||||
SetWindowPos(hwnd,HWND_NOTOPMOST,0,0,0,0,SWP_NOMOVE|SWP_NOSIZE);
|
||||
}
|
||||
else {
|
||||
bAlwaysOnTop = 1;
|
||||
Settings.bAlwaysOnTop = 1;
|
||||
SetWindowPos(hwnd,HWND_TOPMOST,0,0,0,0,SWP_NOMOVE|SWP_NOSIZE);
|
||||
}
|
||||
break;
|
||||
@ -972,7 +947,7 @@ LRESULT MsgCreate(HWND hwnd,WPARAM wParam,LPARAM lParam)
|
||||
SetWindowPos(hwndDirList,NULL,0,0,0,0,SWP_NOZORDER|SWP_NOMOVE|SWP_NOSIZE|SWP_FRAMECHANGED);
|
||||
}
|
||||
|
||||
if (bShowDriveBox)
|
||||
if (Settings.bShowDriveBox)
|
||||
dwDriveBoxStyle |= WS_VISIBLE;
|
||||
|
||||
hwndDriveBox = CreateWindowEx(
|
||||
@ -997,11 +972,11 @@ LRESULT MsgCreate(HWND hwnd,WPARAM wParam,LPARAM lParam)
|
||||
ListView_SetExtendedListViewStyle(hwndDirList,LVS_EX_DOUBLEBUFFER|LVS_EX_LABELTIP);
|
||||
ListView_InsertColumn(hwndDirList,0,&lvc);
|
||||
DirList_Init(hwndDirList,NULL);
|
||||
if (bTrackSelect)
|
||||
if (Settings.bTrackSelect)
|
||||
ListView_SetExtendedListViewStyleEx(hwndDirList,
|
||||
LVS_EX_TRACKSELECT|LVS_EX_ONECLICKACTIVATE,
|
||||
LVS_EX_TRACKSELECT|LVS_EX_ONECLICKACTIVATE);
|
||||
if (bFullRowSelect) {
|
||||
if (Settings.bFullRowSelect) {
|
||||
ListView_SetExtendedListViewStyleEx(hwndDirList,
|
||||
LVS_EX_FULLROWSELECT,
|
||||
LVS_EX_FULLROWSELECT);
|
||||
@ -1012,8 +987,8 @@ LRESULT MsgCreate(HWND hwnd,WPARAM wParam,LPARAM lParam)
|
||||
// Drag & Drop
|
||||
DragAcceptFiles(hwnd,TRUE);
|
||||
// History
|
||||
History_Init(&mHistory);
|
||||
History_UpdateToolbar(&mHistory,hwndToolbar,
|
||||
History_Init(&g_mHistory);
|
||||
History_UpdateToolbar(&g_mHistory,hwndToolbar,
|
||||
IDT_HISTORY_BACK,IDT_HISTORY_FORWARD);
|
||||
// ToolTip with Current Directory
|
||||
ZeroMemory(&ti,sizeof(TOOLINFO));
|
||||
@ -1102,7 +1077,7 @@ void CreateBars(HWND hwnd,HINSTANCE hInstance)
|
||||
WCHAR tchDesc[256];
|
||||
WCHAR tchIndex[256];
|
||||
|
||||
if (bShowToolbar)
|
||||
if (Settings.bShowToolbar)
|
||||
dwReBarStyle |= WS_VISIBLE;
|
||||
|
||||
hwndToolbar = CreateWindowEx(0,TOOLBARCLASSNAME,NULL,dwToolbarStyle,
|
||||
@ -1112,9 +1087,9 @@ void CreateBars(HWND hwnd,HINSTANCE hInstance)
|
||||
|
||||
// Add normal Toolbar Bitmap
|
||||
hbmp = NULL;
|
||||
if (StrIsNotEmpty(tchToolbarBitmap))
|
||||
if (StrIsNotEmpty(Settings.tchToolbarBitmap))
|
||||
{
|
||||
hbmp = _LoadBitmapFile(tchToolbarBitmap);
|
||||
hbmp = _LoadBitmapFile(Settings.tchToolbarBitmap);
|
||||
}
|
||||
if (hbmp) {
|
||||
bExternalBitmap = TRUE;
|
||||
@ -1134,9 +1109,9 @@ void CreateBars(HWND hwnd,HINSTANCE hInstance)
|
||||
|
||||
// Optionally add hot Toolbar Bitmap
|
||||
hbmp = NULL;
|
||||
if (StrIsNotEmpty(tchToolbarBitmapHot))
|
||||
if (StrIsNotEmpty(Settings.tchToolbarBitmapHot))
|
||||
{
|
||||
hbmp = _LoadBitmapFile(tchToolbarBitmapHot);
|
||||
hbmp = _LoadBitmapFile(Settings.tchToolbarBitmapHot);
|
||||
if (hbmp)
|
||||
{
|
||||
GetObject(hbmp,sizeof(BITMAP),&bmp);
|
||||
@ -1149,9 +1124,9 @@ void CreateBars(HWND hwnd,HINSTANCE hInstance)
|
||||
|
||||
// Optionally add disabled Toolbar Bitmap
|
||||
hbmp = NULL;
|
||||
if (StrIsNotEmpty(tchToolbarBitmapDisabled))
|
||||
if (StrIsNotEmpty(Settings.tchToolbarBitmapDisabled))
|
||||
{
|
||||
hbmp = _LoadBitmapFile(tchToolbarBitmapDisabled);
|
||||
hbmp = _LoadBitmapFile(Settings.tchToolbarBitmapDisabled);
|
||||
if (hbmp)
|
||||
{
|
||||
GetObject(hbmp,sizeof(BITMAP),&bmp);
|
||||
@ -1218,12 +1193,12 @@ void CreateBars(HWND hwnd,HINSTANCE hInstance)
|
||||
|
||||
SendMessage(hwndToolbar,TB_ADDBUTTONS,NUMINITIALTOOLS,(LPARAM)tbbMainWnd);
|
||||
//SendMessage(hwndToolbar,TB_SAVERESTORE,FALSE,(LPARAM)lptbsp);
|
||||
if (Toolbar_SetButtons(hwndToolbar,IDT_HISTORY_BACK,tchToolbarButtons,tbbMainWnd,COUNTOF(tbbMainWnd)) == 0)
|
||||
if (Toolbar_SetButtons(hwndToolbar,IDT_HISTORY_BACK, Settings.tchToolbarButtons,tbbMainWnd,COUNTOF(tbbMainWnd)) == 0)
|
||||
SendMessage(hwndToolbar,TB_ADDBUTTONS,NUMINITIALTOOLS,(LPARAM)tbbMainWnd);
|
||||
SendMessage(hwndToolbar,TB_GETITEMRECT,0,(LPARAM)&rc);
|
||||
//SendMessage(hwndToolbar,TB_SETINDENT,2,0);
|
||||
|
||||
if (bShowStatusbar)
|
||||
if (Settings.bShowStatusbar)
|
||||
dwStatusbarStyle |= WS_VISIBLE;
|
||||
|
||||
hwndStatus = CreateStatusWindow(dwStatusbarStyle,NULL,hwnd,IDC_STATUSBAR);
|
||||
@ -1277,7 +1252,7 @@ void MsgThemeChanged(HWND hwnd,WPARAM wParam,LPARAM lParam)
|
||||
if (IsVista() && bIsAppThemed) {
|
||||
SetWindowLongPtr(hwndDirList,GWL_EXSTYLE,GetWindowLongPtr(hwndDirList,GWL_EXSTYLE) & ~WS_EX_CLIENTEDGE);
|
||||
SetWindowPos(hwndDirList,NULL,0,0,0,0,SWP_NOZORDER|SWP_FRAMECHANGED|SWP_NOMOVE|SWP_NOSIZE);
|
||||
if (bFullRowSelect)
|
||||
if (Settings.bFullRowSelect)
|
||||
SetTheme(hwndDirList,L"Explorer");
|
||||
else
|
||||
SetTheme(hwndDirList,L"Listview");
|
||||
@ -1293,7 +1268,7 @@ void MsgThemeChanged(HWND hwnd,WPARAM wParam,LPARAM lParam)
|
||||
SendMessage(hwndStatus,SB_GETTEXT,ID_FILEINFO,(LPARAM)chStatus);
|
||||
|
||||
// recreate toolbar and statusbar
|
||||
Toolbar_GetButtons(hwndToolbar,IDT_HISTORY_BACK,tchToolbarButtons,COUNTOF(tchToolbarButtons));
|
||||
Toolbar_GetButtons(hwndToolbar,IDT_HISTORY_BACK, Settings.tchToolbarButtons,COUNTOF(Settings.tchToolbarButtons));
|
||||
|
||||
DestroyWindow(hwndToolbar);
|
||||
DestroyWindow(hwndReBar);
|
||||
@ -1334,7 +1309,7 @@ void MsgSize(HWND hwnd,WPARAM wParam,LPARAM lParam)
|
||||
cx = LOWORD(lParam);
|
||||
cy = HIWORD(lParam);
|
||||
|
||||
if (bShowToolbar)
|
||||
if (Settings.bShowToolbar)
|
||||
{
|
||||
/* SendMessage(hwndToolbar,WM_SIZE,0,0);
|
||||
GetWindowRect(hwndToolbar,&rc);
|
||||
@ -1353,7 +1328,7 @@ void MsgSize(HWND hwnd,WPARAM wParam,LPARAM lParam)
|
||||
cy -= cyReBar + cyReBarFrame; // border
|
||||
}
|
||||
|
||||
if (bShowStatusbar)
|
||||
if (Settings.bShowStatusbar)
|
||||
{
|
||||
SendMessage(hwndStatus,WM_SIZE,0,0);
|
||||
GetWindowRect(hwndStatus,&rc);
|
||||
@ -1365,7 +1340,7 @@ void MsgSize(HWND hwnd,WPARAM wParam,LPARAM lParam)
|
||||
DeferWindowPos(hdwp,hwndDriveBox,NULL,x,y,cx,max(cy,100),
|
||||
SWP_NOZORDER | SWP_NOACTIVATE);
|
||||
|
||||
if (bShowDriveBox) {
|
||||
if (Settings.bShowDriveBox) {
|
||||
GetWindowRect(hwndDriveBox,&rc);
|
||||
y += (rc.bottom - rc.top) + cyDriveBoxFrame;
|
||||
cy -= (rc.bottom - rc.top) + cyDriveBoxFrame;
|
||||
@ -1417,23 +1392,23 @@ void MsgInitMenu(HWND hwnd,WPARAM wParam,LPARAM lParam)
|
||||
i = (SendMessage(hwndDriveBox,CB_GETCURSEL,0,0) != CB_ERR);
|
||||
EnableCmd(hmenu,IDM_FILE_DRIVEPROP,i);
|
||||
|
||||
CheckCmd(hmenu,IDM_VIEW_FOLDERS,(dwFillMask & DL_FOLDERS));
|
||||
CheckCmd(hmenu,IDM_VIEW_FILES,(dwFillMask & DL_NONFOLDERS));
|
||||
CheckCmd(hmenu,IDM_VIEW_HIDDEN,(dwFillMask & DL_INCLHIDDEN));
|
||||
CheckCmd(hmenu,IDM_VIEW_FOLDERS,(Settings.dwFillMask & DL_FOLDERS));
|
||||
CheckCmd(hmenu,IDM_VIEW_FILES,(Settings.dwFillMask & DL_NONFOLDERS));
|
||||
CheckCmd(hmenu,IDM_VIEW_HIDDEN,(Settings.dwFillMask & DL_INCLHIDDEN));
|
||||
|
||||
EnableCmd(hmenu,IDM_VIEW_FILTERALL,(lstrcmp(tchFilter,L"*.*") || bNegFilter));
|
||||
EnableCmd(hmenu,IDM_VIEW_FILTERALL,(lstrcmp(Settings.tchFilter,L"*.*") || Settings.bNegFilter));
|
||||
|
||||
CheckCmd(hmenu,IDM_VIEW_TOOLBAR,bShowToolbar);
|
||||
EnableCmd(hmenu,IDM_VIEW_CUSTOMIZETB,bShowToolbar);
|
||||
CheckCmd(hmenu,IDM_VIEW_STATUSBAR,bShowStatusbar);
|
||||
CheckCmd(hmenu,IDM_VIEW_DRIVEBOX,bShowDriveBox);
|
||||
CheckCmd(hmenu,IDM_VIEW_TOOLBAR, Settings.bShowToolbar);
|
||||
EnableCmd(hmenu,IDM_VIEW_CUSTOMIZETB, Settings.bShowToolbar);
|
||||
CheckCmd(hmenu,IDM_VIEW_STATUSBAR, Settings.bShowStatusbar);
|
||||
CheckCmd(hmenu,IDM_VIEW_DRIVEBOX, Settings.bShowDriveBox);
|
||||
|
||||
CheckMenuRadioItem(hmenu,IDM_SORT_NAME,IDM_SORT_DATE,
|
||||
IDM_SORT_NAME + nSortFlags,MF_BYCOMMAND);
|
||||
IDM_SORT_NAME + Settings.nSortFlags,MF_BYCOMMAND);
|
||||
|
||||
CheckCmd(hmenu,IDM_SORT_REVERSE,fSortRev);
|
||||
CheckCmd(hmenu,IDM_SORT_REVERSE, Settings.fSortRev);
|
||||
|
||||
CheckCmd(hmenu,SC_ALWAYSONTOP,bAlwaysOnTop);
|
||||
CheckCmd(hmenu,SC_ALWAYSONTOP, Settings.bAlwaysOnTop);
|
||||
|
||||
i = (StrIsNotEmpty(g_wchIniFile) || StrIsNotEmpty(g_wchIniFile2));
|
||||
EnableCmd(hmenu,IDM_VIEW_SAVESETTINGS,i);
|
||||
@ -1469,12 +1444,12 @@ LRESULT MsgCommand(HWND hwnd,WPARAM wParam,LPARAM lParam)
|
||||
WCHAR tch[64];
|
||||
|
||||
if (DriveBox_GetSelDrive(hwndDriveBox,tch,COUNTOF(tch),TRUE)
|
||||
&& !PathIsSameRoot(szCurDir,tch))
|
||||
&& !PathIsSameRoot(Settings.szCurDir,tch))
|
||||
{
|
||||
if (!ChangeDirectory(hwnd,tch,1))
|
||||
{
|
||||
ErrorMessage(2,IDS_ERR_CD);
|
||||
DriveBox_SelectDrive(hwndDriveBox,szCurDir);
|
||||
DriveBox_SelectDrive(hwndDriveBox, Settings.szCurDir);
|
||||
}
|
||||
}
|
||||
SetFocus(hwndDirList);
|
||||
@ -1600,7 +1575,7 @@ LRESULT MsgCommand(HWND hwnd,WPARAM wParam,LPARAM lParam)
|
||||
sei.lpVerb = NULL;
|
||||
sei.lpFile = dli.szFileName;
|
||||
sei.lpParameters = NULL;
|
||||
sei.lpDirectory = szCurDir;
|
||||
sei.lpDirectory = Settings.szCurDir;
|
||||
sei.nShow = SW_SHOWNORMAL;
|
||||
|
||||
ShellExecuteEx(&sei);
|
||||
@ -1630,8 +1605,8 @@ LRESULT MsgCommand(HWND hwnd,WPARAM wParam,LPARAM lParam)
|
||||
else
|
||||
GetShortPathName(dli.szFileName,szTmp,COUNTOF(szTmp));
|
||||
|
||||
if (StrIsNotEmpty(szQuickviewParams)) {
|
||||
StrCatBuff(szParam,szQuickviewParams,COUNTOF(szParam));
|
||||
if (StrIsNotEmpty(Settings.szQuickviewParams)) {
|
||||
StrCatBuff(szParam, Settings.szQuickviewParams,COUNTOF(szParam));
|
||||
StrCatBuff(szParam,L" ",COUNTOF(szParam));
|
||||
}
|
||||
StrCatBuff(szParam,szTmp,COUNTOF(szParam));
|
||||
@ -1641,9 +1616,9 @@ LRESULT MsgCommand(HWND hwnd,WPARAM wParam,LPARAM lParam)
|
||||
sei.fMask = 0;
|
||||
sei.hwnd = hwnd;
|
||||
sei.lpVerb = NULL;
|
||||
sei.lpFile = szQuickview;
|
||||
sei.lpFile = Settings.szQuickview;
|
||||
sei.lpParameters = szParam;
|
||||
sei.lpDirectory = szCurDir;
|
||||
sei.lpDirectory = Settings.szCurDir;
|
||||
sei.nShow = SW_SHOWNORMAL;
|
||||
|
||||
ShellExecuteEx(&sei);
|
||||
@ -1697,7 +1672,7 @@ LRESULT MsgCommand(HWND hwnd,WPARAM wParam,LPARAM lParam)
|
||||
ofn.lpstrFile = szNewFile;
|
||||
ofn.nMaxFile = MAX_PATH;
|
||||
ofn.lpstrTitle = szTitle;
|
||||
ofn.lpstrInitialDir = szCurDir;
|
||||
ofn.lpstrInitialDir = Settings.szCurDir;
|
||||
ofn.Flags = OFN_HIDEREADONLY | OFN_NOCHANGEDIR | OFN_DONTADDTORECENT |
|
||||
OFN_NODEREFERENCELINKS | OFN_OVERWRITEPROMPT |
|
||||
OFN_PATHMUSTEXIST;
|
||||
@ -1816,7 +1791,7 @@ LRESULT MsgCommand(HWND hwnd,WPARAM wParam,LPARAM lParam)
|
||||
if (!bSuccess)
|
||||
ErrorMessage(2,IDS_ERR_SAVEAS1,dli.szDisplayName);
|
||||
|
||||
if (bSuccess && bClearReadOnly)
|
||||
if (bSuccess && Settings.bClearReadOnly)
|
||||
{
|
||||
DWORD dwFileAttributes = GetFileAttributes(szNewFile);
|
||||
if (dwFileAttributes & FILE_ATTRIBUTE_READONLY)
|
||||
@ -1862,9 +1837,9 @@ LRESULT MsgCommand(HWND hwnd,WPARAM wParam,LPARAM lParam)
|
||||
shfos.wFunc = FO_DELETE;
|
||||
shfos.pFrom = tch;
|
||||
shfos.pTo = NULL;
|
||||
if (fUseRecycleBin && (LOWORD(wParam) != IDM_FILE_DELETE2))
|
||||
if (Settings.fUseRecycleBin && (LOWORD(wParam) != IDM_FILE_DELETE2))
|
||||
shfos.fFlags = FOF_ALLOWUNDO;
|
||||
if (fNoConfirmDelete || LOWORD(wParam) == IDM_FILE_DELETE3)
|
||||
if (Settings.fNoConfirmDelete || LOWORD(wParam) == IDM_FILE_DELETE3)
|
||||
shfos.fFlags |= FOF_NOCONFIRMATION;
|
||||
|
||||
SHFileOperation(&shfos);
|
||||
@ -1936,7 +1911,7 @@ LRESULT MsgCommand(HWND hwnd,WPARAM wParam,LPARAM lParam)
|
||||
|
||||
GetModuleFileName(NULL,szModuleName,COUNTOF(szModuleName));
|
||||
|
||||
lstrcpy(szParameters,szCurDir);
|
||||
lstrcpy(szParameters, Settings.szCurDir);
|
||||
PathQuoteSpaces(szParameters);
|
||||
|
||||
lstrcat(szParameters,L" -f");
|
||||
@ -1978,30 +1953,30 @@ LRESULT MsgCommand(HWND hwnd,WPARAM wParam,LPARAM lParam)
|
||||
|
||||
|
||||
case IDM_VIEW_FOLDERS:
|
||||
if (dwFillMask & DL_FOLDERS)
|
||||
dwFillMask &= (~DL_FOLDERS);
|
||||
if (Settings.dwFillMask & DL_FOLDERS)
|
||||
Settings.dwFillMask &= (~DL_FOLDERS);
|
||||
else
|
||||
dwFillMask |= DL_FOLDERS;
|
||||
Settings.dwFillMask |= DL_FOLDERS;
|
||||
SendMessage(hwnd,WM_COMMAND,MAKELONG(IDM_VIEW_UPDATE,1),0);
|
||||
ListView_EnsureVisible(hwndDirList,0,FALSE); // not done by update
|
||||
break;
|
||||
|
||||
|
||||
case IDM_VIEW_FILES:
|
||||
if (dwFillMask & DL_NONFOLDERS)
|
||||
dwFillMask &= (~DL_NONFOLDERS);
|
||||
if (Settings.dwFillMask & DL_NONFOLDERS)
|
||||
Settings.dwFillMask &= (~DL_NONFOLDERS);
|
||||
else
|
||||
dwFillMask |= DL_NONFOLDERS;
|
||||
Settings.dwFillMask |= DL_NONFOLDERS;
|
||||
SendMessage(hwnd,WM_COMMAND,MAKELONG(IDM_VIEW_UPDATE,1),0);
|
||||
ListView_EnsureVisible(hwndDirList,0,FALSE); // not done by update
|
||||
break;
|
||||
|
||||
|
||||
case IDM_VIEW_HIDDEN:
|
||||
if (dwFillMask & DL_INCLHIDDEN)
|
||||
dwFillMask &= (~DL_INCLHIDDEN);
|
||||
if (Settings.dwFillMask & DL_INCLHIDDEN)
|
||||
Settings.dwFillMask &= (~DL_INCLHIDDEN);
|
||||
else
|
||||
dwFillMask |= DL_INCLHIDDEN;
|
||||
Settings.dwFillMask |= DL_INCLHIDDEN;
|
||||
SendMessage(hwnd,WM_COMMAND,MAKELONG(IDM_VIEW_UPDATE,1),0);
|
||||
ListView_EnsureVisible(hwndDirList,0,FALSE); // not done by update
|
||||
break;
|
||||
@ -2023,16 +1998,16 @@ LRESULT MsgCommand(HWND hwnd,WPARAM wParam,LPARAM lParam)
|
||||
}
|
||||
}
|
||||
Toolbar_SetButtonImage(hwndToolbar,IDT_VIEW_FILTER,
|
||||
(lstrcmp(tchFilter,L"*.*") || bNegFilter) ? TBFILTERBMP : TBFILTERBMP+1);
|
||||
(lstrcmp(Settings.tchFilter,L"*.*") || Settings.bNegFilter) ? TBFILTERBMP : TBFILTERBMP+1);
|
||||
break;
|
||||
|
||||
|
||||
case IDM_VIEW_FILTERALL:
|
||||
if (lstrcmp(tchFilter,L"*.*") || bNegFilter) {
|
||||
if (lstrcmp(Settings.tchFilter,L"*.*") || Settings.bNegFilter) {
|
||||
DLITEM dli;
|
||||
|
||||
lstrcpy(tchFilter,L"*.*");
|
||||
bNegFilter = FALSE;
|
||||
lstrcpy(Settings.tchFilter,L"*.*");
|
||||
Settings.bNegFilter = FALSE;
|
||||
|
||||
// Store information about currently selected item
|
||||
dli.mask = DLI_ALL;
|
||||
@ -2057,7 +2032,7 @@ LRESULT MsgCommand(HWND hwnd,WPARAM wParam,LPARAM lParam)
|
||||
|
||||
case IDM_VIEW_FAVORITES:
|
||||
// Goto Favorites Directory
|
||||
DisplayPath(g_tchFavoritesDir,IDS_ERR_FAVORITES);
|
||||
DisplayPath(Settings.g_tchFavoritesDir,IDS_ERR_FAVORITES);
|
||||
break;
|
||||
|
||||
|
||||
@ -2068,7 +2043,7 @@ LRESULT MsgCommand(HWND hwnd,WPARAM wParam,LPARAM lParam)
|
||||
sei.fMask = 0;
|
||||
sei.hwnd = hwnd;
|
||||
sei.lpVerb = NULL;
|
||||
sei.lpFile = g_tchFavoritesDir;
|
||||
sei.lpFile = Settings.g_tchFavoritesDir;
|
||||
sei.lpParameters = NULL;
|
||||
sei.lpDirectory = NULL;
|
||||
sei.nShow = SW_SHOWNORMAL;
|
||||
@ -2080,13 +2055,13 @@ LRESULT MsgCommand(HWND hwnd,WPARAM wParam,LPARAM lParam)
|
||||
|
||||
|
||||
case IDM_VIEW_TOOLBAR:
|
||||
if (bShowToolbar) {
|
||||
if (Settings.bShowToolbar) {
|
||||
ShowWindow(hwndReBar,SW_HIDE);
|
||||
bShowToolbar = 0;
|
||||
Settings.bShowToolbar = 0;
|
||||
}
|
||||
else {
|
||||
ShowWindow(hwndReBar,SW_SHOW);
|
||||
bShowToolbar = 1;
|
||||
Settings.bShowToolbar = 1;
|
||||
}
|
||||
SendWMSize(hwnd);
|
||||
break;
|
||||
@ -2098,28 +2073,28 @@ LRESULT MsgCommand(HWND hwnd,WPARAM wParam,LPARAM lParam)
|
||||
|
||||
|
||||
case IDM_VIEW_STATUSBAR:
|
||||
if (bShowStatusbar) {
|
||||
if (Settings.bShowStatusbar) {
|
||||
ShowWindow(hwndStatus,SW_HIDE);
|
||||
bShowStatusbar = 0;
|
||||
Settings.bShowStatusbar = 0;
|
||||
}
|
||||
else {
|
||||
ShowWindow(hwndStatus,SW_SHOW);
|
||||
bShowStatusbar = 1;
|
||||
Settings.bShowStatusbar = 1;
|
||||
}
|
||||
SendWMSize(hwnd);
|
||||
break;
|
||||
|
||||
|
||||
case IDM_VIEW_DRIVEBOX:
|
||||
if (bShowDriveBox) {
|
||||
if (Settings.bShowDriveBox) {
|
||||
ShowWindow(hwndDriveBox,SW_HIDE);
|
||||
bShowDriveBox = 0;
|
||||
Settings.bShowDriveBox = 0;
|
||||
if (GetDlgCtrlID(GetFocus()) == IDC_DRIVEBOX)
|
||||
SetFocus(hwndDirList);
|
||||
}
|
||||
else {
|
||||
ShowWindow(hwndDriveBox,SW_SHOW);
|
||||
bShowDriveBox = 1;
|
||||
Settings.bShowDriveBox = 1;
|
||||
}
|
||||
SendWMSize(hwnd);
|
||||
break;
|
||||
@ -2147,18 +2122,20 @@ LRESULT MsgCommand(HWND hwnd,WPARAM wParam,LPARAM lParam)
|
||||
if (IniFileSetString(g_wchIniFile, L"Settings", L"WriteTest", L"ok"))
|
||||
{
|
||||
// prepare save
|
||||
Toolbar_GetButtons(hwndToolbar, IDT_HISTORY_BACK, tchToolbarButtons, COUNTOF(tchToolbarButtons));
|
||||
Toolbar_GetButtons(hwndToolbar, IDT_HISTORY_BACK, Settings.tchToolbarButtons, COUNTOF(Settings.tchToolbarButtons));
|
||||
|
||||
BeginWaitCursor();
|
||||
SaveSettings(TRUE);
|
||||
EndWaitCursor();
|
||||
ErrorMessage(0,IDS_SAVESETTINGS);
|
||||
}
|
||||
else
|
||||
ErrorMessage(2,IDS_ERR_INIWRITE);
|
||||
else {
|
||||
ErrorMessage(2, IDS_ERR_INIWRITE);
|
||||
}
|
||||
}
|
||||
else {
|
||||
ErrorMessage(2, IDS_ERR_INICREATE);
|
||||
}
|
||||
else
|
||||
ErrorMessage(2,IDS_ERR_INICREATE);
|
||||
}
|
||||
break;
|
||||
|
||||
@ -2170,37 +2147,37 @@ LRESULT MsgCommand(HWND hwnd,WPARAM wParam,LPARAM lParam)
|
||||
|
||||
case IDM_VIEW_OPTIONS:
|
||||
OptionsPropSheet(hwnd, g_hLngResContainer);
|
||||
bHasQuickview = PathFileExists(szQuickview);
|
||||
bHasQuickview = PathFileExists(Settings.szQuickview);
|
||||
break;
|
||||
|
||||
|
||||
case IDM_SORT_NAME:
|
||||
nSortFlags = DS_NAME;
|
||||
DirList_Sort(hwndDirList,nSortFlags,fSortRev);
|
||||
Settings.nSortFlags = DS_NAME;
|
||||
DirList_Sort(hwndDirList, Settings.nSortFlags, Settings.fSortRev);
|
||||
break;
|
||||
|
||||
|
||||
case IDM_SORT_SIZE:
|
||||
nSortFlags = DS_SIZE;
|
||||
DirList_Sort(hwndDirList,nSortFlags,fSortRev);
|
||||
Settings.nSortFlags = DS_SIZE;
|
||||
DirList_Sort(hwndDirList, Settings.nSortFlags, Settings.fSortRev);
|
||||
break;
|
||||
|
||||
|
||||
case IDM_SORT_TYPE:
|
||||
nSortFlags = DS_TYPE;
|
||||
DirList_Sort(hwndDirList,nSortFlags,fSortRev);
|
||||
Settings.nSortFlags = DS_TYPE;
|
||||
DirList_Sort(hwndDirList, Settings.nSortFlags, Settings.fSortRev);
|
||||
break;
|
||||
|
||||
|
||||
case IDM_SORT_DATE:
|
||||
nSortFlags = DS_LASTMOD;
|
||||
DirList_Sort(hwndDirList,nSortFlags,fSortRev);
|
||||
Settings.nSortFlags = DS_LASTMOD;
|
||||
DirList_Sort(hwndDirList, Settings.nSortFlags, Settings.fSortRev);
|
||||
break;
|
||||
|
||||
|
||||
case IDM_SORT_REVERSE:
|
||||
fSortRev = !fSortRev;
|
||||
DirList_Sort(hwndDirList,nSortFlags,fSortRev);
|
||||
Settings.fSortRev = !Settings.fSortRev;
|
||||
DirList_Sort(hwndDirList, Settings.nSortFlags, Settings.fSortRev);
|
||||
break;
|
||||
|
||||
|
||||
@ -2232,9 +2209,9 @@ LRESULT MsgCommand(HWND hwnd,WPARAM wParam,LPARAM lParam)
|
||||
case ACC_ESCAPE:
|
||||
if (SendMessage(hwndDriveBox,CB_GETDROPPEDSTATE,0,0))
|
||||
SendMessage(hwndDriveBox,CB_SHOWDROPDOWN,0,0);
|
||||
else if (iEscFunction == 1)
|
||||
else if (Settings.iEscFunction == 1)
|
||||
SendMessage(hwnd,WM_SYSCOMMAND,SC_MINIMIZE,0);
|
||||
else if (iEscFunction == 2)
|
||||
else if (Settings.iEscFunction == 2)
|
||||
PostMessage(hwnd,WM_CLOSE,0,0);
|
||||
break;
|
||||
|
||||
@ -2256,7 +2233,7 @@ LRESULT MsgCommand(HWND hwnd,WPARAM wParam,LPARAM lParam)
|
||||
nId = IDC_DIRLIST;
|
||||
}
|
||||
|
||||
if (nId == IDC_DRIVEBOX && !bShowDriveBox)
|
||||
if (nId == IDC_DRIVEBOX && !Settings.bShowDriveBox)
|
||||
nId = IDC_DIRLIST;
|
||||
|
||||
SetFocus(GetDlgItem(hwnd,nId));
|
||||
@ -2266,17 +2243,17 @@ LRESULT MsgCommand(HWND hwnd,WPARAM wParam,LPARAM lParam)
|
||||
|
||||
|
||||
case ACC_TOGGLE_FOCUSEDIT:
|
||||
if (bFocusEdit)
|
||||
bFocusEdit = 0;
|
||||
if (Settings.bFocusEdit)
|
||||
Settings.bFocusEdit = 0;
|
||||
else
|
||||
bFocusEdit = 1;
|
||||
Settings.bFocusEdit = 1;
|
||||
break;
|
||||
|
||||
|
||||
case ACC_SWITCHTRANSPARENCY:
|
||||
g_bTransparentMode = !g_bTransparentMode;
|
||||
Settings.g_bTransparentMode = !Settings.g_bTransparentMode;
|
||||
int const iAlphaPercent = IniFileGetInt(g_wchIniFile, L"Settings2", L"OpacityLevel", 75);
|
||||
SetWindowTransparentMode(hwndMain, g_bTransparentMode, clampi(iAlphaPercent, 0, 100));
|
||||
SetWindowTransparentMode(hwndMain, Settings.g_bTransparentMode, clampi(iAlphaPercent, 0, 100));
|
||||
break;
|
||||
|
||||
|
||||
@ -2342,38 +2319,38 @@ LRESULT MsgCommand(HWND hwnd,WPARAM wParam,LPARAM lParam)
|
||||
|
||||
|
||||
case IDT_HISTORY_BACK:
|
||||
if (History_CanBack(&mHistory))
|
||||
if (History_CanBack(&g_mHistory))
|
||||
{
|
||||
WCHAR tch[MAX_PATH];
|
||||
History_Back(&mHistory,tch,COUNTOF(tch));
|
||||
History_Back(&g_mHistory,tch,COUNTOF(tch));
|
||||
if (!ChangeDirectory(hwnd,tch,0))
|
||||
ErrorMessage(2,IDS_ERR_CD);
|
||||
}
|
||||
else
|
||||
MessageBeep(0);
|
||||
History_UpdateToolbar(&mHistory,hwndToolbar,
|
||||
History_UpdateToolbar(&g_mHistory,hwndToolbar,
|
||||
IDT_HISTORY_BACK,IDT_HISTORY_FORWARD);
|
||||
break;
|
||||
|
||||
|
||||
case IDT_HISTORY_FORWARD:
|
||||
if (History_CanForward(&mHistory))
|
||||
if (History_CanForward(&g_mHistory))
|
||||
{
|
||||
WCHAR tch[MAX_PATH];
|
||||
History_Forward(&mHistory,tch,COUNTOF(tch));
|
||||
History_Forward(&g_mHistory,tch,COUNTOF(tch));
|
||||
if (!ChangeDirectory(hwnd,tch,0))
|
||||
ErrorMessage(2,IDS_ERR_CD);
|
||||
}
|
||||
else
|
||||
MessageBeep(0);
|
||||
History_UpdateToolbar(&mHistory,hwndToolbar,
|
||||
History_UpdateToolbar(&g_mHistory,hwndToolbar,
|
||||
IDT_HISTORY_BACK,IDT_HISTORY_FORWARD);
|
||||
break;
|
||||
|
||||
|
||||
case IDT_UPDIR:
|
||||
{
|
||||
if (!PathIsRoot(szCurDir))
|
||||
if (!PathIsRoot(Settings.szCurDir))
|
||||
{
|
||||
if (!ChangeDirectory(hwnd,L"..",1))
|
||||
ErrorMessage(2,IDS_ERR_CD);
|
||||
@ -2386,7 +2363,7 @@ LRESULT MsgCommand(HWND hwnd,WPARAM wParam,LPARAM lParam)
|
||||
|
||||
case IDT_ROOT:
|
||||
{
|
||||
if (!PathIsRoot(szCurDir))
|
||||
if (!PathIsRoot(Settings.szCurDir))
|
||||
{
|
||||
if (!ChangeDirectory(hwnd,L"\\",1))
|
||||
ErrorMessage(2,IDS_ERR_CD);
|
||||
@ -2512,10 +2489,10 @@ LRESULT MsgCommand(HWND hwnd,WPARAM wParam,LPARAM lParam)
|
||||
|
||||
case IDT_FILE_DELETE:
|
||||
if (ListView_GetSelectedCount(hwndDirList)) {
|
||||
BOOL fUseRecycleBin2 = fUseRecycleBin;
|
||||
fUseRecycleBin = 1;
|
||||
BOOL const fUseRecycleBin2 = Settings.fUseRecycleBin;
|
||||
Settings.fUseRecycleBin = 1;
|
||||
SendMessage(hwnd,WM_COMMAND,MAKELONG(IDM_FILE_DELETE,1),0);
|
||||
fUseRecycleBin = fUseRecycleBin2;
|
||||
Settings.fUseRecycleBin = fUseRecycleBin2;
|
||||
}
|
||||
else
|
||||
MessageBeep(0);
|
||||
@ -2628,7 +2605,7 @@ LRESULT MsgNotify(HWND hwnd,WPARAM wParam,LPARAM lParam)
|
||||
{
|
||||
wsprintf(tchnum,L"%u",ListView_GetItemCount(hwndDirList));
|
||||
FormatNumberStr(tchnum);
|
||||
FormatLngStringW(tch,COUNTOF(tch),(lstrcmp(tchFilter,L"*.*") || bNegFilter)?IDS_NUMFILES2:IDS_NUMFILES,tchnum);
|
||||
FormatLngStringW(tch,COUNTOF(tch),(lstrcmp(Settings.tchFilter,L"*.*") || Settings.bNegFilter)?IDS_NUMFILES2:IDS_NUMFILES,tchnum);
|
||||
}
|
||||
|
||||
StatusSetText(hwndStatus,ID_FILEINFO,tch);
|
||||
@ -2639,7 +2616,7 @@ LRESULT MsgNotify(HWND hwnd,WPARAM wParam,LPARAM lParam)
|
||||
|
||||
case NM_CLICK:
|
||||
|
||||
if (bSingleClick && ListView_GetSelectedCount(hwndDirList))
|
||||
if (Settings.bSingleClick && ListView_GetSelectedCount(hwndDirList))
|
||||
{
|
||||
if (IsKeyDown(VK_MENU))
|
||||
SendMessage(hwnd,WM_COMMAND,MAKELONG(IDM_FILE_PROPERTIES,1),0);
|
||||
@ -2688,10 +2665,10 @@ LRESULT MsgNotify(HWND hwnd,WPARAM wParam,LPARAM lParam)
|
||||
{
|
||||
|
||||
case TBN_ENDADJUST:
|
||||
History_UpdateToolbar(&mHistory,hwndToolbar,
|
||||
History_UpdateToolbar(&g_mHistory,hwndToolbar,
|
||||
IDT_HISTORY_BACK,IDT_HISTORY_FORWARD);
|
||||
Toolbar_SetButtonImage(hwndToolbar,IDT_VIEW_FILTER,
|
||||
(lstrcmp(tchFilter,L"*.*") || bNegFilter) ? TBFILTERBMP : TBFILTERBMP+1);
|
||||
(lstrcmp(Settings.tchFilter,L"*.*") || Settings.bNegFilter) ? TBFILTERBMP : TBFILTERBMP+1);
|
||||
break;
|
||||
|
||||
case TBN_QUERYDELETE:
|
||||
@ -2736,7 +2713,7 @@ LRESULT MsgNotify(HWND hwnd,WPARAM wParam,LPARAM lParam)
|
||||
|
||||
if (((LPTOOLTIPTEXT)lParam)->uFlags & TTF_IDISHWND)
|
||||
{
|
||||
PathCompactPathEx(((LPTOOLTIPTEXT)lParam)->szText,szCurDir,
|
||||
PathCompactPathEx(((LPTOOLTIPTEXT)lParam)->szText, Settings.szCurDir,
|
||||
COUNTOF(((LPTOOLTIPTEXT)lParam)->szText),0);
|
||||
}
|
||||
|
||||
@ -2796,25 +2773,26 @@ BOOL ChangeDirectory(HWND hwnd,LPCWSTR lpszNewDir,BOOL bUpdateHistory)
|
||||
|
||||
int iTopItem = ListView_GetTopIndex(hwndDirList);
|
||||
|
||||
GetCurrentDirectory(COUNTOF(szCurDir),szCurDir);
|
||||
GetCurrentDirectory(COUNTOF(Settings.szCurDir), Settings.szCurDir);
|
||||
|
||||
SetWindowPathTitle(hwnd,szCurDir);
|
||||
SetWindowPathTitle(hwnd, Settings.szCurDir);
|
||||
|
||||
if (lstrcmp(tchFilter,L"*.*") || bNegFilter) {
|
||||
ListView_SetTextColor(hwndDirList,(bDefCrFilter) ? GetSysColor(COLOR_WINDOWTEXT) : crFilter);
|
||||
if (lstrcmp(Settings.tchFilter,L"*.*") || Settings.bNegFilter) {
|
||||
ListView_SetTextColor(hwndDirList,(Settings.bDefCrFilter) ? GetSysColor(COLOR_WINDOWTEXT) : Settings.crFilter);
|
||||
Toolbar_SetButtonImage(hwndToolbar,IDT_VIEW_FILTER,TBFILTERBMP);
|
||||
}
|
||||
else {
|
||||
ListView_SetTextColor(hwndDirList,(bDefCrNoFilt) ? GetSysColor(COLOR_WINDOWTEXT) : crNoFilt);
|
||||
ListView_SetTextColor(hwndDirList,(Settings.bDefCrNoFilt) ? GetSysColor(COLOR_WINDOWTEXT) : Settings.crNoFilt);
|
||||
Toolbar_SetButtonImage(hwndToolbar,IDT_VIEW_FILTER,TBFILTERBMP+1);
|
||||
}
|
||||
|
||||
cItems = DirList_Fill(hwndDirList,szCurDir,dwFillMask,tchFilter,bNegFilter,flagNoFadeHidden,nSortFlags,fSortRev);
|
||||
cItems = DirList_Fill(hwndDirList, Settings.szCurDir, Settings.dwFillMask,
|
||||
Settings.tchFilter, Settings.bNegFilter,flagNoFadeHidden, Settings.nSortFlags, Settings.fSortRev);
|
||||
DirList_StartIconThread(hwndDirList);
|
||||
|
||||
// Get long pathname
|
||||
DirList_GetLongPathName(hwndDirList,szCurDir);
|
||||
SetCurrentDirectory(szCurDir);
|
||||
DirList_GetLongPathName(hwndDirList, Settings.szCurDir);
|
||||
SetCurrentDirectory(Settings.szCurDir);
|
||||
|
||||
if (cItems > 0)
|
||||
ListView_SetItemState(hwndDirList,0,LVIS_FOCUSED,LVIS_FOCUSED);
|
||||
@ -2830,7 +2808,7 @@ BOOL ChangeDirectory(HWND hwnd,LPCWSTR lpszNewDir,BOOL bUpdateHistory)
|
||||
|
||||
// setup new change notification handle
|
||||
FindCloseChangeNotification(hChangeHandle);
|
||||
hChangeHandle = FindFirstChangeNotification(szCurDir,FALSE,
|
||||
hChangeHandle = FindFirstChangeNotification(Settings.szCurDir,FALSE,
|
||||
FILE_NOTIFY_CHANGE_FILE_NAME | \
|
||||
FILE_NOTIFY_CHANGE_DIR_NAME | \
|
||||
FILE_NOTIFY_CHANGE_ATTRIBUTES | \
|
||||
@ -2838,18 +2816,18 @@ BOOL ChangeDirectory(HWND hwnd,LPCWSTR lpszNewDir,BOOL bUpdateHistory)
|
||||
FILE_NOTIFY_CHANGE_LAST_WRITE);
|
||||
|
||||
DriveBox_Fill(hwndDriveBox);
|
||||
DriveBox_SelectDrive(hwndDriveBox,szCurDir);
|
||||
DriveBox_SelectDrive(hwndDriveBox, Settings.szCurDir);
|
||||
|
||||
wsprintf(tchnum,L"%u",cItems);
|
||||
FormatNumberStr(tchnum);
|
||||
FormatLngStringW(tch,COUNTOF(tch),(lstrcmp(tchFilter,L"*.*") || bNegFilter)?IDS_NUMFILES2:IDS_NUMFILES,tchnum);
|
||||
FormatLngStringW(tch,COUNTOF(tch),(lstrcmp(Settings.tchFilter,L"*.*") || Settings.bNegFilter)?IDS_NUMFILES2:IDS_NUMFILES,tchnum);
|
||||
StatusSetText(hwndStatus,ID_FILEINFO,tch);
|
||||
|
||||
// Update History
|
||||
if (bUpdateHistory)
|
||||
{
|
||||
History_Add(&mHistory,szCurDir);
|
||||
History_UpdateToolbar(&mHistory,hwndToolbar,
|
||||
History_Add(&g_mHistory, Settings.szCurDir);
|
||||
History_UpdateToolbar(&g_mHistory,hwndToolbar,
|
||||
IDT_HISTORY_BACK,IDT_HISTORY_FORWARD);
|
||||
}
|
||||
|
||||
@ -2921,15 +2899,15 @@ void ParseCommandLine()
|
||||
case L'P':
|
||||
if (*CharUpper(lp1+1) == L'D' || *CharUpper(lp1+1) == L'S') {
|
||||
flagPosParam = 1;
|
||||
wi.x = wi.y = wi.cx = wi.cy = CW_USEDEFAULT;
|
||||
Settings.wi.x = Settings.wi.y = Settings.wi.cx = Settings.wi.cy = CW_USEDEFAULT;
|
||||
}
|
||||
else if (ExtractFirstArgument(lp2,lp1,lp2)) {
|
||||
int itok =
|
||||
swscanf_s(lp1,L"%i,%i,%i,%i",&wi.x,&wi.y,&wi.cx,&wi.cy);
|
||||
swscanf_s(lp1,L"%i,%i,%i,%i",&Settings.wi.x,&Settings.wi.y,&Settings.wi.cx,&Settings.wi.cy);
|
||||
if (itok == 4) { // scan successful
|
||||
flagPosParam = 1;
|
||||
if (wi.cx < 1) wi.cx = CW_USEDEFAULT;
|
||||
if (wi.cy < 1) wi.cy = CW_USEDEFAULT;
|
||||
if (Settings.wi.cx < 1) Settings.wi.cx = CW_USEDEFAULT;
|
||||
if (Settings.wi.cy < 1) Settings.wi.cy = CW_USEDEFAULT;
|
||||
}
|
||||
}
|
||||
break;
|
||||
@ -3402,7 +3380,7 @@ void LaunchTarget(LPCWSTR lpFileName,BOOL bOpenNew)
|
||||
if (IsIconic(hwnd))
|
||||
ShowWindowAsync(hwnd,SW_RESTORE);
|
||||
|
||||
if (bFocusEdit)
|
||||
if (Settings.bFocusEdit)
|
||||
SetForegroundWindow(hwnd);
|
||||
|
||||
if (lpFileName)
|
||||
@ -3473,7 +3451,7 @@ void LaunchTarget(LPCWSTR lpFileName,BOOL bOpenNew)
|
||||
sei.lpVerb = NULL;
|
||||
sei.lpFile = szFile;
|
||||
sei.lpParameters = szParam;
|
||||
sei.lpDirectory = szCurDir;
|
||||
sei.lpDirectory = Settings.szCurDir;
|
||||
sei.nShow = SW_SHOWNORMAL;
|
||||
|
||||
ShellExecuteEx(&sei);
|
||||
@ -3545,7 +3523,7 @@ void LaunchTarget(LPCWSTR lpFileName,BOOL bOpenNew)
|
||||
sei.lpFile = lpParam;
|
||||
sei.lpParameters = NULL;
|
||||
}
|
||||
sei.lpDirectory = szCurDir;
|
||||
sei.lpDirectory = Settings.szCurDir;
|
||||
sei.nShow = SW_SHOWNORMAL;
|
||||
|
||||
ShellExecuteEx(&sei);
|
||||
|
||||
@ -89,6 +89,65 @@ typedef struct _wi
|
||||
int cy;
|
||||
} WININFO;
|
||||
|
||||
// ----------------------------------------------------------------------------
|
||||
|
||||
#define DL_FILTER_BUFSIZE 256 // should correspond to Dlapi.h def
|
||||
|
||||
typedef struct _settings_t
|
||||
{
|
||||
BOOL bSaveSettings;
|
||||
WCHAR szQuickview[MAX_PATH];
|
||||
WCHAR szQuickviewParams[MAX_PATH];
|
||||
WCHAR g_tchFavoritesDir[MAX_PATH];
|
||||
BOOL bNP3sFavoritesSettings;
|
||||
WCHAR tchOpenWithDir[MAX_PATH];
|
||||
WCHAR tchToolbarButtons[512];
|
||||
WCHAR tchToolbarBitmap[MAX_PATH];
|
||||
WCHAR tchToolbarBitmapHot[MAX_PATH];
|
||||
WCHAR tchToolbarBitmapDisabled[MAX_PATH];
|
||||
BOOL bClearReadOnly;
|
||||
BOOL bRenameOnCollision;
|
||||
BOOL bSingleClick;
|
||||
BOOL bTrackSelect;
|
||||
BOOL bFullRowSelect;
|
||||
int iStartupDir;
|
||||
int iEscFunction;
|
||||
BOOL bFocusEdit;
|
||||
BOOL bAlwaysOnTop;
|
||||
BOOL g_bTransparentMode;
|
||||
BOOL bMinimizeToTray;
|
||||
BOOL fUseRecycleBin;
|
||||
BOOL fNoConfirmDelete;
|
||||
BOOL bShowToolbar;
|
||||
BOOL bShowStatusbar;
|
||||
BOOL bShowDriveBox;
|
||||
int cxGotoDlg;
|
||||
int cxOpenWithDlg;
|
||||
int cyOpenWithDlg;
|
||||
int cxCopyMoveDlg;
|
||||
|
||||
BOOL bHasQuickview;
|
||||
|
||||
WCHAR tchFilter[DL_FILTER_BUFSIZE];
|
||||
BOOL bNegFilter;
|
||||
BOOL bDefCrNoFilt;
|
||||
BOOL bDefCrFilter;
|
||||
COLORREF crNoFilt;
|
||||
COLORREF crFilter;
|
||||
COLORREF crCustom[16];
|
||||
|
||||
WININFO wi;
|
||||
|
||||
WCHAR szCurDir[MAX_PATH + 40];
|
||||
DWORD dwFillMask;
|
||||
int nSortFlags;
|
||||
BOOL fSortRev;
|
||||
|
||||
} SETTINGS_T, * PSETTINGS_T;
|
||||
|
||||
extern SETTINGS_T Settings;
|
||||
extern SETTINGS_T Defaults;
|
||||
|
||||
|
||||
//==== Function Declarations ==================================================
|
||||
BOOL InitApplication(HINSTANCE);
|
||||
|
||||
@ -3,7 +3,7 @@
|
||||
<assemblyIdentity
|
||||
name="Notepad3"
|
||||
processorArchitecture="*"
|
||||
version="5.19.723.2404"
|
||||
version="5.19.725.2406"
|
||||
type="win32"
|
||||
/>
|
||||
<description>Notepad3 BETA</description>
|
||||
|
||||
@ -728,6 +728,10 @@ void LoadSettings()
|
||||
IniSectionGetString(Settings2_Section, L"AutoCompleteWordCharSet", Defaults2.AutoCompleteWordCharSet,
|
||||
Settings2.AutoCompleteWordCharSet, COUNTOF(Settings2.AutoCompleteWordCharSet));
|
||||
|
||||
Defaults2.AutoCompleteFillUpChars[0] = L'\0';
|
||||
IniSectionGetString(Settings2_Section, L"AutoCompleteFillUpChars", Defaults2.AutoCompleteFillUpChars,
|
||||
Settings2.AutoCompleteFillUpChars, COUNTOF(Settings2.AutoCompleteFillUpChars));
|
||||
|
||||
StringCchCopyW(Defaults2.TimeStamp, COUNTOF(Defaults2.TimeStamp), L"\\$Date:[^\\$]+\\$ | $Date: %Y/%m/%d %H:%M:%S $");
|
||||
IniSectionGetString(Settings2_Section, L"TimeStamp", Defaults2.TimeStamp, Settings2.TimeStamp, COUNTOF(Settings2.TimeStamp));
|
||||
|
||||
@ -743,7 +747,6 @@ void LoadSettings()
|
||||
StringCchCopyW(Defaults2.WebTemplate2, COUNTOF(Defaults2.WebTemplate2), L"https://en.wikipedia.org/w/index.php?search=%s");
|
||||
IniSectionGetString(Settings2_Section, L"WebTemplate2", Defaults2.WebTemplate2, Settings2.WebTemplate2, COUNTOF(Settings2.WebTemplate2));
|
||||
|
||||
|
||||
// --------------------------------------------------------------------------
|
||||
const WCHAR* const Settings_Section = L"Settings";
|
||||
// --------------------------------------------------------------------------
|
||||
|
||||
78
src/Edit.c
78
src/Edit.c
@ -64,6 +64,9 @@ static char WordCharsAccelerated[ANSI_CHAR_BUFFER] = { '\0' };
|
||||
static char WhiteSpaceCharsAccelerated[ANSI_CHAR_BUFFER] = { '\0' };
|
||||
static char PunctuationCharsAccelerated[1] = { '\0' }; // empty!
|
||||
|
||||
static char AutoCompleteFillUpChars[64] = { '\0' };
|
||||
static bool s_ACFillUpCharsHaveNewLn = false;
|
||||
|
||||
// Default Codepage and Character Set
|
||||
#define W_AUTOC_WORD_ANSI1252 L"#$%&@0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ_abcdefghijklmnopqrstuvwxyzÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖØÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõöøùúûüýþÿ"
|
||||
static char AutoCompleteWordCharSet[ANSI_CHAR_BUFFER] = { L'\0' };
|
||||
@ -255,6 +258,22 @@ void EditInitWordDelimiter(HWND hwnd)
|
||||
StringCchCopyA(DelimCharsAccel, COUNTOF(DelimCharsAccel), WhiteSpaceCharsDefault);
|
||||
StringCchCatA(DelimCharsAccel, COUNTOF(DelimCharsAccel), lineEnds);
|
||||
|
||||
if (StrIsNotEmpty(Settings2.AutoCompleteFillUpChars))
|
||||
{
|
||||
WideCharToMultiByte(Encoding_SciCP, 0, Settings2.AutoCompleteFillUpChars, -1, AutoCompleteFillUpChars, COUNTOF(AutoCompleteFillUpChars), NULL, NULL);
|
||||
UnSlash(AutoCompleteFillUpChars, Encoding_SciCP);
|
||||
|
||||
s_ACFillUpCharsHaveNewLn = false;
|
||||
int i = 0;
|
||||
while (AutoCompleteFillUpChars[i]) {
|
||||
if ((AutoCompleteFillUpChars[i] == '\r') || (AutoCompleteFillUpChars[i] == '\n')) {
|
||||
s_ACFillUpCharsHaveNewLn = true;
|
||||
break;
|
||||
}
|
||||
++i;
|
||||
}
|
||||
}
|
||||
|
||||
if (StrIsNotEmpty(Settings2.AutoCompleteWordCharSet))
|
||||
{
|
||||
WideCharToMultiByte(Encoding_SciCP, 0, Settings2.AutoCompleteWordCharSet, -1, AutoCompleteWordCharSet, COUNTOF(AutoCompleteWordCharSet), NULL, NULL);
|
||||
@ -741,8 +760,8 @@ bool EditCopyAppend(HWND hwnd, bool bAppend)
|
||||
HANDLE const hOld = GetClipboardData(CF_UNICODETEXT);
|
||||
const WCHAR* pszOld = GlobalLock(hOld);
|
||||
|
||||
int const _eol_mode = SciCall_GetEOLMode();
|
||||
const WCHAR *pszSep = ((_eol_mode == SC_EOL_CRLF) ? L"\r\n" : ((_eol_mode == SC_EOL_CR) ? L"\r" : L"\n"));
|
||||
WCHAR pszSep[3] = { L'\0' };
|
||||
Sci_GetCurrentEOL_W(pszSep);
|
||||
|
||||
size_t cchNewText = cchTextW;
|
||||
if (pszOld && *pszOld) {
|
||||
@ -3903,14 +3922,8 @@ void EditWrapToColumn(HWND hwnd,DocPos nColumn/*,int nTabWidth*/)
|
||||
return;
|
||||
}
|
||||
|
||||
int cchEOL = 2;
|
||||
WCHAR wszEOL[] = L"\r\n";
|
||||
int const cEOLMode = SciCall_GetEOLMode();
|
||||
if (cEOLMode == SC_EOL_CR)
|
||||
cchEOL = 1;
|
||||
else if (cEOLMode == SC_EOL_LF) {
|
||||
cchEOL = 1; wszEOL[0] = L'\n';
|
||||
}
|
||||
WCHAR wszEOL[3] = { L'\0' };
|
||||
int const cchEOL = Sci_GetCurrentEOL_W(wszEOL);
|
||||
|
||||
int cchConvW = 0;
|
||||
DocPos iLineLength = 0;
|
||||
@ -4065,23 +4078,8 @@ void EditJoinLinesEx(HWND hwnd, bool bPreserveParagraphs, bool bCRLF2Space)
|
||||
return;
|
||||
}
|
||||
|
||||
char szEOL[] = "\r\n";
|
||||
int cchEOL = 2;
|
||||
switch (SciCall_GetEOLMode())
|
||||
{
|
||||
case SC_EOL_LF:
|
||||
szEOL[0] = '\n';
|
||||
szEOL[1] = '\0';
|
||||
cchEOL = 1;
|
||||
break;
|
||||
case SC_EOL_CR:
|
||||
szEOL[1] = '\0';
|
||||
cchEOL = 1;
|
||||
break;
|
||||
case SC_EOL_CRLF:
|
||||
default:
|
||||
break;
|
||||
}
|
||||
char szEOL[3] = { '\0' };
|
||||
int const cchEOL = Sci_GetCurrentEOL_A(szEOL);
|
||||
|
||||
for (int i = 0; i < iSelLength; ++i)
|
||||
{
|
||||
@ -4208,15 +4206,8 @@ void EditSortLines(HWND hwnd, int iSortFlags)
|
||||
|
||||
DocLn const iLineCount = iLineEnd - iLineStart + 1;
|
||||
|
||||
int const cEOLMode = SciCall_GetEOLMode();
|
||||
char mszEOL[] = "\r\n";
|
||||
if (cEOLMode == SC_EOL_CR) {
|
||||
mszEOL[1] = '\0';
|
||||
}
|
||||
else if (cEOLMode == SC_EOL_LF) {
|
||||
mszEOL[0] = '\n';
|
||||
mszEOL[1] = '\0';
|
||||
}
|
||||
char mszEOL[3] = { '\0' };
|
||||
Sci_GetCurrentEOL_A(mszEOL);
|
||||
|
||||
int const _iTabWidth = SciCall_GetTabWidth();
|
||||
|
||||
@ -6705,6 +6696,16 @@ void EditMarkAll(HWND hwnd, char* pszFind, int flags, DocPos rangeStart, DocPos
|
||||
}
|
||||
|
||||
|
||||
//=============================================================================
|
||||
//
|
||||
// EditCheckNewLineInACFillUps()
|
||||
//
|
||||
bool EditCheckNewLineInACFillUps()
|
||||
{
|
||||
return s_ACFillUpCharsHaveNewLn;
|
||||
}
|
||||
|
||||
|
||||
//=============================================================================
|
||||
//
|
||||
// EditAutoCompleteWord()
|
||||
@ -6901,9 +6902,8 @@ bool EditAutoCompleteWord(HWND hwnd, bool autoInsert)
|
||||
SciCall_AutoCSetIgnoreCase(true);
|
||||
//SendMessage(hwnd, SCI_AUTOCSETCASEINSENSITIVEBEHAVIOUR, (WPARAM)SC_CASEINSENSITIVEBEHAVIOUR_IGNORECASE, 0);
|
||||
SciCall_AutoCSetChooseSingle(autoInsert);
|
||||
//SciCall_AutoCSetOrder(SC_ORDER_PERFORMSORT); // already sorted
|
||||
SciCall_AutoCSetFillups("\t\n\r");
|
||||
//SciCall_AutoCSetFillups(Settings.AccelWordNavigation ? WhiteSpaceCharsDefault : WhiteSpaceCharsAccelerated);
|
||||
//~SciCall_AutoCSetOrder(SC_ORDER_PERFORMSORT); // already sorted
|
||||
SciCall_AutoCSetFillups(AutoCompleteFillUpChars);
|
||||
|
||||
++iWListSize; // zero termination
|
||||
char* const pList = AllocMem(iWListSize, HEAP_ZERO_MEMORY);
|
||||
|
||||
@ -110,6 +110,7 @@ void EditFinalizeStyling(HWND hwnd, DocPos iEndPos);
|
||||
void EditUpdateIndicators(HWND hwnd, DocPos startPos, DocPos endPos, bool bClearOnly);
|
||||
void EditSetAccelWordNav(HWND hwnd,bool);
|
||||
bool EditAutoCompleteWord(HWND hwnd,bool);
|
||||
bool EditCheckNewLineInACFillUps();
|
||||
void EditShowZeroLengthCallTip(HWND hwnd, DocPos iPosition);
|
||||
void EditGetBookmarkList(HWND hwnd,LPWSTR pszBookMarks,int cchLength);
|
||||
void EditSetBookmarkList(HWND hwnd,LPCWSTR pszBookMarks);
|
||||
|
||||
@ -347,6 +347,7 @@ bool MRU_MergeSave(LPMRULIST pmru,bool,bool,bool);
|
||||
#define MRU_Count(pmru) MRU_Enum((pmru), 0, NULL, 0)
|
||||
|
||||
//==== UnSlash Functions ======================================================
|
||||
unsigned int UnSlash(char* s, UINT cpEdit);
|
||||
void TransformBackslashes(char* pszInput,bool,UINT cpEdit,int* iReplaceMsg);
|
||||
void TransformMetaChars(char* pszInput,bool,int iEOLMode);
|
||||
|
||||
|
||||
@ -3091,11 +3091,11 @@ LRESULT MsgInitMenu(HWND hwnd, WPARAM wParam, LPARAM lParam)
|
||||
}
|
||||
CheckMenuRadioItem(hmenu,IDM_ENCODING_ANSI,IDM_ENCODING_UTF8SIGN,i,MF_BYCOMMAND);
|
||||
|
||||
int const _eol_mode = SciCall_GetEOLMode();
|
||||
if (_eol_mode == SC_EOL_CRLF) {
|
||||
int const eol_mode = SciCall_GetEOLMode();
|
||||
if (eol_mode == SC_EOL_CRLF) {
|
||||
i = IDM_LINEENDINGS_CRLF;
|
||||
}
|
||||
else if (_eol_mode == SC_EOL_CR) {
|
||||
else if (eol_mode == SC_EOL_CR) {
|
||||
i = IDM_LINEENDINGS_CR;
|
||||
}
|
||||
else {
|
||||
@ -6787,8 +6787,8 @@ static void _HandleAutoIndent(int const charAdded)
|
||||
{
|
||||
// TODO: handle indent after '{' and un-indent on '}' in C/C++ ?
|
||||
// in CRLF mode handle LF only...
|
||||
int const _eol_mode = SciCall_GetEOLMode();
|
||||
if (((SC_EOL_CRLF == _eol_mode) && (charAdded != '\r')) || (SC_EOL_CRLF != _eol_mode))
|
||||
int const eol_mode = SciCall_GetEOLMode();
|
||||
if (((SC_EOL_CRLF == eol_mode) && (charAdded != '\r')) || (SC_EOL_CRLF != eol_mode))
|
||||
{
|
||||
DocPos const iCurPos = SciCall_GetCurrentPos();
|
||||
DocLn const iCurLine = SciCall_LineFromPosition(iCurPos);
|
||||
@ -7015,6 +7015,33 @@ static LRESULT _MsgNotifyFromEdit(HWND hwnd, const LPNMHDR pnmh, const SCNotific
|
||||
case SCN_CALLTIPCLICK:
|
||||
return 0;
|
||||
|
||||
case SCN_AUTOCSELECTION:
|
||||
{
|
||||
switch (scn->listCompletionMethod)
|
||||
{
|
||||
case SC_AC_TAB:
|
||||
case SC_AC_COMMAND:
|
||||
case SC_AC_DOUBLECLICK:
|
||||
// accepted
|
||||
break;
|
||||
|
||||
case SC_AC_FILLUP:
|
||||
// see: SciCall_AutoCSetFillups() -> accepted
|
||||
break;
|
||||
|
||||
case SC_AC_NEWLINE:
|
||||
if (!EditCheckNewLineInACFillUps()) {
|
||||
SciCall_AutoCCancel(); // rejected
|
||||
PostMessage(Globals.hwndEdit, SCI_NEWLINE, 0, 0);
|
||||
}
|
||||
break;
|
||||
|
||||
default:
|
||||
SciCall_AutoCCancel(); // rejected
|
||||
break;
|
||||
}
|
||||
}
|
||||
break;
|
||||
|
||||
case SCN_MODIFIED:
|
||||
{
|
||||
@ -7394,10 +7421,10 @@ LRESULT MsgNotify(HWND hwnd, WPARAM wParam, LPARAM lParam)
|
||||
case STATUS_EOLMODE:
|
||||
{
|
||||
int i;
|
||||
int const _eol_mode = SciCall_GetEOLMode();
|
||||
if (_eol_mode == SC_EOL_CRLF)
|
||||
int const eol_mode = SciCall_GetEOLMode();
|
||||
if (eol_mode == SC_EOL_CRLF)
|
||||
i = IDM_LINEENDINGS_CRLF;
|
||||
else if (_eol_mode == SC_EOL_CR)
|
||||
else if (eol_mode == SC_EOL_CR)
|
||||
i = IDM_LINEENDINGS_CR;
|
||||
else
|
||||
i = IDM_LINEENDINGS_LF;
|
||||
@ -8632,17 +8659,17 @@ static void _UpdateStatusbarDelayed(bool bForceRedraw)
|
||||
if (s_iStatusbarVisible[STATUS_EOLMODE])
|
||||
{
|
||||
static int s_iEOLMode = -1;
|
||||
int const _eol_mode = SciCall_GetEOLMode();
|
||||
int const eol_mode = SciCall_GetEOLMode();
|
||||
|
||||
if (bForceRedraw || (s_iEOLMode != _eol_mode))
|
||||
if (bForceRedraw || (s_iEOLMode != eol_mode))
|
||||
{
|
||||
static WCHAR tchEOL[16] = { L'\0' };
|
||||
if (_eol_mode == SC_EOL_LF)
|
||||
if (eol_mode == SC_EOL_LF)
|
||||
{
|
||||
StringCchPrintf(tchStatusBar[STATUS_EOLMODE], txtWidth, (Globals.bDocHasInconsistentEOLs ? _LFi_f : _LF_f),
|
||||
s_mxSBPrefix[STATUS_EOLMODE], s_mxSBPostfix[STATUS_EOLMODE]);
|
||||
}
|
||||
else if (_eol_mode == SC_EOL_CR)
|
||||
else if (eol_mode == SC_EOL_CR)
|
||||
{
|
||||
StringCchPrintf(tchStatusBar[STATUS_EOLMODE], txtWidth, (Globals.bDocHasInconsistentEOLs ? _CRi_f : _CR_f),
|
||||
s_mxSBPrefix[STATUS_EOLMODE], s_mxSBPostfix[STATUS_EOLMODE]);
|
||||
@ -8651,7 +8678,7 @@ static void _UpdateStatusbarDelayed(bool bForceRedraw)
|
||||
StringCchPrintf(tchStatusBar[STATUS_EOLMODE], txtWidth, (Globals.bDocHasInconsistentEOLs ? _CRLFi_f : _CRLF_f),
|
||||
s_mxSBPrefix[STATUS_EOLMODE], s_mxSBPostfix[STATUS_EOLMODE]);
|
||||
}
|
||||
s_iEOLMode = _eol_mode;
|
||||
s_iEOLMode = eol_mode;
|
||||
bIsUpdateNeeded = true;
|
||||
}
|
||||
}
|
||||
|
||||
@ -539,8 +539,6 @@ DeclareSciCallR0(IsSelectionRectangle, SELECTIONISRECTANGLE, bool)
|
||||
|
||||
#define Sci_HaveUndoRedoHistory() (SciCall_CanUndo() || SciCall_CanRedo())
|
||||
|
||||
#define Sci_GetEOLLen() ((SciCall_GetEOLMode() == SC_EOL_CRLF) ? 2 : 1)
|
||||
|
||||
#define Sci_GetCurrentLineNumber() SciCall_LineFromPosition(SciCall_GetCurrentPos())
|
||||
#define Sci_GetLastDocLineNumber() (SciCall_GetLineCount() - 1)
|
||||
|
||||
@ -569,6 +567,46 @@ inline DocPos Sci_GetRangeMaxLineLength(DocLn iBeginLine, DocLn iEndLine) {
|
||||
|
||||
#define Sci_DisableMouseDWellNotification() SciCall_SetMouseDWellTime(SC_TIME_FOREVER)
|
||||
|
||||
// ----------------------------------------------------------------------------
|
||||
|
||||
#define Sci_GetEOLLen() ((SciCall_GetEOLMode() == SC_EOL_CRLF) ? 2 : 1)
|
||||
|
||||
|
||||
inline int Sci_GetCurrentEOL_A(LPCH eol) {
|
||||
switch (SciCall_GetEOLMode()) {
|
||||
case SC_EOL_CRLF:
|
||||
eol[0] = '\r'; eol[1] = '\n'; eol[2] = '\0';
|
||||
return 2;
|
||||
case SC_EOL_CR:
|
||||
eol[0] = '\r'; eol[1] = '\0';
|
||||
return 1;
|
||||
case SC_EOL_LF:
|
||||
eol[0] = '\n'; eol[1] = '\0';
|
||||
return 1;
|
||||
default:
|
||||
return 0;
|
||||
}
|
||||
}
|
||||
// ----------------------------------------------------------------------------
|
||||
|
||||
inline int Sci_GetCurrentEOL_W(LPWCH eol) {
|
||||
switch (SciCall_GetEOLMode()) {
|
||||
case SC_EOL_CRLF:
|
||||
eol[0] = L'\r'; eol[1] = L'\n'; eol[2] = L'\0';
|
||||
return 2;
|
||||
case SC_EOL_CR:
|
||||
eol[0] = L'\r'; eol[1] = L'\0';
|
||||
return 1;
|
||||
case SC_EOL_LF:
|
||||
eol[0] = L'\n'; eol[1] = L'\0';
|
||||
return 1;
|
||||
default:
|
||||
return 0;
|
||||
}
|
||||
}
|
||||
// ----------------------------------------------------------------------------
|
||||
|
||||
|
||||
//=============================================================================
|
||||
|
||||
#endif //_NP3_SCICALL_H_
|
||||
|
||||
@ -6,7 +6,7 @@ KEYWORDLIST KeyWords_COFFEESCRIPT = EMPTY_KEYWORDLIST;
|
||||
|
||||
|
||||
EDITLEXER lexCOFFEESCRIPT = {
|
||||
SCLEX_COFFEESCRIPT, IDS_LEX_COFFEE_SCR, L"Coffeescript", L"coffee; Cakefile", L"",
|
||||
SCLEX_COFFEESCRIPT, IDS_LEX_COFFEE_SCR, L"Coffeescript", L"coffee; cakefile", L"",
|
||||
&KeyWords_COFFEESCRIPT, {
|
||||
{ {STYLE_DEFAULT}, IDS_LEX_STR_63126, L"Default", L"", L"" },
|
||||
//{ {SCE_COFFEESCRIPT_DEFAULT}, IDS_LEX_STR_63126, L"Default", L"", L"" },
|
||||
|
||||
@ -116,7 +116,7 @@ KEYWORDLIST KeyWords_CONF = {
|
||||
|
||||
|
||||
EDITLEXER lexCONF = {
|
||||
SCLEX_CONF, IDS_LEX_APC_CFG, L"Apache Config Files", L"conf; cfg; cnf; htaccess; properties; prefs; iface; prop; po; te", L"",
|
||||
SCLEX_CONF, IDS_LEX_APC_CFG, L"Apache Config Files", L"conf; cfg; cnf; htaccess; prefs; iface; prop; po; te", L"",
|
||||
&KeyWords_CONF, {
|
||||
{ {STYLE_DEFAULT}, IDS_LEX_STR_63126, L"Default", L"", L"" },
|
||||
//{ {SCE_CONF_DEFAULT}, IDS_LEX_STR_63126, L"Default", L"", L"" },
|
||||
|
||||
@ -40,7 +40,7 @@ KEYWORDLIST KeyWords_CPP = {
|
||||
};
|
||||
|
||||
EDITLEXER lexCPP = {
|
||||
SCLEX_CPP, IDS_LEX_CPP_SRC, L"C/C++ Source Code", L"c; cpp; cxx; cc; h; hpp; hxx; hh; m; mm; idl; midl; inl; odl; xpm", L"",
|
||||
SCLEX_CPP, IDS_LEX_CPP_SRC, L"C/C++ Source Code", L"c; cpp; cxx; cc; h; hpp; hxx; hh; mm; idl; midl; inl; odl; xpm; pch", L"",
|
||||
&KeyWords_CPP, {
|
||||
{ {STYLE_DEFAULT}, IDS_LEX_STR_63126, L"Default", L"", L"" },
|
||||
//{ {SCE_C_DEFAULT}, IDS_LEX_STR_63126, L"Default", L"", L"" },
|
||||
|
||||
@ -60,7 +60,7 @@ KEYWORDLIST KeyWords_HTML = {
|
||||
|
||||
|
||||
EDITLEXER lexHTML = {
|
||||
SCLEX_HTML, IDS_LEX_WEB_SRC, L"Web Source Code", L"html; htm; asp; aspx; shtml; htd; xhtml; php; php3; phtml; htt; cfm; tpl; dtd; hta; htc", L"",
|
||||
SCLEX_HTML, IDS_LEX_WEB_SRC, L"Web Source Code", L"html; htm; asp; aspx; shtml; htd; xhtml; php; php3; phtml; htt; cfm; tpl; dtd; hta; htc; jsp; mht; jd", L"",
|
||||
&KeyWords_HTML, {
|
||||
{ {STYLE_DEFAULT}, IDS_LEX_STR_63126, L"Default", L"", L"" },
|
||||
{ {MULTI_STYLE(SCE_H_TAG,SCE_H_TAGEND,0,0)}, IDS_LEX_STR_63136, L"HTML Tag", L"fore:#648000", L"" },
|
||||
|
||||
@ -12,7 +12,7 @@ KEYWORDLIST KeyWords_JS = {
|
||||
|
||||
|
||||
EDITLEXER lexJS = {
|
||||
SCLEX_CPP, IDS_LEX_J_SCR, L"JavaScript", L"js; jse; jsm; as", L"",
|
||||
SCLEX_CPP, IDS_LEX_J_SCR, L"JavaScript", L"js; jse; jsm; as; mjs; qs", L"",
|
||||
&KeyWords_JS, {
|
||||
{ {STYLE_DEFAULT}, IDS_LEX_STR_63126, L"Default", L"", L"" },
|
||||
//{ {SCE_C_DEFAULT}, IDS_LEX_STR_63126, L"Default", L"", L"" },
|
||||
|
||||
@ -9,7 +9,7 @@ KEYWORDLIST KeyWords_JSON = {
|
||||
|
||||
|
||||
EDITLEXER lexJSON = {
|
||||
SCLEX_JSON, IDS_LEX_JSON, L"JSON", L"json; eslintrc; jshintrc; jsonld", L"",
|
||||
SCLEX_JSON, IDS_LEX_JSON, L"JSON", L"json; eslintrc; jshintrc; jsonld; har; ipynb; wxcp; arcconfig", L"",
|
||||
&KeyWords_JSON, {
|
||||
{ {STYLE_DEFAULT}, IDS_LEX_STR_63126, L"Default", L"", L"" },
|
||||
//{ {SCE_C_DEFAULT}, IDS_LEX_STR_63126, L"Default", L"", L"" },
|
||||
|
||||
@ -32,7 +32,7 @@ KEYWORDLIST KeyWords_LUA = {
|
||||
|
||||
|
||||
EDITLEXER lexLUA = {
|
||||
SCLEX_LUA, IDS_LEX_LUA, L"Lua Script", L"lua", L"",
|
||||
SCLEX_LUA, IDS_LEX_LUA, L"Lua Script", L"lua; wlua; nse; luadoc; luax", L"",
|
||||
&KeyWords_LUA, {
|
||||
{ {STYLE_DEFAULT}, IDS_LEX_STR_63126, L"Default", L"", L"" },
|
||||
//{ {SCE_LUA_DEFAULT}, IDS_LEX_STR_63126, L"Default", L"", L"" },
|
||||
|
||||
@ -5,7 +5,7 @@
|
||||
KEYWORDLIST KeyWords_MAK = EMPTY_KEYWORDLIST;
|
||||
|
||||
EDITLEXER lexMAK = {
|
||||
SCLEX_MAKEFILE, IDS_LEX_MAKEFILES, L"Makefiles", L"mak; make; mk; dsp; msc; msvc; am; pro; pri; gmk; ninja", L"",
|
||||
SCLEX_MAKEFILE, IDS_LEX_MAKEFILES, L"Makefiles", L"mak; make; mk; dsp; msc; msvc; am; pro; pri; gmk; ninja; dsw", L"",
|
||||
&KeyWords_MAK, {
|
||||
{ {STYLE_DEFAULT}, IDS_LEX_STR_63126, L"Default", L"", L"" },
|
||||
//{ {SCE_MAKE_DEFAULT}, IDS_LEX_STR_63126, L"Default", L"", L"" },
|
||||
|
||||
@ -13,7 +13,7 @@ KEYWORDLIST KeyWords_PAS = {
|
||||
|
||||
|
||||
EDITLEXER lexPAS = {
|
||||
SCLEX_PASCAL, IDS_LEX_PASCAL_SRC, L"Pascal Source Code", L"pas; dpr; dpk; dfm; inc; pp", L"",
|
||||
SCLEX_PASCAL, IDS_LEX_PASCAL_SRC, L"Pascal Source Code", L"pas; dpr; dpk; dfm; pp; lfm; lpr; fpd", L"",
|
||||
&KeyWords_PAS, {
|
||||
{ {STYLE_DEFAULT}, IDS_LEX_STR_63126, L"Default", L"", L"" },
|
||||
//{ {SCE_PAS_DEFAULT}, IDS_LEX_STR_63126, L"Default", L"", L"" },
|
||||
|
||||
@ -27,7 +27,7 @@ KEYWORDLIST KeyWords_PL = {
|
||||
|
||||
|
||||
EDITLEXER lexPL = {
|
||||
SCLEX_PERL, IDS_LEX_PERL_SCR, L"Perl Script", L"pl; pm; cgi; pod", L"",
|
||||
SCLEX_PERL, IDS_LEX_PERL_SCR, L"Perl Script", L"pl; pm; cgi; pod; plx; stp", L"",
|
||||
&KeyWords_PL, {
|
||||
{ {STYLE_DEFAULT}, IDS_LEX_STR_63126, L"Default", L"", L"" },
|
||||
//{ {SCE_PL_DEFAULT}, IDS_LEX_STR_63126, L"Default", L"", L"" },
|
||||
|
||||
@ -59,7 +59,7 @@ KEYWORDLIST KeyWords_PS = {
|
||||
|
||||
|
||||
EDITLEXER lexPS = {
|
||||
SCLEX_POWERSHELL, IDS_LEX_PWRSHELL, L"PowerShell Script", L"ps1; psd1; psm1", L"",
|
||||
SCLEX_POWERSHELL, IDS_LEX_PWRSHELL, L"PowerShell Script", L"ps1; psd1; psm1; psc1", L"",
|
||||
&KeyWords_PS, {
|
||||
{ {STYLE_DEFAULT}, IDS_LEX_STR_63126, L"Default", L"", L"" },
|
||||
//{ {SCE_POWERSHELL_DEFAULT}, IDS_LEX_STR_63126, L"Default", L"", L"" },
|
||||
|
||||
@ -10,7 +10,7 @@ KEYWORDLIST KeyWords_PY = {
|
||||
|
||||
|
||||
EDITLEXER lexPY = {
|
||||
SCLEX_PYTHON, IDS_LEX_PYTHON, L"Python Script", L"py; pyw", L"",
|
||||
SCLEX_PYTHON, IDS_LEX_PYTHON, L"Python Script", L"py; pyw; pyx; pxd; pxi; boo; empy; cobra; gs", L"",
|
||||
&KeyWords_PY, {
|
||||
{ {STYLE_DEFAULT}, IDS_LEX_STR_63126, L"Default", L"", L"" },
|
||||
//{ {SCE_P_DEFAULT}, IDS_LEX_STR_63126, L"Default", L"", L"" },
|
||||
|
||||
@ -79,7 +79,7 @@ KEYWORDLIST KeyWords_R = {
|
||||
|
||||
|
||||
EDITLEXER lexR = {
|
||||
SCLEX_R, IDS_LEX_R_STAT, L"R-S-SPlus Statistics Code", L"R", L"",
|
||||
SCLEX_R, IDS_LEX_R_STAT, L"R-S-SPlus Statistics Code", L"r, rdata, rds, rda", L"",
|
||||
&KeyWords_R,{
|
||||
{ {STYLE_DEFAULT}, IDS_LEX_STR_63126, L"Default", L"", L"" },
|
||||
//{ {SCE_R_DEFAULT}, IDS_LEX_STR_63126, L"Default", L"", L"" },
|
||||
|
||||
@ -9,7 +9,7 @@ KEYWORDLIST KeyWords_RUBY = {
|
||||
"", "", "", "", "", "", "", "" };
|
||||
|
||||
EDITLEXER lexRUBY = {
|
||||
SCLEX_RUBY, IDS_LEX_RUBY, L"Ruby Script", L"rb; ruby; rbw; rake; rjs; Rakefile; gemspec", L"",
|
||||
SCLEX_RUBY, IDS_LEX_RUBY, L"Ruby Script", L"rb; ruby; rbw; rake; rjs; rakefile; gemspec; podspec", L"",
|
||||
&KeyWords_RUBY, {
|
||||
{ {STYLE_DEFAULT}, IDS_LEX_STR_63126, L"Default", L"", L"" },
|
||||
//{ {SCE_RB_DEFAULT}, IDS_LEX_STR_63126, L"Default", L"", L"" },
|
||||
|
||||
@ -51,7 +51,7 @@ SCLEX_NULL, IDS_LEX_STR_63266, L"2nd Common Base", L"", L"",
|
||||
|
||||
|
||||
EDITLEXER lexTEXT = {
|
||||
SCLEX_NULL, IDS_LEX_TEXT_FILES, L"Text Files", L"txt; text; tmp; log; asc; doc; wtx", L"",
|
||||
SCLEX_NULL, IDS_LEX_TEXT_FILES, L"Text Files", L"txt; text; tmp; log; asc; doc; wtx; csv", L"",
|
||||
&KeyWords_NULL,{
|
||||
{ {STYLE_DEFAULT}, IDS_LEX_STR_63126, L"Default", L"", L"" },
|
||||
{ {STYLE_LINENUMBER}, IDS_LEX_STD_MARGIN, L"Margins and Line Numbers", L"font:Lucida Console; size:-2", L"" },
|
||||
@ -71,7 +71,7 @@ SCLEX_NULL, IDS_LEX_ANSI_ART, L"ANSI Art", L"nfo; diz", L"",
|
||||
|
||||
|
||||
EDITLEXER lexLATEX = {
|
||||
SCLEX_LATEX, IDS_LEX_LATEX, L"LaTeX Files", L"tex; latex; sty", L"",
|
||||
SCLEX_LATEX, IDS_LEX_LATEX, L"LaTeX Files", L"tex; latex; sty; texi; texinfo; txi", L"",
|
||||
&KeyWords_NULL, {
|
||||
{ {STYLE_DEFAULT}, IDS_LEX_STR_63126, L"Default", L"", L"" },
|
||||
//{ {SCE_L_DEFAULT}, IDS_LEX_STR_63126, L"Default", L"", L"" },
|
||||
|
||||
@ -33,7 +33,7 @@ KEYWORDLIST KeyWords_TCL = {
|
||||
|
||||
|
||||
EDITLEXER lexTCL = {
|
||||
SCLEX_TCL, IDS_LEX_TCL, L"Tcl Script", L"tcl; itcl", L"",
|
||||
SCLEX_TCL, IDS_LEX_TCL, L"Tcl Script", L"tcl; itcl; tm", L"",
|
||||
&KeyWords_TCL, {
|
||||
{ {STYLE_DEFAULT}, IDS_LEX_STR_63126, L"Default", L"", L"" },
|
||||
//{ {SCE_TCL_DEFAULT}, IDS_LEX_STR_63126, L"Default", L"", L"" },
|
||||
|
||||
@ -6,7 +6,7 @@ KEYWORDLIST KeyWords_XML = EMPTY_KEYWORDLIST;
|
||||
|
||||
|
||||
EDITLEXER lexXML = {
|
||||
SCLEX_XML, IDS_LEX_XML_DOC, L"XML Document", L"xml; xsl; rss; svg; xul; xsd; xslt; axl; rdf; xaml; vcproj", L"",
|
||||
SCLEX_XML, IDS_LEX_XML_DOC, L"XML Document", L"xml; xsl; rss; svg; xul; xsd; xslt; axl; rdf; xaml; vcproj; ffs_gui; nzb; resx; plist; xrc; fbp", L"",
|
||||
&KeyWords_XML, {
|
||||
{ {STYLE_DEFAULT}, IDS_LEX_STR_63126, L"Default", L"", L"" },
|
||||
{ {MULTI_STYLE(SCE_H_TAG,SCE_H_TAGUNKNOWN,SCE_H_TAGEND,0)}, IDS_LEX_STR_63187, L"XML Tag", L"fore:#881280", L"" },
|
||||
|
||||
@ -502,6 +502,7 @@ typedef struct _settings2_t
|
||||
|
||||
WCHAR FileBrowserPath[MAX_PATH];
|
||||
WCHAR AppUserModelID[32];
|
||||
WCHAR AutoCompleteFillUpChars[64];
|
||||
WCHAR ExtendedWhiteSpaceChars[ANSI_CHAR_BUFFER + 1];
|
||||
WCHAR AutoCompleteWordCharSet[ANSI_CHAR_BUFFER + 1];
|
||||
WCHAR TimeStamp[128];
|
||||
|
||||
@ -66,10 +66,16 @@
|
||||
// Compiler specific
|
||||
|
||||
#if defined(_MSC_VER)
|
||||
#if (_MSC_VER >= 1920)
|
||||
#if(_MSC_FULL_VER >= 192127702)
|
||||
#if (_MSC_VER >= 1922)
|
||||
#if(_MSC_FULL_VER >= 192227905)
|
||||
#define VER_CPL MS Visual C++ 2019 v16.2.0
|
||||
#endif
|
||||
#elif (_MSC_VER >= 1921)
|
||||
#if(_MSC_FULL_VER >= 192127702)
|
||||
#define VER_CPL MS Visual C++ 2019 v16.1.(0-6)
|
||||
#elif(_MSC_FULL_VER >= 192027508)
|
||||
#endif
|
||||
#elif (_MSC_VER >= 1920)
|
||||
#if(_MSC_FULL_VER >= 192027508)
|
||||
#define VER_CPL MS Visual C++ 2019 v16.0.(0-4)
|
||||
#elif(_MSC_FULL_VER >= 192027027)
|
||||
#define VER_CPL MS Visual C++ 2019 v16.0.Prev(1-4)
|
||||
|
||||
@ -7,8 +7,8 @@
|
||||
#define SAPPNAME "Notepad3"
|
||||
#define VERSION_MAJOR 5
|
||||
#define VERSION_MINOR 19
|
||||
#define VERSION_REV 723
|
||||
#define VERSION_BUILD 2404
|
||||
#define VERSION_REV 725
|
||||
#define VERSION_BUILD 2406
|
||||
#define SCINTILLA_VER 420
|
||||
#define ONIGURUMA_REGEX_VER 6.9.3
|
||||
#define VERSION_PATCH BETA
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user