Compare commits
68 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
c3d1178bb1 | ||
|
|
393f41e523 | ||
|
|
e86165bb8e | ||
|
|
1b5739aa34 | ||
|
|
196687e7aa | ||
|
|
5fee79707d | ||
|
|
c9e1657427 | ||
|
|
d80f24189d | ||
|
|
aa39edfe90 | ||
|
|
8f15d96aea | ||
|
|
e353a2ed60 | ||
|
|
5ff1a95df2 | ||
|
|
eb33a877d1 | ||
|
|
a57c87aaaa | ||
|
|
f3d174884c | ||
|
|
e3390f9a2f | ||
|
|
a6b34f122d | ||
|
|
7f31e51fb0 | ||
|
|
a7ea95bc9b | ||
|
|
8f748c8c17 | ||
|
|
525f24674e | ||
|
|
636e7acc1b | ||
|
|
05627f98d6 | ||
|
|
90a48ae7ce | ||
|
|
c22865524d | ||
|
|
dee95d7d6c | ||
|
|
b644d08eac | ||
|
|
3e96043e88 | ||
|
|
f989cacd17 | ||
|
|
71b37cfdaf | ||
|
|
49aa002388 | ||
|
|
ca0cb0f1f8 | ||
|
|
d9e9f052ac | ||
|
|
1c527e114c | ||
|
|
0bd3082c30 | ||
|
|
4719e99a60 | ||
|
|
3d5ad3986b | ||
|
|
a287e6e884 | ||
|
|
2fff163aea | ||
|
|
2453c88389 | ||
|
|
385528cf23 | ||
|
|
887a2c8116 | ||
|
|
825461e2b0 | ||
|
|
e50cae1261 | ||
|
|
a03e17daea | ||
|
|
d7ac16dd8d | ||
|
|
2e3e188026 | ||
|
|
e9dd2b7ae5 | ||
|
|
09a9639a77 | ||
|
|
a906f5073d | ||
|
|
f730285400 | ||
|
|
22e381af0c | ||
|
|
e0712dd9b6 | ||
|
|
6c94ff59be | ||
|
|
d604e81604 | ||
|
|
3bd75b9735 | ||
|
|
c6cd4bc7a5 | ||
|
|
c21aa27e62 | ||
|
|
e25bce487b | ||
|
|
cdefd74f3f | ||
|
|
28f244cf2f | ||
|
|
3d873f060b | ||
|
|
4055f49f03 | ||
|
|
981cdc370b | ||
|
|
63e206a7ab | ||
|
|
5a372f955b | ||
|
|
d32c8b79dc | ||
|
|
7627cabc1b |
7
.gitignore
vendored
7
.gitignore
vendored
@@ -1,2 +1,5 @@
|
||||
*.user
|
||||
temp
|
||||
/*.opensdf
|
||||
/*.suo
|
||||
/*.sdf
|
||||
/doc
|
||||
/ipch
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
#
|
||||
# Copyright 1991-2016 Amebis
|
||||
# Copyright 1991-2017 Amebis
|
||||
# Copyright 2016 G<>ANT
|
||||
#
|
||||
# This file is part of ZRCola.
|
||||
#
|
||||
@@ -19,6 +20,10 @@
|
||||
|
||||
!INCLUDE "..\..\..\include\MSIBuildCfg.mak"
|
||||
|
||||
!IFNDEF MSIBUILD_LANGID
|
||||
!ERROR Parameter MSIBUILD_LANGID is undefined.
|
||||
!ENDIF
|
||||
|
||||
!IFNDEF WXEXTEND_BIN_DIR
|
||||
!ERROR Parameter WXEXTEND_BIN_DIR is undefined.
|
||||
!ENDIF
|
||||
@@ -39,14 +44,100 @@ All :: "$(LANG).$(PLAT).$(CFG).Component-1.idt"
|
||||
Component ComponentId Directory_ Attributes Condition KeyPath
|
||||
s$(MSIBUILD_LENGTH_ID) S38 s$(MSIBUILD_LENGTH_ID) i2 S255 S$(MSIBUILD_LENGTH_ID)
|
||||
Component Component
|
||||
!IFNDEF WXEXTEND_STATIC
|
||||
!IF "$(PLAT)" == "Win32"
|
||||
compwxExtend.dll.Win32 {CF0DA67E-4D98-4059-9ECA-CB0DE44E92EB} $(WXEXTEND_BIN_DIR) 0 filewxExtend.dll.Win32
|
||||
compwxExtend.dll.Win32 {8D93D165-26AE-4066-9FBE-C37349BCEBAF} $(WXEXTEND_BIN_DIR) 0 filewxExtend.dll.Win32
|
||||
!ENDIF
|
||||
!IF "$(PLAT)" == "x64"
|
||||
compwxExtend.dll.x64 {02F1022D-AA80-4FCA-A6F2-C576C405E1B2} $(WXEXTEND_BIN_DIR) 256 filewxExtend.dll.x64
|
||||
compwxExtend.dll.x64 {5CC39463-FEBE-496F-8EFB-F4F0AC4BCAB4} $(WXEXTEND_BIN_DIR) 256 filewxExtend.dll.x64
|
||||
!ENDIF
|
||||
!IF "$(LANG)" == "Sl"
|
||||
compwxExtend.mo.sl_SI {60770F71-A7B4-4B20-9535-726049A5D412} WXEXTENDLOCSLSIDIR $(MSIBUILD_COMPONENT_ATTRIB_FILE) filewxExtend.mo.sl_SI
|
||||
!ENDIF
|
||||
!IF "$(LANG)" == "bg_BG"
|
||||
compwxExtend.mo.bg_BG {08F3D750-73F1-4D53-ADE6-4F4C5AFF24C1} WXEXTENDLOCBGBGDIR $(MSIBUILD_COMPONENT_ATTRIB_FILE) filewxExtend.mo.bg_BG
|
||||
!ENDIF
|
||||
!IF "$(LANG)" == "ca_ES"
|
||||
compwxExtend.mo.ca_ES {EEC3A2FA-C1F1-45BD-A407-91A5083879FC} WXEXTENDLOCCAESDIR $(MSIBUILD_COMPONENT_ATTRIB_FILE) filewxExtend.mo.ca_ES
|
||||
!ENDIF
|
||||
!IF "$(LANG)" == "cs_CZ"
|
||||
compwxExtend.mo.cs_CZ {6DBD1DFC-8266-467A-AE3B-F7ED9100BA8C} WXEXTENDLOCCSCZDIR $(MSIBUILD_COMPONENT_ATTRIB_FILE) filewxExtend.mo.cs_CZ
|
||||
!ENDIF
|
||||
!IF "$(LANG)" == "cy_UK"
|
||||
compwxExtend.mo.cy_UK {8875B6EF-C0AB-4557-80D9-32F49925F79F} WXEXTENDLOCCYUKDIR $(MSIBUILD_COMPONENT_ATTRIB_FILE) filewxExtend.mo.cy_UK
|
||||
!ENDIF
|
||||
!IF "$(LANG)" == "de_DE"
|
||||
compwxExtend.mo.de_DE {5CCA52DE-D4A9-4986-9D7D-D00EA6560D2F} WXEXTENDLOCDEDEDIR $(MSIBUILD_COMPONENT_ATTRIB_FILE) filewxExtend.mo.de_DE
|
||||
!ENDIF
|
||||
!IF "$(LANG)" == "el_GR"
|
||||
compwxExtend.mo.el_GR {4617F1A6-BB15-4FF8-8CC8-C0D5C3B9DA63} WXEXTENDLOCELGRDIR $(MSIBUILD_COMPONENT_ATTRIB_FILE) filewxExtend.mo.el_GR
|
||||
!ENDIF
|
||||
!IF "$(LANG)" == "es_ES"
|
||||
compwxExtend.mo.es_ES {1469FC38-FF9B-4E5E-9F4C-998A86A4A1E0} WXEXTENDLOCESESDIR $(MSIBUILD_COMPONENT_ATTRIB_FILE) filewxExtend.mo.es_ES
|
||||
!ENDIF
|
||||
!IF "$(LANG)" == "eu_ES"
|
||||
compwxExtend.mo.eu_ES {8EAF1DF8-E7DB-4AC0-A627-423380BAE39F} WXEXTENDLOCEUESDIR $(MSIBUILD_COMPONENT_ATTRIB_FILE) filewxExtend.mo.eu_ES
|
||||
!ENDIF
|
||||
!IF "$(LANG)" == "fi_FI"
|
||||
compwxExtend.mo.fi_FI {4705881C-6A69-48C1-A1E1-D649F042DD77} WXEXTENDLOCFIFIDIR $(MSIBUILD_COMPONENT_ATTRIB_FILE) filewxExtend.mo.fi_FI
|
||||
!ENDIF
|
||||
!IF "$(LANG)" == "fr_CA"
|
||||
compwxExtend.mo.fr_CA {1D90EA4B-EFC5-447C-9CB5-FBF3FD00388C} WXEXTENDLOCFRCADIR $(MSIBUILD_COMPONENT_ATTRIB_FILE) filewxExtend.mo.fr_CA
|
||||
!ENDIF
|
||||
!IF "$(LANG)" == "fr_FR"
|
||||
compwxExtend.mo.fr_FR {CC5336F8-9522-48C9-82DE-6D719C6F729B} WXEXTENDLOCFRFRDIR $(MSIBUILD_COMPONENT_ATTRIB_FILE) filewxExtend.mo.fr_FR
|
||||
!ENDIF
|
||||
!IF "$(LANG)" == "gl_ES"
|
||||
compwxExtend.mo.gl_ES {D7590042-3256-480F-ACAA-2CF9221FB666} WXEXTENDLOCGLESDIR $(MSIBUILD_COMPONENT_ATTRIB_FILE) filewxExtend.mo.gl_ES
|
||||
!ENDIF
|
||||
!IF "$(LANG)" == "hr_HR"
|
||||
compwxExtend.mo.hr_HR {03BF1A96-BD07-475C-895D-BF367B8EAB44} WXEXTENDLOCHRHRDIR $(MSIBUILD_COMPONENT_ATTRIB_FILE) filewxExtend.mo.hr_HR
|
||||
!ENDIF
|
||||
!IF "$(LANG)" == "hu_HU"
|
||||
compwxExtend.mo.hu_HU {5C8C4A78-B95A-4A99-B115-BD90001A6A3C} WXEXTENDLOCHUHUDIR $(MSIBUILD_COMPONENT_ATTRIB_FILE) filewxExtend.mo.hu_HU
|
||||
!ENDIF
|
||||
!IF "$(LANG)" == "is_IS"
|
||||
compwxExtend.mo.is_IS {17013596-7B9B-4893-8C75-7A5C5F76F2B3} WXEXTENDLOCISISDIR $(MSIBUILD_COMPONENT_ATTRIB_FILE) filewxExtend.mo.is_IS
|
||||
!ENDIF
|
||||
!IF "$(LANG)" == "it_IT"
|
||||
compwxExtend.mo.it_IT {81EE1891-9774-465B-8079-B86C1511A4BF} WXEXTENDLOCITITDIR $(MSIBUILD_COMPONENT_ATTRIB_FILE) filewxExtend.mo.it_IT
|
||||
!ENDIF
|
||||
!IF "$(LANG)" == "ko_KR"
|
||||
compwxExtend.mo.ko_KR {9B36C0D2-D4B3-4A4E-9FC8-BBC7E4E0101E} WXEXTENDLOCKOKRDIR $(MSIBUILD_COMPONENT_ATTRIB_FILE) filewxExtend.mo.ko_KR
|
||||
!ENDIF
|
||||
!IF "$(LANG)" == "lt_LT"
|
||||
compwxExtend.mo.lt_LT {4FF5FEB7-AECC-45A9-A81C-85D6D9B55A9C} WXEXTENDLOCLTLTDIR $(MSIBUILD_COMPONENT_ATTRIB_FILE) filewxExtend.mo.lt_LT
|
||||
!ENDIF
|
||||
!IF "$(LANG)" == "nb_NO"
|
||||
compwxExtend.mo.nb_NO {D970A1E8-66B8-430E-93E2-34CE2A49FBCB} WXEXTENDLOCNBNODIR $(MSIBUILD_COMPONENT_ATTRIB_FILE) filewxExtend.mo.nb_NO
|
||||
!ENDIF
|
||||
!IF "$(LANG)" == "nl_NL"
|
||||
compwxExtend.mo.nl_NL {F9BE9502-CFAB-4D90-8150-446B5C092D5F} WXEXTENDLOCNLNLDIR $(MSIBUILD_COMPONENT_ATTRIB_FILE) filewxExtend.mo.nl_NL
|
||||
!ENDIF
|
||||
!IF "$(LANG)" == "pl_PL"
|
||||
compwxExtend.mo.pl_PL {E0B0C10B-84D5-4E1F-9B78-51215B5BFB38} WXEXTENDLOCPLPLDIR $(MSIBUILD_COMPONENT_ATTRIB_FILE) filewxExtend.mo.pl_PL
|
||||
!ENDIF
|
||||
!IF "$(LANG)" == "pt_PT"
|
||||
compwxExtend.mo.pt_PT {34F22826-EF6E-44E5-8BF8-AC509C4336FA} WXEXTENDLOCPTPTDIR $(MSIBUILD_COMPONENT_ATTRIB_FILE) filewxExtend.mo.pt_PT
|
||||
!ENDIF
|
||||
!IF "$(LANG)" == "ru_RU"
|
||||
compwxExtend.mo.ru_RU {DD18920B-1755-4D08-B670-CD669576258D} WXEXTENDLOCRURUDIR $(MSIBUILD_COMPONENT_ATTRIB_FILE) filewxExtend.mo.ru_RU
|
||||
!ENDIF
|
||||
!IF "$(LANG)" == "sk_SK"
|
||||
compwxExtend.mo.sk_SK {82DF7307-E848-4AFB-8BE7-E792BC51FDF3} WXEXTENDLOCSKSKDIR $(MSIBUILD_COMPONENT_ATTRIB_FILE) filewxExtend.mo.sk_SK
|
||||
!ENDIF
|
||||
!IF "$(LANG)" == "sl_SI"
|
||||
compwxExtend.mo.sl_SI {2CC6A48A-4B96-4530-B95E-450357B2FB23} WXEXTENDLOCSLSIDIR $(MSIBUILD_COMPONENT_ATTRIB_FILE) filewxExtend.mo.sl_SI
|
||||
!ENDIF
|
||||
!IF "$(LANG)" == "sr_RS"
|
||||
compwxExtend.mo.sr_RS {6F9F08AC-A9A4-4E3C-8E38-5C1BEB543401} WXEXTENDLOCSRRSDIR $(MSIBUILD_COMPONENT_ATTRIB_FILE) filewxExtend.mo.sr_RS
|
||||
!ENDIF
|
||||
!IF "$(LANG)" == "sv_SE"
|
||||
compwxExtend.mo.sv_SE {9C84C8E8-535C-4C09-91C9-BD83100E0050} WXEXTENDLOCSVSEDIR $(MSIBUILD_COMPONENT_ATTRIB_FILE) filewxExtend.mo.sv_SE
|
||||
!ENDIF
|
||||
!IF "$(LANG)" == "tr_TR"
|
||||
compwxExtend.mo.tr_TR {A0A90268-99D7-4E4C-B275-7D3174458516} WXEXTENDLOCTRTRDIR $(MSIBUILD_COMPONENT_ATTRIB_FILE) filewxExtend.mo.tr_TR
|
||||
!ENDIF
|
||||
!IF "$(LANG)" == "vi_VN"
|
||||
compwxExtend.mo.vi_VN {E7E317CD-C7AB-4043-8C4B-58E31569753A} WXEXTENDLOCVIVNDIR $(MSIBUILD_COMPONENT_ATTRIB_FILE) filewxExtend.mo.vi_VN
|
||||
!ENDIF
|
||||
<<NOKEEP
|
||||
|
||||
@@ -62,7 +153,93 @@ All :: "$(LANG).$(PLAT).$(CFG).Directory-1.idt"
|
||||
Directory Directory_Parent DefaultDir
|
||||
s$(MSIBUILD_LENGTH_ID) S$(MSIBUILD_LENGTH_ID) l255
|
||||
Directory Directory
|
||||
!IF "$(LANG)" == "bg_BG"
|
||||
WXEXTENDLOCBGBGDIR $(WXEXTEND_LOC_DIR) bg_BG
|
||||
!ENDIF
|
||||
!IF "$(LANG)" == "ca_ES"
|
||||
WXEXTENDLOCCAESDIR $(WXEXTEND_LOC_DIR) ca_ES
|
||||
!ENDIF
|
||||
!IF "$(LANG)" == "cs_CZ"
|
||||
WXEXTENDLOCCSCZDIR $(WXEXTEND_LOC_DIR) cs_CZ
|
||||
!ENDIF
|
||||
!IF "$(LANG)" == "cy_UK"
|
||||
WXEXTENDLOCCYUKDIR $(WXEXTEND_LOC_DIR) cy_UK
|
||||
!ENDIF
|
||||
!IF "$(LANG)" == "de_DE"
|
||||
WXEXTENDLOCDEDEDIR $(WXEXTEND_LOC_DIR) de_DE
|
||||
!ENDIF
|
||||
!IF "$(LANG)" == "el_GR"
|
||||
WXEXTENDLOCELGRDIR $(WXEXTEND_LOC_DIR) el_GR
|
||||
!ENDIF
|
||||
!IF "$(LANG)" == "es_ES"
|
||||
WXEXTENDLOCESESDIR $(WXEXTEND_LOC_DIR) es_ES
|
||||
!ENDIF
|
||||
!IF "$(LANG)" == "eu_ES"
|
||||
WXEXTENDLOCEUESDIR $(WXEXTEND_LOC_DIR) eu_ES
|
||||
!ENDIF
|
||||
!IF "$(LANG)" == "fi_FI"
|
||||
WXEXTENDLOCFIFIDIR $(WXEXTEND_LOC_DIR) fi_FI
|
||||
!ENDIF
|
||||
!IF "$(LANG)" == "fr_CA"
|
||||
WXEXTENDLOCFRCADIR $(WXEXTEND_LOC_DIR) fr_CA
|
||||
!ENDIF
|
||||
!IF "$(LANG)" == "fr_FR"
|
||||
WXEXTENDLOCFRFRDIR $(WXEXTEND_LOC_DIR) fr_FR
|
||||
!ENDIF
|
||||
!IF "$(LANG)" == "gl_ES"
|
||||
WXEXTENDLOCGLESDIR $(WXEXTEND_LOC_DIR) gl_ES
|
||||
!ENDIF
|
||||
!IF "$(LANG)" == "hr_HR"
|
||||
WXEXTENDLOCHRHRDIR $(WXEXTEND_LOC_DIR) hr_HR
|
||||
!ENDIF
|
||||
!IF "$(LANG)" == "hu_HU"
|
||||
WXEXTENDLOCHUHUDIR $(WXEXTEND_LOC_DIR) hu_HU
|
||||
!ENDIF
|
||||
!IF "$(LANG)" == "is_IS"
|
||||
WXEXTENDLOCISISDIR $(WXEXTEND_LOC_DIR) is_IS
|
||||
!ENDIF
|
||||
!IF "$(LANG)" == "it_IT"
|
||||
WXEXTENDLOCITITDIR $(WXEXTEND_LOC_DIR) it_IT
|
||||
!ENDIF
|
||||
!IF "$(LANG)" == "ko_KR"
|
||||
WXEXTENDLOCKOKRDIR $(WXEXTEND_LOC_DIR) ko_KR
|
||||
!ENDIF
|
||||
!IF "$(LANG)" == "lt_LT"
|
||||
WXEXTENDLOCLTLTDIR $(WXEXTEND_LOC_DIR) lt_LT
|
||||
!ENDIF
|
||||
!IF "$(LANG)" == "nb_NO"
|
||||
WXEXTENDLOCNBNODIR $(WXEXTEND_LOC_DIR) nb_NO
|
||||
!ENDIF
|
||||
!IF "$(LANG)" == "nl_NL"
|
||||
WXEXTENDLOCNLNLDIR $(WXEXTEND_LOC_DIR) nl_NL
|
||||
!ENDIF
|
||||
!IF "$(LANG)" == "pl_PL"
|
||||
WXEXTENDLOCPLPLDIR $(WXEXTEND_LOC_DIR) pl_PL
|
||||
!ENDIF
|
||||
!IF "$(LANG)" == "pt_PT"
|
||||
WXEXTENDLOCPTPTDIR $(WXEXTEND_LOC_DIR) pt_PT
|
||||
!ENDIF
|
||||
!IF "$(LANG)" == "ru_RU"
|
||||
WXEXTENDLOCRURUDIR $(WXEXTEND_LOC_DIR) ru_RU
|
||||
!ENDIF
|
||||
!IF "$(LANG)" == "sk_SK"
|
||||
WXEXTENDLOCSKSKDIR $(WXEXTEND_LOC_DIR) sk_SK
|
||||
!ENDIF
|
||||
!IF "$(LANG)" == "sl_SI"
|
||||
WXEXTENDLOCSLSIDIR $(WXEXTEND_LOC_DIR) sl_SI
|
||||
!ENDIF
|
||||
!IF "$(LANG)" == "sr_RS"
|
||||
WXEXTENDLOCSRRSDIR $(WXEXTEND_LOC_DIR) sr_RS
|
||||
!ENDIF
|
||||
!IF "$(LANG)" == "sv_SE"
|
||||
WXEXTENDLOCSVSEDIR $(WXEXTEND_LOC_DIR) sv_SE
|
||||
!ENDIF
|
||||
!IF "$(LANG)" == "tr_TR"
|
||||
WXEXTENDLOCTRTRDIR $(WXEXTEND_LOC_DIR) tr_TR
|
||||
!ENDIF
|
||||
!IF "$(LANG)" == "vi_VN"
|
||||
WXEXTENDLOCVIVNDIR $(WXEXTEND_LOC_DIR) vi_VN
|
||||
!ENDIF
|
||||
<<NOKEEP
|
||||
|
||||
|
||||
@@ -77,24 +254,26 @@ All :: "$(LANG).$(PLAT).$(CFG).File-1.idt"
|
||||
File Component_ FileName FileSize Version Language Attributes Sequence
|
||||
s$(MSIBUILD_LENGTH_ID) s$(MSIBUILD_LENGTH_ID) l255 i4 S$(MSIBUILD_LENGTH_ID) S20 I2 i2
|
||||
File File
|
||||
!IFNDEF WXEXTEND_STATIC
|
||||
!IF "$(PLAT)" == "Win32"
|
||||
!IF "$(CFG)" == "Release"
|
||||
filewxExtend.dll.Win32 compwxExtend.dll.Win32 WXEXTE~2.DLL|wxExtend10u_vc100.dll 0 0 1536 1
|
||||
filewxExtend.dll.Win32 compwxExtend.dll.Win32 WXEXTE~2.DLL|wxExtend15u_vc100.dll 0 0 1536 1
|
||||
!ENDIF
|
||||
!IF "$(CFG)" == "Debug"
|
||||
filewxExtend.dll.Win32 compwxExtend.dll.Win32 WXEXTE~4.DLL|wxExtend10ud_vc100.dll 0 0 1536 1
|
||||
filewxExtend.dll.Win32 compwxExtend.dll.Win32 WXEXTE~4.DLL|wxExtend15ud_vc100.dll 0 0 1536 1
|
||||
!ENDIF
|
||||
!ENDIF
|
||||
!IF "$(PLAT)" == "x64"
|
||||
!IF "$(CFG)" == "Release"
|
||||
filewxExtend.dll.x64 compwxExtend.dll.x64 WXEXTE~6.DLL|wxExtend10u_vc100_x64.dll 0 0 1536 1
|
||||
filewxExtend.dll.x64 compwxExtend.dll.x64 WXEXTE~6.DLL|wxExtend15u_vc100_x64.dll 0 0 1536 1
|
||||
!ENDIF
|
||||
!IF "$(CFG)" == "Debug"
|
||||
filewxExtend.dll.x64 compwxExtend.dll.x64 WXEXTE~8.DLL|wxExtend10ud_vc100_x64.dll 0 0 1536 1
|
||||
filewxExtend.dll.x64 compwxExtend.dll.x64 WXEXTE~8.DLL|wxExtend15ud_vc100_x64.dll 0 0 1536 1
|
||||
!ENDIF
|
||||
!ENDIF
|
||||
!IF "$(LANG)" == "Sl"
|
||||
filewxExtend.mo.sl_SI compwxExtend.mo.sl_SI WXEXTE~1.MO|wxExtend.mo 0 1060 0 1
|
||||
!ENDIF
|
||||
!IF "$(LANG)" != "en_US"
|
||||
filewxExtend.mo.$(LANG) compwxExtend.mo.$(LANG) WXEXTE~1.MO|wxExtend15.mo 0 $(MSIBUILD_LANGID) 0 1
|
||||
!ENDIF
|
||||
<<NOKEEP
|
||||
|
||||
|
||||
2
build/.gitignore
vendored
Normal file
2
build/.gitignore
vendored
Normal file
@@ -0,0 +1,2 @@
|
||||
/*.user
|
||||
/temp
|
||||
@@ -2,15 +2,15 @@
|
||||
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<ImportGroup Label="PropertySheets" />
|
||||
<PropertyGroup Label="UserMacros">
|
||||
<wxExtendVersion>10</wxExtendVersion>
|
||||
<wxExtendVersion>15</wxExtendVersion>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup>
|
||||
<OutDir>..\..\..\output\$(Platform).$(Configuration)\</OutDir>
|
||||
</PropertyGroup>
|
||||
<ItemDefinitionGroup>
|
||||
<ClCompile>
|
||||
<PreprocessorDefinitions>WXEXTEND;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
</ClCompile>
|
||||
<POCompile>
|
||||
<OutputFile>$(OutDir)..\locale\%(Filename)\$(ProjectName)$(wxExtendVersion).mo</OutputFile>
|
||||
</POCompile>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemGroup>
|
||||
<BuildMacro Include="wxExtendVersion">
|
||||
|
||||
@@ -1,79 +0,0 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<ItemGroup>
|
||||
<Filter Include="Source Files">
|
||||
<UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier>
|
||||
<Extensions>cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions>
|
||||
</Filter>
|
||||
<Filter Include="Header Files">
|
||||
<UniqueIdentifier>{93995380-89BD-4b04-88EB-625FBE52EBFB}</UniqueIdentifier>
|
||||
<Extensions>h;hpp;hxx;hm;inl;inc;xsd</Extensions>
|
||||
</Filter>
|
||||
<Filter Include="Resource Files">
|
||||
<UniqueIdentifier>{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}</UniqueIdentifier>
|
||||
<Extensions>rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms</Extensions>
|
||||
</Filter>
|
||||
<Filter Include="Resource Files\Localization">
|
||||
<UniqueIdentifier>{e43059ae-37ac-4b28-84fb-18d1b3972b30}</UniqueIdentifier>
|
||||
<Extensions>po;pot</Extensions>
|
||||
</Filter>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ClCompile Include="..\src\stdafx.cpp">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\src\appbar.cpp">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\src\comutils.cpp">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\src\xml.cpp">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\src\crypto.cpp">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\src\hex.cpp">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ClInclude Include="..\src\stdafx.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\include\wxex\appbar.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\include\wxex\common.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\include\wxex\comutils.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\include\wxex\xml.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\include\wxex\crypto.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\include\wxex\hex.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</ClInclude>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<None Include="..\locale\wxExtend.pot">
|
||||
<Filter>Resource Files\Localization</Filter>
|
||||
</None>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<POCompile Include="..\locale\sl_SI.po">
|
||||
<Filter>Resource Files\Localization</Filter>
|
||||
</POCompile>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ResourceCompile Include="..\res\wxExtend.rc">
|
||||
<Filter>Resource Files</Filter>
|
||||
</ResourceCompile>
|
||||
</ItemGroup>
|
||||
</Project>
|
||||
14
build/wxExtendDll.props
Normal file
14
build/wxExtendDll.props
Normal file
@@ -0,0 +1,14 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<ImportGroup Label="PropertySheets">
|
||||
<Import Project="wxExtend.props" />
|
||||
</ImportGroup>
|
||||
<PropertyGroup Label="UserMacros" />
|
||||
<PropertyGroup />
|
||||
<ItemDefinitionGroup>
|
||||
<ClCompile>
|
||||
<PreprocessorDefinitions>WXEXTEND_DLL;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
</ClCompile>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemGroup />
|
||||
</Project>
|
||||
@@ -22,6 +22,7 @@
|
||||
<ClCompile Include="..\src\appbar.cpp" />
|
||||
<ClCompile Include="..\src\comutils.cpp" />
|
||||
<ClCompile Include="..\src\crypto.cpp" />
|
||||
<ClCompile Include="..\src\framemanager.cpp" />
|
||||
<ClCompile Include="..\src\hex.cpp" />
|
||||
<ClCompile Include="..\src\stdafx.cpp">
|
||||
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Create</PrecompiledHeader>
|
||||
@@ -29,19 +30,56 @@
|
||||
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">Create</PrecompiledHeader>
|
||||
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Release|x64'">Create</PrecompiledHeader>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\src\url.cpp" />
|
||||
<ClCompile Include="..\src\valhex.cpp" />
|
||||
<ClCompile Include="..\src\valnet.cpp" />
|
||||
<ClCompile Include="..\src\xml.cpp" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ClInclude Include="..\include\wxex\appbar.h" />
|
||||
<ClInclude Include="..\include\wxex\aui\framemanager.h" />
|
||||
<ClInclude Include="..\include\wxex\common.h" />
|
||||
<ClInclude Include="..\include\wxex\comutils.h" />
|
||||
<ClInclude Include="..\include\wxex\crypto.h" />
|
||||
<ClInclude Include="..\include\wxex\hex.h" />
|
||||
<ClInclude Include="..\include\wxex\persist\auimanager.h" />
|
||||
<ClInclude Include="..\include\wxex\persist\dialog.h" />
|
||||
<ClInclude Include="..\include\wxex\url.h" />
|
||||
<ClInclude Include="..\include\wxex\valhex.h" />
|
||||
<ClInclude Include="..\include\wxex\valnet.h" />
|
||||
<ClInclude Include="..\include\wxex\xml.h" />
|
||||
<ClInclude Include="..\src\stdafx.h" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<POCompile Include="..\locale\bg_BG.po" />
|
||||
<POCompile Include="..\locale\ca_ES.po" />
|
||||
<POCompile Include="..\locale\cs_CZ.po" />
|
||||
<POCompile Include="..\locale\cy_UK.po" />
|
||||
<POCompile Include="..\locale\de_DE.po" />
|
||||
<POCompile Include="..\locale\el_GR.po" />
|
||||
<POCompile Include="..\locale\es_ES.po" />
|
||||
<POCompile Include="..\locale\eu_ES.po" />
|
||||
<POCompile Include="..\locale\fi_FI.po" />
|
||||
<POCompile Include="..\locale\fr_CA.po" />
|
||||
<POCompile Include="..\locale\fr_FR.po" />
|
||||
<POCompile Include="..\locale\gl_ES.po" />
|
||||
<POCompile Include="..\locale\hr_HR.po" />
|
||||
<POCompile Include="..\locale\hu_HU.po" />
|
||||
<POCompile Include="..\locale\is_IS.po" />
|
||||
<POCompile Include="..\locale\it_IT.po" />
|
||||
<POCompile Include="..\locale\ko_KR.po" />
|
||||
<POCompile Include="..\locale\lt_LT.po" />
|
||||
<POCompile Include="..\locale\nb_NO.po" />
|
||||
<POCompile Include="..\locale\nl_NL.po" />
|
||||
<POCompile Include="..\locale\pl_PL.po" />
|
||||
<POCompile Include="..\locale\pt_PT.po" />
|
||||
<POCompile Include="..\locale\ru_RU.po" />
|
||||
<POCompile Include="..\locale\sk_SK.po" />
|
||||
<POCompile Include="..\locale\sl_SI.po" />
|
||||
<POCompile Include="..\locale\sr_RS.po" />
|
||||
<POCompile Include="..\locale\sv_SE.po" />
|
||||
<POCompile Include="..\locale\tr_TR.po" />
|
||||
<POCompile Include="..\locale\vi_VN.po" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<None Include="..\locale\wxExtend.pot" />
|
||||
@@ -52,6 +90,7 @@
|
||||
<PropertyGroup Label="Globals">
|
||||
<ProjectGuid>{A3A36689-AC35-4026-93DA-A3BA0C0E767C}</ProjectGuid>
|
||||
<RootNamespace>wxExtend</RootNamespace>
|
||||
<ProjectName>wxExtend</ProjectName>
|
||||
</PropertyGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
|
||||
@@ -83,25 +122,25 @@
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
<Import Project="..\..\..\include\Win32.props" />
|
||||
<Import Project="..\..\..\include\Debug.props" />
|
||||
<Import Project="wxExtend.props" />
|
||||
<Import Project="wxExtendDll.props" />
|
||||
</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" />
|
||||
<Import Project="..\..\..\include\x64.props" />
|
||||
<Import Project="..\..\..\include\Debug.props" />
|
||||
<Import Project="wxExtend.props" />
|
||||
<Import Project="wxExtendDll.props" />
|
||||
</ImportGroup>
|
||||
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
<Import Project="..\..\..\include\Win32.props" />
|
||||
<Import Project="..\..\..\include\Release.props" />
|
||||
<Import Project="wxExtend.props" />
|
||||
<Import Project="wxExtendDll.props" />
|
||||
</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" />
|
||||
<Import Project="..\..\..\include\x64.props" />
|
||||
<Import Project="..\..\..\include\Release.props" />
|
||||
<Import Project="wxExtend.props" />
|
||||
<Import Project="wxExtendDll.props" />
|
||||
</ImportGroup>
|
||||
<PropertyGroup Label="UserMacros" />
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
|
||||
@@ -119,5 +158,6 @@
|
||||
<PropertyGroup />
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
|
||||
<ImportGroup Label="ExtensionTargets">
|
||||
<Import Project="..\..\..\include\xgettext.targets" />
|
||||
</ImportGroup>
|
||||
</Project>
|
||||
199
build/wxExtendDll.vcxproj.filters
Normal file
199
build/wxExtendDll.vcxproj.filters
Normal file
@@ -0,0 +1,199 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<ItemGroup>
|
||||
<Filter Include="Source Files">
|
||||
<UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier>
|
||||
<Extensions>cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions>
|
||||
</Filter>
|
||||
<Filter Include="Header Files">
|
||||
<UniqueIdentifier>{93995380-89BD-4b04-88EB-625FBE52EBFB}</UniqueIdentifier>
|
||||
<Extensions>h;hpp;hxx;hm;inl;inc;xsd</Extensions>
|
||||
</Filter>
|
||||
<Filter Include="Resource Files">
|
||||
<UniqueIdentifier>{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}</UniqueIdentifier>
|
||||
<Extensions>rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms</Extensions>
|
||||
</Filter>
|
||||
<Filter Include="Resource Files\Localization">
|
||||
<UniqueIdentifier>{e43059ae-37ac-4b28-84fb-18d1b3972b30}</UniqueIdentifier>
|
||||
<Extensions>po;pot</Extensions>
|
||||
</Filter>
|
||||
<Filter Include="Header Files\persist">
|
||||
<UniqueIdentifier>{33d4709f-47d3-42c1-9562-bc4743799b49}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="Header Files\aui">
|
||||
<UniqueIdentifier>{be99b1e7-e013-4c69-8966-6b34932a1711}</UniqueIdentifier>
|
||||
</Filter>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ClCompile Include="..\src\stdafx.cpp">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\src\appbar.cpp">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\src\comutils.cpp">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\src\xml.cpp">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\src\crypto.cpp">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\src\hex.cpp">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\src\valhex.cpp">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\src\url.cpp">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\src\valnet.cpp">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\src\framemanager.cpp">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ClInclude Include="..\src\stdafx.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\include\wxex\appbar.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\include\wxex\common.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\include\wxex\comutils.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\include\wxex\xml.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\include\wxex\crypto.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\include\wxex\hex.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\include\wxex\persist\auimanager.h">
|
||||
<Filter>Header Files\persist</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\include\wxex\persist\dialog.h">
|
||||
<Filter>Header Files\persist</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\include\wxex\valhex.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\include\wxex\url.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\include\wxex\valnet.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\include\wxex\aui\framemanager.h">
|
||||
<Filter>Header Files\aui</Filter>
|
||||
</ClInclude>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<None Include="..\locale\wxExtend.pot">
|
||||
<Filter>Resource Files\Localization</Filter>
|
||||
</None>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<POCompile Include="..\locale\sl_SI.po">
|
||||
<Filter>Resource Files\Localization</Filter>
|
||||
</POCompile>
|
||||
<POCompile Include="..\locale\de_DE.po">
|
||||
<Filter>Resource Files\Localization</Filter>
|
||||
</POCompile>
|
||||
<POCompile Include="..\locale\ru_RU.po">
|
||||
<Filter>Resource Files\Localization</Filter>
|
||||
</POCompile>
|
||||
<POCompile Include="..\locale\bg_BG.po">
|
||||
<Filter>Resource Files\Localization</Filter>
|
||||
</POCompile>
|
||||
<POCompile Include="..\locale\ca_ES.po">
|
||||
<Filter>Resource Files\Localization</Filter>
|
||||
</POCompile>
|
||||
<POCompile Include="..\locale\cs_CZ.po">
|
||||
<Filter>Resource Files\Localization</Filter>
|
||||
</POCompile>
|
||||
<POCompile Include="..\locale\cy_UK.po">
|
||||
<Filter>Resource Files\Localization</Filter>
|
||||
</POCompile>
|
||||
<POCompile Include="..\locale\el_GR.po">
|
||||
<Filter>Resource Files\Localization</Filter>
|
||||
</POCompile>
|
||||
<POCompile Include="..\locale\es_ES.po">
|
||||
<Filter>Resource Files\Localization</Filter>
|
||||
</POCompile>
|
||||
<POCompile Include="..\locale\eu_ES.po">
|
||||
<Filter>Resource Files\Localization</Filter>
|
||||
</POCompile>
|
||||
<POCompile Include="..\locale\fi_FI.po">
|
||||
<Filter>Resource Files\Localization</Filter>
|
||||
</POCompile>
|
||||
<POCompile Include="..\locale\fr_CA.po">
|
||||
<Filter>Resource Files\Localization</Filter>
|
||||
</POCompile>
|
||||
<POCompile Include="..\locale\fr_FR.po">
|
||||
<Filter>Resource Files\Localization</Filter>
|
||||
</POCompile>
|
||||
<POCompile Include="..\locale\gl_ES.po">
|
||||
<Filter>Resource Files\Localization</Filter>
|
||||
</POCompile>
|
||||
<POCompile Include="..\locale\hr_HR.po">
|
||||
<Filter>Resource Files\Localization</Filter>
|
||||
</POCompile>
|
||||
<POCompile Include="..\locale\hu_HU.po">
|
||||
<Filter>Resource Files\Localization</Filter>
|
||||
</POCompile>
|
||||
<POCompile Include="..\locale\is_IS.po">
|
||||
<Filter>Resource Files\Localization</Filter>
|
||||
</POCompile>
|
||||
<POCompile Include="..\locale\it_IT.po">
|
||||
<Filter>Resource Files\Localization</Filter>
|
||||
</POCompile>
|
||||
<POCompile Include="..\locale\ko_KR.po">
|
||||
<Filter>Resource Files\Localization</Filter>
|
||||
</POCompile>
|
||||
<POCompile Include="..\locale\lt_LT.po">
|
||||
<Filter>Resource Files\Localization</Filter>
|
||||
</POCompile>
|
||||
<POCompile Include="..\locale\nb_NO.po">
|
||||
<Filter>Resource Files\Localization</Filter>
|
||||
</POCompile>
|
||||
<POCompile Include="..\locale\nl_NL.po">
|
||||
<Filter>Resource Files\Localization</Filter>
|
||||
</POCompile>
|
||||
<POCompile Include="..\locale\pl_PL.po">
|
||||
<Filter>Resource Files\Localization</Filter>
|
||||
</POCompile>
|
||||
<POCompile Include="..\locale\pt_PT.po">
|
||||
<Filter>Resource Files\Localization</Filter>
|
||||
</POCompile>
|
||||
<POCompile Include="..\locale\sk_SK.po">
|
||||
<Filter>Resource Files\Localization</Filter>
|
||||
</POCompile>
|
||||
<POCompile Include="..\locale\sr_RS.po">
|
||||
<Filter>Resource Files\Localization</Filter>
|
||||
</POCompile>
|
||||
<POCompile Include="..\locale\sv_SE.po">
|
||||
<Filter>Resource Files\Localization</Filter>
|
||||
</POCompile>
|
||||
<POCompile Include="..\locale\tr_TR.po">
|
||||
<Filter>Resource Files\Localization</Filter>
|
||||
</POCompile>
|
||||
<POCompile Include="..\locale\vi_VN.po">
|
||||
<Filter>Resource Files\Localization</Filter>
|
||||
</POCompile>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ResourceCompile Include="..\res\wxExtend.rc">
|
||||
<Filter>Resource Files</Filter>
|
||||
</ResourceCompile>
|
||||
</ItemGroup>
|
||||
</Project>
|
||||
10
build/wxExtendLib.props
Normal file
10
build/wxExtendLib.props
Normal file
@@ -0,0 +1,10 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<ImportGroup Label="PropertySheets">
|
||||
<Import Project="wxExtend.props" />
|
||||
</ImportGroup>
|
||||
<PropertyGroup Label="UserMacros" />
|
||||
<PropertyGroup />
|
||||
<ItemDefinitionGroup />
|
||||
<ItemGroup />
|
||||
</Project>
|
||||
155
build/wxExtendLib.vcxproj
Normal file
155
build/wxExtendLib.vcxproj
Normal file
@@ -0,0 +1,155 @@
|
||||
<?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>
|
||||
<ItemGroup>
|
||||
<ClCompile Include="..\src\appbar.cpp" />
|
||||
<ClCompile Include="..\src\comutils.cpp" />
|
||||
<ClCompile Include="..\src\crypto.cpp" />
|
||||
<ClCompile Include="..\src\framemanager.cpp" />
|
||||
<ClCompile Include="..\src\hex.cpp" />
|
||||
<ClCompile Include="..\src\stdafx.cpp">
|
||||
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Create</PrecompiledHeader>
|
||||
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">Create</PrecompiledHeader>
|
||||
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">Create</PrecompiledHeader>
|
||||
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Release|x64'">Create</PrecompiledHeader>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\src\url.cpp" />
|
||||
<ClCompile Include="..\src\valhex.cpp" />
|
||||
<ClCompile Include="..\src\valnet.cpp" />
|
||||
<ClCompile Include="..\src\xml.cpp" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ClInclude Include="..\include\wxex\appbar.h" />
|
||||
<ClInclude Include="..\include\wxex\common.h" />
|
||||
<ClInclude Include="..\include\wxex\comutils.h" />
|
||||
<ClInclude Include="..\include\wxex\crypto.h" />
|
||||
<ClInclude Include="..\include\wxex\hex.h" />
|
||||
<ClInclude Include="..\include\wxex\object.h" />
|
||||
<ClInclude Include="..\include\wxex\persist\auimanager.h" />
|
||||
<ClInclude Include="..\include\wxex\persist\dialog.h" />
|
||||
<ClInclude Include="..\include\wxex\url.h" />
|
||||
<ClInclude Include="..\include\wxex\valhex.h" />
|
||||
<ClInclude Include="..\include\wxex\valnet.h" />
|
||||
<ClInclude Include="..\include\wxex\xml.h" />
|
||||
<ClInclude Include="..\src\stdafx.h" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<POCompile Include="..\locale\bg_BG.po" />
|
||||
<POCompile Include="..\locale\ca_ES.po" />
|
||||
<POCompile Include="..\locale\cs_CZ.po" />
|
||||
<POCompile Include="..\locale\cy_UK.po" />
|
||||
<POCompile Include="..\locale\de_DE.po" />
|
||||
<POCompile Include="..\locale\el_GR.po" />
|
||||
<POCompile Include="..\locale\es_ES.po" />
|
||||
<POCompile Include="..\locale\eu_ES.po" />
|
||||
<POCompile Include="..\locale\fi_FI.po" />
|
||||
<POCompile Include="..\locale\fr_CA.po" />
|
||||
<POCompile Include="..\locale\fr_FR.po" />
|
||||
<POCompile Include="..\locale\gl_ES.po" />
|
||||
<POCompile Include="..\locale\hr_HR.po" />
|
||||
<POCompile Include="..\locale\hu_HU.po" />
|
||||
<POCompile Include="..\locale\is_IS.po" />
|
||||
<POCompile Include="..\locale\it_IT.po" />
|
||||
<POCompile Include="..\locale\ko_KR.po" />
|
||||
<POCompile Include="..\locale\lt_LT.po" />
|
||||
<POCompile Include="..\locale\nb_NO.po" />
|
||||
<POCompile Include="..\locale\nl_NL.po" />
|
||||
<POCompile Include="..\locale\pl_PL.po" />
|
||||
<POCompile Include="..\locale\pt_PT.po" />
|
||||
<POCompile Include="..\locale\ru_RU.po" />
|
||||
<POCompile Include="..\locale\sk_SK.po" />
|
||||
<POCompile Include="..\locale\sl_SI.po" />
|
||||
<POCompile Include="..\locale\sr_RS.po" />
|
||||
<POCompile Include="..\locale\sv_SE.po" />
|
||||
<POCompile Include="..\locale\tr_TR.po" />
|
||||
<POCompile Include="..\locale\vi_VN.po" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<None Include="..\locale\wxExtend.pot" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ResourceCompile Include="..\res\wxExtend.rc" />
|
||||
</ItemGroup>
|
||||
<PropertyGroup Label="Globals">
|
||||
<ProjectGuid>{D3E29951-D9F5-486D-A167-20AE8E90B1FA}</ProjectGuid>
|
||||
<RootNamespace>wxExtend</RootNamespace>
|
||||
<ProjectName>wxExtend</ProjectName>
|
||||
</PropertyGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
|
||||
<ConfigurationType>StaticLibrary</ConfigurationType>
|
||||
<UseDebugLibraries>true</UseDebugLibraries>
|
||||
<CharacterSet>Unicode</CharacterSet>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
|
||||
<ConfigurationType>StaticLibrary</ConfigurationType>
|
||||
<UseDebugLibraries>true</UseDebugLibraries>
|
||||
<CharacterSet>Unicode</CharacterSet>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
|
||||
<ConfigurationType>StaticLibrary</ConfigurationType>
|
||||
<UseDebugLibraries>false</UseDebugLibraries>
|
||||
<WholeProgramOptimization>true</WholeProgramOptimization>
|
||||
<CharacterSet>Unicode</CharacterSet>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
|
||||
<ConfigurationType>StaticLibrary</ConfigurationType>
|
||||
<UseDebugLibraries>false</UseDebugLibraries>
|
||||
<WholeProgramOptimization>true</WholeProgramOptimization>
|
||||
<CharacterSet>Unicode</CharacterSet>
|
||||
</PropertyGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
|
||||
<ImportGroup Label="ExtensionSettings">
|
||||
</ImportGroup>
|
||||
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
<Import Project="..\..\..\include\Win32.props" />
|
||||
<Import Project="..\..\..\include\Debug.props" />
|
||||
<Import Project="wxExtendLib.props" />
|
||||
</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" />
|
||||
<Import Project="..\..\..\include\x64.props" />
|
||||
<Import Project="..\..\..\include\Debug.props" />
|
||||
<Import Project="wxExtendLib.props" />
|
||||
</ImportGroup>
|
||||
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
<Import Project="..\..\..\include\Win32.props" />
|
||||
<Import Project="..\..\..\include\Release.props" />
|
||||
<Import Project="wxExtendLib.props" />
|
||||
</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" />
|
||||
<Import Project="..\..\..\include\x64.props" />
|
||||
<Import Project="..\..\..\include\Release.props" />
|
||||
<Import Project="wxExtendLib.props" />
|
||||
</ImportGroup>
|
||||
<PropertyGroup Label="UserMacros" />
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" />
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" />
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" />
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" />
|
||||
<PropertyGroup />
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
|
||||
<ImportGroup Label="ExtensionTargets">
|
||||
<Import Project="..\..\..\include\xgettext.targets" />
|
||||
</ImportGroup>
|
||||
</Project>
|
||||
196
build/wxExtendLib.vcxproj.filters
Normal file
196
build/wxExtendLib.vcxproj.filters
Normal file
@@ -0,0 +1,196 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<ItemGroup>
|
||||
<Filter Include="Source Files">
|
||||
<UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier>
|
||||
<Extensions>cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions>
|
||||
</Filter>
|
||||
<Filter Include="Header Files">
|
||||
<UniqueIdentifier>{93995380-89BD-4b04-88EB-625FBE52EBFB}</UniqueIdentifier>
|
||||
<Extensions>h;hpp;hxx;hm;inl;inc;xsd</Extensions>
|
||||
</Filter>
|
||||
<Filter Include="Resource Files">
|
||||
<UniqueIdentifier>{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}</UniqueIdentifier>
|
||||
<Extensions>rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms</Extensions>
|
||||
</Filter>
|
||||
<Filter Include="Resource Files\Localization">
|
||||
<UniqueIdentifier>{e43059ae-37ac-4b28-84fb-18d1b3972b30}</UniqueIdentifier>
|
||||
<Extensions>po;pot</Extensions>
|
||||
</Filter>
|
||||
<Filter Include="Header Files\persist">
|
||||
<UniqueIdentifier>{33d4709f-47d3-42c1-9562-bc4743799b49}</UniqueIdentifier>
|
||||
</Filter>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ClCompile Include="..\src\stdafx.cpp">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\src\appbar.cpp">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\src\comutils.cpp">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\src\xml.cpp">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\src\crypto.cpp">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\src\hex.cpp">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\src\valhex.cpp">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\src\url.cpp">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\src\valnet.cpp">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\src\framemanager.cpp">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ClInclude Include="..\src\stdafx.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\include\wxex\appbar.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\include\wxex\common.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\include\wxex\comutils.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\include\wxex\xml.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\include\wxex\crypto.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\include\wxex\hex.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\include\wxex\persist\auimanager.h">
|
||||
<Filter>Header Files\persist</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\include\wxex\persist\dialog.h">
|
||||
<Filter>Header Files\persist</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\include\wxex\valhex.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\include\wxex\url.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\include\wxex\object.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\include\wxex\valnet.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</ClInclude>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<None Include="..\locale\wxExtend.pot">
|
||||
<Filter>Resource Files\Localization</Filter>
|
||||
</None>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<POCompile Include="..\locale\sl_SI.po">
|
||||
<Filter>Resource Files\Localization</Filter>
|
||||
</POCompile>
|
||||
<POCompile Include="..\locale\de_DE.po">
|
||||
<Filter>Resource Files\Localization</Filter>
|
||||
</POCompile>
|
||||
<POCompile Include="..\locale\ru_RU.po">
|
||||
<Filter>Resource Files\Localization</Filter>
|
||||
</POCompile>
|
||||
<POCompile Include="..\locale\bg_BG.po">
|
||||
<Filter>Resource Files\Localization</Filter>
|
||||
</POCompile>
|
||||
<POCompile Include="..\locale\ca_ES.po">
|
||||
<Filter>Resource Files\Localization</Filter>
|
||||
</POCompile>
|
||||
<POCompile Include="..\locale\cs_CZ.po">
|
||||
<Filter>Resource Files\Localization</Filter>
|
||||
</POCompile>
|
||||
<POCompile Include="..\locale\cy_UK.po">
|
||||
<Filter>Resource Files\Localization</Filter>
|
||||
</POCompile>
|
||||
<POCompile Include="..\locale\el_GR.po">
|
||||
<Filter>Resource Files\Localization</Filter>
|
||||
</POCompile>
|
||||
<POCompile Include="..\locale\es_ES.po">
|
||||
<Filter>Resource Files\Localization</Filter>
|
||||
</POCompile>
|
||||
<POCompile Include="..\locale\eu_ES.po">
|
||||
<Filter>Resource Files\Localization</Filter>
|
||||
</POCompile>
|
||||
<POCompile Include="..\locale\fi_FI.po">
|
||||
<Filter>Resource Files\Localization</Filter>
|
||||
</POCompile>
|
||||
<POCompile Include="..\locale\fr_CA.po">
|
||||
<Filter>Resource Files\Localization</Filter>
|
||||
</POCompile>
|
||||
<POCompile Include="..\locale\fr_FR.po">
|
||||
<Filter>Resource Files\Localization</Filter>
|
||||
</POCompile>
|
||||
<POCompile Include="..\locale\gl_ES.po">
|
||||
<Filter>Resource Files\Localization</Filter>
|
||||
</POCompile>
|
||||
<POCompile Include="..\locale\hr_HR.po">
|
||||
<Filter>Resource Files\Localization</Filter>
|
||||
</POCompile>
|
||||
<POCompile Include="..\locale\hu_HU.po">
|
||||
<Filter>Resource Files\Localization</Filter>
|
||||
</POCompile>
|
||||
<POCompile Include="..\locale\is_IS.po">
|
||||
<Filter>Resource Files\Localization</Filter>
|
||||
</POCompile>
|
||||
<POCompile Include="..\locale\it_IT.po">
|
||||
<Filter>Resource Files\Localization</Filter>
|
||||
</POCompile>
|
||||
<POCompile Include="..\locale\ko_KR.po">
|
||||
<Filter>Resource Files\Localization</Filter>
|
||||
</POCompile>
|
||||
<POCompile Include="..\locale\lt_LT.po">
|
||||
<Filter>Resource Files\Localization</Filter>
|
||||
</POCompile>
|
||||
<POCompile Include="..\locale\nb_NO.po">
|
||||
<Filter>Resource Files\Localization</Filter>
|
||||
</POCompile>
|
||||
<POCompile Include="..\locale\nl_NL.po">
|
||||
<Filter>Resource Files\Localization</Filter>
|
||||
</POCompile>
|
||||
<POCompile Include="..\locale\pl_PL.po">
|
||||
<Filter>Resource Files\Localization</Filter>
|
||||
</POCompile>
|
||||
<POCompile Include="..\locale\pt_PT.po">
|
||||
<Filter>Resource Files\Localization</Filter>
|
||||
</POCompile>
|
||||
<POCompile Include="..\locale\sk_SK.po">
|
||||
<Filter>Resource Files\Localization</Filter>
|
||||
</POCompile>
|
||||
<POCompile Include="..\locale\sr_RS.po">
|
||||
<Filter>Resource Files\Localization</Filter>
|
||||
</POCompile>
|
||||
<POCompile Include="..\locale\sv_SE.po">
|
||||
<Filter>Resource Files\Localization</Filter>
|
||||
</POCompile>
|
||||
<POCompile Include="..\locale\tr_TR.po">
|
||||
<Filter>Resource Files\Localization</Filter>
|
||||
</POCompile>
|
||||
<POCompile Include="..\locale\vi_VN.po">
|
||||
<Filter>Resource Files\Localization</Filter>
|
||||
</POCompile>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ResourceCompile Include="..\res\wxExtend.rc">
|
||||
<Filter>Resource Files</Filter>
|
||||
</ResourceCompile>
|
||||
</ItemGroup>
|
||||
</Project>
|
||||
@@ -1,5 +1,6 @@
|
||||
/*
|
||||
Copyright 2015-2016 Amebis
|
||||
/*
|
||||
Copyright 2015-2017 Amebis
|
||||
Copyright 2016 GÉANT
|
||||
Based on code written by Jeffrey Richter.
|
||||
|
||||
This file is part of wxExtend.
|
||||
@@ -31,10 +32,23 @@
|
||||
#include <ShlObj.h>
|
||||
|
||||
|
||||
#define wxABT_AUTOHIDETIMERID 1
|
||||
#define wxABT_AUTOHIDETIME 300
|
||||
#define wxABT_AUTOHIDETIMERINTERVAL 3000
|
||||
/// \addtogroup wxExtend
|
||||
/// @{
|
||||
|
||||
///
|
||||
/// Application bar auto-hide timer ID
|
||||
///
|
||||
#define wxABT_AUTOHIDETIMERID 1
|
||||
|
||||
///
|
||||
/// Application bar auto-hide timer timeout
|
||||
///
|
||||
#define wxABT_AUTOHIDETIME 300
|
||||
|
||||
///
|
||||
/// Application bar auto-hide timer interval
|
||||
///
|
||||
#define wxABT_AUTOHIDETIMERINTERVAL 3000
|
||||
|
||||
///
|
||||
/// Posted to notify application bar about system changes
|
||||
@@ -42,7 +56,7 @@
|
||||
/// \param[in] wParam Event identifier. One of the following values
|
||||
/// - ABN_FULLSCREENAPP Notifies an appbar when a full-screen application is opening or closing. \p lParam is boolean flag specifying whether a full-screen application is opening or closing. This parameter is TRUE if the application is opening or FALSE if it is closing.
|
||||
/// - ABN_POSCHANGED Notifies an appbar when an event has occurred that may affect the appbar's size and position. Events include changes in the taskbar's size, position, and visibility state, as well as the addition, removal, or resizing of another appbar on the same side of the screen. \p lParam is not used.
|
||||
/// - ABN_STATECHANGE Notifies an appbar that the taskbar's autohide or always-on-top state has changed<EFBFBD>that is, the user has selected or cleared the "Always on top" or "Auto hide" check box on the taskbar's property sheet. \p lParam is not used.
|
||||
/// - ABN_STATECHANGE Notifies an appbar that the taskbar's autohide or always-on-top state has changed—that is, the user has selected or cleared the "Always on top" or "Auto hide" check box on the taskbar's property sheet. \p lParam is not used.
|
||||
/// \param[in] lParam Event specific. See \p wParam for details.
|
||||
///
|
||||
#define WM_AB_NOTIFY 0x6f00
|
||||
@@ -99,16 +113,21 @@ enum wxAppBarFlags {
|
||||
template <class W>
|
||||
class wxAppBar : public W
|
||||
{
|
||||
protected:
|
||||
// common part of all ctors
|
||||
void Init();
|
||||
|
||||
public:
|
||||
///
|
||||
/// Creates new application bar
|
||||
///
|
||||
wxAppBar();
|
||||
|
||||
///
|
||||
/// Destructor
|
||||
///
|
||||
virtual ~wxAppBar();
|
||||
|
||||
protected:
|
||||
/// \cond internal
|
||||
void PreCreate(wxAppBarState& state, int& flags, const wxSize& size, long& style);
|
||||
/// \endcond
|
||||
|
||||
public:
|
||||
/// \name Application bar general management
|
||||
@@ -123,15 +142,15 @@ public:
|
||||
/// Returns whether application bar is displayed always on top.
|
||||
///
|
||||
/// \returns
|
||||
/// - true when application bar is always on top
|
||||
/// - false otherwise
|
||||
/// - \c true when application bar is always on top
|
||||
/// - \c false otherwise
|
||||
///
|
||||
inline bool IsAlwaysOnTop() const;
|
||||
|
||||
///
|
||||
/// Sets whether application bar is displayed always on top.
|
||||
///
|
||||
/// \param[in] alwaysOnTop Logical variable to control whether always-on-top behaviour is to be enabled (true) or disabled (false).
|
||||
/// \param[in] alwaysOnTop Logical variable to control whether always-on-top behaviour is to be enabled (\c true) or disabled (\c false).
|
||||
///
|
||||
inline bool SetAlwaysOnTop(bool alwaysOnTop = true);
|
||||
|
||||
@@ -139,15 +158,15 @@ public:
|
||||
/// Returns if application bar is configured for auto-hide.
|
||||
///
|
||||
/// \returns
|
||||
/// - true if application bar is configured for auto-hide
|
||||
/// - false otherwise
|
||||
/// - \c true if application bar is configured for auto-hide
|
||||
/// - \c false otherwise
|
||||
///
|
||||
inline bool IsAutoHide() const;
|
||||
|
||||
///
|
||||
/// Sets whether application bar is displayed always on top.
|
||||
///
|
||||
/// \param[in] autoHide Logical variable to control whether auto-hide behaviour is to be enabled (true) or disabled (false).
|
||||
/// \param[in] autoHide Logical variable to control whether auto-hide behaviour is to be enabled (\c true) or disabled (\c false).
|
||||
///
|
||||
inline bool SetAutoHide(bool autoHide = true);
|
||||
|
||||
@@ -155,15 +174,15 @@ public:
|
||||
/// Returns if sizing of the application bar is allowed.
|
||||
///
|
||||
/// \returns
|
||||
/// - true if sizing of the application bar is allowed
|
||||
/// - false otherwise
|
||||
/// - \c true if sizing of the application bar is allowed
|
||||
/// - \c false otherwise
|
||||
///
|
||||
inline bool GetAllowSizing() const;
|
||||
|
||||
///
|
||||
/// Sets whether resizing of the application bar is allowed.
|
||||
///
|
||||
/// \param[in] allow Logical variable to control whether resizing is to be enabled (true) or disabled (false).
|
||||
/// \param[in] allow Logical variable to control whether resizing is to be enabled (\c true) or disabled (\c false).
|
||||
///
|
||||
inline bool SetAllowSizing(bool allow = true);
|
||||
|
||||
@@ -171,8 +190,8 @@ public:
|
||||
/// Returns if application bar is auto-hidden right now.
|
||||
///
|
||||
/// \returns
|
||||
/// - true if application bar is auto-hidden right now
|
||||
/// - false otherwise
|
||||
/// - \c true if application bar is auto-hidden right now
|
||||
/// - \c false otherwise
|
||||
inline bool GetAutoHidden() const;
|
||||
|
||||
//bool GetAppBarPlacement(LPAPPBARPLACEMENT lpPlacement) const;
|
||||
@@ -190,15 +209,20 @@ public:
|
||||
/// Restore application bar from the edge of the desktop.
|
||||
///
|
||||
/// \param[in] rect The desired coordinates of the restored window. If NULL internally saved coordinates are used.
|
||||
/// \param[in] wnd When the undocked and docked window is different, this parameter denotes the undocked version.
|
||||
///
|
||||
void MaximiseFromEdge(const RECT* rect = NULL);
|
||||
|
||||
///
|
||||
/// Restore application bar from the edge of the desktop.
|
||||
///
|
||||
/// \param[in] wnd When the undocked and docked window is different, this parameter denotes the undocked version.
|
||||
///
|
||||
void MaximiseFromEdge(wxWindow *wnd);
|
||||
|
||||
///
|
||||
/// Shows or hides auto-hide application bar.
|
||||
///
|
||||
/// \param[in] show Logical variable to control whether application bar is be shown (true) or hidden (false).
|
||||
/// \param[in] show Logical variable to control whether application bar is be shown (\c true) or hidden (\c false).
|
||||
///
|
||||
void ShowAutoHideAppBar(bool show = true);
|
||||
|
||||
@@ -236,7 +260,7 @@ protected:
|
||||
///
|
||||
/// Derived classes can implement their own. However, overriden virtual method should call the parent's implementation too.
|
||||
///
|
||||
/// \param[in] beginning true when windows arrangement starts and false when arrangement ends.
|
||||
/// \param[in] beginning \c true when windows arrangement starts and \c false when arrangement ends.
|
||||
///
|
||||
virtual void OnWindowsArrange(bool beginning);
|
||||
|
||||
@@ -250,19 +274,23 @@ protected:
|
||||
/// @}
|
||||
|
||||
protected:
|
||||
/// \cond internal
|
||||
virtual WXLRESULT MSWWindowProc(WXUINT message, WXWPARAM wParam, WXLPARAM lParam);
|
||||
/// \endcond
|
||||
|
||||
private:
|
||||
/// \cond internal
|
||||
inline bool DockAppBar(wxAppBarState state);
|
||||
inline bool UndockAppBar();
|
||||
inline bool RegisterAutoHide(wxAppBarState state);
|
||||
inline bool UnregisterAutoHide(wxAppBarState state);
|
||||
inline bool GetDockedRect(wxAppBarState state, LPRECT rect) const;
|
||||
inline bool GetAutoHideRect(wxAppBarState state, bool bAutoHidden, LPRECT rect) const;
|
||||
/// \endcond
|
||||
|
||||
protected:
|
||||
wxAppBarState m_state; ///< Current state of the application bar
|
||||
wxAppBarState m_stateDesired; ///< Desired state of the application bar while moving/resizing
|
||||
wxAppBarState m_state; ///< Current state of the application bar
|
||||
wxAppBarState m_stateDesired; ///< Desired state of the application bar while moving/resizing
|
||||
int m_flags; ///< Flags describing application bar's behaviour
|
||||
|
||||
SIZE m_sizeFloat; ///< Window size when floating (we need it to restore floating size, when we undock)
|
||||
@@ -276,13 +304,26 @@ protected:
|
||||
};
|
||||
|
||||
|
||||
#ifdef __VISUALC__
|
||||
// non dll-interface class 'xxx' used as base for dll-interface class 'yyy'
|
||||
#pragma warning (push)
|
||||
#pragma warning (disable:4275)
|
||||
#endif
|
||||
|
||||
///
|
||||
/// Dockable application bar frame
|
||||
///
|
||||
class WXEXTEND_API wxAppBarFrame : public wxAppBar<wxFrame>
|
||||
{
|
||||
public:
|
||||
///
|
||||
/// Creates application bar frame
|
||||
///
|
||||
wxAppBarFrame();
|
||||
|
||||
///
|
||||
/// Creates application bar frame
|
||||
///
|
||||
wxAppBarFrame(wxWindow *parent,
|
||||
wxWindowID id,
|
||||
const wxString& title,
|
||||
@@ -293,6 +334,9 @@ public:
|
||||
long style = wxDEFAULT_FRAME_STYLE,
|
||||
const wxString& name = wxFrameNameStr);
|
||||
|
||||
///
|
||||
/// Creates application bar frame
|
||||
///
|
||||
bool Create(wxWindow *parent,
|
||||
wxWindowID id,
|
||||
const wxString& title,
|
||||
@@ -311,7 +355,14 @@ public:
|
||||
class WXEXTEND_API wxAppBarDialog : public wxAppBar<wxDialog>
|
||||
{
|
||||
public:
|
||||
///
|
||||
/// Creates application bar dialog
|
||||
///
|
||||
wxAppBarDialog();
|
||||
|
||||
///
|
||||
/// Creates application bar dialog
|
||||
///
|
||||
wxAppBarDialog(wxWindow *parent,
|
||||
wxWindowID id,
|
||||
const wxString& title,
|
||||
@@ -322,6 +373,9 @@ public:
|
||||
long style = wxDEFAULT_DIALOG_STYLE,
|
||||
const wxString& name = wxDialogNameStr);
|
||||
|
||||
///
|
||||
/// Creates application bar dialog
|
||||
///
|
||||
bool Create(wxWindow *parent,
|
||||
wxWindowID id,
|
||||
const wxString& title,
|
||||
@@ -333,6 +387,10 @@ public:
|
||||
const wxString& name = wxDialogNameStr);
|
||||
};
|
||||
|
||||
#ifdef __VISUALC__
|
||||
#pragma warning(pop)
|
||||
#endif
|
||||
|
||||
|
||||
///
|
||||
/// Returns if the application bar state represents docked state.
|
||||
@@ -340,8 +398,8 @@ public:
|
||||
/// \param[in] state The state of the application bar
|
||||
///
|
||||
/// \returns
|
||||
/// - true if the application bar state represents docked state
|
||||
/// - false otherwise
|
||||
/// - \c true if the application bar state represents docked state
|
||||
/// - \c false otherwise
|
||||
///
|
||||
inline bool wxAppBarIsDocked(wxAppBarState state)
|
||||
{
|
||||
@@ -355,8 +413,8 @@ inline bool wxAppBarIsDocked(wxAppBarState state)
|
||||
/// \param[in] state The state of the application bar
|
||||
///
|
||||
/// \returns
|
||||
/// - true if the application bar state represents vertically docked state
|
||||
/// - false otherwise
|
||||
/// - \c true if the application bar state represents vertically docked state
|
||||
/// - \c false otherwise
|
||||
///
|
||||
inline bool wxAppBarIsDockedVert(wxAppBarState state)
|
||||
{
|
||||
@@ -370,8 +428,8 @@ inline bool wxAppBarIsDockedVert(wxAppBarState state)
|
||||
/// \param[in] state The state of the application bar
|
||||
///
|
||||
/// \returns
|
||||
/// - true if the application bar state represents horizontally docked state
|
||||
/// - false otherwise
|
||||
/// - \c true if the application bar state represents horizontally docked state
|
||||
/// - \c false otherwise
|
||||
///
|
||||
inline bool wxAppBarIsDockedHoriz(wxAppBarState state)
|
||||
{
|
||||
@@ -449,22 +507,17 @@ inline UINT_PTR wxAppBarGetTaskBarState()
|
||||
}
|
||||
|
||||
|
||||
/// @}
|
||||
|
||||
//////////////////////////////////////////////////////////////////////////
|
||||
// wxAppBar
|
||||
//////////////////////////////////////////////////////////////////////////
|
||||
|
||||
template <class W>
|
||||
void wxAppBar<W>::Init()
|
||||
wxAppBar<W>::wxAppBar() :
|
||||
m_taskbarList(NULL),
|
||||
m_timerID(0)
|
||||
{
|
||||
m_taskbarList = NULL;
|
||||
m_timerID = 0;
|
||||
}
|
||||
|
||||
|
||||
template <class W>
|
||||
wxAppBar<W>::wxAppBar()
|
||||
{
|
||||
Init();
|
||||
}
|
||||
|
||||
|
||||
@@ -476,6 +529,7 @@ wxAppBar<W>::~wxAppBar()
|
||||
}
|
||||
|
||||
|
||||
/// \cond internal
|
||||
template <class W>
|
||||
void wxAppBar<W>::PreCreate(wxAppBarState& state, int& flags, const wxSize& size, long& style)
|
||||
{
|
||||
@@ -528,6 +582,7 @@ void wxAppBar<W>::PreCreate(wxAppBarState& state, int& flags, const wxSize& size
|
||||
} else
|
||||
wxFAIL_MSG(wxString::Format(wxT("TaskbarList creation failed 0x%x"), hr));
|
||||
}
|
||||
/// \endcond
|
||||
|
||||
|
||||
template <class W>
|
||||
@@ -982,6 +1037,7 @@ void wxAppBar<W>::OnAutoHideDenied()
|
||||
}
|
||||
|
||||
|
||||
/// \cond internal
|
||||
template <class W>
|
||||
WXLRESULT wxAppBar<W>::MSWWindowProc(WXUINT message, WXWPARAM wParam, WXLPARAM lParam)
|
||||
{
|
||||
@@ -1376,8 +1432,11 @@ WXLRESULT wxAppBar<W>::MSWWindowProc(WXUINT message, WXWPARAM wParam, WXLPARAM l
|
||||
return W::MSWWindowProc(message, wParam, lParam);
|
||||
}
|
||||
}
|
||||
/// \endcond
|
||||
|
||||
|
||||
/// \cond internal
|
||||
|
||||
template <class W>
|
||||
inline bool wxAppBar<W>::DockAppBar(wxAppBarState state)
|
||||
{
|
||||
@@ -1560,3 +1619,5 @@ inline bool wxAppBar<W>::GetAutoHideRect(wxAppBarState state, bool bAutoHidden,
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
/// \endcond
|
||||
|
||||
43
include/wxex/aui/framemanager.h
Normal file
43
include/wxex/aui/framemanager.h
Normal file
@@ -0,0 +1,43 @@
|
||||
/*
|
||||
Copyright 2015-2017 Amebis
|
||||
Copyright 2016 GÉANT
|
||||
|
||||
This file is part of wxExtend.
|
||||
|
||||
wxExtend 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 3 of the License, or
|
||||
(at your option) any later version.
|
||||
|
||||
wxExtend 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 wxExtend. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
#pragma once
|
||||
|
||||
#include "../common.h"
|
||||
|
||||
#include <wx/aui/framemanager.h>
|
||||
#include <wx/string.h>
|
||||
|
||||
/// \addtogroup wxExtend
|
||||
/// @{
|
||||
|
||||
///
|
||||
/// Updates perspective captions with matching captions from panes.
|
||||
///
|
||||
/// \param[in ] mgr wxAUI manager
|
||||
/// \param[inout] perspective Perspective string to update captions in
|
||||
///
|
||||
/// \returns
|
||||
/// - \c true when update succeeded
|
||||
/// - \c false otherwise
|
||||
///
|
||||
bool WXEXTEND_API wxAuiManagerUpdatePerspectiveCaptions(wxAuiManager& mgr, wxString& perspective);
|
||||
|
||||
/// @}
|
||||
@@ -1,5 +1,6 @@
|
||||
/*
|
||||
Copyright 2015-2016 Amebis
|
||||
/*
|
||||
Copyright 2015-2017 Amebis
|
||||
Copyright 2016 GÉANT
|
||||
|
||||
This file is part of wxExtend.
|
||||
|
||||
@@ -20,44 +21,71 @@
|
||||
#if !defined(__wxEXTEND_common_h__)
|
||||
#define __wxEXTEND_common_h__
|
||||
|
||||
/// \addtogroup wxExtend
|
||||
/// @{
|
||||
|
||||
///
|
||||
/// wxExtend Version
|
||||
///
|
||||
#define wxEXTEND_VERSION 0x01000000
|
||||
#define wxEXTEND_VERSION 0x01050300
|
||||
|
||||
#define wxEXTEND_VERSION_MAJ 1
|
||||
#define wxEXTEND_VERSION_MIN 0
|
||||
#define wxEXTEND_VERSION_REV 0
|
||||
#define wxEXTEND_VERSION_BUILD 0
|
||||
#define wxEXTEND_VERSION_MAJ 1 ///< wxExtend Major Version
|
||||
#define wxEXTEND_VERSION_MIN 5 ///< wxExtend Minor Version
|
||||
#define wxEXTEND_VERSION_REV 3 ///< wxExtend Revision
|
||||
#define wxEXTEND_VERSION_BUILD 0 ///< wxExtend Build
|
||||
|
||||
#define wxEXTEND_VERSION_STR "1.0"
|
||||
#define wxEXTEND_BUILD_YEAR_STR "2016"
|
||||
#define wxEXTEND_VERSION_STR "1.5.3" ///< wxExtend Displayable Version
|
||||
#define wxEXTEND_BUILD_YEAR_STR "2018" ///< wxExtend Build Year
|
||||
|
||||
#define wxExtendVersion "15" ///< wxExtend API Version
|
||||
|
||||
|
||||
#if !defined(RC_INVOKED) && !defined(MIDL_PASS)
|
||||
|
||||
#include <Windows.h>
|
||||
#include <wx/config.h>
|
||||
#include <wx/debug.h>
|
||||
#include <wx/defs.h>
|
||||
|
||||
#include <wx/intl.h>
|
||||
|
||||
///
|
||||
/// Public function calling convention
|
||||
///
|
||||
#ifdef WXEXTEND
|
||||
#define WXEXTEND_API __declspec(dllexport)
|
||||
#ifndef WXEXTEND_API
|
||||
#if defined(WXEXTEND_DLL)
|
||||
#define WXEXTEND_API __declspec(dllexport)
|
||||
#elif defined(WXEXTEND_DLLIMP)
|
||||
#define WXEXTEND_API __declspec(dllimport)
|
||||
#else
|
||||
#define WXEXTEND_API __declspec(dllimport)
|
||||
#define WXEXTEND_API
|
||||
#endif
|
||||
#endif
|
||||
|
||||
|
||||
///
|
||||
/// Debug macros
|
||||
/// Test if condition is true. When not true, raise debug assertion with the given message.
|
||||
///
|
||||
#if wxDEBUG_LEVEL
|
||||
#define wxVERIFY(x) wxASSERT((x))
|
||||
#define wxVERIFY_MSG(cond, msg) \
|
||||
wxSTATEMENT_MACRO_BEGIN \
|
||||
if ( !(cond) && wxTheAssertHandler && \
|
||||
(wxOnAssert(__FILE__, __LINE__, __WXFUNCTION__, \
|
||||
#cond, msg), wxTrapInAssert) ) \
|
||||
{ \
|
||||
wxTrapInAssert = false; \
|
||||
wxTrap(); \
|
||||
} \
|
||||
wxSTATEMENT_MACRO_END
|
||||
#endif
|
||||
|
||||
|
||||
///
|
||||
/// Test if condition is true. When not true, raise debug assertion.
|
||||
///
|
||||
#if wxDEBUG_LEVEL
|
||||
#define wxVERIFY(cond) wxVERIFY_MSG(cond, (const char*)NULL)
|
||||
#else
|
||||
#define wxVERIFY(x) (x)
|
||||
#define wxVERIFY(cond) (cond)
|
||||
#endif
|
||||
|
||||
|
||||
@@ -65,8 +93,8 @@
|
||||
/// Returns whether windows animation is enabled.
|
||||
///
|
||||
/// \returns
|
||||
/// - true when window animation is enabled
|
||||
/// - false otherwise
|
||||
/// - \c true when window animation is enabled
|
||||
/// - \c false otherwise
|
||||
///
|
||||
inline bool wxGetDoWndAnimation()
|
||||
{
|
||||
@@ -85,8 +113,8 @@ inline bool wxGetDoWndAnimation()
|
||||
/// \param[in] nFlags Additional SWP_ flags to pass to SetWindowPos(). If zero, SetWindowPos() is not called.
|
||||
///
|
||||
/// \returns
|
||||
/// - true when the window extended style was modified
|
||||
/// - false if the window extended style was not neccessary
|
||||
/// - \c true when the window extended style was modified
|
||||
/// - \c false if the window extended style was not neccessary
|
||||
///
|
||||
inline bool wxModifyStyleEx(_In_ WXHWND hWnd, _In_ DWORD dwRemove, _In_ DWORD dwAdd, _In_ UINT nFlags = 0)
|
||||
{
|
||||
@@ -104,5 +132,47 @@ inline bool wxModifyStyleEx(_In_ WXHWND hWnd, _In_ DWORD dwRemove, _In_ DWORD dw
|
||||
return true;
|
||||
}
|
||||
|
||||
|
||||
///
|
||||
/// Inizializes wxWidgets localization scheme
|
||||
///
|
||||
/// The language identifier is read from `Language` configuration string ("ll_CC" form expected).
|
||||
/// The path to folder containing localization catalogue PO files is read from `LocalizationRepositoryPath` configuration string.
|
||||
///
|
||||
/// \param[inout] locale Locale to initialize
|
||||
/// \param[out ] language Translation language
|
||||
///
|
||||
/// \returns
|
||||
/// - \c true when initialization succeeded
|
||||
/// - \c false otherwise
|
||||
///
|
||||
inline bool wxInitializeLocale(wxLocale &locale, wxLanguage *language = NULL)
|
||||
{
|
||||
// Read language from configuration.
|
||||
wxLanguage lang_code;
|
||||
wxString lang;
|
||||
if (wxConfigBase::Get()->Read(wxT("Language"), &lang)) {
|
||||
const wxLanguageInfo *lang_info = wxLocale::FindLanguageInfo(lang);
|
||||
lang_code = lang_info ? (wxLanguage)lang_info->Language : wxLANGUAGE_DEFAULT;
|
||||
} else
|
||||
lang_code = wxLANGUAGE_DEFAULT;
|
||||
|
||||
if (language)
|
||||
*language = lang_code;
|
||||
|
||||
if (wxLocale::IsAvailable(lang_code)) {
|
||||
// Language is "available". Well... Known actually.
|
||||
wxString sPath;
|
||||
if (wxConfigBase::Get()->Read(wxT("LocalizationRepositoryPath"), &sPath))
|
||||
locale.AddCatalogLookupPathPrefix(sPath);
|
||||
return locale.Init(lang_code);
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
#endif // !defined(RC_INVOKED) && !defined(MIDL_PASS)
|
||||
|
||||
/// @}
|
||||
|
||||
#endif // !defined(__wxEXTEND_common_h__)
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
/*
|
||||
Copyright 2016 Amebis
|
||||
/*
|
||||
Copyright 2016-2017 Amebis
|
||||
Copyright 2016 GÉANT
|
||||
|
||||
This file is part of wxExtend.
|
||||
|
||||
@@ -21,6 +22,8 @@
|
||||
|
||||
#include "common.h"
|
||||
|
||||
/// \addtogroup wxExtend
|
||||
/// @{
|
||||
|
||||
///
|
||||
/// Create an object of this class on stack to initialize/cleanup the COM automatically.
|
||||
@@ -31,7 +34,7 @@ public:
|
||||
///
|
||||
/// Initialize the COM
|
||||
///
|
||||
/// \param[in] dwCoInit The concurrency model and initialization options for the thread to pass to \c CoInitializeEx
|
||||
/// \param[in] dwCoInit The concurrency model and initialization options for the thread to pass to `CoInitializeEx()`
|
||||
///
|
||||
wxCoInitializer(DWORD dwCoInit = COINIT_MULTITHREADED);
|
||||
|
||||
@@ -44,8 +47,8 @@ public:
|
||||
/// Has the initialization been successful? (explicit test)
|
||||
///
|
||||
/// \returns
|
||||
/// - true if initialization succeeded
|
||||
/// - false otherwise
|
||||
/// - \c true if initialization succeeded
|
||||
/// - \c false otherwise
|
||||
///
|
||||
bool IsOk() const { return m_ok; }
|
||||
|
||||
@@ -53,11 +56,13 @@ public:
|
||||
/// Has the initialization been successful? (implicit test)
|
||||
///
|
||||
/// \returns
|
||||
/// - true if initialization succeeded
|
||||
/// - false otherwise
|
||||
/// - \c true if initialization succeeded
|
||||
/// - \c false otherwise
|
||||
///
|
||||
operator bool() const { return m_ok; }
|
||||
|
||||
private:
|
||||
bool m_ok;
|
||||
};
|
||||
|
||||
/// @}
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
/*
|
||||
Copyright 2016 Amebis
|
||||
/*
|
||||
Copyright 2016-2017 Amebis
|
||||
Copyright 2016 GÉANT
|
||||
|
||||
This file is part of wxExtend.
|
||||
|
||||
@@ -23,10 +24,13 @@
|
||||
|
||||
#include <wx/buffer.h>
|
||||
#include <wx/ffile.h>
|
||||
#include <wx/log.h>
|
||||
#include <wx/string.h>
|
||||
|
||||
#include <Wincrypt.h>
|
||||
|
||||
/// \addtogroup wxExtend
|
||||
/// @{
|
||||
|
||||
///
|
||||
/// Cryptographics Session Base Class
|
||||
@@ -37,7 +41,15 @@ protected:
|
||||
HCRYPTPROV m_h; ///< Session Handle
|
||||
|
||||
public:
|
||||
///
|
||||
/// Creates a new cryptographics session
|
||||
///
|
||||
wxCryptoSession();
|
||||
|
||||
|
||||
///
|
||||
/// Destructor
|
||||
///
|
||||
virtual ~wxCryptoSession();
|
||||
|
||||
|
||||
@@ -45,8 +57,8 @@ public:
|
||||
/// Has the session creation been successful?
|
||||
///
|
||||
/// \returns
|
||||
/// - true if creation succeeded
|
||||
/// - false otherwise
|
||||
/// - \c true if creation succeeded
|
||||
/// - \c false otherwise
|
||||
///
|
||||
inline bool IsOk() const
|
||||
{
|
||||
@@ -70,6 +82,9 @@ public:
|
||||
class WXEXTEND_API wxCryptoSessionRSAAES : public wxCryptoSession
|
||||
{
|
||||
public:
|
||||
///
|
||||
/// Creates a new RSA AES cryptographics session
|
||||
///
|
||||
wxCryptoSessionRSAAES();
|
||||
};
|
||||
|
||||
@@ -83,7 +98,15 @@ protected:
|
||||
HCRYPTHASH m_h; ///< Hash Handle
|
||||
|
||||
public:
|
||||
///
|
||||
/// Creates a new cryptographics hash
|
||||
///
|
||||
wxCryptoHash();
|
||||
|
||||
|
||||
///
|
||||
/// Destructor
|
||||
///
|
||||
virtual ~wxCryptoHash();
|
||||
|
||||
|
||||
@@ -91,8 +114,8 @@ public:
|
||||
/// Has the hash creation been successful?
|
||||
///
|
||||
/// \returns
|
||||
/// - true if creation succeeded
|
||||
/// - false otherwise
|
||||
/// - \c true if creation succeeded
|
||||
/// - \c false otherwise
|
||||
///
|
||||
inline bool IsOk() const
|
||||
{
|
||||
@@ -116,8 +139,8 @@ public:
|
||||
/// \param[in] size Size of memory block in bytes
|
||||
///
|
||||
/// \returns
|
||||
/// - true if hashing succeeded
|
||||
/// - false otherwise
|
||||
/// - \c true if hashing succeeded
|
||||
/// - \c false otherwise
|
||||
///
|
||||
bool Hash(const void *data, size_t size);
|
||||
|
||||
@@ -128,8 +151,8 @@ public:
|
||||
/// \param[in] data Memory block
|
||||
///
|
||||
/// \returns
|
||||
/// - true if hashing succeeded
|
||||
/// - false otherwise
|
||||
/// - \c true if hashing succeeded
|
||||
/// - \c false otherwise
|
||||
///
|
||||
inline bool Hash(const wxMemoryBuffer &data)
|
||||
{
|
||||
@@ -143,13 +166,13 @@ public:
|
||||
/// \param[in] str String to hash
|
||||
///
|
||||
/// \returns
|
||||
/// - true if hashing succeeded
|
||||
/// - false otherwise
|
||||
/// - \c true if hashing succeeded
|
||||
/// - \c false otherwise
|
||||
///
|
||||
inline bool HashAsUTF8(const wxString &str)
|
||||
{
|
||||
const wxScopedCharBuffer buf(str.ToUTF8());
|
||||
return Hash((const char*)buf.data(), buf.length());
|
||||
return Hash(buf.data(), buf.length());
|
||||
}
|
||||
|
||||
|
||||
@@ -159,22 +182,22 @@ public:
|
||||
/// \param[in] fileName The path of the file to calculate hash of
|
||||
///
|
||||
/// \returns
|
||||
/// - true if hashing succeeded
|
||||
/// - false otherwise
|
||||
/// - \c true if hashing succeeded
|
||||
/// - \c false otherwise
|
||||
///
|
||||
inline bool HashFile(const wxString &fileName)
|
||||
{
|
||||
wxFFile file(fileName, wxT("rb"));
|
||||
if (file.IsOpened()) {
|
||||
wxMemoryBuffer buf(4*1024);
|
||||
char *data = (char*)buf.GetData();
|
||||
void *data = buf.GetData();
|
||||
size_t nBlock = buf.GetBufSize();
|
||||
while (!file.Eof())
|
||||
Hash(data, file.Read(data, nBlock));
|
||||
|
||||
return true;
|
||||
} else {
|
||||
wxLogError(wxT("Can not open %s file for reading."), fileName.c_str());
|
||||
wxLogError(wxT("Can not open %s file for reading."), fileName);
|
||||
return false;
|
||||
}
|
||||
}
|
||||
@@ -186,8 +209,8 @@ public:
|
||||
/// \param[out] hash Hash data
|
||||
///
|
||||
/// \returns
|
||||
/// - true if succeeded
|
||||
/// - false otherwise
|
||||
/// - \c true if succeeded
|
||||
/// - \c false otherwise
|
||||
///
|
||||
virtual bool GetValue(wxMemoryBuffer &hash);
|
||||
|
||||
@@ -198,8 +221,8 @@ public:
|
||||
/// \param[out] signature Digital signature
|
||||
///
|
||||
/// \returns
|
||||
/// - true if signing succeeded
|
||||
/// - false otherwise
|
||||
/// - \c true if signing succeeded
|
||||
/// - \c false otherwise
|
||||
///
|
||||
bool Sign(wxMemoryBuffer &signature);
|
||||
|
||||
@@ -224,6 +247,9 @@ public:
|
||||
class WXEXTEND_API wxCryptoHashSHA1 : public wxCryptoHash
|
||||
{
|
||||
public:
|
||||
///
|
||||
/// Creates a new cryptographics SHA-1 hash
|
||||
///
|
||||
wxCryptoHashSHA1(wxCryptoSession &session);
|
||||
|
||||
|
||||
@@ -233,8 +259,8 @@ public:
|
||||
/// \param[out] hash Hash data
|
||||
///
|
||||
/// \returns
|
||||
/// - true if succeeded
|
||||
/// - false otherwise
|
||||
/// - \c true if succeeded
|
||||
/// - \c false otherwise
|
||||
///
|
||||
virtual bool GetValue(wxMemoryBuffer &hash);
|
||||
};
|
||||
@@ -245,8 +271,19 @@ public:
|
||||
///
|
||||
class WXEXTEND_API wxCryptoKey
|
||||
{
|
||||
protected:
|
||||
HCRYPTKEY m_h; ///< Key Handle
|
||||
|
||||
public:
|
||||
///
|
||||
/// Creates a new cryptographics key
|
||||
///
|
||||
wxCryptoKey();
|
||||
|
||||
|
||||
///
|
||||
/// Destructor
|
||||
///
|
||||
virtual ~wxCryptoKey();
|
||||
|
||||
|
||||
@@ -254,8 +291,8 @@ public:
|
||||
/// Has the key creation been successful?
|
||||
///
|
||||
/// \returns
|
||||
/// - true if creation succeeded
|
||||
/// - false otherwise
|
||||
/// - \c true if creation succeeded
|
||||
/// - \c false otherwise
|
||||
///
|
||||
inline bool IsOk() const
|
||||
{
|
||||
@@ -272,11 +309,16 @@ public:
|
||||
}
|
||||
|
||||
|
||||
///
|
||||
/// Imports private key
|
||||
///
|
||||
bool ImportPrivate(wxCryptoSession &session, const void *data, size_t size);
|
||||
bool ImportPublic(wxCryptoSession &session, const void *data, size_t size);
|
||||
|
||||
protected:
|
||||
HCRYPTKEY m_h;
|
||||
|
||||
///
|
||||
/// Imports public key
|
||||
///
|
||||
bool ImportPublic(wxCryptoSession &session, const void *data, size_t size);
|
||||
};
|
||||
|
||||
|
||||
@@ -289,8 +331,8 @@ protected:
|
||||
/// \param[in] key Public key
|
||||
///
|
||||
/// \returns
|
||||
/// - true if verification succeeded and the hash matches
|
||||
/// - false otherwise
|
||||
/// - \c true if verification succeeded and the hash matches
|
||||
/// - \c false otherwise
|
||||
///
|
||||
bool WXEXTEND_API wxCryptoVerifySignature(const wxCryptoHash &hash, const void *signature_data, size_t signature_size, const wxCryptoKey &key);
|
||||
|
||||
@@ -303,10 +345,12 @@ bool WXEXTEND_API wxCryptoVerifySignature(const wxCryptoHash &hash, const void *
|
||||
/// \param[in] key Public key
|
||||
///
|
||||
/// \returns
|
||||
/// - true if verification succeeded and the hash matches
|
||||
/// - false otherwise
|
||||
/// - \c true if verification succeeded and the hash matches
|
||||
/// - \c false otherwise
|
||||
///
|
||||
inline bool wxCryptoVerifySignature(const wxCryptoHash &hash, const wxMemoryBuffer &signature, const wxCryptoKey &key)
|
||||
{
|
||||
return wxCryptoVerifySignature(hash, signature.GetData(), signature.GetDataLen(), key);
|
||||
}
|
||||
|
||||
/// @}
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
/*
|
||||
Copyright 2015-2016 Amebis
|
||||
/*
|
||||
Copyright 2015-2017 Amebis
|
||||
Copyright 2016 GÉANT
|
||||
|
||||
This file is part of wxExtend.
|
||||
|
||||
@@ -19,6 +20,8 @@
|
||||
|
||||
#pragma once
|
||||
|
||||
#include "common.h"
|
||||
|
||||
#include "wx/string.h"
|
||||
#include "wx/buffer.h"
|
||||
|
||||
@@ -27,11 +30,15 @@
|
||||
// Encoding Functions
|
||||
// ----------------------------------------------------------------------------
|
||||
|
||||
/// \addtogroup wxExtend
|
||||
/// @{
|
||||
|
||||
///
|
||||
/// Return the size needed for the buffer containing the encoded representation
|
||||
/// of a buffer of given length
|
||||
///
|
||||
/// \param[in] len Length of the buffer
|
||||
///
|
||||
/// \returns Maximum encoded representation size (in characters)
|
||||
///
|
||||
inline size_t wxHexEncodedSize(size_t len)
|
||||
@@ -51,7 +58,7 @@ inline size_t wxHexEncodedSize(size_t len)
|
||||
///
|
||||
/// \returns The length of the encoded data or wxCONV_FAILED if the buffer is not
|
||||
/// large enough; to determine the needed size you can either allocate a buffer
|
||||
/// of \c{wxHexEncodedSize(srcLen)} size or call the function with NULL buffer in
|
||||
/// of `wxHexEncodedSize(srcLen)` size or call the function with NULL buffer in
|
||||
/// which case the required size will be returned
|
||||
///
|
||||
size_t WXEXTEND_API wxHexEncode(char *dst, size_t dstLen, const void *src, size_t srcLen);
|
||||
@@ -110,6 +117,7 @@ enum wxHexDecodeMode
|
||||
/// length
|
||||
///
|
||||
/// \param[in] len Length of the hex encoded string
|
||||
///
|
||||
/// \returns Maximum decoded representation size (in bytes)
|
||||
///
|
||||
inline size_t wxHexDecodedSize(size_t len)
|
||||
@@ -130,7 +138,7 @@ inline size_t wxHexDecodedSize(size_t len)
|
||||
/// \param[in] dstLen Length of \p dst buffer (in bytes)
|
||||
/// \param[in] src Source buffer to decode
|
||||
/// \param[in] srcLen Length of \p src buffer (in characters) or wxNO_LEN for zero terminated strings
|
||||
/// \param[in] mode Desired behaviour on invalid characters (one of \c wxHexDecodeMode constants)
|
||||
/// \param[in] mode Desired behaviour on invalid characters (one of `wxHexDecodeMode` constants)
|
||||
/// \param[out] posErr Error offset in source buffer (in characters)
|
||||
///
|
||||
/// \returns The length of the decoded data or wxCONV_FAILED if an error occurs
|
||||
@@ -151,7 +159,7 @@ size_t WXEXTEND_API wxHexDecode(void *dst, size_t dstLen, const char *src, size_
|
||||
/// \param[out] dst Destination buffer to receive decoded data
|
||||
/// \param[in] dstLen Length of \p dst buffer (in bytes)
|
||||
/// \param[in] src Source string to decode
|
||||
/// \param[in] mode Desired behaviour on invalid characters (one of \c wxHexDecodeMode constants)
|
||||
/// \param[in] mode Desired behaviour on invalid characters (one of `wxHexDecodeMode` constants)
|
||||
/// \param[out] posErr Error offset in source buffer (in characters)
|
||||
///
|
||||
/// \returns The length of the decoded data or wxCONV_FAILED if an error occurs
|
||||
@@ -177,7 +185,7 @@ inline size_t wxHexDecode(void *dst, size_t dstLen, const wxString& src, wxHexDe
|
||||
///
|
||||
/// \param[in] src Source buffer to decode
|
||||
/// \param[in] srcLen Length of \p src buffer (in characters) or wxNO_LEN for zero terminated strings
|
||||
/// \param[in] mode Desired behaviour on invalid characters (one of \c wxHexDecodeMode constants)
|
||||
/// \param[in] mode Desired behaviour on invalid characters (one of `wxHexDecodeMode` constants)
|
||||
/// \param[out] posErr Error offset in source buffer (in characters)
|
||||
///
|
||||
/// \returns Destination buffer with decoded data or an empty buffer if an error occured during decoding
|
||||
@@ -193,7 +201,7 @@ wxMemoryBuffer WXEXTEND_API wxHexDecode(const char *src, size_t srcLen = wxNO_LE
|
||||
/// whitespace or all invalid characters using its \p mode argument
|
||||
///
|
||||
/// \param[in] src Source string to decode
|
||||
/// \param[in] mode Desired behaviour on invalid characters (one of \c wxHexDecodeMode constants)
|
||||
/// \param[in] mode Desired behaviour on invalid characters (one of `wxHexDecodeMode` constants)
|
||||
/// \param[out] posErr Error offset in source buffer (in characters)
|
||||
///
|
||||
/// \returns Destination buffer with decoded data or an empty buffer if an error occured during decoding
|
||||
@@ -204,3 +212,5 @@ inline wxMemoryBuffer wxHexDecode(const wxString& src, wxHexDecodeMode mode = wx
|
||||
// strings with embedded NULs
|
||||
return wxHexDecode(src.ToAscii(), wxNO_LEN, mode, posErr);
|
||||
}
|
||||
|
||||
/// @}
|
||||
|
||||
56
include/wxex/object.h
Normal file
56
include/wxex/object.h
Normal file
@@ -0,0 +1,56 @@
|
||||
/*
|
||||
Copyright 2015-2017 Amebis
|
||||
Copyright 2016 GÉANT
|
||||
|
||||
This file is part of wxExtend.
|
||||
|
||||
wxExtend 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 3 of the License, or
|
||||
(at your option) any later version.
|
||||
|
||||
wxExtend 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 wxExtend. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
#pragma once
|
||||
|
||||
#include "common.h"
|
||||
|
||||
#include <wx/object.h>
|
||||
|
||||
|
||||
///
|
||||
/// Helper template for event user data
|
||||
///
|
||||
template <class T>
|
||||
class wxObjectWithData : public wxObject
|
||||
{
|
||||
public:
|
||||
///
|
||||
/// Default constructor
|
||||
///
|
||||
inline wxObjectWithData() {}
|
||||
|
||||
///
|
||||
/// Construct object with data
|
||||
///
|
||||
/// \param[in] data Data to initialize object with
|
||||
///
|
||||
inline wxObjectWithData(const T &data) : m_data(data) {}
|
||||
|
||||
///
|
||||
/// Construct object with data
|
||||
///
|
||||
/// \param[in] data Data to move to object
|
||||
///
|
||||
inline wxObjectWithData(T &&data) : m_data(std::move(data)) {}
|
||||
|
||||
public:
|
||||
T m_data; ///< Data
|
||||
};
|
||||
122
include/wxex/persist/auimanager.h
Normal file
122
include/wxex/persist/auimanager.h
Normal file
@@ -0,0 +1,122 @@
|
||||
/*
|
||||
Copyright 2015-2017 Amebis
|
||||
Copyright 2016 GÉANT
|
||||
|
||||
This file is part of wxExtend.
|
||||
|
||||
wxExtend 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 3 of the License, or
|
||||
(at your option) any later version.
|
||||
|
||||
wxExtend 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 wxExtend. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
#pragma once
|
||||
|
||||
#include "../common.h"
|
||||
|
||||
#include "../aui/framemanager.h"
|
||||
|
||||
#include <wx/persist.h>
|
||||
#include <wx/aui/framemanager.h>
|
||||
|
||||
|
||||
/// \addtogroup wxExtend
|
||||
/// @{
|
||||
|
||||
///
|
||||
/// `wxPersistentAuiManager` kind for persistent storage
|
||||
///
|
||||
#define wxPERSIST_AUIMGR_KIND "AuiManager"
|
||||
|
||||
///
|
||||
/// Name of the persistent storage variable for saving Aui manager state
|
||||
///
|
||||
#define wxPERSIST_AUIMGR_PERSPECTIVE "perspective"
|
||||
|
||||
///
|
||||
/// Supports saving/restoring wxAuiManager state
|
||||
///
|
||||
class wxPersistentAuiManager : public wxPersistentObject
|
||||
{
|
||||
public:
|
||||
///
|
||||
/// Constructs a persistent Aui manager object
|
||||
///
|
||||
wxPersistentAuiManager(wxAuiManager *mgr) : wxPersistentObject(mgr)
|
||||
{
|
||||
}
|
||||
|
||||
///
|
||||
/// \returns `wxT(wxPERSIST_AUIMGR_KIND)`
|
||||
///
|
||||
virtual wxString GetKind() const
|
||||
{
|
||||
return wxT(wxPERSIST_AUIMGR_KIND);
|
||||
}
|
||||
|
||||
///
|
||||
/// Returns name of the window
|
||||
///
|
||||
virtual wxString GetName() const
|
||||
{
|
||||
// Borrow the name of wxAguiManager from its window.
|
||||
return GetManager()->GetManagedWindow()->GetName();
|
||||
}
|
||||
|
||||
///
|
||||
/// Saves Aui manager state
|
||||
///
|
||||
virtual void Save() const
|
||||
{
|
||||
// Save perspective string to configuration.
|
||||
SaveValue(wxT(wxPERSIST_AUIMGR_PERSPECTIVE), GetManager()->SavePerspective());
|
||||
}
|
||||
|
||||
///
|
||||
/// Restores Aui manager state
|
||||
///
|
||||
virtual bool Restore()
|
||||
{
|
||||
// Load perspective string from configuration.
|
||||
wxString persp;
|
||||
if (!RestoreValue(wxT(wxPERSIST_AUIMGR_PERSPECTIVE), &persp))
|
||||
return false;
|
||||
|
||||
// Update captions (see http://trac.wxwidgets.org/ticket/12528).
|
||||
wxAuiManager* mgr = GetManager();
|
||||
wxCHECK(wxAuiManagerUpdatePerspectiveCaptions(*mgr, persp), false);
|
||||
|
||||
// Restore perspective.
|
||||
return mgr->LoadPerspective(persp);
|
||||
}
|
||||
|
||||
protected:
|
||||
/// \cond internal
|
||||
wxAuiManager *GetManager() const
|
||||
{
|
||||
return static_cast<wxAuiManager*>(GetObject());
|
||||
}
|
||||
/// \endcond
|
||||
|
||||
private:
|
||||
wxDECLARE_NO_COPY_CLASS(wxPersistentAuiManager);
|
||||
};
|
||||
|
||||
|
||||
///
|
||||
/// wxAuiManager's instantiation of wxCreatePersistentObject template
|
||||
///
|
||||
inline wxPersistentObject *wxCreatePersistentObject(wxAuiManager *mgr)
|
||||
{
|
||||
return new wxPersistentAuiManager(mgr);
|
||||
}
|
||||
|
||||
/// @}
|
||||
118
include/wxex/persist/dialog.h
Normal file
118
include/wxex/persist/dialog.h
Normal file
@@ -0,0 +1,118 @@
|
||||
/*
|
||||
Copyright 2015-2017 Amebis
|
||||
Copyright 2016 GÉANT
|
||||
|
||||
This file is part of wxExtend.
|
||||
|
||||
wxExtend 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 3 of the License, or
|
||||
(at your option) any later version.
|
||||
|
||||
wxExtend 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 wxExtend. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
#pragma once
|
||||
|
||||
#include "../common.h"
|
||||
|
||||
#include <wx/persist.h>
|
||||
#include <wx/persist/toplevel.h>
|
||||
#include <wx/persist/window.h>
|
||||
#include <wx/dialog.h>
|
||||
|
||||
/// \addtogroup wxExtend
|
||||
/// @{
|
||||
|
||||
///
|
||||
/// `wxPersistentDialog` kind for persistent storage
|
||||
///
|
||||
#define wxPERSIST_DIALOG_KIND "Dialog"
|
||||
|
||||
///
|
||||
/// Supports saving/restoring wxDialog state
|
||||
///
|
||||
class wxPersistentDialog : public wxPersistentWindow<wxDialog>
|
||||
{
|
||||
public:
|
||||
///
|
||||
/// Constructs a persistent dialog object
|
||||
///
|
||||
wxPersistentDialog(wxDialog *mgr) : wxPersistentWindow<wxDialog>(mgr)
|
||||
{
|
||||
}
|
||||
|
||||
///
|
||||
/// \returns `wxT(wxPERSIST_DIALOG_KIND)`
|
||||
///
|
||||
virtual wxString GetKind() const
|
||||
{
|
||||
return wxT(wxPERSIST_DIALOG_KIND);
|
||||
}
|
||||
|
||||
///
|
||||
/// Saves dialog state
|
||||
///
|
||||
virtual void Save() const
|
||||
{
|
||||
const wxDialog * const wnd = Get();
|
||||
|
||||
// Code copied from wxPersistentTLW::Save()
|
||||
const wxPoint pos = wnd->GetScreenPosition();
|
||||
SaveValue(wxPERSIST_TLW_X, pos.x);
|
||||
SaveValue(wxPERSIST_TLW_Y, pos.y);
|
||||
}
|
||||
|
||||
///
|
||||
/// Restores dialog state
|
||||
///
|
||||
virtual bool Restore()
|
||||
{
|
||||
wxDialog * const wnd = Get();
|
||||
|
||||
// Code copied from wxPersistentTLW::Restore()
|
||||
long
|
||||
x wxDUMMY_INITIALIZE(-1),
|
||||
y wxDUMMY_INITIALIZE(-1);
|
||||
const wxSize size = wnd->GetSize();
|
||||
const bool hasPos = RestoreValue(wxPERSIST_TLW_X, &x) &&
|
||||
RestoreValue(wxPERSIST_TLW_Y, &y);
|
||||
|
||||
if (hasPos) {
|
||||
// to avoid making the window completely invisible if it had been
|
||||
// shown on a monitor which was disconnected since the last run
|
||||
// (this is pretty common for notebook with external displays)
|
||||
//
|
||||
// NB: we should allow window position to be (slightly) off screen,
|
||||
// it's not uncommon to position the window so that its upper
|
||||
// left corner has slightly negative coordinate
|
||||
if (wxDisplay::GetFromPoint(wxPoint(x , y )) != wxNOT_FOUND ||
|
||||
wxDisplay::GetFromPoint(wxPoint(x + size.x, y + size.y)) != wxNOT_FOUND)
|
||||
{
|
||||
wnd->Move(x, y, wxSIZE_ALLOW_MINUS_ONE);
|
||||
}
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
private:
|
||||
wxDECLARE_NO_COPY_CLASS(wxPersistentDialog);
|
||||
};
|
||||
|
||||
|
||||
///
|
||||
/// wxDialog's instantiation of wxCreatePersistentObject template
|
||||
///
|
||||
inline wxPersistentObject *wxCreatePersistentObject(wxDialog *mgr)
|
||||
{
|
||||
return new wxPersistentDialog(mgr);
|
||||
}
|
||||
|
||||
/// @}
|
||||
225
include/wxex/url.h
Normal file
225
include/wxex/url.h
Normal file
@@ -0,0 +1,225 @@
|
||||
/*
|
||||
Copyright 2015-2017 Amebis
|
||||
Copyright 2016 GÉANT
|
||||
|
||||
This file is part of wxExtend.
|
||||
|
||||
wxExtend 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 3 of the License, or
|
||||
(at your option) any later version.
|
||||
|
||||
wxExtend 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 wxExtend. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
#pragma once
|
||||
|
||||
#include "common.h"
|
||||
|
||||
#include "wx/string.h"
|
||||
#include "wx/buffer.h"
|
||||
|
||||
/// \addtogroup wxExtend
|
||||
/// @{
|
||||
|
||||
///
|
||||
/// Test if given character should be protected for URL encoding
|
||||
///
|
||||
/// \param[in] chr ASCII character
|
||||
///
|
||||
/// \returns
|
||||
/// - \c true if character should be protected
|
||||
/// - \c false otherwise
|
||||
///
|
||||
inline bool wxURLIsProtected(char chr)
|
||||
{
|
||||
switch (chr) {
|
||||
case ' ':
|
||||
case '!':
|
||||
case '*':
|
||||
case '\'':
|
||||
case '(':
|
||||
case ')':
|
||||
case ';':
|
||||
case ':':
|
||||
case '@':
|
||||
case '&':
|
||||
case '=':
|
||||
case '+':
|
||||
case '$':
|
||||
case ',':
|
||||
case '/':
|
||||
case '?':
|
||||
case '#':
|
||||
case '[':
|
||||
case ']': return true;
|
||||
}
|
||||
|
||||
return chr < 0x20;
|
||||
}
|
||||
|
||||
|
||||
///
|
||||
/// Return the size needed for the buffer containing the encoded representation
|
||||
/// of a string of given length
|
||||
///
|
||||
/// \param[in] len Length of string (in bytes)
|
||||
///
|
||||
/// \returns Maximum encoded representation size (in characters)
|
||||
///
|
||||
inline size_t wxURLEncodedSize(size_t len)
|
||||
{
|
||||
return len*3;
|
||||
}
|
||||
|
||||
|
||||
///
|
||||
/// Raw URL encoding function which encodes the contents of a string of the
|
||||
/// specified length into the buffer of the specified size
|
||||
///
|
||||
/// \param[out] dst Destination buffer to receive URL encoded data
|
||||
/// \param[in] dstLen Length of \p dst buffer (in characters)
|
||||
/// \param[in] src Source string to encode
|
||||
/// \param[in] srcLen Length of \p src string (in bytes)
|
||||
///
|
||||
/// \returns The length of the encoded data or wxCONV_FAILED if the buffer is not
|
||||
/// large enough; to determine the needed size you can either allocate a buffer
|
||||
/// of `wxURLEncodedSize(srcLen)` size or call the function with NULL string in
|
||||
/// which case the required size will be returned
|
||||
///
|
||||
size_t WXEXTEND_API wxURLEncode(char *dst, size_t dstLen, const char *src, size_t srcLen);
|
||||
|
||||
|
||||
///
|
||||
/// URL encoding function which encodes the contents of a string of the
|
||||
/// specified length into the wxString
|
||||
///
|
||||
/// \param[in] src Source string to encode
|
||||
/// \param[in] srcLen Length of \p src string (in bytes)
|
||||
///
|
||||
/// \returns The URL encoded string
|
||||
///
|
||||
inline wxString wxURLEncode(const char *src, size_t srcLen)
|
||||
{
|
||||
const size_t dstLen = wxURLEncodedSize(srcLen);
|
||||
wxCharBuffer dst(dstLen);
|
||||
dst.shrink(wxURLEncode(dst.data(), dstLen, src, srcLen));
|
||||
|
||||
return dst;
|
||||
}
|
||||
|
||||
|
||||
///
|
||||
/// URL encoding function which encodes the contents of a string into the wxString
|
||||
///
|
||||
/// \param[in] str Source string to encode
|
||||
///
|
||||
/// \returns The URL encoded string
|
||||
///
|
||||
inline wxString wxURLEncode(const wxString& str)
|
||||
{
|
||||
return wxURLEncode(str.GetData(), str.Length());
|
||||
}
|
||||
|
||||
|
||||
///
|
||||
/// URL encoding function which encodes the contents of a buffer into the wxString
|
||||
///
|
||||
/// \param[in] buf Source buffer to encode
|
||||
///
|
||||
/// \returns The URL encoded string
|
||||
///
|
||||
inline wxString wxURLEncode(const wxMemoryBuffer& buf)
|
||||
{
|
||||
return wxURLEncode(reinterpret_cast<const char*>(buf.GetData()), buf.GetDataLen());
|
||||
}
|
||||
|
||||
|
||||
// ----------------------------------------------------------------------------
|
||||
// Decoding Functions
|
||||
// ----------------------------------------------------------------------------
|
||||
|
||||
///
|
||||
/// Return the buffer size necessary for decoding a URL string of the given
|
||||
/// length
|
||||
///
|
||||
/// \param[in] len Length of the URL encoded string
|
||||
///
|
||||
/// \returns Maximum decoded representation size (in bytes)
|
||||
///
|
||||
inline size_t wxURLDecodedSize(size_t len)
|
||||
{
|
||||
return len;
|
||||
}
|
||||
|
||||
///
|
||||
/// Raw decoding function which decodes the contents of the string of specified
|
||||
/// length (or zero terminated by default) into the provided buffer of the given
|
||||
/// size
|
||||
///
|
||||
/// \param[out] dst Destination buffer to receive decoded data
|
||||
/// \param[in] dstLen Length of \p dst buffer (in bytes)
|
||||
/// \param[in] src Source buffer to decode
|
||||
/// \param[in] srcLen Length of \p src buffer (in characters) or wxNO_LEN for zero terminated strings
|
||||
///
|
||||
/// \returns The length of the decoded data or wxCONV_FAILED if the buffer is not
|
||||
/// large enough; to determine the needed size you can either allocate a buffer
|
||||
/// of `wxURLDecodedSize(srcLen)` size or call the function with NULL string in
|
||||
/// which case the required size will be returned
|
||||
///
|
||||
size_t WXEXTEND_API wxURLDecode(char *dst, size_t dstLen, const char *src, size_t srcLen = wxNO_LEN);
|
||||
|
||||
|
||||
///
|
||||
/// Decoding function which decodes the contents of the string into the provided buffer of the given size
|
||||
///
|
||||
/// \param[out] dst Destination buffer to receive decoded data
|
||||
/// \param[in] dstLen Length of \p dst buffer (in bytes)
|
||||
/// \param[in] src Source string to decode
|
||||
///
|
||||
/// \returns The length of the decoded data or wxCONV_FAILED if the buffer is not
|
||||
/// large enough; to determine the needed size you can either allocate a buffer
|
||||
/// of `wxURLDecodedSize(srcLen)` size or call the function with NULL string in
|
||||
/// which case the required size will be returned
|
||||
///
|
||||
inline size_t wxURLDecode(char *dst, size_t dstLen, const wxString& src)
|
||||
{
|
||||
// don't use str.length() here as the ASCII buffer is shorter than it is for
|
||||
// strings with embedded NULs
|
||||
return wxURLDecode(dst, dstLen, src.ToAscii(), wxNO_LEN);
|
||||
}
|
||||
|
||||
|
||||
///
|
||||
/// Decoding function which decodes the contents of the string of specified
|
||||
/// length (or zero terminated by default) into the buffer
|
||||
///
|
||||
/// \param[in] src Source buffer to decode
|
||||
/// \param[in] srcLen Length of \p src buffer (in characters) or wxNO_LEN for zero terminated strings
|
||||
///
|
||||
/// \returns Destination buffer with decoded data or an empty buffer if an error occured during decoding
|
||||
///
|
||||
wxMemoryBuffer WXEXTEND_API wxURLDecode(const char *src, size_t srcLen = wxNO_LEN);
|
||||
|
||||
|
||||
///
|
||||
/// Decoding function which decodes the contents of the string into the buffer
|
||||
///
|
||||
/// \param[in] src Source string to decode
|
||||
///
|
||||
/// \returns Destination buffer with decoded data or an empty buffer if an error occured during decoding
|
||||
///
|
||||
inline wxMemoryBuffer wxURLDecode(const wxString& src)
|
||||
{
|
||||
// don't use str.length() here as the ASCII buffer is shorter than it for
|
||||
// strings with embedded NULs
|
||||
return wxURLDecode(src.ToAscii(), wxNO_LEN);
|
||||
}
|
||||
|
||||
/// @}
|
||||
134
include/wxex/valhex.h
Normal file
134
include/wxex/valhex.h
Normal file
@@ -0,0 +1,134 @@
|
||||
/*
|
||||
Copyright 2015-2017 Amebis
|
||||
Copyright 2016 GÉANT
|
||||
|
||||
This file is part of wxExtend.
|
||||
|
||||
wxExtend 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 3 of the License, or
|
||||
(at your option) any later version.
|
||||
|
||||
wxExtend 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 wxExtend. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
#pragma once
|
||||
|
||||
#include "common.h"
|
||||
|
||||
#include <wx/valnum.h>
|
||||
|
||||
/// \addtogroup wxExtend
|
||||
/// @{
|
||||
|
||||
///
|
||||
/// Bit masks used for hexadecimal validator styles.
|
||||
///
|
||||
enum wxHexValidatorStyle
|
||||
{
|
||||
// Do not use values used by wxNumValidatorStyle flags, since this is the extension.
|
||||
wxNUM_VAL_HEX_LOWERCASE = 0x1000,
|
||||
};
|
||||
|
||||
|
||||
|
||||
#ifdef __VISUALC__
|
||||
// non dll-interface class 'xxx' used as base for dll-interface class 'yyy'
|
||||
#pragma warning (push)
|
||||
#pragma warning (disable:4275)
|
||||
#endif
|
||||
|
||||
///
|
||||
/// Base class for hexadecimal validator
|
||||
///
|
||||
class WXEXTEND_API wxHexValidatorBase : public wxIntegerValidatorBase
|
||||
{
|
||||
protected:
|
||||
///
|
||||
/// Constructs new hexadecimal validator
|
||||
///
|
||||
wxHexValidatorBase(int style);
|
||||
|
||||
///
|
||||
/// Copies a hexadecimal validator
|
||||
///
|
||||
wxHexValidatorBase(const wxHexValidatorBase& other);
|
||||
|
||||
///
|
||||
/// Tests whether minus is acceptable at given position
|
||||
///
|
||||
/// \returns Always `false`
|
||||
///
|
||||
bool IsMinusOk(const wxString& val, int pos) const;
|
||||
|
||||
///
|
||||
/// Converts string to long
|
||||
///
|
||||
static bool FromString(const wxString& s, long *value);
|
||||
|
||||
#ifdef wxHAS_LONG_LONG_T_DIFFERENT_FROM_LONG
|
||||
///
|
||||
/// Converts string to long long
|
||||
///
|
||||
static bool FromString(const wxString &s, wxLongLong_t *value);
|
||||
#endif
|
||||
|
||||
///
|
||||
/// Converts number to string
|
||||
///
|
||||
wxString ToString(LongestValueType value) const;
|
||||
|
||||
protected:
|
||||
/// \cond internal
|
||||
void DoSetWidth(unsigned int width) { m_width = width; }
|
||||
/// \endcond
|
||||
|
||||
private:
|
||||
/// \cond internal
|
||||
virtual bool IsCharOk(const wxString& val, int pos, wxChar ch) const;
|
||||
/// \endcond
|
||||
|
||||
private:
|
||||
unsigned int m_width; ///< Preferred width of the string - zero padding (<=1 disables padding)
|
||||
};
|
||||
|
||||
#ifdef __VISUALC__
|
||||
#pragma warning(pop)
|
||||
#endif
|
||||
|
||||
|
||||
///
|
||||
/// Validator for hexadecimal entries
|
||||
///
|
||||
template <typename T>
|
||||
class wxHexValidator : public wxPrivate::wxNumValidator<wxHexValidatorBase, T>
|
||||
{
|
||||
public:
|
||||
typedef wxPrivate::wxNumValidator<wxHexValidatorBase, T> Base; ///< Base class type
|
||||
|
||||
///
|
||||
/// Constructs new hexadecimal validator
|
||||
///
|
||||
wxHexValidator(ValueType *value = NULL, int style = wxNUM_VAL_DEFAULT, unsigned int width = 0) : Base(value, style)
|
||||
{
|
||||
this->DoSetWidth(width);
|
||||
this->DoSetMin(std::numeric_limits<ValueType>::min());
|
||||
this->DoSetMax(std::numeric_limits<ValueType>::max());
|
||||
}
|
||||
|
||||
///
|
||||
/// Clones this validator
|
||||
///
|
||||
virtual wxObject *Clone() const { return new wxHexValidator(*this); }
|
||||
|
||||
private:
|
||||
wxDECLARE_NO_ASSIGN_CLASS(wxHexValidator);
|
||||
};
|
||||
|
||||
/// @}
|
||||
176
include/wxex/valnet.h
Normal file
176
include/wxex/valnet.h
Normal file
@@ -0,0 +1,176 @@
|
||||
/*
|
||||
Copyright 2016-2017 Amebis
|
||||
Copyright 2016 GÉANT
|
||||
|
||||
This file is part of wxExtend.
|
||||
|
||||
wxExtend 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 3 of the License, or
|
||||
(at your option) any later version.
|
||||
|
||||
wxExtend 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 wxExtend. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
#pragma once
|
||||
|
||||
#include "common.h"
|
||||
|
||||
#include <wx/arrstr.h>
|
||||
#include <wx/textctrl.h>
|
||||
#include <wx/validate.h>
|
||||
|
||||
/// \addtogroup wxExtend
|
||||
/// @{
|
||||
|
||||
#ifdef __VISUALC__
|
||||
// non dll-interface class 'xxx' used as base for dll-interface class 'yyy'
|
||||
#pragma warning (push)
|
||||
#pragma warning (disable:4275)
|
||||
#endif
|
||||
|
||||
///
|
||||
/// Validator for host name
|
||||
///
|
||||
class WXEXTEND_API wxHostNameValidator : public wxValidator
|
||||
{
|
||||
public:
|
||||
///
|
||||
/// Construct the validator with a value to store data
|
||||
///
|
||||
wxHostNameValidator(wxString *val = NULL);
|
||||
|
||||
///
|
||||
/// Copies this validator
|
||||
///
|
||||
virtual wxObject* Clone() const;
|
||||
|
||||
///
|
||||
/// Validates the value
|
||||
///
|
||||
virtual bool Validate(wxWindow *parent);
|
||||
|
||||
///
|
||||
/// Transfers the value to the window
|
||||
///
|
||||
virtual bool TransferToWindow();
|
||||
|
||||
///
|
||||
/// Transfers the value from the window
|
||||
///
|
||||
virtual bool TransferFromWindow();
|
||||
|
||||
///
|
||||
/// Parses FQDN value
|
||||
///
|
||||
static bool Parse(const wxString &val_in, size_t i_start, size_t i_end, wxTextCtrl *ctrl, wxWindow *parent, wxString *val_out = NULL);
|
||||
|
||||
protected:
|
||||
wxString *m_val; ///< Pointer to variable to receive control's parsed value
|
||||
|
||||
private:
|
||||
wxDECLARE_DYNAMIC_CLASS(wxHostNameValidator);
|
||||
wxDECLARE_NO_ASSIGN_CLASS(wxHostNameValidator);
|
||||
};
|
||||
|
||||
|
||||
///
|
||||
/// Validator for FQDN
|
||||
///
|
||||
class WXEXTEND_API wxFQDNValidator : public wxValidator
|
||||
{
|
||||
public:
|
||||
///
|
||||
/// Construct the validator with a value to store data
|
||||
///
|
||||
wxFQDNValidator(wxString *val = NULL);
|
||||
|
||||
///
|
||||
/// Copies this validator
|
||||
///
|
||||
virtual wxObject* Clone() const;
|
||||
|
||||
///
|
||||
/// Validates the value
|
||||
///
|
||||
virtual bool Validate(wxWindow *parent);
|
||||
|
||||
///
|
||||
/// Transfers the value to the window
|
||||
///
|
||||
virtual bool TransferToWindow();
|
||||
|
||||
///
|
||||
/// Transfers the value from the window
|
||||
///
|
||||
virtual bool TransferFromWindow();
|
||||
|
||||
///
|
||||
/// Parses FQDN value
|
||||
///
|
||||
static bool Parse(const wxString &val_in, size_t i_start, size_t i_end, wxTextCtrl *ctrl, wxWindow *parent, wxString *val_out = NULL);
|
||||
|
||||
protected:
|
||||
wxString *m_val; ///< Pointer to variable to receive control's parsed value
|
||||
|
||||
private:
|
||||
wxDECLARE_DYNAMIC_CLASS(wxFQDNValidator);
|
||||
wxDECLARE_NO_ASSIGN_CLASS(wxFQDNValidator);
|
||||
};
|
||||
|
||||
|
||||
///
|
||||
/// Validator for FQDN lists
|
||||
///
|
||||
class WXEXTEND_API wxFQDNListValidator : public wxValidator
|
||||
{
|
||||
public:
|
||||
///
|
||||
/// Construct the validator with a value to store data
|
||||
///
|
||||
wxFQDNListValidator(wxArrayString *val = NULL);
|
||||
|
||||
///
|
||||
/// Copies this validator
|
||||
///
|
||||
virtual wxObject* Clone() const;
|
||||
|
||||
///
|
||||
/// Validates the value
|
||||
///
|
||||
virtual bool Validate(wxWindow *parent);
|
||||
|
||||
///
|
||||
/// Transfers the value to the window
|
||||
///
|
||||
virtual bool TransferToWindow();
|
||||
|
||||
///
|
||||
/// Transfers the value from the window
|
||||
///
|
||||
virtual bool TransferFromWindow();
|
||||
|
||||
///
|
||||
/// Parses FQDN list value
|
||||
///
|
||||
static bool Parse(const wxString &val_in, size_t i_start, size_t i_end, wxTextCtrl *ctrl, wxWindow *parent, wxArrayString *val_out = NULL);
|
||||
|
||||
protected:
|
||||
wxArrayString *m_val; ///< Pointer to variable to receive control's parsed value
|
||||
|
||||
private:
|
||||
wxDECLARE_DYNAMIC_CLASS(wxFQDNListValidator);
|
||||
wxDECLARE_NO_ASSIGN_CLASS(wxFQDNListValidator);
|
||||
};
|
||||
|
||||
#ifdef __VISUALC__
|
||||
#pragma warning(pop)
|
||||
#endif
|
||||
|
||||
/// @}
|
||||
@@ -1,5 +1,6 @@
|
||||
/*
|
||||
Copyright 2016 Amebis
|
||||
/*
|
||||
Copyright 2016-2017 Amebis
|
||||
Copyright 2016 GÉANT
|
||||
|
||||
This file is part of wxExtend.
|
||||
|
||||
@@ -19,12 +20,15 @@
|
||||
|
||||
#pragma once
|
||||
|
||||
#include "crypto.h"
|
||||
#include "common.h"
|
||||
|
||||
#include "crypto.h"
|
||||
|
||||
#include <wx/string.h>
|
||||
#include <wx/xml/xml.h>
|
||||
|
||||
/// \addtogroup wxExtend
|
||||
/// @{
|
||||
|
||||
///
|
||||
/// Escapes text string for XML insertion
|
||||
@@ -37,7 +41,7 @@ inline wxString wxXmlEscapeText(_In_ const wxString& str)
|
||||
wxString escaped;
|
||||
escaped.reserve(str.length());
|
||||
|
||||
for (wxString::const_iterator i = str.begin(); i != str.end(); ++i) {
|
||||
for (auto i = str.begin(); i != str.end(); ++i) {
|
||||
const wxChar c = *i;
|
||||
switch (c) {
|
||||
case wxS('<'):
|
||||
@@ -73,7 +77,7 @@ inline wxString wxXmlEscapeAttr(_In_ const wxString& str)
|
||||
wxString escaped;
|
||||
escaped.reserve(str.length());
|
||||
|
||||
for (wxString::const_iterator i = str.begin(); i != str.end(); ++i) {
|
||||
for (auto i = str.begin(); i != str.end(); ++i) {
|
||||
const wxChar c = *i;
|
||||
switch (c) {
|
||||
case wxS('<'):
|
||||
@@ -106,7 +110,6 @@ inline wxString wxXmlEscapeAttr(_In_ const wxString& str)
|
||||
}
|
||||
|
||||
|
||||
|
||||
///
|
||||
/// Calculates hash of the node and all its children
|
||||
///
|
||||
@@ -115,3 +118,5 @@ inline wxString wxXmlEscapeAttr(_In_ const wxString& str)
|
||||
///
|
||||
///
|
||||
bool WXEXTEND_API wxXmlHashNode(_In_ wxCryptoHash &hash, const wxXmlNode *node);
|
||||
|
||||
/// @}
|
||||
|
||||
1
locale/.gitignore
vendored
1
locale/.gitignore
vendored
@@ -1 +1,2 @@
|
||||
/*.mo
|
||||
/wxextend_*.po
|
||||
|
||||
43
locale/bg_BG.po
Normal file
43
locale/bg_BG.po
Normal file
@@ -0,0 +1,43 @@
|
||||
#
|
||||
#, fuzzy
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: wxExtend\n"
|
||||
"POT-Creation-Date: 2016-11-04 14:10+0100\n"
|
||||
"PO-Revision-Date: 2016-02-06 09:04+0100\n"
|
||||
"Last-Translator: University of Ruse <support@uni-ruse.bg>, 2016\n"
|
||||
"Language-Team: Bulgarian (Bulgaria) (https://www.transifex.com/eduroam_devel/teams/11799/bg_BG/)\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Language: bg_BG\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
||||
"X-Generator: Poedit 1.8.10\n"
|
||||
"X-Poedit-Basepath: ..\n"
|
||||
"X-Poedit-KeywordsList: _\n"
|
||||
"X-Poedit-SearchPath-0: src\n"
|
||||
"X-Poedit-SearchPath-1: include\n"
|
||||
"X-Poedit-SourceCharset: UTF-8\n"
|
||||
|
||||
#: src/valnet.cpp:93
|
||||
#, c-format
|
||||
msgid "Invalid character in host name found: %c"
|
||||
msgstr "Открит е невалиден символ в името на хоста: %c"
|
||||
|
||||
#: src/valnet.cpp:93
|
||||
msgid "Validation conflict"
|
||||
msgstr "Проверка на конфликт"
|
||||
|
||||
#: include/wxex/appbar.h:1036
|
||||
msgid ""
|
||||
"There is already an auto hidden bar on this edge.\n"
|
||||
"Only one auto hidden bar is allowed on each edge.\n"
|
||||
"Auto-hide feature is now off."
|
||||
msgstr ""
|
||||
"В този ъгъл вече има автоматично скриваща се лента.\n"
|
||||
"Във всеки ъгъл е разрешена само една автоматично скриваща се лента.\n"
|
||||
"Сега функцията автоматично скриване е изключена."
|
||||
|
||||
#: include/wxex/appbar.h:1036
|
||||
msgid "Warning"
|
||||
msgstr "Предупреждение"
|
||||
43
locale/ca_ES.po
Normal file
43
locale/ca_ES.po
Normal file
@@ -0,0 +1,43 @@
|
||||
#
|
||||
#, fuzzy
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: wxExtend\n"
|
||||
"POT-Creation-Date: 2016-11-04 14:10+0100\n"
|
||||
"PO-Revision-Date: 2016-02-06 09:04+0100\n"
|
||||
"Last-Translator: eduki <ecercos@xtec.cat>, 2016\n"
|
||||
"Language-Team: Catalan (Spain) (https://www.transifex.com/eduroam_devel/teams/11799/ca_ES/)\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Language: ca_ES\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
||||
"X-Generator: Poedit 1.8.10\n"
|
||||
"X-Poedit-Basepath: ..\n"
|
||||
"X-Poedit-KeywordsList: _\n"
|
||||
"X-Poedit-SearchPath-0: src\n"
|
||||
"X-Poedit-SearchPath-1: include\n"
|
||||
"X-Poedit-SourceCharset: UTF-8\n"
|
||||
|
||||
#: src/valnet.cpp:93
|
||||
#, c-format
|
||||
msgid "Invalid character in host name found: %c"
|
||||
msgstr "S'ha trobat un caracter no vàlid en el nom de màquina: %c"
|
||||
|
||||
#: src/valnet.cpp:93
|
||||
msgid "Validation conflict"
|
||||
msgstr "Conflicte de validació"
|
||||
|
||||
#: include/wxex/appbar.h:1036
|
||||
msgid ""
|
||||
"There is already an auto hidden bar on this edge.\n"
|
||||
"Only one auto hidden bar is allowed on each edge.\n"
|
||||
"Auto-hide feature is now off."
|
||||
msgstr ""
|
||||
"Ja hi ha una barra oculta en aquest extrem.\n"
|
||||
"Només hi pot haver una barra oculta en cada extrem.\n"
|
||||
"L'amagat automàtic està desactivat."
|
||||
|
||||
#: include/wxex/appbar.h:1036
|
||||
msgid "Warning"
|
||||
msgstr "Alerta"
|
||||
43
locale/cs_CZ.po
Normal file
43
locale/cs_CZ.po
Normal file
@@ -0,0 +1,43 @@
|
||||
#
|
||||
#, fuzzy
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: wxExtend\n"
|
||||
"POT-Creation-Date: 2016-11-04 14:10+0100\n"
|
||||
"PO-Revision-Date: 2016-02-06 09:04+0100\n"
|
||||
"Last-Translator: Martin Šimek <simek.mar@gmail.com>, 2016\n"
|
||||
"Language-Team: Czech (Czech Republic) (https://www.transifex.com/eduroam_devel/teams/11799/cs_CZ/)\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Language: cs_CZ\n"
|
||||
"Plural-Forms: nplurals=4; plural=(n == 1 && n % 1 == 0) ? 0 : (n >= 2 && n <= 4 && n % 1 == 0) ? 1: (n % 1 != 0 ) ? 2 : 3;\n"
|
||||
"X-Generator: Poedit 1.8.10\n"
|
||||
"X-Poedit-Basepath: ..\n"
|
||||
"X-Poedit-KeywordsList: _\n"
|
||||
"X-Poedit-SearchPath-0: src\n"
|
||||
"X-Poedit-SearchPath-1: include\n"
|
||||
"X-Poedit-SourceCharset: UTF-8\n"
|
||||
|
||||
#: src/valnet.cpp:93
|
||||
#, c-format
|
||||
msgid "Invalid character in host name found: %c"
|
||||
msgstr "Nalezen nepovolený znak ve jméně stroje: %c"
|
||||
|
||||
#: src/valnet.cpp:93
|
||||
msgid "Validation conflict"
|
||||
msgstr "Chyba při kontrole"
|
||||
|
||||
#: include/wxex/appbar.h:1036
|
||||
msgid ""
|
||||
"There is already an auto hidden bar on this edge.\n"
|
||||
"Only one auto hidden bar is allowed on each edge.\n"
|
||||
"Auto-hide feature is now off."
|
||||
msgstr ""
|
||||
"Na této straně je již automaticky skrytá lišta.\n"
|
||||
"Je povolena pouze jedna automaticky skrytá lišta na každé straně.\n"
|
||||
"Funkce automatického skrytí je nyní vypnuta."
|
||||
|
||||
#: include/wxex/appbar.h:1036
|
||||
msgid "Warning"
|
||||
msgstr "Upozornění. "
|
||||
39
locale/cy_UK.po
Normal file
39
locale/cy_UK.po
Normal file
@@ -0,0 +1,39 @@
|
||||
#
|
||||
#, fuzzy
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: wxExtend\n"
|
||||
"POT-Creation-Date: 2016-11-04 14:10+0100\n"
|
||||
"PO-Revision-Date: 2016-02-06 09:04+0100\n"
|
||||
"Language-Team: Welsh (https://www.transifex.com/eduroam_devel/teams/11799/cy/)\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Language: cy\n"
|
||||
"Plural-Forms: nplurals=4; plural=(n==1) ? 0 : (n==2) ? 1 : (n != 8 && n != 11) ? 2 : 3;\n"
|
||||
"X-Generator: Poedit 1.8.10\n"
|
||||
"X-Poedit-Basepath: ..\n"
|
||||
"X-Poedit-KeywordsList: _\n"
|
||||
"X-Poedit-SearchPath-0: src\n"
|
||||
"X-Poedit-SearchPath-1: include\n"
|
||||
"X-Poedit-SourceCharset: UTF-8\n"
|
||||
|
||||
#: src/valnet.cpp:93
|
||||
#, c-format
|
||||
msgid "Invalid character in host name found: %c"
|
||||
msgstr ""
|
||||
|
||||
#: src/valnet.cpp:93
|
||||
msgid "Validation conflict"
|
||||
msgstr ""
|
||||
|
||||
#: include/wxex/appbar.h:1036
|
||||
msgid ""
|
||||
"There is already an auto hidden bar on this edge.\n"
|
||||
"Only one auto hidden bar is allowed on each edge.\n"
|
||||
"Auto-hide feature is now off."
|
||||
msgstr ""
|
||||
|
||||
#: include/wxex/appbar.h:1036
|
||||
msgid "Warning"
|
||||
msgstr ""
|
||||
43
locale/de_DE.po
Normal file
43
locale/de_DE.po
Normal file
@@ -0,0 +1,43 @@
|
||||
#
|
||||
#, fuzzy
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: wxExtend\n"
|
||||
"POT-Creation-Date: 2016-11-04 14:10+0100\n"
|
||||
"PO-Revision-Date: 2016-02-06 09:04+0100\n"
|
||||
"Last-Translator: eduroam_devel <stefan.winter@restena.lu>, 2016\n"
|
||||
"Language-Team: German (https://www.transifex.com/eduroam_devel/teams/11799/de/)\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Language: de\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
||||
"X-Generator: Poedit 1.8.10\n"
|
||||
"X-Poedit-Basepath: ..\n"
|
||||
"X-Poedit-KeywordsList: _\n"
|
||||
"X-Poedit-SearchPath-0: src\n"
|
||||
"X-Poedit-SearchPath-1: include\n"
|
||||
"X-Poedit-SourceCharset: UTF-8\n"
|
||||
|
||||
#: src/valnet.cpp:93
|
||||
#, c-format
|
||||
msgid "Invalid character in host name found: %c"
|
||||
msgstr "Ungültiger Buchstabe im Servernamen gefunden: %c"
|
||||
|
||||
#: src/valnet.cpp:93
|
||||
msgid "Validation conflict"
|
||||
msgstr "Fehler bei der Validierung"
|
||||
|
||||
#: include/wxex/appbar.h:1036
|
||||
msgid ""
|
||||
"There is already an auto hidden bar on this edge.\n"
|
||||
"Only one auto hidden bar is allowed on each edge.\n"
|
||||
"Auto-hide feature is now off."
|
||||
msgstr ""
|
||||
"Hier befindet sich bereits eine automatisch versteckte Leiste.\n"
|
||||
"Es ist nur maximal eine automatisch versteckte Leiste erlaubt.\n"
|
||||
"Automatisches Verstecken ist jetzt ausgeschaltet."
|
||||
|
||||
#: include/wxex/appbar.h:1036
|
||||
msgid "Warning"
|
||||
msgstr "Warnung"
|
||||
43
locale/el_GR.po
Normal file
43
locale/el_GR.po
Normal file
@@ -0,0 +1,43 @@
|
||||
#
|
||||
#, fuzzy
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: wxExtend\n"
|
||||
"POT-Creation-Date: 2016-11-04 14:10+0100\n"
|
||||
"PO-Revision-Date: 2016-02-06 09:04+0100\n"
|
||||
"Last-Translator: Vicky Kons <vickyk@admin.grnet.gr>, 2016\n"
|
||||
"Language-Team: Greek (https://www.transifex.com/eduroam_devel/teams/11799/el/)\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Language: el\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
||||
"X-Generator: Poedit 1.8.10\n"
|
||||
"X-Poedit-Basepath: ..\n"
|
||||
"X-Poedit-KeywordsList: _\n"
|
||||
"X-Poedit-SearchPath-0: src\n"
|
||||
"X-Poedit-SearchPath-1: include\n"
|
||||
"X-Poedit-SourceCharset: UTF-8\n"
|
||||
|
||||
#: src/valnet.cpp:93
|
||||
#, c-format
|
||||
msgid "Invalid character in host name found: %c"
|
||||
msgstr "Βρέθηκε μη έγκυρος χαρακτήρας στο hostname: %c"
|
||||
|
||||
#: src/valnet.cpp:93
|
||||
msgid "Validation conflict"
|
||||
msgstr "Πρόβλημα επικύρωσης"
|
||||
|
||||
#: include/wxex/appbar.h:1036
|
||||
msgid ""
|
||||
"There is already an auto hidden bar on this edge.\n"
|
||||
"Only one auto hidden bar is allowed on each edge.\n"
|
||||
"Auto-hide feature is now off."
|
||||
msgstr ""
|
||||
"Υπάρχει ήδη ένα αυτόματο κρυμμένο μενού σε αυτό το ακριανό πλαίσιο.\n"
|
||||
"Μόνο ένα αυτόματο κρυμμένο μενού επιτρέπεται σε κάθε ακριανό πλαίσιο.\n"
|
||||
"Το χαρακτηριστικό της αυτόματης απόκρυψης είναι πλέον απενεργοποιημένο."
|
||||
|
||||
#: include/wxex/appbar.h:1036
|
||||
msgid "Warning"
|
||||
msgstr "Προειδοποίηση"
|
||||
43
locale/es_ES.po
Normal file
43
locale/es_ES.po
Normal file
@@ -0,0 +1,43 @@
|
||||
#
|
||||
#, fuzzy
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: wxExtend\n"
|
||||
"POT-Creation-Date: 2016-11-04 14:10+0100\n"
|
||||
"PO-Revision-Date: 2016-02-06 09:04+0100\n"
|
||||
"Last-Translator: Alberto Martínez Setién, 2016\n"
|
||||
"Language-Team: Spanish (https://www.transifex.com/eduroam_devel/teams/11799/es/)\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Language: es\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
||||
"X-Generator: Poedit 1.8.10\n"
|
||||
"X-Poedit-Basepath: ..\n"
|
||||
"X-Poedit-KeywordsList: _\n"
|
||||
"X-Poedit-SearchPath-0: src\n"
|
||||
"X-Poedit-SearchPath-1: include\n"
|
||||
"X-Poedit-SourceCharset: UTF-8\n"
|
||||
|
||||
#: src/valnet.cpp:93
|
||||
#, c-format
|
||||
msgid "Invalid character in host name found: %c"
|
||||
msgstr "Carácter no válido en el nombre: %c"
|
||||
|
||||
#: src/valnet.cpp:93
|
||||
msgid "Validation conflict"
|
||||
msgstr "Conflicto de validación"
|
||||
|
||||
#: include/wxex/appbar.h:1036
|
||||
msgid ""
|
||||
"There is already an auto hidden bar on this edge.\n"
|
||||
"Only one auto hidden bar is allowed on each edge.\n"
|
||||
"Auto-hide feature is now off."
|
||||
msgstr ""
|
||||
"Ya hay una barra con ocultación automática en este borde.\n"
|
||||
"Sólo se permite una barra con ocultación automática en cada borde.\n"
|
||||
"La propiedad de ocultación automática está desactivada."
|
||||
|
||||
#: include/wxex/appbar.h:1036
|
||||
msgid "Warning"
|
||||
msgstr "Advertencia"
|
||||
39
locale/eu_ES.po
Normal file
39
locale/eu_ES.po
Normal file
@@ -0,0 +1,39 @@
|
||||
#
|
||||
#, fuzzy
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: wxExtend\n"
|
||||
"POT-Creation-Date: 2016-11-04 14:10+0100\n"
|
||||
"PO-Revision-Date: 2016-02-06 09:04+0100\n"
|
||||
"Language-Team: Basque (Spain) (https://www.transifex.com/eduroam_devel/teams/11799/eu_ES/)\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Language: eu_ES\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
||||
"X-Generator: Poedit 1.8.10\n"
|
||||
"X-Poedit-Basepath: ..\n"
|
||||
"X-Poedit-KeywordsList: _\n"
|
||||
"X-Poedit-SearchPath-0: src\n"
|
||||
"X-Poedit-SearchPath-1: include\n"
|
||||
"X-Poedit-SourceCharset: UTF-8\n"
|
||||
|
||||
#: src/valnet.cpp:93
|
||||
#, c-format
|
||||
msgid "Invalid character in host name found: %c"
|
||||
msgstr ""
|
||||
|
||||
#: src/valnet.cpp:93
|
||||
msgid "Validation conflict"
|
||||
msgstr ""
|
||||
|
||||
#: include/wxex/appbar.h:1036
|
||||
msgid ""
|
||||
"There is already an auto hidden bar on this edge.\n"
|
||||
"Only one auto hidden bar is allowed on each edge.\n"
|
||||
"Auto-hide feature is now off."
|
||||
msgstr ""
|
||||
|
||||
#: include/wxex/appbar.h:1036
|
||||
msgid "Warning"
|
||||
msgstr ""
|
||||
39
locale/fi_FI.po
Normal file
39
locale/fi_FI.po
Normal file
@@ -0,0 +1,39 @@
|
||||
#
|
||||
#, fuzzy
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: wxExtend\n"
|
||||
"POT-Creation-Date: 2016-11-04 14:10+0100\n"
|
||||
"PO-Revision-Date: 2016-02-06 09:04+0100\n"
|
||||
"Language-Team: Finnish (Finland) (https://www.transifex.com/eduroam_devel/teams/11799/fi_FI/)\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Language: fi_FI\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
||||
"X-Generator: Poedit 1.8.10\n"
|
||||
"X-Poedit-Basepath: ..\n"
|
||||
"X-Poedit-KeywordsList: _\n"
|
||||
"X-Poedit-SearchPath-0: src\n"
|
||||
"X-Poedit-SearchPath-1: include\n"
|
||||
"X-Poedit-SourceCharset: UTF-8\n"
|
||||
|
||||
#: src/valnet.cpp:93
|
||||
#, c-format
|
||||
msgid "Invalid character in host name found: %c"
|
||||
msgstr ""
|
||||
|
||||
#: src/valnet.cpp:93
|
||||
msgid "Validation conflict"
|
||||
msgstr ""
|
||||
|
||||
#: include/wxex/appbar.h:1036
|
||||
msgid ""
|
||||
"There is already an auto hidden bar on this edge.\n"
|
||||
"Only one auto hidden bar is allowed on each edge.\n"
|
||||
"Auto-hide feature is now off."
|
||||
msgstr ""
|
||||
|
||||
#: include/wxex/appbar.h:1036
|
||||
msgid "Warning"
|
||||
msgstr ""
|
||||
39
locale/fr_CA.po
Normal file
39
locale/fr_CA.po
Normal file
@@ -0,0 +1,39 @@
|
||||
#
|
||||
#, fuzzy
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: wxExtend\n"
|
||||
"POT-Creation-Date: 2016-11-04 14:10+0100\n"
|
||||
"PO-Revision-Date: 2016-02-06 09:04+0100\n"
|
||||
"Language-Team: French (Canada) (https://www.transifex.com/eduroam_devel/teams/11799/fr_CA/)\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Language: fr_CA\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n > 1);\n"
|
||||
"X-Generator: Poedit 1.8.10\n"
|
||||
"X-Poedit-Basepath: ..\n"
|
||||
"X-Poedit-KeywordsList: _\n"
|
||||
"X-Poedit-SearchPath-0: src\n"
|
||||
"X-Poedit-SearchPath-1: include\n"
|
||||
"X-Poedit-SourceCharset: UTF-8\n"
|
||||
|
||||
#: src/valnet.cpp:93
|
||||
#, c-format
|
||||
msgid "Invalid character in host name found: %c"
|
||||
msgstr ""
|
||||
|
||||
#: src/valnet.cpp:93
|
||||
msgid "Validation conflict"
|
||||
msgstr ""
|
||||
|
||||
#: include/wxex/appbar.h:1036
|
||||
msgid ""
|
||||
"There is already an auto hidden bar on this edge.\n"
|
||||
"Only one auto hidden bar is allowed on each edge.\n"
|
||||
"Auto-hide feature is now off."
|
||||
msgstr ""
|
||||
|
||||
#: include/wxex/appbar.h:1036
|
||||
msgid "Warning"
|
||||
msgstr ""
|
||||
39
locale/fr_FR.po
Normal file
39
locale/fr_FR.po
Normal file
@@ -0,0 +1,39 @@
|
||||
#
|
||||
#, fuzzy
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: wxExtend\n"
|
||||
"POT-Creation-Date: 2016-11-04 14:10+0100\n"
|
||||
"PO-Revision-Date: 2016-02-06 09:04+0100\n"
|
||||
"Language-Team: French (France) (https://www.transifex.com/eduroam_devel/teams/11799/fr_FR/)\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Language: fr_FR\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n > 1);\n"
|
||||
"X-Generator: Poedit 1.8.10\n"
|
||||
"X-Poedit-Basepath: ..\n"
|
||||
"X-Poedit-KeywordsList: _\n"
|
||||
"X-Poedit-SearchPath-0: src\n"
|
||||
"X-Poedit-SearchPath-1: include\n"
|
||||
"X-Poedit-SourceCharset: UTF-8\n"
|
||||
|
||||
#: src/valnet.cpp:93
|
||||
#, c-format
|
||||
msgid "Invalid character in host name found: %c"
|
||||
msgstr ""
|
||||
|
||||
#: src/valnet.cpp:93
|
||||
msgid "Validation conflict"
|
||||
msgstr ""
|
||||
|
||||
#: include/wxex/appbar.h:1036
|
||||
msgid ""
|
||||
"There is already an auto hidden bar on this edge.\n"
|
||||
"Only one auto hidden bar is allowed on each edge.\n"
|
||||
"Auto-hide feature is now off."
|
||||
msgstr ""
|
||||
|
||||
#: include/wxex/appbar.h:1036
|
||||
msgid "Warning"
|
||||
msgstr ""
|
||||
39
locale/gl_ES.po
Normal file
39
locale/gl_ES.po
Normal file
@@ -0,0 +1,39 @@
|
||||
#
|
||||
#, fuzzy
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: wxExtend\n"
|
||||
"POT-Creation-Date: 2016-11-04 14:10+0100\n"
|
||||
"PO-Revision-Date: 2016-02-06 09:04+0100\n"
|
||||
"Language-Team: Galician (Spain) (https://www.transifex.com/eduroam_devel/teams/11799/gl_ES/)\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Language: gl_ES\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
||||
"X-Generator: Poedit 1.8.10\n"
|
||||
"X-Poedit-Basepath: ..\n"
|
||||
"X-Poedit-KeywordsList: _\n"
|
||||
"X-Poedit-SearchPath-0: src\n"
|
||||
"X-Poedit-SearchPath-1: include\n"
|
||||
"X-Poedit-SourceCharset: UTF-8\n"
|
||||
|
||||
#: src/valnet.cpp:93
|
||||
#, c-format
|
||||
msgid "Invalid character in host name found: %c"
|
||||
msgstr ""
|
||||
|
||||
#: src/valnet.cpp:93
|
||||
msgid "Validation conflict"
|
||||
msgstr ""
|
||||
|
||||
#: include/wxex/appbar.h:1036
|
||||
msgid ""
|
||||
"There is already an auto hidden bar on this edge.\n"
|
||||
"Only one auto hidden bar is allowed on each edge.\n"
|
||||
"Auto-hide feature is now off."
|
||||
msgstr ""
|
||||
|
||||
#: include/wxex/appbar.h:1036
|
||||
msgid "Warning"
|
||||
msgstr ""
|
||||
43
locale/hr_HR.po
Normal file
43
locale/hr_HR.po
Normal file
@@ -0,0 +1,43 @@
|
||||
#
|
||||
#, fuzzy
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: wxExtend\n"
|
||||
"POT-Creation-Date: 2016-11-04 14:10+0100\n"
|
||||
"PO-Revision-Date: 2016-02-06 09:04+0100\n"
|
||||
"Last-Translator: Dubravko Penezic <dpenezic@gmail.com>, 2018\n"
|
||||
"Language-Team: Croatian (Croatia) (https://www.transifex.com/eduroam_devel/teams/11799/hr_HR/)\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Language: hr_HR\n"
|
||||
"Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n"
|
||||
"X-Generator: Poedit 1.8.10\n"
|
||||
"X-Poedit-Basepath: ..\n"
|
||||
"X-Poedit-KeywordsList: _\n"
|
||||
"X-Poedit-SearchPath-0: src\n"
|
||||
"X-Poedit-SearchPath-1: include\n"
|
||||
"X-Poedit-SourceCharset: UTF-8\n"
|
||||
|
||||
#: src/valnet.cpp:93
|
||||
#, c-format
|
||||
msgid "Invalid character in host name found: %c"
|
||||
msgstr "Nevažeći znak u imenu poslužitelja %c"
|
||||
|
||||
#: src/valnet.cpp:93
|
||||
msgid "Validation conflict"
|
||||
msgstr "Problem s provjerom"
|
||||
|
||||
#: include/wxex/appbar.h:1036
|
||||
msgid ""
|
||||
"There is already an auto hidden bar on this edge.\n"
|
||||
"Only one auto hidden bar is allowed on each edge.\n"
|
||||
"Auto-hide feature is now off."
|
||||
msgstr ""
|
||||
"Već je aktivirana jedna auto skrivena opcija\n"
|
||||
"Samo jedna auto skrivena opcija moze biti aktivna.\n"
|
||||
"Auto skrivanje je sada iskljućeno"
|
||||
|
||||
#: include/wxex/appbar.h:1036
|
||||
msgid "Warning"
|
||||
msgstr "Upozorenje"
|
||||
39
locale/hu_HU.po
Normal file
39
locale/hu_HU.po
Normal file
@@ -0,0 +1,39 @@
|
||||
#
|
||||
#, fuzzy
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: wxExtend\n"
|
||||
"POT-Creation-Date: 2016-11-04 14:10+0100\n"
|
||||
"PO-Revision-Date: 2016-02-06 09:04+0100\n"
|
||||
"Language-Team: Hungarian (https://www.transifex.com/eduroam_devel/teams/11799/hu/)\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Language: hu\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
||||
"X-Generator: Poedit 1.8.10\n"
|
||||
"X-Poedit-Basepath: ..\n"
|
||||
"X-Poedit-KeywordsList: _\n"
|
||||
"X-Poedit-SearchPath-0: src\n"
|
||||
"X-Poedit-SearchPath-1: include\n"
|
||||
"X-Poedit-SourceCharset: UTF-8\n"
|
||||
|
||||
#: src/valnet.cpp:93
|
||||
#, c-format
|
||||
msgid "Invalid character in host name found: %c"
|
||||
msgstr ""
|
||||
|
||||
#: src/valnet.cpp:93
|
||||
msgid "Validation conflict"
|
||||
msgstr ""
|
||||
|
||||
#: include/wxex/appbar.h:1036
|
||||
msgid ""
|
||||
"There is already an auto hidden bar on this edge.\n"
|
||||
"Only one auto hidden bar is allowed on each edge.\n"
|
||||
"Auto-hide feature is now off."
|
||||
msgstr ""
|
||||
|
||||
#: include/wxex/appbar.h:1036
|
||||
msgid "Warning"
|
||||
msgstr ""
|
||||
39
locale/is_IS.po
Normal file
39
locale/is_IS.po
Normal file
@@ -0,0 +1,39 @@
|
||||
#
|
||||
#, fuzzy
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: wxExtend\n"
|
||||
"POT-Creation-Date: 2016-11-04 14:10+0100\n"
|
||||
"PO-Revision-Date: 2016-02-06 09:04+0100\n"
|
||||
"Language-Team: Icelandic (https://www.transifex.com/eduroam_devel/teams/11799/is/)\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Language: is\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n % 10 != 1 || n % 100 == 11);\n"
|
||||
"X-Generator: Poedit 1.8.10\n"
|
||||
"X-Poedit-Basepath: ..\n"
|
||||
"X-Poedit-KeywordsList: _\n"
|
||||
"X-Poedit-SearchPath-0: src\n"
|
||||
"X-Poedit-SearchPath-1: include\n"
|
||||
"X-Poedit-SourceCharset: UTF-8\n"
|
||||
|
||||
#: src/valnet.cpp:93
|
||||
#, c-format
|
||||
msgid "Invalid character in host name found: %c"
|
||||
msgstr ""
|
||||
|
||||
#: src/valnet.cpp:93
|
||||
msgid "Validation conflict"
|
||||
msgstr ""
|
||||
|
||||
#: include/wxex/appbar.h:1036
|
||||
msgid ""
|
||||
"There is already an auto hidden bar on this edge.\n"
|
||||
"Only one auto hidden bar is allowed on each edge.\n"
|
||||
"Auto-hide feature is now off."
|
||||
msgstr ""
|
||||
|
||||
#: include/wxex/appbar.h:1036
|
||||
msgid "Warning"
|
||||
msgstr ""
|
||||
43
locale/it_IT.po
Normal file
43
locale/it_IT.po
Normal file
@@ -0,0 +1,43 @@
|
||||
#
|
||||
#, fuzzy
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: wxExtend\n"
|
||||
"POT-Creation-Date: 2016-11-04 14:10+0100\n"
|
||||
"PO-Revision-Date: 2016-02-06 09:04+0100\n"
|
||||
"Last-Translator: Nunzio Napolitano <nunzio.napolitano@uniparthenope.it>, 2017\n"
|
||||
"Language-Team: Italian (Italy) (https://www.transifex.com/eduroam_devel/teams/11799/it_IT/)\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Language: it_IT\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
||||
"X-Generator: Poedit 1.8.10\n"
|
||||
"X-Poedit-Basepath: ..\n"
|
||||
"X-Poedit-KeywordsList: _\n"
|
||||
"X-Poedit-SearchPath-0: src\n"
|
||||
"X-Poedit-SearchPath-1: include\n"
|
||||
"X-Poedit-SourceCharset: UTF-8\n"
|
||||
|
||||
#: src/valnet.cpp:93
|
||||
#, c-format
|
||||
msgid "Invalid character in host name found: %c"
|
||||
msgstr "Trovato carattere non valido nel nome host: %c"
|
||||
|
||||
#: src/valnet.cpp:93
|
||||
msgid "Validation conflict"
|
||||
msgstr "Conflitto durante la validazione"
|
||||
|
||||
#: include/wxex/appbar.h:1036
|
||||
msgid ""
|
||||
"There is already an auto hidden bar on this edge.\n"
|
||||
"Only one auto hidden bar is allowed on each edge.\n"
|
||||
"Auto-hide feature is now off."
|
||||
msgstr ""
|
||||
"In questo lato c'è già una barra che si nasconde.\n"
|
||||
"E' ammessa solo una barra che si nasconde per lato.\n"
|
||||
"La funzionalità di nascondersi è stata spenta"
|
||||
|
||||
#: include/wxex/appbar.h:1036
|
||||
msgid "Warning"
|
||||
msgstr "Attenzione"
|
||||
39
locale/ko_KR.po
Normal file
39
locale/ko_KR.po
Normal file
@@ -0,0 +1,39 @@
|
||||
#
|
||||
#, fuzzy
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: wxExtend\n"
|
||||
"POT-Creation-Date: 2016-10-07 12:59+0200\n"
|
||||
"PO-Revision-Date: 2016-02-06 09:04+0100\n"
|
||||
"Language-Team: Korean (Korea) (https://www.transifex.com/eduroam_devel/teams/11799/ko_KR/)\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Language: ko_KR\n"
|
||||
"Plural-Forms: nplurals=1; plural=0;\n"
|
||||
"X-Generator: Poedit 1.8.9\n"
|
||||
"X-Poedit-Basepath: ..\n"
|
||||
"X-Poedit-KeywordsList: _\n"
|
||||
"X-Poedit-SearchPath-0: src\n"
|
||||
"X-Poedit-SearchPath-1: include\n"
|
||||
"X-Poedit-SourceCharset: UTF-8\n"
|
||||
|
||||
#: src/valnet.cpp:99
|
||||
#, c-format
|
||||
msgid "Invalid character in host name found: %c"
|
||||
msgstr ""
|
||||
|
||||
#: src/valnet.cpp:99
|
||||
msgid "Validation conflict"
|
||||
msgstr ""
|
||||
|
||||
#: include/wxex/appbar.h:981
|
||||
msgid ""
|
||||
"There is already an auto hidden bar on this edge.\n"
|
||||
"Only one auto hidden bar is allowed on each edge.\n"
|
||||
"Auto-hide feature is now off."
|
||||
msgstr ""
|
||||
|
||||
#: include/wxex/appbar.h:981
|
||||
msgid "Warning"
|
||||
msgstr ""
|
||||
40
locale/lt_LT.po
Normal file
40
locale/lt_LT.po
Normal file
@@ -0,0 +1,40 @@
|
||||
#
|
||||
#, fuzzy
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: wxExtend\n"
|
||||
"POT-Creation-Date: 2016-11-04 14:10+0100\n"
|
||||
"PO-Revision-Date: 2016-02-06 09:04+0100\n"
|
||||
"Last-Translator: Simon Rozman <simon@rozman.si>, 2016\n"
|
||||
"Language-Team: Lithuanian (https://www.transifex.com/eduroam_devel/teams/11799/lt/)\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Language: lt\n"
|
||||
"Plural-Forms: nplurals=4; plural=(n % 10 == 1 && (n % 100 > 19 || n % 100 < 11) ? 0 : (n % 10 >= 2 && n % 10 <=9) && (n % 100 > 19 || n % 100 < 11) ? 1 : n % 1 != 0 ? 2: 3);\n"
|
||||
"X-Generator: Poedit 1.8.10\n"
|
||||
"X-Poedit-Basepath: ..\n"
|
||||
"X-Poedit-KeywordsList: _\n"
|
||||
"X-Poedit-SearchPath-0: src\n"
|
||||
"X-Poedit-SearchPath-1: include\n"
|
||||
"X-Poedit-SourceCharset: UTF-8\n"
|
||||
|
||||
#: src/valnet.cpp:93
|
||||
#, c-format
|
||||
msgid "Invalid character in host name found: %c"
|
||||
msgstr "Kompiuterio varde aptiktas netinkamas simbolis: %c"
|
||||
|
||||
#: src/valnet.cpp:93
|
||||
msgid "Validation conflict"
|
||||
msgstr "Patikra nesėkminga"
|
||||
|
||||
#: include/wxex/appbar.h:1036
|
||||
msgid ""
|
||||
"There is already an auto hidden bar on this edge.\n"
|
||||
"Only one auto hidden bar is allowed on each edge.\n"
|
||||
"Auto-hide feature is now off."
|
||||
msgstr ""
|
||||
|
||||
#: include/wxex/appbar.h:1036
|
||||
msgid "Warning"
|
||||
msgstr "Įspėjimas"
|
||||
43
locale/nb_NO.po
Normal file
43
locale/nb_NO.po
Normal file
@@ -0,0 +1,43 @@
|
||||
#
|
||||
#, fuzzy
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: wxExtend\n"
|
||||
"POT-Creation-Date: 2016-11-04 14:10+0100\n"
|
||||
"PO-Revision-Date: 2016-02-06 09:04+0100\n"
|
||||
"Last-Translator: Tom Ivar Myren <tom.myren@uninett.no>, 2016\n"
|
||||
"Language-Team: Norwegian Bokmål (https://www.transifex.com/eduroam_devel/teams/11799/nb/)\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Language: nb\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
||||
"X-Generator: Poedit 1.8.10\n"
|
||||
"X-Poedit-Basepath: ..\n"
|
||||
"X-Poedit-KeywordsList: _\n"
|
||||
"X-Poedit-SearchPath-0: src\n"
|
||||
"X-Poedit-SearchPath-1: include\n"
|
||||
"X-Poedit-SourceCharset: UTF-8\n"
|
||||
|
||||
#: src/valnet.cpp:93
|
||||
#, c-format
|
||||
msgid "Invalid character in host name found: %c"
|
||||
msgstr "Ugyldig tegn funnet i navn: %c"
|
||||
|
||||
#: src/valnet.cpp:93
|
||||
msgid "Validation conflict"
|
||||
msgstr "Valideringskonflikt"
|
||||
|
||||
#: include/wxex/appbar.h:1036
|
||||
msgid ""
|
||||
"There is already an auto hidden bar on this edge.\n"
|
||||
"Only one auto hidden bar is allowed on each edge.\n"
|
||||
"Auto-hide feature is now off."
|
||||
msgstr ""
|
||||
"There is already an auto hidden bar on this edge.\n"
|
||||
"Only one auto hidden bar is allowed on each edge.\n"
|
||||
"Auto-hide feature is now off."
|
||||
|
||||
#: include/wxex/appbar.h:1036
|
||||
msgid "Warning"
|
||||
msgstr "Advarsel"
|
||||
39
locale/nl_NL.po
Normal file
39
locale/nl_NL.po
Normal file
@@ -0,0 +1,39 @@
|
||||
#
|
||||
#, fuzzy
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: wxExtend\n"
|
||||
"POT-Creation-Date: 2016-11-04 14:10+0100\n"
|
||||
"PO-Revision-Date: 2016-02-06 09:04+0100\n"
|
||||
"Language-Team: Dutch (https://www.transifex.com/eduroam_devel/teams/11799/nl/)\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Language: nl\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
||||
"X-Generator: Poedit 1.8.10\n"
|
||||
"X-Poedit-Basepath: ..\n"
|
||||
"X-Poedit-KeywordsList: _\n"
|
||||
"X-Poedit-SearchPath-0: src\n"
|
||||
"X-Poedit-SearchPath-1: include\n"
|
||||
"X-Poedit-SourceCharset: UTF-8\n"
|
||||
|
||||
#: src/valnet.cpp:93
|
||||
#, c-format
|
||||
msgid "Invalid character in host name found: %c"
|
||||
msgstr ""
|
||||
|
||||
#: src/valnet.cpp:93
|
||||
msgid "Validation conflict"
|
||||
msgstr ""
|
||||
|
||||
#: include/wxex/appbar.h:1036
|
||||
msgid ""
|
||||
"There is already an auto hidden bar on this edge.\n"
|
||||
"Only one auto hidden bar is allowed on each edge.\n"
|
||||
"Auto-hide feature is now off."
|
||||
msgstr ""
|
||||
|
||||
#: include/wxex/appbar.h:1036
|
||||
msgid "Warning"
|
||||
msgstr ""
|
||||
43
locale/pl_PL.po
Normal file
43
locale/pl_PL.po
Normal file
@@ -0,0 +1,43 @@
|
||||
#
|
||||
#, fuzzy
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: wxExtend\n"
|
||||
"POT-Creation-Date: 2016-11-04 14:10+0100\n"
|
||||
"PO-Revision-Date: 2016-02-06 09:04+0100\n"
|
||||
"Last-Translator: Tomasz Wolniewicz <tw2529@gmail.com>, 2016\n"
|
||||
"Language-Team: Polish (Poland) (https://www.transifex.com/eduroam_devel/teams/11799/pl_PL/)\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Language: pl_PL\n"
|
||||
"Plural-Forms: nplurals=4; plural=(n==1 ? 0 : (n%10>=2 && n%10<=4) && (n%100<12 || n%100>14) ? 1 : n!=1 && (n%10>=0 && n%10<=1) || (n%10>=5 && n%10<=9) || (n%100>=12 && n%100<=14) ? 2 : 3);\n"
|
||||
"X-Generator: Poedit 1.8.10\n"
|
||||
"X-Poedit-Basepath: ..\n"
|
||||
"X-Poedit-KeywordsList: _\n"
|
||||
"X-Poedit-SearchPath-0: src\n"
|
||||
"X-Poedit-SearchPath-1: include\n"
|
||||
"X-Poedit-SourceCharset: UTF-8\n"
|
||||
|
||||
#: src/valnet.cpp:93
|
||||
#, c-format
|
||||
msgid "Invalid character in host name found: %c"
|
||||
msgstr "W nazwie hosta znaleziono nieprawidłowy znak: %c"
|
||||
|
||||
#: src/valnet.cpp:93
|
||||
msgid "Validation conflict"
|
||||
msgstr "Błąd walidacji danych"
|
||||
|
||||
#: include/wxex/appbar.h:1036
|
||||
msgid ""
|
||||
"There is already an auto hidden bar on this edge.\n"
|
||||
"Only one auto hidden bar is allowed on each edge.\n"
|
||||
"Auto-hide feature is now off."
|
||||
msgstr ""
|
||||
"Na tej krawędzi jest już automatycznie ukrywany pasek.\n"
|
||||
"Na każdej krawędzi może być tylko jeden ukrywany pasek.\n"
|
||||
"Opcja automatycznego wykrywanie jest wyłączona."
|
||||
|
||||
#: include/wxex/appbar.h:1036
|
||||
msgid "Warning"
|
||||
msgstr "Ostrzeżenie"
|
||||
40
locale/pt_PT.po
Normal file
40
locale/pt_PT.po
Normal file
@@ -0,0 +1,40 @@
|
||||
#
|
||||
#, fuzzy
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: wxExtend\n"
|
||||
"POT-Creation-Date: 2016-11-04 14:10+0100\n"
|
||||
"PO-Revision-Date: 2016-02-06 09:04+0100\n"
|
||||
"Last-Translator: Pedro Simões <psimoes@fccn.pt>, 2017\n"
|
||||
"Language-Team: Portuguese (Portugal) (https://www.transifex.com/eduroam_devel/teams/11799/pt_PT/)\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Language: pt_PT\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
||||
"X-Generator: Poedit 1.8.10\n"
|
||||
"X-Poedit-Basepath: ..\n"
|
||||
"X-Poedit-KeywordsList: _\n"
|
||||
"X-Poedit-SearchPath-0: src\n"
|
||||
"X-Poedit-SearchPath-1: include\n"
|
||||
"X-Poedit-SourceCharset: UTF-8\n"
|
||||
|
||||
#: src/valnet.cpp:93
|
||||
#, c-format
|
||||
msgid "Invalid character in host name found: %c"
|
||||
msgstr ""
|
||||
|
||||
#: src/valnet.cpp:93
|
||||
msgid "Validation conflict"
|
||||
msgstr "Conflito de validação"
|
||||
|
||||
#: include/wxex/appbar.h:1036
|
||||
msgid ""
|
||||
"There is already an auto hidden bar on this edge.\n"
|
||||
"Only one auto hidden bar is allowed on each edge.\n"
|
||||
"Auto-hide feature is now off."
|
||||
msgstr ""
|
||||
|
||||
#: include/wxex/appbar.h:1036
|
||||
msgid "Warning"
|
||||
msgstr "Alerta"
|
||||
43
locale/ru_RU.po
Normal file
43
locale/ru_RU.po
Normal file
@@ -0,0 +1,43 @@
|
||||
#
|
||||
#, fuzzy
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: wxExtend\n"
|
||||
"POT-Creation-Date: 2016-11-04 14:10+0100\n"
|
||||
"PO-Revision-Date: 2016-02-06 09:04+0100\n"
|
||||
"Last-Translator: Simon Rozman <simon@rozman.si>, 2016\n"
|
||||
"Language-Team: Russian (Russia) (https://www.transifex.com/eduroam_devel/teams/11799/ru_RU/)\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Language: ru_RU\n"
|
||||
"Plural-Forms: nplurals=4; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<12 || n%100>14) ? 1 : n%10==0 || (n%10>=5 && n%10<=9) || (n%100>=11 && n%100<=14)? 2 : 3);\n"
|
||||
"X-Generator: Poedit 1.8.10\n"
|
||||
"X-Poedit-Basepath: ..\n"
|
||||
"X-Poedit-KeywordsList: _\n"
|
||||
"X-Poedit-SearchPath-0: src\n"
|
||||
"X-Poedit-SearchPath-1: include\n"
|
||||
"X-Poedit-SourceCharset: UTF-8\n"
|
||||
|
||||
#: src/valnet.cpp:93
|
||||
#, c-format
|
||||
msgid "Invalid character in host name found: %c"
|
||||
msgstr ""
|
||||
|
||||
#: src/valnet.cpp:93
|
||||
msgid "Validation conflict"
|
||||
msgstr ""
|
||||
|
||||
#: include/wxex/appbar.h:1036
|
||||
msgid ""
|
||||
"There is already an auto hidden bar on this edge.\n"
|
||||
"Only one auto hidden bar is allowed on each edge.\n"
|
||||
"Auto-hide feature is now off."
|
||||
msgstr ""
|
||||
"На этом месте уже автоматически скрыта панель.\n"
|
||||
"На каждом месте может находится только одна автоматически скрыта панель.\n"
|
||||
"Автоматическое скрытие теперь выключен."
|
||||
|
||||
#: include/wxex/appbar.h:1036
|
||||
msgid "Warning"
|
||||
msgstr "Предупреждение"
|
||||
39
locale/sk_SK.po
Normal file
39
locale/sk_SK.po
Normal file
@@ -0,0 +1,39 @@
|
||||
#
|
||||
#, fuzzy
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: wxExtend\n"
|
||||
"POT-Creation-Date: 2016-11-04 14:10+0100\n"
|
||||
"PO-Revision-Date: 2016-02-06 09:04+0100\n"
|
||||
"Language-Team: Slovak (Slovakia) (https://www.transifex.com/eduroam_devel/teams/11799/sk_SK/)\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Language: sk_SK\n"
|
||||
"Plural-Forms: nplurals=4; plural=(n % 1 == 0 && n == 1 ? 0 : n % 1 == 0 && n >= 2 && n <= 4 ? 1 : n % 1 != 0 ? 2: 3);\n"
|
||||
"X-Generator: Poedit 1.8.10\n"
|
||||
"X-Poedit-Basepath: ..\n"
|
||||
"X-Poedit-KeywordsList: _\n"
|
||||
"X-Poedit-SearchPath-0: src\n"
|
||||
"X-Poedit-SearchPath-1: include\n"
|
||||
"X-Poedit-SourceCharset: UTF-8\n"
|
||||
|
||||
#: src/valnet.cpp:93
|
||||
#, c-format
|
||||
msgid "Invalid character in host name found: %c"
|
||||
msgstr ""
|
||||
|
||||
#: src/valnet.cpp:93
|
||||
msgid "Validation conflict"
|
||||
msgstr ""
|
||||
|
||||
#: include/wxex/appbar.h:1036
|
||||
msgid ""
|
||||
"There is already an auto hidden bar on this edge.\n"
|
||||
"Only one auto hidden bar is allowed on each edge.\n"
|
||||
"Auto-hide feature is now off."
|
||||
msgstr ""
|
||||
|
||||
#: include/wxex/appbar.h:1036
|
||||
msgid "Warning"
|
||||
msgstr ""
|
||||
@@ -1,24 +1,34 @@
|
||||
#
|
||||
#, fuzzy
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: wxExtend\n"
|
||||
"POT-Creation-Date: 2016-03-14 17:16+0100\n"
|
||||
"PO-Revision-Date: 2016-03-14 17:20+0100\n"
|
||||
"Last-Translator: Simon Rozman <simon.rozman@amebis.si>\n"
|
||||
"Language-Team: Amebis, d. o. o., Kamnik <info@amebis.si>\n"
|
||||
"Language: sl_SI\n"
|
||||
"POT-Creation-Date: 2016-11-04 14:10+0100\n"
|
||||
"PO-Revision-Date: 2016-02-06 09:04+0100\n"
|
||||
"Last-Translator: Simon Rozman <simon@rozman.si>, 2016\n"
|
||||
"Language-Team: Slovenian (Slovenia) (https://www.transifex.com/eduroam_devel/teams/11799/sl_SI/)\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Generator: Poedit 1.8.7\n"
|
||||
"Language: sl_SI\n"
|
||||
"Plural-Forms: nplurals=4; plural=(n%100==1 ? 0 : n%100==2 ? 1 : n%100==3 || n%100==4 ? 2 : 3);\n"
|
||||
"X-Generator: Poedit 1.8.10\n"
|
||||
"X-Poedit-Basepath: ..\n"
|
||||
"Plural-Forms: nplurals=4; plural=(n%100==1 ? 0 : n%100==2 ? 1 : n%100==3 || n"
|
||||
"%100==4 ? 2 : 3);\n"
|
||||
"X-Poedit-SourceCharset: UTF-8\n"
|
||||
"X-Poedit-KeywordsList: _\n"
|
||||
"X-Poedit-SearchPath-0: src\n"
|
||||
"X-Poedit-SearchPath-1: include\n"
|
||||
"X-Poedit-SourceCharset: UTF-8\n"
|
||||
|
||||
#: include/wxex/appbar.h:981
|
||||
#: src/valnet.cpp:93
|
||||
#, c-format
|
||||
msgid "Invalid character in host name found: %c"
|
||||
msgstr "Napačen znak v imenu gostitelja: %c"
|
||||
|
||||
#: src/valnet.cpp:93
|
||||
msgid "Validation conflict"
|
||||
msgstr "Nesoglasje pri preverjanju"
|
||||
|
||||
#: include/wxex/appbar.h:1036
|
||||
msgid ""
|
||||
"There is already an auto hidden bar on this edge.\n"
|
||||
"Only one auto hidden bar is allowed on each edge.\n"
|
||||
@@ -28,6 +38,6 @@ msgstr ""
|
||||
"Na vsakem robu je lahko samo ena samodejno skrita pasica.\n"
|
||||
"Samodejno skrivanje je zdaj izklopljeno."
|
||||
|
||||
#: include/wxex/appbar.h:981
|
||||
#: include/wxex/appbar.h:1036
|
||||
msgid "Warning"
|
||||
msgstr "Opozorilo"
|
||||
|
||||
43
locale/sr_RS.po
Normal file
43
locale/sr_RS.po
Normal file
@@ -0,0 +1,43 @@
|
||||
#
|
||||
#, fuzzy
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: wxExtend\n"
|
||||
"POT-Creation-Date: 2016-11-04 14:10+0100\n"
|
||||
"PO-Revision-Date: 2016-02-06 09:04+0100\n"
|
||||
"Last-Translator: Marko Eremija <marko.eremija@amres.ac.rs>, 2016\n"
|
||||
"Language-Team: Serbian (https://www.transifex.com/eduroam_devel/teams/11799/sr/)\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Language: sr\n"
|
||||
"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
|
||||
"X-Generator: Poedit 1.8.10\n"
|
||||
"X-Poedit-Basepath: ..\n"
|
||||
"X-Poedit-KeywordsList: _\n"
|
||||
"X-Poedit-SearchPath-0: src\n"
|
||||
"X-Poedit-SearchPath-1: include\n"
|
||||
"X-Poedit-SourceCharset: UTF-8\n"
|
||||
|
||||
#: src/valnet.cpp:93
|
||||
#, c-format
|
||||
msgid "Invalid character in host name found: %c"
|
||||
msgstr "Neispravan karakter je pronađen u DNS imenu: %c"
|
||||
|
||||
#: src/valnet.cpp:93
|
||||
msgid "Validation conflict"
|
||||
msgstr "Konflikt prilikom validacije"
|
||||
|
||||
#: include/wxex/appbar.h:1036
|
||||
msgid ""
|
||||
"There is already an auto hidden bar on this edge.\n"
|
||||
"Only one auto hidden bar is allowed on each edge.\n"
|
||||
"Auto-hide feature is now off."
|
||||
msgstr ""
|
||||
"Na ovoj ivici već postoji sakriven klizač.\n"
|
||||
"Dozvoljen je samo po jedan sakriven klizač na svakoj ivici.\n"
|
||||
"Opcija za automatsko sakrivanje je isključena. "
|
||||
|
||||
#: include/wxex/appbar.h:1036
|
||||
msgid "Warning"
|
||||
msgstr "Upozorenje"
|
||||
39
locale/sv_SE.po
Normal file
39
locale/sv_SE.po
Normal file
@@ -0,0 +1,39 @@
|
||||
#
|
||||
#, fuzzy
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: wxExtend\n"
|
||||
"POT-Creation-Date: 2016-11-04 14:10+0100\n"
|
||||
"PO-Revision-Date: 2016-02-06 09:04+0100\n"
|
||||
"Language-Team: Swedish (https://www.transifex.com/eduroam_devel/teams/11799/sv/)\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Language: sv\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
||||
"X-Generator: Poedit 1.8.10\n"
|
||||
"X-Poedit-Basepath: ..\n"
|
||||
"X-Poedit-KeywordsList: _\n"
|
||||
"X-Poedit-SearchPath-0: src\n"
|
||||
"X-Poedit-SearchPath-1: include\n"
|
||||
"X-Poedit-SourceCharset: UTF-8\n"
|
||||
|
||||
#: src/valnet.cpp:93
|
||||
#, c-format
|
||||
msgid "Invalid character in host name found: %c"
|
||||
msgstr ""
|
||||
|
||||
#: src/valnet.cpp:93
|
||||
msgid "Validation conflict"
|
||||
msgstr ""
|
||||
|
||||
#: include/wxex/appbar.h:1036
|
||||
msgid ""
|
||||
"There is already an auto hidden bar on this edge.\n"
|
||||
"Only one auto hidden bar is allowed on each edge.\n"
|
||||
"Auto-hide feature is now off."
|
||||
msgstr ""
|
||||
|
||||
#: include/wxex/appbar.h:1036
|
||||
msgid "Warning"
|
||||
msgstr ""
|
||||
40
locale/tr_TR.po
Normal file
40
locale/tr_TR.po
Normal file
@@ -0,0 +1,40 @@
|
||||
#
|
||||
#, fuzzy
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: wxExtend\n"
|
||||
"POT-Creation-Date: 2016-11-04 14:10+0100\n"
|
||||
"PO-Revision-Date: 2016-02-06 09:04+0100\n"
|
||||
"Last-Translator: Gokhan Eryol <gokhaneryol@gmail.com>, 2017\n"
|
||||
"Language-Team: Turkish (https://www.transifex.com/eduroam_devel/teams/11799/tr/)\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Language: tr\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n > 1);\n"
|
||||
"X-Generator: Poedit 1.8.10\n"
|
||||
"X-Poedit-Basepath: ..\n"
|
||||
"X-Poedit-KeywordsList: _\n"
|
||||
"X-Poedit-SearchPath-0: src\n"
|
||||
"X-Poedit-SearchPath-1: include\n"
|
||||
"X-Poedit-SourceCharset: UTF-8\n"
|
||||
|
||||
#: src/valnet.cpp:93
|
||||
#, c-format
|
||||
msgid "Invalid character in host name found: %c"
|
||||
msgstr "Alan adında geçersiz karakter bulundu: %c"
|
||||
|
||||
#: src/valnet.cpp:93
|
||||
msgid "Validation conflict"
|
||||
msgstr "Doğrulama çakışması"
|
||||
|
||||
#: include/wxex/appbar.h:1036
|
||||
msgid ""
|
||||
"There is already an auto hidden bar on this edge.\n"
|
||||
"Only one auto hidden bar is allowed on each edge.\n"
|
||||
"Auto-hide feature is now off."
|
||||
msgstr ""
|
||||
|
||||
#: include/wxex/appbar.h:1036
|
||||
msgid "Warning"
|
||||
msgstr "Uyarı"
|
||||
39
locale/vi_VN.po
Normal file
39
locale/vi_VN.po
Normal file
@@ -0,0 +1,39 @@
|
||||
#
|
||||
#, fuzzy
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: wxExtend\n"
|
||||
"POT-Creation-Date: 2016-11-04 14:10+0100\n"
|
||||
"PO-Revision-Date: 2016-02-06 09:04+0100\n"
|
||||
"Language-Team: Vietnamese (https://www.transifex.com/eduroam_devel/teams/11799/vi/)\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Language: vi\n"
|
||||
"Plural-Forms: nplurals=1; plural=0;\n"
|
||||
"X-Generator: Poedit 1.8.10\n"
|
||||
"X-Poedit-Basepath: ..\n"
|
||||
"X-Poedit-KeywordsList: _\n"
|
||||
"X-Poedit-SearchPath-0: src\n"
|
||||
"X-Poedit-SearchPath-1: include\n"
|
||||
"X-Poedit-SourceCharset: UTF-8\n"
|
||||
|
||||
#: src/valnet.cpp:93
|
||||
#, c-format
|
||||
msgid "Invalid character in host name found: %c"
|
||||
msgstr ""
|
||||
|
||||
#: src/valnet.cpp:93
|
||||
msgid "Validation conflict"
|
||||
msgstr ""
|
||||
|
||||
#: include/wxex/appbar.h:1036
|
||||
msgid ""
|
||||
"There is already an auto hidden bar on this edge.\n"
|
||||
"Only one auto hidden bar is allowed on each edge.\n"
|
||||
"Auto-hide feature is now off."
|
||||
msgstr ""
|
||||
|
||||
#: include/wxex/appbar.h:1036
|
||||
msgid "Warning"
|
||||
msgstr ""
|
||||
@@ -1,7 +1,8 @@
|
||||
#, fuzzy
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: wxExtend\n"
|
||||
"POT-Creation-Date: 2016-02-06 09:04+0100\n"
|
||||
"POT-Creation-Date: 2016-11-04 14:10+0100\n"
|
||||
"PO-Revision-Date: 2016-02-06 09:04+0100\n"
|
||||
"Last-Translator: Simon Rozman <simon.rozman@amebis.si>\n"
|
||||
"Language-Team: Amebis, d. o. o., Kamnik <info@amebis.si>\n"
|
||||
@@ -9,7 +10,7 @@ msgstr ""
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Generator: Poedit 1.8.6\n"
|
||||
"X-Generator: Poedit 1.8.10\n"
|
||||
"X-Poedit-Basepath: ..\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
||||
"X-Poedit-SourceCharset: UTF-8\n"
|
||||
@@ -17,13 +18,22 @@ msgstr ""
|
||||
"X-Poedit-SearchPath-0: src\n"
|
||||
"X-Poedit-SearchPath-1: include\n"
|
||||
|
||||
#: include/wxex/appbar.h:981
|
||||
#: src/valnet.cpp:93
|
||||
#, c-format
|
||||
msgid "Invalid character in host name found: %c"
|
||||
msgstr ""
|
||||
|
||||
#: src/valnet.cpp:93
|
||||
msgid "Validation conflict"
|
||||
msgstr ""
|
||||
|
||||
#: include/wxex/appbar.h:1036
|
||||
msgid ""
|
||||
"There is already an auto hidden bar on this edge.\n"
|
||||
"Only one auto hidden bar is allowed on each edge.\n"
|
||||
"Auto-hide feature is now off."
|
||||
msgstr ""
|
||||
|
||||
#: include/wxex/appbar.h:981
|
||||
#: include/wxex/appbar.h:1036
|
||||
msgid "Warning"
|
||||
msgstr ""
|
||||
|
||||
BIN
res/wxExtend.rc
BIN
res/wxExtend.rc
Binary file not shown.
@@ -1,5 +1,6 @@
|
||||
/*
|
||||
Copyright 2015-2016 Amebis
|
||||
/*
|
||||
Copyright 2015-2017 Amebis
|
||||
Copyright 2016 GÉANT
|
||||
Based on code written by Jeffrey Richter.
|
||||
|
||||
This file is part of wxExtend.
|
||||
@@ -27,13 +28,11 @@
|
||||
|
||||
wxAppBarFrame::wxAppBarFrame()
|
||||
{
|
||||
Init();
|
||||
}
|
||||
|
||||
|
||||
wxAppBarFrame::wxAppBarFrame(wxWindow *parent, wxWindowID id, const wxString& title, wxAppBarState state, int flags, const wxPoint& pos, const wxSize& size, long style, const wxString& name)
|
||||
{
|
||||
Init();
|
||||
Create(parent, id, title, state, flags, pos, size, style, name);
|
||||
}
|
||||
|
||||
@@ -56,13 +55,11 @@ bool wxAppBarFrame::Create(wxWindow *parent, wxWindowID id, const wxString& titl
|
||||
|
||||
wxAppBarDialog::wxAppBarDialog()
|
||||
{
|
||||
Init();
|
||||
}
|
||||
|
||||
|
||||
wxAppBarDialog::wxAppBarDialog(wxWindow *parent, wxWindowID id, const wxString& title, wxAppBarState state, int flags, const wxPoint& pos, const wxSize& size, long style, const wxString& name)
|
||||
{
|
||||
Init();
|
||||
Create(parent, id, title, state, flags, pos, size, style, name);
|
||||
}
|
||||
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
/*
|
||||
Copyright 2015-2016 Amebis
|
||||
/*
|
||||
Copyright 2015-2017 Amebis
|
||||
Copyright 2016 GÉANT
|
||||
|
||||
This file is part of wxExtend.
|
||||
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
/*
|
||||
Copyright 2015-2016 Amebis
|
||||
/*
|
||||
Copyright 2015-2017 Amebis
|
||||
Copyright 2016 GÉANT
|
||||
|
||||
This file is part of wxExtend.
|
||||
|
||||
|
||||
98
src/framemanager.cpp
Normal file
98
src/framemanager.cpp
Normal file
@@ -0,0 +1,98 @@
|
||||
/*
|
||||
Copyright 2015-2017 Amebis
|
||||
Copyright 2016 GÉANT
|
||||
|
||||
This file is part of wxExtend.
|
||||
|
||||
wxExtend 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 3 of the License, or
|
||||
(at your option) any later version.
|
||||
|
||||
wxExtend 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 wxExtend. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
#include "stdafx.h"
|
||||
|
||||
|
||||
bool WXEXTEND_API wxAuiManagerUpdatePerspectiveCaptions(wxAuiManager& mgr, wxString& perspective)
|
||||
{
|
||||
wxString input = perspective;
|
||||
wxString part;
|
||||
|
||||
// check layout string version
|
||||
// 'layout1' = wxAUI 0.9.0 - wxAUI 0.9.2
|
||||
// 'layout2' = wxAUI 0.9.2 (wxWidgets 2.8)
|
||||
part = input.BeforeFirst(wxT('|'));
|
||||
input = input.AfterFirst(wxT('|'));
|
||||
part.Trim(true);
|
||||
part.Trim(false);
|
||||
if (part != wxT("layout2"))
|
||||
return false;
|
||||
|
||||
wxString result;
|
||||
result.Alloc(500);
|
||||
result = wxT("layout2|");
|
||||
|
||||
// replace escaped characters so we can
|
||||
// split up the string easily
|
||||
input.Replace(wxT("\\|"), wxT("\a"));
|
||||
input.Replace(wxT("\\;"), wxT("\b"));
|
||||
|
||||
while (1)
|
||||
{
|
||||
wxString pane_part = input.BeforeFirst(wxT('|'));
|
||||
input = input.AfterFirst(wxT('|'));
|
||||
pane_part.Trim(true);
|
||||
|
||||
// if the string is empty, we're done parsing
|
||||
if (pane_part.empty())
|
||||
break;
|
||||
|
||||
// Undo our escaping
|
||||
pane_part.Replace(wxT("\a"), wxT("|"));
|
||||
pane_part.Replace(wxT("\b"), wxT(";"));
|
||||
|
||||
if (pane_part.Left(9) == wxT("dock_size"))
|
||||
{
|
||||
result += pane_part + wxT('|');
|
||||
continue;
|
||||
}
|
||||
|
||||
wxAuiPaneInfo pane;
|
||||
mgr.LoadPaneInfo(pane_part, pane);
|
||||
|
||||
wxAuiPaneInfo& p = mgr.GetPane(pane.name);
|
||||
if (!p.IsOk())
|
||||
{
|
||||
// the pane window couldn't be found
|
||||
// in the existing layout -- skip it
|
||||
continue;
|
||||
}
|
||||
|
||||
// Update caption.
|
||||
pane.caption = p.caption;
|
||||
|
||||
// Reset best/min/max sizes to allow resize on GUI changes across different versions.
|
||||
pane.best_size = p.best_size;
|
||||
pane.min_size = p.min_size;
|
||||
pane.max_size = p.max_size;
|
||||
|
||||
if ((pane.state & wxAuiPaneInfo::optionResizable) == 0) {
|
||||
// Reset floating size to allow resize on GUI changes across different versions for non-resizeable panes.
|
||||
pane.floating_size = p.floating_size;
|
||||
}
|
||||
|
||||
// Re-generate and append pane info.
|
||||
result += mgr.SavePaneInfo(pane) + wxT('|');
|
||||
}
|
||||
|
||||
perspective = result;
|
||||
return true;
|
||||
}
|
||||
11
src/hex.cpp
11
src/hex.cpp
@@ -1,5 +1,6 @@
|
||||
/*
|
||||
Copyright 2015-2016 Amebis
|
||||
/*
|
||||
Copyright 2015-2017 Amebis
|
||||
Copyright 2016 GÉANT
|
||||
|
||||
This file is part of wxExtend.
|
||||
|
||||
@@ -24,7 +25,7 @@ size_t WXEXTEND_API wxHexEncode(char *dst, size_t dstLen, const void *src_, size
|
||||
{
|
||||
wxCHECK_MSG( src_, wxCONV_FAILED, wxT("NULL input buffer") );
|
||||
|
||||
const unsigned char *src = static_cast<const unsigned char *>(src_);
|
||||
const unsigned char *src = reinterpret_cast<const unsigned char *>(src_);
|
||||
|
||||
static const char bhex[] = "0123456789ABCDEF";
|
||||
|
||||
@@ -50,7 +51,7 @@ size_t WXEXTEND_API wxHexDecode(void *dst_, size_t dstLen, const char *src, size
|
||||
{
|
||||
wxCHECK_MSG( src, wxCONV_FAILED, wxT("NULL input buffer") );
|
||||
|
||||
unsigned char *dst = static_cast<unsigned char *>(dst_);
|
||||
unsigned char *dst = reinterpret_cast<unsigned char *>(dst_);
|
||||
|
||||
size_t decLen = 0;
|
||||
|
||||
@@ -65,7 +66,7 @@ size_t WXEXTEND_API wxHexDecode(void *dst_, size_t dstLen, const char *src, size
|
||||
const char *p;
|
||||
for ( p = src; srcLen; p++, srcLen-- )
|
||||
{
|
||||
const unsigned char c = static_cast<unsigned char>(*p);
|
||||
const unsigned char c = *reinterpret_cast<const unsigned char*>(p);
|
||||
if ( '0' <= c && c <= '9' ) in = (in << 4) | (c - '0') , n++;
|
||||
else if ( 'A' <= c && c <= 'F' ) in = (in << 4) | (c - 'A' + 10), n++;
|
||||
else if ( 'a' <= c && c <= 'f' ) in = (in << 4) | (c - 'a' + 10), n++;
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
/*
|
||||
Copyright 2015-2016 Amebis
|
||||
/*
|
||||
Copyright 2015-2017 Amebis
|
||||
Copyright 2016 GÉANT
|
||||
|
||||
This file is part of wxExtend.
|
||||
|
||||
|
||||
11
src/stdafx.h
11
src/stdafx.h
@@ -1,5 +1,6 @@
|
||||
/*
|
||||
Copyright 2015-2016 Amebis
|
||||
/*
|
||||
Copyright 2015-2017 Amebis
|
||||
Copyright 2016 GÉANT
|
||||
|
||||
This file is part of wxExtend.
|
||||
|
||||
@@ -23,10 +24,16 @@
|
||||
// include the grand <wx/wx.h> at a cost of longer pre-compilation phase.
|
||||
#include <wx/wx.h>
|
||||
|
||||
#include "../include/wxex/aui/framemanager.h"
|
||||
|
||||
#include "../include/wxex/appbar.h"
|
||||
#include "../include/wxex/comutils.h"
|
||||
#include "../include/wxex/crypto.h"
|
||||
#include "../include/wxex/hex.h"
|
||||
#include "../include/wxex/object.h"
|
||||
#include "../include/wxex/url.h"
|
||||
#include "../include/wxex/valhex.h"
|
||||
#include "../include/wxex/valnet.h"
|
||||
#include "../include/wxex/xml.h"
|
||||
|
||||
#include "../include/wxex/common.h"
|
||||
|
||||
135
src/url.cpp
Normal file
135
src/url.cpp
Normal file
@@ -0,0 +1,135 @@
|
||||
/*
|
||||
Copyright 2015-2017 Amebis
|
||||
Copyright 2016 GÉANT
|
||||
|
||||
This file is part of wxExtend.
|
||||
|
||||
wxExtend 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 3 of the License, or
|
||||
(at your option) any later version.
|
||||
|
||||
wxExtend 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 wxExtend. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
#include "stdafx.h"
|
||||
|
||||
|
||||
size_t WXEXTEND_API wxURLEncode(char *dst, size_t dstLen, const char *src, size_t srcLen)
|
||||
{
|
||||
wxCHECK_MSG(src, wxCONV_FAILED, wxT("NULL input buffer"));
|
||||
|
||||
static const char bhex[] = "0123456789ABCDEF";
|
||||
|
||||
size_t encLen = 0;
|
||||
|
||||
for (size_t i = 0; i < srcLen && src[i]; i++) {
|
||||
if (wxURLIsProtected(src[i])) {
|
||||
encLen += 3;
|
||||
if ( dst )
|
||||
{
|
||||
if ( encLen > dstLen )
|
||||
return wxCONV_FAILED;
|
||||
|
||||
*dst++ = '%';
|
||||
*dst++ = bhex[((unsigned char)src[i]) >> 4];
|
||||
*dst++ = bhex[((unsigned char)src[i]) & 0x0f];
|
||||
}
|
||||
} else {
|
||||
encLen ++;
|
||||
if ( dst )
|
||||
{
|
||||
if ( encLen > dstLen )
|
||||
return wxCONV_FAILED;
|
||||
|
||||
*dst++ = src[i];
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// Zero terminate.
|
||||
if ( dst && encLen < dstLen )
|
||||
*dst++ = 0;
|
||||
|
||||
return encLen;
|
||||
}
|
||||
|
||||
|
||||
size_t WXEXTEND_API wxURLDecode(char *dst, size_t dstLen, const char *src, size_t srcLen)
|
||||
{
|
||||
wxCHECK_MSG(src, wxCONV_FAILED, wxT("NULL input buffer"));
|
||||
|
||||
static const char bhex[] = "0123456789ABCDEF";
|
||||
|
||||
size_t i, decLen = 0;
|
||||
|
||||
for (i = 0 ; i < srcLen && src[i];) {
|
||||
decLen ++;
|
||||
if (src[i] == '%') {
|
||||
// Decode % escaped hex value to character.
|
||||
char c = 0;
|
||||
size_t j = i + 1;
|
||||
for (size_t j_max = i + 3; j < j_max && j < srcLen; j++) {
|
||||
char x = src[j];
|
||||
c <<= 4;
|
||||
if ('0' <= x && x <= '9') c += x - '0';
|
||||
else if ('A' <= x && x <= 'F') c += x - 'A' + 10;
|
||||
else if ('a' <= x && x <= 'f') c += x - 'a' + 10;
|
||||
else break;
|
||||
}
|
||||
|
||||
if (c) {
|
||||
if ( dst )
|
||||
{
|
||||
if ( decLen > dstLen )
|
||||
return wxCONV_FAILED;
|
||||
|
||||
*dst++ = c;
|
||||
}
|
||||
|
||||
i = j;
|
||||
continue;
|
||||
}
|
||||
}
|
||||
|
||||
if ( dst )
|
||||
{
|
||||
if ( decLen > dstLen )
|
||||
return wxCONV_FAILED;
|
||||
|
||||
*dst++ = src[i];
|
||||
}
|
||||
i++;
|
||||
}
|
||||
|
||||
// Zero terminate.
|
||||
if ( dst && decLen < dstLen )
|
||||
*dst++ = 0;
|
||||
|
||||
return decLen;
|
||||
}
|
||||
|
||||
|
||||
wxMemoryBuffer WXEXTEND_API wxURLDecode(const char *src, size_t srcLen)
|
||||
{
|
||||
wxMemoryBuffer buf;
|
||||
wxCHECK_MSG( src, buf, wxT("NULL input buffer") );
|
||||
|
||||
if ( srcLen == wxNO_LEN )
|
||||
srcLen = strlen(src);
|
||||
|
||||
size_t len = wxURLDecodedSize(srcLen);
|
||||
len = wxURLDecode(reinterpret_cast<char*>(buf.GetWriteBuf(len)), len, src, srcLen);
|
||||
if ( len == wxCONV_FAILED )
|
||||
len = 0;
|
||||
|
||||
buf.SetDataLen(len);
|
||||
|
||||
return buf;
|
||||
}
|
||||
105
src/valhex.cpp
Normal file
105
src/valhex.cpp
Normal file
@@ -0,0 +1,105 @@
|
||||
/*
|
||||
Copyright 2015-2017 Amebis
|
||||
Copyright 2016 GÉANT
|
||||
|
||||
This file is part of wxExtend.
|
||||
|
||||
wxExtend 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 3 of the License, or
|
||||
(at your option) any later version.
|
||||
|
||||
wxExtend 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 wxExtend. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
#include "stdafx.h"
|
||||
|
||||
|
||||
//////////////////////////////////////////////////////////////////////////
|
||||
// wxHexValidatorBase
|
||||
//////////////////////////////////////////////////////////////////////////
|
||||
|
||||
wxHexValidatorBase::wxHexValidatorBase(int style) :
|
||||
m_width(0),
|
||||
wxIntegerValidatorBase(style)
|
||||
{
|
||||
}
|
||||
|
||||
|
||||
wxHexValidatorBase::wxHexValidatorBase(const wxHexValidatorBase& other) :
|
||||
m_width(other.m_width),
|
||||
wxIntegerValidatorBase(other)
|
||||
{
|
||||
}
|
||||
|
||||
|
||||
bool wxHexValidatorBase::IsMinusOk(const wxString& /*val*/, int /*pos*/) const
|
||||
{
|
||||
// Minus is never OK with hexadecimal numbers.
|
||||
return false;
|
||||
}
|
||||
|
||||
|
||||
bool wxHexValidatorBase::FromString(const wxString& s, long *value)
|
||||
{
|
||||
return s.ToLong(value, 16);
|
||||
}
|
||||
|
||||
|
||||
#ifdef wxHAS_LONG_LONG_T_DIFFERENT_FROM_LONG
|
||||
|
||||
bool wxHexValidatorBase::FromString(const wxString &s, wxLongLong_t *value)
|
||||
{
|
||||
return s.ToLongLong(value, 16);
|
||||
}
|
||||
|
||||
#endif // wxHAS_LONG_LONG_T_DIFFERENT_FROM_LONG
|
||||
|
||||
wxString wxHexValidatorBase::ToString(LongestValueType value) const
|
||||
{
|
||||
const wxStringCharType hexa = (HasFlag((wxNumValidatorStyle)wxNUM_VAL_HEX_LOWERCASE) ? wxT('a') : wxT('A')) - 0xa;
|
||||
unsigned int offset = sizeof(LongestValueType)*8 - 4, offset_s = m_width*4 - 4;
|
||||
wxULongLong_t m = ((wxULongLong_t)0xf) << offset;
|
||||
unsigned int x = 0;
|
||||
|
||||
// Skip leading zeros.
|
||||
while (m && !x && offset >= offset_s) {
|
||||
x = (unsigned int)((m & (wxULongLong_t)value) >> offset);
|
||||
m >>= 4, offset -= 4;
|
||||
}
|
||||
|
||||
// First digit.
|
||||
wxString str(1, (wxStringCharType)((x < 0xa ? wxT('0') : hexa) + x));
|
||||
|
||||
// Rest of the digits.
|
||||
while (m) {
|
||||
x = (unsigned int)((m & (wxULongLong_t)value) >> offset);
|
||||
m >>= 4, offset -= 4;
|
||||
str += (wxStringCharType)((x < 0xa ? wxT('0') : hexa) + x);
|
||||
}
|
||||
|
||||
return str;
|
||||
}
|
||||
|
||||
|
||||
/// \cond internal
|
||||
bool wxHexValidatorBase::IsCharOk(const wxString& val, int pos, wxChar ch) const
|
||||
{
|
||||
// We only accept hexadecimal digits here.
|
||||
if ((ch < '0' || ch > '9') && (ch < 'A' || ch > 'F') && (ch < 'a' || ch > 'f'))
|
||||
return false;
|
||||
|
||||
// And the value after insertion needs to be in the defined range.
|
||||
LongestValueType value;
|
||||
if (!FromString(GetValueAfterInsertingChar(val, pos, ch), &value))
|
||||
return false;
|
||||
|
||||
return IsInRange(value);
|
||||
}
|
||||
/// \endcond
|
||||
268
src/valnet.cpp
Normal file
268
src/valnet.cpp
Normal file
@@ -0,0 +1,268 @@
|
||||
/*
|
||||
Copyright 2016-2017 Amebis
|
||||
Copyright 2016 GÉANT
|
||||
|
||||
This file is part of wxExtend.
|
||||
|
||||
wxExtend 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 3 of the License, or
|
||||
(at your option) any later version.
|
||||
|
||||
wxExtend 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 wxExtend. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
#include "stdafx.h"
|
||||
|
||||
|
||||
//////////////////////////////////////////////////////////////////////
|
||||
// wxHostNameValidator
|
||||
//////////////////////////////////////////////////////////////////////
|
||||
|
||||
wxIMPLEMENT_DYNAMIC_CLASS(wxHostNameValidator, wxValidator);
|
||||
|
||||
|
||||
wxHostNameValidator::wxHostNameValidator(wxString *val) :
|
||||
m_val(val),
|
||||
wxValidator()
|
||||
{
|
||||
}
|
||||
|
||||
|
||||
wxObject* wxHostNameValidator::Clone() const
|
||||
{
|
||||
return new wxHostNameValidator(*this);
|
||||
}
|
||||
|
||||
|
||||
bool wxHostNameValidator::Validate(wxWindow *parent)
|
||||
{
|
||||
wxASSERT(GetWindow()->IsKindOf(CLASSINFO(wxTextCtrl)));
|
||||
wxTextCtrl *ctrl = (wxTextCtrl*)GetWindow();
|
||||
if (!ctrl->IsEnabled()) return true;
|
||||
|
||||
wxString val(ctrl->GetValue());
|
||||
return Parse(val, 0, val.Length(), ctrl, parent);
|
||||
}
|
||||
|
||||
|
||||
bool wxHostNameValidator::TransferToWindow()
|
||||
{
|
||||
wxASSERT(GetWindow()->IsKindOf(CLASSINFO(wxTextCtrl)));
|
||||
|
||||
if (m_val)
|
||||
((wxTextCtrl*)GetWindow())->SetValue(*m_val);
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
|
||||
bool wxHostNameValidator::TransferFromWindow()
|
||||
{
|
||||
wxASSERT(GetWindow()->IsKindOf(CLASSINFO(wxTextCtrl)));
|
||||
wxTextCtrl *ctrl = (wxTextCtrl*)GetWindow();
|
||||
|
||||
wxString val(ctrl->GetValue());
|
||||
return Parse(val, 0, val.Length(), ctrl, NULL, m_val);
|
||||
}
|
||||
|
||||
|
||||
bool wxHostNameValidator::Parse(const wxString &val_in, size_t i_start, size_t i_end, wxTextCtrl *ctrl, wxWindow *parent, wxString *val_out)
|
||||
{
|
||||
const wxStringCharType *buf = val_in;
|
||||
|
||||
size_t i = i_start;
|
||||
for (;;) {
|
||||
if (i >= i_end) {
|
||||
// End of host name found.
|
||||
if (val_out) val_out->assign(val_in.c_str() + i_start, i - i_start);
|
||||
return true;
|
||||
} else if (buf[i] == _T('-') || buf[i] == _T('_') || buf[i] == _T('*') || _istalnum(buf[i])) {
|
||||
// Valid character found.
|
||||
i++;
|
||||
} else {
|
||||
// Invalid character found.
|
||||
ctrl->SetFocus();
|
||||
ctrl->SetSelection(i, i + 1);
|
||||
wxMessageBox(wxString::Format(_("Invalid character in host name found: %c"), buf[i]), _("Validation conflict"), wxOK | wxICON_EXCLAMATION, parent);
|
||||
return false;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
//////////////////////////////////////////////////////////////////////
|
||||
// wxFQDNValidator
|
||||
//////////////////////////////////////////////////////////////////////
|
||||
|
||||
wxIMPLEMENT_DYNAMIC_CLASS(wxFQDNValidator, wxValidator);
|
||||
|
||||
|
||||
wxFQDNValidator::wxFQDNValidator(wxString *val) :
|
||||
m_val(val),
|
||||
wxValidator()
|
||||
{
|
||||
}
|
||||
|
||||
|
||||
wxObject* wxFQDNValidator::Clone() const
|
||||
{
|
||||
return new wxFQDNValidator(*this);
|
||||
}
|
||||
|
||||
|
||||
bool wxFQDNValidator::Validate(wxWindow *parent)
|
||||
{
|
||||
wxASSERT(GetWindow()->IsKindOf(CLASSINFO(wxTextCtrl)));
|
||||
wxTextCtrl *ctrl = (wxTextCtrl*)GetWindow();
|
||||
if (!ctrl->IsEnabled()) return true;
|
||||
|
||||
wxString val(ctrl->GetValue());
|
||||
return Parse(val, 0, val.Length(), ctrl, parent);
|
||||
}
|
||||
|
||||
|
||||
bool wxFQDNValidator::TransferToWindow()
|
||||
{
|
||||
wxASSERT(GetWindow()->IsKindOf(CLASSINFO(wxTextCtrl)));
|
||||
|
||||
if (m_val)
|
||||
((wxTextCtrl*)GetWindow())->SetValue(*m_val);
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
|
||||
bool wxFQDNValidator::TransferFromWindow()
|
||||
{
|
||||
wxASSERT(GetWindow()->IsKindOf(CLASSINFO(wxTextCtrl)));
|
||||
wxTextCtrl *ctrl = (wxTextCtrl*)GetWindow();
|
||||
|
||||
wxString val(ctrl->GetValue());
|
||||
return Parse(val, 0, val.Length(), ctrl, NULL, m_val);
|
||||
}
|
||||
|
||||
|
||||
bool wxFQDNValidator::Parse(const wxString &val_in, size_t i_start, size_t i_end, wxTextCtrl *ctrl, wxWindow *parent, wxString *val_out)
|
||||
{
|
||||
const wxStringCharType *buf = val_in;
|
||||
|
||||
size_t i = i_start;
|
||||
for (;;) {
|
||||
const wxStringCharType *buf_next;
|
||||
if ((buf_next = wmemchr(buf + i, L'.', i_end - i)) != NULL) {
|
||||
// FQDN separator found.
|
||||
if (!wxHostNameValidator::Parse(val_in, i, buf_next - buf, ctrl, parent))
|
||||
return false;
|
||||
i = buf_next - buf + 1;
|
||||
} else if (wxHostNameValidator::Parse(val_in, i, i_end, ctrl, parent)) {
|
||||
// The rest of the FQDN parsed succesfully.
|
||||
if (val_out) val_out->assign(val_in.c_str() + i_start, i_end - i_start);
|
||||
return true;
|
||||
} else
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
//////////////////////////////////////////////////////////////////////
|
||||
// wxFQDNListValidator
|
||||
//////////////////////////////////////////////////////////////////////
|
||||
|
||||
wxIMPLEMENT_DYNAMIC_CLASS(wxFQDNListValidator, wxValidator);
|
||||
|
||||
|
||||
wxFQDNListValidator::wxFQDNListValidator(wxArrayString *val) :
|
||||
m_val(val),
|
||||
wxValidator()
|
||||
{
|
||||
}
|
||||
|
||||
|
||||
wxObject* wxFQDNListValidator::Clone() const
|
||||
{
|
||||
return new wxFQDNListValidator(*this);
|
||||
}
|
||||
|
||||
|
||||
bool wxFQDNListValidator::Validate(wxWindow *parent)
|
||||
{
|
||||
wxTextCtrl *ctrl = (wxTextCtrl*)GetWindow();
|
||||
if (!ctrl->IsEnabled()) return true;
|
||||
|
||||
wxString val(ctrl->GetValue());
|
||||
return Parse(val, 0, val.Length(), ctrl, parent);
|
||||
}
|
||||
|
||||
|
||||
bool wxFQDNListValidator::TransferToWindow()
|
||||
{
|
||||
wxASSERT(GetWindow()->IsKindOf(CLASSINFO(wxTextCtrl)));
|
||||
|
||||
if (m_val) {
|
||||
wxString str;
|
||||
for (wxArrayString::const_iterator name = m_val->begin(), name_end = m_val->end(); name != name_end; ++name) {
|
||||
if (!str.IsEmpty()) str += wxT("; ");
|
||||
str += *name;
|
||||
}
|
||||
((wxTextCtrl*)GetWindow())->SetValue(str);
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
|
||||
bool wxFQDNListValidator::TransferFromWindow()
|
||||
{
|
||||
wxASSERT(GetWindow()->IsKindOf(CLASSINFO(wxTextCtrl)));
|
||||
wxTextCtrl *ctrl = (wxTextCtrl*)GetWindow();
|
||||
|
||||
wxString val(ctrl->GetValue());
|
||||
return Parse(val, 0, val.Length(), ctrl, NULL, m_val);
|
||||
}
|
||||
|
||||
|
||||
bool wxFQDNListValidator::Parse(const wxString &val_in, size_t i_start, size_t i_end, wxTextCtrl *ctrl, wxWindow *parent, wxArrayString *val_out)
|
||||
{
|
||||
const wxStringCharType *buf = val_in;
|
||||
wxString _fqdn, *fqdn = val_out ? &_fqdn : NULL;
|
||||
wxArrayString _val_out;
|
||||
|
||||
size_t i = i_start;
|
||||
for (;;) {
|
||||
// Skip initial white-space.
|
||||
for (; i < i_end && _istspace(buf[i]); i++);
|
||||
|
||||
const wxStringCharType *buf_next;
|
||||
if ((buf_next = wmemchr(buf + i, L';', i_end - i)) != NULL) {
|
||||
// FQDN list separator found.
|
||||
|
||||
// Skip trailing white-space.
|
||||
size_t i_next = buf_next - buf;
|
||||
for (; i < i_next && _istspace(buf[i_next - 1]); i_next--);
|
||||
|
||||
if (!wxFQDNValidator::Parse(val_in, i, i_next, ctrl, parent, fqdn))
|
||||
return false;
|
||||
if (fqdn && !fqdn->empty()) _val_out.push_back(std::move(*fqdn));
|
||||
|
||||
i = buf_next - buf + 1;
|
||||
} else {
|
||||
// Skip trailing white-space.
|
||||
for (; i < i_end && _istspace(buf[i_end - 1]); i_end--);
|
||||
|
||||
if (wxFQDNValidator::Parse(val_in, i, i_end, ctrl, parent, fqdn)) {
|
||||
// The rest of the FQDN list parsed succesfully.
|
||||
if (fqdn && !fqdn->empty()) _val_out.push_back(std::move(*fqdn));
|
||||
if (val_out) *val_out = std::move(_val_out);
|
||||
return true;
|
||||
} else
|
||||
return false;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,5 +1,6 @@
|
||||
/*
|
||||
Copyright 2015-2016 Amebis
|
||||
/*
|
||||
Copyright 2015-2017 Amebis
|
||||
Copyright 2016 GÉANT
|
||||
|
||||
This file is part of wxExtend.
|
||||
|
||||
|
||||
38
wxExtend.sln
Normal file
38
wxExtend.sln
Normal file
@@ -0,0 +1,38 @@
|
||||
|
||||
Microsoft Visual Studio Solution File, Format Version 11.00
|
||||
# Visual Studio 2010
|
||||
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Solution Items", "Solution Items", "{14D5FE5B-9742-4D1F-A1E0-32E694B94AAB}"
|
||||
EndProject
|
||||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "wxExtend", "build\wxExtendLib.vcxproj", "{D3E29951-D9F5-486D-A167-20AE8E90B1FA}"
|
||||
EndProject
|
||||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "wxExtend", "build\wxExtendDll.vcxproj", "{A3A36689-AC35-4026-93DA-A3BA0C0E767C}"
|
||||
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
|
||||
{D3E29951-D9F5-486D-A167-20AE8E90B1FA}.Debug|Win32.ActiveCfg = Debug|Win32
|
||||
{D3E29951-D9F5-486D-A167-20AE8E90B1FA}.Debug|Win32.Build.0 = Debug|Win32
|
||||
{D3E29951-D9F5-486D-A167-20AE8E90B1FA}.Debug|x64.ActiveCfg = Debug|x64
|
||||
{D3E29951-D9F5-486D-A167-20AE8E90B1FA}.Debug|x64.Build.0 = Debug|x64
|
||||
{D3E29951-D9F5-486D-A167-20AE8E90B1FA}.Release|Win32.ActiveCfg = Release|Win32
|
||||
{D3E29951-D9F5-486D-A167-20AE8E90B1FA}.Release|Win32.Build.0 = Release|Win32
|
||||
{D3E29951-D9F5-486D-A167-20AE8E90B1FA}.Release|x64.ActiveCfg = Release|x64
|
||||
{D3E29951-D9F5-486D-A167-20AE8E90B1FA}.Release|x64.Build.0 = Release|x64
|
||||
{A3A36689-AC35-4026-93DA-A3BA0C0E767C}.Debug|Win32.ActiveCfg = Debug|Win32
|
||||
{A3A36689-AC35-4026-93DA-A3BA0C0E767C}.Debug|Win32.Build.0 = Debug|Win32
|
||||
{A3A36689-AC35-4026-93DA-A3BA0C0E767C}.Debug|x64.ActiveCfg = Debug|x64
|
||||
{A3A36689-AC35-4026-93DA-A3BA0C0E767C}.Debug|x64.Build.0 = Debug|x64
|
||||
{A3A36689-AC35-4026-93DA-A3BA0C0E767C}.Release|Win32.ActiveCfg = Release|Win32
|
||||
{A3A36689-AC35-4026-93DA-A3BA0C0E767C}.Release|Win32.Build.0 = Release|Win32
|
||||
{A3A36689-AC35-4026-93DA-A3BA0C0E767C}.Release|x64.ActiveCfg = Release|x64
|
||||
{A3A36689-AC35-4026-93DA-A3BA0C0E767C}.Release|x64.Build.0 = Release|x64
|
||||
EndGlobalSection
|
||||
GlobalSection(SolutionProperties) = preSolution
|
||||
HideSolutionNode = FALSE
|
||||
EndGlobalSection
|
||||
EndGlobal
|
||||
Reference in New Issue
Block a user