diff options
author | Oliver Schneider <oliver@assarbad.net> | 2017-01-10 00:46:40 +0300 |
---|---|---|
committer | Oliver Schneider <oliver@assarbad.net> | 2017-01-10 00:46:40 +0300 |
commit | 7ec44caad3fdc9fa92312e82b3d2a7200615a39a (patch) | |
tree | c6012b7a93df84af05a7362ebc6e1eb646c19b07 | |
parent | c40cbf3095e4c769d80c6837476a7b0fb452fbf0 (diff) |
All source files now with LF line endings again
Updated the logo files a bit, renamed some others
103 files changed, 5422 insertions, 5492 deletions
diff --git a/3rdparty/lua/src/buildvm.vs8.vcproj b/3rdparty/lua/src/buildvm.vs8.vcproj index 5b837f2..7b07698 100644 --- a/3rdparty/lua/src/buildvm.vs8.vcproj +++ b/3rdparty/lua/src/buildvm.vs8.vcproj @@ -8,193 +8,10 @@ Keyword="Win32Proj"
>
<Platforms>
- <Platform
- Name="Win32"
- />
- <Platform
- Name="x64"
- />
</Platforms>
<ToolFiles>
</ToolFiles>
<Configurations>
- <Configuration
- Name="Release|Win32"
- OutputDirectory="."
- IntermediateDirectory="..\..\..\intermediate\vs2005_$(PlatformName)_$(ConfigurationName)\$(ProjectName)"
- ConfigurationType="1"
- CharacterSet="2"
- >
- <Tool
- Name="VCPreBuildEventTool"
- CommandLine="if not exist "..\..\..\intermediate\vs2005_$(PlatformName)" md "..\..\..\intermediate\vs2005_$(PlatformName)"
minilua ..\dynasm\dynasm.lua -LN -D WIN -D JIT -D FFI -o "..\..\..\intermediate\vs2005_$(PlatformName)\buildvm_arch.h" vm_x86.dasc"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- />
- <Tool
- Name="VCCLCompilerTool"
- Optimization="3"
- AdditionalIncludeDirectories="$(ProjectDir);$(ProjectDir)..\dynasm;..\..\..\intermediate\vs2005_$(PlatformName)"
- PreprocessorDefinitions="NDEBUG;_CRT_SECURE_NO_DEPRECATE"
- StringPooling="true"
- RuntimeLibrary="0"
- EnableFunctionLevelLinking="true"
- UsePrecompiledHeader="0"
- WarningLevel="3"
- Detect64BitPortabilityProblems="true"
- ProgramDataBaseFileName="$(OutDir)\buildvm32.pdb"
- DebugInformationFormat="0"
- CompileAs="1"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- PreprocessorDefinitions="NDEBUG;_CRT_SECURE_NO_DEPRECATE"
- AdditionalIncludeDirectories="$(ProjectDir);$(ProjectDir)..\dynasm;..\..\..\intermediate\vs2005_$(PlatformName)"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies=""
- OutputFile="$(OutDir)\buildvm32.exe"
- LinkIncremental="1"
- AdditionalLibraryDirectories="$(IntDir)"
- GenerateManifest="false"
- GenerateDebugInformation="false"
- SubSystem="1"
- OptimizeReferences="2"
- EnableCOMDATFolding="2"
- EntryPointSymbol="mainCRTStartup"
- TargetMachine="1"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCWebDeploymentTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- <Configuration
- Name="Release|x64"
- OutputDirectory="."
- IntermediateDirectory="..\..\..\intermediate\vs2005_$(PlatformName)_$(ConfigurationName)\$(ProjectName)"
- ConfigurationType="1"
- CharacterSet="2"
- >
- <Tool
- Name="VCPreBuildEventTool"
- CommandLine="if not exist "..\..\..\intermediate\vs2005_$(PlatformName)" md "..\..\..\intermediate\vs2005_$(PlatformName)"
minilua ..\dynasm\dynasm.lua -LN -D WIN -D JIT -D FFI -D P64 -o "..\..\..\intermediate\vs2005_$(PlatformName)\buildvm_arch.h" vm_x86.dasc"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- TargetEnvironment="3"
- />
- <Tool
- Name="VCCLCompilerTool"
- Optimization="3"
- AdditionalIncludeDirectories="$(ProjectDir);$(ProjectDir)..\dynasm;..\..\..\intermediate\vs2005_$(PlatformName)"
- PreprocessorDefinitions="NDEBUG;_CRT_SECURE_NO_DEPRECATE"
- StringPooling="true"
- RuntimeLibrary="0"
- EnableFunctionLevelLinking="true"
- UsePrecompiledHeader="0"
- WarningLevel="3"
- Detect64BitPortabilityProblems="true"
- ProgramDataBaseFileName="$(OutDir)\buildvm64.pdb"
- DebugInformationFormat="0"
- CompileAs="1"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- PreprocessorDefinitions="NDEBUG;_CRT_SECURE_NO_DEPRECATE"
- AdditionalIncludeDirectories="$(ProjectDir);$(ProjectDir)..\dynasm;..\..\..\intermediate\vs2005_$(PlatformName)"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies=""
- OutputFile="$(OutDir)\buildvm64.exe"
- LinkIncremental="1"
- AdditionalLibraryDirectories="$(IntDir)"
- GenerateManifest="false"
- GenerateDebugInformation="false"
- SubSystem="1"
- OptimizeReferences="2"
- EnableCOMDATFolding="2"
- EntryPointSymbol="mainCRTStartup"
- TargetMachine="17"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCWebDeploymentTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
</Configurations>
<References>
</References>
diff --git a/3rdparty/lua/src/luajit2.vs8.vcproj b/3rdparty/lua/src/luajit2.vs8.vcproj index 3282bf0..a01da1d 100644 --- a/3rdparty/lua/src/luajit2.vs8.vcproj +++ b/3rdparty/lua/src/luajit2.vs8.vcproj @@ -8,179 +8,10 @@ Keyword="Win32Proj"
>
<Platforms>
- <Platform
- Name="Win32"
- />
- <Platform
- Name="x64"
- />
</Platforms>
<ToolFiles>
</ToolFiles>
<Configurations>
- <Configuration
- Name="Release|Win32"
- OutputDirectory="..\..\..\..\..\build"
- IntermediateDirectory="..\..\..\intermediate\vs2005_$(PlatformName)_$(ConfigurationName)\$(ProjectName)"
- ConfigurationType="4"
- CharacterSet="2"
- >
- <Tool
- Name="VCPreBuildEventTool"
- CommandLine="if not exist "..\..\..\intermediate\vs2005_$(PlatformName)" md "..\..\..\intermediate\vs2005_$(PlatformName)"
buildvm32 -m peobj -o "$(IntDir)\lj_vm32.obj"
buildvm32 -m bcdef -o "..\..\..\intermediate\vs2005_$(PlatformName)\lj_bcdef.h" lib_base.c lib_math.c lib_bit.c lib_string.c lib_table.c lib_io.c lib_os.c lib_package.c lib_debug.c lib_jit.c lib_ffi.c
buildvm32 -m ffdef -o "..\..\..\intermediate\vs2005_$(PlatformName)\lj_ffdef.h" lib_base.c lib_math.c lib_bit.c lib_string.c lib_table.c lib_io.c lib_os.c lib_package.c lib_debug.c lib_jit.c lib_ffi.c
buildvm32 -m libdef -o "..\..\..\intermediate\vs2005_$(PlatformName)\lj_libdef.h" lib_base.c lib_math.c lib_bit.c lib_string.c lib_table.c lib_io.c lib_os.c lib_package.c lib_debug.c lib_jit.c lib_ffi.c
buildvm32 -m recdef -o "..\..\..\intermediate\vs2005_$(PlatformName)\lj_recdef.h" lib_base.c lib_math.c lib_bit.c lib_string.c lib_table.c lib_io.c lib_os.c lib_package.c lib_debug.c lib_jit.c lib_ffi.c
buildvm32 -m folddef -o "..\..\..\intermediate\vs2005_$(PlatformName)\lj_folddef.h" lj_opt_fold.c"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- />
- <Tool
- Name="VCCLCompilerTool"
- Optimization="3"
- AdditionalIncludeDirectories="$(ProjectDir);$(ProjectDir)..\dynasm;..\..\..\intermediate\vs2005_$(PlatformName)"
- PreprocessorDefinitions="NDEBUG;_CRT_SECURE_NO_DEPRECATE"
- StringPooling="true"
- RuntimeLibrary="0"
- EnableFunctionLevelLinking="true"
- UsePrecompiledHeader="0"
- WarningLevel="3"
- Detect64BitPortabilityProblems="false"
- ProgramDataBaseFileName="$(OutDir)\luajit2_$(PlatformName).pdb"
- DebugInformationFormat="0"
- CompileAs="1"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- PreprocessorDefinitions="NDEBUG;_CRT_SECURE_NO_DEPRECATE"
- AdditionalIncludeDirectories="$(ProjectDir);$(ProjectDir)..\dynasm;..\..\..\intermediate\vs2005_$(PlatformName)"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLibrarianTool"
- AdditionalDependencies=""
- OutputFile="$(OutDir)\luajit2_$(PlatformName).lib"
- AdditionalLibraryDirectories="$(IntDir)"
- AdditionalOptions="/MACHINE:X86 /nodefaultlib "$(IntDir)\lj_vm32.obj""
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCWebDeploymentTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- <Configuration
- Name="Release|x64"
- OutputDirectory="..\..\..\..\..\build"
- IntermediateDirectory="..\..\..\intermediate\vs2005_$(PlatformName)_$(ConfigurationName)\$(ProjectName)"
- ConfigurationType="4"
- CharacterSet="2"
- >
- <Tool
- Name="VCPreBuildEventTool"
- CommandLine="if not exist "..\..\..\intermediate\vs2005_$(PlatformName)" md "..\..\..\intermediate\vs2005_$(PlatformName)"
buildvm64 -m peobj -o "$(IntDir)\lj_vm64.obj"
buildvm64 -m bcdef -o "..\..\..\intermediate\vs2005_$(PlatformName)\lj_bcdef.h" lib_base.c lib_math.c lib_bit.c lib_string.c lib_table.c lib_io.c lib_os.c lib_package.c lib_debug.c lib_jit.c lib_ffi.c
buildvm64 -m ffdef -o "..\..\..\intermediate\vs2005_$(PlatformName)\lj_ffdef.h" lib_base.c lib_math.c lib_bit.c lib_string.c lib_table.c lib_io.c lib_os.c lib_package.c lib_debug.c lib_jit.c lib_ffi.c
buildvm64 -m libdef -o "..\..\..\intermediate\vs2005_$(PlatformName)\lj_libdef.h" lib_base.c lib_math.c lib_bit.c lib_string.c lib_table.c lib_io.c lib_os.c lib_package.c lib_debug.c lib_jit.c lib_ffi.c
buildvm64 -m recdef -o "..\..\..\intermediate\vs2005_$(PlatformName)\lj_recdef.h" lib_base.c lib_math.c lib_bit.c lib_string.c lib_table.c lib_io.c lib_os.c lib_package.c lib_debug.c lib_jit.c lib_ffi.c
buildvm64 -m folddef -o "..\..\..\intermediate\vs2005_$(PlatformName)\lj_folddef.h" lj_opt_fold.c"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- TargetEnvironment="3"
- />
- <Tool
- Name="VCCLCompilerTool"
- Optimization="3"
- AdditionalIncludeDirectories="$(ProjectDir);$(ProjectDir)..\dynasm;..\..\..\intermediate\vs2005_$(PlatformName)"
- PreprocessorDefinitions="NDEBUG;_CRT_SECURE_NO_DEPRECATE"
- StringPooling="true"
- RuntimeLibrary="0"
- EnableFunctionLevelLinking="true"
- UsePrecompiledHeader="0"
- WarningLevel="3"
- Detect64BitPortabilityProblems="false"
- ProgramDataBaseFileName="$(OutDir)\luajit2_$(PlatformName).pdb"
- DebugInformationFormat="0"
- CompileAs="1"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- PreprocessorDefinitions="NDEBUG;_CRT_SECURE_NO_DEPRECATE"
- AdditionalIncludeDirectories="$(ProjectDir);$(ProjectDir)..\dynasm;..\..\..\intermediate\vs2005_$(PlatformName)"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLibrarianTool"
- AdditionalDependencies=""
- OutputFile="$(OutDir)\luajit2_$(PlatformName).lib"
- AdditionalLibraryDirectories="$(IntDir)"
- AdditionalOptions="/MACHINE:X64 /nodefaultlib "$(IntDir)\lj_vm64.obj""
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCWebDeploymentTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
</Configurations>
<References>
</References>
diff --git a/3rdparty/lua/src/minilua.vs8.vcproj b/3rdparty/lua/src/minilua.vs8.vcproj index f2f68fc..48de993 100644 --- a/3rdparty/lua/src/minilua.vs8.vcproj +++ b/3rdparty/lua/src/minilua.vs8.vcproj @@ -66,54 +66,3 @@ AdditionalOptions="/release"
OutputFile="$(OutDir)\minilua.exe"
LinkIncremental="1"
- AdditionalLibraryDirectories="$(IntDir)"
- GenerateManifest="false"
- GenerateDebugInformation="false"
- SubSystem="1"
- OptimizeReferences="2"
- EnableCOMDATFolding="2"
- EntryPointSymbol="mainCRTStartup"
- TargetMachine="1"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCWebDeploymentTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- </Configurations>
- <References>
- </References>
- <Files>
- <Filter
- Name="Source Files"
- Filter=""
- >
- <File
- RelativePath="host\minilua.c"
- >
- </File>
- </Filter>
- </Files>
- <Globals>
- </Globals>
-</VisualStudioProject>
diff --git a/common/LogoWinDirStat.svg b/common/LogoWinDirStat.svg index 9ba4a19..c78d048 100644 --- a/common/LogoWinDirStat.svg +++ b/common/LogoWinDirStat.svg @@ -10,11 +10,11 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" - width="765" - height="990" + width="816" + height="1056" id="svg2" version="1.1" - inkscape:version="0.48.0 r9654" + inkscape:version="0.92.0 r15299" sodipodi:docname="LogoWinDirStat.svg"> <title id="title4299">WinDirStat</title> @@ -33,24 +33,24 @@ </linearGradient> <inkscape:perspective sodipodi:type="inkscape:persp3d" - inkscape:vp_x="0 : 0.5 : 1" - inkscape:vp_y="0 : 1000 : 0" - inkscape:vp_z="1 : 0.5 : 1" - inkscape:persp3d-origin="0.5 : 0.33333333 : 1" + inkscape:vp_x="0 : 0.53333333 : 1" + inkscape:vp_y="0 : 1066.6667 : 0" + inkscape:vp_z="1.0666667 : 0.53333333 : 1" + inkscape:persp3d-origin="0.53333333 : 0.35555555 : 1" id="perspective8487" /> <inkscape:perspective id="perspective8502" - inkscape:persp3d-origin="372.04724 : 350.78739 : 1" - inkscape:vp_z="744.09448 : 526.18109 : 1" - inkscape:vp_y="0 : 1000 : 0" - inkscape:vp_x="0 : 526.18109 : 1" + inkscape:persp3d-origin="396.85039 : 374.17322 : 1" + inkscape:vp_z="793.70078 : 561.25983 : 1" + inkscape:vp_y="0 : 1066.6667 : 0" + inkscape:vp_x="0 : 561.25983 : 1" sodipodi:type="inkscape:persp3d" /> <radialGradient inkscape:collect="always" xlink:href="#linearGradient4494" id="radialGradient4287" gradientUnits="userSpaceOnUse" - gradientTransform="matrix(1.4841341,-0.00981819,0.00661529,0.99997812,-147.87792,2.947719)" + gradientTransform="matrix(0.32317785,-0.00213796,0.00144051,0.21775039,2069.681,942.33712)" cx="299.21332" cy="456.29883" fx="299.21332" @@ -61,7 +61,7 @@ xlink:href="#linearGradient4494" id="radialGradient4289" gradientUnits="userSpaceOnUse" - gradientTransform="matrix(1.4841341,-0.00981819,0.00661529,0.99997812,-147.87792,2.947719)" + gradientTransform="matrix(0.32317785,-0.00213796,0.00144051,0.21775039,2069.681,899.67046)" cx="299.21332" cy="456.29883" fx="299.21332" @@ -72,7 +72,7 @@ xlink:href="#linearGradient4494" id="radialGradient4291" gradientUnits="userSpaceOnUse" - gradientTransform="matrix(1.4841341,-0.00981819,0.00661529,0.99997812,-147.87792,2.947719)" + gradientTransform="matrix(0.32317785,-0.00213796,0.00144051,0.21775039,2069.681,857.00379)" cx="299.21332" cy="456.29883" fx="299.21332" @@ -83,7 +83,7 @@ xlink:href="#linearGradient4494" id="radialGradient4293" gradientUnits="userSpaceOnUse" - gradientTransform="matrix(1.4841341,-0.00981819,0.00661529,0.99997812,-147.87792,2.947719)" + gradientTransform="matrix(0.32317785,-0.00213796,0.00144051,0.21775039,1965.1476,942.33712)" cx="299.21332" cy="456.29883" fx="299.21332" @@ -94,7 +94,7 @@ xlink:href="#linearGradient4494" id="radialGradient4295" gradientUnits="userSpaceOnUse" - gradientTransform="matrix(1.4841341,-0.00981819,0.00661529,0.99997812,-147.87792,2.947719)" + gradientTransform="matrix(0.32317785,-0.00213796,0.00144051,0.21775039,1965.1476,899.67046)" cx="299.21332" cy="456.29883" fx="299.21332" @@ -105,7 +105,7 @@ xlink:href="#linearGradient4494" id="radialGradient4297" gradientUnits="userSpaceOnUse" - gradientTransform="matrix(1.4841341,-0.00981819,0.00661529,0.99997812,-147.87792,2.947719)" + gradientTransform="matrix(0.32317785,-0.00213796,0.00144051,0.21775039,1965.1476,857.00379)" cx="299.21332" cy="456.29883" fx="299.21332" @@ -127,8 +127,8 @@ showgrid="false" inkscape:object-paths="true" inkscape:window-width="1920" - inkscape:window-height="1116" - inkscape:window-x="1272" + inkscape:window-height="996" + inkscape:window-x="1912" inkscape:window-y="-8" inkscape:window-maximized="1" inkscape:snap-nodes="true" @@ -174,69 +174,69 @@ inkscape:label="Layer 1" inkscape:groupmode="layer" id="layer1" - transform="translate(0,-62.3622)"> + transform="translate(0,-66.51968)"> <rect - style="fill:#000000;fill-opacity:1;stroke:none" + style="fill:#000000;fill-opacity:1;stroke:none;stroke-width:1.06666672" id="rect4354" - width="706.12897" - height="173.39415" - x="33.306728" - y="254.01129" - rx="10.194269" - ry="10.194269" /> + width="753.20422" + height="184.95377" + x="35.527176" + y="270.94537" + rx="10.873887" + ry="10.873887" /> <rect - ry="10.194269" - rx="10.194269" - y="254.01129" - x="388.10983" - height="388.45221" - width="351.32596" + ry="10.873887" + rx="10.873887" + y="270.94537" + x="413.98383" + height="414.34903" + width="374.74768" id="rect4334" - style="fill:#000000;fill-opacity:1;stroke:none" /> + style="fill:#000000;fill-opacity:1;stroke:none;stroke-width:1.06666672" /> <g id="g4262" - transform="matrix(0.63714179,0,0,0.63714179,1372.1794,409.61237)"> + transform="matrix(0.63714179,0,0,0.63714179,1463.658,436.91986)"> <path - style="font-size:medium;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-indent:0;text-align:start;text-decoration:none;line-height:normal;letter-spacing:normal;word-spacing:normal;text-transform:none;direction:ltr;block-progression:tb;writing-mode:lr-tb;text-anchor:start;color:#000000;fill:#808080;fill-opacity:1;stroke:none;stroke-width:17.92433548;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate;font-family:Sans;-inkscape-font-specification:Sans" - d="m -1393.2331,-190.63807 c 0.3423,1.14833 0.5312,2.34912 0.5312,3.59375 l 0,4.6875 c 2.3554,-2.29251 5.5323,-3.75 9,-3.75 l 4.6875,0 c -4.534,-1.9522 -9.2931,-3.46444 -14.2187,-4.53125 z m -42.4375,2.6875 c -4.2797,1.51491 -8.3791,3.38864 -12.2813,5.59375 l 7.375,0 c 1.7209,0 3.3575,0.36488 4.875,1 l 0,-5.6875 c 0,-0.30464 0.01,-0.60619 0.031,-0.90625 z m 81.9687,19.34375 0,12.5 c 0,1.26043 -0.243,2.46368 -0.5937,3.625 l 12.5937,0 c -3.3042,-5.88603 -7.3396,-11.30521 -12,-16.125 z m -116.875,5.5 c -7.6411,9.53216 -13.1024,20.87055 -15.5937,33.28125 1.4208,-0.54663 2.9414,-0.84375 4.5312,-0.84375 l 12.0938,0 c 1.0577,-3.93941 2.4791,-7.72839 4.25,-11.3125 -3.179,-2.39258 -5.2813,-6.18098 -5.2813,-10.375 z m -12.4062,75.34375 c 8.5079,23.23657 27.7939,41.3235 51.75,48.21875 -2.3837,-6.33058 -3.749,-12.56206 -4.4063,-18.625 -12.886,-5.9197 -23.385,-16.09513 -29.6562,-28.78125 -0.3256,-0.24734 -0.6529,-0.49598 -0.9688,-0.75 l -15.375,0 c -0.4519,0 -0.9023,-0.0152 -1.3437,-0.0625 z" + style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:Sans;-inkscape-font-specification:Sans;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-anchor:start;display:inline;overflow:visible;visibility:visible;fill:#808080;fill-opacity:1;stroke:none;stroke-width:19.11929131;marker:none;enable-background:accumulate" + d="m -1486.1153,-203.34727 c 0.3651,1.22488 0.5666,2.50572 0.5666,3.83333 v 5 c 2.5124,-2.44535 5.9011,-4 9.6,-4 h 5 c -4.8363,-2.08235 -9.9126,-3.6954 -15.1666,-4.83333 z m -45.2667,2.86666 c -4.565,1.61591 -8.9377,3.61455 -13.1,5.96667 h 7.8666 c 1.8357,0 3.5814,0.3892 5.2,1.06667 v -6.06667 c 0,-0.32495 0.011,-0.6466 0.033,-0.96667 z m 87.4333,20.63334 v 13.33333 c 0,1.34446 -0.2592,2.62792 -0.6333,3.86667 h 13.4333 c -3.5245,-6.27844 -7.8289,-12.0589 -12.8,-17.2 z m -124.6667,5.86666 c -8.1505,10.16764 -13.9759,22.26192 -16.6332,35.5 1.5155,-0.58307 3.1375,-0.9 4.8332,-0.9 h 12.9001 c 1.1282,-4.20204 2.6444,-8.24361 4.5333,-12.06666 -3.3909,-2.55209 -5.6334,-6.59305 -5.6334,-11.06667 z m -13.2332,80.366669 c 9.0751,24.785674 29.6468,44.0784 55.2,51.433333 -2.5427,-6.752619 -3.999,-13.399531 -4.7001,-19.866667 -13.7451,-6.314346 -24.944,-17.168138 -31.6333,-30.7 -0.3473,-0.263829 -0.6964,-0.529045 -1.0334,-0.8 h -16.4 c -0.482,0 -0.9624,-0.01621 -1.4332,-0.06667 z" id="path4336" inkscape:connector-curvature="0" sodipodi:nodetypes="cscsccccscsccscccccsccsccccccsc" /> <path - style="font-size:medium;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-indent:0;text-align:start;text-decoration:none;line-height:normal;letter-spacing:normal;word-spacing:normal;text-transform:none;direction:ltr;block-progression:tb;writing-mode:lr-tb;text-anchor:start;color:#000000;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:4;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate;font-family:Sans;-inkscape-font-specification:Sans" - d="m -1422.7019,-192.04432 c -2.77,0 -5,2.23 -5,5 l 0,17 c 0,2.77 2.23,5 5,5 l 14.75,0 c 2.567,13.0025 1.4548,18.74517 -3.3437,32.53125 -3.5996,-4.44085 -8.5026,-7.44059 -14.1563,-9.65625 -4.8581,-1.90392 -9.0225,-4.66232 -10.625,-8.0625 0.3051,-0.64741 0.5,-1.35941 0.5,-2.125 l 0,-17 c 0,-2.77 -2.23,-5 -5,-5 l -17,0 c -2.77,0 -5,2.23 -5,5 l 0,17 c 0,2.77 2.23,5 5,5 l 17,0 c 1.3694,0 2.5988,-0.55168 3.5,-1.4375 0.9639,4.57203 4.6156,7.43407 10.625,10.4375 5.4262,2.71192 9.6827,9.1208 11.7813,15.34375 -1.0583,2.9807 -2.1703,6.14995 -3.4375,9.84375 -2.3758,7.0967 -5.3716,15.32246 -7.5,24.34375 -2.3897,-1.38275 -4.98,-2.34076 -7.6875,-2.84375 -1.1558,-0.7636 -2.0137,-1.47513 -2.625,-2.34375 -1.9109,-2.71506 -0.5862,-7.95009 -1.1875,-11.65625 l 6.625,0 c 2.77,0 5,-2.23 5,-5 l 0,-17 c 0,-2.77 -2.23,-5 -5,-5 l -16.9688,0 c -2.77,0 -5,2.23 -5,5 l 0,17 c 0,2.77 2.23,5 5,5 l 9.125,0 c -0.1596,3.89591 -3.0561,9.89293 -0.5625,13.4375 0.02,0.029 0.042,0.0646 0.062,0.0937 -0.1684,7.9e-4 -0.3311,-0.003 -0.5,0 -10.1504,0.20276 -15.8806,-1.37438 -21.75,-5.03125 0.8859,-0.90125 1.4375,-2.16186 1.4375,-3.53125 l 0,-16.96875 c 0,-2.77 -2.23,-5 -5,-5 l -17,0 c -2.77,0 -5,2.23 -5,5 l 0,16.96875 c 0,2.77 2.23,5 5,5 l 17,0 c 0.3569,0 0.7272,-0.0234 1.0625,-0.0937 5.3325,5.13719 12.8354,9.02008 23.375,10.40625 6.6247,0.87126 10.5388,2.23543 13.0625,4.15625 -2.2058,13.52745 -1.7865,28.5411 5.625,44.15625 1.2607,0.19076 2.5017,0.43255 3.7813,0.5625 2.6347,0.26757 5.2946,0.40625 8,0.40625 2.7053,0 5.3965,-0.13868 8.0312,-0.40625 0.9631,-0.0978 3.8913,-0.58639 4.8438,-0.71875 -12.8126,-22.36915 -14.7558,-42.40018 -10.8125,-61.40625 1.436,-1.43244 3.1314,-2.50603 5.0937,-3.40625 4.6862,-2.14977 12.0361,-3.66301 17.5,-4.15625 10.7363,-0.82808 21.8505,-4.18712 24.2188,-12.65625 0.8954,0.84939 2.1314,1.375 3.4687,1.375 l 16.9688,0 c 2.77,0 5,-2.23 5,-5 l 0,-17 c 0,-2.77 -2.23,-5 -5,-5 l -16.9688,0 c -2.77,0 -5,2.23 -5,5 l 0,17 c 0,0.49661 0.085,0.95409 0.2188,1.40625 -1.2567,5.83061 -8.6424,7.24183 -15.375,7.75 2.1491,-2.363 3.2849,-4.6886 4.4687,-7.21875 2.3364,-4.99351 1.1987,-11.3854 0.6875,-14.34375 -1.2189,-3.92799 -2.0441,-10.34842 -1.125,-16.21875 l 6.8125,0 c 2.77,0 5,-2.23 5,-5 l 0,-17 c 0,-2.77 -2.23,-5 -5,-5 l -17,0 c -2.77,0 -5,2.23 -5,5 l 0,17 c 0,2.77 2.23,5 5,5 l 8.6563,0 c -1.9447,5.01593 -1.7214,10.83709 -0.6563,16.78125 0.448,2.59296 -0.1343,7.86912 -1.9062,11.65625 -1.6625,3.55324 -3.4854,5.89738 -11.375,10.0625 -4.8269,0.34662 -10.6821,0.79642 -15.6875,2.75 8.4114,-27.12848 4.0044,-44.94028 0.2812,-55.375 2.1193,-0.58032 3.6875,-2.50417 3.6875,-4.8125 l 0,-17 c 0,-2.77 -2.23,-5 -5,-5 l -17,0 z" + style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:Sans;-inkscape-font-specification:Sans;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-anchor:start;display:inline;overflow:visible;visibility:visible;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:4.26666689;marker:none;enable-background:accumulate" + d="m -1517.5487,-204.84727 c -2.9547,0 -5.3333,2.37866 -5.3333,5.33333 v 18.13333 c 0,2.95467 2.3786,5.33334 5.3333,5.33334 h 15.7333 c 2.7382,13.86933 1.5518,19.99484 -3.5666,34.7 -3.8395,-4.73691 -9.0694,-7.93663 -15.1,-10.3 -5.182,-2.03085 -9.624,-4.97315 -11.3334,-8.6 0.3255,-0.69058 0.5334,-1.45004 0.5334,-2.26667 v -18.13333 c 0,-2.95467 -2.3787,-5.33334 -5.3334,-5.33334 h -18.1333 c -2.9547,0 -5.3333,2.37867 -5.3333,5.33334 v 18.13333 c 0,2.95467 2.3786,5.33333 5.3333,5.33333 h 18.1333 c 1.4607,0 2.7721,-0.58846 3.7334,-1.53333 1.0281,4.87683 4.9233,7.92967 11.3333,11.13333 5.788,2.89272 10.3282,9.72886 12.5667,16.36667 -1.1288,3.17941 -2.315,6.55995 -3.6666,10.5 -2.5342,7.56981 -5.7297,16.34396 -8,25.966665 -2.5491,-1.474933 -5.312,-2.49681 -8.2,-3.033333 -1.2329,-0.814507 -2.148,-1.573472 -2.8,-2.500002 -2.0383,-2.89606 -0.6253,-8.48009 -1.2667,-12.43333 h 7.0667 c 2.9546,0 5.3333,-2.37867 5.3333,-5.33333 v -18.13334 c 0,-2.95466 -2.3787,-5.33333 -5.3333,-5.33333 h -18.1001 c -2.9547,0 -5.3333,2.37867 -5.3333,5.33333 v 18.13334 c 0,2.95466 2.3786,5.33333 5.3333,5.33333 h 9.7333 c -0.1702,4.15564 -3.2598,10.55246 -0.6,14.333332 0.021,0.03093 0.045,0.06891 0.066,0.09995 -0.1797,8.42e-4 -0.3532,-0.0032 -0.5334,0 -10.8271,0.216277 -16.9393,-1.466006 -23.2,-5.366672 0.945,-0.96133 1.5334,-2.30598 1.5334,-3.76666 v -18.1 c 0,-2.95467 -2.3787,-5.33334 -5.3334,-5.33334 h -18.1333 c -2.9547,0 -5.3333,2.37867 -5.3333,5.33334 v 18.1 c 0,2.95466 2.3786,5.33333 5.3333,5.33333 h 18.1333 c 0.3807,0 0.7757,-0.025 1.1334,-0.1 5.688,5.479674 13.6911,9.621424 24.9333,11.100005 7.0664,0.929344 11.2414,2.384459 13.9333,4.433333 -2.3528,14.42928 -1.9056,30.44384 6,47.1 1.3448,0.203478 2.6685,0.461387 4.0334,0.6 2.8104,0.285408 5.6476,0.433334 8.5334,0.433334 2.8856,0 5.7562,-0.147926 8.5666,-0.433334 1.0273,-0.10432 4.1507,-0.625482 5.1667,-0.766666 -13.6668,-23.860427 -15.7395,-45.226859 -11.5333,-65.500002 1.5317,-1.52794 3.3401,-2.6731 5.4332,-3.63333 4.9987,-2.29309 12.8385,-3.90722 18.6667,-4.43334 11.4521,-0.88328 23.3072,-4.46626 25.8334,-13.5 0.9551,0.90602 2.2735,1.46667 3.6999,1.46667 h 18.1001 c 2.9547,0 5.3333,-2.37867 5.3333,-5.33333 v -18.13334 c 0,-2.95466 -2.3786,-5.33333 -5.3333,-5.33333 h -18.1001 c -2.9546,0 -5.3333,2.37867 -5.3333,5.33333 v 18.13334 c 0,0.52971 0.091,1.01769 0.2334,1.5 -1.3405,6.21931 -9.2186,7.72461 -16.4,8.26666 2.2924,-2.52053 3.5039,-5.00117 4.7666,-7.7 2.4922,-5.32641 1.2786,-12.14442 0.7333,-15.3 -1.3001,-4.18985 -2.1803,-11.03831 -1.2,-17.3 h 7.2667 c 2.9547,0 5.3333,-2.37866 5.3333,-5.33333 v -18.13333 c 0,-2.95467 -2.3786,-5.33334 -5.3333,-5.33334 h -18.1333 c -2.9547,0 -5.3334,2.37867 -5.3334,5.33334 v 18.13333 c 0,2.95467 2.3787,5.33333 5.3334,5.33333 h 9.2334 c -2.0744,5.35033 -1.8362,11.55956 -0.7001,17.9 0.4779,2.76583 -0.1432,8.39373 -2.0333,12.43334 -1.7733,3.79012 -3.7177,6.29053 -12.1333,10.73333 -5.1487,0.36973 -11.3942,0.84951 -16.7333,2.93333 8.9721,-28.93704 4.2713,-47.9363 0.2999,-59.06666 2.2606,-0.61901 3.9333,-2.67112 3.9333,-5.13334 v -18.13333 c 0,-2.95467 -2.3786,-5.33333 -5.3333,-5.33333 h -18.1333 z" id="path4338" inkscape:connector-curvature="0" /> <text - sodipodi:linespacing="125%" id="text4340" - y="-47.759293" - x="-1400.252" - style="font-size:67.73003387px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;letter-spacing:0;word-spacing:0;writing-mode:lr-tb;text-anchor:start;fill:#ffffff;stroke:none;font-family:Arial Rounded MT Bold;-inkscape-font-specification:'Arial Rounded MT Bold,'" + y="-50.943245" + x="-1493.6021" + style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:72.24536896px;line-height:125%;font-family:'Arial Rounded MT Bold';-inkscape-font-specification:'Arial Rounded MT Bold,';text-align:start;letter-spacing:0;word-spacing:0;writing-mode:lr-tb;text-anchor:start;fill:#ffffff;stroke:none;stroke-width:1.06666672" xml:space="preserve" transform="scale(0.99591644,1.0041003)"><tspan - y="-47.759293" - x="-1400.252" + y="-50.943245" + x="-1493.6021" id="tspan4342" - sodipodi:role="line"><tspan - style="fill:#ffffff;stroke:none" + sodipodi:role="line" + style="stroke-width:1.06666672"><tspan + style="fill:#ffffff;stroke:none;stroke-width:1.06666672" id="tspan4344">W</tspan>in<tspan - style="fill:#ffffff;stroke:none" + style="fill:#ffffff;stroke:none;stroke-width:1.06666672" id="tspan4346">D</tspan>ir<tspan - style="fill:#ffffff;stroke:none" + style="fill:#ffffff;stroke:none;stroke-width:1.06666672" id="tspan4348">S</tspan>tat</tspan></text> </g> <g id="g3392"> <path - style="font-size:medium;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-indent:0;text-align:start;text-decoration:none;line-height:normal;letter-spacing:normal;word-spacing:normal;text-transform:none;direction:ltr;block-progression:tb;writing-mode:lr-tb;text-anchor:start;color:#000000;fill:#000000;fill-opacity:1;stroke:none;stroke-width:4;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate;font-family:Sans;-inkscape-font-specification:Sans" - d="m 115.83748,483.7476 c -1.76488,0 -3.18571,1.42082 -3.18571,3.18571 l 0,10.83141 c 0,1.76488 1.42083,3.18571 3.18571,3.18571 l 9.39784,0 c 1.63555,8.28443 0.92685,11.94333 -2.13041,20.72701 -2.29345,-2.82945 -5.41742,-4.74071 -9.01957,-6.1524 -3.09536,-1.21306 -5.74861,-2.97056 -6.76963,-5.13695 0.19433,-0.41249 0.31857,-0.86614 0.31857,-1.35393 l 0,-10.83141 c 0,-1.76488 -1.42083,-3.18571 -3.18571,-3.18571 l -10.83141,0 c -1.76488,0 -3.18571,1.42083 -3.18571,3.18571 l 0,10.83141 c 0,1.76488 1.42083,3.18571 3.18571,3.18571 l 10.83141,0 c 0.8725,0 1.65581,-0.3515 2.23,-0.91589 0.61414,2.91303 2.94079,4.73656 6.76963,6.65017 3.45719,1.72787 6.16919,5.81124 7.50636,9.77614 -0.67429,1.89913 -1.38279,3.91839 -2.19018,6.27187 -1.51378,4.5216 -3.42247,9.76258 -4.77856,15.51042 -1.52264,-0.88101 -3.17303,-1.4914 -4.89803,-1.81188 -0.73647,-0.48652 -1.28301,-0.93986 -1.67249,-1.4933 -1.21752,-1.72988 -0.3735,-5.06533 -0.75661,-7.42668 l 4.22106,0 c 1.76482,0 3.18571,-1.42083 3.18571,-3.18571 l 0,-10.83141 c 0,-1.76488 -1.42089,-3.18571 -3.18571,-3.18571 l -10.81153,0 c -1.76488,0 -3.18571,1.42083 -3.18571,3.18571 l 0,10.83141 c 0,1.76488 1.42083,3.18571 3.18571,3.18571 l 5.81392,0 c -0.10175,2.48225 -1.94717,6.3032 -0.35839,8.56159 0.0127,0.0185 0.0268,0.0412 0.0395,0.0597 -0.10729,5.1e-4 -0.21096,-0.002 -0.31857,0 -6.46724,0.12919 -10.11826,-0.87567 -13.85783,-3.20562 0.56438,-0.57422 0.91589,-1.37741 0.91589,-2.2499 l 0,-10.8115 c 0,-1.76489 -1.42083,-3.18571 -3.18571,-3.18571 l -10.831411,0 c -1.764883,0 -3.185709,1.42082 -3.185709,3.18571 l 0,10.8115 c 0,1.76488 1.420826,3.1857 3.185709,3.1857 l 10.831411,0 c 0.22733,0 0.46333,-0.0149 0.67696,-0.0597 3.39756,3.27312 8.17791,5.74707 14.89319,6.63026 4.22081,0.55512 6.71471,1.42429 8.32267,2.64812 -1.40547,8.61891 -1.13832,18.18473 3.58392,28.13379 0.80324,0.12154 1.59387,0.2756 2.40916,0.3584 1.67874,0.17048 3.37347,0.25883 5.09713,0.25883 1.72373,0 3.43834,-0.0883 5.11708,-0.25883 0.61363,-0.0623 2.47931,-0.37362 3.08612,-0.45795 -8.16338,-14.25232 -9.40153,-27.01493 -6.88909,-39.12449 0.91493,-0.91267 1.99521,-1.59669 3.24547,-2.17026 2.98571,-1.36971 7.66864,-2.33386 11.14998,-2.64812 6.84055,-0.52761 13.92181,-2.66779 15.43075,-8.06383 0.57056,0.54118 1.35807,0.87607 2.21012,0.87607 l 10.81146,0 c 1.76489,0 3.18571,-1.42082 3.18571,-3.18571 l 0,-10.83141 c 0,-1.76488 -1.42082,-3.18571 -3.18571,-3.18571 l -10.81146,0 c -1.76489,0 -3.18571,1.42083 -3.18571,3.18571 l 0,10.83141 c 0,0.31641 0.0541,0.60789 0.13934,0.89598 -0.80063,3.71493 -5.50637,4.61408 -9.79606,4.93785 1.36929,-1.50556 2.09302,-2.9873 2.84726,-4.59937 1.48856,-3.18157 0.76368,-7.25411 0.43804,-9.139 -0.77668,-2.50268 -1.30245,-6.59341 -0.71679,-10.33364 l 4.34053,0 c 1.76489,0 3.18571,-1.42083 3.18571,-3.18571 l 0,-10.83141 c 0,-1.76488 -1.42082,-3.18571 -3.18571,-3.18571 l -10.83141,0 c -1.76488,0 -3.18571,1.42083 -3.18571,3.18571 l 0,10.83141 c 0,1.76488 1.42083,3.18571 3.18571,3.18571 l 5.51523,0 c -1.23905,3.19586 -1.09678,6.90476 -0.41809,10.69203 0.28544,1.65209 -0.0856,5.01375 -1.21459,7.42669 -1.05918,2.26392 -2.22063,3.75747 -7.24748,6.41124 -3.07536,0.22084 -6.80595,0.50743 -9.99517,1.75214 5.35926,-17.28469 2.55137,-28.63333 0.17923,-35.28173 1.35023,-0.36974 2.34946,-1.59551 2.34946,-3.06624 l 0,-10.83141 c 0,-1.76489 -1.42082,-3.18571 -3.18571,-3.18571 l -10.83141,0 z" + style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:Sans;-inkscape-font-specification:Sans;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-anchor:start;display:inline;overflow:visible;visibility:visible;fill:#000000;fill-opacity:1;stroke:none;stroke-width:4.26666689;marker:none;enable-background:accumulate" + d="m 123.55998,515.99744 c -1.88254,0 -3.39809,1.51554 -3.39809,3.39809 v 11.5535 c 0,1.88254 1.51555,3.3981 3.39809,3.3981 h 10.02436 c 1.74459,8.83672 0.98864,12.73955 -2.27244,22.10881 -2.44634,-3.01808 -5.77858,-5.05676 -9.62087,-6.56256 -3.30172,-1.29393 -6.13185,-3.1686 -7.22094,-5.47942 0.20729,-0.43999 0.33981,-0.92388 0.33981,-1.44419 v -11.5535 c 0,-1.88254 -1.51555,-3.39809 -3.39809,-3.39809 H 99.858304 c -1.882539,0 -3.398091,1.51555 -3.398091,3.39809 v 11.5535 c 0,1.88254 1.515552,3.39809 3.398091,3.39809 h 11.553506 c 0.93066,0 1.7662,-0.37493 2.37866,-0.97695 0.65509,3.10723 3.13685,5.05233 7.22094,7.09352 3.68767,1.84306 6.58047,6.19865 8.00679,10.42788 -0.71925,2.02574 -1.47498,4.17962 -2.33619,6.68999 -1.6147,4.82304 -3.65064,10.41342 -5.09714,16.54445 -1.62414,-0.93974 -3.38456,-1.59082 -5.22456,-1.93267 -0.78557,-0.51895 -1.36854,-1.00252 -1.78399,-1.59285 -1.29869,-1.84521 -0.3984,-5.40302 -0.80705,-7.9218 h 4.50246 c 1.88248,0 3.39809,-1.51555 3.39809,-3.39809 v -11.5535 c 0,-1.88254 -1.51561,-3.39809 -3.39809,-3.39809 h -11.5323 c -1.88253,0 -3.39809,1.51555 -3.39809,3.39809 v 11.5535 c 0,1.88254 1.51556,3.39809 3.39809,3.39809 h 6.20152 c -0.10853,2.64774 -2.07698,6.72342 -0.38228,9.13237 0.0135,0.0197 0.0286,0.0439 0.0421,0.0637 -0.11444,5.4e-4 -0.22502,-0.002 -0.33981,0 -6.89839,0.1378 -10.79281,-0.93405 -14.781683,-3.41933 0.602005,-0.6125 0.976949,-1.46924 0.976949,-2.39989 v -11.53227 c 0,-1.88255 -1.515552,-3.39809 -3.398091,-3.39809 H 83.50466 c -1.882542,0 -3.398089,1.51554 -3.398089,3.39809 v 11.53227 c 0,1.88253 1.515547,3.39808 3.398089,3.39808 h 11.553505 c 0.242486,0 0.494219,-0.0159 0.722091,-0.0637 3.624064,3.49132 8.723104,6.1302 15.886074,7.07227 4.50219,0.59213 7.16235,1.51925 8.87751,2.82466 -1.49917,9.19351 -1.21421,19.39705 3.82285,30.00938 0.85679,0.12964 1.70013,0.29397 2.56977,0.38229 1.79065,0.18185 3.59837,0.27609 5.43694,0.27609 1.83864,0 3.66756,-0.0942 5.45822,-0.27609 0.65453,-0.0665 2.64459,-0.39852 3.29186,-0.48848 -8.70761,-15.20247 -10.0283,-28.81592 -7.34837,-41.73279 0.97593,-0.97351 2.12823,-1.70313 3.46184,-2.31494 3.18476,-1.46102 8.17988,-2.48945 11.89331,-2.82466 7.29659,-0.56278 14.84993,-2.84564 16.45947,-8.60142 0.6086,0.57726 1.44861,0.93448 2.35746,0.93448 h 11.53222 c 1.88255,0 3.39809,-1.51555 3.39809,-3.3981 v -11.5535 c 0,-1.88254 -1.51554,-3.39809 -3.39809,-3.39809 h -11.53222 c -1.88255,0 -3.39809,1.51555 -3.39809,3.39809 v 11.5535 c 0,0.33751 0.0577,0.64842 0.14863,0.95572 -0.85401,3.96259 -5.87346,4.92168 -10.44913,5.26704 1.46057,-1.60593 2.23255,-3.18646 3.03707,-4.906 1.5878,-3.39367 0.8146,-7.73772 0.46725,-9.74826 -0.82846,-2.66953 -1.38928,-7.03298 -0.76458,-11.02255 h 4.6299 c 1.88255,0 3.39809,-1.51556 3.39809,-3.39809 V 528.8677 c 0,-1.88254 -1.51554,-3.39809 -3.39809,-3.39809 h -11.5535 c -1.88254,0 -3.39809,1.51555 -3.39809,3.39809 v 11.55351 c 0,1.88253 1.51555,3.39809 3.39809,3.39809 h 5.88291 c -1.32166,3.40891 -1.1699,7.36507 -0.44596,11.40483 0.30446,1.76223 -0.0913,5.348 -1.29557,7.9218 -1.12979,2.41485 -2.36867,4.00797 -7.73064,6.83866 -3.28039,0.23556 -7.25968,0.54126 -10.66152,1.86895 5.71655,-18.43701 2.72146,-30.54222 0.19118,-37.63385 1.44025,-0.39439 2.50609,-1.70188 2.50609,-3.27066 v -11.5535 c 0,-1.88255 -1.51554,-3.39809 -3.39809,-3.39809 h -11.5535 z" id="path4623" inkscape:connector-curvature="0" /> <path id="path4627" - d="m 134.61329,484.64358 c 0.21809,0.73165 0.33845,1.49672 0.33845,2.28973 l 0,2.9866 c 1.50072,-1.46066 3.52479,-2.38928 5.73427,-2.38928 l 2.9866,0 c -2.8888,-1.24383 -5.92102,-2.20734 -9.05932,-2.88705 z m -27.03871,1.71232 c -2.72678,0.96521 -5.33874,2.15904 -7.82493,3.56401 l 4.69892,0 c 1.0964,0 2.13921,0.23248 3.10607,0.63714 l 0,-3.62374 c 0,-0.1941 0.006,-0.38623 0.0197,-0.57741 z m 52.22568,12.32471 0,7.96427 c 0,0.80307 -0.15482,1.56971 -0.37827,2.30964 l 8.02398,0 c -2.10525,-3.75024 -4.67637,-7.20302 -7.64571,-10.27391 z m -74.46594,3.50428 c -4.86847,6.07334 -8.348088,13.2975 -9.9354,21.20487 0.905251,-0.34828 1.874089,-0.53759 2.887017,-0.53759 l 7.705463,0 c 0.67391,-2.50996 1.57948,-4.92408 2.70786,-7.20766 -2.02548,-1.52441 -3.36494,-3.93816 -3.36494,-6.61035 l 0,-6.84927 z m 88.42336,32.01637 c -1.47396,1.32705 -3.4031,2.15036 -5.49534,2.15036 l -4.83833,0 c -1.38527,17.44224 -14.00055,31.6305 -30.66245,35.34145 1.04682,2.64137 2.35086,5.35018 3.96226,8.16338 0.21707,0.3785 0.38693,0.79321 0.49773,1.21456 20.71093,-5.69011 36.07325,-24.4949 36.53613,-46.86975 z m -96.32787,15.98828 c 5.42067,14.80499 17.70859,26.32893 32.97209,30.72218 -1.51876,-4.03348 -2.38871,-8.00381 -2.80744,-11.86677 -8.21021,-3.77168 -14.89956,-10.25488 -18.8952,-18.33773 -0.20746,-0.15759 -0.41606,-0.31601 -0.61727,-0.47786 l -9.796053,0 c -0.287924,0 -0.574893,-0.01 -0.856127,-0.0398 z" - style="font-size:medium;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-indent:0;text-align:start;text-decoration:none;line-height:normal;letter-spacing:normal;word-spacing:normal;text-transform:none;direction:ltr;block-progression:tb;writing-mode:lr-tb;text-anchor:start;color:#000000;fill:#000000;fill-opacity:1;stroke:none;stroke-width:17.92433548;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate;font-family:Sans;-inkscape-font-specification:Sans" + d="m 143.58751,516.95315 c 0.23263,0.78043 0.36101,1.5965 0.36101,2.44238 v 3.18571 c 1.60077,-1.55804 3.75978,-2.54857 6.11656,-2.54857 h 3.1857 c -3.08138,-1.32675 -6.31575,-2.35449 -9.66327,-3.07952 z m -28.84129,1.82648 c -2.90857,1.02955 -5.69466,2.30297 -8.34659,3.80161 h 5.01218 c 1.16949,0 2.28182,0.24798 3.31314,0.67961 v -3.86532 c 0,-0.20704 0.006,-0.41198 0.021,-0.6159 z m 55.70739,13.14635 v 8.49523 c 0,0.8566 -0.16514,1.67435 -0.40349,2.46361 h 8.55891 c -2.2456,-4.00025 -4.98812,-7.68322 -8.15542,-10.95884 z m -79.430335,3.7379 c -5.193035,6.47823 -8.904628,14.184 -10.59776,22.61853 0.965601,-0.3715 1.999028,-0.57343 3.079484,-0.57343 h 8.219161 c 0.718837,-2.67729 1.684779,-5.25235 2.888384,-7.68817 -2.160512,-1.62604 -3.589269,-4.2007 -3.589269,-7.05104 z m 94.318255,34.1508 c -1.57223,1.41552 -3.62998,2.29371 -5.8617,2.29371 h -5.16089 c -1.47762,18.60506 -14.93392,33.7392 -32.70661,37.69755 1.11661,2.81746 2.50758,5.70686 4.22641,8.70761 0.23154,0.40373 0.41273,0.84609 0.53091,1.29553 22.09166,-6.06945 38.47814,-26.1279 38.97188,-49.9944 z M 82.591797,586.86884 c 5.782048,15.79199 18.889163,28.08419 35.170233,32.77033 -1.62001,-4.30238 -2.54796,-8.5374 -2.99461,-12.65789 -8.75755,-4.02313 -15.89286,-10.93854 -20.154876,-19.56025 -0.221291,-0.16809 -0.443797,-0.33707 -0.658421,-0.50971 H 83.504999 c -0.307118,0 -0.613219,-0.0107 -0.913202,-0.0425 z" + style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:Sans;-inkscape-font-specification:Sans;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-anchor:start;display:inline;overflow:visible;visibility:visible;fill:#000000;fill-opacity:1;stroke:none;stroke-width:19.11929131;marker:none;enable-background:accumulate" inkscape:connector-curvature="0" /> </g> <g @@ -244,52 +244,44 @@ inkscape:export-filename="C:\tuqueque\Imagenes\Svg\Logos\WinDirStat\Icons\Orange\Orange256.png" inkscape:export-xdpi="720" inkscape:export-ydpi="720" - transform="translate(-1734.9485,-89.49951)"> - <path - transform="matrix(0.20414546,0,0,0.20414546,1872.5145,802.83929)" - sodipodi:type="arc" - style="fill:#ff7f2a;stroke:none" + transform="translate(-1850.6117,-95.466144)"> + <circle + style="fill:#ff7f2a;stroke:none;stroke-width:0.21775515" id="path4631" - sodipodi:cx="337.53741" - sodipodi:cy="463.29471" - sodipodi:rx="78.375488" - sodipodi:ry="78.375488" - d="m 415.9129,463.29471 c 0,43.28559 -35.0899,78.37549 -78.37549,78.37549 -43.28558,0 -78.37548,-35.0899 -78.37548,-78.37549 0,-43.28559 35.0899,-78.37549 78.37548,-78.37549 43.28559,0 78.37549,35.0899 78.37549,78.37549 z" /> + cx="2070.8494" + cy="957.2467" + r="17.066668" /> <path inkscape:connector-curvature="0" id="path4633" - d="m 1939.0453,883.21325 c -0.5073,0 -0.9156,0.40836 -0.9156,0.91561 l 0,3.11299 c 0,0.50725 0.4083,0.91557 0.9156,0.91557 l 2.701,0 c 0.47,2.38102 0.2663,3.43259 -0.6123,5.95707 -0.6592,-0.81319 -1.557,-1.36251 -2.5923,-1.76826 -0.8896,-0.34861 -1.6522,-0.85372 -1.9456,-1.47636 0.056,-0.11858 0.092,-0.24894 0.092,-0.38915 l 0,-3.11299 c 0,-0.50721 -0.4084,-0.91557 -0.9156,-0.91557 l -3.113,0 c -0.5073,0 -0.9156,0.40836 -0.9156,0.91557 l 0,3.11299 c 0,0.50725 0.4083,0.91561 0.9156,0.91561 l 3.113,0 c 0.2507,0 0.4758,-0.10103 0.6409,-0.26323 0.1765,0.8372 0.8452,1.36132 1.9456,1.91128 0.9936,0.49661 1.7731,1.67021 2.1574,2.80971 -0.1938,0.54583 -0.3974,1.12616 -0.6295,1.80259 -0.4351,1.29952 -0.9836,2.80582 -1.3734,4.45777 -0.4376,-0.25319 -0.9119,-0.42865 -1.4077,-0.52075 -0.2117,-0.13981 -0.3687,-0.27014 -0.4807,-0.42916 -0.3499,-0.4972 -0.1073,-1.4558 -0.2174,-2.1345 l 1.2131,0 c 0.5073,0 0.9156,-0.40832 0.9156,-0.91557 l 0,-3.11303 c 0,-0.50721 -0.4083,-0.91557 -0.9156,-0.91557 l -3.1073,0 c -0.5072,0 -0.9155,0.40836 -0.9155,0.91557 l 0,3.11303 c 0,0.50725 0.4083,0.91557 0.9155,0.91557 l 1.671,0 c -0.029,0.71343 -0.5596,1.8116 -0.103,2.46065 0,0.005 0.01,0.0119 0.011,0.0171 -0.031,1.2e-4 -0.061,0 -0.092,0 -1.8587,0.0373 -2.9081,-0.25168 -3.9828,-0.92133 0.1622,-0.16502 0.2632,-0.39585 0.2632,-0.64662 l 0,-3.10727 c 0,-0.50725 -0.4083,-0.91561 -0.9156,-0.91561 l -3.113,0 c -0.5072,0 -0.9156,0.40836 -0.9156,0.91561 l 0,3.10727 c 0,0.50725 0.4084,0.91561 0.9156,0.91561 l 3.113,0 c 0.065,0 0.1332,-0.004 0.1946,-0.0171 0.9764,0.9407 2.3504,1.65175 4.2804,1.90557 1.213,0.15954 1.9298,0.40935 2.3919,0.76107 -0.4039,2.47712 -0.3271,5.22641 1.0301,8.08582 0.2308,0.0349 0.4581,0.0792 0.6924,0.10301 0.4825,0.049 0.9695,0.0744 1.4649,0.0744 0.4954,0 0.9882,-0.0254 1.4707,-0.0744 0.1764,-0.0179 0.7126,-0.10738 0.887,-0.13164 -2.3462,-4.0962 -2.7021,-7.76423 -1.98,-11.24457 0.263,-0.26232 0.5734,-0.4589 0.9328,-0.62376 0.8581,-0.39364 2.204,-0.67076 3.2045,-0.76107 1.966,-0.15164 4.0012,-0.76675 4.4349,-2.31758 0.164,0.15553 0.3903,0.25175 0.6352,0.25175 l 3.1073,0 c 0.5072,0 0.9156,-0.40832 0.9156,-0.91556 l 0,-3.11299 c 0,-0.50725 -0.4084,-0.91561 -0.9156,-0.91561 l -3.1073,0 c -0.5072,0 -0.9156,0.40836 -0.9156,0.91561 l 0,3.11299 c 0,0.0909 0.016,0.1747 0.04,0.25751 -0.2301,1.06769 -1.5826,1.32611 -2.8154,1.41916 0.3935,-0.43269 0.6015,-0.85856 0.8183,-1.3219 0.4278,-0.91438 0.2195,-2.08484 0.1259,-2.62659 -0.2232,-0.71927 -0.3743,-1.89497 -0.206,-2.96992 l 1.2475,0 c 0.5072,0 0.9156,-0.40836 0.9156,-0.91561 l 0,-3.11299 c 0,-0.50724 -0.4084,-0.91561 -0.9156,-0.91561 l -3.113,0 c -0.5073,0 -0.9156,0.40837 -0.9156,0.91561 l 0,3.11299 c 0,0.50725 0.4083,0.91561 0.9156,0.91561 l 1.5851,0 c -0.3561,0.91851 -0.3153,1.98445 -0.1202,3.07294 0.082,0.47481 -0.025,1.44095 -0.3491,2.13446 -0.3044,0.65067 -0.6382,1.07991 -2.0829,1.84261 -0.8839,0.0635 -1.9561,0.14584 -2.8727,0.50359 1.5403,-4.9677 0.7333,-8.22936 0.052,-10.14017 0.3881,-0.10623 0.6753,-0.45854 0.6753,-0.88123 l 0,-3.11299 c 0,-0.50725 -0.4084,-0.91561 -0.9156,-0.91561 l -3.113,0 z" - style="font-size:medium;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-indent:0;text-align:start;text-decoration:none;line-height:normal;letter-spacing:normal;word-spacing:normal;text-transform:none;direction:ltr;block-progression:tb;writing-mode:lr-tb;text-anchor:start;color:#000000;fill:#000000;fill-opacity:1;stroke:none;stroke-width:4;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate;font-family:Sans;-inkscape-font-specification:Sans" /> + d="m 2068.315,942.09413 c -0.5411,0 -0.9767,0.43559 -0.9767,0.97665 v 3.32053 c 0,0.54106 0.4356,0.9766 0.9767,0.9766 h 2.8811 c 0.5013,2.53976 0.284,3.66143 -0.6532,6.35421 -0.7031,-0.8674 -1.6608,-1.45334 -2.7651,-1.88614 -0.9489,-0.37185 -1.7623,-0.91064 -2.0753,-1.57479 0.06,-0.12648 0.098,-0.26553 0.098,-0.41509 v -3.32052 c 0,-0.54103 -0.4356,-0.97661 -0.9766,-0.97661 h -3.3205 c -0.5412,0 -0.9767,0.43558 -0.9767,0.97661 v 3.32052 c 0,0.54107 0.4355,0.97665 0.9767,0.97665 h 3.3205 c 0.2674,0 0.5075,-0.10776 0.6836,-0.28078 0.1883,0.89302 0.9016,1.45208 2.0753,2.0387 1.0599,0.52972 1.8913,1.78156 2.3013,2.99703 -0.2068,0.58221 -0.4239,1.20123 -0.6715,1.92276 -0.4641,1.38615 -1.0492,2.99287 -1.465,4.75495 -0.4667,-0.27007 -0.9727,-0.45722 -1.5015,-0.55546 -0.2258,-0.14913 -0.3933,-0.28815 -0.5128,-0.45777 -0.3732,-0.53035 -0.1144,-1.55286 -0.2319,-2.2768 h 1.294 c 0.5411,0 0.9767,-0.43555 0.9767,-0.97661 v -3.32057 c 0,-0.54102 -0.4356,-0.97661 -0.9767,-0.97661 h -3.3144 c -0.541,0 -0.9766,0.43559 -0.9766,0.97661 v 3.32057 c 0,0.54106 0.4356,0.97661 0.9766,0.97661 h 1.7824 c -0.031,0.76099 -0.5969,1.93237 -0.1099,2.62469 0,0.005 0.011,0.0127 0.012,0.0182 -0.033,1.3e-4 -0.065,0 -0.098,0 -1.9826,0.0398 -3.102,-0.26846 -4.2483,-0.98275 0.173,-0.17602 0.2807,-0.42224 0.2807,-0.68973 v -3.31442 c 0,-0.54107 -0.4355,-0.97665 -0.9766,-0.97665 h -3.3205 c -0.5411,0 -0.9767,0.43558 -0.9767,0.97665 v 3.31442 c 0,0.54107 0.4356,0.97665 0.9767,0.97665 h 3.3205 c 0.069,0 0.1421,-0.004 0.2076,-0.0182 1.0415,1.00341 2.5071,1.76187 4.5657,2.03261 1.2939,0.17017 2.0585,0.43664 2.5514,0.81181 -0.4308,2.64226 -0.3489,5.57483 1.0988,8.62487 0.2461,0.0372 0.4886,0.0845 0.7385,0.10988 0.5147,0.0523 1.0341,0.0794 1.5626,0.0794 0.5284,0 1.0541,-0.0271 1.5687,-0.0794 0.1882,-0.0191 0.7601,-0.11454 0.9462,-0.14042 -2.5027,-4.36928 -2.8823,-8.28184 -2.112,-11.99421 0.2805,-0.2798 0.6116,-0.48949 0.9949,-0.66534 0.9153,-0.41988 2.351,-0.71548 3.4182,-0.81181 2.097,-0.16175 4.2679,-0.81786 4.7305,-2.47208 0.175,0.1659 0.4164,0.26853 0.6776,0.26853 h 3.3144 c 0.541,0 0.9767,-0.43554 0.9767,-0.9766 v -3.32052 c 0,-0.54107 -0.4357,-0.97665 -0.9767,-0.97665 h -3.3144 c -0.541,0 -0.9767,0.43558 -0.9767,0.97665 v 3.32052 c 0,0.097 0.017,0.18635 0.043,0.27468 -0.2454,1.13887 -1.6881,1.41452 -3.0031,1.51377 0.4197,-0.46154 0.6416,-0.9158 0.8729,-1.41003 0.4563,-0.97533 0.2341,-2.22383 0.1343,-2.80169 -0.2381,-0.76722 -0.3993,-2.0213 -0.2198,-3.16792 h 1.3307 c 0.541,0 0.9766,-0.43558 0.9766,-0.97665 v -3.32052 c 0,-0.54106 -0.4356,-0.97665 -0.9766,-0.97665 h -3.3205 c -0.5412,0 -0.9767,0.43559 -0.9767,0.97665 v 3.32052 c 0,0.54107 0.4355,0.97665 0.9767,0.97665 h 1.6907 c -0.3798,0.97975 -0.3363,2.11675 -0.1282,3.27781 0.087,0.50646 -0.027,1.53701 -0.3724,2.27675 -0.3246,0.69405 -0.6807,1.15191 -2.2217,1.96545 -0.9428,0.0677 -2.0865,0.15557 -3.0642,0.53717 1.643,-5.29888 0.7822,-8.77799 0.055,-10.81618 0.414,-0.11332 0.7204,-0.48911 0.7204,-0.93998 v -3.32053 c 0,-0.54106 -0.4357,-0.97665 -0.9767,-0.97665 z" + style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:Sans;-inkscape-font-specification:Sans;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-anchor:start;display:inline;overflow:visible;visibility:visible;fill:#000000;fill-opacity:1;stroke:none;stroke-width:4.26666689;marker:none;enable-background:accumulate" /> <path inkscape:connector-curvature="0" - style="font-size:medium;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-indent:0;text-align:start;text-decoration:none;line-height:normal;letter-spacing:normal;word-spacing:normal;text-transform:none;direction:ltr;block-progression:tb;writing-mode:lr-tb;text-anchor:start;color:#000000;fill:#000000;fill-opacity:1;stroke:none;stroke-width:17.92433548;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate;font-family:Sans;-inkscape-font-specification:Sans" - d="m 1944.4415,883.47077 c 0.063,0.21027 0.097,0.43015 0.097,0.65809 l 0,0.85837 c 0.4313,-0.41984 1.0131,-0.68672 1.6481,-0.68672 l 0.8583,0 c -0.8302,-0.35747 -1.7017,-0.6344 -2.6037,-0.82974 z m -7.7711,0.49212 c -0.7836,0.2774 -1.5343,0.62054 -2.2489,1.02434 l 1.3505,0 c 0.3151,0 0.6148,0.0668 0.8927,0.18308 l 0,-1.04145 c 0,-0.0558 0,-0.11103 0.01,-0.16597 z m 15.01,3.54219 0,2.28896 c 0,0.23084 -0.044,0.45116 -0.1087,0.66381 l 2.3061,0 c -0.6051,-1.07785 -1.344,-2.07019 -2.1974,-2.95277 z m -21.4019,1.00715 c -1.3992,1.74551 -2.3993,3.82178 -2.8555,6.09438 0.2602,-0.10007 0.5386,-0.1545 0.8297,-0.1545 l 2.2146,0 c 0.1937,-0.72137 0.454,-1.41519 0.7783,-2.07154 -0.5821,-0.43809 -0.9671,-1.13184 -0.9671,-1.89985 l 0,-1.96849 z m 25.4133,9.20166 c -0.4236,0.38141 -0.978,0.61804 -1.5794,0.61804 l -1.3905,0 c -0.3982,5.013 -4.0238,9.09074 -8.8126,10.15732 0.3009,0.75916 0.6757,1.53766 1.1388,2.3462 0.062,0.10877 0.1112,0.22794 0.1431,0.34906 5.9524,-1.63535 10.3676,-7.03997 10.5006,-13.47062 z m -27.6851,4.59511 c 1.5579,4.25507 5.0895,7.5671 9.4763,8.82974 -0.4365,-1.15923 -0.6865,-2.30036 -0.8068,-3.4106 -2.3597,-1.084 -4.2822,-2.94729 -5.4306,-5.27036 -0.06,-0.0453 -0.1196,-0.0908 -0.1774,-0.13731 l -2.8154,0 c -0.083,0 -0.1653,-0.004 -0.2461,-0.0115 z" + style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:Sans;-inkscape-font-specification:Sans;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-anchor:start;display:inline;overflow:visible;visibility:visible;fill:#000000;fill-opacity:1;stroke:none;stroke-width:19.11929131;marker:none;enable-background:accumulate" + d="m 2074.0709,942.36882 c 0.067,0.22429 0.1035,0.45883 0.1035,0.70196 v 0.9156 c 0.4601,-0.44783 1.0806,-0.7325 1.758,-0.7325 h 0.9155 c -0.8856,-0.3813 -1.8152,-0.6767 -2.7773,-0.88506 z m -8.2891,0.52493 c -0.8359,0.29589 -1.6366,0.66191 -2.3989,1.09263 h 1.4406 c 0.3361,0 0.6558,0.0712 0.9522,0.19528 v -1.11088 c 0,-0.0595 0,-0.11843 0.011,-0.17703 z m 16.0106,3.77834 v 2.44155 c 0,0.24623 -0.047,0.48124 -0.1159,0.70807 h 2.4598 c -0.6454,-1.14971 -1.4336,-2.20821 -2.3439,-3.14962 z m -22.8287,1.07429 c -1.4924,1.86188 -2.5592,4.07656 -3.0458,6.50067 0.2775,-0.10674 0.5745,-0.1648 0.885,-0.1648 h 2.3622 c 0.2066,-0.76946 0.4843,-1.50954 0.8302,-2.20964 -0.6209,-0.4673 -1.0316,-1.2073 -1.0316,-2.02651 z m 27.1076,9.8151 c -0.4519,0.40684 -1.0432,0.65925 -1.6847,0.65925 h -1.4832 c -0.4248,5.3472 -4.2921,9.69678 -9.4001,10.83447 0.3209,0.80977 0.7207,1.64017 1.2147,2.50261 0.066,0.11602 0.1186,0.24314 0.1526,0.37233 6.3492,-1.74437 11.0588,-7.5093 11.2007,-14.36866 z m -29.5308,4.90145 c 1.6617,4.53874 5.4288,8.07158 10.108,9.41839 -0.4656,-1.23651 -0.7322,-2.45371 -0.8606,-3.63797 -2.517,-1.15627 -4.5676,-3.14378 -5.7926,-5.62172 -0.064,-0.0483 -0.1276,-0.0969 -0.1892,-0.14646 h -3.0031 c -0.088,0 -0.1763,-0.004 -0.2625,-0.0123 z" id="path4635" /> - <path - d="m 415.9129,463.29471 c 0,43.28559 -35.0899,78.37549 -78.37549,78.37549 -43.28558,0 -78.37548,-35.0899 -78.37548,-78.37549 0,-43.28559 35.0899,-78.37549 78.37548,-78.37549 43.28559,0 78.37549,35.0899 78.37549,78.37549 z" - sodipodi:ry="78.375488" - sodipodi:rx="78.375488" - sodipodi:cy="463.29471" - sodipodi:cx="337.53741" + <circle id="path4315" - style="fill:url(#radialGradient4297);fill-opacity:1;stroke:none" - sodipodi:type="arc" - transform="matrix(0.20414546,0,0,0.20414546,1872.5145,802.83929)" /> + style="fill:url(#radialGradient4297);fill-opacity:1;stroke:none;stroke-width:0.21775515" + cx="2070.8494" + cy="957.2467" + r="17.066668" /> </g> <text xml:space="preserve" - style="font-size:12px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;line-height:125%;letter-spacing:0;word-spacing:0;writing-mode:lr-tb;text-anchor:middle;fill:#000000;stroke:none;font-family:Sans;-inkscape-font-specification:Sans" - x="253.53748" - y="765.21088" - id="text4611" - sodipodi:linespacing="125%"><tspan + style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:12.80000019px;line-height:125%;font-family:Sans;-inkscape-font-specification:Sans;text-align:center;letter-spacing:0;word-spacing:0;writing-mode:lr-tb;text-anchor:middle;fill:#000000;stroke:none;stroke-width:1.06666672" + x="270.43997" + y="816.22491" + id="text4611"><tspan sodipodi:role="line" id="tspan4613" - x="253.53748" - y="765.21088">Icons</tspan></text> + x="270.43997" + y="816.22491" + style="stroke-width:1.06666672">Icons</tspan></text> <path - style="fill:#ff7f2a;fill-opacity:1;stroke:none" - d="m 82.57239,728.25928 41.33179,0 c 1.13574,0 2.05007,0.92398 2.05007,2.07172 l 0,32.2021 c 0,1.14774 -0.91433,2.07172 -2.05007,2.07172 l -41.33179,0 c -1.13574,0 -2.05007,-0.92398 -2.05007,-2.07172 l 0,-32.2021 c 0,-1.14774 0.91433,-2.07172 2.05007,-2.07172 z" + style="fill:#ff7f2a;fill-opacity:1;stroke:none;stroke-width:1.06666672" + d="m 88.077216,776.8099 h 44.087244 c 1.21145,0 2.18674,0.98558 2.18674,2.20983 v 34.34891 c 0,1.22426 -0.97529,2.20983 -2.18674,2.20983 H 88.077216 c -1.211456,0 -2.186741,-0.98557 -2.186741,-2.20983 v -34.34891 c 0,-1.22425 0.975285,-2.20983 2.186741,-2.20983 z" id="path4864" inkscape:connector-curvature="0" sodipodi:nodetypes="sssssssss" /> @@ -297,11 +289,11 @@ sodipodi:nodetypes="sssssssss" inkscape:connector-curvature="0" id="path4972" - d="m 82.57239,767.20093 41.33179,0 c 1.13574,0 2.05007,0.92399 2.05007,2.07173 l 0,32.2021 c 0,1.14774 -0.91433,2.07172 -2.05007,2.07172 l -41.33179,0 c -1.13574,0 -2.05007,-0.92398 -2.05007,-2.07172 l 0,-32.2021 c 0,-1.14774 0.91433,-2.07173 2.05007,-2.07173 z" - style="fill:#aad400;fill-opacity:1;stroke:none" /> + d="m 88.077216,818.34766 h 44.087244 c 1.21145,0 2.18674,0.98559 2.18674,2.20984 v 34.34891 c 0,1.22426 -0.97529,2.20984 -2.18674,2.20984 H 88.077216 c -1.211456,0 -2.186741,-0.98558 -2.186741,-2.20984 V 820.5575 c 0,-1.22425 0.975285,-2.20984 2.186741,-2.20984 z" + style="fill:#aad400;fill-opacity:1;stroke:none;stroke-width:1.06666672" /> <path - style="fill:#37c871;fill-opacity:1;stroke:none" - d="m 82.57239,806.14259 41.3318,0 c 1.13573,0 2.05007,0.92398 2.05007,2.07172 l 0,32.20211 c 0,1.14774 -0.91434,2.07172 -2.05007,2.07172 l -41.3318,0 c -1.13574,0 -2.05007,-0.92398 -2.05007,-2.07172 l 0,-32.20211 c 0,-1.14774 0.91433,-2.07172 2.05007,-2.07172 z" + style="fill:#37c871;fill-opacity:1;stroke:none;stroke-width:1.06666672" + d="m 88.077216,859.88543 h 44.087254 c 1.21144,0 2.18674,0.98558 2.18674,2.20983 v 34.34892 c 0,1.22426 -0.9753,2.20984 -2.18674,2.20984 H 88.077216 c -1.211456,0 -2.186741,-0.98558 -2.186741,-2.20984 v -34.34892 c 0,-1.22425 0.975285,-2.20983 2.186741,-2.20983 z" id="path5080" inkscape:connector-curvature="0" sodipodi:nodetypes="sssssssss" /> @@ -309,11 +301,11 @@ sodipodi:nodetypes="sssssssss" inkscape:connector-curvature="0" id="path5188" - d="m 82.5724,845.08425 41.33179,0 c 1.13573,0 2.05007,0.92398 2.05007,2.07172 l 0,32.2021 c 0,1.14774 -0.91434,2.07173 -2.05007,2.07173 l -41.3318,0 c -1.13574,0 -2.05006,-0.92399 -2.05006,-2.07173 l 0,-32.2021 c 0,-1.14774 0.91432,-2.07172 2.05006,-2.07172 z" - style="fill:#37c8ab;fill-opacity:1;stroke:none" /> + d="m 88.077227,901.4232 h 44.087243 c 1.21144,0 2.18674,0.98558 2.18674,2.20983 v 34.34891 c 0,1.22426 -0.9753,2.20985 -2.18674,2.20985 H 88.077216 c -1.211456,0 -2.186731,-0.98559 -2.186731,-2.20985 v -34.34891 c 0,-1.22425 0.975275,-2.20983 2.186731,-2.20983 z" + style="fill:#37c8ab;fill-opacity:1;stroke:none;stroke-width:1.06666672" /> <path - style="fill:#80b3ff;fill-opacity:1;stroke:none" - d="m 82.5724,884.02591 41.33179,0 c 1.13573,0 2.05007,0.92398 2.05007,2.07172 l 0,32.2021 c 0,1.14774 -0.91434,2.07172 -2.05007,2.07172 l -41.3318,0 c -1.13574,0 -2.05006,-0.92398 -2.05006,-2.07172 l 0,-32.2021 c 0,-1.14774 0.91432,-2.07172 2.05006,-2.07172 z" + style="fill:#80b3ff;fill-opacity:1;stroke:none;stroke-width:1.06666672" + d="m 88.077227,942.96097 h 44.087243 c 1.21144,0 2.18674,0.98558 2.18674,2.20984 v 34.3489 c 0,1.22426 -0.9753,2.20984 -2.18674,2.20984 H 88.077216 c -1.211456,0 -2.186731,-0.98558 -2.186731,-2.20984 v -34.3489 c 0,-1.22426 0.975275,-2.20984 2.186731,-2.20984 z" id="path5296" inkscape:connector-curvature="0" sodipodi:nodetypes="sssssssss" /> @@ -321,333 +313,293 @@ sodipodi:nodetypes="sssssssss" inkscape:connector-curvature="0" id="path5404" - d="m 82.5724,922.96756 41.33179,0 c 1.13573,0 2.05007,0.92398 2.05007,2.07173 l 0,32.2021 c 0,1.14774 -0.91434,2.07172 -2.05007,2.07172 l -41.3318,0 c -1.13574,0 -2.05006,-0.92398 -2.05006,-2.07172 l 0,-32.2021 c 0,-1.14775 0.91432,-2.07173 2.05006,-2.07173 z" - style="fill:#dd55ff;fill-opacity:1;stroke:none" /> + d="m 88.077227,984.49873 h 44.087243 c 1.21144,0 2.18674,0.98558 2.18674,2.20985 v 34.34892 c 0,1.2242 -0.9753,2.2098 -2.18674,2.2098 H 88.077216 c -1.211456,0 -2.186731,-0.9856 -2.186731,-2.2098 v -34.34892 c 0,-1.22427 0.975275,-2.20985 2.186731,-2.20985 z" + style="fill:#dd55ff;fill-opacity:1;stroke:none;stroke-width:1.06666672" /> <g id="g3529" inkscape:export-filename="C:\tuqueque\Imagenes\Svg\Logos\WinDirStat\Icons\Greenish\Greenish256.png" inkscape:export-xdpi="720" inkscape:export-ydpi="720" - transform="translate(-1734.9485,-89.49951)"> - <path - d="m 415.9129,463.29471 c 0,43.28559 -35.0899,78.37549 -78.37549,78.37549 -43.28558,0 -78.37548,-35.0899 -78.37548,-78.37549 0,-43.28559 35.0899,-78.37549 78.37548,-78.37549 43.28559,0 78.37549,35.0899 78.37549,78.37549 z" - sodipodi:ry="78.375488" - sodipodi:rx="78.375488" - sodipodi:cy="463.29471" - sodipodi:cx="337.53741" + transform="translate(-1850.6117,-95.466144)"> + <circle id="path5524" - style="fill:#aad400;stroke:none" - sodipodi:type="arc" - transform="matrix(0.20414546,0,0,0.20414546,1872.5145,842.83929)" /> + style="fill:#aad400;stroke:none;stroke-width:0.21775515" + cx="2070.8494" + cy="999.91339" + r="17.066668" /> <path - style="font-size:medium;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-indent:0;text-align:start;text-decoration:none;line-height:normal;letter-spacing:normal;word-spacing:normal;text-transform:none;direction:ltr;block-progression:tb;writing-mode:lr-tb;text-anchor:start;color:#000000;fill:#000000;fill-opacity:1;stroke:none;stroke-width:4;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate;font-family:Sans;-inkscape-font-specification:Sans" - d="m 1939.0453,923.21325 c -0.5073,0 -0.9156,0.40836 -0.9156,0.91561 l 0,3.11299 c 0,0.50725 0.4083,0.91557 0.9156,0.91557 l 2.701,0 c 0.47,2.38102 0.2663,3.43259 -0.6123,5.95707 -0.6592,-0.81319 -1.557,-1.36251 -2.5923,-1.76826 -0.8896,-0.34861 -1.6522,-0.85372 -1.9456,-1.47636 0.056,-0.11858 0.092,-0.24894 0.092,-0.38915 l 0,-3.11299 c 0,-0.50721 -0.4084,-0.91557 -0.9156,-0.91557 l -3.113,0 c -0.5073,0 -0.9156,0.40836 -0.9156,0.91557 l 0,3.11299 c 0,0.50725 0.4083,0.91561 0.9156,0.91561 l 3.113,0 c 0.2507,0 0.4758,-0.10103 0.6409,-0.26323 0.1765,0.8372 0.8452,1.36132 1.9456,1.91128 0.9936,0.49661 1.7731,1.67021 2.1574,2.80971 -0.1938,0.54583 -0.3974,1.12616 -0.6295,1.80259 -0.4351,1.29952 -0.9836,2.80582 -1.3734,4.45777 -0.4376,-0.25319 -0.9119,-0.42865 -1.4077,-0.52075 -0.2117,-0.13981 -0.3687,-0.27014 -0.4807,-0.42916 -0.3499,-0.4972 -0.1073,-1.4558 -0.2174,-2.1345 l 1.2131,0 c 0.5073,0 0.9156,-0.40832 0.9156,-0.91557 l 0,-3.11303 c 0,-0.50721 -0.4083,-0.91557 -0.9156,-0.91557 l -3.1073,0 c -0.5072,0 -0.9155,0.40836 -0.9155,0.91557 l 0,3.11303 c 0,0.50725 0.4083,0.91557 0.9155,0.91557 l 1.671,0 c -0.029,0.71343 -0.5596,1.8116 -0.103,2.46065 0,0.005 0.01,0.0119 0.011,0.0171 -0.031,1.2e-4 -0.061,0 -0.092,0 -1.8587,0.0373 -2.9081,-0.25168 -3.9828,-0.92133 0.1622,-0.16502 0.2632,-0.39585 0.2632,-0.64662 l 0,-3.10727 c 0,-0.50725 -0.4083,-0.91561 -0.9156,-0.91561 l -3.113,0 c -0.5072,0 -0.9156,0.40836 -0.9156,0.91561 l 0,3.10727 c 0,0.50725 0.4084,0.91561 0.9156,0.91561 l 3.113,0 c 0.065,0 0.1332,-0.004 0.1946,-0.0171 0.9764,0.9407 2.3504,1.65175 4.2804,1.90557 1.213,0.15954 1.9298,0.40935 2.3919,0.76107 -0.4039,2.47712 -0.3271,5.22641 1.0301,8.08582 0.2308,0.0349 0.4581,0.0792 0.6924,0.10301 0.4825,0.049 0.9695,0.0744 1.4649,0.0744 0.4954,0 0.9882,-0.0254 1.4707,-0.0744 0.1764,-0.0179 0.7126,-0.10738 0.887,-0.13164 -2.3462,-4.0962 -2.7021,-7.76423 -1.98,-11.24457 0.263,-0.26232 0.5734,-0.4589 0.9328,-0.62376 0.8581,-0.39364 2.204,-0.67076 3.2045,-0.76107 1.966,-0.15164 4.0012,-0.76675 4.4349,-2.31758 0.164,0.15553 0.3903,0.25175 0.6352,0.25175 l 3.1073,0 c 0.5072,0 0.9156,-0.40832 0.9156,-0.91556 l 0,-3.11299 c 0,-0.50725 -0.4084,-0.91561 -0.9156,-0.91561 l -3.1073,0 c -0.5072,0 -0.9156,0.40836 -0.9156,0.91561 l 0,3.11299 c 0,0.0909 0.016,0.1747 0.04,0.25751 -0.2301,1.06769 -1.5826,1.32611 -2.8154,1.41916 0.3935,-0.43269 0.6015,-0.85856 0.8183,-1.3219 0.4278,-0.91438 0.2195,-2.08484 0.1259,-2.62659 -0.2232,-0.71927 -0.3743,-1.89497 -0.206,-2.96992 l 1.2475,0 c 0.5072,0 0.9156,-0.40836 0.9156,-0.91561 l 0,-3.11299 c 0,-0.50724 -0.4084,-0.91561 -0.9156,-0.91561 l -3.113,0 c -0.5073,0 -0.9156,0.40837 -0.9156,0.91561 l 0,3.11299 c 0,0.50725 0.4083,0.91561 0.9156,0.91561 l 1.5851,0 c -0.3561,0.91851 -0.3153,1.98445 -0.1202,3.07294 0.082,0.47481 -0.025,1.44095 -0.3491,2.13446 -0.3044,0.65067 -0.6382,1.07991 -2.0829,1.84261 -0.8839,0.0635 -1.9561,0.14584 -2.8727,0.50359 1.5403,-4.9677 0.7333,-8.22936 0.052,-10.14017 0.3881,-0.10623 0.6753,-0.45854 0.6753,-0.88123 l 0,-3.11299 c 0,-0.50725 -0.4084,-0.91561 -0.9156,-0.91561 l -3.113,0 z" + style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:Sans;-inkscape-font-specification:Sans;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-anchor:start;display:inline;overflow:visible;visibility:visible;fill:#000000;fill-opacity:1;stroke:none;stroke-width:4.26666689;marker:none;enable-background:accumulate" + d="m 2068.315,984.7608 c -0.5411,0 -0.9767,0.43558 -0.9767,0.97665 v 3.32052 c 0,0.54107 0.4356,0.97661 0.9767,0.97661 h 2.8811 c 0.5013,2.53976 0.284,3.66143 -0.6532,6.35421 -0.7031,-0.8674 -1.6608,-1.45334 -2.7651,-1.88614 -0.9489,-0.37186 -1.7623,-0.91064 -2.0753,-1.57479 0.06,-0.12648 0.098,-0.26553 0.098,-0.41509 v -3.32052 c 0,-0.54103 -0.4356,-0.97661 -0.9766,-0.97661 h -3.3205 c -0.5412,0 -0.9767,0.43558 -0.9767,0.97661 v 3.32052 c 0,0.54106 0.4355,0.97665 0.9767,0.97665 h 3.3205 c 0.2674,0 0.5075,-0.10777 0.6836,-0.28078 0.1883,0.89301 0.9016,1.45207 2.0753,2.0387 1.0599,0.52972 1.8913,1.78156 2.3013,2.99702 -0.2068,0.58222 -0.4239,1.20124 -0.6715,1.92274 -0.4641,1.3862 -1.0492,2.9929 -1.465,4.755 -0.4667,-0.2701 -0.9727,-0.4572 -1.5015,-0.5555 -0.2258,-0.1491 -0.3933,-0.2881 -0.5128,-0.4578 -0.3732,-0.5303 -0.1144,-1.5528 -0.2319,-2.2768 h 1.294 c 0.5411,0 0.9767,-0.4355 0.9767,-0.9766 v -3.32053 c 0,-0.54102 -0.4356,-0.97661 -0.9767,-0.97661 h -3.3144 c -0.541,0 -0.9766,0.43559 -0.9766,0.97661 v 3.32053 c 0,0.5411 0.4356,0.9766 0.9766,0.9766 h 1.7824 c -0.031,0.761 -0.5969,1.9324 -0.1099,2.6247 0,0.01 0.011,0.013 0.012,0.018 -0.033,10e-5 -0.065,0 -0.098,0 -1.9826,0.04 -3.102,-0.2685 -4.2483,-0.9828 0.173,-0.176 0.2807,-0.4222 0.2807,-0.6897 v -3.31443 c 0,-0.54106 -0.4355,-0.97665 -0.9766,-0.97665 h -3.3205 c -0.5411,0 -0.9767,0.43559 -0.9767,0.97665 v 3.31443 c 0,0.5411 0.4356,0.9766 0.9767,0.9766 h 3.3205 c 0.069,0 0.1421,0 0.2076,-0.018 1.0415,1.0034 2.5071,1.7619 4.5657,2.0326 1.2939,0.1702 2.0585,0.4367 2.5514,0.8118 -0.4308,2.6423 -0.3489,5.5749 1.0988,8.6249 0.2461,0.037 0.4886,0.084 0.7385,0.1099 0.5147,0.052 1.0341,0.079 1.5626,0.079 0.5284,0 1.0541,-0.027 1.5687,-0.079 0.1882,-0.019 0.7601,-0.1146 0.9462,-0.1404 -2.5027,-4.3693 -2.8823,-8.2819 -2.112,-11.9942 0.2805,-0.2799 0.6116,-0.4895 0.9949,-0.6654 0.9153,-0.4199 2.351,-0.7155 3.4182,-0.8118 2.097,-0.1618 4.2679,-0.8179 4.7305,-2.47209 0.175,0.1659 0.4164,0.26854 0.6776,0.26854 h 3.3144 c 0.541,0 0.9767,-0.43554 0.9767,-0.9766 v -3.32052 c 0,-0.54107 -0.4357,-0.97665 -0.9767,-0.97665 h -3.3144 c -0.541,0 -0.9767,0.43558 -0.9767,0.97665 v 3.32052 c 0,0.097 0.017,0.18635 0.043,0.27468 -0.2454,1.13887 -1.6881,1.41447 -3.0031,1.51377 0.4197,-0.46154 0.6416,-0.9158 0.8729,-1.41003 0.4563,-0.97534 0.2341,-2.22383 0.1343,-2.8017 -0.2381,-0.76722 -0.3993,-2.0213 -0.2198,-3.16791 h 1.3307 c 0.541,0 0.9766,-0.43558 0.9766,-0.97665 v -3.32052 c 0,-0.54106 -0.4356,-0.97665 -0.9766,-0.97665 h -3.3205 c -0.5412,0 -0.9767,0.43559 -0.9767,0.97665 v 3.32052 c 0,0.54107 0.4355,0.97665 0.9767,0.97665 h 1.6907 c -0.3798,0.97974 -0.3363,2.11675 -0.1282,3.2778 0.087,0.50647 -0.027,1.53702 -0.3724,2.27676 -0.3246,0.69405 -0.6807,1.1519 -2.2217,1.96548 -0.9428,0.068 -2.0865,0.1555 -3.0642,0.5371 1.643,-5.29885 0.7822,-8.77795 0.055,-10.81615 0.414,-0.11331 0.7204,-0.48911 0.7204,-0.93998 v -3.32052 c 0,-0.54107 -0.4357,-0.97665 -0.9767,-0.97665 z" id="path5526" inkscape:connector-curvature="0" /> <path id="path5528" - d="m 1944.4415,923.47077 c 0.063,0.21027 0.097,0.43015 0.097,0.65809 l 0,0.85837 c 0.4313,-0.41984 1.0131,-0.68672 1.6481,-0.68672 l 0.8583,0 c -0.8302,-0.35747 -1.7017,-0.6344 -2.6037,-0.82974 z m -7.7711,0.49212 c -0.7836,0.2774 -1.5343,0.62054 -2.2489,1.02434 l 1.3505,0 c 0.3151,0 0.6148,0.0668 0.8927,0.18308 l 0,-1.04145 c 0,-0.0558 0,-0.11103 0.01,-0.16597 z m 15.01,3.54219 0,2.28896 c 0,0.23084 -0.044,0.45116 -0.1087,0.66381 l 2.3061,0 c -0.6051,-1.07785 -1.344,-2.07019 -2.1974,-2.95277 z m -21.4019,1.00715 c -1.3992,1.74551 -2.3993,3.82178 -2.8555,6.09438 0.2602,-0.10007 0.5386,-0.1545 0.8297,-0.1545 l 2.2146,0 c 0.1937,-0.72137 0.454,-1.41519 0.7783,-2.07154 -0.5821,-0.43809 -0.9671,-1.13184 -0.9671,-1.89985 l 0,-1.96849 z m 25.4133,9.20166 c -0.4236,0.38141 -0.978,0.61804 -1.5794,0.61804 l -1.3905,0 c -0.3982,5.013 -4.0238,9.09074 -8.8126,10.15732 0.3009,0.75916 0.6757,1.53766 1.1388,2.3462 0.062,0.10877 0.1112,0.22794 0.1431,0.34906 5.9524,-1.63535 10.3676,-7.03997 10.5006,-13.47062 z m -27.6851,4.59511 c 1.5579,4.25507 5.0895,7.5671 9.4763,8.82974 -0.4365,-1.15923 -0.6865,-2.30036 -0.8068,-3.4106 -2.3597,-1.084 -4.2822,-2.94729 -5.4306,-5.27036 -0.06,-0.0453 -0.1196,-0.0908 -0.1774,-0.13731 l -2.8154,0 c -0.083,0 -0.1653,-0.004 -0.2461,-0.0115 z" - style="font-size:medium;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-indent:0;text-align:start;text-decoration:none;line-height:normal;letter-spacing:normal;word-spacing:normal;text-transform:none;direction:ltr;block-progression:tb;writing-mode:lr-tb;text-anchor:start;color:#000000;fill:#000000;fill-opacity:1;stroke:none;stroke-width:17.92433548;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate;font-family:Sans;-inkscape-font-specification:Sans" + d="m 2074.0709,985.03549 c 0.067,0.22429 0.1035,0.45882 0.1035,0.70196 v 0.9156 c 0.4601,-0.44783 1.0806,-0.73251 1.758,-0.73251 h 0.9155 c -0.8856,-0.3813 -1.8152,-0.67669 -2.7773,-0.88505 z m -8.2891,0.52493 c -0.8359,0.29589 -1.6366,0.66191 -2.3989,1.09263 h 1.4406 c 0.3361,0 0.6558,0.0712 0.9522,0.19528 v -1.11088 c 0,-0.0595 0,-0.11843 0.011,-0.17703 z m 16.0106,3.77833 v 2.44156 c 0,0.24623 -0.047,0.48124 -0.1159,0.70806 h 2.4598 c -0.6454,-1.1497 -1.4336,-2.2082 -2.3439,-3.14962 z m -22.8287,1.0743 c -1.4924,1.86187 -2.5592,4.07656 -3.0458,6.50067 0.2775,-0.10674 0.5745,-0.1648 0.885,-0.1648 h 2.3622 c 0.2066,-0.76946 0.4843,-1.50954 0.8302,-2.20965 -0.6209,-0.46729 -1.0316,-1.20729 -1.0316,-2.0265 z m 27.1076,9.81505 c -0.4519,0.4069 -1.0432,0.6593 -1.6847,0.6593 h -1.4832 c -0.4248,5.3472 -4.2921,9.6968 -9.4001,10.8345 0.3209,0.8097 0.7207,1.6401 1.2147,2.5026 0.066,0.116 0.1186,0.2431 0.1526,0.3723 6.3492,-1.7444 11.0588,-7.5093 11.2007,-14.3687 z m -29.5308,4.9015 c 1.6617,4.5387 5.4288,8.0716 10.108,9.4184 -0.4656,-1.2365 -0.7322,-2.4537 -0.8606,-3.638 -2.517,-1.1563 -4.5676,-3.1438 -5.7926,-5.6217 -0.064,-0.048 -0.1276,-0.097 -0.1892,-0.1465 h -3.0031 c -0.088,0 -0.1763,0 -0.2625,-0.012 z" + style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:Sans;-inkscape-font-specification:Sans;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-anchor:start;display:inline;overflow:visible;visibility:visible;fill:#000000;fill-opacity:1;stroke:none;stroke-width:19.11929131;marker:none;enable-background:accumulate" inkscape:connector-curvature="0" /> - <path - transform="matrix(0.20414546,0,0,0.20414546,1872.5145,842.83929)" - sodipodi:type="arc" - style="fill:url(#radialGradient4295);fill-opacity:1;stroke:none" + <circle + style="fill:url(#radialGradient4295);fill-opacity:1;stroke:none;stroke-width:0.21775515" id="path5530" - sodipodi:cx="337.53741" - sodipodi:cy="463.29471" - sodipodi:rx="78.375488" - sodipodi:ry="78.375488" - d="m 415.9129,463.29471 c 0,43.28559 -35.0899,78.37549 -78.37549,78.37549 -43.28558,0 -78.37548,-35.0899 -78.37548,-78.37549 0,-43.28559 35.0899,-78.37549 78.37548,-78.37549 43.28559,0 78.37549,35.0899 78.37549,78.37549 z" /> + cx="2070.8494" + cy="999.91339" + r="17.066668" /> </g> <g id="g3535" inkscape:export-filename="C:\tuqueque\Imagenes\Svg\Logos\WinDirStat\Icons\Green\Green256.png" inkscape:export-xdpi="720" inkscape:export-ydpi="720" - transform="translate(-1734.9485,-89.49951)"> - <path - transform="matrix(0.20414546,0,0,0.20414546,1872.5145,882.83929)" - sodipodi:type="arc" - style="fill:#37c871;stroke:none" + transform="translate(-1850.6117,-95.466144)"> + <circle + style="fill:#37c871;stroke:none;stroke-width:0.21775515" id="path5534" - sodipodi:cx="337.53741" - sodipodi:cy="463.29471" - sodipodi:rx="78.375488" - sodipodi:ry="78.375488" - d="m 415.9129,463.29471 c 0,43.28559 -35.0899,78.37549 -78.37549,78.37549 -43.28558,0 -78.37548,-35.0899 -78.37548,-78.37549 0,-43.28559 35.0899,-78.37549 78.37548,-78.37549 43.28559,0 78.37549,35.0899 78.37549,78.37549 z" /> + cx="2070.8494" + cy="1042.5801" + r="17.066668" /> <path inkscape:connector-curvature="0" id="path5536" - d="m 1939.0453,963.21325 c -0.5073,0 -0.9156,0.40836 -0.9156,0.91561 l 0,3.11299 c 0,0.50725 0.4083,0.91557 0.9156,0.91557 l 2.701,0 c 0.47,2.38102 0.2663,3.43259 -0.6123,5.95707 -0.6592,-0.81319 -1.557,-1.36251 -2.5923,-1.76826 -0.8896,-0.34861 -1.6522,-0.85372 -1.9456,-1.47636 0.056,-0.11858 0.092,-0.24894 0.092,-0.38915 l 0,-3.11299 c 0,-0.50721 -0.4084,-0.91557 -0.9156,-0.91557 l -3.113,0 c -0.5073,0 -0.9156,0.40836 -0.9156,0.91557 l 0,3.11299 c 0,0.50725 0.4083,0.91561 0.9156,0.91561 l 3.113,0 c 0.2507,0 0.4758,-0.10103 0.6409,-0.26323 0.1765,0.8372 0.8452,1.36132 1.9456,1.91128 0.9936,0.49661 1.7731,1.67021 2.1574,2.80971 -0.1938,0.54583 -0.3974,1.12616 -0.6295,1.80259 -0.4351,1.29952 -0.9836,2.80582 -1.3734,4.45777 -0.4376,-0.25319 -0.9119,-0.42865 -1.4077,-0.52075 -0.2117,-0.13981 -0.3687,-0.27014 -0.4807,-0.42916 -0.3499,-0.4972 -0.1073,-1.4558 -0.2174,-2.1345 l 1.2131,0 c 0.5073,0 0.9156,-0.40832 0.9156,-0.91557 l 0,-3.11303 c 0,-0.50721 -0.4083,-0.91557 -0.9156,-0.91557 l -3.1073,0 c -0.5072,0 -0.9155,0.40836 -0.9155,0.91557 l 0,3.11303 c 0,0.50725 0.4083,0.91557 0.9155,0.91557 l 1.671,0 c -0.029,0.71343 -0.5596,1.8116 -0.103,2.46065 0,0.005 0.01,0.0119 0.011,0.0171 -0.031,1.2e-4 -0.061,0 -0.092,0 -1.8587,0.0373 -2.9081,-0.25168 -3.9828,-0.92133 0.1622,-0.16502 0.2632,-0.39585 0.2632,-0.64662 l 0,-3.10727 c 0,-0.50725 -0.4083,-0.91561 -0.9156,-0.91561 l -3.113,0 c -0.5072,0 -0.9156,0.40836 -0.9156,0.91561 l 0,3.10727 c 0,0.50725 0.4084,0.91561 0.9156,0.91561 l 3.113,0 c 0.065,0 0.1332,-0.004 0.1946,-0.0171 0.9764,0.9407 2.3504,1.65175 4.2804,1.90557 1.213,0.15954 1.9298,0.40935 2.3919,0.76107 -0.4039,2.47712 -0.3271,5.22641 1.0301,8.08582 0.2308,0.0349 0.4581,0.0792 0.6924,0.10301 0.4825,0.049 0.9695,0.0744 1.4649,0.0744 0.4954,0 0.9882,-0.0254 1.4707,-0.0744 0.1764,-0.0179 0.7126,-0.10738 0.887,-0.13164 -2.3462,-4.0962 -2.7021,-7.76423 -1.98,-11.24457 0.263,-0.26232 0.5734,-0.4589 0.9328,-0.62376 0.8581,-0.39364 2.204,-0.67076 3.2045,-0.76107 1.966,-0.15164 4.0012,-0.76675 4.4349,-2.31758 0.164,0.15553 0.3903,0.25175 0.6352,0.25175 l 3.1073,0 c 0.5072,0 0.9156,-0.40832 0.9156,-0.91556 l 0,-3.11299 c 0,-0.50725 -0.4084,-0.91561 -0.9156,-0.91561 l -3.1073,0 c -0.5072,0 -0.9156,0.40836 -0.9156,0.91561 l 0,3.11299 c 0,0.0909 0.016,0.1747 0.04,0.25751 -0.2301,1.06769 -1.5826,1.32611 -2.8154,1.41916 0.3935,-0.43269 0.6015,-0.85856 0.8183,-1.3219 0.4278,-0.91438 0.2195,-2.08484 0.1259,-2.62659 -0.2232,-0.71927 -0.3743,-1.89497 -0.206,-2.96992 l 1.2475,0 c 0.5072,0 0.9156,-0.40836 0.9156,-0.91561 l 0,-3.11299 c 0,-0.50724 -0.4084,-0.91561 -0.9156,-0.91561 l -3.113,0 c -0.5073,0 -0.9156,0.40837 -0.9156,0.91561 l 0,3.11299 c 0,0.50725 0.4083,0.91561 0.9156,0.91561 l 1.5851,0 c -0.3561,0.91851 -0.3153,1.98445 -0.1202,3.07294 0.082,0.47481 -0.025,1.44095 -0.3491,2.13446 -0.3044,0.65067 -0.6382,1.07991 -2.0829,1.84261 -0.8839,0.0635 -1.9561,0.14584 -2.8727,0.50359 1.5403,-4.9677 0.7333,-8.22936 0.052,-10.14017 0.3881,-0.10623 0.6753,-0.45854 0.6753,-0.88123 l 0,-3.11299 c 0,-0.50725 -0.4084,-0.91561 -0.9156,-0.91561 l -3.113,0 z" - style="font-size:medium;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-indent:0;text-align:start;text-decoration:none;line-height:normal;letter-spacing:normal;word-spacing:normal;text-transform:none;direction:ltr;block-progression:tb;writing-mode:lr-tb;text-anchor:start;color:#000000;fill:#000000;fill-opacity:1;stroke:none;stroke-width:4;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate;font-family:Sans;-inkscape-font-specification:Sans" /> + d="m 2068.315,1027.4275 c -0.5411,0 -0.9767,0.4356 -0.9767,0.9766 v 3.3205 c 0,0.5411 0.4356,0.9766 0.9767,0.9766 h 2.8811 c 0.5013,2.5398 0.284,3.6615 -0.6532,6.3543 -0.7031,-0.8674 -1.6608,-1.4534 -2.7651,-1.8862 -0.9489,-0.3718 -1.7623,-0.9106 -2.0753,-1.5748 0.06,-0.1265 0.098,-0.2655 0.098,-0.4151 v -3.3205 c 0,-0.541 -0.4356,-0.9766 -0.9766,-0.9766 h -3.3205 c -0.5412,0 -0.9767,0.4356 -0.9767,0.9766 v 3.3205 c 0,0.5411 0.4355,0.9767 0.9767,0.9767 h 3.3205 c 0.2674,0 0.5075,-0.1078 0.6836,-0.2808 0.1883,0.893 0.9016,1.4521 2.0753,2.0387 1.0599,0.5297 1.8913,1.7816 2.3013,2.997 -0.2068,0.5822 -0.4239,1.2013 -0.6715,1.9228 -0.4641,1.3861 -1.0492,2.9929 -1.465,4.7549 -0.4667,-0.27 -0.9727,-0.4572 -1.5015,-0.5554 -0.2258,-0.1492 -0.3933,-0.2882 -0.5128,-0.4578 -0.3732,-0.5303 -0.1144,-1.5528 -0.2319,-2.2768 h 1.294 c 0.5411,0 0.9767,-0.4355 0.9767,-0.9766 v -3.3206 c 0,-0.541 -0.4356,-0.9766 -0.9767,-0.9766 h -3.3144 c -0.541,0 -0.9766,0.4356 -0.9766,0.9766 v 3.3206 c 0,0.5411 0.4356,0.9766 0.9766,0.9766 h 1.7824 c -0.031,0.761 -0.5969,1.9324 -0.1099,2.6247 0,0.01 0.011,0.013 0.012,0.018 -0.033,2e-4 -0.065,0 -0.098,0 -1.9826,0.04 -3.102,-0.2684 -4.2483,-0.9827 0.173,-0.176 0.2807,-0.4222 0.2807,-0.6897 v -3.3145 c 0,-0.541 -0.4355,-0.9766 -0.9766,-0.9766 h -3.3205 c -0.5411,0 -0.9767,0.4356 -0.9767,0.9766 v 3.3145 c 0,0.541 0.4356,0.9766 0.9767,0.9766 h 3.3205 c 0.069,0 0.1421,0 0.2076,-0.018 1.0415,1.0034 2.5071,1.7618 4.5657,2.0326 1.2939,0.1702 2.0585,0.4366 2.5514,0.8118 -0.4308,2.6423 -0.3489,5.5748 1.0988,8.6249 0.2461,0.037 0.4886,0.084 0.7385,0.1098 0.5147,0.052 1.0341,0.079 1.5626,0.079 0.5284,0 1.0541,-0.027 1.5687,-0.079 0.1882,-0.019 0.7601,-0.1145 0.9462,-0.1404 -2.5027,-4.3693 -2.8823,-8.2818 -2.112,-11.9942 0.2805,-0.2798 0.6116,-0.4895 0.9949,-0.6653 0.9153,-0.4199 2.351,-0.7155 3.4182,-0.8118 2.097,-0.1618 4.2679,-0.8179 4.7305,-2.4721 0.175,0.1659 0.4164,0.2685 0.6776,0.2685 h 3.3144 c 0.541,0 0.9767,-0.4355 0.9767,-0.9766 v -3.3205 c 0,-0.5411 -0.4357,-0.9767 -0.9767,-0.9767 h -3.3144 c -0.541,0 -0.9767,0.4356 -0.9767,0.9767 v 3.3205 c 0,0.097 0.017,0.1864 0.043,0.2747 -0.2454,1.1389 -1.6881,1.4145 -3.0031,1.5138 0.4197,-0.4616 0.6416,-0.9158 0.8729,-1.4101 0.4563,-0.9753 0.2341,-2.2238 0.1343,-2.8017 -0.2381,-0.7672 -0.3993,-2.0213 -0.2198,-3.1679 h 1.3307 c 0.541,0 0.9766,-0.4356 0.9766,-0.9766 v -3.3205 c 0,-0.5411 -0.4356,-0.9767 -0.9766,-0.9767 h -3.3205 c -0.5412,0 -0.9767,0.4356 -0.9767,0.9767 v 3.3205 c 0,0.541 0.4355,0.9766 0.9767,0.9766 h 1.6907 c -0.3798,0.9798 -0.3363,2.1168 -0.1282,3.2778 0.087,0.5065 -0.027,1.537 -0.3724,2.2768 -0.3246,0.694 -0.6807,1.1519 -2.2217,1.9654 -0.9428,0.068 -2.0865,0.1556 -3.0642,0.5372 1.643,-5.2989 0.7822,-8.778 0.055,-10.8162 0.414,-0.1133 0.7204,-0.4891 0.7204,-0.94 v -3.3205 c 0,-0.541 -0.4357,-0.9766 -0.9767,-0.9766 z" + style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:Sans;-inkscape-font-specification:Sans;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-anchor:start;display:inline;overflow:visible;visibility:visible;fill:#000000;fill-opacity:1;stroke:none;stroke-width:4.26666689;marker:none;enable-background:accumulate" /> <path inkscape:connector-curvature="0" - style="font-size:medium;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-indent:0;text-align:start;text-decoration:none;line-height:normal;letter-spacing:normal;word-spacing:normal;text-transform:none;direction:ltr;block-progression:tb;writing-mode:lr-tb;text-anchor:start;color:#000000;fill:#000000;fill-opacity:1;stroke:none;stroke-width:17.92433548;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate;font-family:Sans;-inkscape-font-specification:Sans" - d="m 1944.4415,963.47077 c 0.063,0.21027 0.097,0.43015 0.097,0.65809 l 0,0.85837 c 0.4313,-0.41984 1.0131,-0.68672 1.6481,-0.68672 l 0.8583,0 c -0.8302,-0.35747 -1.7017,-0.6344 -2.6037,-0.82974 z m -7.7711,0.49212 c -0.7836,0.2774 -1.5343,0.62054 -2.2489,1.02434 l 1.3505,0 c 0.3151,0 0.6148,0.0668 0.8927,0.18308 l 0,-1.04145 c 0,-0.0558 0,-0.11103 0.01,-0.16597 z m 15.01,3.54219 0,2.28896 c 0,0.23084 -0.044,0.45116 -0.1087,0.66381 l 2.3061,0 c -0.6051,-1.07785 -1.344,-2.07019 -2.1974,-2.95277 z m -21.4019,1.00715 c -1.3992,1.74551 -2.3993,3.82178 -2.8555,6.09438 0.2602,-0.10007 0.5386,-0.1545 0.8297,-0.1545 l 2.2146,0 c 0.1937,-0.72137 0.454,-1.41519 0.7783,-2.07154 -0.5821,-0.43809 -0.9671,-1.13184 -0.9671,-1.89985 l 0,-1.96849 z m 25.4133,9.20166 c -0.4236,0.38141 -0.978,0.61804 -1.5794,0.61804 l -1.3905,0 c -0.3982,5.013 -4.0238,9.09074 -8.8126,10.15732 0.3009,0.75916 0.6757,1.53766 1.1388,2.3462 0.062,0.10877 0.1112,0.22794 0.1431,0.34906 5.9524,-1.63535 10.3676,-7.03997 10.5006,-13.47062 z m -27.6851,4.59511 c 1.5579,4.25507 5.0895,7.5671 9.4763,8.82974 -0.4365,-1.15923 -0.6865,-2.30036 -0.8068,-3.4106 -2.3597,-1.084 -4.2822,-2.94729 -5.4306,-5.27036 -0.06,-0.0453 -0.1196,-0.0908 -0.1774,-0.13731 l -2.8154,0 c -0.083,0 -0.1653,-0.004 -0.2461,-0.0115 z" + style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:Sans;-inkscape-font-specification:Sans;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-anchor:start;display:inline;overflow:visible;visibility:visible;fill:#000000;fill-opacity:1;stroke:none;stroke-width:19.11929131;marker:none;enable-background:accumulate" + d="m 2074.0709,1027.7022 c 0.067,0.2242 0.1035,0.4588 0.1035,0.7019 v 0.9156 c 0.4601,-0.4478 1.0806,-0.7325 1.758,-0.7325 h 0.9155 c -0.8856,-0.3813 -1.8152,-0.6767 -2.7773,-0.885 z m -8.2891,0.5249 c -0.8359,0.2959 -1.6366,0.6619 -2.3989,1.0926 h 1.4406 c 0.3361,0 0.6558,0.071 0.9522,0.1953 v -1.1109 c 0,-0.06 0,-0.1184 0.011,-0.177 z m 16.0106,3.7783 v 2.4416 c 0,0.2462 -0.047,0.4812 -0.1159,0.708 h 2.4598 c -0.6454,-1.1497 -1.4336,-2.2082 -2.3439,-3.1496 z m -22.8287,1.0743 c -1.4924,1.8619 -2.5592,4.0766 -3.0458,6.5007 0.2775,-0.1068 0.5745,-0.1648 0.885,-0.1648 h 2.3622 c 0.2066,-0.7695 0.4843,-1.5096 0.8302,-2.2097 -0.6209,-0.4673 -1.0316,-1.2073 -1.0316,-2.0265 z m 27.1076,9.8151 c -0.4519,0.4069 -1.0432,0.6593 -1.6847,0.6593 h -1.4832 c -0.4248,5.3472 -4.2921,9.6967 -9.4001,10.8344 0.3209,0.8098 0.7207,1.6402 1.2147,2.5026 0.066,0.1161 0.1186,0.2432 0.1526,0.3724 6.3492,-1.7444 11.0588,-7.5093 11.2007,-14.3687 z m -29.5308,4.9015 c 1.6617,4.5387 5.4288,8.0715 10.108,9.4184 -0.4656,-1.2366 -0.7322,-2.4538 -0.8606,-3.638 -2.517,-1.1563 -4.5676,-3.1438 -5.7926,-5.6217 -0.064,-0.048 -0.1276,-0.097 -0.1892,-0.1465 h -3.0031 c -0.088,0 -0.1763,0 -0.2625,-0.012 z" id="path5538" /> - <path - d="m 415.9129,463.29471 c 0,43.28559 -35.0899,78.37549 -78.37549,78.37549 -43.28558,0 -78.37548,-35.0899 -78.37548,-78.37549 0,-43.28559 35.0899,-78.37549 78.37548,-78.37549 43.28559,0 78.37549,35.0899 78.37549,78.37549 z" - sodipodi:ry="78.375488" - sodipodi:rx="78.375488" - sodipodi:cy="463.29471" - sodipodi:cx="337.53741" + <circle id="path5540" - style="fill:url(#radialGradient4293);fill-opacity:1;stroke:none" - sodipodi:type="arc" - transform="matrix(0.20414546,0,0,0.20414546,1872.5145,882.83929)" /> + style="fill:url(#radialGradient4293);fill-opacity:1;stroke:none;stroke-width:0.21775515" + cx="2070.8494" + cy="1042.5801" + r="17.066668" /> </g> <g id="g3541" inkscape:export-filename="C:\tuqueque\Imagenes\Svg\Logos\WinDirStat\Icons\Cyanish\Cyanish256.png" inkscape:export-xdpi="720.00275" inkscape:export-ydpi="720.00275" - transform="translate(-1734.9485,-89.49951)"> - <path - d="m 415.9129,463.29471 c 0,43.28559 -35.0899,78.37549 -78.37549,78.37549 -43.28558,0 -78.37548,-35.0899 -78.37548,-78.37549 0,-43.28559 35.0899,-78.37549 78.37548,-78.37549 43.28559,0 78.37549,35.0899 78.37549,78.37549 z" - sodipodi:ry="78.375488" - sodipodi:rx="78.375488" - sodipodi:cy="463.29471" - sodipodi:cx="337.53741" + transform="translate(-1850.6117,-95.466144)"> + <circle id="path5544" - style="fill:#37c8ab;stroke:none" - sodipodi:type="arc" - transform="matrix(0.20414546,0,0,0.20414546,1970.5145,802.83929)" /> + style="fill:#37c8ab;stroke:none;stroke-width:0.21775515" + cx="2175.3826" + cy="957.2467" + r="17.066668" /> <path - style="font-size:medium;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-indent:0;text-align:start;text-decoration:none;line-height:normal;letter-spacing:normal;word-spacing:normal;text-transform:none;direction:ltr;block-progression:tb;writing-mode:lr-tb;text-anchor:start;color:#000000;fill:#000000;fill-opacity:1;stroke:none;stroke-width:4;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate;font-family:Sans;-inkscape-font-specification:Sans" - d="m 2037.0453,883.21325 c -0.5073,0 -0.9156,0.40836 -0.9156,0.91561 l 0,3.11299 c 0,0.50725 0.4083,0.91557 0.9156,0.91557 l 2.701,0 c 0.47,2.38102 0.2663,3.43259 -0.6123,5.95707 -0.6592,-0.81319 -1.557,-1.36251 -2.5923,-1.76826 -0.8896,-0.34861 -1.6522,-0.85372 -1.9456,-1.47636 0.056,-0.11858 0.092,-0.24894 0.092,-0.38915 l 0,-3.11299 c 0,-0.50721 -0.4084,-0.91557 -0.9156,-0.91557 l -3.113,0 c -0.5073,0 -0.9156,0.40836 -0.9156,0.91557 l 0,3.11299 c 0,0.50725 0.4083,0.91561 0.9156,0.91561 l 3.113,0 c 0.2507,0 0.4759,-0.10103 0.6409,-0.26323 0.1765,0.8372 0.8452,1.36132 1.9456,1.91128 0.9936,0.49661 1.7731,1.67021 2.1574,2.80971 -0.1938,0.54583 -0.3974,1.12616 -0.6295,1.80259 -0.4351,1.29952 -0.9836,2.80582 -1.3734,4.45777 -0.4376,-0.25319 -0.9119,-0.42865 -1.4077,-0.52075 -0.2117,-0.13981 -0.3687,-0.27014 -0.4807,-0.42916 -0.3499,-0.4972 -0.1073,-1.4558 -0.2174,-2.1345 l 1.2131,0 c 0.5073,0 0.9156,-0.40832 0.9156,-0.91557 l 0,-3.11303 c 0,-0.50721 -0.4083,-0.91557 -0.9156,-0.91557 l -3.1073,0 c -0.5072,0 -0.9155,0.40836 -0.9155,0.91557 l 0,3.11303 c 0,0.50725 0.4083,0.91557 0.9155,0.91557 l 1.671,0 c -0.029,0.71343 -0.5596,1.8116 -0.103,2.46065 0,0.005 0.01,0.0119 0.011,0.0171 -0.031,1.2e-4 -0.061,0 -0.092,0 -1.8587,0.0373 -2.9081,-0.25168 -3.9828,-0.92133 0.1622,-0.16502 0.2632,-0.39585 0.2632,-0.64662 l 0,-3.10727 c 0,-0.50725 -0.4083,-0.91561 -0.9156,-0.91561 l -3.113,0 c -0.5072,0 -0.9156,0.40836 -0.9156,0.91561 l 0,3.10727 c 0,0.50725 0.4084,0.91561 0.9156,0.91561 l 3.113,0 c 0.065,0 0.1332,-0.004 0.1946,-0.0171 0.9764,0.9407 2.3504,1.65175 4.2804,1.90557 1.213,0.15954 1.9298,0.40935 2.3919,0.76107 -0.4039,2.47712 -0.3271,5.22641 1.0301,8.08582 0.2308,0.0349 0.4581,0.0792 0.6924,0.10301 0.4825,0.049 0.9695,0.0744 1.4649,0.0744 0.4954,0 0.9882,-0.0254 1.4707,-0.0744 0.1764,-0.0179 0.7126,-0.10738 0.887,-0.13164 -2.3462,-4.0962 -2.7021,-7.76423 -1.98,-11.24457 0.263,-0.26232 0.5734,-0.4589 0.9328,-0.62376 0.8581,-0.39364 2.204,-0.67076 3.2045,-0.76107 1.966,-0.15164 4.0012,-0.76675 4.4349,-2.31758 0.164,0.15553 0.3903,0.25175 0.6352,0.25175 l 3.1073,0 c 0.5072,0 0.9156,-0.40832 0.9156,-0.91556 l 0,-3.11299 c 0,-0.50725 -0.4084,-0.91561 -0.9156,-0.91561 l -3.1073,0 c -0.5072,0 -0.9156,0.40836 -0.9156,0.91561 l 0,3.11299 c 0,0.0909 0.016,0.1747 0.04,0.25751 -0.2301,1.06769 -1.5826,1.32611 -2.8154,1.41916 0.3935,-0.43269 0.6015,-0.85856 0.8183,-1.3219 0.4278,-0.91438 0.2195,-2.08484 0.1259,-2.62659 -0.2232,-0.71927 -0.3743,-1.89497 -0.206,-2.96992 l 1.2475,0 c 0.5072,0 0.9156,-0.40836 0.9156,-0.91561 l 0,-3.11299 c 0,-0.50724 -0.4084,-0.91561 -0.9156,-0.91561 l -3.113,0 c -0.5073,0 -0.9156,0.40837 -0.9156,0.91561 l 0,3.11299 c 0,0.50725 0.4083,0.91561 0.9156,0.91561 l 1.5851,0 c -0.3561,0.91851 -0.3153,1.98445 -0.1202,3.07294 0.082,0.47481 -0.025,1.44095 -0.3491,2.13446 -0.3044,0.65067 -0.6382,1.07991 -2.0829,1.84261 -0.8839,0.0635 -1.9561,0.14584 -2.8727,0.50359 1.5403,-4.9677 0.7333,-8.22936 0.052,-10.14017 0.3881,-0.10623 0.6753,-0.45854 0.6753,-0.88123 l 0,-3.11299 c 0,-0.50725 -0.4084,-0.91561 -0.9156,-0.91561 l -3.113,0 z" + style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:Sans;-inkscape-font-specification:Sans;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-anchor:start;display:inline;overflow:visible;visibility:visible;fill:#000000;fill-opacity:1;stroke:none;stroke-width:4.26666689;marker:none;enable-background:accumulate" + d="m 2172.8483,942.09413 c -0.5411,0 -0.9766,0.43559 -0.9766,0.97665 v 3.32053 c 0,0.54106 0.4355,0.9766 0.9766,0.9766 h 2.8811 c 0.5013,2.53976 0.284,3.66143 -0.6531,6.35421 -0.7032,-0.8674 -1.6608,-1.45334 -2.7652,-1.88614 -0.9489,-0.37185 -1.7623,-0.91064 -2.0753,-1.57479 0.06,-0.12648 0.098,-0.26553 0.098,-0.41509 v -3.32052 c 0,-0.54103 -0.4357,-0.97661 -0.9767,-0.97661 h -3.3205 c -0.5411,0 -0.9766,0.43558 -0.9766,0.97661 v 3.32052 c 0,0.54107 0.4355,0.97665 0.9766,0.97665 h 3.3205 c 0.2674,0 0.5077,-0.10776 0.6837,-0.28078 0.1882,0.89302 0.9015,1.45208 2.0753,2.0387 1.0598,0.52972 1.8913,1.78156 2.3012,2.99703 -0.2067,0.58221 -0.4239,1.20123 -0.6715,1.92276 -0.4641,1.38615 -1.0491,2.99287 -1.4649,4.75495 -0.4668,-0.27007 -0.9727,-0.45722 -1.5016,-0.55546 -0.2258,-0.14913 -0.3933,-0.28815 -0.5127,-0.45777 -0.3733,-0.53035 -0.1145,-1.55286 -0.2319,-2.2768 h 1.294 c 0.5411,0 0.9766,-0.43555 0.9766,-0.97661 v -3.32057 c 0,-0.54102 -0.4355,-0.97661 -0.9766,-0.97661 h -3.3145 c -0.541,0 -0.9765,0.43559 -0.9765,0.97661 v 3.32057 c 0,0.54106 0.4355,0.97661 0.9765,0.97661 h 1.7824 c -0.031,0.76099 -0.5969,1.93237 -0.1099,2.62469 0,0.005 0.011,0.0127 0.012,0.0182 -0.033,1.3e-4 -0.065,0 -0.098,0 -1.9826,0.0398 -3.1019,-0.26846 -4.2483,-0.98275 0.173,-0.17602 0.2808,-0.42224 0.2808,-0.68973 v -3.31442 c 0,-0.54107 -0.4356,-0.97665 -0.9767,-0.97665 h -3.3205 c -0.541,0 -0.9767,0.43558 -0.9767,0.97665 v 3.31442 c 0,0.54107 0.4357,0.97665 0.9767,0.97665 h 3.3205 c 0.069,0 0.1421,-0.004 0.2076,-0.0182 1.0415,1.00341 2.5071,1.76187 4.5658,2.03261 1.2938,0.17017 2.0584,0.43664 2.5513,0.81181 -0.4308,2.64226 -0.3489,5.57483 1.0988,8.62487 0.2462,0.0372 0.4886,0.0845 0.7385,0.10988 0.5147,0.0523 1.0342,0.0794 1.5626,0.0794 0.5284,0 1.0541,-0.0271 1.5688,-0.0794 0.1881,-0.0191 0.7601,-0.11454 0.9461,-0.14042 -2.5026,-4.36928 -2.8823,-8.28184 -2.112,-11.99421 0.2805,-0.2798 0.6116,-0.48949 0.995,-0.66534 0.9153,-0.41988 2.3509,-0.71548 3.4181,-0.81181 2.0971,-0.16175 4.268,-0.81786 4.7306,-2.47208 0.1749,0.1659 0.4163,0.26853 0.6775,0.26853 h 3.3145 c 0.541,0 0.9766,-0.43554 0.9766,-0.9766 v -3.32052 c 0,-0.54107 -0.4356,-0.97665 -0.9766,-0.97665 h -3.3145 c -0.541,0 -0.9766,0.43558 -0.9766,0.97665 v 3.32052 c 0,0.097 0.017,0.18635 0.043,0.27468 -0.2454,1.13887 -1.6881,1.41452 -3.0031,1.51377 0.4198,-0.46154 0.6416,-0.9158 0.8729,-1.41003 0.4563,-0.97533 0.2341,-2.22383 0.1343,-2.80169 -0.2381,-0.76722 -0.3993,-2.0213 -0.2197,-3.16792 h 1.3306 c 0.541,0 0.9767,-0.43558 0.9767,-0.97665 v -3.32052 c 0,-0.54106 -0.4357,-0.97665 -0.9767,-0.97665 h -3.3205 c -0.5411,0 -0.9766,0.43559 -0.9766,0.97665 v 3.32052 c 0,0.54107 0.4355,0.97665 0.9766,0.97665 h 1.6908 c -0.3799,0.97975 -0.3364,2.11675 -0.1282,3.27781 0.087,0.50646 -0.027,1.53701 -0.3724,2.27675 -0.3247,0.69405 -0.6808,1.15191 -2.2218,1.96545 -0.9428,0.0677 -2.0865,0.15557 -3.0642,0.53717 1.643,-5.29888 0.7822,-8.77799 0.055,-10.81618 0.4139,-0.11332 0.7203,-0.48911 0.7203,-0.93998 v -3.32053 c 0,-0.54106 -0.4356,-0.97665 -0.9766,-0.97665 z" id="path5546" inkscape:connector-curvature="0" /> <path id="path5548" - d="m 2042.4415,883.47077 c 0.063,0.21027 0.097,0.43015 0.097,0.65809 l 0,0.85837 c 0.4313,-0.41984 1.0131,-0.68672 1.6481,-0.68672 l 0.8583,0 c -0.8302,-0.35747 -1.7017,-0.6344 -2.6037,-0.82974 z m -7.771,0.49212 c -0.7837,0.2774 -1.5344,0.62054 -2.249,1.02434 l 1.3505,0 c 0.3151,0 0.6148,0.0668 0.8927,0.18308 l 0,-1.04145 c 0,-0.0558 0,-0.11103 0.01,-0.16597 z m 15.0099,3.54219 0,2.28896 c 0,0.23084 -0.044,0.45116 -0.1087,0.66381 l 2.3061,0 c -0.6051,-1.07785 -1.344,-2.07019 -2.1974,-2.95277 z m -21.4019,1.00715 c -1.3992,1.74551 -2.3993,3.82178 -2.8555,6.09438 0.2602,-0.10007 0.5386,-0.1545 0.8298,-0.1545 l 2.2145,0 c 0.1937,-0.72137 0.454,-1.41519 0.7783,-2.07154 -0.5821,-0.43809 -0.9671,-1.13184 -0.9671,-1.89985 l 0,-1.96849 z m 25.4133,9.20166 c -0.4236,0.38141 -0.978,0.61804 -1.5794,0.61804 l -1.3905,0 c -0.3982,5.013 -4.0238,9.09074 -8.8126,10.15732 0.3009,0.75916 0.6757,1.53766 1.1388,2.3462 0.062,0.10877 0.1112,0.22794 0.1431,0.34906 5.9524,-1.63535 10.3676,-7.03997 10.5006,-13.47062 z m -27.6851,4.59511 c 1.5579,4.25507 5.0895,7.5671 9.4763,8.82974 -0.4365,-1.15923 -0.6865,-2.30036 -0.8068,-3.4106 -2.3597,-1.084 -4.2822,-2.94729 -5.4306,-5.27036 -0.06,-0.0453 -0.1196,-0.0908 -0.1774,-0.13731 l -2.8154,0 c -0.083,0 -0.1653,-0.004 -0.2461,-0.0115 z" - style="font-size:medium;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-indent:0;text-align:start;text-decoration:none;line-height:normal;letter-spacing:normal;word-spacing:normal;text-transform:none;direction:ltr;block-progression:tb;writing-mode:lr-tb;text-anchor:start;color:#000000;fill:#000000;fill-opacity:1;stroke:none;stroke-width:17.92433548;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate;font-family:Sans;-inkscape-font-specification:Sans" + d="m 2178.6043,942.36882 c 0.067,0.22429 0.1034,0.45883 0.1034,0.70196 v 0.9156 c 0.4601,-0.44783 1.0807,-0.7325 1.758,-0.7325 h 0.9155 c -0.8855,-0.3813 -1.8151,-0.6767 -2.7773,-0.88506 z m -8.2891,0.52493 c -0.8359,0.29589 -1.6367,0.66191 -2.3989,1.09263 h 1.4405 c 0.3361,0 0.6558,0.0712 0.9522,0.19528 v -1.11088 c 0,-0.0595 0,-0.11843 0.011,-0.17703 z m 16.0106,3.77834 v 2.44155 c 0,0.24623 -0.047,0.48124 -0.116,0.70807 h 2.4599 c -0.6455,-1.14971 -1.4336,-2.20821 -2.3439,-3.14962 z m -22.8287,1.07429 c -1.4925,1.86188 -2.5593,4.07656 -3.0459,6.50067 0.2775,-0.10674 0.5745,-0.1648 0.8851,-0.1648 h 2.3622 c 0.2066,-0.76946 0.4842,-1.50954 0.8301,-2.20964 -0.6209,-0.4673 -1.0315,-1.2073 -1.0315,-2.02651 z m 27.1075,9.8151 c -0.4519,0.40684 -1.0432,0.65925 -1.6847,0.65925 h -1.4832 c -0.4248,5.3472 -4.2921,9.69678 -9.4001,10.83447 0.3209,0.80977 0.7207,1.64017 1.2147,2.50261 0.066,0.11602 0.1186,0.24314 0.1526,0.37233 6.3493,-1.74437 11.0588,-7.5093 11.2007,-14.36866 z m -29.5308,4.90145 c 1.6618,4.53874 5.4288,8.07158 10.1081,9.41839 -0.4656,-1.23651 -0.7323,-2.45371 -0.8606,-3.63797 -2.517,-1.15627 -4.5677,-3.14378 -5.7927,-5.62172 -0.064,-0.0483 -0.1275,-0.0969 -0.1892,-0.14646 h -3.0031 c -0.088,0 -0.1763,-0.004 -0.2625,-0.0123 z" + style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:Sans;-inkscape-font-specification:Sans;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-anchor:start;display:inline;overflow:visible;visibility:visible;fill:#000000;fill-opacity:1;stroke:none;stroke-width:19.11929131;marker:none;enable-background:accumulate" inkscape:connector-curvature="0" /> - <path - transform="matrix(0.20414546,0,0,0.20414546,1970.5145,802.83929)" - sodipodi:type="arc" - style="fill:url(#radialGradient4291);fill-opacity:1;stroke:none" + <circle + style="fill:url(#radialGradient4291);fill-opacity:1;stroke:none;stroke-width:0.21775515" id="path5550" - sodipodi:cx="337.53741" - sodipodi:cy="463.29471" - sodipodi:rx="78.375488" - sodipodi:ry="78.375488" - d="m 415.9129,463.29471 c 0,43.28559 -35.0899,78.37549 -78.37549,78.37549 -43.28558,0 -78.37548,-35.0899 -78.37548,-78.37549 0,-43.28559 35.0899,-78.37549 78.37548,-78.37549 43.28559,0 78.37549,35.0899 78.37549,78.37549 z" /> + cx="2175.3826" + cy="957.2467" + r="17.066668" /> </g> <g id="g3547" inkscape:export-filename="C:\tuqueque\Imagenes\Svg\Logos\WinDirStat\Icons\Cyan\Cyan48.png" inkscape:export-xdpi="135.00052" inkscape:export-ydpi="135.00052" - transform="translate(-1734.9485,-89.49951)"> - <path - transform="matrix(0.20414546,0,0,0.20414546,1970.5145,842.83929)" - sodipodi:type="arc" - style="fill:#80b3ff;stroke:none" + transform="translate(-1850.6117,-95.466144)"> + <circle + style="fill:#80b3ff;stroke:none;stroke-width:0.21775515" id="path5554" - sodipodi:cx="337.53741" - sodipodi:cy="463.29471" - sodipodi:rx="78.375488" - sodipodi:ry="78.375488" - d="m 415.9129,463.29471 c 0,43.28559 -35.0899,78.37549 -78.37549,78.37549 -43.28558,0 -78.37548,-35.0899 -78.37548,-78.37549 0,-43.28559 35.0899,-78.37549 78.37548,-78.37549 43.28559,0 78.37549,35.0899 78.37549,78.37549 z" /> + cx="2175.3826" + cy="999.91339" + r="17.066668" /> <path inkscape:connector-curvature="0" id="path5556" - d="m 2037.0453,923.21325 c -0.5073,0 -0.9156,0.40836 -0.9156,0.91561 l 0,3.11299 c 0,0.50725 0.4083,0.91557 0.9156,0.91557 l 2.701,0 c 0.47,2.38102 0.2663,3.43259 -0.6123,5.95707 -0.6592,-0.81319 -1.557,-1.36251 -2.5923,-1.76826 -0.8896,-0.34861 -1.6522,-0.85372 -1.9456,-1.47636 0.056,-0.11858 0.092,-0.24894 0.092,-0.38915 l 0,-3.11299 c 0,-0.50721 -0.4084,-0.91557 -0.9156,-0.91557 l -3.113,0 c -0.5073,0 -0.9156,0.40836 -0.9156,0.91557 l 0,3.11299 c 0,0.50725 0.4083,0.91561 0.9156,0.91561 l 3.113,0 c 0.2507,0 0.4759,-0.10103 0.6409,-0.26323 0.1765,0.8372 0.8452,1.36132 1.9456,1.91128 0.9936,0.49661 1.7731,1.67021 2.1574,2.80971 -0.1938,0.54583 -0.3974,1.12616 -0.6295,1.80259 -0.4351,1.29952 -0.9836,2.80582 -1.3734,4.45777 -0.4376,-0.25319 -0.9119,-0.42865 -1.4077,-0.52075 -0.2117,-0.13981 -0.3687,-0.27014 -0.4807,-0.42916 -0.3499,-0.4972 -0.1073,-1.4558 -0.2174,-2.1345 l 1.2131,0 c 0.5073,0 0.9156,-0.40832 0.9156,-0.91557 l 0,-3.11303 c 0,-0.50721 -0.4083,-0.91557 -0.9156,-0.91557 l -3.1073,0 c -0.5072,0 -0.9155,0.40836 -0.9155,0.91557 l 0,3.11303 c 0,0.50725 0.4083,0.91557 0.9155,0.91557 l 1.671,0 c -0.029,0.71343 -0.5596,1.8116 -0.103,2.46065 0,0.005 0.01,0.0119 0.011,0.0171 -0.031,1.2e-4 -0.061,0 -0.092,0 -1.8587,0.0373 -2.9081,-0.25168 -3.9828,-0.92133 0.1622,-0.16502 0.2632,-0.39585 0.2632,-0.64662 l 0,-3.10727 c 0,-0.50725 -0.4083,-0.91561 -0.9156,-0.91561 l -3.113,0 c -0.5072,0 -0.9156,0.40836 -0.9156,0.91561 l 0,3.10727 c 0,0.50725 0.4084,0.91561 0.9156,0.91561 l 3.113,0 c 0.065,0 0.1332,-0.004 0.1946,-0.0171 0.9764,0.9407 2.3504,1.65175 4.2804,1.90557 1.213,0.15954 1.9298,0.40935 2.3919,0.76107 -0.4039,2.47712 -0.3271,5.22641 1.0301,8.08582 0.2308,0.0349 0.4581,0.0792 0.6924,0.10301 0.4825,0.049 0.9695,0.0744 1.4649,0.0744 0.4954,0 0.9882,-0.0254 1.4707,-0.0744 0.1764,-0.0179 0.7126,-0.10738 0.887,-0.13164 -2.3462,-4.0962 -2.7021,-7.76423 -1.98,-11.24457 0.263,-0.26232 0.5734,-0.4589 0.9328,-0.62376 0.8581,-0.39364 2.204,-0.67076 3.2045,-0.76107 1.966,-0.15164 4.0012,-0.76675 4.4349,-2.31758 0.164,0.15553 0.3903,0.25175 0.6352,0.25175 l 3.1073,0 c 0.5072,0 0.9156,-0.40832 0.9156,-0.91556 l 0,-3.11299 c 0,-0.50725 -0.4084,-0.91561 -0.9156,-0.91561 l -3.1073,0 c -0.5072,0 -0.9156,0.40836 -0.9156,0.91561 l 0,3.11299 c 0,0.0909 0.016,0.1747 0.04,0.25751 -0.2301,1.06769 -1.5826,1.32611 -2.8154,1.41916 0.3935,-0.43269 0.6015,-0.85856 0.8183,-1.3219 0.4278,-0.91438 0.2195,-2.08484 0.1259,-2.62659 -0.2232,-0.71927 -0.3743,-1.89497 -0.206,-2.96992 l 1.2475,0 c 0.5072,0 0.9156,-0.40836 0.9156,-0.91561 l 0,-3.11299 c 0,-0.50724 -0.4084,-0.91561 -0.9156,-0.91561 l -3.113,0 c -0.5073,0 -0.9156,0.40837 -0.9156,0.91561 l 0,3.11299 c 0,0.50725 0.4083,0.91561 0.9156,0.91561 l 1.5851,0 c -0.3561,0.91851 -0.3153,1.98445 -0.1202,3.07294 0.082,0.47481 -0.025,1.44095 -0.3491,2.13446 -0.3044,0.65067 -0.6382,1.07991 -2.0829,1.84261 -0.8839,0.0635 -1.9561,0.14584 -2.8727,0.50359 1.5403,-4.9677 0.7333,-8.22936 0.052,-10.14017 0.3881,-0.10623 0.6753,-0.45854 0.6753,-0.88123 l 0,-3.11299 c 0,-0.50725 -0.4084,-0.91561 -0.9156,-0.91561 l -3.113,0 z" - style="font-size:medium;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-indent:0;text-align:start;text-decoration:none;line-height:normal;letter-spacing:normal;word-spacing:normal;text-transform:none;direction:ltr;block-progression:tb;writing-mode:lr-tb;text-anchor:start;color:#000000;fill:#000000;fill-opacity:1;stroke:none;stroke-width:4;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate;font-family:Sans;-inkscape-font-specification:Sans" /> + d="m 2172.8483,984.7608 c -0.5411,0 -0.9766,0.43558 -0.9766,0.97665 v 3.32052 c 0,0.54107 0.4355,0.97661 0.9766,0.97661 h 2.8811 c 0.5013,2.53976 0.284,3.66143 -0.6531,6.35421 -0.7032,-0.8674 -1.6608,-1.45334 -2.7652,-1.88614 -0.9489,-0.37186 -1.7623,-0.91064 -2.0753,-1.57479 0.06,-0.12648 0.098,-0.26553 0.098,-0.41509 v -3.32052 c 0,-0.54103 -0.4357,-0.97661 -0.9767,-0.97661 h -3.3205 c -0.5411,0 -0.9766,0.43558 -0.9766,0.97661 v 3.32052 c 0,0.54106 0.4355,0.97665 0.9766,0.97665 h 3.3205 c 0.2674,0 0.5077,-0.10777 0.6837,-0.28078 0.1882,0.89301 0.9015,1.45207 2.0753,2.0387 1.0598,0.52972 1.8913,1.78156 2.3012,2.99702 -0.2067,0.58222 -0.4239,1.20124 -0.6715,1.92274 -0.4641,1.3862 -1.0491,2.9929 -1.4649,4.755 -0.4668,-0.2701 -0.9727,-0.4572 -1.5016,-0.5555 -0.2258,-0.1491 -0.3933,-0.2881 -0.5127,-0.4578 -0.3733,-0.5303 -0.1145,-1.5528 -0.2319,-2.2768 h 1.294 c 0.5411,0 0.9766,-0.4355 0.9766,-0.9766 v -3.32053 c 0,-0.54102 -0.4355,-0.97661 -0.9766,-0.97661 h -3.3145 c -0.541,0 -0.9765,0.43559 -0.9765,0.97661 v 3.32053 c 0,0.5411 0.4355,0.9766 0.9765,0.9766 h 1.7824 c -0.031,0.761 -0.5969,1.9324 -0.1099,2.6247 0,0.01 0.011,0.013 0.012,0.018 -0.033,10e-5 -0.065,0 -0.098,0 -1.9826,0.04 -3.1019,-0.2685 -4.2483,-0.9828 0.173,-0.176 0.2808,-0.4222 0.2808,-0.6897 v -3.31443 c 0,-0.54106 -0.4356,-0.97665 -0.9767,-0.97665 h -3.3205 c -0.541,0 -0.9767,0.43559 -0.9767,0.97665 v 3.31443 c 0,0.5411 0.4357,0.9766 0.9767,0.9766 h 3.3205 c 0.069,0 0.1421,0 0.2076,-0.018 1.0415,1.0034 2.5071,1.7619 4.5658,2.0326 1.2938,0.1702 2.0584,0.4367 2.5513,0.8118 -0.4308,2.6423 -0.3489,5.5749 1.0988,8.6249 0.2462,0.037 0.4886,0.084 0.7385,0.1099 0.5147,0.052 1.0342,0.079 1.5626,0.079 0.5284,0 1.0541,-0.027 1.5688,-0.079 0.1881,-0.019 0.7601,-0.1146 0.9461,-0.1404 -2.5026,-4.3693 -2.8823,-8.2819 -2.112,-11.9942 0.2805,-0.2799 0.6116,-0.4895 0.995,-0.6654 0.9153,-0.4199 2.3509,-0.7155 3.4181,-0.8118 2.0971,-0.1618 4.268,-0.8179 4.7306,-2.47209 0.1749,0.1659 0.4163,0.26854 0.6775,0.26854 h 3.3145 c 0.541,0 0.9766,-0.43554 0.9766,-0.9766 v -3.32052 c 0,-0.54107 -0.4356,-0.97665 -0.9766,-0.97665 h -3.3145 c -0.541,0 -0.9766,0.43558 -0.9766,0.97665 v 3.32052 c 0,0.097 0.017,0.18635 0.043,0.27468 -0.2454,1.13887 -1.6881,1.41447 -3.0031,1.51377 0.4198,-0.46154 0.6416,-0.9158 0.8729,-1.41003 0.4563,-0.97534 0.2341,-2.22383 0.1343,-2.8017 -0.2381,-0.76722 -0.3993,-2.0213 -0.2197,-3.16791 h 1.3306 c 0.541,0 0.9767,-0.43558 0.9767,-0.97665 v -3.32052 c 0,-0.54106 -0.4357,-0.97665 -0.9767,-0.97665 h -3.3205 c -0.5411,0 -0.9766,0.43559 -0.9766,0.97665 v 3.32052 c 0,0.54107 0.4355,0.97665 0.9766,0.97665 h 1.6908 c -0.3799,0.97974 -0.3364,2.11675 -0.1282,3.2778 0.087,0.50647 -0.027,1.53702 -0.3724,2.27676 -0.3247,0.69405 -0.6808,1.1519 -2.2218,1.96548 -0.9428,0.068 -2.0865,0.1555 -3.0642,0.5371 1.643,-5.29885 0.7822,-8.77795 0.055,-10.81615 0.4139,-0.11331 0.7203,-0.48911 0.7203,-0.93998 v -3.32052 c 0,-0.54107 -0.4356,-0.97665 -0.9766,-0.97665 z" + style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:Sans;-inkscape-font-specification:Sans;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-anchor:start;display:inline;overflow:visible;visibility:visible;fill:#000000;fill-opacity:1;stroke:none;stroke-width:4.26666689;marker:none;enable-background:accumulate" /> <path inkscape:connector-curvature="0" - style="font-size:medium;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-indent:0;text-align:start;text-decoration:none;line-height:normal;letter-spacing:normal;word-spacing:normal;text-transform:none;direction:ltr;block-progression:tb;writing-mode:lr-tb;text-anchor:start;color:#000000;fill:#000000;fill-opacity:1;stroke:none;stroke-width:17.92433548;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate;font-family:Sans;-inkscape-font-specification:Sans" - d="m 2042.4415,923.47077 c 0.063,0.21027 0.097,0.43015 0.097,0.65809 l 0,0.85837 c 0.4313,-0.41984 1.0131,-0.68672 1.6481,-0.68672 l 0.8583,0 c -0.8302,-0.35747 -1.7017,-0.6344 -2.6037,-0.82974 z m -7.771,0.49212 c -0.7837,0.2774 -1.5344,0.62054 -2.249,1.02434 l 1.3505,0 c 0.3151,0 0.6148,0.0668 0.8927,0.18308 l 0,-1.04145 c 0,-0.0558 0,-0.11103 0.01,-0.16597 z m 15.0099,3.54219 0,2.28896 c 0,0.23084 -0.044,0.45116 -0.1087,0.66381 l 2.3061,0 c -0.6051,-1.07785 -1.344,-2.07019 -2.1974,-2.95277 z m -21.4019,1.00715 c -1.3992,1.74551 -2.3993,3.82178 -2.8555,6.09438 0.2602,-0.10007 0.5386,-0.1545 0.8298,-0.1545 l 2.2145,0 c 0.1937,-0.72137 0.454,-1.41519 0.7783,-2.07154 -0.5821,-0.43809 -0.9671,-1.13184 -0.9671,-1.89985 l 0,-1.96849 z m 25.4133,9.20166 c -0.4236,0.38141 -0.978,0.61804 -1.5794,0.61804 l -1.3905,0 c -0.3982,5.013 -4.0238,9.09074 -8.8126,10.15732 0.3009,0.75916 0.6757,1.53766 1.1388,2.3462 0.062,0.10877 0.1112,0.22794 0.1431,0.34906 5.9524,-1.63535 10.3676,-7.03997 10.5006,-13.47062 z m -27.6851,4.59511 c 1.5579,4.25507 5.0895,7.5671 9.4763,8.82974 -0.4365,-1.15923 -0.6865,-2.30036 -0.8068,-3.4106 -2.3597,-1.084 -4.2822,-2.94729 -5.4306,-5.27036 -0.06,-0.0453 -0.1196,-0.0908 -0.1774,-0.13731 l -2.8154,0 c -0.083,0 -0.1653,-0.004 -0.2461,-0.0115 z" + style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:Sans;-inkscape-font-specification:Sans;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-anchor:start;display:inline;overflow:visible;visibility:visible;fill:#000000;fill-opacity:1;stroke:none;stroke-width:19.11929131;marker:none;enable-background:accumulate" + d="m 2178.6043,985.03549 c 0.067,0.22429 0.1034,0.45882 0.1034,0.70196 v 0.9156 c 0.4601,-0.44783 1.0807,-0.73251 1.758,-0.73251 h 0.9155 c -0.8855,-0.3813 -1.8151,-0.67669 -2.7773,-0.88505 z m -8.2891,0.52493 c -0.8359,0.29589 -1.6367,0.66191 -2.3989,1.09263 h 1.4405 c 0.3361,0 0.6558,0.0712 0.9522,0.19528 v -1.11088 c 0,-0.0595 0,-0.11843 0.011,-0.17703 z m 16.0106,3.77833 v 2.44156 c 0,0.24623 -0.047,0.48124 -0.116,0.70806 h 2.4599 c -0.6455,-1.1497 -1.4336,-2.2082 -2.3439,-3.14962 z m -22.8287,1.0743 c -1.4925,1.86187 -2.5593,4.07656 -3.0459,6.50067 0.2775,-0.10674 0.5745,-0.1648 0.8851,-0.1648 h 2.3622 c 0.2066,-0.76946 0.4842,-1.50954 0.8301,-2.20965 -0.6209,-0.46729 -1.0315,-1.20729 -1.0315,-2.0265 z m 27.1075,9.81505 c -0.4519,0.4069 -1.0432,0.6593 -1.6847,0.6593 h -1.4832 c -0.4248,5.3472 -4.2921,9.6968 -9.4001,10.8345 0.3209,0.8097 0.7207,1.6401 1.2147,2.5026 0.066,0.116 0.1186,0.2431 0.1526,0.3723 6.3493,-1.7444 11.0588,-7.5093 11.2007,-14.3687 z m -29.5308,4.9015 c 1.6618,4.5387 5.4288,8.0716 10.1081,9.4184 -0.4656,-1.2365 -0.7323,-2.4537 -0.8606,-3.638 -2.517,-1.1563 -4.5677,-3.1438 -5.7927,-5.6217 -0.064,-0.048 -0.1275,-0.097 -0.1892,-0.1465 h -3.0031 c -0.088,0 -0.1763,0 -0.2625,-0.012 z" id="path5558" /> - <path - d="m 415.9129,463.29471 c 0,43.28559 -35.0899,78.37549 -78.37549,78.37549 -43.28558,0 -78.37548,-35.0899 -78.37548,-78.37549 0,-43.28559 35.0899,-78.37549 78.37548,-78.37549 43.28559,0 78.37549,35.0899 78.37549,78.37549 z" - sodipodi:ry="78.375488" - sodipodi:rx="78.375488" - sodipodi:cy="463.29471" - sodipodi:cx="337.53741" + <circle id="path5560" - style="fill:url(#radialGradient4289);fill-opacity:1;stroke:none" - sodipodi:type="arc" - transform="matrix(0.20414546,0,0,0.20414546,1970.5145,842.83929)" /> + style="fill:url(#radialGradient4289);fill-opacity:1;stroke:none;stroke-width:0.21775515" + cx="2175.3826" + cy="999.91339" + r="17.066668" /> </g> <g id="g3553" inkscape:export-filename="C:\tuqueque\Imagenes\Svg\Logos\WinDirStat\Icons\Purple\Purple256.png" inkscape:export-xdpi="720.00275" inkscape:export-ydpi="720.00275" - transform="translate(-1734.9485,-89.49951)"> - <path - d="m 415.9129,463.29471 c 0,43.28559 -35.0899,78.37549 -78.37549,78.37549 -43.28558,0 -78.37548,-35.0899 -78.37548,-78.37549 0,-43.28559 35.0899,-78.37549 78.37548,-78.37549 43.28559,0 78.37549,35.0899 78.37549,78.37549 z" - sodipodi:ry="78.375488" - sodipodi:rx="78.375488" - sodipodi:cy="463.29471" - sodipodi:cx="337.53741" + transform="translate(-1850.6117,-95.466144)"> + <circle id="path5564" - style="fill:#dd55ff;stroke:none" - sodipodi:type="arc" - transform="matrix(0.20414546,0,0,0.20414546,1970.5145,882.83929)" /> + style="fill:#dd55ff;stroke:none;stroke-width:0.21775515" + cx="2175.3826" + cy="1042.5801" + r="17.066668" /> <path - style="font-size:medium;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-indent:0;text-align:start;text-decoration:none;line-height:normal;letter-spacing:normal;word-spacing:normal;text-transform:none;direction:ltr;block-progression:tb;writing-mode:lr-tb;text-anchor:start;color:#000000;fill:#000000;fill-opacity:1;stroke:none;stroke-width:4;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate;font-family:Sans;-inkscape-font-specification:Sans" - d="m 2037.0453,963.21325 c -0.5073,0 -0.9156,0.40836 -0.9156,0.91561 l 0,3.11299 c 0,0.50725 0.4083,0.91557 0.9156,0.91557 l 2.701,0 c 0.47,2.38102 0.2663,3.43259 -0.6123,5.95707 -0.6592,-0.81319 -1.557,-1.36251 -2.5923,-1.76826 -0.8896,-0.34861 -1.6522,-0.85372 -1.9456,-1.47636 0.056,-0.11858 0.092,-0.24894 0.092,-0.38915 l 0,-3.11299 c 0,-0.50721 -0.4084,-0.91557 -0.9156,-0.91557 l -3.113,0 c -0.5073,0 -0.9156,0.40836 -0.9156,0.91557 l 0,3.11299 c 0,0.50725 0.4083,0.91561 0.9156,0.91561 l 3.113,0 c 0.2507,0 0.4759,-0.10103 0.6409,-0.26323 0.1765,0.8372 0.8452,1.36132 1.9456,1.91128 0.9936,0.49661 1.7731,1.67021 2.1574,2.80971 -0.1938,0.54583 -0.3974,1.12616 -0.6295,1.80259 -0.4351,1.29952 -0.9836,2.80582 -1.3734,4.45777 -0.4376,-0.25319 -0.9119,-0.42865 -1.4077,-0.52075 -0.2117,-0.13981 -0.3687,-0.27014 -0.4807,-0.42916 -0.3499,-0.4972 -0.1073,-1.4558 -0.2174,-2.1345 l 1.2131,0 c 0.5073,0 0.9156,-0.40832 0.9156,-0.91557 l 0,-3.11303 c 0,-0.50721 -0.4083,-0.91557 -0.9156,-0.91557 l -3.1073,0 c -0.5072,0 -0.9155,0.40836 -0.9155,0.91557 l 0,3.11303 c 0,0.50725 0.4083,0.91557 0.9155,0.91557 l 1.671,0 c -0.029,0.71343 -0.5596,1.8116 -0.103,2.46065 0,0.005 0.01,0.0119 0.011,0.0171 -0.031,1.2e-4 -0.061,0 -0.092,0 -1.8587,0.0373 -2.9081,-0.25168 -3.9828,-0.92133 0.1622,-0.16502 0.2632,-0.39585 0.2632,-0.64662 l 0,-3.10727 c 0,-0.50725 -0.4083,-0.91561 -0.9156,-0.91561 l -3.113,0 c -0.5072,0 -0.9156,0.40836 -0.9156,0.91561 l 0,3.10727 c 0,0.50725 0.4084,0.91561 0.9156,0.91561 l 3.113,0 c 0.065,0 0.1332,-0.004 0.1946,-0.0171 0.9764,0.9407 2.3504,1.65175 4.2804,1.90557 1.213,0.15954 1.9298,0.40935 2.3919,0.76107 -0.4039,2.47712 -0.3271,5.22641 1.0301,8.08582 0.2308,0.0349 0.4581,0.0792 0.6924,0.10301 0.4825,0.049 0.9695,0.0744 1.4649,0.0744 0.4954,0 0.9882,-0.0254 1.4707,-0.0744 0.1764,-0.0179 0.7126,-0.10738 0.887,-0.13164 -2.3462,-4.0962 -2.7021,-7.76423 -1.98,-11.24457 0.263,-0.26232 0.5734,-0.4589 0.9328,-0.62376 0.8581,-0.39364 2.204,-0.67076 3.2045,-0.76107 1.966,-0.15164 4.0012,-0.76675 4.4349,-2.31758 0.164,0.15553 0.3903,0.25175 0.6352,0.25175 l 3.1073,0 c 0.5072,0 0.9156,-0.40832 0.9156,-0.91556 l 0,-3.11299 c 0,-0.50725 -0.4084,-0.91561 -0.9156,-0.91561 l -3.1073,0 c -0.5072,0 -0.9156,0.40836 -0.9156,0.91561 l 0,3.11299 c 0,0.0909 0.016,0.1747 0.04,0.25751 -0.2301,1.06769 -1.5826,1.32611 -2.8154,1.41916 0.3935,-0.43269 0.6015,-0.85856 0.8183,-1.3219 0.4278,-0.91438 0.2195,-2.08484 0.1259,-2.62659 -0.2232,-0.71927 -0.3743,-1.89497 -0.206,-2.96992 l 1.2475,0 c 0.5072,0 0.9156,-0.40836 0.9156,-0.91561 l 0,-3.11299 c 0,-0.50724 -0.4084,-0.91561 -0.9156,-0.91561 l -3.113,0 c -0.5073,0 -0.9156,0.40837 -0.9156,0.91561 l 0,3.11299 c 0,0.50725 0.4083,0.91561 0.9156,0.91561 l 1.5851,0 c -0.3561,0.91851 -0.3153,1.98445 -0.1202,3.07294 0.082,0.47481 -0.025,1.44095 -0.3491,2.13446 -0.3044,0.65067 -0.6382,1.07991 -2.0829,1.84261 -0.8839,0.0635 -1.9561,0.14584 -2.8727,0.50359 1.5403,-4.9677 0.7333,-8.22936 0.052,-10.14017 0.3881,-0.10623 0.6753,-0.45854 0.6753,-0.88123 l 0,-3.11299 c 0,-0.50725 -0.4084,-0.91561 -0.9156,-0.91561 l -3.113,0 z" + style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:Sans;-inkscape-font-specification:Sans;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-anchor:start;display:inline;overflow:visible;visibility:visible;fill:#000000;fill-opacity:1;stroke:none;stroke-width:4.26666689;marker:none;enable-background:accumulate" + d="m 2172.8483,1027.4275 c -0.5411,0 -0.9766,0.4356 -0.9766,0.9766 v 3.3205 c 0,0.5411 0.4355,0.9766 0.9766,0.9766 h 2.8811 c 0.5013,2.5398 0.284,3.6615 -0.6531,6.3543 -0.7032,-0.8674 -1.6608,-1.4534 -2.7652,-1.8862 -0.9489,-0.3718 -1.7623,-0.9106 -2.0753,-1.5748 0.06,-0.1265 0.098,-0.2655 0.098,-0.4151 v -3.3205 c 0,-0.541 -0.4357,-0.9766 -0.9767,-0.9766 h -3.3205 c -0.5411,0 -0.9766,0.4356 -0.9766,0.9766 v 3.3205 c 0,0.5411 0.4355,0.9767 0.9766,0.9767 h 3.3205 c 0.2674,0 0.5077,-0.1078 0.6837,-0.2808 0.1882,0.893 0.9015,1.4521 2.0753,2.0387 1.0598,0.5297 1.8913,1.7816 2.3012,2.997 -0.2067,0.5822 -0.4239,1.2013 -0.6715,1.9228 -0.4641,1.3861 -1.0491,2.9929 -1.4649,4.7549 -0.4668,-0.27 -0.9727,-0.4572 -1.5016,-0.5554 -0.2258,-0.1492 -0.3933,-0.2882 -0.5127,-0.4578 -0.3733,-0.5303 -0.1145,-1.5528 -0.2319,-2.2768 h 1.294 c 0.5411,0 0.9766,-0.4355 0.9766,-0.9766 v -3.3206 c 0,-0.541 -0.4355,-0.9766 -0.9766,-0.9766 h -3.3145 c -0.541,0 -0.9765,0.4356 -0.9765,0.9766 v 3.3206 c 0,0.5411 0.4355,0.9766 0.9765,0.9766 h 1.7824 c -0.031,0.761 -0.5969,1.9324 -0.1099,2.6247 0,0.01 0.011,0.013 0.012,0.018 -0.033,2e-4 -0.065,0 -0.098,0 -1.9826,0.04 -3.1019,-0.2684 -4.2483,-0.9827 0.173,-0.176 0.2808,-0.4222 0.2808,-0.6897 v -3.3145 c 0,-0.541 -0.4356,-0.9766 -0.9767,-0.9766 h -3.3205 c -0.541,0 -0.9767,0.4356 -0.9767,0.9766 v 3.3145 c 0,0.541 0.4357,0.9766 0.9767,0.9766 h 3.3205 c 0.069,0 0.1421,0 0.2076,-0.018 1.0415,1.0034 2.5071,1.7618 4.5658,2.0326 1.2938,0.1702 2.0584,0.4366 2.5513,0.8118 -0.4308,2.6423 -0.3489,5.5748 1.0988,8.6249 0.2462,0.037 0.4886,0.084 0.7385,0.1098 0.5147,0.052 1.0342,0.079 1.5626,0.079 0.5284,0 1.0541,-0.027 1.5688,-0.079 0.1881,-0.019 0.7601,-0.1145 0.9461,-0.1404 -2.5026,-4.3693 -2.8823,-8.2818 -2.112,-11.9942 0.2805,-0.2798 0.6116,-0.4895 0.995,-0.6653 0.9153,-0.4199 2.3509,-0.7155 3.4181,-0.8118 2.0971,-0.1618 4.268,-0.8179 4.7306,-2.4721 0.1749,0.1659 0.4163,0.2685 0.6775,0.2685 h 3.3145 c 0.541,0 0.9766,-0.4355 0.9766,-0.9766 v -3.3205 c 0,-0.5411 -0.4356,-0.9767 -0.9766,-0.9767 h -3.3145 c -0.541,0 -0.9766,0.4356 -0.9766,0.9767 v 3.3205 c 0,0.097 0.017,0.1864 0.043,0.2747 -0.2454,1.1389 -1.6881,1.4145 -3.0031,1.5138 0.4198,-0.4616 0.6416,-0.9158 0.8729,-1.4101 0.4563,-0.9753 0.2341,-2.2238 0.1343,-2.8017 -0.2381,-0.7672 -0.3993,-2.0213 -0.2197,-3.1679 h 1.3306 c 0.541,0 0.9767,-0.4356 0.9767,-0.9766 v -3.3205 c 0,-0.5411 -0.4357,-0.9767 -0.9767,-0.9767 h -3.3205 c -0.5411,0 -0.9766,0.4356 -0.9766,0.9767 v 3.3205 c 0,0.541 0.4355,0.9766 0.9766,0.9766 h 1.6908 c -0.3799,0.9798 -0.3364,2.1168 -0.1282,3.2778 0.087,0.5065 -0.027,1.537 -0.3724,2.2768 -0.3247,0.694 -0.6808,1.1519 -2.2218,1.9654 -0.9428,0.068 -2.0865,0.1556 -3.0642,0.5372 1.643,-5.2989 0.7822,-8.778 0.055,-10.8162 0.4139,-0.1133 0.7203,-0.4891 0.7203,-0.94 v -3.3205 c 0,-0.541 -0.4356,-0.9766 -0.9766,-0.9766 z" id="path5566" inkscape:connector-curvature="0" /> <path id="path5568" - d="m 2042.4415,963.47077 c 0.063,0.21027 0.097,0.43015 0.097,0.65809 l 0,0.85837 c 0.4313,-0.41984 1.0131,-0.68672 1.6481,-0.68672 l 0.8583,0 c -0.8302,-0.35747 -1.7017,-0.6344 -2.6037,-0.82974 z m -7.771,0.49212 c -0.7837,0.2774 -1.5344,0.62054 -2.249,1.02434 l 1.3505,0 c 0.3151,0 0.6148,0.0668 0.8927,0.18308 l 0,-1.04145 c 0,-0.0558 0,-0.11103 0.01,-0.16597 z m 15.0099,3.54219 0,2.28896 c 0,0.23084 -0.044,0.45116 -0.1087,0.66381 l 2.3061,0 c -0.6051,-1.07785 -1.344,-2.07019 -2.1974,-2.95277 z m -21.4019,1.00715 c -1.3992,1.74551 -2.3993,3.82178 -2.8555,6.09438 0.2602,-0.10007 0.5386,-0.1545 0.8298,-0.1545 l 2.2145,0 c 0.1937,-0.72137 0.454,-1.41519 0.7783,-2.07154 -0.5821,-0.43809 -0.9671,-1.13184 -0.9671,-1.89985 l 0,-1.96849 z m 25.4133,9.20166 c -0.4236,0.38141 -0.978,0.61804 -1.5794,0.61804 l -1.3905,0 c -0.3982,5.013 -4.0238,9.09074 -8.8126,10.15732 0.3009,0.75916 0.6757,1.53766 1.1388,2.3462 0.062,0.10877 0.1112,0.22794 0.1431,0.34906 5.9524,-1.63535 10.3676,-7.03997 10.5006,-13.47062 z m -27.6851,4.59511 c 1.5579,4.25507 5.0895,7.5671 9.4763,8.82974 -0.4365,-1.15923 -0.6865,-2.30036 -0.8068,-3.4106 -2.3597,-1.084 -4.2822,-2.94729 -5.4306,-5.27036 -0.06,-0.0453 -0.1196,-0.0908 -0.1774,-0.13731 l -2.8154,0 c -0.083,0 -0.1653,-0.004 -0.2461,-0.0115 z" - style="font-size:medium;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-indent:0;text-align:start;text-decoration:none;line-height:normal;letter-spacing:normal;word-spacing:normal;text-transform:none;direction:ltr;block-progression:tb;writing-mode:lr-tb;text-anchor:start;color:#000000;fill:#000000;fill-opacity:1;stroke:none;stroke-width:17.92433548;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate;font-family:Sans;-inkscape-font-specification:Sans" + d="m 2178.6043,1027.7022 c 0.067,0.2242 0.1034,0.4588 0.1034,0.7019 v 0.9156 c 0.4601,-0.4478 1.0807,-0.7325 1.758,-0.7325 h 0.9155 c -0.8855,-0.3813 -1.8151,-0.6767 -2.7773,-0.885 z m -8.2891,0.5249 c -0.8359,0.2959 -1.6367,0.6619 -2.3989,1.0926 h 1.4405 c 0.3361,0 0.6558,0.071 0.9522,0.1953 v -1.1109 c 0,-0.06 0,-0.1184 0.011,-0.177 z m 16.0106,3.7783 v 2.4416 c 0,0.2462 -0.047,0.4812 -0.116,0.708 h 2.4599 c -0.6455,-1.1497 -1.4336,-2.2082 -2.3439,-3.1496 z m -22.8287,1.0743 c -1.4925,1.8619 -2.5593,4.0766 -3.0459,6.5007 0.2775,-0.1068 0.5745,-0.1648 0.8851,-0.1648 h 2.3622 c 0.2066,-0.7695 0.4842,-1.5096 0.8301,-2.2097 -0.6209,-0.4673 -1.0315,-1.2073 -1.0315,-2.0265 z m 27.1075,9.8151 c -0.4519,0.4069 -1.0432,0.6593 -1.6847,0.6593 h -1.4832 c -0.4248,5.3472 -4.2921,9.6967 -9.4001,10.8344 0.3209,0.8098 0.7207,1.6402 1.2147,2.5026 0.066,0.1161 0.1186,0.2432 0.1526,0.3724 6.3493,-1.7444 11.0588,-7.5093 11.2007,-14.3687 z m -29.5308,4.9015 c 1.6618,4.5387 5.4288,8.0715 10.1081,9.4184 -0.4656,-1.2366 -0.7323,-2.4538 -0.8606,-3.638 -2.517,-1.1563 -4.5677,-3.1438 -5.7927,-5.6217 -0.064,-0.048 -0.1275,-0.097 -0.1892,-0.1465 h -3.0031 c -0.088,0 -0.1763,0 -0.2625,-0.012 z" + style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:Sans;-inkscape-font-specification:Sans;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-anchor:start;display:inline;overflow:visible;visibility:visible;fill:#000000;fill-opacity:1;stroke:none;stroke-width:19.11929131;marker:none;enable-background:accumulate" inkscape:connector-curvature="0" /> - <path - transform="matrix(0.20414546,0,0,0.20414546,1970.5145,882.83929)" - sodipodi:type="arc" - style="fill:url(#radialGradient4287);fill-opacity:1;stroke:none" + <circle + style="fill:url(#radialGradient4287);fill-opacity:1;stroke:none;stroke-width:0.21775515" id="path5570" - sodipodi:cx="337.53741" - sodipodi:cy="463.29471" - sodipodi:rx="78.375488" - sodipodi:ry="78.375488" - d="m 415.9129,463.29471 c 0,43.28559 -35.0899,78.37549 -78.37549,78.37549 -43.28558,0 -78.37548,-35.0899 -78.37548,-78.37549 0,-43.28559 35.0899,-78.37549 78.37548,-78.37549 43.28559,0 78.37549,35.0899 78.37549,78.37549 z" /> + cx="2175.3826" + cy="1042.5801" + r="17.066668" /> </g> <g id="g4167" - transform="matrix(0.63714179,0,0,0.63714179,1372.9206,400.59873)"> + transform="matrix(0.63714179,0,0,0.63714179,1464.4486,427.30531)"> <path sodipodi:nodetypes="cscsccccscsccscccccsccsccccccsc" inkscape:connector-curvature="0" id="path4294" - d="m -1391.8813,-444.53481 c 0.3423,1.14833 0.5312,2.34912 0.5312,3.59375 l 0,4.6875 c 2.3554,-2.29251 5.5322,-3.75 9,-3.75 l 4.6875,0 c -4.534,-1.9522 -9.2931,-3.46444 -14.2187,-4.53125 z m -42.4375,2.6875 c -4.2797,1.51491 -8.3792,3.38864 -12.2813,5.59375 l 7.375,0 c 1.7208,0 3.3575,0.36488 4.875,1 l 0,-5.6875 c 0,-0.30464 0.01,-0.60619 0.031,-0.90625 z m 81.9687,19.34375 0,12.5 c 0,1.26043 -0.243,2.46368 -0.5937,3.625 l 12.5937,0 c -3.3042,-5.88603 -7.3396,-11.30521 -12,-16.125 z m -116.875,5.5 c -7.6411,9.53216 -13.1024,20.87055 -15.5937,33.28125 1.4208,-0.54663 2.9414,-0.84375 4.5312,-0.84375 l 12.0938,0 c 1.0577,-3.93941 2.479,-7.72839 4.25,-11.3125 -3.179,-2.39258 -5.2813,-6.18098 -5.2813,-10.375 z m -12.4062,75.34375 c 8.5078,23.23657 27.7938,41.3235 51.75,48.21875 -2.3837,-6.33058 -3.7491,-12.56206 -4.4063,-18.625 -12.886,-5.9197 -23.385,-16.09513 -29.6562,-28.78125 -0.3256,-0.24734 -0.6529,-0.49598 -0.9688,-0.75 l -15.375,0 c -0.4519,0 -0.9023,-0.0152 -1.3437,-0.0625 z" - style="font-size:medium;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-indent:0;text-align:start;text-decoration:none;line-height:normal;letter-spacing:normal;word-spacing:normal;text-transform:none;direction:ltr;block-progression:tb;writing-mode:lr-tb;text-anchor:start;color:#000000;fill:#808080;fill-opacity:1;stroke:none;stroke-width:17.92433548;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate;font-family:Sans;-inkscape-font-specification:Sans" /> + d="m -1484.6734,-474.17046 c 0.3651,1.22488 0.5666,2.50572 0.5666,3.83333 v 5 c 2.5125,-2.44534 5.901,-4 9.6,-4 h 5 c -4.8362,-2.08235 -9.9126,-3.6954 -15.1666,-4.83333 z m -45.2667,2.86666 c -4.565,1.61591 -8.9378,3.61455 -13.1,5.96667 h 7.8667 c 1.8355,0 3.5813,0.3892 5.2,1.06667 v -6.06667 c 0,-0.32495 0.011,-0.6466 0.033,-0.96667 z m 87.4333,20.63334 v 13.33333 c 0,1.34446 -0.2592,2.62792 -0.6333,3.86667 h 13.4333 c -3.5245,-6.27844 -7.8289,-12.05889 -12.8,-17.2 z m -124.6666,5.86666 c -8.1505,10.16764 -13.9759,22.26192 -16.6333,35.5 1.5155,-0.58307 3.1375,-0.9 4.8333,-0.9 h 12.9 c 1.1282,-4.20203 2.6443,-8.24361 4.5333,-12.06666 -3.3909,-2.55209 -5.6333,-6.59305 -5.6333,-11.06667 z m -13.2333,80.36667 c 9.075,24.78567 29.6467,44.0784 55.2,51.43333 -2.5426,-6.75262 -3.9991,-13.39953 -4.7001,-19.86666 -13.745,-6.31435 -24.944,-17.16814 -31.6333,-30.7 -0.3473,-0.26383 -0.6964,-0.52905 -1.0333,-0.8 h -16.4 c -0.4821,0 -0.9625,-0.0162 -1.4333,-0.0667 z" + style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:Sans;-inkscape-font-specification:Sans;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-anchor:start;display:inline;overflow:visible;visibility:visible;fill:#808080;fill-opacity:1;stroke:none;stroke-width:19.11929131;marker:none;enable-background:accumulate" /> <path inkscape:connector-curvature="0" id="path4296" - d="m -1421.3501,-445.94106 c -2.77,0 -5,2.23 -5,5 l 0,17 c 0,2.77 2.23,5 5,5 l 14.75,0 c 2.567,13.0025 1.4547,18.74517 -3.3437,32.53125 -3.5996,-4.44085 -8.5027,-7.44059 -14.1563,-9.65625 -4.8582,-1.90392 -9.0225,-4.66232 -10.625,-8.0625 0.305,-0.64741 0.5,-1.35941 0.5,-2.125 l 0,-17 c 0,-2.77 -2.23,-5 -5,-5 l -17,0 c -2.77,0 -5,2.23 -5,5 l 0,17 c 0,2.77 2.23,5 5,5 l 17,0 c 1.3694,0 2.5988,-0.55168 3.5,-1.4375 0.9639,4.57203 4.6156,7.43407 10.625,10.4375 5.4261,2.71192 9.6826,9.1208 11.7813,15.34375 -1.0583,2.9807 -2.1703,6.14995 -3.4375,9.84375 -2.3759,7.0967 -5.3716,15.32246 -7.5,24.34375 -2.3898,-1.38275 -4.9801,-2.34076 -7.6875,-2.84375 -1.1559,-0.7636 -2.0137,-1.47513 -2.625,-2.34375 -1.9109,-2.71506 -0.5862,-7.95009 -1.1875,-11.65625 l 6.625,0 c 2.77,0 5,-2.23 5,-5 l 0,-17 c 0,-2.77 -2.23,-5 -5,-5 l -16.9688,0 c -2.77,0 -5,2.23 -5,5 l 0,17 c 0,2.77 2.23,5 5,5 l 9.125,0 c -0.1597,3.89591 -3.0561,9.89293 -0.5625,13.4375 0.02,0.029 0.042,0.0646 0.062,0.0937 -0.1684,7.9e-4 -0.3311,-0.003 -0.5,0 -10.1504,0.20276 -15.8807,-1.37438 -21.75,-5.03125 0.8858,-0.90125 1.4375,-2.16186 1.4375,-3.53125 l 0,-16.96875 c 0,-2.77 -2.23,-5 -5,-5 l -17,0 c -2.77,0 -5,2.23 -5,5 l 0,16.96875 c 0,2.77 2.23,5 5,5 l 17,0 c 0.3568,0 0.7272,-0.0234 1.0625,-0.0937 5.3325,5.13719 12.8353,9.02008 23.375,10.40625 6.6246,0.87126 10.5388,2.23543 13.0625,4.15625 -2.2059,13.52745 -1.7866,28.5411 5.625,44.15625 1.2607,0.19076 2.5016,0.43255 3.7813,0.5625 2.6347,0.26757 5.2946,0.40625 8,0.40625 2.7053,0 5.3965,-0.13868 8.0312,-0.40625 0.9631,-0.0978 3.8913,-0.58639 4.8438,-0.71875 -12.8126,-22.36915 -14.7559,-42.40018 -10.8125,-61.40625 1.4359,-1.43244 3.1314,-2.50603 5.0937,-3.40625 4.6861,-2.14977 12.036,-3.66301 17.5,-4.15625 10.7363,-0.82808 21.8504,-4.18712 24.2188,-12.65625 0.8954,0.84939 2.1314,1.375 3.4687,1.375 l 16.9688,0 c 2.77,0 5,-2.23 5,-5 l 0,-17 c 0,-2.77 -2.23,-5 -5,-5 l -16.9688,0 c -2.77,0 -5,2.23 -5,5 l 0,17 c 0,0.49661 0.085,0.95409 0.2188,1.40625 -1.2567,5.83061 -8.6424,7.24183 -15.375,7.75 2.149,-2.363 3.2849,-4.6886 4.4687,-7.21875 2.3364,-4.99351 1.1986,-11.3854 0.6875,-14.34375 -1.219,-3.92799 -2.0441,-10.34842 -1.125,-16.21875 l 6.8125,0 c 2.77,0 5,-2.23 5,-5 l 0,-17 c 0,-2.77 -2.23,-5 -5,-5 l -17,0 c -2.77,0 -5,2.23 -5,5 l 0,17 c 0,2.77 2.23,5 5,5 l 8.6563,0 c -1.9448,5.01593 -1.7215,10.83709 -0.6563,16.78125 0.448,2.59296 -0.1343,7.86912 -1.9062,11.65625 -1.6625,3.55324 -3.4854,5.89738 -11.375,10.0625 -4.8269,0.34662 -10.6821,0.79642 -15.6875,2.75 8.4113,-27.12848 4.0043,-44.94028 0.2812,-55.375 2.1192,-0.58032 3.6875,-2.50417 3.6875,-4.8125 l 0,-17 c 0,-2.77 -2.23,-5 -5,-5 l -17,0 z" - style="font-size:medium;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-indent:0;text-align:start;text-decoration:none;line-height:normal;letter-spacing:normal;word-spacing:normal;text-transform:none;direction:ltr;block-progression:tb;writing-mode:lr-tb;text-anchor:start;color:#000000;fill:#000000;fill-opacity:1;stroke:none;stroke-width:4;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate;font-family:Sans;-inkscape-font-specification:Sans" /> + d="m -1516.1068,-475.67046 c -2.9546,0 -5.3333,2.37866 -5.3333,5.33333 v 18.13333 c 0,2.95467 2.3787,5.33334 5.3333,5.33334 h 15.7334 c 2.7381,13.86933 1.5516,19.99484 -3.5667,34.7 -3.8395,-4.73691 -9.0695,-7.93663 -15.1,-10.3 -5.1821,-2.03085 -9.624,-4.97315 -11.3333,-8.6 0.3253,-0.69057 0.5333,-1.45004 0.5333,-2.26667 v -18.13333 c 0,-2.95467 -2.3787,-5.33334 -5.3333,-5.33334 h -18.1334 c -2.9546,0 -5.3333,2.37867 -5.3333,5.33334 v 18.13333 c 0,2.95467 2.3787,5.33333 5.3333,5.33333 h 18.1334 c 1.4607,0 2.772,-0.58846 3.7333,-1.53333 1.0282,4.87683 4.9233,7.92967 11.3333,11.13333 5.7879,2.89272 10.3281,9.72886 12.5667,16.36667 -1.1288,3.17941 -2.3149,6.55995 -3.6666,10.5 -2.5343,7.56981 -5.7297,16.34396 -8,25.96667 -2.5491,-1.47494 -5.3121,-2.49681 -8.2,-3.03334 -1.233,-0.8145 -2.148,-1.57347 -2.8,-2.5 -2.0383,-2.89606 -0.6253,-8.48009 -1.2667,-12.43333 h 7.0667 c 2.9546,0 5.3333,-2.37867 5.3333,-5.33333 v -18.13334 c 0,-2.95466 -2.3787,-5.33333 -5.3333,-5.33333 h -18.1001 c -2.9546,0 -5.3333,2.37867 -5.3333,5.33333 v 18.13334 c 0,2.95466 2.3787,5.33333 5.3333,5.33333 h 9.7334 c -0.1704,4.15564 -3.2599,10.55246 -0.6,14.33333 0.021,0.0309 0.045,0.0689 0.066,0.0999 -0.1796,8.4e-4 -0.3532,-0.003 -0.5333,0 -10.8271,0.21628 -16.9395,-1.46601 -23.2,-5.36667 0.9448,-0.96133 1.5333,-2.30598 1.5333,-3.76666 v -18.1 c 0,-2.95467 -2.3787,-5.33334 -5.3333,-5.33334 h -18.1334 c -2.9546,0 -5.3333,2.37867 -5.3333,5.33334 v 18.1 c 0,2.95466 2.3787,5.33333 5.3333,5.33333 h 18.1334 c 0.3805,0 0.7756,-0.025 1.1333,-0.1 5.688,5.47967 13.691,9.62142 24.9333,11.1 7.0663,0.92935 11.2414,2.38446 13.9334,4.43334 -2.353,14.42928 -1.9057,30.44384 6,47.1 1.3447,0.20347 2.6683,0.46138 4.0333,0.6 2.8104,0.2854 5.6476,0.43333 8.5334,0.43333 2.8856,0 5.7562,-0.14793 8.5666,-0.43333 1.0273,-0.10432 4.1507,-0.62549 5.1667,-0.76667 -13.6668,-23.86043 -15.7396,-45.22686 -11.5333,-65.5 1.5316,-1.52794 3.3401,-2.6731 5.4333,-3.63333 4.9985,-2.29309 12.8384,-3.90721 18.6666,-4.43334 11.4521,-0.88328 23.3071,-4.46626 25.8334,-13.5 0.9551,0.90602 2.2735,1.46667 3.7,1.46667 h 18.1 c 2.9547,0 5.3333,-2.37867 5.3333,-5.33333 v -18.13334 c 0,-2.95466 -2.3786,-5.33333 -5.3333,-5.33333 h -18.1 c -2.9547,0 -5.3334,2.37867 -5.3334,5.33333 v 18.13334 c 0,0.52971 0.091,1.01769 0.2334,1.5 -1.3405,6.21931 -9.2185,7.72461 -16.4,8.26666 2.2923,-2.52053 3.5039,-5.00117 4.7666,-7.7 2.4922,-5.32641 1.2785,-12.14442 0.7334,-15.3 -1.3003,-4.18985 -2.1804,-11.03831 -1.2,-17.3 h 7.2666 c 2.9547,0 5.3334,-2.37866 5.3334,-5.33333 v -18.13333 c 0,-2.95467 -2.3787,-5.33334 -5.3334,-5.33334 h -18.1333 c -2.9547,0 -5.3333,2.37867 -5.3333,5.33334 v 18.13333 c 0,2.95467 2.3786,5.33333 5.3333,5.33333 h 9.2334 c -2.0745,5.35033 -1.8363,11.55957 -0.7001,17.9 0.4779,2.76583 -0.1432,8.39373 -2.0333,12.43334 -1.7733,3.79012 -3.7177,6.29053 -12.1333,10.73333 -5.1487,0.36973 -11.3942,0.84951 -16.7333,2.93333 8.972,-28.93704 4.2712,-47.9363 0.2999,-59.06666 2.2605,-0.61901 3.9334,-2.67112 3.9334,-5.13334 v -18.13333 c 0,-2.95467 -2.3787,-5.33333 -5.3334,-5.33333 h -18.1333 z" + style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:Sans;-inkscape-font-specification:Sans;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-anchor:start;display:inline;overflow:visible;visibility:visible;fill:#000000;fill-opacity:1;stroke:none;stroke-width:4.26666689;marker:none;enable-background:accumulate" /> <text transform="scale(0.99591644,1.0041003)" xml:space="preserve" - style="font-size:67.73003387px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;letter-spacing:0;word-spacing:0;writing-mode:lr-tb;text-anchor:start;fill:#000000;stroke:none;font-family:Arial Rounded MT Bold;-inkscape-font-specification:'Arial Rounded MT Bold,'" - x="-1398.8945" - y="-300.61914" - id="text4298" - sodipodi:linespacing="125%"><tspan + style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:72.24536896px;line-height:125%;font-family:'Arial Rounded MT Bold';-inkscape-font-specification:'Arial Rounded MT Bold,';text-align:start;letter-spacing:0;word-spacing:0;writing-mode:lr-tb;text-anchor:start;fill:#000000;stroke:none;stroke-width:1.06666672" + x="-1492.1542" + y="-320.66043" + id="text4298"><tspan sodipodi:role="line" id="tspan4300" - x="-1398.8945" - y="-300.61914"><tspan + x="-1492.1542" + y="-320.66043" + style="stroke-width:1.06666672"><tspan id="tspan4302" - style="fill:#000000;stroke:none">W</tspan>in<tspan + style="fill:#000000;stroke:none;stroke-width:1.06666672">W</tspan>in<tspan id="tspan4304" - style="fill:#000000;stroke:none">D</tspan>ir<tspan + style="fill:#000000;stroke:none;stroke-width:1.06666672">D</tspan>ir<tspan id="tspan4306" - style="fill:#000000;stroke:none">S</tspan>tat</tspan></text> + style="fill:#000000;stroke:none;stroke-width:1.06666672">S</tspan>tat</tspan></text> </g> <g - transform="matrix(0.63714179,0,0,0.63714179,1019.2145,400.59873)" + transform="matrix(0.63714179,0,0,0.63714179,1087.1621,427.30531)" id="g4238" style="fill:#000000"> <path - style="font-size:medium;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-indent:0;text-align:start;text-decoration:none;line-height:normal;letter-spacing:normal;word-spacing:normal;text-transform:none;direction:ltr;block-progression:tb;writing-mode:lr-tb;text-anchor:start;color:#000000;fill:#000000;fill-opacity:1;stroke:none;stroke-width:17.92433548;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate;font-family:Sans;-inkscape-font-specification:Sans" - d="m -1391.8813,-444.53481 c 0.3423,1.14833 0.5312,2.34912 0.5312,3.59375 l 0,4.6875 c 2.3554,-2.29251 5.5322,-3.75 9,-3.75 l 4.6875,0 c -4.534,-1.9522 -9.2931,-3.46444 -14.2187,-4.53125 z m -42.4375,2.6875 c -4.2797,1.51491 -8.3792,3.38864 -12.2813,5.59375 l 7.375,0 c 1.7208,0 3.3575,0.36488 4.875,1 l 0,-5.6875 c 0,-0.30464 0.01,-0.60619 0.031,-0.90625 z m 81.9687,19.34375 0,12.5 c 0,1.26043 -0.243,2.46368 -0.5937,3.625 l 12.5937,0 c -3.3042,-5.88603 -7.3396,-11.30521 -12,-16.125 z m -116.875,5.5 c -7.6411,9.53216 -13.1024,20.87055 -15.5937,33.28125 1.4208,-0.54663 2.9414,-0.84375 4.5312,-0.84375 l 12.0938,0 c 1.0577,-3.93941 2.479,-7.72839 4.25,-11.3125 -3.179,-2.39258 -5.2813,-6.18098 -5.2813,-10.375 z m -12.4062,75.34375 c 8.5078,23.23657 27.7938,41.3235 51.75,48.21875 -2.3837,-6.33058 -3.7491,-12.56206 -4.4063,-18.625 -12.886,-5.9197 -23.385,-16.09513 -29.6562,-28.78125 -0.3256,-0.24734 -0.6529,-0.49598 -0.9688,-0.75 l -15.375,0 c -0.4519,0 -0.9023,-0.0152 -1.3437,-0.0625 z" + style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:Sans;-inkscape-font-specification:Sans;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-anchor:start;display:inline;overflow:visible;visibility:visible;fill:#000000;fill-opacity:1;stroke:none;stroke-width:19.11929131;marker:none;enable-background:accumulate" + d="m -1484.6734,-474.17046 c 0.3651,1.22488 0.5666,2.50572 0.5666,3.83333 v 5 c 2.5125,-2.44534 5.901,-4 9.6,-4 h 5 c -4.8362,-2.08235 -9.9126,-3.6954 -15.1666,-4.83333 z m -45.2667,2.86666 c -4.565,1.61591 -8.9378,3.61455 -13.1,5.96667 h 7.8667 c 1.8355,0 3.5813,0.3892 5.2,1.06667 v -6.06667 c 0,-0.32495 0.011,-0.6466 0.033,-0.96667 z m 87.4333,20.63334 v 13.33333 c 0,1.34446 -0.2592,2.62792 -0.6333,3.86667 h 13.4333 c -3.5245,-6.27844 -7.8289,-12.05889 -12.8,-17.2 z m -124.6666,5.86666 c -8.1505,10.16764 -13.9759,22.26192 -16.6333,35.5 1.5155,-0.58307 3.1375,-0.9 4.8333,-0.9 h 12.9 c 1.1282,-4.20203 2.6443,-8.24361 4.5333,-12.06666 -3.3909,-2.55209 -5.6333,-6.59305 -5.6333,-11.06667 z m -13.2333,80.36667 c 9.075,24.78567 29.6467,44.0784 55.2,51.43333 -2.5426,-6.75262 -3.9991,-13.39953 -4.7001,-19.86666 -13.745,-6.31435 -24.944,-17.16814 -31.6333,-30.7 -0.3473,-0.26383 -0.6964,-0.52905 -1.0333,-0.8 h -16.4 c -0.4821,0 -0.9625,-0.0162 -1.4333,-0.0667 z" id="path4240" inkscape:connector-curvature="0" sodipodi:nodetypes="cscsccccscsccscccccsccsccccccsc" /> <path - style="font-size:medium;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-indent:0;text-align:start;text-decoration:none;line-height:normal;letter-spacing:normal;word-spacing:normal;text-transform:none;direction:ltr;block-progression:tb;writing-mode:lr-tb;text-anchor:start;color:#000000;fill:#000000;fill-opacity:1;stroke:none;stroke-width:4;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate;font-family:Sans;-inkscape-font-specification:Sans" - d="m -1421.3501,-445.94106 c -2.77,0 -5,2.23 -5,5 l 0,17 c 0,2.77 2.23,5 5,5 l 14.75,0 c 2.567,13.0025 1.4547,18.74517 -3.3437,32.53125 -3.5996,-4.44085 -8.5027,-7.44059 -14.1563,-9.65625 -4.8582,-1.90392 -9.0225,-4.66232 -10.625,-8.0625 0.305,-0.64741 0.5,-1.35941 0.5,-2.125 l 0,-17 c 0,-2.77 -2.23,-5 -5,-5 l -17,0 c -2.77,0 -5,2.23 -5,5 l 0,17 c 0,2.77 2.23,5 5,5 l 17,0 c 1.3694,0 2.5988,-0.55168 3.5,-1.4375 0.9639,4.57203 4.6156,7.43407 10.625,10.4375 5.4261,2.71192 9.6826,9.1208 11.7813,15.34375 -1.0583,2.9807 -2.1703,6.14995 -3.4375,9.84375 -2.3759,7.0967 -5.3716,15.32246 -7.5,24.34375 -2.3898,-1.38275 -4.9801,-2.34076 -7.6875,-2.84375 -1.1559,-0.7636 -2.0137,-1.47513 -2.625,-2.34375 -1.9109,-2.71506 -0.5862,-7.95009 -1.1875,-11.65625 l 6.625,0 c 2.77,0 5,-2.23 5,-5 l 0,-17 c 0,-2.77 -2.23,-5 -5,-5 l -16.9688,0 c -2.77,0 -5,2.23 -5,5 l 0,17 c 0,2.77 2.23,5 5,5 l 9.125,0 c -0.1597,3.89591 -3.0561,9.89293 -0.5625,13.4375 0.02,0.029 0.042,0.0646 0.062,0.0937 -0.1684,7.9e-4 -0.3311,-0.003 -0.5,0 -10.1504,0.20276 -15.8807,-1.37438 -21.75,-5.03125 0.8858,-0.90125 1.4375,-2.16186 1.4375,-3.53125 l 0,-16.96875 c 0,-2.77 -2.23,-5 -5,-5 l -17,0 c -2.77,0 -5,2.23 -5,5 l 0,16.96875 c 0,2.77 2.23,5 5,5 l 17,0 c 0.3568,0 0.7272,-0.0234 1.0625,-0.0937 5.3325,5.13719 12.8353,9.02008 23.375,10.40625 6.6246,0.87126 10.5388,2.23543 13.0625,4.15625 -2.2059,13.52745 -1.7866,28.5411 5.625,44.15625 1.2607,0.19076 2.5016,0.43255 3.7813,0.5625 2.6347,0.26757 5.2946,0.40625 8,0.40625 2.7053,0 5.3965,-0.13868 8.0312,-0.40625 0.9631,-0.0978 3.8913,-0.58639 4.8438,-0.71875 -12.8126,-22.36915 -14.7559,-42.40018 -10.8125,-61.40625 1.4359,-1.43244 3.1314,-2.50603 5.0937,-3.40625 4.6861,-2.14977 12.036,-3.66301 17.5,-4.15625 10.7363,-0.82808 21.8504,-4.18712 24.2188,-12.65625 0.8954,0.84939 2.1314,1.375 3.4687,1.375 l 16.9688,0 c 2.77,0 5,-2.23 5,-5 l 0,-17 c 0,-2.77 -2.23,-5 -5,-5 l -16.9688,0 c -2.77,0 -5,2.23 -5,5 l 0,17 c 0,0.49661 0.085,0.95409 0.2188,1.40625 -1.2567,5.83061 -8.6424,7.24183 -15.375,7.75 2.149,-2.363 3.2849,-4.6886 4.4687,-7.21875 2.3364,-4.99351 1.1986,-11.3854 0.6875,-14.34375 -1.219,-3.92799 -2.0441,-10.34842 -1.125,-16.21875 l 6.8125,0 c 2.77,0 5,-2.23 5,-5 l 0,-17 c 0,-2.77 -2.23,-5 -5,-5 l -17,0 c -2.77,0 -5,2.23 -5,5 l 0,17 c 0,2.77 2.23,5 5,5 l 8.6563,0 c -1.9448,5.01593 -1.7215,10.83709 -0.6563,16.78125 0.448,2.59296 -0.1343,7.86912 -1.9062,11.65625 -1.6625,3.55324 -3.4854,5.89738 -11.375,10.0625 -4.8269,0.34662 -10.6821,0.79642 -15.6875,2.75 8.4113,-27.12848 4.0043,-44.94028 0.2812,-55.375 2.1192,-0.58032 3.6875,-2.50417 3.6875,-4.8125 l 0,-17 c 0,-2.77 -2.23,-5 -5,-5 l -17,0 z" + style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:Sans;-inkscape-font-specification:Sans;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-anchor:start;display:inline;overflow:visible;visibility:visible;fill:#000000;fill-opacity:1;stroke:none;stroke-width:4.26666689;marker:none;enable-background:accumulate" + d="m -1516.1068,-475.67046 c -2.9546,0 -5.3333,2.37866 -5.3333,5.33333 v 18.13333 c 0,2.95467 2.3787,5.33334 5.3333,5.33334 h 15.7334 c 2.7381,13.86933 1.5516,19.99484 -3.5667,34.7 -3.8395,-4.73691 -9.0695,-7.93663 -15.1,-10.3 -5.1821,-2.03085 -9.624,-4.97315 -11.3333,-8.6 0.3253,-0.69057 0.5333,-1.45004 0.5333,-2.26667 v -18.13333 c 0,-2.95467 -2.3787,-5.33334 -5.3333,-5.33334 h -18.1334 c -2.9546,0 -5.3333,2.37867 -5.3333,5.33334 v 18.13333 c 0,2.95467 2.3787,5.33333 5.3333,5.33333 h 18.1334 c 1.4607,0 2.772,-0.58846 3.7333,-1.53333 1.0282,4.87683 4.9233,7.92967 11.3333,11.13333 5.7879,2.89272 10.3281,9.72886 12.5667,16.36667 -1.1288,3.17941 -2.3149,6.55995 -3.6666,10.5 -2.5343,7.56981 -5.7297,16.34396 -8,25.96667 -2.5491,-1.47494 -5.3121,-2.49681 -8.2,-3.03334 -1.233,-0.8145 -2.148,-1.57347 -2.8,-2.5 -2.0383,-2.89606 -0.6253,-8.48009 -1.2667,-12.43333 h 7.0667 c 2.9546,0 5.3333,-2.37867 5.3333,-5.33333 v -18.13334 c 0,-2.95466 -2.3787,-5.33333 -5.3333,-5.33333 h -18.1001 c -2.9546,0 -5.3333,2.37867 -5.3333,5.33333 v 18.13334 c 0,2.95466 2.3787,5.33333 5.3333,5.33333 h 9.7334 c -0.1704,4.15564 -3.2599,10.55246 -0.6,14.33333 0.021,0.0309 0.045,0.0689 0.066,0.0999 -0.1796,8.4e-4 -0.3532,-0.003 -0.5333,0 -10.8271,0.21628 -16.9395,-1.46601 -23.2,-5.36667 0.9448,-0.96133 1.5333,-2.30598 1.5333,-3.76666 v -18.1 c 0,-2.95467 -2.3787,-5.33334 -5.3333,-5.33334 h -18.1334 c -2.9546,0 -5.3333,2.37867 -5.3333,5.33334 v 18.1 c 0,2.95466 2.3787,5.33333 5.3333,5.33333 h 18.1334 c 0.3805,0 0.7756,-0.025 1.1333,-0.1 5.688,5.47967 13.691,9.62142 24.9333,11.1 7.0663,0.92935 11.2414,2.38446 13.9334,4.43334 -2.353,14.42928 -1.9057,30.44384 6,47.1 1.3447,0.20347 2.6683,0.46138 4.0333,0.6 2.8104,0.2854 5.6476,0.43333 8.5334,0.43333 2.8856,0 5.7562,-0.14793 8.5666,-0.43333 1.0273,-0.10432 4.1507,-0.62549 5.1667,-0.76667 -13.6668,-23.86043 -15.7396,-45.22686 -11.5333,-65.5 1.5316,-1.52794 3.3401,-2.6731 5.4333,-3.63333 4.9985,-2.29309 12.8384,-3.90721 18.6666,-4.43334 11.4521,-0.88328 23.3071,-4.46626 25.8334,-13.5 0.9551,0.90602 2.2735,1.46667 3.7,1.46667 h 18.1 c 2.9547,0 5.3333,-2.37867 5.3333,-5.33333 v -18.13334 c 0,-2.95466 -2.3786,-5.33333 -5.3333,-5.33333 h -18.1 c -2.9547,0 -5.3334,2.37867 -5.3334,5.33333 v 18.13334 c 0,0.52971 0.091,1.01769 0.2334,1.5 -1.3405,6.21931 -9.2185,7.72461 -16.4,8.26666 2.2923,-2.52053 3.5039,-5.00117 4.7666,-7.7 2.4922,-5.32641 1.2785,-12.14442 0.7334,-15.3 -1.3003,-4.18985 -2.1804,-11.03831 -1.2,-17.3 h 7.2666 c 2.9547,0 5.3334,-2.37866 5.3334,-5.33333 v -18.13333 c 0,-2.95467 -2.3787,-5.33334 -5.3334,-5.33334 h -18.1333 c -2.9547,0 -5.3333,2.37867 -5.3333,5.33334 v 18.13333 c 0,2.95467 2.3786,5.33333 5.3333,5.33333 h 9.2334 c -2.0745,5.35033 -1.8363,11.55957 -0.7001,17.9 0.4779,2.76583 -0.1432,8.39373 -2.0333,12.43334 -1.7733,3.79012 -3.7177,6.29053 -12.1333,10.73333 -5.1487,0.36973 -11.3942,0.84951 -16.7333,2.93333 8.972,-28.93704 4.2712,-47.9363 0.2999,-59.06666 2.2605,-0.61901 3.9334,-2.67112 3.9334,-5.13334 v -18.13333 c 0,-2.95467 -2.3787,-5.33333 -5.3334,-5.33333 h -18.1333 z" id="path4242" inkscape:connector-curvature="0" /> <text - sodipodi:linespacing="125%" id="text4244" - y="-300.61914" - x="-1398.8945" - style="font-size:67.73003387px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;letter-spacing:0;word-spacing:0;writing-mode:lr-tb;text-anchor:start;fill:#000000;stroke:none;font-family:Arial Rounded MT Bold;-inkscape-font-specification:'Arial Rounded MT Bold,'" + y="-320.66043" + x="-1492.1542" + style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:72.24536896px;line-height:125%;font-family:'Arial Rounded MT Bold';-inkscape-font-specification:'Arial Rounded MT Bold,';text-align:start;letter-spacing:0;word-spacing:0;writing-mode:lr-tb;text-anchor:start;fill:#000000;stroke:none;stroke-width:1.06666672" xml:space="preserve" transform="scale(0.99591644,1.0041003)"><tspan - y="-300.61914" - x="-1398.8945" + y="-320.66043" + x="-1492.1542" id="tspan4246" - sodipodi:role="line"><tspan - style="fill:#000000;stroke:none" + sodipodi:role="line" + style="stroke-width:1.06666672"><tspan + style="fill:#000000;stroke:none;stroke-width:1.06666672" id="tspan4248">W</tspan>in<tspan - style="fill:#000000;stroke:none" + style="fill:#000000;stroke:none;stroke-width:1.06666672" id="tspan4250">D</tspan>ir<tspan - style="fill:#000000;stroke:none" + style="fill:#000000;stroke:none;stroke-width:1.06666672" id="tspan4252">S</tspan>tat</tspan></text> </g> <g id="g4271" - transform="matrix(0.63714179,0,0,0.63714179,1018.8371,409.72469)" + transform="matrix(0.63714179,0,0,0.63714179,1086.7596,437.03967)" style="fill:#ffffff"> <path sodipodi:nodetypes="cscsccccscsccscccccsccsccccccsc" inkscape:connector-curvature="0" id="path4273" - d="m -1393.2331,-190.63807 c 0.3423,1.14833 0.5312,2.34912 0.5312,3.59375 l 0,4.6875 c 2.3554,-2.29251 5.5323,-3.75 9,-3.75 l 4.6875,0 c -4.534,-1.9522 -9.2931,-3.46444 -14.2187,-4.53125 z m -42.4375,2.6875 c -4.2797,1.51491 -8.3791,3.38864 -12.2813,5.59375 l 7.375,0 c 1.7209,0 3.3575,0.36488 4.875,1 l 0,-5.6875 c 0,-0.30464 0.01,-0.60619 0.031,-0.90625 z m 81.9687,19.34375 0,12.5 c 0,1.26043 -0.243,2.46368 -0.5937,3.625 l 12.5937,0 c -3.3042,-5.88603 -7.3396,-11.30521 -12,-16.125 z m -116.875,5.5 c -7.6411,9.53216 -13.1024,20.87055 -15.5937,33.28125 1.4208,-0.54663 2.9414,-0.84375 4.5312,-0.84375 l 12.0938,0 c 1.0577,-3.93941 2.4791,-7.72839 4.25,-11.3125 -3.179,-2.39258 -5.2813,-6.18098 -5.2813,-10.375 z m -12.4062,75.34375 c 8.5079,23.23657 27.7939,41.3235 51.75,48.21875 -2.3837,-6.33058 -3.749,-12.56206 -4.4063,-18.625 -12.886,-5.9197 -23.385,-16.09513 -29.6562,-28.78125 -0.3256,-0.24734 -0.6529,-0.49598 -0.9688,-0.75 l -15.375,0 c -0.4519,0 -0.9023,-0.0152 -1.3437,-0.0625 z" - style="font-size:medium;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-indent:0;text-align:start;text-decoration:none;line-height:normal;letter-spacing:normal;word-spacing:normal;text-transform:none;direction:ltr;block-progression:tb;writing-mode:lr-tb;text-anchor:start;color:#000000;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:17.92433548;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate;font-family:Sans;-inkscape-font-specification:Sans" /> + d="m -1486.1153,-203.34727 c 0.3651,1.22488 0.5666,2.50572 0.5666,3.83333 v 5 c 2.5124,-2.44535 5.9011,-4 9.6,-4 h 5 c -4.8363,-2.08235 -9.9126,-3.6954 -15.1666,-4.83333 z m -45.2667,2.86666 c -4.565,1.61591 -8.9377,3.61455 -13.1,5.96667 h 7.8666 c 1.8357,0 3.5814,0.3892 5.2,1.06667 v -6.06667 c 0,-0.32495 0.011,-0.6466 0.033,-0.96667 z m 87.4333,20.63334 v 13.33333 c 0,1.34446 -0.2592,2.62792 -0.6333,3.86667 h 13.4333 c -3.5245,-6.27844 -7.8289,-12.0589 -12.8,-17.2 z m -124.6667,5.86666 c -8.1505,10.16764 -13.9759,22.26192 -16.6332,35.5 1.5155,-0.58307 3.1375,-0.9 4.8332,-0.9 h 12.9001 c 1.1282,-4.20204 2.6444,-8.24361 4.5333,-12.06666 -3.3909,-2.55209 -5.6334,-6.59305 -5.6334,-11.06667 z m -13.2332,80.366669 c 9.0751,24.785674 29.6468,44.0784 55.2,51.433333 -2.5427,-6.752619 -3.999,-13.399531 -4.7001,-19.866667 -13.7451,-6.314346 -24.944,-17.168138 -31.6333,-30.7 -0.3473,-0.263829 -0.6964,-0.529045 -1.0334,-0.8 h -16.4 c -0.482,0 -0.9624,-0.01621 -1.4332,-0.06667 z" + style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:Sans;-inkscape-font-specification:Sans;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-anchor:start;display:inline;overflow:visible;visibility:visible;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:19.11929131;marker:none;enable-background:accumulate" /> <path inkscape:connector-curvature="0" id="path4275" - d="m -1422.7019,-192.04432 c -2.77,0 -5,2.23 -5,5 l 0,17 c 0,2.77 2.23,5 5,5 l 14.75,0 c 2.567,13.0025 1.4548,18.74517 -3.3437,32.53125 -3.5996,-4.44085 -8.5026,-7.44059 -14.1563,-9.65625 -4.8581,-1.90392 -9.0225,-4.66232 -10.625,-8.0625 0.3051,-0.64741 0.5,-1.35941 0.5,-2.125 l 0,-17 c 0,-2.77 -2.23,-5 -5,-5 l -17,0 c -2.77,0 -5,2.23 -5,5 l 0,17 c 0,2.77 2.23,5 5,5 l 17,0 c 1.3694,0 2.5988,-0.55168 3.5,-1.4375 0.9639,4.57203 4.6156,7.43407 10.625,10.4375 5.4262,2.71192 9.6827,9.1208 11.7813,15.34375 -1.0583,2.9807 -2.1703,6.14995 -3.4375,9.84375 -2.3758,7.0967 -5.3716,15.32246 -7.5,24.34375 -2.3897,-1.38275 -4.98,-2.34076 -7.6875,-2.84375 -1.1558,-0.7636 -2.0137,-1.47513 -2.625,-2.34375 -1.9109,-2.71506 -0.5862,-7.95009 -1.1875,-11.65625 l 6.625,0 c 2.77,0 5,-2.23 5,-5 l 0,-17 c 0,-2.77 -2.23,-5 -5,-5 l -16.9688,0 c -2.77,0 -5,2.23 -5,5 l 0,17 c 0,2.77 2.23,5 5,5 l 9.125,0 c -0.1596,3.89591 -3.0561,9.89293 -0.5625,13.4375 0.02,0.029 0.042,0.0646 0.062,0.0937 -0.1684,7.9e-4 -0.3311,-0.003 -0.5,0 -10.1504,0.20276 -15.8806,-1.37438 -21.75,-5.03125 0.8859,-0.90125 1.4375,-2.16186 1.4375,-3.53125 l 0,-16.96875 c 0,-2.77 -2.23,-5 -5,-5 l -17,0 c -2.77,0 -5,2.23 -5,5 l 0,16.96875 c 0,2.77 2.23,5 5,5 l 17,0 c 0.3569,0 0.7272,-0.0234 1.0625,-0.0937 5.3325,5.13719 12.8354,9.02008 23.375,10.40625 6.6247,0.87126 10.5388,2.23543 13.0625,4.15625 -2.2058,13.52745 -1.7865,28.5411 5.625,44.15625 1.2607,0.19076 2.5017,0.43255 3.7813,0.5625 2.6347,0.26757 5.2946,0.40625 8,0.40625 2.7053,0 5.3965,-0.13868 8.0312,-0.40625 0.9631,-0.0978 3.8913,-0.58639 4.8438,-0.71875 -12.8126,-22.36915 -14.7558,-42.40018 -10.8125,-61.40625 1.436,-1.43244 3.1314,-2.50603 5.0937,-3.40625 4.6862,-2.14977 12.0361,-3.66301 17.5,-4.15625 10.7363,-0.82808 21.8505,-4.18712 24.2188,-12.65625 0.8954,0.84939 2.1314,1.375 3.4687,1.375 l 16.9688,0 c 2.77,0 5,-2.23 5,-5 l 0,-17 c 0,-2.77 -2.23,-5 -5,-5 l -16.9688,0 c -2.77,0 -5,2.23 -5,5 l 0,17 c 0,0.49661 0.085,0.95409 0.2188,1.40625 -1.2567,5.83061 -8.6424,7.24183 -15.375,7.75 2.1491,-2.363 3.2849,-4.6886 4.4687,-7.21875 2.3364,-4.99351 1.1987,-11.3854 0.6875,-14.34375 -1.2189,-3.92799 -2.0441,-10.34842 -1.125,-16.21875 l 6.8125,0 c 2.77,0 5,-2.23 5,-5 l 0,-17 c 0,-2.77 -2.23,-5 -5,-5 l -17,0 c -2.77,0 -5,2.23 -5,5 l 0,17 c 0,2.77 2.23,5 5,5 l 8.6563,0 c -1.9447,5.01593 -1.7214,10.83709 -0.6563,16.78125 0.448,2.59296 -0.1343,7.86912 -1.9062,11.65625 -1.6625,3.55324 -3.4854,5.89738 -11.375,10.0625 -4.8269,0.34662 -10.6821,0.79642 -15.6875,2.75 8.4114,-27.12848 4.0044,-44.94028 0.2812,-55.375 2.1193,-0.58032 3.6875,-2.50417 3.6875,-4.8125 l 0,-17 c 0,-2.77 -2.23,-5 -5,-5 l -17,0 z" - style="font-size:medium;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-indent:0;text-align:start;text-decoration:none;line-height:normal;letter-spacing:normal;word-spacing:normal;text-transform:none;direction:ltr;block-progression:tb;writing-mode:lr-tb;text-anchor:start;color:#000000;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:4;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate;font-family:Sans;-inkscape-font-specification:Sans" /> + d="m -1517.5487,-204.84727 c -2.9547,0 -5.3333,2.37866 -5.3333,5.33333 v 18.13333 c 0,2.95467 2.3786,5.33334 5.3333,5.33334 h 15.7333 c 2.7382,13.86933 1.5518,19.99484 -3.5666,34.7 -3.8395,-4.73691 -9.0694,-7.93663 -15.1,-10.3 -5.182,-2.03085 -9.624,-4.97315 -11.3334,-8.6 0.3255,-0.69058 0.5334,-1.45004 0.5334,-2.26667 v -18.13333 c 0,-2.95467 -2.3787,-5.33334 -5.3334,-5.33334 h -18.1333 c -2.9547,0 -5.3333,2.37867 -5.3333,5.33334 v 18.13333 c 0,2.95467 2.3786,5.33333 5.3333,5.33333 h 18.1333 c 1.4607,0 2.7721,-0.58846 3.7334,-1.53333 1.0281,4.87683 4.9233,7.92967 11.3333,11.13333 5.788,2.89272 10.3282,9.72886 12.5667,16.36667 -1.1288,3.17941 -2.315,6.55995 -3.6666,10.5 -2.5342,7.56981 -5.7297,16.34396 -8,25.966665 -2.5491,-1.474933 -5.312,-2.49681 -8.2,-3.033333 -1.2329,-0.814507 -2.148,-1.573472 -2.8,-2.500002 -2.0383,-2.89606 -0.6253,-8.48009 -1.2667,-12.43333 h 7.0667 c 2.9546,0 5.3333,-2.37867 5.3333,-5.33333 v -18.13334 c 0,-2.95466 -2.3787,-5.33333 -5.3333,-5.33333 h -18.1001 c -2.9547,0 -5.3333,2.37867 -5.3333,5.33333 v 18.13334 c 0,2.95466 2.3786,5.33333 5.3333,5.33333 h 9.7333 c -0.1702,4.15564 -3.2598,10.55246 -0.6,14.333332 0.021,0.03093 0.045,0.06891 0.066,0.09995 -0.1797,8.42e-4 -0.3532,-0.0032 -0.5334,0 -10.8271,0.216277 -16.9393,-1.466006 -23.2,-5.366672 0.945,-0.96133 1.5334,-2.30598 1.5334,-3.76666 v -18.1 c 0,-2.95467 -2.3787,-5.33334 -5.3334,-5.33334 h -18.1333 c -2.9547,0 -5.3333,2.37867 -5.3333,5.33334 v 18.1 c 0,2.95466 2.3786,5.33333 5.3333,5.33333 h 18.1333 c 0.3807,0 0.7757,-0.025 1.1334,-0.1 5.688,5.479674 13.6911,9.621424 24.9333,11.100005 7.0664,0.929344 11.2414,2.384459 13.9333,4.433333 -2.3528,14.42928 -1.9056,30.44384 6,47.1 1.3448,0.203478 2.6685,0.461387 4.0334,0.6 2.8104,0.285408 5.6476,0.433334 8.5334,0.433334 2.8856,0 5.7562,-0.147926 8.5666,-0.433334 1.0273,-0.10432 4.1507,-0.625482 5.1667,-0.766666 -13.6668,-23.860427 -15.7395,-45.226859 -11.5333,-65.500002 1.5317,-1.52794 3.3401,-2.6731 5.4332,-3.63333 4.9987,-2.29309 12.8385,-3.90722 18.6667,-4.43334 11.4521,-0.88328 23.3072,-4.46626 25.8334,-13.5 0.9551,0.90602 2.2735,1.46667 3.6999,1.46667 h 18.1001 c 2.9547,0 5.3333,-2.37867 5.3333,-5.33333 v -18.13334 c 0,-2.95466 -2.3786,-5.33333 -5.3333,-5.33333 h -18.1001 c -2.9546,0 -5.3333,2.37867 -5.3333,5.33333 v 18.13334 c 0,0.52971 0.091,1.01769 0.2334,1.5 -1.3405,6.21931 -9.2186,7.72461 -16.4,8.26666 2.2924,-2.52053 3.5039,-5.00117 4.7666,-7.7 2.4922,-5.32641 1.2786,-12.14442 0.7333,-15.3 -1.3001,-4.18985 -2.1803,-11.03831 -1.2,-17.3 h 7.2667 c 2.9547,0 5.3333,-2.37866 5.3333,-5.33333 v -18.13333 c 0,-2.95467 -2.3786,-5.33334 -5.3333,-5.33334 h -18.1333 c -2.9547,0 -5.3334,2.37867 -5.3334,5.33334 v 18.13333 c 0,2.95467 2.3787,5.33333 5.3334,5.33333 h 9.2334 c -2.0744,5.35033 -1.8362,11.55956 -0.7001,17.9 0.4779,2.76583 -0.1432,8.39373 -2.0333,12.43334 -1.7733,3.79012 -3.7177,6.29053 -12.1333,10.73333 -5.1487,0.36973 -11.3942,0.84951 -16.7333,2.93333 8.9721,-28.93704 4.2713,-47.9363 0.2999,-59.06666 2.2606,-0.61901 3.9333,-2.67112 3.9333,-5.13334 v -18.13333 c 0,-2.95467 -2.3786,-5.33333 -5.3333,-5.33333 h -18.1333 z" + style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:Sans;-inkscape-font-specification:Sans;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-anchor:start;display:inline;overflow:visible;visibility:visible;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:4.26666689;marker:none;enable-background:accumulate" /> <text transform="scale(0.99591644,1.0041003)" xml:space="preserve" - style="font-size:67.73003387px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;letter-spacing:0;word-spacing:0;writing-mode:lr-tb;text-anchor:start;fill:#ffffff;stroke:none;font-family:Arial Rounded MT Bold;-inkscape-font-specification:'Arial Rounded MT Bold,'" - x="-1400.252" - y="-47.759293" - id="text4277" - sodipodi:linespacing="125%"><tspan + style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:72.24536896px;line-height:125%;font-family:'Arial Rounded MT Bold';-inkscape-font-specification:'Arial Rounded MT Bold,';text-align:start;letter-spacing:0;word-spacing:0;writing-mode:lr-tb;text-anchor:start;fill:#ffffff;stroke:none;stroke-width:1.06666672" + x="-1493.6021" + y="-50.943245" + id="text4277"><tspan sodipodi:role="line" id="tspan4279" - x="-1400.252" - y="-47.759293"><tspan + x="-1493.6021" + y="-50.943245" + style="stroke-width:1.06666672"><tspan id="tspan4281" - style="fill:#ffffff;stroke:none">W</tspan>in<tspan + style="fill:#ffffff;stroke:none;stroke-width:1.06666672">W</tspan>in<tspan id="tspan4283" - style="fill:#ffffff;stroke:none">D</tspan>ir<tspan + style="fill:#ffffff;stroke:none;stroke-width:1.06666672">D</tspan>ir<tspan id="tspan4285" - style="fill:#ffffff;stroke:none">S</tspan>tat</tspan></text> + style="fill:#ffffff;stroke:none;stroke-width:1.06666672">S</tspan>tat</tspan></text> </g> <g id="g3396"> <path inkscape:connector-curvature="0" id="path4330" - d="m 285.83748,483.7476 c -1.76488,0 -3.18571,1.42082 -3.18571,3.18571 l 0,10.83141 c 0,1.76488 1.42083,3.18571 3.18571,3.18571 l 9.39784,0 c 1.63555,8.28443 0.92685,11.94333 -2.13041,20.72701 -2.29345,-2.82945 -5.41742,-4.74071 -9.01957,-6.1524 -3.09536,-1.21306 -5.74861,-2.97056 -6.76963,-5.13695 0.19433,-0.41249 0.31857,-0.86614 0.31857,-1.35393 l 0,-10.83141 c 0,-1.76488 -1.42083,-3.18571 -3.18571,-3.18571 l -10.83141,0 c -1.76488,0 -3.18571,1.42083 -3.18571,3.18571 l 0,10.83141 c 0,1.76488 1.42083,3.18571 3.18571,3.18571 l 10.83141,0 c 0.8725,0 1.65581,-0.3515 2.23,-0.91589 0.61414,2.91303 2.94079,4.73656 6.76963,6.65017 3.45719,1.72787 6.16919,5.81124 7.50636,9.77614 -0.67429,1.89913 -1.38279,3.91839 -2.19018,6.27187 -1.51378,4.5216 -3.42247,9.76258 -4.77856,15.51042 -1.52264,-0.88101 -3.17303,-1.4914 -4.89803,-1.81188 -0.73647,-0.48652 -1.28301,-0.93986 -1.67249,-1.4933 -1.21752,-1.72988 -0.3735,-5.06533 -0.75661,-7.42668 l 4.22106,0 c 1.76482,0 3.18571,-1.42083 3.18571,-3.18571 l 0,-10.83141 c 0,-1.76488 -1.42089,-3.18571 -3.18571,-3.18571 l -10.81153,0 c -1.76488,0 -3.18571,1.42083 -3.18571,3.18571 l 0,10.83141 c 0,1.76488 1.42083,3.18571 3.18571,3.18571 l 5.81392,0 c -0.10175,2.48225 -1.94717,6.3032 -0.35839,8.56159 0.0127,0.0185 0.0268,0.0412 0.0395,0.0597 -0.10729,5.1e-4 -0.21096,-0.002 -0.31857,0 -6.46724,0.12919 -10.11826,-0.87567 -13.85783,-3.20562 0.56438,-0.57422 0.91589,-1.37741 0.91589,-2.2499 l 0,-10.8115 c 0,-1.76489 -1.42083,-3.18571 -3.18571,-3.18571 l -10.83141,0 c -1.76488,0 -3.18571,1.42082 -3.18571,3.18571 l 0,10.8115 c 0,1.76488 1.42083,3.1857 3.18571,3.1857 l 10.83141,0 c 0.22733,0 0.46333,-0.0149 0.67696,-0.0597 3.39756,3.27312 8.17791,5.74707 14.89319,6.63026 4.22081,0.55512 6.71471,1.42429 8.32267,2.64812 -1.40547,8.61891 -1.13832,18.18473 3.58392,28.13379 0.80324,0.12154 1.59387,0.2756 2.40916,0.3584 1.67874,0.17048 3.37347,0.25883 5.09713,0.25883 1.72373,0 3.43834,-0.0883 5.11708,-0.25883 0.61363,-0.0623 2.47931,-0.37362 3.08612,-0.45795 -8.16338,-14.25232 -9.40153,-27.01493 -6.88909,-39.12449 0.91493,-0.91267 1.99521,-1.59669 3.24547,-2.17026 2.98571,-1.36971 7.66864,-2.33386 11.14998,-2.64812 6.84055,-0.52761 13.92181,-2.66779 15.43075,-8.06383 0.57056,0.54118 1.35807,0.87607 2.21012,0.87607 l 10.81146,0 c 1.76489,0 3.18571,-1.42082 3.18571,-3.18571 l 0,-10.83141 c 0,-1.76488 -1.42082,-3.18571 -3.18571,-3.18571 l -10.81146,0 c -1.76489,0 -3.18571,1.42083 -3.18571,3.18571 l 0,10.83141 c 0,0.31641 0.0541,0.60789 0.13934,0.89598 -0.80063,3.71493 -5.50637,4.61408 -9.79606,4.93785 1.36929,-1.50556 2.09302,-2.9873 2.84726,-4.59937 1.48856,-3.18157 0.76368,-7.25411 0.43804,-9.139 -0.77668,-2.50268 -1.30245,-6.59341 -0.71679,-10.33364 l 4.34053,0 c 1.76489,0 3.18571,-1.42083 3.18571,-3.18571 l 0,-10.83141 c 0,-1.76488 -1.42082,-3.18571 -3.18571,-3.18571 l -10.83141,0 c -1.76488,0 -3.18571,1.42083 -3.18571,3.18571 l 0,10.83141 c 0,1.76488 1.42083,3.18571 3.18571,3.18571 l 5.51523,0 c -1.23905,3.19586 -1.09678,6.90476 -0.41809,10.69203 0.28544,1.65209 -0.0856,5.01375 -1.21459,7.42669 -1.05918,2.26392 -2.22063,3.75747 -7.24748,6.41124 -3.07536,0.22084 -6.80595,0.50743 -9.99517,1.75214 5.35926,-17.28469 2.55137,-28.63333 0.17923,-35.28173 1.35023,-0.36974 2.34946,-1.59551 2.34946,-3.06624 l 0,-10.83141 c 0,-1.76489 -1.42082,-3.18571 -3.18571,-3.18571 l -10.83141,0 z" - style="font-size:medium;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-indent:0;text-align:start;text-decoration:none;line-height:normal;letter-spacing:normal;word-spacing:normal;text-transform:none;direction:ltr;block-progression:tb;writing-mode:lr-tb;text-anchor:start;color:#000000;fill:#000000;fill-opacity:1;stroke:none;stroke-width:4;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate;font-family:Sans;-inkscape-font-specification:Sans" /> + d="m 304.89331,515.99744 c -1.88254,0 -3.39809,1.51554 -3.39809,3.39809 v 11.5535 c 0,1.88254 1.51555,3.3981 3.39809,3.3981 h 10.02436 c 1.74459,8.83672 0.98864,12.73955 -2.27243,22.10881 -2.44635,-3.01808 -5.77858,-5.05676 -9.62088,-6.56256 -3.30171,-1.29393 -6.13185,-3.1686 -7.22094,-5.47942 0.20729,-0.43999 0.33981,-0.92388 0.33981,-1.44419 v -11.5535 c 0,-1.88254 -1.51555,-3.39809 -3.39809,-3.39809 h -11.5535 c -1.88254,0 -3.39809,1.51555 -3.39809,3.39809 v 11.5535 c 0,1.88254 1.51555,3.39809 3.39809,3.39809 h 11.5535 c 0.93067,0 1.7662,-0.37493 2.37867,-0.97695 0.65508,3.10723 3.13684,5.05233 7.22094,7.09352 3.68767,1.84306 6.58047,6.19865 8.00678,10.42788 -0.71924,2.02574 -1.47498,4.17962 -2.33619,6.68999 -1.6147,4.82304 -3.65064,10.41342 -5.09713,16.54445 -1.62415,-0.93974 -3.38457,-1.59082 -5.22457,-1.93267 -0.78557,-0.51895 -1.36854,-1.00252 -1.78399,-1.59285 -1.29868,-1.84521 -0.3984,-5.40302 -0.80705,-7.9218 h 4.50247 c 1.88247,0 3.39809,-1.51555 3.39809,-3.39809 v -11.5535 c 0,-1.88254 -1.51562,-3.39809 -3.39809,-3.39809 h -11.5323 c -1.88254,0 -3.39809,1.51555 -3.39809,3.39809 v 11.5535 c 0,1.88254 1.51555,3.39809 3.39809,3.39809 h 6.20151 c -0.10853,2.64774 -2.07698,6.72342 -0.38228,9.13237 0.0136,0.0197 0.0286,0.0439 0.0421,0.0637 -0.11444,5.4e-4 -0.22502,-0.002 -0.3398,0 -6.89839,0.1378 -10.79282,-0.93405 -14.78169,-3.41933 0.60201,-0.6125 0.97695,-1.46924 0.97695,-2.39989 v -11.53227 c 0,-1.88255 -1.51555,-3.39809 -3.39809,-3.39809 h -11.55351 c -1.88253,0 -3.39809,1.51554 -3.39809,3.39809 v 11.53227 c 0,1.88253 1.51556,3.39808 3.39809,3.39808 h 11.55351 c 0.24248,0 0.49422,-0.0159 0.72209,-0.0637 3.62406,3.49132 8.7231,6.1302 15.88607,7.07227 4.5022,0.59213 7.16236,1.51925 8.87751,2.82466 -1.49916,9.19351 -1.2142,19.39705 3.82285,30.00938 0.85679,0.12964 1.70013,0.29397 2.56977,0.38229 1.79066,0.18185 3.59837,0.27609 5.43694,0.27609 1.83865,0 3.66756,-0.0942 5.45822,-0.27609 0.65454,-0.0665 2.6446,-0.39852 3.29186,-0.48848 -8.7076,-15.20247 -10.0283,-28.81592 -7.34836,-41.73279 0.97592,-0.97351 2.12822,-1.70313 3.46183,-2.31494 3.18476,-1.46102 8.17989,-2.48945 11.89331,-2.82466 7.29659,-0.56278 14.84994,-2.84564 16.45947,-8.60142 0.6086,0.57726 1.44861,0.93448 2.35746,0.93448 h 11.53223 c 1.88255,0 3.39809,-1.51555 3.39809,-3.3981 v -11.5535 c 0,-1.88254 -1.51554,-3.39809 -3.39809,-3.39809 h -11.53223 c -1.88255,0 -3.39809,1.51555 -3.39809,3.39809 v 11.5535 c 0,0.33751 0.0577,0.64842 0.14863,0.95572 -0.854,3.96259 -5.87346,4.92168 -10.44913,5.26704 1.46058,-1.60593 2.23256,-3.18646 3.03708,-4.906 1.5878,-3.39367 0.81459,-7.73772 0.46724,-9.74826 -0.82846,-2.66953 -1.38928,-7.03298 -0.76458,-11.02255 h 4.6299 c 1.88255,0 3.39809,-1.51556 3.39809,-3.39809 V 528.8677 c 0,-1.88254 -1.51554,-3.39809 -3.39809,-3.39809 h -11.5535 c -1.88254,0 -3.39809,1.51555 -3.39809,3.39809 v 11.55351 c 0,1.88253 1.51555,3.39809 3.39809,3.39809 h 5.88291 c -1.32165,3.40891 -1.1699,7.36507 -0.44596,11.40483 0.30447,1.76223 -0.0913,5.348 -1.29556,7.9218 -1.1298,2.41485 -2.36868,4.00797 -7.73065,6.83866 -3.28038,0.23556 -7.25968,0.54126 -10.66151,1.86895 5.71654,-18.43701 2.72146,-30.54222 0.19117,-37.63385 1.44025,-0.39439 2.5061,-1.70188 2.5061,-3.27066 v -11.5535 c 0,-1.88255 -1.51555,-3.39809 -3.3981,-3.39809 h -11.5535 z" + style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:Sans;-inkscape-font-specification:Sans;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-anchor:start;display:inline;overflow:visible;visibility:visible;fill:#000000;fill-opacity:1;stroke:none;stroke-width:4.26666689;marker:none;enable-background:accumulate" /> <path inkscape:connector-curvature="0" - style="font-size:medium;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-indent:0;text-align:start;text-decoration:none;line-height:normal;letter-spacing:normal;word-spacing:normal;text-transform:none;direction:ltr;block-progression:tb;writing-mode:lr-tb;text-anchor:start;color:#000000;fill:#808080;fill-opacity:1;stroke:none;stroke-width:17.92433548;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate;font-family:Sans;-inkscape-font-specification:Sans" - d="m 304.61329,484.64358 c 0.21809,0.73165 0.33845,1.49672 0.33845,2.28973 l 0,2.9866 c 1.50072,-1.46066 3.52479,-2.38928 5.73427,-2.38928 l 2.9866,0 c -2.8888,-1.24383 -5.92102,-2.20734 -9.05932,-2.88705 z m -27.03871,1.71232 c -2.72678,0.96521 -5.33874,2.15904 -7.82493,3.56401 l 4.69892,0 c 1.0964,0 2.13921,0.23248 3.10607,0.63714 l 0,-3.62374 c 0,-0.1941 0.006,-0.38623 0.0197,-0.57741 z m 52.22568,12.32471 0,7.96427 c 0,0.80307 -0.15482,1.56971 -0.37827,2.30964 l 8.02398,0 c -2.10525,-3.75024 -4.67637,-7.20302 -7.64571,-10.27391 z m -74.46594,3.50428 c -4.86847,6.07334 -8.34809,13.2975 -9.9354,21.20487 0.90525,-0.34828 1.87409,-0.53759 2.88702,-0.53759 l 7.70546,0 c 0.67391,-2.50996 1.57948,-4.92408 2.70786,-7.20766 -2.02548,-1.52441 -3.36494,-3.93816 -3.36494,-6.61035 l 0,-6.84927 z m 88.42336,32.01637 c -1.47396,1.32705 -3.4031,2.15036 -5.49534,2.15036 l -4.83833,0 c -1.38527,17.44224 -14.00055,31.6305 -30.66245,35.34145 1.04682,2.64137 2.35086,5.35018 3.96226,8.16338 0.21707,0.3785 0.38693,0.79321 0.49773,1.21456 20.71093,-5.69011 36.07325,-24.4949 36.53613,-46.86975 z m -96.32787,15.98828 c 5.42067,14.80499 17.70859,26.32893 32.97209,30.72218 -1.51876,-4.03348 -2.38871,-8.00381 -2.80744,-11.86677 -8.21021,-3.77168 -14.89956,-10.25488 -18.8952,-18.33773 -0.20746,-0.15759 -0.41606,-0.31601 -0.61727,-0.47786 l -9.79605,0 c -0.28793,0 -0.5749,-0.01 -0.85613,-0.0398 z" + style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:Sans;-inkscape-font-specification:Sans;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-anchor:start;display:inline;overflow:visible;visibility:visible;fill:#808080;fill-opacity:1;stroke:none;stroke-width:19.11929131;marker:none;enable-background:accumulate" + d="m 324.92084,516.95315 c 0.23263,0.78043 0.36102,1.5965 0.36102,2.44238 v 3.18571 c 1.60076,-1.55804 3.75977,-2.54857 6.11655,-2.54857 h 3.18571 c -3.08139,-1.32675 -6.31576,-2.35449 -9.66328,-3.07952 z m -28.84129,1.82648 c -2.90856,1.02955 -5.69465,2.30297 -8.34659,3.80161 h 5.01218 c 1.16949,0 2.28183,0.24798 3.31314,0.67961 v -3.86532 c 0,-0.20704 0.006,-0.41198 0.021,-0.6159 z m 55.70739,13.14635 v 8.49523 c 0,0.8566 -0.16514,1.67435 -0.40348,2.46361 h 8.55891 c -2.2456,-4.00025 -4.98813,-7.68322 -8.15543,-10.95884 z m -79.43033,3.7379 c -5.19304,6.47823 -8.90463,14.184 -10.59776,22.61853 0.9656,-0.3715 1.99903,-0.57343 3.07949,-0.57343 h 8.21915 c 0.71884,-2.67729 1.68478,-5.25235 2.88839,-7.68817 -2.16051,-1.62604 -3.58927,-4.2007 -3.58927,-7.05104 z m 94.31825,34.1508 c -1.57223,1.41552 -3.62997,2.29371 -5.8617,2.29371 h -5.16088 c -1.47762,18.60506 -14.93392,33.7392 -32.70662,37.69755 1.11661,2.81746 2.50759,5.70686 4.22641,8.70761 0.23155,0.40373 0.41273,0.84609 0.53092,1.29553 22.09166,-6.06945 38.47813,-26.1279 38.97187,-49.9944 z m -102.74973,17.05416 c 5.78205,15.79199 18.88916,28.08419 35.17023,32.77033 -1.62001,-4.30238 -2.54796,-8.5374 -2.9946,-12.65789 -8.75756,-4.02313 -15.89287,-10.93854 -20.15488,-19.56025 -0.22129,-0.16809 -0.4438,-0.33707 -0.65842,-0.50971 h -10.44912 c -0.30713,0 -0.61323,-0.0107 -0.91321,-0.0425 z" id="path4332" /> </g> <g id="g4349" - transform="translate(160,10)"> + transform="translate(170.66667,10.666667)"> <path - style="font-size:medium;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-indent:0;text-align:start;text-decoration:none;line-height:normal;letter-spacing:normal;word-spacing:normal;text-transform:none;direction:ltr;block-progression:tb;writing-mode:lr-tb;text-anchor:start;color:#000000;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:4;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate;font-family:Sans;-inkscape-font-specification:Sans" - d="m 475.83748,473.7476 c -1.76488,0 -3.18571,1.42082 -3.18571,3.18571 l 0,10.83141 c 0,1.76488 1.42083,3.18571 3.18571,3.18571 l 9.39784,0 c 1.63555,8.28443 0.92685,11.94333 -2.13041,20.72701 -2.29345,-2.82945 -5.41742,-4.74071 -9.01957,-6.1524 -3.09536,-1.21306 -5.74861,-2.97056 -6.76963,-5.13695 0.19433,-0.41249 0.31857,-0.86614 0.31857,-1.35393 l 0,-10.83141 c 0,-1.76488 -1.42083,-3.18571 -3.18571,-3.18571 l -10.83141,0 c -1.76488,0 -3.18571,1.42083 -3.18571,3.18571 l 0,10.83141 c 0,1.76488 1.42083,3.18571 3.18571,3.18571 l 10.83141,0 c 0.8725,0 1.65581,-0.3515 2.23,-0.91589 0.61414,2.91303 2.94079,4.73656 6.76963,6.65017 3.45719,1.72787 6.16919,5.81124 7.50636,9.77614 -0.67429,1.89913 -1.38279,3.91839 -2.19018,6.27187 -1.51378,4.5216 -3.42247,9.76258 -4.77856,15.51042 -1.52264,-0.88101 -3.17303,-1.4914 -4.89803,-1.81188 -0.73647,-0.48652 -1.28301,-0.93986 -1.67249,-1.4933 -1.21752,-1.72988 -0.3735,-5.06533 -0.75661,-7.42668 l 4.22106,0 c 1.76482,0 3.18571,-1.42083 3.18571,-3.18571 l 0,-10.83141 c 0,-1.76488 -1.42089,-3.18571 -3.18571,-3.18571 l -10.81153,0 c -1.76488,0 -3.18571,1.42083 -3.18571,3.18571 l 0,10.83141 c 0,1.76488 1.42083,3.18571 3.18571,3.18571 l 5.81392,0 c -0.10175,2.48225 -1.94717,6.3032 -0.35839,8.56159 0.0127,0.0185 0.0268,0.0412 0.0395,0.0597 -0.10729,5.1e-4 -0.21096,-0.002 -0.31857,0 -6.46724,0.12919 -10.11826,-0.87567 -13.85783,-3.20562 0.56438,-0.57422 0.91589,-1.37741 0.91589,-2.2499 l 0,-10.8115 c 0,-1.76489 -1.42083,-3.18571 -3.18571,-3.18571 l -10.83141,0 c -1.76488,0 -3.18571,1.42082 -3.18571,3.18571 l 0,10.8115 c 0,1.76488 1.42083,3.1857 3.18571,3.1857 l 10.83141,0 c 0.22733,0 0.46333,-0.0149 0.67696,-0.0597 3.39756,3.27312 8.17791,5.74707 14.89319,6.63026 4.22081,0.55512 6.71471,1.42429 8.32267,2.64812 -1.40547,8.61891 -1.13832,18.18473 3.58392,28.13379 0.80324,0.12154 1.59387,0.2756 2.40916,0.3584 1.67874,0.17048 3.37347,0.25883 5.09713,0.25883 1.72373,0 3.43834,-0.0883 5.11708,-0.25883 0.61363,-0.0623 2.47931,-0.37362 3.08612,-0.45795 -8.16338,-14.25232 -9.40153,-27.01493 -6.88909,-39.12449 0.91493,-0.91267 1.99521,-1.59669 3.24547,-2.17026 2.98571,-1.36971 7.66864,-2.33386 11.14998,-2.64812 6.84055,-0.52761 13.92181,-2.66779 15.43075,-8.06383 0.57056,0.54118 1.35807,0.87607 2.21012,0.87607 l 10.81146,0 c 1.76489,0 3.18571,-1.42082 3.18571,-3.18571 l 0,-10.83141 c 0,-1.76488 -1.42082,-3.18571 -3.18571,-3.18571 l -10.81146,0 c -1.76489,0 -3.18571,1.42083 -3.18571,3.18571 l 0,10.83141 c 0,0.31641 0.0541,0.60789 0.13934,0.89598 -0.80063,3.71493 -5.50637,4.61408 -9.79606,4.93785 1.36929,-1.50556 2.09302,-2.9873 2.84726,-4.59937 1.48856,-3.18157 0.76368,-7.25411 0.43804,-9.139 -0.77668,-2.50268 -1.30245,-6.59341 -0.71679,-10.33364 l 4.34053,0 c 1.76489,0 3.18571,-1.42083 3.18571,-3.18571 l 0,-10.83141 c 0,-1.76488 -1.42082,-3.18571 -3.18571,-3.18571 l -10.83141,0 c -1.76488,0 -3.18571,1.42083 -3.18571,3.18571 l 0,10.83141 c 0,1.76488 1.42083,3.18571 3.18571,3.18571 l 5.51523,0 c -1.23905,3.19586 -1.09678,6.90476 -0.41809,10.69203 0.28544,1.65209 -0.0856,5.01375 -1.21459,7.42669 -1.05918,2.26392 -2.22063,3.75747 -7.24748,6.41124 -3.07536,0.22084 -6.80595,0.50743 -9.99517,1.75214 5.35926,-17.28469 2.55137,-28.63333 0.17923,-35.28173 1.35023,-0.36974 2.34946,-1.59551 2.34946,-3.06624 l 0,-10.83141 c 0,-1.76489 -1.42082,-3.18571 -3.18571,-3.18571 l -10.83141,0 z" + style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:Sans;-inkscape-font-specification:Sans;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-anchor:start;display:inline;overflow:visible;visibility:visible;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:4.26666689;marker:none;enable-background:accumulate" + d="m 507.55998,505.33077 c -1.88254,0 -3.39809,1.51554 -3.39809,3.39809 v 11.55351 c 0,1.88254 1.51555,3.39809 3.39809,3.39809 h 10.02436 c 1.74459,8.83672 0.98864,12.73955 -2.27244,22.10881 -2.44634,-3.01808 -5.77858,-5.05676 -9.62087,-6.56256 -3.30172,-1.29393 -6.13185,-3.1686 -7.22094,-5.47941 0.20729,-0.43999 0.33981,-0.92389 0.33981,-1.4442 v -11.5535 c 0,-1.88254 -1.51555,-3.39809 -3.39809,-3.39809 H 483.8583 c -1.88253,0 -3.39809,1.51555 -3.39809,3.39809 v 11.5535 c 0,1.88254 1.51556,3.39809 3.39809,3.39809 h 11.55351 c 0.93066,0 1.7662,-0.37493 2.37866,-0.97694 0.65509,3.10723 3.13685,5.05233 7.22094,7.09351 3.68767,1.84306 6.58047,6.19866 8.00679,10.42788 -0.71925,2.02574 -1.47498,4.17962 -2.33619,6.69 -1.6147,4.82304 -3.65064,10.41342 -5.09714,16.54445 -1.62414,-0.93975 -3.38456,-1.59083 -5.22456,-1.93268 -0.78557,-0.51895 -1.36854,-1.00251 -1.78399,-1.59285 -1.29869,-1.84521 -0.3984,-5.40302 -0.80705,-7.92179 h 4.50246 c 1.88248,0 3.39809,-1.51555 3.39809,-3.39809 v -11.55351 c 0,-1.88254 -1.51561,-3.39809 -3.39809,-3.39809 h -11.5323 c -1.88253,0 -3.39809,1.51555 -3.39809,3.39809 v 11.55351 c 0,1.88254 1.51556,3.39809 3.39809,3.39809 h 6.20152 c -0.10853,2.64773 -2.07698,6.72341 -0.38228,9.13236 0.0135,0.0197 0.0286,0.0439 0.0421,0.0637 -0.11444,5.4e-4 -0.22502,-0.002 -0.33981,0 -6.89839,0.1378 -10.79281,-0.93405 -14.78168,-3.41933 0.602,-0.6125 0.97695,-1.46923 0.97695,-2.39989 v -11.53227 c 0,-1.88255 -1.51556,-3.39809 -3.39809,-3.39809 h -11.55351 c -1.88254,0 -3.39809,1.51554 -3.39809,3.39809 v 11.53227 c 0,1.88254 1.51555,3.39808 3.39809,3.39808 h 11.55351 c 0.24248,0 0.49421,-0.0159 0.72209,-0.0637 3.62406,3.49133 8.7231,6.13021 15.88607,7.07228 4.50219,0.59212 7.16235,1.51924 8.87751,2.82466 -1.49917,9.1935 -1.21421,19.39704 3.82285,30.00937 0.85679,0.12965 1.70013,0.29398 2.56977,0.3823 1.79065,0.18184 3.59837,0.27608 5.43694,0.27608 1.83864,0 3.66756,-0.0942 5.45822,-0.27608 0.65453,-0.0665 2.64459,-0.39853 3.29186,-0.48848 -8.70761,-15.20248 -10.0283,-28.81593 -7.34837,-41.73279 0.97593,-0.97352 2.12823,-1.70314 3.46184,-2.31495 3.18476,-1.46102 8.17988,-2.48945 11.89331,-2.82466 7.29659,-0.56278 14.84993,-2.84564 16.45947,-8.60142 0.6086,0.57726 1.44861,0.93448 2.35746,0.93448 h 11.53222 c 1.88255,0 3.39809,-1.51554 3.39809,-3.39809 v -11.55351 c 0,-1.88253 -1.51554,-3.39809 -3.39809,-3.39809 h -11.53222 c -1.88255,0 -3.39809,1.51556 -3.39809,3.39809 v 11.55351 c 0,0.3375 0.0577,0.64841 0.14863,0.95571 -0.85401,3.96259 -5.87346,4.92169 -10.44913,5.26704 1.46057,-1.60593 2.23255,-3.18645 3.03707,-4.90599 1.5878,-3.39368 0.8146,-7.73772 0.46725,-9.74827 -0.82846,-2.66953 -1.38928,-7.03297 -0.76458,-11.02255 h 4.6299 c 1.88255,0 3.39809,-1.51555 3.39809,-3.39809 v -11.55351 c 0,-1.88253 -1.51554,-3.39809 -3.39809,-3.39809 h -11.5535 c -1.88254,0 -3.39809,1.51556 -3.39809,3.39809 v 11.55351 c 0,1.88254 1.51555,3.39809 3.39809,3.39809 h 5.88291 c -1.32166,3.40892 -1.1699,7.36508 -0.44596,11.40483 0.30446,1.76223 -0.0913,5.348 -1.29557,7.9218 -1.12979,2.41485 -2.36867,4.00797 -7.73064,6.83866 -3.28039,0.23556 -7.25968,0.54126 -10.66152,1.86895 5.71655,-18.437 2.72146,-30.54222 0.19118,-37.63385 1.44025,-0.39439 2.50609,-1.70187 2.50609,-3.27065 v -11.55351 c 0,-1.88255 -1.51554,-3.39809 -3.39809,-3.39809 h -11.5535 z" id="path4337" inkscape:connector-curvature="0" /> <path id="path4339" - d="m 494.61329,474.64358 c 0.21809,0.73165 0.33845,1.49672 0.33845,2.28973 l 0,2.9866 c 1.50072,-1.46066 3.52479,-2.38928 5.73427,-2.38928 l 2.9866,0 c -2.8888,-1.24383 -5.92102,-2.20734 -9.05932,-2.88705 z m -27.03871,1.71232 c -2.72678,0.96521 -5.33874,2.15904 -7.82493,3.56401 l 4.69892,0 c 1.0964,0 2.13921,0.23248 3.10607,0.63714 l 0,-3.62374 c 0,-0.1941 0.006,-0.38623 0.0197,-0.57741 z m 52.22568,12.32471 0,7.96427 c 0,0.80307 -0.15482,1.56971 -0.37827,2.30964 l 8.02398,0 c -2.10525,-3.75024 -4.67637,-7.20302 -7.64571,-10.27391 z m -74.46594,3.50428 c -4.86847,6.07334 -8.34809,13.2975 -9.9354,21.20487 0.90525,-0.34828 1.87409,-0.53759 2.88702,-0.53759 l 7.70546,0 c 0.67391,-2.50996 1.57948,-4.92408 2.70786,-7.20766 -2.02548,-1.52441 -3.36494,-3.93816 -3.36494,-6.61035 l 0,-6.84927 z m 88.42336,32.01637 c -1.47396,1.32705 -3.4031,2.15036 -5.49534,2.15036 l -4.83833,0 c -1.38527,17.44224 -14.00055,31.6305 -30.66245,35.34145 1.04682,2.64137 2.35086,5.35018 3.96226,8.16338 0.21707,0.3785 0.38693,0.79321 0.49773,1.21456 20.71093,-5.69011 36.07325,-24.4949 36.53613,-46.86975 z m -96.32787,15.98828 c 5.42067,14.80499 17.70859,26.32893 32.97209,30.72218 -1.51876,-4.03348 -2.38871,-8.00381 -2.80744,-11.86677 -8.21021,-3.77168 -14.89956,-10.25488 -18.8952,-18.33773 -0.20746,-0.15759 -0.41606,-0.31601 -0.61727,-0.47786 l -9.79605,0 c -0.28793,0 -0.5749,-0.01 -0.85613,-0.0398 z" - style="font-size:medium;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-indent:0;text-align:start;text-decoration:none;line-height:normal;letter-spacing:normal;word-spacing:normal;text-transform:none;direction:ltr;block-progression:tb;writing-mode:lr-tb;text-anchor:start;color:#000000;fill:#808080;fill-opacity:1;stroke:none;stroke-width:17.92433548;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate;font-family:Sans;-inkscape-font-specification:Sans" + d="m 527.58751,506.28649 c 0.23263,0.78042 0.36101,1.5965 0.36101,2.44237 v 3.18571 c 1.60077,-1.55804 3.75978,-2.54856 6.11656,-2.54856 h 3.1857 c -3.08138,-1.32676 -6.31575,-2.3545 -9.66327,-3.07952 z m -28.84129,1.82647 c -2.90857,1.02956 -5.69466,2.30298 -8.34659,3.80161 h 5.01218 c 1.16949,0 2.28182,0.24798 3.31314,0.67962 v -3.86533 c 0,-0.20704 0.006,-0.41197 0.021,-0.6159 z m 55.70739,13.14636 v 8.49522 c 0,0.85661 -0.16514,1.67436 -0.40349,2.46361 h 8.55891 c -2.2456,-4.00025 -4.98812,-7.68322 -8.15542,-10.95883 z m -79.43034,3.7379 c -5.19303,6.47823 -8.90462,14.184 -10.59776,22.61852 0.9656,-0.37149 1.99903,-0.57343 3.07949,-0.57343 h 8.21916 c 0.71884,-2.67729 1.68478,-5.25235 2.88838,-7.68817 -2.16051,-1.62603 -3.58927,-4.2007 -3.58927,-7.05104 z m 94.31826,34.15079 c -1.57223,1.41552 -3.62998,2.29372 -5.8617,2.29372 h -5.16089 c -1.47762,18.60505 -14.93392,33.7392 -32.70661,37.69754 1.11661,2.81747 2.50758,5.70686 4.22641,8.70761 0.23154,0.40373 0.41273,0.84609 0.53091,1.29553 22.09166,-6.06945 38.47814,-26.12789 38.97188,-49.9944 z M 466.5918,576.20218 c 5.78205,15.79199 18.88916,28.08419 35.17023,32.77032 -1.62001,-4.30238 -2.54796,-8.5374 -2.99461,-12.65789 -8.75755,-4.02312 -15.89286,-10.93854 -20.15488,-19.56024 -0.22129,-0.1681 -0.44379,-0.33708 -0.65842,-0.50972 H 467.505 c -0.30712,0 -0.61322,-0.0107 -0.9132,-0.0425 z" + style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:Sans;-inkscape-font-specification:Sans;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-anchor:start;display:inline;overflow:visible;visibility:visible;fill:#808080;fill-opacity:1;stroke:none;stroke-width:19.11929131;marker:none;enable-background:accumulate" inkscape:connector-curvature="0" /> </g> <g id="g4345" - transform="translate(-169,10)"> + transform="translate(-180.26667,10.666667)"> <path inkscape:connector-curvature="0" id="path4341" - d="m 635.83748,473.7476 c -1.76488,0 -3.18571,1.42082 -3.18571,3.18571 l 0,10.83141 c 0,1.76488 1.42083,3.18571 3.18571,3.18571 l 9.39784,0 c 1.63555,8.28443 0.92685,11.94333 -2.13041,20.72701 -2.29345,-2.82945 -5.41742,-4.74071 -9.01957,-6.1524 -3.09536,-1.21306 -5.74861,-2.97056 -6.76963,-5.13695 0.19433,-0.41249 0.31857,-0.86614 0.31857,-1.35393 l 0,-10.83141 c 0,-1.76488 -1.42083,-3.18571 -3.18571,-3.18571 l -10.83141,0 c -1.76488,0 -3.18571,1.42083 -3.18571,3.18571 l 0,10.83141 c 0,1.76488 1.42083,3.18571 3.18571,3.18571 l 10.83141,0 c 0.8725,0 1.65581,-0.3515 2.23,-0.91589 0.61414,2.91303 2.94079,4.73656 6.76963,6.65017 3.45719,1.72787 6.16919,5.81124 7.50636,9.77614 -0.67429,1.89913 -1.38279,3.91839 -2.19018,6.27187 -1.51378,4.5216 -3.42247,9.76258 -4.77856,15.51042 -1.52264,-0.88101 -3.17303,-1.4914 -4.89803,-1.81188 -0.73647,-0.48652 -1.28301,-0.93986 -1.67249,-1.4933 -1.21752,-1.72988 -0.3735,-5.06533 -0.75661,-7.42668 l 4.22106,0 c 1.76482,0 3.18571,-1.42083 3.18571,-3.18571 l 0,-10.83141 c 0,-1.76488 -1.42089,-3.18571 -3.18571,-3.18571 l -10.81153,0 c -1.76488,0 -3.18571,1.42083 -3.18571,3.18571 l 0,10.83141 c 0,1.76488 1.42083,3.18571 3.18571,3.18571 l 5.81392,0 c -0.10175,2.48225 -1.94717,6.3032 -0.35839,8.56159 0.0127,0.0185 0.0268,0.0412 0.0395,0.0597 -0.10729,5.1e-4 -0.21096,-0.002 -0.31857,0 -6.46724,0.12919 -10.11826,-0.87567 -13.85783,-3.20562 0.56438,-0.57422 0.91589,-1.37741 0.91589,-2.2499 l 0,-10.8115 c 0,-1.76489 -1.42083,-3.18571 -3.18571,-3.18571 l -10.83141,0 c -1.76488,0 -3.18571,1.42082 -3.18571,3.18571 l 0,10.8115 c 0,1.76488 1.42083,3.1857 3.18571,3.1857 l 10.83141,0 c 0.22733,0 0.46333,-0.0149 0.67696,-0.0597 3.39756,3.27312 8.17791,5.74707 14.89319,6.63026 4.22081,0.55512 6.71471,1.42429 8.32267,2.64812 -1.40547,8.61891 -1.13832,18.18473 3.58392,28.13379 0.80324,0.12154 1.59387,0.2756 2.40916,0.3584 1.67874,0.17048 3.37347,0.25883 5.09713,0.25883 1.72373,0 3.43834,-0.0883 5.11708,-0.25883 0.61363,-0.0623 2.47931,-0.37362 3.08612,-0.45795 -8.16338,-14.25232 -9.40153,-27.01493 -6.88909,-39.12449 0.91493,-0.91267 1.99521,-1.59669 3.24547,-2.17026 2.98571,-1.36971 7.66864,-2.33386 11.14998,-2.64812 6.84055,-0.52761 13.92181,-2.66779 15.43075,-8.06383 0.57056,0.54118 1.35807,0.87607 2.21012,0.87607 l 10.81146,0 c 1.76489,0 3.18571,-1.42082 3.18571,-3.18571 l 0,-10.83141 c 0,-1.76488 -1.42082,-3.18571 -3.18571,-3.18571 l -10.81146,0 c -1.76489,0 -3.18571,1.42083 -3.18571,3.18571 l 0,10.83141 c 0,0.31641 0.0541,0.60789 0.13934,0.89598 -0.80063,3.71493 -5.50637,4.61408 -9.79606,4.93785 1.36929,-1.50556 2.09302,-2.9873 2.84726,-4.59937 1.48856,-3.18157 0.76368,-7.25411 0.43804,-9.139 -0.77668,-2.50268 -1.30245,-6.59341 -0.71679,-10.33364 l 4.34053,0 c 1.76489,0 3.18571,-1.42083 3.18571,-3.18571 l 0,-10.83141 c 0,-1.76488 -1.42082,-3.18571 -3.18571,-3.18571 l -10.83141,0 c -1.76488,0 -3.18571,1.42083 -3.18571,3.18571 l 0,10.83141 c 0,1.76488 1.42083,3.18571 3.18571,3.18571 l 5.51523,0 c -1.23905,3.19586 -1.09678,6.90476 -0.41809,10.69203 0.28544,1.65209 -0.0856,5.01375 -1.21459,7.42669 -1.05918,2.26392 -2.22063,3.75747 -7.24748,6.41124 -3.07536,0.22084 -6.80595,0.50743 -9.99517,1.75214 5.35926,-17.28469 2.55137,-28.63333 0.17923,-35.28173 1.35023,-0.36974 2.34946,-1.59551 2.34946,-3.06624 l 0,-10.83141 c 0,-1.76489 -1.42082,-3.18571 -3.18571,-3.18571 l -10.83141,0 z" - style="font-size:medium;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-indent:0;text-align:start;text-decoration:none;line-height:normal;letter-spacing:normal;word-spacing:normal;text-transform:none;direction:ltr;block-progression:tb;writing-mode:lr-tb;text-anchor:start;color:#000000;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:4;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate;font-family:Sans;-inkscape-font-specification:Sans" /> + d="m 678.22665,505.33077 c -1.88254,0 -3.3981,1.51554 -3.3981,3.39809 v 11.55351 c 0,1.88254 1.51556,3.39809 3.3981,3.39809 h 10.02436 c 1.74458,8.83672 0.98864,12.73955 -2.27244,22.10881 -2.44635,-3.01808 -5.77858,-5.05676 -9.62087,-6.56256 -3.30172,-1.29393 -6.13185,-3.1686 -7.22094,-5.47941 0.20728,-0.43999 0.33981,-0.92389 0.33981,-1.4442 v -11.5535 c 0,-1.88254 -1.51556,-3.39809 -3.3981,-3.39809 h -11.5535 c -1.88254,0 -3.39809,1.51555 -3.39809,3.39809 v 11.5535 c 0,1.88254 1.51555,3.39809 3.39809,3.39809 h 11.5535 c 0.93067,0 1.7662,-0.37493 2.37867,-0.97694 0.65508,3.10723 3.13684,5.05233 7.22094,7.09351 3.68767,1.84306 6.58047,6.19866 8.00678,10.42788 -0.71924,2.02574 -1.47497,4.17962 -2.33619,6.69 -1.6147,4.82304 -3.65063,10.41342 -5.09713,16.54445 -1.62415,-0.93975 -3.38456,-1.59083 -5.22456,-1.93268 -0.78557,-0.51895 -1.36855,-1.00251 -1.78399,-1.59285 -1.29869,-1.84521 -0.3984,-5.40302 -0.80705,-7.92179 h 4.50246 c 1.88247,0 3.39809,-1.51555 3.39809,-3.39809 v -11.55351 c 0,-1.88254 -1.51562,-3.39809 -3.39809,-3.39809 h -11.5323 c -1.88254,0 -3.39809,1.51555 -3.39809,3.39809 v 11.55351 c 0,1.88254 1.51555,3.39809 3.39809,3.39809 h 6.20152 c -0.10854,2.64773 -2.07699,6.72341 -0.38229,9.13236 0.0136,0.0197 0.0286,0.0439 0.0421,0.0637 -0.11445,5.4e-4 -0.22503,-0.002 -0.33981,0 -6.89839,0.1378 -10.79281,-0.93405 -14.78169,-3.41933 0.60201,-0.6125 0.97695,-1.46923 0.97695,-2.39989 v -11.53227 c 0,-1.88255 -1.51555,-3.39809 -3.39809,-3.39809 h -11.5535 c -1.88254,0 -3.39809,1.51554 -3.39809,3.39809 v 11.53227 c 0,1.88254 1.51555,3.39808 3.39809,3.39808 h 11.5535 c 0.24249,0 0.49422,-0.0159 0.72209,-0.0637 3.62407,3.49133 8.72311,6.13021 15.88607,7.07228 4.5022,0.59212 7.16236,1.51924 8.87752,2.82466 -1.49917,9.1935 -1.21421,19.39704 3.82284,30.00937 0.85679,0.12965 1.70013,0.29398 2.56978,0.3823 1.79065,0.18184 3.59836,0.27608 5.43693,0.27608 1.83865,0 3.66757,-0.0942 5.45822,-0.27608 0.65454,-0.0665 2.6446,-0.39853 3.29186,-0.48848 -8.7076,-15.20248 -10.02829,-28.81593 -7.34836,-41.73279 0.97593,-0.97352 2.12823,-1.70314 3.46184,-2.31495 3.18475,-1.46102 8.17988,-2.48945 11.89331,-2.82466 7.29658,-0.56278 14.84993,-2.84564 16.45946,-8.60142 0.6086,0.57726 1.44861,0.93448 2.35747,0.93448 h 11.53222 c 1.88255,0 3.39809,-1.51554 3.39809,-3.39809 v -11.55351 c 0,-1.88253 -1.51554,-3.39809 -3.39809,-3.39809 h -11.53222 c -1.88255,0 -3.39809,1.51556 -3.39809,3.39809 v 11.55351 c 0,0.3375 0.0577,0.64841 0.14862,0.95571 -0.854,3.96259 -5.87346,4.92169 -10.44913,5.26704 1.46058,-1.60593 2.23256,-3.18645 3.03708,-4.90599 1.5878,-3.39368 0.81459,-7.73772 0.46724,-9.74827 -0.82845,-2.66953 -1.38928,-7.03297 -0.76457,-11.02255 h 4.6299 c 1.88255,0 3.39809,-1.51555 3.39809,-3.39809 v -11.55351 c 0,-1.88253 -1.51554,-3.39809 -3.39809,-3.39809 H 704.7314 c -1.88254,0 -3.39809,1.51556 -3.39809,3.39809 v 11.55351 c 0,1.88254 1.51555,3.39809 3.39809,3.39809 h 5.88291 c -1.32165,3.40892 -1.16989,7.36508 -0.44596,11.40483 0.30447,1.76223 -0.0913,5.348 -1.29556,7.9218 -1.12979,2.41485 -2.36867,4.00797 -7.73065,6.83866 -3.28038,0.23556 -7.25968,0.54126 -10.66151,1.86895 5.71654,-18.437 2.72146,-30.54222 0.19118,-37.63385 1.44024,-0.39439 2.50609,-1.70187 2.50609,-3.27065 v -11.55351 c 0,-1.88255 -1.51554,-3.39809 -3.39809,-3.39809 H 678.2263 Z" + style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:Sans;-inkscape-font-specification:Sans;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-anchor:start;display:inline;overflow:visible;visibility:visible;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:4.26666689;marker:none;enable-background:accumulate" /> <path inkscape:connector-curvature="0" - style="font-size:medium;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-indent:0;text-align:start;text-decoration:none;line-height:normal;letter-spacing:normal;word-spacing:normal;text-transform:none;direction:ltr;block-progression:tb;writing-mode:lr-tb;text-anchor:start;color:#000000;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:17.92433548;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate;font-family:Sans;-inkscape-font-specification:Sans" - d="m 654.61329,474.64358 c 0.21809,0.73165 0.33845,1.49672 0.33845,2.28973 l 0,2.9866 c 1.50072,-1.46066 3.52479,-2.38928 5.73427,-2.38928 l 2.9866,0 c -2.8888,-1.24383 -5.92102,-2.20734 -9.05932,-2.88705 z m -27.03871,1.71232 c -2.72678,0.96521 -5.33874,2.15904 -7.82493,3.56401 l 4.69892,0 c 1.0964,0 2.13921,0.23248 3.10607,0.63714 l 0,-3.62374 c 0,-0.1941 0.006,-0.38623 0.0197,-0.57741 z m 52.22568,12.32471 0,7.96427 c 0,0.80307 -0.15482,1.56971 -0.37827,2.30964 l 8.02398,0 c -2.10525,-3.75024 -4.67637,-7.20302 -7.64571,-10.27391 z m -74.46594,3.50428 c -4.86847,6.07334 -8.34809,13.2975 -9.9354,21.20487 0.90525,-0.34828 1.87409,-0.53759 2.88702,-0.53759 l 7.70546,0 c 0.67391,-2.50996 1.57948,-4.92408 2.70786,-7.20766 -2.02548,-1.52441 -3.36494,-3.93816 -3.36494,-6.61035 l 0,-6.84927 z m 88.42336,32.01637 c -1.47396,1.32705 -3.4031,2.15036 -5.49534,2.15036 l -4.83833,0 c -1.38527,17.44224 -14.00055,31.6305 -30.66245,35.34145 1.04682,2.64137 2.35086,5.35018 3.96226,8.16338 0.21707,0.3785 0.38693,0.79321 0.49773,1.21456 20.71093,-5.69011 36.07325,-24.4949 36.53613,-46.86975 z m -96.32787,15.98828 c 5.42067,14.80499 17.70859,26.32893 32.97209,30.72218 -1.51876,-4.03348 -2.38871,-8.00381 -2.80744,-11.86677 -8.21021,-3.77168 -14.89956,-10.25488 -18.8952,-18.33773 -0.20746,-0.15759 -0.41606,-0.31601 -0.61727,-0.47786 l -9.79605,0 c -0.28793,0 -0.5749,-0.01 -0.85613,-0.0398 z" + style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:Sans;-inkscape-font-specification:Sans;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-anchor:start;display:inline;overflow:visible;visibility:visible;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:19.11929131;marker:none;enable-background:accumulate" + d="m 698.25418,506.28649 c 0.23263,0.78042 0.36101,1.5965 0.36101,2.44237 v 3.18571 c 1.60077,-1.55804 3.75978,-2.54856 6.11655,-2.54856 h 3.18571 c -3.08139,-1.32676 -6.31575,-2.3545 -9.66327,-3.07952 z m -28.84129,1.82647 c -2.90857,1.02956 -5.69466,2.30298 -8.3466,3.80161 h 5.01218 c 1.1695,0 2.28183,0.24798 3.31315,0.67962 v -3.86533 c 0,-0.20704 0.006,-0.41197 0.021,-0.6159 z m 55.70739,13.14636 v 8.49522 c 0,0.85661 -0.16514,1.67436 -0.40349,2.46361 h 8.55891 c -2.2456,-4.00025 -4.98813,-7.68322 -8.15542,-10.95883 z m -79.43034,3.7379 c -5.19303,6.47823 -8.90463,14.184 -10.59776,22.61852 0.9656,-0.37149 1.99903,-0.57343 3.07949,-0.57343 h 8.21916 c 0.71883,-2.67729 1.68478,-5.25235 2.88838,-7.68817 -2.16051,-1.62603 -3.58927,-4.2007 -3.58927,-7.05104 z m 94.31825,34.15079 c -1.57222,1.41552 -3.62997,2.29372 -5.86169,2.29372 h -5.16089 c -1.47762,18.60505 -14.93392,33.7392 -32.70661,37.69754 1.11661,2.81747 2.50758,5.70686 4.22641,8.70761 0.23154,0.40373 0.41272,0.84609 0.53091,1.29553 22.09166,-6.06945 38.47813,-26.12789 38.97187,-49.9944 z m -102.74973,17.05417 c 5.78205,15.79199 18.88917,28.08419 35.17023,32.77032 -1.62001,-4.30238 -2.54795,-8.5374 -2.9946,-12.65789 -8.75756,-4.02312 -15.89286,-10.93854 -20.15488,-19.56024 -0.22129,-0.1681 -0.4438,-0.33708 -0.65842,-0.50972 h -10.44912 c -0.30713,0 -0.61323,-0.0107 -0.91321,-0.0425 z" id="path4343" /> </g> </g> diff --git a/common/common_rsrcstr.h b/common/common_rsrcstr.h index fbd1b32..b5f1053 100644 --- a/common/common_rsrcstr.h +++ b/common/common_rsrcstr.h @@ -17,7 +17,7 @@ // You should have received a copy of the GNU General Public License // along with this program; if not, write to the Free Software // Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA -//
+// #ifndef __COMMON_RSRCSTR_H_VER__ #define __COMMON_RSRCSTR_H_VER__ 2014021723 diff --git a/common/commonhelpers.cpp b/common/commonhelpers.cpp index 20d7e84..69362e5 100644 --- a/common/commonhelpers.cpp +++ b/common/commonhelpers.cpp @@ -17,7 +17,7 @@ // You should have received a copy of the GNU General Public License // along with this program; if not, write to the Free Software // Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA -//
+// #include "stdafx.h" diff --git a/common/commonhelpers.h b/common/commonhelpers.h index bc9e402..0743824 100644 --- a/common/commonhelpers.h +++ b/common/commonhelpers.h @@ -17,7 +17,7 @@ // You should have received a copy of the GNU General Public License // along with this program; if not, write to the Free Software // Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA -//
+// #ifndef __WDS_COMMONHELPERS_H__ #define __WDS_COMMONHELPERS_H__ diff --git a/common/cotaskmem.h b/common/cotaskmem.h index 3f0577d..9de1af6 100644 --- a/common/cotaskmem.h +++ b/common/cotaskmem.h @@ -17,7 +17,7 @@ // You should have received a copy of the GNU General Public License // along with this program; if not, write to the Free Software // Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA -//
+// // This general purpose header is published under GPL with // the friendly permission of D'accord (www.daccord.net). // diff --git a/common/logo_black_for_light_bg.svg b/common/logo_black_for_light_bg.svg new file mode 100644 index 0000000..3f9cfb3 --- /dev/null +++ b/common/logo_black_for_light_bg.svg @@ -0,0 +1,71 @@ +<?xml version="1.0" encoding="UTF-8" standalone="no"?> +<!-- Created with Inkscape (http://www.inkscape.org/) --> + +<svg + xmlns:dc="http://purl.org/dc/elements/1.1/" + xmlns:cc="http://creativecommons.org/ns#" + xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" + xmlns:svg="http://www.w3.org/2000/svg" + xmlns="http://www.w3.org/2000/svg" + xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" + xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" + width="27.843416mm" + height="28.039988mm" + viewBox="0 0 27.843416 28.039988" + version="1.1" + id="svg340" + inkscape:version="0.92.0 r15299" + sodipodi:docname="logo_black_for_dark_bg.svg"> + <defs + id="defs334" /> + <sodipodi:namedview + id="base" + pagecolor="#ffffff" + bordercolor="#666666" + borderopacity="1.0" + inkscape:pageopacity="0.0" + inkscape:pageshadow="2" + inkscape:zoom="0.35" + inkscape:cx="98.331761" + inkscape:cy="-189.86819" + inkscape:document-units="mm" + inkscape:current-layer="layer1" + showgrid="false" + inkscape:window-width="1920" + inkscape:window-height="996" + inkscape:window-x="1912" + inkscape:window-y="-8" + inkscape:window-maximized="1" /> + <metadata + id="metadata337"> + <rdf:RDF> + <cc:Work + rdf:about=""> + <dc:format>image/svg+xml</dc:format> + <dc:type + rdf:resource="http://purl.org/dc/dcmitype/StillImage" /> + <dc:title></dc:title> + </cc:Work> + </rdf:RDF> + </metadata> + <g + inkscape:label="Layer 1" + inkscape:groupmode="layer" + id="layer1" + transform="translate(-79.816388,-70.557387)"> + <g + transform="matrix(0.26458333,0,0,0.26458333,58.621525,-65.966934)" + id="g3392"> + <path + style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:Sans;-inkscape-font-specification:Sans;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-anchor:start;display:inline;overflow:visible;visibility:visible;fill:#000000;fill-opacity:1;stroke:none;stroke-width:4.26666689;marker:none;enable-background:accumulate" + d="m 123.55998,515.99744 c -1.88254,0 -3.39809,1.51554 -3.39809,3.39809 v 11.5535 c 0,1.88254 1.51555,3.3981 3.39809,3.3981 h 10.02436 c 1.74459,8.83672 0.98864,12.73955 -2.27244,22.10881 -2.44634,-3.01808 -5.77858,-5.05676 -9.62087,-6.56256 -3.30172,-1.29393 -6.13185,-3.1686 -7.22094,-5.47942 0.20729,-0.43999 0.33981,-0.92388 0.33981,-1.44419 v -11.5535 c 0,-1.88254 -1.51555,-3.39809 -3.39809,-3.39809 H 99.858304 c -1.882539,0 -3.398091,1.51555 -3.398091,3.39809 v 11.5535 c 0,1.88254 1.515552,3.39809 3.398091,3.39809 h 11.553506 c 0.93066,0 1.7662,-0.37493 2.37866,-0.97695 0.65509,3.10723 3.13685,5.05233 7.22094,7.09352 3.68767,1.84306 6.58047,6.19865 8.00679,10.42788 -0.71925,2.02574 -1.47498,4.17962 -2.33619,6.68999 -1.6147,4.82304 -3.65064,10.41342 -5.09714,16.54445 -1.62414,-0.93974 -3.38456,-1.59082 -5.22456,-1.93267 -0.78557,-0.51895 -1.36854,-1.00252 -1.78399,-1.59285 -1.29869,-1.84521 -0.3984,-5.40302 -0.80705,-7.9218 h 4.50246 c 1.88248,0 3.39809,-1.51555 3.39809,-3.39809 v -11.5535 c 0,-1.88254 -1.51561,-3.39809 -3.39809,-3.39809 h -11.5323 c -1.88253,0 -3.39809,1.51555 -3.39809,3.39809 v 11.5535 c 0,1.88254 1.51556,3.39809 3.39809,3.39809 h 6.20152 c -0.10853,2.64774 -2.07698,6.72342 -0.38228,9.13237 0.0135,0.0197 0.0286,0.0439 0.0421,0.0637 -0.11444,5.4e-4 -0.22502,-0.002 -0.33981,0 -6.89839,0.1378 -10.79281,-0.93405 -14.781683,-3.41933 0.602005,-0.6125 0.976949,-1.46924 0.976949,-2.39989 v -11.53227 c 0,-1.88255 -1.515552,-3.39809 -3.398091,-3.39809 H 83.50466 c -1.882542,0 -3.398089,1.51554 -3.398089,3.39809 v 11.53227 c 0,1.88253 1.515547,3.39808 3.398089,3.39808 h 11.553505 c 0.242486,0 0.494219,-0.0159 0.722091,-0.0637 3.624064,3.49132 8.723104,6.1302 15.886074,7.07227 4.50219,0.59213 7.16235,1.51925 8.87751,2.82466 -1.49917,9.19351 -1.21421,19.39705 3.82285,30.00938 0.85679,0.12964 1.70013,0.29397 2.56977,0.38229 1.79065,0.18185 3.59837,0.27609 5.43694,0.27609 1.83864,0 3.66756,-0.0942 5.45822,-0.27609 0.65453,-0.0665 2.64459,-0.39852 3.29186,-0.48848 -8.70761,-15.20247 -10.0283,-28.81592 -7.34837,-41.73279 0.97593,-0.97351 2.12823,-1.70313 3.46184,-2.31494 3.18476,-1.46102 8.17988,-2.48945 11.89331,-2.82466 7.29659,-0.56278 14.84993,-2.84564 16.45947,-8.60142 0.6086,0.57726 1.44861,0.93448 2.35746,0.93448 h 11.53222 c 1.88255,0 3.39809,-1.51555 3.39809,-3.3981 v -11.5535 c 0,-1.88254 -1.51554,-3.39809 -3.39809,-3.39809 h -11.53222 c -1.88255,0 -3.39809,1.51555 -3.39809,3.39809 v 11.5535 c 0,0.33751 0.0577,0.64842 0.14863,0.95572 -0.85401,3.96259 -5.87346,4.92168 -10.44913,5.26704 1.46057,-1.60593 2.23255,-3.18646 3.03707,-4.906 1.5878,-3.39367 0.8146,-7.73772 0.46725,-9.74826 -0.82846,-2.66953 -1.38928,-7.03298 -0.76458,-11.02255 h 4.6299 c 1.88255,0 3.39809,-1.51556 3.39809,-3.39809 V 528.8677 c 0,-1.88254 -1.51554,-3.39809 -3.39809,-3.39809 h -11.5535 c -1.88254,0 -3.39809,1.51555 -3.39809,3.39809 v 11.55351 c 0,1.88253 1.51555,3.39809 3.39809,3.39809 h 5.88291 c -1.32166,3.40891 -1.1699,7.36507 -0.44596,11.40483 0.30446,1.76223 -0.0913,5.348 -1.29557,7.9218 -1.12979,2.41485 -2.36867,4.00797 -7.73064,6.83866 -3.28039,0.23556 -7.25968,0.54126 -10.66152,1.86895 5.71655,-18.43701 2.72146,-30.54222 0.19118,-37.63385 1.44025,-0.39439 2.50609,-1.70188 2.50609,-3.27066 v -11.5535 c 0,-1.88255 -1.51554,-3.39809 -3.39809,-3.39809 h -11.5535 z" + id="path4623" + inkscape:connector-curvature="0" /> + <path + id="path4627" + d="m 143.58751,516.95315 c 0.23263,0.78043 0.36101,1.5965 0.36101,2.44238 v 3.18571 c 1.60077,-1.55804 3.75978,-2.54857 6.11656,-2.54857 h 3.1857 c -3.08138,-1.32675 -6.31575,-2.35449 -9.66327,-3.07952 z m -28.84129,1.82648 c -2.90857,1.02955 -5.69466,2.30297 -8.34659,3.80161 h 5.01218 c 1.16949,0 2.28182,0.24798 3.31314,0.67961 v -3.86532 c 0,-0.20704 0.006,-0.41198 0.021,-0.6159 z m 55.70739,13.14635 v 8.49523 c 0,0.8566 -0.16514,1.67435 -0.40349,2.46361 h 8.55891 c -2.2456,-4.00025 -4.98812,-7.68322 -8.15542,-10.95884 z m -79.430335,3.7379 c -5.193035,6.47823 -8.904628,14.184 -10.59776,22.61853 0.965601,-0.3715 1.999028,-0.57343 3.079484,-0.57343 h 8.219161 c 0.718837,-2.67729 1.684779,-5.25235 2.888384,-7.68817 -2.160512,-1.62604 -3.589269,-4.2007 -3.589269,-7.05104 z m 94.318255,34.1508 c -1.57223,1.41552 -3.62998,2.29371 -5.8617,2.29371 h -5.16089 c -1.47762,18.60506 -14.93392,33.7392 -32.70661,37.69755 1.11661,2.81746 2.50758,5.70686 4.22641,8.70761 0.23154,0.40373 0.41273,0.84609 0.53091,1.29553 22.09166,-6.06945 38.47814,-26.1279 38.97188,-49.9944 z M 82.591797,586.86884 c 5.782048,15.79199 18.889163,28.08419 35.170233,32.77033 -1.62001,-4.30238 -2.54796,-8.5374 -2.99461,-12.65789 -8.75755,-4.02313 -15.89286,-10.93854 -20.154876,-19.56025 -0.221291,-0.16809 -0.443797,-0.33707 -0.658421,-0.50971 H 83.504999 c -0.307118,0 -0.613219,-0.0107 -0.913202,-0.0425 z" + style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:Sans;-inkscape-font-specification:Sans;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-anchor:start;display:inline;overflow:visible;visibility:visible;fill:#000000;fill-opacity:1;stroke:none;stroke-width:19.11929131;marker:none;enable-background:accumulate" + inkscape:connector-curvature="0" /> + </g> + </g> +</svg> diff --git a/common/logo_bw.svg b/common/logo_bw.svg deleted file mode 100644 index 259c09c..0000000 --- a/common/logo_bw.svg +++ /dev/null @@ -1,110 +0,0 @@ -<?xml version="1.0" encoding="UTF-8" standalone="no"?> -<!-- Created with Inkscape (http://www.inkscape.org/) --> - -<svg - xmlns:dc="http://purl.org/dc/elements/1.1/" - xmlns:cc="http://creativecommons.org/ns#" - xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" - xmlns:svg="http://www.w3.org/2000/svg" - xmlns="http://www.w3.org/2000/svg" - xmlns:xlink="http://www.w3.org/1999/xlink" - xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" - xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" - width="64px" - height="64px" - id="svg3413" - version="1.1" - inkscape:version="0.48.0 r9654" - sodipodi:docname="logo_gray.svg" - inkscape:export-filename="D:\Projekte\WinDirStat\Mercurial\common\logo_gray.png" - inkscape:export-xdpi="1440" - inkscape:export-ydpi="1440"> - <title - id="title3432">Main logo, bw</title> - <defs - id="defs3415"> - <radialGradient - inkscape:collect="always" - xlink:href="#linearGradient4494" - id="radialGradient4295" - gradientUnits="userSpaceOnUse" - gradientTransform="matrix(1.4841341,-0.00981819,0.00661529,0.99997812,-147.87792,2.947719)" - cx="299.21332" - cy="456.29883" - fx="299.21332" - fy="456.29883" - r="78.375488" /> - <linearGradient - id="linearGradient4494"> - <stop - style="stop-color:#000000;stop-opacity:0;" - offset="0" - id="stop4496" /> - <stop - style="stop-color:#000000;stop-opacity:0.1254902;" - offset="1" - id="stop4498" /> - </linearGradient> - <radialGradient - r="78.375488" - fy="456.29883" - fx="299.21332" - cy="456.29883" - cx="299.21332" - gradientTransform="matrix(1.4841341,-0.00981819,0.00661529,0.99997812,-147.87792,2.947719)" - gradientUnits="userSpaceOnUse" - id="radialGradient3453" - xlink:href="#linearGradient4494" - inkscape:collect="always" /> - </defs> - <sodipodi:namedview - id="base" - pagecolor="#ffffff" - bordercolor="#666666" - borderopacity="1.0" - inkscape:pageopacity="0.0" - inkscape:pageshadow="2" - inkscape:zoom="22" - inkscape:cx="39.250176" - inkscape:cy="14.006477" - inkscape:current-layer="layer1" - showgrid="true" - inkscape:document-units="px" - inkscape:grid-bbox="true" - inkscape:window-width="1920" - inkscape:window-height="1116" - inkscape:window-x="1272" - inkscape:window-y="-8" - inkscape:window-maximized="1" /> - <metadata - id="metadata3418"> - <rdf:RDF> - <cc:Work - rdf:about=""> - <dc:format>image/svg+xml</dc:format> - <dc:type - rdf:resource="http://purl.org/dc/dcmitype/StillImage" /> - <dc:title>Main logo, bw</dc:title> - </cc:Work> - </rdf:RDF> - </metadata> - <g - id="layer1" - inkscape:label="Layer 1" - inkscape:groupmode="layer"> - <g - transform="matrix(0.62404613,0,0,0.62404613,-45.331053,-300.48388)" - id="g3392"> - <path - style="font-size:medium;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-indent:0;text-align:start;text-decoration:none;line-height:normal;letter-spacing:normal;word-spacing:normal;text-transform:none;direction:ltr;block-progression:tb;writing-mode:lr-tb;text-anchor:start;color:#000000;fill:#000000;fill-opacity:1;stroke:none;stroke-width:4;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate;font-family:Sans;-inkscape-font-specification:Sans" - d="m 115.83748,483.7476 c -1.76488,0 -3.18571,1.42082 -3.18571,3.18571 l 0,10.83141 c 0,1.76488 1.42083,3.18571 3.18571,3.18571 l 9.39784,0 c 1.63555,8.28443 0.92685,11.94333 -2.13041,20.72701 -2.29345,-2.82945 -5.41742,-4.74071 -9.01957,-6.1524 -3.09536,-1.21306 -5.74861,-2.97056 -6.76963,-5.13695 0.19433,-0.41249 0.31857,-0.86614 0.31857,-1.35393 l 0,-10.83141 c 0,-1.76488 -1.42083,-3.18571 -3.18571,-3.18571 l -10.83141,0 c -1.76488,0 -3.18571,1.42083 -3.18571,3.18571 l 0,10.83141 c 0,1.76488 1.42083,3.18571 3.18571,3.18571 l 10.83141,0 c 0.8725,0 1.65581,-0.3515 2.23,-0.91589 0.61414,2.91303 2.94079,4.73656 6.76963,6.65017 3.45719,1.72787 6.16919,5.81124 7.50636,9.77614 -0.67429,1.89913 -1.38279,3.91839 -2.19018,6.27187 -1.51378,4.5216 -3.42247,9.76258 -4.77856,15.51042 -1.52264,-0.88101 -3.17303,-1.4914 -4.89803,-1.81188 -0.73647,-0.48652 -1.28301,-0.93986 -1.67249,-1.4933 -1.21752,-1.72988 -0.3735,-5.06533 -0.75661,-7.42668 l 4.22106,0 c 1.76482,0 3.18571,-1.42083 3.18571,-3.18571 l 0,-10.83141 c 0,-1.76488 -1.42089,-3.18571 -3.18571,-3.18571 l -10.81153,0 c -1.76488,0 -3.18571,1.42083 -3.18571,3.18571 l 0,10.83141 c 0,1.76488 1.42083,3.18571 3.18571,3.18571 l 5.81392,0 c -0.10175,2.48225 -1.94717,6.3032 -0.35839,8.56159 0.0127,0.0185 0.0268,0.0412 0.0395,0.0597 -0.10729,5.1e-4 -0.21096,-0.002 -0.31857,0 -6.46724,0.12919 -10.11826,-0.87567 -13.85783,-3.20562 0.56438,-0.57422 0.91589,-1.37741 0.91589,-2.2499 l 0,-10.8115 c 0,-1.76489 -1.42083,-3.18571 -3.18571,-3.18571 l -10.831411,0 c -1.764883,0 -3.185709,1.42082 -3.185709,3.18571 l 0,10.8115 c 0,1.76488 1.420826,3.1857 3.185709,3.1857 l 10.831411,0 c 0.22733,0 0.46333,-0.0149 0.67696,-0.0597 3.39756,3.27312 8.17791,5.74707 14.89319,6.63026 4.22081,0.55512 6.71471,1.42429 8.32267,2.64812 -1.40547,8.61891 -1.13832,18.18473 3.58392,28.13379 0.80324,0.12154 1.59387,0.2756 2.40916,0.3584 1.67874,0.17048 3.37347,0.25883 5.09713,0.25883 1.72373,0 3.43834,-0.0883 5.11708,-0.25883 0.61363,-0.0623 2.47931,-0.37362 3.08612,-0.45795 -8.16338,-14.25232 -9.40153,-27.01493 -6.88909,-39.12449 0.91493,-0.91267 1.99521,-1.59669 3.24547,-2.17026 2.98571,-1.36971 7.66864,-2.33386 11.14998,-2.64812 6.84055,-0.52761 13.92181,-2.66779 15.43075,-8.06383 0.57056,0.54118 1.35807,0.87607 2.21012,0.87607 l 10.81146,0 c 1.76489,0 3.18571,-1.42082 3.18571,-3.18571 l 0,-10.83141 c 0,-1.76488 -1.42082,-3.18571 -3.18571,-3.18571 l -10.81146,0 c -1.76489,0 -3.18571,1.42083 -3.18571,3.18571 l 0,10.83141 c 0,0.31641 0.0541,0.60789 0.13934,0.89598 -0.80063,3.71493 -5.50637,4.61408 -9.79606,4.93785 1.36929,-1.50556 2.09302,-2.9873 2.84726,-4.59937 1.48856,-3.18157 0.76368,-7.25411 0.43804,-9.139 -0.77668,-2.50268 -1.30245,-6.59341 -0.71679,-10.33364 l 4.34053,0 c 1.76489,0 3.18571,-1.42083 3.18571,-3.18571 l 0,-10.83141 c 0,-1.76488 -1.42082,-3.18571 -3.18571,-3.18571 l -10.83141,0 c -1.76488,0 -3.18571,1.42083 -3.18571,3.18571 l 0,10.83141 c 0,1.76488 1.42083,3.18571 3.18571,3.18571 l 5.51523,0 c -1.23905,3.19586 -1.09678,6.90476 -0.41809,10.69203 0.28544,1.65209 -0.0856,5.01375 -1.21459,7.42669 -1.05918,2.26392 -2.22063,3.75747 -7.24748,6.41124 -3.07536,0.22084 -6.80595,0.50743 -9.99517,1.75214 5.35926,-17.28469 2.55137,-28.63333 0.17923,-35.28173 1.35023,-0.36974 2.34946,-1.59551 2.34946,-3.06624 l 0,-10.83141 c 0,-1.76489 -1.42082,-3.18571 -3.18571,-3.18571 l -10.83141,0 z" - id="path4623" - inkscape:connector-curvature="0" /> - <path - id="path4627" - d="m 134.61329,484.64358 c 0.21809,0.73165 0.33845,1.49672 0.33845,2.28973 l 0,2.9866 c 1.50072,-1.46066 3.52479,-2.38928 5.73427,-2.38928 l 2.9866,0 c -2.8888,-1.24383 -5.92102,-2.20734 -9.05932,-2.88705 z m -27.03871,1.71232 c -2.72678,0.96521 -5.33874,2.15904 -7.82493,3.56401 l 4.69892,0 c 1.0964,0 2.13921,0.23248 3.10607,0.63714 l 0,-3.62374 c 0,-0.1941 0.006,-0.38623 0.0197,-0.57741 z m 52.22568,12.32471 0,7.96427 c 0,0.80307 -0.15482,1.56971 -0.37827,2.30964 l 8.02398,0 c -2.10525,-3.75024 -4.67637,-7.20302 -7.64571,-10.27391 z m -74.46594,3.50428 c -4.86847,6.07334 -8.348088,13.2975 -9.9354,21.20487 0.905251,-0.34828 1.874089,-0.53759 2.887017,-0.53759 l 7.705463,0 c 0.67391,-2.50996 1.57948,-4.92408 2.70786,-7.20766 -2.02548,-1.52441 -3.36494,-3.93816 -3.36494,-6.61035 l 0,-6.84927 z m 88.42336,32.01637 c -1.47396,1.32705 -3.4031,2.15036 -5.49534,2.15036 l -4.83833,0 c -1.38527,17.44224 -14.00055,31.6305 -30.66245,35.34145 1.04682,2.64137 2.35086,5.35018 3.96226,8.16338 0.21707,0.3785 0.38693,0.79321 0.49773,1.21456 20.71093,-5.69011 36.07325,-24.4949 36.53613,-46.86975 z m -96.32787,15.98828 c 5.42067,14.80499 17.70859,26.32893 32.97209,30.72218 -1.51876,-4.03348 -2.38871,-8.00381 -2.80744,-11.86677 -8.21021,-3.77168 -14.89956,-10.25488 -18.8952,-18.33773 -0.20746,-0.15759 -0.41606,-0.31601 -0.61727,-0.47786 l -9.796053,0 c -0.287924,0 -0.574893,-0.01 -0.856127,-0.0398 z" - style="font-size:medium;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-indent:0;text-align:start;text-decoration:none;line-height:normal;letter-spacing:normal;word-spacing:normal;text-transform:none;direction:ltr;block-progression:tb;writing-mode:lr-tb;text-anchor:start;color:#000000;fill:#000000;fill-opacity:1;stroke:none;stroke-width:17.92433548;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate;font-family:Sans;-inkscape-font-specification:Sans" - inkscape:connector-curvature="0" /> - </g> - </g> -</svg> diff --git a/common/logo_color.svg b/common/logo_color.svg index 8e7e919..39e0634 100644 --- a/common/logo_color.svg +++ b/common/logo_color.svg @@ -10,12 +10,12 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" - width="64px" - height="64px" + width="68.26667" + height="68.26667" id="svg3413" version="1.1" - inkscape:version="0.48.0 r9654" - sodipodi:docname="logo_bw.svg"> + inkscape:version="0.92.0 r15299" + sodipodi:docname="logo_color.svg"> <title id="title3432">Main logo, color</title> <defs @@ -48,7 +48,7 @@ fx="299.21332" cy="456.29883" cx="299.21332" - gradientTransform="matrix(1.4841341,-0.00981819,0.00661529,0.99997812,-147.87792,2.947719)" + gradientTransform="matrix(0.32317785,-0.00213796,0.00144051,0.21775039,1965.1476,899.67046)" gradientUnits="userSpaceOnUse" id="radialGradient3453" xlink:href="#linearGradient4494" @@ -68,11 +68,11 @@ showgrid="true" inkscape:document-units="px" inkscape:grid-bbox="true" - inkscape:window-width="1186" - inkscape:window-height="822" - inkscape:window-x="1305" - inkscape:window-y="25" - inkscape:window-maximized="0" /> + inkscape:window-width="1920" + inkscape:window-height="1058" + inkscape:window-x="-8" + inkscape:window-y="-8" + inkscape:window-maximized="1" /> <metadata id="metadata3418"> <rdf:RDF> @@ -94,37 +94,29 @@ inkscape:export-filename="C:\tuqueque\Imagenes\Svg\Logos\WinDirStat\Icons\Greenish\Greenish256.png" inkscape:export-xdpi="720" inkscape:export-ydpi="720" - transform="matrix(1.9545454,0,0,1.9545454,-3762.4142,-1800.0459)"> - <path - d="m 415.9129,463.29471 c 0,43.28559 -35.0899,78.37549 -78.37549,78.37549 -43.28558,0 -78.37548,-35.0899 -78.37548,-78.37549 0,-43.28559 35.0899,-78.37549 78.37548,-78.37549 43.28559,0 78.37549,35.0899 78.37549,78.37549 z" - sodipodi:ry="78.375488" - sodipodi:rx="78.375488" - sodipodi:cy="463.29471" - sodipodi:cx="337.53741" + transform="matrix(1.9545454,0,0,1.9545454,-4013.2418,-1920.049)"> + <circle id="path5524" - style="fill:#aad400;stroke:none" - sodipodi:type="arc" - transform="matrix(0.20414546,0,0,0.20414546,1872.5145,842.83929)" /> + style="fill:#aad400;stroke:none;stroke-width:0.21775515" + cx="2070.8494" + cy="999.91339" + r="17.066668" /> <path - style="font-size:medium;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-indent:0;text-align:start;text-decoration:none;line-height:normal;letter-spacing:normal;word-spacing:normal;text-transform:none;direction:ltr;block-progression:tb;writing-mode:lr-tb;text-anchor:start;color:#000000;fill:#000000;fill-opacity:1;stroke:none;stroke-width:4;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate;font-family:Sans;-inkscape-font-specification:Sans" - d="m 1939.0453,923.21325 c -0.5073,0 -0.9156,0.40836 -0.9156,0.91561 l 0,3.11299 c 0,0.50725 0.4083,0.91557 0.9156,0.91557 l 2.701,0 c 0.47,2.38102 0.2663,3.43259 -0.6123,5.95707 -0.6592,-0.81319 -1.557,-1.36251 -2.5923,-1.76826 -0.8896,-0.34861 -1.6522,-0.85372 -1.9456,-1.47636 0.056,-0.11858 0.092,-0.24894 0.092,-0.38915 l 0,-3.11299 c 0,-0.50721 -0.4084,-0.91557 -0.9156,-0.91557 l -3.113,0 c -0.5073,0 -0.9156,0.40836 -0.9156,0.91557 l 0,3.11299 c 0,0.50725 0.4083,0.91561 0.9156,0.91561 l 3.113,0 c 0.2507,0 0.4758,-0.10103 0.6409,-0.26323 0.1765,0.8372 0.8452,1.36132 1.9456,1.91128 0.9936,0.49661 1.7731,1.67021 2.1574,2.80971 -0.1938,0.54583 -0.3974,1.12616 -0.6295,1.80259 -0.4351,1.29952 -0.9836,2.80582 -1.3734,4.45777 -0.4376,-0.25319 -0.9119,-0.42865 -1.4077,-0.52075 -0.2117,-0.13981 -0.3687,-0.27014 -0.4807,-0.42916 -0.3499,-0.4972 -0.1073,-1.4558 -0.2174,-2.1345 l 1.2131,0 c 0.5073,0 0.9156,-0.40832 0.9156,-0.91557 l 0,-3.11303 c 0,-0.50721 -0.4083,-0.91557 -0.9156,-0.91557 l -3.1073,0 c -0.5072,0 -0.9155,0.40836 -0.9155,0.91557 l 0,3.11303 c 0,0.50725 0.4083,0.91557 0.9155,0.91557 l 1.671,0 c -0.029,0.71343 -0.5596,1.8116 -0.103,2.46065 0,0.005 0.01,0.0119 0.011,0.0171 -0.031,1.2e-4 -0.061,0 -0.092,0 -1.8587,0.0373 -2.9081,-0.25168 -3.9828,-0.92133 0.1622,-0.16502 0.2632,-0.39585 0.2632,-0.64662 l 0,-3.10727 c 0,-0.50725 -0.4083,-0.91561 -0.9156,-0.91561 l -3.113,0 c -0.5072,0 -0.9156,0.40836 -0.9156,0.91561 l 0,3.10727 c 0,0.50725 0.4084,0.91561 0.9156,0.91561 l 3.113,0 c 0.065,0 0.1332,-0.004 0.1946,-0.0171 0.9764,0.9407 2.3504,1.65175 4.2804,1.90557 1.213,0.15954 1.9298,0.40935 2.3919,0.76107 -0.4039,2.47712 -0.3271,5.22641 1.0301,8.08582 0.2308,0.0349 0.4581,0.0792 0.6924,0.10301 0.4825,0.049 0.9695,0.0744 1.4649,0.0744 0.4954,0 0.9882,-0.0254 1.4707,-0.0744 0.1764,-0.0179 0.7126,-0.10738 0.887,-0.13164 -2.3462,-4.0962 -2.7021,-7.76423 -1.98,-11.24457 0.263,-0.26232 0.5734,-0.4589 0.9328,-0.62376 0.8581,-0.39364 2.204,-0.67076 3.2045,-0.76107 1.966,-0.15164 4.0012,-0.76675 4.4349,-2.31758 0.164,0.15553 0.3903,0.25175 0.6352,0.25175 l 3.1073,0 c 0.5072,0 0.9156,-0.40832 0.9156,-0.91556 l 0,-3.11299 c 0,-0.50725 -0.4084,-0.91561 -0.9156,-0.91561 l -3.1073,0 c -0.5072,0 -0.9156,0.40836 -0.9156,0.91561 l 0,3.11299 c 0,0.0909 0.016,0.1747 0.04,0.25751 -0.2301,1.06769 -1.5826,1.32611 -2.8154,1.41916 0.3935,-0.43269 0.6015,-0.85856 0.8183,-1.3219 0.4278,-0.91438 0.2195,-2.08484 0.1259,-2.62659 -0.2232,-0.71927 -0.3743,-1.89497 -0.206,-2.96992 l 1.2475,0 c 0.5072,0 0.9156,-0.40836 0.9156,-0.91561 l 0,-3.11299 c 0,-0.50724 -0.4084,-0.91561 -0.9156,-0.91561 l -3.113,0 c -0.5073,0 -0.9156,0.40837 -0.9156,0.91561 l 0,3.11299 c 0,0.50725 0.4083,0.91561 0.9156,0.91561 l 1.5851,0 c -0.3561,0.91851 -0.3153,1.98445 -0.1202,3.07294 0.082,0.47481 -0.025,1.44095 -0.3491,2.13446 -0.3044,0.65067 -0.6382,1.07991 -2.0829,1.84261 -0.8839,0.0635 -1.9561,0.14584 -2.8727,0.50359 1.5403,-4.9677 0.7333,-8.22936 0.052,-10.14017 0.3881,-0.10623 0.6753,-0.45854 0.6753,-0.88123 l 0,-3.11299 c 0,-0.50725 -0.4084,-0.91561 -0.9156,-0.91561 l -3.113,0 z" + style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:Sans;-inkscape-font-specification:Sans;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-anchor:start;display:inline;overflow:visible;visibility:visible;fill:#000000;fill-opacity:1;stroke:none;stroke-width:4.26666689;marker:none;enable-background:accumulate" + d="m 2068.315,984.7608 c -0.5411,0 -0.9767,0.43558 -0.9767,0.97665 v 3.32052 c 0,0.54107 0.4356,0.97661 0.9767,0.97661 h 2.8811 c 0.5013,2.53976 0.284,3.66143 -0.6532,6.35421 -0.7031,-0.8674 -1.6608,-1.45334 -2.7651,-1.88614 -0.9489,-0.37186 -1.7623,-0.91064 -2.0753,-1.57479 0.06,-0.12648 0.098,-0.26553 0.098,-0.41509 v -3.32052 c 0,-0.54103 -0.4356,-0.97661 -0.9766,-0.97661 h -3.3205 c -0.5412,0 -0.9767,0.43558 -0.9767,0.97661 v 3.32052 c 0,0.54106 0.4355,0.97665 0.9767,0.97665 h 3.3205 c 0.2674,0 0.5075,-0.10777 0.6836,-0.28078 0.1883,0.89301 0.9016,1.45207 2.0753,2.0387 1.0599,0.52972 1.8913,1.78156 2.3013,2.99702 -0.2068,0.58222 -0.4239,1.20124 -0.6715,1.92274 -0.4641,1.3862 -1.0492,2.9929 -1.465,4.755 -0.4667,-0.2701 -0.9727,-0.4572 -1.5015,-0.5555 -0.2258,-0.1491 -0.3933,-0.2881 -0.5128,-0.4578 -0.3732,-0.5303 -0.1144,-1.5528 -0.2319,-2.2768 h 1.294 c 0.5411,0 0.9767,-0.4355 0.9767,-0.9766 v -3.32053 c 0,-0.54102 -0.4356,-0.97661 -0.9767,-0.97661 h -3.3144 c -0.541,0 -0.9766,0.43559 -0.9766,0.97661 v 3.32053 c 0,0.5411 0.4356,0.9766 0.9766,0.9766 h 1.7824 c -0.031,0.761 -0.5969,1.9324 -0.1099,2.6247 0,0.01 0.011,0.013 0.012,0.018 -0.033,10e-5 -0.065,0 -0.098,0 -1.9826,0.04 -3.102,-0.2685 -4.2483,-0.9828 0.173,-0.176 0.2807,-0.4222 0.2807,-0.6897 v -3.31443 c 0,-0.54106 -0.4355,-0.97665 -0.9766,-0.97665 h -3.3205 c -0.5411,0 -0.9767,0.43559 -0.9767,0.97665 v 3.31443 c 0,0.5411 0.4356,0.9766 0.9767,0.9766 h 3.3205 c 0.069,0 0.1421,0 0.2076,-0.018 1.0415,1.0034 2.5071,1.7619 4.5657,2.0326 1.2939,0.1702 2.0585,0.4367 2.5514,0.8118 -0.4308,2.6423 -0.3489,5.5749 1.0988,8.6249 0.2461,0.037 0.4886,0.084 0.7385,0.1099 0.5147,0.052 1.0341,0.079 1.5626,0.079 0.5284,0 1.0541,-0.027 1.5687,-0.079 0.1882,-0.019 0.7601,-0.1146 0.9462,-0.1404 -2.5027,-4.3693 -2.8823,-8.2819 -2.112,-11.9942 0.2805,-0.2799 0.6116,-0.4895 0.9949,-0.6654 0.9153,-0.4199 2.351,-0.7155 3.4182,-0.8118 2.097,-0.1618 4.2679,-0.8179 4.7305,-2.47209 0.175,0.1659 0.4164,0.26854 0.6776,0.26854 h 3.3144 c 0.541,0 0.9767,-0.43554 0.9767,-0.9766 v -3.32052 c 0,-0.54107 -0.4357,-0.97665 -0.9767,-0.97665 h -3.3144 c -0.541,0 -0.9767,0.43558 -0.9767,0.97665 v 3.32052 c 0,0.097 0.017,0.18635 0.043,0.27468 -0.2454,1.13887 -1.6881,1.41447 -3.0031,1.51377 0.4197,-0.46154 0.6416,-0.9158 0.8729,-1.41003 0.4563,-0.97534 0.2341,-2.22383 0.1343,-2.8017 -0.2381,-0.76722 -0.3993,-2.0213 -0.2198,-3.16791 h 1.3307 c 0.541,0 0.9766,-0.43558 0.9766,-0.97665 v -3.32052 c 0,-0.54106 -0.4356,-0.97665 -0.9766,-0.97665 h -3.3205 c -0.5412,0 -0.9767,0.43559 -0.9767,0.97665 v 3.32052 c 0,0.54107 0.4355,0.97665 0.9767,0.97665 h 1.6907 c -0.3798,0.97974 -0.3363,2.11675 -0.1282,3.2778 0.087,0.50647 -0.027,1.53702 -0.3724,2.27676 -0.3246,0.69405 -0.6807,1.1519 -2.2217,1.96548 -0.9428,0.068 -2.0865,0.1555 -3.0642,0.5371 1.643,-5.29885 0.7822,-8.77795 0.055,-10.81615 0.414,-0.11331 0.7204,-0.48911 0.7204,-0.93998 v -3.32052 c 0,-0.54107 -0.4357,-0.97665 -0.9767,-0.97665 z" id="path5526" inkscape:connector-curvature="0" /> <path id="path5528" - d="m 1944.4415,923.47077 c 0.063,0.21027 0.097,0.43015 0.097,0.65809 l 0,0.85837 c 0.4313,-0.41984 1.0131,-0.68672 1.6481,-0.68672 l 0.8583,0 c -0.8302,-0.35747 -1.7017,-0.6344 -2.6037,-0.82974 z m -7.7711,0.49212 c -0.7836,0.2774 -1.5343,0.62054 -2.2489,1.02434 l 1.3505,0 c 0.3151,0 0.6148,0.0668 0.8927,0.18308 l 0,-1.04145 c 0,-0.0558 0,-0.11103 0.01,-0.16597 z m 15.01,3.54219 0,2.28896 c 0,0.23084 -0.044,0.45116 -0.1087,0.66381 l 2.3061,0 c -0.6051,-1.07785 -1.344,-2.07019 -2.1974,-2.95277 z m -21.4019,1.00715 c -1.3992,1.74551 -2.3993,3.82178 -2.8555,6.09438 0.2602,-0.10007 0.5386,-0.1545 0.8297,-0.1545 l 2.2146,0 c 0.1937,-0.72137 0.454,-1.41519 0.7783,-2.07154 -0.5821,-0.43809 -0.9671,-1.13184 -0.9671,-1.89985 l 0,-1.96849 z m 25.4133,9.20166 c -0.4236,0.38141 -0.978,0.61804 -1.5794,0.61804 l -1.3905,0 c -0.3982,5.013 -4.0238,9.09074 -8.8126,10.15732 0.3009,0.75916 0.6757,1.53766 1.1388,2.3462 0.062,0.10877 0.1112,0.22794 0.1431,0.34906 5.9524,-1.63535 10.3676,-7.03997 10.5006,-13.47062 z m -27.6851,4.59511 c 1.5579,4.25507 5.0895,7.5671 9.4763,8.82974 -0.4365,-1.15923 -0.6865,-2.30036 -0.8068,-3.4106 -2.3597,-1.084 -4.2822,-2.94729 -5.4306,-5.27036 -0.06,-0.0453 -0.1196,-0.0908 -0.1774,-0.13731 l -2.8154,0 c -0.083,0 -0.1653,-0.004 -0.2461,-0.0115 z" - style="font-size:medium;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-indent:0;text-align:start;text-decoration:none;line-height:normal;letter-spacing:normal;word-spacing:normal;text-transform:none;direction:ltr;block-progression:tb;writing-mode:lr-tb;text-anchor:start;color:#000000;fill:#000000;fill-opacity:1;stroke:none;stroke-width:17.92433548;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate;font-family:Sans;-inkscape-font-specification:Sans" + d="m 2074.0709,985.03549 c 0.067,0.22429 0.1035,0.45882 0.1035,0.70196 v 0.9156 c 0.4601,-0.44783 1.0806,-0.73251 1.758,-0.73251 h 0.9155 c -0.8856,-0.3813 -1.8152,-0.67669 -2.7773,-0.88505 z m -8.2891,0.52493 c -0.8359,0.29589 -1.6366,0.66191 -2.3989,1.09263 h 1.4406 c 0.3361,0 0.6558,0.0712 0.9522,0.19528 v -1.11088 c 0,-0.0595 0,-0.11843 0.011,-0.17703 z m 16.0106,3.77833 v 2.44156 c 0,0.24623 -0.047,0.48124 -0.1159,0.70806 h 2.4598 c -0.6454,-1.1497 -1.4336,-2.2082 -2.3439,-3.14962 z m -22.8287,1.0743 c -1.4924,1.86187 -2.5592,4.07656 -3.0458,6.50067 0.2775,-0.10674 0.5745,-0.1648 0.885,-0.1648 h 2.3622 c 0.2066,-0.76946 0.4843,-1.50954 0.8302,-2.20965 -0.6209,-0.46729 -1.0316,-1.20729 -1.0316,-2.0265 z m 27.1076,9.81505 c -0.4519,0.4069 -1.0432,0.6593 -1.6847,0.6593 h -1.4832 c -0.4248,5.3472 -4.2921,9.6968 -9.4001,10.8345 0.3209,0.8097 0.7207,1.6401 1.2147,2.5026 0.066,0.116 0.1186,0.2431 0.1526,0.3723 6.3492,-1.7444 11.0588,-7.5093 11.2007,-14.3687 z m -29.5308,4.9015 c 1.6617,4.5387 5.4288,8.0716 10.108,9.4184 -0.4656,-1.2365 -0.7322,-2.4537 -0.8606,-3.638 -2.517,-1.1563 -4.5676,-3.1438 -5.7926,-5.6217 -0.064,-0.048 -0.1276,-0.097 -0.1892,-0.1465 h -3.0031 c -0.088,0 -0.1763,0 -0.2625,-0.012 z" + style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:Sans;-inkscape-font-specification:Sans;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-anchor:start;display:inline;overflow:visible;visibility:visible;fill:#000000;fill-opacity:1;stroke:none;stroke-width:19.11929131;marker:none;enable-background:accumulate" inkscape:connector-curvature="0" /> - <path - transform="matrix(0.20414546,0,0,0.20414546,1872.5145,842.83929)" - sodipodi:type="arc" - style="fill:url(#radialGradient3453);fill-opacity:1;stroke:none" + <circle + style="fill:url(#radialGradient3453);fill-opacity:1;stroke:none;stroke-width:0.21775515" id="path5530" - sodipodi:cx="337.53741" - sodipodi:cy="463.29471" - sodipodi:rx="78.375488" - sodipodi:ry="78.375488" - d="m 415.9129,463.29471 c 0,43.28559 -35.0899,78.37549 -78.37549,78.37549 -43.28558,0 -78.37548,-35.0899 -78.37548,-78.37549 0,-43.28559 35.0899,-78.37549 78.37548,-78.37549 43.28559,0 78.37549,35.0899 78.37549,78.37549 z" /> + cx="2070.8494" + cy="999.91339" + r="17.066668" /> </g> </g> </svg> diff --git a/common/logo_color_centered.svg b/common/logo_color_centered.svg index c8d5588..e58601a 100644 --- a/common/logo_color_centered.svg +++ b/common/logo_color_centered.svg @@ -10,11 +10,11 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" - width="64px" - height="64px" + width="68.26667" + height="68.26667" id="svg3413" version="1.1" - inkscape:version="0.48.0 r9654" + inkscape:version="0.92.0 r15299" sodipodi:docname="logo_color_centered.svg" inkscape:export-filename="D:\Projekte\WinDirStat\Mercurial\common\logo_color_centered.png" inkscape:export-xdpi="360" @@ -51,7 +51,7 @@ fx="299.21332" cy="456.29883" cx="299.21332" - gradientTransform="matrix(1.4841341,-0.00981819,0.00661529,0.99997812,-147.87792,2.947719)" + gradientTransform="matrix(0.32317785,-0.00213796,0.00144051,0.21775039,1965.1476,899.67046)" gradientUnits="userSpaceOnUse" id="radialGradient3453" xlink:href="#linearGradient4494" @@ -66,21 +66,25 @@ inkscape:pageshadow="2" inkscape:zoom="22" inkscape:cx="37.890768" - inkscape:cy="49.200415" + inkscape:cy="34.65496" inkscape:current-layer="layer1" showgrid="true" inkscape:document-units="px" inkscape:grid-bbox="true" inkscape:window-width="1920" - inkscape:window-height="1116" - inkscape:window-x="1272" + inkscape:window-height="1058" + inkscape:window-x="-8" inkscape:window-y="-8" inkscape:window-maximized="1" showguides="false" inkscape:snap-global="false"> <inkscape:grid type="xygrid" - id="grid3013" /> + id="grid3013" + originx="0" + originy="0" + spacingx="1.0666667" + spacingy="1.0666667" /> </sodipodi:namedview> <metadata id="metadata3418"> @@ -103,37 +107,29 @@ inkscape:export-filename="C:\tuqueque\Imagenes\Svg\Logos\WinDirStat\Icons\Greenish\Greenish256.png" inkscape:export-xdpi="720" inkscape:export-ydpi="720" - transform="matrix(1.6803977,0,0,1.6803977,-3230.1099,-1543.2593)"> - <path - d="m 415.9129,463.29471 c 0,43.28559 -35.0899,78.37549 -78.37549,78.37549 -43.28558,0 -78.37548,-35.0899 -78.37548,-78.37549 0,-43.28559 35.0899,-78.37549 78.37548,-78.37549 43.28559,0 78.37549,35.0899 78.37549,78.37549 z" - sodipodi:ry="78.375488" - sodipodi:rx="78.375488" - sodipodi:cy="463.29471" - sodipodi:cx="337.53741" + transform="matrix(1.6803977,0,0,1.6803977,-3445.4506,-1646.1433)"> + <circle id="path5524" - style="fill:#aad400;stroke:none" - sodipodi:type="arc" - transform="matrix(0.20414546,0,0,0.20414546,1872.5145,842.83929)" /> + style="fill:#aad400;stroke:none;stroke-width:0.21775515" + cx="2070.8494" + cy="999.91339" + r="17.066668" /> <path - style="font-size:medium;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-indent:0;text-align:start;text-decoration:none;line-height:normal;letter-spacing:normal;word-spacing:normal;text-transform:none;direction:ltr;block-progression:tb;writing-mode:lr-tb;text-anchor:start;color:#000000;fill:#000000;fill-opacity:1;stroke:none;stroke-width:4;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate;font-family:Sans;-inkscape-font-specification:Sans" - d="m 1939.0453,923.21325 c -0.5073,0 -0.9156,0.40836 -0.9156,0.91561 l 0,3.11299 c 0,0.50725 0.4083,0.91557 0.9156,0.91557 l 2.701,0 c 0.47,2.38102 0.2663,3.43259 -0.6123,5.95707 -0.6592,-0.81319 -1.557,-1.36251 -2.5923,-1.76826 -0.8896,-0.34861 -1.6522,-0.85372 -1.9456,-1.47636 0.056,-0.11858 0.092,-0.24894 0.092,-0.38915 l 0,-3.11299 c 0,-0.50721 -0.4084,-0.91557 -0.9156,-0.91557 l -3.113,0 c -0.5073,0 -0.9156,0.40836 -0.9156,0.91557 l 0,3.11299 c 0,0.50725 0.4083,0.91561 0.9156,0.91561 l 3.113,0 c 0.2507,0 0.4758,-0.10103 0.6409,-0.26323 0.1765,0.8372 0.8452,1.36132 1.9456,1.91128 0.9936,0.49661 1.7731,1.67021 2.1574,2.80971 -0.1938,0.54583 -0.3974,1.12616 -0.6295,1.80259 -0.4351,1.29952 -0.9836,2.80582 -1.3734,4.45777 -0.4376,-0.25319 -0.9119,-0.42865 -1.4077,-0.52075 -0.2117,-0.13981 -0.3687,-0.27014 -0.4807,-0.42916 -0.3499,-0.4972 -0.1073,-1.4558 -0.2174,-2.1345 l 1.2131,0 c 0.5073,0 0.9156,-0.40832 0.9156,-0.91557 l 0,-3.11303 c 0,-0.50721 -0.4083,-0.91557 -0.9156,-0.91557 l -3.1073,0 c -0.5072,0 -0.9155,0.40836 -0.9155,0.91557 l 0,3.11303 c 0,0.50725 0.4083,0.91557 0.9155,0.91557 l 1.671,0 c -0.029,0.71343 -0.5596,1.8116 -0.103,2.46065 0,0.005 0.01,0.0119 0.011,0.0171 -0.031,1.2e-4 -0.061,0 -0.092,0 -1.8587,0.0373 -2.9081,-0.25168 -3.9828,-0.92133 0.1622,-0.16502 0.2632,-0.39585 0.2632,-0.64662 l 0,-3.10727 c 0,-0.50725 -0.4083,-0.91561 -0.9156,-0.91561 l -3.113,0 c -0.5072,0 -0.9156,0.40836 -0.9156,0.91561 l 0,3.10727 c 0,0.50725 0.4084,0.91561 0.9156,0.91561 l 3.113,0 c 0.065,0 0.1332,-0.004 0.1946,-0.0171 0.9764,0.9407 2.3504,1.65175 4.2804,1.90557 1.213,0.15954 1.9298,0.40935 2.3919,0.76107 -0.4039,2.47712 -0.3271,5.22641 1.0301,8.08582 0.2308,0.0349 0.4581,0.0792 0.6924,0.10301 0.4825,0.049 0.9695,0.0744 1.4649,0.0744 0.4954,0 0.9882,-0.0254 1.4707,-0.0744 0.1764,-0.0179 0.7126,-0.10738 0.887,-0.13164 -2.3462,-4.0962 -2.7021,-7.76423 -1.98,-11.24457 0.263,-0.26232 0.5734,-0.4589 0.9328,-0.62376 0.8581,-0.39364 2.204,-0.67076 3.2045,-0.76107 1.966,-0.15164 4.0012,-0.76675 4.4349,-2.31758 0.164,0.15553 0.3903,0.25175 0.6352,0.25175 l 3.1073,0 c 0.5072,0 0.9156,-0.40832 0.9156,-0.91556 l 0,-3.11299 c 0,-0.50725 -0.4084,-0.91561 -0.9156,-0.91561 l -3.1073,0 c -0.5072,0 -0.9156,0.40836 -0.9156,0.91561 l 0,3.11299 c 0,0.0909 0.016,0.1747 0.04,0.25751 -0.2301,1.06769 -1.5826,1.32611 -2.8154,1.41916 0.3935,-0.43269 0.6015,-0.85856 0.8183,-1.3219 0.4278,-0.91438 0.2195,-2.08484 0.1259,-2.62659 -0.2232,-0.71927 -0.3743,-1.89497 -0.206,-2.96992 l 1.2475,0 c 0.5072,0 0.9156,-0.40836 0.9156,-0.91561 l 0,-3.11299 c 0,-0.50724 -0.4084,-0.91561 -0.9156,-0.91561 l -3.113,0 c -0.5073,0 -0.9156,0.40837 -0.9156,0.91561 l 0,3.11299 c 0,0.50725 0.4083,0.91561 0.9156,0.91561 l 1.5851,0 c -0.3561,0.91851 -0.3153,1.98445 -0.1202,3.07294 0.082,0.47481 -0.025,1.44095 -0.3491,2.13446 -0.3044,0.65067 -0.6382,1.07991 -2.0829,1.84261 -0.8839,0.0635 -1.9561,0.14584 -2.8727,0.50359 1.5403,-4.9677 0.7333,-8.22936 0.052,-10.14017 0.3881,-0.10623 0.6753,-0.45854 0.6753,-0.88123 l 0,-3.11299 c 0,-0.50725 -0.4084,-0.91561 -0.9156,-0.91561 l -3.113,0 z" + style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:Sans;-inkscape-font-specification:Sans;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-anchor:start;display:inline;overflow:visible;visibility:visible;fill:#000000;fill-opacity:1;stroke:none;stroke-width:4.26666689;marker:none;enable-background:accumulate" + d="m 2068.315,984.7608 c -0.5411,0 -0.9767,0.43558 -0.9767,0.97665 v 3.32052 c 0,0.54107 0.4356,0.97661 0.9767,0.97661 h 2.8811 c 0.5013,2.53976 0.284,3.66143 -0.6532,6.35421 -0.7031,-0.8674 -1.6608,-1.45334 -2.7651,-1.88614 -0.9489,-0.37186 -1.7623,-0.91064 -2.0753,-1.57479 0.06,-0.12648 0.098,-0.26553 0.098,-0.41509 v -3.32052 c 0,-0.54103 -0.4356,-0.97661 -0.9766,-0.97661 h -3.3205 c -0.5412,0 -0.9767,0.43558 -0.9767,0.97661 v 3.32052 c 0,0.54106 0.4355,0.97665 0.9767,0.97665 h 3.3205 c 0.2674,0 0.5075,-0.10777 0.6836,-0.28078 0.1883,0.89301 0.9016,1.45207 2.0753,2.0387 1.0599,0.52972 1.8913,1.78156 2.3013,2.99702 -0.2068,0.58222 -0.4239,1.20124 -0.6715,1.92274 -0.4641,1.3862 -1.0492,2.9929 -1.465,4.755 -0.4667,-0.2701 -0.9727,-0.4572 -1.5015,-0.5555 -0.2258,-0.1491 -0.3933,-0.2881 -0.5128,-0.4578 -0.3732,-0.5303 -0.1144,-1.5528 -0.2319,-2.2768 h 1.294 c 0.5411,0 0.9767,-0.4355 0.9767,-0.9766 v -3.32053 c 0,-0.54102 -0.4356,-0.97661 -0.9767,-0.97661 h -3.3144 c -0.541,0 -0.9766,0.43559 -0.9766,0.97661 v 3.32053 c 0,0.5411 0.4356,0.9766 0.9766,0.9766 h 1.7824 c -0.031,0.761 -0.5969,1.9324 -0.1099,2.6247 0,0.01 0.011,0.013 0.012,0.018 -0.033,10e-5 -0.065,0 -0.098,0 -1.9826,0.04 -3.102,-0.2685 -4.2483,-0.9828 0.173,-0.176 0.2807,-0.4222 0.2807,-0.6897 v -3.31443 c 0,-0.54106 -0.4355,-0.97665 -0.9766,-0.97665 h -3.3205 c -0.5411,0 -0.9767,0.43559 -0.9767,0.97665 v 3.31443 c 0,0.5411 0.4356,0.9766 0.9767,0.9766 h 3.3205 c 0.069,0 0.1421,0 0.2076,-0.018 1.0415,1.0034 2.5071,1.7619 4.5657,2.0326 1.2939,0.1702 2.0585,0.4367 2.5514,0.8118 -0.4308,2.6423 -0.3489,5.5749 1.0988,8.6249 0.2461,0.037 0.4886,0.084 0.7385,0.1099 0.5147,0.052 1.0341,0.079 1.5626,0.079 0.5284,0 1.0541,-0.027 1.5687,-0.079 0.1882,-0.019 0.7601,-0.1146 0.9462,-0.1404 -2.5027,-4.3693 -2.8823,-8.2819 -2.112,-11.9942 0.2805,-0.2799 0.6116,-0.4895 0.9949,-0.6654 0.9153,-0.4199 2.351,-0.7155 3.4182,-0.8118 2.097,-0.1618 4.2679,-0.8179 4.7305,-2.47209 0.175,0.1659 0.4164,0.26854 0.6776,0.26854 h 3.3144 c 0.541,0 0.9767,-0.43554 0.9767,-0.9766 v -3.32052 c 0,-0.54107 -0.4357,-0.97665 -0.9767,-0.97665 h -3.3144 c -0.541,0 -0.9767,0.43558 -0.9767,0.97665 v 3.32052 c 0,0.097 0.017,0.18635 0.043,0.27468 -0.2454,1.13887 -1.6881,1.41447 -3.0031,1.51377 0.4197,-0.46154 0.6416,-0.9158 0.8729,-1.41003 0.4563,-0.97534 0.2341,-2.22383 0.1343,-2.8017 -0.2381,-0.76722 -0.3993,-2.0213 -0.2198,-3.16791 h 1.3307 c 0.541,0 0.9766,-0.43558 0.9766,-0.97665 v -3.32052 c 0,-0.54106 -0.4356,-0.97665 -0.9766,-0.97665 h -3.3205 c -0.5412,0 -0.9767,0.43559 -0.9767,0.97665 v 3.32052 c 0,0.54107 0.4355,0.97665 0.9767,0.97665 h 1.6907 c -0.3798,0.97974 -0.3363,2.11675 -0.1282,3.2778 0.087,0.50647 -0.027,1.53702 -0.3724,2.27676 -0.3246,0.69405 -0.6807,1.1519 -2.2217,1.96548 -0.9428,0.068 -2.0865,0.1555 -3.0642,0.5371 1.643,-5.29885 0.7822,-8.77795 0.055,-10.81615 0.414,-0.11331 0.7204,-0.48911 0.7204,-0.93998 v -3.32052 c 0,-0.54107 -0.4357,-0.97665 -0.9767,-0.97665 z" id="path5526" inkscape:connector-curvature="0" /> <path id="path5528" - d="m 1944.4415,923.47077 c 0.063,0.21027 0.097,0.43015 0.097,0.65809 l 0,0.85837 c 0.4313,-0.41984 1.0131,-0.68672 1.6481,-0.68672 l 0.8583,0 c -0.8302,-0.35747 -1.7017,-0.6344 -2.6037,-0.82974 z m -7.7711,0.49212 c -0.7836,0.2774 -1.5343,0.62054 -2.2489,1.02434 l 1.3505,0 c 0.3151,0 0.6148,0.0668 0.8927,0.18308 l 0,-1.04145 c 0,-0.0558 0,-0.11103 0.01,-0.16597 z m 15.01,3.54219 0,2.28896 c 0,0.23084 -0.044,0.45116 -0.1087,0.66381 l 2.3061,0 c -0.6051,-1.07785 -1.344,-2.07019 -2.1974,-2.95277 z m -21.4019,1.00715 c -1.3992,1.74551 -2.3993,3.82178 -2.8555,6.09438 0.2602,-0.10007 0.5386,-0.1545 0.8297,-0.1545 l 2.2146,0 c 0.1937,-0.72137 0.454,-1.41519 0.7783,-2.07154 -0.5821,-0.43809 -0.9671,-1.13184 -0.9671,-1.89985 l 0,-1.96849 z m 25.4133,9.20166 c -0.4236,0.38141 -0.978,0.61804 -1.5794,0.61804 l -1.3905,0 c -0.3982,5.013 -4.0238,9.09074 -8.8126,10.15732 0.3009,0.75916 0.6757,1.53766 1.1388,2.3462 0.062,0.10877 0.1112,0.22794 0.1431,0.34906 5.9524,-1.63535 10.3676,-7.03997 10.5006,-13.47062 z m -27.6851,4.59511 c 1.5579,4.25507 5.0895,7.5671 9.4763,8.82974 -0.4365,-1.15923 -0.6865,-2.30036 -0.8068,-3.4106 -2.3597,-1.084 -4.2822,-2.94729 -5.4306,-5.27036 -0.06,-0.0453 -0.1196,-0.0908 -0.1774,-0.13731 l -2.8154,0 c -0.083,0 -0.1653,-0.004 -0.2461,-0.0115 z" - style="font-size:medium;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-indent:0;text-align:start;text-decoration:none;line-height:normal;letter-spacing:normal;word-spacing:normal;text-transform:none;direction:ltr;block-progression:tb;writing-mode:lr-tb;text-anchor:start;color:#000000;fill:#000000;fill-opacity:1;stroke:none;stroke-width:17.92433548;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate;font-family:Sans;-inkscape-font-specification:Sans" + d="m 2074.0709,985.03549 c 0.067,0.22429 0.1035,0.45882 0.1035,0.70196 v 0.9156 c 0.4601,-0.44783 1.0806,-0.73251 1.758,-0.73251 h 0.9155 c -0.8856,-0.3813 -1.8152,-0.67669 -2.7773,-0.88505 z m -8.2891,0.52493 c -0.8359,0.29589 -1.6366,0.66191 -2.3989,1.09263 h 1.4406 c 0.3361,0 0.6558,0.0712 0.9522,0.19528 v -1.11088 c 0,-0.0595 0,-0.11843 0.011,-0.17703 z m 16.0106,3.77833 v 2.44156 c 0,0.24623 -0.047,0.48124 -0.1159,0.70806 h 2.4598 c -0.6454,-1.1497 -1.4336,-2.2082 -2.3439,-3.14962 z m -22.8287,1.0743 c -1.4924,1.86187 -2.5592,4.07656 -3.0458,6.50067 0.2775,-0.10674 0.5745,-0.1648 0.885,-0.1648 h 2.3622 c 0.2066,-0.76946 0.4843,-1.50954 0.8302,-2.20965 -0.6209,-0.46729 -1.0316,-1.20729 -1.0316,-2.0265 z m 27.1076,9.81505 c -0.4519,0.4069 -1.0432,0.6593 -1.6847,0.6593 h -1.4832 c -0.4248,5.3472 -4.2921,9.6968 -9.4001,10.8345 0.3209,0.8097 0.7207,1.6401 1.2147,2.5026 0.066,0.116 0.1186,0.2431 0.1526,0.3723 6.3492,-1.7444 11.0588,-7.5093 11.2007,-14.3687 z m -29.5308,4.9015 c 1.6617,4.5387 5.4288,8.0716 10.108,9.4184 -0.4656,-1.2365 -0.7322,-2.4537 -0.8606,-3.638 -2.517,-1.1563 -4.5676,-3.1438 -5.7926,-5.6217 -0.064,-0.048 -0.1276,-0.097 -0.1892,-0.1465 h -3.0031 c -0.088,0 -0.1763,0 -0.2625,-0.012 z" + style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:Sans;-inkscape-font-specification:Sans;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-anchor:start;display:inline;overflow:visible;visibility:visible;fill:#000000;fill-opacity:1;stroke:none;stroke-width:19.11929131;marker:none;enable-background:accumulate" inkscape:connector-curvature="0" /> - <path - transform="matrix(0.20414546,0,0,0.20414546,1872.5145,842.83929)" - sodipodi:type="arc" - style="fill:url(#radialGradient3453);fill-opacity:1;stroke:none" + <circle + style="fill:url(#radialGradient3453);fill-opacity:1;stroke:none;stroke-width:0.21775515" id="path5530" - sodipodi:cx="337.53741" - sodipodi:cy="463.29471" - sodipodi:rx="78.375488" - sodipodi:ry="78.375488" - d="m 415.9129,463.29471 c 0,43.28559 -35.0899,78.37549 -78.37549,78.37549 -43.28558,0 -78.37548,-35.0899 -78.37548,-78.37549 0,-43.28559 35.0899,-78.37549 78.37548,-78.37549 43.28559,0 78.37549,35.0899 78.37549,78.37549 z" /> + cx="2070.8494" + cy="999.91339" + r="17.066668" /> </g> </g> </svg> diff --git a/common/logo_gray.svg b/common/logo_gray.svg deleted file mode 100644 index 941172b..0000000 --- a/common/logo_gray.svg +++ /dev/null @@ -1,107 +0,0 @@ -<?xml version="1.0" encoding="UTF-8" standalone="no"?> -<!-- Created with Inkscape (http://www.inkscape.org/) --> - -<svg - xmlns:dc="http://purl.org/dc/elements/1.1/" - xmlns:cc="http://creativecommons.org/ns#" - xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" - xmlns:svg="http://www.w3.org/2000/svg" - xmlns="http://www.w3.org/2000/svg" - xmlns:xlink="http://www.w3.org/1999/xlink" - xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" - xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" - width="64px" - height="64px" - id="svg3413" - version="1.1" - inkscape:version="0.48.0 r9654" - sodipodi:docname="logo_color.svg"> - <title - id="title3432">Main logo, gray</title> - <defs - id="defs3415"> - <radialGradient - inkscape:collect="always" - xlink:href="#linearGradient4494" - id="radialGradient4295" - gradientUnits="userSpaceOnUse" - gradientTransform="matrix(1.4841341,-0.00981819,0.00661529,0.99997812,-147.87792,2.947719)" - cx="299.21332" - cy="456.29883" - fx="299.21332" - fy="456.29883" - r="78.375488" /> - <linearGradient - id="linearGradient4494"> - <stop - style="stop-color:#000000;stop-opacity:0;" - offset="0" - id="stop4496" /> - <stop - style="stop-color:#000000;stop-opacity:0.1254902;" - offset="1" - id="stop4498" /> - </linearGradient> - <radialGradient - r="78.375488" - fy="456.29883" - fx="299.21332" - cy="456.29883" - cx="299.21332" - gradientTransform="matrix(1.4841341,-0.00981819,0.00661529,0.99997812,-147.87792,2.947719)" - gradientUnits="userSpaceOnUse" - id="radialGradient3453" - xlink:href="#linearGradient4494" - inkscape:collect="always" /> - </defs> - <sodipodi:namedview - id="base" - pagecolor="#ffffff" - bordercolor="#666666" - borderopacity="1.0" - inkscape:pageopacity="0.0" - inkscape:pageshadow="2" - inkscape:zoom="5.5" - inkscape:cx="32" - inkscape:cy="32" - inkscape:current-layer="layer1" - showgrid="true" - inkscape:document-units="px" - inkscape:grid-bbox="true" - inkscape:window-width="1186" - inkscape:window-height="822" - inkscape:window-x="1305" - inkscape:window-y="25" - inkscape:window-maximized="0" /> - <metadata - id="metadata3418"> - <rdf:RDF> - <cc:Work - rdf:about=""> - <dc:format>image/svg+xml</dc:format> - <dc:type - rdf:resource="http://purl.org/dc/dcmitype/StillImage" /> - <dc:title>Main logo, gray</dc:title> - </cc:Work> - </rdf:RDF> - </metadata> - <g - id="layer1" - inkscape:label="Layer 1" - inkscape:groupmode="layer"> - <g - transform="matrix(0.62404472,0,0,0.62404472,-151.37311,-300.46636)" - id="g3396"> - <path - inkscape:connector-curvature="0" - id="path4330" - d="m 285.83748,483.7476 c -1.76488,0 -3.18571,1.42082 -3.18571,3.18571 l 0,10.83141 c 0,1.76488 1.42083,3.18571 3.18571,3.18571 l 9.39784,0 c 1.63555,8.28443 0.92685,11.94333 -2.13041,20.72701 -2.29345,-2.82945 -5.41742,-4.74071 -9.01957,-6.1524 -3.09536,-1.21306 -5.74861,-2.97056 -6.76963,-5.13695 0.19433,-0.41249 0.31857,-0.86614 0.31857,-1.35393 l 0,-10.83141 c 0,-1.76488 -1.42083,-3.18571 -3.18571,-3.18571 l -10.83141,0 c -1.76488,0 -3.18571,1.42083 -3.18571,3.18571 l 0,10.83141 c 0,1.76488 1.42083,3.18571 3.18571,3.18571 l 10.83141,0 c 0.8725,0 1.65581,-0.3515 2.23,-0.91589 0.61414,2.91303 2.94079,4.73656 6.76963,6.65017 3.45719,1.72787 6.16919,5.81124 7.50636,9.77614 -0.67429,1.89913 -1.38279,3.91839 -2.19018,6.27187 -1.51378,4.5216 -3.42247,9.76258 -4.77856,15.51042 -1.52264,-0.88101 -3.17303,-1.4914 -4.89803,-1.81188 -0.73647,-0.48652 -1.28301,-0.93986 -1.67249,-1.4933 -1.21752,-1.72988 -0.3735,-5.06533 -0.75661,-7.42668 l 4.22106,0 c 1.76482,0 3.18571,-1.42083 3.18571,-3.18571 l 0,-10.83141 c 0,-1.76488 -1.42089,-3.18571 -3.18571,-3.18571 l -10.81153,0 c -1.76488,0 -3.18571,1.42083 -3.18571,3.18571 l 0,10.83141 c 0,1.76488 1.42083,3.18571 3.18571,3.18571 l 5.81392,0 c -0.10175,2.48225 -1.94717,6.3032 -0.35839,8.56159 0.0127,0.0185 0.0268,0.0412 0.0395,0.0597 -0.10729,5.1e-4 -0.21096,-0.002 -0.31857,0 -6.46724,0.12919 -10.11826,-0.87567 -13.85783,-3.20562 0.56438,-0.57422 0.91589,-1.37741 0.91589,-2.2499 l 0,-10.8115 c 0,-1.76489 -1.42083,-3.18571 -3.18571,-3.18571 l -10.83141,0 c -1.76488,0 -3.18571,1.42082 -3.18571,3.18571 l 0,10.8115 c 0,1.76488 1.42083,3.1857 3.18571,3.1857 l 10.83141,0 c 0.22733,0 0.46333,-0.0149 0.67696,-0.0597 3.39756,3.27312 8.17791,5.74707 14.89319,6.63026 4.22081,0.55512 6.71471,1.42429 8.32267,2.64812 -1.40547,8.61891 -1.13832,18.18473 3.58392,28.13379 0.80324,0.12154 1.59387,0.2756 2.40916,0.3584 1.67874,0.17048 3.37347,0.25883 5.09713,0.25883 1.72373,0 3.43834,-0.0883 5.11708,-0.25883 0.61363,-0.0623 2.47931,-0.37362 3.08612,-0.45795 -8.16338,-14.25232 -9.40153,-27.01493 -6.88909,-39.12449 0.91493,-0.91267 1.99521,-1.59669 3.24547,-2.17026 2.98571,-1.36971 7.66864,-2.33386 11.14998,-2.64812 6.84055,-0.52761 13.92181,-2.66779 15.43075,-8.06383 0.57056,0.54118 1.35807,0.87607 2.21012,0.87607 l 10.81146,0 c 1.76489,0 3.18571,-1.42082 3.18571,-3.18571 l 0,-10.83141 c 0,-1.76488 -1.42082,-3.18571 -3.18571,-3.18571 l -10.81146,0 c -1.76489,0 -3.18571,1.42083 -3.18571,3.18571 l 0,10.83141 c 0,0.31641 0.0541,0.60789 0.13934,0.89598 -0.80063,3.71493 -5.50637,4.61408 -9.79606,4.93785 1.36929,-1.50556 2.09302,-2.9873 2.84726,-4.59937 1.48856,-3.18157 0.76368,-7.25411 0.43804,-9.139 -0.77668,-2.50268 -1.30245,-6.59341 -0.71679,-10.33364 l 4.34053,0 c 1.76489,0 3.18571,-1.42083 3.18571,-3.18571 l 0,-10.83141 c 0,-1.76488 -1.42082,-3.18571 -3.18571,-3.18571 l -10.83141,0 c -1.76488,0 -3.18571,1.42083 -3.18571,3.18571 l 0,10.83141 c 0,1.76488 1.42083,3.18571 3.18571,3.18571 l 5.51523,0 c -1.23905,3.19586 -1.09678,6.90476 -0.41809,10.69203 0.28544,1.65209 -0.0856,5.01375 -1.21459,7.42669 -1.05918,2.26392 -2.22063,3.75747 -7.24748,6.41124 -3.07536,0.22084 -6.80595,0.50743 -9.99517,1.75214 5.35926,-17.28469 2.55137,-28.63333 0.17923,-35.28173 1.35023,-0.36974 2.34946,-1.59551 2.34946,-3.06624 l 0,-10.83141 c 0,-1.76489 -1.42082,-3.18571 -3.18571,-3.18571 l -10.83141,0 z" - style="font-size:medium;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-indent:0;text-align:start;text-decoration:none;line-height:normal;letter-spacing:normal;word-spacing:normal;text-transform:none;direction:ltr;block-progression:tb;writing-mode:lr-tb;text-anchor:start;color:#000000;fill:#000000;fill-opacity:1;stroke:none;stroke-width:4;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate;font-family:Sans;-inkscape-font-specification:Sans" /> - <path - inkscape:connector-curvature="0" - style="font-size:medium;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-indent:0;text-align:start;text-decoration:none;line-height:normal;letter-spacing:normal;word-spacing:normal;text-transform:none;direction:ltr;block-progression:tb;writing-mode:lr-tb;text-anchor:start;color:#000000;fill:#808080;fill-opacity:1;stroke:none;stroke-width:17.92433548;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate;font-family:Sans;-inkscape-font-specification:Sans" - d="m 304.61329,484.64358 c 0.21809,0.73165 0.33845,1.49672 0.33845,2.28973 l 0,2.9866 c 1.50072,-1.46066 3.52479,-2.38928 5.73427,-2.38928 l 2.9866,0 c -2.8888,-1.24383 -5.92102,-2.20734 -9.05932,-2.88705 z m -27.03871,1.71232 c -2.72678,0.96521 -5.33874,2.15904 -7.82493,3.56401 l 4.69892,0 c 1.0964,0 2.13921,0.23248 3.10607,0.63714 l 0,-3.62374 c 0,-0.1941 0.006,-0.38623 0.0197,-0.57741 z m 52.22568,12.32471 0,7.96427 c 0,0.80307 -0.15482,1.56971 -0.37827,2.30964 l 8.02398,0 c -2.10525,-3.75024 -4.67637,-7.20302 -7.64571,-10.27391 z m -74.46594,3.50428 c -4.86847,6.07334 -8.34809,13.2975 -9.9354,21.20487 0.90525,-0.34828 1.87409,-0.53759 2.88702,-0.53759 l 7.70546,0 c 0.67391,-2.50996 1.57948,-4.92408 2.70786,-7.20766 -2.02548,-1.52441 -3.36494,-3.93816 -3.36494,-6.61035 l 0,-6.84927 z m 88.42336,32.01637 c -1.47396,1.32705 -3.4031,2.15036 -5.49534,2.15036 l -4.83833,0 c -1.38527,17.44224 -14.00055,31.6305 -30.66245,35.34145 1.04682,2.64137 2.35086,5.35018 3.96226,8.16338 0.21707,0.3785 0.38693,0.79321 0.49773,1.21456 20.71093,-5.69011 36.07325,-24.4949 36.53613,-46.86975 z m -96.32787,15.98828 c 5.42067,14.80499 17.70859,26.32893 32.97209,30.72218 -1.51876,-4.03348 -2.38871,-8.00381 -2.80744,-11.86677 -8.21021,-3.77168 -14.89956,-10.25488 -18.8952,-18.33773 -0.20746,-0.15759 -0.41606,-0.31601 -0.61727,-0.47786 l -9.79605,0 c -0.28793,0 -0.5749,-0.01 -0.85613,-0.0398 z" - id="path4332" /> - </g> - </g> -</svg> diff --git a/common/logo_gray_for_dark_bg.svg b/common/logo_gray_for_dark_bg.svg new file mode 100644 index 0000000..ef76517 --- /dev/null +++ b/common/logo_gray_for_dark_bg.svg @@ -0,0 +1,71 @@ +<?xml version="1.0" encoding="UTF-8" standalone="no"?> +<!-- Created with Inkscape (http://www.inkscape.org/) --> + +<svg + xmlns:dc="http://purl.org/dc/elements/1.1/" + xmlns:cc="http://creativecommons.org/ns#" + xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" + xmlns:svg="http://www.w3.org/2000/svg" + xmlns="http://www.w3.org/2000/svg" + xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" + xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" + width="27.843424mm" + height="28.039988mm" + viewBox="0 0 27.843424 28.039988" + version="1.1" + id="svg427" + inkscape:version="0.92.0 r15299" + sodipodi:docname="logo_gray_for_dark_bg.svg"> + <defs + id="defs421" /> + <sodipodi:namedview + id="base" + pagecolor="#ffffff" + bordercolor="#666666" + borderopacity="1.0" + inkscape:pageopacity="0.0" + inkscape:pageshadow="2" + inkscape:zoom="0.35" + inkscape:cx="89.760338" + inkscape:cy="15.846097" + inkscape:document-units="mm" + inkscape:current-layer="layer1" + showgrid="false" + inkscape:window-width="1920" + inkscape:window-height="996" + inkscape:window-x="1912" + inkscape:window-y="-8" + inkscape:window-maximized="1" /> + <metadata + id="metadata424"> + <rdf:RDF> + <cc:Work + rdf:about=""> + <dc:format>image/svg+xml</dc:format> + <dc:type + rdf:resource="http://purl.org/dc/dcmitype/StillImage" /> + <dc:title></dc:title> + </cc:Work> + </rdf:RDF> + </metadata> + <g + inkscape:label="Layer 1" + inkscape:groupmode="layer" + id="layer1" + transform="translate(-82.084244,-124.98596)"> + <g + id="g4349" + transform="matrix(0.26458333,0,0,0.26458333,-40.71061,-8.7161397)"> + <path + style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:Sans;-inkscape-font-specification:Sans;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-anchor:start;display:inline;overflow:visible;visibility:visible;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:4.26666689;marker:none;enable-background:accumulate" + d="m 507.55998,505.33077 c -1.88254,0 -3.39809,1.51554 -3.39809,3.39809 v 11.55351 c 0,1.88254 1.51555,3.39809 3.39809,3.39809 h 10.02436 c 1.74459,8.83672 0.98864,12.73955 -2.27244,22.10881 -2.44634,-3.01808 -5.77858,-5.05676 -9.62087,-6.56256 -3.30172,-1.29393 -6.13185,-3.1686 -7.22094,-5.47941 0.20729,-0.43999 0.33981,-0.92389 0.33981,-1.4442 v -11.5535 c 0,-1.88254 -1.51555,-3.39809 -3.39809,-3.39809 H 483.8583 c -1.88253,0 -3.39809,1.51555 -3.39809,3.39809 v 11.5535 c 0,1.88254 1.51556,3.39809 3.39809,3.39809 h 11.55351 c 0.93066,0 1.7662,-0.37493 2.37866,-0.97694 0.65509,3.10723 3.13685,5.05233 7.22094,7.09351 3.68767,1.84306 6.58047,6.19866 8.00679,10.42788 -0.71925,2.02574 -1.47498,4.17962 -2.33619,6.69 -1.6147,4.82304 -3.65064,10.41342 -5.09714,16.54445 -1.62414,-0.93975 -3.38456,-1.59083 -5.22456,-1.93268 -0.78557,-0.51895 -1.36854,-1.00251 -1.78399,-1.59285 -1.29869,-1.84521 -0.3984,-5.40302 -0.80705,-7.92179 h 4.50246 c 1.88248,0 3.39809,-1.51555 3.39809,-3.39809 v -11.55351 c 0,-1.88254 -1.51561,-3.39809 -3.39809,-3.39809 h -11.5323 c -1.88253,0 -3.39809,1.51555 -3.39809,3.39809 v 11.55351 c 0,1.88254 1.51556,3.39809 3.39809,3.39809 h 6.20152 c -0.10853,2.64773 -2.07698,6.72341 -0.38228,9.13236 0.0135,0.0197 0.0286,0.0439 0.0421,0.0637 -0.11444,5.4e-4 -0.22502,-0.002 -0.33981,0 -6.89839,0.1378 -10.79281,-0.93405 -14.78168,-3.41933 0.602,-0.6125 0.97695,-1.46923 0.97695,-2.39989 v -11.53227 c 0,-1.88255 -1.51556,-3.39809 -3.39809,-3.39809 h -11.55351 c -1.88254,0 -3.39809,1.51554 -3.39809,3.39809 v 11.53227 c 0,1.88254 1.51555,3.39808 3.39809,3.39808 h 11.55351 c 0.24248,0 0.49421,-0.0159 0.72209,-0.0637 3.62406,3.49133 8.7231,6.13021 15.88607,7.07228 4.50219,0.59212 7.16235,1.51924 8.87751,2.82466 -1.49917,9.1935 -1.21421,19.39704 3.82285,30.00937 0.85679,0.12965 1.70013,0.29398 2.56977,0.3823 1.79065,0.18184 3.59837,0.27608 5.43694,0.27608 1.83864,0 3.66756,-0.0942 5.45822,-0.27608 0.65453,-0.0665 2.64459,-0.39853 3.29186,-0.48848 -8.70761,-15.20248 -10.0283,-28.81593 -7.34837,-41.73279 0.97593,-0.97352 2.12823,-1.70314 3.46184,-2.31495 3.18476,-1.46102 8.17988,-2.48945 11.89331,-2.82466 7.29659,-0.56278 14.84993,-2.84564 16.45947,-8.60142 0.6086,0.57726 1.44861,0.93448 2.35746,0.93448 h 11.53222 c 1.88255,0 3.39809,-1.51554 3.39809,-3.39809 v -11.55351 c 0,-1.88253 -1.51554,-3.39809 -3.39809,-3.39809 h -11.53222 c -1.88255,0 -3.39809,1.51556 -3.39809,3.39809 v 11.55351 c 0,0.3375 0.0577,0.64841 0.14863,0.95571 -0.85401,3.96259 -5.87346,4.92169 -10.44913,5.26704 1.46057,-1.60593 2.23255,-3.18645 3.03707,-4.90599 1.5878,-3.39368 0.8146,-7.73772 0.46725,-9.74827 -0.82846,-2.66953 -1.38928,-7.03297 -0.76458,-11.02255 h 4.6299 c 1.88255,0 3.39809,-1.51555 3.39809,-3.39809 v -11.55351 c 0,-1.88253 -1.51554,-3.39809 -3.39809,-3.39809 h -11.5535 c -1.88254,0 -3.39809,1.51556 -3.39809,3.39809 v 11.55351 c 0,1.88254 1.51555,3.39809 3.39809,3.39809 h 5.88291 c -1.32166,3.40892 -1.1699,7.36508 -0.44596,11.40483 0.30446,1.76223 -0.0913,5.348 -1.29557,7.9218 -1.12979,2.41485 -2.36867,4.00797 -7.73064,6.83866 -3.28039,0.23556 -7.25968,0.54126 -10.66152,1.86895 5.71655,-18.437 2.72146,-30.54222 0.19118,-37.63385 1.44025,-0.39439 2.50609,-1.70187 2.50609,-3.27065 v -11.55351 c 0,-1.88255 -1.51554,-3.39809 -3.39809,-3.39809 h -11.5535 z" + id="path4337" + inkscape:connector-curvature="0" /> + <path + id="path4339" + d="m 527.58751,506.28649 c 0.23263,0.78042 0.36101,1.5965 0.36101,2.44237 v 3.18571 c 1.60077,-1.55804 3.75978,-2.54856 6.11656,-2.54856 h 3.1857 c -3.08138,-1.32676 -6.31575,-2.3545 -9.66327,-3.07952 z m -28.84129,1.82647 c -2.90857,1.02956 -5.69466,2.30298 -8.34659,3.80161 h 5.01218 c 1.16949,0 2.28182,0.24798 3.31314,0.67962 v -3.86533 c 0,-0.20704 0.006,-0.41197 0.021,-0.6159 z m 55.70739,13.14636 v 8.49522 c 0,0.85661 -0.16514,1.67436 -0.40349,2.46361 h 8.55891 c -2.2456,-4.00025 -4.98812,-7.68322 -8.15542,-10.95883 z m -79.43034,3.7379 c -5.19303,6.47823 -8.90462,14.184 -10.59776,22.61852 0.9656,-0.37149 1.99903,-0.57343 3.07949,-0.57343 h 8.21916 c 0.71884,-2.67729 1.68478,-5.25235 2.88838,-7.68817 -2.16051,-1.62603 -3.58927,-4.2007 -3.58927,-7.05104 z m 94.31826,34.15079 c -1.57223,1.41552 -3.62998,2.29372 -5.8617,2.29372 h -5.16089 c -1.47762,18.60505 -14.93392,33.7392 -32.70661,37.69754 1.11661,2.81747 2.50758,5.70686 4.22641,8.70761 0.23154,0.40373 0.41273,0.84609 0.53091,1.29553 22.09166,-6.06945 38.47814,-26.12789 38.97188,-49.9944 z M 466.5918,576.20218 c 5.78205,15.79199 18.88916,28.08419 35.17023,32.77032 -1.62001,-4.30238 -2.54796,-8.5374 -2.99461,-12.65789 -8.75755,-4.02312 -15.89286,-10.93854 -20.15488,-19.56024 -0.22129,-0.1681 -0.44379,-0.33708 -0.65842,-0.50972 H 467.505 c -0.30712,0 -0.61322,-0.0107 -0.9132,-0.0425 z" + style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:Sans;-inkscape-font-specification:Sans;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-anchor:start;display:inline;overflow:visible;visibility:visible;fill:#808080;fill-opacity:1;stroke:none;stroke-width:19.11929131;marker:none;enable-background:accumulate" + inkscape:connector-curvature="0" /> + </g> + </g> +</svg> diff --git a/common/logo_gray_for_light_bg.svg b/common/logo_gray_for_light_bg.svg new file mode 100644 index 0000000..3baa989 --- /dev/null +++ b/common/logo_gray_for_light_bg.svg @@ -0,0 +1,71 @@ +<?xml version="1.0" encoding="UTF-8" standalone="no"?> +<!-- Created with Inkscape (http://www.inkscape.org/) --> + +<svg + xmlns:dc="http://purl.org/dc/elements/1.1/" + xmlns:cc="http://creativecommons.org/ns#" + xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" + xmlns:svg="http://www.w3.org/2000/svg" + xmlns="http://www.w3.org/2000/svg" + xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" + xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" + width="27.843424mm" + height="28.039988mm" + viewBox="0 0 27.843424 28.039988" + version="1.1" + id="svg358" + inkscape:version="0.92.0 r15299" + sodipodi:docname="logo_gray_for_dark_bg.svg"> + <defs + id="defs352" /> + <sodipodi:namedview + id="base" + pagecolor="#ffffff" + bordercolor="#666666" + borderopacity="1.0" + inkscape:pageopacity="0.0" + inkscape:pageshadow="2" + inkscape:zoom="0.35" + inkscape:cx="92.617493" + inkscape:cy="35.846097" + inkscape:document-units="mm" + inkscape:current-layer="layer1" + showgrid="false" + inkscape:window-width="1920" + inkscape:window-height="996" + inkscape:window-x="1912" + inkscape:window-y="-8" + inkscape:window-maximized="1" /> + <metadata + id="metadata355"> + <rdf:RDF> + <cc:Work + rdf:about=""> + <dc:format>image/svg+xml</dc:format> + <dc:type + rdf:resource="http://purl.org/dc/dcmitype/StillImage" /> + <dc:title></dc:title> + </cc:Work> + </rdf:RDF> + </metadata> + <g + inkscape:label="Layer 1" + inkscape:groupmode="layer" + id="layer1" + transform="translate(-81.328288,-130.27762)"> + <g + transform="matrix(0.26458333,0,0,0.26458333,12.155657,-6.2466961)" + id="g3396"> + <path + inkscape:connector-curvature="0" + id="path4330" + d="m 304.89331,515.99744 c -1.88254,0 -3.39809,1.51554 -3.39809,3.39809 v 11.5535 c 0,1.88254 1.51555,3.3981 3.39809,3.3981 h 10.02436 c 1.74459,8.83672 0.98864,12.73955 -2.27243,22.10881 -2.44635,-3.01808 -5.77858,-5.05676 -9.62088,-6.56256 -3.30171,-1.29393 -6.13185,-3.1686 -7.22094,-5.47942 0.20729,-0.43999 0.33981,-0.92388 0.33981,-1.44419 v -11.5535 c 0,-1.88254 -1.51555,-3.39809 -3.39809,-3.39809 h -11.5535 c -1.88254,0 -3.39809,1.51555 -3.39809,3.39809 v 11.5535 c 0,1.88254 1.51555,3.39809 3.39809,3.39809 h 11.5535 c 0.93067,0 1.7662,-0.37493 2.37867,-0.97695 0.65508,3.10723 3.13684,5.05233 7.22094,7.09352 3.68767,1.84306 6.58047,6.19865 8.00678,10.42788 -0.71924,2.02574 -1.47498,4.17962 -2.33619,6.68999 -1.6147,4.82304 -3.65064,10.41342 -5.09713,16.54445 -1.62415,-0.93974 -3.38457,-1.59082 -5.22457,-1.93267 -0.78557,-0.51895 -1.36854,-1.00252 -1.78399,-1.59285 -1.29868,-1.84521 -0.3984,-5.40302 -0.80705,-7.9218 h 4.50247 c 1.88247,0 3.39809,-1.51555 3.39809,-3.39809 v -11.5535 c 0,-1.88254 -1.51562,-3.39809 -3.39809,-3.39809 h -11.5323 c -1.88254,0 -3.39809,1.51555 -3.39809,3.39809 v 11.5535 c 0,1.88254 1.51555,3.39809 3.39809,3.39809 h 6.20151 c -0.10853,2.64774 -2.07698,6.72342 -0.38228,9.13237 0.0136,0.0197 0.0286,0.0439 0.0421,0.0637 -0.11444,5.4e-4 -0.22502,-0.002 -0.3398,0 -6.89839,0.1378 -10.79282,-0.93405 -14.78169,-3.41933 0.60201,-0.6125 0.97695,-1.46924 0.97695,-2.39989 v -11.53227 c 0,-1.88255 -1.51555,-3.39809 -3.39809,-3.39809 h -11.55351 c -1.88253,0 -3.39809,1.51554 -3.39809,3.39809 v 11.53227 c 0,1.88253 1.51556,3.39808 3.39809,3.39808 h 11.55351 c 0.24248,0 0.49422,-0.0159 0.72209,-0.0637 3.62406,3.49132 8.7231,6.1302 15.88607,7.07227 4.5022,0.59213 7.16236,1.51925 8.87751,2.82466 -1.49916,9.19351 -1.2142,19.39705 3.82285,30.00938 0.85679,0.12964 1.70013,0.29397 2.56977,0.38229 1.79066,0.18185 3.59837,0.27609 5.43694,0.27609 1.83865,0 3.66756,-0.0942 5.45822,-0.27609 0.65454,-0.0665 2.6446,-0.39852 3.29186,-0.48848 -8.7076,-15.20247 -10.0283,-28.81592 -7.34836,-41.73279 0.97592,-0.97351 2.12822,-1.70313 3.46183,-2.31494 3.18476,-1.46102 8.17989,-2.48945 11.89331,-2.82466 7.29659,-0.56278 14.84994,-2.84564 16.45947,-8.60142 0.6086,0.57726 1.44861,0.93448 2.35746,0.93448 h 11.53223 c 1.88255,0 3.39809,-1.51555 3.39809,-3.3981 v -11.5535 c 0,-1.88254 -1.51554,-3.39809 -3.39809,-3.39809 h -11.53223 c -1.88255,0 -3.39809,1.51555 -3.39809,3.39809 v 11.5535 c 0,0.33751 0.0577,0.64842 0.14863,0.95572 -0.854,3.96259 -5.87346,4.92168 -10.44913,5.26704 1.46058,-1.60593 2.23256,-3.18646 3.03708,-4.906 1.5878,-3.39367 0.81459,-7.73772 0.46724,-9.74826 -0.82846,-2.66953 -1.38928,-7.03298 -0.76458,-11.02255 h 4.6299 c 1.88255,0 3.39809,-1.51556 3.39809,-3.39809 V 528.8677 c 0,-1.88254 -1.51554,-3.39809 -3.39809,-3.39809 h -11.5535 c -1.88254,0 -3.39809,1.51555 -3.39809,3.39809 v 11.55351 c 0,1.88253 1.51555,3.39809 3.39809,3.39809 h 5.88291 c -1.32165,3.40891 -1.1699,7.36507 -0.44596,11.40483 0.30447,1.76223 -0.0913,5.348 -1.29556,7.9218 -1.1298,2.41485 -2.36868,4.00797 -7.73065,6.83866 -3.28038,0.23556 -7.25968,0.54126 -10.66151,1.86895 5.71654,-18.43701 2.72146,-30.54222 0.19117,-37.63385 1.44025,-0.39439 2.5061,-1.70188 2.5061,-3.27066 v -11.5535 c 0,-1.88255 -1.51555,-3.39809 -3.3981,-3.39809 h -11.5535 z" + style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:Sans;-inkscape-font-specification:Sans;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-anchor:start;display:inline;overflow:visible;visibility:visible;fill:#000000;fill-opacity:1;stroke:none;stroke-width:4.26666689;marker:none;enable-background:accumulate" /> + <path + inkscape:connector-curvature="0" + style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:Sans;-inkscape-font-specification:Sans;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-anchor:start;display:inline;overflow:visible;visibility:visible;fill:#808080;fill-opacity:1;stroke:none;stroke-width:19.11929131;marker:none;enable-background:accumulate" + d="m 324.92084,516.95315 c 0.23263,0.78043 0.36102,1.5965 0.36102,2.44238 v 3.18571 c 1.60076,-1.55804 3.75977,-2.54857 6.11655,-2.54857 h 3.18571 c -3.08139,-1.32675 -6.31576,-2.35449 -9.66328,-3.07952 z m -28.84129,1.82648 c -2.90856,1.02955 -5.69465,2.30297 -8.34659,3.80161 h 5.01218 c 1.16949,0 2.28183,0.24798 3.31314,0.67961 v -3.86532 c 0,-0.20704 0.006,-0.41198 0.021,-0.6159 z m 55.70739,13.14635 v 8.49523 c 0,0.8566 -0.16514,1.67435 -0.40348,2.46361 h 8.55891 c -2.2456,-4.00025 -4.98813,-7.68322 -8.15543,-10.95884 z m -79.43033,3.7379 c -5.19304,6.47823 -8.90463,14.184 -10.59776,22.61853 0.9656,-0.3715 1.99903,-0.57343 3.07949,-0.57343 h 8.21915 c 0.71884,-2.67729 1.68478,-5.25235 2.88839,-7.68817 -2.16051,-1.62604 -3.58927,-4.2007 -3.58927,-7.05104 z m 94.31825,34.1508 c -1.57223,1.41552 -3.62997,2.29371 -5.8617,2.29371 h -5.16088 c -1.47762,18.60506 -14.93392,33.7392 -32.70662,37.69755 1.11661,2.81746 2.50759,5.70686 4.22641,8.70761 0.23155,0.40373 0.41273,0.84609 0.53092,1.29553 22.09166,-6.06945 38.47813,-26.1279 38.97187,-49.9944 z m -102.74973,17.05416 c 5.78205,15.79199 18.88916,28.08419 35.17023,32.77033 -1.62001,-4.30238 -2.54796,-8.5374 -2.9946,-12.65789 -8.75756,-4.02313 -15.89287,-10.93854 -20.15488,-19.56025 -0.22129,-0.16809 -0.4438,-0.33707 -0.65842,-0.50971 h -10.44912 c -0.30713,0 -0.61323,-0.0107 -0.91321,-0.0425 z" + id="path4332" /> + </g> + </g> +</svg> diff --git a/common/logo_white_for_dark_bg.svg b/common/logo_white_for_dark_bg.svg new file mode 100644 index 0000000..99bc2e9 --- /dev/null +++ b/common/logo_white_for_dark_bg.svg @@ -0,0 +1,71 @@ +<?xml version="1.0" encoding="UTF-8" standalone="no"?> +<!-- Created with Inkscape (http://www.inkscape.org/) --> + +<svg + xmlns:dc="http://purl.org/dc/elements/1.1/" + xmlns:cc="http://creativecommons.org/ns#" + xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" + xmlns:svg="http://www.w3.org/2000/svg" + xmlns="http://www.w3.org/2000/svg" + xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" + xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" + width="27.843424mm" + height="28.039988mm" + viewBox="0 0 27.843424 28.039988" + version="1.1" + id="svg398" + inkscape:version="0.92.0 r15299" + sodipodi:docname="logo_white_for_dark_bg.svg"> + <defs + id="defs392" /> + <sodipodi:namedview + id="base" + pagecolor="#ffffff" + bordercolor="#666666" + borderopacity="1.0" + inkscape:pageopacity="0.0" + inkscape:pageshadow="2" + inkscape:zoom="0.35" + inkscape:cx="52.617495" + inkscape:cy="52.988954" + inkscape:document-units="mm" + inkscape:current-layer="layer1" + showgrid="false" + inkscape:window-width="1920" + inkscape:window-height="996" + inkscape:window-x="1912" + inkscape:window-y="-8" + inkscape:window-maximized="1" /> + <metadata + id="metadata395"> + <rdf:RDF> + <cc:Work + rdf:about=""> + <dc:format>image/svg+xml</dc:format> + <dc:type + rdf:resource="http://purl.org/dc/dcmitype/StillImage" /> + <dc:title></dc:title> + </cc:Work> + </rdf:RDF> + </metadata> + <g + inkscape:label="Layer 1" + inkscape:groupmode="layer" + id="layer1" + transform="translate(-91.911621,-134.81334)"> + <g + id="g4345" + transform="matrix(0.26458333,0,0,0.26458333,-76.038786,1.1112413)"> + <path + inkscape:connector-curvature="0" + id="path4341" + d="m 678.22665,505.33077 c -1.88254,0 -3.3981,1.51554 -3.3981,3.39809 v 11.55351 c 0,1.88254 1.51556,3.39809 3.3981,3.39809 h 10.02436 c 1.74458,8.83672 0.98864,12.73955 -2.27244,22.10881 -2.44635,-3.01808 -5.77858,-5.05676 -9.62087,-6.56256 -3.30172,-1.29393 -6.13185,-3.1686 -7.22094,-5.47941 0.20728,-0.43999 0.33981,-0.92389 0.33981,-1.4442 v -11.5535 c 0,-1.88254 -1.51556,-3.39809 -3.3981,-3.39809 h -11.5535 c -1.88254,0 -3.39809,1.51555 -3.39809,3.39809 v 11.5535 c 0,1.88254 1.51555,3.39809 3.39809,3.39809 h 11.5535 c 0.93067,0 1.7662,-0.37493 2.37867,-0.97694 0.65508,3.10723 3.13684,5.05233 7.22094,7.09351 3.68767,1.84306 6.58047,6.19866 8.00678,10.42788 -0.71924,2.02574 -1.47497,4.17962 -2.33619,6.69 -1.6147,4.82304 -3.65063,10.41342 -5.09713,16.54445 -1.62415,-0.93975 -3.38456,-1.59083 -5.22456,-1.93268 -0.78557,-0.51895 -1.36855,-1.00251 -1.78399,-1.59285 -1.29869,-1.84521 -0.3984,-5.40302 -0.80705,-7.92179 h 4.50246 c 1.88247,0 3.39809,-1.51555 3.39809,-3.39809 v -11.55351 c 0,-1.88254 -1.51562,-3.39809 -3.39809,-3.39809 h -11.5323 c -1.88254,0 -3.39809,1.51555 -3.39809,3.39809 v 11.55351 c 0,1.88254 1.51555,3.39809 3.39809,3.39809 h 6.20152 c -0.10854,2.64773 -2.07699,6.72341 -0.38229,9.13236 0.0136,0.0197 0.0286,0.0439 0.0421,0.0637 -0.11445,5.4e-4 -0.22503,-0.002 -0.33981,0 -6.89839,0.1378 -10.79281,-0.93405 -14.78169,-3.41933 0.60201,-0.6125 0.97695,-1.46923 0.97695,-2.39989 v -11.53227 c 0,-1.88255 -1.51555,-3.39809 -3.39809,-3.39809 h -11.5535 c -1.88254,0 -3.39809,1.51554 -3.39809,3.39809 v 11.53227 c 0,1.88254 1.51555,3.39808 3.39809,3.39808 h 11.5535 c 0.24249,0 0.49422,-0.0159 0.72209,-0.0637 3.62407,3.49133 8.72311,6.13021 15.88607,7.07228 4.5022,0.59212 7.16236,1.51924 8.87752,2.82466 -1.49917,9.1935 -1.21421,19.39704 3.82284,30.00937 0.85679,0.12965 1.70013,0.29398 2.56978,0.3823 1.79065,0.18184 3.59836,0.27608 5.43693,0.27608 1.83865,0 3.66757,-0.0942 5.45822,-0.27608 0.65454,-0.0665 2.6446,-0.39853 3.29186,-0.48848 -8.7076,-15.20248 -10.02829,-28.81593 -7.34836,-41.73279 0.97593,-0.97352 2.12823,-1.70314 3.46184,-2.31495 3.18475,-1.46102 8.17988,-2.48945 11.89331,-2.82466 7.29658,-0.56278 14.84993,-2.84564 16.45946,-8.60142 0.6086,0.57726 1.44861,0.93448 2.35747,0.93448 h 11.53222 c 1.88255,0 3.39809,-1.51554 3.39809,-3.39809 v -11.55351 c 0,-1.88253 -1.51554,-3.39809 -3.39809,-3.39809 h -11.53222 c -1.88255,0 -3.39809,1.51556 -3.39809,3.39809 v 11.55351 c 0,0.3375 0.0577,0.64841 0.14862,0.95571 -0.854,3.96259 -5.87346,4.92169 -10.44913,5.26704 1.46058,-1.60593 2.23256,-3.18645 3.03708,-4.90599 1.5878,-3.39368 0.81459,-7.73772 0.46724,-9.74827 -0.82845,-2.66953 -1.38928,-7.03297 -0.76457,-11.02255 h 4.6299 c 1.88255,0 3.39809,-1.51555 3.39809,-3.39809 v -11.55351 c 0,-1.88253 -1.51554,-3.39809 -3.39809,-3.39809 H 704.7314 c -1.88254,0 -3.39809,1.51556 -3.39809,3.39809 v 11.55351 c 0,1.88254 1.51555,3.39809 3.39809,3.39809 h 5.88291 c -1.32165,3.40892 -1.16989,7.36508 -0.44596,11.40483 0.30447,1.76223 -0.0913,5.348 -1.29556,7.9218 -1.12979,2.41485 -2.36867,4.00797 -7.73065,6.83866 -3.28038,0.23556 -7.25968,0.54126 -10.66151,1.86895 5.71654,-18.437 2.72146,-30.54222 0.19118,-37.63385 1.44024,-0.39439 2.50609,-1.70187 2.50609,-3.27065 v -11.55351 c 0,-1.88255 -1.51554,-3.39809 -3.39809,-3.39809 H 678.2263 Z" + style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:Sans;-inkscape-font-specification:Sans;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-anchor:start;display:inline;overflow:visible;visibility:visible;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:4.26666689;marker:none;enable-background:accumulate" /> + <path + inkscape:connector-curvature="0" + style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:Sans;-inkscape-font-specification:Sans;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-anchor:start;display:inline;overflow:visible;visibility:visible;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:19.11929131;marker:none;enable-background:accumulate" + d="m 698.25418,506.28649 c 0.23263,0.78042 0.36101,1.5965 0.36101,2.44237 v 3.18571 c 1.60077,-1.55804 3.75978,-2.54856 6.11655,-2.54856 h 3.18571 c -3.08139,-1.32676 -6.31575,-2.3545 -9.66327,-3.07952 z m -28.84129,1.82647 c -2.90857,1.02956 -5.69466,2.30298 -8.3466,3.80161 h 5.01218 c 1.1695,0 2.28183,0.24798 3.31315,0.67962 v -3.86533 c 0,-0.20704 0.006,-0.41197 0.021,-0.6159 z m 55.70739,13.14636 v 8.49522 c 0,0.85661 -0.16514,1.67436 -0.40349,2.46361 h 8.55891 c -2.2456,-4.00025 -4.98813,-7.68322 -8.15542,-10.95883 z m -79.43034,3.7379 c -5.19303,6.47823 -8.90463,14.184 -10.59776,22.61852 0.9656,-0.37149 1.99903,-0.57343 3.07949,-0.57343 h 8.21916 c 0.71883,-2.67729 1.68478,-5.25235 2.88838,-7.68817 -2.16051,-1.62603 -3.58927,-4.2007 -3.58927,-7.05104 z m 94.31825,34.15079 c -1.57222,1.41552 -3.62997,2.29372 -5.86169,2.29372 h -5.16089 c -1.47762,18.60505 -14.93392,33.7392 -32.70661,37.69754 1.11661,2.81747 2.50758,5.70686 4.22641,8.70761 0.23154,0.40373 0.41272,0.84609 0.53091,1.29553 22.09166,-6.06945 38.47813,-26.12789 38.97187,-49.9944 z m -102.74973,17.05417 c 5.78205,15.79199 18.88917,28.08419 35.17023,32.77032 -1.62001,-4.30238 -2.54795,-8.5374 -2.9946,-12.65789 -8.75756,-4.02312 -15.89286,-10.93854 -20.15488,-19.56024 -0.22129,-0.1681 -0.4438,-0.33708 -0.65842,-0.50972 h -10.44912 c -0.30713,0 -0.61323,-0.0107 -0.91321,-0.0425 z" + id="path4343" /> + </g> + </g> +</svg> diff --git a/common/mdexceptions.h b/common/mdexceptions.h index 65c9944..36e4045 100644 --- a/common/mdexceptions.h +++ b/common/mdexceptions.h @@ -17,7 +17,7 @@ // You should have received a copy of the GNU General Public License // along with this program; if not, write to the Free Software // Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA -//
+// // This general purpose header is derived from a file // created by www.daccord.net und published // here under GPL with friendly permission of D'accord. diff --git a/common/name_plus_logo_black_for_light_bg.svg b/common/name_plus_logo_black_for_light_bg.svg new file mode 100644 index 0000000..7e497c9 --- /dev/null +++ b/common/name_plus_logo_black_for_light_bg.svg @@ -0,0 +1,91 @@ +<?xml version="1.0" encoding="UTF-8" standalone="no"?> +<!-- Created with Inkscape (http://www.inkscape.org/) --> + +<svg + xmlns:dc="http://purl.org/dc/elements/1.1/" + xmlns:cc="http://creativecommons.org/ns#" + xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" + xmlns:svg="http://www.w3.org/2000/svg" + xmlns="http://www.w3.org/2000/svg" + xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" + xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" + width="81.673546mm" + height="28.039989mm" + viewBox="0 0 81.673546 28.039989" + version="1.1" + id="svg169" + inkscape:version="0.92.0 r15299" + sodipodi:docname="name_plus_logo_black_for_light_bg.svg"> + <defs + id="defs163" /> + <sodipodi:namedview + id="base" + pagecolor="#ffffff" + bordercolor="#666666" + borderopacity="1.0" + inkscape:pageopacity="0.0" + inkscape:pageshadow="2" + inkscape:zoom="0.35" + inkscape:cx="327.24066" + inkscape:cy="212.37374" + inkscape:document-units="mm" + inkscape:current-layer="layer1" + showgrid="false" + inkscape:window-width="1920" + inkscape:window-height="1058" + inkscape:window-x="-8" + inkscape:window-y="-8" + inkscape:window-maximized="1" /> + <metadata + id="metadata166"> + <rdf:RDF> + <cc:Work + rdf:about=""> + <dc:format>image/svg+xml</dc:format> + <dc:type + rdf:resource="http://purl.org/dc/dcmitype/StillImage" /> + <dc:title></dc:title> + </cc:Work> + </rdf:RDF> + </metadata> + <g + inkscape:label="Layer 1" + inkscape:groupmode="layer" + id="layer1" + transform="translate(-21.151323,-179.41453)"> + <g + transform="matrix(0.1685771,0,0,0.1685771,288.22927,259.60169)" + id="g4238" + style="fill:#000000"> + <path + style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:Sans;-inkscape-font-specification:Sans;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-anchor:start;display:inline;overflow:visible;visibility:visible;fill:#000000;fill-opacity:1;stroke:none;stroke-width:19.11929131;marker:none;enable-background:accumulate" + d="m -1484.6734,-474.17046 c 0.3651,1.22488 0.5666,2.50572 0.5666,3.83333 v 5 c 2.5125,-2.44534 5.901,-4 9.6,-4 h 5 c -4.8362,-2.08235 -9.9126,-3.6954 -15.1666,-4.83333 z m -45.2667,2.86666 c -4.565,1.61591 -8.9378,3.61455 -13.1,5.96667 h 7.8667 c 1.8355,0 3.5813,0.3892 5.2,1.06667 v -6.06667 c 0,-0.32495 0.011,-0.6466 0.033,-0.96667 z m 87.4333,20.63334 v 13.33333 c 0,1.34446 -0.2592,2.62792 -0.6333,3.86667 h 13.4333 c -3.5245,-6.27844 -7.8289,-12.05889 -12.8,-17.2 z m -124.6666,5.86666 c -8.1505,10.16764 -13.9759,22.26192 -16.6333,35.5 1.5155,-0.58307 3.1375,-0.9 4.8333,-0.9 h 12.9 c 1.1282,-4.20203 2.6443,-8.24361 4.5333,-12.06666 -3.3909,-2.55209 -5.6333,-6.59305 -5.6333,-11.06667 z m -13.2333,80.36667 c 9.075,24.78567 29.6467,44.0784 55.2,51.43333 -2.5426,-6.75262 -3.9991,-13.39953 -4.7001,-19.86666 -13.745,-6.31435 -24.944,-17.16814 -31.6333,-30.7 -0.3473,-0.26383 -0.6964,-0.52905 -1.0333,-0.8 h -16.4 c -0.4821,0 -0.9625,-0.0162 -1.4333,-0.0667 z" + id="path4240" + inkscape:connector-curvature="0" + sodipodi:nodetypes="cscsccccscsccscccccsccsccccccsc" /> + <path + style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:Sans;-inkscape-font-specification:Sans;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-anchor:start;display:inline;overflow:visible;visibility:visible;fill:#000000;fill-opacity:1;stroke:none;stroke-width:4.26666689;marker:none;enable-background:accumulate" + d="m -1516.1068,-475.67046 c -2.9546,0 -5.3333,2.37866 -5.3333,5.33333 v 18.13333 c 0,2.95467 2.3787,5.33334 5.3333,5.33334 h 15.7334 c 2.7381,13.86933 1.5516,19.99484 -3.5667,34.7 -3.8395,-4.73691 -9.0695,-7.93663 -15.1,-10.3 -5.1821,-2.03085 -9.624,-4.97315 -11.3333,-8.6 0.3253,-0.69057 0.5333,-1.45004 0.5333,-2.26667 v -18.13333 c 0,-2.95467 -2.3787,-5.33334 -5.3333,-5.33334 h -18.1334 c -2.9546,0 -5.3333,2.37867 -5.3333,5.33334 v 18.13333 c 0,2.95467 2.3787,5.33333 5.3333,5.33333 h 18.1334 c 1.4607,0 2.772,-0.58846 3.7333,-1.53333 1.0282,4.87683 4.9233,7.92967 11.3333,11.13333 5.7879,2.89272 10.3281,9.72886 12.5667,16.36667 -1.1288,3.17941 -2.3149,6.55995 -3.6666,10.5 -2.5343,7.56981 -5.7297,16.34396 -8,25.96667 -2.5491,-1.47494 -5.3121,-2.49681 -8.2,-3.03334 -1.233,-0.8145 -2.148,-1.57347 -2.8,-2.5 -2.0383,-2.89606 -0.6253,-8.48009 -1.2667,-12.43333 h 7.0667 c 2.9546,0 5.3333,-2.37867 5.3333,-5.33333 v -18.13334 c 0,-2.95466 -2.3787,-5.33333 -5.3333,-5.33333 h -18.1001 c -2.9546,0 -5.3333,2.37867 -5.3333,5.33333 v 18.13334 c 0,2.95466 2.3787,5.33333 5.3333,5.33333 h 9.7334 c -0.1704,4.15564 -3.2599,10.55246 -0.6,14.33333 0.021,0.0309 0.045,0.0689 0.066,0.0999 -0.1796,8.4e-4 -0.3532,-0.003 -0.5333,0 -10.8271,0.21628 -16.9395,-1.46601 -23.2,-5.36667 0.9448,-0.96133 1.5333,-2.30598 1.5333,-3.76666 v -18.1 c 0,-2.95467 -2.3787,-5.33334 -5.3333,-5.33334 h -18.1334 c -2.9546,0 -5.3333,2.37867 -5.3333,5.33334 v 18.1 c 0,2.95466 2.3787,5.33333 5.3333,5.33333 h 18.1334 c 0.3805,0 0.7756,-0.025 1.1333,-0.1 5.688,5.47967 13.691,9.62142 24.9333,11.1 7.0663,0.92935 11.2414,2.38446 13.9334,4.43334 -2.353,14.42928 -1.9057,30.44384 6,47.1 1.3447,0.20347 2.6683,0.46138 4.0333,0.6 2.8104,0.2854 5.6476,0.43333 8.5334,0.43333 2.8856,0 5.7562,-0.14793 8.5666,-0.43333 1.0273,-0.10432 4.1507,-0.62549 5.1667,-0.76667 -13.6668,-23.86043 -15.7396,-45.22686 -11.5333,-65.5 1.5316,-1.52794 3.3401,-2.6731 5.4333,-3.63333 4.9985,-2.29309 12.8384,-3.90721 18.6666,-4.43334 11.4521,-0.88328 23.3071,-4.46626 25.8334,-13.5 0.9551,0.90602 2.2735,1.46667 3.7,1.46667 h 18.1 c 2.9547,0 5.3333,-2.37867 5.3333,-5.33333 v -18.13334 c 0,-2.95466 -2.3786,-5.33333 -5.3333,-5.33333 h -18.1 c -2.9547,0 -5.3334,2.37867 -5.3334,5.33333 v 18.13334 c 0,0.52971 0.091,1.01769 0.2334,1.5 -1.3405,6.21931 -9.2185,7.72461 -16.4,8.26666 2.2923,-2.52053 3.5039,-5.00117 4.7666,-7.7 2.4922,-5.32641 1.2785,-12.14442 0.7334,-15.3 -1.3003,-4.18985 -2.1804,-11.03831 -1.2,-17.3 h 7.2666 c 2.9547,0 5.3334,-2.37866 5.3334,-5.33333 v -18.13333 c 0,-2.95467 -2.3787,-5.33334 -5.3334,-5.33334 h -18.1333 c -2.9547,0 -5.3333,2.37867 -5.3333,5.33334 v 18.13333 c 0,2.95467 2.3786,5.33333 5.3333,5.33333 h 9.2334 c -2.0745,5.35033 -1.8363,11.55957 -0.7001,17.9 0.4779,2.76583 -0.1432,8.39373 -2.0333,12.43334 -1.7733,3.79012 -3.7177,6.29053 -12.1333,10.73333 -5.1487,0.36973 -11.3942,0.84951 -16.7333,2.93333 8.972,-28.93704 4.2712,-47.9363 0.2999,-59.06666 2.2605,-0.61901 3.9334,-2.67112 3.9334,-5.13334 v -18.13333 c 0,-2.95467 -2.3787,-5.33333 -5.3334,-5.33333 h -18.1333 z" + id="path4242" + inkscape:connector-curvature="0" /> + <text + id="text4244" + y="-320.66043" + x="-1492.1542" + style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:72.24536896px;line-height:125%;font-family:'Arial Rounded MT Bold';-inkscape-font-specification:'Arial Rounded MT Bold,';text-align:start;letter-spacing:0;word-spacing:0;writing-mode:lr-tb;text-anchor:start;fill:#000000;stroke:none;stroke-width:1.06666672" + xml:space="preserve" + transform="scale(0.99591644,1.0041003)"><tspan + y="-320.66043" + x="-1492.1542" + id="tspan4246" + sodipodi:role="line" + style="stroke-width:1.06666672"><tspan + style="fill:#000000;stroke:none;stroke-width:1.06666672" + id="tspan4248">W</tspan>in<tspan + style="fill:#000000;stroke:none;stroke-width:1.06666672" + id="tspan4250">D</tspan>ir<tspan + style="fill:#000000;stroke:none;stroke-width:1.06666672" + id="tspan4252">S</tspan>tat</tspan></text> + </g> + </g> +</svg> diff --git a/common/name_plus_logo_gray_for_dark_bg.svg b/common/name_plus_logo_gray_for_dark_bg.svg new file mode 100644 index 0000000..f3dffb5 --- /dev/null +++ b/common/name_plus_logo_gray_for_dark_bg.svg @@ -0,0 +1,91 @@ +<?xml version="1.0" encoding="UTF-8" standalone="no"?> +<!-- Created with Inkscape (http://www.inkscape.org/) --> + +<svg + xmlns:dc="http://purl.org/dc/elements/1.1/" + xmlns:cc="http://creativecommons.org/ns#" + xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" + xmlns:svg="http://www.w3.org/2000/svg" + xmlns="http://www.w3.org/2000/svg" + xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" + xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" + width="81.673553mm" + height="28.039991mm" + viewBox="0 0 81.673553 28.039991" + version="1.1" + id="svg285" + inkscape:version="0.92.0 r15299" + sodipodi:docname="name_plus_logo_gray_for_light_bg.svg"> + <defs + id="defs279" /> + <sodipodi:namedview + id="base" + pagecolor="#ffffff" + bordercolor="#666666" + borderopacity="1.0" + inkscape:pageopacity="0.0" + inkscape:pageshadow="2" + inkscape:zoom="0.35" + inkscape:cx="282.91517" + inkscape:cy="38.70327" + inkscape:document-units="mm" + inkscape:current-layer="layer1" + showgrid="false" + inkscape:pagecheckerboard="true" + inkscape:window-width="1920" + inkscape:window-height="1058" + inkscape:window-x="-8" + inkscape:window-y="-8" + inkscape:window-maximized="1" /> + <metadata + id="metadata282"> + <rdf:RDF> + <cc:Work + rdf:about=""> + <dc:format>image/svg+xml</dc:format> + <dc:type + rdf:resource="http://purl.org/dc/dcmitype/StillImage" /> + <dc:title></dc:title> + </cc:Work> + </rdf:RDF> + </metadata> + <g + inkscape:label="Layer 1" + inkscape:groupmode="layer" + id="layer1" + transform="translate(-30.978695,-131.03358)"> + <g + id="g4262" + transform="matrix(0.1685771,0,0,0.1685771,298.29973,165.56615)"> + <path + style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:Sans;-inkscape-font-specification:Sans;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-anchor:start;display:inline;overflow:visible;visibility:visible;fill:#808080;fill-opacity:1;stroke:none;stroke-width:19.11929131;marker:none;enable-background:accumulate" + d="m -1486.1153,-203.34727 c 0.3651,1.22488 0.5666,2.50572 0.5666,3.83333 v 5 c 2.5124,-2.44535 5.9011,-4 9.6,-4 h 5 c -4.8363,-2.08235 -9.9126,-3.6954 -15.1666,-4.83333 z m -45.2667,2.86666 c -4.565,1.61591 -8.9377,3.61455 -13.1,5.96667 h 7.8666 c 1.8357,0 3.5814,0.3892 5.2,1.06667 v -6.06667 c 0,-0.32495 0.011,-0.6466 0.033,-0.96667 z m 87.4333,20.63334 v 13.33333 c 0,1.34446 -0.2592,2.62792 -0.6333,3.86667 h 13.4333 c -3.5245,-6.27844 -7.8289,-12.0589 -12.8,-17.2 z m -124.6667,5.86666 c -8.1505,10.16764 -13.9759,22.26192 -16.6332,35.5 1.5155,-0.58307 3.1375,-0.9 4.8332,-0.9 h 12.9001 c 1.1282,-4.20204 2.6444,-8.24361 4.5333,-12.06666 -3.3909,-2.55209 -5.6334,-6.59305 -5.6334,-11.06667 z m -13.2332,80.366669 c 9.0751,24.785674 29.6468,44.0784 55.2,51.433333 -2.5427,-6.752619 -3.999,-13.399531 -4.7001,-19.866667 -13.7451,-6.314346 -24.944,-17.168138 -31.6333,-30.7 -0.3473,-0.263829 -0.6964,-0.529045 -1.0334,-0.8 h -16.4 c -0.482,0 -0.9624,-0.01621 -1.4332,-0.06667 z" + id="path4336" + inkscape:connector-curvature="0" + sodipodi:nodetypes="cscsccccscsccscccccsccsccccccsc" /> + <path + style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:Sans;-inkscape-font-specification:Sans;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-anchor:start;display:inline;overflow:visible;visibility:visible;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:4.26666689;marker:none;enable-background:accumulate" + d="m -1517.5487,-204.84727 c -2.9547,0 -5.3333,2.37866 -5.3333,5.33333 v 18.13333 c 0,2.95467 2.3786,5.33334 5.3333,5.33334 h 15.7333 c 2.7382,13.86933 1.5518,19.99484 -3.5666,34.7 -3.8395,-4.73691 -9.0694,-7.93663 -15.1,-10.3 -5.182,-2.03085 -9.624,-4.97315 -11.3334,-8.6 0.3255,-0.69058 0.5334,-1.45004 0.5334,-2.26667 v -18.13333 c 0,-2.95467 -2.3787,-5.33334 -5.3334,-5.33334 h -18.1333 c -2.9547,0 -5.3333,2.37867 -5.3333,5.33334 v 18.13333 c 0,2.95467 2.3786,5.33333 5.3333,5.33333 h 18.1333 c 1.4607,0 2.7721,-0.58846 3.7334,-1.53333 1.0281,4.87683 4.9233,7.92967 11.3333,11.13333 5.788,2.89272 10.3282,9.72886 12.5667,16.36667 -1.1288,3.17941 -2.315,6.55995 -3.6666,10.5 -2.5342,7.56981 -5.7297,16.34396 -8,25.966665 -2.5491,-1.474933 -5.312,-2.49681 -8.2,-3.033333 -1.2329,-0.814507 -2.148,-1.573472 -2.8,-2.500002 -2.0383,-2.89606 -0.6253,-8.48009 -1.2667,-12.43333 h 7.0667 c 2.9546,0 5.3333,-2.37867 5.3333,-5.33333 v -18.13334 c 0,-2.95466 -2.3787,-5.33333 -5.3333,-5.33333 h -18.1001 c -2.9547,0 -5.3333,2.37867 -5.3333,5.33333 v 18.13334 c 0,2.95466 2.3786,5.33333 5.3333,5.33333 h 9.7333 c -0.1702,4.15564 -3.2598,10.55246 -0.6,14.333332 0.021,0.03093 0.045,0.06891 0.066,0.09995 -0.1797,8.42e-4 -0.3532,-0.0032 -0.5334,0 -10.8271,0.216277 -16.9393,-1.466006 -23.2,-5.366672 0.945,-0.96133 1.5334,-2.30598 1.5334,-3.76666 v -18.1 c 0,-2.95467 -2.3787,-5.33334 -5.3334,-5.33334 h -18.1333 c -2.9547,0 -5.3333,2.37867 -5.3333,5.33334 v 18.1 c 0,2.95466 2.3786,5.33333 5.3333,5.33333 h 18.1333 c 0.3807,0 0.7757,-0.025 1.1334,-0.1 5.688,5.479674 13.6911,9.621424 24.9333,11.100005 7.0664,0.929344 11.2414,2.384459 13.9333,4.433333 -2.3528,14.42928 -1.9056,30.44384 6,47.1 1.3448,0.203478 2.6685,0.461387 4.0334,0.6 2.8104,0.285408 5.6476,0.433334 8.5334,0.433334 2.8856,0 5.7562,-0.147926 8.5666,-0.433334 1.0273,-0.10432 4.1507,-0.625482 5.1667,-0.766666 -13.6668,-23.860427 -15.7395,-45.226859 -11.5333,-65.500002 1.5317,-1.52794 3.3401,-2.6731 5.4332,-3.63333 4.9987,-2.29309 12.8385,-3.90722 18.6667,-4.43334 11.4521,-0.88328 23.3072,-4.46626 25.8334,-13.5 0.9551,0.90602 2.2735,1.46667 3.6999,1.46667 h 18.1001 c 2.9547,0 5.3333,-2.37867 5.3333,-5.33333 v -18.13334 c 0,-2.95466 -2.3786,-5.33333 -5.3333,-5.33333 h -18.1001 c -2.9546,0 -5.3333,2.37867 -5.3333,5.33333 v 18.13334 c 0,0.52971 0.091,1.01769 0.2334,1.5 -1.3405,6.21931 -9.2186,7.72461 -16.4,8.26666 2.2924,-2.52053 3.5039,-5.00117 4.7666,-7.7 2.4922,-5.32641 1.2786,-12.14442 0.7333,-15.3 -1.3001,-4.18985 -2.1803,-11.03831 -1.2,-17.3 h 7.2667 c 2.9547,0 5.3333,-2.37866 5.3333,-5.33333 v -18.13333 c 0,-2.95467 -2.3786,-5.33334 -5.3333,-5.33334 h -18.1333 c -2.9547,0 -5.3334,2.37867 -5.3334,5.33334 v 18.13333 c 0,2.95467 2.3787,5.33333 5.3334,5.33333 h 9.2334 c -2.0744,5.35033 -1.8362,11.55956 -0.7001,17.9 0.4779,2.76583 -0.1432,8.39373 -2.0333,12.43334 -1.7733,3.79012 -3.7177,6.29053 -12.1333,10.73333 -5.1487,0.36973 -11.3942,0.84951 -16.7333,2.93333 8.9721,-28.93704 4.2713,-47.9363 0.2999,-59.06666 2.2606,-0.61901 3.9333,-2.67112 3.9333,-5.13334 v -18.13333 c 0,-2.95467 -2.3786,-5.33333 -5.3333,-5.33333 h -18.1333 z" + id="path4338" + inkscape:connector-curvature="0" /> + <text + id="text4340" + y="-50.943245" + x="-1493.6021" + style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:72.24536896px;line-height:125%;font-family:'Arial Rounded MT Bold';-inkscape-font-specification:'Arial Rounded MT Bold,';text-align:start;letter-spacing:0;word-spacing:0;writing-mode:lr-tb;text-anchor:start;fill:#ffffff;stroke:none;stroke-width:1.06666672" + xml:space="preserve" + transform="scale(0.99591644,1.0041003)"><tspan + y="-50.943245" + x="-1493.6021" + id="tspan4342" + sodipodi:role="line" + style="stroke-width:1.06666672"><tspan + style="fill:#ffffff;stroke:none;stroke-width:1.06666672" + id="tspan4344">W</tspan>in<tspan + style="fill:#ffffff;stroke:none;stroke-width:1.06666672" + id="tspan4346">D</tspan>ir<tspan + style="fill:#ffffff;stroke:none;stroke-width:1.06666672" + id="tspan4348">S</tspan>tat</tspan></text> + </g> + </g> +</svg> diff --git a/common/name_plus_logo_gray_for_light_bg.svg b/common/name_plus_logo_gray_for_light_bg.svg new file mode 100644 index 0000000..48d7dfa --- /dev/null +++ b/common/name_plus_logo_gray_for_light_bg.svg @@ -0,0 +1,90 @@ +<?xml version="1.0" encoding="UTF-8" standalone="no"?> +<!-- Created with Inkscape (http://www.inkscape.org/) --> + +<svg + xmlns:dc="http://purl.org/dc/elements/1.1/" + xmlns:cc="http://creativecommons.org/ns#" + xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" + xmlns:svg="http://www.w3.org/2000/svg" + xmlns="http://www.w3.org/2000/svg" + xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" + xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" + width="81.673546mm" + height="28.039989mm" + viewBox="0 0 81.673546 28.039989" + version="1.1" + id="svg197" + inkscape:version="0.92.0 r15299" + sodipodi:docname="name_plus_logo_gray_for_light_bg.svg"> + <defs + id="defs191" /> + <sodipodi:namedview + id="base" + pagecolor="#ffffff" + bordercolor="#666666" + borderopacity="1.0" + inkscape:pageopacity="0.0" + inkscape:pageshadow="2" + inkscape:zoom="0.35" + inkscape:cx="262.91513" + inkscape:cy="98.703245" + inkscape:document-units="mm" + inkscape:current-layer="layer1" + showgrid="false" + inkscape:window-width="1920" + inkscape:window-height="1058" + inkscape:window-x="-8" + inkscape:window-y="-8" + inkscape:window-maximized="1" /> + <metadata + id="metadata194"> + <rdf:RDF> + <cc:Work + rdf:about=""> + <dc:format>image/svg+xml</dc:format> + <dc:type + rdf:resource="http://purl.org/dc/dcmitype/StillImage" /> + <dc:title></dc:title> + </cc:Work> + </rdf:RDF> + </metadata> + <g + inkscape:label="Layer 1" + inkscape:groupmode="layer" + id="layer1" + transform="translate(-36.270373,-146.90858)"> + <g + id="g4167" + transform="matrix(0.1685771,0,0,0.1685771,303.34832,227.09574)"> + <path + sodipodi:nodetypes="cscsccccscsccscccccsccsccccccsc" + inkscape:connector-curvature="0" + id="path4294" + d="m -1484.6734,-474.17046 c 0.3651,1.22488 0.5666,2.50572 0.5666,3.83333 v 5 c 2.5125,-2.44534 5.901,-4 9.6,-4 h 5 c -4.8362,-2.08235 -9.9126,-3.6954 -15.1666,-4.83333 z m -45.2667,2.86666 c -4.565,1.61591 -8.9378,3.61455 -13.1,5.96667 h 7.8667 c 1.8355,0 3.5813,0.3892 5.2,1.06667 v -6.06667 c 0,-0.32495 0.011,-0.6466 0.033,-0.96667 z m 87.4333,20.63334 v 13.33333 c 0,1.34446 -0.2592,2.62792 -0.6333,3.86667 h 13.4333 c -3.5245,-6.27844 -7.8289,-12.05889 -12.8,-17.2 z m -124.6666,5.86666 c -8.1505,10.16764 -13.9759,22.26192 -16.6333,35.5 1.5155,-0.58307 3.1375,-0.9 4.8333,-0.9 h 12.9 c 1.1282,-4.20203 2.6443,-8.24361 4.5333,-12.06666 -3.3909,-2.55209 -5.6333,-6.59305 -5.6333,-11.06667 z m -13.2333,80.36667 c 9.075,24.78567 29.6467,44.0784 55.2,51.43333 -2.5426,-6.75262 -3.9991,-13.39953 -4.7001,-19.86666 -13.745,-6.31435 -24.944,-17.16814 -31.6333,-30.7 -0.3473,-0.26383 -0.6964,-0.52905 -1.0333,-0.8 h -16.4 c -0.4821,0 -0.9625,-0.0162 -1.4333,-0.0667 z" + style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:Sans;-inkscape-font-specification:Sans;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-anchor:start;display:inline;overflow:visible;visibility:visible;fill:#808080;fill-opacity:1;stroke:none;stroke-width:19.11929131;marker:none;enable-background:accumulate" /> + <path + inkscape:connector-curvature="0" + id="path4296" + d="m -1516.1068,-475.67046 c -2.9546,0 -5.3333,2.37866 -5.3333,5.33333 v 18.13333 c 0,2.95467 2.3787,5.33334 5.3333,5.33334 h 15.7334 c 2.7381,13.86933 1.5516,19.99484 -3.5667,34.7 -3.8395,-4.73691 -9.0695,-7.93663 -15.1,-10.3 -5.1821,-2.03085 -9.624,-4.97315 -11.3333,-8.6 0.3253,-0.69057 0.5333,-1.45004 0.5333,-2.26667 v -18.13333 c 0,-2.95467 -2.3787,-5.33334 -5.3333,-5.33334 h -18.1334 c -2.9546,0 -5.3333,2.37867 -5.3333,5.33334 v 18.13333 c 0,2.95467 2.3787,5.33333 5.3333,5.33333 h 18.1334 c 1.4607,0 2.772,-0.58846 3.7333,-1.53333 1.0282,4.87683 4.9233,7.92967 11.3333,11.13333 5.7879,2.89272 10.3281,9.72886 12.5667,16.36667 -1.1288,3.17941 -2.3149,6.55995 -3.6666,10.5 -2.5343,7.56981 -5.7297,16.34396 -8,25.96667 -2.5491,-1.47494 -5.3121,-2.49681 -8.2,-3.03334 -1.233,-0.8145 -2.148,-1.57347 -2.8,-2.5 -2.0383,-2.89606 -0.6253,-8.48009 -1.2667,-12.43333 h 7.0667 c 2.9546,0 5.3333,-2.37867 5.3333,-5.33333 v -18.13334 c 0,-2.95466 -2.3787,-5.33333 -5.3333,-5.33333 h -18.1001 c -2.9546,0 -5.3333,2.37867 -5.3333,5.33333 v 18.13334 c 0,2.95466 2.3787,5.33333 5.3333,5.33333 h 9.7334 c -0.1704,4.15564 -3.2599,10.55246 -0.6,14.33333 0.021,0.0309 0.045,0.0689 0.066,0.0999 -0.1796,8.4e-4 -0.3532,-0.003 -0.5333,0 -10.8271,0.21628 -16.9395,-1.46601 -23.2,-5.36667 0.9448,-0.96133 1.5333,-2.30598 1.5333,-3.76666 v -18.1 c 0,-2.95467 -2.3787,-5.33334 -5.3333,-5.33334 h -18.1334 c -2.9546,0 -5.3333,2.37867 -5.3333,5.33334 v 18.1 c 0,2.95466 2.3787,5.33333 5.3333,5.33333 h 18.1334 c 0.3805,0 0.7756,-0.025 1.1333,-0.1 5.688,5.47967 13.691,9.62142 24.9333,11.1 7.0663,0.92935 11.2414,2.38446 13.9334,4.43334 -2.353,14.42928 -1.9057,30.44384 6,47.1 1.3447,0.20347 2.6683,0.46138 4.0333,0.6 2.8104,0.2854 5.6476,0.43333 8.5334,0.43333 2.8856,0 5.7562,-0.14793 8.5666,-0.43333 1.0273,-0.10432 4.1507,-0.62549 5.1667,-0.76667 -13.6668,-23.86043 -15.7396,-45.22686 -11.5333,-65.5 1.5316,-1.52794 3.3401,-2.6731 5.4333,-3.63333 4.9985,-2.29309 12.8384,-3.90721 18.6666,-4.43334 11.4521,-0.88328 23.3071,-4.46626 25.8334,-13.5 0.9551,0.90602 2.2735,1.46667 3.7,1.46667 h 18.1 c 2.9547,0 5.3333,-2.37867 5.3333,-5.33333 v -18.13334 c 0,-2.95466 -2.3786,-5.33333 -5.3333,-5.33333 h -18.1 c -2.9547,0 -5.3334,2.37867 -5.3334,5.33333 v 18.13334 c 0,0.52971 0.091,1.01769 0.2334,1.5 -1.3405,6.21931 -9.2185,7.72461 -16.4,8.26666 2.2923,-2.52053 3.5039,-5.00117 4.7666,-7.7 2.4922,-5.32641 1.2785,-12.14442 0.7334,-15.3 -1.3003,-4.18985 -2.1804,-11.03831 -1.2,-17.3 h 7.2666 c 2.9547,0 5.3334,-2.37866 5.3334,-5.33333 v -18.13333 c 0,-2.95467 -2.3787,-5.33334 -5.3334,-5.33334 h -18.1333 c -2.9547,0 -5.3333,2.37867 -5.3333,5.33334 v 18.13333 c 0,2.95467 2.3786,5.33333 5.3333,5.33333 h 9.2334 c -2.0745,5.35033 -1.8363,11.55957 -0.7001,17.9 0.4779,2.76583 -0.1432,8.39373 -2.0333,12.43334 -1.7733,3.79012 -3.7177,6.29053 -12.1333,10.73333 -5.1487,0.36973 -11.3942,0.84951 -16.7333,2.93333 8.972,-28.93704 4.2712,-47.9363 0.2999,-59.06666 2.2605,-0.61901 3.9334,-2.67112 3.9334,-5.13334 v -18.13333 c 0,-2.95467 -2.3787,-5.33333 -5.3334,-5.33333 h -18.1333 z" + style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:Sans;-inkscape-font-specification:Sans;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-anchor:start;display:inline;overflow:visible;visibility:visible;fill:#000000;fill-opacity:1;stroke:none;stroke-width:4.26666689;marker:none;enable-background:accumulate" /> + <text + transform="scale(0.99591644,1.0041003)" + xml:space="preserve" + style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:72.24536896px;line-height:125%;font-family:'Arial Rounded MT Bold';-inkscape-font-specification:'Arial Rounded MT Bold,';text-align:start;letter-spacing:0;word-spacing:0;writing-mode:lr-tb;text-anchor:start;fill:#000000;stroke:none;stroke-width:1.06666672" + x="-1492.1542" + y="-320.66043" + id="text4298"><tspan + sodipodi:role="line" + id="tspan4300" + x="-1492.1542" + y="-320.66043" + style="stroke-width:1.06666672"><tspan + id="tspan4302" + style="fill:#000000;stroke:none;stroke-width:1.06666672">W</tspan>in<tspan + id="tspan4304" + style="fill:#000000;stroke:none;stroke-width:1.06666672">D</tspan>ir<tspan + id="tspan4306" + style="fill:#000000;stroke:none;stroke-width:1.06666672">S</tspan>tat</tspan></text> + </g> + </g> +</svg> diff --git a/common/name_plus_logo_white_for_dark_bg.svg b/common/name_plus_logo_white_for_dark_bg.svg new file mode 100644 index 0000000..5dc469c --- /dev/null +++ b/common/name_plus_logo_white_for_dark_bg.svg @@ -0,0 +1,92 @@ +<?xml version="1.0" encoding="UTF-8" standalone="no"?> +<!-- Created with Inkscape (http://www.inkscape.org/) --> + +<svg + xmlns:dc="http://purl.org/dc/elements/1.1/" + xmlns:cc="http://creativecommons.org/ns#" + xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" + xmlns:svg="http://www.w3.org/2000/svg" + xmlns="http://www.w3.org/2000/svg" + xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" + xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" + width="81.673553mm" + height="28.039991mm" + viewBox="0 0 81.673553 28.039991" + version="1.1" + id="svg241" + inkscape:version="0.92.0 r15299" + sodipodi:docname="name_plus_logo_white_for_dark_bg.svg"> + <defs + id="defs235" /> + <sodipodi:namedview + id="base" + pagecolor="#ffffff" + bordercolor="#666666" + borderopacity="1.0" + inkscape:pageopacity="0.0" + inkscape:pageshadow="2" + inkscape:zoom="0.35" + inkscape:cx="248.62941" + inkscape:cy="124.41751" + inkscape:document-units="mm" + inkscape:current-layer="layer1" + showgrid="false" + inkscape:pagecheckerboard="true" + inkscape:window-width="1920" + inkscape:window-height="1058" + inkscape:window-x="-8" + inkscape:window-y="-8" + inkscape:window-maximized="1" /> + <metadata + id="metadata238"> + <rdf:RDF> + <cc:Work + rdf:about=""> + <dc:format>image/svg+xml</dc:format> + <dc:type + rdf:resource="http://purl.org/dc/dcmitype/StillImage" /> + <dc:title></dc:title> + </cc:Work> + </rdf:RDF> + </metadata> + <g + inkscape:label="Layer 1" + inkscape:groupmode="layer" + id="layer1" + transform="translate(-40.050135,-153.71214)"> + <g + id="g4271" + transform="matrix(0.1685771,0,0,0.1685771,307.37117,188.24471)" + style="fill:#ffffff"> + <path + sodipodi:nodetypes="cscsccccscsccscccccsccsccccccsc" + inkscape:connector-curvature="0" + id="path4273" + d="m -1486.1153,-203.34727 c 0.3651,1.22488 0.5666,2.50572 0.5666,3.83333 v 5 c 2.5124,-2.44535 5.9011,-4 9.6,-4 h 5 c -4.8363,-2.08235 -9.9126,-3.6954 -15.1666,-4.83333 z m -45.2667,2.86666 c -4.565,1.61591 -8.9377,3.61455 -13.1,5.96667 h 7.8666 c 1.8357,0 3.5814,0.3892 5.2,1.06667 v -6.06667 c 0,-0.32495 0.011,-0.6466 0.033,-0.96667 z m 87.4333,20.63334 v 13.33333 c 0,1.34446 -0.2592,2.62792 -0.6333,3.86667 h 13.4333 c -3.5245,-6.27844 -7.8289,-12.0589 -12.8,-17.2 z m -124.6667,5.86666 c -8.1505,10.16764 -13.9759,22.26192 -16.6332,35.5 1.5155,-0.58307 3.1375,-0.9 4.8332,-0.9 h 12.9001 c 1.1282,-4.20204 2.6444,-8.24361 4.5333,-12.06666 -3.3909,-2.55209 -5.6334,-6.59305 -5.6334,-11.06667 z m -13.2332,80.366669 c 9.0751,24.785674 29.6468,44.0784 55.2,51.433333 -2.5427,-6.752619 -3.999,-13.399531 -4.7001,-19.866667 -13.7451,-6.314346 -24.944,-17.168138 -31.6333,-30.7 -0.3473,-0.263829 -0.6964,-0.529045 -1.0334,-0.8 h -16.4 c -0.482,0 -0.9624,-0.01621 -1.4332,-0.06667 z" + style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:Sans;-inkscape-font-specification:Sans;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-anchor:start;display:inline;overflow:visible;visibility:visible;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:19.11929131;marker:none;enable-background:accumulate" /> + <path + inkscape:connector-curvature="0" + id="path4275" + d="m -1517.5487,-204.84727 c -2.9547,0 -5.3333,2.37866 -5.3333,5.33333 v 18.13333 c 0,2.95467 2.3786,5.33334 5.3333,5.33334 h 15.7333 c 2.7382,13.86933 1.5518,19.99484 -3.5666,34.7 -3.8395,-4.73691 -9.0694,-7.93663 -15.1,-10.3 -5.182,-2.03085 -9.624,-4.97315 -11.3334,-8.6 0.3255,-0.69058 0.5334,-1.45004 0.5334,-2.26667 v -18.13333 c 0,-2.95467 -2.3787,-5.33334 -5.3334,-5.33334 h -18.1333 c -2.9547,0 -5.3333,2.37867 -5.3333,5.33334 v 18.13333 c 0,2.95467 2.3786,5.33333 5.3333,5.33333 h 18.1333 c 1.4607,0 2.7721,-0.58846 3.7334,-1.53333 1.0281,4.87683 4.9233,7.92967 11.3333,11.13333 5.788,2.89272 10.3282,9.72886 12.5667,16.36667 -1.1288,3.17941 -2.315,6.55995 -3.6666,10.5 -2.5342,7.56981 -5.7297,16.34396 -8,25.966665 -2.5491,-1.474933 -5.312,-2.49681 -8.2,-3.033333 -1.2329,-0.814507 -2.148,-1.573472 -2.8,-2.500002 -2.0383,-2.89606 -0.6253,-8.48009 -1.2667,-12.43333 h 7.0667 c 2.9546,0 5.3333,-2.37867 5.3333,-5.33333 v -18.13334 c 0,-2.95466 -2.3787,-5.33333 -5.3333,-5.33333 h -18.1001 c -2.9547,0 -5.3333,2.37867 -5.3333,5.33333 v 18.13334 c 0,2.95466 2.3786,5.33333 5.3333,5.33333 h 9.7333 c -0.1702,4.15564 -3.2598,10.55246 -0.6,14.333332 0.021,0.03093 0.045,0.06891 0.066,0.09995 -0.1797,8.42e-4 -0.3532,-0.0032 -0.5334,0 -10.8271,0.216277 -16.9393,-1.466006 -23.2,-5.366672 0.945,-0.96133 1.5334,-2.30598 1.5334,-3.76666 v -18.1 c 0,-2.95467 -2.3787,-5.33334 -5.3334,-5.33334 h -18.1333 c -2.9547,0 -5.3333,2.37867 -5.3333,5.33334 v 18.1 c 0,2.95466 2.3786,5.33333 5.3333,5.33333 h 18.1333 c 0.3807,0 0.7757,-0.025 1.1334,-0.1 5.688,5.479674 13.6911,9.621424 24.9333,11.100005 7.0664,0.929344 11.2414,2.384459 13.9333,4.433333 -2.3528,14.42928 -1.9056,30.44384 6,47.1 1.3448,0.203478 2.6685,0.461387 4.0334,0.6 2.8104,0.285408 5.6476,0.433334 8.5334,0.433334 2.8856,0 5.7562,-0.147926 8.5666,-0.433334 1.0273,-0.10432 4.1507,-0.625482 5.1667,-0.766666 -13.6668,-23.860427 -15.7395,-45.226859 -11.5333,-65.500002 1.5317,-1.52794 3.3401,-2.6731 5.4332,-3.63333 4.9987,-2.29309 12.8385,-3.90722 18.6667,-4.43334 11.4521,-0.88328 23.3072,-4.46626 25.8334,-13.5 0.9551,0.90602 2.2735,1.46667 3.6999,1.46667 h 18.1001 c 2.9547,0 5.3333,-2.37867 5.3333,-5.33333 v -18.13334 c 0,-2.95466 -2.3786,-5.33333 -5.3333,-5.33333 h -18.1001 c -2.9546,0 -5.3333,2.37867 -5.3333,5.33333 v 18.13334 c 0,0.52971 0.091,1.01769 0.2334,1.5 -1.3405,6.21931 -9.2186,7.72461 -16.4,8.26666 2.2924,-2.52053 3.5039,-5.00117 4.7666,-7.7 2.4922,-5.32641 1.2786,-12.14442 0.7333,-15.3 -1.3001,-4.18985 -2.1803,-11.03831 -1.2,-17.3 h 7.2667 c 2.9547,0 5.3333,-2.37866 5.3333,-5.33333 v -18.13333 c 0,-2.95467 -2.3786,-5.33334 -5.3333,-5.33334 h -18.1333 c -2.9547,0 -5.3334,2.37867 -5.3334,5.33334 v 18.13333 c 0,2.95467 2.3787,5.33333 5.3334,5.33333 h 9.2334 c -2.0744,5.35033 -1.8362,11.55956 -0.7001,17.9 0.4779,2.76583 -0.1432,8.39373 -2.0333,12.43334 -1.7733,3.79012 -3.7177,6.29053 -12.1333,10.73333 -5.1487,0.36973 -11.3942,0.84951 -16.7333,2.93333 8.9721,-28.93704 4.2713,-47.9363 0.2999,-59.06666 2.2606,-0.61901 3.9333,-2.67112 3.9333,-5.13334 v -18.13333 c 0,-2.95467 -2.3786,-5.33333 -5.3333,-5.33333 h -18.1333 z" + style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:Sans;-inkscape-font-specification:Sans;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-anchor:start;display:inline;overflow:visible;visibility:visible;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:4.26666689;marker:none;enable-background:accumulate" /> + <text + transform="scale(0.99591644,1.0041003)" + xml:space="preserve" + style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:72.24536896px;line-height:125%;font-family:'Arial Rounded MT Bold';-inkscape-font-specification:'Arial Rounded MT Bold,';text-align:start;letter-spacing:0;word-spacing:0;writing-mode:lr-tb;text-anchor:start;fill:#ffffff;stroke:none;stroke-width:1.06666672" + x="-1493.6021" + y="-50.943245" + id="text4277"><tspan + sodipodi:role="line" + id="tspan4279" + x="-1493.6021" + y="-50.943245" + style="stroke-width:1.06666672"><tspan + id="tspan4281" + style="fill:#ffffff;stroke:none;stroke-width:1.06666672">W</tspan>in<tspan + id="tspan4283" + style="fill:#ffffff;stroke:none;stroke-width:1.06666672">D</tspan>ir<tspan + id="tspan4285" + style="fill:#ffffff;stroke:none;stroke-width:1.06666672">S</tspan>tat</tspan></text> + </g> + </g> +</svg> diff --git a/common/tracer.cpp b/common/tracer.cpp index ee456f8..3a2979f 100644 --- a/common/tracer.cpp +++ b/common/tracer.cpp @@ -1,131 +1,131 @@ -// tracer.h - Implementation of tracer class for debugging purposes
-//
-// NOTE: this file is under MIT license as opposed to the project as a whole.
-//
-// WinDirStat - Directory Statistics
-// Copyright (C) 2004-2016 WinDirStat team (windirstat.info)
-//
-// Permission is hereby granted, free of charge, to any person obtaining a copy
-// of this software and associated documentation files (the "Software"), to deal
-// in the Software without restriction, including without limitation the rights
-// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-// copies of the Software, and to permit persons to whom the Software is
-// furnished to do so, subject to the following conditions:
-//
-// The above copyright notice and this permission notice shall be included in
-// all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
-// THE SOFTWARE.
-//
-// Author(s): - oliver -> http://windirstat.info/contact/oliver/
-//
-
-#ifndef __TRACER_CPP_VER__
-#define __TRACER_CPP_VER__ 2014012617
-#if defined(_MSC_VER) && (_MSC_VER >= 1020)
-#pragma once
-#endif // Check for "#pragma once" support
-#include "tracer.h"
-#include <cstdarg>
-#include <fcntl.h>
-#include <io.h>
-#include <conio.h>
-
-#if VTRACE_TO_CONSOLE
-CWDSTracerConsole::CWDSTracerConsole()
-{
- int hCrt;
- FILE *hf;
- ::AllocConsole();
- ::SetConsoleTitle(_T("WinDirStat debug trace output"));
- // Standard output
- hCrt = _open_osfhandle((intptr_t)::GetStdHandle(STD_OUTPUT_HANDLE), _O_TEXT);
- hf = _fdopen(hCrt, "w");
- *stdout = *hf;
- setvbuf(stdout, NULL, _IONBF, 0);
- // Standard error
- hCrt = _open_osfhandle((intptr_t)::GetStdHandle(STD_ERROR_HANDLE), _O_TEXT);
- hf = _fdopen(hCrt, "w");
- *stderr = *hf;
- setvbuf(stderr, NULL, _IONBF, 0);
-}
-
-CWDSTracerConsole::~CWDSTracerConsole()
-{
- _tprintf(_T("Press a key to continue/close.\n"));
- _getch();
- ::FreeConsole();
-}
-#endif // VTRACE_TO_CONSOLE
-
-CWDSTracer::CWDSTracer(LPCSTR srcfile, LPCSTR fctname, unsigned int srcline)
- : m_srcfile(srcfile)
- , m_srcline(srcline)
- , m_srcfunc(fctname)
- // we can rely on the format with back slashes, no need to check forward slashes here
- , m_srcbasename((srcfile) ? strrchr(srcfile, '\\') : NULL)
-{
- // Skip over the backslash
- m_srcbasename = (m_srcbasename) ? m_srcbasename + 1 : srcfile;
-}
-
-void CWDSTracer::operator()(LPCSTR format, ...) // ANSI
-{
- CStringA str;
- va_list args;
- va_start(args, format);
- str.FormatV(format, args);
- va_end(args);
- CStringA strDbg, strPfx;
-# if (VTRACE_DETAIL == VTRACE_FILE_LINE_FUNC)
- strPfx.Format("%hs:%u|%hs", m_srcbasename, m_srcline, m_srcfunc);
-# elif (VTRACE_DETAIL == VTRACE_FILE_LINE)
- strPfx.Format("%hs:%u", m_srcbasename, m_srcline);
-# elif (VTRACE_DETAIL == VTRACE_FUNC)
- strPfx = m_srcfunc;
-# endif
- if(strPfx.IsEmpty())
- strDbg.Format("%hs\n", str.GetBuffer());
- else
- strDbg.Format("[%hs] %hs\n", strPfx.GetBuffer(), str.GetBuffer());
-# if !VTRACE_TO_CONSOLE || (VTRACE_TO_CONSOLE && !VTRACE_NO_OUTPUTDEBUGSTRING)
- OutputDebugStringA(strDbg.GetBuffer());
-# endif
-# if VTRACE_TO_CONSOLE
- printf(strDbg.GetBuffer());
-# endif // VTRACE_TO_CONSOLE
-}
-
-void CWDSTracer::operator()(LPCWSTR format, ...) // Unicode
-{
- CStringW str;
- va_list args;
- va_start(args, format);
- str.FormatV(format, args);
- va_end(args);
- CStringW strDbg, strPfx;
-# if (VTRACE_DETAIL == VTRACE_FILE_LINE_FUNC)
- strPfx.Format(L"%hs:%u|%hs", m_srcbasename, m_srcline, m_srcfunc);
-# elif (VTRACE_DETAIL == VTRACE_FILE_LINE)
- strPfx.Format(L"%hs:%u", m_srcbasename, m_srcline);
-# elif (VTRACE_DETAIL == VTRACE_FUNC)
- strPfx = m_srcfunc;
-# endif
- if(strPfx.IsEmpty())
- strDbg.Format(L"%ws\n", str.GetBuffer());
- else
- strDbg.Format(L"[%ws] %ws\n", strPfx.GetBuffer(), str.GetBuffer());
-# if !VTRACE_TO_CONSOLE || (VTRACE_TO_CONSOLE && !VTRACE_NO_OUTPUTDEBUGSTRING)
- OutputDebugStringW(strDbg.GetBuffer());
-# endif
-# ifdef VTRACE_TO_CONSOLE
- wprintf(strDbg.GetBuffer());
-# endif // VTRACE_TO_CONSOLE
-}
-#endif // __TRACER_CPP_VER__
+// tracer.h - Implementation of tracer class for debugging purposes +// +// NOTE: this file is under MIT license as opposed to the project as a whole. +// +// WinDirStat - Directory Statistics +// Copyright (C) 2004-2016 WinDirStat team (windirstat.info) +// +// Permission is hereby granted, free of charge, to any person obtaining a copy +// of this software and associated documentation files (the "Software"), to deal +// in the Software without restriction, including without limitation the rights +// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +// copies of the Software, and to permit persons to whom the Software is +// furnished to do so, subject to the following conditions: +// +// The above copyright notice and this permission notice shall be included in +// all copies or substantial portions of the Software. +// +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +// THE SOFTWARE. +// +// Author(s): - oliver -> http://windirstat.info/contact/oliver/ +// + +#ifndef __TRACER_CPP_VER__ +#define __TRACER_CPP_VER__ 2014012617 +#if defined(_MSC_VER) && (_MSC_VER >= 1020) +#pragma once +#endif // Check for "#pragma once" support +#include "tracer.h" +#include <cstdarg> +#include <fcntl.h> +#include <io.h> +#include <conio.h> + +#if VTRACE_TO_CONSOLE +CWDSTracerConsole::CWDSTracerConsole() +{ + int hCrt; + FILE *hf; + ::AllocConsole(); + ::SetConsoleTitle(_T("WinDirStat debug trace output")); + // Standard output + hCrt = _open_osfhandle((intptr_t)::GetStdHandle(STD_OUTPUT_HANDLE), _O_TEXT); + hf = _fdopen(hCrt, "w"); + *stdout = *hf; + setvbuf(stdout, NULL, _IONBF, 0); + // Standard error + hCrt = _open_osfhandle((intptr_t)::GetStdHandle(STD_ERROR_HANDLE), _O_TEXT); + hf = _fdopen(hCrt, "w"); + *stderr = *hf; + setvbuf(stderr, NULL, _IONBF, 0); +} + +CWDSTracerConsole::~CWDSTracerConsole() +{ + _tprintf(_T("Press a key to continue/close.\n")); + _getch(); + ::FreeConsole(); +} +#endif // VTRACE_TO_CONSOLE + +CWDSTracer::CWDSTracer(LPCSTR srcfile, LPCSTR fctname, unsigned int srcline) + : m_srcfile(srcfile) + , m_srcline(srcline) + , m_srcfunc(fctname) + // we can rely on the format with back slashes, no need to check forward slashes here + , m_srcbasename((srcfile) ? strrchr(srcfile, '\\') : NULL) +{ + // Skip over the backslash + m_srcbasename = (m_srcbasename) ? m_srcbasename + 1 : srcfile; +} + +void CWDSTracer::operator()(LPCSTR format, ...) // ANSI +{ + CStringA str; + va_list args; + va_start(args, format); + str.FormatV(format, args); + va_end(args); + CStringA strDbg, strPfx; +# if (VTRACE_DETAIL == VTRACE_FILE_LINE_FUNC) + strPfx.Format("%hs:%u|%hs", m_srcbasename, m_srcline, m_srcfunc); +# elif (VTRACE_DETAIL == VTRACE_FILE_LINE) + strPfx.Format("%hs:%u", m_srcbasename, m_srcline); +# elif (VTRACE_DETAIL == VTRACE_FUNC) + strPfx = m_srcfunc; +# endif + if(strPfx.IsEmpty()) + strDbg.Format("%hs\n", str.GetBuffer()); + else + strDbg.Format("[%hs] %hs\n", strPfx.GetBuffer(), str.GetBuffer()); +# if !VTRACE_TO_CONSOLE || (VTRACE_TO_CONSOLE && !VTRACE_NO_OUTPUTDEBUGSTRING) + OutputDebugStringA(strDbg.GetBuffer()); +# endif +# if VTRACE_TO_CONSOLE + printf(strDbg.GetBuffer()); +# endif // VTRACE_TO_CONSOLE +} + +void CWDSTracer::operator()(LPCWSTR format, ...) // Unicode +{ + CStringW str; + va_list args; + va_start(args, format); + str.FormatV(format, args); + va_end(args); + CStringW strDbg, strPfx; +# if (VTRACE_DETAIL == VTRACE_FILE_LINE_FUNC) + strPfx.Format(L"%hs:%u|%hs", m_srcbasename, m_srcline, m_srcfunc); +# elif (VTRACE_DETAIL == VTRACE_FILE_LINE) + strPfx.Format(L"%hs:%u", m_srcbasename, m_srcline); +# elif (VTRACE_DETAIL == VTRACE_FUNC) + strPfx = m_srcfunc; +# endif + if(strPfx.IsEmpty()) + strDbg.Format(L"%ws\n", str.GetBuffer()); + else + strDbg.Format(L"[%ws] %ws\n", strPfx.GetBuffer(), str.GetBuffer()); +# if !VTRACE_TO_CONSOLE || (VTRACE_TO_CONSOLE && !VTRACE_NO_OUTPUTDEBUGSTRING) + OutputDebugStringW(strDbg.GetBuffer()); +# endif +# ifdef VTRACE_TO_CONSOLE + wprintf(strDbg.GetBuffer()); +# endif // VTRACE_TO_CONSOLE +} +#endif // __TRACER_CPP_VER__ diff --git a/common/tracer.h b/common/tracer.h index ac3c93d..b105382 100644 --- a/common/tracer.h +++ b/common/tracer.h @@ -1,73 +1,73 @@ -// tracer.h - Implementation of tracer class for debugging purposes
-//
-// NOTE: this file is under MIT license as opposed to the project as a whole.
-//
-// WinDirStat - Directory Statistics
-// Copyright (C) 2004-2016 WinDirStat team (windirstat.info)
-//
-// Permission is hereby granted, free of charge, to any person obtaining a copy
-// of this software and associated documentation files (the "Software"), to deal
-// in the Software without restriction, including without limitation the rights
-// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-// copies of the Software, and to permit persons to whom the Software is
-// furnished to do so, subject to the following conditions:
-//
-// The above copyright notice and this permission notice shall be included in
-// all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
-// THE SOFTWARE.
-//
-// Author(s): - oliver -> http://windirstat.info/contact/oliver/
-//
-
-#ifndef __TRACER_H_VER__
-#define __TRACER_H_VER__ 2014012617
-#if defined(_MSC_VER) && (_MSC_VER >= 1020)
-#pragma once
-#endif // Check for "#pragma once" support
-
-#ifdef _DEBUG
-#define VTRACE_FILE_LINE_FUNC 3
-#define VTRACE_FILE_LINE 2
-#define VTRACE_FUNC 1
-
-#ifndef VTRACE_DETAIL
-# define VTRACE_DETAIL 3
-#endif
-
-#if VTRACE_TO_CONSOLE
-class CWDSTracerConsole
-{
-public:
- CWDSTracerConsole();
- ~CWDSTracerConsole();
-};
-#endif // VTRACE_TO_CONSOLE
-
-class CWDSTracer
-{
-public:
- CWDSTracer(LPCSTR srcfile, LPCSTR fctname, unsigned int srcline);
- void operator()(LPCSTR format, ...);
- void operator()(LPCWSTR format, ...);
-private:
- const CStringA m_srcfile;
- unsigned int m_srcline;
- LPCSTR m_srcbasename;
- LPCSTR m_srcfunc;
- CWDSTracer& operator=(const CWDSTracer&); // hide it
-};
-
-// Use as VTRACE(format, ...) ... *must* be on one long line ;)
-# define VTRACE CWDSTracer(__##FILE##__, __##FUNCTION##__, __##LINE##__)
-#else
-# define VTRACE __noop
-#endif // _DEBUG
-
-#endif // __TRACER_H_VER__
+// tracer.h - Implementation of tracer class for debugging purposes +// +// NOTE: this file is under MIT license as opposed to the project as a whole. +// +// WinDirStat - Directory Statistics +// Copyright (C) 2004-2016 WinDirStat team (windirstat.info) +// +// Permission is hereby granted, free of charge, to any person obtaining a copy +// of this software and associated documentation files (the "Software"), to deal +// in the Software without restriction, including without limitation the rights +// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +// copies of the Software, and to permit persons to whom the Software is +// furnished to do so, subject to the following conditions: +// +// The above copyright notice and this permission notice shall be included in +// all copies or substantial portions of the Software. +// +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +// THE SOFTWARE. +// +// Author(s): - oliver -> http://windirstat.info/contact/oliver/ +// + +#ifndef __TRACER_H_VER__ +#define __TRACER_H_VER__ 2014012617 +#if defined(_MSC_VER) && (_MSC_VER >= 1020) +#pragma once +#endif // Check for "#pragma once" support + +#ifdef _DEBUG +#define VTRACE_FILE_LINE_FUNC 3 +#define VTRACE_FILE_LINE 2 +#define VTRACE_FUNC 1 + +#ifndef VTRACE_DETAIL +# define VTRACE_DETAIL 3 +#endif + +#if VTRACE_TO_CONSOLE +class CWDSTracerConsole +{ +public: + CWDSTracerConsole(); + ~CWDSTracerConsole(); +}; +#endif // VTRACE_TO_CONSOLE + +class CWDSTracer +{ +public: + CWDSTracer(LPCSTR srcfile, LPCSTR fctname, unsigned int srcline); + void operator()(LPCSTR format, ...); + void operator()(LPCWSTR format, ...); +private: + const CStringA m_srcfile; + unsigned int m_srcline; + LPCSTR m_srcbasename; + LPCSTR m_srcfunc; + CWDSTracer& operator=(const CWDSTracer&); // hide it +}; + +// Use as VTRACE(format, ...) ... *must* be on one long line ;) +# define VTRACE CWDSTracer(__##FILE##__, __##FUNCTION##__, __##LINE##__) +#else +# define VTRACE __noop +#endif // _DEBUG + +#endif // __TRACER_H_VER__ diff --git a/common/version.h b/common/version.h index 0e5ad9e..d3754a1 100644 --- a/common/version.h +++ b/common/version.h @@ -17,7 +17,7 @@ // You should have received a copy of the GNU General Public License // along with this program; if not, write to the Free Software // Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA -//
+// /*------------------------------------------------------------------- This file defines the following: diff --git a/common/wds_constants.cpp b/common/wds_constants.cpp index 520d9ed..e258fee 100644 --- a/common/wds_constants.cpp +++ b/common/wds_constants.cpp @@ -16,7 +16,7 @@ // You should have received a copy of the GNU General Public License // along with this program; if not, write to the Free Software // Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA -//
+// // Author(s): - oliver -> http://windirstat.info/contact/oliver/ // diff --git a/common/wds_constants.h b/common/wds_constants.h index 3132831..1b9a316 100644 --- a/common/wds_constants.h +++ b/common/wds_constants.h @@ -17,7 +17,7 @@ // You should have received a copy of the GNU General Public License // along with this program; if not, write to the Free Software // Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA -//
+// #ifndef __WDS_CONSTANTS_H_VER__ #define __WDS_CONSTANTS_H_VER__ 2014021723 diff --git a/premake4.lua b/premake4.lua index 98c0313..bcdf387 100644 --- a/premake4.lua +++ b/premake4.lua @@ -209,7 +209,7 @@ solution (iif(release, slnname, "windirstat")) targetdir (iif(release, slnname, "build"))
includedirs {".", "windirstat", "common", "windirstat/Controls", "windirstat/Dialogs", "3rdparty/lua/src"}
objdir (int_dir)
- libdirs {"$(IntDir)"}
+ -- libdirs {"$(IntDir)"} FIXME!
links {"htmlhelp", "psapi", "delayimp", pfx.."luajit2"}
resoptions {"/nologo", "/l409"}
resincludedirs {".", "$(IntDir)"}
diff --git a/windirstat.vs14.sln b/windirstat.vs14.sln new file mode 100644 index 0000000..4058b97 --- /dev/null +++ b/windirstat.vs14.sln @@ -0,0 +1,66 @@ +
+Microsoft Visual Studio Solution File, Format Version 12.00
+# Visual Studio 2015
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "minilua", "3rdparty\lua\src\minilua.vs14.vcxproj", "{531911BC-0023-4EC6-A2CE-6C3F5C182647}"
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "buildvm", "3rdparty\lua\src\buildvm.vs14.vcxproj", "{F949C208-7A2E-4B1C-B74D-956E88542A26}"
+ ProjectSection(ProjectDependencies) = postProject
+ {531911BC-0023-4EC6-A2CE-6C3F5C182647} = {531911BC-0023-4EC6-A2CE-6C3F5C182647}
+ EndProjectSection
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "luajit2", "3rdparty\lua\src\luajit2.vs14.vcxproj", "{9F35C2BB-DF1E-400A-A829-AE34E1C91A70}"
+ ProjectSection(ProjectDependencies) = postProject
+ {531911BC-0023-4EC6-A2CE-6C3F5C182647} = {531911BC-0023-4EC6-A2CE-6C3F5C182647}
+ {F949C208-7A2E-4B1C-B74D-956E88542A26} = {F949C208-7A2E-4B1C-B74D-956E88542A26}
+ EndProjectSection
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "windirstat", "windirstat\windirstat.vs14.vcxproj", "{BD11B94C-6594-4477-9FDF-2E24447D1F14}"
+ ProjectSection(ProjectDependencies) = postProject
+ {9F35C2BB-DF1E-400A-A829-AE34E1C91A70} = {9F35C2BB-DF1E-400A-A829-AE34E1C91A70}
+ 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
+ {531911BC-0023-4EC6-A2CE-6C3F5C182647}.Debug|Win32.ActiveCfg = Release|Win32
+ {531911BC-0023-4EC6-A2CE-6C3F5C182647}.Debug|Win32.Build.0 = Release|Win32
+ {531911BC-0023-4EC6-A2CE-6C3F5C182647}.Debug|x64.ActiveCfg = Release|Win32
+ {531911BC-0023-4EC6-A2CE-6C3F5C182647}.Debug|x64.Build.0 = Release|Win32
+ {531911BC-0023-4EC6-A2CE-6C3F5C182647}.Release|Win32.ActiveCfg = Release|Win32
+ {531911BC-0023-4EC6-A2CE-6C3F5C182647}.Release|Win32.Build.0 = Release|Win32
+ {531911BC-0023-4EC6-A2CE-6C3F5C182647}.Release|x64.ActiveCfg = Release|Win32
+ {531911BC-0023-4EC6-A2CE-6C3F5C182647}.Release|x64.Build.0 = Release|Win32
+ {F949C208-7A2E-4B1C-B74D-956E88542A26}.Debug|Win32.ActiveCfg = Release|Win32
+ {F949C208-7A2E-4B1C-B74D-956E88542A26}.Debug|Win32.Build.0 = Release|Win32
+ {F949C208-7A2E-4B1C-B74D-956E88542A26}.Debug|x64.ActiveCfg = Release|x64
+ {F949C208-7A2E-4B1C-B74D-956E88542A26}.Debug|x64.Build.0 = Release|x64
+ {F949C208-7A2E-4B1C-B74D-956E88542A26}.Release|Win32.ActiveCfg = Release|Win32
+ {F949C208-7A2E-4B1C-B74D-956E88542A26}.Release|Win32.Build.0 = Release|Win32
+ {F949C208-7A2E-4B1C-B74D-956E88542A26}.Release|x64.ActiveCfg = Release|x64
+ {F949C208-7A2E-4B1C-B74D-956E88542A26}.Release|x64.Build.0 = Release|x64
+ {9F35C2BB-DF1E-400A-A829-AE34E1C91A70}.Debug|Win32.ActiveCfg = Release|Win32
+ {9F35C2BB-DF1E-400A-A829-AE34E1C91A70}.Debug|Win32.Build.0 = Release|Win32
+ {9F35C2BB-DF1E-400A-A829-AE34E1C91A70}.Debug|x64.ActiveCfg = Release|x64
+ {9F35C2BB-DF1E-400A-A829-AE34E1C91A70}.Debug|x64.Build.0 = Release|x64
+ {9F35C2BB-DF1E-400A-A829-AE34E1C91A70}.Release|Win32.ActiveCfg = Release|Win32
+ {9F35C2BB-DF1E-400A-A829-AE34E1C91A70}.Release|Win32.Build.0 = Release|Win32
+ {9F35C2BB-DF1E-400A-A829-AE34E1C91A70}.Release|x64.ActiveCfg = Release|x64
+ {9F35C2BB-DF1E-400A-A829-AE34E1C91A70}.Release|x64.Build.0 = Release|x64
+ {BD11B94C-6594-4477-9FDF-2E24447D1F14}.Debug|Win32.ActiveCfg = Debug|Win32
+ {BD11B94C-6594-4477-9FDF-2E24447D1F14}.Debug|Win32.Build.0 = Debug|Win32
+ {BD11B94C-6594-4477-9FDF-2E24447D1F14}.Debug|x64.ActiveCfg = Debug|x64
+ {BD11B94C-6594-4477-9FDF-2E24447D1F14}.Debug|x64.Build.0 = Debug|x64
+ {BD11B94C-6594-4477-9FDF-2E24447D1F14}.Release|Win32.ActiveCfg = Release|Win32
+ {BD11B94C-6594-4477-9FDF-2E24447D1F14}.Release|Win32.Build.0 = Release|Win32
+ {BD11B94C-6594-4477-9FDF-2E24447D1F14}.Release|x64.ActiveCfg = Release|x64
+ {BD11B94C-6594-4477-9FDF-2E24447D1F14}.Release|x64.Build.0 = Release|x64
+ EndGlobalSection
+ GlobalSection(SolutionProperties) = preSolution
+ HideSolutionNode = FALSE
+ EndGlobalSection
+EndGlobal
diff --git a/windirstat.vs8.sln b/windirstat.vs8.sln index 779f776..13afe78 100644 --- a/windirstat.vs8.sln +++ b/windirstat.vs8.sln @@ -19,11 +19,6 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "windirstat", "windirstat\wi {9F35C2BB-DF1E-400A-A829-AE34E1C91A70} = {9F35C2BB-DF1E-400A-A829-AE34E1C91A70}
EndProjectSection
EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "luaconf", "sandbox\luaconf\luaconf.vs8.vcproj", "{66A24518-ACE0-4C57-96B0-FF9F324E0985}"
- ProjectSection(ProjectDependencies) = postProject
- {9F35C2BB-DF1E-400A-A829-AE34E1C91A70} = {9F35C2BB-DF1E-400A-A829-AE34E1C91A70}
- EndProjectSection
-EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Win32 = Debug|Win32
@@ -64,14 +59,6 @@ Global {BD11B94C-6594-4477-9FDF-2E24447D1F14}.Release|Win32.Build.0 = Release|Win32
{BD11B94C-6594-4477-9FDF-2E24447D1F14}.Release|x64.ActiveCfg = Release|x64
{BD11B94C-6594-4477-9FDF-2E24447D1F14}.Release|x64.Build.0 = Release|x64
- {66A24518-ACE0-4C57-96B0-FF9F324E0985}.Debug|Win32.ActiveCfg = Release|Win32
- {66A24518-ACE0-4C57-96B0-FF9F324E0985}.Debug|Win32.Build.0 = Release|Win32
- {66A24518-ACE0-4C57-96B0-FF9F324E0985}.Debug|x64.ActiveCfg = Release|x64
- {66A24518-ACE0-4C57-96B0-FF9F324E0985}.Debug|x64.Build.0 = Release|x64
- {66A24518-ACE0-4C57-96B0-FF9F324E0985}.Release|Win32.ActiveCfg = Release|Win32
- {66A24518-ACE0-4C57-96B0-FF9F324E0985}.Release|Win32.Build.0 = Release|Win32
- {66A24518-ACE0-4C57-96B0-FF9F324E0985}.Release|x64.ActiveCfg = Release|x64
- {66A24518-ACE0-4C57-96B0-FF9F324E0985}.Release|x64.Build.0 = Release|x64
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
diff --git a/windirstat/Controls/ColorButton.cpp b/windirstat/Controls/ColorButton.cpp index 4bf3617..632a734 100644 --- a/windirstat/Controls/ColorButton.cpp +++ b/windirstat/Controls/ColorButton.cpp @@ -17,7 +17,7 @@ // You should have received a copy of the GNU General Public License // along with this program; if not, write to the Free Software // Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA -//
+// #include "stdafx.h" #include "colorbutton.h" diff --git a/windirstat/Controls/ColorButton.h b/windirstat/Controls/ColorButton.h index 1afdd9e..a174a62 100644 --- a/windirstat/Controls/ColorButton.h +++ b/windirstat/Controls/ColorButton.h @@ -17,7 +17,7 @@ // You should have received a copy of the GNU General Public License // along with this program; if not, write to the Free Software // Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA -//
+// #ifndef __WDS_COLORBUTTON_H__ #define __WDS_COLORBUTTON_H__ diff --git a/windirstat/Controls/TreeListControl.cpp b/windirstat/Controls/TreeListControl.cpp index 362b19c..ba1ba10 100644 --- a/windirstat/Controls/TreeListControl.cpp +++ b/windirstat/Controls/TreeListControl.cpp @@ -17,7 +17,7 @@ // You should have received a copy of the GNU General Public License // along with this program; if not, write to the Free Software // Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA -//
+// #include "stdafx.h" #include "windirstat.h" diff --git a/windirstat/Controls/TreeListControl.h b/windirstat/Controls/TreeListControl.h index 8e47863..b9d1a48 100644 --- a/windirstat/Controls/TreeListControl.h +++ b/windirstat/Controls/TreeListControl.h @@ -17,7 +17,7 @@ // You should have received a copy of the GNU General Public License // along with this program; if not, write to the Free Software // Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA -//
+// #ifndef __WDS_TREELISTCONTROL_H__ #define __WDS_TREELISTCONTROL_H__ diff --git a/windirstat/Controls/graphview.cpp b/windirstat/Controls/graphview.cpp index 19601e4..db72836 100644 --- a/windirstat/Controls/graphview.cpp +++ b/windirstat/Controls/graphview.cpp @@ -17,7 +17,7 @@ // You should have received a copy of the GNU General Public License // along with this program; if not, write to the Free Software // Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA -//
+// #include "stdafx.h" #include "windirstat.h" diff --git a/windirstat/Controls/graphview.h b/windirstat/Controls/graphview.h index c97adb6..356a6f8 100644 --- a/windirstat/Controls/graphview.h +++ b/windirstat/Controls/graphview.h @@ -17,7 +17,7 @@ // You should have received a copy of the GNU General Public License // along with this program; if not, write to the Free Software // Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA -//
+// #ifndef __WDS_GRAPHVIEW_H__ #define __WDS_GRAPHVIEW_H__ diff --git a/windirstat/Controls/myimagelist.cpp b/windirstat/Controls/myimagelist.cpp index 656a276..961dcce 100644 --- a/windirstat/Controls/myimagelist.cpp +++ b/windirstat/Controls/myimagelist.cpp @@ -17,7 +17,7 @@ // You should have received a copy of the GNU General Public License // along with this program; if not, write to the Free Software // Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA -//
+// #include "stdafx.h" #include "windirstat.h" diff --git a/windirstat/Controls/myimagelist.h b/windirstat/Controls/myimagelist.h index e373971..851067b 100644 --- a/windirstat/Controls/myimagelist.h +++ b/windirstat/Controls/myimagelist.h @@ -17,7 +17,7 @@ // You should have received a copy of the GNU General Public License // along with this program; if not, write to the Free Software // Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA -//
+// #ifndef __WDS_MYIMAGELIST_H__ #define __WDS_MYIMAGELIST_H__ diff --git a/windirstat/Controls/ownerdrawnlistcontrol.cpp b/windirstat/Controls/ownerdrawnlistcontrol.cpp index 4347f98..48f6c8b 100644 --- a/windirstat/Controls/ownerdrawnlistcontrol.cpp +++ b/windirstat/Controls/ownerdrawnlistcontrol.cpp @@ -17,7 +17,7 @@ // You should have received a copy of the GNU General Public License // along with this program; if not, write to the Free Software // Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA -//
+// #include "stdafx.h" #include "windirstat.h" diff --git a/windirstat/Controls/ownerdrawnlistcontrol.h b/windirstat/Controls/ownerdrawnlistcontrol.h index 511974e..3701d8e 100644 --- a/windirstat/Controls/ownerdrawnlistcontrol.h +++ b/windirstat/Controls/ownerdrawnlistcontrol.h @@ -17,7 +17,7 @@ // You should have received a copy of the GNU General Public License // along with this program; if not, write to the Free Software // Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA -//
+// #ifndef __WDS_OWNERDRAWNLISTCONTROL_H__ #define __WDS_OWNERDRAWNLISTCONTROL_H__ diff --git a/windirstat/Controls/pacman.cpp b/windirstat/Controls/pacman.cpp index 7d16f89..ca95dd6 100644 --- a/windirstat/Controls/pacman.cpp +++ b/windirstat/Controls/pacman.cpp @@ -17,7 +17,7 @@ // You should have received a copy of the GNU General Public License // along with this program; if not, write to the Free Software // Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA -//
+// #include "stdafx.h" #include "pacman.h" diff --git a/windirstat/Controls/pacman.h b/windirstat/Controls/pacman.h index e389143..01e4fd5 100644 --- a/windirstat/Controls/pacman.h +++ b/windirstat/Controls/pacman.h @@ -17,7 +17,7 @@ // You should have received a copy of the GNU General Public License // along with this program; if not, write to the Free Software // Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA -//
+// #ifndef __WDS_PACMAN_H__ #define __WDS_PACMAN_H__ diff --git a/windirstat/Controls/sortinglistcontrol.cpp b/windirstat/Controls/sortinglistcontrol.cpp index 0c6648f..6de005b 100644 --- a/windirstat/Controls/sortinglistcontrol.cpp +++ b/windirstat/Controls/sortinglistcontrol.cpp @@ -1,317 +1,317 @@ -// sortinglistcontrol.cpp - Implementation of CSortingListItem and CSortingListControl
-//
-// WinDirStat - Directory Statistics
-// Copyright (C) 2003-2005 Bernhard Seifert
-// Copyright (C) 2004-2016 WinDirStat team (windirstat.info)
-//
-// This program is free software; you can redistribute it and/or modify
-// it under the terms of the GNU General Public License as published by
-// the Free Software Foundation; either version 2 of the License, or
-// (at your option) any later version.
-//
-// This program is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-// GNU General Public License for more details.
-//
-// You should have received a copy of the GNU General Public License
-// along with this program; if not, write to the Free Software
-// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
-//
-//
-
-#include "stdafx.h"
-#include "windirstat.h"
-#include "sortinglistcontrol.h"
-
-#ifdef _DEBUG
-#define new DEBUG_NEW
-#endif
-
-/////////////////////////////////////////////////////////////////////////////
-
-CString CSortingListItem::GetText(int subitem) const
-{
- // Dummy implementation
- CString s;
- s.Format(_T("subitem %d"), subitem);
- return s;
-}
-
-int CSortingListItem::GetImage() const
-{
- // Dummy implementation
- return 0;
-}
-
-// Return value:
-// <= -2: this is less than other regardless of ascending flag
-// -1: this is less than other
-// 0: this equals other
-// +1: this is greater than other
-// >= +1: this is greater than other regardless of ascending flag.
-//
-int CSortingListItem::Compare(const CSortingListItem *other, int subitem) const
-{
- // Default implementation compares strings
- return signum(GetText(subitem).CompareNoCase(other->GetText(subitem)));
-}
-
-// TODO: check how suitable those are for Unicode-only strings (say Russian)
-int CSortingListItem::CompareS(const CSortingListItem *other, const SSorting& sorting) const
-{
- int r = Compare(other, sorting.column1);
- if(abs(r) < 2 && !sorting.ascending1)
- {
- r = -r;
- }
-
- if(r == 0 && sorting.column2 != sorting.column1)
- {
- r = Compare(other, sorting.column2);
- if(abs(r) < 2 && !sorting.ascending2)
- {
- r = -r;
- }
- }
- return r;
-}
-
-
-
-/////////////////////////////////////////////////////////////////////////////
-
-IMPLEMENT_DYNAMIC(CSortingListControl, CListCtrl)
-
-CSortingListControl::CSortingListControl(LPCTSTR name)
-{
- m_name = name;
- m_indicatedColumn = -1;
-}
-
-CSortingListControl::~CSortingListControl()
-{
-}
-
-void CSortingListControl::LoadPersistentAttributes()
-{
- int i = 0;
- CArray<int, int> arr;
- arr.SetSize(GetHeaderCtrl()->GetItemCount());
-
- GetColumnOrderArray(arr.GetData(), arr.GetSize());
- CPersistence::GetColumnOrder(m_name, arr);
- SetColumnOrderArray(int(arr.GetSize()), arr.GetData());
-
- for(i = 0; i < arr.GetSize(); i++)
- {
- arr[i]= GetColumnWidth(i);
- }
- CPersistence::GetColumnWidths(m_name, arr);
- for(i = 0; i < arr.GetSize(); i++)
- {
- // To avoid "insane" settings we set the column width to
- // maximal twice the default width.
- int maxWidth = GetColumnWidth(i) * 2;
- int w = min(arr[i], maxWidth);
- SetColumnWidth(i, w);
- }
-
- // Not so good: CPersistence::GetSorting(m_name, GetHeaderCtrl()->GetItemCount(), m_sorting.column1, m_sorting.ascending1, m_sorting.column2, m_sorting.ascending2);
- // We refrain from saving the sorting because it is too likely, that
- // users start up with insane settings and don't get it.
-}
-
-void CSortingListControl::SavePersistentAttributes()
-{
- CArray<int, int> arr;
- arr.SetSize(GetHeaderCtrl()->GetItemCount());
-
- GetColumnOrderArray(arr.GetData(), arr.GetSize());
- CPersistence::SetColumnOrder(m_name, arr);
-
- for(int i = 0; i < arr.GetSize(); i++)
- {
- arr[i]= GetColumnWidth(i);
- }
- CPersistence::SetColumnWidths(m_name, arr);
-
- // Not so good: CPersistence::SetSorting(m_name, m_sorting.column1, m_sorting.ascending1, m_sorting.column2, m_sorting.ascending2);
-}
-
-void CSortingListControl::AddExtendedStyle(DWORD exStyle)
-{
- SetExtendedStyle(GetExtendedStyle() | exStyle);
-}
-
-void CSortingListControl::RemoveExtendedStyle(DWORD exStyle)
-{
- SetExtendedStyle(GetExtendedStyle() & ~exStyle);
-}
-
-
-const SSorting& CSortingListControl::GetSorting()
-{
- return m_sorting;
-}
-
-void CSortingListControl::SetSorting(const SSorting& sorting)
-{
- m_sorting = sorting;
-}
-
-void CSortingListControl::SetSorting(int sortColumn1, bool ascending1, int sortColumn2, bool ascending2)
-{
- m_sorting.column1 = sortColumn1;
- m_sorting.ascending1 = ascending1;
- m_sorting.column2 = sortColumn2;
- m_sorting.ascending2 = ascending2;
-}
-
-void CSortingListControl::SetSorting(int sortColumn, bool ascending)
-{
- m_sorting.column2 = m_sorting.column1;
- m_sorting.ascending2 = m_sorting.ascending1;
- m_sorting.column1 = sortColumn;
- m_sorting.ascending1 = ascending;
-}
-
-void CSortingListControl::InsertListItem(int i, CSortingListItem *item)
-{
- LVITEM lvitem;
- ZeroMemory(&lvitem, sizeof(lvitem));
-
- lvitem.mask = LVIF_TEXT | LVIF_PARAM;
- if(HasImages())
- {
- lvitem.mask |= LVIF_IMAGE;
- }
-
- lvitem.iItem = i;
- lvitem.pszText = LPSTR_TEXTCALLBACK;
- lvitem.iImage = I_IMAGECALLBACK;
- lvitem.lParam = (LPARAM)item;
-
- VERIFY(i == CListCtrl::InsertItem(&lvitem));
-}
-
-CSortingListItem *CSortingListControl::GetSortingListItem(int i)
-{
- return (CSortingListItem *)GetItemData(i);
-}
-
-void CSortingListControl::SortItems()
-{
- VERIFY(CListCtrl::SortItems(&_CompareFunc, (DWORD_PTR)&m_sorting));
-
- HDITEM hditem;
- ZeroMemory(&hditem, sizeof(hditem));
-
- if(m_indicatedColumn != -1)
- {
- CString text;
- hditem.mask = HDI_TEXT;
- hditem.pszText = text.GetBuffer(256);
- hditem.cchTextMax = 256;
- GetHeaderCtrl()->GetItem(m_indicatedColumn, &hditem);
- text.ReleaseBuffer();
- text = text.Mid(2);
- hditem.pszText = (LPTSTR)(LPCTSTR)text;
- GetHeaderCtrl()->SetItem(m_indicatedColumn, &hditem);
- }
-
- CString text;
- hditem.mask = HDI_TEXT;
- hditem.pszText = text.GetBuffer(256);
- hditem.cchTextMax = 256;
- GetHeaderCtrl()->GetItem(m_sorting.column1, &hditem);
- text.ReleaseBuffer();
- text = (m_sorting.ascending1 ? _T("< ") : _T("> ")) + text;
- hditem.pszText = (LPTSTR)(LPCTSTR)text;
- GetHeaderCtrl()->SetItem(m_sorting.column1, &hditem);
- m_indicatedColumn = m_sorting.column1;
-}
-
-bool CSortingListControl::GetAscendingDefault(int /*column*/)
-{
- return true;
-}
-
-bool CSortingListControl::HasImages()
-{
- return false;
-}
-
-# if (_MFC_VER <=0x0800)
-BOOL CSortingListControl::GetColumnOrderArray(LPINT piArray, INT_PTR iCount)
-{
- ASSERT(iCount <= INT_MAX);
- return dynamic_cast<CListCtrl*>(this)->GetColumnOrderArray(piArray, (int)iCount);
-}
-# endif
-
-int CALLBACK CSortingListControl::_CompareFunc(LPARAM lParam1, LPARAM lParam2, LPARAM lParamSort)
-{
- CSortingListItem *item1 = (CSortingListItem *)lParam1;
- CSortingListItem *item2 = (CSortingListItem *)lParam2;
- SSorting *sorting = (SSorting *)lParamSort;
-
- return item1->CompareS(item2, *sorting);
-}
-
-BEGIN_MESSAGE_MAP(CSortingListControl, CListCtrl)
- ON_NOTIFY_REFLECT(LVN_GETDISPINFO, OnLvnGetdispinfo)
- ON_NOTIFY(HDN_ITEMCLICKA, 0, OnHdnItemclick)
- ON_NOTIFY(HDN_ITEMCLICKW, 0, OnHdnItemclick)
- ON_NOTIFY(HDN_ITEMDBLCLICKA, 0, OnHdnItemdblclick)
- ON_NOTIFY(HDN_ITEMDBLCLICKW, 0, OnHdnItemdblclick)
- ON_WM_DESTROY()
-END_MESSAGE_MAP()
-
-void CSortingListControl::OnLvnGetdispinfo(NMHDR *pNMHDR, LRESULT *pResult)
-{
- NMLVDISPINFO *di = reinterpret_cast<NMLVDISPINFO*>(pNMHDR);
- *pResult = 0;
-
- CSortingListItem *item = (CSortingListItem *)(di->item.lParam);
-
- if((di->item.mask & LVIF_TEXT) != 0)
- {
- _tcscpy_s(di->item.pszText, di->item.cchTextMax, item->GetText(di->item.iSubItem));
- }
-
- if((di->item.mask & LVIF_IMAGE) != 0)
- {
- di->item.iImage = item->GetImage();
- }
-}
-
-void CSortingListControl::OnHdnItemclick(NMHDR *pNMHDR, LRESULT *pResult)
-{
- LPNMHEADER phdr = reinterpret_cast<LPNMHEADER>(pNMHDR);
- *pResult = 0;
- const int col = phdr->iItem;
-
- if(col == m_sorting.column1)
- {
- m_sorting.ascending1 = !m_sorting.ascending1;
- }
- else
- {
- SetSorting(col, GetAscendingDefault(col));
- }
-
- SortItems();
-}
-
-
-void CSortingListControl::OnHdnItemdblclick(NMHDR *pNMHDR, LRESULT *pResult)
-{
- OnHdnItemclick(pNMHDR, pResult);
-}
-
-void CSortingListControl::OnDestroy()
-{
- SavePersistentAttributes();
- CListCtrl::OnDestroy();
-}
+// sortinglistcontrol.cpp - Implementation of CSortingListItem and CSortingListControl +// +// WinDirStat - Directory Statistics +// Copyright (C) 2003-2005 Bernhard Seifert +// Copyright (C) 2004-2016 WinDirStat team (windirstat.info) +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation; either version 2 of the License, or +// (at your option) any later version. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +// +// + +#include "stdafx.h" +#include "windirstat.h" +#include "sortinglistcontrol.h" + +#ifdef _DEBUG +#define new DEBUG_NEW +#endif + +///////////////////////////////////////////////////////////////////////////// + +CString CSortingListItem::GetText(int subitem) const +{ + // Dummy implementation + CString s; + s.Format(_T("subitem %d"), subitem); + return s; +} + +int CSortingListItem::GetImage() const +{ + // Dummy implementation + return 0; +} + +// Return value: +// <= -2: this is less than other regardless of ascending flag +// -1: this is less than other +// 0: this equals other +// +1: this is greater than other +// >= +1: this is greater than other regardless of ascending flag. +// +int CSortingListItem::Compare(const CSortingListItem *other, int subitem) const +{ + // Default implementation compares strings + return signum(GetText(subitem).CompareNoCase(other->GetText(subitem))); +} + +// TODO: check how suitable those are for Unicode-only strings (say Russian) +int CSortingListItem::CompareS(const CSortingListItem *other, const SSorting& sorting) const +{ + int r = Compare(other, sorting.column1); + if(abs(r) < 2 && !sorting.ascending1) + { + r = -r; + } + + if(r == 0 && sorting.column2 != sorting.column1) + { + r = Compare(other, sorting.column2); + if(abs(r) < 2 && !sorting.ascending2) + { + r = -r; + } + } + return r; +} + + + +///////////////////////////////////////////////////////////////////////////// + +IMPLEMENT_DYNAMIC(CSortingListControl, CListCtrl) + +CSortingListControl::CSortingListControl(LPCTSTR name) +{ + m_name = name; + m_indicatedColumn = -1; +} + +CSortingListControl::~CSortingListControl() +{ +} + +void CSortingListControl::LoadPersistentAttributes() +{ + int i = 0; + CArray<int, int> arr; + arr.SetSize(GetHeaderCtrl()->GetItemCount()); + + GetColumnOrderArray(arr.GetData(), arr.GetSize()); + CPersistence::GetColumnOrder(m_name, arr); + SetColumnOrderArray(int(arr.GetSize()), arr.GetData()); + + for(i = 0; i < arr.GetSize(); i++) + { + arr[i]= GetColumnWidth(i); + } + CPersistence::GetColumnWidths(m_name, arr); + for(i = 0; i < arr.GetSize(); i++) + { + // To avoid "insane" settings we set the column width to + // maximal twice the default width. + int maxWidth = GetColumnWidth(i) * 2; + int w = min(arr[i], maxWidth); + SetColumnWidth(i, w); + } + + // Not so good: CPersistence::GetSorting(m_name, GetHeaderCtrl()->GetItemCount(), m_sorting.column1, m_sorting.ascending1, m_sorting.column2, m_sorting.ascending2); + // We refrain from saving the sorting because it is too likely, that + // users start up with insane settings and don't get it. +} + +void CSortingListControl::SavePersistentAttributes() +{ + CArray<int, int> arr; + arr.SetSize(GetHeaderCtrl()->GetItemCount()); + + GetColumnOrderArray(arr.GetData(), arr.GetSize()); + CPersistence::SetColumnOrder(m_name, arr); + + for(int i = 0; i < arr.GetSize(); i++) + { + arr[i]= GetColumnWidth(i); + } + CPersistence::SetColumnWidths(m_name, arr); + + // Not so good: CPersistence::SetSorting(m_name, m_sorting.column1, m_sorting.ascending1, m_sorting.column2, m_sorting.ascending2); +} + +void CSortingListControl::AddExtendedStyle(DWORD exStyle) +{ + SetExtendedStyle(GetExtendedStyle() | exStyle); +} + +void CSortingListControl::RemoveExtendedStyle(DWORD exStyle) +{ + SetExtendedStyle(GetExtendedStyle() & ~exStyle); +} + + +const SSorting& CSortingListControl::GetSorting() +{ + return m_sorting; +} + +void CSortingListControl::SetSorting(const SSorting& sorting) +{ + m_sorting = sorting; +} + +void CSortingListControl::SetSorting(int sortColumn1, bool ascending1, int sortColumn2, bool ascending2) +{ + m_sorting.column1 = sortColumn1; + m_sorting.ascending1 = ascending1; + m_sorting.column2 = sortColumn2; + m_sorting.ascending2 = ascending2; +} + +void CSortingListControl::SetSorting(int sortColumn, bool ascending) +{ + m_sorting.column2 = m_sorting.column1; + m_sorting.ascending2 = m_sorting.ascending1; + m_sorting.column1 = sortColumn; + m_sorting.ascending1 = ascending; +} + +void CSortingListControl::InsertListItem(int i, CSortingListItem *item) +{ + LVITEM lvitem; + ZeroMemory(&lvitem, sizeof(lvitem)); + + lvitem.mask = LVIF_TEXT | LVIF_PARAM; + if(HasImages()) + { + lvitem.mask |= LVIF_IMAGE; + } + + lvitem.iItem = i; + lvitem.pszText = LPSTR_TEXTCALLBACK; + lvitem.iImage = I_IMAGECALLBACK; + lvitem.lParam = (LPARAM)item; + + VERIFY(i == CListCtrl::InsertItem(&lvitem)); +} + +CSortingListItem *CSortingListControl::GetSortingListItem(int i) +{ + return (CSortingListItem *)GetItemData(i); +} + +void CSortingListControl::SortItems() +{ + VERIFY(CListCtrl::SortItems(&_CompareFunc, (DWORD_PTR)&m_sorting)); + + HDITEM hditem; + ZeroMemory(&hditem, sizeof(hditem)); + + if(m_indicatedColumn != -1) + { + CString text; + hditem.mask = HDI_TEXT; + hditem.pszText = text.GetBuffer(256); + hditem.cchTextMax = 256; + GetHeaderCtrl()->GetItem(m_indicatedColumn, &hditem); + text.ReleaseBuffer(); + text = text.Mid(2); + hditem.pszText = (LPTSTR)(LPCTSTR)text; + GetHeaderCtrl()->SetItem(m_indicatedColumn, &hditem); + } + + CString text; + hditem.mask = HDI_TEXT; + hditem.pszText = text.GetBuffer(256); + hditem.cchTextMax = 256; + GetHeaderCtrl()->GetItem(m_sorting.column1, &hditem); + text.ReleaseBuffer(); + text = (m_sorting.ascending1 ? _T("< ") : _T("> ")) + text; + hditem.pszText = (LPTSTR)(LPCTSTR)text; + GetHeaderCtrl()->SetItem(m_sorting.column1, &hditem); + m_indicatedColumn = m_sorting.column1; +} + +bool CSortingListControl::GetAscendingDefault(int /*column*/) +{ + return true; +} + +bool CSortingListControl::HasImages() +{ + return false; +} + +# if (_MFC_VER <=0x0800) +BOOL CSortingListControl::GetColumnOrderArray(LPINT piArray, INT_PTR iCount) +{ + ASSERT(iCount <= INT_MAX); + return dynamic_cast<CListCtrl*>(this)->GetColumnOrderArray(piArray, (int)iCount); +} +# endif + +int CALLBACK CSortingListControl::_CompareFunc(LPARAM lParam1, LPARAM lParam2, LPARAM lParamSort) +{ + CSortingListItem *item1 = (CSortingListItem *)lParam1; + CSortingListItem *item2 = (CSortingListItem *)lParam2; + SSorting *sorting = (SSorting *)lParamSort; + + return item1->CompareS(item2, *sorting); +} + +BEGIN_MESSAGE_MAP(CSortingListControl, CListCtrl) + ON_NOTIFY_REFLECT(LVN_GETDISPINFO, OnLvnGetdispinfo) + ON_NOTIFY(HDN_ITEMCLICKA, 0, OnHdnItemclick) + ON_NOTIFY(HDN_ITEMCLICKW, 0, OnHdnItemclick) + ON_NOTIFY(HDN_ITEMDBLCLICKA, 0, OnHdnItemdblclick) + ON_NOTIFY(HDN_ITEMDBLCLICKW, 0, OnHdnItemdblclick) + ON_WM_DESTROY() +END_MESSAGE_MAP() + +void CSortingListControl::OnLvnGetdispinfo(NMHDR *pNMHDR, LRESULT *pResult) +{ + NMLVDISPINFO *di = reinterpret_cast<NMLVDISPINFO*>(pNMHDR); + *pResult = 0; + + CSortingListItem *item = (CSortingListItem *)(di->item.lParam); + + if((di->item.mask & LVIF_TEXT) != 0) + { + _tcscpy_s(di->item.pszText, di->item.cchTextMax, item->GetText(di->item.iSubItem)); + } + + if((di->item.mask & LVIF_IMAGE) != 0) + { + di->item.iImage = item->GetImage(); + } +} + +void CSortingListControl::OnHdnItemclick(NMHDR *pNMHDR, LRESULT *pResult) +{ + LPNMHEADER phdr = reinterpret_cast<LPNMHEADER>(pNMHDR); + *pResult = 0; + const int col = phdr->iItem; + + if(col == m_sorting.column1) + { + m_sorting.ascending1 = !m_sorting.ascending1; + } + else + { + SetSorting(col, GetAscendingDefault(col)); + } + + SortItems(); +} + + +void CSortingListControl::OnHdnItemdblclick(NMHDR *pNMHDR, LRESULT *pResult) +{ + OnHdnItemclick(pNMHDR, pResult); +} + +void CSortingListControl::OnDestroy() +{ + SavePersistentAttributes(); + CListCtrl::OnDestroy(); +} diff --git a/windirstat/Controls/sortinglistcontrol.h b/windirstat/Controls/sortinglistcontrol.h index 8f0acde..3a2c82f 100644 --- a/windirstat/Controls/sortinglistcontrol.h +++ b/windirstat/Controls/sortinglistcontrol.h @@ -1,111 +1,111 @@ -// sortinglistcontrol.h - Declaration of CSortingListItem and CSortingListControl
-//
-// WinDirStat - Directory Statistics
-// Copyright (C) 2003-2005 Bernhard Seifert
-// Copyright (C) 2004-2016 WinDirStat team (windirstat.info)
-//
-// This program is free software; you can redistribute it and/or modify
-// it under the terms of the GNU General Public License as published by
-// the Free Software Foundation; either version 2 of the License, or
-// (at your option) any later version.
-//
-// This program is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-// GNU General Public License for more details.
-//
-// You should have received a copy of the GNU General Public License
-// along with this program; if not, write to the Free Software
-// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
-//
-//
-
-#ifndef __WDS_SORTINGLISTCONTROL_H__
-#define __WDS_SORTINGLISTCONTROL_H__
-#pragma once
-
-//
-// SSorting. A sorting specification. We sort by column1, and if two items
-// equal in column1, we sort them by column2.
-//
-struct SSorting
-{
- SSorting() { column1 = column2 = 0; ascending1 = ascending2 = true; }
- int column1;
- bool ascending1;
- int column2;
- bool ascending2;
-};
-
-//
-// CSortingListItem. An item in a CSortingListControl.
-//
-class CSortingListItem
-{
-public:
- virtual CString GetText(int subitem) const;
- virtual int GetImage() const;
- virtual int Compare(const CSortingListItem *other, int subitem) const;
- int CompareS(const CSortingListItem *other, const SSorting& sorting) const;
-};
-
-
-//
-// CSortingListControl. The base class for all our ListControls.
-// The lParams of the items are pointers to CSortingListItems.
-// The items use LPSTR_TEXTCALLBACK and I_IMAGECALLBACK.
-// And the items can compare to one another.
-// CSortingListControl maintains a SSorting and handles clicks
-// on the header items. It also indicates the sorting to the user
-// by adding a "<" or ">" to the header items.
-//
-class CSortingListControl: public CListCtrl
-{
- DECLARE_DYNAMIC(CSortingListControl)
-public:
- // Construction
- CSortingListControl(LPCTSTR name);
- virtual ~CSortingListControl();
-
- // Public methods
- void LoadPersistentAttributes();
-
- void AddExtendedStyle(DWORD exStyle);
- void RemoveExtendedStyle(DWORD exStyle);
-
- const SSorting& GetSorting();
- void GetSorting(int& sortColumn1, bool& ascending1, int& sortColumn2, bool& ascending2);
-
- void SetSorting(const SSorting& sorting);
- void SetSorting(int sortColumn1, bool ascending1, int sortColumn2, bool ascending2);
- void SetSorting(int sortColumn, bool ascending);
-
- void InsertListItem(int i, CSortingListItem *item);
- CSortingListItem *GetSortingListItem(int i);
-
- // Overridables
- virtual void SortItems();
- virtual bool GetAscendingDefault(int column);
- virtual bool HasImages();
-
-# if (_MFC_VER <=0x0800)
- BOOL GetColumnOrderArray(LPINT piArray, INT_PTR iCount = -1);
-# endif
-
-private:
- void SavePersistentAttributes();
- static int CALLBACK _CompareFunc(LPARAM lParam1, LPARAM lParam2, LPARAM lParamSort);
-
- CString m_name; // for persistence
- SSorting m_sorting;
-
- int m_indicatedColumn;
-
- DECLARE_MESSAGE_MAP()
- afx_msg void OnLvnGetdispinfo(NMHDR *pNMHDR, LRESULT *pResult);
- afx_msg void OnHdnItemclick(NMHDR *pNMHDR, LRESULT *pResult);
- afx_msg void OnHdnItemdblclick(NMHDR *pNMHDR, LRESULT *pResult);
- afx_msg void OnDestroy();
-};
-
-#endif // __WDS_SORTINGLISTCONTROL_H__
+// sortinglistcontrol.h - Declaration of CSortingListItem and CSortingListControl +// +// WinDirStat - Directory Statistics +// Copyright (C) 2003-2005 Bernhard Seifert +// Copyright (C) 2004-2016 WinDirStat team (windirstat.info) +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation; either version 2 of the License, or +// (at your option) any later version. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +// +// + +#ifndef __WDS_SORTINGLISTCONTROL_H__ +#define __WDS_SORTINGLISTCONTROL_H__ +#pragma once + +// +// SSorting. A sorting specification. We sort by column1, and if two items +// equal in column1, we sort them by column2. +// +struct SSorting +{ + SSorting() { column1 = column2 = 0; ascending1 = ascending2 = true; } + int column1; + bool ascending1; + int column2; + bool ascending2; +}; + +// +// CSortingListItem. An item in a CSortingListControl. +// +class CSortingListItem +{ +public: + virtual CString GetText(int subitem) const; + virtual int GetImage() const; + virtual int Compare(const CSortingListItem *other, int subitem) const; + int CompareS(const CSortingListItem *other, const SSorting& sorting) const; +}; + + +// +// CSortingListControl. The base class for all our ListControls. +// The lParams of the items are pointers to CSortingListItems. +// The items use LPSTR_TEXTCALLBACK and I_IMAGECALLBACK. +// And the items can compare to one another. +// CSortingListControl maintains a SSorting and handles clicks +// on the header items. It also indicates the sorting to the user +// by adding a "<" or ">" to the header items. +// +class CSortingListControl: public CListCtrl +{ + DECLARE_DYNAMIC(CSortingListControl) +public: + // Construction + CSortingListControl(LPCTSTR name); + virtual ~CSortingListControl(); + + // Public methods + void LoadPersistentAttributes(); + + void AddExtendedStyle(DWORD exStyle); + void RemoveExtendedStyle(DWORD exStyle); + + const SSorting& GetSorting(); + void GetSorting(int& sortColumn1, bool& ascending1, int& sortColumn2, bool& ascending2); + + void SetSorting(const SSorting& sorting); + void SetSorting(int sortColumn1, bool ascending1, int sortColumn2, bool ascending2); + void SetSorting(int sortColumn, bool ascending); + + void InsertListItem(int i, CSortingListItem *item); + CSortingListItem *GetSortingListItem(int i); + + // Overridables + virtual void SortItems(); + virtual bool GetAscendingDefault(int column); + virtual bool HasImages(); + +# if (_MFC_VER <=0x0800) + BOOL GetColumnOrderArray(LPINT piArray, INT_PTR iCount = -1); +# endif + +private: + void SavePersistentAttributes(); + static int CALLBACK _CompareFunc(LPARAM lParam1, LPARAM lParam2, LPARAM lParamSort); + + CString m_name; // for persistence + SSorting m_sorting; + + int m_indicatedColumn; + + DECLARE_MESSAGE_MAP() + afx_msg void OnLvnGetdispinfo(NMHDR *pNMHDR, LRESULT *pResult); + afx_msg void OnHdnItemclick(NMHDR *pNMHDR, LRESULT *pResult); + afx_msg void OnHdnItemdblclick(NMHDR *pNMHDR, LRESULT *pResult); + afx_msg void OnDestroy(); +}; + +#endif // __WDS_SORTINGLISTCONTROL_H__ diff --git a/windirstat/Controls/treemap.cpp b/windirstat/Controls/treemap.cpp index 8cfce56..0264f5d 100644 --- a/windirstat/Controls/treemap.cpp +++ b/windirstat/Controls/treemap.cpp @@ -17,7 +17,7 @@ // You should have received a copy of the GNU General Public License // along with this program; if not, write to the Free Software // Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA -//
+// #include "stdafx.h" #include "treemap.h" diff --git a/windirstat/Controls/treemap.h b/windirstat/Controls/treemap.h index 28bbf3c..99cfe48 100644 --- a/windirstat/Controls/treemap.h +++ b/windirstat/Controls/treemap.h @@ -17,7 +17,7 @@ // You should have received a copy of the GNU General Public License // along with this program; if not, write to the Free Software // Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA -//
+// #ifndef __WDS_TREEMAP_H__ #define __WDS_TREEMAP_H__ diff --git a/windirstat/Controls/typeview.cpp b/windirstat/Controls/typeview.cpp index e49c359..6618dd4 100644 --- a/windirstat/Controls/typeview.cpp +++ b/windirstat/Controls/typeview.cpp @@ -17,7 +17,7 @@ // You should have received a copy of the GNU General Public License // along with this program; if not, write to the Free Software // Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA -//
+// #include "stdafx.h" #include "windirstat.h" diff --git a/windirstat/Controls/typeview.h b/windirstat/Controls/typeview.h index 3ed260d..a1c215a 100644 --- a/windirstat/Controls/typeview.h +++ b/windirstat/Controls/typeview.h @@ -17,7 +17,7 @@ // You should have received a copy of the GNU General Public License // along with this program; if not, write to the Free Software // Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA -//
+// #ifndef __WDS_TYPEVIEW_H__ #define __WDS_TYPEVIEW_H__ diff --git a/windirstat/Controls/xyslider.cpp b/windirstat/Controls/xyslider.cpp index 5cc4793..ac405eb 100644 --- a/windirstat/Controls/xyslider.cpp +++ b/windirstat/Controls/xyslider.cpp @@ -17,7 +17,7 @@ // You should have received a copy of the GNU General Public License // along with this program; if not, write to the Free Software // Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA -//
+// #include "stdafx.h" #include "xyslider.h" diff --git a/windirstat/Controls/xyslider.h b/windirstat/Controls/xyslider.h index 8fd9247..c048852 100644 --- a/windirstat/Controls/xyslider.h +++ b/windirstat/Controls/xyslider.h @@ -17,7 +17,7 @@ // You should have received a copy of the GNU General Public License // along with this program; if not, write to the Free Software // Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA -//
+// #ifndef __WDS_XYSLIDER_H__ #define __WDS_XYSLIDER_H__ diff --git a/windirstat/Dialogs/AboutDlg.h b/windirstat/Dialogs/AboutDlg.h index ef37721..0b59154 100644 --- a/windirstat/Dialogs/AboutDlg.h +++ b/windirstat/Dialogs/AboutDlg.h @@ -17,7 +17,7 @@ // You should have received a copy of the GNU General Public License // along with this program; if not, write to the Free Software // Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA -//
+// #ifndef __WDS_ABOUTDLG_H__ #define __WDS_ABOUTDLG_H__ diff --git a/windirstat/Dialogs/DeleteWarningDlg.cpp b/windirstat/Dialogs/DeleteWarningDlg.cpp index dc2f997..a8b8dd8 100644 --- a/windirstat/Dialogs/DeleteWarningDlg.cpp +++ b/windirstat/Dialogs/DeleteWarningDlg.cpp @@ -17,7 +17,7 @@ // You should have received a copy of the GNU General Public License // along with this program; if not, write to the Free Software // Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA -//
+// #include "stdafx.h" #include "windirstat.h" diff --git a/windirstat/Dialogs/DeleteWarningDlg.h b/windirstat/Dialogs/DeleteWarningDlg.h index c222d84..261b1f7 100644 --- a/windirstat/Dialogs/DeleteWarningDlg.h +++ b/windirstat/Dialogs/DeleteWarningDlg.h @@ -17,7 +17,7 @@ // You should have received a copy of the GNU General Public License // along with this program; if not, write to the Free Software // Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA -//
+// #pragma once diff --git a/windirstat/Dialogs/SelectDrivesDlg.cpp b/windirstat/Dialogs/SelectDrivesDlg.cpp index c3f66f5..1620dfb 100644 --- a/windirstat/Dialogs/SelectDrivesDlg.cpp +++ b/windirstat/Dialogs/SelectDrivesDlg.cpp @@ -17,7 +17,7 @@ // You should have received a copy of the GNU General Public License // along with this program; if not, write to the Free Software // Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA -//
+// #include "stdafx.h" #include "windirstat.h" diff --git a/windirstat/Dialogs/SelectDrivesDlg.h b/windirstat/Dialogs/SelectDrivesDlg.h index fe881dd..c0911a0 100644 --- a/windirstat/Dialogs/SelectDrivesDlg.h +++ b/windirstat/Dialogs/SelectDrivesDlg.h @@ -17,7 +17,7 @@ // You should have received a copy of the GNU General Public License // along with this program; if not, write to the Free Software // Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA -//
+// #ifndef __WDS_SELECTDRIVESDLG_H__ #define __WDS_SELECTDRIVESDLG_H__ diff --git a/windirstat/Dialogs/aboutdlg.cpp b/windirstat/Dialogs/aboutdlg.cpp index f7dd963..1d1f39d 100644 --- a/windirstat/Dialogs/aboutdlg.cpp +++ b/windirstat/Dialogs/aboutdlg.cpp @@ -17,7 +17,7 @@ // You should have received a copy of the GNU General Public License // along with this program; if not, write to the Free Software // Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA -//
+// #include "stdafx.h" #include "windirstat.h" diff --git a/windirstat/FileFindWDS.cpp b/windirstat/FileFindWDS.cpp index 82ec9cf..4d29bb7 100644 --- a/windirstat/FileFindWDS.cpp +++ b/windirstat/FileFindWDS.cpp @@ -17,7 +17,7 @@ // You should have received a copy of the GNU General Public License // along with this program; if not, write to the Free Software // Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA -//
+// #include "StdAfx.h" #include "FileFindWDS.h" diff --git a/windirstat/FileFindWDS.h b/windirstat/FileFindWDS.h index 40c457e..1405588 100644 --- a/windirstat/FileFindWDS.h +++ b/windirstat/FileFindWDS.h @@ -17,7 +17,7 @@ // You should have received a copy of the GNU General Public License // along with this program; if not, write to the Free Software // Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA -//
+// #ifndef __WDS_FILEFINDWDS_H__ #define __WDS_FILEFINDWDS_H__ diff --git a/windirstat/ModalApiShuttle.cpp b/windirstat/ModalApiShuttle.cpp index 3cf1edd..da8f50f 100644 --- a/windirstat/ModalApiShuttle.cpp +++ b/windirstat/ModalApiShuttle.cpp @@ -17,7 +17,7 @@ // You should have received a copy of the GNU General Public License // along with this program; if not, write to the Free Software // Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA -//
+// #include "stdafx.h" #include "windirstat.h" diff --git a/windirstat/ModalApiShuttle.h b/windirstat/ModalApiShuttle.h index a488997..f970127 100644 --- a/windirstat/ModalApiShuttle.h +++ b/windirstat/ModalApiShuttle.h @@ -17,7 +17,7 @@ // You should have received a copy of the GNU General Public License // along with this program; if not, write to the Free Software // Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA -//
+// #ifndef __WDS_MODALAPISHUTTLE_H__ #define __WDS_MODALAPISHUTTLE_H__ diff --git a/windirstat/ModalShellApi.cpp b/windirstat/ModalShellApi.cpp index 5d1c65a..fd752ad 100644 --- a/windirstat/ModalShellApi.cpp +++ b/windirstat/ModalShellApi.cpp @@ -17,7 +17,7 @@ // You should have received a copy of the GNU General Public License // along with this program; if not, write to the Free Software // Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA -//
+// #include "stdafx.h" #include "windirstat.h" diff --git a/windirstat/ModalShellApi.h b/windirstat/ModalShellApi.h index 0bd2434..c6c0122 100644 --- a/windirstat/ModalShellApi.h +++ b/windirstat/ModalShellApi.h @@ -17,7 +17,7 @@ // You should have received a copy of the GNU General Public License // along with this program; if not, write to the Free Software // Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA -//
+// #ifndef __WDS_MODALSHELLAPI_H__ #define __WDS_MODALSHELLAPI_H__ diff --git a/windirstat/PageCleanups.cpp b/windirstat/PageCleanups.cpp index 845ec53..838d1e6 100644 --- a/windirstat/PageCleanups.cpp +++ b/windirstat/PageCleanups.cpp @@ -17,7 +17,7 @@ // You should have received a copy of the GNU General Public License // along with this program; if not, write to the Free Software // Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA -//
+// #include "stdafx.h" #include "windirstat.h" diff --git a/windirstat/PageCleanups.h b/windirstat/PageCleanups.h index 30c58de..d0e2121 100644 --- a/windirstat/PageCleanups.h +++ b/windirstat/PageCleanups.h @@ -17,7 +17,7 @@ // You should have received a copy of the GNU General Public License // along with this program; if not, write to the Free Software // Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA -//
+// #ifndef __WDS_PAGECLEANUPS_H__ #define __WDS_PAGECLEANUPS_H__ diff --git a/windirstat/PageGeneral.cpp b/windirstat/PageGeneral.cpp index 1d34168..4fd72a4 100644 --- a/windirstat/PageGeneral.cpp +++ b/windirstat/PageGeneral.cpp @@ -17,7 +17,7 @@ // You should have received a copy of the GNU General Public License // along with this program; if not, write to the Free Software // Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA -//
+// #include "stdafx.h" #include "windirstat.h" diff --git a/windirstat/PageGeneral.h b/windirstat/PageGeneral.h index 458afc5..e451f2c 100644 --- a/windirstat/PageGeneral.h +++ b/windirstat/PageGeneral.h @@ -17,7 +17,7 @@ // You should have received a copy of the GNU General Public License // along with this program; if not, write to the Free Software // Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA -//
+// #ifndef __WDS_PAGEGENERAL_H__ #define __WDS_PAGEGENERAL_H__ diff --git a/windirstat/PageTreelist.cpp b/windirstat/PageTreelist.cpp index 2266f7c..8bdfef8 100644 --- a/windirstat/PageTreelist.cpp +++ b/windirstat/PageTreelist.cpp @@ -17,7 +17,7 @@ // You should have received a copy of the GNU General Public License // along with this program; if not, write to the Free Software // Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA -//
+// #include "stdafx.h" #include "windirstat.h" diff --git a/windirstat/PageTreelist.h b/windirstat/PageTreelist.h index 9aff869..c490e1d 100644 --- a/windirstat/PageTreelist.h +++ b/windirstat/PageTreelist.h @@ -17,7 +17,7 @@ // You should have received a copy of the GNU General Public License // along with this program; if not, write to the Free Software // Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA -//
+// #ifndef __WDS_PAGETREELIST_H__ #define __WDS_PAGETREELIST_H__ diff --git a/windirstat/PageTreemap.cpp b/windirstat/PageTreemap.cpp index d74301d..d2034fe 100644 --- a/windirstat/PageTreemap.cpp +++ b/windirstat/PageTreemap.cpp @@ -17,7 +17,7 @@ // You should have received a copy of the GNU General Public License // along with this program; if not, write to the Free Software // Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA -//
+// #include "stdafx.h" #include "windirstat.h" diff --git a/windirstat/PageTreemap.h b/windirstat/PageTreemap.h index 0c9d7cb..cfeb4de 100644 --- a/windirstat/PageTreemap.h +++ b/windirstat/PageTreemap.h @@ -17,7 +17,7 @@ // You should have received a copy of the GNU General Public License // along with this program; if not, write to the Free Software // Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA -//
+// #ifndef __WDS_PAGETREEMAP_H__ #define __WDS_PAGETREEMAP_H__ diff --git a/windirstat/WDS_Lua_C.c b/windirstat/WDS_Lua_C.c index da6b78f..7d12dc7 100644 --- a/windirstat/WDS_Lua_C.c +++ b/windirstat/WDS_Lua_C.c @@ -1,61 +1,61 @@ -#define luaall_c
-#define LUA_CORE
-#include "WDS_Lua_C.h"
-
-#ifdef _WIN64
-# pragma warning(push)
-# pragma warning(disable:4324)
-# pragma warning(disable:4334)
-#endif
-
-// Modules/Packages, individual functions
-#include "modules/winreg.c"
-#include "modules/isadmin.c"
-#include "modules/wow64.c"
-#include "modules/dbgprint.c"
-#include "modules/w32resembed.c"
-
-// Cheat a bit to redefine the list of "default" libraries ...
-#ifndef WDS_LUA_NO_INIT
-static const luaL_Reg lualibs[] = {
- {"", luaopen_base},
- {LUA_LOADLIBNAME, luaopen_package},
- {LUA_TABLIBNAME, luaopen_table},
- {LUA_IOLIBNAME, luaopen_io},
- {LUA_OSLIBNAME, luaopen_os},
- {LUA_STRLIBNAME, luaopen_string},
- {LUA_MATHLIBNAME, luaopen_math},
- {LUA_DBLIBNAME, luaopen_debug},
- {LUA_WINREGNAME, luaopen_winreg},
- {NULL, NULL},
-};
-
-static void luaWDS_openlibs_(lua_State *L)
-{
- const luaL_Reg *lib = lualibs;
- for (; lib->func; lib++) {
- lua_pushcfunction(L, lib->func);
- lua_pushstring(L, lib->name);
- lua_call(L, 1, 0);
- }
-}
-#endif // WDS_LUA_NO_INIT // otherwise the implementer needs to define her own version ;)
-
-lua_State* luaWDS_open()
-{
- lua_State* L = lua_open();
- if(L)
- {
- lua_gc(L, LUA_GCSTOP, 0); /* stop collector during initialization */
- luaWDS_openlibs_(L); /* open libraries */
- luaL_register(L, LUA_OSLIBNAME, wow64_funcs);
- luaL_register(L, LUA_OSLIBNAME, isadmin_funcs);
- luaL_register(L, LUA_OSLIBNAME, dbgprint_funcs);
- lua_gc(L, LUA_GCRESTART, 0); /* resume GC */
- }
- return L;
-}
-
-#ifdef _WIN64
-# pragma warning(pop)
-#endif
+#define luaall_c +#define LUA_CORE +#include "WDS_Lua_C.h" + +#ifdef _WIN64 +# pragma warning(push) +# pragma warning(disable:4324) +# pragma warning(disable:4334) +#endif + +// Modules/Packages, individual functions +#include "modules/winreg.c" +#include "modules/isadmin.c" +#include "modules/wow64.c" +#include "modules/dbgprint.c" +#include "modules/w32resembed.c" + +// Cheat a bit to redefine the list of "default" libraries ... +#ifndef WDS_LUA_NO_INIT +static const luaL_Reg lualibs[] = { + {"", luaopen_base}, + {LUA_LOADLIBNAME, luaopen_package}, + {LUA_TABLIBNAME, luaopen_table}, + {LUA_IOLIBNAME, luaopen_io}, + {LUA_OSLIBNAME, luaopen_os}, + {LUA_STRLIBNAME, luaopen_string}, + {LUA_MATHLIBNAME, luaopen_math}, + {LUA_DBLIBNAME, luaopen_debug}, + {LUA_WINREGNAME, luaopen_winreg}, + {NULL, NULL}, +}; + +static void luaWDS_openlibs_(lua_State *L) +{ + const luaL_Reg *lib = lualibs; + for (; lib->func; lib++) { + lua_pushcfunction(L, lib->func); + lua_pushstring(L, lib->name); + lua_call(L, 1, 0); + } +} +#endif // WDS_LUA_NO_INIT // otherwise the implementer needs to define her own version ;) + +lua_State* luaWDS_open() +{ + lua_State* L = lua_open(); + if(L) + { + lua_gc(L, LUA_GCSTOP, 0); /* stop collector during initialization */ + luaWDS_openlibs_(L); /* open libraries */ + luaL_register(L, LUA_OSLIBNAME, wow64_funcs); + luaL_register(L, LUA_OSLIBNAME, isadmin_funcs); + luaL_register(L, LUA_OSLIBNAME, dbgprint_funcs); + lua_gc(L, LUA_GCRESTART, 0); /* resume GC */ + } + return L; +} + +#ifdef _WIN64 +# pragma warning(pop) +#endif diff --git a/windirstat/WDS_Lua_C.h b/windirstat/WDS_Lua_C.h index e606875..7908885 100644 --- a/windirstat/WDS_Lua_C.h +++ b/windirstat/WDS_Lua_C.h @@ -1,40 +1,40 @@ -#ifndef __WDS_LUA_C_H_VER__
-#define __WDS_LUA_C_H_VER__ 2012121805
-#if (defined(_MSC_VER) && (_MSC_VER >= 1020)) || defined(__MCPP)
-#pragma once
-#endif // Check for "#pragma once" support
-
-#define LNUM_INT64
-#define WDS_LUA_NO_LUAC
-
-#ifdef __cplusplus
-extern "C"
-{
-#endif // __cplusplus
-# include <lua.h>
-# include <lauxlib.h>
-# include <lualib.h>
- lua_State* luaWDS_open();
-#ifdef __cplusplus
-};
-#endif // __cplusplus
-
-// Modules/Packages headers
-#include "modules/winreg.h"
-#include "modules/lua-winreg/src/lua_tstring.h"
-#include "modules/isadmin.h"
-#include "modules/wow64.h"
-#include "modules/dbgprint.h"
-#include "modules/w32resembed.h"
-
-#ifndef lua_pushtstring_lowercase
- // same as in Lua: s = s:lower() ... with s on the stack afterward
-# define lua_pushtstring_lowercase(L, s) \
- lua_getfield(L, LUA_GLOBALSINDEX, "string"); \
- lua_getfield(L, -1, "lower"); \
- lua_remove(L, -2); \
- lua_pushtstring(L, s); \
- lua_call(L, 1, 1)
-#endif // lua_pushtstring_lowercase
-
-#endif // __WDS_LUA_C_H_VER__
+#ifndef __WDS_LUA_C_H_VER__ +#define __WDS_LUA_C_H_VER__ 2012121805 +#if (defined(_MSC_VER) && (_MSC_VER >= 1020)) || defined(__MCPP) +#pragma once +#endif // Check for "#pragma once" support + +#define LNUM_INT64 +#define WDS_LUA_NO_LUAC + +#ifdef __cplusplus +extern "C" +{ +#endif // __cplusplus +# include <lua.h> +# include <lauxlib.h> +# include <lualib.h> + lua_State* luaWDS_open(); +#ifdef __cplusplus +}; +#endif // __cplusplus + +// Modules/Packages headers +#include "modules/winreg.h" +#include "modules/lua-winreg/src/lua_tstring.h" +#include "modules/isadmin.h" +#include "modules/wow64.h" +#include "modules/dbgprint.h" +#include "modules/w32resembed.h" + +#ifndef lua_pushtstring_lowercase + // same as in Lua: s = s:lower() ... with s on the stack afterward +# define lua_pushtstring_lowercase(L, s) \ + lua_getfield(L, LUA_GLOBALSINDEX, "string"); \ + lua_getfield(L, -1, "lower"); \ + lua_remove(L, -2); \ + lua_pushtstring(L, s); \ + lua_call(L, 1, 1) +#endif // lua_pushtstring_lowercase + +#endif // __WDS_LUA_C_H_VER__ diff --git a/windirstat/WorkLimiter.cpp b/windirstat/WorkLimiter.cpp index 038e21e..398dc79 100644 --- a/windirstat/WorkLimiter.cpp +++ b/windirstat/WorkLimiter.cpp @@ -1,60 +1,60 @@ -#include "stdafx.h"
-#include "WorkLimiter.h"
-
-CWorkLimiter::CWorkLimiter()
- : m_done()
- , m_tickLimit()
- , m_prevTicks()
-{
-}
-
-CWorkLimiter::~CWorkLimiter()
-{
-}
-
-void CWorkLimiter::Start(DWORD ticks)
-{
- DWORD start = Now();
- m_done = false;
- m_tickLimit = start + ticks;
- m_prevTicks = start;
-}
-
-bool CWorkLimiter::IsDone() const
-{
- if (m_done) return true;
-
- // check remaining ticks
- DWORD now = Now();
- // signed subtraction to deal with overflow
- long remaining = m_tickLimit - now;
- if (remaining <= 0)
- {
- m_done = true;
- return true;
- }
-
- // check if there are any pending window messages
- long elapsed = now - m_prevTicks;
- if (elapsed > 10)
- {
- m_prevTicks = now;
- MSG msg; - if (PeekMessage(&msg, NULL, 0, 0, PM_NOREMOVE | PM_QS_INPUT)) - { - m_done = true; - return true; - } - }
-
- return false;
-}
-
-void CWorkLimiter::DoFileWork()
-{
-}
-
-DWORD CWorkLimiter::Now() const
-{
- return ::GetTickCount();
-}
\ No newline at end of file +#include "stdafx.h" +#include "WorkLimiter.h" + +CWorkLimiter::CWorkLimiter() + : m_done() + , m_tickLimit() + , m_prevTicks() +{ +} + +CWorkLimiter::~CWorkLimiter() +{ +} + +void CWorkLimiter::Start(DWORD ticks) +{ + DWORD start = Now(); + m_done = false; + m_tickLimit = start + ticks; + m_prevTicks = start; +} + +bool CWorkLimiter::IsDone() const +{ + if (m_done) return true; + + // check remaining ticks + DWORD now = Now(); + // signed subtraction to deal with overflow + long remaining = m_tickLimit - now; + if (remaining <= 0) + { + m_done = true; + return true; + } + + // check if there are any pending window messages + long elapsed = now - m_prevTicks; + if (elapsed > 10) + { + m_prevTicks = now; + MSG msg; + if (PeekMessage(&msg, NULL, 0, 0, PM_NOREMOVE | PM_QS_INPUT)) + { + m_done = true; + return true; + } + } + + return false; +} + +void CWorkLimiter::DoFileWork() +{ +} + +DWORD CWorkLimiter::Now() const +{ + return ::GetTickCount(); +} diff --git a/windirstat/WorkLimiter.h b/windirstat/WorkLimiter.h index ffda715..c494599 100644 --- a/windirstat/WorkLimiter.h +++ b/windirstat/WorkLimiter.h @@ -17,30 +17,30 @@ // You should have received a copy of the GNU General Public License // along with this program; if not, write to the Free Software // Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA -//
+// #ifndef __WDS_WORKLIMITER_H__ #define __WDS_WORKLIMITER_H__ -#pragma once
-
-#include <WinDef.h>
-
-class CWorkLimiter
-{
-public:
- CWorkLimiter();
- ~CWorkLimiter();
-
- void Start(DWORD ticks);
- bool IsDone() const;
- void DoFileWork();
-
-private:
- DWORD Now() const;
-
-private:
- mutable bool m_done;
- DWORD m_tickLimit;
- mutable DWORD m_prevTicks;
-};
-
+#pragma once + +#include <WinDef.h> + +class CWorkLimiter +{ +public: + CWorkLimiter(); + ~CWorkLimiter(); + + void Start(DWORD ticks); + bool IsDone() const; + void DoFileWork(); + +private: + DWORD Now() const; + +private: + mutable bool m_done; + DWORD m_tickLimit; + mutable DWORD m_prevTicks; +}; + #endif
\ No newline at end of file diff --git a/windirstat/dirstatdoc.cpp b/windirstat/dirstatdoc.cpp index d116f82..1772d03 100644 --- a/windirstat/dirstatdoc.cpp +++ b/windirstat/dirstatdoc.cpp @@ -17,7 +17,7 @@ // You should have received a copy of the GNU General Public License // along with this program; if not, write to the Free Software // Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA -//
+// #include "stdafx.h" #include "windirstat.h" diff --git a/windirstat/dirstatdoc.h b/windirstat/dirstatdoc.h index 6924996..b849980 100644 --- a/windirstat/dirstatdoc.h +++ b/windirstat/dirstatdoc.h @@ -17,7 +17,7 @@ // You should have received a copy of the GNU General Public License // along with this program; if not, write to the Free Software // Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA -//
+// #ifndef __WDS_DIRSTATDOC_H__ #define __WDS_DIRSTATDOC_H__ diff --git a/windirstat/dirstatview.cpp b/windirstat/dirstatview.cpp index 624364a..e8f7d37 100644 --- a/windirstat/dirstatview.cpp +++ b/windirstat/dirstatview.cpp @@ -1,451 +1,451 @@ -// dirstatview.cpp - Implementation of CDirstatView
-//
-// WinDirStat - Directory Statistics
-// Copyright (C) 2003-2005 Bernhard Seifert
-// Copyright (C) 2004-2016 WinDirStat team (windirstat.info)
-//
-// This program is free software; you can redistribute it and/or modify
-// it under the terms of the GNU General Public License as published by
-// the Free Software Foundation; either version 2 of the License, or
-// (at your option) any later version.
-//
-// This program is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-// GNU General Public License for more details.
-//
-// You should have received a copy of the GNU General Public License
-// along with this program; if not, write to the Free Software
-// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
-//
-//
-
-#include "stdafx.h"
-#include "windirstat.h"
-#include "dirstatdoc.h"
-#include "item.h"
-#include "mainframe.h"
-#include "dirstatview.h"
-#include "osspecific.h"
-
-#ifdef _DEBUG
-#define new DEBUG_NEW
-#endif
-
-namespace
-{
- const UINT _nIdTreeListControl = 4711;
-}
-
-CMyTreeListControl::CMyTreeListControl(CDirstatView *dirstatView)
- : CTreeListControl(dirstatView, 20)
-{
-}
-
-bool CMyTreeListControl::GetAscendingDefault(int column)
-{
- return (column == COL_NAME || column == COL_LASTCHANGE);
-}
-
-BEGIN_MESSAGE_MAP(CMyTreeListControl, CTreeListControl)
- ON_WM_CONTEXTMENU()
- ON_WM_SETFOCUS()
- ON_WM_KEYDOWN()
-END_MESSAGE_MAP()
-
-
-void CMyTreeListControl::OnContextMenu(CWnd* /*pWnd*/, CPoint pt)
-{
- int i = GetSelectedItem();
- if(i == -1)
- {
- return;
- }
-
- CTreeListItem *item = GetItem(i);
-
- CRect rc = GetWholeSubitemRect(i, 0);
- CRect rcTitle = item->GetTitleRect() + rc.TopLeft();
-
- CMenu menu;
- menu.LoadMenu(IDR_POPUPLIST);
- CMenu *sub = menu.GetSubMenu(0);
-
- PrepareDefaultMenu(sub, (CItem *)item);
- GetMainFrame()->AppendUserDefinedCleanups(sub);
-
- // Show popup menu and act accordingly.
- //
- // The menu shall not overlap the label but appear
- // horizontally at the cursor position,
- // vertically under (or above) the label.
- // TrackPopupMenuEx() behaves in the desired way, if
- // we exclude the label rectangle extended to full screen width.
- //
- // Thanks to Sven for this compromise between the old WinDirStat
- // behavior (show the menu to the right of the label) and the
- // Explorer behavior (show the menu at the cursor position).
-
- TPMPARAMS tp;
- tp.cbSize = sizeof(tp);
- tp.rcExclude = rcTitle;
- ClientToScreen(&tp.rcExclude);
-
- CRect desktop;
- GetDesktopWindow()->GetWindowRect(desktop);
-
- tp.rcExclude.left = desktop.left;
- tp.rcExclude.right = desktop.right;
-
- const int overlap = 2; // a little vertical overlapping
- tp.rcExclude.top += overlap;
- tp.rcExclude.bottom -= overlap;
-
- sub->TrackPopupMenuEx(TPM_LEFTALIGN | TPM_LEFTBUTTON, pt.x, pt.y, AfxGetMainWnd(), &tp);
-}
-
-void CMyTreeListControl::OnItemDoubleClick(int i)
-{
- const CItem *item = (const CItem *)GetItem(i);
- if(item->GetType() == IT_FILE)
- {
- GetDocument()->OpenItem(item);
- }
- else
- {
- CTreeListControl::OnItemDoubleClick(i);
- }
-}
-
-void CMyTreeListControl::PrepareDefaultMenu(CMenu *menu, const CItem *item)
-{
- if(IsLeaf(item->GetType()))
- {
- menu->DeleteMenu(0, MF_BYPOSITION); // Remove "Expand/Collapse" item
- menu->DeleteMenu(0, MF_BYPOSITION); // Remove separator
- menu->SetDefaultItem(ID_CLEANUP_OPEN, false);
- }
- else
- {
- CString command = LoadString(item->IsExpanded() && item->HasChildren() ? IDS_COLLAPSE : IDS_EXPAND);
- VERIFY(menu->ModifyMenu(ID_POPUP_TOGGLE, MF_BYCOMMAND | MF_STRING, ID_POPUP_TOGGLE, command));
- menu->SetDefaultItem(ID_POPUP_TOGGLE, false);
- }
-}
-
-void CMyTreeListControl::OnSetFocus(CWnd* pOldWnd)
-{
- CTreeListControl::OnSetFocus(pOldWnd);
- GetMainFrame()->SetLogicalFocus(LF_DIRECTORYLIST);
-}
-
-void CMyTreeListControl::OnKeyDown(UINT nChar, UINT nRepCnt, UINT nFlags)
-{
- if(nChar == VK_TAB)
- {
- GetMainFrame()->MoveFocus(LF_EXTENSIONLIST);
- }
- else if(nChar == VK_ESCAPE)
- {
- GetMainFrame()->MoveFocus(LF_NONE);
- }
- CTreeListControl::OnKeyDown(nChar, nRepCnt, nFlags);
-}
-
-/////////////////////////////////////////////////////////////////////////////
-
-IMPLEMENT_DYNCREATE(CDirstatView, CView)
-
-CDirstatView::CDirstatView()
- : m_treeListControl(this)
-{
- m_treeListControl.SetSorting(COL_SUBTREETOTAL, false);
-}
-
-CDirstatView::~CDirstatView()
-{
-}
-
-CString CDirstatView::GenerateReport()
-{
- CString report = GetOptions()->GetReportPrefix() + _T("\r\n");
-
- for(size_t j = 0; j < GetDocument()->GetSelectionCount(); j++)
- {
- CItem *root = GetDocument()->GetSelection(j);
- ASSERT(root != NULL);
- ASSERT(root->IsVisible());
-
- int r = m_treeListControl.FindTreeItem(root);
-
- for(
- int i = r;
- i < m_treeListControl.GetItemCount()
- && (i == r || m_treeListControl.GetItem(i)->GetIndent() > root->GetIndent());
- i++
- )
- {
- CItem *item = (CItem *)m_treeListControl.GetItem(i);
-
- if(item->GetType() == IT_MYCOMPUTER)
- {
- continue;
- }
-
- report.AppendFormat(_T("%s %s\r\n"), PadWidthBlanks(FormatLongLongHuman(item->GetSize()), 11), item->GetReportPath());
- }
- }
- report += _T("\r\n\r\n");
- report += GetOptions()->GetReportSuffix();
-
- return report;
-}
-
-// Just a shortcut for CMainFrame to obtain
-// the small font for the suspend button.
-CFont *CDirstatView::GetSmallFont()
-{
- return m_treeListControl.GetFont();
-}
-
-void CDirstatView::SysColorChanged()
-{
- m_treeListControl.SysColorChanged();
-}
-
-BOOL CDirstatView::PreCreateWindow(CREATESTRUCT& cs)
-{
- return CView::PreCreateWindow(cs);
-}
-
-void CDirstatView::OnInitialUpdate()
-{
- CView::OnInitialUpdate();
-}
-void CDirstatView::OnDraw(CDC* pDC)
-{
- CView::OnDraw(pDC);
-}
-
-#ifdef _DEBUG
-CDirstatDoc* CDirstatView::GetDocument() const // Non debug version is inline
-{
- ASSERT(m_pDocument->IsKindOf(RUNTIME_CLASS(CDirstatDoc)));
- return (CDirstatDoc*)m_pDocument;
-}
-#endif
-
-BEGIN_MESSAGE_MAP(CDirstatView, CView)
- ON_WM_SIZE()
- ON_WM_CREATE()
- ON_WM_ERASEBKGND()
- ON_WM_DESTROY()
- ON_WM_SETFOCUS()
- ON_WM_SETTINGCHANGE()
- ON_NOTIFY(LVN_ITEMCHANGED, _nIdTreeListControl, OnLvnItemchanged)
- ON_UPDATE_COMMAND_UI(ID_POPUP_TOGGLE, OnUpdatePopupToggle)
- ON_COMMAND(ID_POPUP_TOGGLE, OnPopupToggle)
-END_MESSAGE_MAP()
-
-void CDirstatView::OnSize(UINT nType, int cx, int cy)
-{
- CView::OnSize(nType, cx, cy);
- if(::IsWindow(m_treeListControl.m_hWnd))
- {
- CRect rc(0, 0, cx, cy);
- m_treeListControl.MoveWindow(rc);
- }
-}
-
-int CDirstatView::OnCreate(LPCREATESTRUCT lpCreateStruct)
-{
- if(CView::OnCreate(lpCreateStruct) == -1)
- {
- return -1;
- }
-
- RECT rect = { 0, 0, 0, 0 };
- VERIFY(m_treeListControl.CreateEx(LVS_EX_HEADERDRAGDROP, WS_CHILD | WS_VISIBLE | LVS_REPORT | LVS_SHOWSELALWAYS, rect, this, _nIdTreeListControl));
-
- m_treeListControl.ShowGrid(GetOptions()->IsListGrid());
- m_treeListControl.ShowStripes(GetOptions()->IsListStripes());
- m_treeListControl.ShowFullRowSelection(GetOptions()->IsListFullRowSelection());
-
- m_treeListControl.InsertColumn(COL_NAME, LoadString(IDS_TREECOL_NAME), LVCFMT_LEFT, 200, COL_NAME);
- m_treeListControl.InsertColumn(COL_SUBTREEPERCENTAGE, LoadString(IDS_TREECOL_SUBTREEPERCENTAGE), LVCFMT_RIGHT, CItem::GetSubtreePercentageWidth(), COL_SUBTREEPERCENTAGE);
- m_treeListControl.InsertColumn(COL_PERCENTAGE, LoadString(IDS_TREECOL_PERCENTAGE), LVCFMT_RIGHT, 55, COL_PERCENTAGE);
- m_treeListControl.InsertColumn(COL_SUBTREETOTAL, LoadString(IDS_TREECOL_SIZE), LVCFMT_RIGHT, 90, COL_SUBTREETOTAL);
- m_treeListControl.InsertColumn(COL_ITEMS, LoadString(IDS_TREECOL_ITEMS), LVCFMT_RIGHT, 55, COL_ITEMS);
- m_treeListControl.InsertColumn(COL_FILES, LoadString(IDS_TREECOL_FILES), LVCFMT_RIGHT, 55, COL_FILES);
- m_treeListControl.InsertColumn(COL_SUBDIRS, LoadString(IDS_TREECOL_SUBDIRS), LVCFMT_RIGHT, 55, COL_SUBDIRS);
- m_treeListControl.InsertColumn(COL_LASTCHANGE, LoadString(IDS_TREECOL_LASTCHANGE), LVCFMT_LEFT, 120, COL_LASTCHANGE);
- m_treeListControl.InsertColumn(COL_ATTRIBUTES, LoadString(IDS_TREECOL_ATTRIBUTES), LVCFMT_LEFT, 50, COL_ATTRIBUTES);
-
- m_treeListControl.OnColumnsInserted();
-
- m_treeListControl.MySetImageList(GetMyImageList());
-
- return 0;
-}
-
-BOOL CDirstatView::OnEraseBkgnd(CDC* /*pDC*/)
-{
- return true;
-}
-
-void CDirstatView::OnDestroy()
-{
- m_treeListControl.MySetImageList(NULL);
- CView::OnDestroy();
-}
-
-void CDirstatView::OnSetFocus(CWnd* /*pOldWnd*/)
-{
- m_treeListControl.SetFocus();
-}
-
-void CDirstatView::OnSettingChange(UINT uFlags, LPCTSTR lpszSection)
-{
- if(uFlags & SPI_SETNONCLIENTMETRICS)
- {
- FileIconInit(TRUE);
- }
- CView::OnSettingChange(uFlags, lpszSection);
-}
-
-void CDirstatView::OnLvnItemchanged(NMHDR *pNMHDR, LRESULT *pResult)
-{
- LPNMLISTVIEW pNMLV = reinterpret_cast<LPNMLISTVIEW>(pNMHDR);
-
- if((pNMLV->uChanged & LVIF_STATE) != 0)
- {
- if(pNMLV->iItem == -1)
- {
- ASSERT(false); // mal gucken
- }
- else
- {
- // This is not true (don't know why): ASSERT(m_treeListControl.GetItemState(pNMLV->iItem, LVIS_SELECTED) == pNMLV->uNewState);
- bool selected = ((m_treeListControl.GetItemState(pNMLV->iItem, LVIS_SELECTED) & LVIS_SELECTED) != 0);
- CItem *item = (CItem *)m_treeListControl.GetItem(pNMLV->iItem);
- ASSERT(item != NULL);
- if(selected)
- {
- GetDocument()->SetSelection(item);
- GetDocument()->UpdateAllViews(this, HINT_SELECTIONCHANGED);
- }
- }
- }
-
- *pResult = 0;
-}
-
-void CDirstatView::OnUpdate(CView *pSender, LPARAM lHint, CObject *pHint)
-{
- switch (lHint)
- {
- case HINT_NEWROOT:
- {
- m_treeListControl.SetRootItem(GetDocument()->GetRootItem());
- m_treeListControl.Sort();
- m_treeListControl.RedrawItems(0, m_treeListControl.GetItemCount() - 1);
- }
- break;
-
- case HINT_SELECTIONCHANGED:
- {
- // FIXME: Multi-select
- m_treeListControl.DeselectAll();
- for (size_t i = 0; i < GetDocument()->GetSelectionCount(); i++)
- {
- m_treeListControl.SelectItem(GetDocument()->GetSelection(i));
- }
- }
- break;
-
- case HINT_EXTENDSELECTION:
- {
- CItem *item = (CItem *)pHint;
- m_treeListControl.ExtendSelection(item);
- }
-
- case HINT_SHOWNEWSELECTION:
- {
- // FIXME: Multi-select
-// const CItem *item = (const CItem *)pHint;
- }
- break;
-
- case HINT_REDRAWWINDOW:
- {
- m_treeListControl.RedrawWindow();
- }
- break;
-
- case HINT_ZOOMCHANGED:
- {
- CView::OnUpdate(pSender, lHint, pHint);
- }
- break;
-
- case HINT_LISTSTYLECHANGED:
- {
- m_treeListControl.ShowGrid(GetOptions()->IsListGrid());
- m_treeListControl.ShowStripes(GetOptions()->IsListStripes());
- m_treeListControl.ShowFullRowSelection(GetOptions()->IsListFullRowSelection());
- }
- break;
-
- case HINT_SOMEWORKDONE:
- {
- MSG msg;
- while(::PeekMessage(&msg, m_treeListControl, 0, 0, PM_REMOVE))
- {
- if(msg.message == WM_QUIT)
- {
- ::PostQuitMessage(int(msg.wParam));
- break;
- }
- ::TranslateMessage(&msg);
- ::DispatchMessage(&msg);
- }
- }
- // fall through
- case 0:
- {
- m_treeListControl.Sort();
-
- // I decided (from 1.0.1 to 1.0.2) that this is not so good:
- // m_treeListControl.EnsureItemVisible(GetDocument()->GetSelection());
-
- CView::OnUpdate(pSender, lHint, pHint);
- }
- break;
-
- default:
- break;
- }
-}
-
-void CDirstatView::OnUpdatePopupToggle(CCmdUI *pCmdUI)
-{
- pCmdUI->Enable(m_treeListControl.SelectedItemCanToggle());
-}
-
-void CDirstatView::OnPopupToggle()
-{
- m_treeListControl.ToggleSelectedItem();
-}
-
-#ifdef _DEBUG
-void CDirstatView::AssertValid() const
-{
- CView::AssertValid();
-}
-
-void CDirstatView::Dump(CDumpContext& dc) const
-{
- CView::Dump(dc);
-}
-
-#endif //_DEBUG
+// dirstatview.cpp - Implementation of CDirstatView +// +// WinDirStat - Directory Statistics +// Copyright (C) 2003-2005 Bernhard Seifert +// Copyright (C) 2004-2016 WinDirStat team (windirstat.info) +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation; either version 2 of the License, or +// (at your option) any later version. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +// +// + +#include "stdafx.h" +#include "windirstat.h" +#include "dirstatdoc.h" +#include "item.h" +#include "mainframe.h" +#include "dirstatview.h" +#include "osspecific.h" + +#ifdef _DEBUG +#define new DEBUG_NEW +#endif + +namespace +{ + const UINT _nIdTreeListControl = 4711; +} + +CMyTreeListControl::CMyTreeListControl(CDirstatView *dirstatView) + : CTreeListControl(dirstatView, 20) +{ +} + +bool CMyTreeListControl::GetAscendingDefault(int column) +{ + return (column == COL_NAME || column == COL_LASTCHANGE); +} + +BEGIN_MESSAGE_MAP(CMyTreeListControl, CTreeListControl) + ON_WM_CONTEXTMENU() + ON_WM_SETFOCUS() + ON_WM_KEYDOWN() +END_MESSAGE_MAP() + + +void CMyTreeListControl::OnContextMenu(CWnd* /*pWnd*/, CPoint pt) +{ + int i = GetSelectedItem(); + if(i == -1) + { + return; + } + + CTreeListItem *item = GetItem(i); + + CRect rc = GetWholeSubitemRect(i, 0); + CRect rcTitle = item->GetTitleRect() + rc.TopLeft(); + + CMenu menu; + menu.LoadMenu(IDR_POPUPLIST); + CMenu *sub = menu.GetSubMenu(0); + + PrepareDefaultMenu(sub, (CItem *)item); + GetMainFrame()->AppendUserDefinedCleanups(sub); + + // Show popup menu and act accordingly. + // + // The menu shall not overlap the label but appear + // horizontally at the cursor position, + // vertically under (or above) the label. + // TrackPopupMenuEx() behaves in the desired way, if + // we exclude the label rectangle extended to full screen width. + // + // Thanks to Sven for this compromise between the old WinDirStat + // behavior (show the menu to the right of the label) and the + // Explorer behavior (show the menu at the cursor position). + + TPMPARAMS tp; + tp.cbSize = sizeof(tp); + tp.rcExclude = rcTitle; + ClientToScreen(&tp.rcExclude); + + CRect desktop; + GetDesktopWindow()->GetWindowRect(desktop); + + tp.rcExclude.left = desktop.left; + tp.rcExclude.right = desktop.right; + + const int overlap = 2; // a little vertical overlapping + tp.rcExclude.top += overlap; + tp.rcExclude.bottom -= overlap; + + sub->TrackPopupMenuEx(TPM_LEFTALIGN | TPM_LEFTBUTTON, pt.x, pt.y, AfxGetMainWnd(), &tp); +} + +void CMyTreeListControl::OnItemDoubleClick(int i) +{ + const CItem *item = (const CItem *)GetItem(i); + if(item->GetType() == IT_FILE) + { + GetDocument()->OpenItem(item); + } + else + { + CTreeListControl::OnItemDoubleClick(i); + } +} + +void CMyTreeListControl::PrepareDefaultMenu(CMenu *menu, const CItem *item) +{ + if(IsLeaf(item->GetType())) + { + menu->DeleteMenu(0, MF_BYPOSITION); // Remove "Expand/Collapse" item + menu->DeleteMenu(0, MF_BYPOSITION); // Remove separator + menu->SetDefaultItem(ID_CLEANUP_OPEN, false); + } + else + { + CString command = LoadString(item->IsExpanded() && item->HasChildren() ? IDS_COLLAPSE : IDS_EXPAND); + VERIFY(menu->ModifyMenu(ID_POPUP_TOGGLE, MF_BYCOMMAND | MF_STRING, ID_POPUP_TOGGLE, command)); + menu->SetDefaultItem(ID_POPUP_TOGGLE, false); + } +} + +void CMyTreeListControl::OnSetFocus(CWnd* pOldWnd) +{ + CTreeListControl::OnSetFocus(pOldWnd); + GetMainFrame()->SetLogicalFocus(LF_DIRECTORYLIST); +} + +void CMyTreeListControl::OnKeyDown(UINT nChar, UINT nRepCnt, UINT nFlags) +{ + if(nChar == VK_TAB) + { + GetMainFrame()->MoveFocus(LF_EXTENSIONLIST); + } + else if(nChar == VK_ESCAPE) + { + GetMainFrame()->MoveFocus(LF_NONE); + } + CTreeListControl::OnKeyDown(nChar, nRepCnt, nFlags); +} + +///////////////////////////////////////////////////////////////////////////// + +IMPLEMENT_DYNCREATE(CDirstatView, CView) + +CDirstatView::CDirstatView() + : m_treeListControl(this) +{ + m_treeListControl.SetSorting(COL_SUBTREETOTAL, false); +} + +CDirstatView::~CDirstatView() +{ +} + +CString CDirstatView::GenerateReport() +{ + CString report = GetOptions()->GetReportPrefix() + _T("\r\n"); + + for(size_t j = 0; j < GetDocument()->GetSelectionCount(); j++) + { + CItem *root = GetDocument()->GetSelection(j); + ASSERT(root != NULL); + ASSERT(root->IsVisible()); + + int r = m_treeListControl.FindTreeItem(root); + + for( + int i = r; + i < m_treeListControl.GetItemCount() + && (i == r || m_treeListControl.GetItem(i)->GetIndent() > root->GetIndent()); + i++ + ) + { + CItem *item = (CItem *)m_treeListControl.GetItem(i); + + if(item->GetType() == IT_MYCOMPUTER) + { + continue; + } + + report.AppendFormat(_T("%s %s\r\n"), PadWidthBlanks(FormatLongLongHuman(item->GetSize()), 11), item->GetReportPath()); + } + } + report += _T("\r\n\r\n"); + report += GetOptions()->GetReportSuffix(); + + return report; +} + +// Just a shortcut for CMainFrame to obtain +// the small font for the suspend button. +CFont *CDirstatView::GetSmallFont() +{ + return m_treeListControl.GetFont(); +} + +void CDirstatView::SysColorChanged() +{ + m_treeListControl.SysColorChanged(); +} + +BOOL CDirstatView::PreCreateWindow(CREATESTRUCT& cs) +{ + return CView::PreCreateWindow(cs); +} + +void CDirstatView::OnInitialUpdate() +{ + CView::OnInitialUpdate(); +} +void CDirstatView::OnDraw(CDC* pDC) +{ + CView::OnDraw(pDC); +} + +#ifdef _DEBUG +CDirstatDoc* CDirstatView::GetDocument() const // Non debug version is inline +{ + ASSERT(m_pDocument->IsKindOf(RUNTIME_CLASS(CDirstatDoc))); + return (CDirstatDoc*)m_pDocument; +} +#endif + +BEGIN_MESSAGE_MAP(CDirstatView, CView) + ON_WM_SIZE() + ON_WM_CREATE() + ON_WM_ERASEBKGND() + ON_WM_DESTROY() + ON_WM_SETFOCUS() + ON_WM_SETTINGCHANGE() + ON_NOTIFY(LVN_ITEMCHANGED, _nIdTreeListControl, OnLvnItemchanged) + ON_UPDATE_COMMAND_UI(ID_POPUP_TOGGLE, OnUpdatePopupToggle) + ON_COMMAND(ID_POPUP_TOGGLE, OnPopupToggle) +END_MESSAGE_MAP() + +void CDirstatView::OnSize(UINT nType, int cx, int cy) +{ + CView::OnSize(nType, cx, cy); + if(::IsWindow(m_treeListControl.m_hWnd)) + { + CRect rc(0, 0, cx, cy); + m_treeListControl.MoveWindow(rc); + } +} + +int CDirstatView::OnCreate(LPCREATESTRUCT lpCreateStruct) +{ + if(CView::OnCreate(lpCreateStruct) == -1) + { + return -1; + } + + RECT rect = { 0, 0, 0, 0 }; + VERIFY(m_treeListControl.CreateEx(LVS_EX_HEADERDRAGDROP, WS_CHILD | WS_VISIBLE | LVS_REPORT | LVS_SHOWSELALWAYS, rect, this, _nIdTreeListControl)); + + m_treeListControl.ShowGrid(GetOptions()->IsListGrid()); + m_treeListControl.ShowStripes(GetOptions()->IsListStripes()); + m_treeListControl.ShowFullRowSelection(GetOptions()->IsListFullRowSelection()); + + m_treeListControl.InsertColumn(COL_NAME, LoadString(IDS_TREECOL_NAME), LVCFMT_LEFT, 200, COL_NAME); + m_treeListControl.InsertColumn(COL_SUBTREEPERCENTAGE, LoadString(IDS_TREECOL_SUBTREEPERCENTAGE), LVCFMT_RIGHT, CItem::GetSubtreePercentageWidth(), COL_SUBTREEPERCENTAGE); + m_treeListControl.InsertColumn(COL_PERCENTAGE, LoadString(IDS_TREECOL_PERCENTAGE), LVCFMT_RIGHT, 55, COL_PERCENTAGE); + m_treeListControl.InsertColumn(COL_SUBTREETOTAL, LoadString(IDS_TREECOL_SIZE), LVCFMT_RIGHT, 90, COL_SUBTREETOTAL); + m_treeListControl.InsertColumn(COL_ITEMS, LoadString(IDS_TREECOL_ITEMS), LVCFMT_RIGHT, 55, COL_ITEMS); + m_treeListControl.InsertColumn(COL_FILES, LoadString(IDS_TREECOL_FILES), LVCFMT_RIGHT, 55, COL_FILES); + m_treeListControl.InsertColumn(COL_SUBDIRS, LoadString(IDS_TREECOL_SUBDIRS), LVCFMT_RIGHT, 55, COL_SUBDIRS); + m_treeListControl.InsertColumn(COL_LASTCHANGE, LoadString(IDS_TREECOL_LASTCHANGE), LVCFMT_LEFT, 120, COL_LASTCHANGE); + m_treeListControl.InsertColumn(COL_ATTRIBUTES, LoadString(IDS_TREECOL_ATTRIBUTES), LVCFMT_LEFT, 50, COL_ATTRIBUTES); + + m_treeListControl.OnColumnsInserted(); + + m_treeListControl.MySetImageList(GetMyImageList()); + + return 0; +} + +BOOL CDirstatView::OnEraseBkgnd(CDC* /*pDC*/) +{ + return true; +} + +void CDirstatView::OnDestroy() +{ + m_treeListControl.MySetImageList(NULL); + CView::OnDestroy(); +} + +void CDirstatView::OnSetFocus(CWnd* /*pOldWnd*/) +{ + m_treeListControl.SetFocus(); +} + +void CDirstatView::OnSettingChange(UINT uFlags, LPCTSTR lpszSection) +{ + if(uFlags & SPI_SETNONCLIENTMETRICS) + { + FileIconInit(TRUE); + } + CView::OnSettingChange(uFlags, lpszSection); +} + +void CDirstatView::OnLvnItemchanged(NMHDR *pNMHDR, LRESULT *pResult) +{ + LPNMLISTVIEW pNMLV = reinterpret_cast<LPNMLISTVIEW>(pNMHDR); + + if((pNMLV->uChanged & LVIF_STATE) != 0) + { + if(pNMLV->iItem == -1) + { + ASSERT(false); // mal gucken + } + else + { + // This is not true (don't know why): ASSERT(m_treeListControl.GetItemState(pNMLV->iItem, LVIS_SELECTED) == pNMLV->uNewState); + bool selected = ((m_treeListControl.GetItemState(pNMLV->iItem, LVIS_SELECTED) & LVIS_SELECTED) != 0); + CItem *item = (CItem *)m_treeListControl.GetItem(pNMLV->iItem); + ASSERT(item != NULL); + if(selected) + { + GetDocument()->SetSelection(item); + GetDocument()->UpdateAllViews(this, HINT_SELECTIONCHANGED); + } + } + } + + *pResult = 0; +} + +void CDirstatView::OnUpdate(CView *pSender, LPARAM lHint, CObject *pHint) +{ + switch (lHint) + { + case HINT_NEWROOT: + { + m_treeListControl.SetRootItem(GetDocument()->GetRootItem()); + m_treeListControl.Sort(); + m_treeListControl.RedrawItems(0, m_treeListControl.GetItemCount() - 1); + } + break; + + case HINT_SELECTIONCHANGED: + { + // FIXME: Multi-select + m_treeListControl.DeselectAll(); + for (size_t i = 0; i < GetDocument()->GetSelectionCount(); i++) + { + m_treeListControl.SelectItem(GetDocument()->GetSelection(i)); + } + } + break; + + case HINT_EXTENDSELECTION: + { + CItem *item = (CItem *)pHint; + m_treeListControl.ExtendSelection(item); + } + + case HINT_SHOWNEWSELECTION: + { + // FIXME: Multi-select +// const CItem *item = (const CItem *)pHint; + } + break; + + case HINT_REDRAWWINDOW: + { + m_treeListControl.RedrawWindow(); + } + break; + + case HINT_ZOOMCHANGED: + { + CView::OnUpdate(pSender, lHint, pHint); + } + break; + + case HINT_LISTSTYLECHANGED: + { + m_treeListControl.ShowGrid(GetOptions()->IsListGrid()); + m_treeListControl.ShowStripes(GetOptions()->IsListStripes()); + m_treeListControl.ShowFullRowSelection(GetOptions()->IsListFullRowSelection()); + } + break; + + case HINT_SOMEWORKDONE: + { + MSG msg; + while(::PeekMessage(&msg, m_treeListControl, 0, 0, PM_REMOVE)) + { + if(msg.message == WM_QUIT) + { + ::PostQuitMessage(int(msg.wParam)); + break; + } + ::TranslateMessage(&msg); + ::DispatchMessage(&msg); + } + } + // fall through + case 0: + { + m_treeListControl.Sort(); + + // I decided (from 1.0.1 to 1.0.2) that this is not so good: + // m_treeListControl.EnsureItemVisible(GetDocument()->GetSelection()); + + CView::OnUpdate(pSender, lHint, pHint); + } + break; + + default: + break; + } +} + +void CDirstatView::OnUpdatePopupToggle(CCmdUI *pCmdUI) +{ + pCmdUI->Enable(m_treeListControl.SelectedItemCanToggle()); +} + +void CDirstatView::OnPopupToggle() +{ + m_treeListControl.ToggleSelectedItem(); +} + +#ifdef _DEBUG +void CDirstatView::AssertValid() const +{ + CView::AssertValid(); +} + +void CDirstatView::Dump(CDumpContext& dc) const +{ + CView::Dump(dc); +} + +#endif //_DEBUG diff --git a/windirstat/dirstatview.h b/windirstat/dirstatview.h index c181d10..91d2aa1 100644 --- a/windirstat/dirstatview.h +++ b/windirstat/dirstatview.h @@ -1,105 +1,105 @@ -// dirstatview.h - Declaration of CMyTreeListControl and CDirstatView
-//
-// WinDirStat - Directory Statistics
-// Copyright (C) 2003-2005 Bernhard Seifert
-// Copyright (C) 2004-2016 WinDirStat team (windirstat.info)
-//
-// This program is free software; you can redistribute it and/or modify
-// it under the terms of the GNU General Public License as published by
-// the Free Software Foundation; either version 2 of the License, or
-// (at your option) any later version.
-//
-// This program is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-// GNU General Public License for more details.
-//
-// You should have received a copy of the GNU General Public License
-// along with this program; if not, write to the Free Software
-// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
-//
-//
-
-#ifndef __WDS_DIRSTATVIEW_H__
-#define __WDS_DIRSTATVIEW_H__
-#pragma once
-
-#include "TreeListControl.h"
-
-class CDirstatView;
-class CDirstatDoc;
-class CItem;
-
-//
-// CMyTreeListControl. I had to derive from CTreeListControl because
-// CTreeListControl doesn't know about the column constants (COL_***).
-//
-class CMyTreeListControl: public CTreeListControl
-{
-public:
- CMyTreeListControl(CDirstatView *dirstatView);
- virtual bool GetAscendingDefault(int column);
-
-protected:
- virtual void OnItemDoubleClick(int i);
-
- void PrepareDefaultMenu(CMenu *menu, const CItem *item);
-
- DECLARE_MESSAGE_MAP()
- afx_msg void OnContextMenu(CWnd* /*pWnd*/, CPoint /*point*/);
- afx_msg void OnSetFocus(CWnd* pOldWnd);
- afx_msg void OnKeyDown(UINT nChar, UINT nRepCnt, UINT nFlags);
-};
-
-
-//
-// CDirstatView. The upper left view, which consists of the TreeList.
-//
-class CDirstatView: public CView
-{
-protected:
- CDirstatView(); // Created by MFC only
- DECLARE_DYNCREATE(CDirstatView)
-
-public:
- virtual ~CDirstatView();
- CString GenerateReport();
- CFont *GetSmallFont();
- void SysColorChanged();
-
-protected:
- virtual BOOL PreCreateWindow(CREATESTRUCT& cs);
- virtual void OnInitialUpdate();
- virtual void OnDraw(CDC* pDC);
- CDirstatDoc* GetDocument() const;
- virtual void OnUpdate(CView *pSender, LPARAM lHint, CObject *pHint);
-
- CMyTreeListControl m_treeListControl; // The tree list
-
-protected:
- DECLARE_MESSAGE_MAP()
- afx_msg void OnSize(UINT nType, int cx, int cy);
- afx_msg int OnCreate(LPCREATESTRUCT lpCreateStruct);
- afx_msg BOOL OnEraseBkgnd(CDC* pDC);
- afx_msg void OnDestroy();
- afx_msg void OnSetFocus(CWnd* pOldWnd);
- afx_msg void OnSettingChange(UINT uFlags, LPCTSTR lpszSection);
- afx_msg void OnLvnItemchanged(NMHDR *pNMHDR, LRESULT *pResult);
- afx_msg void OnUpdatePopupToggle(CCmdUI *pCmdUI);
- afx_msg void OnPopupToggle();
-
-public:
- #ifdef _DEBUG
- virtual void AssertValid() const;
- virtual void Dump(CDumpContext& dc) const;
- #endif
-};
-
-#ifndef _DEBUG // Debug version in dirstatview.cpp
-inline CDirstatDoc* CDirstatView::GetDocument() const
-{
- return reinterpret_cast<CDirstatDoc*>(m_pDocument);
-}
-#endif
-
-#endif // __WDS_DIRSTATVIEW_H__
+// dirstatview.h - Declaration of CMyTreeListControl and CDirstatView +// +// WinDirStat - Directory Statistics +// Copyright (C) 2003-2005 Bernhard Seifert +// Copyright (C) 2004-2016 WinDirStat team (windirstat.info) +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation; either version 2 of the License, or +// (at your option) any later version. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +// +// + +#ifndef __WDS_DIRSTATVIEW_H__ +#define __WDS_DIRSTATVIEW_H__ +#pragma once + +#include "TreeListControl.h" + +class CDirstatView; +class CDirstatDoc; +class CItem; + +// +// CMyTreeListControl. I had to derive from CTreeListControl because +// CTreeListControl doesn't know about the column constants (COL_***). +// +class CMyTreeListControl: public CTreeListControl +{ +public: + CMyTreeListControl(CDirstatView *dirstatView); + virtual bool GetAscendingDefault(int column); + +protected: + virtual void OnItemDoubleClick(int i); + + void PrepareDefaultMenu(CMenu *menu, const CItem *item); + + DECLARE_MESSAGE_MAP() + afx_msg void OnContextMenu(CWnd* /*pWnd*/, CPoint /*point*/); + afx_msg void OnSetFocus(CWnd* pOldWnd); + afx_msg void OnKeyDown(UINT nChar, UINT nRepCnt, UINT nFlags); +}; + + +// +// CDirstatView. The upper left view, which consists of the TreeList. +// +class CDirstatView: public CView +{ +protected: + CDirstatView(); // Created by MFC only + DECLARE_DYNCREATE(CDirstatView) + +public: + virtual ~CDirstatView(); + CString GenerateReport(); + CFont *GetSmallFont(); + void SysColorChanged(); + +protected: + virtual BOOL PreCreateWindow(CREATESTRUCT& cs); + virtual void OnInitialUpdate(); + virtual void OnDraw(CDC* pDC); + CDirstatDoc* GetDocument() const; + virtual void OnUpdate(CView *pSender, LPARAM lHint, CObject *pHint); + + CMyTreeListControl m_treeListControl; // The tree list + +protected: + DECLARE_MESSAGE_MAP() + afx_msg void OnSize(UINT nType, int cx, int cy); + afx_msg int OnCreate(LPCREATESTRUCT lpCreateStruct); + afx_msg BOOL OnEraseBkgnd(CDC* pDC); + afx_msg void OnDestroy(); + afx_msg void OnSetFocus(CWnd* pOldWnd); + afx_msg void OnSettingChange(UINT uFlags, LPCTSTR lpszSection); + afx_msg void OnLvnItemchanged(NMHDR *pNMHDR, LRESULT *pResult); + afx_msg void OnUpdatePopupToggle(CCmdUI *pCmdUI); + afx_msg void OnPopupToggle(); + +public: + #ifdef _DEBUG + virtual void AssertValid() const; + virtual void Dump(CDumpContext& dc) const; + #endif +}; + +#ifndef _DEBUG // Debug version in dirstatview.cpp +inline CDirstatDoc* CDirstatView::GetDocument() const +{ + return reinterpret_cast<CDirstatDoc*>(m_pDocument); +} +#endif + +#endif // __WDS_DIRSTATVIEW_H__ diff --git a/windirstat/getosplatformstring.cpp b/windirstat/getosplatformstring.cpp index b3f600a..2f2a2b9 100644 --- a/windirstat/getosplatformstring.cpp +++ b/windirstat/getosplatformstring.cpp @@ -17,7 +17,7 @@ // You should have received a copy of the GNU General Public License // along with this program; if not, write to the Free Software // Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA -//
+// #include "stdafx.h" #include "windirstat.h" diff --git a/windirstat/getosplatformstring.h b/windirstat/getosplatformstring.h index cbcee0b..2cfa6cc 100644 --- a/windirstat/getosplatformstring.h +++ b/windirstat/getosplatformstring.h @@ -17,7 +17,7 @@ // You should have received a copy of the GNU General Public License // along with this program; if not, write to the Free Software // Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA -//
+// #ifndef __WDS_GETOSPLATFORMSTRING_H__ #define __WDS_GETOSPLATFORMSTRING_H__ diff --git a/windirstat/globalhelpers.cpp b/windirstat/globalhelpers.cpp index e898a03..7e3a87a 100644 --- a/windirstat/globalhelpers.cpp +++ b/windirstat/globalhelpers.cpp @@ -18,7 +18,7 @@ // You should have received a copy of the GNU General Public License // along with this program; if not, write to the Free Software // Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA -//
+// #include "stdafx.h" #include "windirstat.h" diff --git a/windirstat/globalhelpers.h b/windirstat/globalhelpers.h index 9c59b6b..e4d1139 100644 --- a/windirstat/globalhelpers.h +++ b/windirstat/globalhelpers.h @@ -18,7 +18,7 @@ // You should have received a copy of the GNU General Public License // along with this program; if not, write to the Free Software // Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA -//
+// #ifndef __WDS_GLOBALHELPERS_H__ #define __WDS_GLOBALHELPERS_H__ diff --git a/windirstat/helpmap.h b/windirstat/helpmap.h index fbd41b3..d140bd9 100644 --- a/windirstat/helpmap.h +++ b/windirstat/helpmap.h @@ -17,7 +17,7 @@ // You should have received a copy of the GNU General Public License // along with this program; if not, write to the Free Software // Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA -//
+// #ifndef __WDS_HELPMAP_H__ #define __WDS_HELPMAP_H__ diff --git a/windirstat/item.cpp b/windirstat/item.cpp index ef8da4b..4063811 100644 --- a/windirstat/item.cpp +++ b/windirstat/item.cpp @@ -17,7 +17,7 @@ // You should have received a copy of the GNU General Public License // along with this program; if not, write to the Free Software // Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA -//
+// #include "stdafx.h" #include "windirstat.h" diff --git a/windirstat/item.h b/windirstat/item.h index 9e5d0d5..53810e6 100644 --- a/windirstat/item.h +++ b/windirstat/item.h @@ -17,7 +17,7 @@ // You should have received a copy of the GNU General Public License // along with this program; if not, write to the Free Software // Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA -//
+// #ifndef __WDS_ITEM_H__ #define __WDS_ITEM_H__ diff --git a/windirstat/layout.cpp b/windirstat/layout.cpp index 34b1616..86eec23 100644 --- a/windirstat/layout.cpp +++ b/windirstat/layout.cpp @@ -17,7 +17,7 @@ // You should have received a copy of the GNU General Public License // along with this program; if not, write to the Free Software // Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA -//
+// #include "stdafx.h" #include "windirstat.h" diff --git a/windirstat/layout.h b/windirstat/layout.h index c95ead6..5a8b5c6 100644 --- a/windirstat/layout.h +++ b/windirstat/layout.h @@ -17,7 +17,7 @@ // You should have received a copy of the GNU General Public License // along with this program; if not, write to the Free Software // Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA -//
+// #ifndef __WDS_LAYOUT_H__ #define __WDS_LAYOUT_H__ diff --git a/windirstat/mainframe.cpp b/windirstat/mainframe.cpp index 0bb0a5c..cef0bba 100644 --- a/windirstat/mainframe.cpp +++ b/windirstat/mainframe.cpp @@ -1,1227 +1,1227 @@ -// mainframe.cpp - Implementation of CMySplitterWnd, CPacmanControl and CMainFrame
-//
-// WinDirStat - Directory Statistics
-// Copyright (C) 2003-2005 Bernhard Seifert
-// Copyright (C) 2004-2016 WinDirStat team (windirstat.info)
-//
-// This program is free software; you can redistribute it and/or modify
-// it under the terms of the GNU General Public License as published by
-// the Free Software Foundation; either version 2 of the License, or
-// (at your option) any later version.
-//
-// This program is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-// GNU General Public License for more details.
-//
-// You should have received a copy of the GNU General Public License
-// along with this program; if not, write to the Free Software
-// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
-//
-//
-
-#include "stdafx.h"
-#include "windirstat.h"
-
-#include "graphview.h"
-#include "dirstatview.h"
-#include "typeview.h"
-#include "dirstatdoc.h"
-#include "osspecific.h"
-#include "item.h"
-
-#include "pagecleanups.h"
-#include "pagetreelist.h"
-#include "pagetreemap.h"
-#include "pagegeneral.h"
-
-#include <common/version.h>
-
-#include "mainframe.h"
-
-#ifdef _DEBUG
-#define new DEBUG_NEW
-#endif
-
-namespace
-{
- // This must be synchronized with the IDR_MAINFRAME menu
- enum TOPLEVELMENU
- {
- TLM_FILE,
- TLM_EDIT,
- TLM_CLEANUP,
- TLM_TREEMAP,
- TLM_REPORT,
- TLM_VIEW,
- TLM_HELP
- };
-
- enum
- {
- // This is the position of the first "User defined cleanup" menu item in the "Cleanup" menu.
- // !!! MUST BE SYNCHRONIZED WITH THE MENU RESOURCE !!!
- MAINMENU_USERDEFINEDCLEANUP_POSITION = 11
- };
-
- enum
- {
- IDC_SUSPEND = 4712, // ID of "Suspend"-Button
- IDC_DEADFOCUS // ID of dead-focus window
- };
-
- // Clipboard-Opener
- class COpenClipboard
- {
- public:
- COpenClipboard(CWnd *owner, bool empty =true)
- {
- m_open = owner->OpenClipboard();
- if(!m_open)
- {
- MdThrowStringException(IDS_CANNOTOPENCLIPBOARD);
- }
- if(empty)
- {
- if(!EmptyClipboard())
- {
- MdThrowStringException(IDS_CANNOTEMTPYCLIPBOARD);
- }
- }
- }
- ~COpenClipboard()
- {
- if(m_open)
- {
- CloseClipboard();
- }
- }
- private:
- BOOL m_open;
- };
-
-
-}
-
-
-/////////////////////////////////////////////////////////////////////////////
-
-IMPLEMENT_DYNAMIC(COptionsPropertySheet, CPropertySheet)
-
-COptionsPropertySheet::COptionsPropertySheet()
- : CPropertySheet(IDS_WINDIRSTAT_SETTINGS)
- , m_restartApplication(false)
- , m_languageChanged(false)
- , m_alreadyAsked(false)
-{
-}
-
-void COptionsPropertySheet::SetLanguageChanged(bool changed)
-{
- m_languageChanged = changed;
-}
-
-BOOL COptionsPropertySheet::OnInitDialog()
-{
- BOOL bResult = CPropertySheet::OnInitDialog();
-
- CRect rc;
- GetWindowRect(rc);
- CPoint pt = rc.TopLeft();
- CPersistence::GetConfigPosition(pt);
- CRect rc2(pt, rc.Size());
- MoveWindow(rc2);
-
- SetActivePage(CPersistence::GetConfigPage(GetPageCount() - 1));
- return bResult;
-}
-
-BOOL COptionsPropertySheet::OnCommand(WPARAM wParam, LPARAM lParam)
-{
- CPersistence::SetConfigPage(GetActiveIndex());
-
- CRect rc;
- GetWindowRect(rc);
- CPersistence::SetConfigPosition(rc.TopLeft());
-
- int cmd = LOWORD(wParam);
- if((IDOK == cmd) || (ID_APPLY_NOW == cmd))
- {
- if(m_languageChanged && ((IDOK == cmd) || (!m_alreadyAsked)))
- {
- int r = AfxMessageBox(IDS_LANGUAGERESTARTNOW, MB_YESNOCANCEL);
- if(IDCANCEL == r)
- {
- return true; // "Message handled". Don't proceed.
- }
- else if(IDNO == r)
- {
- m_alreadyAsked = true; // Don't ask twice.
- }
- else
- {
- ASSERT(IDYES == r);
- m_restartApplication = true;
-
- if(ID_APPLY_NOW == cmd)
- {
- // This _posts_ a message...
- EndDialog(IDOK);
- // ... so after returning from this function, the OnOK()-handlers
- // of the pages will be called, before the sheet is closed.
- }
- }
- }
- }
-
- return CPropertySheet::OnCommand(wParam, lParam);
-}
-
-/////////////////////////////////////////////////////////////////////////////
-
-CMySplitterWnd::CMySplitterWnd(LPCTSTR name)
- : m_persistenceName(name)
- , m_splitterPos(0.5)
-{
- CPersistence::GetSplitterPos(m_persistenceName, m_wasTrackedByUser, m_userSplitterPos);
-}
-
-BEGIN_MESSAGE_MAP(CMySplitterWnd, CSplitterWnd)
- ON_WM_SIZE()
- ON_WM_DESTROY()
-END_MESSAGE_MAP()
-
-void CMySplitterWnd::StopTracking(BOOL bAccept)
-{
- CSplitterWnd::StopTracking(bAccept);
-
- if(bAccept)
- {
- CRect rcClient;
- GetClientRect(rcClient);
-
- if(GetColumnCount() > 1)
- {
- int dummy;
- int cxLeft;
- GetColumnInfo(0, cxLeft, dummy);
-
- if(rcClient.Width() > 0)
- {
- m_splitterPos = (double)cxLeft / rcClient.Width();
- }
- }
- else
- {
- int dummy;
- int cyUpper;
- GetRowInfo(0, cyUpper, dummy);
-
- if(rcClient.Height() > 0)
- {
- m_splitterPos = (double)cyUpper / rcClient.Height();
- }
- }
- m_wasTrackedByUser = true;
- m_userSplitterPos = m_splitterPos;
- }
-}
-
-double CMySplitterWnd::GetSplitterPos()
-{
- return m_splitterPos;
-}
-
-void CMySplitterWnd::SetSplitterPos(double pos)
-{
- m_splitterPos = pos;
-
- CRect rcClient;
- GetClientRect(rcClient);
-
- if(GetColumnCount() > 1)
- {
- if(m_pColInfo != NULL)
- {
- int cxLeft = (int) (pos * rcClient.Width());
- if(cxLeft >= 0)
- {
- SetColumnInfo(0, cxLeft, 0);
- RecalcLayout();
- }
- }
- }
- else
- {
- if(m_pRowInfo != NULL)
- {
- int cyUpper = (int) (pos * rcClient.Height());
- if(cyUpper >= 0)
- {
- SetRowInfo(0, cyUpper, 0);
- RecalcLayout();
- }
- }
- }
-}
-
-void CMySplitterWnd::RestoreSplitterPos(double posIfVirgin)
-{
- if(m_wasTrackedByUser)
- {
- SetSplitterPos(m_userSplitterPos);
- }
- else
- {
- SetSplitterPos(posIfVirgin);
- }
-}
-
-void CMySplitterWnd::OnSize(UINT nType, int cx, int cy)
-{
- if(GetColumnCount() > 1)
- {
- int cxLeft = (int)(cx * m_splitterPos);
- if(cxLeft > 0)
- {
- SetColumnInfo(0, cxLeft, 0);
- }
- }
- else
- {
- int cyUpper = (int)(cy * m_splitterPos);
- if(cyUpper > 0)
- {
- SetRowInfo(0, cyUpper, 0);
- }
- }
- CSplitterWnd::OnSize(nType, cx, cy);
-}
-
-void CMySplitterWnd::OnDestroy()
-{
- CPersistence::SetSplitterPos(m_persistenceName, m_wasTrackedByUser, m_userSplitterPos);
- CSplitterWnd::OnDestroy();
-}
-
-
-/////////////////////////////////////////////////////////////////////////////
-
-CPacmanControl::CPacmanControl()
-{
- m_pacman.SetBackgroundColor(::GetSysColor(COLOR_BTNFACE));
- m_pacman.SetSpeed(0.00005);
-}
-
-void CPacmanControl::Drive(ULONGLONG readJobs)
-{
- if(::IsWindow(m_hWnd) && m_pacman.Drive(readJobs))
- {
- RedrawWindow();
- }
-}
-
-void CPacmanControl::Start(bool start)
-{
- m_pacman.Start(start);
-}
-
-BEGIN_MESSAGE_MAP(CPacmanControl, CStatic)
- ON_WM_PAINT()
- ON_WM_CREATE()
-END_MESSAGE_MAP()
-
-int CPacmanControl::OnCreate(LPCREATESTRUCT lpCreateStruct)
-{
- if(CStatic::OnCreate(lpCreateStruct) == -1)
- {
- return -1;
- }
-
- m_pacman.Reset();
- m_pacman.Start(true);
- return 0;
-}
-
-void CPacmanControl::OnPaint()
-{
- CPaintDC dc(this);
- CRect rc;
- GetClientRect(rc);
- m_pacman.Draw(&dc, rc);
-}
-
-/////////////////////////////////////////////////////////////////////////////
-
-CDeadFocusWnd::CDeadFocusWnd()
-{
-}
-
-void CDeadFocusWnd::Create(CWnd *parent)
-{
- CRect rc(0,0,0,0);
- VERIFY(CWnd::Create(AfxRegisterWndClass(0, 0, 0, 0), _T("_deadfocus"), WS_CHILD, rc, parent, IDC_DEADFOCUS));
-}
-
-CDeadFocusWnd::~CDeadFocusWnd()
-{
- DestroyWindow();
-}
-
-BEGIN_MESSAGE_MAP(CDeadFocusWnd, CWnd)
- ON_WM_KEYDOWN()
-END_MESSAGE_MAP()
-
-void CDeadFocusWnd::OnKeyDown(UINT nChar, UINT /* nRepCnt */, UINT /* nFlags */)
-{
- if(nChar == VK_TAB)
- {
- GetMainFrame()->MoveFocus(LF_DIRECTORYLIST);
- }
-}
-
-/////////////////////////////////////////////////////////////////////////////
-#ifdef SUPPORT_W7_TASKBAR
-UINT CMainFrame::s_taskBarMessage = ::RegisterWindowMessage(TEXT("TaskbarButtonCreated"));
-#endif // SUPPORT_W7_TASKBAR
-
-IMPLEMENT_DYNCREATE(CMainFrame, CFrameWnd)
-
-BEGIN_MESSAGE_MAP(CMainFrame, CFrameWnd)
- ON_WM_CREATE()
- ON_MESSAGE(WM_ENTERSIZEMOVE, OnEnterSizeMove)
- ON_MESSAGE(WM_EXITSIZEMOVE, OnExitSizeMove)
- ON_WM_CLOSE()
- ON_WM_INITMENUPOPUP()
- ON_UPDATE_COMMAND_UI(ID_INDICATOR_MEMORYUSAGE, OnUpdateMemoryUsage)
- ON_WM_SIZE()
- ON_UPDATE_COMMAND_UI(ID_VIEW_SHOWTREEMAP, OnUpdateViewShowtreemap)
- ON_COMMAND(ID_VIEW_SHOWTREEMAP, OnViewShowtreemap)
- ON_UPDATE_COMMAND_UI(ID_VIEW_SHOWFILETYPES, OnUpdateViewShowfiletypes)
- ON_COMMAND(ID_VIEW_SHOWFILETYPES, OnViewShowfiletypes)
- ON_COMMAND(ID_CONFIGURE, OnConfigure)
- ON_WM_DESTROY()
- ON_COMMAND(ID_TREEMAP_HELPABOUTTREEMAPS, OnTreemapHelpabouttreemaps)
- ON_BN_CLICKED(IDC_SUSPEND, OnBnClickedSuspend)
- ON_WM_SYSCOLORCHANGE()
-#ifdef SUPPORT_W7_TASKBAR
- ON_REGISTERED_MESSAGE(s_taskBarMessage, OnTaskButtonCreated)
-#endif // SUPPORT_W7_TASKBAR
-END_MESSAGE_MAP()
-
-static UINT indicators[] =
-{
- ID_SEPARATOR,
- ID_INDICATOR_MEMORYUSAGE,
- ID_INDICATOR_CAPS,
- ID_INDICATOR_NUM,
- ID_INDICATOR_SCRL,
-};
-
-static UINT indicatorsWithoutMemoryUsage[] =
-{
- ID_SEPARATOR,
- ID_INDICATOR_CAPS,
- ID_INDICATOR_NUM,
- ID_INDICATOR_SCRL,
-};
-
-
-CMainFrame *CMainFrame::_theFrame;
-
-CMainFrame *CMainFrame::GetTheFrame()
-{
- return _theFrame;
-}
-
-CMainFrame::CMainFrame()
- : m_wndSplitter(_T("main"))
- , m_wndSubSplitter(_T("sub"))
- , m_progressVisible(false)
- , m_progressRange(100)
- , m_logicalFocus(LF_NONE)
-#ifdef SUPPORT_W7_TASKBAR
- , m_TaskbarButtonState(TBPF_INDETERMINATE)
- , m_TaskbarButtonPreviousState(TBPF_INDETERMINATE)
-#endif // SUPPORT_W7_TASKBAR
-{
- _theFrame = this;
-}
-
-CMainFrame::~CMainFrame()
-{
- _theFrame = NULL;
-}
-
-#ifdef SUPPORT_W7_TASKBAR
-LRESULT CMainFrame::OnTaskButtonCreated(WPARAM, LPARAM)
-{
- if(!m_TaskbarList)
- {
- HRESULT hr = ::CoCreateInstance(CLSID_TaskbarList, NULL, CLSCTX_ALL, IID_ITaskbarList3, reinterpret_cast<LPVOID*>(&m_TaskbarList));
- if(FAILED(hr))
- {
- VTRACE(_T("CoCreateInstance(CLSID_TaskbarList, NULL, CLSCTX_ALL) failed %08X"), hr);
- }
- }
- return 0;
-}
-#endif // SUPPORT_W7_TASKBAR
-
-void CMainFrame::ShowProgress(ULONGLONG range)
-{
- // A range of 0 means that we have no range.
- // In this case we display pacman.
- HideProgress();
-
- if(GetOptions()->IsFollowMountPoints() || GetOptions()->IsFollowJunctionPoints())
- {
- range = 0;
- }
- m_progressRange = range;
- m_progressPos = 0;
- m_progressVisible = true;
- if(range > 0)
- {
- CreateStatusProgress();
- }
- else
- {
- CreatePacmanProgress();
- }
- UpdateProgress();
-}
-
-void CMainFrame::HideProgress()
-{
- DestroyProgress();
- if(m_progressVisible)
- {
- m_progressVisible = false;
- if(::IsWindow(*GetMainFrame()))
- {
- GetDocument()->SetTitlePrefix(wds::strEmpty);
- SetMessageText(AFX_IDS_IDLEMESSAGE);
- }
- }
-}
-
-void CMainFrame::SetProgressPos(ULONGLONG pos)
-{
- if(m_progressRange > 0 && pos > m_progressRange)
- {
- pos = m_progressRange;
- }
-
- m_progressPos = pos;
- UpdateProgress();
-}
-
-void CMainFrame::SetProgressPos100() // called by CDirstatDoc
-{
- if(m_progressRange > 0)
- {
- SetProgressPos(m_progressRange);
- }
-#ifdef SUPPORT_W7_TASKBAR
- if(m_TaskbarList)
- {
- m_TaskbarList->SetProgressState(*this, m_TaskbarButtonState = TBPF_NOPROGRESS);
- }
-#endif // SUPPORT_W7_TASKBAR
-}
-
-bool CMainFrame::IsProgressSuspended()
-{
- if(!::IsWindow(m_suspendButton.m_hWnd))
- {
- return false;
- }
- return ((m_suspendButton.GetState() & 0x3) != 0);
-}
-
-void CMainFrame::DrivePacman()
-{
- m_pacman.Drive(GetDocument()->GetWorkingItemReadJobs());
-}
-
-void CMainFrame::UpdateProgress()
-{
- if(m_progressVisible)
- {
- CString titlePrefix;
- CString suspended;
-
- if(IsProgressSuspended())
- {
- suspended.LoadString(IDS_SUSPENDED_);
- }
-
- if(m_progressRange > 0)
- {
- int pos = (int)((double) m_progressPos * 100 / m_progressRange);
- m_progress.SetPos(pos);
- titlePrefix.Format(_T("%d%% %s"), pos, suspended);
-#ifdef SUPPORT_W7_TASKBAR
- if(m_TaskbarList && (m_TaskbarButtonState != TBPF_PAUSED))
- {
- switch(pos)
- {
- // FIXME: hardcoded value here and elsewhere in this file
- case 100:
- m_TaskbarList->SetProgressState(*this, m_TaskbarButtonState = TBPF_INDETERMINATE); // often happens before we're finished
- break;
- default:
- m_TaskbarList->SetProgressState(*this, m_TaskbarButtonState = TBPF_NORMAL); // often happens before we're finished
- m_TaskbarList->SetProgressValue(*this, m_progressPos, m_progressRange);
- break;
- }
- }
-#endif // SUPPORT_W7_TASKBAR
- }
- else
- {
- titlePrefix = LoadString(IDS_SCANNING_) + suspended;
- }
-
- GetDocument()->SetTitlePrefix(titlePrefix);
- }
-}
-
-void CMainFrame::CreateStatusProgress()
-{
- if(m_progress.m_hWnd == NULL)
- {
- CRect rc;
- m_wndStatusBar.GetItemRect(0, rc);
- CreateSuspendButton(rc);
- m_progress.Create(WS_CHILD | WS_VISIBLE, rc, &m_wndStatusBar, 4711);
- m_progress.ModifyStyle(WS_BORDER, 0); // Doesn't help with XP-style control.
- }
-#ifdef SUPPORT_W7_TASKBAR
- if(m_TaskbarList)
- {
- m_TaskbarList->SetProgressState(*this, m_TaskbarButtonState = TBPF_INDETERMINATE);
- }
-#endif // SUPPORT_W7_TASKBAR
-}
-
-void CMainFrame::CreatePacmanProgress()
-{
- if(m_pacman.m_hWnd == NULL)
- {
- CRect rc;
- m_wndStatusBar.GetItemRect(0, rc);
- CreateSuspendButton(rc);
- m_pacman.Create(wds::strEmpty, WS_CHILD | WS_VISIBLE, rc, &m_wndStatusBar, 4711); // FIXME: hard-coded value out
- }
-}
-
-// rc [in]: Rect of status pane
-// rc [out]: Rest for progress/pacman-control
-void CMainFrame::CreateSuspendButton(CRect& rc)
-{
- CRect rcButton = rc;
- rcButton.right = rcButton.left + 80; // FIXME: hardcoded value
-
- VERIFY(m_suspendButton.Create(LoadString(IDS_SUSPEND), WS_CHILD | WS_VISIBLE | BS_AUTOCHECKBOX | BS_PUSHLIKE, rcButton, &m_wndStatusBar, IDC_SUSPEND));
- m_suspendButton.SetFont(GetDirstatView()->GetSmallFont());
-
- rc.left = rcButton.right;
-}
-
-void CMainFrame::DestroyProgress()
-{
- if(::IsWindow(m_progress.m_hWnd))
- {
- m_progress.DestroyWindow();
- m_progress.m_hWnd = NULL;
- }
- else if(::IsWindow(m_pacman.m_hWnd))
- {
- m_pacman.DestroyWindow();
- m_pacman.m_hWnd = NULL;
- }
- if(::IsWindow(m_suspendButton.m_hWnd))
- {
- m_suspendButton.DestroyWindow();
- m_suspendButton.m_hWnd = NULL;
- }
-}
-
-void CMainFrame::OnBnClickedSuspend()
-{
- bool const isSuspended = IsProgressSuspended();
- m_pacman.Start(!isSuspended);
-#ifdef SUPPORT_W7_TASKBAR
- if(m_TaskbarList)
- {
- switch(m_TaskbarButtonState)
- {
- case TBPF_PAUSED:
- m_TaskbarList->SetProgressState(*this, m_TaskbarButtonState = m_TaskbarButtonPreviousState);
- break;
- default:
- m_TaskbarButtonPreviousState = m_TaskbarButtonState;
- m_TaskbarList->SetProgressState(*this, m_TaskbarButtonState = TBPF_PAUSED);
- break;
- }
- }
-#endif // SUPPORT_W7_TASKBAR
- UpdateProgress();
-}
-
-int CMainFrame::OnCreate(LPCREATESTRUCT lpCreateStruct)
-{
- if(CFrameWnd::OnCreate(lpCreateStruct) == -1)
- {
- return -1;
- }
-
- VERIFY(m_wndToolBar.CreateEx(this, TBSTYLE_FLAT, WS_CHILD | WS_VISIBLE | CBRS_TOP | CBRS_GRIPPER | CBRS_TOOLTIPS | CBRS_FLYBY | CBRS_SIZE_DYNAMIC));
- VERIFY(m_wndToolBar.LoadToolBar(IDR_MAINFRAME));
-
- UINT *indic = indicators;
- UINT size = countof(indicators);
-
- // If psapi is not supported, don't show that pane.
- if(GetWDSApp()->GetCurrentProcessMemoryInfo() == wds::strEmpty)
- {
- indic = indicatorsWithoutMemoryUsage;
- size = countof(indicatorsWithoutMemoryUsage);
- }
-
- VERIFY(m_wndStatusBar.Create(this));
- VERIFY(m_wndStatusBar.SetIndicators(indic, size));
- m_wndDeadFocus.Create(this);
-
- m_wndToolBar.EnableDocking(CBRS_ALIGN_ANY);
- EnableDocking(CBRS_ALIGN_ANY);
- DockControlBar(&m_wndToolBar);
-
- LoadBarState(CPersistence::GetBarStateSection());
- ShowControlBar(&m_wndToolBar, CPersistence::GetShowToolbar(), false);
- ShowControlBar(&m_wndStatusBar, CPersistence::GetShowStatusbar(), false);
-
- return 0;
-}
-
-void CMainFrame::InitialShowWindow()
-{
- WINDOWPLACEMENT wp;
- wp.length = sizeof(wp);
- GetWindowPlacement(&wp);
- CPersistence::GetMainWindowPlacement(wp);
- MakeSaneShowCmd(wp.showCmd);
- SetWindowPlacement(&wp);
-}
-
-void CMainFrame::MakeSaneShowCmd(UINT& u)
-{
- switch (u)
- {
- default:
- case SW_HIDE:
- case SW_MINIMIZE:
- case SW_SHOWMINNOACTIVE:
- case SW_SHOWNA:
- case SW_SHOWMINIMIZED:
- case SW_SHOWNOACTIVATE:
- case SW_RESTORE:
- case SW_FORCEMINIMIZE:
- case SW_SHOWDEFAULT:
- case SW_SHOW:
- case SW_SHOWNORMAL:
- {
- u = SW_SHOWNORMAL;
- }
- break;
- case SW_SHOWMAXIMIZED:
- break;
- }
-}
-
-void CMainFrame::OnClose()
-{
- CWaitCursor wc;
-
- // It's too late, to do this in OnDestroy(). Because the toolbar, if undocked,
- // is already destroyed in OnDestroy(). So we must save the toolbar state here
- // in OnClose().
- SaveBarState(CPersistence::GetBarStateSection());
- CPersistence::SetShowToolbar((m_wndToolBar.GetStyle() & WS_VISIBLE) != 0);
- CPersistence::SetShowStatusbar((m_wndStatusBar.GetStyle() & WS_VISIBLE) != 0);
-
-#ifdef _DEBUG
- // avoid memory leaks an show hourglass while deleting the tree
- GetDocument()->OnNewDocument();
-#endif
-
- GetDocument()->ForgetItemTree();
- CFrameWnd::OnClose();
-}
-
-void CMainFrame::OnDestroy()
-{
- WINDOWPLACEMENT wp;
- wp.length = sizeof(wp);
- GetWindowPlacement(&wp);
- CPersistence::SetMainWindowPlacement(wp);
-
- CPersistence::SetShowFileTypes(GetTypeView()->IsShowTypes());
- CPersistence::SetShowTreemap(GetGraphView()->IsShowTreemap());
-
- CFrameWnd::OnDestroy();
-}
-
-BOOL CMainFrame::OnCreateClient(LPCREATESTRUCT /*lpcs*/, CCreateContext* pContext)
-{
- VERIFY(m_wndSplitter.CreateStatic(this, 2, 1));
- VERIFY(m_wndSplitter.CreateView(1, 0, RUNTIME_CLASS(CGraphView), CSize(100, 100), pContext));
- VERIFY(m_wndSubSplitter.CreateStatic(&m_wndSplitter, 1, 2, WS_CHILD | WS_VISIBLE | WS_BORDER, m_wndSplitter.IdFromRowCol(0, 0)));
- VERIFY(m_wndSubSplitter.CreateView(0, 0, RUNTIME_CLASS(CDirstatView), CSize(700, 500), pContext));
- VERIFY(m_wndSubSplitter.CreateView(0, 1, RUNTIME_CLASS(CTypeView), CSize(100, 500), pContext));
-
- MinimizeGraphView();
- MinimizeTypeView();
-
- GetTypeView()->ShowTypes(CPersistence::GetShowFileTypes());
- GetGraphView()->ShowTreemap(CPersistence::GetShowTreemap());
-
- return TRUE;
-}
-
-BOOL CMainFrame::PreCreateWindow(CREATESTRUCT& cs)
-{
- if( !CFrameWnd::PreCreateWindow(cs) )
- {
- return FALSE;
- }
-
- return TRUE;
-}
-
-
-// CMainFrame Diagnose
-
-#ifdef _DEBUG
-void CMainFrame::AssertValid() const
-{
- CFrameWnd::AssertValid();
-}
-
-void CMainFrame::Dump(CDumpContext& dc) const
-{
- CFrameWnd::Dump(dc);
-}
-
-#endif //_DEBUG
-
-void CMainFrame::MinimizeTypeView()
-{
- m_wndSubSplitter.SetSplitterPos(1.0);
-}
-
-void CMainFrame::RestoreTypeView()
-{
- if(GetTypeView()->IsShowTypes())
- {
- m_wndSubSplitter.RestoreSplitterPos(0.72);
- GetTypeView()->RedrawWindow();
- }
-}
-
-void CMainFrame::MinimizeGraphView()
-{
- m_wndSplitter.SetSplitterPos(1.0);
-}
-
-void CMainFrame::RestoreGraphView()
-{
- if(GetGraphView()->IsShowTreemap())
- {
- m_wndSplitter.RestoreSplitterPos(0.4);
- GetGraphView()->DrawEmptyView();
- GetGraphView()->RedrawWindow();
- }
-}
-
-CDirstatView* CMainFrame::GetDirstatView()
-{
- CWnd* pWnd = m_wndSubSplitter.GetPane(0, 0);
- CDirstatView* pView = DYNAMIC_DOWNCAST(CDirstatView, pWnd);
- return pView;
-}
-
-CGraphView *CMainFrame::GetGraphView()
-{
- CWnd *pWnd = m_wndSplitter.GetPane(1, 0);
- CGraphView *pView = DYNAMIC_DOWNCAST(CGraphView, pWnd);
- return pView;
-}
-
-CTypeView *CMainFrame::GetTypeView()
-{
- CWnd *pWnd = m_wndSubSplitter.GetPane(0, 1);
- CTypeView *pView = DYNAMIC_DOWNCAST(CTypeView, pWnd);
- return pView;
-}
-
-LRESULT CMainFrame::OnEnterSizeMove(WPARAM, LPARAM)
-{
- GetGraphView()->SuspendRecalculation(true);
- return 0;
-}
-
-LRESULT CMainFrame::OnExitSizeMove(WPARAM, LPARAM)
-{
- GetGraphView()->SuspendRecalculation(false);
- return 0;
-}
-
-void CMainFrame::CopyToClipboard(LPCTSTR psz)
-{
- try
- {
- COpenClipboard clipboard(this);
- SIZE_T cchBufLen = _tcslen(psz) + 1;
-
- HGLOBAL h = ::GlobalAlloc(GMEM_MOVEABLE | GMEM_ZEROINIT, (cchBufLen) * sizeof(TCHAR));
- if(h == NULL)
- {
- MdThrowStringException(_T("GlobalAlloc failed."));
- }
-
- LPVOID lp = ::GlobalLock(h);
- ASSERT(lp != NULL);
-
- _tcscpy_s((LPTSTR)lp, cchBufLen, psz);
-
- ::GlobalUnlock(h);
-
- UINT uFormat = CF_TEXT;
-#ifdef UNICODE
- uFormat = CF_UNICODETEXT;
-#endif
- if(NULL == ::SetClipboardData(uFormat, h))
- {
- MdThrowStringException(IDS_CANNOTSETCLIPBAORDDATA);
- }
- }
- catch (CException *pe)
- {
- pe->ReportError();
- pe->Delete();
- }
-}
-
-void CMainFrame::OnInitMenuPopup(CMenu* pPopupMenu, UINT nIndex, BOOL bSysMenu)
-{
- CFrameWnd::OnInitMenuPopup(pPopupMenu, nIndex, bSysMenu);
-
- if(!bSysMenu)
- {
- switch (nIndex)
- {
- case TLM_CLEANUP:
- {
- UpdateCleanupMenu(pPopupMenu);
- }
- break;
- }
- }
-}
-
-void CMainFrame::UpdateCleanupMenu(CMenu *menu)
-{
- CString s = LoadString(IDS_EMPTYRECYCLEBIN);
- VERIFY(menu->ModifyMenu(ID_CLEANUP_EMPTYRECYCLEBIN, MF_BYCOMMAND | MF_STRING, ID_CLEANUP_EMPTYRECYCLEBIN, s));
- // TODO: can be cleaned, so that we don't disable and then enable the menu item
- menu->EnableMenuItem(ID_CLEANUP_EMPTYRECYCLEBIN, MF_BYCOMMAND | MF_DISABLED | MF_GRAYED);
-
- ULONGLONG items;
- ULONGLONG bytes;
-
- queryRecycleBin(items, bytes);
-
- CString info;
- if(items == 1)
- {
- info.FormatMessage(IDS__ONEITEMss, FormatBytes(bytes), GetOptions()->IsHumanFormat() && bytes != 0 ? wds::strEmpty : wds::strBlankSpace + GetSpec_Bytes());
- }
- else
- {
- info.FormatMessage(IDS__sITEMSss, FormatCount(items), FormatBytes(bytes), GetOptions()->IsHumanFormat() && bytes != 0 ? wds::strEmpty : wds::strBlankSpace + GetSpec_Bytes());
- }
-
- s += info;
- VERIFY(menu->ModifyMenu(ID_CLEANUP_EMPTYRECYCLEBIN, MF_BYCOMMAND | MF_STRING, ID_CLEANUP_EMPTYRECYCLEBIN, s));
-
- // ModifyMenu() re-enables the item. So we disable (or enable) it again.
-
- UINT flags = (items > 0 ? MF_ENABLED : MF_DISABLED | MF_GRAYED);
- flags |= MF_BYCOMMAND;
-
- menu->EnableMenuItem(ID_CLEANUP_EMPTYRECYCLEBIN, flags);
-
- UINT toRemove = menu->GetMenuItemCount() - MAINMENU_USERDEFINEDCLEANUP_POSITION;
- for(UINT i = 0; i < toRemove; i++)
- {
- menu->RemoveMenu(MAINMENU_USERDEFINEDCLEANUP_POSITION, MF_BYPOSITION);
- }
-
- AppendUserDefinedCleanups(menu);
-}
-
-void CMainFrame::queryRecycleBin(ULONGLONG& items, ULONGLONG& bytes)
-{
- // On W2k, the first parameter to SHQueryRecycleBin must not be NULL.
- // So we must sum the item counts and sizes of the recycle bins of all local drives.
-
- items = 0;
- bytes = 0;
-
- DWORD drives = ::GetLogicalDrives();
- int i;
- DWORD mask = 0x00000001;
- for(i = 0; i < wds::iNumDriveLetters; i++, mask <<= 1)
- {
- if((drives & mask) == 0)
- {
- continue;
- }
-
- CString s;
- s.Format(_T("%c:\\"), i + wds::chrCapA);
-
- UINT type = ::GetDriveType(s);
- if(type == DRIVE_UNKNOWN || type == DRIVE_NO_ROOT_DIR)
- {
- continue;
- }
-
- if(type == DRIVE_REMOTE)
- {
- continue;
- }
-
- SHQUERYRBINFO qbi;
- ZeroMemory(&qbi, sizeof(qbi));
- qbi.cbSize = sizeof(qbi);
-
- HRESULT hr = ::SHQueryRecycleBin(s, &qbi);
-
- if(FAILED(hr))
- {
- continue;
- }
-
- items += qbi.i64NumItems;
- bytes += qbi.i64Size;
- }
-}
-
-void CMainFrame::AppendUserDefinedCleanups(CMenu *menu)
-{
- CArray<int, int> indices;
- GetOptions()->GetEnabledUserDefinedCleanups(indices);
- if(indices.GetSize() > 0)
- {
- for(int i = 0; i < indices.GetSize(); i++)
- {
- CString string;
- string.FormatMessage(IDS_UDCsCTRLd, GetOptions()->GetUserDefinedCleanup(indices[i])->title, indices[i]);
-
- UINT flags = MF_GRAYED | MF_DISABLED;
- if(
- GetLogicalFocus() == LF_DIRECTORYLIST
- // FIXME: Multi-select
- && GetDocument()->UserDefinedCleanupWorksForItem(GetOptions()->GetUserDefinedCleanup(indices[i]), GetDocument()->GetSelection(0))
- )
- {
- flags = MF_ENABLED;
- }
- menu->AppendMenu(flags|MF_STRING, ID_USERDEFINEDCLEANUP0 + indices[i], string);
- }
- }
- else
- {
- // This is just to show new users, that they can configure user defined cleanups.
- menu->AppendMenu(MF_GRAYED, 0, LoadString(IDS_USERDEFINEDCLEANUP0));
- }
-}
-
-void CMainFrame::SetLogicalFocus(LOGICAL_FOCUS lf)
-{
- if(lf != m_logicalFocus)
- {
- m_logicalFocus = lf;
- SetSelectionMessageText();
-
- GetDocument()->UpdateAllViews(NULL, HINT_SELECTIONSTYLECHANGED);
- }
-}
-
-LOGICAL_FOCUS CMainFrame::GetLogicalFocus()
-{
- return m_logicalFocus;
-}
-
-void CMainFrame::MoveFocus(LOGICAL_FOCUS lf)
-{
- switch (lf)
- {
- case LF_NONE:
- {
- SetLogicalFocus(LF_NONE);
- m_wndDeadFocus.SetFocus();
- }
- break;
- case LF_DIRECTORYLIST:
- {
- GetDirstatView()->SetFocus();
- }
- break;
- case LF_EXTENSIONLIST:
- {
- GetTypeView()->SetFocus();
- }
- break;
- }
-}
-
-void CMainFrame::SetSelectionMessageText()
-{
- switch (GetLogicalFocus())
- {
- case LF_NONE:
- {
- SetMessageText(AFX_IDS_IDLEMESSAGE);
- }
- break;
- case LF_DIRECTORYLIST:
- // FIXME: Multi-select
- if(GetDocument()->GetSelection(0) != NULL)
- {
- // FIXME: Multi-select
- SetMessageText(GetDocument()->GetSelection(0)->GetPath());
- }
- else
- {
- SetMessageText(AFX_IDS_IDLEMESSAGE);
- }
- break;
- case LF_EXTENSIONLIST:
- {
- SetMessageText(wds::strStar + GetDocument()->GetHighlightExtension());
- }
- break;
- }
-}
-
-void CMainFrame::OnUpdateMemoryUsage(CCmdUI *pCmdUI)
-{
- pCmdUI->Enable(true);
- pCmdUI->SetText(GetWDSApp()->GetCurrentProcessMemoryInfo());
-}
-
-void CMainFrame::OnSize(UINT nType, int cx, int cy)
-{
- CFrameWnd::OnSize(nType, cx, cy);
-
- if(!::IsWindow(m_wndStatusBar.m_hWnd))
- {
- return;
- }
-
- CRect rc;
- m_wndStatusBar.GetItemRect(0, rc);
-
- if(m_suspendButton.m_hWnd != NULL)
- {
- CRect suspend;
- m_suspendButton.GetClientRect(suspend);
- rc.left = suspend.right;
- }
-
- if(m_progress.m_hWnd != NULL)
- {
- m_progress.MoveWindow(rc);
- }
- else if(m_pacman.m_hWnd != NULL)
- {
- m_pacman.MoveWindow(rc);
- }
-}
-
-void CMainFrame::OnUpdateViewShowtreemap(CCmdUI *pCmdUI)
-{
- pCmdUI->SetCheck(GetGraphView()->IsShowTreemap());
-}
-
-void CMainFrame::OnViewShowtreemap()
-{
- GetGraphView()->ShowTreemap(!GetGraphView()->IsShowTreemap());
- if(GetGraphView()->IsShowTreemap())
- {
- RestoreGraphView();
- }
- else
- {
- MinimizeGraphView();
- }
-}
-
-void CMainFrame::OnUpdateViewShowfiletypes(CCmdUI *pCmdUI)
-{
- pCmdUI->SetCheck(GetTypeView()->IsShowTypes());
-}
-
-void CMainFrame::OnViewShowfiletypes()
-{
- GetTypeView()->ShowTypes(!GetTypeView()->IsShowTypes());
- if(GetTypeView()->IsShowTypes())
- {
- RestoreTypeView();
- }
- else
- {
- MinimizeTypeView();
- }
-}
-
-void CMainFrame::OnConfigure()
-{
- COptionsPropertySheet sheet;
-
- CPageGeneral general;
- CPageTreelist treelist;
- CPageTreemap treemap;
- CPageCleanups cleanups;
-
- sheet.AddPage(&general);
- sheet.AddPage(&treelist);
- sheet.AddPage(&treemap);
- sheet.AddPage(&cleanups);
-
- sheet.DoModal();
-
- GetOptions()->SaveToRegistry();
-
- if(sheet.m_restartApplication)
- {
- GetWDSApp()->RestartApplication();
- }
-}
-
-void CMainFrame::OnTreemapHelpabouttreemaps()
-{
- GetWDSApp()->DoContextHelp(IDH_Treemap);
-}
-
-void CMainFrame::OnSysColorChange()
-{
- CFrameWnd::OnSysColorChange();
- GetDirstatView()->SysColorChanged();
- GetTypeView()->SysColorChanged();
-}
+// mainframe.cpp - Implementation of CMySplitterWnd, CPacmanControl and CMainFrame +// +// WinDirStat - Directory Statistics +// Copyright (C) 2003-2005 Bernhard Seifert +// Copyright (C) 2004-2016 WinDirStat team (windirstat.info) +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation; either version 2 of the License, or +// (at your option) any later version. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +// +// + +#include "stdafx.h" +#include "windirstat.h" + +#include "graphview.h" +#include "dirstatview.h" +#include "typeview.h" +#include "dirstatdoc.h" +#include "osspecific.h" +#include "item.h" + +#include "pagecleanups.h" +#include "pagetreelist.h" +#include "pagetreemap.h" +#include "pagegeneral.h" + +#include <common/version.h> + +#include "mainframe.h" + +#ifdef _DEBUG +#define new DEBUG_NEW +#endif + +namespace +{ + // This must be synchronized with the IDR_MAINFRAME menu + enum TOPLEVELMENU + { + TLM_FILE, + TLM_EDIT, + TLM_CLEANUP, + TLM_TREEMAP, + TLM_REPORT, + TLM_VIEW, + TLM_HELP + }; + + enum + { + // This is the position of the first "User defined cleanup" menu item in the "Cleanup" menu. + // !!! MUST BE SYNCHRONIZED WITH THE MENU RESOURCE !!! + MAINMENU_USERDEFINEDCLEANUP_POSITION = 11 + }; + + enum + { + IDC_SUSPEND = 4712, // ID of "Suspend"-Button + IDC_DEADFOCUS // ID of dead-focus window + }; + + // Clipboard-Opener + class COpenClipboard + { + public: + COpenClipboard(CWnd *owner, bool empty =true) + { + m_open = owner->OpenClipboard(); + if(!m_open) + { + MdThrowStringException(IDS_CANNOTOPENCLIPBOARD); + } + if(empty) + { + if(!EmptyClipboard()) + { + MdThrowStringException(IDS_CANNOTEMTPYCLIPBOARD); + } + } + } + ~COpenClipboard() + { + if(m_open) + { + CloseClipboard(); + } + } + private: + BOOL m_open; + }; + + +} + + +///////////////////////////////////////////////////////////////////////////// + +IMPLEMENT_DYNAMIC(COptionsPropertySheet, CPropertySheet) + +COptionsPropertySheet::COptionsPropertySheet() + : CPropertySheet(IDS_WINDIRSTAT_SETTINGS) + , m_restartApplication(false) + , m_languageChanged(false) + , m_alreadyAsked(false) +{ +} + +void COptionsPropertySheet::SetLanguageChanged(bool changed) +{ + m_languageChanged = changed; +} + +BOOL COptionsPropertySheet::OnInitDialog() +{ + BOOL bResult = CPropertySheet::OnInitDialog(); + + CRect rc; + GetWindowRect(rc); + CPoint pt = rc.TopLeft(); + CPersistence::GetConfigPosition(pt); + CRect rc2(pt, rc.Size()); + MoveWindow(rc2); + + SetActivePage(CPersistence::GetConfigPage(GetPageCount() - 1)); + return bResult; +} + +BOOL COptionsPropertySheet::OnCommand(WPARAM wParam, LPARAM lParam) +{ + CPersistence::SetConfigPage(GetActiveIndex()); + + CRect rc; + GetWindowRect(rc); + CPersistence::SetConfigPosition(rc.TopLeft()); + + int cmd = LOWORD(wParam); + if((IDOK == cmd) || (ID_APPLY_NOW == cmd)) + { + if(m_languageChanged && ((IDOK == cmd) || (!m_alreadyAsked))) + { + int r = AfxMessageBox(IDS_LANGUAGERESTARTNOW, MB_YESNOCANCEL); + if(IDCANCEL == r) + { + return true; // "Message handled". Don't proceed. + } + else if(IDNO == r) + { + m_alreadyAsked = true; // Don't ask twice. + } + else + { + ASSERT(IDYES == r); + m_restartApplication = true; + + if(ID_APPLY_NOW == cmd) + { + // This _posts_ a message... + EndDialog(IDOK); + // ... so after returning from this function, the OnOK()-handlers + // of the pages will be called, before the sheet is closed. + } + } + } + } + + return CPropertySheet::OnCommand(wParam, lParam); +} + +///////////////////////////////////////////////////////////////////////////// + +CMySplitterWnd::CMySplitterWnd(LPCTSTR name) + : m_persistenceName(name) + , m_splitterPos(0.5) +{ + CPersistence::GetSplitterPos(m_persistenceName, m_wasTrackedByUser, m_userSplitterPos); +} + +BEGIN_MESSAGE_MAP(CMySplitterWnd, CSplitterWnd) + ON_WM_SIZE() + ON_WM_DESTROY() +END_MESSAGE_MAP() + +void CMySplitterWnd::StopTracking(BOOL bAccept) +{ + CSplitterWnd::StopTracking(bAccept); + + if(bAccept) + { + CRect rcClient; + GetClientRect(rcClient); + + if(GetColumnCount() > 1) + { + int dummy; + int cxLeft; + GetColumnInfo(0, cxLeft, dummy); + + if(rcClient.Width() > 0) + { + m_splitterPos = (double)cxLeft / rcClient.Width(); + } + } + else + { + int dummy; + int cyUpper; + GetRowInfo(0, cyUpper, dummy); + + if(rcClient.Height() > 0) + { + m_splitterPos = (double)cyUpper / rcClient.Height(); + } + } + m_wasTrackedByUser = true; + m_userSplitterPos = m_splitterPos; + } +} + +double CMySplitterWnd::GetSplitterPos() +{ + return m_splitterPos; +} + +void CMySplitterWnd::SetSplitterPos(double pos) +{ + m_splitterPos = pos; + + CRect rcClient; + GetClientRect(rcClient); + + if(GetColumnCount() > 1) + { + if(m_pColInfo != NULL) + { + int cxLeft = (int) (pos * rcClient.Width()); + if(cxLeft >= 0) + { + SetColumnInfo(0, cxLeft, 0); + RecalcLayout(); + } + } + } + else + { + if(m_pRowInfo != NULL) + { + int cyUpper = (int) (pos * rcClient.Height()); + if(cyUpper >= 0) + { + SetRowInfo(0, cyUpper, 0); + RecalcLayout(); + } + } + } +} + +void CMySplitterWnd::RestoreSplitterPos(double posIfVirgin) +{ + if(m_wasTrackedByUser) + { + SetSplitterPos(m_userSplitterPos); + } + else + { + SetSplitterPos(posIfVirgin); + } +} + +void CMySplitterWnd::OnSize(UINT nType, int cx, int cy) +{ + if(GetColumnCount() > 1) + { + int cxLeft = (int)(cx * m_splitterPos); + if(cxLeft > 0) + { + SetColumnInfo(0, cxLeft, 0); + } + } + else + { + int cyUpper = (int)(cy * m_splitterPos); + if(cyUpper > 0) + { + SetRowInfo(0, cyUpper, 0); + } + } + CSplitterWnd::OnSize(nType, cx, cy); +} + +void CMySplitterWnd::OnDestroy() +{ + CPersistence::SetSplitterPos(m_persistenceName, m_wasTrackedByUser, m_userSplitterPos); + CSplitterWnd::OnDestroy(); +} + + +///////////////////////////////////////////////////////////////////////////// + +CPacmanControl::CPacmanControl() +{ + m_pacman.SetBackgroundColor(::GetSysColor(COLOR_BTNFACE)); + m_pacman.SetSpeed(0.00005); +} + +void CPacmanControl::Drive(ULONGLONG readJobs) +{ + if(::IsWindow(m_hWnd) && m_pacman.Drive(readJobs)) + { + RedrawWindow(); + } +} + +void CPacmanControl::Start(bool start) +{ + m_pacman.Start(start); +} + +BEGIN_MESSAGE_MAP(CPacmanControl, CStatic) + ON_WM_PAINT() + ON_WM_CREATE() +END_MESSAGE_MAP() + +int CPacmanControl::OnCreate(LPCREATESTRUCT lpCreateStruct) +{ + if(CStatic::OnCreate(lpCreateStruct) == -1) + { + return -1; + } + + m_pacman.Reset(); + m_pacman.Start(true); + return 0; +} + +void CPacmanControl::OnPaint() +{ + CPaintDC dc(this); + CRect rc; + GetClientRect(rc); + m_pacman.Draw(&dc, rc); +} + +///////////////////////////////////////////////////////////////////////////// + +CDeadFocusWnd::CDeadFocusWnd() +{ +} + +void CDeadFocusWnd::Create(CWnd *parent) +{ + CRect rc(0,0,0,0); + VERIFY(CWnd::Create(AfxRegisterWndClass(0, 0, 0, 0), _T("_deadfocus"), WS_CHILD, rc, parent, IDC_DEADFOCUS)); +} + +CDeadFocusWnd::~CDeadFocusWnd() +{ + DestroyWindow(); +} + +BEGIN_MESSAGE_MAP(CDeadFocusWnd, CWnd) + ON_WM_KEYDOWN() +END_MESSAGE_MAP() + +void CDeadFocusWnd::OnKeyDown(UINT nChar, UINT /* nRepCnt */, UINT /* nFlags */) +{ + if(nChar == VK_TAB) + { + GetMainFrame()->MoveFocus(LF_DIRECTORYLIST); + } +} + +///////////////////////////////////////////////////////////////////////////// +#ifdef SUPPORT_W7_TASKBAR +UINT CMainFrame::s_taskBarMessage = ::RegisterWindowMessage(TEXT("TaskbarButtonCreated")); +#endif // SUPPORT_W7_TASKBAR + +IMPLEMENT_DYNCREATE(CMainFrame, CFrameWnd) + +BEGIN_MESSAGE_MAP(CMainFrame, CFrameWnd) + ON_WM_CREATE() + ON_MESSAGE(WM_ENTERSIZEMOVE, OnEnterSizeMove) + ON_MESSAGE(WM_EXITSIZEMOVE, OnExitSizeMove) + ON_WM_CLOSE() + ON_WM_INITMENUPOPUP() + ON_UPDATE_COMMAND_UI(ID_INDICATOR_MEMORYUSAGE, OnUpdateMemoryUsage) + ON_WM_SIZE() + ON_UPDATE_COMMAND_UI(ID_VIEW_SHOWTREEMAP, OnUpdateViewShowtreemap) + ON_COMMAND(ID_VIEW_SHOWTREEMAP, OnViewShowtreemap) + ON_UPDATE_COMMAND_UI(ID_VIEW_SHOWFILETYPES, OnUpdateViewShowfiletypes) + ON_COMMAND(ID_VIEW_SHOWFILETYPES, OnViewShowfiletypes) + ON_COMMAND(ID_CONFIGURE, OnConfigure) + ON_WM_DESTROY() + ON_COMMAND(ID_TREEMAP_HELPABOUTTREEMAPS, OnTreemapHelpabouttreemaps) + ON_BN_CLICKED(IDC_SUSPEND, OnBnClickedSuspend) + ON_WM_SYSCOLORCHANGE() +#ifdef SUPPORT_W7_TASKBAR + ON_REGISTERED_MESSAGE(s_taskBarMessage, OnTaskButtonCreated) +#endif // SUPPORT_W7_TASKBAR +END_MESSAGE_MAP() + +static UINT indicators[] = +{ + ID_SEPARATOR, + ID_INDICATOR_MEMORYUSAGE, + ID_INDICATOR_CAPS, + ID_INDICATOR_NUM, + ID_INDICATOR_SCRL, +}; + +static UINT indicatorsWithoutMemoryUsage[] = +{ + ID_SEPARATOR, + ID_INDICATOR_CAPS, + ID_INDICATOR_NUM, + ID_INDICATOR_SCRL, +}; + + +CMainFrame *CMainFrame::_theFrame; + +CMainFrame *CMainFrame::GetTheFrame() +{ + return _theFrame; +} + +CMainFrame::CMainFrame() + : m_wndSplitter(_T("main")) + , m_wndSubSplitter(_T("sub")) + , m_progressVisible(false) + , m_progressRange(100) + , m_logicalFocus(LF_NONE) +#ifdef SUPPORT_W7_TASKBAR + , m_TaskbarButtonState(TBPF_INDETERMINATE) + , m_TaskbarButtonPreviousState(TBPF_INDETERMINATE) +#endif // SUPPORT_W7_TASKBAR +{ + _theFrame = this; +} + +CMainFrame::~CMainFrame() +{ + _theFrame = NULL; +} + +#ifdef SUPPORT_W7_TASKBAR +LRESULT CMainFrame::OnTaskButtonCreated(WPARAM, LPARAM) +{ + if(!m_TaskbarList) + { + HRESULT hr = ::CoCreateInstance(CLSID_TaskbarList, NULL, CLSCTX_ALL, IID_ITaskbarList3, reinterpret_cast<LPVOID*>(&m_TaskbarList)); + if(FAILED(hr)) + { + VTRACE(_T("CoCreateInstance(CLSID_TaskbarList, NULL, CLSCTX_ALL) failed %08X"), hr); + } + } + return 0; +} +#endif // SUPPORT_W7_TASKBAR + +void CMainFrame::ShowProgress(ULONGLONG range) +{ + // A range of 0 means that we have no range. + // In this case we display pacman. + HideProgress(); + + if(GetOptions()->IsFollowMountPoints() || GetOptions()->IsFollowJunctionPoints()) + { + range = 0; + } + m_progressRange = range; + m_progressPos = 0; + m_progressVisible = true; + if(range > 0) + { + CreateStatusProgress(); + } + else + { + CreatePacmanProgress(); + } + UpdateProgress(); +} + +void CMainFrame::HideProgress() +{ + DestroyProgress(); + if(m_progressVisible) + { + m_progressVisible = false; + if(::IsWindow(*GetMainFrame())) + { + GetDocument()->SetTitlePrefix(wds::strEmpty); + SetMessageText(AFX_IDS_IDLEMESSAGE); + } + } +} + +void CMainFrame::SetProgressPos(ULONGLONG pos) +{ + if(m_progressRange > 0 && pos > m_progressRange) + { + pos = m_progressRange; + } + + m_progressPos = pos; + UpdateProgress(); +} + +void CMainFrame::SetProgressPos100() // called by CDirstatDoc +{ + if(m_progressRange > 0) + { + SetProgressPos(m_progressRange); + } +#ifdef SUPPORT_W7_TASKBAR + if(m_TaskbarList) + { + m_TaskbarList->SetProgressState(*this, m_TaskbarButtonState = TBPF_NOPROGRESS); + } +#endif // SUPPORT_W7_TASKBAR +} + +bool CMainFrame::IsProgressSuspended() +{ + if(!::IsWindow(m_suspendButton.m_hWnd)) + { + return false; + } + return ((m_suspendButton.GetState() & 0x3) != 0); +} + +void CMainFrame::DrivePacman() +{ + m_pacman.Drive(GetDocument()->GetWorkingItemReadJobs()); +} + +void CMainFrame::UpdateProgress() +{ + if(m_progressVisible) + { + CString titlePrefix; + CString suspended; + + if(IsProgressSuspended()) + { + suspended.LoadString(IDS_SUSPENDED_); + } + + if(m_progressRange > 0) + { + int pos = (int)((double) m_progressPos * 100 / m_progressRange); + m_progress.SetPos(pos); + titlePrefix.Format(_T("%d%% %s"), pos, suspended); +#ifdef SUPPORT_W7_TASKBAR + if(m_TaskbarList && (m_TaskbarButtonState != TBPF_PAUSED)) + { + switch(pos) + { + // FIXME: hardcoded value here and elsewhere in this file + case 100: + m_TaskbarList->SetProgressState(*this, m_TaskbarButtonState = TBPF_INDETERMINATE); // often happens before we're finished + break; + default: + m_TaskbarList->SetProgressState(*this, m_TaskbarButtonState = TBPF_NORMAL); // often happens before we're finished + m_TaskbarList->SetProgressValue(*this, m_progressPos, m_progressRange); + break; + } + } +#endif // SUPPORT_W7_TASKBAR + } + else + { + titlePrefix = LoadString(IDS_SCANNING_) + suspended; + } + + GetDocument()->SetTitlePrefix(titlePrefix); + } +} + +void CMainFrame::CreateStatusProgress() +{ + if(m_progress.m_hWnd == NULL) + { + CRect rc; + m_wndStatusBar.GetItemRect(0, rc); + CreateSuspendButton(rc); + m_progress.Create(WS_CHILD | WS_VISIBLE, rc, &m_wndStatusBar, 4711); + m_progress.ModifyStyle(WS_BORDER, 0); // Doesn't help with XP-style control. + } +#ifdef SUPPORT_W7_TASKBAR + if(m_TaskbarList) + { + m_TaskbarList->SetProgressState(*this, m_TaskbarButtonState = TBPF_INDETERMINATE); + } +#endif // SUPPORT_W7_TASKBAR +} + +void CMainFrame::CreatePacmanProgress() +{ + if(m_pacman.m_hWnd == NULL) + { + CRect rc; + m_wndStatusBar.GetItemRect(0, rc); + CreateSuspendButton(rc); + m_pacman.Create(wds::strEmpty, WS_CHILD | WS_VISIBLE, rc, &m_wndStatusBar, 4711); // FIXME: hard-coded value out + } +} + +// rc [in]: Rect of status pane +// rc [out]: Rest for progress/pacman-control +void CMainFrame::CreateSuspendButton(CRect& rc) +{ + CRect rcButton = rc; + rcButton.right = rcButton.left + 80; // FIXME: hardcoded value + + VERIFY(m_suspendButton.Create(LoadString(IDS_SUSPEND), WS_CHILD | WS_VISIBLE | BS_AUTOCHECKBOX | BS_PUSHLIKE, rcButton, &m_wndStatusBar, IDC_SUSPEND)); + m_suspendButton.SetFont(GetDirstatView()->GetSmallFont()); + + rc.left = rcButton.right; +} + +void CMainFrame::DestroyProgress() +{ + if(::IsWindow(m_progress.m_hWnd)) + { + m_progress.DestroyWindow(); + m_progress.m_hWnd = NULL; + } + else if(::IsWindow(m_pacman.m_hWnd)) + { + m_pacman.DestroyWindow(); + m_pacman.m_hWnd = NULL; + } + if(::IsWindow(m_suspendButton.m_hWnd)) + { + m_suspendButton.DestroyWindow(); + m_suspendButton.m_hWnd = NULL; + } +} + +void CMainFrame::OnBnClickedSuspend() +{ + bool const isSuspended = IsProgressSuspended(); + m_pacman.Start(!isSuspended); +#ifdef SUPPORT_W7_TASKBAR + if(m_TaskbarList) + { + switch(m_TaskbarButtonState) + { + case TBPF_PAUSED: + m_TaskbarList->SetProgressState(*this, m_TaskbarButtonState = m_TaskbarButtonPreviousState); + break; + default: + m_TaskbarButtonPreviousState = m_TaskbarButtonState; + m_TaskbarList->SetProgressState(*this, m_TaskbarButtonState = TBPF_PAUSED); + break; + } + } +#endif // SUPPORT_W7_TASKBAR + UpdateProgress(); +} + +int CMainFrame::OnCreate(LPCREATESTRUCT lpCreateStruct) +{ + if(CFrameWnd::OnCreate(lpCreateStruct) == -1) + { + return -1; + } + + VERIFY(m_wndToolBar.CreateEx(this, TBSTYLE_FLAT, WS_CHILD | WS_VISIBLE | CBRS_TOP | CBRS_GRIPPER | CBRS_TOOLTIPS | CBRS_FLYBY | CBRS_SIZE_DYNAMIC)); + VERIFY(m_wndToolBar.LoadToolBar(IDR_MAINFRAME)); + + UINT *indic = indicators; + UINT size = countof(indicators); + + // If psapi is not supported, don't show that pane. + if(GetWDSApp()->GetCurrentProcessMemoryInfo() == wds::strEmpty) + { + indic = indicatorsWithoutMemoryUsage; + size = countof(indicatorsWithoutMemoryUsage); + } + + VERIFY(m_wndStatusBar.Create(this)); + VERIFY(m_wndStatusBar.SetIndicators(indic, size)); + m_wndDeadFocus.Create(this); + + m_wndToolBar.EnableDocking(CBRS_ALIGN_ANY); + EnableDocking(CBRS_ALIGN_ANY); + DockControlBar(&m_wndToolBar); + + LoadBarState(CPersistence::GetBarStateSection()); + ShowControlBar(&m_wndToolBar, CPersistence::GetShowToolbar(), false); + ShowControlBar(&m_wndStatusBar, CPersistence::GetShowStatusbar(), false); + + return 0; +} + +void CMainFrame::InitialShowWindow() +{ + WINDOWPLACEMENT wp; + wp.length = sizeof(wp); + GetWindowPlacement(&wp); + CPersistence::GetMainWindowPlacement(wp); + MakeSaneShowCmd(wp.showCmd); + SetWindowPlacement(&wp); +} + +void CMainFrame::MakeSaneShowCmd(UINT& u) +{ + switch (u) + { + default: + case SW_HIDE: + case SW_MINIMIZE: + case SW_SHOWMINNOACTIVE: + case SW_SHOWNA: + case SW_SHOWMINIMIZED: + case SW_SHOWNOACTIVATE: + case SW_RESTORE: + case SW_FORCEMINIMIZE: + case SW_SHOWDEFAULT: + case SW_SHOW: + case SW_SHOWNORMAL: + { + u = SW_SHOWNORMAL; + } + break; + case SW_SHOWMAXIMIZED: + break; + } +} + +void CMainFrame::OnClose() +{ + CWaitCursor wc; + + // It's too late, to do this in OnDestroy(). Because the toolbar, if undocked, + // is already destroyed in OnDestroy(). So we must save the toolbar state here + // in OnClose(). + SaveBarState(CPersistence::GetBarStateSection()); + CPersistence::SetShowToolbar((m_wndToolBar.GetStyle() & WS_VISIBLE) != 0); + CPersistence::SetShowStatusbar((m_wndStatusBar.GetStyle() & WS_VISIBLE) != 0); + +#ifdef _DEBUG + // avoid memory leaks an show hourglass while deleting the tree + GetDocument()->OnNewDocument(); +#endif + + GetDocument()->ForgetItemTree(); + CFrameWnd::OnClose(); +} + +void CMainFrame::OnDestroy() +{ + WINDOWPLACEMENT wp; + wp.length = sizeof(wp); + GetWindowPlacement(&wp); + CPersistence::SetMainWindowPlacement(wp); + + CPersistence::SetShowFileTypes(GetTypeView()->IsShowTypes()); + CPersistence::SetShowTreemap(GetGraphView()->IsShowTreemap()); + + CFrameWnd::OnDestroy(); +} + +BOOL CMainFrame::OnCreateClient(LPCREATESTRUCT /*lpcs*/, CCreateContext* pContext) +{ + VERIFY(m_wndSplitter.CreateStatic(this, 2, 1)); + VERIFY(m_wndSplitter.CreateView(1, 0, RUNTIME_CLASS(CGraphView), CSize(100, 100), pContext)); + VERIFY(m_wndSubSplitter.CreateStatic(&m_wndSplitter, 1, 2, WS_CHILD | WS_VISIBLE | WS_BORDER, m_wndSplitter.IdFromRowCol(0, 0))); + VERIFY(m_wndSubSplitter.CreateView(0, 0, RUNTIME_CLASS(CDirstatView), CSize(700, 500), pContext)); + VERIFY(m_wndSubSplitter.CreateView(0, 1, RUNTIME_CLASS(CTypeView), CSize(100, 500), pContext)); + + MinimizeGraphView(); + MinimizeTypeView(); + + GetTypeView()->ShowTypes(CPersistence::GetShowFileTypes()); + GetGraphView()->ShowTreemap(CPersistence::GetShowTreemap()); + + return TRUE; +} + +BOOL CMainFrame::PreCreateWindow(CREATESTRUCT& cs) +{ + if( !CFrameWnd::PreCreateWindow(cs) ) + { + return FALSE; + } + + return TRUE; +} + + +// CMainFrame Diagnose + +#ifdef _DEBUG +void CMainFrame::AssertValid() const +{ + CFrameWnd::AssertValid(); +} + +void CMainFrame::Dump(CDumpContext& dc) const +{ + CFrameWnd::Dump(dc); +} + +#endif //_DEBUG + +void CMainFrame::MinimizeTypeView() +{ + m_wndSubSplitter.SetSplitterPos(1.0); +} + +void CMainFrame::RestoreTypeView() +{ + if(GetTypeView()->IsShowTypes()) + { + m_wndSubSplitter.RestoreSplitterPos(0.72); + GetTypeView()->RedrawWindow(); + } +} + +void CMainFrame::MinimizeGraphView() +{ + m_wndSplitter.SetSplitterPos(1.0); +} + +void CMainFrame::RestoreGraphView() +{ + if(GetGraphView()->IsShowTreemap()) + { + m_wndSplitter.RestoreSplitterPos(0.4); + GetGraphView()->DrawEmptyView(); + GetGraphView()->RedrawWindow(); + } +} + +CDirstatView* CMainFrame::GetDirstatView() +{ + CWnd* pWnd = m_wndSubSplitter.GetPane(0, 0); + CDirstatView* pView = DYNAMIC_DOWNCAST(CDirstatView, pWnd); + return pView; +} + +CGraphView *CMainFrame::GetGraphView() +{ + CWnd *pWnd = m_wndSplitter.GetPane(1, 0); + CGraphView *pView = DYNAMIC_DOWNCAST(CGraphView, pWnd); + return pView; +} + +CTypeView *CMainFrame::GetTypeView() +{ + CWnd *pWnd = m_wndSubSplitter.GetPane(0, 1); + CTypeView *pView = DYNAMIC_DOWNCAST(CTypeView, pWnd); + return pView; +} + +LRESULT CMainFrame::OnEnterSizeMove(WPARAM, LPARAM) +{ + GetGraphView()->SuspendRecalculation(true); + return 0; +} + +LRESULT CMainFrame::OnExitSizeMove(WPARAM, LPARAM) +{ + GetGraphView()->SuspendRecalculation(false); + return 0; +} + +void CMainFrame::CopyToClipboard(LPCTSTR psz) +{ + try + { + COpenClipboard clipboard(this); + SIZE_T cchBufLen = _tcslen(psz) + 1; + + HGLOBAL h = ::GlobalAlloc(GMEM_MOVEABLE | GMEM_ZEROINIT, (cchBufLen) * sizeof(TCHAR)); + if(h == NULL) + { + MdThrowStringException(_T("GlobalAlloc failed.")); + } + + LPVOID lp = ::GlobalLock(h); + ASSERT(lp != NULL); + + _tcscpy_s((LPTSTR)lp, cchBufLen, psz); + + ::GlobalUnlock(h); + + UINT uFormat = CF_TEXT; +#ifdef UNICODE + uFormat = CF_UNICODETEXT; +#endif + if(NULL == ::SetClipboardData(uFormat, h)) + { + MdThrowStringException(IDS_CANNOTSETCLIPBAORDDATA); + } + } + catch (CException *pe) + { + pe->ReportError(); + pe->Delete(); + } +} + +void CMainFrame::OnInitMenuPopup(CMenu* pPopupMenu, UINT nIndex, BOOL bSysMenu) +{ + CFrameWnd::OnInitMenuPopup(pPopupMenu, nIndex, bSysMenu); + + if(!bSysMenu) + { + switch (nIndex) + { + case TLM_CLEANUP: + { + UpdateCleanupMenu(pPopupMenu); + } + break; + } + } +} + +void CMainFrame::UpdateCleanupMenu(CMenu *menu) +{ + CString s = LoadString(IDS_EMPTYRECYCLEBIN); + VERIFY(menu->ModifyMenu(ID_CLEANUP_EMPTYRECYCLEBIN, MF_BYCOMMAND | MF_STRING, ID_CLEANUP_EMPTYRECYCLEBIN, s)); + // TODO: can be cleaned, so that we don't disable and then enable the menu item + menu->EnableMenuItem(ID_CLEANUP_EMPTYRECYCLEBIN, MF_BYCOMMAND | MF_DISABLED | MF_GRAYED); + + ULONGLONG items; + ULONGLONG bytes; + + queryRecycleBin(items, bytes); + + CString info; + if(items == 1) + { + info.FormatMessage(IDS__ONEITEMss, FormatBytes(bytes), GetOptions()->IsHumanFormat() && bytes != 0 ? wds::strEmpty : wds::strBlankSpace + GetSpec_Bytes()); + } + else + { + info.FormatMessage(IDS__sITEMSss, FormatCount(items), FormatBytes(bytes), GetOptions()->IsHumanFormat() && bytes != 0 ? wds::strEmpty : wds::strBlankSpace + GetSpec_Bytes()); + } + + s += info; + VERIFY(menu->ModifyMenu(ID_CLEANUP_EMPTYRECYCLEBIN, MF_BYCOMMAND | MF_STRING, ID_CLEANUP_EMPTYRECYCLEBIN, s)); + + // ModifyMenu() re-enables the item. So we disable (or enable) it again. + + UINT flags = (items > 0 ? MF_ENABLED : MF_DISABLED | MF_GRAYED); + flags |= MF_BYCOMMAND; + + menu->EnableMenuItem(ID_CLEANUP_EMPTYRECYCLEBIN, flags); + + UINT toRemove = menu->GetMenuItemCount() - MAINMENU_USERDEFINEDCLEANUP_POSITION; + for(UINT i = 0; i < toRemove; i++) + { + menu->RemoveMenu(MAINMENU_USERDEFINEDCLEANUP_POSITION, MF_BYPOSITION); + } + + AppendUserDefinedCleanups(menu); +} + +void CMainFrame::queryRecycleBin(ULONGLONG& items, ULONGLONG& bytes) +{ + // On W2k, the first parameter to SHQueryRecycleBin must not be NULL. + // So we must sum the item counts and sizes of the recycle bins of all local drives. + + items = 0; + bytes = 0; + + DWORD drives = ::GetLogicalDrives(); + int i; + DWORD mask = 0x00000001; + for(i = 0; i < wds::iNumDriveLetters; i++, mask <<= 1) + { + if((drives & mask) == 0) + { + continue; + } + + CString s; + s.Format(_T("%c:\\"), i + wds::chrCapA); + + UINT type = ::GetDriveType(s); + if(type == DRIVE_UNKNOWN || type == DRIVE_NO_ROOT_DIR) + { + continue; + } + + if(type == DRIVE_REMOTE) + { + continue; + } + + SHQUERYRBINFO qbi; + ZeroMemory(&qbi, sizeof(qbi)); + qbi.cbSize = sizeof(qbi); + + HRESULT hr = ::SHQueryRecycleBin(s, &qbi); + + if(FAILED(hr)) + { + continue; + } + + items += qbi.i64NumItems; + bytes += qbi.i64Size; + } +} + +void CMainFrame::AppendUserDefinedCleanups(CMenu *menu) +{ + CArray<int, int> indices; + GetOptions()->GetEnabledUserDefinedCleanups(indices); + if(indices.GetSize() > 0) + { + for(int i = 0; i < indices.GetSize(); i++) + { + CString string; + string.FormatMessage(IDS_UDCsCTRLd, GetOptions()->GetUserDefinedCleanup(indices[i])->title, indices[i]); + + UINT flags = MF_GRAYED | MF_DISABLED; + if( + GetLogicalFocus() == LF_DIRECTORYLIST + // FIXME: Multi-select + && GetDocument()->UserDefinedCleanupWorksForItem(GetOptions()->GetUserDefinedCleanup(indices[i]), GetDocument()->GetSelection(0)) + ) + { + flags = MF_ENABLED; + } + menu->AppendMenu(flags|MF_STRING, ID_USERDEFINEDCLEANUP0 + indices[i], string); + } + } + else + { + // This is just to show new users, that they can configure user defined cleanups. + menu->AppendMenu(MF_GRAYED, 0, LoadString(IDS_USERDEFINEDCLEANUP0)); + } +} + +void CMainFrame::SetLogicalFocus(LOGICAL_FOCUS lf) +{ + if(lf != m_logicalFocus) + { + m_logicalFocus = lf; + SetSelectionMessageText(); + + GetDocument()->UpdateAllViews(NULL, HINT_SELECTIONSTYLECHANGED); + } +} + +LOGICAL_FOCUS CMainFrame::GetLogicalFocus() +{ + return m_logicalFocus; +} + +void CMainFrame::MoveFocus(LOGICAL_FOCUS lf) +{ + switch (lf) + { + case LF_NONE: + { + SetLogicalFocus(LF_NONE); + m_wndDeadFocus.SetFocus(); + } + break; + case LF_DIRECTORYLIST: + { + GetDirstatView()->SetFocus(); + } + break; + case LF_EXTENSIONLIST: + { + GetTypeView()->SetFocus(); + } + break; + } +} + +void CMainFrame::SetSelectionMessageText() +{ + switch (GetLogicalFocus()) + { + case LF_NONE: + { + SetMessageText(AFX_IDS_IDLEMESSAGE); + } + break; + case LF_DIRECTORYLIST: + // FIXME: Multi-select + if(GetDocument()->GetSelection(0) != NULL) + { + // FIXME: Multi-select + SetMessageText(GetDocument()->GetSelection(0)->GetPath()); + } + else + { + SetMessageText(AFX_IDS_IDLEMESSAGE); + } + break; + case LF_EXTENSIONLIST: + { + SetMessageText(wds::strStar + GetDocument()->GetHighlightExtension()); + } + break; + } +} + +void CMainFrame::OnUpdateMemoryUsage(CCmdUI *pCmdUI) +{ + pCmdUI->Enable(true); + pCmdUI->SetText(GetWDSApp()->GetCurrentProcessMemoryInfo()); +} + +void CMainFrame::OnSize(UINT nType, int cx, int cy) +{ + CFrameWnd::OnSize(nType, cx, cy); + + if(!::IsWindow(m_wndStatusBar.m_hWnd)) + { + return; + } + + CRect rc; + m_wndStatusBar.GetItemRect(0, rc); + + if(m_suspendButton.m_hWnd != NULL) + { + CRect suspend; + m_suspendButton.GetClientRect(suspend); + rc.left = suspend.right; + } + + if(m_progress.m_hWnd != NULL) + { + m_progress.MoveWindow(rc); + } + else if(m_pacman.m_hWnd != NULL) + { + m_pacman.MoveWindow(rc); + } +} + +void CMainFrame::OnUpdateViewShowtreemap(CCmdUI *pCmdUI) +{ + pCmdUI->SetCheck(GetGraphView()->IsShowTreemap()); +} + +void CMainFrame::OnViewShowtreemap() +{ + GetGraphView()->ShowTreemap(!GetGraphView()->IsShowTreemap()); + if(GetGraphView()->IsShowTreemap()) + { + RestoreGraphView(); + } + else + { + MinimizeGraphView(); + } +} + +void CMainFrame::OnUpdateViewShowfiletypes(CCmdUI *pCmdUI) +{ + pCmdUI->SetCheck(GetTypeView()->IsShowTypes()); +} + +void CMainFrame::OnViewShowfiletypes() +{ + GetTypeView()->ShowTypes(!GetTypeView()->IsShowTypes()); + if(GetTypeView()->IsShowTypes()) + { + RestoreTypeView(); + } + else + { + MinimizeTypeView(); + } +} + +void CMainFrame::OnConfigure() +{ + COptionsPropertySheet sheet; + + CPageGeneral general; + CPageTreelist treelist; + CPageTreemap treemap; + CPageCleanups cleanups; + + sheet.AddPage(&general); + sheet.AddPage(&treelist); + sheet.AddPage(&treemap); + sheet.AddPage(&cleanups); + + sheet.DoModal(); + + GetOptions()->SaveToRegistry(); + + if(sheet.m_restartApplication) + { + GetWDSApp()->RestartApplication(); + } +} + +void CMainFrame::OnTreemapHelpabouttreemaps() +{ + GetWDSApp()->DoContextHelp(IDH_Treemap); +} + +void CMainFrame::OnSysColorChange() +{ + CFrameWnd::OnSysColorChange(); + GetDirstatView()->SysColorChanged(); + GetTypeView()->SysColorChanged(); +} diff --git a/windirstat/mainframe.h b/windirstat/mainframe.h index d35d159..3a31813 100644 --- a/windirstat/mainframe.h +++ b/windirstat/mainframe.h @@ -1,245 +1,245 @@ -// mainframe.h - Declaration of CMySplitterWnd and CMainFrame
-//
-// WinDirStat - Directory Statistics
-// Copyright (C) 2003-2005 Bernhard Seifert
-// Copyright (C) 2004-2016 WinDirStat team (windirstat.info)
-//
-// This program is free software; you can redistribute it and/or modify
-// it under the terms of the GNU General Public License as published by
-// the Free Software Foundation; either version 2 of the License, or
-// (at your option) any later version.
-//
-// This program is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-// GNU General Public License for more details.
-//
-// You should have received a copy of the GNU General Public License
-// along with this program; if not, write to the Free Software
-// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
-//
-//
-
-#ifndef __WDS_MAINFRAME_H__
-#define __WDS_MAINFRAME_H__
-#pragma once
-
-#include "pacman.h"
-#include <common/wds_constants.h>
-
-class CMySplitterWnd;
-class CMainFrame;
-
-class CDirstatView;
-class CGraphView;
-class CTypeView;
-
-//
-// The "logical focus" can be
-// - on the Directory List
-// - on the Extension List
-// Although these windows can loose the real focus, for instance
-// when a dialog box is opened, the logical focus will not be lost.
-//
-enum LOGICAL_FOCUS
-{
- LF_NONE,
- LF_DIRECTORYLIST,
- LF_EXTENSIONLIST
-};
-
-
-//
-// COptionsPropertySheet. The options dialog.
-//
-class COptionsPropertySheet: public CPropertySheet
-{
- DECLARE_DYNAMIC(COptionsPropertySheet)
-
-public:
- COptionsPropertySheet();
- void SetLanguageChanged(bool changed);
- virtual BOOL OnInitDialog();
-
- bool m_restartApplication; // [out]
-
-protected:
- virtual BOOL OnCommand(WPARAM wParam, LPARAM lParam);
-
- bool m_languageChanged;
- bool m_alreadyAsked;
-};
-
-
-//
-// CMySplitterWnd. A CSplitterWnd with 2 columns or rows, which
-// knows about the current split ratio and retains it even when resized.
-//
-class CMySplitterWnd: public CSplitterWnd
-{
-public:
- CMySplitterWnd(LPCTSTR name);
- virtual void StopTracking(BOOL bAccept);
- double GetSplitterPos();
- void SetSplitterPos(double pos);
- void RestoreSplitterPos(double posIfVirgin);
-
-protected:
- CString m_persistenceName; // Name of object for CPersistence
- double m_splitterPos; // Current split ratio
- bool m_wasTrackedByUser; // True as soon as user has modified the splitter position
- double m_userSplitterPos; // Split ratio as set by the user
-
- DECLARE_MESSAGE_MAP()
- afx_msg void OnSize(UINT nType, int cx, int cy);
-public:
- afx_msg void OnDestroy();
-};
-
-//
-// CPacmanControl. Pacman on the status bar.
-//
-class CPacmanControl: public CStatic
-{
-public:
- CPacmanControl();
- void Drive(ULONGLONG readJobs);
- void Start(bool start);
-
-protected:
- CPacman m_pacman;
-
- DECLARE_MESSAGE_MAP()
- afx_msg void OnPaint();
- afx_msg int OnCreate(LPCREATESTRUCT lpCreateStruct);
-};
-
-//
-// CDeadFocusWnd. The focus in Windirstat can be on
-// - the directory list
-// - the extension list,
-// - or none of them. In this case the focus lies on
-// an invisible (zero-size) child of CMainFrame.
-// On VK_TAB CDeadFocusWnd moves the focus to the
-// directory list then.
-//
-class CDeadFocusWnd: public CWnd
-{
-public:
- CDeadFocusWnd();
- void Create(CWnd *parent);
- ~CDeadFocusWnd();
-
-protected:
- DECLARE_MESSAGE_MAP()
- afx_msg void OnKeyDown(UINT nChar, UINT nRepCnt, UINT nFlags);
-};
-
-
-//
-// CMainFrame. The main application window.
-//
-class CMainFrame: public CFrameWnd
-{
-protected:
-#ifdef SUPPORT_W7_TASKBAR
- static UINT CMainFrame::s_taskBarMessage;
-#endif // SUPPORT_W7_TASKBAR
- static CMainFrame *_theFrame;
- CMainFrame(); // Created by MFC only
- DECLARE_DYNCREATE(CMainFrame)
-
-public:
- static CMainFrame *GetTheFrame();
- virtual ~CMainFrame();
- void InitialShowWindow();
-
- void RestoreGraphView();
- void RestoreTypeView();
- void MinimizeGraphView();
- void MinimizeTypeView();
- void CopyToClipboard(LPCTSTR psz);
-
- CDirstatView *GetDirstatView();
- CGraphView *GetGraphView();
- CTypeView *GetTypeView();
-
- void ShowProgress(ULONGLONG range);
- void HideProgress();
- void SetProgressPos(ULONGLONG pos);
- void SetProgressPos100();
- bool IsProgressSuspended();
- void DrivePacman();
-
- void UpdateProgress();
- void AppendUserDefinedCleanups(CMenu *menu);
-
- void SetLogicalFocus(LOGICAL_FOCUS lf);
- LOGICAL_FOCUS GetLogicalFocus();
- void MoveFocus(LOGICAL_FOCUS lf);
-
- void SetSelectionMessageText();
-
- static void queryRecycleBin(ULONGLONG& items, ULONGLONG& bytes);
-
-protected:
- virtual BOOL OnCreateClient(LPCREATESTRUCT lpcs, CCreateContext* pContext);
- virtual BOOL PreCreateWindow(CREATESTRUCT& cs);
- void MakeSaneShowCmd(UINT& u);
-
- void CreateStatusProgress();
- void CreatePacmanProgress();
- void CreateSuspendButton(CRect& rc);
- void DestroyProgress();
-
- void UpdateCleanupMenu(CMenu *menu);
-
- bool m_progressVisible; // True while progress must be shown (either pacman or progress bar)
- ULONGLONG m_progressRange; // Progress range. A range of 0 means that we have no range available. In this case we should display pacman.
- ULONGLONG m_progressPos; // Progress position (<= progressRange, or an item count in case of m_progressRang == 0)
-
- CMySplitterWnd m_wndSubSplitter; // Contains the two upper views
- CMySplitterWnd m_wndSplitter; // Contains (a) m_wndSubSplitter and (b) the graph view.
-
- CStatusBar m_wndStatusBar; // Status bar
- CToolBar m_wndToolBar; // Tool bar
- CProgressCtrl m_progress; // Progress control. Is Create()ed and Destroy()ed again every time.
- CPacmanControl m_pacman; // Static control for Pacman.
- CButton m_suspendButton;// Progress-Suspend-Button
-
- LOGICAL_FOCUS m_logicalFocus; // Which view has the logical focus
- CDeadFocusWnd m_wndDeadFocus; // Zero-size window which holds the focus if logical focus is "NONE"
-#ifdef SUPPORT_W7_TASKBAR
- CComPtr<ITaskbarList3> m_TaskbarList;
- TBPFLAG m_TaskbarButtonState, m_TaskbarButtonPreviousState;
-#endif // SUPPORT_W7_TASKBAR
-
- DECLARE_MESSAGE_MAP()
- afx_msg int OnCreate(LPCREATESTRUCT lpCreateStruct);
- afx_msg LRESULT OnEnterSizeMove(WPARAM, LPARAM);
- afx_msg LRESULT OnExitSizeMove(WPARAM, LPARAM);
- afx_msg void OnClose();
- afx_msg void OnInitMenuPopup(CMenu* pPopupMenu, UINT nIndex, BOOL bSysMenu);
- afx_msg void OnUpdateMemoryUsage(CCmdUI *pCmdUI);
- afx_msg void OnSize(UINT nType, int cx, int cy);
- afx_msg void OnUpdateViewShowtreemap(CCmdUI *pCmdUI);
- afx_msg void OnViewShowtreemap();
- afx_msg void OnUpdateViewShowfiletypes(CCmdUI *pCmdUI);
- afx_msg void OnViewShowfiletypes();
- afx_msg void OnConfigure();
- afx_msg void OnDestroy();
- afx_msg void OnBnClickedSuspend();
- afx_msg void OnTreemapHelpabouttreemaps();
-#ifdef SUPPORT_W7_TASKBAR
- afx_msg LRESULT OnTaskButtonCreated(WPARAM, LPARAM);
-#endif // SUPPORT_W7_TASKBAR
-
-public:
- #ifdef _DEBUG
- virtual void AssertValid() const;
- virtual void Dump(CDumpContext& dc) const;
- #endif
- afx_msg void OnSysColorChange();
-};
-
-#endif // __WDS_MAINFRAME_H__
+// mainframe.h - Declaration of CMySplitterWnd and CMainFrame +// +// WinDirStat - Directory Statistics +// Copyright (C) 2003-2005 Bernhard Seifert +// Copyright (C) 2004-2016 WinDirStat team (windirstat.info) +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation; either version 2 of the License, or +// (at your option) any later version. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +// +// + +#ifndef __WDS_MAINFRAME_H__ +#define __WDS_MAINFRAME_H__ +#pragma once + +#include "pacman.h" +#include <common/wds_constants.h> + +class CMySplitterWnd; +class CMainFrame; + +class CDirstatView; +class CGraphView; +class CTypeView; + +// +// The "logical focus" can be +// - on the Directory List +// - on the Extension List +// Although these windows can loose the real focus, for instance +// when a dialog box is opened, the logical focus will not be lost. +// +enum LOGICAL_FOCUS +{ + LF_NONE, + LF_DIRECTORYLIST, + LF_EXTENSIONLIST +}; + + +// +// COptionsPropertySheet. The options dialog. +// +class COptionsPropertySheet: public CPropertySheet +{ + DECLARE_DYNAMIC(COptionsPropertySheet) + +public: + COptionsPropertySheet(); + void SetLanguageChanged(bool changed); + virtual BOOL OnInitDialog(); + + bool m_restartApplication; // [out] + +protected: + virtual BOOL OnCommand(WPARAM wParam, LPARAM lParam); + + bool m_languageChanged; + bool m_alreadyAsked; +}; + + +// +// CMySplitterWnd. A CSplitterWnd with 2 columns or rows, which +// knows about the current split ratio and retains it even when resized. +// +class CMySplitterWnd: public CSplitterWnd +{ +public: + CMySplitterWnd(LPCTSTR name); + virtual void StopTracking(BOOL bAccept); + double GetSplitterPos(); + void SetSplitterPos(double pos); + void RestoreSplitterPos(double posIfVirgin); + +protected: + CString m_persistenceName; // Name of object for CPersistence + double m_splitterPos; // Current split ratio + bool m_wasTrackedByUser; // True as soon as user has modified the splitter position + double m_userSplitterPos; // Split ratio as set by the user + + DECLARE_MESSAGE_MAP() + afx_msg void OnSize(UINT nType, int cx, int cy); +public: + afx_msg void OnDestroy(); +}; + +// +// CPacmanControl. Pacman on the status bar. +// +class CPacmanControl: public CStatic +{ +public: + CPacmanControl(); + void Drive(ULONGLONG readJobs); + void Start(bool start); + +protected: + CPacman m_pacman; + + DECLARE_MESSAGE_MAP() + afx_msg void OnPaint(); + afx_msg int OnCreate(LPCREATESTRUCT lpCreateStruct); +}; + +// +// CDeadFocusWnd. The focus in Windirstat can be on +// - the directory list +// - the extension list, +// - or none of them. In this case the focus lies on +// an invisible (zero-size) child of CMainFrame. +// On VK_TAB CDeadFocusWnd moves the focus to the +// directory list then. +// +class CDeadFocusWnd: public CWnd +{ +public: + CDeadFocusWnd(); + void Create(CWnd *parent); + ~CDeadFocusWnd(); + +protected: + DECLARE_MESSAGE_MAP() + afx_msg void OnKeyDown(UINT nChar, UINT nRepCnt, UINT nFlags); +}; + + +// +// CMainFrame. The main application window. +// +class CMainFrame: public CFrameWnd +{ +protected: +#ifdef SUPPORT_W7_TASKBAR + static UINT CMainFrame::s_taskBarMessage; +#endif // SUPPORT_W7_TASKBAR + static CMainFrame *_theFrame; + CMainFrame(); // Created by MFC only + DECLARE_DYNCREATE(CMainFrame) + +public: + static CMainFrame *GetTheFrame(); + virtual ~CMainFrame(); + void InitialShowWindow(); + + void RestoreGraphView(); + void RestoreTypeView(); + void MinimizeGraphView(); + void MinimizeTypeView(); + void CopyToClipboard(LPCTSTR psz); + + CDirstatView *GetDirstatView(); + CGraphView *GetGraphView(); + CTypeView *GetTypeView(); + + void ShowProgress(ULONGLONG range); + void HideProgress(); + void SetProgressPos(ULONGLONG pos); + void SetProgressPos100(); + bool IsProgressSuspended(); + void DrivePacman(); + + void UpdateProgress(); + void AppendUserDefinedCleanups(CMenu *menu); + + void SetLogicalFocus(LOGICAL_FOCUS lf); + LOGICAL_FOCUS GetLogicalFocus(); + void MoveFocus(LOGICAL_FOCUS lf); + + void SetSelectionMessageText(); + + static void queryRecycleBin(ULONGLONG& items, ULONGLONG& bytes); + +protected: + virtual BOOL OnCreateClient(LPCREATESTRUCT lpcs, CCreateContext* pContext); + virtual BOOL PreCreateWindow(CREATESTRUCT& cs); + void MakeSaneShowCmd(UINT& u); + + void CreateStatusProgress(); + void CreatePacmanProgress(); + void CreateSuspendButton(CRect& rc); + void DestroyProgress(); + + void UpdateCleanupMenu(CMenu *menu); + + bool m_progressVisible; // True while progress must be shown (either pacman or progress bar) + ULONGLONG m_progressRange; // Progress range. A range of 0 means that we have no range available. In this case we should display pacman. + ULONGLONG m_progressPos; // Progress position (<= progressRange, or an item count in case of m_progressRang == 0) + + CMySplitterWnd m_wndSubSplitter; // Contains the two upper views + CMySplitterWnd m_wndSplitter; // Contains (a) m_wndSubSplitter and (b) the graph view. + + CStatusBar m_wndStatusBar; // Status bar + CToolBar m_wndToolBar; // Tool bar + CProgressCtrl m_progress; // Progress control. Is Create()ed and Destroy()ed again every time. + CPacmanControl m_pacman; // Static control for Pacman. + CButton m_suspendButton;// Progress-Suspend-Button + + LOGICAL_FOCUS m_logicalFocus; // Which view has the logical focus + CDeadFocusWnd m_wndDeadFocus; // Zero-size window which holds the focus if logical focus is "NONE" +#ifdef SUPPORT_W7_TASKBAR + CComPtr<ITaskbarList3> m_TaskbarList; + TBPFLAG m_TaskbarButtonState, m_TaskbarButtonPreviousState; +#endif // SUPPORT_W7_TASKBAR + + DECLARE_MESSAGE_MAP() + afx_msg int OnCreate(LPCREATESTRUCT lpCreateStruct); + afx_msg LRESULT OnEnterSizeMove(WPARAM, LPARAM); + afx_msg LRESULT OnExitSizeMove(WPARAM, LPARAM); + afx_msg void OnClose(); + afx_msg void OnInitMenuPopup(CMenu* pPopupMenu, UINT nIndex, BOOL bSysMenu); + afx_msg void OnUpdateMemoryUsage(CCmdUI *pCmdUI); + afx_msg void OnSize(UINT nType, int cx, int cy); + afx_msg void OnUpdateViewShowtreemap(CCmdUI *pCmdUI); + afx_msg void OnViewShowtreemap(); + afx_msg void OnUpdateViewShowfiletypes(CCmdUI *pCmdUI); + afx_msg void OnViewShowfiletypes(); + afx_msg void OnConfigure(); + afx_msg void OnDestroy(); + afx_msg void OnBnClickedSuspend(); + afx_msg void OnTreemapHelpabouttreemaps(); +#ifdef SUPPORT_W7_TASKBAR + afx_msg LRESULT OnTaskButtonCreated(WPARAM, LPARAM); +#endif // SUPPORT_W7_TASKBAR + +public: + #ifdef _DEBUG + virtual void AssertValid() const; + virtual void Dump(CDumpContext& dc) const; + #endif + afx_msg void OnSysColorChange(); +}; + +#endif // __WDS_MAINFRAME_H__ diff --git a/windirstat/mountpoints.cpp b/windirstat/mountpoints.cpp index 63de831..0d934dd 100644 --- a/windirstat/mountpoints.cpp +++ b/windirstat/mountpoints.cpp @@ -17,7 +17,7 @@ // You should have received a copy of the GNU General Public License // along with this program; if not, write to the Free Software // Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA -//
+// #include "stdafx.h" #include "osspecific.h" diff --git a/windirstat/mountpoints.h b/windirstat/mountpoints.h index e4861ed..ec0d829 100644 --- a/windirstat/mountpoints.h +++ b/windirstat/mountpoints.h @@ -17,7 +17,7 @@ // You should have received a copy of the GNU General Public License // along with this program; if not, write to the Free Software // Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA -//
+// #ifndef __WDS_MOUNTPOINTS_H__ #define __WDS_MOUNTPOINTS_H__ diff --git a/windirstat/options.cpp b/windirstat/options.cpp index 005310a..6bec487 100644 --- a/windirstat/options.cpp +++ b/windirstat/options.cpp @@ -17,7 +17,7 @@ // You should have received a copy of the GNU General Public License // along with this program; if not, write to the Free Software // Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA -//
+// #include "stdafx.h" #include "windirstat.h" diff --git a/windirstat/options.h b/windirstat/options.h index c6bd2f0..fb07371 100644 --- a/windirstat/options.h +++ b/windirstat/options.h @@ -17,7 +17,7 @@ // You should have received a copy of the GNU General Public License // along with this program; if not, write to the Free Software // Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA -//
+// #ifndef __WDS_OPTIONS_H__ #define __WDS_OPTIONS_H__ diff --git a/windirstat/osspecific.cpp b/windirstat/osspecific.cpp index 71be66a..54b87da 100644 --- a/windirstat/osspecific.cpp +++ b/windirstat/osspecific.cpp @@ -17,7 +17,7 @@ // You should have received a copy of the GNU General Public License // along with this program; if not, write to the Free Software // Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA -//
+// #include "stdafx.h" #include "osspecific.h" diff --git a/windirstat/osspecific.h b/windirstat/osspecific.h index 1cd2757..25abc28 100644 --- a/windirstat/osspecific.h +++ b/windirstat/osspecific.h @@ -18,7 +18,7 @@ // You should have received a copy of the GNU General Public License // along with this program; if not, write to the Free Software // Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA -//
+// #ifndef __WDS_OSSPECIFIC_H__ #define __WDS_OSSPECIFIC_H__ diff --git a/windirstat/selectobject.h b/windirstat/selectobject.h index 8af0505..aadf71a 100644 --- a/windirstat/selectobject.h +++ b/windirstat/selectobject.h @@ -17,7 +17,7 @@ // You should have received a copy of the GNU General Public License // along with this program; if not, write to the Free Software // Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA -//
+// // Example: diff --git a/windirstat/set.h b/windirstat/set.h index 98efcf4..299fe80 100644 --- a/windirstat/set.h +++ b/windirstat/set.h @@ -17,7 +17,7 @@ // You should have received a copy of the GNU General Public License // along with this program; if not, write to the Free Software // Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA -//
+// #ifndef __WDS_SET_H__ #define __WDS_SET_H__ diff --git a/windirstat/stdafx.cpp b/windirstat/stdafx.cpp index 7a61c78..098236d 100644 --- a/windirstat/stdafx.cpp +++ b/windirstat/stdafx.cpp @@ -19,7 +19,7 @@ // You should have received a copy of the GNU General Public License // along with this program; if not, write to the Free Software // Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA -//
+// #include "stdafx.h" diff --git a/windirstat/stdafx.h b/windirstat/stdafx.h index ebc8a2d..22c6830 100644 --- a/windirstat/stdafx.h +++ b/windirstat/stdafx.h @@ -19,7 +19,7 @@ // You should have received a copy of the GNU General Public License // along with this program; if not, write to the Free Software // Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA -//
+// #ifndef __WDS_STDAFX_H__ #define __WDS_STDAFX_H__ diff --git a/windirstat/windirstat.cpp b/windirstat/windirstat.cpp index b62289c..e05efbf 100644 --- a/windirstat/windirstat.cpp +++ b/windirstat/windirstat.cpp @@ -1,783 +1,783 @@ -// windirstat.cpp - Implementation of CDirstatApp and some globals
-//
-// WinDirStat - Directory Statistics
-// Copyright (C) 2003-2005 Bernhard Seifert
-// Copyright (C) 2004-2016 WinDirStat team (windirstat.info)
-// Copyright (C) 2010 Chris Wimmer
-//
-// This program is free software; you can redistribute it and/or modify
-// it under the terms of the GNU General Public License as published by
-// the Free Software Foundation; either version 2 of the License, or
-// (at your option) any later version.
-//
-// This program is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-// GNU General Public License for more details.
-//
-// You should have received a copy of the GNU General Public License
-// along with this program; if not, write to the Free Software
-// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
-//
-//
-
-#include "stdafx.h"
-#include "windirstat.h"
-#include "mainframe.h"
-#include "selectdrivesdlg.h"
-#include "aboutdlg.h"
-#include "dirstatdoc.h"
-#include "graphview.h"
-#include "osspecific.h"
-#include "WorkLimiter.h"
-#include <Dbghelp.h> // for mini dumps
-
-#ifdef _DEBUG
-# include <common/tracer.cpp>
-# define new DEBUG_NEW
-#endif
-
-CMainFrame *GetMainFrame()
-{
- // Not: return (CMainFrame *)AfxGetMainWnd();
- // because CWinApp::m_pMainWnd is set too late.
- return CMainFrame::GetTheFrame();
-}
-
-CDirstatApp *GetWDSApp()
-{
- return reinterpret_cast<CDirstatApp *>(AfxGetApp());
-}
-
-CString GetAuthorEmail()
-{
- return _T("team") _T("\x40") _T("windirstat.info"); // FIXME into common string file
-}
-
-CString GetWinDirStatHomepage()
-{
- return _T("windirstat.info"); // FIXME into common string file
-}
-
-CMyImageList* GetMyImageList()
-{
- return GetWDSApp()->GetMyImageList();
-}
-
-
-// CDirstatApp
-
-BEGIN_MESSAGE_MAP(CDirstatApp, CWinApp)
- ON_COMMAND(ID_APP_ABOUT, OnAppAbout)
- ON_COMMAND(ID_FILE_OPEN, OnFileOpen)
-#if SUPPORT_ELEVATION
- ON_COMMAND(ID_RUNELEVATED, OnRunElevated)
- ON_UPDATE_COMMAND_UI(ID_RUNELEVATED, OnUpdateRunElevated)
-#endif // SUPPORT_ELEVATION
- ON_COMMAND(ID_HELP_MANUAL, OnHelpManual)
-END_MESSAGE_MAP()
-
-
-CDirstatApp _theApp;
-
-CDirstatApp::CDirstatApp()
- : Inherited()
- , m_pDocTemplate(0)
- , m_langid(0)
- , m_workingSet(0)
- , m_pageFaults(0)
- , m_lastPeriodicalRamUsageUpdate(::GetTickCount())
- , m_altColor(GetAlternativeColor(RGB(0x00, 0x00, 0xFF), _T("AltColor")))
- , m_altEncryptionColor(GetAlternativeColor(RGB(0x00, 0x80, 0x00), _T("AltEncryptionColor")))
-# if SUPPORT_ELEVATION
- , m_ElevationEvent(NULL)
- , m_ElevationEventName()
-# endif // SUPPORT_ELEVATION
-# ifdef VTRACE_TO_CONSOLE
- , m_vtrace_console(new CWDSTracerConsole())
-# endif // VTRACE_TO_CONSOLE
-{
-# ifdef _DEBUG
- TestScanResourceDllName();
-# endif
-
-# if SUPPORT_ELEVATION
- m_ElevationEventName.Format(WINDIRSTAT_EVENT_NAME_FMT, static_cast<LPCTSTR>(GetCurrentDesktopName()), static_cast<LPCTSTR>(GetCurrentWinstaName()));
- VTRACE(_T("Elevation event: %s"), static_cast<LPCTSTR>(m_ElevationEventName));
-# endif // SUPPORT_ELEVATION
-}
-
-CDirstatApp::~CDirstatApp()
-{
-#if SUPPORT_ELEVATION
- if (m_ElevationEvent)
- {
- CloseHandle(m_ElevationEvent); //make sure this is the very last thing that is destroyed (way after WM_CLOSE)
- }
-#endif // SUPPORT_ELEVATION
-}
-
-CMyImageList* CDirstatApp::GetMyImageList()
-{
- m_myImageList.initialize();
- return &m_myImageList;
-}
-
-void CDirstatApp::UpdateRamUsage()
-{
- CWinThread::OnIdle(0);
-}
-
-void CDirstatApp::PeriodicalUpdateRamUsage()
-{
- if(::GetTickCount() - m_lastPeriodicalRamUsageUpdate > 1200)
- {
- UpdateRamUsage();
- m_lastPeriodicalRamUsageUpdate = ::GetTickCount();
- }
-}
-
-CString CDirstatApp::FindResourceDllPathByLangid(LANGID& langid)
-{
- return FindAuxiliaryFileByLangid(
- wds::strLangPrefix
- , wds::strLangSuffix
- , langid
- , true
- );
-}
-
-CString CDirstatApp::FindHelpfilePathByLangid(LANGID langid)
-{
- CString s;
- if(langid == GetBuiltInLanguage())
- {
- // The English help file is named windirstat.chm.
- s = GetAppFolder() + _T("\\windirstat.chm");
- if(::PathFileExists(s))
- {
- return s;
- }
- }
-
- // Help files for other languages are named wdshxxxx.chm (xxxx = LANGID).
- s = FindAuxiliaryFileByLangid(_T("wdsh"), _T(".chm"), langid, false);
- if(!s.IsEmpty())
- {
- return s;
- }
-
- // Else, try windirstat.chm again.
- s = GetAppFolder() + _T("\\windirstat.chm");
- if(::PathFileExists(s))
- {
- return s;
- }
-
- // Not found.
- return wds::strEmpty;
-}
-
-void CDirstatApp::GetAvailableResourceDllLangids(CArray<LANGID, LANGID>& arr)
-{
- arr.RemoveAll();
-
- CFileFind finder;
- BOOL b = finder.FindFile(GetAppFolder() + _T("\\wdsr*") _T(STR_LANG_SUFFIX));
- while(b)
- {
- b = finder.FindNextFile();
- if(finder.IsDirectory())
- {
- continue;
- }
-
- LANGID langid;
- if(ScanResourceDllName(finder.GetFileName(), langid) && IsCorrectResourceDll(finder.GetFilePath()))
- {
- arr.Add(langid);
- }
- }
-}
-
-void CDirstatApp::RestartApplication()
-{
- // First, try to create the suspended process
- STARTUPINFO si;
- ZeroMemory(&si, sizeof(si));
- si.cb = sizeof(si);
-
- PROCESS_INFORMATION pi;
- ZeroMemory(&pi, sizeof(pi));
-
- BOOL success = CreateProcess(GetAppFileName(), NULL, NULL, NULL, false, CREATE_SUSPENDED, NULL, NULL, &si, &pi);
- if(!success)
- {
- CString s;
- s.FormatMessage(IDS_CREATEPROCESSsFAILEDs, GetAppFileName(), MdGetWinErrorText(::GetLastError()));
- AfxMessageBox(s);
- return;
- }
-
- // We _send_ the WM_CLOSE here to ensure that all CPersistence-Settings
- // like column widths an so on are saved before the new instance is resumed.
- // This will post a WM_QUIT message.
- GetMainFrame()->SendMessage(WM_CLOSE);
-
- DWORD dw = ::ResumeThread(pi.hThread);
- if(dw != 1)
- {
- VTRACE(_T("ResumeThread() didn't return 1"));
- }
-
- ::CloseHandle(pi.hProcess);
- ::CloseHandle(pi.hThread);
-}
-
-bool CDirstatApp::getDiskFreeSpace(LPCTSTR pszRootPath, ULONGLONG& total, ULONGLONG& unused)
-{
- static ULARGE_INTEGER u64available = {0};
- ULARGE_INTEGER u64total = {0};
- ULARGE_INTEGER u64free = {0};
-
- // On NT 4.0, the 2nd Parameter to this function must NOT be NULL.
- // TODO: verify whether Windows 2000 behaves correctly
- BOOL b = GetDiskFreeSpaceEx(pszRootPath, &u64available, &u64total, &u64free);
- if(!b)
- {
- VTRACE(_T("GetDiskFreeSpaceEx(%s) failed."), pszRootPath);
- }
-
- // FIXME: need to retrieve total via IOCTL_DISK_GET_PARTITION_INFO instead
- total = u64total.QuadPart;
- unused = u64free.QuadPart;
-
- // Race condition ...
- ASSERT(unused <= total);
- return (FALSE != b);
-}
-
-bool CDirstatApp::ScanResourceDllName(LPCTSTR name, LANGID& langid)
-{
- return ScanAuxiliaryFileName(
- wds::strLangPrefix
- , wds::strLangSuffix
- , name
- , langid
- );
-}
-
-// suffix contains the dot (e.g. ".chm")
-bool CDirstatApp::ScanAuxiliaryFileName(LPCTSTR prefix, LPCTSTR suffix, LPCTSTR name, LANGID& langid)
-{
- using wds::iLangCodeLength;
- ASSERT(_tcslen(prefix) == _tcslen(wds::strLangPrefix)); // FIXME: Also add .chm part or split
- ASSERT(_tcslen(suffix) == _tcslen(wds::strLangSuffix)); // FIXME: see above
-
- CString s(name); // [prefix][lngcode].[suffix]
- s.MakeLower();
- if(s.Left(((int)_tcslen(prefix))) != prefix)
- {
- return false;
- }
- s = s.Mid(((int)_tcslen(prefix))); // remove prefix from the front -> [lngcode].[suffix]
-
- if(s.GetLength() != (iLangCodeLength + ((int)_tcslen(suffix))))
- {
- return false;
- }
-
- if(s.Mid(iLangCodeLength) != CString(suffix).MakeLower())
- {
- return false;
- }
-
- s = s.Left(iLangCodeLength); // retain the language code -> [lngcode]
-
- for(int i = 0; i < iLangCodeLength; i++)
- {
- if(!_istxdigit(s[i]))
- {
- return false;
- }
- }
-
- int id;
- VERIFY(1 == _stscanf_s(s, _T("%04x"), &id));
- langid = (LANGID)id;
-
- return true;
-}
-
-#ifdef _DEBUG
-void CDirstatApp::TestScanResourceDllName()
-{
- LANGID id;
- ASSERT(!ScanResourceDllName(wds::strEmpty, id));
- ASSERT(!ScanResourceDllName(_T(STR_RESOURCE_PREFIX) _T(STR_LANG_SUFFIX), id));
- ASSERT(!ScanResourceDllName(_T(STR_RESOURCE_PREFIX) _T("123") _T(STR_LANG_SUFFIX), id));
- ASSERT(!ScanResourceDllName(_T(STR_RESOURCE_PREFIX) _T("12345") _T(STR_LANG_SUFFIX), id));
- ASSERT(!ScanResourceDllName(_T(STR_RESOURCE_PREFIX) _T("1234.exe"), id));
- ASSERT(ScanResourceDllName (_T(STR_RESOURCE_PREFIX) _T("0123") _T(STR_LANG_SUFFIX), id));
- ASSERT(id == 0x0123);
- ASSERT(ScanResourceDllName (CString(_T(STR_RESOURCE_PREFIX) _T("a13F") _T(STR_LANG_SUFFIX)).MakeUpper(), id));
- ASSERT(id == 0xa13f);
-}
-#endif
-
-CString CDirstatApp::FindAuxiliaryFileByLangid(LPCTSTR prefix, LPCTSTR suffix, LANGID& langid, bool checkResource)
-{
- CString number;
- number.Format(_T("%04x"), langid);
-
- CString exactName;
- exactName.Format(_T("%s%s%s"), prefix, number, suffix);
-
- CString exactPath = GetAppFolder() + _T("\\") + exactName;
- if(::PathFileExists(exactPath) && (!checkResource || IsCorrectResourceDll(exactPath)))
- {
- return exactPath;
- }
-
- CString search;
- search.Format(_T("%s*%s"), prefix, suffix);
-
- CFileFind finder;
- BOOL b = finder.FindFile(GetAppFolder() + _T("\\") + search);
- while(b)
- {
- b = finder.FindNextFile();
- if(finder.IsDirectory())
- {
- continue;
- }
-
- LANGID id;
- if(!ScanAuxiliaryFileName(prefix, suffix, finder.GetFileName(), id))
- {
- continue;
- }
-
- if(PRIMARYLANGID(id) == PRIMARYLANGID(langid) && (!checkResource || IsCorrectResourceDll(finder.GetFilePath())))
- {
- langid = id;
- return finder.GetFilePath();
- }
- }
-
- return wds::strEmpty;
-}
-
-CString CDirstatApp::ConstructHelpFileName()
-{
- return FindHelpfilePathByLangid(CLanguageOptions::GetLanguage());
-}
-
-bool CDirstatApp::IsCorrectResourceDll(LPCTSTR path)
-{
- HMODULE module = ::LoadLibraryEx(path, NULL, LOAD_LIBRARY_AS_DATAFILE);
- if(module == NULL)
- {
- return false;
- }
-
- // TODO: introduce some method of checking the resource version
-
- CString reference = LoadString(IDS_RESOURCEVERSION);
-
- int bufsize = reference.GetLength() * 2;
- CString s;
- int r = LoadString(module, IDS_RESOURCEVERSION, s.GetBuffer(bufsize), bufsize);
- s.ReleaseBuffer();
-
- FreeLibrary(module);
-
- if(r == 0 || s != reference)
- {
- return false;
- }
-
- return true;
-}
-
-void CDirstatApp::ReReadMountPoints()
-{
- m_mountPoints.Initialize();
-}
-
-bool CDirstatApp::IsVolumeMountPoint(CString path)
-{
- return m_mountPoints.IsVolumeMountPoint(path);
-}
-
-bool CDirstatApp::IsFolderJunction(CString path)
-{
- return m_mountPoints.IsFolderJunction(path);
-}
-
-// Get the alternative colors for compressed and encrypted files/folders.
-// This function uses either the value defined in the Explorer configuration
-// or the default color values.
-COLORREF CDirstatApp::GetAlternativeColor(COLORREF clrDefault, LPCTSTR which)
-{
- COLORREF x; DWORD cbValue = sizeof(x); CRegKey key;
-
- // Open the explorer key
- key.Open(HKEY_CURRENT_USER, wds::strExplorerKey, KEY_READ);
-
- // Try to read the REG_BINARY value
- if(ERROR_SUCCESS == key.QueryBinaryValue(which, &x, &cbValue))
- {
- // Return the read value upon success
- return x;
- }
- else
- {
- // Return the default upon failure
- return clrDefault;
- }
-}
-
-COLORREF CDirstatApp::AltColor()
-{
- // Return property value
- return m_altColor;
-}
-
-COLORREF CDirstatApp::AltEncryptionColor()
-{
- // Return property value
- return m_altEncryptionColor;
-}
-
-CString CDirstatApp::GetCurrentProcessMemoryInfo()
-{
- UpdateMemoryInfo();
-
- if(m_workingSet == 0)
- {
- return wds::strEmpty;
- }
-
- CString n = PadWidthBlanks(FormatBytes(m_workingSet), 11);
-
- CString s;
- s.FormatMessage(IDS_RAMUSAGEs, n);
-
- return s;
-}
-
-bool CDirstatApp::UpdateMemoryInfo()
-{
- PROCESS_MEMORY_COUNTERS pmc;
- ZeroMemory(&pmc, sizeof(pmc));
- pmc.cb = sizeof(pmc);
-
- if(!::GetProcessMemoryInfo(GetCurrentProcess(), &pmc, sizeof(pmc)))
- {
- return false;
- }
-
- m_workingSet = pmc.WorkingSetSize;
-
- bool ret = false;
- if(pmc.PageFaultCount > m_pageFaults + 500)
- {
- ret = true;
- }
-
- m_pageFaults = pmc.PageFaultCount;
-
- return ret;
-}
-
-LANGID CDirstatApp::GetBuiltInLanguage()
-{
- return MAKELANGID(LANG_ENGLISH, SUBLANG_ENGLISH_US);
-}
-
-BOOL CDirstatApp::InitInstance()
-{
- Inherited::InitInstance();
-
- ::InitCommonControls(); // InitCommonControls() is necessary for Windows XP.
- VERIFY(AfxOleInit()); // For ::SHBrowseForFolder()
- AfxEnableControlContainer(); // For our rich edit controls in the about dialog
- VERIFY(AfxInitRichEdit()); // Rich edit control in out about box
- VERIFY(AfxInitRichEdit2()); // On NT, this helps.
- Inherited::EnableHtmlHelp();
-
- Inherited::SetRegistryKey(_T("Seifert"));
- Inherited::LoadStdProfileSettings(4);
-
- m_langid = GetBuiltInLanguage();
-
- LANGID langid = CLanguageOptions::GetLanguage();
- if(langid != GetBuiltInLanguage())
- {
- CString resourceDllPath = FindResourceDllPathByLangid(langid);
- if(!resourceDllPath.IsEmpty())
- {
- // Load language resource DLL
- HINSTANCE dll = ::LoadLibrary(resourceDllPath);
- if(dll)
- {
- // Set default module handle for loading of resources
- AfxSetResourceHandle(dll);
- m_langid = langid;
- }
- else
- {
- VTRACE(_T("LoadLibrary(%s) failed: %u"), resourceDllPath, ::GetLastError());
- }
- }
- // else: We use our built-in English resources.
-
- CLanguageOptions::SetLanguage(m_langid);
- }
-
-#if SUPPORT_ELEVATION
- //check for an elevation event
- m_ElevationEvent = ::OpenEvent(SYNCHRONIZE, FALSE, m_ElevationEventName);
-
- if (m_ElevationEvent)
- {
- //and if so, wait for it, so previous instance can store its config that we reload next
- ::WaitForSingleObject(m_ElevationEvent, 20 * 1000);
- ::CloseHandle(m_ElevationEvent);
- m_ElevationEvent = 0;
- }
-#endif // SUPPORT_ELEVATION
-
- GetOptions()->LoadFromRegistry();
-
- free((void*)m_pszHelpFilePath);
- m_pszHelpFilePath = _tcsdup(ConstructHelpFileName()); // ~CWinApp() will free this memory.
-
- m_pDocTemplate = new CSingleDocTemplate(
- IDR_MAINFRAME,
- RUNTIME_CLASS(CDirstatDoc),
- RUNTIME_CLASS(CMainFrame),
- RUNTIME_CLASS(CGraphView));
- if(!m_pDocTemplate)
- {
- return FALSE;
- }
- AddDocTemplate(m_pDocTemplate);
-
- CCommandLineInfo cmdInfo;
- ParseCommandLine(cmdInfo);
-
- m_nCmdShow = SW_HIDE;
- if(!ProcessShellCommand(cmdInfo))
- {
- return FALSE;
- }
- FileIconInit(TRUE);
-
- GetMainFrame()->InitialShowWindow();
- m_pMainWnd->UpdateWindow();
-
- // When called by setup.exe, WinDirStat remained in the
- // background, so we do a
- m_pMainWnd->BringWindowToTop();
- m_pMainWnd->SetForegroundWindow();
-
- if(cmdInfo.m_nShellCommand != CCommandLineInfo::FileOpen)
- {
- OnFileOpen();
- }
-
- return TRUE;
-}
-
-int CDirstatApp::ExitInstance()
-{
- return Inherited::ExitInstance();
-}
-
-LANGID CDirstatApp::GetLangid()
-{
- return m_langid;
-}
-
-LANGID CDirstatApp::GetEffectiveLangid()
-{
- if(GetOptions()->IsUseWdsLocale())
- {
- return GetLangid();
- }
- else
- {
- return ::GetUserDefaultLangID();
- }
-}
-
-void CDirstatApp::OnAppAbout()
-{
- StartAboutDialog();
-}
-
-void CDirstatApp::OnFileOpen()
-{
- CSelectDrivesDlg dlg;
- if(IDOK == dlg.DoModal())
- {
- CString path = CDirstatDoc::EncodeSelection((RADIO)dlg.m_radio, dlg.m_folderName, dlg.m_drives);
- m_pDocTemplate->OpenDocumentFile(path, true);
- }
-}
-
-#if SUPPORT_ELEVATION
-BOOL CDirstatApp::IsUACEnabled()
-{
- OSVERSIONINFOEX osInfo;
- DWORDLONG conditionMask = 0;
-
- ZeroMemory(&osInfo, sizeof(osInfo));
- osInfo.dwOSVersionInfoSize = sizeof(osInfo);
- osInfo.dwMajorVersion = 6;
- osInfo.dwMinorVersion = 0;
- VER_SET_CONDITION(conditionMask, VER_MAJORVERSION, VER_GREATER_EQUAL);
- VER_SET_CONDITION(conditionMask, VER_MINORVERSION, VER_GREATER_EQUAL);
-
- if (::VerifyVersionInfo(&osInfo, VER_MAJORVERSION | VER_MINORVERSION, conditionMask))
- {
- HKEY hKey;
- if (::RegOpenKeyW(HKEY_LOCAL_MACHINE, L"Software\\Microsoft\\Windows\\CurrentVersion\\Policies\\System", &hKey) == ERROR_SUCCESS)
- {
- DWORD value = 0;
- if (::RegQueryValueExW(hKey, L"EnableLUA", NULL, NULL, NULL, &value) == ERROR_SUCCESS)
- {
- return (value != 0);
- }
- else
- {
- VTRACE(_T("IsUACEnabled::RegQueryValueExW failed"));
- }
-
- ::RegCloseKey(hKey);
- }
- else
- {
- VTRACE(_T("IsUACEnabled::RegOpenKeyW failed"));
- }
- }
-
- return FALSE;
-}
-
-void CDirstatApp::OnUpdateRunElevated(CCmdUI *pCmdUI)
-{
- pCmdUI->Enable(!IsAdmin() && IsUACEnabled());
-}
-
-#ifndef SEE_MASK_DEFAULT
-# define SEE_MASK_DEFAULT 0x00000000
-#endif
-
-void CDirstatApp::OnRunElevated()
-{
- if (IsAdmin() || !IsUACEnabled())
- return;
-
- CString sAppName = GetAppFileName();
-
- SHELLEXECUTEINFO shellInfo;
- ZeroMemory(&shellInfo, sizeof(shellInfo));
- shellInfo.cbSize = sizeof(shellInfo);
- shellInfo.fMask = SEE_MASK_DEFAULT;
- shellInfo.lpFile = sAppName;
- shellInfo.lpVerb = L"runas"; //DO NOT LOCALIZE
- shellInfo.nShow = SW_NORMAL;
-
-
- if (m_ElevationEvent)
- {
- ::CloseHandle(m_ElevationEvent);
- }
- m_ElevationEvent = ::CreateEvent(NULL, TRUE, FALSE, m_ElevationEventName);
- if (!m_ElevationEvent)
- {
- VTRACE(_T("CreateEvent failed: %d"), GetLastError());
- m_ElevationEvent = 0;
- return;
- }
- if (ERROR_ALREADY_EXISTS == ::GetLastError())
- {
- VTRACE(_T("Event already exists"));
- ::CloseHandle(m_ElevationEvent);
- m_ElevationEvent = 0;
- return;
- }
-
- if (!::ShellExecuteEx(&shellInfo))
- {
- VTRACE(_T("ShellExecuteEx failed to elevate %d"), GetLastError());
-
- ::CloseHandle(m_ElevationEvent);
- m_ElevationEvent = 0;
-
- //TODO: Display message to user?
- }
- else
- {
- //TODO: Store configurations for the new app
-
- GetMainFrame()->SendMessage(WM_CLOSE);
- ::SetEvent(m_ElevationEvent); //Tell other process that we finished saving data (it waits only 20s)
-
- ::CloseHandle(m_ElevationEvent);
- m_ElevationEvent = 0;
- }
-}
-#endif // SUPPORT_ELEVATION
-
-BOOL CDirstatApp::OnIdle(LONG lCount)
-{
- bool more = false;
-
- CDirstatDoc *doc = GetDocument();
- CWorkLimiter limiter;
- limiter.Start(600);
- if((doc) && (!doc->Work(&limiter)))
- {
- more = true;
- }
-
- if(Inherited::OnIdle(lCount))
- {
- more = true;
- }
-
- // The status bar (RAM usage) is updated only when count == 0.
- // That's why we call an extra OnIdle(0) here.
- if(CWinThread::OnIdle(0))
- {
- more = true;
- }
-
- return more;
-}
-
-void CDirstatApp::OnHelpManual()
-{
- DoContextHelp(IDH_StartPage);
-}
-
-void CDirstatApp::DoContextHelp(DWORD topic)
-{
- if(::PathFileExists(m_pszHelpFilePath))
- {
- // I want a NULL parent window. So I don't use CWinApp::HtmlHelp().
- ::HtmlHelp(NULL, m_pszHelpFilePath, HH_HELP_CONTEXT, topic);
- }
- else
- {
- CString msg;
- msg.FormatMessage(IDS_HELPFILEsCOULDNOTBEFOUND, _T("windirstat.chm"));
- // TODO: Add the option to download the "current language" help file ...
- AfxMessageBox(msg);
- }
-}
-
+// windirstat.cpp - Implementation of CDirstatApp and some globals +// +// WinDirStat - Directory Statistics +// Copyright (C) 2003-2005 Bernhard Seifert +// Copyright (C) 2004-2016 WinDirStat team (windirstat.info) +// Copyright (C) 2010 Chris Wimmer +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation; either version 2 of the License, or +// (at your option) any later version. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +// +// + +#include "stdafx.h" +#include "windirstat.h" +#include "mainframe.h" +#include "selectdrivesdlg.h" +#include "aboutdlg.h" +#include "dirstatdoc.h" +#include "graphview.h" +#include "osspecific.h" +#include "WorkLimiter.h" +#include <Dbghelp.h> // for mini dumps + +#ifdef _DEBUG +# include <common/tracer.cpp> +# define new DEBUG_NEW +#endif + +CMainFrame *GetMainFrame() +{ + // Not: return (CMainFrame *)AfxGetMainWnd(); + // because CWinApp::m_pMainWnd is set too late. + return CMainFrame::GetTheFrame(); +} + +CDirstatApp *GetWDSApp() +{ + return reinterpret_cast<CDirstatApp *>(AfxGetApp()); +} + +CString GetAuthorEmail() +{ + return _T("team") _T("\x40") _T("windirstat.info"); // FIXME into common string file +} + +CString GetWinDirStatHomepage() +{ + return _T("windirstat.info"); // FIXME into common string file +} + +CMyImageList* GetMyImageList() +{ + return GetWDSApp()->GetMyImageList(); +} + + +// CDirstatApp + +BEGIN_MESSAGE_MAP(CDirstatApp, CWinApp) + ON_COMMAND(ID_APP_ABOUT, OnAppAbout) + ON_COMMAND(ID_FILE_OPEN, OnFileOpen) +#if SUPPORT_ELEVATION + ON_COMMAND(ID_RUNELEVATED, OnRunElevated) + ON_UPDATE_COMMAND_UI(ID_RUNELEVATED, OnUpdateRunElevated) +#endif // SUPPORT_ELEVATION + ON_COMMAND(ID_HELP_MANUAL, OnHelpManual) +END_MESSAGE_MAP() + + +CDirstatApp _theApp; + +CDirstatApp::CDirstatApp() + : Inherited() + , m_pDocTemplate(0) + , m_langid(0) + , m_workingSet(0) + , m_pageFaults(0) + , m_lastPeriodicalRamUsageUpdate(::GetTickCount()) + , m_altColor(GetAlternativeColor(RGB(0x00, 0x00, 0xFF), _T("AltColor"))) + , m_altEncryptionColor(GetAlternativeColor(RGB(0x00, 0x80, 0x00), _T("AltEncryptionColor"))) +# if SUPPORT_ELEVATION + , m_ElevationEvent(NULL) + , m_ElevationEventName() +# endif // SUPPORT_ELEVATION +# ifdef VTRACE_TO_CONSOLE + , m_vtrace_console(new CWDSTracerConsole()) +# endif // VTRACE_TO_CONSOLE +{ +# ifdef _DEBUG + TestScanResourceDllName(); +# endif + +# if SUPPORT_ELEVATION + m_ElevationEventName.Format(WINDIRSTAT_EVENT_NAME_FMT, static_cast<LPCTSTR>(GetCurrentDesktopName()), static_cast<LPCTSTR>(GetCurrentWinstaName())); + VTRACE(_T("Elevation event: %s"), static_cast<LPCTSTR>(m_ElevationEventName)); +# endif // SUPPORT_ELEVATION +} + +CDirstatApp::~CDirstatApp() +{ +#if SUPPORT_ELEVATION + if (m_ElevationEvent) + { + CloseHandle(m_ElevationEvent); //make sure this is the very last thing that is destroyed (way after WM_CLOSE) + } +#endif // SUPPORT_ELEVATION +} + +CMyImageList* CDirstatApp::GetMyImageList() +{ + m_myImageList.initialize(); + return &m_myImageList; +} + +void CDirstatApp::UpdateRamUsage() +{ + CWinThread::OnIdle(0); +} + +void CDirstatApp::PeriodicalUpdateRamUsage() +{ + if(::GetTickCount() - m_lastPeriodicalRamUsageUpdate > 1200) + { + UpdateRamUsage(); + m_lastPeriodicalRamUsageUpdate = ::GetTickCount(); + } +} + +CString CDirstatApp::FindResourceDllPathByLangid(LANGID& langid) +{ + return FindAuxiliaryFileByLangid( + wds::strLangPrefix + , wds::strLangSuffix + , langid + , true + ); +} + +CString CDirstatApp::FindHelpfilePathByLangid(LANGID langid) +{ + CString s; + if(langid == GetBuiltInLanguage()) + { + // The English help file is named windirstat.chm. + s = GetAppFolder() + _T("\\windirstat.chm"); + if(::PathFileExists(s)) + { + return s; + } + } + + // Help files for other languages are named wdshxxxx.chm (xxxx = LANGID). + s = FindAuxiliaryFileByLangid(_T("wdsh"), _T(".chm"), langid, false); + if(!s.IsEmpty()) + { + return s; + } + + // Else, try windirstat.chm again. + s = GetAppFolder() + _T("\\windirstat.chm"); + if(::PathFileExists(s)) + { + return s; + } + + // Not found. + return wds::strEmpty; +} + +void CDirstatApp::GetAvailableResourceDllLangids(CArray<LANGID, LANGID>& arr) +{ + arr.RemoveAll(); + + CFileFind finder; + BOOL b = finder.FindFile(GetAppFolder() + _T("\\wdsr*") _T(STR_LANG_SUFFIX)); + while(b) + { + b = finder.FindNextFile(); + if(finder.IsDirectory()) + { + continue; + } + + LANGID langid; + if(ScanResourceDllName(finder.GetFileName(), langid) && IsCorrectResourceDll(finder.GetFilePath())) + { + arr.Add(langid); + } + } +} + +void CDirstatApp::RestartApplication() +{ + // First, try to create the suspended process + STARTUPINFO si; + ZeroMemory(&si, sizeof(si)); + si.cb = sizeof(si); + + PROCESS_INFORMATION pi; + ZeroMemory(&pi, sizeof(pi)); + + BOOL success = CreateProcess(GetAppFileName(), NULL, NULL, NULL, false, CREATE_SUSPENDED, NULL, NULL, &si, &pi); + if(!success) + { + CString s; + s.FormatMessage(IDS_CREATEPROCESSsFAILEDs, GetAppFileName(), MdGetWinErrorText(::GetLastError())); + AfxMessageBox(s); + return; + } + + // We _send_ the WM_CLOSE here to ensure that all CPersistence-Settings + // like column widths an so on are saved before the new instance is resumed. + // This will post a WM_QUIT message. + GetMainFrame()->SendMessage(WM_CLOSE); + + DWORD dw = ::ResumeThread(pi.hThread); + if(dw != 1) + { + VTRACE(_T("ResumeThread() didn't return 1")); + } + + ::CloseHandle(pi.hProcess); + ::CloseHandle(pi.hThread); +} + +bool CDirstatApp::getDiskFreeSpace(LPCTSTR pszRootPath, ULONGLONG& total, ULONGLONG& unused) +{ + static ULARGE_INTEGER u64available = {0}; + ULARGE_INTEGER u64total = {0}; + ULARGE_INTEGER u64free = {0}; + + // On NT 4.0, the 2nd Parameter to this function must NOT be NULL. + // TODO: verify whether Windows 2000 behaves correctly + BOOL b = GetDiskFreeSpaceEx(pszRootPath, &u64available, &u64total, &u64free); + if(!b) + { + VTRACE(_T("GetDiskFreeSpaceEx(%s) failed."), pszRootPath); + } + + // FIXME: need to retrieve total via IOCTL_DISK_GET_PARTITION_INFO instead + total = u64total.QuadPart; + unused = u64free.QuadPart; + + // Race condition ... + ASSERT(unused <= total); + return (FALSE != b); +} + +bool CDirstatApp::ScanResourceDllName(LPCTSTR name, LANGID& langid) +{ + return ScanAuxiliaryFileName( + wds::strLangPrefix + , wds::strLangSuffix + , name + , langid + ); +} + +// suffix contains the dot (e.g. ".chm") +bool CDirstatApp::ScanAuxiliaryFileName(LPCTSTR prefix, LPCTSTR suffix, LPCTSTR name, LANGID& langid) +{ + using wds::iLangCodeLength; + ASSERT(_tcslen(prefix) == _tcslen(wds::strLangPrefix)); // FIXME: Also add .chm part or split + ASSERT(_tcslen(suffix) == _tcslen(wds::strLangSuffix)); // FIXME: see above + + CString s(name); // [prefix][lngcode].[suffix] + s.MakeLower(); + if(s.Left(((int)_tcslen(prefix))) != prefix) + { + return false; + } + s = s.Mid(((int)_tcslen(prefix))); // remove prefix from the front -> [lngcode].[suffix] + + if(s.GetLength() != (iLangCodeLength + ((int)_tcslen(suffix)))) + { + return false; + } + + if(s.Mid(iLangCodeLength) != CString(suffix).MakeLower()) + { + return false; + } + + s = s.Left(iLangCodeLength); // retain the language code -> [lngcode] + + for(int i = 0; i < iLangCodeLength; i++) + { + if(!_istxdigit(s[i])) + { + return false; + } + } + + int id; + VERIFY(1 == _stscanf_s(s, _T("%04x"), &id)); + langid = (LANGID)id; + + return true; +} + +#ifdef _DEBUG +void CDirstatApp::TestScanResourceDllName() +{ + LANGID id; + ASSERT(!ScanResourceDllName(wds::strEmpty, id)); + ASSERT(!ScanResourceDllName(_T(STR_RESOURCE_PREFIX) _T(STR_LANG_SUFFIX), id)); + ASSERT(!ScanResourceDllName(_T(STR_RESOURCE_PREFIX) _T("123") _T(STR_LANG_SUFFIX), id)); + ASSERT(!ScanResourceDllName(_T(STR_RESOURCE_PREFIX) _T("12345") _T(STR_LANG_SUFFIX), id)); + ASSERT(!ScanResourceDllName(_T(STR_RESOURCE_PREFIX) _T("1234.exe"), id)); + ASSERT(ScanResourceDllName (_T(STR_RESOURCE_PREFIX) _T("0123") _T(STR_LANG_SUFFIX), id)); + ASSERT(id == 0x0123); + ASSERT(ScanResourceDllName (CString(_T(STR_RESOURCE_PREFIX) _T("a13F") _T(STR_LANG_SUFFIX)).MakeUpper(), id)); + ASSERT(id == 0xa13f); +} +#endif + +CString CDirstatApp::FindAuxiliaryFileByLangid(LPCTSTR prefix, LPCTSTR suffix, LANGID& langid, bool checkResource) +{ + CString number; + number.Format(_T("%04x"), langid); + + CString exactName; + exactName.Format(_T("%s%s%s"), prefix, number, suffix); + + CString exactPath = GetAppFolder() + _T("\\") + exactName; + if(::PathFileExists(exactPath) && (!checkResource || IsCorrectResourceDll(exactPath))) + { + return exactPath; + } + + CString search; + search.Format(_T("%s*%s"), prefix, suffix); + + CFileFind finder; + BOOL b = finder.FindFile(GetAppFolder() + _T("\\") + search); + while(b) + { + b = finder.FindNextFile(); + if(finder.IsDirectory()) + { + continue; + } + + LANGID id; + if(!ScanAuxiliaryFileName(prefix, suffix, finder.GetFileName(), id)) + { + continue; + } + + if(PRIMARYLANGID(id) == PRIMARYLANGID(langid) && (!checkResource || IsCorrectResourceDll(finder.GetFilePath()))) + { + langid = id; + return finder.GetFilePath(); + } + } + + return wds::strEmpty; +} + +CString CDirstatApp::ConstructHelpFileName() +{ + return FindHelpfilePathByLangid(CLanguageOptions::GetLanguage()); +} + +bool CDirstatApp::IsCorrectResourceDll(LPCTSTR path) +{ + HMODULE module = ::LoadLibraryEx(path, NULL, LOAD_LIBRARY_AS_DATAFILE); + if(module == NULL) + { + return false; + } + + // TODO: introduce some method of checking the resource version + + CString reference = LoadString(IDS_RESOURCEVERSION); + + int bufsize = reference.GetLength() * 2; + CString s; + int r = LoadString(module, IDS_RESOURCEVERSION, s.GetBuffer(bufsize), bufsize); + s.ReleaseBuffer(); + + FreeLibrary(module); + + if(r == 0 || s != reference) + { + return false; + } + + return true; +} + +void CDirstatApp::ReReadMountPoints() +{ + m_mountPoints.Initialize(); +} + +bool CDirstatApp::IsVolumeMountPoint(CString path) +{ + return m_mountPoints.IsVolumeMountPoint(path); +} + +bool CDirstatApp::IsFolderJunction(CString path) +{ + return m_mountPoints.IsFolderJunction(path); +} + +// Get the alternative colors for compressed and encrypted files/folders. +// This function uses either the value defined in the Explorer configuration +// or the default color values. +COLORREF CDirstatApp::GetAlternativeColor(COLORREF clrDefault, LPCTSTR which) +{ + COLORREF x; DWORD cbValue = sizeof(x); CRegKey key; + + // Open the explorer key + key.Open(HKEY_CURRENT_USER, wds::strExplorerKey, KEY_READ); + + // Try to read the REG_BINARY value + if(ERROR_SUCCESS == key.QueryBinaryValue(which, &x, &cbValue)) + { + // Return the read value upon success + return x; + } + else + { + // Return the default upon failure + return clrDefault; + } +} + +COLORREF CDirstatApp::AltColor() +{ + // Return property value + return m_altColor; +} + +COLORREF CDirstatApp::AltEncryptionColor() +{ + // Return property value + return m_altEncryptionColor; +} + +CString CDirstatApp::GetCurrentProcessMemoryInfo() +{ + UpdateMemoryInfo(); + + if(m_workingSet == 0) + { + return wds::strEmpty; + } + + CString n = PadWidthBlanks(FormatBytes(m_workingSet), 11); + + CString s; + s.FormatMessage(IDS_RAMUSAGEs, n); + + return s; +} + +bool CDirstatApp::UpdateMemoryInfo() +{ + PROCESS_MEMORY_COUNTERS pmc; + ZeroMemory(&pmc, sizeof(pmc)); + pmc.cb = sizeof(pmc); + + if(!::GetProcessMemoryInfo(GetCurrentProcess(), &pmc, sizeof(pmc))) + { + return false; + } + + m_workingSet = pmc.WorkingSetSize; + + bool ret = false; + if(pmc.PageFaultCount > m_pageFaults + 500) + { + ret = true; + } + + m_pageFaults = pmc.PageFaultCount; + + return ret; +} + +LANGID CDirstatApp::GetBuiltInLanguage() +{ + return MAKELANGID(LANG_ENGLISH, SUBLANG_ENGLISH_US); +} + +BOOL CDirstatApp::InitInstance() +{ + Inherited::InitInstance(); + + ::InitCommonControls(); // InitCommonControls() is necessary for Windows XP. + VERIFY(AfxOleInit()); // For ::SHBrowseForFolder() + AfxEnableControlContainer(); // For our rich edit controls in the about dialog + VERIFY(AfxInitRichEdit()); // Rich edit control in out about box + VERIFY(AfxInitRichEdit2()); // On NT, this helps. + Inherited::EnableHtmlHelp(); + + Inherited::SetRegistryKey(_T("Seifert")); + Inherited::LoadStdProfileSettings(4); + + m_langid = GetBuiltInLanguage(); + + LANGID langid = CLanguageOptions::GetLanguage(); + if(langid != GetBuiltInLanguage()) + { + CString resourceDllPath = FindResourceDllPathByLangid(langid); + if(!resourceDllPath.IsEmpty()) + { + // Load language resource DLL + HINSTANCE dll = ::LoadLibrary(resourceDllPath); + if(dll) + { + // Set default module handle for loading of resources + AfxSetResourceHandle(dll); + m_langid = langid; + } + else + { + VTRACE(_T("LoadLibrary(%s) failed: %u"), resourceDllPath, ::GetLastError()); + } + } + // else: We use our built-in English resources. + + CLanguageOptions::SetLanguage(m_langid); + } + +#if SUPPORT_ELEVATION + //check for an elevation event + m_ElevationEvent = ::OpenEvent(SYNCHRONIZE, FALSE, m_ElevationEventName); + + if (m_ElevationEvent) + { + //and if so, wait for it, so previous instance can store its config that we reload next + ::WaitForSingleObject(m_ElevationEvent, 20 * 1000); + ::CloseHandle(m_ElevationEvent); + m_ElevationEvent = 0; + } +#endif // SUPPORT_ELEVATION + + GetOptions()->LoadFromRegistry(); + + free((void*)m_pszHelpFilePath); + m_pszHelpFilePath = _tcsdup(ConstructHelpFileName()); // ~CWinApp() will free this memory. + + m_pDocTemplate = new CSingleDocTemplate( + IDR_MAINFRAME, + RUNTIME_CLASS(CDirstatDoc), + RUNTIME_CLASS(CMainFrame), + RUNTIME_CLASS(CGraphView)); + if(!m_pDocTemplate) + { + return FALSE; + } + AddDocTemplate(m_pDocTemplate); + + CCommandLineInfo cmdInfo; + ParseCommandLine(cmdInfo); + + m_nCmdShow = SW_HIDE; + if(!ProcessShellCommand(cmdInfo)) + { + return FALSE; + } + FileIconInit(TRUE); + + GetMainFrame()->InitialShowWindow(); + m_pMainWnd->UpdateWindow(); + + // When called by setup.exe, WinDirStat remained in the + // background, so we do a + m_pMainWnd->BringWindowToTop(); + m_pMainWnd->SetForegroundWindow(); + + if(cmdInfo.m_nShellCommand != CCommandLineInfo::FileOpen) + { + OnFileOpen(); + } + + return TRUE; +} + +int CDirstatApp::ExitInstance() +{ + return Inherited::ExitInstance(); +} + +LANGID CDirstatApp::GetLangid() +{ + return m_langid; +} + +LANGID CDirstatApp::GetEffectiveLangid() +{ + if(GetOptions()->IsUseWdsLocale()) + { + return GetLangid(); + } + else + { + return ::GetUserDefaultLangID(); + } +} + +void CDirstatApp::OnAppAbout() +{ + StartAboutDialog(); +} + +void CDirstatApp::OnFileOpen() +{ + CSelectDrivesDlg dlg; + if(IDOK == dlg.DoModal()) + { + CString path = CDirstatDoc::EncodeSelection((RADIO)dlg.m_radio, dlg.m_folderName, dlg.m_drives); + m_pDocTemplate->OpenDocumentFile(path, true); + } +} + +#if SUPPORT_ELEVATION +BOOL CDirstatApp::IsUACEnabled() +{ + OSVERSIONINFOEX osInfo; + DWORDLONG conditionMask = 0; + + ZeroMemory(&osInfo, sizeof(osInfo)); + osInfo.dwOSVersionInfoSize = sizeof(osInfo); + osInfo.dwMajorVersion = 6; + osInfo.dwMinorVersion = 0; + VER_SET_CONDITION(conditionMask, VER_MAJORVERSION, VER_GREATER_EQUAL); + VER_SET_CONDITION(conditionMask, VER_MINORVERSION, VER_GREATER_EQUAL); + + if (::VerifyVersionInfo(&osInfo, VER_MAJORVERSION | VER_MINORVERSION, conditionMask)) + { + HKEY hKey; + if (::RegOpenKeyW(HKEY_LOCAL_MACHINE, L"Software\\Microsoft\\Windows\\CurrentVersion\\Policies\\System", &hKey) == ERROR_SUCCESS) + { + DWORD value = 0; + if (::RegQueryValueExW(hKey, L"EnableLUA", NULL, NULL, NULL, &value) == ERROR_SUCCESS) + { + return (value != 0); + } + else + { + VTRACE(_T("IsUACEnabled::RegQueryValueExW failed")); + } + + ::RegCloseKey(hKey); + } + else + { + VTRACE(_T("IsUACEnabled::RegOpenKeyW failed")); + } + } + + return FALSE; +} + +void CDirstatApp::OnUpdateRunElevated(CCmdUI *pCmdUI) +{ + pCmdUI->Enable(!IsAdmin() && IsUACEnabled()); +} + +#ifndef SEE_MASK_DEFAULT +# define SEE_MASK_DEFAULT 0x00000000 +#endif + +void CDirstatApp::OnRunElevated() +{ + if (IsAdmin() || !IsUACEnabled()) + return; + + CString sAppName = GetAppFileName(); + + SHELLEXECUTEINFO shellInfo; + ZeroMemory(&shellInfo, sizeof(shellInfo)); + shellInfo.cbSize = sizeof(shellInfo); + shellInfo.fMask = SEE_MASK_DEFAULT; + shellInfo.lpFile = sAppName; + shellInfo.lpVerb = _T("runas"); //DO NOT LOCALIZE + shellInfo.nShow = SW_NORMAL; + + + if (m_ElevationEvent) + { + ::CloseHandle(m_ElevationEvent); + } + m_ElevationEvent = ::CreateEvent(NULL, TRUE, FALSE, m_ElevationEventName); + if (!m_ElevationEvent) + { + VTRACE(_T("CreateEvent failed: %d"), GetLastError()); + m_ElevationEvent = 0; + return; + } + if (ERROR_ALREADY_EXISTS == ::GetLastError()) + { + VTRACE(_T("Event already exists")); + ::CloseHandle(m_ElevationEvent); + m_ElevationEvent = 0; + return; + } + + if (!::ShellExecuteEx(&shellInfo)) + { + VTRACE(_T("ShellExecuteEx failed to elevate %d"), GetLastError()); + + ::CloseHandle(m_ElevationEvent); + m_ElevationEvent = 0; + + //TODO: Display message to user? + } + else + { + //TODO: Store configurations for the new app + + GetMainFrame()->SendMessage(WM_CLOSE); + ::SetEvent(m_ElevationEvent); //Tell other process that we finished saving data (it waits only 20s) + + ::CloseHandle(m_ElevationEvent); + m_ElevationEvent = 0; + } +} +#endif // SUPPORT_ELEVATION + +BOOL CDirstatApp::OnIdle(LONG lCount) +{ + bool more = false; + + CDirstatDoc *doc = GetDocument(); + CWorkLimiter limiter; + limiter.Start(600); + if((doc) && (!doc->Work(&limiter))) + { + more = true; + } + + if(Inherited::OnIdle(lCount)) + { + more = true; + } + + // The status bar (RAM usage) is updated only when count == 0. + // That's why we call an extra OnIdle(0) here. + if(CWinThread::OnIdle(0)) + { + more = true; + } + + return more; +} + +void CDirstatApp::OnHelpManual() +{ + DoContextHelp(IDH_StartPage); +} + +void CDirstatApp::DoContextHelp(DWORD topic) +{ + if(::PathFileExists(m_pszHelpFilePath)) + { + // I want a NULL parent window. So I don't use CWinApp::HtmlHelp(). + ::HtmlHelp(NULL, m_pszHelpFilePath, HH_HELP_CONTEXT, topic); + } + else + { + CString msg; + msg.FormatMessage(IDS_HELPFILEsCOULDNOTBEFOUND, _T("windirstat.chm")); + // TODO: Add the option to download the "current language" help file ... + AfxMessageBox(msg); + } +} + diff --git a/windirstat/windirstat.h b/windirstat/windirstat.h index bf241f8..5430db0 100644 --- a/windirstat/windirstat.h +++ b/windirstat/windirstat.h @@ -18,7 +18,7 @@ // You should have received a copy of the GNU General Public License // along with this program; if not, write to the Free Software // Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA -//
+// #ifndef __WDS_WINDIRSTAT_H__ #define __WDS_WINDIRSTAT_H__ diff --git a/windirstat/windirstat.vs14.vcxproj b/windirstat/windirstat.vs14.vcxproj new file mode 100644 index 0000000..36a6adc --- /dev/null +++ b/windirstat/windirstat.vs14.vcxproj @@ -0,0 +1,387 @@ +<?xml version="1.0" encoding="utf-8"?>
+<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <ItemGroup Label="ProjectConfigurations">
+ <ProjectConfiguration Include="Debug|Win32">
+ <Configuration>Debug</Configuration>
+ <Platform>Win32</Platform>
+ </ProjectConfiguration>
+ <ProjectConfiguration Include="Debug|x64">
+ <Configuration>Debug</Configuration>
+ <Platform>x64</Platform>
+ </ProjectConfiguration>
+ <ProjectConfiguration Include="Release|Win32">
+ <Configuration>Release</Configuration>
+ <Platform>Win32</Platform>
+ </ProjectConfiguration>
+ <ProjectConfiguration Include="Release|x64">
+ <Configuration>Release</Configuration>
+ <Platform>x64</Platform>
+ </ProjectConfiguration>
+ </ItemGroup>
+ <PropertyGroup Label="Globals">
+ <ProjectGuid>{BD11B94C-6594-4477-9FDF-2E24447D1F14}</ProjectGuid>
+ <RootNamespace>windirstat</RootNamespace>
+ <Keyword>Win32Proj</Keyword>
+ </PropertyGroup>
+ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
+ <ConfigurationType>Application</ConfigurationType>
+ <UseDebugLibraries>true</UseDebugLibraries>
+ <CharacterSet>Unicode</CharacterSet>
+ <PlatformToolset>v140</PlatformToolset>
+ <UseOfMfc>Static</UseOfMfc>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
+ <ConfigurationType>Application</ConfigurationType>
+ <UseDebugLibraries>true</UseDebugLibraries>
+ <CharacterSet>Unicode</CharacterSet>
+ <PlatformToolset>v140</PlatformToolset>
+ <UseOfMfc>Static</UseOfMfc>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
+ <ConfigurationType>Application</ConfigurationType>
+ <UseDebugLibraries>false</UseDebugLibraries>
+ <CharacterSet>Unicode</CharacterSet>
+ <PlatformToolset>v140</PlatformToolset>
+ <UseOfMfc>Static</UseOfMfc>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
+ <ConfigurationType>Application</ConfigurationType>
+ <UseDebugLibraries>false</UseDebugLibraries>
+ <CharacterSet>Unicode</CharacterSet>
+ <PlatformToolset>v140</PlatformToolset>
+ <UseOfMfc>Static</UseOfMfc>
+ </PropertyGroup>
+ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
+ <ImportGroup Label="ExtensionSettings">
+ </ImportGroup>
+ <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">
+ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+ </ImportGroup>
+ <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">
+ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+ </ImportGroup>
+ <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets">
+ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+ </ImportGroup>
+ <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
+ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+ </ImportGroup>
+ <PropertyGroup Label="UserMacros" />
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
+ <OutDir>..\build\</OutDir>
+ <IntDir>..\intermediate\vs2015_$(Platform)_$(Configuration)\$(ProjectName)\</IntDir>
+ <TargetName>wds32D</TargetName>
+ <TargetExt>.exe</TargetExt>
+ <LinkIncremental>false</LinkIncremental>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
+ <OutDir>..\build\</OutDir>
+ <IntDir>..\intermediate\vs2015_$(Platform)_$(Configuration)\$(ProjectName)\</IntDir>
+ <TargetName>wds64D</TargetName>
+ <TargetExt>.exe</TargetExt>
+ <LinkIncremental>false</LinkIncremental>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
+ <OutDir>..\build\</OutDir>
+ <IntDir>..\intermediate\vs2015_$(Platform)_$(Configuration)\$(ProjectName)\</IntDir>
+ <TargetName>wds32</TargetName>
+ <TargetExt>.exe</TargetExt>
+ <LinkIncremental>false</LinkIncremental>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
+ <OutDir>..\build\</OutDir>
+ <IntDir>..\intermediate\vs2015_$(Platform)_$(Configuration)\$(ProjectName)\</IntDir>
+ <TargetName>wds64</TargetName>
+ <TargetExt>.exe</TargetExt>
+ <LinkIncremental>false</LinkIncremental>
+ </PropertyGroup>
+ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
+ <ClCompile>
+ <Optimization>Disabled</Optimization>
+ <AdditionalIncludeDirectories>..;.;..\common;Controls;Dialogs;..\3rdparty\lua\src;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+ <PreprocessorDefinitions>_DEBUG;VTRACE_TO_CONSOLE=1;VTRACE_DETAIL=2;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ <MinimalRebuild>false</MinimalRebuild>
+ <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
+ <SmallerTypeCheck>true</SmallerTypeCheck>
+ <RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
+ <FunctionLevelLinking>true</FunctionLevelLinking>
+ <PrecompiledHeader></PrecompiledHeader>
+ <WarningLevel>Level4</WarningLevel>
+ <RuntimeTypeInfo>false</RuntimeTypeInfo>
+ <TreatWChar_tAsBuiltInType>true</TreatWChar_tAsBuiltInType>
+ <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
+ <ProgramDataBaseFileName>$(OutDir)wds32D.pdb</ProgramDataBaseFileName>
+ </ClCompile>
+ <ResourceCompile>
+ <PreprocessorDefinitions>_DEBUG;VTRACE_TO_CONSOLE=1;VTRACE_DETAIL=2;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ <AdditionalIncludeDirectories>..;.;..\common;Controls;Dialogs;..\3rdparty\lua\src;..;$(IntDir);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+ </ResourceCompile>
+ <Link>
+ <SubSystem>Windows</SubSystem>
+ <GenerateDebugInformation>true</GenerateDebugInformation>
+ <AdditionalDependencies>htmlhelp.lib;psapi.lib;delayimp.lib;%(AdditionalDependencies)</AdditionalDependencies>
+ <OutputFile>$(OutDir)wds32D.exe</OutputFile>
+ <TargetMachine>MachineX86</TargetMachine>
+ <AdditionalOptions>/delayload:psapi.dll /pdbaltpath:%_PDB% %(AdditionalOptions)</AdditionalOptions>
+ </Link>
+ <PreBuildEvent>
+ <Command>if not exist "$(SolutionDir)common\buildnumber.h" "$(SolutionDir)common\buildinc.cmd" "$(SolutionDir)common"</Command>
+ </PreBuildEvent>
+ </ItemDefinitionGroup>
+ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
+ <ClCompile>
+ <Optimization>Disabled</Optimization>
+ <AdditionalIncludeDirectories>..;.;..\common;Controls;Dialogs;..\3rdparty\lua\src;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+ <PreprocessorDefinitions>_DEBUG;VTRACE_TO_CONSOLE=1;VTRACE_DETAIL=2;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ <MinimalRebuild>false</MinimalRebuild>
+ <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
+ <SmallerTypeCheck>true</SmallerTypeCheck>
+ <RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
+ <FunctionLevelLinking>true</FunctionLevelLinking>
+ <PrecompiledHeader></PrecompiledHeader>
+ <WarningLevel>Level4</WarningLevel>
+ <RuntimeTypeInfo>false</RuntimeTypeInfo>
+ <TreatWChar_tAsBuiltInType>true</TreatWChar_tAsBuiltInType>
+ <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
+ <ProgramDataBaseFileName>$(OutDir)wds64D.pdb</ProgramDataBaseFileName>
+ </ClCompile>
+ <ResourceCompile>
+ <PreprocessorDefinitions>_DEBUG;VTRACE_TO_CONSOLE=1;VTRACE_DETAIL=2;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ <AdditionalIncludeDirectories>..;.;..\common;Controls;Dialogs;..\3rdparty\lua\src;..;$(IntDir);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+ </ResourceCompile>
+ <Link>
+ <SubSystem>Windows</SubSystem>
+ <GenerateDebugInformation>true</GenerateDebugInformation>
+ <AdditionalDependencies>htmlhelp.lib;psapi.lib;delayimp.lib;%(AdditionalDependencies)</AdditionalDependencies>
+ <OutputFile>$(OutDir)wds64D.exe</OutputFile>
+ <TargetMachine>MachineX64</TargetMachine>
+ <AdditionalOptions>/delayload:psapi.dll /pdbaltpath:%_PDB% %(AdditionalOptions)</AdditionalOptions>
+ </Link>
+ <PreBuildEvent>
+ <Command>if not exist "$(SolutionDir)common\buildnumber.h" "$(SolutionDir)common\buildinc.cmd" "$(SolutionDir)common"</Command>
+ </PreBuildEvent>
+ </ItemDefinitionGroup>
+ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
+ <ClCompile>
+ <AdditionalOptions>/Oi /Ot %(AdditionalOptions)</AdditionalOptions>
+ <Optimization>Full</Optimization>
+ <AdditionalIncludeDirectories>..;.;..\common;Controls;Dialogs;..\3rdparty\lua\src;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+ <PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ <MinimalRebuild>false</MinimalRebuild>
+ <StringPooling>true</StringPooling>
+ <RuntimeLibrary>MultiThreaded</RuntimeLibrary>
+ <FunctionLevelLinking>true</FunctionLevelLinking>
+ <PrecompiledHeader></PrecompiledHeader>
+ <WarningLevel>Level4</WarningLevel>
+ <RuntimeTypeInfo>false</RuntimeTypeInfo>
+ <TreatWChar_tAsBuiltInType>true</TreatWChar_tAsBuiltInType>
+ <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
+ <ProgramDataBaseFileName>$(OutDir)wds32.pdb</ProgramDataBaseFileName>
+ </ClCompile>
+ <ResourceCompile>
+ <PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ <AdditionalIncludeDirectories>..;.;..\common;Controls;Dialogs;..\3rdparty\lua\src;..;$(IntDir);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+ </ResourceCompile>
+ <Link>
+ <SubSystem>Windows</SubSystem>
+ <GenerateDebugInformation>true</GenerateDebugInformation>
+ <EnableCOMDATFolding>true</EnableCOMDATFolding>
+ <OptimizeReferences>true</OptimizeReferences>
+ <AdditionalDependencies>htmlhelp.lib;psapi.lib;delayimp.lib;%(AdditionalDependencies)</AdditionalDependencies>
+ <OutputFile>$(OutDir)wds32.exe</OutputFile>
+ <TargetMachine>MachineX86</TargetMachine>
+ <AdditionalOptions>/delayload:psapi.dll /pdbaltpath:%_PDB% /release %(AdditionalOptions)</AdditionalOptions>
+ </Link>
+ <PreBuildEvent>
+ <Command>if not exist "$(SolutionDir)common\buildnumber.h" "$(SolutionDir)common\buildinc.cmd" "$(SolutionDir)common"</Command>
+ </PreBuildEvent>
+ </ItemDefinitionGroup>
+ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
+ <ClCompile>
+ <AdditionalOptions>/Oi /Ot %(AdditionalOptions)</AdditionalOptions>
+ <Optimization>Full</Optimization>
+ <AdditionalIncludeDirectories>..;.;..\common;Controls;Dialogs;..\3rdparty\lua\src;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+ <PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ <MinimalRebuild>false</MinimalRebuild>
+ <StringPooling>true</StringPooling>
+ <RuntimeLibrary>MultiThreaded</RuntimeLibrary>
+ <FunctionLevelLinking>true</FunctionLevelLinking>
+ <PrecompiledHeader></PrecompiledHeader>
+ <WarningLevel>Level4</WarningLevel>
+ <RuntimeTypeInfo>false</RuntimeTypeInfo>
+ <TreatWChar_tAsBuiltInType>true</TreatWChar_tAsBuiltInType>
+ <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
+ <ProgramDataBaseFileName>$(OutDir)wds64.pdb</ProgramDataBaseFileName>
+ </ClCompile>
+ <ResourceCompile>
+ <PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ <AdditionalIncludeDirectories>..;.;..\common;Controls;Dialogs;..\3rdparty\lua\src;..;$(IntDir);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+ </ResourceCompile>
+ <Link>
+ <SubSystem>Windows</SubSystem>
+ <GenerateDebugInformation>true</GenerateDebugInformation>
+ <EnableCOMDATFolding>true</EnableCOMDATFolding>
+ <OptimizeReferences>true</OptimizeReferences>
+ <AdditionalDependencies>htmlhelp.lib;psapi.lib;delayimp.lib;%(AdditionalDependencies)</AdditionalDependencies>
+ <OutputFile>$(OutDir)wds64.exe</OutputFile>
+ <TargetMachine>MachineX64</TargetMachine>
+ <AdditionalOptions>/delayload:psapi.dll /pdbaltpath:%_PDB% /release %(AdditionalOptions)</AdditionalOptions>
+ </Link>
+ <PreBuildEvent>
+ <Command>if not exist "$(SolutionDir)common\buildnumber.h" "$(SolutionDir)common\buildinc.cmd" "$(SolutionDir)common"</Command>
+ </PreBuildEvent>
+ </ItemDefinitionGroup>
+ <ItemGroup>
+ <ClInclude Include="..\common\buildnumber.h" />
+ <ClInclude Include="..\common\commonhelpers.h" />
+ <ClInclude Include="..\common\common_rsrcstr.h" />
+ <ClInclude Include="..\common\cotaskmem.h" />
+ <ClInclude Include="..\common\hgtip.h" />
+ <ClInclude Include="..\common\mdexceptions.h" />
+ <ClInclude Include="..\common\SimpleIni.h" />
+ <ClInclude Include="..\common\tracer.h" />
+ <ClInclude Include="..\common\version.h" />
+ <ClInclude Include="..\common\wds_constants.h" />
+ <ClInclude Include="dirstatdoc.h" />
+ <ClInclude Include="dirstatview.h" />
+ <ClInclude Include="FileFindWDS.h" />
+ <ClInclude Include="getosplatformstring.h" />
+ <ClInclude Include="globalhelpers.h" />
+ <ClInclude Include="helpmap.h" />
+ <ClInclude Include="item.h" />
+ <ClInclude Include="layout.h" />
+ <ClInclude Include="mainframe.h" />
+ <ClInclude Include="ModalApiShuttle.h" />
+ <ClInclude Include="ModalShellApi.h" />
+ <ClInclude Include="mountpoints.h" />
+ <ClInclude Include="options.h" />
+ <ClInclude Include="osspecific.h" />
+ <ClInclude Include="PageCleanups.h" />
+ <ClInclude Include="PageGeneral.h" />
+ <ClInclude Include="PageTreelist.h" />
+ <ClInclude Include="PageTreemap.h" />
+ <ClInclude Include="resource.h" />
+ <ClInclude Include="selectobject.h" />
+ <ClInclude Include="set.h" />
+ <ClInclude Include="stdafx.h" />
+ <ClInclude Include="WDS_Lua_C.h" />
+ <ClInclude Include="windirstat.h" />
+ <ClInclude Include="WorkLimiter.h" />
+ <ClInclude Include="Controls\ColorButton.h" />
+ <ClInclude Include="Controls\graphview.h" />
+ <ClInclude Include="Controls\myimagelist.h" />
+ <ClInclude Include="Controls\ownerdrawnlistcontrol.h" />
+ <ClInclude Include="Controls\pacman.h" />
+ <ClInclude Include="Controls\sortinglistcontrol.h" />
+ <ClInclude Include="Controls\TreeListControl.h" />
+ <ClInclude Include="Controls\treemap.h" />
+ <ClInclude Include="Controls\typeview.h" />
+ <ClInclude Include="Controls\xyslider.h" />
+ <ClInclude Include="Dialogs\AboutDlg.h" />
+ <ClInclude Include="Dialogs\DeleteWarningDlg.h" />
+ <ClInclude Include="Dialogs\SelectDrivesDlg.h" />
+ </ItemGroup>
+ <ItemGroup>
+ <ClCompile Include="..\common\commonhelpers.cpp">
+ </ClCompile>
+ <ClCompile Include="..\common\wds_constants.cpp">
+ </ClCompile>
+ <ClCompile Include="dirstatdoc.cpp">
+ </ClCompile>
+ <ClCompile Include="dirstatview.cpp">
+ </ClCompile>
+ <ClCompile Include="FileFindWDS.cpp">
+ </ClCompile>
+ <ClCompile Include="getosplatformstring.cpp">
+ </ClCompile>
+ <ClCompile Include="globalhelpers.cpp">
+ </ClCompile>
+ <ClCompile Include="item.cpp">
+ </ClCompile>
+ <ClCompile Include="layout.cpp">
+ </ClCompile>
+ <ClCompile Include="mainframe.cpp">
+ </ClCompile>
+ <ClCompile Include="ModalApiShuttle.cpp">
+ </ClCompile>
+ <ClCompile Include="ModalShellApi.cpp">
+ </ClCompile>
+ <ClCompile Include="mountpoints.cpp">
+ </ClCompile>
+ <ClCompile Include="options.cpp">
+ </ClCompile>
+ <ClCompile Include="osspecific.cpp">
+ </ClCompile>
+ <ClCompile Include="PageCleanups.cpp">
+ </ClCompile>
+ <ClCompile Include="PageGeneral.cpp">
+ </ClCompile>
+ <ClCompile Include="PageTreelist.cpp">
+ </ClCompile>
+ <ClCompile Include="PageTreemap.cpp">
+ </ClCompile>
+ <ClCompile Include="windirstat.cpp">
+ </ClCompile>
+ <ClCompile Include="WorkLimiter.cpp">
+ </ClCompile>
+ <ClCompile Include="Controls\ColorButton.cpp">
+ </ClCompile>
+ <ClCompile Include="Controls\graphview.cpp">
+ </ClCompile>
+ <ClCompile Include="Controls\myimagelist.cpp">
+ </ClCompile>
+ <ClCompile Include="Controls\ownerdrawnlistcontrol.cpp">
+ </ClCompile>
+ <ClCompile Include="Controls\pacman.cpp">
+ </ClCompile>
+ <ClCompile Include="Controls\sortinglistcontrol.cpp">
+ </ClCompile>
+ <ClCompile Include="Controls\TreeListControl.cpp">
+ </ClCompile>
+ <ClCompile Include="Controls\treemap.cpp">
+ </ClCompile>
+ <ClCompile Include="Controls\typeview.cpp">
+ </ClCompile>
+ <ClCompile Include="Controls\xyslider.cpp">
+ </ClCompile>
+ <ClCompile Include="Dialogs\aboutdlg.cpp">
+ </ClCompile>
+ <ClCompile Include="Dialogs\DeleteWarningDlg.cpp">
+ </ClCompile>
+ <ClCompile Include="Dialogs\SelectDrivesDlg.cpp">
+ </ClCompile>
+ <ClCompile Include="WDS_Lua_C.c">
+ </ClCompile>
+ </ItemGroup>
+ <ItemGroup>
+ <None Include="res\bitmap1.bmp" />
+ <None Include="res\icon1.ico" />
+ <None Include="res\junctionpoint.bmp" />
+ <None Include="res\license.rtf" />
+ <None Include="res\license.txt" />
+ <None Include="res\linkhand.cur" />
+ <None Include="res\Toolbar.bmp" />
+ <None Include="res\windirstat.manifest" />
+ <None Include="res\windirstat.rc2" />
+ <None Include="..\CONTRIBUTORS.md" />
+ <None Include="..\README.md" />
+ <None Include="..\common\BUILD" />
+ <None Include="..\common\buildinc.cmd" />
+ <None Include="..\common\build_luajit.cmd" />
+ <None Include="..\common\produce_vsprojects.cmd" />
+ <None Include="..\common\setvcvars.cmd" />
+ <None Include="..\premake4.lua" />
+ </ItemGroup>
+ <ItemGroup>
+ <ResourceCompile Include="windirstat.rc" />
+ </ItemGroup>
+ <ItemGroup>
+ <ProjectReference Include="..\3rdparty\lua\src\luajit2.vs14.vcxproj">
+ <Project>{9F35C2BB-DF1E-400A-A829-AE34E1C91A70}</Project>
+ </ProjectReference>
+ </ItemGroup>
+ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
+ <ImportGroup Label="ExtensionTargets">
+ </ImportGroup>
+</Project>
diff --git a/windirstat/windirstat.vs14.vcxproj.filters b/windirstat/windirstat.vs14.vcxproj.filters new file mode 100644 index 0000000..62a7016 --- /dev/null +++ b/windirstat/windirstat.vs14.vcxproj.filters @@ -0,0 +1,348 @@ +<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <ItemGroup>
+ <Filter Include="Header Files">
+ <UniqueIdentifier>{CCC305FC-B7F2-8245-8946-E53E9C09FC77}</UniqueIdentifier>
+ </Filter>
+ <Filter Include="Header Files\Common">
+ <UniqueIdentifier>{3024BFFB-15AE-F34A-8E61-F7CACBE22408}</UniqueIdentifier>
+ </Filter>
+ <Filter Include="Source Files">
+ <UniqueIdentifier>{E511C7A5-6A12-9F4C-9BB0-36A9B4998109}</UniqueIdentifier>
+ </Filter>
+ <Filter Include="Source Files\Common">
+ <UniqueIdentifier>{425B1319-44F5-A743-A620-F5A851E5A750}</UniqueIdentifier>
+ </Filter>
+ <Filter Include="Source Files\Controls">
+ <UniqueIdentifier>{CB5FD4E1-1BA3-9A4F-BB6F-28601205113B}</UniqueIdentifier>
+ </Filter>
+ <Filter Include="Source Files\Dialogs">
+ <UniqueIdentifier>{B2F3A075-A153-6240-A6DE-910D3BF62500}</UniqueIdentifier>
+ </Filter>
+ <Filter Include="Source Files\Lua">
+ <UniqueIdentifier>{EEB65C72-C0E2-484E-A9DD-06496684A70A}</UniqueIdentifier>
+ </Filter>
+ <Filter Include="Header Files\Controls">
+ <UniqueIdentifier>{8ACCDBFB-73A0-6D47-824F-7D6B03C1E794}</UniqueIdentifier>
+ </Filter>
+ <Filter Include="Header Files\Dialogs">
+ <UniqueIdentifier>{83969A47-EDEB-C444-A00E-3BA69DF32FC4}</UniqueIdentifier>
+ </Filter>
+ <Filter Include="Resource Files">
+ <UniqueIdentifier>{627E267E-6874-1E47-B9B3-80CF0B70487A}</UniqueIdentifier>
+ </Filter>
+ <Filter Include="Resource Files\Resources">
+ <UniqueIdentifier>{26A34776-A302-4246-945F-754B84B91BDE}</UniqueIdentifier>
+ </Filter>
+ <Filter Include="Special Files">
+ <UniqueIdentifier>{08AB409C-28F0-C74B-AAD5-FCCE01844956}</UniqueIdentifier>
+ </Filter>
+ </ItemGroup>
+ <ItemGroup>
+ <None Include="res\bitmap1.bmp">
+ <Filter>Resource Files\Resources</Filter>
+ </None>
+ <None Include="res\icon1.ico">
+ <Filter>Resource Files\Resources</Filter>
+ </None>
+ <None Include="res\junctionpoint.bmp">
+ <Filter>Resource Files\Resources</Filter>
+ </None>
+ <None Include="res\license.rtf">
+ <Filter>Resource Files\Resources</Filter>
+ </None>
+ <None Include="res\license.txt">
+ <Filter>Resource Files\Resources</Filter>
+ </None>
+ <None Include="res\linkhand.cur">
+ <Filter>Resource Files\Resources</Filter>
+ </None>
+ <None Include="res\Toolbar.bmp">
+ <Filter>Resource Files\Resources</Filter>
+ </None>
+ <None Include="res\windirstat.manifest">
+ <Filter>Resource Files\Resources</Filter>
+ </None>
+ <None Include="res\windirstat.rc2">
+ <Filter>Resource Files\Resources</Filter>
+ </None>
+ <None Include="..\CONTRIBUTORS.md" />
+ <None Include="..\README.md" />
+ <None Include="..\common\BUILD">
+ <Filter>Special Files</Filter>
+ </None>
+ <None Include="..\common\buildinc.cmd">
+ <Filter>Special Files</Filter>
+ </None>
+ <None Include="..\common\build_luajit.cmd">
+ <Filter>Special Files</Filter>
+ </None>
+ <None Include="..\common\produce_vsprojects.cmd">
+ <Filter>Special Files</Filter>
+ </None>
+ <None Include="..\common\setvcvars.cmd">
+ <Filter>Special Files</Filter>
+ </None>
+ <None Include="..\premake4.lua">
+ <Filter>Special Files</Filter>
+ </None>
+ </ItemGroup>
+ <ItemGroup>
+ <ClInclude Include="..\common\buildnumber.h">
+ <Filter>Header Files\Common</Filter>
+ </ClInclude>
+ <ClInclude Include="..\common\commonhelpers.h">
+ <Filter>Header Files\Common</Filter>
+ </ClInclude>
+ <ClInclude Include="..\common\common_rsrcstr.h">
+ <Filter>Header Files\Common</Filter>
+ </ClInclude>
+ <ClInclude Include="..\common\cotaskmem.h">
+ <Filter>Header Files\Common</Filter>
+ </ClInclude>
+ <ClInclude Include="..\common\hgtip.h">
+ <Filter>Header Files\Common</Filter>
+ </ClInclude>
+ <ClInclude Include="..\common\mdexceptions.h">
+ <Filter>Header Files\Common</Filter>
+ </ClInclude>
+ <ClInclude Include="..\common\SimpleIni.h">
+ <Filter>Header Files\Common</Filter>
+ </ClInclude>
+ <ClInclude Include="..\common\tracer.h">
+ <Filter>Header Files\Common</Filter>
+ </ClInclude>
+ <ClInclude Include="..\common\version.h">
+ <Filter>Header Files\Common</Filter>
+ </ClInclude>
+ <ClInclude Include="..\common\wds_constants.h">
+ <Filter>Header Files\Common</Filter>
+ </ClInclude>
+ <ClInclude Include="dirstatdoc.h">
+ <Filter>Header Files</Filter>
+ </ClInclude>
+ <ClInclude Include="dirstatview.h">
+ <Filter>Header Files</Filter>
+ </ClInclude>
+ <ClInclude Include="FileFindWDS.h">
+ <Filter>Header Files</Filter>
+ </ClInclude>
+ <ClInclude Include="getosplatformstring.h">
+ <Filter>Header Files</Filter>
+ </ClInclude>
+ <ClInclude Include="globalhelpers.h">
+ <Filter>Header Files</Filter>
+ </ClInclude>
+ <ClInclude Include="helpmap.h">
+ <Filter>Header Files</Filter>
+ </ClInclude>
+ <ClInclude Include="item.h">
+ <Filter>Header Files</Filter>
+ </ClInclude>
+ <ClInclude Include="layout.h">
+ <Filter>Header Files</Filter>
+ </ClInclude>
+ <ClInclude Include="mainframe.h">
+ <Filter>Header Files</Filter>
+ </ClInclude>
+ <ClInclude Include="ModalApiShuttle.h">
+ <Filter>Header Files</Filter>
+ </ClInclude>
+ <ClInclude Include="ModalShellApi.h">
+ <Filter>Header Files</Filter>
+ </ClInclude>
+ <ClInclude Include="mountpoints.h">
+ <Filter>Header Files</Filter>
+ </ClInclude>
+ <ClInclude Include="options.h">
+ <Filter>Header Files</Filter>
+ </ClInclude>
+ <ClInclude Include="osspecific.h">
+ <Filter>Header Files</Filter>
+ </ClInclude>
+ <ClInclude Include="PageCleanups.h">
+ <Filter>Header Files</Filter>
+ </ClInclude>
+ <ClInclude Include="PageGeneral.h">
+ <Filter>Header Files</Filter>
+ </ClInclude>
+ <ClInclude Include="PageTreelist.h">
+ <Filter>Header Files</Filter>
+ </ClInclude>
+ <ClInclude Include="PageTreemap.h">
+ <Filter>Header Files</Filter>
+ </ClInclude>
+ <ClInclude Include="resource.h">
+ <Filter>Header Files</Filter>
+ </ClInclude>
+ <ClInclude Include="selectobject.h">
+ <Filter>Header Files</Filter>
+ </ClInclude>
+ <ClInclude Include="set.h">
+ <Filter>Header Files</Filter>
+ </ClInclude>
+ <ClInclude Include="stdafx.h">
+ <Filter>Header Files</Filter>
+ </ClInclude>
+ <ClInclude Include="WDS_Lua_C.h">
+ <Filter>Header Files</Filter>
+ </ClInclude>
+ <ClInclude Include="windirstat.h">
+ <Filter>Header Files</Filter>
+ </ClInclude>
+ <ClInclude Include="WorkLimiter.h">
+ <Filter>Header Files</Filter>
+ </ClInclude>
+ <ClInclude Include="Controls\ColorButton.h">
+ <Filter>Header Files\Controls</Filter>
+ </ClInclude>
+ <ClInclude Include="Controls\graphview.h">
+ <Filter>Header Files\Controls</Filter>
+ </ClInclude>
+ <ClInclude Include="Controls\myimagelist.h">
+ <Filter>Header Files\Controls</Filter>
+ </ClInclude>
+ <ClInclude Include="Controls\ownerdrawnlistcontrol.h">
+ <Filter>Header Files\Controls</Filter>
+ </ClInclude>
+ <ClInclude Include="Controls\pacman.h">
+ <Filter>Header Files\Controls</Filter>
+ </ClInclude>
+ <ClInclude Include="Controls\sortinglistcontrol.h">
+ <Filter>Header Files\Controls</Filter>
+ </ClInclude>
+ <ClInclude Include="Controls\TreeListControl.h">
+ <Filter>Header Files\Controls</Filter>
+ </ClInclude>
+ <ClInclude Include="Controls\treemap.h">
+ <Filter>Header Files\Controls</Filter>
+ </ClInclude>
+ <ClInclude Include="Controls\typeview.h">
+ <Filter>Header Files\Controls</Filter>
+ </ClInclude>
+ <ClInclude Include="Controls\xyslider.h">
+ <Filter>Header Files\Controls</Filter>
+ </ClInclude>
+ <ClInclude Include="Dialogs\AboutDlg.h">
+ <Filter>Header Files\Dialogs</Filter>
+ </ClInclude>
+ <ClInclude Include="Dialogs\DeleteWarningDlg.h">
+ <Filter>Header Files\Dialogs</Filter>
+ </ClInclude>
+ <ClInclude Include="Dialogs\SelectDrivesDlg.h">
+ <Filter>Header Files\Dialogs</Filter>
+ </ClInclude>
+ </ItemGroup>
+ <ItemGroup>
+ <ClCompile Include="..\common\commonhelpers.cpp">
+ <Filter>Source Files\Common</Filter>
+ </ClCompile>
+ <ClCompile Include="..\common\wds_constants.cpp">
+ <Filter>Source Files\Common</Filter>
+ </ClCompile>
+ <ClCompile Include="dirstatdoc.cpp">
+ <Filter>Source Files</Filter>
+ </ClCompile>
+ <ClCompile Include="dirstatview.cpp">
+ <Filter>Source Files</Filter>
+ </ClCompile>
+ <ClCompile Include="FileFindWDS.cpp">
+ <Filter>Source Files</Filter>
+ </ClCompile>
+ <ClCompile Include="getosplatformstring.cpp">
+ <Filter>Source Files</Filter>
+ </ClCompile>
+ <ClCompile Include="globalhelpers.cpp">
+ <Filter>Source Files</Filter>
+ </ClCompile>
+ <ClCompile Include="item.cpp">
+ <Filter>Source Files</Filter>
+ </ClCompile>
+ <ClCompile Include="layout.cpp">
+ <Filter>Source Files</Filter>
+ </ClCompile>
+ <ClCompile Include="mainframe.cpp">
+ <Filter>Source Files</Filter>
+ </ClCompile>
+ <ClCompile Include="ModalApiShuttle.cpp">
+ <Filter>Source Files</Filter>
+ </ClCompile>
+ <ClCompile Include="ModalShellApi.cpp">
+ <Filter>Source Files</Filter>
+ </ClCompile>
+ <ClCompile Include="mountpoints.cpp">
+ <Filter>Source Files</Filter>
+ </ClCompile>
+ <ClCompile Include="options.cpp">
+ <Filter>Source Files</Filter>
+ </ClCompile>
+ <ClCompile Include="osspecific.cpp">
+ <Filter>Source Files</Filter>
+ </ClCompile>
+ <ClCompile Include="PageCleanups.cpp">
+ <Filter>Source Files</Filter>
+ </ClCompile>
+ <ClCompile Include="PageGeneral.cpp">
+ <Filter>Source Files</Filter>
+ </ClCompile>
+ <ClCompile Include="PageTreelist.cpp">
+ <Filter>Source Files</Filter>
+ </ClCompile>
+ <ClCompile Include="PageTreemap.cpp">
+ <Filter>Source Files</Filter>
+ </ClCompile>
+ <ClCompile Include="windirstat.cpp">
+ <Filter>Source Files</Filter>
+ </ClCompile>
+ <ClCompile Include="WorkLimiter.cpp">
+ <Filter>Source Files</Filter>
+ </ClCompile>
+ <ClCompile Include="Controls\ColorButton.cpp">
+ <Filter>Source Files\Controls</Filter>
+ </ClCompile>
+ <ClCompile Include="Controls\graphview.cpp">
+ <Filter>Source Files\Controls</Filter>
+ </ClCompile>
+ <ClCompile Include="Controls\myimagelist.cpp">
+ <Filter>Source Files\Controls</Filter>
+ </ClCompile>
+ <ClCompile Include="Controls\ownerdrawnlistcontrol.cpp">
+ <Filter>Source Files\Controls</Filter>
+ </ClCompile>
+ <ClCompile Include="Controls\pacman.cpp">
+ <Filter>Source Files\Controls</Filter>
+ </ClCompile>
+ <ClCompile Include="Controls\sortinglistcontrol.cpp">
+ <Filter>Source Files\Controls</Filter>
+ </ClCompile>
+ <ClCompile Include="Controls\TreeListControl.cpp">
+ <Filter>Source Files\Controls</Filter>
+ </ClCompile>
+ <ClCompile Include="Controls\treemap.cpp">
+ <Filter>Source Files\Controls</Filter>
+ </ClCompile>
+ <ClCompile Include="Controls\typeview.cpp">
+ <Filter>Source Files\Controls</Filter>
+ </ClCompile>
+ <ClCompile Include="Controls\xyslider.cpp">
+ <Filter>Source Files\Controls</Filter>
+ </ClCompile>
+ <ClCompile Include="Dialogs\aboutdlg.cpp">
+ <Filter>Source Files\Dialogs</Filter>
+ </ClCompile>
+ <ClCompile Include="Dialogs\DeleteWarningDlg.cpp">
+ <Filter>Source Files\Dialogs</Filter>
+ </ClCompile>
+ <ClCompile Include="Dialogs\SelectDrivesDlg.cpp">
+ <Filter>Source Files\Dialogs</Filter>
+ </ClCompile>
+ <ClCompile Include="WDS_Lua_C.c">
+ <Filter>Source Files\Lua</Filter>
+ </ClCompile>
+ </ItemGroup>
+ <ItemGroup>
+ <ResourceCompile Include="windirstat.rc">
+ <Filter>Resource Files</Filter>
+ </ResourceCompile>
+ </ItemGroup>
+</Project>
diff --git a/windirstat/windirstat.vs8.vcproj b/windirstat/windirstat.vs8.vcproj index ef851c8..321b1fd 100644 --- a/windirstat/windirstat.vs8.vcproj +++ b/windirstat/windirstat.vs8.vcproj @@ -21,7 +21,7 @@ <Configuration
Name="Debug|Win32"
OutputDirectory="..\build"
- IntermediateDirectory="..\intermediate\vs2005_$(PlatformName)_$(ConfigurationName)\$(ProjectName)"
+ IntermediateDirectory="..\intermediate\vs2005_$(Platform)_$(Configuration)\$(ProjectName)"
ConfigurationType="1"
UseOfMFC="1"
CharacterSet="1"
@@ -46,7 +46,7 @@ Name="VCCLCompilerTool"
Optimization="0"
AdditionalIncludeDirectories="..;.;..\common;Controls;Dialogs;..\3rdparty\lua\src"
- PreprocessorDefinitions="_DEBUG;VTRACE_TO_CONSOLE=1;VTRACE_DETAIL=2;WINVER=0x0500;HAVE_WIN7_SDK=1"
+ PreprocessorDefinitions="_DEBUG;VTRACE_TO_CONSOLE=1;VTRACE_DETAIL=2;WINVER=0x0500"
BasicRuntimeChecks="3"
RuntimeLibrary="1"
EnableFunctionLevelLinking="true"
@@ -64,7 +64,7 @@ <Tool
Name="VCResourceCompilerTool"
AdditionalOptions="/nologo /l409"
- PreprocessorDefinitions="_DEBUG;VTRACE_TO_CONSOLE=1;VTRACE_DETAIL=2;WINVER=0x0500;HAVE_WIN7_SDK=1"
+ PreprocessorDefinitions="_DEBUG;VTRACE_TO_CONSOLE=1;VTRACE_DETAIL=2;WINVER=0x0500"
AdditionalIncludeDirectories="..;.;..\common;Controls;Dialogs;..\3rdparty\lua\src;..;$(IntDir)"
/>
<Tool
@@ -76,829 +76,3 @@ AdditionalDependencies="htmlhelp.lib psapi.lib delayimp.lib ..\..\..\build\luajit2_$(PlatformName).lib"
OutputFile="$(OutDir)\wds32D.exe"
LinkIncremental="1"
- AdditionalLibraryDirectories="$(IntDir)"
- GenerateDebugInformation="true"
- ProgramDataBaseFileName="$(OutDir)\wds32D.pdb"
- SubSystem="2"
- TargetMachine="1"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- AdditionalManifestFiles="res/windirstat.manifest"
- AssemblyIdentity="WinDirStat_Team.WinDirStat.windirstat, processorArchitecture=x86, version=1.3, type=win32"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCWebDeploymentTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- <Configuration
- Name="Debug|x64"
- OutputDirectory="..\build"
- IntermediateDirectory="..\intermediate\vs2005_$(PlatformName)_$(ConfigurationName)\$(ProjectName)"
- ConfigurationType="1"
- UseOfMFC="1"
- CharacterSet="1"
- >
- <Tool
- Name="VCPreBuildEventTool"
- CommandLine="if not exist "$(SolutionDir)common\buildnumber.h" "$(SolutionDir)common\buildinc.cmd" "$(SolutionDir)common""
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- TargetEnvironment="3"
- />
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories="..;.;..\common;Controls;Dialogs;..\3rdparty\lua\src"
- PreprocessorDefinitions="_DEBUG;VTRACE_TO_CONSOLE=1;VTRACE_DETAIL=2;WINVER=0x0500;HAVE_WIN7_SDK=1"
- BasicRuntimeChecks="3"
- RuntimeLibrary="1"
- EnableFunctionLevelLinking="true"
- RuntimeTypeInfo="false"
- TreatWChar_tAsBuiltInType="true"
- UsePrecompiledHeader="0"
- WarningLevel="4"
- Detect64BitPortabilityProblems="true"
- ProgramDataBaseFileName="$(OutDir)\wds64D.pdb"
- DebugInformationFormat="3"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- AdditionalOptions="/nologo /l409"
- PreprocessorDefinitions="_DEBUG;VTRACE_TO_CONSOLE=1;VTRACE_DETAIL=2;WINVER=0x0500;HAVE_WIN7_SDK=1"
- AdditionalIncludeDirectories="..;.;..\common;Controls;Dialogs;..\3rdparty\lua\src;..;$(IntDir)"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalOptions="/delayload:psapi.dll /pdbaltpath:%_PDB%"
- AdditionalDependencies="htmlhelp.lib psapi.lib delayimp.lib ..\..\..\build\luajit2_$(PlatformName).lib"
- OutputFile="$(OutDir)\wds64D.exe"
- LinkIncremental="1"
- AdditionalLibraryDirectories="$(IntDir)"
- GenerateDebugInformation="true"
- ProgramDataBaseFileName="$(OutDir)\wds64D.pdb"
- SubSystem="2"
- TargetMachine="17"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- AdditionalManifestFiles="res/windirstat.manifest"
- AssemblyIdentity="WinDirStat_Team.WinDirStat.windirstat, processorArchitecture=amd64, version=1.3, type=win32"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCWebDeploymentTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- <Configuration
- Name="Release|Win32"
- OutputDirectory="..\build"
- IntermediateDirectory="..\intermediate\vs2005_$(PlatformName)_$(ConfigurationName)\$(ProjectName)"
- ConfigurationType="1"
- UseOfMFC="1"
- CharacterSet="1"
- >
- <Tool
- Name="VCPreBuildEventTool"
- CommandLine="if not exist "$(SolutionDir)common\buildnumber.h" "$(SolutionDir)common\buildinc.cmd" "$(SolutionDir)common""
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- />
- <Tool
- Name="VCCLCompilerTool"
- AdditionalOptions="/Oi /Ot"
- Optimization="3"
- AdditionalIncludeDirectories="..;.;..\common;Controls;Dialogs;..\3rdparty\lua\src"
- PreprocessorDefinitions="NDEBUG;WINVER=0x0500;HAVE_WIN7_SDK=1"
- StringPooling="true"
- RuntimeLibrary="0"
- EnableFunctionLevelLinking="true"
- RuntimeTypeInfo="false"
- TreatWChar_tAsBuiltInType="true"
- UsePrecompiledHeader="0"
- WarningLevel="4"
- Detect64BitPortabilityProblems="true"
- ProgramDataBaseFileName="$(OutDir)\wds32.pdb"
- DebugInformationFormat="3"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- AdditionalOptions="/nologo /l409"
- PreprocessorDefinitions="NDEBUG;WINVER=0x0500;HAVE_WIN7_SDK=1"
- AdditionalIncludeDirectories="..;.;..\common;Controls;Dialogs;..\3rdparty\lua\src;..;$(IntDir)"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalOptions="/delayload:psapi.dll /pdbaltpath:%_PDB% /release"
- AdditionalDependencies="htmlhelp.lib psapi.lib delayimp.lib ..\..\..\build\luajit2_$(PlatformName).lib"
- OutputFile="$(OutDir)\wds32.exe"
- LinkIncremental="1"
- AdditionalLibraryDirectories="$(IntDir)"
- GenerateDebugInformation="true"
- ProgramDataBaseFileName="$(OutDir)\wds32.pdb"
- SubSystem="2"
- OptimizeReferences="2"
- EnableCOMDATFolding="2"
- TargetMachine="1"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- AdditionalManifestFiles="res/windirstat.manifest"
- AssemblyIdentity="WinDirStat_Team.WinDirStat.windirstat, processorArchitecture=x86, version=1.3, type=win32"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCWebDeploymentTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- <Configuration
- Name="Release|x64"
- OutputDirectory="..\build"
- IntermediateDirectory="..\intermediate\vs2005_$(PlatformName)_$(ConfigurationName)\$(ProjectName)"
- ConfigurationType="1"
- UseOfMFC="1"
- CharacterSet="1"
- >
- <Tool
- Name="VCPreBuildEventTool"
- CommandLine="if not exist "$(SolutionDir)common\buildnumber.h" "$(SolutionDir)common\buildinc.cmd" "$(SolutionDir)common""
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- TargetEnvironment="3"
- />
- <Tool
- Name="VCCLCompilerTool"
- AdditionalOptions="/Oi /Ot"
- Optimization="3"
- AdditionalIncludeDirectories="..;.;..\common;Controls;Dialogs;..\3rdparty\lua\src"
- PreprocessorDefinitions="NDEBUG;WINVER=0x0500;HAVE_WIN7_SDK=1"
- StringPooling="true"
- RuntimeLibrary="0"
- EnableFunctionLevelLinking="true"
- RuntimeTypeInfo="false"
- TreatWChar_tAsBuiltInType="true"
- UsePrecompiledHeader="0"
- WarningLevel="4"
- Detect64BitPortabilityProblems="true"
- ProgramDataBaseFileName="$(OutDir)\wds64.pdb"
- DebugInformationFormat="3"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- AdditionalOptions="/nologo /l409"
- PreprocessorDefinitions="NDEBUG;WINVER=0x0500;HAVE_WIN7_SDK=1"
- AdditionalIncludeDirectories="..;.;..\common;Controls;Dialogs;..\3rdparty\lua\src;..;$(IntDir)"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalOptions="/delayload:psapi.dll /pdbaltpath:%_PDB% /release"
- AdditionalDependencies="htmlhelp.lib psapi.lib delayimp.lib ..\..\..\build\luajit2_$(PlatformName).lib"
- OutputFile="$(OutDir)\wds64.exe"
- LinkIncremental="1"
- AdditionalLibraryDirectories="$(IntDir)"
- GenerateDebugInformation="true"
- ProgramDataBaseFileName="$(OutDir)\wds64.pdb"
- SubSystem="2"
- OptimizeReferences="2"
- EnableCOMDATFolding="2"
- TargetMachine="17"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- AdditionalManifestFiles="res/windirstat.manifest"
- AssemblyIdentity="WinDirStat_Team.WinDirStat.windirstat, processorArchitecture=amd64, version=1.3, type=win32"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCWebDeploymentTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- </Configurations>
- <References>
- </References>
- <Files>
- <File
- RelativePath="..\CHANGELOG.txt"
- >
- </File>
- <File
- RelativePath="..\CONTRIBUTORS.txt"
- >
- </File>
- <Filter
- Name="Header Files"
- Filter=""
- >
- <Filter
- Name="Common"
- Filter=""
- >
- <File
- RelativePath="..\common\SimpleIni.h"
- >
- </File>
- <File
- RelativePath="..\common\buildnumber.h"
- >
- </File>
- <File
- RelativePath="..\common\common_rsrcstr.h"
- >
- </File>
- <File
- RelativePath="..\common\commonhelpers.h"
- >
- </File>
- <File
- RelativePath="..\common\cotaskmem.h"
- >
- </File>
- <File
- RelativePath="..\common\hgtip.h"
- >
- </File>
- <File
- RelativePath="..\common\mdexceptions.h"
- >
- </File>
- <File
- RelativePath="..\common\platform.h"
- >
- </File>
- <File
- RelativePath="..\common\tracer.h"
- >
- </File>
- <File
- RelativePath="..\common\version.h"
- >
- </File>
- <File
- RelativePath="..\common\wds_constants.h"
- >
- </File>
- </Filter>
- <Filter
- Name="Controls"
- Filter=""
- >
- <File
- RelativePath="Controls\ColorButton.h"
- >
- </File>
- <File
- RelativePath="Controls\TreeListControl.h"
- >
- </File>
- <File
- RelativePath="Controls\graphview.h"
- >
- </File>
- <File
- RelativePath="Controls\myimagelist.h"
- >
- </File>
- <File
- RelativePath="Controls\ownerdrawnlistcontrol.h"
- >
- </File>
- <File
- RelativePath="Controls\pacman.h"
- >
- </File>
- <File
- RelativePath="Controls\sortinglistcontrol.h"
- >
- </File>
- <File
- RelativePath="Controls\treemap.h"
- >
- </File>
- <File
- RelativePath="Controls\typeview.h"
- >
- </File>
- <File
- RelativePath="Controls\xyslider.h"
- >
- </File>
- </Filter>
- <Filter
- Name="Dialogs"
- Filter=""
- >
- <File
- RelativePath="Dialogs\AboutDlg.h"
- >
- </File>
- <File
- RelativePath="Dialogs\DeleteWarningDlg.h"
- >
- </File>
- <File
- RelativePath="Dialogs\SelectDrivesDlg.h"
- >
- </File>
- </Filter>
- <File
- RelativePath="FileFindWDS.h"
- >
- </File>
- <File
- RelativePath="ModalApiShuttle.h"
- >
- </File>
- <File
- RelativePath="ModalShellApi.h"
- >
- </File>
- <File
- RelativePath="PageCleanups.h"
- >
- </File>
- <File
- RelativePath="PageGeneral.h"
- >
- </File>
- <File
- RelativePath="PageTreelist.h"
- >
- </File>
- <File
- RelativePath="PageTreemap.h"
- >
- </File>
- <File
- RelativePath="WDS_Lua_C.h"
- >
- </File>
- <File
- RelativePath="dirstatdoc.h"
- >
- </File>
- <File
- RelativePath="dirstatview.h"
- >
- </File>
- <File
- RelativePath="getosplatformstring.h"
- >
- </File>
- <File
- RelativePath="globalhelpers.h"
- >
- </File>
- <File
- RelativePath="helpmap.h"
- >
- </File>
- <File
- RelativePath="item.h"
- >
- </File>
- <File
- RelativePath="layout.h"
- >
- </File>
- <File
- RelativePath="mainframe.h"
- >
- </File>
- <File
- RelativePath="mountpoints.h"
- >
- </File>
- <File
- RelativePath="options.h"
- >
- </File>
- <File
- RelativePath="osspecific.h"
- >
- </File>
- <File
- RelativePath="resource.h"
- >
- </File>
- <File
- RelativePath="selectobject.h"
- >
- </File>
- <File
- RelativePath="set.h"
- >
- </File>
- <File
- RelativePath="stdafx.h"
- >
- </File>
- <File
- RelativePath="windirstat.h"
- >
- </File>
- </Filter>
- <File
- RelativePath="..\README.md"
- >
- </File>
- <Filter
- Name="Resource Files"
- Filter=""
- >
- <Filter
- Name="Resources"
- Filter=""
- >
- <File
- RelativePath="res\Toolbar.bmp"
- >
- </File>
- <File
- RelativePath="res\bitmap1.bmp"
- >
- </File>
- <File
- RelativePath="res\icon1.ico"
- >
- </File>
- <File
- RelativePath="res\icon2.ico"
- >
- </File>
- <File
- RelativePath="res\junctionpoint.bmp"
- >
- </File>
- <File
- RelativePath="res\license.txt"
- >
- </File>
- <File
- RelativePath="res\linkhand.cur"
- >
- </File>
- <File
- RelativePath="res\windirstat.manifest"
- >
- </File>
- <File
- RelativePath="res\windirstat.rc2"
- >
- </File>
- </Filter>
- <File
- RelativePath="windirstat.rc"
- >
- </File>
- </Filter>
- <Filter
- Name="Source Files"
- Filter=""
- >
- <Filter
- Name="Common"
- Filter=""
- >
- <File
- RelativePath="..\common\commonhelpers.cpp"
- >
- </File>
- <File
- RelativePath="..\common\platform.cpp"
- >
- </File>
- </Filter>
- <Filter
- Name="Controls"
- Filter=""
- >
- <File
- RelativePath="Controls\ColorButton.cpp"
- >
- </File>
- <File
- RelativePath="Controls\TreeListControl.cpp"
- >
- </File>
- <File
- RelativePath="Controls\graphview.cpp"
- >
- </File>
- <File
- RelativePath="Controls\myimagelist.cpp"
- >
- </File>
- <File
- RelativePath="Controls\ownerdrawnlistcontrol.cpp"
- >
- </File>
- <File
- RelativePath="Controls\pacman.cpp"
- >
- </File>
- <File
- RelativePath="Controls\sortinglistcontrol.cpp"
- >
- </File>
- <File
- RelativePath="Controls\treemap.cpp"
- >
- </File>
- <File
- RelativePath="Controls\typeview.cpp"
- >
- </File>
- <File
- RelativePath="Controls\xyslider.cpp"
- >
- </File>
- </Filter>
- <Filter
- Name="Dialogs"
- Filter=""
- >
- <File
- RelativePath="Dialogs\DeleteWarningDlg.cpp"
- >
- </File>
- <File
- RelativePath="Dialogs\SelectDrivesDlg.cpp"
- >
- </File>
- <File
- RelativePath="Dialogs\aboutdlg.cpp"
- >
- </File>
- </Filter>
- <File
- RelativePath="FileFindWDS.cpp"
- >
- </File>
- <Filter
- Name="Lua"
- Filter=""
- >
- <File
- RelativePath="WDS_Lua_C.c"
- >
- <FileConfiguration
- Name="Debug|Win32"
- >
- <Tool
- Name="VCCLCompilerTool"
- CompileAs="1"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug|x64"
- >
- <Tool
- Name="VCCLCompilerTool"
- CompileAs="1"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- >
- <Tool
- Name="VCCLCompilerTool"
- CompileAs="1"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|x64"
- >
- <Tool
- Name="VCCLCompilerTool"
- CompileAs="1"
- />
- </FileConfiguration>
- </File>
- </Filter>
- <File
- RelativePath="ModalApiShuttle.cpp"
- >
- </File>
- <File
- RelativePath="ModalShellApi.cpp"
- >
- </File>
- <File
- RelativePath="PageCleanups.cpp"
- >
- </File>
- <File
- RelativePath="PageGeneral.cpp"
- >
- </File>
- <File
- RelativePath="PageTreelist.cpp"
- >
- </File>
- <File
- RelativePath="PageTreemap.cpp"
- >
- </File>
- <File
- RelativePath="dirstatdoc.cpp"
- >
- </File>
- <File
- RelativePath="dirstatview.cpp"
- >
- </File>
- <File
- RelativePath="getosplatformstring.cpp"
- >
- </File>
- <File
- RelativePath="globalhelpers.cpp"
- >
- </File>
- <File
- RelativePath="item.cpp"
- >
- </File>
- <File
- RelativePath="layout.cpp"
- >
- </File>
- <File
- RelativePath="mainframe.cpp"
- >
- </File>
- <File
- RelativePath="mountpoints.cpp"
- >
- </File>
- <File
- RelativePath="options.cpp"
- >
- </File>
- <File
- RelativePath="osspecific.cpp"
- >
- </File>
- <File
- RelativePath="windirstat.cpp"
- >
- </File>
- </Filter>
- <Filter
- Name="Special Files"
- Filter=""
- >
- <File
- RelativePath="..\common\BUILD"
- >
- </File>
- <File
- RelativePath="..\common\build_luajit.cmd"
- >
- </File>
- <File
- RelativePath="..\common\buildinc.cmd"
- >
- </File>
- <File
- RelativePath="..\premake4.lua"
- >
- </File>
- <File
- RelativePath="..\common\produce_vsprojects.cmd"
- >
- </File>
- <File
- RelativePath="..\common\setvcvars.cmd"
- >
- </File>
- </Filter>
- <File
- RelativePath="..\TESTPLAN.txt"
- >
- </File>
- <File
- RelativePath="..\TODO.txt"
- >
- </File>
- </Files>
- <Globals>
- </Globals>
-</VisualStudioProject>
|