Compare commits
152 Commits
ver/2.0-be
...
ver/2.1-be
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
61d3369631 | ||
|
|
a40d021404 | ||
|
|
bb4331d6f6 | ||
|
|
9d8c7d87ed | ||
|
|
c0da04dcf4 | ||
|
|
44f00f0c40 | ||
|
|
48945e15d6 | ||
|
|
d0e367b881 | ||
|
|
72e8e4893e | ||
|
|
5502206810 | ||
|
|
35f6b33f54 | ||
|
|
c5c505e32e | ||
|
|
9ca82f02f8 | ||
|
|
9ff3f8c2ab | ||
|
|
0e50a733de | ||
|
|
7fbcbd17fb | ||
|
|
593392782a | ||
|
|
e19a98a249 | ||
|
|
a66128b8ca | ||
|
|
6121f7ee12 | ||
|
|
d9527fe70f | ||
|
|
937c263d56 | ||
|
|
6487507570 | ||
|
|
84fa35c9be | ||
|
|
b8be10390b | ||
|
|
de6d890ac1 | ||
|
|
31b6f1a3e8 | ||
|
|
4c6839e9fe | ||
|
|
397cfe71dd | ||
|
|
1834543564 | ||
|
|
8f4f20f2b4 | ||
|
|
9bba0ca557 | ||
|
|
435b5c4a10 | ||
|
|
bc5058f168 | ||
|
|
5ba870158e | ||
|
|
a6693673a5 | ||
|
|
ba55173f28 | ||
|
|
12a053a495 | ||
|
|
8da5f88e0d | ||
|
|
5a4a20a873 | ||
|
|
7e50ba5974 | ||
|
|
91fd26a51d | ||
|
|
1ea5e52208 | ||
|
|
2a18117b17 | ||
|
|
b7bef14746 | ||
|
|
4aacc4abc5 | ||
|
|
2f6c789fdf | ||
|
|
57ceeadbe7 | ||
|
|
3b297c8427 | ||
|
|
92374e57a8 | ||
|
|
ace7551281 | ||
|
|
15e5f2d9e2 | ||
|
|
08397415c4 | ||
|
|
6dff6eed4f | ||
|
|
acbae76737 | ||
|
|
cc4a150501 | ||
|
|
186dbee443 | ||
|
|
716dde0a84 | ||
|
|
155642a3f9 | ||
|
|
7cb0317544 | ||
|
|
87a2828ce0 | ||
|
|
806aa550a5 | ||
|
|
ca306345c2 | ||
|
|
03ff056898 | ||
|
|
9f083bb521 | ||
|
|
a224454b3c | ||
|
|
bd0fdba435 | ||
|
|
87814981db | ||
|
|
acf86e2ce0 | ||
|
|
1016d5f738 | ||
|
|
4d53785af7 | ||
|
|
8e2a3860e3 | ||
|
|
0c2e666d0f | ||
|
|
d6075327ef | ||
|
|
14e665fdf2 | ||
|
|
55e2ee8c4d | ||
|
|
f444355d6d | ||
|
|
feb3c7c150 | ||
|
|
f65634e285 | ||
|
|
62a67b6be7 | ||
|
|
5304402ec5 | ||
|
|
f14fa2911d | ||
|
|
db391d7023 | ||
|
|
0b5a6a7016 | ||
|
|
5cc72a6a96 | ||
|
|
4138f6a5a3 | ||
|
|
2b2b2656b3 | ||
|
|
6253f2c267 | ||
|
|
c9779c3772 | ||
|
|
f6019e361c | ||
|
|
3fd0aef27d | ||
|
|
49c9d33b97 | ||
|
|
b01d1c5409 | ||
|
|
b0b434fec2 | ||
|
|
d46557a367 | ||
|
|
0180cb6306 | ||
|
|
4ce3213b1a | ||
|
|
75b2758797 | ||
|
|
2e14bcf1ec | ||
|
|
cf49e3e401 | ||
|
|
0ed0cf8c49 | ||
|
|
38a77ca51b | ||
|
|
891bd624fc | ||
|
|
affe7b06a2 | ||
|
|
f51c4dbbec | ||
|
|
650ad13a30 | ||
|
|
f53779dbad | ||
|
|
a45115d5e7 | ||
|
|
b5ba1290f9 | ||
|
|
52689653d0 | ||
|
|
8d9af61d5e | ||
|
|
5f339d0d51 | ||
|
|
641d178248 | ||
|
|
67d3c6f3ac | ||
|
|
060ed729b3 | ||
|
|
f8eead6835 | ||
|
|
15693f643f | ||
|
|
916b466909 | ||
|
|
a112a46755 | ||
|
|
fba2181b32 | ||
|
|
d9bf31897e | ||
|
|
65b92f017b | ||
|
|
dddc2d5794 | ||
|
|
e4e8609a00 | ||
|
|
cee1ea7dbc | ||
|
|
87c41451ab | ||
|
|
ecefcecfd8 | ||
|
|
ba8254c097 | ||
|
|
dacca1409e | ||
|
|
8a3a539d5b | ||
|
|
bb2e5e256b | ||
|
|
6828887308 | ||
|
|
186bc61723 | ||
|
|
19a9d9c26d | ||
|
|
cca084be7d | ||
|
|
6710e0a21c | ||
|
|
b5cc0b8f2c | ||
|
|
ded987e4f8 | ||
|
|
957d530801 | ||
|
|
4c716f2ba3 | ||
|
|
7e3cf0bce7 | ||
|
|
7f97a20ba0 | ||
|
|
4b4bc1b371 | ||
|
|
f0b573f1a8 | ||
|
|
c2887f77b0 | ||
|
|
f056a4b0ec | ||
|
|
181778c981 | ||
|
|
ffb887b306 | ||
|
|
515a994ece | ||
|
|
ab28678227 | ||
|
|
b90ff2977f | ||
|
|
eab7bcb35f |
18
.gitmodules
vendored
18
.gitmodules
vendored
@@ -1,24 +1,18 @@
|
||||
[submodule "lib/wxExtend"]
|
||||
path = lib/wxExtend
|
||||
url = https://github.com/Amebis/wxExtend.git
|
||||
[submodule "lib/stdex"]
|
||||
path = lib/stdex
|
||||
url = https://github.com/Amebis/stdex.git
|
||||
[submodule "lib/WinStd"]
|
||||
path = lib/WinStd
|
||||
url = https://github.com/Amebis/WinStd.git
|
||||
[submodule "lib/wxExtend"]
|
||||
path = lib/wxExtend
|
||||
url = https://github.com/Amebis/wxExtend.git
|
||||
[submodule "MSI/MSIBuild"]
|
||||
path = MSI/MSIBuild
|
||||
url = https://github.com/Amebis/MSIBuild.git
|
||||
[submodule "MSI/MSICA"]
|
||||
path = MSI/MSICA
|
||||
url = https://github.com/Amebis/MSICA.git
|
||||
[submodule "lib/atlex"]
|
||||
path = lib/atlex
|
||||
url = https://github.com/Amebis/atlex.git
|
||||
[submodule "lib/MSICALib"]
|
||||
path = lib/MSICALib
|
||||
url = https://github.com/Amebis/MSICALib.git
|
||||
[submodule "lib/WinStd"]
|
||||
path = lib/WinStd
|
||||
url = https://github.com/Amebis/WinStd.git
|
||||
[submodule "Updater"]
|
||||
path = Updater
|
||||
url = https://github.com/Amebis/Updater.git
|
||||
|
||||
Submodule MSI/MSIBuild updated: b0c4f3edf3...cc374d5acb
Submodule MSI/MSICA updated: 9cdce06194...4431ee3a6d
@@ -1,5 +1,5 @@
|
||||
#
|
||||
# Copyright 1991-2016 Amebis
|
||||
# Copyright 1991-2017 Amebis
|
||||
#
|
||||
# This file is part of ZRCola.
|
||||
#
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
#
|
||||
# Copyright 1991-2016 Amebis
|
||||
# Copyright 1991-2017 Amebis
|
||||
#
|
||||
# This file is part of ZRCola.
|
||||
#
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
#
|
||||
# Copyright 1991-2016 Amebis
|
||||
# Copyright 1991-2017 Amebis
|
||||
#
|
||||
# This file is part of ZRCola.
|
||||
#
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
#
|
||||
# Copyright 1991-2016 Amebis
|
||||
# Copyright 1991-2017 Amebis
|
||||
#
|
||||
# This file is part of ZRCola.
|
||||
#
|
||||
|
||||
Binary file not shown.
@@ -1,5 +1,5 @@
|
||||
#
|
||||
# Copyright 1991-2016 Amebis
|
||||
# Copyright 1991-2017 Amebis
|
||||
#
|
||||
# This file is part of ZRCola.
|
||||
#
|
||||
@@ -19,6 +19,6 @@
|
||||
|
||||
[splosno]
|
||||
jezik=0
|
||||
deli=featUpdCheck
|
||||
deli=featZRCola featUpdCheck
|
||||
|
||||
[parametri]
|
||||
|
||||
Binary file not shown.
@@ -1,5 +1,5 @@
|
||||
#
|
||||
# Copyright 1991-2016 Amebis
|
||||
# Copyright 1991-2017 Amebis
|
||||
#
|
||||
# This file is part of ZRCola.
|
||||
#
|
||||
@@ -19,6 +19,6 @@
|
||||
|
||||
[splosno]
|
||||
jezik=0
|
||||
deli=featUpdCheck
|
||||
deli=featZRCola featUpdCheck
|
||||
|
||||
[parametri]
|
||||
|
||||
Binary file not shown.
@@ -1,5 +1,5 @@
|
||||
#
|
||||
# Copyright 1991-2016 Amebis
|
||||
# Copyright 1991-2017 Amebis
|
||||
#
|
||||
# This file is part of ZRCola.
|
||||
#
|
||||
|
||||
Binary file not shown.
@@ -1,5 +1,5 @@
|
||||
#
|
||||
# Copyright 1991-2016 Amebis
|
||||
# Copyright 1991-2017 Amebis
|
||||
#
|
||||
# This file is part of ZRCola.
|
||||
#
|
||||
|
||||
Binary file not shown.
@@ -1,5 +1,5 @@
|
||||
#
|
||||
# Copyright 1991-2016 Amebis
|
||||
# Copyright 1991-2017 Amebis
|
||||
#
|
||||
# This file is part of ZRCola.
|
||||
#
|
||||
@@ -19,6 +19,6 @@
|
||||
|
||||
[splosno]
|
||||
jezik=0
|
||||
deli=featUpdCheck
|
||||
deli=featZRCola featUpdCheck
|
||||
|
||||
[parametri]
|
||||
|
||||
Binary file not shown.
@@ -1,5 +1,5 @@
|
||||
#
|
||||
# Copyright 1991-2016 Amebis
|
||||
# Copyright 1991-2017 Amebis
|
||||
#
|
||||
# This file is part of ZRCola.
|
||||
#
|
||||
@@ -19,6 +19,6 @@
|
||||
|
||||
[splosno]
|
||||
jezik=0
|
||||
deli=featUpdCheck
|
||||
deli=featZRCola featUpdCheck
|
||||
|
||||
[parametri]
|
||||
|
||||
Binary file not shown.
@@ -1,5 +1,5 @@
|
||||
#
|
||||
# Copyright 1991-2016 Amebis
|
||||
# Copyright 1991-2017 Amebis
|
||||
#
|
||||
# This file is part of ZRCola.
|
||||
#
|
||||
@@ -19,6 +19,6 @@
|
||||
|
||||
[splosno]
|
||||
jezik=0
|
||||
deli=featUpdCheck
|
||||
deli=featZRCola featUpdCheck
|
||||
|
||||
[parametri]
|
||||
|
||||
Binary file not shown.
@@ -1,5 +1,5 @@
|
||||
#
|
||||
# Copyright 1991-2016 Amebis
|
||||
# Copyright 1991-2017 Amebis
|
||||
#
|
||||
# This file is part of ZRCola.
|
||||
#
|
||||
@@ -19,6 +19,6 @@
|
||||
|
||||
[splosno]
|
||||
jezik=0
|
||||
deli=featUpdCheck
|
||||
deli=featZRCola featUpdCheck
|
||||
|
||||
[parametri]
|
||||
|
||||
Binary file not shown.
@@ -1,5 +1,5 @@
|
||||
#
|
||||
# Copyright 1991-2016 Amebis
|
||||
# Copyright 1991-2017 Amebis
|
||||
#
|
||||
# This file is part of ZRCola.
|
||||
#
|
||||
|
||||
Binary file not shown.
@@ -1,5 +1,5 @@
|
||||
#
|
||||
# Copyright 1991-2016 Amebis
|
||||
# Copyright 1991-2017 Amebis
|
||||
#
|
||||
# This file is part of ZRCola.
|
||||
#
|
||||
|
||||
Binary file not shown.
@@ -1,5 +1,5 @@
|
||||
#
|
||||
# Copyright 1991-2016 Amebis
|
||||
# Copyright 1991-2017 Amebis
|
||||
#
|
||||
# This file is part of ZRCola.
|
||||
#
|
||||
@@ -19,6 +19,6 @@
|
||||
|
||||
[splosno]
|
||||
jezik=0
|
||||
deli=featUpdCheck
|
||||
deli=featZRCola featUpdCheck
|
||||
|
||||
[parametri]
|
||||
|
||||
Binary file not shown.
@@ -1,5 +1,5 @@
|
||||
#
|
||||
# Copyright 1991-2016 Amebis
|
||||
# Copyright 1991-2017 Amebis
|
||||
#
|
||||
# This file is part of ZRCola.
|
||||
#
|
||||
@@ -19,6 +19,6 @@
|
||||
|
||||
[splosno]
|
||||
jezik=0
|
||||
deli=featUpdCheck
|
||||
deli=featZRCola featUpdCheck
|
||||
|
||||
[parametri]
|
||||
|
||||
Binary file not shown.
@@ -1,5 +1,5 @@
|
||||
#
|
||||
# Copyright 1991-2016 Amebis
|
||||
# Copyright 1991-2017 Amebis
|
||||
#
|
||||
# This file is part of ZRCola.
|
||||
#
|
||||
|
||||
Binary file not shown.
@@ -1,5 +1,5 @@
|
||||
#
|
||||
# Copyright 1991-2016 Amebis
|
||||
# Copyright 1991-2017 Amebis
|
||||
#
|
||||
# This file is part of ZRCola.
|
||||
#
|
||||
|
||||
Binary file not shown.
@@ -1,5 +1,5 @@
|
||||
#
|
||||
# Copyright 1991-2016 Amebis
|
||||
# Copyright 1991-2017 Amebis
|
||||
#
|
||||
# This file is part of ZRCola.
|
||||
#
|
||||
@@ -19,6 +19,6 @@
|
||||
|
||||
[splosno]
|
||||
jezik=0
|
||||
deli=featZRCola
|
||||
deli=featZRCola featUpdCheck
|
||||
|
||||
[parametri]
|
||||
|
||||
Binary file not shown.
@@ -1,5 +1,5 @@
|
||||
#
|
||||
# Copyright 1991-2016 Amebis
|
||||
# Copyright 1991-2017 Amebis
|
||||
#
|
||||
# This file is part of ZRCola.
|
||||
#
|
||||
@@ -19,6 +19,6 @@
|
||||
|
||||
[splosno]
|
||||
jezik=0
|
||||
deli=featZRCola
|
||||
deli=featZRCola featUpdCheck
|
||||
|
||||
[parametri]
|
||||
|
||||
Binary file not shown.
@@ -1,5 +1,5 @@
|
||||
#
|
||||
# Copyright 1991-2016 Amebis
|
||||
# Copyright 1991-2017 Amebis
|
||||
#
|
||||
# This file is part of ZRCola.
|
||||
#
|
||||
@@ -19,6 +19,6 @@
|
||||
|
||||
[splosno]
|
||||
jezik=0
|
||||
deli=featZRCola
|
||||
deli=featZRCola featUpdCheck
|
||||
|
||||
[parametri]
|
||||
|
||||
Binary file not shown.
@@ -1,5 +1,5 @@
|
||||
#
|
||||
# Copyright 1991-2016 Amebis
|
||||
# Copyright 1991-2017 Amebis
|
||||
#
|
||||
# This file is part of ZRCola.
|
||||
#
|
||||
@@ -19,6 +19,6 @@
|
||||
|
||||
[splosno]
|
||||
jezik=0
|
||||
deli=featZRCola
|
||||
deli=featZRCola featUpdCheck
|
||||
|
||||
[parametri]
|
||||
|
||||
Binary file not shown.
@@ -1,5 +1,5 @@
|
||||
#
|
||||
# Copyright 1991-2016 Amebis
|
||||
# Copyright 1991-2017 Amebis
|
||||
#
|
||||
# This file is part of ZRCola.
|
||||
#
|
||||
|
||||
Binary file not shown.
@@ -1,5 +1,5 @@
|
||||
#
|
||||
# Copyright 1991-2016 Amebis
|
||||
# Copyright 1991-2017 Amebis
|
||||
#
|
||||
# This file is part of ZRCola.
|
||||
#
|
||||
|
||||
Binary file not shown.
@@ -1,5 +1,5 @@
|
||||
#
|
||||
# Copyright 1991-2016 Amebis
|
||||
# Copyright 1991-2017 Amebis
|
||||
#
|
||||
# This file is part of ZRCola.
|
||||
#
|
||||
@@ -19,6 +19,6 @@
|
||||
|
||||
[splosno]
|
||||
jezik=0
|
||||
deli=featZRCola
|
||||
deli=featZRCola featUpdCheck
|
||||
|
||||
[parametri]
|
||||
|
||||
Binary file not shown.
@@ -1,5 +1,5 @@
|
||||
#
|
||||
# Copyright 1991-2016 Amebis
|
||||
# Copyright 1991-2017 Amebis
|
||||
#
|
||||
# This file is part of ZRCola.
|
||||
#
|
||||
@@ -19,6 +19,6 @@
|
||||
|
||||
[splosno]
|
||||
jezik=0
|
||||
deli=featZRCola
|
||||
deli=featZRCola featUpdCheck
|
||||
|
||||
[parametri]
|
||||
|
||||
Binary file not shown.
@@ -1,5 +1,5 @@
|
||||
#
|
||||
# Copyright 1991-2016 Amebis
|
||||
# Copyright 1991-2017 Amebis
|
||||
#
|
||||
# This file is part of ZRCola.
|
||||
#
|
||||
@@ -19,6 +19,6 @@
|
||||
|
||||
[splosno]
|
||||
jezik=0
|
||||
deli=featZRCola
|
||||
deli=featZRCola featUpdCheck
|
||||
|
||||
[parametri]
|
||||
|
||||
Binary file not shown.
@@ -1,5 +1,5 @@
|
||||
#
|
||||
# Copyright 1991-2016 Amebis
|
||||
# Copyright 1991-2017 Amebis
|
||||
#
|
||||
# This file is part of ZRCola.
|
||||
#
|
||||
@@ -19,6 +19,6 @@
|
||||
|
||||
[splosno]
|
||||
jezik=0
|
||||
deli=featZRCola
|
||||
deli=featZRCola featUpdCheck
|
||||
|
||||
[parametri]
|
||||
|
||||
File diff suppressed because one or more lines are too long
@@ -1,5 +1,5 @@
|
||||
#
|
||||
# Copyright 1991-2016 Amebis
|
||||
# Copyright 1991-2017 Amebis
|
||||
#
|
||||
# This file is part of ZRCola.
|
||||
#
|
||||
|
||||
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
BIN
MSILocal.mak
Normal file
BIN
MSILocal.mak
Normal file
Binary file not shown.
524
Makefile
524
Makefile
@@ -1,5 +1,5 @@
|
||||
#
|
||||
# Copyright 1991-2016 Amebis
|
||||
# Copyright 1991-2017 Amebis
|
||||
#
|
||||
# This file is part of ZRCola.
|
||||
#
|
||||
@@ -36,24 +36,6 @@ Clean ::
|
||||
cd "MSI\MSIBuild\Version"
|
||||
$(MAKE) /f "Makefile" /$(MAKEFLAGS) Clean
|
||||
cd "$(MAKEDIR)"
|
||||
cd "MSI\ZRCola"
|
||||
$(MAKE) /f "Makefile" /$(MAKEFLAGS) Clean LANG=De PLAT=Win32 CFG=Release
|
||||
$(MAKE) /f "Makefile" /$(MAKEFLAGS) Clean LANG=De PLAT=Win32 CFG=Debug
|
||||
$(MAKE) /f "Makefile" /$(MAKEFLAGS) Clean LANG=De PLAT=x64 CFG=Release
|
||||
$(MAKE) /f "Makefile" /$(MAKEFLAGS) Clean LANG=De PLAT=x64 CFG=Debug
|
||||
$(MAKE) /f "Makefile" /$(MAKEFLAGS) Clean LANG=En PLAT=Win32 CFG=Release
|
||||
$(MAKE) /f "Makefile" /$(MAKEFLAGS) Clean LANG=En PLAT=Win32 CFG=Debug
|
||||
$(MAKE) /f "Makefile" /$(MAKEFLAGS) Clean LANG=En PLAT=x64 CFG=Release
|
||||
$(MAKE) /f "Makefile" /$(MAKEFLAGS) Clean LANG=En PLAT=x64 CFG=Debug
|
||||
$(MAKE) /f "Makefile" /$(MAKEFLAGS) Clean LANG=Ru PLAT=Win32 CFG=Release
|
||||
$(MAKE) /f "Makefile" /$(MAKEFLAGS) Clean LANG=Ru PLAT=Win32 CFG=Debug
|
||||
$(MAKE) /f "Makefile" /$(MAKEFLAGS) Clean LANG=Ru PLAT=x64 CFG=Release
|
||||
$(MAKE) /f "Makefile" /$(MAKEFLAGS) Clean LANG=Ru PLAT=x64 CFG=Debug
|
||||
$(MAKE) /f "Makefile" /$(MAKEFLAGS) Clean LANG=Sl PLAT=Win32 CFG=Release
|
||||
$(MAKE) /f "Makefile" /$(MAKEFLAGS) Clean LANG=Sl PLAT=Win32 CFG=Debug
|
||||
$(MAKE) /f "Makefile" /$(MAKEFLAGS) Clean LANG=Sl PLAT=x64 CFG=Release
|
||||
$(MAKE) /f "Makefile" /$(MAKEFLAGS) Clean LANG=Sl PLAT=x64 CFG=Debug
|
||||
cd "$(MAKEDIR)"
|
||||
devenv.com "ZRCola.sln" /clean "Release|Win32"
|
||||
devenv.com "ZRCola.sln" /clean "Debug|Win32"
|
||||
devenv.com "ZRCola.sln" /clean "Release|x64"
|
||||
@@ -68,23 +50,29 @@ Clean ::
|
||||
devenv.com "Updater\Updater.sln" /clean "Debug|Win32"
|
||||
devenv.com "Updater\Updater.sln" /clean "Release|x64"
|
||||
devenv.com "Updater\Updater.sln" /clean "Debug|x64"
|
||||
-if exist "$(OUTPUT_DIR)\Setup\ZRColaDe32.msi" del /f /q "$(OUTPUT_DIR)\Setup\ZRColaDe32.msi"
|
||||
-if exist "$(OUTPUT_DIR)\Setup\ZRColaDe32D.msi" del /f /q "$(OUTPUT_DIR)\Setup\ZRColaDe32D.msi"
|
||||
-if exist "$(OUTPUT_DIR)\Setup\ZRColaDe64.msi" del /f /q "$(OUTPUT_DIR)\Setup\ZRColaDe64.msi"
|
||||
-if exist "$(OUTPUT_DIR)\Setup\ZRColaDe64D.msi" del /f /q "$(OUTPUT_DIR)\Setup\ZRColaDe64D.msi"
|
||||
-if exist "$(OUTPUT_DIR)\Setup\ZRColaEn32.msi" del /f /q "$(OUTPUT_DIR)\Setup\ZRColaEn32.msi"
|
||||
-if exist "$(OUTPUT_DIR)\Setup\ZRColaEn32D.msi" del /f /q "$(OUTPUT_DIR)\Setup\ZRColaEn32D.msi"
|
||||
-if exist "$(OUTPUT_DIR)\Setup\ZRColaEn64.msi" del /f /q "$(OUTPUT_DIR)\Setup\ZRColaEn64.msi"
|
||||
-if exist "$(OUTPUT_DIR)\Setup\ZRColaEn64D.msi" del /f /q "$(OUTPUT_DIR)\Setup\ZRColaEn64D.msi"
|
||||
-if exist "$(OUTPUT_DIR)\Setup\ZRColaRu32.msi" del /f /q "$(OUTPUT_DIR)\Setup\ZRColaRu32.msi"
|
||||
-if exist "$(OUTPUT_DIR)\Setup\ZRColaRu32D.msi" del /f /q "$(OUTPUT_DIR)\Setup\ZRColaRu32D.msi"
|
||||
-if exist "$(OUTPUT_DIR)\Setup\ZRColaRu64.msi" del /f /q "$(OUTPUT_DIR)\Setup\ZRColaRu64.msi"
|
||||
-if exist "$(OUTPUT_DIR)\Setup\ZRColaRu64D.msi" del /f /q "$(OUTPUT_DIR)\Setup\ZRColaRu64D.msi"
|
||||
-if exist "$(OUTPUT_DIR)\Setup\ZRColaSl32.msi" del /f /q "$(OUTPUT_DIR)\Setup\ZRColaSl32.msi"
|
||||
-if exist "$(OUTPUT_DIR)\Setup\ZRColaSl32D.msi" del /f /q "$(OUTPUT_DIR)\Setup\ZRColaSl32D.msi"
|
||||
-if exist "$(OUTPUT_DIR)\Setup\ZRColaSl64.msi" del /f /q "$(OUTPUT_DIR)\Setup\ZRColaSl64.msi"
|
||||
-if exist "$(OUTPUT_DIR)\Setup\ZRColaSl64D.msi" del /f /q "$(OUTPUT_DIR)\Setup\ZRColaSl64D.msi"
|
||||
-if exist "$(OUTPUT_DIR)\catalog.xml" del /f /q "$(OUTPUT_DIR)\catalog.xml"
|
||||
-if exist "$(OUTPUT_DIR)\locale\de_DE\wxstd.mo" del /f /q "$(OUTPUT_DIR)\locale\de_DE\wxstd.mo"
|
||||
-if exist "$(OUTPUT_DIR)\locale\ru_RU\wxstd.mo" del /f /q "$(OUTPUT_DIR)\locale\ru_RU\wxstd.mo"
|
||||
-if exist "$(OUTPUT_DIR)\locale\sl_SI\wxstd.mo" del /f /q "$(OUTPUT_DIR)\locale\sl_SI\wxstd.mo"
|
||||
-if exist "$(OUTPUT_DIR)\locale\de_DE\ZRCola-zrcdb.mo" del /f /q "$(OUTPUT_DIR)\locale\de_DE\ZRCola-zrcdb.mo"
|
||||
-if exist "$(OUTPUT_DIR)\locale\ru_RU\ZRCola-zrcdb.mo" del /f /q "$(OUTPUT_DIR)\locale\ru_RU\ZRCola-zrcdb.mo"
|
||||
-if exist "$(OUTPUT_DIR)\locale\sl_SI\ZRCola-zrcdb.mo" del /f /q "$(OUTPUT_DIR)\locale\sl_SI\ZRCola-zrcdb.mo"
|
||||
-if exist "$(OUTPUT_DIR)\ZRCola32.ddf" del /f /q "$(OUTPUT_DIR)\ZRCola32.ddf"
|
||||
-if exist "$(OUTPUT_DIR)\ZRCola32D.ddf" del /f /q "$(OUTPUT_DIR)\ZRCola32D.ddf"
|
||||
-if exist "$(OUTPUT_DIR)\ZRCola64.ddf" del /f /q "$(OUTPUT_DIR)\ZRCola64.ddf"
|
||||
-if exist "$(OUTPUT_DIR)\ZRCola64D.ddf" del /f /q "$(OUTPUT_DIR)\ZRCola64D.ddf"
|
||||
-if exist "$(OUTPUT_DIR)\ZRCola32.cab" del /f /q "$(OUTPUT_DIR)\ZRCola32.cab"
|
||||
-if exist "$(OUTPUT_DIR)\ZRCola32.inf" del /f /q "$(OUTPUT_DIR)\ZRCola32.inf"
|
||||
-if exist "$(OUTPUT_DIR)\ZRCola32.rpt" del /f /q "$(OUTPUT_DIR)\ZRCola32.rpt"
|
||||
-if exist "$(OUTPUT_DIR)\ZRCola32D.cab" del /f /q "$(OUTPUT_DIR)\ZRCola32D.cab"
|
||||
-if exist "$(OUTPUT_DIR)\ZRCola32D.inf" del /f /q "$(OUTPUT_DIR)\ZRCola32D.inf"
|
||||
-if exist "$(OUTPUT_DIR)\ZRCola32D.rpt" del /f /q "$(OUTPUT_DIR)\ZRCola32D.rpt"
|
||||
-if exist "$(OUTPUT_DIR)\ZRCola64.cab" del /f /q "$(OUTPUT_DIR)\ZRCola64.cab"
|
||||
-if exist "$(OUTPUT_DIR)\ZRCola64.inf" del /f /q "$(OUTPUT_DIR)\ZRCola64.inf"
|
||||
-if exist "$(OUTPUT_DIR)\ZRCola64.rpt" del /f /q "$(OUTPUT_DIR)\ZRCola64.rpt"
|
||||
-if exist "$(OUTPUT_DIR)\ZRCola64D.cab" del /f /q "$(OUTPUT_DIR)\ZRCola64D.cab"
|
||||
-if exist "$(OUTPUT_DIR)\ZRCola64D.inf" del /f /q "$(OUTPUT_DIR)\ZRCola64D.inf"
|
||||
-if exist "$(OUTPUT_DIR)\ZRCola64D.rpt" del /f /q "$(OUTPUT_DIR)\ZRCola64D.rpt"
|
||||
-if exist "$(OUTPUT_DIR)\catalog.xml" del /f /q "$(OUTPUT_DIR)\catalog.xml"
|
||||
|
||||
!IFNDEF HAS_VERSION
|
||||
|
||||
@@ -98,6 +86,7 @@ Setup \
|
||||
SetupDebug \
|
||||
Register \
|
||||
Unregister \
|
||||
Localization \
|
||||
PublishPre \
|
||||
Publish :: "MSI\MSIBuild\Version\Version.mak"
|
||||
$(MAKE) /f "Makefile" /$(MAKEFLAGS) HAS_VERSION=1 $@
|
||||
@@ -120,16 +109,6 @@ Publish :: "MSI\MSIBuild\Version\Version.mak"
|
||||
PUBLISH_PACKAGE_DIR=$(PUBLISH_DIR)\$(MSIBUILD_VERSION_STR)
|
||||
PUBLISH_PACKAGE_URL=http://www.amebis.si/prenos/ZRCola/$(MSIBUILD_VERSION_STR)
|
||||
|
||||
REDIST_DE_WIN32="$(PUBLISH_PACKAGE_DIR)\ZRColaDe32.msi"
|
||||
REDIST_DE_X64="$(PUBLISH_PACKAGE_DIR)\ZRColaDe64.msi"
|
||||
REDIST_EN_WIN32="$(PUBLISH_PACKAGE_DIR)\ZRColaEn32.msi"
|
||||
REDIST_EN_X64="$(PUBLISH_PACKAGE_DIR)\ZRColaEn64.msi"
|
||||
REDIST_RU_WIN32="$(PUBLISH_PACKAGE_DIR)\ZRColaRu32.msi"
|
||||
REDIST_RU_X64="$(PUBLISH_PACKAGE_DIR)\ZRColaRu64.msi"
|
||||
REDIST_SL_WIN32="$(PUBLISH_PACKAGE_DIR)\ZRColaSl32.msi"
|
||||
REDIST_SL_X64="$(PUBLISH_PACKAGE_DIR)\ZRColaSl64.msi"
|
||||
|
||||
|
||||
######################################################################
|
||||
# Main targets
|
||||
######################################################################
|
||||
@@ -138,26 +117,54 @@ All :: \
|
||||
Setup
|
||||
|
||||
Setup :: \
|
||||
"$(OUTPUT_DIR)\Setup" \
|
||||
# "$(OUTPUT_DIR)\Setup\ZRColaDe32.msi" \
|
||||
# "$(OUTPUT_DIR)\Setup\ZRColaDe64.msi" \
|
||||
"$(OUTPUT_DIR)\Setup\ZRColaEn32.msi" \
|
||||
"$(OUTPUT_DIR)\Setup\ZRColaEn64.msi" \
|
||||
# "$(OUTPUT_DIR)\Setup\ZRColaRu32.msi" \
|
||||
# "$(OUTPUT_DIR)\Setup\ZRColaRu64.msi" \
|
||||
"$(OUTPUT_DIR)\Setup\ZRColaSl32.msi" \
|
||||
"$(OUTPUT_DIR)\Setup\ZRColaSl64.msi"
|
||||
# "$(OUTPUT_DIR)\ZRColaDe32.msi" \
|
||||
# "$(OUTPUT_DIR)\ZRColaDe64.msi" \
|
||||
"$(OUTPUT_DIR)\ZRColaEn32.msi" \
|
||||
"$(OUTPUT_DIR)\ZRColaEn64.msi" \
|
||||
"$(OUTPUT_DIR)\ZRColaRu32.msi" \
|
||||
"$(OUTPUT_DIR)\ZRColaRu64.msi" \
|
||||
"$(OUTPUT_DIR)\ZRColaSl32.msi" \
|
||||
"$(OUTPUT_DIR)\ZRColaSl64.msi"
|
||||
|
||||
SetupDebug :: \
|
||||
"$(OUTPUT_DIR)\Setup" \
|
||||
# "$(OUTPUT_DIR)\Setup\ZRColaDe32D.msi" \
|
||||
# "$(OUTPUT_DIR)\Setup\ZRColaDe64D.msi" \
|
||||
"$(OUTPUT_DIR)\Setup\ZRColaEn32D.msi" \
|
||||
"$(OUTPUT_DIR)\Setup\ZRColaEn64D.msi" \
|
||||
# "$(OUTPUT_DIR)\Setup\ZRColaRu32D.msi" \
|
||||
# "$(OUTPUT_DIR)\Setup\ZRColaRu64D.msi" \
|
||||
"$(OUTPUT_DIR)\Setup\ZRColaSl32D.msi" \
|
||||
"$(OUTPUT_DIR)\Setup\ZRColaSl64D.msi"
|
||||
# "$(OUTPUT_DIR)\ZRColaDe32D.msi" \
|
||||
# "$(OUTPUT_DIR)\ZRColaDe64D.msi" \
|
||||
"$(OUTPUT_DIR)\ZRColaEn32D.msi" \
|
||||
"$(OUTPUT_DIR)\ZRColaEn64D.msi" \
|
||||
"$(OUTPUT_DIR)\ZRColaRu32D.msi" \
|
||||
"$(OUTPUT_DIR)\ZRColaRu64D.msi" \
|
||||
"$(OUTPUT_DIR)\ZRColaSl32D.msi" \
|
||||
"$(OUTPUT_DIR)\ZRColaSl64D.msi"
|
||||
|
||||
|
||||
######################################################################
|
||||
# Publishing
|
||||
######################################################################
|
||||
|
||||
PublishPre :: \
|
||||
"$(PUBLISH_PACKAGE_DIR)" \
|
||||
# "$(PUBLISH_PACKAGE_DIR)\ZRColaDe32.msi" \
|
||||
# "$(PUBLISH_PACKAGE_DIR)\ZRColaDe64.msi" \
|
||||
"$(PUBLISH_PACKAGE_DIR)\ZRColaEn32.msi" \
|
||||
"$(PUBLISH_PACKAGE_DIR)\ZRColaEn64.msi" \
|
||||
"$(PUBLISH_PACKAGE_DIR)\ZRColaRu32.msi" \
|
||||
"$(PUBLISH_PACKAGE_DIR)\ZRColaRu64.msi" \
|
||||
"$(PUBLISH_PACKAGE_DIR)\ZRColaSl32.msi" \
|
||||
"$(PUBLISH_PACKAGE_DIR)\ZRColaSl64.msi" \
|
||||
"$(PUBLISH_DIR)" \
|
||||
# "$(PUBLISH_DIR)\ZRColaInstallDe.exe" \
|
||||
"$(PUBLISH_DIR)\ZRColaInstallEn.exe" \
|
||||
"$(PUBLISH_DIR)\ZRColaInstallRu.exe" \
|
||||
"$(PUBLISH_DIR)\ZRColaInstallSl.exe"
|
||||
|
||||
Publish :: \
|
||||
PublishPre \
|
||||
"$(PUBLISH_DIR)\catalog-0000.xml"
|
||||
|
||||
|
||||
######################################################################
|
||||
# Registration
|
||||
######################################################################
|
||||
|
||||
Register :: \
|
||||
RegisterSettings \
|
||||
@@ -214,25 +221,20 @@ RegisterShortcuts :: \
|
||||
UnregisterShortcuts ::
|
||||
-if exist "$(PROGRAMDATA)\Microsoft\Windows\Start Menu\Programs\ZRCola" rd /s /q "$(PROGRAMDATA)\Microsoft\Windows\Start Menu\Programs\ZRCola"
|
||||
|
||||
PublishPre :: \
|
||||
"$(PUBLISH_PACKAGE_DIR)" \
|
||||
# $(REDIST_DE_WIN32) \
|
||||
# $(REDIST_DE_X64) \
|
||||
$(REDIST_EN_WIN32) \
|
||||
$(REDIST_EN_X64) \
|
||||
# $(REDIST_RU_WIN32) \
|
||||
# $(REDIST_RU_X64) \
|
||||
$(REDIST_SL_WIN32) \
|
||||
$(REDIST_SL_X64) \
|
||||
"$(PUBLISH_DIR)" \
|
||||
# "$(PUBLISH_DIR)\ZRColaInstallDe.exe" \
|
||||
"$(PUBLISH_DIR)\ZRColaInstallEn.exe" \
|
||||
# "$(PUBLISH_DIR)\ZRColaInstallRu.exe" \
|
||||
"$(PUBLISH_DIR)\ZRColaInstallSl.exe"
|
||||
######################################################################
|
||||
# Localization
|
||||
######################################################################
|
||||
|
||||
Publish :: \
|
||||
PublishPre \
|
||||
"$(PUBLISH_DIR)\catalog-0000.xml"
|
||||
Localization :: \
|
||||
"$(OUTPUT_DIR)\locale\de_DE" \
|
||||
"$(OUTPUT_DIR)\locale\de_DE\wxstd.mo" \
|
||||
"$(OUTPUT_DIR)\locale\de_DE\ZRCola-zrcdb.mo" \
|
||||
"$(OUTPUT_DIR)\locale\ru_RU" \
|
||||
"$(OUTPUT_DIR)\locale\ru_RU\wxstd.mo" \
|
||||
"$(OUTPUT_DIR)\locale\ru_RU\ZRCola-zrcdb.mo" \
|
||||
"$(OUTPUT_DIR)\locale\sl_SI" \
|
||||
"$(OUTPUT_DIR)\locale\sl_SI\wxstd.mo" \
|
||||
"$(OUTPUT_DIR)\locale\sl_SI\ZRCola-zrcdb.mo"
|
||||
|
||||
|
||||
######################################################################
|
||||
@@ -241,14 +243,21 @@ Publish :: \
|
||||
|
||||
"$(OUTPUT_DIR)" \
|
||||
"$(OUTPUT_DIR)\Keys" \
|
||||
"$(OUTPUT_DIR)\Setup" \
|
||||
"$(OUTPUT_DIR)\locale" \
|
||||
"$(OUTPUT_DIR)\locale\de_DE" \
|
||||
"$(OUTPUT_DIR)\locale\ru_RU" \
|
||||
"$(OUTPUT_DIR)\locale\sl_SI" \
|
||||
"$(PUBLISH_DIR)" \
|
||||
"$(PUBLISH_PACKAGE_DIR)" \
|
||||
"$(PROGRAMDATA)\Microsoft\Windows\Start Menu\Programs\ZRCola" :
|
||||
if not exist $@ md $@
|
||||
|
||||
"$(OUTPUT_DIR)\Keys" \
|
||||
"$(OUTPUT_DIR)\Setup" : "$(OUTPUT_DIR)"
|
||||
"$(OUTPUT_DIR)\locale" : "$(OUTPUT_DIR)"
|
||||
|
||||
"$(OUTPUT_DIR)\locale\de_DE" \
|
||||
"$(OUTPUT_DIR)\locale\ru_RU" \
|
||||
"$(OUTPUT_DIR)\locale\sl_SI" : "$(OUTPUT_DIR)\locale"
|
||||
|
||||
"$(PUBLISH_PACKAGE_DIR)" : "$(PUBLISH_DIR)"
|
||||
|
||||
@@ -257,62 +266,6 @@ Publish :: \
|
||||
# File copy
|
||||
######################################################################
|
||||
|
||||
"$(OUTPUT_DIR)\Setup\ZRColaDe32.msi" \
|
||||
$(REDIST_DE_WIN32) : "$(OUTPUT_DIR)\ZRColaDe32.3.msi"
|
||||
copy /y $** $@ > NUL
|
||||
|
||||
"$(OUTPUT_DIR)\Setup\ZRColaDe32D.msi" : "$(OUTPUT_DIR)\ZRColaDe32D.3.msi"
|
||||
copy /y $** $@ > NUL
|
||||
|
||||
"$(OUTPUT_DIR)\Setup\ZRColaDe64.msi" \
|
||||
$(REDIST_DE_X64) : "$(OUTPUT_DIR)\ZRColaDe64.3.msi"
|
||||
copy /y $** $@ > NUL
|
||||
|
||||
"$(OUTPUT_DIR)\Setup\ZRColaDe64D.msi" : "$(OUTPUT_DIR)\ZRColaDe64D.3.msi"
|
||||
copy /y $** $@ > NUL
|
||||
|
||||
"$(OUTPUT_DIR)\Setup\ZRColaEn32.msi" \
|
||||
$(REDIST_EN_WIN32) : "$(OUTPUT_DIR)\ZRColaEn32.3.msi"
|
||||
copy /y $** $@ > NUL
|
||||
|
||||
"$(OUTPUT_DIR)\Setup\ZRColaEn32D.msi" : "$(OUTPUT_DIR)\ZRColaEn32D.3.msi"
|
||||
copy /y $** $@ > NUL
|
||||
|
||||
"$(OUTPUT_DIR)\Setup\ZRColaEn64.msi" \
|
||||
$(REDIST_EN_X64) : "$(OUTPUT_DIR)\ZRColaEn64.3.msi"
|
||||
copy /y $** $@ > NUL
|
||||
|
||||
"$(OUTPUT_DIR)\Setup\ZRColaEn64D.msi" : "$(OUTPUT_DIR)\ZRColaEn64D.3.msi"
|
||||
copy /y $** $@ > NUL
|
||||
|
||||
"$(OUTPUT_DIR)\Setup\ZRColaRu32.msi" \
|
||||
$(REDIST_RU_WIN32) : "$(OUTPUT_DIR)\ZRColaRu32.3.msi"
|
||||
copy /y $** $@ > NUL
|
||||
|
||||
"$(OUTPUT_DIR)\Setup\ZRColaRu32D.msi" : "$(OUTPUT_DIR)\ZRColaRu32D.3.msi"
|
||||
copy /y $** $@ > NUL
|
||||
|
||||
"$(OUTPUT_DIR)\Setup\ZRColaRu64.msi" \
|
||||
$(REDIST_RU_X64) : "$(OUTPUT_DIR)\ZRColaRu64.3.msi"
|
||||
copy /y $** $@ > NUL
|
||||
|
||||
"$(OUTPUT_DIR)\Setup\ZRColaRu64D.msi" : "$(OUTPUT_DIR)\ZRColaRu64D.3.msi"
|
||||
copy /y $** $@ > NUL
|
||||
|
||||
"$(OUTPUT_DIR)\Setup\ZRColaSl32.msi" \
|
||||
$(REDIST_SL_WIN32) : "$(OUTPUT_DIR)\ZRColaSl32.3.msi"
|
||||
copy /y $** $@ > NUL
|
||||
|
||||
"$(OUTPUT_DIR)\Setup\ZRColaSl32D.msi" : "$(OUTPUT_DIR)\ZRColaSl32D.3.msi"
|
||||
copy /y $** $@ > NUL
|
||||
|
||||
"$(OUTPUT_DIR)\Setup\ZRColaSl64.msi" \
|
||||
$(REDIST_SL_X64) : "$(OUTPUT_DIR)\ZRColaSl64.3.msi"
|
||||
copy /y $** $@ > NUL
|
||||
|
||||
"$(OUTPUT_DIR)\Setup\ZRColaSl64D.msi" : "$(OUTPUT_DIR)\ZRColaSl64D.3.msi"
|
||||
copy /y $** $@ > NUL
|
||||
|
||||
"$(WINDIR)\Fonts\ZRCola_Re.otf" : "$(OUTPUT_DIR)\ZRCola_Re.otf"
|
||||
copy /y $** $@ > NUL
|
||||
|
||||
@@ -325,18 +278,6 @@ $(REDIST_SL_X64) : "$(OUTPUT_DIR)\ZRColaSl64.3.msi"
|
||||
"$(WINDIR)\Fonts\ZRCola_BI.otf" : "$(OUTPUT_DIR)\ZRCola_BI.otf"
|
||||
copy /y $** $@ > NUL
|
||||
|
||||
"$(PUBLISH_DIR)\ZRColaInstallDe.exe" : "$(OUTPUT_DIR)\Win32.Release\ZRColaInstallDe.exe"
|
||||
copy /y $** $@ > NUL
|
||||
|
||||
"$(PUBLISH_DIR)\ZRColaInstallEn.exe" : "$(OUTPUT_DIR)\Win32.Release\ZRColaInstallEn.exe"
|
||||
copy /y $** $@ > NUL
|
||||
|
||||
"$(PUBLISH_DIR)\ZRColaInstallRu.exe" : "$(OUTPUT_DIR)\Win32.Release\ZRColaInstallRu.exe"
|
||||
copy /y $** $@ > NUL
|
||||
|
||||
"$(PUBLISH_DIR)\ZRColaInstallSl.exe" : "$(OUTPUT_DIR)\Win32.Release\ZRColaInstallSl.exe"
|
||||
copy /y $** $@ > NUL
|
||||
|
||||
|
||||
######################################################################
|
||||
# Shortcut creation
|
||||
@@ -350,194 +291,177 @@ $(REDIST_SL_X64) : "$(OUTPUT_DIR)\ZRColaSl64.3.msi"
|
||||
# Building
|
||||
######################################################################
|
||||
|
||||
"$(OUTPUT_DIR)\locale\de_DE\wxstd.mo" : "$(WXWIN)\locale\de.po"
|
||||
msgfmt.exe --output-file=$@ --alignment=1 --endianness=little $**
|
||||
|
||||
"$(OUTPUT_DIR)\locale\ru_RU\wxstd.mo" : "$(WXWIN)\locale\ru.po"
|
||||
msgfmt.exe --output-file=$@ --alignment=1 --endianness=little $**
|
||||
|
||||
"$(OUTPUT_DIR)\locale\sl_SI\wxstd.mo" : "$(WXWIN)\locale\sl.po"
|
||||
msgfmt.exe --output-file=$@ --alignment=1 --endianness=little $**
|
||||
|
||||
"$(OUTPUT_DIR)\locale\de_DE\ZRCola-zrcdb.mo" : "$(OUTPUT_DIR)\locale\de_DE\ZRCola-zrcdb.po"
|
||||
msgfmt.exe --output-file=$@ --alignment=1 --endianness=little $**
|
||||
|
||||
"$(OUTPUT_DIR)\locale\ru_RU\ZRCola-zrcdb.mo" : "$(OUTPUT_DIR)\locale\ru_RU\ZRCola-zrcdb.po"
|
||||
msgfmt.exe --output-file=$@ --alignment=1 --endianness=little $**
|
||||
|
||||
"$(OUTPUT_DIR)\locale\sl_SI\ZRCola-zrcdb.mo" : "$(OUTPUT_DIR)\locale\sl_SI\ZRCola-zrcdb.po"
|
||||
msgfmt.exe --output-file=$@ --alignment=1 --endianness=little $**
|
||||
|
||||
"$(OUTPUT_DIR)\Win32.Release\libZRCola10u_vc100.dll" \
|
||||
"$(OUTPUT_DIR)\Win32.Release\libZRColaUI10u_vc100.dll" \
|
||||
"$(OUTPUT_DIR)\Win32.Release\stdex10u_vc100.dll" \
|
||||
"$(OUTPUT_DIR)\Win32.Release\wxExtend10u_vc100.dll" \
|
||||
"$(OUTPUT_DIR)\Win32.Release\ZRCola.exe" \
|
||||
"$(OUTPUT_DIR)\ZRColaDe32.3.msi" \
|
||||
"$(OUTPUT_DIR)\ZRColaEn32.3.msi" \
|
||||
"$(OUTPUT_DIR)\ZRColaRu32.3.msi" \
|
||||
"$(OUTPUT_DIR)\ZRColaSl32.3.msi" ::
|
||||
"$(OUTPUT_DIR)\Win32.Release\ZRCola.exe" :: Localization
|
||||
|
||||
"$(OUTPUT_DIR)\Win32.Debug\libZRCola10ud_vc100.dll" \
|
||||
"$(OUTPUT_DIR)\Win32.Debug\libZRColaUI10ud_vc100.dll" \
|
||||
"$(OUTPUT_DIR)\Win32.Debug\stdex10ud_vc100.dll" \
|
||||
"$(OUTPUT_DIR)\Win32.Debug\wxExtend10ud_vc100.dll" \
|
||||
"$(OUTPUT_DIR)\Win32.Debug\ZRCola.exe" :: Localization
|
||||
|
||||
"$(OUTPUT_DIR)\x64.Release\libZRCola10u_vc100.dll" \
|
||||
"$(OUTPUT_DIR)\x64.Release\libZRColaUI10u_vc100.dll" \
|
||||
"$(OUTPUT_DIR)\x64.Release\stdex10u_vc100.dll" \
|
||||
"$(OUTPUT_DIR)\x64.Release\wxExtend10u_vc100.dll" \
|
||||
"$(OUTPUT_DIR)\x64.Release\ZRCola.exe" :: Localization
|
||||
|
||||
"$(OUTPUT_DIR)\x64.Debug\libZRCola10ud_vc100.dll" \
|
||||
"$(OUTPUT_DIR)\x64.Debug\libZRColaUI10ud_vc100.dll" \
|
||||
"$(OUTPUT_DIR)\x64.Debug\stdex10ud_vc100.dll" \
|
||||
"$(OUTPUT_DIR)\x64.Debug\wxExtend10ud_vc100.dll" \
|
||||
"$(OUTPUT_DIR)\x64.Debug\ZRCola.exe" :: Localization
|
||||
|
||||
"$(OUTPUT_DIR)\Win32.Release\libZRCola10u_vc100.dll" \
|
||||
"$(OUTPUT_DIR)\Win32.Release\libZRColaUI10u_vc100.dll" \
|
||||
"$(OUTPUT_DIR)\Win32.Release\stdex10u_vc100.dll" \
|
||||
"$(OUTPUT_DIR)\Win32.Release\wxExtend10u_vc100.dll" \
|
||||
"$(OUTPUT_DIR)\Win32.Release\ZRCola.exe" ::
|
||||
devenv.com "ZRCola.sln" /build "Release|Win32"
|
||||
|
||||
"$(OUTPUT_DIR)\Win32.Debug\libZRCola10ud_vc100.dll" \
|
||||
"$(OUTPUT_DIR)\Win32.Debug\libZRColaUI10ud_vc100.dll" \
|
||||
"$(OUTPUT_DIR)\Win32.Debug\stdex10ud_vc100.dll" \
|
||||
"$(OUTPUT_DIR)\Win32.Debug\wxExtend10ud_vc100.dll" \
|
||||
"$(OUTPUT_DIR)\Win32.Debug\ZRCola.exe" \
|
||||
"$(OUTPUT_DIR)\ZRColaDe32D.3.msi" \
|
||||
"$(OUTPUT_DIR)\ZRColaEn32D.3.msi" \
|
||||
"$(OUTPUT_DIR)\ZRColaRu32D.3.msi" \
|
||||
"$(OUTPUT_DIR)\ZRColaSl32D.3.msi" ::
|
||||
"$(OUTPUT_DIR)\Win32.Debug\ZRCola.exe" ::
|
||||
devenv.com "ZRCola.sln" /build "Debug|Win32"
|
||||
|
||||
"$(OUTPUT_DIR)\x64.Release\libZRCola10u_vc100.dll" \
|
||||
"$(OUTPUT_DIR)\x64.Release\libZRColaUI10u_vc100.dll" \
|
||||
"$(OUTPUT_DIR)\x64.Release\stdex10u_vc100.dll" \
|
||||
"$(OUTPUT_DIR)\x64.Release\wxExtend10u_vc100.dll" \
|
||||
"$(OUTPUT_DIR)\x64.Release\ZRCola.exe" \
|
||||
"$(OUTPUT_DIR)\ZRColaDe64.3.msi" \
|
||||
"$(OUTPUT_DIR)\ZRColaEn64.3.msi" \
|
||||
"$(OUTPUT_DIR)\ZRColaRu64.3.msi" \
|
||||
"$(OUTPUT_DIR)\ZRColaSl64.3.msi" ::
|
||||
"$(OUTPUT_DIR)\x64.Release\ZRCola.exe" ::
|
||||
devenv.com "ZRCola.sln" /build "Release|x64"
|
||||
|
||||
"$(OUTPUT_DIR)\x64.Debug\libZRCola10ud_vc100.dll" \
|
||||
"$(OUTPUT_DIR)\x64.Debug\libZRColaUI10ud_vc100.dll" \
|
||||
"$(OUTPUT_DIR)\x64.Debug\stdex10ud_vc100.dll" \
|
||||
"$(OUTPUT_DIR)\x64.Debug\wxExtend10ud_vc100.dll" \
|
||||
"$(OUTPUT_DIR)\x64.Debug\ZRCola.exe" \
|
||||
"$(OUTPUT_DIR)\ZRColaDe64D.3.msi" \
|
||||
"$(OUTPUT_DIR)\ZRColaEn64D.3.msi" \
|
||||
"$(OUTPUT_DIR)\ZRColaRu64D.3.msi" \
|
||||
"$(OUTPUT_DIR)\ZRColaSl64D.3.msi" ::
|
||||
"$(OUTPUT_DIR)\x64.Debug\ZRCola.exe" ::
|
||||
devenv.com "ZRCola.sln" /build "Debug|x64"
|
||||
|
||||
"$(OUTPUT_DIR)\Win32.Release\ZRColaInstallDe.exe" \
|
||||
"$(OUTPUT_DIR)\Win32.Release\ZRColaInstallEn.exe" \
|
||||
"$(OUTPUT_DIR)\Win32.Release\ZRColaInstallRu.exe" \
|
||||
"$(OUTPUT_DIR)\Win32.Release\ZRColaInstallSl.exe" ::
|
||||
devenv.com "ZRColaUtils.sln" /build "Release|Win32"
|
||||
"$(OUTPUT_DIR)\ZRCola32.ddf" : \
|
||||
# "$(OUTPUT_DIR)\ZRCola.de_DE.32.2.msi" \
|
||||
"$(OUTPUT_DIR)\ZRCola.en_US.32.2.msi" \
|
||||
"$(OUTPUT_DIR)\ZRCola.ru_RU.32.2.msi" \
|
||||
"$(OUTPUT_DIR)\ZRCola.sl_SI.32.2.msi"
|
||||
-if exist $@ del /f /q $@
|
||||
-if exist "$(@:"=).tmp" del /f /q "$(@:"=).tmp"
|
||||
cscript.exe "MSI\MSIBuild\MSI.wsf" //Job:MakeDDF //Nologo "$(@:"=).tmp" $** /O:"$(OUTPUT_DIR)\ZRCola32" /C:LZX
|
||||
move /y "$(@:"=).tmp" $@ > NUL
|
||||
|
||||
"$(OUTPUT_DIR)\Win32.Debug\ZRColaInstallDe.exe" \
|
||||
"$(OUTPUT_DIR)\Win32.Debug\ZRColaInstallEn.exe" \
|
||||
"$(OUTPUT_DIR)\Win32.Debug\ZRColaInstallRu.exe" \
|
||||
"$(OUTPUT_DIR)\Win32.Debug\ZRColaInstallSl.exe" ::
|
||||
devenv.com "ZRColaUtils.sln" /build "Debug|Win32"
|
||||
"$(OUTPUT_DIR)\ZRCola32D.ddf" : \
|
||||
# "$(OUTPUT_DIR)\ZRCola.de_DE.32D.2.msi" \
|
||||
"$(OUTPUT_DIR)\ZRCola.en_US.32D.2.msi" \
|
||||
"$(OUTPUT_DIR)\ZRCola.ru_RU.32D.2.msi" \
|
||||
"$(OUTPUT_DIR)\ZRCola.sl_SI.32D.2.msi"
|
||||
-if exist $@ del /f /q $@
|
||||
-if exist "$(@:"=).tmp" del /f /q "$(@:"=).tmp"
|
||||
cscript.exe "MSI\MSIBuild\MSI.wsf" //Job:MakeDDF //Nologo "$(@:"=).tmp" $** /O:"$(OUTPUT_DIR)\ZRCola32D" /C:LZX
|
||||
move /y "$(@:"=).tmp" $@ > NUL
|
||||
|
||||
"$(OUTPUT_DIR)\ZRColaDe32.3.msi" \
|
||||
"$(OUTPUT_DIR)\ZRColaEn32.3.msi" \
|
||||
"$(OUTPUT_DIR)\ZRColaRu32.3.msi" \
|
||||
"$(OUTPUT_DIR)\ZRColaSl32.3.msi" ::
|
||||
devenv.com "MSI\MSICA\MSICA.sln" /build "Release|Win32"
|
||||
devenv.com "Updater\Updater.sln" /build "Release|Win32"
|
||||
"$(OUTPUT_DIR)\ZRCola64.ddf" : \
|
||||
# "$(OUTPUT_DIR)\ZRCola.de_DE.64.2.msi" \
|
||||
"$(OUTPUT_DIR)\ZRCola.en_US.64.2.msi" \
|
||||
"$(OUTPUT_DIR)\ZRCola.ru_RU.64.2.msi" \
|
||||
"$(OUTPUT_DIR)\ZRCola.sl_SI.64.2.msi"
|
||||
-if exist $@ del /f /q $@
|
||||
-if exist "$(@:"=).tmp" del /f /q "$(@:"=).tmp"
|
||||
cscript.exe "MSI\MSIBuild\MSI.wsf" //Job:MakeDDF //Nologo "$(@:"=).tmp" $** /O:"$(OUTPUT_DIR)\ZRCola64" /C:LZX
|
||||
move /y "$(@:"=).tmp" $@ > NUL
|
||||
|
||||
"$(OUTPUT_DIR)\ZRColaDe32D.3.msi" \
|
||||
"$(OUTPUT_DIR)\ZRColaEn32D.3.msi" \
|
||||
"$(OUTPUT_DIR)\ZRColaRu32D.3.msi" \
|
||||
"$(OUTPUT_DIR)\ZRColaSl32D.3.msi" ::
|
||||
devenv.com "MSI\MSICA\MSICA.sln" /build "Debug|Win32"
|
||||
devenv.com "Updater\Updater.sln" /build "Debug|Win32"
|
||||
"$(OUTPUT_DIR)\ZRCola64D.ddf" : \
|
||||
# "$(OUTPUT_DIR)\ZRCola.de_DE.64D.2.msi" \
|
||||
"$(OUTPUT_DIR)\ZRCola.en_US.64D.2.msi" \
|
||||
"$(OUTPUT_DIR)\ZRCola.ru_RU.64D.2.msi" \
|
||||
"$(OUTPUT_DIR)\ZRCola.sl_SI.64D.2.msi"
|
||||
-if exist $@ del /f /q $@
|
||||
-if exist "$(@:"=).tmp" del /f /q "$(@:"=).tmp"
|
||||
cscript.exe "MSI\MSIBuild\MSI.wsf" //Job:MakeDDF //Nologo "$(@:"=).tmp" $** /O:"$(OUTPUT_DIR)\ZRCola64D" /C:LZX
|
||||
move /y "$(@:"=).tmp" $@ > NUL
|
||||
|
||||
"$(OUTPUT_DIR)\ZRColaDe64.3.msi" \
|
||||
"$(OUTPUT_DIR)\ZRColaEn64.3.msi" \
|
||||
"$(OUTPUT_DIR)\ZRColaRu64.3.msi" \
|
||||
"$(OUTPUT_DIR)\ZRColaSl64.3.msi" ::
|
||||
devenv.com "MSI\MSICA\MSICA.sln" /build "Release|x64"
|
||||
devenv.com "Updater\Updater.sln" /build "Release|x64"
|
||||
"$(OUTPUT_DIR)\ZRCola32.cab" \
|
||||
"$(OUTPUT_DIR)\ZRCola32.inf" \
|
||||
"$(OUTPUT_DIR)\ZRCola32.rpt" : "$(OUTPUT_DIR)\ZRCola32.ddf"
|
||||
makecab.exe /F $**
|
||||
|
||||
"$(OUTPUT_DIR)\ZRColaDe64D.3.msi" \
|
||||
"$(OUTPUT_DIR)\ZRColaEn64D.3.msi" \
|
||||
"$(OUTPUT_DIR)\ZRColaRu64D.3.msi" \
|
||||
"$(OUTPUT_DIR)\ZRColaSl64D.3.msi" ::
|
||||
devenv.com "MSI\MSICA\MSICA.sln" /build "Debug|x64"
|
||||
devenv.com "Updater\Updater.sln" /build "Debug|x64"
|
||||
"$(OUTPUT_DIR)\ZRCola32D.cab" \
|
||||
"$(OUTPUT_DIR)\ZRCola32D.inf" \
|
||||
"$(OUTPUT_DIR)\ZRCola32D.rpt" : "$(OUTPUT_DIR)\ZRCola32D.ddf"
|
||||
makecab.exe /F $**
|
||||
|
||||
"$(OUTPUT_DIR)\ZRColaDe32.3.msi" ::
|
||||
cd "MSI\ZRCola"
|
||||
$(MAKE) /f "Makefile" /$(MAKEFLAGS) LANG=De PLAT=Win32 CFG=Release
|
||||
cd "$(MAKEDIR)"
|
||||
"$(OUTPUT_DIR)\ZRCola64.cab" \
|
||||
"$(OUTPUT_DIR)\ZRCola64.inf" \
|
||||
"$(OUTPUT_DIR)\ZRCola64.rpt" : "$(OUTPUT_DIR)\ZRCola64.ddf"
|
||||
makecab.exe /F $**
|
||||
|
||||
"$(OUTPUT_DIR)\ZRColaDe32D.3.msi" ::
|
||||
cd "MSI\ZRCola"
|
||||
$(MAKE) /f "Makefile" /$(MAKEFLAGS) LANG=De PLAT=Win32 CFG=Debug
|
||||
cd "$(MAKEDIR)"
|
||||
|
||||
"$(OUTPUT_DIR)\ZRColaDe64.3.msi" ::
|
||||
cd "MSI\ZRCola"
|
||||
$(MAKE) /f "Makefile" /$(MAKEFLAGS) LANG=De PLAT=x64 CFG=Release
|
||||
cd "$(MAKEDIR)"
|
||||
|
||||
"$(OUTPUT_DIR)\ZRColaDe64D.3.msi" ::
|
||||
cd "MSI\ZRCola"
|
||||
$(MAKE) /f "Makefile" /$(MAKEFLAGS) LANG=De PLAT=x64 CFG=Debug
|
||||
cd "$(MAKEDIR)"
|
||||
|
||||
"$(OUTPUT_DIR)\ZRColaEn32.3.msi" ::
|
||||
cd "MSI\ZRCola"
|
||||
$(MAKE) /f "Makefile" /$(MAKEFLAGS) LANG=En PLAT=Win32 CFG=Release
|
||||
cd "$(MAKEDIR)"
|
||||
|
||||
"$(OUTPUT_DIR)\ZRColaEn32D.3.msi" ::
|
||||
cd "MSI\ZRCola"
|
||||
$(MAKE) /f "Makefile" /$(MAKEFLAGS) LANG=En PLAT=Win32 CFG=Debug
|
||||
cd "$(MAKEDIR)"
|
||||
|
||||
"$(OUTPUT_DIR)\ZRColaEn64.3.msi" ::
|
||||
cd "MSI\ZRCola"
|
||||
$(MAKE) /f "Makefile" /$(MAKEFLAGS) LANG=En PLAT=x64 CFG=Release
|
||||
cd "$(MAKEDIR)"
|
||||
|
||||
"$(OUTPUT_DIR)\ZRColaEn64D.3.msi" ::
|
||||
cd "MSI\ZRCola"
|
||||
$(MAKE) /f "Makefile" /$(MAKEFLAGS) LANG=En PLAT=x64 CFG=Debug
|
||||
cd "$(MAKEDIR)"
|
||||
|
||||
"$(OUTPUT_DIR)\ZRColaRu32.3.msi" ::
|
||||
cd "MSI\ZRCola"
|
||||
$(MAKE) /f "Makefile" /$(MAKEFLAGS) LANG=Ru PLAT=Win32 CFG=Release
|
||||
cd "$(MAKEDIR)"
|
||||
|
||||
"$(OUTPUT_DIR)\ZRColaRu32D.3.msi" ::
|
||||
cd "MSI\ZRCola"
|
||||
$(MAKE) /f "Makefile" /$(MAKEFLAGS) LANG=Ru PLAT=Win32 CFG=Debug
|
||||
cd "$(MAKEDIR)"
|
||||
|
||||
"$(OUTPUT_DIR)\ZRColaRu64.3.msi" ::
|
||||
cd "MSI\ZRCola"
|
||||
$(MAKE) /f "Makefile" /$(MAKEFLAGS) LANG=Ru PLAT=x64 CFG=Release
|
||||
cd "$(MAKEDIR)"
|
||||
|
||||
"$(OUTPUT_DIR)\ZRColaRu64D.3.msi" ::
|
||||
cd "MSI\ZRCola"
|
||||
$(MAKE) /f "Makefile" /$(MAKEFLAGS) LANG=Ru PLAT=x64 CFG=Debug
|
||||
cd "$(MAKEDIR)"
|
||||
|
||||
"$(OUTPUT_DIR)\ZRColaSl32.3.msi" ::
|
||||
cd "MSI\ZRCola"
|
||||
$(MAKE) /f "Makefile" /$(MAKEFLAGS) LANG=Sl PLAT=Win32 CFG=Release
|
||||
cd "$(MAKEDIR)"
|
||||
|
||||
"$(OUTPUT_DIR)\ZRColaSl32D.3.msi" ::
|
||||
cd "MSI\ZRCola"
|
||||
$(MAKE) /f "Makefile" /$(MAKEFLAGS) LANG=Sl PLAT=Win32 CFG=Debug
|
||||
cd "$(MAKEDIR)"
|
||||
|
||||
"$(OUTPUT_DIR)\ZRColaSl64.3.msi" ::
|
||||
cd "MSI\ZRCola"
|
||||
$(MAKE) /f "Makefile" /$(MAKEFLAGS) LANG=Sl PLAT=x64 CFG=Release
|
||||
cd "$(MAKEDIR)"
|
||||
|
||||
"$(OUTPUT_DIR)\ZRColaSl64D.3.msi" ::
|
||||
cd "MSI\ZRCola"
|
||||
$(MAKE) /f "Makefile" /$(MAKEFLAGS) LANG=Sl PLAT=x64 CFG=Debug
|
||||
cd "$(MAKEDIR)"
|
||||
"$(OUTPUT_DIR)\ZRCola64D.cab" \
|
||||
"$(OUTPUT_DIR)\ZRCola64D.inf" \
|
||||
"$(OUTPUT_DIR)\ZRCola64D.rpt" : "$(OUTPUT_DIR)\ZRCola64D.ddf"
|
||||
makecab.exe /F $**
|
||||
|
||||
"$(PUBLISH_DIR)\catalog-0000.xml" : "$(OUTPUT_DIR)\catalog.xml"
|
||||
if exist $@ del /f /q $@
|
||||
output\$(PLAT).Release\UpdSignXML.exe $** $@
|
||||
|
||||
"$(OUTPUT_DIR)\catalog.xml" : \
|
||||
# "$(OUTPUT_DIR)\ZRColaDe32.3.msi" \
|
||||
# "$(OUTPUT_DIR)\ZRColaDe64.3.msi" \
|
||||
"$(OUTPUT_DIR)\ZRColaEn32.3.msi" \
|
||||
"$(OUTPUT_DIR)\ZRColaEn64.3.msi" \
|
||||
# "$(OUTPUT_DIR)\ZRColaRu32.3.msi" \
|
||||
# "$(OUTPUT_DIR)\ZRColaRu64.3.msi" \
|
||||
"$(OUTPUT_DIR)\ZRColaSl32.3.msi" \
|
||||
"$(OUTPUT_DIR)\ZRColaSl64.3.msi"
|
||||
# "$(OUTPUT_DIR)\ZRColaDe32.msi" \
|
||||
# "$(OUTPUT_DIR)\ZRColaDe64.msi" \
|
||||
"$(OUTPUT_DIR)\ZRColaEn32.msi" \
|
||||
"$(OUTPUT_DIR)\ZRColaEn64.msi" \
|
||||
"$(OUTPUT_DIR)\ZRColaRu32.msi" \
|
||||
"$(OUTPUT_DIR)\ZRColaRu64.msi" \
|
||||
"$(OUTPUT_DIR)\ZRColaSl32.msi" \
|
||||
"$(OUTPUT_DIR)\ZRColaSl64.msi"
|
||||
-if exist $@ del /f /q $@
|
||||
-if exist "$(@:"=).tmp" del /f /q "$(@:"=).tmp"
|
||||
copy /y "$(PUBLISH_DIR)\catalog-0000.xml" "$(@:"=).tmp" > NUL
|
||||
# output\$(PLAT).Release\UpdPublish.exe "$(@:"=).tmp" "$(@:"=).tmp" win-x86 de_DE "$(PUBLISH_PACKAGE_URL)/ZRColaDe32.msi" -f "$(OUTPUT_DIR)\ZRColaDe32.3.msi"
|
||||
# output\$(PLAT).Release\UpdPublish.exe "$(@:"=).tmp" "$(@:"=).tmp" win-amd64 de_DE "$(PUBLISH_PACKAGE_URL)/ZRColaDe64.msi" -f "$(OUTPUT_DIR)\ZRColaDe64.3.msi"
|
||||
output\$(PLAT).Release\UpdPublish.exe "$(@:"=).tmp" "$(@:"=).tmp" win-x86 en_US "$(PUBLISH_PACKAGE_URL)/ZRColaEn32.msi" -f "$(OUTPUT_DIR)\ZRColaEn32.3.msi"
|
||||
output\$(PLAT).Release\UpdPublish.exe "$(@:"=).tmp" "$(@:"=).tmp" win-amd64 en_US "$(PUBLISH_PACKAGE_URL)/ZRColaEn64.msi" -f "$(OUTPUT_DIR)\ZRColaEn64.3.msi"
|
||||
# output\$(PLAT).Release\UpdPublish.exe "$(@:"=).tmp" "$(@:"=).tmp" win-x86 ru_RU "$(PUBLISH_PACKAGE_URL)/ZRColaRu32.msi" -f "$(OUTPUT_DIR)\ZRColaRu32.3.msi"
|
||||
# output\$(PLAT).Release\UpdPublish.exe "$(@:"=).tmp" "$(@:"=).tmp" win-amd64 ru_RU "$(PUBLISH_PACKAGE_URL)/ZRColaRu64.msi" -f "$(OUTPUT_DIR)\ZRColaRu64.3.msi"
|
||||
output\$(PLAT).Release\UpdPublish.exe "$(@:"=).tmp" "$(@:"=).tmp" win-x86 sl_SI "$(PUBLISH_PACKAGE_URL)/ZRColaSl32.msi" -f "$(OUTPUT_DIR)\ZRColaSl32.3.msi"
|
||||
output\$(PLAT).Release\UpdPublish.exe "$(@:"=).tmp" "$(@:"=).tmp" win-amd64 sl_SI "$(PUBLISH_PACKAGE_URL)/ZRColaSl64.msi" -f "$(OUTPUT_DIR)\ZRColaSl64.3.msi"
|
||||
# output\$(PLAT).Release\UpdPublish.exe "$(@:"=).tmp" "$(@:"=).tmp" win-x86 de_DE "$(PUBLISH_PACKAGE_URL)/ZRColaDe32.msi" -f "$(OUTPUT_DIR)\ZRColaDe32.msi"
|
||||
# output\$(PLAT).Release\UpdPublish.exe "$(@:"=).tmp" "$(@:"=).tmp" win-amd64 de_DE "$(PUBLISH_PACKAGE_URL)/ZRColaDe64.msi" -f "$(OUTPUT_DIR)\ZRColaDe64.msi"
|
||||
output\$(PLAT).Release\UpdPublish.exe "$(@:"=).tmp" "$(@:"=).tmp" win-x86 en_US "$(PUBLISH_PACKAGE_URL)/ZRColaEn32.msi" -f "$(OUTPUT_DIR)\ZRColaEn32.msi"
|
||||
output\$(PLAT).Release\UpdPublish.exe "$(@:"=).tmp" "$(@:"=).tmp" win-amd64 en_US "$(PUBLISH_PACKAGE_URL)/ZRColaEn64.msi" -f "$(OUTPUT_DIR)\ZRColaEn64.msi"
|
||||
output\$(PLAT).Release\UpdPublish.exe "$(@:"=).tmp" "$(@:"=).tmp" win-x86 ru_RU "$(PUBLISH_PACKAGE_URL)/ZRColaRu32.msi" -f "$(OUTPUT_DIR)\ZRColaRu32.msi"
|
||||
output\$(PLAT).Release\UpdPublish.exe "$(@:"=).tmp" "$(@:"=).tmp" win-amd64 ru_RU "$(PUBLISH_PACKAGE_URL)/ZRColaRu64.msi" -f "$(OUTPUT_DIR)\ZRColaRu64.msi"
|
||||
output\$(PLAT).Release\UpdPublish.exe "$(@:"=).tmp" "$(@:"=).tmp" win-x86 sl_SI "$(PUBLISH_PACKAGE_URL)/ZRColaSl32.msi" -f "$(OUTPUT_DIR)\ZRColaSl32.msi"
|
||||
output\$(PLAT).Release\UpdPublish.exe "$(@:"=).tmp" "$(@:"=).tmp" win-amd64 sl_SI "$(PUBLISH_PACKAGE_URL)/ZRColaSl64.msi" -f "$(OUTPUT_DIR)\ZRColaSl64.msi"
|
||||
move /y "$(@:"=).tmp" $@ > NUL
|
||||
|
||||
!ENDIF
|
||||
|
||||
|
||||
#LANG=de_DE
|
||||
#LANG_OUT=De
|
||||
#!INCLUDE "MSILocal.mak"
|
||||
|
||||
LANG=en_US
|
||||
LANG_OUT=En
|
||||
!INCLUDE "MSILocal.mak"
|
||||
|
||||
LANG=ru_RU
|
||||
LANG_OUT=Ru
|
||||
!INCLUDE "MSILocal.mak"
|
||||
|
||||
LANG=sl_SI
|
||||
LANG_OUT=Sl
|
||||
!INCLUDE "MSILocal.mak"
|
||||
|
||||
13
README.md
13
README.md
@@ -3,7 +3,7 @@
|
||||
A Microsoft Windows application for composing texts using a wide range of Slavic (and general) letters from or beyond Unicode.
|
||||
|
||||
## Project Website
|
||||
http://zrcola-2.amebis.si/en/ (Development version)
|
||||
http://zrcola.zrc-sazu.si/en/
|
||||
|
||||
## Binaries for Download
|
||||
https://www.amebis.si/prenos/ZRCola/
|
||||
@@ -15,15 +15,16 @@ https://www.amebis.si/prenos/ZRCola/
|
||||
- Microsoft Visual Studio 2010 SP1
|
||||
- _sed.exe_ and _grep.exe_
|
||||
- Command line utilities from Microsoft Windows SDK Bin folder: distributed with Visual Studio, add Bin folder to path manually.
|
||||
- Additional command line utilities from project’s bin folder: add bin folder to path. The source code is provided on request.
|
||||
- Additional command line utilities from project's bin folder: add bin folder to path. The source code is provided on request.
|
||||
- wxWidgets 3.0 - set `WXWIN` environment variable to the folder where wxWidgets include and lib files are located. Official binary builds are required.
|
||||
|
||||
### Digital Signing of Build Outputs
|
||||
In order to have the build process digitally sign output files, one should provide the following:
|
||||
|
||||
1. A signing certificate installed in the current user’s certificate store.
|
||||
1. A signing certificate installed in the current user's certificate store.
|
||||
2. The following variables in the environment:
|
||||
- `ManifestCertificateThumbprint` - set the value to certificate’s SHA1 thumbprint (hexadecimal, without spaces, i.e. `bc0d8da45f9eeefcbe4e334e1fc262804df88d7e`).
|
||||
- `ManifestTimestampUrl` - set the value to URL used to perform timestamp signature (i.e. `http://timestamp.verisign.com/scripts/timstamp.dll`). In order to perform timestamp signing successfully, the computer running the build should be online and able to access this URL.
|
||||
- `ManifestCertificateThumbprint` - set the value to certificate's SHA1 thumbprint (hexadecimal, without spaces, i.e. `bc0d8da45f9eeefcbe4e334e1fc262804df88d7e`).
|
||||
- `ManifestTimestampUrl` - set the value to URL used to perform timestamp signature (i.e. `http://timestamp.verisign.com/scripts/timstamp.dll`). In order to perform timestamp signing successfully, the computer running the build should be online and able to access this URL.
|
||||
|
||||
Please note that only Release builds are configured for timestamp signing. Debug configurations do not attempt to timestamp sign the resulting DLL and EXE files in order to speed up the building process and enable offline building.
|
||||
|
||||
@@ -36,7 +37,7 @@ Use Microsoft NMAKE to build the project. The resulting files can be found in ou
|
||||
- `nmake Register` Build a debug version of project, install fonts (reboot required), and Start Menu shortcuts. For development purposes only!
|
||||
- `nmake Unregister` Remove Start Menu shortcuts, and fonts. For development purposes only!
|
||||
|
||||
The `/ls` flag can be appended to the commands above to reduce NMAKE’s verbosity. You can combine multiple targets (i.e. nmake Unregister Clean). Please, see NMAKE reference for further reading.
|
||||
The `/ls` flag can be appended to the commands above to reduce NMAKE's verbosity. You can combine multiple targets (i.e. nmake Unregister Clean). Please, see NMAKE reference for further reading.
|
||||
|
||||
## Contact Information
|
||||
Please contact the following addressee for further information and help:
|
||||
|
||||
2
Updater
2
Updater
Submodule Updater updated: 6434a51171...c25cf09b9a
@@ -9,7 +9,7 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "wxExtend", "lib\wxExtend\bu
|
||||
EndProject
|
||||
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Solution Items", "Solution Items", "{CFEBC17E-C840-4507-BDE6-1EF5B52DDCC5}"
|
||||
ProjectSection(SolutionItems) = preProject
|
||||
include\zrcola.h = include\zrcola.h
|
||||
include\version.h = include\version.h
|
||||
EndProjectSection
|
||||
EndProject
|
||||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libZRCola", "lib\libZRCola\build\libZRCola.vcxproj", "{3C61929E-7289-4101-8D0A-DA22D6E1AEA8}"
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
#
|
||||
# Copyright 1991-2016 Amebis
|
||||
# Copyright 1991-2017 Amebis
|
||||
#
|
||||
# This file is part of ZRCola.
|
||||
#
|
||||
@@ -19,6 +19,10 @@
|
||||
|
||||
!INCLUDE "..\..\include\MSIBuildCfg.mak"
|
||||
|
||||
!IFNDEF MSIBUILD_LANGID
|
||||
!ERROR Parameter MSIBUILD_LANGID is undefined.
|
||||
!ENDIF
|
||||
|
||||
MSIBUILD_IS_LOCALIZEABLE=1
|
||||
|
||||
|
||||
@@ -104,10 +108,10 @@ compZRCola.exe.Win32 {F30B6545-6203-4B7D-8575-85245A0F90E5} ZRCOLABINDIR 0 file
|
||||
!IF "$(PLAT)" == "x64"
|
||||
compZRCola.exe.x64 {D45B105D-2303-459A-AF4B-52AC3AAD5510} ZRCOLABINDIR 256 fileZRCola.exe.x64
|
||||
!ENDIF
|
||||
!IF "$(LANG)" == "Ru"
|
||||
!IF "$(LANG)" == "ru_RU"
|
||||
compZRCola.mo.ru_RU {DEA5D11C-2B0E-4B85-ACE3-D76334866F50} ZRCOLALOCRURUDIR $(MSIBUILD_COMPONENT_ATTRIB_FILE) fileZRCola.mo.ru_RU
|
||||
!ENDIF
|
||||
!IF "$(LANG)" == "Sl"
|
||||
!IF "$(LANG)" == "sl_SI"
|
||||
compZRCola.mo.sl_SI {7FF95C71-D8DE-4D2B-A26D-FEB5A1F54D63} ZRCOLALOCSLSIDIR $(MSIBUILD_COMPONENT_ATTRIB_FILE) fileZRCola.mo.sl_SI
|
||||
!ENDIF
|
||||
<<NOKEEP
|
||||
@@ -118,7 +122,7 @@ compZRCola.mo.sl_SI {7FF95C71-D8DE-4D2B-A26D-FEB5A1F54D63} ZRCOLALOCSLSIDIR $(MS
|
||||
|
||||
All :: "$(LANG).$(PLAT).$(CFG).Control-2.idt"
|
||||
|
||||
"En.$(PLAT).$(CFG).Control-2.idtx" : "Makefile" "..\..\include\MSIBuildCfg.mak"
|
||||
"en_US.$(PLAT).$(CFG).Control-2.idtx" : "Makefile" "..\..\include\MSIBuildCfg.mak"
|
||||
-if exist $@ del /f /q $@
|
||||
move /y << $@ > NUL
|
||||
Dialog_ Control Type X Y Width Height Attributes Property Text Control_Next Help
|
||||
@@ -142,20 +146,13 @@ dlgTutorial3 ctlText1 Text 15 177 370 24 196611 Characters can be entered using
|
||||
dlgTutorial3 ctlContinue PushButton 325 265 60 20 3 &Continue ctlBannerBitmap
|
||||
<<NOKEEP
|
||||
|
||||
"De.$(PLAT).$(CFG).Control-2.idt" : "En.$(PLAT).$(CFG).Control-2.idtx" "..\locale\de_DE.po"
|
||||
rcxgettext.exe idtp $@ $**
|
||||
|
||||
"En.$(PLAT).$(CFG).Control-2.idt" : "En.$(PLAT).$(CFG).Control-2.idtx"
|
||||
!IF "$(LANG)" == "en_US"
|
||||
"en_US.$(PLAT).$(CFG).Control-2.idt" : "en_US.$(PLAT).$(CFG).Control-2.idtx"
|
||||
copy /y $** $@ > NUL
|
||||
|
||||
"It.$(PLAT).$(CFG).Control-2.idt" : "En.$(PLAT).$(CFG).Control-2.idtx" "..\locale\it_IT.po"
|
||||
rcxgettext.exe idtp $@ $**
|
||||
|
||||
"Ru.$(PLAT).$(CFG).Control-2.idt" : "En.$(PLAT).$(CFG).Control-2.idtx" "..\locale\ru_RU.po"
|
||||
rcxgettext.exe idtp $@ $**
|
||||
|
||||
"Sl.$(PLAT).$(CFG).Control-2.idt" : "En.$(PLAT).$(CFG).Control-2.idtx" "..\locale\sl_SI.po"
|
||||
rcxgettext.exe idtp $@ $**
|
||||
!ELSE
|
||||
"$(LANG).$(PLAT).$(CFG).Control-2.idt" : "en_US.$(PLAT).$(CFG).Control-2.idtx" "..\locale\$(LANG).po"
|
||||
cscript.exe "..\..\MSI\MSIBuild\MSI.wsf" //Job:IDTTranslate //Nologo $@ $** /CP:$(MSIBUILD_CODEPAGE)
|
||||
!ENDIF
|
||||
|
||||
|
||||
######################################################################
|
||||
@@ -203,9 +200,9 @@ All :: "$(LANG).$(PLAT).$(CFG).InstallUISequence-1.idt"
|
||||
Action Condition Sequence
|
||||
s$(MSIBUILD_LENGTH_ID) S255 I2
|
||||
InstallUISequence Action
|
||||
dlgTutorial1 NOT Installed 1400
|
||||
dlgTutorial2 NOT Installed 1401
|
||||
dlgTutorial3 NOT Installed 1402
|
||||
dlgTutorial1 NOT Installed AND &featZRCola>=3 1400
|
||||
dlgTutorial2 NOT Installed AND &featZRCola>=3 1401
|
||||
dlgTutorial3 NOT Installed AND &featZRCola>=3 1402
|
||||
<<NOKEEP
|
||||
|
||||
|
||||
@@ -214,7 +211,7 @@ dlgTutorial3 NOT Installed 1402
|
||||
|
||||
All :: "$(LANG).$(PLAT).$(CFG).Feature-2.idt"
|
||||
|
||||
"En.$(PLAT).$(CFG).Feature-2.idtx" : "Makefile" "..\..\include\MSIBuildCfg.mak"
|
||||
"en_US.$(PLAT).$(CFG).Feature-2.idtx" : "Makefile" "..\..\include\MSIBuildCfg.mak"
|
||||
-if exist $@ del /f /q $@
|
||||
move /y << $@ > NUL
|
||||
Feature Feature_Parent Title Description Display Level Directory_ Attributes
|
||||
@@ -223,20 +220,13 @@ s$(MSIBUILD_LENGTH_ID) S$(MSIBUILD_LENGTH_ID) L64 L255 I2 i2 S$(MSIBUILD_LENGTH_
|
||||
featZRCola ZRCola Input system for linguistic use 1 1 ZRCOLADIR 8
|
||||
<<NOKEEP
|
||||
|
||||
"De.$(PLAT).$(CFG).Feature-2.idt" : "En.$(PLAT).$(CFG).Feature-2.idtx" "..\locale\de_DE.po"
|
||||
rcxgettext.exe idtp $@ $**
|
||||
|
||||
"En.$(PLAT).$(CFG).Feature-2.idt" : "En.$(PLAT).$(CFG).Feature-2.idtx"
|
||||
!IF "$(LANG)" == "en_US"
|
||||
"en_US.$(PLAT).$(CFG).Feature-2.idt" : "en_US.$(PLAT).$(CFG).Feature-2.idtx"
|
||||
copy /y $** $@ > NUL
|
||||
|
||||
"It.$(PLAT).$(CFG).Feature-2.idt" : "En.$(PLAT).$(CFG).Feature-2.idtx" "..\locale\it_IT.po"
|
||||
rcxgettext.exe idtp $@ $**
|
||||
|
||||
"Ru.$(PLAT).$(CFG).Feature-2.idt" : "En.$(PLAT).$(CFG).Feature-2.idtx" "..\locale\ru_RU.po"
|
||||
rcxgettext.exe idtp $@ $**
|
||||
|
||||
"Sl.$(PLAT).$(CFG).Feature-2.idt" : "En.$(PLAT).$(CFG).Feature-2.idtx" "..\locale\sl_SI.po"
|
||||
rcxgettext.exe idtp $@ $**
|
||||
!ELSE
|
||||
"$(LANG).$(PLAT).$(CFG).Feature-2.idt" : "en_US.$(PLAT).$(CFG).Feature-2.idtx" "..\locale\$(LANG).po"
|
||||
cscript.exe "..\..\MSI\MSIBuild\MSI.wsf" //Job:IDTTranslate //Nologo $@ $** /CP:$(MSIBUILD_CODEPAGE)
|
||||
!ENDIF
|
||||
|
||||
|
||||
######################################################################
|
||||
@@ -260,21 +250,13 @@ featZRCola compLanguage
|
||||
featZRCola compDatabasePath
|
||||
featZRCola compZRCola.zrcdb
|
||||
featZRCola compZRCola_Re.otf
|
||||
!IF "$(LANG)" == "Ru"
|
||||
featZRCola compZRCola.mo.ru_RU
|
||||
featZRCola compZRCola.zrcdb.mo.ru_RU
|
||||
featZRCola complibZRColaUI.mo.ru_RU
|
||||
featZRCola compwxExtend.mo.ru_RU
|
||||
featZRCola compUpdater.mo.ru_RU
|
||||
featZRCola compwxstd.mo.ru_RU
|
||||
!ENDIF
|
||||
!IF "$(LANG)" == "Sl"
|
||||
featZRCola compZRCola.mo.sl_SI
|
||||
featZRCola compZRCola.zrcdb.mo.sl_SI
|
||||
featZRCola complibZRColaUI.mo.sl_SI
|
||||
featZRCola compwxExtend.mo.sl_SI
|
||||
featZRCola compUpdater.mo.sl_SI
|
||||
featZRCola compwxstd.mo.sl_SI
|
||||
!IF "$(LANG)" != "en_US"
|
||||
featZRCola compZRCola.mo.$(LANG)
|
||||
featZRCola compZRCola.zrcdb.mo.$(LANG)
|
||||
featZRCola complibZRColaUI.mo.$(LANG)
|
||||
featZRCola compwxExtend.mo.$(LANG)
|
||||
featZRCola compUpdater.mo.$(LANG)
|
||||
featZRCola compwxstd.mo.$(LANG)
|
||||
!ENDIF
|
||||
<<NOKEEP
|
||||
|
||||
@@ -291,11 +273,8 @@ 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
|
||||
fileZRCola.exe.$(PLAT) compZRCola.exe.$(PLAT) ZRCola.exe 0 0 1536 1
|
||||
!IF "$(LANG)" == "Ru"
|
||||
fileZRCola.mo.ru_RU compZRCola.mo.ru_RU ZRCola.mo 0 1060 0 1
|
||||
!ENDIF
|
||||
!IF "$(LANG)" == "Sl"
|
||||
fileZRCola.mo.sl_SI compZRCola.mo.sl_SI ZRCola.mo 0 1060 0 1
|
||||
!IF "$(LANG)" != "en_US"
|
||||
fileZRCola.mo.$(LANG) compZRCola.mo.$(LANG) ZRCola.mo 0 $(MSIBUILD_LANGID) 0 1
|
||||
!ENDIF
|
||||
<<NOKEEP
|
||||
|
||||
@@ -340,7 +319,7 @@ rmfiZRCola compZRCola.exe.$(PLAT) ZRColaShortcutDir 2
|
||||
|
||||
All :: "$(LANG).$(PLAT).$(CFG).Shortcut-2.idt"
|
||||
|
||||
"En.$(PLAT).$(CFG).Shortcut-2.idtx" : "Makefile" "..\..\include\MSIBuildCfg.mak"
|
||||
"en_US.$(PLAT).$(CFG).Shortcut-2.idtx" : "Makefile" "..\..\include\MSIBuildCfg.mak"
|
||||
-if exist $@ del /f /q $@
|
||||
move /y << $@ > NUL
|
||||
Shortcut Directory_ Name Component_ Target Arguments Description Hotkey Icon_ IconIndex ShowCmd WkDir
|
||||
@@ -349,20 +328,13 @@ s$(MSIBUILD_LENGTH_ID) s$(MSIBUILD_LENGTH_ID) l128 s$(MSIBUILD_LENGTH_ID) s$(MSI
|
||||
shctZRCola ZRColaShortcutDir ZRCola compZRCola.exe.$(PLAT) featZRCola Input system for linguistic use iconZRCola.ico ZRCOLABINDIR
|
||||
<<NOKEEP
|
||||
|
||||
"De.$(PLAT).$(CFG).Shortcut-2.idt" : "En.$(PLAT).$(CFG).Shortcut-2.idtx" "..\locale\de_DE.po"
|
||||
rcxgettext.exe idtp $@ $**
|
||||
|
||||
"En.$(PLAT).$(CFG).Shortcut-2.idt" : "En.$(PLAT).$(CFG).Shortcut-2.idtx"
|
||||
!IF "$(LANG)" == "en_US"
|
||||
"en_US.$(PLAT).$(CFG).Shortcut-2.idt" : "en_US.$(PLAT).$(CFG).Shortcut-2.idtx"
|
||||
copy /y $** $@ > NUL
|
||||
|
||||
"It.$(PLAT).$(CFG).Shortcut-2.idt" : "En.$(PLAT).$(CFG).Shortcut-2.idtx" "..\locale\it_IT.po"
|
||||
rcxgettext.exe idtp $@ $**
|
||||
|
||||
"Ru.$(PLAT).$(CFG).Shortcut-2.idt" : "En.$(PLAT).$(CFG).Shortcut-2.idtx" "..\locale\ru_RU.po"
|
||||
rcxgettext.exe idtp $@ $**
|
||||
|
||||
"Sl.$(PLAT).$(CFG).Shortcut-2.idt" : "En.$(PLAT).$(CFG).Shortcut-2.idtx" "..\locale\sl_SI.po"
|
||||
rcxgettext.exe idtp $@ $**
|
||||
!ELSE
|
||||
"$(LANG).$(PLAT).$(CFG).Shortcut-2.idt" : "en_US.$(PLAT).$(CFG).Shortcut-2.idtx" "..\locale\$(LANG).po"
|
||||
cscript.exe "..\..\MSI\MSIBuild\MSI.wsf" //Job:IDTTranslate //Nologo $@ $** /CP:$(MSIBUILD_CODEPAGE)
|
||||
!ENDIF
|
||||
|
||||
|
||||
######################################################################
|
||||
|
||||
1277
ZRCola/ZRCola.fbp
1277
ZRCola/ZRCola.fbp
File diff suppressed because it is too large
Load Diff
BIN
ZRCola/ZRCola.rc
BIN
ZRCola/ZRCola.rc
Binary file not shown.
@@ -91,6 +91,7 @@
|
||||
<ClCompile Include="zrcolagui.cpp" />
|
||||
<ClCompile Include="zrcolakeyhndlr.cpp" />
|
||||
<ClCompile Include="zrcolasettings.cpp" />
|
||||
<ClCompile Include="zrcolatranseq.cpp" />
|
||||
<ClCompile Include="zrcolaupdater.cpp" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
@@ -106,6 +107,7 @@
|
||||
<ClInclude Include="zrcolagui.h" />
|
||||
<ClInclude Include="zrcolakeyhndlr.h" />
|
||||
<ClInclude Include="zrcolasettings.h" />
|
||||
<ClInclude Include="zrcolatranseq.h" />
|
||||
<ClInclude Include="zrcolaupdater.h" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
@@ -115,6 +117,9 @@
|
||||
<ProjectReference Include="..\lib\libZRCola\build\libZRCola.vcxproj">
|
||||
<Project>{3c61929e-7289-4101-8d0a-da22d6e1aea8}</Project>
|
||||
</ProjectReference>
|
||||
<ProjectReference Include="..\lib\WinStd\build\WinStd.vcxproj">
|
||||
<Project>{47399d91-7eb9-41de-b521-514ba5db0c43}</Project>
|
||||
</ProjectReference>
|
||||
<ProjectReference Include="..\lib\wxExtend\build\wxExtendDll.vcxproj">
|
||||
<Project>{a3a36689-ac35-4026-93da-a3ba0c0e767c}</Project>
|
||||
</ProjectReference>
|
||||
@@ -125,6 +130,8 @@
|
||||
<ItemGroup>
|
||||
<None Include="locale\ZRCola.pot" />
|
||||
<None Include="res\char_select.ico" />
|
||||
<None Include="res\copy_composed_and_return.ico" />
|
||||
<None Include="res\copy_decomposed_and_return.ico" />
|
||||
<None Include="res\edit_copy.ico" />
|
||||
<None Include="res\edit_cut.ico" />
|
||||
<None Include="res\edit_paste.ico" />
|
||||
@@ -134,7 +141,9 @@
|
||||
<None Include="res\send_composed.ico" />
|
||||
<None Include="res\send_decomposed.ico" />
|
||||
<None Include="res\zrcola.ico" />
|
||||
<None Include="ZRCola.fbp" />
|
||||
<None Include="ZRCola.fbp">
|
||||
<SubType>Designer</SubType>
|
||||
</None>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ResourceCompile Include="ZRCola.rc" />
|
||||
|
||||
@@ -58,6 +58,9 @@
|
||||
<ClCompile Include="zrcolachrreq.cpp">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="zrcolatranseq.cpp">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ClInclude Include="stdafx.h">
|
||||
@@ -99,6 +102,9 @@
|
||||
<ClInclude Include="zrcolachrreq.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="zrcolatranseq.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</ClInclude>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<None Include="res\zrcola.ico">
|
||||
@@ -137,6 +143,12 @@
|
||||
<None Include="res\navigate_forward.ico">
|
||||
<Filter>Resource Files</Filter>
|
||||
</None>
|
||||
<None Include="res\copy_composed_and_return.ico">
|
||||
<Filter>Resource Files</Filter>
|
||||
</None>
|
||||
<None Include="res\copy_decomposed_and_return.ico">
|
||||
<Filter>Resource Files</Filter>
|
||||
</None>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ResourceCompile Include="ZRCola.rc">
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
BIN
ZRCola/res/copy_destination_and_return.ico
Normal file
BIN
ZRCola/res/copy_destination_and_return.ico
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 52 KiB |
1698
ZRCola/res/copy_destination_and_return.pdf
Normal file
1698
ZRCola/res/copy_destination_and_return.pdf
Normal file
File diff suppressed because one or more lines are too long
BIN
ZRCola/res/copy_source_and_return.ico
Normal file
BIN
ZRCola/res/copy_source_and_return.ico
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 52 KiB |
1718
ZRCola/res/copy_source_and_return.pdf
Normal file
1718
ZRCola/res/copy_source_and_return.pdf
Normal file
File diff suppressed because one or more lines are too long
4
ZRCola/res/desktop.ini
Normal file
4
ZRCola/res/desktop.ini
Normal file
@@ -0,0 +1,4 @@
|
||||
[ViewState]
|
||||
Mode=
|
||||
Vid=
|
||||
FolderType=Pictures
|
||||
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
|
Before Width: | Height: | Size: 52 KiB After Width: | Height: | Size: 52 KiB |
1783
ZRCola/res/send_destination.pdf
Normal file
1783
ZRCola/res/send_destination.pdf
Normal file
File diff suppressed because one or more lines are too long
|
Before Width: | Height: | Size: 52 KiB After Width: | Height: | Size: 52 KiB |
1891
ZRCola/res/send_source.pdf
Normal file
1891
ZRCola/res/send_source.pdf
Normal file
File diff suppressed because one or more lines are too long
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
Copyright 2015-2016 Amebis
|
||||
Copyright 2015-2017 Amebis
|
||||
|
||||
This file is part of ZRCola.
|
||||
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
Copyright 2015-2016 Amebis
|
||||
Copyright 2015-2017 Amebis
|
||||
|
||||
This file is part of ZRCola.
|
||||
|
||||
@@ -19,7 +19,7 @@
|
||||
|
||||
#pragma once
|
||||
|
||||
#include "../include/zrcola.h"
|
||||
#include "../include/version.h"
|
||||
#include "zrcolaabout.h"
|
||||
#include "zrcolaapp.h"
|
||||
#include "zrcolachrcatpnl.h"
|
||||
@@ -29,6 +29,7 @@
|
||||
#include "zrcolafrm.h"
|
||||
#include "zrcolakeyhndlr.h"
|
||||
#include "zrcolasettings.h"
|
||||
#include "zrcolatranseq.h"
|
||||
#include "zrcolaupdater.h"
|
||||
|
||||
#include <Updater/chkthread.h>
|
||||
@@ -37,13 +38,15 @@
|
||||
#include <wxex/url.h>
|
||||
#include <wxex/persist/auimanager.h>
|
||||
|
||||
#include <wx/clipbrd.h>
|
||||
#include <wx/ffile.h>
|
||||
#include <wx/msgdlg.h>
|
||||
#include <wx/persist.h>
|
||||
#include <wx/persist/toplevel.h>
|
||||
#include <wx/socket.h>
|
||||
#include <wx/tokenzr.h>
|
||||
#include <wx/utils.h>
|
||||
#include <wx/valtext.h>
|
||||
#include <wx/socket.h>
|
||||
|
||||
#include <WinStd/MSI.h>
|
||||
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
Copyright 2015-2016 Amebis
|
||||
Copyright 2015-2017 Amebis
|
||||
|
||||
This file is part of ZRCola.
|
||||
|
||||
@@ -26,7 +26,7 @@
|
||||
|
||||
wxZRColaAbout::wxZRColaAbout(wxWindow* parent) : wxZRColaAboutBase(parent)
|
||||
{
|
||||
m_staticTextVersion->SetLabelText(wxT(ZRCOLA_VERSION_STR));
|
||||
m_staticTextVersion->SetLabelText(wxT(PRODUCT_VERSION_STR));
|
||||
|
||||
m_staticTextCopyright->SetLabelText(wxString::Format(_("© 2004-%s ZRC SAZU"), wxT(ZRCOLA_BUILD_YEAR_STR)));
|
||||
m_staticTextCopyright->SetLabelText(wxString::Format(_("© 2004-%s ZRC SAZU"), wxT(PRODUCT_BUILD_YEAR_STR)));
|
||||
}
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
Copyright 2015-2016 Amebis
|
||||
Copyright 2015-2017 Amebis
|
||||
|
||||
This file is part of ZRCola.
|
||||
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
Copyright 2015-2016 Amebis
|
||||
Copyright 2015-2017 Amebis
|
||||
|
||||
This file is part of ZRCola.
|
||||
|
||||
@@ -32,9 +32,7 @@ wxIMPLEMENT_APP(ZRColaApp);
|
||||
|
||||
ZRColaApp::ZRColaApp() :
|
||||
m_mainWnd(NULL),
|
||||
#ifdef __WXMSW__
|
||||
m_running(NULL),
|
||||
#endif
|
||||
m_lang_ui(wxLANGUAGE_DEFAULT),
|
||||
wxApp()
|
||||
{
|
||||
}
|
||||
@@ -46,25 +44,21 @@ bool ZRColaApp::OnInit()
|
||||
// To compensate migration to non-advertised shortcut, do the Microsoft Installer's feature completeness check manually.
|
||||
// If execution got this far in the first place (EXE and dependent DLLs are present and loadable).
|
||||
// Furthermore, this increments program usage counter.
|
||||
if (::MsiQueryFeatureState(_T(ZRCOLA_VERSION_GUID), _T("featZRCola")) != INSTALLSTATE_UNKNOWN)
|
||||
::MsiUseFeature(_T(ZRCOLA_VERSION_GUID), _T("featZRCola"));
|
||||
if (::MsiQueryFeatureState(_T(PRODUCT_VERSION_GUID), _T("featZRCola")) != INSTALLSTATE_UNKNOWN)
|
||||
::MsiUseFeature(_T(PRODUCT_VERSION_GUID), _T("featZRCola"));
|
||||
#endif
|
||||
|
||||
wxConfigBase *cfgPrev = wxConfigBase::Set(new wxConfig(wxT(ZRCOLA_CFG_APPLICATION), wxT(ZRCOLA_CFG_VENDOR)));
|
||||
// Initialize configuration.
|
||||
wxConfigBase *cfgPrev = wxConfigBase::Set(new wxConfig(wxT(PRODUCT_CFG_APPLICATION), wxT(PRODUCT_CFG_VENDOR)));
|
||||
if (cfgPrev) wxDELETE(cfgPrev);
|
||||
|
||||
if (!wxApp::OnInit())
|
||||
return false;
|
||||
|
||||
// Set desired locale.
|
||||
wxLanguage language = (wxLanguage)wxConfigBase::Get()->Read(wxT("Language"), wxLANGUAGE_DEFAULT);
|
||||
if (wxLocale::IsAvailable(language)) {
|
||||
wxString sPath;
|
||||
if (wxConfigBase::Get()->Read(wxT("LocalizationRepositoryPath"), &sPath))
|
||||
m_locale.AddCatalogLookupPathPrefix(sPath);
|
||||
wxVERIFY(m_locale.Init(language));
|
||||
// Initialize locale.
|
||||
if (wxInitializeLocale(m_locale, &m_lang_ui)) {
|
||||
wxVERIFY(m_locale.AddCatalog(wxT("wxExtend") wxT(wxExtendVersion)));
|
||||
wxVERIFY(m_locale.AddCatalog(wxT("Updater") wxT(wxUpdaterVersion)));
|
||||
wxVERIFY(m_locale.AddCatalog(wxT("UpdaterZRCola")));
|
||||
wxVERIFY(m_locale.AddCatalog(wxT("libZRColaUI")));
|
||||
wxVERIFY(m_locale.AddCatalog(wxT("ZRCola")));
|
||||
wxVERIFY(m_locale.AddCatalog(wxT("ZRCola-zrcdb")));
|
||||
@@ -72,8 +66,7 @@ bool ZRColaApp::OnInit()
|
||||
|
||||
#ifdef __WXMSW__
|
||||
// Create global event.
|
||||
m_running = ::CreateEvent(NULL, FALSE, FALSE, _T(ZRCOLA_CFG_APPLICATION) _T("{BBDE7AAD-29B6-4B83-ADA1-92AFA81A0883}"));
|
||||
wxASSERT(m_running);
|
||||
m_running.attach(::CreateEvent(NULL, FALSE, FALSE, _T(PRODUCT_CFG_APPLICATION) _T("{BBDE7AAD-29B6-4B83-ADA1-92AFA81A0883}")));
|
||||
if (::GetLastError() == ERROR_ALREADY_EXISTS) {
|
||||
// ZRCola is already running. Find its window.
|
||||
HWND okno = ::FindWindow(_T("wxWindowNR"), _("ZRCola"));
|
||||
@@ -107,49 +100,61 @@ bool ZRColaApp::OnInit()
|
||||
has_translation_data = true;
|
||||
} else {
|
||||
wxFAIL_MSG(wxT("Error reading translation data from ZRCola.zrcdb."));
|
||||
m_t_db.idxComp .clear();
|
||||
m_t_db.idxDecomp.clear();
|
||||
m_t_db.data .clear();
|
||||
m_t_db.clear();
|
||||
}
|
||||
} else if (id == ZRCola::transet_rec::id) {
|
||||
dat >> ZRCola::transet_rec(m_ts_db);
|
||||
if (!dat.good()) {
|
||||
wxFAIL_MSG(wxT("Error reading translation set data from ZRCola.zrcdb."));
|
||||
m_ts_db.clear();
|
||||
}
|
||||
} else if (id == ZRCola::transeq_rec::id) {
|
||||
dat >> ZRCola::transeq_rec(m_tsq_db);
|
||||
if (!dat.good()) {
|
||||
wxFAIL_MSG(wxT("Error reading translation sequence data from ZRCola.zrcdb."));
|
||||
m_tsq_db.clear();
|
||||
}
|
||||
} else if (id == ZRCola::langchar_rec::id) {
|
||||
dat >> ZRCola::langchar_rec(m_lc_db);
|
||||
if (!dat.good()) {
|
||||
wxFAIL_MSG(wxT("Error reading language character data from ZRCola.zrcdb."));
|
||||
m_lc_db.idxChr.clear();
|
||||
#ifdef ZRCOLA_LANGCHAR_LANG_IDX
|
||||
m_lc_db.idxLng.clear();
|
||||
#endif
|
||||
m_lc_db.data .clear();
|
||||
m_lc_db.clear();
|
||||
}
|
||||
} else if (id == ZRCola::language_rec::id) {
|
||||
dat >> ZRCola::language_rec(m_lang_db);
|
||||
if (!dat.good()) {
|
||||
wxFAIL_MSG(wxT("Error reading language character data from ZRCola.zrcdb."));
|
||||
m_lang_db.idxLng.clear();
|
||||
m_lang_db.data .clear();
|
||||
m_lang_db.clear();
|
||||
}
|
||||
} else if (id == ZRCola::keyseq_rec::id) {
|
||||
dat >> ZRCola::keyseq_rec(m_ks_db);
|
||||
if (!dat.good()) {
|
||||
wxFAIL_MSG(wxT("Error reading key sequences data from ZRCola.zrcdb."));
|
||||
m_ks_db.idxChr.clear();
|
||||
m_ks_db.idxKey.clear();
|
||||
m_ks_db.data .clear();
|
||||
m_ks_db.clear();
|
||||
}
|
||||
} else if (id == ZRCola::character_rec::id) {
|
||||
dat >> ZRCola::character_rec(m_chr_db);
|
||||
if (!dat.good()) {
|
||||
wxFAIL_MSG(wxT("Error reading character data from ZRCola.zrcdb."));
|
||||
m_chr_db.idxChr.clear();
|
||||
m_chr_db.data .clear();
|
||||
m_chr_db.clear();
|
||||
}
|
||||
} else if (id == ZRCola::chrcat_rec::id) {
|
||||
dat >> ZRCola::chrcat_rec(m_cc_db);
|
||||
if (!dat.good()) {
|
||||
wxFAIL_MSG(wxT("Error reading character category data from ZRCola.zrcdb."));
|
||||
m_cc_db.idxChrCat.clear();
|
||||
m_cc_db.idxRnk .clear();
|
||||
m_cc_db.data .clear();
|
||||
m_cc_db.clear();
|
||||
}
|
||||
} else if (id == ZRCola::chrtag_rec::id) {
|
||||
dat >> ZRCola::chrtag_rec(m_ct_db);
|
||||
if (!dat.good()) {
|
||||
wxFAIL_MSG(wxT("Error reading character tag data from ZRCola.zrcdb."));
|
||||
m_ct_db.clear();
|
||||
}
|
||||
} else if (id == ZRCola::tagname_rec::id) {
|
||||
dat >> ZRCola::tagname_rec(m_tn_db);
|
||||
if (!dat.good()) {
|
||||
wxFAIL_MSG(wxT("Error reading tag name data from ZRCola.zrcdb."));
|
||||
m_tn_db.clear();
|
||||
}
|
||||
} else
|
||||
stdex::idrec::ignore<ZRCola::recordsize_t, ZRCOLA_RECORD_ALIGN>(dat);
|
||||
@@ -166,7 +171,6 @@ bool ZRColaApp::OnInit()
|
||||
wxSocketBase::Initialize();
|
||||
|
||||
m_mainWnd = new wxZRColaFrame();
|
||||
wxPersistentRegisterAndRestore<wxZRColaFrame>(m_mainWnd);
|
||||
m_mainWnd->Show();
|
||||
|
||||
return true;
|
||||
@@ -180,10 +184,7 @@ int ZRColaApp::OnExit()
|
||||
int res = wxApp::OnExit();
|
||||
|
||||
#ifdef __WXMSW__
|
||||
if (m_running) {
|
||||
wxVERIFY(::CloseHandle(m_running));
|
||||
m_running = NULL;
|
||||
}
|
||||
m_running.free();
|
||||
#endif
|
||||
|
||||
return res;
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
Copyright 2015-2016 Amebis
|
||||
Copyright 2015-2017 Amebis
|
||||
|
||||
This file is part of ZRCola.
|
||||
|
||||
@@ -26,12 +26,14 @@ class ZRColaApp;
|
||||
#pragma once
|
||||
|
||||
#include "zrcolafrm.h"
|
||||
#include <WinStd/Win.h>
|
||||
#include <wx/app.h>
|
||||
#include <wx/config.h>
|
||||
#include <wx/intl.h>
|
||||
#include <zrcola/character.h>
|
||||
#include <zrcola/language.h>
|
||||
#include <zrcola/translate.h>
|
||||
#include <zrcola/tag.h>
|
||||
#include <zrcolaui/keyboard.h>
|
||||
|
||||
|
||||
@@ -71,19 +73,24 @@ public:
|
||||
|
||||
public:
|
||||
ZRCola::translation_db m_t_db; ///< Translation database
|
||||
ZRCola::transet_db m_ts_db; ///< Translation set database
|
||||
ZRCola::transeq_db m_tsq_db; ///< Translation sequence database
|
||||
ZRCola::langchar_db m_lc_db; ///< Language character database
|
||||
ZRCola::language_db m_lang_db; ///< Language database
|
||||
ZRCola::keyseq_db m_ks_db; ///< Key sequence database
|
||||
ZRCola::character_db m_chr_db; ///< Character database
|
||||
ZRCola::chrcat_db m_cc_db; ///< Characted category database
|
||||
ZRCola::chrtag_db m_ct_db; ///< Character tag database
|
||||
ZRCola::tagname_db m_tn_db; ///< Tag name database
|
||||
|
||||
wxZRColaFrame *m_mainWnd; ///< Main window
|
||||
|
||||
wxLocale m_locale; ///< Current locale
|
||||
wxLanguage m_lang_ui; ///< Translation language (language of User Interface, wxLANGUAGE_DEFAULT = English)
|
||||
|
||||
protected:
|
||||
#ifdef __WXMSW__
|
||||
HANDLE m_running; ///< Global Win32 event to determine if another instance of ZRCola is already running
|
||||
winstd::win_handle m_running; ///< Global Win32 event to determine if another instance of ZRCola is already running
|
||||
#endif
|
||||
};
|
||||
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
Copyright 2015-2016 Amebis
|
||||
Copyright 2015-2017 Amebis
|
||||
|
||||
This file is part of ZRCola.
|
||||
|
||||
@@ -25,13 +25,13 @@
|
||||
//////////////////////////////////////////////////////////////////////////
|
||||
|
||||
BEGIN_EVENT_TABLE(wxZRColaCharacterCatalogPanel, wxZRColaCharacterCatalogPanelBase)
|
||||
EVT_MENU(wxZRColaCharacterCatalogPanel::wxID_FOCUS_DECOMPOSED, wxZRColaCharacterCatalogPanel::OnFocusDecomposed)
|
||||
EVT_MENU(wxZRColaCharacterCatalogPanel::wxID_FOCUS_SOURCE, wxZRColaCharacterCatalogPanel::OnFocusSource)
|
||||
END_EVENT_TABLE()
|
||||
|
||||
|
||||
wxZRColaCharacterCatalogPanel::wxZRColaCharacterCatalogPanel(wxWindow* parent) : wxZRColaCharacterCatalogPanelBase(parent)
|
||||
{
|
||||
std::fstream dat((LPCTSTR)((ZRColaApp*)wxTheApp)->GetDatabaseFilePath(), std::ios_base::in | std::ios_base::binary);
|
||||
std::fstream dat((LPCTSTR)dynamic_cast<ZRColaApp*>(wxTheApp)->GetDatabaseFilePath(), std::ios_base::in | std::ios_base::binary);
|
||||
if (dat.good()) {
|
||||
if (stdex::idrec::find<ZRCola::recordid_t, ZRCola::recordsize_t, ZRCOLA_RECORD_ALIGN>(dat, ZRCOLA_DB_ID, sizeof(ZRCola::recordid_t))) {
|
||||
ZRCola::recordsize_t size;
|
||||
@@ -42,8 +42,8 @@ wxZRColaCharacterCatalogPanel::wxZRColaCharacterCatalogPanel(wxWindow* parent) :
|
||||
dat >> rec;
|
||||
if (!dat.good()) {
|
||||
wxFAIL_MSG(wxT("Error reading character group data from ZRCola.zrcdb."));
|
||||
m_cg_db.idxRnk.clear();
|
||||
m_cg_db.data .clear();
|
||||
m_cg_db.idxRank.clear();
|
||||
m_cg_db.data .clear();
|
||||
}
|
||||
} else
|
||||
wxFAIL_MSG(wxT("ZRCola.zrcdb has no character group data."));
|
||||
@@ -52,16 +52,16 @@ wxZRColaCharacterCatalogPanel::wxZRColaCharacterCatalogPanel(wxWindow* parent) :
|
||||
wxFAIL_MSG(wxT("ZRCola.zrcdb is not a valid ZRCola database."));
|
||||
}
|
||||
|
||||
if (!m_cg_db.idxRnk.empty()) {
|
||||
if (!m_cg_db.idxRank.empty()) {
|
||||
// Populate character group list.
|
||||
for (size_t i = 0, n = m_cg_db.idxRnk.size(); i < n; i++) {
|
||||
const ZRCola::chrgrp_db::chrgrp &cg = m_cg_db.idxRnk[i];
|
||||
for (size_t i = 0, n = m_cg_db.idxRank.size(); i < n; i++) {
|
||||
const ZRCola::chrgrp_db::chrgrp &cg = m_cg_db.idxRank[i];
|
||||
wxString
|
||||
label(cg.data, cg.name_len),
|
||||
label(cg.name(), cg.name_len()),
|
||||
label_tran2(wxGetTranslation(label, wxT("ZRCola-zrcdb")));
|
||||
m_choice->Insert(label_tran2, i);
|
||||
}
|
||||
m_cg_id = m_cg_db.idxRnk[0].id;
|
||||
m_cg_id = m_cg_db.idxRank[0].grp;
|
||||
m_choice->Select(0);
|
||||
|
||||
Update();
|
||||
@@ -70,7 +70,7 @@ wxZRColaCharacterCatalogPanel::wxZRColaCharacterCatalogPanel(wxWindow* parent) :
|
||||
// Register frame specific hotkey(s).
|
||||
{
|
||||
wxAcceleratorEntry entries[1];
|
||||
entries[0].Set(wxACCEL_NORMAL, WXK_ESCAPE, wxID_FOCUS_DECOMPOSED);
|
||||
entries[0].Set(wxACCEL_NORMAL, WXK_ESCAPE, wxID_FOCUS_SOURCE);
|
||||
SetAcceleratorTable(wxAcceleratorTable(_countof(entries), entries));
|
||||
}
|
||||
}
|
||||
@@ -83,10 +83,10 @@ wxZRColaCharacterCatalogPanel::~wxZRColaCharacterCatalogPanel()
|
||||
|
||||
void wxZRColaCharacterCatalogPanel::OnChoice(wxCommandEvent& event)
|
||||
{
|
||||
const ZRCola::chrgrp_db::chrgrp &cg = m_cg_db.idxRnk[event.GetSelection()];
|
||||
const ZRCola::chrgrp_db::chrgrp &cg = m_cg_db.idxRank[event.GetSelection()];
|
||||
|
||||
if (m_cg_id != cg.id) {
|
||||
m_cg_id = cg.id;
|
||||
if (m_cg_id != cg.grp) {
|
||||
m_cg_id = cg.grp;
|
||||
Update();
|
||||
}
|
||||
|
||||
@@ -96,10 +96,10 @@ void wxZRColaCharacterCatalogPanel::OnChoice(wxCommandEvent& event)
|
||||
|
||||
void wxZRColaCharacterCatalogPanel::OnGridClick(wxGridEvent& event)
|
||||
{
|
||||
ZRColaApp *app = (ZRColaApp*)wxTheApp;
|
||||
auto app = dynamic_cast<ZRColaApp*>(wxTheApp);
|
||||
if (app->m_mainWnd) {
|
||||
app->m_mainWnd->m_panel->m_decomposed->WriteText(m_grid->GetCellValue(event.GetRow(), event.GetCol()));
|
||||
app->m_mainWnd->m_panel->m_decomposed->SetFocus();
|
||||
app->m_mainWnd->m_panel->m_source->WriteText(m_grid->GetCellValue(event.GetRow(), event.GetCol()));
|
||||
app->m_mainWnd->m_panel->m_source->SetFocus();
|
||||
}
|
||||
|
||||
event.Skip();
|
||||
@@ -111,10 +111,10 @@ void wxZRColaCharacterCatalogPanel::OnGridKeyDown(wxKeyEvent& event)
|
||||
switch (event.GetKeyCode()) {
|
||||
case WXK_RETURN:
|
||||
case WXK_NUMPAD_ENTER:
|
||||
ZRColaApp *app = (ZRColaApp*)wxTheApp;
|
||||
auto app = dynamic_cast<ZRColaApp*>(wxTheApp);
|
||||
if (app->m_mainWnd) {
|
||||
app->m_mainWnd->m_panel->m_decomposed->WriteText(m_grid->GetCellValue(m_grid->GetCursorRow(), m_grid->GetCursorColumn()));
|
||||
app->m_mainWnd->m_panel->m_decomposed->SetFocus();
|
||||
app->m_mainWnd->m_panel->m_source->WriteText(m_grid->GetCellValue(m_grid->GetCursorRow(), m_grid->GetCursorColumn()));
|
||||
app->m_mainWnd->m_panel->m_source->SetFocus();
|
||||
|
||||
event.StopPropagation();
|
||||
return;
|
||||
@@ -135,11 +135,11 @@ void wxZRColaCharacterCatalogPanel::OnShowAll(wxCommandEvent& event)
|
||||
}
|
||||
|
||||
|
||||
void wxZRColaCharacterCatalogPanel::OnFocusDecomposed(wxCommandEvent& event)
|
||||
void wxZRColaCharacterCatalogPanel::OnFocusSource(wxCommandEvent& event)
|
||||
{
|
||||
ZRColaApp *app = (ZRColaApp*)wxTheApp;
|
||||
auto app = dynamic_cast<ZRColaApp*>(wxTheApp);
|
||||
if (app->m_mainWnd) {
|
||||
app->m_mainWnd->m_panel->m_decomposed->SetFocus();
|
||||
app->m_mainWnd->m_panel->m_source->SetFocus();
|
||||
|
||||
event.StopPropagation();
|
||||
return;
|
||||
@@ -151,21 +151,23 @@ void wxZRColaCharacterCatalogPanel::OnFocusDecomposed(wxCommandEvent& event)
|
||||
|
||||
void wxZRColaCharacterCatalogPanel::Update()
|
||||
{
|
||||
const ZRCola::chrgrp_db::chrgrp &cg = m_cg_db.idxRnk[m_choice->GetSelection()];
|
||||
const ZRCola::chrgrp_db::chrgrp &cg = m_cg_db.idxRank[m_choice->GetSelection()];
|
||||
|
||||
if (m_show_all->GetValue()) {
|
||||
m_grid->SetCharacters(
|
||||
wxString(cg.get_chars(), cg.char_len),
|
||||
wxArrayShort((const short*)cg.get_char_shown(), (const short*)cg.get_char_shown() + (cg.char_len + 15)/16));
|
||||
wxString(cg.chrlst(), cg.chrlst_end()),
|
||||
wxArrayShort(reinterpret_cast<const short*>(cg.chrshow()), reinterpret_cast<const short*>(cg.chrshow_end())));
|
||||
} else {
|
||||
// Select frequently used characters only.
|
||||
const wchar_t *src = cg.get_chars();
|
||||
const unsigned __int16 *shown = cg.get_char_shown();
|
||||
wxString chars;
|
||||
for (unsigned __int16 i = 0, j = 0; i < cg.char_len; j++) {
|
||||
for (unsigned __int16 k = 0, mask = shown[j]; k < 16 && i < cg.char_len; k++, mask >>= 1, i++) {
|
||||
const wchar_t *src = cg.chrlst();
|
||||
const unsigned __int16 *shown = cg.chrshow();
|
||||
wxArrayString chars;
|
||||
for (size_t i = 0, i_end = cg.chrlst_len(), j = 0; i < i_end; j++) {
|
||||
for (unsigned __int16 k = 0, mask = shown[j]; k < 16 && i < i_end; k++, mask >>= 1) {
|
||||
size_t len = wcsnlen(src + i, i_end - i);
|
||||
if (mask & 1)
|
||||
chars += src[i];
|
||||
chars.Add(wxString(src + i, len));
|
||||
i += len + 1;
|
||||
}
|
||||
}
|
||||
m_grid->SetCharacters(chars);
|
||||
@@ -193,7 +195,7 @@ wxString wxPersistentZRColaCharacterCatalogPanel::GetKind() const
|
||||
|
||||
void wxPersistentZRColaCharacterCatalogPanel::Save() const
|
||||
{
|
||||
const wxZRColaCharacterCatalogPanel * const wnd = static_cast<const wxZRColaCharacterCatalogPanel*>(GetWindow());
|
||||
auto wnd = static_cast<const wxZRColaCharacterCatalogPanel*>(GetWindow()); // dynamic_cast is not reliable as we are typically called late in the wxTopLevelWindowMSW destructor.
|
||||
|
||||
SaveValue(wxT("charGroup"), wnd->m_cg_id);
|
||||
SaveValue(wxT("showAll" ), wnd->m_show_all->GetValue());
|
||||
@@ -202,18 +204,17 @@ void wxPersistentZRColaCharacterCatalogPanel::Save() const
|
||||
|
||||
bool wxPersistentZRColaCharacterCatalogPanel::Restore()
|
||||
{
|
||||
wxZRColaCharacterCatalogPanel * const wnd = static_cast<wxZRColaCharacterCatalogPanel*>(GetWindow());
|
||||
|
||||
auto wnd = dynamic_cast<wxZRColaCharacterCatalogPanel*>(GetWindow());
|
||||
bool update = false;
|
||||
|
||||
// Restore selected character group.
|
||||
int cg_id;
|
||||
if (RestoreValue(wxT("charGroup"), &cg_id)) {
|
||||
for (size_t i = 0, n = wnd->m_cg_db.idxRnk.size(); i < n; i++) {
|
||||
const ZRCola::chrgrp_db::chrgrp &cg = wnd->m_cg_db.idxRnk[i];
|
||||
if (cg.id == cg_id) {
|
||||
if (wnd->m_cg_id != cg.id) {
|
||||
wnd->m_cg_id = cg.id;
|
||||
for (size_t i = 0, n = wnd->m_cg_db.idxRank.size(); i < n; i++) {
|
||||
const ZRCola::chrgrp_db::chrgrp &cg = wnd->m_cg_db.idxRank[i];
|
||||
if (cg.grp == cg_id) {
|
||||
if (wnd->m_cg_id != cg.grp) {
|
||||
wnd->m_cg_id = cg.grp;
|
||||
wnd->m_choice->Select(i);
|
||||
update = true;
|
||||
}
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
Copyright 2015-2016 Amebis
|
||||
Copyright 2015-2017 Amebis
|
||||
|
||||
This file is part of ZRCola.
|
||||
|
||||
@@ -38,7 +38,7 @@ class wxZRColaCharacterCatalogPanel : public wxZRColaCharacterCatalogPanelBase
|
||||
public:
|
||||
enum
|
||||
{
|
||||
wxID_FOCUS_DECOMPOSED = 6000,
|
||||
wxID_FOCUS_SOURCE = 6000,
|
||||
};
|
||||
|
||||
wxZRColaCharacterCatalogPanel(wxWindow* parent);
|
||||
@@ -51,7 +51,7 @@ protected:
|
||||
virtual void OnGridClick(wxGridEvent& event);
|
||||
virtual void OnGridKeyDown(wxKeyEvent& event);
|
||||
virtual void OnShowAll(wxCommandEvent& event);
|
||||
void OnFocusDecomposed(wxCommandEvent& event);
|
||||
void OnFocusSource(wxCommandEvent& event);
|
||||
DECLARE_EVENT_TABLE()
|
||||
|
||||
void Update();
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
Copyright 2015-2016 Amebis
|
||||
Copyright 2015-2017 Amebis
|
||||
|
||||
This file is part of ZRCola.
|
||||
|
||||
@@ -68,6 +68,24 @@ void wxZRColaCharGrid::Init()
|
||||
|
||||
|
||||
void wxZRColaCharGrid::SetCharacters(const wxString &chars)
|
||||
{
|
||||
m_chars.Clear();
|
||||
const wxCStrData chr = chars.GetData();
|
||||
for (size_t i = 0, i_end = chars.Length(), i_next; i < i_end; i = i_next + 1) {
|
||||
i_next = i + _tcsnlen(chr + i, i_end - i);
|
||||
m_chars.Add(wxString(chr + i, chr + i_next));
|
||||
};
|
||||
m_relevance.Clear();
|
||||
m_regenerate = true;
|
||||
|
||||
// Invoke OnSize(), which will populate the grid.
|
||||
wxSizeEvent e(GetSize(), m_windowId);
|
||||
e.SetEventObject(this);
|
||||
HandleWindowEvent(e);
|
||||
}
|
||||
|
||||
|
||||
void wxZRColaCharGrid::SetCharacters(const wxArrayString &chars)
|
||||
{
|
||||
m_chars = chars;
|
||||
m_relevance.Clear();
|
||||
@@ -82,7 +100,12 @@ void wxZRColaCharGrid::SetCharacters(const wxString &chars)
|
||||
|
||||
void wxZRColaCharGrid::SetCharacters(const wxString &chars, const wxArrayShort &relevance)
|
||||
{
|
||||
m_chars = chars;
|
||||
m_chars.Clear();
|
||||
const wxCStrData chr = chars.GetData();
|
||||
for (size_t i = 0, i_end = chars.Length(), i_next; i < i_end; i = i_next + 1) {
|
||||
i_next = i + _tcsnlen(chr + i, i_end - i);
|
||||
m_chars.Add(wxString(chr + i, chr + i_next));
|
||||
};
|
||||
m_relevance = relevance;
|
||||
m_regenerate = true;
|
||||
|
||||
@@ -95,25 +118,23 @@ void wxZRColaCharGrid::SetCharacters(const wxString &chars, const wxArrayShort &
|
||||
|
||||
wxString wxZRColaCharGrid::GetToolTipText(int idx)
|
||||
{
|
||||
wxASSERT_MSG(idx < (int)m_chars.Length(), wxT("index out of bounds"));
|
||||
wxASSERT_MSG(idx < (int)m_chars.GetCount(), wxT("index out of bounds"));
|
||||
|
||||
ZRColaApp *app = (ZRColaApp*)wxTheApp;
|
||||
auto app = dynamic_cast<ZRColaApp*>(wxTheApp);
|
||||
const auto &chr = m_chars[idx];
|
||||
|
||||
// See if this character has a key sequence registered.
|
||||
std::unique_ptr<ZRCola::keyseq_db::keyseq> ks((ZRCola::keyseq_db::keyseq*)new char[sizeof(ZRCola::keyseq_db::keyseq) + sizeof(wchar_t)*chr.length()]);
|
||||
ks->ZRCola::keyseq_db::keyseq::keyseq(NULL, 0, chr.data(), chr.length());
|
||||
ZRCola::keyseq_db::indexKey::size_type start;
|
||||
bool found;
|
||||
char ks[sizeof(ZRCola::keyseq_db::keyseq)] = {};
|
||||
((ZRCola::keyseq_db::keyseq*)ks)->chr = m_chars[idx];
|
||||
found = app->m_ks_db.idxChr.find(*(ZRCola::keyseq_db::keyseq*)ks, start);
|
||||
|
||||
if (found) {
|
||||
if (app->m_ks_db.idxChr.find(*ks, start)) {
|
||||
ZRCola::keyseq_db::keyseq &seq = app->m_ks_db.idxChr[start];
|
||||
wxString ks_str;
|
||||
if (ZRCola::keyseq_db::GetSequenceAsText(seq.seq, seq.seq_len, ks_str))
|
||||
return wxString::Format(wxT("U+%04X (%s)"), (int)m_chars[idx], ks_str.c_str());
|
||||
if (ZRCola::keyseq_db::GetSequenceAsText(seq.seq(), seq.seq_len(), ks_str))
|
||||
return wxString::Format(wxT("U+%s (%s)"), ZRCola::GetUnicodeDump(chr.data(), chr.length(), _T("+")).c_str(), ks_str.c_str());
|
||||
}
|
||||
|
||||
return wxString::Format(wxT("U+%04X"), (int)m_chars[idx]);
|
||||
return wxString::Format(wxT("U+%s"), ZRCola::GetUnicodeDump(chr.data(), chr.length(), _T("+")).c_str());
|
||||
}
|
||||
|
||||
|
||||
@@ -129,17 +150,17 @@ void wxZRColaCharGrid::OnSize(wxSizeEvent& event)
|
||||
// Calculate initial estimate of columns and rows.
|
||||
wxSize size(event.GetSize());
|
||||
size_t
|
||||
char_len = m_chars.Length();
|
||||
char_count = m_chars.GetCount();
|
||||
int
|
||||
width = size.GetWidth() - m_rowLabelWidth - m_extraWidth,
|
||||
cols = std::max<int>(width / wxZRColaCharacterGridColumnWidth, 1),
|
||||
rows = std::max<int>((char_len + cols - 1) / cols, 1);
|
||||
width = size.GetWidth() - m_rowLabelWidth - m_extraWidth,
|
||||
cols = std::max<int>(width / wxZRColaCharacterGridColumnWidth, 1),
|
||||
rows = std::max<int>((char_count + cols - 1) / cols, 1);
|
||||
|
||||
if (m_colLabelHeight + rows*wxZRColaCharacterGridRowHeight + m_extraHeight > size.GetHeight()) {
|
||||
// Vertical scrollbar will be shown. Adjust the width and recalculate layout to avoid horizontal scrollbar.
|
||||
width = std::max<int>(width - wxSystemSettings::GetMetric(wxSYS_VSCROLL_X, this), 0);
|
||||
cols = std::max<int>(width / wxZRColaCharacterGridColumnWidth, 1);
|
||||
rows = std::max<int>((char_len + cols - 1) / cols, 1);
|
||||
rows = std::max<int>((char_count + cols - 1) / cols, 1);
|
||||
}
|
||||
|
||||
BeginBatch();
|
||||
@@ -149,14 +170,14 @@ void wxZRColaCharGrid::OnSize(wxSizeEvent& event)
|
||||
wxGridStringTable *table = new wxGridStringTable(rows, cols);
|
||||
for (int r = 0, i = 0; r < rows; r++)
|
||||
for (int c = 0; c < cols; c++, i++)
|
||||
table->SetValue(r, c, i < (int)char_len ? wxString(1, m_chars[i]) : wxEmptyString);
|
||||
table->SetValue(r, c, i < (int)char_count ? m_chars[i] : wxEmptyString);
|
||||
SetTable(table, true);
|
||||
if (!m_relevance.IsEmpty()) {
|
||||
const wxColour colour_def;
|
||||
const wxColour colour_irr = wxSystemSettings::GetColour(wxSYS_COLOUR_BTNHIGHLIGHT);
|
||||
for (int r = 0, i = 0; r < rows; r++)
|
||||
for (int c = 0; c < cols; c++, i++)
|
||||
SetCellBackgroundColour(r, c, i >= (int)char_len || ((unsigned short)(m_relevance[i/16]) & (1<<(i%16))) ? colour_def : colour_irr);
|
||||
SetCellBackgroundColour(r, c, i >= (int)char_count || ((unsigned short)(m_relevance[i/16]) & (1<<(i%16))) ? colour_def : colour_irr);
|
||||
} else {
|
||||
for (int r = 0, i = 0; r < rows; r++)
|
||||
for (int c = 0; c < cols; c++, i++)
|
||||
@@ -220,7 +241,7 @@ void wxZRColaCharGrid::OnMotion(wxMouseEvent& event)
|
||||
return;
|
||||
|
||||
size_t toolTipIdx = row*m_numCols + col;
|
||||
if (toolTipIdx >= m_chars.Length()) {
|
||||
if (toolTipIdx >= m_chars.GetCount()) {
|
||||
// Index out of range.
|
||||
m_toolTipIdx = (size_t)-1;
|
||||
m_timerToolTip.Stop();
|
||||
@@ -244,7 +265,7 @@ void wxZRColaCharGrid::OnTooltipTimer(wxTimerEvent& event)
|
||||
{
|
||||
event.Skip();
|
||||
|
||||
if (m_toolTipIdx >= m_chars.Length())
|
||||
if (m_toolTipIdx >= m_chars.GetCount())
|
||||
return;
|
||||
|
||||
GetGridWindow()->SetToolTip(GetToolTipText(m_toolTipIdx));
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
Copyright 2015-2016 Amebis
|
||||
Copyright 2015-2017 Amebis
|
||||
|
||||
This file is part of ZRCola.
|
||||
|
||||
@@ -54,14 +54,21 @@ public:
|
||||
///
|
||||
/// Sets new array of characters to display
|
||||
///
|
||||
/// \param[in] chars The string containing characters to display
|
||||
/// \param[in] chars The string containing characters to display (zero delimited)
|
||||
///
|
||||
void SetCharacters(const wxString &chars);
|
||||
|
||||
///
|
||||
/// Sets new array of characters to display
|
||||
///
|
||||
/// \param[in] chars The string containing characters to display
|
||||
/// \param[in] chars The array of characters to display
|
||||
///
|
||||
void SetCharacters(const wxArrayString &chars);
|
||||
|
||||
///
|
||||
/// Sets new array of characters to display
|
||||
///
|
||||
/// \param[in] chars The string containing characters to display (zero delimited)
|
||||
/// \param[in] relevance Bit-array of \p chars relevance (1=more relevant, 0=less relevant)
|
||||
///
|
||||
void SetCharacters(const wxString &chars, const wxArrayShort &relevance);
|
||||
@@ -71,7 +78,7 @@ public:
|
||||
///
|
||||
/// \returns The string containing displayed characters
|
||||
///
|
||||
inline wxString GetCharacters() const
|
||||
inline const wxArrayString& GetCharacters() const
|
||||
{
|
||||
return m_chars;
|
||||
}
|
||||
@@ -83,10 +90,14 @@ public:
|
||||
///
|
||||
/// \returns Grid coordinates of selected character or (-1, -1) if character not found.
|
||||
///
|
||||
inline wxGridCellCoords GetCharacterCoords(wchar_t c) const
|
||||
inline wxGridCellCoords GetCharacterCoords(const wxString &c) const
|
||||
{
|
||||
int i = m_chars.Find(c);
|
||||
return i != wxNOT_FOUND ? wxGridCellCoords(i / m_numCols, i % m_numCols) : wxGridCellCoords(-1, -1);
|
||||
for (size_t i = 0, n = m_chars.GetCount(); ; i++) {
|
||||
if (i >= n)
|
||||
return wxGridCellCoords(-1, -1);
|
||||
else if (m_chars[i] == c)
|
||||
return wxGridCellCoords(i / m_numCols, i % m_numCols);
|
||||
}
|
||||
}
|
||||
|
||||
protected:
|
||||
@@ -102,7 +113,7 @@ private:
|
||||
void Init(); // common part of all ctors
|
||||
|
||||
protected:
|
||||
wxString m_chars; ///< Array of Unicode characters to display in the grid
|
||||
wxArrayString m_chars; ///< Array of Unicode characters to display in the grid
|
||||
wxArrayShort m_relevance; ///< Bit-array of `m_chars` relevance
|
||||
|
||||
private:
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
Copyright 2015-2016 Amebis
|
||||
Copyright 2015-2017 Amebis
|
||||
|
||||
This file is part of ZRCola.
|
||||
|
||||
@@ -80,7 +80,7 @@ void wxPersistentZRColaCharRequest::Save() const
|
||||
{
|
||||
wxPersistentDialog::Save();
|
||||
|
||||
const wxZRColaCharRequest * const wnd = static_cast<const wxZRColaCharRequest*>(GetWindow());
|
||||
auto wnd = static_cast<const wxZRColaCharRequest*>(GetWindow()); // dynamic_cast is not reliable as we are typically called late in the wxTopLevelWindowMSW destructor.
|
||||
|
||||
SaveValue(wxT("character"), wnd->m_character->GetValue());
|
||||
SaveValue(wxT("context"), wnd->m_context->GetValue());
|
||||
@@ -89,7 +89,7 @@ void wxPersistentZRColaCharRequest::Save() const
|
||||
|
||||
bool wxPersistentZRColaCharRequest::Restore()
|
||||
{
|
||||
wxZRColaCharRequest * const wnd = static_cast<wxZRColaCharRequest*>(GetWindow());
|
||||
auto wnd = dynamic_cast<wxZRColaCharRequest*>(GetWindow());
|
||||
|
||||
wxString str;
|
||||
if (RestoreValue(wxT("character"), &str))
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
Copyright 2015-2016 Amebis
|
||||
Copyright 2015-2017 Amebis
|
||||
|
||||
This file is part of ZRCola.
|
||||
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
Copyright 2015-2016 Amebis
|
||||
Copyright 2015-2017 Amebis
|
||||
|
||||
This file is part of ZRCola.
|
||||
|
||||
@@ -20,6 +20,174 @@
|
||||
#include "stdafx.h"
|
||||
|
||||
|
||||
//////////////////////////////////////////////////////////////////////
|
||||
// wxZRColaUTF16CharValidator
|
||||
//////////////////////////////////////////////////////////////////////
|
||||
|
||||
wxIMPLEMENT_DYNAMIC_CLASS(wxZRColaUTF16CharValidator, wxValidator);
|
||||
|
||||
|
||||
wxZRColaUTF16CharValidator::wxZRColaUTF16CharValidator(wchar_t *val) :
|
||||
m_val(val),
|
||||
wxValidator()
|
||||
{
|
||||
}
|
||||
|
||||
|
||||
wxObject* wxZRColaUTF16CharValidator::Clone() const
|
||||
{
|
||||
return new wxZRColaUTF16CharValidator(*this);
|
||||
}
|
||||
|
||||
|
||||
bool wxZRColaUTF16CharValidator::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 wxZRColaUTF16CharValidator::TransferToWindow()
|
||||
{
|
||||
wxASSERT(GetWindow()->IsKindOf(CLASSINFO(wxTextCtrl)));
|
||||
|
||||
if (m_val)
|
||||
((wxTextCtrl*)GetWindow())->SetValue(wxString::Format(wxT("%04X"), *m_val));
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
|
||||
bool wxZRColaUTF16CharValidator::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 wxZRColaUTF16CharValidator::Parse(const wxString &val_in, size_t i_start, size_t i_end, wxTextCtrl *ctrl, wxWindow *parent, wchar_t *val_out)
|
||||
{
|
||||
const wxStringCharType *buf = val_in;
|
||||
|
||||
wchar_t chr = 0;
|
||||
for (size_t i = i_start;;) {
|
||||
if (i >= i_end) {
|
||||
// End of Unicode found.
|
||||
if (val_out) *val_out = chr;
|
||||
return true;
|
||||
} else if (i >= i_start + 4) {
|
||||
// Maximum characters exceeded.
|
||||
ctrl->SetFocus();
|
||||
ctrl->SetSelection(i, i_end);
|
||||
wxMessageBox(_("Too many digits in Unicode."), _("Validation conflict"), wxOK | wxICON_EXCLAMATION, parent);
|
||||
return false;
|
||||
} else if (_T('0') <= buf[i] && buf[i] <= _T('9')) {
|
||||
// Digit found.
|
||||
chr = (chr << 4) | (buf[i] - _T('0'));
|
||||
i++;
|
||||
} else if (_T('A') <= buf[i] && buf[i] <= _T('F')) {
|
||||
// Capital letter found.
|
||||
chr = (chr << 4) | (buf[i] - _T('A') + 10);
|
||||
i++;
|
||||
} else if (_T('a') <= buf[i] && buf[i] <= _T('f')) {
|
||||
// Lower letter found.
|
||||
chr = (chr << 4) | (buf[i] - _T('a') + 10);
|
||||
i++;
|
||||
} else {
|
||||
// Invalid character found.
|
||||
ctrl->SetFocus();
|
||||
ctrl->SetSelection(i, i + 1);
|
||||
wxMessageBox(wxString::Format(_("Invalid character in Unicode found: %c"), buf[i]), _("Validation conflict"), wxOK | wxICON_EXCLAMATION, parent);
|
||||
return false;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
//////////////////////////////////////////////////////////////////////
|
||||
// wxZRColaUnicodeDumpValidator
|
||||
//////////////////////////////////////////////////////////////////////
|
||||
|
||||
wxIMPLEMENT_DYNAMIC_CLASS(wxZRColaUnicodeDumpValidator, wxValidator);
|
||||
|
||||
|
||||
wxZRColaUnicodeDumpValidator::wxZRColaUnicodeDumpValidator(wxString *val) :
|
||||
m_val(val),
|
||||
wxValidator()
|
||||
{
|
||||
}
|
||||
|
||||
|
||||
wxObject* wxZRColaUnicodeDumpValidator::Clone() const
|
||||
{
|
||||
return new wxZRColaUnicodeDumpValidator(*this);
|
||||
}
|
||||
|
||||
|
||||
bool wxZRColaUnicodeDumpValidator::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 wxZRColaUnicodeDumpValidator::TransferToWindow()
|
||||
{
|
||||
wxASSERT(GetWindow()->IsKindOf(CLASSINFO(wxTextCtrl)));
|
||||
|
||||
if (m_val)
|
||||
((wxTextCtrl*)GetWindow())->SetValue(ZRCola::GetUnicodeDumpW(m_val->c_str(), m_val->length(), L"+"));
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
|
||||
bool wxZRColaUnicodeDumpValidator::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 wxZRColaUnicodeDumpValidator::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;
|
||||
|
||||
wxString str;
|
||||
for (size_t i = i_start;;) {
|
||||
const wxStringCharType *buf_next;
|
||||
wchar_t chr;
|
||||
if ((buf_next = wmemchr(buf + i, L'+', i_end - i)) != NULL) {
|
||||
// Unicode dump separator found.
|
||||
if (!wxZRColaUTF16CharValidator::Parse(val_in, i, buf_next - buf, ctrl, parent, &chr))
|
||||
return false;
|
||||
str += chr;
|
||||
i = buf_next - buf + 1;
|
||||
} else if (wxZRColaUTF16CharValidator::Parse(val_in, i, i_end, ctrl, parent, &chr)) {
|
||||
// The rest of the FQDN parsed succesfully.
|
||||
if (chr) str += chr;
|
||||
if (val_out) *val_out = str;
|
||||
return true;
|
||||
} else
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
//////////////////////////////////////////////////////////////////////////
|
||||
// wxZRColaCharSelect
|
||||
//////////////////////////////////////////////////////////////////////////
|
||||
@@ -30,23 +198,30 @@ wxDEFINE_EVENT(wxEVT_SEARCH_COMPLETE, wxThreadEvent);
|
||||
wxZRColaCharSelect::wxZRColaCharSelect(wxWindow* parent) :
|
||||
m_searchChanged(false),
|
||||
m_unicodeChanged(false),
|
||||
m_char(0),
|
||||
m_searchThread(NULL),
|
||||
wxZRColaCharSelectBase(parent)
|
||||
{
|
||||
// Set tag lookup locale.
|
||||
wxLanguage language = dynamic_cast<ZRColaApp*>(wxTheApp)->m_lang_ui;
|
||||
if (wxLANGUAGE_DEFAULT == language ||
|
||||
wxLANGUAGE_ENGLISH <= language && language <= wxLANGUAGE_ENGLISH_ZIMBABWE) m_locale = MAKELCID(MAKELANGID(LANG_ENGLISH , SUBLANG_DEFAULT), SORT_DEFAULT);
|
||||
else if (wxLANGUAGE_RUSSIAN <= language && language <= wxLANGUAGE_RUSSIAN_UKRAINE ) m_locale = MAKELCID(MAKELANGID(LANG_RUSSIAN , SUBLANG_DEFAULT), SORT_DEFAULT);
|
||||
else if (wxLANGUAGE_SLOVENIAN == language ) m_locale = MAKELCID(MAKELANGID(LANG_SLOVENIAN, SUBLANG_DEFAULT), SORT_DEFAULT);
|
||||
else m_locale = MAKELCID(MAKELANGID(LANG_ENGLISH , SUBLANG_DEFAULT), SORT_DEFAULT);
|
||||
|
||||
Connect(wxID_ANY, wxEVT_SEARCH_COMPLETE, wxThreadEventHandler(wxZRColaCharSelect::OnSearchComplete), NULL, this);
|
||||
|
||||
m_search_more->SetLabel(_(L"▸ Search Options"));
|
||||
|
||||
m_unicode->SetValidator(wxHexValidator<wchar_t>(&m_char, wxNUM_VAL_DEFAULT, 4));
|
||||
m_unicode->SetValidator(wxZRColaUnicodeDumpValidator(&m_char));
|
||||
|
||||
// Fill categories.
|
||||
ZRColaApp *app = (ZRColaApp*)wxTheApp;
|
||||
for (size_t i = 0, n = app->m_cc_db.idxRnk.size(); i < n; i++) {
|
||||
const ZRCola::chrcat_db::chrcat &cc = app->m_cc_db.idxRnk[i];
|
||||
int idx = m_categories->Insert(wxGetTranslation(wxString(cc.name, cc.name_len), wxT("ZRCola-zrcdb")), i);
|
||||
auto app = dynamic_cast<ZRColaApp*>(wxTheApp);
|
||||
for (size_t i = 0, n = app->m_cc_db.idxRank.size(); i < n; i++) {
|
||||
const auto &cc = app->m_cc_db.idxRank[i];
|
||||
int idx = m_categories->Insert(wxGetTranslation(wxString(cc.name(), cc.name_len()), wxT("ZRCola-zrcdb")), i);
|
||||
m_categories->Check(idx);
|
||||
m_ccOrder.insert(std::make_pair(cc.id, idx));
|
||||
m_ccOrder.insert(std::make_pair(cc.cat, idx));
|
||||
}
|
||||
|
||||
ResetResults();
|
||||
@@ -74,26 +249,26 @@ void wxZRColaCharSelect::OnIdle(wxIdleEvent& event)
|
||||
|
||||
if (m_unicodeChanged) {
|
||||
if (m_unicode->GetValidator()->TransferFromWindow()) {
|
||||
ZRColaApp *app = (ZRColaApp*)wxTheApp;
|
||||
auto app = dynamic_cast<ZRColaApp*>(wxTheApp);
|
||||
|
||||
m_gridPreview->SetCellValue(wxString(1, m_char), 0, 0);
|
||||
m_gridPreview->SetCellValue(m_char, 0, 0);
|
||||
|
||||
char chr[sizeof(ZRCola::character_db::character)] = {};
|
||||
((ZRCola::character_db::character*)chr)->chr = m_char;
|
||||
std::unique_ptr<ZRCola::character_db::character> chr((ZRCola::character_db::character*)new char[sizeof(ZRCola::character_db::character) + sizeof(wchar_t)*m_char.length()]);
|
||||
chr->ZRCola::character_db::character::character(m_char.data(), m_char.length());
|
||||
size_t start;
|
||||
if (app->m_chr_db.idxChr.find(*(ZRCola::character_db::character*)chr, start)) {
|
||||
const ZRCola::character_db::character &chr = app->m_chr_db.idxChr[start];
|
||||
// Update characted description.
|
||||
m_description->SetValue(wxString(chr.data, chr.desc_len));
|
||||
if (app->m_chr_db.idxChr.find(*chr, start)) {
|
||||
const auto &chr = app->m_chr_db.idxChr[start];
|
||||
// Update character description.
|
||||
m_description->SetValue(wxString(chr.desc(), chr.desc_len()));
|
||||
{
|
||||
// See if this character has a key sequence registered.
|
||||
std::unique_ptr<ZRCola::keyseq_db::keyseq> ks((ZRCola::keyseq_db::keyseq*)new char[sizeof(ZRCola::keyseq_db::keyseq) + sizeof(wchar_t)*m_char.length()]);
|
||||
ks->ZRCola::keyseq_db::keyseq::keyseq(NULL, 0, m_char.data(), m_char.length());
|
||||
ZRCola::keyseq_db::indexKey::size_type start;
|
||||
char ks[sizeof(ZRCola::keyseq_db::keyseq)] = {};
|
||||
((ZRCola::keyseq_db::keyseq*)ks)->chr = m_char;
|
||||
if (app->m_ks_db.idxChr.find(*(ZRCola::keyseq_db::keyseq*)ks, start)) {
|
||||
if (app->m_ks_db.idxChr.find(*ks, start)) {
|
||||
ZRCola::keyseq_db::keyseq &seq = app->m_ks_db.idxChr[start];
|
||||
wxString ks_str;
|
||||
if (ZRCola::keyseq_db::GetSequenceAsText(seq.seq, seq.seq_len, ks_str))
|
||||
if (ZRCola::keyseq_db::GetSequenceAsText(seq.seq(), seq.seq_len(), ks_str))
|
||||
m_shortcut->SetValue(ks_str);
|
||||
else
|
||||
m_shortcut->SetValue(wxEmptyString);
|
||||
@@ -101,18 +276,16 @@ void wxZRColaCharSelect::OnIdle(wxIdleEvent& event)
|
||||
m_shortcut->SetValue(wxEmptyString);
|
||||
}
|
||||
{
|
||||
char cc[sizeof(ZRCola::chrcat_db::chrcat)] = {};
|
||||
((ZRCola::chrcat_db::chrcat*)cc)->id = chr.cat;
|
||||
size_t start;
|
||||
// Update character category.
|
||||
if (app->m_cc_db.idxChrCat.find(*((ZRCola::chrcat_db::chrcat*)cc), start)) {
|
||||
const ZRCola::chrcat_db::chrcat &cat = app->m_cc_db.idxChrCat[start];
|
||||
m_category->SetValue(wxGetTranslation(wxString(cat.name, cat.name_len), wxT("ZRCola-zrcdb")));
|
||||
if (app->m_cc_db.idxChrCat.find(ZRCola::chrcat_db::chrcat(chr.cat), start)) {
|
||||
const auto &cat = app->m_cc_db.idxChrCat[start];
|
||||
m_category->SetValue(wxGetTranslation(wxString(cat.name(), cat.name_len()), wxT("ZRCola-zrcdb")));
|
||||
} else
|
||||
m_category->SetValue(wxEmptyString);
|
||||
}
|
||||
// Update related characters.
|
||||
m_gridRelated->SetCharacters(wxString(chr.data + chr.desc_len, chr.rel_len));
|
||||
m_gridRelated->SetCharacters(wxString(chr.rel(), chr.rel_end()));
|
||||
} else {
|
||||
m_description->SetValue(wxEmptyString);
|
||||
m_shortcut->SetValue(wxEmptyString);
|
||||
@@ -120,6 +293,43 @@ void wxZRColaCharSelect::OnIdle(wxIdleEvent& event)
|
||||
m_gridRelated->ClearGrid();
|
||||
}
|
||||
|
||||
// Find character tags.
|
||||
std::list<std::wstring> tag_names;
|
||||
std::unique_ptr<ZRCola::chrtag_db::chrtag> ct((ZRCola::chrtag_db::chrtag*)new char[sizeof(ZRCola::chrtag_db::chrtag) + sizeof(wchar_t)*m_char.length()]);
|
||||
ct->ZRCola::chrtag_db::chrtag::chrtag(m_char.data(), m_char.length());
|
||||
size_t end;
|
||||
if (app->m_ct_db.idxChr.find(*ct, start, end)) {
|
||||
for (size_t i = start; i < end; i++) {
|
||||
const ZRCola::chrtag_db::chrtag &ct = app->m_ct_db.idxChr[i];
|
||||
|
||||
// Find tag names.
|
||||
size_t start, end;
|
||||
if (app->m_tn_db.idxTag.find(ZRCola::tagname_db::tagname(ct.tag, m_locale), start, end)) {
|
||||
for (size_t i = start; i < end; i++) {
|
||||
const ZRCola::tagname_db::tagname &tn = app->m_tn_db.idxTag[i];
|
||||
|
||||
// Add tag name to the list (prevent duplicates).
|
||||
for (auto name = tag_names.cbegin(), name_end = tag_names.cend();; ++name) {
|
||||
if (name == name_end) {
|
||||
// Add name to the list.
|
||||
tag_names.push_back(std::wstring(tn.name(), tn.name_end()));
|
||||
break;
|
||||
} else if (ZRCola::tagname_db::tagname::CompareName(m_locale, name->data(), (unsigned __int16)name->length(), tn.name(), tn.name_len()) == 0)
|
||||
// Name is already on the list.
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
wxString tags;
|
||||
for (auto name = tag_names.cbegin(), name_end = tag_names.cend(); name != name_end; ++name) {
|
||||
if (!tags.empty())
|
||||
tags += _(", ");
|
||||
tags += *name;
|
||||
}
|
||||
m_tags->SetValue(tags);
|
||||
|
||||
m_gridRelated->GoToCell(m_historyCursor->m_related.m_selected);
|
||||
|
||||
wxGridCellCoords coord(m_gridResults->GetCharacterCoords(m_char));
|
||||
@@ -137,17 +347,17 @@ void wxZRColaCharSelect::OnIdle(wxIdleEvent& event)
|
||||
|
||||
wxString val(m_search->GetValue());
|
||||
if (!val.IsEmpty()) {
|
||||
ZRColaApp *app = (ZRColaApp*)wxTheApp;
|
||||
auto app = dynamic_cast<ZRColaApp*>(wxTheApp);
|
||||
|
||||
m_searchThread = new SearchThread(this);
|
||||
|
||||
m_searchThread->m_search.assign(val.c_str(), val.Length());
|
||||
|
||||
// Select categories.
|
||||
for (size_t i = 0, n = app->m_cc_db.idxRnk.size(); i < n; i++) {
|
||||
const ZRCola::chrcat_db::chrcat &cc = app->m_cc_db.idxRnk[i];
|
||||
for (size_t i = 0, n = app->m_cc_db.idxRank.size(); i < n; i++) {
|
||||
const auto &cc = app->m_cc_db.idxRank[i];
|
||||
if (m_categories->IsChecked(i))
|
||||
m_searchThread->m_cats.insert(cc.id);
|
||||
m_searchThread->m_cats.insert(cc.cat);
|
||||
}
|
||||
|
||||
if (m_searchThread->Run() != wxTHREAD_NO_ERROR) {
|
||||
@@ -191,8 +401,8 @@ void wxZRColaCharSelect::OnCategoriesAll(wxHyperlinkEvent& event)
|
||||
{
|
||||
event.StopPropagation();
|
||||
|
||||
ZRColaApp *app = (ZRColaApp*)wxTheApp;
|
||||
for (size_t i = 0, n = app->m_cc_db.idxRnk.size(); i < n; i++)
|
||||
auto app = dynamic_cast<ZRColaApp*>(wxTheApp);
|
||||
for (size_t i = 0, n = app->m_cc_db.idxRank.size(); i < n; i++)
|
||||
m_categories->Check(i, true);
|
||||
|
||||
m_searchChanged = true;
|
||||
@@ -203,8 +413,8 @@ void wxZRColaCharSelect::OnCategoriesNone(wxHyperlinkEvent& event)
|
||||
{
|
||||
event.StopPropagation();
|
||||
|
||||
ZRColaApp *app = (ZRColaApp*)wxTheApp;
|
||||
for (size_t i = 0, n = app->m_cc_db.idxRnk.size(); i < n; i++)
|
||||
auto app = dynamic_cast<ZRColaApp*>(wxTheApp);
|
||||
for (size_t i = 0, n = app->m_cc_db.idxRank.size(); i < n; i++)
|
||||
m_categories->Check(i, false);
|
||||
|
||||
m_searchChanged = true;
|
||||
@@ -215,8 +425,8 @@ void wxZRColaCharSelect::OnCategoriesInvert(wxHyperlinkEvent& event)
|
||||
{
|
||||
event.StopPropagation();
|
||||
|
||||
ZRColaApp *app = (ZRColaApp*)wxTheApp;
|
||||
for (size_t i = 0, n = app->m_cc_db.idxRnk.size(); i < n; i++)
|
||||
auto app = dynamic_cast<ZRColaApp*>(wxTheApp);
|
||||
for (size_t i = 0, n = app->m_cc_db.idxRank.size(); i < n; i++)
|
||||
m_categories->Check(i, !m_categories->IsChecked(i));
|
||||
|
||||
m_searchChanged = true;
|
||||
@@ -237,10 +447,10 @@ void wxZRColaCharSelect::OnSearchComplete(wxThreadEvent& event)
|
||||
|
||||
if (m_searchThread) {
|
||||
// Display results.
|
||||
wxString chars;
|
||||
wxArrayString chars;
|
||||
chars.reserve(m_searchThread->m_hits.size());
|
||||
for (std::vector<std::pair<ZRCola::charrank_t, wchar_t> >::const_iterator i = m_searchThread->m_hits.cbegin(), i_end = m_searchThread->m_hits.cend(); i != i_end; ++i)
|
||||
chars += i->second;
|
||||
for (auto i = m_searchThread->m_hits.cbegin(), i_end = m_searchThread->m_hits.cend(); i != i_end; ++i)
|
||||
chars.Add(i->second);
|
||||
m_gridResults->SetCharacters(chars);
|
||||
|
||||
m_searchThread->Delete();
|
||||
@@ -257,7 +467,7 @@ void wxZRColaCharSelect::OnResultSelectCell(wxGridEvent& event)
|
||||
|
||||
wxString val(m_gridResults->GetCellValue(event.GetRow(), event.GetCol()));
|
||||
if (!val.IsEmpty())
|
||||
NavigateTo(val[0]);
|
||||
NavigateTo(val);
|
||||
}
|
||||
|
||||
|
||||
@@ -267,7 +477,7 @@ void wxZRColaCharSelect::OnResultCellDClick(wxGridEvent& event)
|
||||
|
||||
wxString val(m_gridResults->GetCellValue(event.GetRow(), event.GetCol()));
|
||||
if (!val.IsEmpty()) {
|
||||
NavigateTo(val[0]);
|
||||
NavigateTo(val);
|
||||
wxCommandEvent e(wxEVT_COMMAND_BUTTON_CLICKED, wxID_OK);
|
||||
m_sdbSizerButtonsOK->GetEventHandler()->ProcessEvent(e);
|
||||
}
|
||||
@@ -281,7 +491,7 @@ void wxZRColaCharSelect::OnResultsKeyDown(wxKeyEvent& event)
|
||||
case WXK_NUMPAD_ENTER:
|
||||
wxString val(m_gridResults->GetCellValue(m_gridResults->GetCursorRow(), m_gridResults->GetCursorColumn()));
|
||||
if (!val.IsEmpty()) {
|
||||
NavigateTo(val[0]);
|
||||
NavigateTo(val);
|
||||
wxCommandEvent e(wxEVT_COMMAND_BUTTON_CLICKED, wxID_OK);
|
||||
m_sdbSizerButtonsOK->GetEventHandler()->ProcessEvent(e);
|
||||
|
||||
@@ -300,7 +510,7 @@ void wxZRColaCharSelect::OnRecentSelectCell(wxGridEvent& event)
|
||||
|
||||
wxString val(m_gridRecent->GetCellValue(event.GetRow(), event.GetCol()));
|
||||
if (!val.IsEmpty())
|
||||
NavigateTo(val[0]);
|
||||
NavigateTo(val);
|
||||
}
|
||||
|
||||
|
||||
@@ -310,7 +520,7 @@ void wxZRColaCharSelect::OnRecentCellDClick(wxGridEvent& event)
|
||||
|
||||
wxString val(m_gridRecent->GetCellValue(event.GetRow(), event.GetCol()));
|
||||
if (!val.IsEmpty()) {
|
||||
NavigateTo(val[0]);
|
||||
NavigateTo(val);
|
||||
wxCommandEvent e(wxEVT_COMMAND_BUTTON_CLICKED, wxID_OK);
|
||||
m_sdbSizerButtonsOK->GetEventHandler()->ProcessEvent(e);
|
||||
}
|
||||
@@ -324,7 +534,7 @@ void wxZRColaCharSelect::OnRecentKeyDown(wxKeyEvent& event)
|
||||
case WXK_NUMPAD_ENTER:
|
||||
wxString val(m_gridRecent->GetCellValue(m_gridRecent->GetCursorRow(), m_gridRecent->GetCursorColumn()));
|
||||
if (!val.IsEmpty()) {
|
||||
NavigateTo(val[0]);
|
||||
NavigateTo(val);
|
||||
wxCommandEvent e(wxEVT_COMMAND_BUTTON_CLICKED, wxID_OK);
|
||||
m_sdbSizerButtonsOK->GetEventHandler()->ProcessEvent(e);
|
||||
|
||||
@@ -384,7 +594,7 @@ void wxZRColaCharSelect::OnRelatedSelectCell(wxGridEvent& event)
|
||||
|
||||
wxString val(m_gridRelated->GetCellValue(event.GetRow(), event.GetCol()));
|
||||
if (!val.IsEmpty())
|
||||
NavigateTo(val[0]);
|
||||
NavigateTo(val);
|
||||
}
|
||||
|
||||
|
||||
@@ -392,15 +602,15 @@ void wxZRColaCharSelect::OnOKButtonClick(wxCommandEvent& event)
|
||||
{
|
||||
event.Skip();
|
||||
|
||||
wxString
|
||||
recent(m_gridRecent->GetCharacters()),
|
||||
val(1, m_char);
|
||||
for (size_t i = 0, n = recent.Length(); i < n; i++) {
|
||||
const wxStringCharType c = recent[i];
|
||||
const wxArrayString &recent = m_gridRecent->GetCharacters();
|
||||
wxArrayString val;
|
||||
val.reserve(recent.GetCount() + 1);
|
||||
val.Add(m_char);
|
||||
for (size_t i = 0, n = recent.GetCount(); i < n; i++) {
|
||||
const wxString &c = recent[i];
|
||||
if (c != m_char)
|
||||
val += c;
|
||||
val.Add(c);
|
||||
}
|
||||
|
||||
m_gridRecent->SetCharacters(val);
|
||||
}
|
||||
|
||||
@@ -408,15 +618,15 @@ void wxZRColaCharSelect::OnOKButtonClick(wxCommandEvent& event)
|
||||
void wxZRColaCharSelect::ResetResults()
|
||||
{
|
||||
// Fill the results.
|
||||
ZRColaApp *app = (ZRColaApp*)wxTheApp;
|
||||
auto app = dynamic_cast<ZRColaApp*>(wxTheApp);
|
||||
size_t i, n = app->m_chr_db.idxChr.size();
|
||||
wxString val;
|
||||
wxArrayString val;
|
||||
val.reserve(n);
|
||||
for (i = 0; i < n; i++) {
|
||||
const ZRCola::character_db::character &chr = app->m_chr_db.idxChr[i];
|
||||
std::map<ZRCola::chrcatid_t, int>::const_iterator idx = m_ccOrder.find(chr.cat);
|
||||
const auto &chr = app->m_chr_db.idxChr[i];
|
||||
auto idx = m_ccOrder.find(chr.cat);
|
||||
if (idx == m_ccOrder.end() || m_categories->IsChecked(idx->second))
|
||||
val += chr.chr;
|
||||
val.Add(wxString(chr.chr(), chr.chr_len()));
|
||||
}
|
||||
m_gridResults->SetCharacters(val);
|
||||
}
|
||||
@@ -450,7 +660,7 @@ void wxZRColaCharSelect::NavigateBy(int offset)
|
||||
}
|
||||
|
||||
m_navigateBack->Enable(m_historyCursor != m_history.begin());
|
||||
std::list<NavigationState>::iterator cursor_next(m_historyCursor);
|
||||
auto cursor_next = m_historyCursor;
|
||||
++cursor_next;
|
||||
m_navigateForward->Enable(cursor_next != m_history.end());
|
||||
|
||||
@@ -460,7 +670,7 @@ void wxZRColaCharSelect::NavigateBy(int offset)
|
||||
}
|
||||
|
||||
|
||||
void wxZRColaCharSelect::NavigateTo(wchar_t c)
|
||||
void wxZRColaCharSelect::NavigateTo(const wxString &c)
|
||||
{
|
||||
if (m_char != c) {
|
||||
// Update history state
|
||||
@@ -477,7 +687,7 @@ void wxZRColaCharSelect::NavigateTo(wchar_t c)
|
||||
m_historyCursor = m_history.insert(m_historyCursor, state);
|
||||
|
||||
// Purge the history's tail.
|
||||
std::list<NavigationState>::iterator cursor_next(m_historyCursor);
|
||||
auto cursor_next = m_historyCursor;
|
||||
++cursor_next;
|
||||
m_history.erase(cursor_next, m_history.end());
|
||||
|
||||
@@ -500,18 +710,25 @@ wxZRColaCharSelect::SearchThread::SearchThread(wxZRColaCharSelect *parent) :
|
||||
|
||||
wxThread::ExitCode wxZRColaCharSelect::SearchThread::Entry()
|
||||
{
|
||||
ZRColaApp *app = (ZRColaApp*)wxTheApp;
|
||||
std::map<wchar_t, ZRCola::charrank_t> hits;
|
||||
auto app = dynamic_cast<ZRColaApp*>(wxTheApp);
|
||||
std::map<std::wstring, ZRCola::charrank_t> hits;
|
||||
|
||||
if (TestDestroy()) return (wxThread::ExitCode)1;
|
||||
|
||||
{
|
||||
// Search by indexes and merge results.
|
||||
std::map<wchar_t, ZRCola::charrank_t> hits_sub;
|
||||
// Search by tags: Get tags with given names. Then, get characters of found tags.
|
||||
std::map<ZRCola::tagid_t, unsigned __int16> hits_tag;
|
||||
if (!app->m_tn_db.Search(m_search.c_str(), m_parent->m_locale, hits_tag, TestDestroyS, this)) return (wxThread::ExitCode)1;
|
||||
if (!app->m_ct_db.Search(hits_tag, app->m_chr_db, m_cats, hits, TestDestroyS, this)) return (wxThread::ExitCode)1;
|
||||
}
|
||||
|
||||
{
|
||||
// Search by description and merge results.
|
||||
std::map<std::wstring, ZRCola::charrank_t> hits_sub;
|
||||
if (!app->m_chr_db.Search(m_search.c_str(), m_cats, hits, hits_sub, TestDestroyS, this)) return (wxThread::ExitCode)1;
|
||||
for (std::map<wchar_t, ZRCola::charrank_t>::const_iterator i = hits_sub.cbegin(), i_end = hits_sub.cend(); i != i_end; ++i) {
|
||||
for (auto i = hits_sub.cbegin(), i_end = hits_sub.cend(); i != i_end; ++i) {
|
||||
if (TestDestroy()) return (wxThread::ExitCode)1;
|
||||
std::map<wchar_t, ZRCola::charrank_t>::iterator idx = hits.find(i->first);
|
||||
auto idx = hits.find(i->first);
|
||||
if (idx == hits.end())
|
||||
hits.insert(std::make_pair(i->first, i->second / 4));
|
||||
else
|
||||
@@ -521,7 +738,7 @@ wxThread::ExitCode wxZRColaCharSelect::SearchThread::Entry()
|
||||
|
||||
// Get best rank.
|
||||
ZRCola::charrank_t rank_ref = 0;
|
||||
for (std::map<wchar_t, ZRCola::charrank_t>::const_iterator i = hits.cbegin(), i_end = hits.cend(); i != i_end; ++i) {
|
||||
for (auto i = hits.cbegin(), i_end = hits.cend(); i != i_end; ++i) {
|
||||
if (TestDestroy()) return (wxThread::ExitCode)1;
|
||||
if (i->second > rank_ref)
|
||||
rank_ref = i->second;
|
||||
@@ -530,12 +747,12 @@ wxThread::ExitCode wxZRColaCharSelect::SearchThread::Entry()
|
||||
// Now sort the characters by rank (taking only top 3/4 by rank).
|
||||
ZRCola::charrank_t rank_threshold = rank_ref*3/4;
|
||||
m_hits.reserve(hits.size());
|
||||
for (std::map<wchar_t, ZRCola::charrank_t>::const_iterator i = hits.cbegin(), i_end = hits.cend(); i != i_end; ++i) {
|
||||
for (auto i = hits.cbegin(), i_end = hits.cend(); i != i_end; ++i) {
|
||||
if (TestDestroy()) return (wxThread::ExitCode)1;
|
||||
if (i->second > rank_threshold)
|
||||
m_hits.push_back(std::make_pair(i->second, i->first));
|
||||
}
|
||||
std::qsort(m_hits.data(), m_hits.size(), sizeof(std::pair<ZRCola::charrank_t, wchar_t>), CompareHits);
|
||||
std::qsort(m_hits.data(), m_hits.size(), sizeof(std::pair<ZRCola::charrank_t, std::wstring>), CompareHits);
|
||||
|
||||
// Signal the event handler that this thread is going to be destroyed.
|
||||
// NOTE: here we assume that using the m_parent pointer is safe,
|
||||
@@ -580,15 +797,28 @@ void wxPersistentZRColaCharSelect::Save() const
|
||||
{
|
||||
wxPersistentDialog::Save();
|
||||
|
||||
const wxZRColaCharSelect * const wnd = static_cast<const wxZRColaCharSelect*>(GetWindow());
|
||||
auto wnd = static_cast<const wxZRColaCharSelect*>(GetWindow()); // dynamic_cast is not reliable as we are typically called late in the wxTopLevelWindowMSW destructor.
|
||||
auto app = dynamic_cast<ZRColaApp*>(wxTheApp);
|
||||
|
||||
SaveValue(wxT("recentChars"), wnd->m_gridRecent->GetCharacters());
|
||||
wxString str, str2;
|
||||
auto &recent = wnd->m_gridRecent->GetCharacters();
|
||||
for (size_t i = 0, n = recent.GetCount(); i < n; i++) {
|
||||
if (i) str2 += wxT('|');
|
||||
auto &chr = recent[i];
|
||||
for (size_t j = 0, m = chr.Length(); j < m; j++) {
|
||||
if (j) str2 += wxT('+');
|
||||
str2 += wxString::Format(wxT("%04X"), chr[j]);
|
||||
}
|
||||
if (chr.Length() == 1)
|
||||
str += chr[0];
|
||||
}
|
||||
SaveValue(wxT("recentChars" ), str ); // Save in legacy format for backward compatibility.
|
||||
SaveValue(wxT("recentChars2"), str2); // Save in native format
|
||||
|
||||
ZRColaApp *app = (ZRColaApp*)wxTheApp;
|
||||
for (size_t i = 0, n = app->m_cc_db.idxRnk.size(); i < n; i++) {
|
||||
const ZRCola::chrcat_db::chrcat &cc = app->m_cc_db.idxRnk[i];
|
||||
for (size_t i = 0, n = app->m_cc_db.idxRank.size(); i < n; i++) {
|
||||
const auto &cc = app->m_cc_db.idxRank[i];
|
||||
wxString name(wxT("category"));
|
||||
name.Append(cc.id.data, _countof(cc.id.data));
|
||||
name.Append(cc.cat.data, _countof(cc.cat.data));
|
||||
SaveValue(name, wnd->m_categories->IsChecked(i));
|
||||
}
|
||||
|
||||
@@ -598,17 +828,32 @@ void wxPersistentZRColaCharSelect::Save() const
|
||||
|
||||
bool wxPersistentZRColaCharSelect::Restore()
|
||||
{
|
||||
wxZRColaCharSelect * const wnd = static_cast<wxZRColaCharSelect*>(GetWindow());
|
||||
auto wnd = dynamic_cast<wxZRColaCharSelect*>(GetWindow());
|
||||
auto app = dynamic_cast<ZRColaApp*>(wxTheApp);
|
||||
|
||||
wxString recent;
|
||||
if (RestoreValue(wxT("recentChars"), &recent))
|
||||
wnd->m_gridRecent->SetCharacters(recent);
|
||||
wxString str;
|
||||
if (RestoreValue(wxT("recentChars2"), &str)) {
|
||||
// Native format found.
|
||||
wxArrayString val;
|
||||
for (wxStringTokenizer tok(str, wxT("|")); tok.HasMoreTokens(); ) {
|
||||
wxString chr;
|
||||
for (wxStringTokenizer tok_chr(tok.GetNextToken(), wxT("+")); tok_chr.HasMoreTokens(); )
|
||||
chr += (wchar_t)_tcstoul(tok_chr.GetNextToken().c_str(), NULL, 16);
|
||||
val.Add(chr);
|
||||
}
|
||||
wnd->m_gridRecent->SetCharacters(val);
|
||||
} else if (RestoreValue(wxT("recentChars"), &str)) {
|
||||
// Legacy value found.
|
||||
wxArrayString val;
|
||||
for (size_t i = 0, n = str.Length(); i < n; i++)
|
||||
val.Add(wxString(1, str[i]));
|
||||
wnd->m_gridRecent->SetCharacters(val);
|
||||
}
|
||||
|
||||
ZRColaApp *app = (ZRColaApp*)wxTheApp;
|
||||
for (size_t i = 0, n = app->m_cc_db.idxRnk.size(); i < n; i++) {
|
||||
const ZRCola::chrcat_db::chrcat &cc = app->m_cc_db.idxRnk[i];
|
||||
for (size_t i = 0, n = app->m_cc_db.idxRank.size(); i < n; i++) {
|
||||
const auto &cc = app->m_cc_db.idxRank[i];
|
||||
wxString name(wxT("category"));
|
||||
name.Append(cc.id.data, _countof(cc.id.data));
|
||||
name.Append(cc.cat.data, _countof(cc.cat.data));
|
||||
bool val;
|
||||
if (RestoreValue(name, &val))
|
||||
wnd->m_categories->Check(i, val);
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user