Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/kornelski/7z.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorIgor Pavlov <ipavlov@users.sourceforge.net>2005-08-01 04:00:00 +0400
committerKornel LesiƄski <kornel@geekhood.net>2016-05-28 02:15:43 +0300
commitaf1fe52701852be3bd866f591aa0c273ac2fa7b4 (patch)
tree820a8d627b54aca314e566a4e8297d8aa3166e65
parent47f491561151c4f4bb2a8d2757daca476476c526 (diff)
4.25 beta
-rwxr-xr-x7zip/Archive/7z/7z.dsp2
-rwxr-xr-x7zip/Archive/7z/7zDecode.cpp6
-rwxr-xr-x7zip/Archive/7z/7zEncode.cpp2
-rwxr-xr-x7zip/Archive/7z/7zFolderInStream.cpp2
-rwxr-xr-x7zip/Archive/7z/7zHandlerOut.cpp6
-rwxr-xr-x7zip/Archive/7z/7zIn.cpp2
-rwxr-xr-x7zip/Archive/7z/7zUpdate.cpp10
-rwxr-xr-x7zip/Archive/7z/makefile87
-rwxr-xr-x7zip/Archive/7z/resource.h16
-rwxr-xr-x7zip/Archive/7z/resource.rc131
-rwxr-xr-x7zip/Archive/7z_C/7zExtract.h20
-rwxr-xr-x7zip/Archive/7z_C/7zMain.c10
-rwxr-xr-x7zip/Archive/7z_C/makefile77
-rwxr-xr-x7zip/Archive/Archive.def (renamed from 7zip/Archive/7z/7z.def)1
-rwxr-xr-x7zip/Archive/Arj/Arj.def7
-rwxr-xr-x7zip/Archive/Arj/Arj.dsp6
-rwxr-xr-x7zip/Archive/Arj/makefile64
-rwxr-xr-x7zip/Archive/Arj/resource.h16
-rwxr-xr-x7zip/Archive/Arj/resource.rc131
-rwxr-xr-x7zip/Archive/BZip2/BZip2.def8
-rwxr-xr-x7zip/Archive/BZip2/BZip2.dsp6
-rwxr-xr-x7zip/Archive/BZip2/makefile53
-rwxr-xr-x7zip/Archive/BZip2/resource.h16
-rwxr-xr-x7zip/Archive/BZip2/resource.rc131
-rwxr-xr-x7zip/Archive/Cab/Cab.def7
-rwxr-xr-x7zip/Archive/Cab/Cab.dsp10
-rwxr-xr-x7zip/Archive/Cab/CabIn.cpp2
-rwxr-xr-x7zip/Archive/Cab/makefile56
-rwxr-xr-x7zip/Archive/Cab/resource.h16
-rwxr-xr-x7zip/Archive/Cab/resource.rc131
-rwxr-xr-x7zip/Archive/Common/StdAfx.h1
-rwxr-xr-x7zip/Archive/Cpio/makefile53
-rwxr-xr-x7zip/Archive/Deb/Deb.def8
-rwxr-xr-x7zip/Archive/Deb/Deb.dsp6
-rwxr-xr-x7zip/Archive/Deb/makefile52
-rwxr-xr-x7zip/Archive/Deb/resource.h16
-rwxr-xr-x7zip/Archive/Deb/resource.rc131
-rwxr-xr-x7zip/Archive/GZip/DllExports.cpp2
-rwxr-xr-x7zip/Archive/GZip/GZip.def8
-rwxr-xr-x7zip/Archive/GZip/GZip.dsp8
-rwxr-xr-x7zip/Archive/GZip/makefile58
-rwxr-xr-x7zip/Archive/GZip/resource.h16
-rwxr-xr-x7zip/Archive/GZip/resource.rc131
-rwxr-xr-x7zip/Archive/RPM/Rpm.def8
-rwxr-xr-x7zip/Archive/RPM/Rpm.dsp6
-rwxr-xr-x7zip/Archive/RPM/makefile41
-rwxr-xr-x7zip/Archive/RPM/resource.h15
-rwxr-xr-x7zip/Archive/RPM/resource.rc131
-rwxr-xr-x7zip/Archive/Rar/Rar.def7
-rwxr-xr-x7zip/Archive/Rar/Rar.dsp8
-rwxr-xr-x7zip/Archive/Rar/makefile83
-rwxr-xr-x7zip/Archive/Rar/resource.h16
-rwxr-xr-x7zip/Archive/Rar/resource.rc131
-rwxr-xr-x7zip/Archive/Split/Split.def8
-rwxr-xr-x7zip/Archive/Split/Split.dsp8
-rwxr-xr-x7zip/Archive/Split/SplitHandlerOut.cpp (renamed from 7zip/Archive/Split/SplitHanlerOut.cpp)0
-rwxr-xr-x7zip/Archive/Split/makefile50
-rwxr-xr-x7zip/Archive/Split/resource.h16
-rwxr-xr-x7zip/Archive/Split/resource.rc131
-rwxr-xr-x7zip/Archive/Tar/Tar.def7
-rwxr-xr-x7zip/Archive/Tar/Tar.dsp8
-rwxr-xr-x7zip/Archive/Tar/makefile57
-rwxr-xr-x7zip/Archive/Tar/resource.h16
-rwxr-xr-x7zip/Archive/Tar/resource.rc131
-rwxr-xr-x7zip/Archive/Z/DllExports.cpp8
-rwxr-xr-x7zip/Archive/Z/Z.def8
-rwxr-xr-x7zip/Archive/Z/Z.dsp28
-rwxr-xr-x7zip/Archive/Z/makefile51
-rwxr-xr-x7zip/Archive/Z/resource.h16
-rwxr-xr-x7zip/Archive/Z/resource.rc131
-rwxr-xr-x7zip/Archive/Zip/Zip.def7
-rwxr-xr-x7zip/Archive/Zip/Zip.dsp32
-rwxr-xr-x7zip/Archive/Zip/ZipHandler.cpp2
-rwxr-xr-x7zip/Archive/Zip/ZipItem.h4
-rwxr-xr-x7zip/Archive/Zip/ZipOut.cpp8
-rwxr-xr-x7zip/Archive/Zip/makefile104
-rwxr-xr-x7zip/Archive/Zip/resource.h16
-rwxr-xr-x7zip/Archive/Zip/resource.rc131
-rwxr-xr-x7zip/Archive/cpio/cpio.def8
-rwxr-xr-x7zip/Archive/cpio/cpio.dsp6
-rwxr-xr-x7zip/Archive/cpio/resource.h16
-rwxr-xr-x7zip/Archive/cpio/resource.rc131
-rwxr-xr-x7zip/Archive/makefile19
-rwxr-xr-x7zip/Bundles/Alone/Alone.dsp4
-rwxr-xr-x7zip/Bundles/Alone/makefile333
-rwxr-xr-x7zip/Bundles/Alone/resource.h15
-rwxr-xr-x7zip/Bundles/Alone/resource.rc122
-rwxr-xr-x7zip/Bundles/Format7z/Format7z.dsp22
-rwxr-xr-x7zip/Bundles/Format7z/StdAfx.cpp3
-rwxr-xr-x7zip/Bundles/Format7z/StdAfx.h9
-rwxr-xr-x7zip/Bundles/Format7z/makefile181
-rwxr-xr-x7zip/Bundles/Format7z/resource.rc5
-rwxr-xr-x7zip/Bundles/Format7zExtract/Format7z.dsp34
-rwxr-xr-x7zip/Bundles/Format7zExtract/StdAfx.cpp3
-rwxr-xr-x7zip/Bundles/Format7zExtract/StdAfx.h9
-rwxr-xr-x7zip/Bundles/Format7zExtract/makefile166
-rwxr-xr-x7zip/Bundles/Format7zExtract/resource.rc5
-rwxr-xr-x7zip/Bundles/SFXCon/Main.cpp13
-rwxr-xr-x7zip/Bundles/SFXCon/makefile175
-rwxr-xr-x7zip/Bundles/SFXCon/resource.h16
-rwxr-xr-x7zip/Bundles/SFXCon/resource.rc131
-rwxr-xr-x7zip/Bundles/SFXSetup/SFXSetup.dsp17
-rwxr-xr-x7zip/Bundles/SFXSetup/makefile155
-rwxr-xr-x7zip/Bundles/SFXSetup/resource.h15
-rwxr-xr-x7zip/Bundles/SFXSetup/resource.rc148
-rwxr-xr-x7zip/Bundles/SFXWin/SFXWin.dsp31
-rwxr-xr-x7zip/Bundles/SFXWin/makefile202
-rwxr-xr-x7zip/Bundles/SFXWin/resource.h16
-rwxr-xr-x7zip/Bundles/SFXWin/resource.rc171
-rwxr-xr-x7zip/Bundles/makefile12
-rwxr-xr-x7zip/Common/FileStreams.cpp1
-rwxr-xr-x7zip/Common/OutBuffer.h4
-rwxr-xr-x7zip/Common/StdAfx.h1
-rwxr-xr-x7zip/Common/StreamObjects.cpp8
-rwxr-xr-x7zip/Compress/BZip2/BZip2.def9
-rwxr-xr-x7zip/Compress/BZip2/BZip2.dsp6
-rwxr-xr-x7zip/Compress/BZip2/makefile44
-rwxr-xr-x7zip/Compress/BZip2/resource.h15
-rwxr-xr-x7zip/Compress/BZip2/resource.rc122
-rwxr-xr-x7zip/Compress/BZip2Original/BZip2.def9
-rwxr-xr-x7zip/Compress/BZip2Original/BZip2.dsp305
-rwxr-xr-x7zip/Compress/BZip2Original/BZip2.dsw29
-rwxr-xr-x7zip/Compress/BZip2Original/resource.h15
-rwxr-xr-x7zip/Compress/BZip2Original/resource.rc121
-rwxr-xr-x7zip/Compress/Branch/Branch.def9
-rwxr-xr-x7zip/Compress/Branch/Branch.dsp6
-rwxr-xr-x7zip/Compress/Branch/makefile48
-rwxr-xr-x7zip/Compress/Branch/resource.h15
-rwxr-xr-x7zip/Compress/Branch/resource.rc122
-rwxr-xr-x7zip/Compress/ByteSwap/ByteSwap.def9
-rwxr-xr-x7zip/Compress/ByteSwap/ByteSwap.dsp2
-rwxr-xr-x7zip/Compress/ByteSwap/makefile23
-rwxr-xr-x7zip/Compress/ByteSwap/resource.h15
-rwxr-xr-x7zip/Compress/ByteSwap/resource.rc122
-rwxr-xr-x7zip/Compress/Codec.def (renamed from 7zip/Compress/Copy/Copy.def)0
-rwxr-xr-x7zip/Compress/Copy/Copy.dsp2
-rwxr-xr-x7zip/Compress/Copy/StdAfx.h3
-rwxr-xr-x7zip/Compress/Copy/makefile24
-rwxr-xr-x7zip/Compress/Copy/resource.h15
-rwxr-xr-x7zip/Compress/Copy/resource.rc122
-rwxr-xr-x7zip/Compress/Deflate/Deflate.def8
-rwxr-xr-x7zip/Compress/Deflate/Deflate.dsp6
-rwxr-xr-x7zip/Compress/Deflate/makefile51
-rwxr-xr-x7zip/Compress/Deflate/resource.h15
-rwxr-xr-x7zip/Compress/Deflate/resource.rc122
-rwxr-xr-x7zip/Compress/Implode/Implode.def9
-rwxr-xr-x7zip/Compress/Implode/Implode.dsp189
-rwxr-xr-x7zip/Compress/Implode/Implode.dsw29
-rwxr-xr-x7zip/Compress/Implode/resource.h15
-rwxr-xr-x7zip/Compress/Implode/resource.rc121
-rwxr-xr-x7zip/Compress/LZ/Patricia/PatMain.h14
-rwxr-xr-x7zip/Compress/LZMA/LZMA.def7
-rwxr-xr-x7zip/Compress/LZMA/LZMA.dsp4
-rwxr-xr-x7zip/Compress/LZMA/makefile58
-rwxr-xr-x7zip/Compress/LZMA/resource.h15
-rwxr-xr-x7zip/Compress/LZMA/resource.rc122
-rwxr-xr-x7zip/Compress/LZMA_Alone/makefile182
-rwxr-xr-x7zip/Compress/LZMA_Alone/makefile.gcc109
-rwxr-xr-x7zip/Compress/PPMD/PPMD.def9
-rwxr-xr-x7zip/Compress/PPMD/PPMD.dsp4
-rwxr-xr-x7zip/Compress/PPMD/PPMDSubAlloc.h2
-rwxr-xr-x7zip/Compress/PPMD/makefile40
-rwxr-xr-x7zip/Compress/PPMD/resource.h15
-rwxr-xr-x7zip/Compress/PPMD/resource.rc122
-rwxr-xr-x7zip/Compress/Shrink/resource.h15
-rwxr-xr-x7zip/Compress/makefile14
-rwxr-xr-x7zip/Crypto/7zAES/7zAES.def8
-rwxr-xr-x7zip/Crypto/7zAES/7zAES.dsp6
-rwxr-xr-x7zip/Crypto/7zAES/SHA256.cpp2
-rwxr-xr-x7zip/Crypto/7zAES/SHA256.h2
-rwxr-xr-x7zip/Crypto/7zAES/makefile46
-rwxr-xr-x7zip/Crypto/7zAES/resource.h15
-rwxr-xr-x7zip/Crypto/7zAES/resource.rc122
-rwxr-xr-x7zip/Crypto/AES/AES.dsp2
-rwxr-xr-x7zip/Crypto/AES/makefile31
-rwxr-xr-x7zip/Crypto/AES/resource.h15
-rwxr-xr-x7zip/Crypto/AES/resource.rc122
-rwxr-xr-x7zip/Crypto/Codec.def (renamed from 7zip/Crypto/AES/AES.def)4
-rwxr-xr-x7zip/Crypto/RarAES/RarAES.cpp28
-rwxr-xr-x7zip/Crypto/RarAES/sha1.cpp252
-rwxr-xr-x7zip/Crypto/RarAES/sha1.h28
-rwxr-xr-x7zip/Crypto/makefile8
-rwxr-xr-x7zip/FileManager/7zFM.exe.manifest2
-rwxr-xr-x7zip/FileManager/App.cpp22
-rwxr-xr-x7zip/FileManager/App.h8
-rwxr-xr-x7zip/FileManager/ExtractCallback.cpp5
-rwxr-xr-x7zip/FileManager/FM.cpp2
-rwxr-xr-x7zip/FileManager/FM.dsp58
-rwxr-xr-x7zip/FileManager/LangUtils.cpp97
-rwxr-xr-x7zip/FileManager/LangUtils.h9
-rwxr-xr-x7zip/FileManager/Panel.cpp42
-rwxr-xr-x7zip/FileManager/Panel.h20
-rwxr-xr-x7zip/FileManager/PanelCopy.cpp9
-rwxr-xr-x7zip/FileManager/PanelDrag.cpp200
-rwxr-xr-x7zip/FileManager/PanelExtract.cpp208
-rwxr-xr-x7zip/FileManager/PanelFolderChange.cpp2
-rwxr-xr-x7zip/FileManager/PanelItemOpen.cpp6
-rwxr-xr-x7zip/FileManager/PanelItems.cpp39
-rwxr-xr-x7zip/FileManager/PanelListNotify.cpp37
-rwxr-xr-x7zip/FileManager/PanelMenu.cpp43
-rwxr-xr-x7zip/FileManager/PanelOperations.cpp11
-rwxr-xr-x7zip/FileManager/PanelSelect.cpp61
-rwxr-xr-x7zip/FileManager/PanelSort.cpp4
-rwxr-xr-x7zip/FileManager/PanelSplitFile.cpp24
-rwxr-xr-x7zip/FileManager/RegistryAssociations.cpp16
-rwxr-xr-x7zip/FileManager/RegistryPlugins.cpp6
-rwxr-xr-x7zip/FileManager/RegistryUtils.cpp4
-rwxr-xr-x7zip/FileManager/RegistryUtils.h3
-rwxr-xr-x7zip/FileManager/Resource/AboutDialog/AboutDialog.cpp18
-rwxr-xr-x7zip/FileManager/Resource/AboutDialog/StdAfx.h16
-rwxr-xr-x7zip/FileManager/Resource/AboutDialog/resource.h17
-rwxr-xr-x7zip/FileManager/Resource/AboutDialog/resource.rc136
-rwxr-xr-x7zip/FileManager/Resource/BenchmarkDialog/BenchmarkDialog.cpp10
-rwxr-xr-x7zip/FileManager/Resource/BenchmarkDialog/StdAfx.h16
-rwxr-xr-x7zip/FileManager/Resource/BenchmarkDialog/resource.h15
-rwxr-xr-x7zip/FileManager/Resource/BenchmarkDialog/resource.rc208
-rwxr-xr-x7zip/FileManager/Resource/ComboDialog/StdAfx.h16
-rwxr-xr-x7zip/FileManager/Resource/ComboDialog/resource.h17
-rwxr-xr-x7zip/FileManager/Resource/ComboDialog/resource.rc104
-rwxr-xr-x7zip/FileManager/Resource/CopyDialog/StdAfx.h16
-rwxr-xr-x7zip/FileManager/Resource/CopyDialog/resource.h17
-rwxr-xr-x7zip/FileManager/Resource/CopyDialog/resource.rc108
-rwxr-xr-x7zip/FileManager/Resource/EditPage/StdAfx.h16
-rwxr-xr-x7zip/FileManager/Resource/EditPage/resource.h15
-rwxr-xr-x7zip/FileManager/Resource/EditPage/resource.rc102
-rwxr-xr-x7zip/FileManager/Resource/LangPage/LangPage.cpp74
-rwxr-xr-x7zip/FileManager/Resource/LangPage/StdAfx.h16
-rwxr-xr-x7zip/FileManager/Resource/LangPage/resource.h19
-rwxr-xr-x7zip/FileManager/Resource/LangPage/resource.rc102
-rwxr-xr-x7zip/FileManager/Resource/ListBoxDialog/StdAfx.h16
-rwxr-xr-x7zip/FileManager/Resource/ListBoxDialog/resource.h17
-rwxr-xr-x7zip/FileManager/Resource/ListBoxDialog/resource.rc108
-rwxr-xr-x7zip/FileManager/Resource/ListViewDialog/StdAfx.h16
-rwxr-xr-x7zip/FileManager/Resource/ListViewDialog/resource.h17
-rwxr-xr-x7zip/FileManager/Resource/ListViewDialog/resource.rc107
-rwxr-xr-x7zip/FileManager/Resource/MessagesDialog/StdAfx.h16
-rwxr-xr-x7zip/FileManager/Resource/MessagesDialog/resource.h19
-rwxr-xr-x7zip/FileManager/Resource/MessagesDialog/resource.rc116
-rwxr-xr-x7zip/FileManager/Resource/OverwriteDialog/StdAfx.h16
-rwxr-xr-x7zip/FileManager/Resource/OverwriteDialog/resource.h17
-rwxr-xr-x7zip/FileManager/Resource/OverwriteDialog/resource.rc151
-rwxr-xr-x7zip/FileManager/Resource/PasswordDialog/StdAfx.h16
-rwxr-xr-x7zip/FileManager/Resource/PasswordDialog/resource.h15
-rwxr-xr-x7zip/FileManager/Resource/PasswordDialog/resource.rc113
-rwxr-xr-x7zip/FileManager/Resource/PluginsPage/PluginsPage.cpp13
-rwxr-xr-x7zip/FileManager/Resource/PluginsPage/StdAfx.h16
-rwxr-xr-x7zip/FileManager/Resource/PluginsPage/resource.h15
-rwxr-xr-x7zip/FileManager/Resource/PluginsPage/resource.rc105
-rwxr-xr-x7zip/FileManager/Resource/ProgressDialog/StdAfx.h16
-rwxr-xr-x7zip/FileManager/Resource/ProgressDialog/resource.h17
-rwxr-xr-x7zip/FileManager/Resource/ProgressDialog/resource.rc105
-rwxr-xr-x7zip/FileManager/Resource/ProgressDialog2/ProgressDialog.cpp11
-rwxr-xr-x7zip/FileManager/Resource/ProgressDialog2/StdAfx.h16
-rwxr-xr-x7zip/FileManager/Resource/ProgressDialog2/resource.h15
-rwxr-xr-x7zip/FileManager/Resource/ProgressDialog2/resource.rc149
-rwxr-xr-x7zip/FileManager/Resource/PropertyName/resource.h17
-rwxr-xr-x7zip/FileManager/Resource/PropertyName/resource.rc126
-rwxr-xr-x7zip/FileManager/Resource/SettingsPage/SettingsPage.cpp6
-rwxr-xr-x7zip/FileManager/Resource/SettingsPage/StdAfx.h16
-rwxr-xr-x7zip/FileManager/Resource/SettingsPage/resource.h17
-rwxr-xr-x7zip/FileManager/Resource/SettingsPage/resource.rc128
-rwxr-xr-x7zip/FileManager/Resource/SplitDialog/StdAfx.h18
-rwxr-xr-x7zip/FileManager/Resource/SplitDialog/resource.h15
-rwxr-xr-x7zip/FileManager/Resource/SplitDialog/resource.rc113
-rwxr-xr-x7zip/FileManager/Resource/SystemPage/StdAfx.h16
-rwxr-xr-x7zip/FileManager/Resource/SystemPage/SystemPage.cpp30
-rwxr-xr-x7zip/FileManager/Resource/SystemPage/SystemPage.h3
-rwxr-xr-x7zip/FileManager/Resource/SystemPage/resource.h18
-rwxr-xr-x7zip/FileManager/Resource/SystemPage/resource.rc124
-rwxr-xr-x7zip/FileManager/SplitUtils.cpp1
-rwxr-xr-x7zip/FileManager/makefile173
-rwxr-xr-x7zip/FileManager/resource.h21
-rwxr-xr-x7zip/FileManager/resource.rc628
-rwxr-xr-x7zip/GuiCommon.rc37
-rwxr-xr-x7zip/MyVersion.h7
-rwxr-xr-x7zip/MyVersionInfo.rc41
-rwxr-xr-x7zip/SubBuild.mak3
-rwxr-xr-x7zip/UI/Agent/AgentOut.cpp11
-rwxr-xr-x7zip/UI/Common/ArchiveCommandLine.cpp12
-rwxr-xr-x7zip/UI/Common/CompressCall.cpp10
-rwxr-xr-x7zip/UI/Common/EnumDirItems.cpp77
-rwxr-xr-x7zip/UI/Common/EnumDirItems.h8
-rwxr-xr-x7zip/UI/Common/OpenArchive.cpp4
-rwxr-xr-x7zip/UI/Common/SortUtils.cpp2
-rwxr-xr-x7zip/UI/Common/StdAfx.h3
-rwxr-xr-x7zip/UI/Common/Update.cpp15
-rwxr-xr-x7zip/UI/Common/Update.h3
-rwxr-xr-x7zip/UI/Common/ZipRegistry.cpp2
-rwxr-xr-x7zip/UI/Console/Console.dsp6
-rwxr-xr-x7zip/UI/Console/ExtractCallbackConsole.cpp5
-rwxr-xr-x7zip/UI/Console/Main.cpp32
-rwxr-xr-x7zip/UI/Console/PercentPrinter.cpp2
-rwxr-xr-x7zip/UI/Console/UpdateCallbackConsole.cpp18
-rwxr-xr-x7zip/UI/Console/UpdateCallbackConsole.h9
-rwxr-xr-x7zip/UI/Console/makefile90
-rwxr-xr-x7zip/UI/Console/resource.h15
-rwxr-xr-x7zip/UI/Console/resource.rc122
-rwxr-xr-x7zip/UI/Explorer/7-zip.dll.manifest2
-rwxr-xr-x7zip/UI/Explorer/ContextMenu.cpp9
-rwxr-xr-x7zip/UI/Explorer/ContextMenu.h2
-rwxr-xr-x7zip/UI/Explorer/Explorer.def4
-rwxr-xr-x7zip/UI/Explorer/Explorer.dsp34
-rwxr-xr-x7zip/UI/Explorer/FoldersPage/FoldersPage.cpp2
-rwxr-xr-x7zip/UI/Explorer/FoldersPage/resource.h29
-rwxr-xr-x7zip/UI/Explorer/FoldersPage/resource.rc123
-rwxr-xr-x7zip/UI/Explorer/RegistryContextMenu.cpp61
-rwxr-xr-x7zip/UI/Explorer/SystemPage/SystemPage.cpp2
-rwxr-xr-x7zip/UI/Explorer/SystemPage/resource.h16
-rwxr-xr-x7zip/UI/Explorer/SystemPage/resource.rc117
-rwxr-xr-x7zip/UI/Explorer/makefile128
-rwxr-xr-x7zip/UI/Explorer/resource.h16
-rwxr-xr-x7zip/UI/Explorer/resource.rc213
-rwxr-xr-x7zip/UI/Far/Far.dsp2
-rwxr-xr-x7zip/UI/Far/Far.rc121
-rwxr-xr-x7zip/UI/Far/makefile95
-rwxr-xr-x7zip/UI/Far/resource.h15
-rwxr-xr-x7zip/UI/Far/resource.rc3
-rwxr-xr-x7zip/UI/GUI/7zG.exe.manifest2
-rwxr-xr-x7zip/UI/GUI/CompressDialog.cpp41
-rwxr-xr-x7zip/UI/GUI/CompressDialog.h4
-rwxr-xr-x7zip/UI/GUI/ExtractGUI.cpp6
-rwxr-xr-x7zip/UI/GUI/GUI.cpp9
-rwxr-xr-x7zip/UI/GUI/GUI.dsp45
-rwxr-xr-x7zip/UI/GUI/UpdateCallbackGUI.cpp22
-rwxr-xr-x7zip/UI/GUI/UpdateCallbackGUI.h2
-rwxr-xr-x7zip/UI/GUI/makefile131
-rwxr-xr-x7zip/UI/GUI/resource.h14
-rwxr-xr-x7zip/UI/GUI/resource.rc181
-rwxr-xr-x7zip/UI/Resource/CompressDialog/resource.h15
-rwxr-xr-x7zip/UI/Resource/CompressDialog/resource.rc260
-rwxr-xr-x7zip/UI/Resource/Extract/resource.h32
-rwxr-xr-x7zip/UI/Resource/Extract/resource.rc114
-rwxr-xr-x7zip/UI/Resource/ExtractDialog/resource.h14
-rwxr-xr-x7zip/UI/Resource/ExtractDialog/resource.rc191
-rwxr-xr-x7zip/UI/makefile9
-rwxr-xr-x7zip/makefile16
-rwxr-xr-xBuild.mak50
-rwxr-xr-xCommon/CRC.cpp2
-rwxr-xr-xCommon/CRC.h7
-rwxr-xr-xCommon/Random.cpp2
-rwxr-xr-xCommon/StdAfx.h1
-rwxr-xr-xCommon/String.h10
-rwxr-xr-xDOC/7zip.nsi4
-rwxr-xr-xDOC/history.txt5
-rwxr-xr-xDOC/readme.txt2
-rwxr-xr-xWindows/Control/ComboBox.h2
-rwxr-xr-xWindows/Control/Dialog.cpp16
-rwxr-xr-xWindows/Control/Dialog.h2
-rwxr-xr-xWindows/Control/ListView.h2
-rwxr-xr-xWindows/Control/PropertyPage.cpp4
-rwxr-xr-xWindows/Control/PropertyPage.h2
-rwxr-xr-xWindows/Control/StdAfx.h9
-rwxr-xr-xWindows/Control/Window2.cpp4
-rwxr-xr-xWindows/FileDir.cpp4
-rwxr-xr-xWindows/FileMapping.cpp2
-rwxr-xr-xWindows/Net.cpp16
-rwxr-xr-xWindows/Shell.h4
-rwxr-xr-xWindows/StdAfx.h1
-rwxr-xr-xWindows/Window.h4
359 files changed, 5982 insertions, 9866 deletions
diff --git a/7zip/Archive/7z/7z.dsp b/7zip/Archive/7z/7z.dsp
index c24ab86b..2e05281d 100755
--- a/7zip/Archive/7z/7z.dsp
+++ b/7zip/Archive/7z/7z.dsp
@@ -93,7 +93,7 @@ LINK32=link.exe
# PROP Default_Filter ""
# Begin Source File
-SOURCE=.\7z.def
+SOURCE=..\Archive.def
# End Source File
# Begin Source File
diff --git a/7zip/Archive/7z/7zDecode.cpp b/7zip/Archive/7z/7zDecode.cpp
index 8e1c26ea..e6dbeefd 100755
--- a/7zip/Archive/7z/7zDecode.cpp
+++ b/7zip/Archive/7z/7zDecode.cpp
@@ -336,10 +336,12 @@ HRESULT CDecoder::Decode(IInStream *inStream,
if (result == S_OK)
{
const CByteBuffer &properties = altCoderInfo.Properties;
- UInt32 size = properties.GetCapacity();
+ size_t size = properties.GetCapacity();
+ if (size > 0xFFFFFFFF)
+ return E_NOTIMPL;
if (size > 0)
{
- RINOK(compressSetDecoderProperties->SetDecoderProperties2((const Byte *)properties, size));
+ RINOK(compressSetDecoderProperties->SetDecoderProperties2((const Byte *)properties, (UInt32)size));
}
}
else if (result != E_NOINTERFACE)
diff --git a/7zip/Archive/7z/7zEncode.cpp b/7zip/Archive/7z/7zEncode.cpp
index 050c7e95..5a9dd86e 100755
--- a/7zip/Archive/7z/7zEncode.cpp
+++ b/7zip/Archive/7z/7zEncode.cpp
@@ -258,7 +258,7 @@ HRESULT CEncoder::CreateMixerCoder()
outStreamSpec->Init();
writeCoderProperties->WriteCoderProperties(outStream);
- UInt32 size = outStreamSpec->GetSize();
+ size_t size = outStreamSpec->GetSize();
// encodingInfo.Properties.SetCapacity(size);
if (encodingInfo.AltCoders.Size() == 0)
diff --git a/7zip/Archive/7z/7zFolderInStream.cpp b/7zip/Archive/7z/7zFolderInStream.cpp
index 63f45a07..91b39fa9 100755
--- a/7zip/Archive/7z/7zFolderInStream.cpp
+++ b/7zip/Archive/7z/7zFolderInStream.cpp
@@ -132,7 +132,7 @@ STDMETHODIMP CFolderInStream::GetSubStreamSize(UInt64 subStream, UInt64 *value)
*value = 0;
if (subStream < Sizes.Size())
{
- *value= Sizes[(size_t)subStream];
+ *value= Sizes[(int)(size_t)subStream];
return S_OK;
}
if (subStream > Sizes.Size())
diff --git a/7zip/Archive/7z/7zHandlerOut.cpp b/7zip/Archive/7z/7zHandlerOut.cpp
index d8fe58fb..29d02ca9 100755
--- a/7zip/Archive/7z/7zHandlerOut.cpp
+++ b/7zip/Archive/7z/7zHandlerOut.cpp
@@ -634,7 +634,7 @@ static int ParseStringToUInt32(const UString &srcString, UInt32 &number)
return 0;
}
number = (UInt32)number64;
- return end - start;
+ return (int)(end - start);
}
static const int kLogarithmicSizeLimit = 32;
@@ -650,7 +650,7 @@ HRESULT ParseDictionaryValues(const UString &srcStringSpec, UInt32 &dicSize)
const wchar_t *start = srcString;
const wchar_t *end;
UInt64 number = ConvertStringToUInt64(start, &end);
- int numDigits = end - start;
+ int numDigits = (int)(end - start);
if (numDigits == 0 || srcString.Length() > numDigits + 1)
return E_INVALIDARG;
if (srcString.Length() == numDigits)
@@ -901,7 +901,7 @@ HRESULT CHandler::SetSolidSettings(const UString &s)
_solidExtension = true;
continue;
}
- i += end - start;
+ i += (int)(end - start);
if (i == s2.Length())
return E_INVALIDARG;
wchar_t c = s2[i++];
diff --git a/7zip/Archive/7z/7zIn.cpp b/7zip/Archive/7z/7zIn.cpp
index 74d26f53..93a72c75 100755
--- a/7zip/Archive/7z/7zIn.cpp
+++ b/7zip/Archive/7z/7zIn.cpp
@@ -969,7 +969,7 @@ HRESULT CInArchive::ReadHeader(CArchiveDatabaseEx &database
database.ArchiveInfo.FileInfoPopIDs.Add(NID::kCRC);
CBoolVector emptyStreamVector;
- emptyStreamVector.Reserve((size_t)numFiles);
+ emptyStreamVector.Reserve((int)numFiles);
for(i = 0; i < numFiles; i++)
emptyStreamVector.Add(false);
CBoolVector emptyFileVector;
diff --git a/7zip/Archive/7z/7zUpdate.cpp b/7zip/Archive/7z/7zUpdate.cpp
index e2bb9c3f..5722aba4 100755
--- a/7zip/Archive/7z/7zUpdate.cpp
+++ b/7zip/Archive/7z/7zUpdate.cpp
@@ -106,10 +106,10 @@ static int CompareMethodIDs(const CMethodID &a1, const CMethodID &a2)
static int CompareBuffers(const CByteBuffer &a1, const CByteBuffer &a2)
{
- int c1 = a1.GetCapacity();
- int c2 = a2.GetCapacity();
+ size_t c1 = a1.GetCapacity();
+ size_t c2 = a2.GetCapacity();
RINOZ(MyCompare(c1, c2));
- for (int i = 0; i < c1; i++)
+ for (size_t i = 0; i < c1; i++)
RINOZ(MyCompare(a1[i], a2[i]));
return 0;
}
@@ -174,8 +174,8 @@ static int __cdecl CompareFolderRefs(const void *p1, const void *p2)
if (d1.NumUnPackStreamsVector[a1.FolderIndex] == 0)
return 0;
return CompareFiles(
- d1.Files[(size_t)d1.FolderStartFileIndex[a1.FolderIndex]],
- d2.Files[(size_t)d2.FolderStartFileIndex[a2.FolderIndex]]);
+ d1.Files[d1.FolderStartFileIndex[a1.FolderIndex]],
+ d2.Files[d2.FolderStartFileIndex[a2.FolderIndex]]);
}
////////////////////////////////////////////////////////////
diff --git a/7zip/Archive/7z/makefile b/7zip/Archive/7z/makefile
new file mode 100755
index 00000000..5c58e960
--- /dev/null
+++ b/7zip/Archive/7z/makefile
@@ -0,0 +1,87 @@
+PROG = 7z.dll
+DEF_FILE = ../Archive.def
+CFLAGS = $(CFLAGS) -I ../../../
+LIBS = $(LIBS) oleaut32.lib user32.lib
+
+7Z_OBJS = \
+ $O\7zCompressionMode.obj \
+ $O\7zDecode.obj \
+ $O\7zEncode.obj \
+ $O\7zExtract.obj \
+ $O\7zFolderInStream.obj \
+ $O\7zFolderOutStream.obj \
+ $O\7zHandler.obj \
+ $O\7zHandlerOut.obj \
+ $O\7zHeader.obj \
+ $O\7zIn.obj \
+ $O\7zMethodID.obj \
+ $O\7zMethods.obj \
+ $O\7zOut.obj \
+ $O\7zProperties.obj \
+ $O\7zSpecStream.obj \
+ $O\7zUpdate.obj \
+ $O\DllExports.obj \
+
+COMMON_OBJS = \
+ $O\Alloc.obj \
+ $O\CRC.obj \
+ $O\IntToString.obj \
+ $O\NewHandler.obj \
+ $O\String.obj \
+ $O\StringConvert.obj \
+ $O\StringToInt.obj \
+ $O\Vector.obj \
+
+WIN_OBJS = \
+ $O\DLL.obj \
+ $O\FileDir.obj \
+ $O\FileFind.obj \
+ $O\FileIO.obj \
+ $O\PropVariant.obj \
+ $O\Synchronization.obj
+
+7ZIP_COMMON_OBJS = \
+ $O\InOutTempBuffer.obj \
+ $O\LimitedStreams.obj \
+ $O\LockedStream.obj \
+ $O\OutBuffer.obj \
+ $O\ProgressUtils.obj \
+ $O\StreamBinder.obj \
+ $O\StreamObjects.obj \
+
+AR_COMMON_OBJS = \
+ $O\CodecsPath.obj \
+ $O\CoderLoader.obj \
+ $O\CoderMixer2.obj \
+ $O\CoderMixer2MT.obj \
+ $O\CrossThreadProgress.obj \
+ $O\FilterCoder.obj \
+ $O\InStreamWithCRC.obj \
+ $O\ItemNameUtils.obj \
+ $O\MultiStream.obj \
+ $O\OutStreamWithCRC.obj \
+
+OBJS = \
+ $O\StdAfx.obj \
+ $(7Z_OBJS) \
+ $(COMMON_OBJS) \
+ $(WIN_OBJS) \
+ $(7ZIP_COMMON_OBJS) \
+ $(AR_COMMON_OBJS) \
+ $O\CopyCoder.obj \
+ $O\resource.res
+
+!include "../../../Build.mak"
+
+$(7Z_OBJS): $(*B).cpp
+ $(COMPL)
+$(COMMON_OBJS): ../../../Common/$(*B).cpp
+ $(COMPL)
+$(WIN_OBJS): ../../../Windows/$(*B).cpp
+ $(COMPL)
+$(7ZIP_COMMON_OBJS): ../../Common/$(*B).cpp
+ $(COMPL)
+$(AR_COMMON_OBJS): ../Common/$(*B).cpp
+ $(COMPL)
+$O\CopyCoder.obj: ../../Compress/Copy/$(*B).cpp
+ $(COMPL)
diff --git a/7zip/Archive/7z/resource.h b/7zip/Archive/7z/resource.h
deleted file mode 100755
index 7b0dd8ff..00000000
--- a/7zip/Archive/7z/resource.h
+++ /dev/null
@@ -1,16 +0,0 @@
-//{{NO_DEPENDENCIES}}
-// Microsoft Developer Studio generated include file.
-// Used by resource.rc
-//
-#define IDI_ICON1 101
-
-// Next default values for new objects
-//
-#ifdef APSTUDIO_INVOKED
-#ifndef APSTUDIO_READONLY_SYMBOLS
-#define _APS_NEXT_RESOURCE_VALUE 102
-#define _APS_NEXT_COMMAND_VALUE 40001
-#define _APS_NEXT_CONTROL_VALUE 1000
-#define _APS_NEXT_SYMED_VALUE 101
-#endif
-#endif
diff --git a/7zip/Archive/7z/resource.rc b/7zip/Archive/7z/resource.rc
index 7adf8c51..8868173c 100755
--- a/7zip/Archive/7z/resource.rc
+++ b/7zip/Archive/7z/resource.rc
@@ -1,130 +1,5 @@
-//Microsoft Developer Studio generated resource script.
-//
-#include "resource.h"
+#include "../../MyVersionInfo.rc"
-#define APSTUDIO_READONLY_SYMBOLS
-/////////////////////////////////////////////////////////////////////////////
-//
-// Generated from the TEXTINCLUDE 2 resource.
-//
-#include "afxres.h"
-
-/////////////////////////////////////////////////////////////////////////////
-#undef APSTUDIO_READONLY_SYMBOLS
-
-/////////////////////////////////////////////////////////////////////////////
-// Russian resources
-
-#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_RUS)
-#ifdef _WIN32
-LANGUAGE LANG_RUSSIAN, SUBLANG_DEFAULT
-#pragma code_page(1251)
-#endif //_WIN32
-
-#ifdef APSTUDIO_INVOKED
-/////////////////////////////////////////////////////////////////////////////
-//
-// TEXTINCLUDE
-//
-
-1 TEXTINCLUDE DISCARDABLE
-BEGIN
- "resource.h\0"
-END
-
-2 TEXTINCLUDE DISCARDABLE
-BEGIN
- "#include ""afxres.h""\r\n"
- "\0"
-END
-
-3 TEXTINCLUDE DISCARDABLE
-BEGIN
- "\r\n"
- "\0"
-END
-
-#endif // APSTUDIO_INVOKED
-
-#endif // Russian resources
-/////////////////////////////////////////////////////////////////////////////
-
-
-/////////////////////////////////////////////////////////////////////////////
-// English (U.S.) resources
-
-#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_ENU)
-#ifdef _WIN32
-LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US
-#pragma code_page(1252)
-#endif //_WIN32
-
-/////////////////////////////////////////////////////////////////////////////
-//
-// Icon
-//
-
-// Icon with lowest ID value placed first to ensure application icon
-// remains consistent on all systems.
-IDI_ICON1 ICON DISCARDABLE "7z.ico"
-
-#ifndef _MAC
-/////////////////////////////////////////////////////////////////////////////
-//
-// Version
-//
-
-VS_VERSION_INFO VERSIONINFO
- FILEVERSION 4,24,0,0
- PRODUCTVERSION 4,24,0,0
- FILEFLAGSMASK 0x3fL
-#ifdef _DEBUG
- FILEFLAGS 0x1L
-#else
- FILEFLAGS 0x0L
-#endif
- FILEOS 0x40004L
- FILETYPE 0x2L
- FILESUBTYPE 0x0L
-BEGIN
- BLOCK "StringFileInfo"
- BEGIN
- BLOCK "040904b0"
- BEGIN
- VALUE "Comments", "\0"
- VALUE "CompanyName", "Igor Pavlov\0"
- VALUE "FileDescription", "7z Plugin for 7-Zip\0"
- VALUE "FileVersion", "4, 24, 0, 0\0"
- VALUE "InternalName", "7z\0"
- VALUE "LegalCopyright", "Copyright (C) 1999-2005 Igor Pavlov\0"
- VALUE "LegalTrademarks", "\0"
- VALUE "OriginalFilename", "7z.dll\0"
- VALUE "PrivateBuild", "\0"
- VALUE "ProductName", "7-Zip\0"
- VALUE "ProductVersion", "4, 24, 0, 0\0"
- VALUE "SpecialBuild", "\0"
- END
- END
- BLOCK "VarFileInfo"
- BEGIN
- VALUE "Translation", 0x409, 1200
- END
-END
-
-#endif // !_MAC
-
-#endif // English (U.S.) resources
-/////////////////////////////////////////////////////////////////////////////
-
-
-
-#ifndef APSTUDIO_INVOKED
-/////////////////////////////////////////////////////////////////////////////
-//
-// Generated from the TEXTINCLUDE 3 resource.
-//
-
-
-/////////////////////////////////////////////////////////////////////////////
-#endif // not APSTUDIO_INVOKED
+MY_VERSION_INFO_DLL("7z Plugin", "7z")
+101 ICON "7z.ico"
diff --git a/7zip/Archive/7z_C/7zExtract.h b/7zip/Archive/7z_C/7zExtract.h
index 0dcec690..e9a4fb4e 100755
--- a/7zip/Archive/7z_C/7zExtract.h
+++ b/7zip/Archive/7z_C/7zExtract.h
@@ -5,6 +5,26 @@
#include "7zIn.h"
+/*
+ SzExtract extracts file from archive
+
+ *outBuffer must be 0 before first call for each new archive.
+
+ Extracting cache:
+ If you need to decompress more than one file, you can send
+ these values from previous call:
+ *blockIndex,
+ *outBuffer,
+ *outBufferSize
+ You can consider "*outBuffer" as cache of solid block. If your archive is solid,
+ it will increase decompression speed.
+
+ If you use external function, you can declare these 3 cache variables
+ (blockIndex, outBuffer, outBufferSize) as static in that external function.
+
+ Free *outBuffer and set *outBuffer to 0, if you want to flush cache.
+*/
+
SZ_RESULT SzExtract(
ISzInStream *inStream,
CArchiveDatabaseEx *db,
diff --git a/7zip/Archive/7z_C/7zMain.c b/7zip/Archive/7z_C/7zMain.c
index 390ce8f4..6320bd18 100755
--- a/7zip/Archive/7z_C/7zMain.c
+++ b/7zip/Archive/7z_C/7zMain.c
@@ -132,9 +132,13 @@ int main(int numargs, char *args[])
else if (testCommand || extractCommand)
{
UInt32 i;
- UInt32 blockIndex;
- Byte *outBuffer = 0;
- size_t outBufferSize;
+
+ // if you need cache, use these 3 variables.
+ // if you use external function, you can make these variable as static.
+ UInt32 blockIndex = 0xFFFFFFFF; // it can have any value before first call (if outBuffer = 0)
+ Byte *outBuffer = 0; // it must be 0 before first call for each new archive.
+ size_t outBufferSize = 0; // it can have any value before first call (if outBuffer = 0)
+
printf("\n");
for (i = 0; i < db.Database.NumFiles; i++)
{
diff --git a/7zip/Archive/7z_C/makefile b/7zip/Archive/7z_C/makefile
index 83dc0335..9ce2c346 100755
--- a/7zip/Archive/7z_C/makefile
+++ b/7zip/Archive/7z_C/makefile
@@ -1,50 +1,55 @@
-PROG = 7zDec
-CXX = g++ -O2 -Wall
-LIB =
-RM = rm -f
-CFLAGS = -c
+PROG = 7zDec.exe
-OBJS = 7zAlloc.o 7zBuffer.o 7zCrc.o 7zDecode.o 7zExtract.o 7zHeader.o 7zIn.o 7zItem.o 7zMain.o 7zMethodID.o LzmaDecode.o
+!IFNDEF O
+!IFDEF CPU
+O=$(CPU)
+!ELSE
+O=O
+!ENDIF
+!ENDIF
-all: $(PROG)
+CFLAGS = $(CFLAGS) -nologo -c -Fo$O/ -GS-
+CFLAGS_O1 = $(CFLAGS) -O1
+CFLAGS_O2 = $(CFLAGS) -O2
-$(PROG): $(OBJS)
- $(CXX) -o $(PROG) $(LDFLAGS) $(OBJS) $(LIB)
+LFLAGS = $(LFLAGS) -nologo -OPT:NOWIN98
-7zAlloc.o: 7zAlloc.c
- $(CXX) $(CFLAGS) 7zAlloc.c
+PROGPATH = $O\$(PROG)
-7zBuffer.o: 7zBuffer.c
- $(CXX) $(CFLAGS) 7zBuffer.c
+COMPL_O1 = $(CPP) $(CFLAGS_O1) $**
+COMPL_O2 = $(CPP) $(CFLAGS_O2) $**
+COMPL = $(CPP) $(CFLAGS_O1) $**
-7zCrc.o: 7zCrc.c
- $(CXX) $(CFLAGS) 7zCrc.c
-7zDecode.o: 7zDecode.c
- $(CXX) $(CFLAGS) 7zDecode.c
+7Z_OBJS = \
+ $O\7zAlloc.obj \
+ $O\7zBuffer.obj \
+ $O\7zCrc.obj \
+ $O\7zDecode.obj \
+ $O\7zExtract.obj \
+ $O\7zHeader.obj \
+ $O\7zIn.obj \
+ $O\7zItem.obj \
+ $O\7zMain.obj \
+ $O\7zMethodID.obj \
-7zExtract.o: 7zExtract.c
- $(CXX) $(CFLAGS) 7zExtract.c
+OBJS = \
+ $(7Z_OBJS) \
+ $O\LzmaDecode.obj \
-7zHeader.o: 7zHeader.c
- $(CXX) $(CFLAGS) 7zHeader.c
+all: $(PROGPATH)
-7zIn.o: 7zIn.c
- $(CXX) $(CFLAGS) 7zIn.c
-
-7zItem.o: 7zItem.c
- $(CXX) $(CFLAGS) 7zItem.c
-
-7zMain.o: 7zMain.c
- $(CXX) $(CFLAGS) 7zMain.c
-
-7zMethodID.o: 7zMethodID.c
- $(CXX) $(CFLAGS) 7zMethodID.c
+clean:
+ -del /Q $(PROGPATH) $O\*.exe $O\*.dll $O\*.obj $O\*.lib $O\*.exp $O\*.res $O\*.pch
-LzmaDecode.o: ../../Compress/LZMA_C/LzmaDecode.c
- $(CXX) $(CFLAGS) ../../Compress/LZMA_C/LzmaDecode.c
+$O:
+ if not exist "$O" mkdir "$O"
+$(PROGPATH): $O $(OBJS)
+ link $(LFLAGS) -out:$(PROGPATH) $(OBJS) $(LIBS)
-clean:
- -$(RM) $(PROG) $(OBJS)
+$(7Z_OBJS): $(*B).c
+ $(COMPL)
+$O\LzmaDecode.obj: ../../Compress/LZMA_C/$(*B).c
+ $(COMPL_O2)
diff --git a/7zip/Archive/7z/7z.def b/7zip/Archive/Archive.def
index d940a778..befc7d83 100755
--- a/7zip/Archive/7z/7z.def
+++ b/7zip/Archive/Archive.def
@@ -1,4 +1,3 @@
EXPORTS
CreateObject PRIVATE
GetHandlerProperty PRIVATE
-
diff --git a/7zip/Archive/Arj/Arj.def b/7zip/Archive/Arj/Arj.def
deleted file mode 100755
index e240b3f2..00000000
--- a/7zip/Archive/Arj/Arj.def
+++ /dev/null
@@ -1,7 +0,0 @@
-; Arj.def
-
-LIBRARY Arj.dll
-
-EXPORTS
- CreateObject PRIVATE
- GetHandlerProperty PRIVATE
diff --git a/7zip/Archive/Arj/Arj.dsp b/7zip/Archive/Arj/Arj.dsp
index 1a231157..0963ce38 100755
--- a/7zip/Archive/Arj/Arj.dsp
+++ b/7zip/Archive/Arj/Arj.dsp
@@ -93,7 +93,7 @@ LINK32=link.exe
# PROP Default_Filter ""
# Begin Source File
-SOURCE=.\arj.def
+SOURCE=..\Archive.def
# End Source File
# Begin Source File
@@ -101,10 +101,6 @@ SOURCE=.\DllExports.cpp
# End Source File
# Begin Source File
-SOURCE=.\resource.h
-# End Source File
-# Begin Source File
-
SOURCE=.\resource.rc
# End Source File
# Begin Source File
diff --git a/7zip/Archive/Arj/makefile b/7zip/Archive/Arj/makefile
new file mode 100755
index 00000000..d45975b4
--- /dev/null
+++ b/7zip/Archive/Arj/makefile
@@ -0,0 +1,64 @@
+PROG = arj.dll
+DEF_FILE = ../Archive.def
+CFLAGS = $(CFLAGS) -I ../../../
+LIBS = $(LIBS) oleaut32.lib user32.lib
+
+ARJ_OBJS = \
+ $O\DllExports.obj \
+ $O\ArjHandler.obj \
+ $O\ArjIn.obj \
+
+COMMON_OBJS = \
+ $O\Alloc.obj \
+ $O\CRC.obj \
+ $O\NewHandler.obj \
+ $O\String.obj \
+ $O\StringConvert.obj \
+ $O\Vector.obj \
+
+WIN_OBJS = \
+ $O\PropVariant.obj \
+
+7ZIP_COMMON_OBJS = \
+ $O\InBuffer.obj \
+ $O\LimitedStreams.obj \
+ $O\ProgressUtils.obj \
+
+AR_COMMON_OBJS = \
+ $O\ItemNameUtils.obj \
+ $O\OutStreamWithCRC.obj \
+
+COMPRESS_ARJ_OBJS = \
+ $O\Decoder1.obj \
+ $O\Decoder2.obj \
+
+OBJS = \
+ $O\StdAfx.obj \
+ $(ARJ_OBJS) \
+ $(COMMON_OBJS) \
+ $(WIN_OBJS) \
+ $(7ZIP_COMMON_OBJS) \
+ $(AR_COMMON_OBJS) \
+ $(COMPRESS_ARJ_OBJS) \
+ $O\CopyCoder.obj \
+ $O\LZOutWindow.obj \
+ $O\resource.res
+
+!include "../../../Build.mak"
+
+$(ARJ_OBJS): $(*B).cpp
+ $(COMPL)
+$(COMMON_OBJS): ../../../Common/$(*B).cpp
+ $(COMPL)
+$(WIN_OBJS): ../../../Windows/$(*B).cpp
+ $(COMPL)
+$(7ZIP_COMMON_OBJS): ../../Common/$(*B).cpp
+ $(COMPL)
+$(AR_COMMON_OBJS): ../Common/$(*B).cpp
+ $(COMPL)
+$(COMPRESS_ARJ_OBJS): ../../Compress/Arj/$(*B).cpp
+ $(COMPL)
+$O\CopyCoder.obj: ../../Compress/Copy/$(*B).cpp
+ $(COMPL)
+$O\LZOutWindow.obj: ../../Compress/LZ/$(*B).cpp
+ $(COMPL)
diff --git a/7zip/Archive/Arj/resource.h b/7zip/Archive/Arj/resource.h
deleted file mode 100755
index 7b0dd8ff..00000000
--- a/7zip/Archive/Arj/resource.h
+++ /dev/null
@@ -1,16 +0,0 @@
-//{{NO_DEPENDENCIES}}
-// Microsoft Developer Studio generated include file.
-// Used by resource.rc
-//
-#define IDI_ICON1 101
-
-// Next default values for new objects
-//
-#ifdef APSTUDIO_INVOKED
-#ifndef APSTUDIO_READONLY_SYMBOLS
-#define _APS_NEXT_RESOURCE_VALUE 102
-#define _APS_NEXT_COMMAND_VALUE 40001
-#define _APS_NEXT_CONTROL_VALUE 1000
-#define _APS_NEXT_SYMED_VALUE 101
-#endif
-#endif
diff --git a/7zip/Archive/Arj/resource.rc b/7zip/Archive/Arj/resource.rc
index f4fd7d3c..5158e405 100755
--- a/7zip/Archive/Arj/resource.rc
+++ b/7zip/Archive/Arj/resource.rc
@@ -1,130 +1,5 @@
-//Microsoft Developer Studio generated resource script.
-//
-#include "resource.h"
+#include "../../MyVersionInfo.rc"
-#define APSTUDIO_READONLY_SYMBOLS
-/////////////////////////////////////////////////////////////////////////////
-//
-// Generated from the TEXTINCLUDE 2 resource.
-//
-#include "afxres.h"
-
-/////////////////////////////////////////////////////////////////////////////
-#undef APSTUDIO_READONLY_SYMBOLS
-
-/////////////////////////////////////////////////////////////////////////////
-// Russian resources
-
-#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_RUS)
-#ifdef _WIN32
-LANGUAGE LANG_RUSSIAN, SUBLANG_DEFAULT
-#pragma code_page(1251)
-#endif //_WIN32
-
-#ifdef APSTUDIO_INVOKED
-/////////////////////////////////////////////////////////////////////////////
-//
-// TEXTINCLUDE
-//
-
-1 TEXTINCLUDE DISCARDABLE
-BEGIN
- "resource.h\0"
-END
-
-2 TEXTINCLUDE DISCARDABLE
-BEGIN
- "#include ""afxres.h""\r\n"
- "\0"
-END
-
-3 TEXTINCLUDE DISCARDABLE
-BEGIN
- "\r\n"
- "\0"
-END
-
-#endif // APSTUDIO_INVOKED
-
-#endif // Russian resources
-/////////////////////////////////////////////////////////////////////////////
-
-
-/////////////////////////////////////////////////////////////////////////////
-// English (U.S.) resources
-
-#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_ENU)
-#ifdef _WIN32
-LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US
-#pragma code_page(1252)
-#endif //_WIN32
-
-/////////////////////////////////////////////////////////////////////////////
-//
-// Icon
-//
-
-// Icon with lowest ID value placed first to ensure application icon
-// remains consistent on all systems.
-IDI_ICON1 ICON DISCARDABLE "arj.ico"
-
-#ifndef _MAC
-/////////////////////////////////////////////////////////////////////////////
-//
-// Version
-//
-
-VS_VERSION_INFO VERSIONINFO
- FILEVERSION 4,23,0,0
- PRODUCTVERSION 4,23,0,0
- FILEFLAGSMASK 0x3fL
-#ifdef _DEBUG
- FILEFLAGS 0x1L
-#else
- FILEFLAGS 0x0L
-#endif
- FILEOS 0x40004L
- FILETYPE 0x2L
- FILESUBTYPE 0x0L
-BEGIN
- BLOCK "StringFileInfo"
- BEGIN
- BLOCK "040904b0"
- BEGIN
- VALUE "Comments", "\0"
- VALUE "CompanyName", "Igor Pavlov\0"
- VALUE "FileDescription", "Arj Plugin for 7-Zip\0"
- VALUE "FileVersion", "4, 23, 0, 0\0"
- VALUE "InternalName", "arj\0"
- VALUE "LegalCopyright", "Copyright (C) 1999-2004 Igor Pavlov\0"
- VALUE "LegalTrademarks", "\0"
- VALUE "OriginalFilename", "arj.dll\0"
- VALUE "PrivateBuild", "\0"
- VALUE "ProductName", "7-Zip\0"
- VALUE "ProductVersion", "4, 23, 0, 0\0"
- VALUE "SpecialBuild", "\0"
- END
- END
- BLOCK "VarFileInfo"
- BEGIN
- VALUE "Translation", 0x409, 1200
- END
-END
-
-#endif // !_MAC
-
-#endif // English (U.S.) resources
-/////////////////////////////////////////////////////////////////////////////
-
-
-
-#ifndef APSTUDIO_INVOKED
-/////////////////////////////////////////////////////////////////////////////
-//
-// Generated from the TEXTINCLUDE 3 resource.
-//
-
-
-/////////////////////////////////////////////////////////////////////////////
-#endif // not APSTUDIO_INVOKED
+MY_VERSION_INFO_DLL("Arj Plugin", "arj")
+101 ICON "arj.ico"
diff --git a/7zip/Archive/BZip2/BZip2.def b/7zip/Archive/BZip2/BZip2.def
deleted file mode 100755
index 7bd6455e..00000000
--- a/7zip/Archive/BZip2/BZip2.def
+++ /dev/null
@@ -1,8 +0,0 @@
-; BZip2.def
-
-LIBRARY bz2.dll
-
-EXPORTS
- CreateObject PRIVATE
- GetHandlerProperty PRIVATE
-
diff --git a/7zip/Archive/BZip2/BZip2.dsp b/7zip/Archive/BZip2/BZip2.dsp
index 9c1ac5e0..0e28884f 100755
--- a/7zip/Archive/BZip2/BZip2.dsp
+++ b/7zip/Archive/BZip2/BZip2.dsp
@@ -93,7 +93,7 @@ LINK32=link.exe
# PROP Default_Filter ""
# Begin Source File
-SOURCE=.\BZip2.def
+SOURCE=..\Archive.def
# End Source File
# Begin Source File
@@ -105,10 +105,6 @@ SOURCE=.\DllExports.cpp
# End Source File
# Begin Source File
-SOURCE=.\resource.h
-# End Source File
-# Begin Source File
-
SOURCE=.\resource.rc
# End Source File
# Begin Source File
diff --git a/7zip/Archive/BZip2/makefile b/7zip/Archive/BZip2/makefile
new file mode 100755
index 00000000..936abdcc
--- /dev/null
+++ b/7zip/Archive/BZip2/makefile
@@ -0,0 +1,53 @@
+PROG = bz2.dll
+DEF_FILE = ../Archive.def
+CFLAGS = $(CFLAGS) -I ../../../
+LIBS = $(LIBS) oleaut32.lib user32.lib
+
+BZ2_OBJS = \
+ $O\BZip2Handler.obj \
+ $O\BZip2HandlerOut.obj \
+ $O\BZip2Update.obj \
+ $O\DllExports.obj \
+
+COMMON_OBJS = \
+ $O\Alloc.obj \
+ $O\NewHandler.obj \
+ $O\String.obj \
+ $O\StringConvert.obj \
+ $O\StringToInt.obj \
+
+WIN_OBJS = \
+ $O\DLL.obj \
+ $O\PropVariant.obj \
+
+7ZIP_COMMON_OBJS = \
+ $O\ProgressUtils.obj \
+
+AR_COMMON_OBJS = \
+ $O\CodecsPath.obj \
+ $O\DummyOutStream.obj \
+
+OBJS = \
+ $O\StdAfx.obj \
+ $(BZ2_OBJS) \
+ $(COMMON_OBJS) \
+ $(WIN_OBJS) \
+ $(7ZIP_COMMON_OBJS) \
+ $(AR_COMMON_OBJS) \
+ $O\CopyCoder.obj \
+ $O\resource.res
+
+!include "../../../Build.mak"
+
+$(BZ2_OBJS): $(*B).cpp
+ $(COMPL)
+$(COMMON_OBJS): ../../../Common/$(*B).cpp
+ $(COMPL)
+$(WIN_OBJS): ../../../Windows/$(*B).cpp
+ $(COMPL)
+$(7ZIP_COMMON_OBJS): ../../Common/$(*B).cpp
+ $(COMPL)
+$(AR_COMMON_OBJS): ../Common/$(*B).cpp
+ $(COMPL)
+$O\CopyCoder.obj: ../../Compress/Copy/$(*B).cpp
+ $(COMPL)
diff --git a/7zip/Archive/BZip2/resource.h b/7zip/Archive/BZip2/resource.h
deleted file mode 100755
index 7b0dd8ff..00000000
--- a/7zip/Archive/BZip2/resource.h
+++ /dev/null
@@ -1,16 +0,0 @@
-//{{NO_DEPENDENCIES}}
-// Microsoft Developer Studio generated include file.
-// Used by resource.rc
-//
-#define IDI_ICON1 101
-
-// Next default values for new objects
-//
-#ifdef APSTUDIO_INVOKED
-#ifndef APSTUDIO_READONLY_SYMBOLS
-#define _APS_NEXT_RESOURCE_VALUE 102
-#define _APS_NEXT_COMMAND_VALUE 40001
-#define _APS_NEXT_CONTROL_VALUE 1000
-#define _APS_NEXT_SYMED_VALUE 101
-#endif
-#endif
diff --git a/7zip/Archive/BZip2/resource.rc b/7zip/Archive/BZip2/resource.rc
index 48ee6c60..2d4f27e3 100755
--- a/7zip/Archive/BZip2/resource.rc
+++ b/7zip/Archive/BZip2/resource.rc
@@ -1,130 +1,5 @@
-//Microsoft Developer Studio generated resource script.
-//
-#include "resource.h"
+#include "../../MyVersionInfo.rc"
-#define APSTUDIO_READONLY_SYMBOLS
-/////////////////////////////////////////////////////////////////////////////
-//
-// Generated from the TEXTINCLUDE 2 resource.
-//
-#include "afxres.h"
-
-/////////////////////////////////////////////////////////////////////////////
-#undef APSTUDIO_READONLY_SYMBOLS
-
-/////////////////////////////////////////////////////////////////////////////
-// Russian resources
-
-#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_RUS)
-#ifdef _WIN32
-LANGUAGE LANG_RUSSIAN, SUBLANG_DEFAULT
-#pragma code_page(1251)
-#endif //_WIN32
-
-#ifdef APSTUDIO_INVOKED
-/////////////////////////////////////////////////////////////////////////////
-//
-// TEXTINCLUDE
-//
-
-1 TEXTINCLUDE DISCARDABLE
-BEGIN
- "resource.h\0"
-END
-
-2 TEXTINCLUDE DISCARDABLE
-BEGIN
- "#include ""afxres.h""\r\n"
- "\0"
-END
-
-3 TEXTINCLUDE DISCARDABLE
-BEGIN
- "\r\n"
- "\0"
-END
-
-#endif // APSTUDIO_INVOKED
-
-#endif // Russian resources
-/////////////////////////////////////////////////////////////////////////////
-
-
-/////////////////////////////////////////////////////////////////////////////
-// English (U.S.) resources
-
-#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_ENU)
-#ifdef _WIN32
-LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US
-#pragma code_page(1252)
-#endif //_WIN32
-
-/////////////////////////////////////////////////////////////////////////////
-//
-// Icon
-//
-
-// Icon with lowest ID value placed first to ensure application icon
-// remains consistent on all systems.
-IDI_ICON1 ICON DISCARDABLE "bz2.ico"
-
-#ifndef _MAC
-/////////////////////////////////////////////////////////////////////////////
-//
-// Version
-//
-
-VS_VERSION_INFO VERSIONINFO
- FILEVERSION 4,19,0,0
- PRODUCTVERSION 4,19,0,0
- FILEFLAGSMASK 0x3fL
-#ifdef _DEBUG
- FILEFLAGS 0x1L
-#else
- FILEFLAGS 0x0L
-#endif
- FILEOS 0x40004L
- FILETYPE 0x2L
- FILESUBTYPE 0x0L
-BEGIN
- BLOCK "StringFileInfo"
- BEGIN
- BLOCK "040904b0"
- BEGIN
- VALUE "Comments", "\0"
- VALUE "CompanyName", "Igor Pavlov\0"
- VALUE "FileDescription", "BZip2 Plugin for 7-Zip\0"
- VALUE "FileVersion", "4, 19, 0, 0\0"
- VALUE "InternalName", "bz2\0"
- VALUE "LegalCopyright", "Copyright (C) 1999-2005 Igor Pavlov\0"
- VALUE "LegalTrademarks", "\0"
- VALUE "OriginalFilename", "bz2.dll\0"
- VALUE "PrivateBuild", "\0"
- VALUE "ProductName", "7-Zip\0"
- VALUE "ProductVersion", "4, 19, 0, 0\0"
- VALUE "SpecialBuild", "\0"
- END
- END
- BLOCK "VarFileInfo"
- BEGIN
- VALUE "Translation", 0x409, 1200
- END
-END
-
-#endif // !_MAC
-
-#endif // English (U.S.) resources
-/////////////////////////////////////////////////////////////////////////////
-
-
-
-#ifndef APSTUDIO_INVOKED
-/////////////////////////////////////////////////////////////////////////////
-//
-// Generated from the TEXTINCLUDE 3 resource.
-//
-
-
-/////////////////////////////////////////////////////////////////////////////
-#endif // not APSTUDIO_INVOKED
+MY_VERSION_INFO_DLL("BZip2 Plugin", "bz2")
+101 ICON "bz2.ico"
diff --git a/7zip/Archive/Cab/Cab.def b/7zip/Archive/Cab/Cab.def
deleted file mode 100755
index 77f97f92..00000000
--- a/7zip/Archive/Cab/Cab.def
+++ /dev/null
@@ -1,7 +0,0 @@
-; Cab.def
-
-LIBRARY cab.dll
-
-EXPORTS
- CreateObject PRIVATE
- GetHandlerProperty PRIVATE
diff --git a/7zip/Archive/Cab/Cab.dsp b/7zip/Archive/Cab/Cab.dsp
index e025dcff..f96be2e0 100755
--- a/7zip/Archive/Cab/Cab.dsp
+++ b/7zip/Archive/Cab/Cab.dsp
@@ -93,7 +93,7 @@ LINK32=link.exe
# PROP Default_Filter ""
# Begin Source File
-SOURCE=.\Cab.def
+SOURCE=..\Archive.def
# End Source File
# Begin Source File
@@ -101,10 +101,6 @@ SOURCE=.\DllExports.cpp
# End Source File
# Begin Source File
-SOURCE=.\resource.h
-# End Source File
-# Begin Source File
-
SOURCE=.\resource.rc
# End Source File
# Begin Source File
@@ -335,10 +331,6 @@ SOURCE=..\..\Compress\LZ\LZOutWindow.h
# End Group
# Begin Source File
-SOURCE=.\bitmap1.bmp
-# End Source File
-# Begin Source File
-
SOURCE=.\cab.ico
# End Source File
# End Target
diff --git a/7zip/Archive/Cab/CabIn.cpp b/7zip/Archive/Cab/CabIn.cpp
index 750b55c2..a9d40726 100755
--- a/7zip/Archive/Cab/CabIn.cpp
+++ b/7zip/Archive/Cab/CabIn.cpp
@@ -237,6 +237,8 @@ HRESULT CInArchive::Open(IInStream *inStream,
item.UnPackSize = ReadUInt32();
item.UnPackOffset = ReadUInt32();
item.FolderIndex = ReadUInt16();
+ if (item.FolderIndex > inArchiveInfo.NumFolders)
+ return S_FALSE;
UInt16 pureDate = ReadUInt16();
UInt16 pureTime = ReadUInt16();
item.Time = ((UInt32(pureDate) << 16)) | pureTime;
diff --git a/7zip/Archive/Cab/makefile b/7zip/Archive/Cab/makefile
new file mode 100755
index 00000000..ab635c5d
--- /dev/null
+++ b/7zip/Archive/Cab/makefile
@@ -0,0 +1,56 @@
+PROG = cab.dll
+DEF_FILE = ../Archive.def
+CFLAGS = $(CFLAGS) -I ../../../
+LIBS = $(LIBS) oleaut32.lib user32.lib
+
+CAB_OBJS = \
+ $O\DllExports.obj \
+ $O\CabCopyDecoder.obj \
+ $O\CabHandler.obj \
+ $O\CabHeader.obj \
+ $O\CabIn.obj \
+ $O\CabInBuffer.obj \
+ $O\LZXDecoder.obj \
+ $O\LZXi86Converter.obj \
+ $O\MSZipDecoder.obj \
+
+COMMON_OBJS = \
+ $O\Alloc.obj \
+ $O\IntToString.obj \
+ $O\NewHandler.obj \
+ $O\String.obj \
+ $O\StringConvert.obj \
+ $O\StringToInt.obj \
+ $O\UTFConvert.obj \
+ $O\Vector.obj \
+
+WIN_OBJS = \
+ $O\PropVariant.obj \
+
+7ZIP_COMMON_OBJS = \
+ $O\InBuffer.obj \
+ $O\LSBFDecoder.obj \
+ $O\OutBuffer.obj \
+ $O\ProgressUtils.obj \
+
+OBJS = \
+ $O\StdAfx.obj \
+ $(CAB_OBJS) \
+ $(COMMON_OBJS) \
+ $(WIN_OBJS) \
+ $(7ZIP_COMMON_OBJS) \
+ $O\LZOutWindow.obj \
+ $O\resource.res
+
+!include "../../../Build.mak"
+
+$(CAB_OBJS): $(*B).cpp
+ $(COMPL)
+$(COMMON_OBJS): ../../../Common/$(*B).cpp
+ $(COMPL)
+$(WIN_OBJS): ../../../Windows/$(*B).cpp
+ $(COMPL)
+$(7ZIP_COMMON_OBJS): ../../Common/$(*B).cpp
+ $(COMPL)
+$O\LZOutWindow.obj: ../../Compress/LZ/$(*B).cpp
+ $(COMPL)
diff --git a/7zip/Archive/Cab/resource.h b/7zip/Archive/Cab/resource.h
deleted file mode 100755
index 7b0dd8ff..00000000
--- a/7zip/Archive/Cab/resource.h
+++ /dev/null
@@ -1,16 +0,0 @@
-//{{NO_DEPENDENCIES}}
-// Microsoft Developer Studio generated include file.
-// Used by resource.rc
-//
-#define IDI_ICON1 101
-
-// Next default values for new objects
-//
-#ifdef APSTUDIO_INVOKED
-#ifndef APSTUDIO_READONLY_SYMBOLS
-#define _APS_NEXT_RESOURCE_VALUE 102
-#define _APS_NEXT_COMMAND_VALUE 40001
-#define _APS_NEXT_CONTROL_VALUE 1000
-#define _APS_NEXT_SYMED_VALUE 101
-#endif
-#endif
diff --git a/7zip/Archive/Cab/resource.rc b/7zip/Archive/Cab/resource.rc
index 03c27cb1..fa0792bd 100755
--- a/7zip/Archive/Cab/resource.rc
+++ b/7zip/Archive/Cab/resource.rc
@@ -1,130 +1,5 @@
-//Microsoft Developer Studio generated resource script.
-//
-#include "resource.h"
+#include "../../MyVersionInfo.rc"
-#define APSTUDIO_READONLY_SYMBOLS
-/////////////////////////////////////////////////////////////////////////////
-//
-// Generated from the TEXTINCLUDE 2 resource.
-//
-#include "afxres.h"
-
-/////////////////////////////////////////////////////////////////////////////
-#undef APSTUDIO_READONLY_SYMBOLS
-
-/////////////////////////////////////////////////////////////////////////////
-// Russian resources
-
-#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_RUS)
-#ifdef _WIN32
-LANGUAGE LANG_RUSSIAN, SUBLANG_DEFAULT
-#pragma code_page(1251)
-#endif //_WIN32
-
-#ifdef APSTUDIO_INVOKED
-/////////////////////////////////////////////////////////////////////////////
-//
-// TEXTINCLUDE
-//
-
-1 TEXTINCLUDE DISCARDABLE
-BEGIN
- "resource.h\0"
-END
-
-2 TEXTINCLUDE DISCARDABLE
-BEGIN
- "#include ""afxres.h""\r\n"
- "\0"
-END
-
-3 TEXTINCLUDE DISCARDABLE
-BEGIN
- "\r\n"
- "\0"
-END
-
-#endif // APSTUDIO_INVOKED
-
-#endif // Russian resources
-/////////////////////////////////////////////////////////////////////////////
-
-
-/////////////////////////////////////////////////////////////////////////////
-// English (U.S.) resources
-
-#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_ENU)
-#ifdef _WIN32
-LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US
-#pragma code_page(1252)
-#endif //_WIN32
-
-#ifndef _MAC
-/////////////////////////////////////////////////////////////////////////////
-//
-// Version
-//
-
-VS_VERSION_INFO VERSIONINFO
- FILEVERSION 4,23,0,0
- PRODUCTVERSION 4,23,0,0
- FILEFLAGSMASK 0x3fL
-#ifdef _DEBUG
- FILEFLAGS 0x1L
-#else
- FILEFLAGS 0x0L
-#endif
- FILEOS 0x40004L
- FILETYPE 0x2L
- FILESUBTYPE 0x0L
-BEGIN
- BLOCK "StringFileInfo"
- BEGIN
- BLOCK "040904b0"
- BEGIN
- VALUE "Comments", "\0"
- VALUE "CompanyName", "Igor Pavlov \0"
- VALUE "FileDescription", "Cab Plugin for 7-Zip\0"
- VALUE "FileVersion", "4, 23, 0, 0\0"
- VALUE "InternalName", "cab\0"
- VALUE "LegalCopyright", "Copyright (C) 1999-2005 Igor Pavlov\0"
- VALUE "LegalTrademarks", "\0"
- VALUE "OriginalFilename", "cab.dll\0"
- VALUE "PrivateBuild", "\0"
- VALUE "ProductName", "7-Zip\0"
- VALUE "ProductVersion", "4, 23, 0, 0\0"
- VALUE "SpecialBuild", "\0"
- END
- END
- BLOCK "VarFileInfo"
- BEGIN
- VALUE "Translation", 0x409, 1200
- END
-END
-
-#endif // !_MAC
-
-
-/////////////////////////////////////////////////////////////////////////////
-//
-// Icon
-//
-
-// Icon with lowest ID value placed first to ensure application icon
-// remains consistent on all systems.
-IDI_ICON1 ICON DISCARDABLE "cab.ico"
-#endif // English (U.S.) resources
-/////////////////////////////////////////////////////////////////////////////
-
-
-
-#ifndef APSTUDIO_INVOKED
-/////////////////////////////////////////////////////////////////////////////
-//
-// Generated from the TEXTINCLUDE 3 resource.
-//
-
-
-/////////////////////////////////////////////////////////////////////////////
-#endif // not APSTUDIO_INVOKED
+MY_VERSION_INFO_DLL("Cab Plugin", "cab")
+101 ICON "cab.ico"
diff --git a/7zip/Archive/Common/StdAfx.h b/7zip/Archive/Common/StdAfx.h
index e7fb6986..2e4be10b 100755
--- a/7zip/Archive/Common/StdAfx.h
+++ b/7zip/Archive/Common/StdAfx.h
@@ -4,5 +4,6 @@
#define __STDAFX_H
#include "../../../Common/MyWindows.h"
+#include "../../../Common/NewHandler.h"
#endif
diff --git a/7zip/Archive/Cpio/makefile b/7zip/Archive/Cpio/makefile
new file mode 100755
index 00000000..6c5fb3f4
--- /dev/null
+++ b/7zip/Archive/Cpio/makefile
@@ -0,0 +1,53 @@
+PROG = cpio.dll
+DEF_FILE = ../Archive.def
+CFLAGS = $(CFLAGS) -I ../../../
+LIBS = $(LIBS) oleaut32.lib user32.lib
+
+CPIO_OBJS = \
+ $O\DllExports.obj \
+ $O\CpioHandler.obj \
+ $O\CpioHeader.obj \
+ $O\CpioIn.obj \
+
+COMMON_OBJS = \
+ $O\Alloc.obj \
+ $O\NewHandler.obj \
+ $O\String.obj \
+ $O\StringConvert.obj \
+ $O\Vector.obj \
+
+WIN_OBJS = \
+ $O\PropVariant.obj \
+
+7ZIP_COMMON_OBJS = \
+ $O\LimitedStreams.obj \
+ $O\ProgressUtils.obj \
+
+AR_COMMON_OBJS = \
+ $O\ItemNameUtils.obj \
+
+OBJS = \
+ $O\StdAfx.obj \
+ $(CPIO_OBJS) \
+ $(COMMON_OBJS) \
+ $(WIN_OBJS) \
+ $(7ZIP_COMMON_OBJS) \
+ $(AR_COMMON_OBJS) \
+ $(COMPRESS_CPIO_OBJS) \
+ $O\CopyCoder.obj \
+ $O\resource.res
+
+!include "../../../Build.mak"
+
+$(CPIO_OBJS): $(*B).cpp
+ $(COMPL)
+$(COMMON_OBJS): ../../../Common/$(*B).cpp
+ $(COMPL)
+$(WIN_OBJS): ../../../Windows/$(*B).cpp
+ $(COMPL)
+$(7ZIP_COMMON_OBJS): ../../Common/$(*B).cpp
+ $(COMPL)
+$(AR_COMMON_OBJS): ../Common/$(*B).cpp
+ $(COMPL)
+$O\CopyCoder.obj: ../../Compress/Copy/$(*B).cpp
+ $(COMPL)
diff --git a/7zip/Archive/Deb/Deb.def b/7zip/Archive/Deb/Deb.def
deleted file mode 100755
index c281a9cf..00000000
--- a/7zip/Archive/Deb/Deb.def
+++ /dev/null
@@ -1,8 +0,0 @@
-; Deb.def
-
-LIBRARY deb.dll
-
-EXPORTS
- CreateObject PRIVATE
- GetHandlerProperty PRIVATE
-
diff --git a/7zip/Archive/Deb/Deb.dsp b/7zip/Archive/Deb/Deb.dsp
index 31b27e73..42f354a7 100755
--- a/7zip/Archive/Deb/Deb.dsp
+++ b/7zip/Archive/Deb/Deb.dsp
@@ -93,7 +93,7 @@ LINK32=link.exe
# PROP Default_Filter ""
# Begin Source File
-SOURCE=.\Deb.def
+SOURCE=..\Archive.def
# End Source File
# Begin Source File
@@ -105,10 +105,6 @@ SOURCE=.\DllExports.cpp
# End Source File
# Begin Source File
-SOURCE=.\resource.h
-# End Source File
-# Begin Source File
-
SOURCE=.\resource.rc
# End Source File
# Begin Source File
diff --git a/7zip/Archive/Deb/makefile b/7zip/Archive/Deb/makefile
new file mode 100755
index 00000000..8cff91a2
--- /dev/null
+++ b/7zip/Archive/Deb/makefile
@@ -0,0 +1,52 @@
+PROG = deb.dll
+DEF_FILE = ../Archive.def
+CFLAGS = $(CFLAGS) -I ../../../
+LIBS = $(LIBS) oleaut32.lib user32.lib
+
+DEB_OBJS = \
+ $O\DllExports.obj \
+ $O\DebHandler.obj \
+ $O\DebHeader.obj \
+ $O\DebIn.obj \
+
+COMMON_OBJS = \
+ $O\Alloc.obj \
+ $O\NewHandler.obj \
+ $O\String.obj \
+ $O\StringConvert.obj \
+ $O\Vector.obj \
+
+WIN_OBJS = \
+ $O\PropVariant.obj \
+
+7ZIP_COMMON_OBJS = \
+ $O\LimitedStreams.obj \
+ $O\ProgressUtils.obj \
+
+AR_COMMON_OBJS = \
+ $O\ItemNameUtils.obj \
+
+OBJS = \
+ $O\StdAfx.obj \
+ $(DEB_OBJS) \
+ $(COMMON_OBJS) \
+ $(WIN_OBJS) \
+ $(7ZIP_COMMON_OBJS) \
+ $(AR_COMMON_OBJS) \
+ $O\CopyCoder.obj \
+ $O\resource.res
+
+!include "../../../Build.mak"
+
+$(DEB_OBJS): $(*B).cpp
+ $(COMPL)
+$(COMMON_OBJS): ../../../Common/$(*B).cpp
+ $(COMPL)
+$(WIN_OBJS): ../../../Windows/$(*B).cpp
+ $(COMPL)
+$(7ZIP_COMMON_OBJS): ../../Common/$(*B).cpp
+ $(COMPL)
+$(AR_COMMON_OBJS): ../Common/$(*B).cpp
+ $(COMPL)
+$O\CopyCoder.obj: ../../Compress/Copy/$(*B).cpp
+ $(COMPL)
diff --git a/7zip/Archive/Deb/resource.h b/7zip/Archive/Deb/resource.h
deleted file mode 100755
index 7b0dd8ff..00000000
--- a/7zip/Archive/Deb/resource.h
+++ /dev/null
@@ -1,16 +0,0 @@
-//{{NO_DEPENDENCIES}}
-// Microsoft Developer Studio generated include file.
-// Used by resource.rc
-//
-#define IDI_ICON1 101
-
-// Next default values for new objects
-//
-#ifdef APSTUDIO_INVOKED
-#ifndef APSTUDIO_READONLY_SYMBOLS
-#define _APS_NEXT_RESOURCE_VALUE 102
-#define _APS_NEXT_COMMAND_VALUE 40001
-#define _APS_NEXT_CONTROL_VALUE 1000
-#define _APS_NEXT_SYMED_VALUE 101
-#endif
-#endif
diff --git a/7zip/Archive/Deb/resource.rc b/7zip/Archive/Deb/resource.rc
index 774f9c0b..a80edced 100755
--- a/7zip/Archive/Deb/resource.rc
+++ b/7zip/Archive/Deb/resource.rc
@@ -1,130 +1,5 @@
-//Microsoft Developer Studio generated resource script.
-//
-#include "resource.h"
+#include "../../MyVersionInfo.rc"
-#define APSTUDIO_READONLY_SYMBOLS
-/////////////////////////////////////////////////////////////////////////////
-//
-// Generated from the TEXTINCLUDE 2 resource.
-//
-#include "afxres.h"
-
-/////////////////////////////////////////////////////////////////////////////
-#undef APSTUDIO_READONLY_SYMBOLS
-
-/////////////////////////////////////////////////////////////////////////////
-// Russian resources
-
-#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_RUS)
-#ifdef _WIN32
-LANGUAGE LANG_RUSSIAN, SUBLANG_DEFAULT
-#pragma code_page(1251)
-#endif //_WIN32
-
-#ifdef APSTUDIO_INVOKED
-/////////////////////////////////////////////////////////////////////////////
-//
-// TEXTINCLUDE
-//
-
-1 TEXTINCLUDE DISCARDABLE
-BEGIN
- "resource.h\0"
-END
-
-2 TEXTINCLUDE DISCARDABLE
-BEGIN
- "#include ""afxres.h""\r\n"
- "\0"
-END
-
-3 TEXTINCLUDE DISCARDABLE
-BEGIN
- "\r\n"
- "\0"
-END
-
-#endif // APSTUDIO_INVOKED
-
-#endif // Russian resources
-/////////////////////////////////////////////////////////////////////////////
-
-
-/////////////////////////////////////////////////////////////////////////////
-// English (U.S.) resources
-
-#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_ENU)
-#ifdef _WIN32
-LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US
-#pragma code_page(1252)
-#endif //_WIN32
-
-/////////////////////////////////////////////////////////////////////////////
-//
-// Icon
-//
-
-// Icon with lowest ID value placed first to ensure application icon
-// remains consistent on all systems.
-IDI_ICON1 ICON DISCARDABLE "Deb.ico"
-
-#ifndef _MAC
-/////////////////////////////////////////////////////////////////////////////
-//
-// Version
-//
-
-VS_VERSION_INFO VERSIONINFO
- FILEVERSION 4,13,0,0
- PRODUCTVERSION 4,13,0,0
- FILEFLAGSMASK 0x3fL
-#ifdef _DEBUG
- FILEFLAGS 0x1L
-#else
- FILEFLAGS 0x0L
-#endif
- FILEOS 0x40004L
- FILETYPE 0x2L
- FILESUBTYPE 0x0L
-BEGIN
- BLOCK "StringFileInfo"
- BEGIN
- BLOCK "040904b0"
- BEGIN
- VALUE "Comments", "\0"
- VALUE "CompanyName", "Igor Pavlov\0"
- VALUE "FileDescription", "Deb Plugin for 7-Zip\0"
- VALUE "FileVersion", "4, 13, 0, 0\0"
- VALUE "InternalName", "deb\0"
- VALUE "LegalCopyright", "Copyright (C) 1999-2004 Igor Pavlov\0"
- VALUE "LegalTrademarks", "\0"
- VALUE "OriginalFilename", "deb.dll\0"
- VALUE "PrivateBuild", "\0"
- VALUE "ProductName", "7-Zip\0"
- VALUE "ProductVersion", "4, 13, 0, 0\0"
- VALUE "SpecialBuild", "\0"
- END
- END
- BLOCK "VarFileInfo"
- BEGIN
- VALUE "Translation", 0x409, 1200
- END
-END
-
-#endif // !_MAC
-
-#endif // English (U.S.) resources
-/////////////////////////////////////////////////////////////////////////////
-
-
-
-#ifndef APSTUDIO_INVOKED
-/////////////////////////////////////////////////////////////////////////////
-//
-// Generated from the TEXTINCLUDE 3 resource.
-//
-
-
-/////////////////////////////////////////////////////////////////////////////
-#endif // not APSTUDIO_INVOKED
+MY_VERSION_INFO_DLL("Deb Plugin", "deb")
+101 ICON "deb.ico"
diff --git a/7zip/Archive/GZip/DllExports.cpp b/7zip/Archive/GZip/DllExports.cpp
index a0e4fb90..4a0aca73 100755
--- a/7zip/Archive/GZip/DllExports.cpp
+++ b/7zip/Archive/GZip/DllExports.cpp
@@ -22,7 +22,7 @@ DEFINE_GUID(CLSID_CCompressDeflateDecoder,
HINSTANCE g_hInstance;
-#ifndef COMPRESS_BZIP2
+#ifndef COMPRESS_DEFLATE
#include "../Common/CodecsPath.h"
CSysString GetDeflateCodecPath()
{
diff --git a/7zip/Archive/GZip/GZip.def b/7zip/Archive/GZip/GZip.def
deleted file mode 100755
index 90971078..00000000
--- a/7zip/Archive/GZip/GZip.def
+++ /dev/null
@@ -1,8 +0,0 @@
-; GZip.def
-
-LIBRARY gz.dll
-
-EXPORTS
- CreateObject PRIVATE
- GetHandlerProperty PRIVATE
-
diff --git a/7zip/Archive/GZip/GZip.dsp b/7zip/Archive/GZip/GZip.dsp
index 8076f70d..aa880e63 100755
--- a/7zip/Archive/GZip/GZip.dsp
+++ b/7zip/Archive/GZip/GZip.dsp
@@ -93,11 +93,11 @@ LINK32=link.exe
# PROP Default_Filter ""
# Begin Source File
-SOURCE=.\DllExports.cpp
+SOURCE=..\Archive.def
# End Source File
# Begin Source File
-SOURCE=.\GZip.def
+SOURCE=.\DllExports.cpp
# End Source File
# Begin Source File
@@ -105,10 +105,6 @@ SOURCE=.\GZip.ico
# End Source File
# Begin Source File
-SOURCE=.\resource.h
-# End Source File
-# Begin Source File
-
SOURCE=.\resource.rc
# End Source File
# Begin Source File
diff --git a/7zip/Archive/GZip/makefile b/7zip/Archive/GZip/makefile
new file mode 100755
index 00000000..3c1c94a5
--- /dev/null
+++ b/7zip/Archive/GZip/makefile
@@ -0,0 +1,58 @@
+PROG = gz.dll
+DEF_FILE = ../Archive.def
+CFLAGS = $(CFLAGS) -I ../../../
+LIBS = $(LIBS) oleaut32.lib user32.lib
+
+GZ_OBJS = \
+ $O\GZipHandler.obj \
+ $O\GZipHandlerOut.obj \
+ $O\GZipHeader.obj \
+ $O\GZipIn.obj \
+ $O\GZipOut.obj \
+ $O\GZipUpdate.obj \
+ $O\DllExports.obj \
+
+COMMON_OBJS = \
+ $O\Alloc.obj \
+ $O\CRC.obj \
+ $O\NewHandler.obj \
+ $O\String.obj \
+ $O\StringConvert.obj \
+ $O\StringToInt.obj \
+
+WIN_OBJS = \
+ $O\DLL.obj \
+ $O\PropVariant.obj \
+
+7ZIP_COMMON_OBJS = \
+ $O\ProgressUtils.obj \
+
+AR_COMMON_OBJS = \
+ $O\CodecsPath.obj \
+ $O\InStreamWithCRC.obj \
+ $O\OutStreamWithCRC.obj \
+
+OBJS = \
+ $O\StdAfx.obj \
+ $(GZ_OBJS) \
+ $(COMMON_OBJS) \
+ $(WIN_OBJS) \
+ $(7ZIP_COMMON_OBJS) \
+ $(AR_COMMON_OBJS) \
+ $O\CopyCoder.obj \
+ $O\resource.res
+
+!include "../../../Build.mak"
+
+$(GZ_OBJS): $(*B).cpp
+ $(COMPL)
+$(COMMON_OBJS): ../../../Common/$(*B).cpp
+ $(COMPL)
+$(WIN_OBJS): ../../../Windows/$(*B).cpp
+ $(COMPL)
+$(7ZIP_COMMON_OBJS): ../../Common/$(*B).cpp
+ $(COMPL)
+$(AR_COMMON_OBJS): ../Common/$(*B).cpp
+ $(COMPL)
+$O\CopyCoder.obj: ../../Compress/Copy/$(*B).cpp
+ $(COMPL)
diff --git a/7zip/Archive/GZip/resource.h b/7zip/Archive/GZip/resource.h
deleted file mode 100755
index 7b0dd8ff..00000000
--- a/7zip/Archive/GZip/resource.h
+++ /dev/null
@@ -1,16 +0,0 @@
-//{{NO_DEPENDENCIES}}
-// Microsoft Developer Studio generated include file.
-// Used by resource.rc
-//
-#define IDI_ICON1 101
-
-// Next default values for new objects
-//
-#ifdef APSTUDIO_INVOKED
-#ifndef APSTUDIO_READONLY_SYMBOLS
-#define _APS_NEXT_RESOURCE_VALUE 102
-#define _APS_NEXT_COMMAND_VALUE 40001
-#define _APS_NEXT_CONTROL_VALUE 1000
-#define _APS_NEXT_SYMED_VALUE 101
-#endif
-#endif
diff --git a/7zip/Archive/GZip/resource.rc b/7zip/Archive/GZip/resource.rc
index d5601f35..29fb4825 100755
--- a/7zip/Archive/GZip/resource.rc
+++ b/7zip/Archive/GZip/resource.rc
@@ -1,130 +1,5 @@
-//Microsoft Developer Studio generated resource script.
-//
-#include "resource.h"
+#include "../../MyVersionInfo.rc"
-#define APSTUDIO_READONLY_SYMBOLS
-/////////////////////////////////////////////////////////////////////////////
-//
-// Generated from the TEXTINCLUDE 2 resource.
-//
-#include "afxres.h"
-
-/////////////////////////////////////////////////////////////////////////////
-#undef APSTUDIO_READONLY_SYMBOLS
-
-/////////////////////////////////////////////////////////////////////////////
-// Russian resources
-
-#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_RUS)
-#ifdef _WIN32
-LANGUAGE LANG_RUSSIAN, SUBLANG_DEFAULT
-#pragma code_page(1251)
-#endif //_WIN32
-
-#ifdef APSTUDIO_INVOKED
-/////////////////////////////////////////////////////////////////////////////
-//
-// TEXTINCLUDE
-//
-
-1 TEXTINCLUDE DISCARDABLE
-BEGIN
- "resource.h\0"
-END
-
-2 TEXTINCLUDE DISCARDABLE
-BEGIN
- "#include ""afxres.h""\r\n"
- "\0"
-END
-
-3 TEXTINCLUDE DISCARDABLE
-BEGIN
- "\r\n"
- "\0"
-END
-
-#endif // APSTUDIO_INVOKED
-
-#endif // Russian resources
-/////////////////////////////////////////////////////////////////////////////
-
-
-/////////////////////////////////////////////////////////////////////////////
-// English (U.S.) resources
-
-#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_ENU)
-#ifdef _WIN32
-LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US
-#pragma code_page(1252)
-#endif //_WIN32
-
-/////////////////////////////////////////////////////////////////////////////
-//
-// Icon
-//
-
-// Icon with lowest ID value placed first to ensure application icon
-// remains consistent on all systems.
-IDI_ICON1 ICON DISCARDABLE "gz.ico"
-
-#ifndef _MAC
-/////////////////////////////////////////////////////////////////////////////
-//
-// Version
-//
-
-VS_VERSION_INFO VERSIONINFO
- FILEVERSION 4,19,0,0
- PRODUCTVERSION 4,19,0,0
- FILEFLAGSMASK 0x3fL
-#ifdef _DEBUG
- FILEFLAGS 0x1L
-#else
- FILEFLAGS 0x0L
-#endif
- FILEOS 0x40004L
- FILETYPE 0x2L
- FILESUBTYPE 0x0L
-BEGIN
- BLOCK "StringFileInfo"
- BEGIN
- BLOCK "040904b0"
- BEGIN
- VALUE "Comments", "\0"
- VALUE "CompanyName", "Igor Pavlov\0"
- VALUE "FileDescription", "GZip Plugin for 7-Zip\0"
- VALUE "FileVersion", "4, 19, 0, 0\0"
- VALUE "InternalName", "gz\0"
- VALUE "LegalCopyright", "Copyright (C) 1999-2005 Igor Pavlov\0"
- VALUE "LegalTrademarks", "\0"
- VALUE "OriginalFilename", "gz.dll\0"
- VALUE "PrivateBuild", "\0"
- VALUE "ProductName", "7-Zip\0"
- VALUE "ProductVersion", "4, 19, 0, 0\0"
- VALUE "SpecialBuild", "\0"
- END
- END
- BLOCK "VarFileInfo"
- BEGIN
- VALUE "Translation", 0x409, 1200
- END
-END
-
-#endif // !_MAC
-
-#endif // English (U.S.) resources
-/////////////////////////////////////////////////////////////////////////////
-
-
-
-#ifndef APSTUDIO_INVOKED
-/////////////////////////////////////////////////////////////////////////////
-//
-// Generated from the TEXTINCLUDE 3 resource.
-//
-
-
-/////////////////////////////////////////////////////////////////////////////
-#endif // not APSTUDIO_INVOKED
+MY_VERSION_INFO_DLL("GZip Plugin", "gz")
+101 ICON "gz.ico"
diff --git a/7zip/Archive/RPM/Rpm.def b/7zip/Archive/RPM/Rpm.def
deleted file mode 100755
index 72d1968c..00000000
--- a/7zip/Archive/RPM/Rpm.def
+++ /dev/null
@@ -1,8 +0,0 @@
-; rpm.def
-
-LIBRARY rpm
-
-EXPORTS
- CreateObject
- GetHandlerProperty
-
diff --git a/7zip/Archive/RPM/Rpm.dsp b/7zip/Archive/RPM/Rpm.dsp
index 99f6b0b4..e0a828b3 100755
--- a/7zip/Archive/RPM/Rpm.dsp
+++ b/7zip/Archive/RPM/Rpm.dsp
@@ -93,15 +93,15 @@ LINK32=link.exe
# PROP Default_Filter ""
# Begin Source File
-SOURCE=.\DllExports.cpp
+SOURCE=..\Archive.def
# End Source File
# Begin Source File
-SOURCE=.\resource.rc
+SOURCE=.\DllExports.cpp
# End Source File
# Begin Source File
-SOURCE=.\Rpm.def
+SOURCE=.\resource.rc
# End Source File
# Begin Source File
diff --git a/7zip/Archive/RPM/makefile b/7zip/Archive/RPM/makefile
new file mode 100755
index 00000000..310c09a8
--- /dev/null
+++ b/7zip/Archive/RPM/makefile
@@ -0,0 +1,41 @@
+PROG = rpm.dll
+DEF_FILE = ../Archive.def
+CFLAGS = $(CFLAGS) -I ../../../
+LIBS = $(LIBS) oleaut32.lib
+
+RPM_OBJS = \
+ $O\DllExports.obj \
+ $O\RpmHandler.obj \
+ $O\RpmIn.obj \
+
+COMMON_OBJS = \
+ $O\Alloc.obj \
+ $O\NewHandler.obj \
+
+WIN_OBJS = \
+ $O\PropVariant.obj \
+
+7ZIP_COMMON_OBJS = \
+ $O\ProgressUtils.obj \
+
+OBJS = \
+ $O\StdAfx.obj \
+ $(RPM_OBJS) \
+ $(COMMON_OBJS) \
+ $(WIN_OBJS) \
+ $(7ZIP_COMMON_OBJS) \
+ $O\CopyCoder.obj \
+ $O\resource.res
+
+!include "../../../Build.mak"
+
+$(RPM_OBJS): $(*B).cpp
+ $(COMPL)
+$(COMMON_OBJS): ../../../Common/$(*B).cpp
+ $(COMPL)
+$(WIN_OBJS): ../../../Windows/$(*B).cpp
+ $(COMPL)
+$(7ZIP_COMMON_OBJS): ../../Common/$(*B).cpp
+ $(COMPL)
+$O\CopyCoder.obj: ../../Compress/Copy/$(*B).cpp
+ $(COMPL)
diff --git a/7zip/Archive/RPM/resource.h b/7zip/Archive/RPM/resource.h
deleted file mode 100755
index 612062a2..00000000
--- a/7zip/Archive/RPM/resource.h
+++ /dev/null
@@ -1,15 +0,0 @@
-//{{NO_DEPENDENCIES}}
-// Microsoft Developer Studio generated include file.
-// Used by resource.rc
-//
-
-// Next default values for new objects
-//
-#ifdef APSTUDIO_INVOKED
-#ifndef APSTUDIO_READONLY_SYMBOLS
-#define _APS_NEXT_RESOURCE_VALUE 101
-#define _APS_NEXT_COMMAND_VALUE 40001
-#define _APS_NEXT_CONTROL_VALUE 1000
-#define _APS_NEXT_SYMED_VALUE 101
-#endif
-#endif
diff --git a/7zip/Archive/RPM/resource.rc b/7zip/Archive/RPM/resource.rc
index ae3e7177..926f09aa 100755
--- a/7zip/Archive/RPM/resource.rc
+++ b/7zip/Archive/RPM/resource.rc
@@ -1,130 +1,5 @@
-//Microsoft Developer Studio generated resource script.
-//
-#include "resource.h"
+#include "../../MyVersionInfo.rc"
-#define APSTUDIO_READONLY_SYMBOLS
-/////////////////////////////////////////////////////////////////////////////
-//
-// Generated from the TEXTINCLUDE 2 resource.
-//
-#include "afxres.h"
-
-/////////////////////////////////////////////////////////////////////////////
-#undef APSTUDIO_READONLY_SYMBOLS
-
-/////////////////////////////////////////////////////////////////////////////
-// Russian resources
-
-#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_RUS)
-#ifdef _WIN32
-LANGUAGE LANG_RUSSIAN, SUBLANG_DEFAULT
-#pragma code_page(1251)
-#endif //_WIN32
-
-#ifdef APSTUDIO_INVOKED
-/////////////////////////////////////////////////////////////////////////////
-//
-// TEXTINCLUDE
-//
-
-1 TEXTINCLUDE DISCARDABLE
-BEGIN
- "resource.h\0"
-END
-
-2 TEXTINCLUDE DISCARDABLE
-BEGIN
- "#include ""afxres.h""\r\n"
- "\0"
-END
-
-3 TEXTINCLUDE DISCARDABLE
-BEGIN
- "\r\n"
- "\0"
-END
-
-#endif // APSTUDIO_INVOKED
-
-#endif // Russian resources
-/////////////////////////////////////////////////////////////////////////////
-
-
-/////////////////////////////////////////////////////////////////////////////
-// English (U.S.) resources
-
-#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_ENU)
-#ifdef _WIN32
-LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US
-#pragma code_page(1252)
-#endif //_WIN32
-
-/////////////////////////////////////////////////////////////////////////////
-//
-// Icon
-//
-
-// Icon with lowest ID value placed first to ensure application icon
-// remains consistent on all systems.
-IDI_ICON1 ICON DISCARDABLE "Rpm.ico"
-
-#ifndef _MAC
-/////////////////////////////////////////////////////////////////////////////
-//
-// Version
-//
-
-VS_VERSION_INFO VERSIONINFO
- FILEVERSION 4,7,0,0
- PRODUCTVERSION 4,7,0,0
- FILEFLAGSMASK 0x3fL
-#ifdef _DEBUG
- FILEFLAGS 0x1L
-#else
- FILEFLAGS 0x0L
-#endif
- FILEOS 0x40004L
- FILETYPE 0x2L
- FILESUBTYPE 0x0L
-BEGIN
- BLOCK "StringFileInfo"
- BEGIN
- BLOCK "040904b0"
- BEGIN
- VALUE "Comments", "\0"
- VALUE "CompanyName", "Igor Pavlov\0"
- VALUE "FileDescription", "RPM Plugin for 7-Zip\0"
- VALUE "FileVersion", "4, 7, 0, 0\0"
- VALUE "InternalName", "rpm\0"
- VALUE "LegalCopyright", "Copyright (C) 1999-2004 Igor Pavlov\0"
- VALUE "LegalTrademarks", "\0"
- VALUE "OriginalFilename", "rpm.dll\0"
- VALUE "PrivateBuild", "\0"
- VALUE "ProductName", "7-Zip\0"
- VALUE "ProductVersion", "4, 7, 0, 0\0"
- VALUE "SpecialBuild", "\0"
- END
- END
- BLOCK "VarFileInfo"
- BEGIN
- VALUE "Translation", 0x409, 1200
- END
-END
-
-#endif // !_MAC
-
-#endif // English (U.S.) resources
-/////////////////////////////////////////////////////////////////////////////
-
-
-
-#ifndef APSTUDIO_INVOKED
-/////////////////////////////////////////////////////////////////////////////
-//
-// Generated from the TEXTINCLUDE 3 resource.
-//
-
-
-/////////////////////////////////////////////////////////////////////////////
-#endif // not APSTUDIO_INVOKED
+MY_VERSION_INFO_DLL("Rpm Plugin", "rpm")
+101 ICON "rpm.ico"
diff --git a/7zip/Archive/Rar/Rar.def b/7zip/Archive/Rar/Rar.def
deleted file mode 100755
index 6fd75ee2..00000000
--- a/7zip/Archive/Rar/Rar.def
+++ /dev/null
@@ -1,7 +0,0 @@
-; Rar.def
-
-LIBRARY Rar.dll
-
-EXPORTS
- CreateObject PRIVATE
- GetHandlerProperty PRIVATE
diff --git a/7zip/Archive/Rar/Rar.dsp b/7zip/Archive/Rar/Rar.dsp
index 99cbd0ce..9fe9b840 100755
--- a/7zip/Archive/Rar/Rar.dsp
+++ b/7zip/Archive/Rar/Rar.dsp
@@ -93,15 +93,11 @@ LINK32=link.exe
# PROP Default_Filter ""
# Begin Source File
-SOURCE=.\DllExports.cpp
+SOURCE=..\Archive.def
# End Source File
# Begin Source File
-SOURCE=.\Rar.def
-# End Source File
-# Begin Source File
-
-SOURCE=.\resource.h
+SOURCE=.\DllExports.cpp
# End Source File
# Begin Source File
diff --git a/7zip/Archive/Rar/makefile b/7zip/Archive/Rar/makefile
new file mode 100755
index 00000000..0799edf3
--- /dev/null
+++ b/7zip/Archive/Rar/makefile
@@ -0,0 +1,83 @@
+PROG = rar.dll
+DEF_FILE = ../Archive.def
+CFLAGS = $(CFLAGS) -I ../../../
+LIBS = $(LIBS) oleaut32.lib user32.lib
+
+RAR_OBJS = \
+ $O\DllExports.obj \
+ $O\RarHandler.obj \
+ $O\RarHeader.obj \
+ $O\RarIn.obj \
+ $O\RarItem.obj \
+ $O\RarVolumeInStream.obj \
+
+COMMON_OBJS = \
+ $O\Alloc.obj \
+ $O\CRC.obj \
+ $O\IntToString.obj \
+ $O\NewHandler.obj \
+ $O\String.obj \
+ $O\StringConvert.obj \
+ $O\Vector.obj \
+
+WIN_OBJS = \
+ $O\DLL.obj \
+ $O\FileFind.obj \
+ $O\PropVariant.obj \
+
+7ZIP_COMMON_OBJS = \
+ $O\LimitedStreams.obj \
+ $O\ProgressUtils.obj \
+ $O\StreamObjects.obj \
+
+AR_COMMON_OBJS = \
+ $O\CodecsPath.obj \
+ $O\FilterCoder.obj \
+ $O\InStreamWithCRC.obj \
+ $O\OutStreamWithCRC.obj \
+
+7Z_OBJS = \
+ $O\7zMethodID.obj \
+ $O\7zMethods.obj \
+
+CRYPTO_RAR20_OBJS = \
+ $O\Rar20Cipher.obj \
+ $O\Rar20Crypto.obj \
+
+CRYPTO_RARAES_OBJS = \
+ $O\RarAES.obj \
+ $O\sha1.obj \
+
+OBJS = \
+ $O\StdAfx.obj \
+ $(RAR_OBJS) \
+ $(COMMON_OBJS) \
+ $(WIN_OBJS) \
+ $(7ZIP_COMMON_OBJS) \
+ $(AR_COMMON_OBJS) \
+ $(7Z_OBJS) \
+ $(CRYPTO_RAR20_OBJS) \
+ $(CRYPTO_RARAES_OBJS) \
+ $O\CopyCoder.obj \
+ $O\resource.res
+
+!include "../../../Build.mak"
+
+$(RAR_OBJS): $(*B).cpp
+ $(COMPL)
+$(COMMON_OBJS): ../../../Common/$(*B).cpp
+ $(COMPL)
+$(WIN_OBJS): ../../../Windows/$(*B).cpp
+ $(COMPL)
+$(7ZIP_COMMON_OBJS): ../../Common/$(*B).cpp
+ $(COMPL)
+$(AR_COMMON_OBJS): ../Common/$(*B).cpp
+ $(COMPL)
+$(7Z_OBJS): ../7z/$(*B).cpp
+ $(COMPL)
+$(CRYPTO_RAR20_OBJS): ../../Crypto/Rar20/$(*B).cpp
+ $(COMPL)
+$(CRYPTO_RARAES_OBJS): ../../Crypto/RarAES/$(*B).cpp
+ $(COMPL)
+$O\CopyCoder.obj: ../../Compress/Copy/$(*B).cpp
+ $(COMPL)
diff --git a/7zip/Archive/Rar/resource.h b/7zip/Archive/Rar/resource.h
deleted file mode 100755
index 7b0dd8ff..00000000
--- a/7zip/Archive/Rar/resource.h
+++ /dev/null
@@ -1,16 +0,0 @@
-//{{NO_DEPENDENCIES}}
-// Microsoft Developer Studio generated include file.
-// Used by resource.rc
-//
-#define IDI_ICON1 101
-
-// Next default values for new objects
-//
-#ifdef APSTUDIO_INVOKED
-#ifndef APSTUDIO_READONLY_SYMBOLS
-#define _APS_NEXT_RESOURCE_VALUE 102
-#define _APS_NEXT_COMMAND_VALUE 40001
-#define _APS_NEXT_CONTROL_VALUE 1000
-#define _APS_NEXT_SYMED_VALUE 101
-#endif
-#endif
diff --git a/7zip/Archive/Rar/resource.rc b/7zip/Archive/Rar/resource.rc
index 1aef2af2..94b4198b 100755
--- a/7zip/Archive/Rar/resource.rc
+++ b/7zip/Archive/Rar/resource.rc
@@ -1,130 +1,5 @@
-//Microsoft Developer Studio generated resource script.
-//
-#include "resource.h"
+#include "../../MyVersionInfo.rc"
-#define APSTUDIO_READONLY_SYMBOLS
-/////////////////////////////////////////////////////////////////////////////
-//
-// Generated from the TEXTINCLUDE 2 resource.
-//
-#include "afxres.h"
-
-/////////////////////////////////////////////////////////////////////////////
-#undef APSTUDIO_READONLY_SYMBOLS
-
-/////////////////////////////////////////////////////////////////////////////
-// Russian resources
-
-#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_RUS)
-#ifdef _WIN32
-LANGUAGE LANG_RUSSIAN, SUBLANG_DEFAULT
-#pragma code_page(1251)
-#endif //_WIN32
-
-#ifdef APSTUDIO_INVOKED
-/////////////////////////////////////////////////////////////////////////////
-//
-// TEXTINCLUDE
-//
-
-1 TEXTINCLUDE DISCARDABLE
-BEGIN
- "resource.h\0"
-END
-
-2 TEXTINCLUDE DISCARDABLE
-BEGIN
- "#include ""afxres.h""\r\n"
- "\0"
-END
-
-3 TEXTINCLUDE DISCARDABLE
-BEGIN
- "\r\n"
- "\0"
-END
-
-#endif // APSTUDIO_INVOKED
-
-#endif // Russian resources
-/////////////////////////////////////////////////////////////////////////////
-
-
-/////////////////////////////////////////////////////////////////////////////
-// English (U.S.) resources
-
-#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_ENU)
-#ifdef _WIN32
-LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US
-#pragma code_page(1252)
-#endif //_WIN32
-
-#ifndef _MAC
-/////////////////////////////////////////////////////////////////////////////
-//
-// Version
-//
-
-VS_VERSION_INFO VERSIONINFO
- FILEVERSION 4,13,0,0
- PRODUCTVERSION 4,13,0,0
- FILEFLAGSMASK 0x3fL
-#ifdef _DEBUG
- FILEFLAGS 0x1L
-#else
- FILEFLAGS 0x0L
-#endif
- FILEOS 0x40004L
- FILETYPE 0x2L
- FILESUBTYPE 0x0L
-BEGIN
- BLOCK "StringFileInfo"
- BEGIN
- BLOCK "040904b0"
- BEGIN
- VALUE "Comments", "\0"
- VALUE "CompanyName", "Igor Pavlov \0"
- VALUE "FileDescription", "Rar Plugin for 7-Zip\0"
- VALUE "FileVersion", "4, 13, 0, 0\0"
- VALUE "InternalName", "rar\0"
- VALUE "LegalCopyright", "Copyright (C) 1999-2004 Igor Pavlov\0"
- VALUE "LegalTrademarks", "\0"
- VALUE "OriginalFilename", "rar.dll\0"
- VALUE "PrivateBuild", "\0"
- VALUE "ProductName", "7-Zip\0"
- VALUE "ProductVersion", "4, 13, 0, 0\0"
- VALUE "SpecialBuild", "\0"
- END
- END
- BLOCK "VarFileInfo"
- BEGIN
- VALUE "Translation", 0x409, 1200
- END
-END
-
-#endif // !_MAC
-
-
-/////////////////////////////////////////////////////////////////////////////
-//
-// Icon
-//
-
-// Icon with lowest ID value placed first to ensure application icon
-// remains consistent on all systems.
-IDI_ICON1 ICON DISCARDABLE "Rar.ico"
-#endif // English (U.S.) resources
-/////////////////////////////////////////////////////////////////////////////
-
-
-
-#ifndef APSTUDIO_INVOKED
-/////////////////////////////////////////////////////////////////////////////
-//
-// Generated from the TEXTINCLUDE 3 resource.
-//
-
-
-/////////////////////////////////////////////////////////////////////////////
-#endif // not APSTUDIO_INVOKED
+MY_VERSION_INFO_DLL("Rar Plugin", "rar")
+101 ICON "rar.ico"
diff --git a/7zip/Archive/Split/Split.def b/7zip/Archive/Split/Split.def
deleted file mode 100755
index 8deaffce..00000000
--- a/7zip/Archive/Split/Split.def
+++ /dev/null
@@ -1,8 +0,0 @@
-; split.def
-
-LIBRARY split
-
-EXPORTS
- CreateObject
- GetHandlerProperty
-
diff --git a/7zip/Archive/Split/Split.dsp b/7zip/Archive/Split/Split.dsp
index 1e80bc00..5758e3b3 100755
--- a/7zip/Archive/Split/Split.dsp
+++ b/7zip/Archive/Split/Split.dsp
@@ -93,11 +93,11 @@ LINK32=link.exe
# PROP Default_Filter ""
# Begin Source File
-SOURCE=.\DllExports.cpp
+SOURCE=..\Archive.def
# End Source File
# Begin Source File
-SOURCE=.\resource.h
+SOURCE=.\DllExports.cpp
# End Source File
# Begin Source File
@@ -105,10 +105,6 @@ SOURCE=.\resource.rc
# End Source File
# Begin Source File
-SOURCE=.\Split.def
-# End Source File
-# Begin Source File
-
SOURCE=.\Split.ico
# End Source File
# Begin Source File
diff --git a/7zip/Archive/Split/SplitHanlerOut.cpp b/7zip/Archive/Split/SplitHandlerOut.cpp
index ea86c281..ea86c281 100755
--- a/7zip/Archive/Split/SplitHanlerOut.cpp
+++ b/7zip/Archive/Split/SplitHandlerOut.cpp
diff --git a/7zip/Archive/Split/makefile b/7zip/Archive/Split/makefile
new file mode 100755
index 00000000..a821b2f8
--- /dev/null
+++ b/7zip/Archive/Split/makefile
@@ -0,0 +1,50 @@
+PROG = split.dll
+DEF_FILE = ../Archive.def
+CFLAGS = $(CFLAGS) -I ../../../
+LIBS = $(LIBS) oleaut32.lib user32.lib
+
+SPLIT_OBJS = \
+ $O\DllExports.obj \
+ $O\SplitHandler.obj \
+ $O\SplitHandlerOut.obj \
+
+COMMON_OBJS = \
+ $O\Alloc.obj \
+ $O\NewHandler.obj \
+ $O\String.obj \
+ $O\StringConvert.obj \
+ $O\Vector.obj \
+
+WIN_OBJS = \
+ $O\PropVariant.obj \
+
+7ZIP_COMMON_OBJS = \
+ $O\ProgressUtils.obj \
+
+AR_COMMON_OBJS = \
+ $O\MultiStream.obj \
+
+OBJS = \
+ $O\StdAfx.obj \
+ $(SPLIT_OBJS) \
+ $(COMMON_OBJS) \
+ $(WIN_OBJS) \
+ $(7ZIP_COMMON_OBJS) \
+ $(AR_COMMON_OBJS) \
+ $O\CopyCoder.obj \
+ $O\resource.res
+
+!include "../../../Build.mak"
+
+$(SPLIT_OBJS): $(*B).cpp
+ $(COMPL)
+$(COMMON_OBJS): ../../../Common/$(*B).cpp
+ $(COMPL)
+$(WIN_OBJS): ../../../Windows/$(*B).cpp
+ $(COMPL)
+$(7ZIP_COMMON_OBJS): ../../Common/$(*B).cpp
+ $(COMPL)
+$(AR_COMMON_OBJS): ../Common/$(*B).cpp
+ $(COMPL)
+$O\CopyCoder.obj: ../../Compress/Copy/$(*B).cpp
+ $(COMPL)
diff --git a/7zip/Archive/Split/resource.h b/7zip/Archive/Split/resource.h
deleted file mode 100755
index 7b0dd8ff..00000000
--- a/7zip/Archive/Split/resource.h
+++ /dev/null
@@ -1,16 +0,0 @@
-//{{NO_DEPENDENCIES}}
-// Microsoft Developer Studio generated include file.
-// Used by resource.rc
-//
-#define IDI_ICON1 101
-
-// Next default values for new objects
-//
-#ifdef APSTUDIO_INVOKED
-#ifndef APSTUDIO_READONLY_SYMBOLS
-#define _APS_NEXT_RESOURCE_VALUE 102
-#define _APS_NEXT_COMMAND_VALUE 40001
-#define _APS_NEXT_CONTROL_VALUE 1000
-#define _APS_NEXT_SYMED_VALUE 101
-#endif
-#endif
diff --git a/7zip/Archive/Split/resource.rc b/7zip/Archive/Split/resource.rc
index 27ab8853..3e301754 100755
--- a/7zip/Archive/Split/resource.rc
+++ b/7zip/Archive/Split/resource.rc
@@ -1,130 +1,5 @@
-//Microsoft Developer Studio generated resource script.
-//
-#include "resource.h"
+#include "../../MyVersionInfo.rc"
-#define APSTUDIO_READONLY_SYMBOLS
-/////////////////////////////////////////////////////////////////////////////
-//
-// Generated from the TEXTINCLUDE 2 resource.
-//
-#include "afxres.h"
-
-/////////////////////////////////////////////////////////////////////////////
-#undef APSTUDIO_READONLY_SYMBOLS
-
-/////////////////////////////////////////////////////////////////////////////
-// Russian resources
-
-#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_RUS)
-#ifdef _WIN32
-LANGUAGE LANG_RUSSIAN, SUBLANG_DEFAULT
-#pragma code_page(1251)
-#endif //_WIN32
-
-#ifdef APSTUDIO_INVOKED
-/////////////////////////////////////////////////////////////////////////////
-//
-// TEXTINCLUDE
-//
-
-1 TEXTINCLUDE DISCARDABLE
-BEGIN
- "resource.h\0"
-END
-
-2 TEXTINCLUDE DISCARDABLE
-BEGIN
- "#include ""afxres.h""\r\n"
- "\0"
-END
-
-3 TEXTINCLUDE DISCARDABLE
-BEGIN
- "\r\n"
- "\0"
-END
-
-#endif // APSTUDIO_INVOKED
-
-#endif // Russian resources
-/////////////////////////////////////////////////////////////////////////////
-
-
-/////////////////////////////////////////////////////////////////////////////
-// English (U.S.) resources
-
-#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_ENU)
-#ifdef _WIN32
-LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US
-#pragma code_page(1252)
-#endif //_WIN32
-
-/////////////////////////////////////////////////////////////////////////////
-//
-// Icon
-//
-
-// Icon with lowest ID value placed first to ensure application icon
-// remains consistent on all systems.
-IDI_ICON1 ICON DISCARDABLE "Split.ico"
-
-#ifndef _MAC
-/////////////////////////////////////////////////////////////////////////////
-//
-// Version
-//
-
-VS_VERSION_INFO VERSIONINFO
- FILEVERSION 4,14,0,0
- PRODUCTVERSION 4,14,0,0
- FILEFLAGSMASK 0x3fL
-#ifdef _DEBUG
- FILEFLAGS 0x1L
-#else
- FILEFLAGS 0x0L
-#endif
- FILEOS 0x40004L
- FILETYPE 0x2L
- FILESUBTYPE 0x0L
-BEGIN
- BLOCK "StringFileInfo"
- BEGIN
- BLOCK "040904b0"
- BEGIN
- VALUE "Comments", "\0"
- VALUE "CompanyName", "Igor Pavlov\0"
- VALUE "FileDescription", "Split Plugin for 7-Zip\0"
- VALUE "FileVersion", "4, 14, 0, 0\0"
- VALUE "InternalName", "split\0"
- VALUE "LegalCopyright", "Copyright (C) 1999-2005 Igor Pavlov\0"
- VALUE "LegalTrademarks", "\0"
- VALUE "OriginalFilename", "split.dll\0"
- VALUE "PrivateBuild", "\0"
- VALUE "ProductName", "7-Zip\0"
- VALUE "ProductVersion", "4, 14, 0, 0\0"
- VALUE "SpecialBuild", "\0"
- END
- END
- BLOCK "VarFileInfo"
- BEGIN
- VALUE "Translation", 0x409, 1200
- END
-END
-
-#endif // !_MAC
-
-#endif // English (U.S.) resources
-/////////////////////////////////////////////////////////////////////////////
-
-
-
-#ifndef APSTUDIO_INVOKED
-/////////////////////////////////////////////////////////////////////////////
-//
-// Generated from the TEXTINCLUDE 3 resource.
-//
-
-
-/////////////////////////////////////////////////////////////////////////////
-#endif // not APSTUDIO_INVOKED
+MY_VERSION_INFO_DLL("Split Plugin", "split")
+101 ICON "Split.ico"
diff --git a/7zip/Archive/Tar/Tar.def b/7zip/Archive/Tar/Tar.def
deleted file mode 100755
index 248b0eaf..00000000
--- a/7zip/Archive/Tar/Tar.def
+++ /dev/null
@@ -1,7 +0,0 @@
-; Tar.def
-
-LIBRARY Tar.dll
-
-EXPORTS
- CreateObject PRIVATE
- GetHandlerProperty PRIVATE
diff --git a/7zip/Archive/Tar/Tar.dsp b/7zip/Archive/Tar/Tar.dsp
index 91dfbaf4..bba8ab2b 100755
--- a/7zip/Archive/Tar/Tar.dsp
+++ b/7zip/Archive/Tar/Tar.dsp
@@ -93,11 +93,11 @@ LINK32=link.exe
# PROP Default_Filter ""
# Begin Source File
-SOURCE=.\DllExports.cpp
+SOURCE=..\Archive.def
# End Source File
# Begin Source File
-SOURCE=.\resource.h
+SOURCE=.\DllExports.cpp
# End Source File
# Begin Source File
@@ -114,10 +114,6 @@ SOURCE=.\StdAfx.h
# End Source File
# Begin Source File
-SOURCE=.\Tar.def
-# End Source File
-# Begin Source File
-
SOURCE=.\Tar.ico
# End Source File
# End Group
diff --git a/7zip/Archive/Tar/makefile b/7zip/Archive/Tar/makefile
new file mode 100755
index 00000000..b9670b28
--- /dev/null
+++ b/7zip/Archive/Tar/makefile
@@ -0,0 +1,57 @@
+PROG = tar.dll
+DEF_FILE = ../Archive.def
+CFLAGS = $(CFLAGS) -I ../../../
+LIBS = $(LIBS) oleaut32.lib user32.lib
+
+TAR_OBJS = \
+ $O\DllExports.obj \
+ $O\TarHandler.obj \
+ $O\TarHandlerOut.obj \
+ $O\TarHeader.obj \
+ $O\TarIn.obj \
+ $O\TarOut.obj \
+ $O\TarUpdate.obj \
+
+COMMON_OBJS = \
+ $O\Alloc.obj \
+ $O\IntToString.obj \
+ $O\NewHandler.obj \
+ $O\String.obj \
+ $O\StringConvert.obj \
+ $O\Vector.obj \
+
+WIN_OBJS = \
+ $O\PropVariant.obj \
+
+7ZIP_COMMON_OBJS = \
+ $O\LimitedStreams.obj \
+ $O\ProgressUtils.obj \
+
+AR_COMMON_OBJS = \
+ $O\ItemNameUtils.obj \
+
+OBJS = \
+ $O\StdAfx.obj \
+ $(TAR_OBJS) \
+ $(COMMON_OBJS) \
+ $(WIN_OBJS) \
+ $(7ZIP_COMMON_OBJS) \
+ $(AR_COMMON_OBJS) \
+ $(COMPRESS_TAR_OBJS) \
+ $O\CopyCoder.obj \
+ $O\resource.res
+
+!include "../../../Build.mak"
+
+$(TAR_OBJS): $(*B).cpp
+ $(COMPL)
+$(COMMON_OBJS): ../../../Common/$(*B).cpp
+ $(COMPL)
+$(WIN_OBJS): ../../../Windows/$(*B).cpp
+ $(COMPL)
+$(7ZIP_COMMON_OBJS): ../../Common/$(*B).cpp
+ $(COMPL)
+$(AR_COMMON_OBJS): ../Common/$(*B).cpp
+ $(COMPL)
+$O\CopyCoder.obj: ../../Compress/Copy/$(*B).cpp
+ $(COMPL)
diff --git a/7zip/Archive/Tar/resource.h b/7zip/Archive/Tar/resource.h
deleted file mode 100755
index 7b0dd8ff..00000000
--- a/7zip/Archive/Tar/resource.h
+++ /dev/null
@@ -1,16 +0,0 @@
-//{{NO_DEPENDENCIES}}
-// Microsoft Developer Studio generated include file.
-// Used by resource.rc
-//
-#define IDI_ICON1 101
-
-// Next default values for new objects
-//
-#ifdef APSTUDIO_INVOKED
-#ifndef APSTUDIO_READONLY_SYMBOLS
-#define _APS_NEXT_RESOURCE_VALUE 102
-#define _APS_NEXT_COMMAND_VALUE 40001
-#define _APS_NEXT_CONTROL_VALUE 1000
-#define _APS_NEXT_SYMED_VALUE 101
-#endif
-#endif
diff --git a/7zip/Archive/Tar/resource.rc b/7zip/Archive/Tar/resource.rc
index 71059be7..3d37f440 100755
--- a/7zip/Archive/Tar/resource.rc
+++ b/7zip/Archive/Tar/resource.rc
@@ -1,130 +1,5 @@
-//Microsoft Developer Studio generated resource script.
-//
-#include "resource.h"
+#include "../../MyVersionInfo.rc"
-#define APSTUDIO_READONLY_SYMBOLS
-/////////////////////////////////////////////////////////////////////////////
-//
-// Generated from the TEXTINCLUDE 2 resource.
-//
-#include "afxres.h"
-
-/////////////////////////////////////////////////////////////////////////////
-#undef APSTUDIO_READONLY_SYMBOLS
-
-/////////////////////////////////////////////////////////////////////////////
-// Russian resources
-
-#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_RUS)
-#ifdef _WIN32
-LANGUAGE LANG_RUSSIAN, SUBLANG_DEFAULT
-#pragma code_page(1251)
-#endif //_WIN32
-
-#ifdef APSTUDIO_INVOKED
-/////////////////////////////////////////////////////////////////////////////
-//
-// TEXTINCLUDE
-//
-
-1 TEXTINCLUDE DISCARDABLE
-BEGIN
- "resource.h\0"
-END
-
-2 TEXTINCLUDE DISCARDABLE
-BEGIN
- "#include ""afxres.h""\r\n"
- "\0"
-END
-
-3 TEXTINCLUDE DISCARDABLE
-BEGIN
- "\r\n"
- "\0"
-END
-
-#endif // APSTUDIO_INVOKED
-
-#endif // Russian resources
-/////////////////////////////////////////////////////////////////////////////
-
-
-/////////////////////////////////////////////////////////////////////////////
-// English (U.S.) resources
-
-#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_ENU)
-#ifdef _WIN32
-LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US
-#pragma code_page(1252)
-#endif //_WIN32
-
-/////////////////////////////////////////////////////////////////////////////
-//
-// Icon
-//
-
-// Icon with lowest ID value placed first to ensure application icon
-// remains consistent on all systems.
-IDI_ICON1 ICON DISCARDABLE "Tar.ico"
-
-#ifndef _MAC
-/////////////////////////////////////////////////////////////////////////////
-//
-// Version
-//
-
-VS_VERSION_INFO VERSIONINFO
- FILEVERSION 4,24,0,0
- PRODUCTVERSION 4,24,0,0
- FILEFLAGSMASK 0x3fL
-#ifdef _DEBUG
- FILEFLAGS 0x1L
-#else
- FILEFLAGS 0x0L
-#endif
- FILEOS 0x40004L
- FILETYPE 0x2L
- FILESUBTYPE 0x0L
-BEGIN
- BLOCK "StringFileInfo"
- BEGIN
- BLOCK "040904b0"
- BEGIN
- VALUE "Comments", "\0"
- VALUE "CompanyName", "Igor Pavlov\0"
- VALUE "FileDescription", "Tar Plugin for 7-Zip\0"
- VALUE "FileVersion", "4, 24, 0, 0\0"
- VALUE "InternalName", "tar\0"
- VALUE "LegalCopyright", "Copyright (C) 1999-2004 Igor Pavlov\0"
- VALUE "LegalTrademarks", "\0"
- VALUE "OriginalFilename", "tar.dll\0"
- VALUE "PrivateBuild", "\0"
- VALUE "ProductName", "7-Zip\0"
- VALUE "ProductVersion", "4, 24, 0, 0\0"
- VALUE "SpecialBuild", "\0"
- END
- END
- BLOCK "VarFileInfo"
- BEGIN
- VALUE "Translation", 0x409, 1200
- END
-END
-
-#endif // !_MAC
-
-#endif // English (U.S.) resources
-/////////////////////////////////////////////////////////////////////////////
-
-
-
-#ifndef APSTUDIO_INVOKED
-/////////////////////////////////////////////////////////////////////////////
-//
-// Generated from the TEXTINCLUDE 3 resource.
-//
-
-
-/////////////////////////////////////////////////////////////////////////////
-#endif // not APSTUDIO_INVOKED
+MY_VERSION_INFO_DLL("Tar Plugin", "tar")
+101 ICON "tar.ico"
diff --git a/7zip/Archive/Z/DllExports.cpp b/7zip/Archive/Z/DllExports.cpp
index df530a44..7d4e0d23 100755
--- a/7zip/Archive/Z/DllExports.cpp
+++ b/7zip/Archive/Z/DllExports.cpp
@@ -18,14 +18,6 @@ DEFINE_GUID(CLSID_CZHandler,
HINSTANCE g_hInstance;
-#ifndef COMPRESS_BZIP2
-#include "../Common/CodecsPath.h"
-CSysString GetBZip2CodecPath()
-{
- return GetCodecsFolderPrefix() + TEXT("BZip2.dll");
-}
-#endif
-
extern "C"
BOOL WINAPI DllMain(HINSTANCE hInstance, DWORD dwReason, LPVOID /*lpReserved*/)
{
diff --git a/7zip/Archive/Z/Z.def b/7zip/Archive/Z/Z.def
deleted file mode 100755
index 9b992292..00000000
--- a/7zip/Archive/Z/Z.def
+++ /dev/null
@@ -1,8 +0,0 @@
-; Z.def
-
-LIBRARY z.dll
-
-EXPORTS
- CreateObject PRIVATE
- GetHandlerProperty PRIVATE
-
diff --git a/7zip/Archive/Z/Z.dsp b/7zip/Archive/Z/Z.dsp
index 47a2c1ae..56873229 100755
--- a/7zip/Archive/Z/Z.dsp
+++ b/7zip/Archive/Z/Z.dsp
@@ -93,11 +93,11 @@ LINK32=link.exe
# PROP Default_Filter ""
# Begin Source File
-SOURCE=.\DllExports.cpp
+SOURCE=..\Archive.def
# End Source File
# Begin Source File
-SOURCE=.\resource.h
+SOURCE=.\DllExports.cpp
# End Source File
# Begin Source File
@@ -114,10 +114,6 @@ SOURCE=.\StdAfx.h
# End Source File
# Begin Source File
-SOURCE=.\Z.def
-# End Source File
-# Begin Source File
-
SOURCE=.\Z.ico
# End Source File
# End Group
@@ -154,14 +150,6 @@ SOURCE=..\..\..\Common\StringConvert.h
# PROP Default_Filter ""
# Begin Source File
-SOURCE=..\..\..\Windows\DLL.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\Windows\DLL.h
-# End Source File
-# Begin Source File
-
SOURCE=..\..\..\Windows\PropVariant.cpp
# End Source File
# Begin Source File
@@ -186,18 +174,6 @@ SOURCE=..\..\Compress\Z\ZDecoder.h
# PROP Default_Filter ""
# Begin Source File
-SOURCE=..\Common\CodecsPath.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\Common\CodecsPath.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\Common\CoderLoader.h
-# End Source File
-# Begin Source File
-
SOURCE=..\Common\DummyOutStream.cpp
# End Source File
# Begin Source File
diff --git a/7zip/Archive/Z/makefile b/7zip/Archive/Z/makefile
new file mode 100755
index 00000000..fbd9d6ad
--- /dev/null
+++ b/7zip/Archive/Z/makefile
@@ -0,0 +1,51 @@
+PROG = z.dll
+DEF_FILE = ../Archive.def
+CFLAGS = $(CFLAGS) -I ../../../
+LIBS = $(LIBS) oleaut32.lib
+
+Z_OBJS = \
+ $O\DllExports.obj \
+ $O\ZHandler.obj \
+
+COMMON_OBJS = \
+ $O\Alloc.obj \
+ $O\NewHandler.obj \
+
+WIN_OBJS = \
+ $O\PropVariant.obj \
+
+7ZIP_COMMON_OBJS = \
+ $O\InBuffer.obj \
+ $O\OutBuffer.obj \
+ $O\ProgressUtils.obj \
+
+AR_COMMON_OBJS = \
+ $O\DummyOutStream.obj \
+
+COMPRESS_Z_OBJS = \
+ $O\ZDecoder.obj \
+
+OBJS = \
+ $O\StdAfx.obj \
+ $(Z_OBJS) \
+ $(COMMON_OBJS) \
+ $(WIN_OBJS) \
+ $(7ZIP_COMMON_OBJS) \
+ $(AR_COMMON_OBJS) \
+ $(COMPRESS_Z_OBJS) \
+ $O\resource.res
+
+!include "../../../Build.mak"
+
+$(Z_OBJS): $(*B).cpp
+ $(COMPL)
+$(COMMON_OBJS): ../../../Common/$(*B).cpp
+ $(COMPL)
+$(WIN_OBJS): ../../../Windows/$(*B).cpp
+ $(COMPL)
+$(7ZIP_COMMON_OBJS): ../../Common/$(*B).cpp
+ $(COMPL)
+$(AR_COMMON_OBJS): ../Common/$(*B).cpp
+ $(COMPL)
+$(COMPRESS_Z_OBJS): ../../Compress/Z/$(*B).cpp
+ $(COMPL)
diff --git a/7zip/Archive/Z/resource.h b/7zip/Archive/Z/resource.h
deleted file mode 100755
index 7b0dd8ff..00000000
--- a/7zip/Archive/Z/resource.h
+++ /dev/null
@@ -1,16 +0,0 @@
-//{{NO_DEPENDENCIES}}
-// Microsoft Developer Studio generated include file.
-// Used by resource.rc
-//
-#define IDI_ICON1 101
-
-// Next default values for new objects
-//
-#ifdef APSTUDIO_INVOKED
-#ifndef APSTUDIO_READONLY_SYMBOLS
-#define _APS_NEXT_RESOURCE_VALUE 102
-#define _APS_NEXT_COMMAND_VALUE 40001
-#define _APS_NEXT_CONTROL_VALUE 1000
-#define _APS_NEXT_SYMED_VALUE 101
-#endif
-#endif
diff --git a/7zip/Archive/Z/resource.rc b/7zip/Archive/Z/resource.rc
index cce458da..05a81423 100755
--- a/7zip/Archive/Z/resource.rc
+++ b/7zip/Archive/Z/resource.rc
@@ -1,130 +1,5 @@
-//Microsoft Developer Studio generated resource script.
-//
-#include "resource.h"
+#include "../../MyVersionInfo.rc"
-#define APSTUDIO_READONLY_SYMBOLS
-/////////////////////////////////////////////////////////////////////////////
-//
-// Generated from the TEXTINCLUDE 2 resource.
-//
-#include "afxres.h"
-
-/////////////////////////////////////////////////////////////////////////////
-#undef APSTUDIO_READONLY_SYMBOLS
-
-/////////////////////////////////////////////////////////////////////////////
-// Russian resources
-
-#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_RUS)
-#ifdef _WIN32
-LANGUAGE LANG_RUSSIAN, SUBLANG_DEFAULT
-#pragma code_page(1251)
-#endif //_WIN32
-
-#ifdef APSTUDIO_INVOKED
-/////////////////////////////////////////////////////////////////////////////
-//
-// TEXTINCLUDE
-//
-
-1 TEXTINCLUDE DISCARDABLE
-BEGIN
- "resource.h\0"
-END
-
-2 TEXTINCLUDE DISCARDABLE
-BEGIN
- "#include ""afxres.h""\r\n"
- "\0"
-END
-
-3 TEXTINCLUDE DISCARDABLE
-BEGIN
- "\r\n"
- "\0"
-END
-
-#endif // APSTUDIO_INVOKED
-
-#endif // Russian resources
-/////////////////////////////////////////////////////////////////////////////
-
-
-/////////////////////////////////////////////////////////////////////////////
-// English (U.S.) resources
-
-#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_ENU)
-#ifdef _WIN32
-LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US
-#pragma code_page(1252)
-#endif //_WIN32
-
-/////////////////////////////////////////////////////////////////////////////
-//
-// Icon
-//
-
-// Icon with lowest ID value placed first to ensure application icon
-// remains consistent on all systems.
-IDI_ICON1 ICON DISCARDABLE "z.ico"
-
-#ifndef _MAC
-/////////////////////////////////////////////////////////////////////////////
-//
-// Version
-//
-
-VS_VERSION_INFO VERSIONINFO
- FILEVERSION 4,15,0,0
- PRODUCTVERSION 4,15,0,0
- FILEFLAGSMASK 0x3fL
-#ifdef _DEBUG
- FILEFLAGS 0x1L
-#else
- FILEFLAGS 0x0L
-#endif
- FILEOS 0x40004L
- FILETYPE 0x2L
- FILESUBTYPE 0x0L
-BEGIN
- BLOCK "StringFileInfo"
- BEGIN
- BLOCK "040904b0"
- BEGIN
- VALUE "Comments", "\0"
- VALUE "CompanyName", "Igor Pavlov\0"
- VALUE "FileDescription", "Z Plugin for 7-Zip\0"
- VALUE "FileVersion", "4, 15, 0, 0\0"
- VALUE "InternalName", "z\0"
- VALUE "LegalCopyright", "Copyright (C) 1999-2005 Igor Pavlov\0"
- VALUE "LegalTrademarks", "\0"
- VALUE "OriginalFilename", "z.dll\0"
- VALUE "PrivateBuild", "\0"
- VALUE "ProductName", "7-Zip\0"
- VALUE "ProductVersion", "4, 15, 0, 0\0"
- VALUE "SpecialBuild", "\0"
- END
- END
- BLOCK "VarFileInfo"
- BEGIN
- VALUE "Translation", 0x409, 1200
- END
-END
-
-#endif // !_MAC
-
-#endif // English (U.S.) resources
-/////////////////////////////////////////////////////////////////////////////
-
-
-
-#ifndef APSTUDIO_INVOKED
-/////////////////////////////////////////////////////////////////////////////
-//
-// Generated from the TEXTINCLUDE 3 resource.
-//
-
-
-/////////////////////////////////////////////////////////////////////////////
-#endif // not APSTUDIO_INVOKED
+MY_VERSION_INFO_DLL("Z Plugin", "z")
+101 ICON "Z.ico"
diff --git a/7zip/Archive/Zip/Zip.def b/7zip/Archive/Zip/Zip.def
deleted file mode 100755
index b0639b70..00000000
--- a/7zip/Archive/Zip/Zip.def
+++ /dev/null
@@ -1,7 +0,0 @@
-; Zip.def
-
-LIBRARY Zip.dll
-
-EXPORTS
- CreateObject PRIVATE
- GetHandlerProperty PRIVATE
diff --git a/7zip/Archive/Zip/Zip.dsp b/7zip/Archive/Zip/Zip.dsp
index c54f488b..7a5ebdbf 100755
--- a/7zip/Archive/Zip/Zip.dsp
+++ b/7zip/Archive/Zip/Zip.dsp
@@ -93,11 +93,11 @@ LINK32=link.exe
# PROP Default_Filter ""
# Begin Source File
-SOURCE=.\DllExports.cpp
+SOURCE=..\Archive.def
# End Source File
# Begin Source File
-SOURCE=.\resource.h
+SOURCE=.\DllExports.cpp
# End Source File
# Begin Source File
@@ -112,10 +112,6 @@ SOURCE=.\StdAfx.cpp
SOURCE=.\StdAfx.h
# End Source File
-# Begin Source File
-
-SOURCE=.\Zip.def
-# End Source File
# End Group
# Begin Group "Common"
@@ -212,14 +208,6 @@ SOURCE=..\..\..\Windows\PropVariant.cpp
SOURCE=..\..\..\Windows\PropVariant.h
# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\Windows\Synchronization.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\Windows\Synchronization.h
-# End Source File
# End Group
# Begin Group "Archive Common"
@@ -242,14 +230,6 @@ SOURCE=..\Common\CoderLoader.h
# End Source File
# Begin Source File
-SOURCE=..\Common\CrossThreadProgress.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\Common\CrossThreadProgress.h
-# End Source File
-# Begin Source File
-
SOURCE=..\Common\FilterCoder.cpp
# End Source File
# Begin Source File
@@ -334,14 +314,6 @@ SOURCE=..\..\Common\ProgressUtils.h
# End Source File
# Begin Source File
-SOURCE=..\..\Common\StreamBinder.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\Common\StreamBinder.h
-# End Source File
-# Begin Source File
-
SOURCE=..\..\Common\StreamObjects.cpp
# End Source File
# Begin Source File
diff --git a/7zip/Archive/Zip/ZipHandler.cpp b/7zip/Archive/Zip/ZipHandler.cpp
index 6add2a08..424a58a0 100755
--- a/7zip/Archive/Zip/ZipHandler.cpp
+++ b/7zip/Archive/Zip/ZipHandler.cpp
@@ -240,7 +240,7 @@ STDMETHODIMP CHandler::GetProperty(UInt32 index, PROPID aPropID, PROPVARIANT *a
break;
case kpidComment:
{
- int size = item.Comment.GetCapacity();
+ int size = (int)item.Comment.GetCapacity();
if (size > 0)
{
AString s;
diff --git a/7zip/Archive/Zip/ZipItem.h b/7zip/Archive/Zip/ZipItem.h
index c12d85c7..92d670ce 100755
--- a/7zip/Archive/Zip/ZipItem.h
+++ b/7zip/Archive/Zip/ZipItem.h
@@ -31,9 +31,9 @@ struct CExtraBlock
{
CObjectVector<CExtraSubBlock> SubBlocks;
void Clear() { SubBlocks.Clear(); }
- UInt32 GetSize() const
+ size_t GetSize() const
{
- UInt32 res = 0;
+ size_t res = 0;
for (int i = 0; i < SubBlocks.Size(); i++)
res += SubBlocks[i].Data.GetCapacity() + 2 + 2;
return res;
diff --git a/7zip/Archive/Zip/ZipOut.cpp b/7zip/Archive/Zip/ZipOut.cpp
index c4443f78..7e46d6ca 100755
--- a/7zip/Archive/Zip/ZipOut.cpp
+++ b/7zip/Archive/Zip/ZipOut.cpp
@@ -150,7 +150,7 @@ void COutArchive::WriteCentralHeader(const CItem &item)
UInt16 centralExtraSize = isZip64 ? (4 + zip64ExtraSize) : 0;
centralExtraSize += (UInt16)item.CentralExtra.GetSize();
WriteUInt16(centralExtraSize); // test it;
- WriteUInt16(item.Comment.GetCapacity());
+ WriteUInt16((UInt16)item.Comment.GetCapacity());
WriteUInt16(0); // DiskNumberStart;
WriteUInt16(item.InternalAttributes);
WriteUInt32(item.ExternalAttributes);
@@ -174,11 +174,11 @@ void COutArchive::WriteCentralHeader(const CItem &item)
CExtraSubBlock subBlock = item.CentralExtra.SubBlocks[i];
WriteUInt16(subBlock.ID);
WriteUInt16((UInt16)subBlock.Data.GetCapacity());
- WriteBytes(subBlock.Data, subBlock.Data.GetCapacity());
+ WriteBytes(subBlock.Data, (UInt32)subBlock.Data.GetCapacity());
}
}
if (item.Comment.GetCapacity() > 0)
- WriteBytes(item.Comment, item.Comment.GetCapacity());
+ WriteBytes(item.Comment, (UInt32)item.Comment.GetCapacity());
}
void COutArchive::WriteCentralDir(const CObjectVector<CItem> &items, const CByteBuffer &comment)
@@ -220,7 +220,7 @@ void COutArchive::WriteCentralDir(const CObjectVector<CItem> &items, const CByte
WriteUInt16(items64 ? 0xFFFF: (UInt16)items.Size());
WriteUInt32(cdSize64 ? 0xFFFFFFFF: (UInt32)cdSize);
WriteUInt32(cdOffset64 ? 0xFFFFFFFF: (UInt32)cdOffset);
- UInt16 commentSize = comment.GetCapacity();
+ UInt16 commentSize = (UInt16)comment.GetCapacity();
WriteUInt16(commentSize);
if (commentSize > 0)
WriteBytes((const Byte *)comment, commentSize);
diff --git a/7zip/Archive/Zip/makefile b/7zip/Archive/Zip/makefile
new file mode 100755
index 00000000..22d59801
--- /dev/null
+++ b/7zip/Archive/Zip/makefile
@@ -0,0 +1,104 @@
+PROG = zip.dll
+DEF_FILE = ../Archive.def
+CFLAGS = $(CFLAGS) -I ../../../
+LIBS = $(LIBS) oleaut32.lib user32.lib
+
+ZIP_OBJS = \
+ $O\DllExports.obj \
+ $O\ZipAddCommon.obj \
+ $O\ZipHandler.obj \
+ $O\ZipHandlerOut.obj \
+ $O\ZipHeader.obj \
+ $O\ZipIn.obj \
+ $O\ZipItem.obj \
+ $O\ZipOut.obj \
+ $O\ZipUpdate.obj \
+
+COMMON_OBJS = \
+ $O\Alloc.obj \
+ $O\CRC.obj \
+ $O\Random.obj \
+ $O\IntToString.obj \
+ $O\NewHandler.obj \
+ $O\String.obj \
+ $O\StringConvert.obj \
+ $O\StringToInt.obj \
+ $O\Vector.obj \
+
+WIN_OBJS = \
+ $O\DLL.obj \
+ $O\FileFind.obj \
+ $O\PropVariant.obj \
+
+7ZIP_COMMON_OBJS = \
+ $O\InBuffer.obj \
+ $O\LimitedStreams.obj \
+ $O\LSBFDecoder.obj \
+ $O\OffsetStream.obj \
+ $O\OutBuffer.obj \
+ $O\ProgressUtils.obj \
+ $O\StreamObjects.obj \
+
+AR_COMMON_OBJS = \
+ $O\CodecsPath.obj \
+ $O\CoderLoader.obj \
+ $O\FilterCoder.obj \
+ $O\InStreamWithCRC.obj \
+ $O\ItemNameUtils.obj \
+ $O\OutStreamWithCRC.obj \
+
+7Z_OBJS = \
+ $O\7zMethodID.obj \
+ $O\7zMethods.obj \
+
+IMPLODE_OBJS = \
+ $O\ImplodeDecoder.obj \
+ $O\ImplodeHuffmanDecoder.obj \
+
+SHRINK_OBJS = \
+ $O\ShrinkDecoder.obj \
+
+CRYPTO_ZIP_OBJS = \
+ $O\ZipCipher.obj \
+ $O\ZipCrypto.obj \
+
+
+OBJS = \
+ $O\StdAfx.obj \
+ $(ZIP_OBJS) \
+ $(COMMON_OBJS) \
+ $(WIN_OBJS) \
+ $(7ZIP_COMMON_OBJS) \
+ $(AR_COMMON_OBJS) \
+ $(7Z_OBJS) \
+ $(CRYPTO_ZIP_OBJS) \
+ $(IMPLODE_OBJS) \
+ $(SHRINK_OBJS) \
+ $O\CopyCoder.obj \
+ $O\LZOutWindow.obj \
+ $O\resource.res
+
+!include "../../../Build.mak"
+
+$(ZIP_OBJS): $(*B).cpp
+ $(COMPL)
+$(COMMON_OBJS): ../../../Common/$(*B).cpp
+ $(COMPL)
+$(WIN_OBJS): ../../../Windows/$(*B).cpp
+ $(COMPL)
+$(7ZIP_COMMON_OBJS): ../../Common/$(*B).cpp
+ $(COMPL)
+$(AR_COMMON_OBJS): ../Common/$(*B).cpp
+ $(COMPL)
+$(7Z_OBJS): ../7z/$(*B).cpp
+ $(COMPL)
+$(CRYPTO_ZIP_OBJS): ../../Crypto/Zip/$(*B).cpp
+ $(COMPL)
+$(IMPLODE_OBJS): ../../Compress/Implode/$(*B).cpp
+ $(COMPL)
+$(SHRINK_OBJS): ../../Compress/Shrink/$(*B).cpp
+ $(COMPL)
+$O\CopyCoder.obj: ../../Compress/Copy/$(*B).cpp
+ $(COMPL)
+$O\LZOutWindow.obj: ../../Compress/LZ/$(*B).cpp
+ $(COMPL)
diff --git a/7zip/Archive/Zip/resource.h b/7zip/Archive/Zip/resource.h
deleted file mode 100755
index 7b0dd8ff..00000000
--- a/7zip/Archive/Zip/resource.h
+++ /dev/null
@@ -1,16 +0,0 @@
-//{{NO_DEPENDENCIES}}
-// Microsoft Developer Studio generated include file.
-// Used by resource.rc
-//
-#define IDI_ICON1 101
-
-// Next default values for new objects
-//
-#ifdef APSTUDIO_INVOKED
-#ifndef APSTUDIO_READONLY_SYMBOLS
-#define _APS_NEXT_RESOURCE_VALUE 102
-#define _APS_NEXT_COMMAND_VALUE 40001
-#define _APS_NEXT_CONTROL_VALUE 1000
-#define _APS_NEXT_SYMED_VALUE 101
-#endif
-#endif
diff --git a/7zip/Archive/Zip/resource.rc b/7zip/Archive/Zip/resource.rc
index f4a8ef92..388f349e 100755
--- a/7zip/Archive/Zip/resource.rc
+++ b/7zip/Archive/Zip/resource.rc
@@ -1,130 +1,5 @@
-//Microsoft Developer Studio generated resource script.
-//
-#include "resource.h"
+#include "../../MyVersionInfo.rc"
-#define APSTUDIO_READONLY_SYMBOLS
-/////////////////////////////////////////////////////////////////////////////
-//
-// Generated from the TEXTINCLUDE 2 resource.
-//
-#include "afxres.h"
-
-/////////////////////////////////////////////////////////////////////////////
-#undef APSTUDIO_READONLY_SYMBOLS
-
-/////////////////////////////////////////////////////////////////////////////
-// Russian resources
-
-#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_RUS)
-#ifdef _WIN32
-LANGUAGE LANG_RUSSIAN, SUBLANG_DEFAULT
-#pragma code_page(1251)
-#endif //_WIN32
-
-#ifdef APSTUDIO_INVOKED
-/////////////////////////////////////////////////////////////////////////////
-//
-// TEXTINCLUDE
-//
-
-1 TEXTINCLUDE DISCARDABLE
-BEGIN
- "resource.h\0"
-END
-
-2 TEXTINCLUDE DISCARDABLE
-BEGIN
- "#include ""afxres.h""\r\n"
- "\0"
-END
-
-3 TEXTINCLUDE DISCARDABLE
-BEGIN
- "\r\n"
- "\0"
-END
-
-#endif // APSTUDIO_INVOKED
-
-#endif // Russian resources
-/////////////////////////////////////////////////////////////////////////////
-
-
-/////////////////////////////////////////////////////////////////////////////
-// English (U.S.) resources
-
-#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_ENU)
-#ifdef _WIN32
-LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US
-#pragma code_page(1252)
-#endif //_WIN32
-
-/////////////////////////////////////////////////////////////////////////////
-//
-// Icon
-//
-
-// Icon with lowest ID value placed first to ensure application icon
-// remains consistent on all systems.
-IDI_ICON1 ICON DISCARDABLE "zip.ico"
-
-#ifndef _MAC
-/////////////////////////////////////////////////////////////////////////////
-//
-// Version
-//
-
-VS_VERSION_INFO VERSIONINFO
- FILEVERSION 4,23,0,0
- PRODUCTVERSION 4,23,0,0
- FILEFLAGSMASK 0x3fL
-#ifdef _DEBUG
- FILEFLAGS 0x1L
-#else
- FILEFLAGS 0x0L
-#endif
- FILEOS 0x40004L
- FILETYPE 0x2L
- FILESUBTYPE 0x0L
-BEGIN
- BLOCK "StringFileInfo"
- BEGIN
- BLOCK "040904b0"
- BEGIN
- VALUE "Comments", "\0"
- VALUE "CompanyName", "Igor Pavlov\0"
- VALUE "FileDescription", "Zip Plugin for 7-Zip\0"
- VALUE "FileVersion", "4, 23, 0, 0\0"
- VALUE "InternalName", "zip\0"
- VALUE "LegalCopyright", "Copyright (C) 1999-2005 Igor Pavlov\0"
- VALUE "LegalTrademarks", "\0"
- VALUE "OriginalFilename", "zip.dll\0"
- VALUE "PrivateBuild", "\0"
- VALUE "ProductName", "7-Zip\0"
- VALUE "ProductVersion", "4, 23, 0, 0\0"
- VALUE "SpecialBuild", "\0"
- END
- END
- BLOCK "VarFileInfo"
- BEGIN
- VALUE "Translation", 0x409, 1200
- END
-END
-
-#endif // !_MAC
-
-#endif // English (U.S.) resources
-/////////////////////////////////////////////////////////////////////////////
-
-
-
-#ifndef APSTUDIO_INVOKED
-/////////////////////////////////////////////////////////////////////////////
-//
-// Generated from the TEXTINCLUDE 3 resource.
-//
-
-
-/////////////////////////////////////////////////////////////////////////////
-#endif // not APSTUDIO_INVOKED
+MY_VERSION_INFO_DLL("Zip Plugin", "zip")
+101 ICON "zip.ico"
diff --git a/7zip/Archive/cpio/cpio.def b/7zip/Archive/cpio/cpio.def
deleted file mode 100755
index a9522a82..00000000
--- a/7zip/Archive/cpio/cpio.def
+++ /dev/null
@@ -1,8 +0,0 @@
-; cpio.def
-
-LIBRARY cpio.dll
-
-EXPORTS
- CreateObject PRIVATE
- GetHandlerProperty PRIVATE
-
diff --git a/7zip/Archive/cpio/cpio.dsp b/7zip/Archive/cpio/cpio.dsp
index accc0bff..5f555d9b 100755
--- a/7zip/Archive/cpio/cpio.dsp
+++ b/7zip/Archive/cpio/cpio.dsp
@@ -93,7 +93,7 @@ LINK32=link.exe
# PROP Default_Filter ""
# Begin Source File
-SOURCE=.\cpio.def
+SOURCE=..\Archive.def
# End Source File
# Begin Source File
@@ -105,10 +105,6 @@ SOURCE=.\DllExports.cpp
# End Source File
# Begin Source File
-SOURCE=.\resource.h
-# End Source File
-# Begin Source File
-
SOURCE=.\resource.rc
# End Source File
# Begin Source File
diff --git a/7zip/Archive/cpio/resource.h b/7zip/Archive/cpio/resource.h
deleted file mode 100755
index 7b0dd8ff..00000000
--- a/7zip/Archive/cpio/resource.h
+++ /dev/null
@@ -1,16 +0,0 @@
-//{{NO_DEPENDENCIES}}
-// Microsoft Developer Studio generated include file.
-// Used by resource.rc
-//
-#define IDI_ICON1 101
-
-// Next default values for new objects
-//
-#ifdef APSTUDIO_INVOKED
-#ifndef APSTUDIO_READONLY_SYMBOLS
-#define _APS_NEXT_RESOURCE_VALUE 102
-#define _APS_NEXT_COMMAND_VALUE 40001
-#define _APS_NEXT_CONTROL_VALUE 1000
-#define _APS_NEXT_SYMED_VALUE 101
-#endif
-#endif
diff --git a/7zip/Archive/cpio/resource.rc b/7zip/Archive/cpio/resource.rc
index e701c08b..d5456e5a 100755
--- a/7zip/Archive/cpio/resource.rc
+++ b/7zip/Archive/cpio/resource.rc
@@ -1,130 +1,5 @@
-//Microsoft Developer Studio generated resource script.
-//
-#include "resource.h"
+#include "../../MyVersionInfo.rc"
-#define APSTUDIO_READONLY_SYMBOLS
-/////////////////////////////////////////////////////////////////////////////
-//
-// Generated from the TEXTINCLUDE 2 resource.
-//
-#include "afxres.h"
-
-/////////////////////////////////////////////////////////////////////////////
-#undef APSTUDIO_READONLY_SYMBOLS
-
-/////////////////////////////////////////////////////////////////////////////
-// Russian resources
-
-#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_RUS)
-#ifdef _WIN32
-LANGUAGE LANG_RUSSIAN, SUBLANG_DEFAULT
-#pragma code_page(1251)
-#endif //_WIN32
-
-#ifdef APSTUDIO_INVOKED
-/////////////////////////////////////////////////////////////////////////////
-//
-// TEXTINCLUDE
-//
-
-1 TEXTINCLUDE DISCARDABLE
-BEGIN
- "resource.h\0"
-END
-
-2 TEXTINCLUDE DISCARDABLE
-BEGIN
- "#include ""afxres.h""\r\n"
- "\0"
-END
-
-3 TEXTINCLUDE DISCARDABLE
-BEGIN
- "\r\n"
- "\0"
-END
-
-#endif // APSTUDIO_INVOKED
-
-#endif // Russian resources
-/////////////////////////////////////////////////////////////////////////////
-
-
-/////////////////////////////////////////////////////////////////////////////
-// English (U.S.) resources
-
-#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_ENU)
-#ifdef _WIN32
-LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US
-#pragma code_page(1252)
-#endif //_WIN32
-
-/////////////////////////////////////////////////////////////////////////////
-//
-// Icon
-//
-
-// Icon with lowest ID value placed first to ensure application icon
-// remains consistent on all systems.
-IDI_ICON1 ICON DISCARDABLE "cpio.ico"
-
-#ifndef _MAC
-/////////////////////////////////////////////////////////////////////////////
-//
-// Version
-//
-
-VS_VERSION_INFO VERSIONINFO
- FILEVERSION 4,11,0,0
- PRODUCTVERSION 4,11,0,0
- FILEFLAGSMASK 0x3fL
-#ifdef _DEBUG
- FILEFLAGS 0x1L
-#else
- FILEFLAGS 0x0L
-#endif
- FILEOS 0x40004L
- FILETYPE 0x2L
- FILESUBTYPE 0x0L
-BEGIN
- BLOCK "StringFileInfo"
- BEGIN
- BLOCK "040904b0"
- BEGIN
- VALUE "Comments", "\0"
- VALUE "CompanyName", "Igor Pavlov\0"
- VALUE "FileDescription", "cpio Plugin for 7-Zip\0"
- VALUE "FileVersion", "4, 11, 0, 0\0"
- VALUE "InternalName", "cpio\0"
- VALUE "LegalCopyright", "Copyright (C) 1999-2004 Igor Pavlov\0"
- VALUE "LegalTrademarks", "\0"
- VALUE "OriginalFilename", "cpio .dll\0"
- VALUE "PrivateBuild", "\0"
- VALUE "ProductName", "7-Zip\0"
- VALUE "ProductVersion", "4, 11, 0, 0\0"
- VALUE "SpecialBuild", "\0"
- END
- END
- BLOCK "VarFileInfo"
- BEGIN
- VALUE "Translation", 0x409, 1200
- END
-END
-
-#endif // !_MAC
-
-#endif // English (U.S.) resources
-/////////////////////////////////////////////////////////////////////////////
-
-
-
-#ifndef APSTUDIO_INVOKED
-/////////////////////////////////////////////////////////////////////////////
-//
-// Generated from the TEXTINCLUDE 3 resource.
-//
-
-
-/////////////////////////////////////////////////////////////////////////////
-#endif // not APSTUDIO_INVOKED
+MY_VERSION_INFO_DLL("Cpio Plugin", "cpio")
+101 ICON "cpio.ico"
diff --git a/7zip/Archive/makefile b/7zip/Archive/makefile
new file mode 100755
index 00000000..3ec954ab
--- /dev/null
+++ b/7zip/Archive/makefile
@@ -0,0 +1,19 @@
+DIRS = \
+ 7z\~ \
+ Arj\~ \
+ BZip2\~ \
+ Cab\~ \
+ Cpio\~ \
+ Deb\~ \
+ GZip\~ \
+ Rar\~ \
+ RPM\~ \
+ Split\~ \
+ Tar\~ \
+ Z\~ \
+ Zip\~ \
+
+all: $(DIRS)
+
+$(DIRS):
+!include "../SubBuild.mak"
diff --git a/7zip/Bundles/Alone/Alone.dsp b/7zip/Bundles/Alone/Alone.dsp
index 28593695..9cb637bc 100755
--- a/7zip/Bundles/Alone/Alone.dsp
+++ b/7zip/Bundles/Alone/Alone.dsp
@@ -220,10 +220,6 @@ SOURCE=..\..\UI\Console\UserInputUtils.h
# PROP Default_Filter ""
# Begin Source File
-SOURCE=.\resource.h
-# End Source File
-# Begin Source File
-
SOURCE=.\resource.rc
# End Source File
# Begin Source File
diff --git a/7zip/Bundles/Alone/makefile b/7zip/Bundles/Alone/makefile
new file mode 100755
index 00000000..f5cae4a0
--- /dev/null
+++ b/7zip/Bundles/Alone/makefile
@@ -0,0 +1,333 @@
+PROG = 7za.exe
+LIBS = $(LIBS) user32.lib oleaut32.lib
+
+CFLAGS = $(CFLAGS) -I ../../../ \
+ -DEXCLUDE_COM \
+ -DNO_REGISTRY \
+ -DFORMAT_7Z \
+ -DFORMAT_BZIP2 \
+ -DFORMAT_GZIP \
+ -DFORMAT_SPLIT \
+ -DFORMAT_TAR \
+ -DFORMAT_Z \
+ -DFORMAT_ZIP \
+ -DCOMPRESS_BCJ_X86 \
+ -DCOMPRESS_BCJ2 \
+ -DCOMPRESS_BZIP2 \
+ -DCOMPRESS_COPY \
+ -DCOMPRESS_DEFLATE \
+ -DCOMPRESS_DEFLATE64 \
+ -DCOMPRESS_IMPLODE \
+ -DCOMPRESS_LZMA \
+ -DCOMPRESS_MF_MT \
+ -DCOMPRESS_PPMD \
+ -DCRYPTO_7ZAES \
+ -DCRYPTO_AES \
+ -DCRYPTO_ZIP \
+
+
+CONSOLE_OBJS = \
+ $O\ConsoleClose.obj \
+ $O\ExtractCallbackConsole.obj \
+ $O\List.obj \
+ $O\Main.obj \
+ $O\MainAr.obj \
+ $O\OpenCallbackConsole.obj \
+ $O\PercentPrinter.obj \
+ $O\UpdateCallbackConsole.obj \
+ $O\UserInputUtils.obj \
+
+COMMON_OBJS = \
+ $O\Alloc.obj \
+ $O\CommandLineParser.obj \
+ $O\CRC.obj \
+ $O\IntToString.obj \
+ $O\ListFileUtils.obj \
+ $O\NewHandler.obj \
+ $O\Random.obj \
+ $O\StdInStream.obj \
+ $O\StdOutStream.obj \
+ $O\String.obj \
+ $O\StringConvert.obj \
+ $O\StringToInt.obj \
+ $O\UTFConvert.obj \
+ $O\Vector.obj \
+ $O\Wildcard.obj \
+
+WIN_OBJS = \
+ $O\DLL.obj \
+ $O\Error.obj \
+ $O\FileDir.obj \
+ $O\FileFind.obj \
+ $O\FileIO.obj \
+ $O\FileName.obj \
+ $O\PropVariant.obj \
+ $O\PropVariantConversions.obj \
+ $O\Synchronization.obj
+
+7ZIP_COMMON_OBJS = \
+ $O\FilePathAutoRename.obj \
+ $O\FileStreams.obj \
+ $O\InBuffer.obj \
+ $O\InOutTempBuffer.obj \
+ $O\LimitedStreams.obj \
+ $O\LockedStream.obj \
+ $O\LSBFDecoder.obj \
+ $O\LSBFEncoder.obj \
+ $O\OffsetStream.obj \
+ $O\OutBuffer.obj \
+ $O\ProgressUtils.obj \
+ $O\StreamBinder.obj \
+ $O\StreamObjects.obj \
+
+UI_COMMON_OBJS = \
+ $O\ArchiveCommandLine.obj \
+ $O\ArchiveExtractCallback.obj \
+ $O\ArchiveOpenCallback.obj \
+ $O\ArchiverInfo.obj \
+ $O\DefaultName.obj \
+ $O\EnumDirItems.obj \
+ $O\Extract.obj \
+ $O\ExtractingFilePath.obj \
+ $O\OpenArchive.obj \
+ $O\PropIDUtils.obj \
+ $O\SortUtils.obj \
+ $O\TempFiles.obj \
+ $O\Update.obj \
+ $O\UpdateAction.obj \
+ $O\UpdateCallback.obj \
+ $O\UpdatePair.obj \
+ $O\UpdateProduce.obj \
+ $O\WorkDir.obj \
+
+AR_COMMON_OBJS = \
+ $O\CoderMixer2.obj \
+ $O\CoderMixer2MT.obj \
+ $O\CrossThreadProgress.obj \
+ $O\DummyOutStream.obj \
+ $O\FilterCoder.obj \
+ $O\InStreamWithCRC.obj \
+ $O\ItemNameUtils.obj \
+ $O\MultiStream.obj \
+ $O\OutStreamWithCRC.obj \
+
+
+7Z_OBJS = \
+ $O\7zCompressionMode.obj \
+ $O\7zDecode.obj \
+ $O\7zEncode.obj \
+ $O\7zExtract.obj \
+ $O\7zFolderInStream.obj \
+ $O\7zFolderOutStream.obj \
+ $O\7zHandler.obj \
+ $O\7zHandlerOut.obj \
+ $O\7zHeader.obj \
+ $O\7zIn.obj \
+ $O\7zMethodID.obj \
+ $O\7zOut.obj \
+ $O\7zProperties.obj \
+ $O\7zSpecStream.obj \
+ $O\7zUpdate.obj \
+
+BZ2_OBJS = \
+ $O\BZip2Handler.obj \
+ $O\BZip2HandlerOut.obj \
+ $O\BZip2Update.obj \
+
+GZ_OBJS = \
+ $O\GZipHandler.obj \
+ $O\GZipHandlerOut.obj \
+ $O\GZipHeader.obj \
+ $O\GZipIn.obj \
+ $O\GZipOut.obj \
+ $O\GZipUpdate.obj \
+
+SPLIT_OBJS = \
+ $O\SplitHandler.obj \
+ $O\SplitHandlerOut.obj \
+
+TAR_OBJS = \
+ $O\TarHandler.obj \
+ $O\TarHandlerOut.obj \
+ $O\TarHeader.obj \
+ $O\TarIn.obj \
+ $O\TarOut.obj \
+ $O\TarUpdate.obj \
+
+Z_OBJS = \
+ $O\ZHandler.obj \
+
+ZIP_OBJS = \
+ $O\ZipAddCommon.obj \
+ $O\ZipHandler.obj \
+ $O\ZipHandlerOut.obj \
+ $O\ZipHeader.obj \
+ $O\ZipIn.obj \
+ $O\ZipItem.obj \
+ $O\ZipOut.obj \
+ $O\ZipUpdate.obj \
+
+
+BRANCH_OPT_OBJS = \
+ $O\BranchCoder.obj \
+ $O\x86.obj \
+ $O\x86_2.obj \
+
+BZIP2_OBJS = \
+ $O\BZip2CRC.obj \
+
+BZIP2_OPT_OBJS = \
+ $O\BZip2Decoder.obj \
+ $O\BZip2Encoder.obj \
+
+DEFLATE_OPT_OBJS = \
+ $O\DeflateDecoder.obj \
+ $O\DeflateEncoder.obj \
+
+LZ_OBJS = \
+ $O\LZInWindow.obj \
+ $O\LZOutWindow.obj \
+
+LZMA_OPT_OBJS = \
+ $O\LZMADecoder.obj \
+ $O\LZMAEncoder.obj \
+
+IMPLODE_OBJS = \
+ $O\ImplodeDecoder.obj \
+ $O\ImplodeHuffmanDecoder.obj \
+
+PPMD_OPT_OBJS = \
+ $O\PPMDDecoder.obj \
+ $O\PPMDEncoder.obj \
+
+SHRINK_OBJS = \
+ $O\ShrinkDecoder.obj \
+
+COMPRESS_Z_OBJS = \
+ $O\ZDecoder.obj \
+
+
+7ZAES_OPT_OBJS = \
+ $O\7zAES.obj \
+ $O\SHA256.obj \
+
+AES_OPT_OBJS = \
+ $O\MyAES.obj \
+
+AES_ORIG_OBJS = \
+ $O\aescrypt.obj \
+ $O\aeskey.obj \
+ $O\aestab.obj \
+
+CRYPTO_ZIP_OBJS = \
+ $O\ZipCipher.obj \
+ $O\ZipCrypto.obj \
+
+OBJS = \
+ $O\StdAfx.obj \
+ $(CONSOLE_OBJS) \
+ $(COMMON_OBJS) \
+ $(WIN_OBJS) \
+ $(7ZIP_COMMON_OBJS) \
+ $(UI_COMMON_OBJS) \
+ $(AR_COMMON_OBJS) \
+ $(7Z_OBJS) \
+ $(BZ2_OBJS) \
+ $(GZ_OBJS) \
+ $(SPLIT_OBJS) \
+ $(TAR_OBJS) \
+ $(Z_OBJS) \
+ $(ZIP_OBJS) \
+ $(BZIP2_OBJS) \
+ $(BZIP2_OPT_OBJS) \
+ $(BRANCH_OPT_OBJS) \
+ $(DEFLATE_OPT_OBJS) \
+ $(IMPLODE_OBJS) \
+ $(LZ_OBJS) \
+ $(LZMA_OPT_OBJS) \
+ $(PPMD_OPT_OBJS) \
+ $(SHRINK_OBJS) \
+ $(COMPRESS_Z_OBJS) \
+ $O\BlockSort.obj \
+ $O\CopyCoder.obj \
+ $O\HuffmanEncoder.obj \
+ $O\MT.obj \
+ $O\RangeCoderBit.obj \
+ $(7ZAES_OPT_OBJS) \
+ $(AES_OPT_OBJS) \
+ $(AES_ORIG_OBJS) \
+ $(CRYPTO_ZIP_OBJS) \
+ $O\resource.res
+
+
+!include "../../../Build.mak"
+
+$(CONSOLE_OBJS): ../../UI/Console/$(*B).cpp
+ $(COMPL)
+
+$(COMMON_OBJS): ../../../Common/$(*B).cpp
+ $(COMPL)
+$(WIN_OBJS): ../../../Windows/$(*B).cpp
+ $(COMPL)
+$(7ZIP_COMMON_OBJS): ../../Common/$(*B).cpp
+ $(COMPL)
+$(UI_COMMON_OBJS): ../../UI/Common/$(*B).cpp
+ $(COMPL)
+$(AR_COMMON_OBJS): ../../Archive/Common/$(*B).cpp
+ $(COMPL)
+
+$(7Z_OBJS): ../../Archive/7z/$(*B).cpp
+ $(COMPL)
+$(BZ2_OBJS): ../../Archive/BZip2/$(*B).cpp
+ $(COMPL)
+$(GZ_OBJS): ../../Archive/GZip/$(*B).cpp
+ $(COMPL)
+$(SPLIT_OBJS): ../../Archive/Split/$(*B).cpp
+ $(COMPL)
+$(TAR_OBJS): ../../Archive/Tar/$(*B).cpp
+ $(COMPL)
+$(Z_OBJS): ../../Archive/Z/$(*B).cpp
+ $(COMPL)
+$(ZIP_OBJS): ../../Archive/Zip/$(*B).cpp
+ $(COMPL)
+
+$(BRANCH_OPT_OBJS): ../../Compress/Branch/$(*B).cpp
+ $(COMPL_O2)
+$(BZIP2_OBJS): ../../Compress/BZip2/$(*B).cpp
+ $(COMPL)
+$(BZIP2_OPT_OBJS): ../../Compress/BZip2/$(*B).cpp
+ $(COMPL_O2)
+$(DEFLATE_OPT_OBJS): ../../Compress/Deflate/$(*B).cpp
+ $(COMPL_O2)
+$(IMPLODE_OBJS): ../../Compress/Implode/$(*B).cpp
+ $(COMPL)
+$(LZ_OBJS): ../../Compress/LZ/$(*B).cpp
+ $(COMPL)
+$(LZMA_OPT_OBJS): ../../Compress/LZMA/$(*B).cpp
+ $(COMPL_O2)
+$(PPMD_OPT_OBJS): ../../Compress/PPMD/$(*B).cpp
+ $(COMPL_O2)
+$(SHRINK_OBJS): ../../Compress/Shrink/$(*B).cpp
+ $(COMPL)
+$(COMPRESS_Z_OBJS): ../../Compress/Z/$(*B).cpp
+ $(COMPL)
+
+$O\BlockSort.obj: ../../Compress/BWT/$(*B).cpp
+ $(COMPL_O2)
+$O\CopyCoder.obj: ../../Compress/Copy/$(*B).cpp
+ $(COMPL)
+$O\HuffmanEncoder.obj: ../../Compress/Huffman/$(*B).cpp
+ $(COMPL_O2)
+$O\MT.obj: ../../Compress/LZ/MT/$(*B).cpp
+ $(COMPL_O2)
+$O\RangeCoderBit.obj: ../../Compress/RangeCoder/$(*B).cpp
+ $(COMPL)
+
+$(AES_OPT_OBJS): ../../Crypto/AES/$(*B).cpp
+ $(COMPL_O2)
+$(AES_ORIG_OBJS): ../../Crypto/AES/$(*B).c
+ $(COMPL_O2)
+$(7ZAES_OPT_OBJS): ../../Crypto/7zAES/$(*B).cpp
+ $(COMPL_O2)
+$(CRYPTO_ZIP_OBJS): ../../Crypto/Zip/$(*B).cpp
+ $(COMPL)
diff --git a/7zip/Bundles/Alone/resource.h b/7zip/Bundles/Alone/resource.h
deleted file mode 100755
index 612062a2..00000000
--- a/7zip/Bundles/Alone/resource.h
+++ /dev/null
@@ -1,15 +0,0 @@
-//{{NO_DEPENDENCIES}}
-// Microsoft Developer Studio generated include file.
-// Used by resource.rc
-//
-
-// Next default values for new objects
-//
-#ifdef APSTUDIO_INVOKED
-#ifndef APSTUDIO_READONLY_SYMBOLS
-#define _APS_NEXT_RESOURCE_VALUE 101
-#define _APS_NEXT_COMMAND_VALUE 40001
-#define _APS_NEXT_CONTROL_VALUE 1000
-#define _APS_NEXT_SYMED_VALUE 101
-#endif
-#endif
diff --git a/7zip/Bundles/Alone/resource.rc b/7zip/Bundles/Alone/resource.rc
index 380b9739..fc9063c1 100755
--- a/7zip/Bundles/Alone/resource.rc
+++ b/7zip/Bundles/Alone/resource.rc
@@ -1,121 +1,3 @@
-//Microsoft Developer Studio generated resource script.
-//
-#include "resource.h"
-
-#define APSTUDIO_READONLY_SYMBOLS
-/////////////////////////////////////////////////////////////////////////////
-//
-// Generated from the TEXTINCLUDE 2 resource.
-//
-#include "afxres.h"
-
-/////////////////////////////////////////////////////////////////////////////
-#undef APSTUDIO_READONLY_SYMBOLS
-
-/////////////////////////////////////////////////////////////////////////////
-// Russian resources
-
-#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_RUS)
-#ifdef _WIN32
-LANGUAGE LANG_RUSSIAN, SUBLANG_DEFAULT
-#pragma code_page(1251)
-#endif //_WIN32
-
-#ifdef APSTUDIO_INVOKED
-/////////////////////////////////////////////////////////////////////////////
-//
-// TEXTINCLUDE
-//
-
-1 TEXTINCLUDE DISCARDABLE
-BEGIN
- "resource.h\0"
-END
-
-2 TEXTINCLUDE DISCARDABLE
-BEGIN
- "#include ""afxres.h""\r\n"
- "\0"
-END
-
-3 TEXTINCLUDE DISCARDABLE
-BEGIN
- "\r\n"
- "\0"
-END
-
-#endif // APSTUDIO_INVOKED
-
-#endif // Russian resources
-/////////////////////////////////////////////////////////////////////////////
-
-
-/////////////////////////////////////////////////////////////////////////////
-// English (U.S.) resources
-
-#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_ENU)
-#ifdef _WIN32
-LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US
-#pragma code_page(1252)
-#endif //_WIN32
-
-#ifndef _MAC
-/////////////////////////////////////////////////////////////////////////////
-//
-// Version
-//
-
-VS_VERSION_INFO VERSIONINFO
- FILEVERSION 4,24,0,0
- PRODUCTVERSION 4,24,0,0
- FILEFLAGSMASK 0x3fL
-#ifdef _DEBUG
- FILEFLAGS 0x1L
-#else
- FILEFLAGS 0x0L
-#endif
- FILEOS 0x40004L
- FILETYPE 0x1L
- FILESUBTYPE 0x0L
-BEGIN
- BLOCK "StringFileInfo"
- BEGIN
- BLOCK "040904b0"
- BEGIN
- VALUE "Comments", "\0"
- VALUE "CompanyName", "Igor Pavlov\0"
- VALUE "FileDescription", "7-Zip Standalone Console version\0"
- VALUE "FileVersion", "4, 24, 0, 0\0"
- VALUE "InternalName", "7za\0"
- VALUE "LegalCopyright", "Copyright (C) 1999-2005 Igor Pavlov\0"
- VALUE "LegalTrademarks", "\0"
- VALUE "OriginalFilename", "7za.exe\0"
- VALUE "PrivateBuild", "\0"
- VALUE "ProductName", "7-Zip\0"
- VALUE "ProductVersion", "4, 24, 0, 0\0"
- VALUE "SpecialBuild", "\0"
- END
- END
- BLOCK "VarFileInfo"
- BEGIN
- VALUE "Translation", 0x409, 1200
- END
-END
-
-#endif // !_MAC
-
-#endif // English (U.S.) resources
-/////////////////////////////////////////////////////////////////////////////
-
-
-
-#ifndef APSTUDIO_INVOKED
-/////////////////////////////////////////////////////////////////////////////
-//
-// Generated from the TEXTINCLUDE 3 resource.
-//
-
-
-/////////////////////////////////////////////////////////////////////////////
-#endif // not APSTUDIO_INVOKED
+#include "../../MyVersionInfo.rc"
+MY_VERSION_INFO_APP("7-Zip Standalone Console", "7za")
diff --git a/7zip/Bundles/Format7z/Format7z.dsp b/7zip/Bundles/Format7z/Format7z.dsp
index 240a4c0c..786f50e4 100755
--- a/7zip/Bundles/Format7z/Format7z.dsp
+++ b/7zip/Bundles/Format7z/Format7z.dsp
@@ -105,20 +105,16 @@ SOURCE=..\..\Archive\7z\DllExports.cpp
# End Source File
# Begin Source File
-SOURCE=..\..\Archive\7z\resource.h
+SOURCE=.\resource.rc
# End Source File
# Begin Source File
-SOURCE=..\..\Archive\7z\resource.rc
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\Archive\7z\StdAfx.cpp
+SOURCE=.\StdAfx.cpp
# ADD CPP /Yc"StdAfx.h"
# End Source File
# Begin Source File
-SOURCE=..\..\Archive\7z\StdAfx.h
+SOURCE=.\StdAfx.h
# End Source File
# End Group
# Begin Group "Common"
@@ -126,14 +122,6 @@ SOURCE=..\..\Archive\7z\StdAfx.h
# PROP Default_Filter ""
# Begin Source File
-SOURCE=..\..\..\Common\AlignedBuffer.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\Common\AlignedBuffer.h
-# End Source File
-# Begin Source File
-
SOURCE=..\..\..\Common\Alloc.cpp
# End Source File
# Begin Source File
@@ -158,6 +146,10 @@ SOURCE=..\..\..\Common\IntToString.h
# End Source File
# Begin Source File
+SOURCE=..\..\..\Common\NewHandler.cpp
+# End Source File
+# Begin Source File
+
SOURCE=..\..\..\Common\String.cpp
# End Source File
# Begin Source File
diff --git a/7zip/Bundles/Format7z/StdAfx.cpp b/7zip/Bundles/Format7z/StdAfx.cpp
new file mode 100755
index 00000000..d0feea85
--- /dev/null
+++ b/7zip/Bundles/Format7z/StdAfx.cpp
@@ -0,0 +1,3 @@
+// StdAfx.cpp
+
+#include "StdAfx.h"
diff --git a/7zip/Bundles/Format7z/StdAfx.h b/7zip/Bundles/Format7z/StdAfx.h
new file mode 100755
index 00000000..2e4be10b
--- /dev/null
+++ b/7zip/Bundles/Format7z/StdAfx.h
@@ -0,0 +1,9 @@
+// StdAfx.h
+
+#ifndef __STDAFX_H
+#define __STDAFX_H
+
+#include "../../../Common/MyWindows.h"
+#include "../../../Common/NewHandler.h"
+
+#endif
diff --git a/7zip/Bundles/Format7z/makefile b/7zip/Bundles/Format7z/makefile
new file mode 100755
index 00000000..2567f37b
--- /dev/null
+++ b/7zip/Bundles/Format7z/makefile
@@ -0,0 +1,181 @@
+PROG = 7za.dll
+DEF_FILE = ../../Archive/Archive.def
+LIBS = $(LIBS) user32.lib oleaut32.lib
+CFLAGS = $(CFLAGS) -I ../../../ \
+ -DEXCLUDE_COM \
+ -DNO_REGISTRY \
+ -DFORMAT_7Z \
+ -DCOMPRESS_BCJ_X86 \
+ -DCOMPRESS_BCJ2 \
+ -DCOMPRESS_BZIP2_DECODER \
+ -DCOMPRESS_COPY \
+ -DCOMPRESS_DEFLATE_DECODER \
+ -DCOMPRESS_LZMA \
+ -DCOMPRESS_MF_MT \
+ -DCOMPRESS_PPMD \
+ -DCRYPTO_7ZAES \
+ -DCRYPTO_AES \
+
+COMMON_OBJS = \
+ $O\Alloc.obj \
+ $O\CRC.obj \
+ $O\IntToString.obj \
+ $O\NewHandler.obj \
+ $O\String.obj \
+ $O\StringConvert.obj \
+ $O\StringToInt.obj \
+ $O\Vector.obj \
+ $O\Wildcard.obj \
+
+WIN_OBJS = \
+ $O\FileDir.obj \
+ $O\FileFind.obj \
+ $O\FileIO.obj \
+ $O\PropVariant.obj \
+ $O\Synchronization.obj
+
+7ZIP_COMMON_OBJS = \
+ $O\InBuffer.obj \
+ $O\InOutTempBuffer.obj \
+ $O\LimitedStreams.obj \
+ $O\LockedStream.obj \
+ $O\LSBFDecoder.obj \
+ $O\OutBuffer.obj \
+ $O\ProgressUtils.obj \
+ $O\StreamBinder.obj \
+ $O\StreamObjects.obj \
+
+AR_COMMON_OBJS = \
+ $O\CoderMixer2.obj \
+ $O\CoderMixer2MT.obj \
+ $O\CrossThreadProgress.obj \
+ $O\FilterCoder.obj \
+ $O\InStreamWithCRC.obj \
+ $O\ItemNameUtils.obj \
+ $O\OutStreamWithCRC.obj \
+
+
+7Z_OBJS = \
+ $O\DllExports.obj \
+ $O\7zCompressionMode.obj \
+ $O\7zDecode.obj \
+ $O\7zEncode.obj \
+ $O\7zExtract.obj \
+ $O\7zFolderInStream.obj \
+ $O\7zFolderOutStream.obj \
+ $O\7zHandler.obj \
+ $O\7zHandlerOut.obj \
+ $O\7zHeader.obj \
+ $O\7zIn.obj \
+ $O\7zMethodID.obj \
+ $O\7zOut.obj \
+ $O\7zProperties.obj \
+ $O\7zSpecStream.obj \
+ $O\7zUpdate.obj \
+
+
+BRANCH_OPT_OBJS = \
+ $O\BranchCoder.obj \
+ $O\x86.obj \
+ $O\x86_2.obj \
+
+BZIP2_OBJS = \
+ $O\BZip2CRC.obj \
+
+BZIP2_OPT_OBJS = \
+ $O\BZip2Decoder.obj \
+
+DEFLATE_OPT_OBJS = \
+ $O\DeflateDecoder.obj \
+
+LZ_OBJS = \
+ $O\LZInWindow.obj \
+ $O\LZOutWindow.obj \
+
+LZMA_OPT_OBJS = \
+ $O\LZMADecoder.obj \
+ $O\LZMAEncoder.obj \
+
+PPMD_OPT_OBJS = \
+ $O\PPMDDecoder.obj \
+ $O\PPMDEncoder.obj \
+
+
+7ZAES_OPT_OBJS = \
+ $O\7zAES.obj \
+ $O\SHA256.obj \
+
+AES_OPT_OBJS = \
+ $O\MyAES.obj \
+
+AES_ORIG_OBJS = \
+ $O\aescrypt.obj \
+ $O\aeskey.obj \
+ $O\aestab.obj \
+
+OBJS = \
+ $O\StdAfx.obj \
+ $(CONSOLE_OBJS) \
+ $(COMMON_OBJS) \
+ $(WIN_OBJS) \
+ $(7ZIP_COMMON_OBJS) \
+ $(AR_COMMON_OBJS) \
+ $(7Z_OBJS) \
+ $(BZIP2_OBJS) \
+ $(BZIP2_OPT_OBJS) \
+ $(BRANCH_OPT_OBJS) \
+ $(DEFLATE_OPT_OBJS) \
+ $(LZ_OBJS) \
+ $(LZMA_OPT_OBJS) \
+ $(PPMD_OPT_OBJS) \
+ $O\CopyCoder.obj \
+ $O\MT.obj \
+ $O\RangeCoderBit.obj \
+ $(7ZAES_OPT_OBJS) \
+ $(AES_OPT_OBJS) \
+ $(AES_ORIG_OBJS) \
+ $O\resource.res
+
+
+!include "../../../Build.mak"
+
+$(COMMON_OBJS): ../../../Common/$(*B).cpp
+ $(COMPL)
+$(WIN_OBJS): ../../../Windows/$(*B).cpp
+ $(COMPL)
+$(7ZIP_COMMON_OBJS): ../../Common/$(*B).cpp
+ $(COMPL)
+$(AR_COMMON_OBJS): ../../Archive/Common/$(*B).cpp
+ $(COMPL)
+
+$(7Z_OBJS): ../../Archive/7z/$(*B).cpp
+ $(COMPL)
+
+$(BRANCH_OPT_OBJS): ../../Compress/Branch/$(*B).cpp
+ $(COMPL_O2)
+$(BZIP2_OBJS): ../../Compress/BZip2/$(*B).cpp
+ $(COMPL)
+$(BZIP2_OPT_OBJS): ../../Compress/BZip2/$(*B).cpp
+ $(COMPL_O2)
+$(DEFLATE_OPT_OBJS): ../../Compress/Deflate/$(*B).cpp
+ $(COMPL_O2)
+$(LZ_OBJS): ../../Compress/LZ/$(*B).cpp
+ $(COMPL)
+$(LZMA_OPT_OBJS): ../../Compress/LZMA/$(*B).cpp
+ $(COMPL_O2)
+$(PPMD_OPT_OBJS): ../../Compress/PPMD/$(*B).cpp
+ $(COMPL_O2)
+
+$O\CopyCoder.obj: ../../Compress/Copy/$(*B).cpp
+ $(COMPL)
+$O\MT.obj: ../../Compress/LZ/MT/$(*B).cpp
+ $(COMPL_O2)
+$O\RangeCoderBit.obj: ../../Compress/RangeCoder/$(*B).cpp
+ $(COMPL)
+
+$(AES_OPT_OBJS): ../../Crypto/AES/$(*B).cpp
+ $(COMPL_O2)
+$(AES_ORIG_OBJS): ../../Crypto/AES/$(*B).c
+ $(COMPL_O2)
+$(7ZAES_OPT_OBJS): ../../Crypto/7zAES/$(*B).cpp
+ $(COMPL_O2)
diff --git a/7zip/Bundles/Format7z/resource.rc b/7zip/Bundles/Format7z/resource.rc
new file mode 100755
index 00000000..5b3f363e
--- /dev/null
+++ b/7zip/Bundles/Format7z/resource.rc
@@ -0,0 +1,5 @@
+#include "../../MyVersionInfo.rc"
+
+MY_VERSION_INFO_DLL("7z Standalone Plugin", "7za")
+
+101 ICON "../../Archive/7z/7z.ico"
diff --git a/7zip/Bundles/Format7zExtract/Format7z.dsp b/7zip/Bundles/Format7zExtract/Format7z.dsp
index b8eb291a..82800b08 100755
--- a/7zip/Bundles/Format7zExtract/Format7z.dsp
+++ b/7zip/Bundles/Format7zExtract/Format7z.dsp
@@ -105,20 +105,16 @@ SOURCE=..\..\Archive\7z\DllExports.cpp
# End Source File
# Begin Source File
-SOURCE=..\..\Archive\7z\resource.h
+SOURCE=.\resource.rc
# End Source File
# Begin Source File
-SOURCE=..\..\Archive\7z\resource.rc
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\Archive\7z\StdAfx.cpp
+SOURCE=.\StdAfx.cpp
# ADD CPP /Yc"StdAfx.h"
# End Source File
# Begin Source File
-SOURCE=..\..\Archive\7z\StdAfx.h
+SOURCE=.\StdAfx.h
# End Source File
# End Group
# Begin Group "Common"
@@ -126,14 +122,6 @@ SOURCE=..\..\Archive\7z\StdAfx.h
# PROP Default_Filter ""
# Begin Source File
-SOURCE=..\..\..\Common\AlignedBuffer.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\Common\AlignedBuffer.h
-# End Source File
-# Begin Source File
-
SOURCE=..\..\..\Common\Alloc.cpp
# End Source File
# Begin Source File
@@ -158,6 +146,14 @@ SOURCE=..\..\..\Common\IntToString.h
# End Source File
# Begin Source File
+SOURCE=..\..\..\Common\NewHandler.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\..\Common\NewHandler.h
+# End Source File
+# Begin Source File
+
SOURCE=..\..\..\Common\String.cpp
# End Source File
# Begin Source File
@@ -278,14 +274,6 @@ SOURCE=..\..\Archive\Common\FilterCoder.h
# End Source File
# Begin Source File
-SOURCE=..\..\Archive\Common\InStreamWithCRC.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\Archive\Common\InStreamWithCRC.h
-# End Source File
-# Begin Source File
-
SOURCE=..\..\Archive\Common\ItemNameUtils.cpp
# End Source File
# Begin Source File
diff --git a/7zip/Bundles/Format7zExtract/StdAfx.cpp b/7zip/Bundles/Format7zExtract/StdAfx.cpp
new file mode 100755
index 00000000..d0feea85
--- /dev/null
+++ b/7zip/Bundles/Format7zExtract/StdAfx.cpp
@@ -0,0 +1,3 @@
+// StdAfx.cpp
+
+#include "StdAfx.h"
diff --git a/7zip/Bundles/Format7zExtract/StdAfx.h b/7zip/Bundles/Format7zExtract/StdAfx.h
new file mode 100755
index 00000000..2e4be10b
--- /dev/null
+++ b/7zip/Bundles/Format7zExtract/StdAfx.h
@@ -0,0 +1,9 @@
+// StdAfx.h
+
+#ifndef __STDAFX_H
+#define __STDAFX_H
+
+#include "../../../Common/MyWindows.h"
+#include "../../../Common/NewHandler.h"
+
+#endif
diff --git a/7zip/Bundles/Format7zExtract/makefile b/7zip/Bundles/Format7zExtract/makefile
new file mode 100755
index 00000000..56b9ff50
--- /dev/null
+++ b/7zip/Bundles/Format7zExtract/makefile
@@ -0,0 +1,166 @@
+PROG = 7zxa.dll
+DEF_FILE = ../../Archive/Archive.def
+LIBS = $(LIBS) user32.lib oleaut32.lib
+CFLAGS = $(CFLAGS) -I ../../../ \
+ -DEXCLUDE_COM \
+ -DNO_REGISTRY \
+ -DEXTRACT_ONLY \
+ -DFORMAT_7Z \
+ -DCOMPRESS_BCJ_X86 \
+ -DCOMPRESS_BCJ2 \
+ -DCOMPRESS_BZIP2_DECODER \
+ -DCOMPRESS_COPY \
+ -DCOMPRESS_DEFLATE_DECODER \
+ -DCOMPRESS_LZMA \
+ -DCOMPRESS_MF_MT \
+ -DCOMPRESS_PPMD \
+ -DCRYPTO_7ZAES \
+ -DCRYPTO_AES \
+
+COMMON_OBJS = \
+ $O\Alloc.obj \
+ $O\CRC.obj \
+ $O\IntToString.obj \
+ $O\NewHandler.obj \
+ $O\String.obj \
+ $O\StringConvert.obj \
+ $O\StringToInt.obj \
+ $O\Vector.obj \
+ $O\Wildcard.obj \
+
+WIN_OBJS = \
+ $O\FileDir.obj \
+ $O\FileFind.obj \
+ $O\FileIO.obj \
+ $O\PropVariant.obj \
+ $O\Synchronization.obj
+
+7ZIP_COMMON_OBJS = \
+ $O\InBuffer.obj \
+ $O\InOutTempBuffer.obj \
+ $O\LimitedStreams.obj \
+ $O\LockedStream.obj \
+ $O\LSBFDecoder.obj \
+ $O\OutBuffer.obj \
+ $O\ProgressUtils.obj \
+ $O\StreamBinder.obj \
+ $O\StreamObjects.obj \
+
+AR_COMMON_OBJS = \
+ $O\CoderMixer2.obj \
+ $O\CoderMixer2MT.obj \
+ $O\CrossThreadProgress.obj \
+ $O\FilterCoder.obj \
+ $O\ItemNameUtils.obj \
+ $O\OutStreamWithCRC.obj \
+
+
+7Z_OBJS = \
+ $O\DllExports.obj \
+ $O\7zCompressionMode.obj \
+ $O\7zDecode.obj \
+ $O\7zExtract.obj \
+ $O\7zFolderOutStream.obj \
+ $O\7zHandler.obj \
+ $O\7zHeader.obj \
+ $O\7zIn.obj \
+ $O\7zMethodID.obj \
+ $O\7zProperties.obj \
+
+
+BRANCH_OPT_OBJS = \
+ $O\BranchCoder.obj \
+ $O\x86.obj \
+ $O\x86_2.obj \
+
+BZIP2_OBJS = \
+ $O\BZip2CRC.obj \
+
+BZIP2_OPT_OBJS = \
+ $O\BZip2Decoder.obj \
+
+DEFLATE_OPT_OBJS = \
+ $O\DeflateDecoder.obj \
+
+LZ_OBJS = \
+ $O\LZOutWindow.obj \
+
+LZMA_OPT_OBJS = \
+ $O\LZMADecoder.obj \
+
+PPMD_OPT_OBJS = \
+ $O\PPMDDecoder.obj \
+
+
+7ZAES_OPT_OBJS = \
+ $O\7zAES.obj \
+ $O\SHA256.obj \
+
+AES_OPT_OBJS = \
+ $O\MyAES.obj \
+
+AES_ORIG_OBJS = \
+ $O\aescrypt.obj \
+ $O\aeskey.obj \
+ $O\aestab.obj \
+
+OBJS = \
+ $O\StdAfx.obj \
+ $(CONSOLE_OBJS) \
+ $(COMMON_OBJS) \
+ $(WIN_OBJS) \
+ $(7ZIP_COMMON_OBJS) \
+ $(AR_COMMON_OBJS) \
+ $(7Z_OBJS) \
+ $(BZIP2_OBJS) \
+ $(BZIP2_OPT_OBJS) \
+ $(BRANCH_OPT_OBJS) \
+ $(DEFLATE_OPT_OBJS) \
+ $(LZ_OBJS) \
+ $(LZMA_OPT_OBJS) \
+ $(PPMD_OPT_OBJS) \
+ $O\CopyCoder.obj \
+ $(7ZAES_OPT_OBJS) \
+ $(AES_OPT_OBJS) \
+ $(AES_ORIG_OBJS) \
+ $O\resource.res
+
+
+!include "../../../Build.mak"
+
+$(COMMON_OBJS): ../../../Common/$(*B).cpp
+ $(COMPL)
+$(WIN_OBJS): ../../../Windows/$(*B).cpp
+ $(COMPL)
+$(7ZIP_COMMON_OBJS): ../../Common/$(*B).cpp
+ $(COMPL)
+$(AR_COMMON_OBJS): ../../Archive/Common/$(*B).cpp
+ $(COMPL)
+
+$(7Z_OBJS): ../../Archive/7z/$(*B).cpp
+ $(COMPL)
+
+$(BRANCH_OPT_OBJS): ../../Compress/Branch/$(*B).cpp
+ $(COMPL_O2)
+$(BZIP2_OBJS): ../../Compress/BZip2/$(*B).cpp
+ $(COMPL)
+$(BZIP2_OPT_OBJS): ../../Compress/BZip2/$(*B).cpp
+ $(COMPL_O2)
+$(DEFLATE_OPT_OBJS): ../../Compress/Deflate/$(*B).cpp
+ $(COMPL_O2)
+$(LZ_OBJS): ../../Compress/LZ/$(*B).cpp
+ $(COMPL)
+$(LZMA_OPT_OBJS): ../../Compress/LZMA/$(*B).cpp
+ $(COMPL_O2)
+$(PPMD_OPT_OBJS): ../../Compress/PPMD/$(*B).cpp
+ $(COMPL_O2)
+
+$O\CopyCoder.obj: ../../Compress/Copy/$(*B).cpp
+ $(COMPL)
+
+$(AES_OPT_OBJS): ../../Crypto/AES/$(*B).cpp
+ $(COMPL_O2)
+$(AES_ORIG_OBJS): ../../Crypto/AES/$(*B).c
+ $(COMPL_O2)
+$(7ZAES_OPT_OBJS): ../../Crypto/7zAES/$(*B).cpp
+ $(COMPL_O2)
diff --git a/7zip/Bundles/Format7zExtract/resource.rc b/7zip/Bundles/Format7zExtract/resource.rc
new file mode 100755
index 00000000..56e6b5d7
--- /dev/null
+++ b/7zip/Bundles/Format7zExtract/resource.rc
@@ -0,0 +1,5 @@
+#include "../../MyVersionInfo.rc"
+
+MY_VERSION_INFO_DLL("7z Standalone Extracting Plugin", "7zxa")
+
+101 ICON "../../Archive/7z/7z.ico"
diff --git a/7zip/Bundles/SFXCon/Main.cpp b/7zip/Bundles/SFXCon/Main.cpp
index c7a8a755..3c31b6a5 100755
--- a/7zip/Bundles/SFXCon/Main.cpp
+++ b/7zip/Bundles/SFXCon/Main.cpp
@@ -27,6 +27,8 @@
#include "../../UI/Console/OpenCallbackConsole.h"
#include "../../UI/Console/ExtractCallbackConsole.h"
+#include "../../MyVersion.h"
+
using namespace NWindows;
using namespace NFile;
using namespace NCommandLineParser;
@@ -34,7 +36,7 @@ using namespace NCommandLineParser;
extern CStdOutStream *g_StdStream;
static const char *kCopyrightString =
-"\n7-Zip SFX 4.24 beta Copyright (c) 1999-2005 Igor Pavlov 2005-07-06\n";
+"\n7-Zip SFX " MY_VERSION_COPYRIGHT_DATE "\n";
static const int kNumSwitches = 6;
@@ -152,13 +154,6 @@ static const char *kProcessArchiveMessage = " archive: ";
static const char *kCantFindSFX = " cannot find sfx";
-// ---------------------------
-
-static const CSysString kExtractGroupProcessMessage = "Processing";
-static const CSysString kListingProcessMessage = "Listing";
-
-static const CSysString kDefaultWorkingDirectory = ""; // test it maybemust be "."
-
struct CArchiveCommand
{
NCommandType::EEnum CommandType;
@@ -188,7 +183,7 @@ void PrintHelp(void)
g_StdOut << kHelpString;
}
-static void ShowMessageAndThrowException(LPCTSTR message, NExitCode::EEnum code)
+static void ShowMessageAndThrowException(const char *message, NExitCode::EEnum code)
{
g_StdOut << message << endl;
throw code;
diff --git a/7zip/Bundles/SFXCon/makefile b/7zip/Bundles/SFXCon/makefile
new file mode 100755
index 00000000..27aaabc3
--- /dev/null
+++ b/7zip/Bundles/SFXCon/makefile
@@ -0,0 +1,175 @@
+PROG = 7zCon.sfx
+LIBS = $(LIBS) user32.lib oleaut32.lib
+CFLAGS = $(CFLAGS) -I ../../../ \
+ -DEXCLUDE_COM \
+ -DNO_REGISTRY \
+ -DEXTRACT_ONLY \
+ -D_SFX \
+ -DFORMAT_7Z \
+ -DCOMPRESS_BCJ_X86 \
+ -DCOMPRESS_BCJ2 \
+ -DCOMPRESS_COPY \
+ -DCOMPRESS_LZMA \
+ -DCOMPRESS_PPMD \
+ -DCRYPTO_7ZAES \
+ -DCRYPTO_AES \
+
+SFX_CONSOLE_OBJS = \
+ $O\Main.obj \
+
+CONSOLE_OBJS = \
+ $O\ConsoleClose.obj \
+ $O\ExtractCallbackConsole.obj \
+ $O\List.obj \
+ $O\MainAr.obj \
+ $O\OpenCallbackConsole.obj \
+ $O\UserInputUtils.obj \
+
+COMMON_OBJS = \
+ $O\Alloc.obj \
+ $O\CommandLineParser.obj \
+ $O\CRC.obj \
+ $O\IntToString.obj \
+ $O\NewHandler.obj \
+ $O\StdInStream.obj \
+ $O\StdOutStream.obj \
+ $O\String.obj \
+ $O\StringConvert.obj \
+ $O\Vector.obj \
+ $O\Wildcard.obj \
+
+WIN_OBJS = \
+ $O\Error.obj \
+ $O\FileDir.obj \
+ $O\FileFind.obj \
+ $O\FileIO.obj \
+ $O\FileName.obj \
+ $O\PropVariant.obj \
+ $O\PropVariantConversions.obj \
+ $O\Synchronization.obj
+
+7ZIP_COMMON_OBJS = \
+ $O\FilePathAutoRename.obj \
+ $O\FileStreams.obj \
+ $O\InBuffer.obj \
+ $O\LimitedStreams.obj \
+ $O\LockedStream.obj \
+ $O\OutBuffer.obj \
+ $O\ProgressUtils.obj \
+ $O\StreamBinder.obj \
+ $O\StreamObjects.obj \
+
+UI_COMMON_OBJS = \
+ $O\ArchiveExtractCallback.obj \
+ $O\ArchiveOpenCallback.obj \
+ $O\ArchiverInfo.obj \
+ $O\DefaultName.obj \
+ $O\Extract.obj \
+ $O\ExtractingFilePath.obj \
+ $O\OpenArchive.obj \
+ $O\PropIDUtils.obj \
+
+AR_COMMON_OBJS = \
+ $O\CoderMixer2.obj \
+ $O\CoderMixer2MT.obj \
+ $O\CrossThreadProgress.obj \
+ $O\FilterCoder.obj \
+ $O\ItemNameUtils.obj \
+ $O\OutStreamWithCRC.obj \
+
+
+7Z_OBJS = \
+ $O\7zDecode.obj \
+ $O\7zExtract.obj \
+ $O\7zFolderOutStream.obj \
+ $O\7zHandler.obj \
+ $O\7zHeader.obj \
+ $O\7zIn.obj \
+ $O\7zMethodID.obj \
+
+BRANCH_OPT_OBJS = \
+ $O\BranchCoder.obj \
+ $O\x86.obj \
+ $O\x86_2.obj \
+
+LZ_OBJS = \
+ $O\LZOutWindow.obj \
+
+LZMA_OPT_OBJS = \
+ $O\LZMADecoder.obj \
+
+PPMD_OPT_OBJS = \
+ $O\PPMDDecoder.obj \
+
+7ZAES_OPT_OBJS = \
+ $O\7zAES.obj \
+ $O\SHA256.obj \
+
+AES_OPT_OBJS = \
+ $O\MyAES.obj \
+
+AES_ORIG_OBJS = \
+ $O\aescrypt.obj \
+ $O\aeskey.obj \
+ $O\aestab.obj \
+
+OBJS = \
+ $O\StdAfx.obj \
+ $(SFX_CONSOLE_OBJS) \
+ $(CONSOLE_OBJS) \
+ $(COMMON_OBJS) \
+ $(WIN_OBJS) \
+ $(7ZIP_COMMON_OBJS) \
+ $(UI_COMMON_OBJS) \
+ $(AR_COMMON_OBJS) \
+ $(7Z_OBJS) \
+ $(BRANCH_OPT_OBJS) \
+ $(LZ_OBJS) \
+ $(LZMA_OPT_OBJS) \
+ $(PPMD_OPT_OBJS) \
+ $O\CopyCoder.obj \
+ $(7ZAES_OPT_OBJS) \
+ $(AES_OPT_OBJS) \
+ $(AES_ORIG_OBJS) \
+ $(CRYPTO_ZIP_OBJS) \
+ $O\resource.res
+
+
+!include "../../../Build.mak"
+
+$(SFX_CONSOLE_OBJS): $(*B).cpp
+ $(COMPL)
+
+$(CONSOLE_OBJS): ../../UI/Console/$(*B).cpp
+ $(COMPL)
+$(COMMON_OBJS): ../../../Common/$(*B).cpp
+ $(COMPL)
+$(WIN_OBJS): ../../../Windows/$(*B).cpp
+ $(COMPL)
+$(7ZIP_COMMON_OBJS): ../../Common/$(*B).cpp
+ $(COMPL)
+$(UI_COMMON_OBJS): ../../UI/Common/$(*B).cpp
+ $(COMPL)
+$(AR_COMMON_OBJS): ../../Archive/Common/$(*B).cpp
+ $(COMPL)
+
+$(7Z_OBJS): ../../Archive/7z/$(*B).cpp
+ $(COMPL)
+$(BRANCH_OPT_OBJS): ../../Compress/Branch/$(*B).cpp
+ $(COMPL)
+$(LZ_OBJS): ../../Compress/LZ/$(*B).cpp
+ $(COMPL)
+$(LZMA_OPT_OBJS): ../../Compress/LZMA/$(*B).cpp
+ $(COMPL)
+$(PPMD_OPT_OBJS): ../../Compress/PPMD/$(*B).cpp
+ $(COMPL)
+
+$O\CopyCoder.obj: ../../Compress/Copy/$(*B).cpp
+ $(COMPL)
+
+$(AES_OPT_OBJS): ../../Crypto/AES/$(*B).cpp
+ $(COMPL)
+$(AES_ORIG_OBJS): ../../Crypto/AES/$(*B).c
+ $(COMPL_O1)
+$(7ZAES_OPT_OBJS): ../../Crypto/7zAES/$(*B).cpp
+ $(COMPL)
diff --git a/7zip/Bundles/SFXCon/resource.h b/7zip/Bundles/SFXCon/resource.h
deleted file mode 100755
index 7b0dd8ff..00000000
--- a/7zip/Bundles/SFXCon/resource.h
+++ /dev/null
@@ -1,16 +0,0 @@
-//{{NO_DEPENDENCIES}}
-// Microsoft Developer Studio generated include file.
-// Used by resource.rc
-//
-#define IDI_ICON1 101
-
-// Next default values for new objects
-//
-#ifdef APSTUDIO_INVOKED
-#ifndef APSTUDIO_READONLY_SYMBOLS
-#define _APS_NEXT_RESOURCE_VALUE 102
-#define _APS_NEXT_COMMAND_VALUE 40001
-#define _APS_NEXT_CONTROL_VALUE 1000
-#define _APS_NEXT_SYMED_VALUE 101
-#endif
-#endif
diff --git a/7zip/Bundles/SFXCon/resource.rc b/7zip/Bundles/SFXCon/resource.rc
index 472c350f..58331b81 100755
--- a/7zip/Bundles/SFXCon/resource.rc
+++ b/7zip/Bundles/SFXCon/resource.rc
@@ -1,130 +1,5 @@
-//Microsoft Developer Studio generated resource script.
-//
-#include "resource.h"
+#include "../../MyVersionInfo.rc"
-#define APSTUDIO_READONLY_SYMBOLS
-/////////////////////////////////////////////////////////////////////////////
-//
-// Generated from the TEXTINCLUDE 2 resource.
-//
-#include "afxres.h"
-
-/////////////////////////////////////////////////////////////////////////////
-#undef APSTUDIO_READONLY_SYMBOLS
-
-/////////////////////////////////////////////////////////////////////////////
-// Russian resources
-
-#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_RUS)
-#ifdef _WIN32
-LANGUAGE LANG_RUSSIAN, SUBLANG_DEFAULT
-#pragma code_page(1251)
-#endif //_WIN32
-
-#ifdef APSTUDIO_INVOKED
-/////////////////////////////////////////////////////////////////////////////
-//
-// TEXTINCLUDE
-//
-
-1 TEXTINCLUDE DISCARDABLE
-BEGIN
- "resource.h\0"
-END
-
-2 TEXTINCLUDE DISCARDABLE
-BEGIN
- "#include ""afxres.h""\r\n"
- "\0"
-END
-
-3 TEXTINCLUDE DISCARDABLE
-BEGIN
- "\r\n"
- "\0"
-END
-
-#endif // APSTUDIO_INVOKED
-
-#endif // Russian resources
-/////////////////////////////////////////////////////////////////////////////
-
-
-/////////////////////////////////////////////////////////////////////////////
-// English (U.S.) resources
-
-#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_ENU)
-#ifdef _WIN32
-LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US
-#pragma code_page(1252)
-#endif //_WIN32
-
-/////////////////////////////////////////////////////////////////////////////
-//
-// Icon
-//
-
-// Icon with lowest ID value placed first to ensure application icon
-// remains consistent on all systems.
-IDI_ICON1 ICON DISCARDABLE "7z.ico"
-
-#ifndef _MAC
-/////////////////////////////////////////////////////////////////////////////
-//
-// Version
-//
-
-VS_VERSION_INFO VERSIONINFO
- FILEVERSION 4,24,0,0
- PRODUCTVERSION 4,24,0,0
- FILEFLAGSMASK 0x3fL
-#ifdef _DEBUG
- FILEFLAGS 0x1L
-#else
- FILEFLAGS 0x0L
-#endif
- FILEOS 0x40004L
- FILETYPE 0x1L
- FILESUBTYPE 0x0L
-BEGIN
- BLOCK "StringFileInfo"
- BEGIN
- BLOCK "040904b0"
- BEGIN
- VALUE "Comments", "\0"
- VALUE "CompanyName", "Igor Pavlov\0"
- VALUE "FileDescription", "7z SFX (Console version)\0"
- VALUE "FileVersion", "4, 24, 0, 0\0"
- VALUE "InternalName", "7zCon.sfx\0"
- VALUE "LegalCopyright", "Copyright (C) 1999-2005 Igor Pavlov\0"
- VALUE "LegalTrademarks", "\0"
- VALUE "OriginalFilename", "7zCon.sfx\0"
- VALUE "PrivateBuild", "\0"
- VALUE "ProductName", "7-Zip\0"
- VALUE "ProductVersion", "4, 24, 0, 0\0"
- VALUE "SpecialBuild", "\0"
- END
- END
- BLOCK "VarFileInfo"
- BEGIN
- VALUE "Translation", 0x409, 1200
- END
-END
-
-#endif // !_MAC
-
-#endif // English (U.S.) resources
-/////////////////////////////////////////////////////////////////////////////
-
-
-
-#ifndef APSTUDIO_INVOKED
-/////////////////////////////////////////////////////////////////////////////
-//
-// Generated from the TEXTINCLUDE 3 resource.
-//
-
-
-/////////////////////////////////////////////////////////////////////////////
-#endif // not APSTUDIO_INVOKED
+MY_VERSION_INFO_APP("7z Console SFX", "7z.sfx")
+101 ICON "7z.ico" \ No newline at end of file
diff --git a/7zip/Bundles/SFXSetup/SFXSetup.dsp b/7zip/Bundles/SFXSetup/SFXSetup.dsp
index a2f4f204..1e686014 100755
--- a/7zip/Bundles/SFXSetup/SFXSetup.dsp
+++ b/7zip/Bundles/SFXSetup/SFXSetup.dsp
@@ -349,6 +349,14 @@ SOURCE=..\..\..\Common\IntToString.h
# End Source File
# Begin Source File
+SOURCE=..\..\..\Common\NewHandler.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\..\Common\NewHandler.h
+# End Source File
+# Begin Source File
+
SOURCE=..\..\..\Common\String.cpp
# End Source File
# Begin Source File
@@ -642,15 +650,6 @@ SOURCE=..\..\FileManager\Resource\ProgressDialog\ProgressDialog.cpp
SOURCE=..\..\FileManager\Resource\ProgressDialog\ProgressDialog.h
# End Source File
-# Begin Source File
-
-SOURCE=..\..\FileManager\Resource\ProgressDialog\resource.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\FileManager\Resource\ProgressDialog\resource.rc
-# PROP Exclude_From_Build 1
-# End Source File
# End Group
# Begin Source File
diff --git a/7zip/Bundles/SFXSetup/makefile b/7zip/Bundles/SFXSetup/makefile
new file mode 100755
index 00000000..85459496
--- /dev/null
+++ b/7zip/Bundles/SFXSetup/makefile
@@ -0,0 +1,155 @@
+PROG = 7zS.sfx
+LIBS = $(LIBS) user32.lib oleaut32.lib shell32.lib ole32.lib comctl32.lib
+CFLAGS = $(CFLAGS) -I ../../../ \
+ -DEXCLUDE_COM \
+ -DNO_REGISTRY \
+ -DEXTRACT_ONLY \
+ -D_SFX \
+ -DFORMAT_7Z \
+ -DCOMPRESS_BCJ_X86 \
+ -DCOMPRESS_BCJ2 \
+ -DCOMPRESS_COPY \
+ -DCOMPRESS_LZMA \
+ -D_NO_CRYPTO
+
+SFX_WIN_OBJS = \
+ $O\Main.obj \
+ $O\ExtractCallback.obj \
+ $O\ExtractEngine.obj \
+
+GUI_OBJS = \
+ $O\OpenCallbackGUI.obj \
+
+COMMON_OBJS = \
+ $O\Alloc.obj \
+ $O\CommandLineParser.obj \
+ $O\CRC.obj \
+ $O\IntToString.obj \
+ $O\NewHandler.obj \
+ $O\String.obj \
+ $O\StringConvert.obj \
+ $O\TextConfig.obj \
+ $O\UTFConvert.obj \
+ $O\Vector.obj \
+ $O\Wildcard.obj \
+
+WIN_OBJS = \
+ $O\DLL.obj \
+ $O\Error.obj \
+ $O\FileDir.obj \
+ $O\FileFind.obj \
+ $O\FileIO.obj \
+ $O\FileName.obj \
+ $O\PropVariant.obj \
+ $O\ResourceString.obj \
+ $O\Synchronization.obj \
+ $O\Window.obj \
+
+WIN_CTRL_OBJS = \
+ $O\Dialog.obj \
+
+7ZIP_COMMON_OBJS = \
+ $O\FileStreams.obj \
+ $O\InBuffer.obj \
+ $O\LimitedStreams.obj \
+ $O\LockedStream.obj \
+ $O\OutBuffer.obj \
+ $O\ProgressUtils.obj \
+ $O\StreamBinder.obj \
+ $O\StreamObjects.obj \
+
+UI_COMMON_OBJS = \
+ $O\ArchiveOpenCallback.obj \
+ $O\ArchiverInfo.obj \
+ $O\DefaultName.obj \
+ $O\OpenArchive.obj \
+
+FM_OBJS = \
+ $O\FormatUtils.obj \
+
+AR_COMMON_OBJS = \
+ $O\CoderMixer2.obj \
+ $O\CoderMixer2MT.obj \
+ $O\CrossThreadProgress.obj \
+ $O\FilterCoder.obj \
+ $O\ItemNameUtils.obj \
+ $O\OutStreamWithCRC.obj \
+
+7Z_OBJS = \
+ $O\7zDecode.obj \
+ $O\7zExtract.obj \
+ $O\7zFolderOutStream.obj \
+ $O\7zHandler.obj \
+ $O\7zHeader.obj \
+ $O\7zIn.obj \
+ $O\7zMethodID.obj \
+
+BRANCH_OPT_OBJS = \
+ $O\BranchCoder.obj \
+ $O\x86.obj \
+ $O\x86_2.obj \
+
+LZ_OBJS = \
+ $O\LZOutWindow.obj \
+
+LZMA_OPT_OBJS = \
+ $O\LZMADecoder.obj \
+
+OBJS = \
+ $O\StdAfx.obj \
+ $(SFX_WIN_OBJS) \
+ $(GUI_OBJS) \
+ $(COMMON_OBJS) \
+ $(WIN_OBJS) \
+ $(WIN_CTRL_OBJS) \
+ $(7ZIP_COMMON_OBJS) \
+ $(UI_COMMON_OBJS) \
+ $(FM_OBJS)\
+ $(AR_COMMON_OBJS) \
+ $(7Z_OBJS) \
+ $(BRANCH_OPT_OBJS) \
+ $(LZ_OBJS) \
+ $(LZMA_OPT_OBJS) \
+ $O\CopyCoder.obj \
+ $O\MyMessages.obj \
+ $O\ProgressDialog.obj \
+ $O\resource.res
+
+
+!include "../../../Build.mak"
+
+$(SFX_WIN_OBJS): $(*B).cpp
+ $(COMPL)
+
+$(GUI_OBJS): ../../UI/GUI/$(*B).cpp
+ $(COMPL)
+$(COMMON_OBJS): ../../../Common/$(*B).cpp
+ $(COMPL)
+$(WIN_OBJS): ../../../Windows/$(*B).cpp
+ $(COMPL)
+$(WIN_CTRL_OBJS): ../../../Windows/Control/$(*B).cpp
+ $(COMPL)
+$(7ZIP_COMMON_OBJS): ../../Common/$(*B).cpp
+ $(COMPL)
+$(UI_COMMON_OBJS): ../../UI/Common/$(*B).cpp
+ $(COMPL)
+$(FM_OBJS): ../../FileManager/$(*B).cpp
+ $(COMPL)
+$(AR_COMMON_OBJS): ../../Archive/Common/$(*B).cpp
+ $(COMPL)
+
+$(7Z_OBJS): ../../Archive/7z/$(*B).cpp
+ $(COMPL)
+$(BRANCH_OPT_OBJS): ../../Compress/Branch/$(*B).cpp
+ $(COMPL)
+$(LZ_OBJS): ../../Compress/LZ/$(*B).cpp
+ $(COMPL)
+$(LZMA_OPT_OBJS): ../../Compress/LZMA/$(*B).cpp
+ $(COMPL)
+
+$O\CopyCoder.obj: ../../Compress/Copy/$(*B).cpp
+ $(COMPL)
+$O\MyMessages.obj: ../../UI/Explorer/MyMessages.cpp
+ $(COMPL)
+$O\ProgressDialog.obj: ../../FileManager/Resource/ProgressDialog/$(*B).cpp
+ $(COMPL)
diff --git a/7zip/Bundles/SFXSetup/resource.h b/7zip/Bundles/SFXSetup/resource.h
index a0dc7925..94102b5d 100755
--- a/7zip/Bundles/SFXSetup/resource.h
+++ b/7zip/Bundles/SFXSetup/resource.h
@@ -1,19 +1,4 @@
-//{{NO_DEPENDENCIES}}
-// Microsoft Developer Studio generated include file.
-// Used by resource.rc
-//
#define IDI_ICON3 159
#define IDS_CANNOT_CREATE_FOLDER 9
#define IDS_PROGRESS_EXTRACTING 69
-
-// Next default values for new objects
-//
-#ifdef APSTUDIO_INVOKED
-#ifndef APSTUDIO_READONLY_SYMBOLS
-#define _APS_NEXT_RESOURCE_VALUE 160
-#define _APS_NEXT_COMMAND_VALUE 32771
-#define _APS_NEXT_CONTROL_VALUE 1091
-#define _APS_NEXT_SYMED_VALUE 101
-#endif
-#endif
diff --git a/7zip/Bundles/SFXSetup/resource.rc b/7zip/Bundles/SFXSetup/resource.rc
index 55746979..5dfa9d0c 100755
--- a/7zip/Bundles/SFXSetup/resource.rc
+++ b/7zip/Bundles/SFXSetup/resource.rc
@@ -1,148 +1,14 @@
-//Microsoft Developer Studio generated resource script.
-//
+#include "../../MyVersionInfo.rc"
#include "resource.h"
-#define APSTUDIO_READONLY_SYMBOLS
-/////////////////////////////////////////////////////////////////////////////
-//
-// Generated from the TEXTINCLUDE 2 resource.
-//
-#include "afxres.h"
+MY_VERSION_INFO_APP("7z Setup SFX", "7zS.sfx")
-/////////////////////////////////////////////////////////////////////////////
-#undef APSTUDIO_READONLY_SYMBOLS
+IDI_ICON3 ICON "setup.ico"
-/////////////////////////////////////////////////////////////////////////////
-// Russian resources
-
-#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_RUS)
-#ifdef _WIN32
-LANGUAGE LANG_RUSSIAN, SUBLANG_DEFAULT
-#pragma code_page(1251)
-#endif //_WIN32
-
-#ifdef APSTUDIO_INVOKED
-/////////////////////////////////////////////////////////////////////////////
-//
-// TEXTINCLUDE
-//
-
-1 TEXTINCLUDE DISCARDABLE
-BEGIN
- "resource.h\0"
-END
-
-2 TEXTINCLUDE DISCARDABLE
-BEGIN
- "#include ""afxres.h""\r\n"
- "\0"
-END
-
-3 TEXTINCLUDE DISCARDABLE
+STRINGTABLE
BEGIN
- "#include ""..\\..\\FileManager\\Resource\\ProgressDialog\\resource.rc""\r\n"
- "\r\n"
- "\0"
+ IDS_CANNOT_CREATE_FOLDER "Cannot create folder '{0}'"
+ IDS_PROGRESS_EXTRACTING "Extracting"
END
-#endif // APSTUDIO_INVOKED
-
-#endif // Russian resources
-/////////////////////////////////////////////////////////////////////////////
-
-
-/////////////////////////////////////////////////////////////////////////////
-// English (U.S.) resources
-
-#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_ENU)
-#ifdef _WIN32
-LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US
-#pragma code_page(1252)
-#endif //_WIN32
-
-/////////////////////////////////////////////////////////////////////////////
-//
-// Icon
-//
-
-// Icon with lowest ID value placed first to ensure application icon
-// remains consistent on all systems.
-IDI_ICON3 ICON DISCARDABLE "setup.ico"
-
-#ifndef _MAC
-/////////////////////////////////////////////////////////////////////////////
-//
-// Version
-//
-
-VS_VERSION_INFO VERSIONINFO
- FILEVERSION 4,24,0,0
- PRODUCTVERSION 4,24,0,0
- FILEFLAGSMASK 0x3fL
-#ifdef _DEBUG
- FILEFLAGS 0x1L
-#else
- FILEFLAGS 0x0L
-#endif
- FILEOS 0x40004L
- FILETYPE 0x1L
- FILESUBTYPE 0x0L
-BEGIN
- BLOCK "StringFileInfo"
- BEGIN
- BLOCK "040904b0"
- BEGIN
- VALUE "Comments", "\0"
- VALUE "CompanyName", "Igor Pavlov\0"
- VALUE "FileDescription", "7z Self-Extract Setup\0"
- VALUE "FileVersion", "4, 24, 0, 0\0"
- VALUE "InternalName", "7zS.sfx\0"
- VALUE "LegalCopyright", "Copyright (C) 1999-2005 Igor Pavlov\0"
- VALUE "LegalTrademarks", "\0"
- VALUE "OriginalFilename", "7zS.sfx\0"
- VALUE "PrivateBuild", "\0"
- VALUE "ProductName", "7-Zip\0"
- VALUE "ProductVersion", "4, 24, 0, 0\0"
- VALUE "SpecialBuild", "\0"
- END
- END
- BLOCK "VarFileInfo"
- BEGIN
- VALUE "Translation", 0x409, 1200
- END
-END
-
-#endif // !_MAC
-
-
-/////////////////////////////////////////////////////////////////////////////
-//
-// String Table
-//
-
-STRINGTABLE DISCARDABLE
-BEGIN
- IDS_CANNOT_CREATE_FOLDER "Cannot create folder '{0}'"
-END
-
-STRINGTABLE DISCARDABLE
-BEGIN
- IDS_PROGRESS_EXTRACTING "Extracting"
-END
-
-#endif // English (U.S.) resources
-/////////////////////////////////////////////////////////////////////////////
-
-
-
-#ifndef APSTUDIO_INVOKED
-/////////////////////////////////////////////////////////////////////////////
-//
-// Generated from the TEXTINCLUDE 3 resource.
-//
-#include "..\..\FileManager\Resource\ProgressDialog\resource.rc"
-
-
-/////////////////////////////////////////////////////////////////////////////
-#endif // not APSTUDIO_INVOKED
-
+#include "../../FileManager/Resource/ProgressDialog/resource.rc"
diff --git a/7zip/Bundles/SFXWin/SFXWin.dsp b/7zip/Bundles/SFXWin/SFXWin.dsp
index 56164a35..a6bfbd40 100755
--- a/7zip/Bundles/SFXWin/SFXWin.dsp
+++ b/7zip/Bundles/SFXWin/SFXWin.dsp
@@ -19,6 +19,7 @@ CFG=SFXWin - Win32 Debug
!MESSAGE
!MESSAGE "SFXWin - Win32 Release" (based on "Win32 (x86) Application")
!MESSAGE "SFXWin - Win32 Debug" (based on "Win32 (x86) Application")
+!MESSAGE "SFXWin - Win32 ReleaseD" (based on "Win32 (x86) Application")
!MESSAGE
# Begin Project
@@ -82,12 +83,42 @@ LINK32=link.exe
# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:windows /debug /machine:I386 /pdbtype:sept
# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:windows /debug /machine:I386 /out:"C:\Util\7z.sfx" /pdbtype:sept
+!ELSEIF "$(CFG)" == "SFXWin - Win32 ReleaseD"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 0
+# PROP BASE Output_Dir "SFXWin___Win32_ReleaseD"
+# PROP BASE Intermediate_Dir "SFXWin___Win32_ReleaseD"
+# PROP BASE Ignore_Export_Lib 0
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 0
+# PROP Output_Dir "SFXWin___Win32_ReleaseD"
+# PROP Intermediate_Dir "SFXWin___Win32_ReleaseD"
+# PROP Ignore_Export_Lib 0
+# PROP Target_Dir ""
+# ADD BASE CPP /nologo /Gz /MT /W3 /GX /O1 /I "..\..\..\\" /D "NDEBUG" /D "WIN32" /D "_WINDOWS" /D "_MBCS" /D "EXTRACT_ONLY" /D "EXCLUDE_COM" /D "NO_REGISTRY" /D "FORMAT_7Z" /D "COMPRESS_LZMA" /D "COMPRESS_BCJ_X86" /D "COMPRESS_BCJ2" /D "COMPRESS_COPY" /D "COMPRESS_PPMD" /D "_SFX" /D "CRYPTO_7ZAES" /D "CRYPTO_AES" /Yu"StdAfx.h" /FD /c
+# ADD CPP /nologo /Gz /MD /W3 /GX /O1 /I "..\..\..\\" /D "NDEBUG" /D "WIN32" /D "_WINDOWS" /D "_MBCS" /D "EXTRACT_ONLY" /D "EXCLUDE_COM" /D "NO_REGISTRY" /D "FORMAT_7Z" /D "COMPRESS_LZMA" /D "COMPRESS_BCJ_X86" /D "COMPRESS_BCJ2" /D "COMPRESS_COPY" /D "COMPRESS_PPMD" /D "_SFX" /D "CRYPTO_7ZAES" /D "CRYPTO_AES" /Yu"StdAfx.h" /FD /c
+# ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /win32
+# ADD MTL /nologo /D "NDEBUG" /mktyplib203 /win32
+# ADD BASE RSC /l 0x419 /d "NDEBUG"
+# ADD RSC /l 0x419 /d "NDEBUG"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:windows /machine:I386 /out:"C:\Util\7z.sfx" /opt:NOWIN98
+# SUBTRACT BASE LINK32 /pdb:none
+# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:windows /machine:I386 /out:"C:\Util\7zD.sfx" /opt:NOWIN98
+# SUBTRACT LINK32 /pdb:none
+
!ENDIF
# Begin Target
# Name "SFXWin - Win32 Release"
# Name "SFXWin - Win32 Debug"
+# Name "SFXWin - Win32 ReleaseD"
# Begin Group "Spec"
# PROP Default_Filter ""
diff --git a/7zip/Bundles/SFXWin/makefile b/7zip/Bundles/SFXWin/makefile
new file mode 100755
index 00000000..00cefa85
--- /dev/null
+++ b/7zip/Bundles/SFXWin/makefile
@@ -0,0 +1,202 @@
+PROG = 7z.sfx
+LIBS = $(LIBS) user32.lib oleaut32.lib shell32.lib ole32.lib
+CFLAGS = $(CFLAGS) -I ../../../ \
+ -DEXCLUDE_COM \
+ -DNO_REGISTRY \
+ -DEXTRACT_ONLY \
+ -D_SFX \
+ -DFORMAT_7Z \
+ -DCOMPRESS_BCJ_X86 \
+ -DCOMPRESS_BCJ2 \
+ -DCOMPRESS_COPY \
+ -DCOMPRESS_LZMA \
+ -DCOMPRESS_PPMD \
+ -DCRYPTO_AES \
+ -DCRYPTO_7ZAES \
+
+
+SFX_WIN_OBJS = \
+ $O\Main.obj \
+
+GUI_OBJS = \
+ $O\ExtractDialog.obj \
+ $O\ExtractGUI.obj \
+ $O\OpenCallbackGUI.obj \
+
+COMMON_OBJS = \
+ $O\Alloc.obj \
+ $O\CommandLineParser.obj \
+ $O\CRC.obj \
+ $O\IntToString.obj \
+ $O\NewHandler.obj \
+ $O\String.obj \
+ $O\StringConvert.obj \
+ $O\Vector.obj \
+ $O\Wildcard.obj \
+
+WIN_OBJS = \
+ $O\DLL.obj \
+ $O\Error.obj \
+ $O\FileDir.obj \
+ $O\FileFind.obj \
+ $O\FileIO.obj \
+ $O\FileName.obj \
+ $O\PropVariant.obj \
+ $O\PropVariantConversions.obj \
+ $O\ResourceString.obj \
+ $O\Shell.obj \
+ $O\Synchronization.obj \
+ $O\Window.obj \
+
+WIN_CTRL_OBJS = \
+ $O\Dialog.obj \
+
+7ZIP_COMMON_OBJS = \
+ $O\FilePathAutoRename.obj \
+ $O\FileStreams.obj \
+ $O\InBuffer.obj \
+ $O\LimitedStreams.obj \
+ $O\LockedStream.obj \
+ $O\OutBuffer.obj \
+ $O\ProgressUtils.obj \
+ $O\StreamBinder.obj \
+ $O\StreamObjects.obj \
+
+UI_COMMON_OBJS = \
+ $O\ArchiveExtractCallback.obj \
+ $O\ArchiveOpenCallback.obj \
+ $O\ArchiverInfo.obj \
+ $O\DefaultName.obj \
+ $O\Extract.obj \
+ $O\ExtractingFilePath.obj \
+ $O\OpenArchive.obj \
+
+FM_OBJS = \
+ $O\ExtractCallback.obj \
+ $O\FormatUtils.obj \
+ $O\OpenCallback.obj \
+
+AR_COMMON_OBJS = \
+ $O\CoderMixer2.obj \
+ $O\CoderMixer2MT.obj \
+ $O\CrossThreadProgress.obj \
+ $O\FilterCoder.obj \
+ $O\ItemNameUtils.obj \
+ $O\OutStreamWithCRC.obj \
+
+7Z_OBJS = \
+ $O\7zDecode.obj \
+ $O\7zExtract.obj \
+ $O\7zFolderOutStream.obj \
+ $O\7zHandler.obj \
+ $O\7zHeader.obj \
+ $O\7zIn.obj \
+ $O\7zMethodID.obj \
+
+BRANCH_OPT_OBJS = \
+ $O\BranchCoder.obj \
+ $O\x86.obj \
+ $O\x86_2.obj \
+
+LZ_OBJS = \
+ $O\LZOutWindow.obj \
+
+LZMA_OPT_OBJS = \
+ $O\LZMADecoder.obj \
+
+PPMD_OPT_OBJS = \
+ $O\PPMDDecoder.obj \
+
+7ZAES_OPT_OBJS = \
+ $O\7zAES.obj \
+ $O\SHA256.obj \
+
+AES_OPT_OBJS = \
+ $O\MyAES.obj \
+
+AES_ORIG_OBJS = \
+ $O\aescrypt.obj \
+ $O\aeskey.obj \
+ $O\aestab.obj \
+
+OBJS = \
+ $O\StdAfx.obj \
+ $(SFX_WIN_OBJS) \
+ $(GUI_OBJS) \
+ $(COMMON_OBJS) \
+ $(WIN_OBJS) \
+ $(WIN_CTRL_OBJS) \
+ $(7ZIP_COMMON_OBJS) \
+ $(UI_COMMON_OBJS) \
+ $(FM_OBJS)\
+ $(AR_COMMON_OBJS) \
+ $(7Z_OBJS) \
+ $(BRANCH_OPT_OBJS) \
+ $(LZ_OBJS) \
+ $(LZMA_OPT_OBJS) \
+ $(PPMD_OPT_OBJS) \
+ $O\CopyCoder.obj \
+ $(7ZAES_OPT_OBJS) \
+ $(AES_OPT_OBJS) \
+ $(AES_ORIG_OBJS) \
+ $O\MyMessages.obj \
+ $O\MessagesDialog.obj \
+ $O\OverwriteDialog.obj \
+ $O\PasswordDialog.obj \
+ $O\ProgressDialog.obj \
+ $O\resource.res
+
+
+!include "../../../Build.mak"
+
+$(SFX_WIN_OBJS): $(*B).cpp
+ $(COMPL)
+
+$(GUI_OBJS): ../../UI/GUI/$(*B).cpp
+ $(COMPL)
+$(COMMON_OBJS): ../../../Common/$(*B).cpp
+ $(COMPL)
+$(WIN_OBJS): ../../../Windows/$(*B).cpp
+ $(COMPL)
+$(WIN_CTRL_OBJS): ../../../Windows/Control/$(*B).cpp
+ $(COMPL)
+$(7ZIP_COMMON_OBJS): ../../Common/$(*B).cpp
+ $(COMPL)
+$(UI_COMMON_OBJS): ../../UI/Common/$(*B).cpp
+ $(COMPL)
+$(FM_OBJS): ../../FileManager/$(*B).cpp
+ $(COMPL)
+$(AR_COMMON_OBJS): ../../Archive/Common/$(*B).cpp
+ $(COMPL)
+
+$(7Z_OBJS): ../../Archive/7z/$(*B).cpp
+ $(COMPL)
+$(BRANCH_OPT_OBJS): ../../Compress/Branch/$(*B).cpp
+ $(COMPL)
+$(LZ_OBJS): ../../Compress/LZ/$(*B).cpp
+ $(COMPL)
+$(LZMA_OPT_OBJS): ../../Compress/LZMA/$(*B).cpp
+ $(COMPL)
+$(PPMD_OPT_OBJS): ../../Compress/PPMD/$(*B).cpp
+ $(COMPL)
+
+$O\CopyCoder.obj: ../../Compress/Copy/$(*B).cpp
+ $(COMPL)
+
+$(7ZAES_OPT_OBJS): ../../Crypto/7zAES/$(*B).cpp
+ $(COMPL)
+$(AES_OPT_OBJS): ../../Crypto/AES/$(*B).cpp
+ $(COMPL)
+$(AES_ORIG_OBJS): ../../Crypto/AES/$(*B).c
+ $(COMPL_O1)
+
+$O\MyMessages.obj: ../../UI/Explorer/MyMessages.cpp
+ $(COMPL)
+$O\MessagesDialog.obj: ../../FileManager/Resource/MessagesDialog/$(*B).cpp
+ $(COMPL)
+$O\OverwriteDialog.obj: ../../FileManager/Resource/OverwriteDialog./$(*B).cpp
+ $(COMPL)
+$O\PasswordDialog.obj: ../../FileManager/Resource/PasswordDialog/$(*B).cpp
+ $(COMPL)
+$O\ProgressDialog.obj: ../../FileManager/Resource/ProgressDialog/$(*B).cpp
+ $(COMPL)
diff --git a/7zip/Bundles/SFXWin/resource.h b/7zip/Bundles/SFXWin/resource.h
index 07c0e65a..0a460213 100755
--- a/7zip/Bundles/SFXWin/resource.h
+++ b/7zip/Bundles/SFXWin/resource.h
@@ -1,8 +1,3 @@
-//{{NO_DEPENDENCIES}}
-// Microsoft Developer Studio generated include file.
-// Used by resource.rc
-//
-
#define IDD_DIALOG_EXTRACT 137
#define IDI_ICON3 159
@@ -10,14 +5,3 @@
#define IDC_STATIC_EXTRACT_EXTRACT_TO 1020
#define IDC_EXTRACT_COMBO_PATH 1021
#define IDC_EXTRACT_BUTTON_SET_PATH 1022
-
-// Next default values for new objects
-//
-#ifdef APSTUDIO_INVOKED
-#ifndef APSTUDIO_READONLY_SYMBOLS
-#define _APS_NEXT_RESOURCE_VALUE 160
-#define _APS_NEXT_COMMAND_VALUE 32771
-#define _APS_NEXT_CONTROL_VALUE 1093
-#define _APS_NEXT_SYMED_VALUE 101
-#endif
-#endif
diff --git a/7zip/Bundles/SFXWin/resource.rc b/7zip/Bundles/SFXWin/resource.rc
index c87aea9b..60304803 100755
--- a/7zip/Bundles/SFXWin/resource.rc
+++ b/7zip/Bundles/SFXWin/resource.rc
@@ -1,159 +1,34 @@
-//Microsoft Developer Studio generated resource script.
-//
+#include "../../MyVersionInfo.rc"
+#include "../../GuiCommon.rc"
#include "resource.h"
-#define APSTUDIO_READONLY_SYMBOLS
-/////////////////////////////////////////////////////////////////////////////
-//
-// Generated from the TEXTINCLUDE 2 resource.
-//
-#include "afxres.h"
+MY_VERSION_INFO_APP("7z SFX", "7z.sfx")
-/////////////////////////////////////////////////////////////////////////////
-#undef APSTUDIO_READONLY_SYMBOLS
+#define xSize2 214
+#define ySize2 64
-/////////////////////////////////////////////////////////////////////////////
-// Russian resources
+#define xSize (xSize2 + marg + marg)
+#define ySize (ySize2 + marg + marg)
-#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_RUS)
-#ifdef _WIN32
-LANGUAGE LANG_RUSSIAN, SUBLANG_DEFAULT
-#pragma code_page(1251)
-#endif //_WIN32
+#define bYPos (ySize - marg - bYSize)
+#define bXPos1 (xSize - marg - bXSize)
+#define bXPos2 (bXPos1 - 10 - bXSize)
-#ifdef APSTUDIO_INVOKED
-/////////////////////////////////////////////////////////////////////////////
-//
-// TEXTINCLUDE
-//
+IDI_ICON3 ICON "7z.ico"
-1 TEXTINCLUDE DISCARDABLE
-BEGIN
- "resource.h\0"
-END
-
-2 TEXTINCLUDE DISCARDABLE
-BEGIN
- "#include ""afxres.h""\r\n"
- "\0"
-END
-
-3 TEXTINCLUDE DISCARDABLE
-BEGIN
- "#include ""..\\..\\FileManager\\Resource\\OverwriteDialog\\resource.rc""\r\n"
- "#include ""..\\..\\FileManager\\Resource\\PasswordDialog\\resource.rc""\r\n"
- "#include ""..\\..\\FileManager\\Resource\\MessagesDialog\\resource.rc""\r\n"
- "#include ""..\\..\\FileManager\\Resource\\ProgressDialog\\resource.rc""\r\n"
- "#include ""..\\..\\UI\\Resource\\Extract\\resource.rc""\r\n"
- "\r\n"
- "\0"
-END
-
-#endif // APSTUDIO_INVOKED
-
-#endif // Russian resources
-/////////////////////////////////////////////////////////////////////////////
-
-
-/////////////////////////////////////////////////////////////////////////////
-// English (U.S.) resources
-
-#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_ENU)
-#ifdef _WIN32
-LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US
-#pragma code_page(1252)
-#endif //_WIN32
-
-/////////////////////////////////////////////////////////////////////////////
-//
-// Icon
-//
-
-// Icon with lowest ID value placed first to ensure application icon
-// remains consistent on all systems.
-IDI_ICON3 ICON DISCARDABLE "7z.ico"
-
-#ifndef _MAC
-/////////////////////////////////////////////////////////////////////////////
-//
-// Version
-//
-
-VS_VERSION_INFO VERSIONINFO
- FILEVERSION 4,24,0,0
- PRODUCTVERSION 4,24,0,0
- FILEFLAGSMASK 0x3fL
-#ifdef _DEBUG
- FILEFLAGS 0x1L
-#else
- FILEFLAGS 0x0L
-#endif
- FILEOS 0x40004L
- FILETYPE 0x1L
- FILESUBTYPE 0x0L
-BEGIN
- BLOCK "StringFileInfo"
- BEGIN
- BLOCK "040904b0"
- BEGIN
- VALUE "Comments", "\0"
- VALUE "CompanyName", "Igor Pavlov\0"
- VALUE "FileDescription", "7z SFX\0"
- VALUE "FileVersion", "4, 24, 0, 0\0"
- VALUE "InternalName", "7zWin.sfx\0"
- VALUE "LegalCopyright", "Copyright (C) 1999-2005 Igor Pavlov\0"
- VALUE "LegalTrademarks", "\0"
- VALUE "OriginalFilename", "7zWin.sfx\0"
- VALUE "PrivateBuild", "\0"
- VALUE "ProductName", "7-Zip\0"
- VALUE "ProductVersion", "4, 24, 0, 0\0"
- VALUE "SpecialBuild", "\0"
- END
- END
- BLOCK "VarFileInfo"
- BEGIN
- VALUE "Translation", 0x409, 1200
- END
-END
-
-#endif // !_MAC
-
-
-/////////////////////////////////////////////////////////////////////////////
-//
-// Dialog
-//
-
-IDD_DIALOG_EXTRACT DIALOG DISCARDABLE 0, 0, 228, 78
-STYLE DS_MODALFRAME | DS_FIXEDSYS | DS_CENTER | WS_POPUP | WS_CAPTION |
- WS_SYSMENU
+IDD_DIALOG_EXTRACT DIALOG 0, 0, xSize, ySize MY_MODAL_DIALOG_STYLE
CAPTION "7-Zip self-extracting archive"
-FONT 8, "MS Shell Dlg"
+MY_FONT
BEGIN
- LTEXT "E&xtract to:",IDC_STATIC_EXTRACT_EXTRACT_TO,7,7,33,8
- EDITTEXT IDC_EXTRACT_COMBO_PATH,7,21,184,14,ES_AUTOHSCROLL
- PUSHBUTTON "...",IDC_EXTRACT_BUTTON_SET_PATH,203,20,18,14,WS_GROUP
- DEFPUSHBUTTON "Extract",IDOK,111,57,50,14,WS_GROUP
- PUSHBUTTON "Cancel",IDCANCEL,171,57,50,14
+ LTEXT "E&xtract to:", IDC_STATIC_EXTRACT_EXTRACT_TO, marg, marg, xSize2, 8
+ EDITTEXT IDC_EXTRACT_COMBO_PATH, marg, 21, xSize2 - bDotsSize - 13, 14, ES_AUTOHSCROLL
+ PUSHBUTTON "...", IDC_EXTRACT_BUTTON_SET_PATH, xSize - marg - bDotsSize, 20, bDotsSize, bYSize, WS_GROUP
+ DEFPUSHBUTTON "Extract", IDOK, , bXPos2, bYPos, bXSize, bYSize, WS_GROUP
+ PUSHBUTTON "Cancel", IDCANCEL, bXPos1, bYPos, bXSize, bYSize
END
-#endif // English (U.S.) resources
-/////////////////////////////////////////////////////////////////////////////
-
-
-
-#ifndef APSTUDIO_INVOKED
-/////////////////////////////////////////////////////////////////////////////
-//
-// Generated from the TEXTINCLUDE 3 resource.
-//
-#include "..\..\FileManager\Resource\OverwriteDialog\resource.rc"
-#include "..\..\FileManager\Resource\PasswordDialog\resource.rc"
-#include "..\..\FileManager\Resource\MessagesDialog\resource.rc"
-#include "..\..\FileManager\Resource\ProgressDialog\resource.rc"
-#include "..\..\UI\Resource\Extract\resource.rc"
-
-
-/////////////////////////////////////////////////////////////////////////////
-#endif // not APSTUDIO_INVOKED
-
+#include "../../FileManager/Resource/MessagesDialog/resource.rc"
+#include "../../FileManager/Resource/OverwriteDialog/resource.rc"
+#include "../../FileManager/Resource/PasswordDialog/resource.rc"
+#include "../../FileManager/Resource/ProgressDialog/resource.rc"
+#include "../../UI/Resource/Extract/resource.rc"
diff --git a/7zip/Bundles/makefile b/7zip/Bundles/makefile
new file mode 100755
index 00000000..9e7b3e0a
--- /dev/null
+++ b/7zip/Bundles/makefile
@@ -0,0 +1,12 @@
+DIRS = \
+ Alone\~ \
+ Format7z\~ \
+ Format7zExtract\~ \
+ SFXCon\~ \
+ SFXSetup\~ \
+ SFXWin\~ \
+
+all: $(DIRS)
+
+$(DIRS):
+!include "../SubBuild.mak"
diff --git a/7zip/Common/FileStreams.cpp b/7zip/Common/FileStreams.cpp
index 94a8c8ae..5cdd4d6e 100755
--- a/7zip/Common/FileStreams.cpp
+++ b/7zip/Common/FileStreams.cpp
@@ -5,6 +5,7 @@
#ifndef _WIN32
#include <fcntl.h>
#include <unistd.h>
+#include <errno.h>
#endif
#include "FileStreams.h"
diff --git a/7zip/Common/OutBuffer.h b/7zip/Common/OutBuffer.h
index 436e1323..b161ad65 100755
--- a/7zip/Common/OutBuffer.h
+++ b/7zip/Common/OutBuffer.h
@@ -59,9 +59,9 @@ public:
if(_pos >= _bufferSize)
WriteBlock();
}
- void WriteBytes(const void *data, UInt32 size)
+ void WriteBytes(const void *data, size_t size)
{
- for (UInt32 i = 0; i < size; i++)
+ for (size_t i = 0; i < size; i++)
WriteByte(((const Byte *)data)[i]);
}
diff --git a/7zip/Common/StdAfx.h b/7zip/Common/StdAfx.h
index 2736abc0..27a77b10 100755
--- a/7zip/Common/StdAfx.h
+++ b/7zip/Common/StdAfx.h
@@ -4,5 +4,6 @@
#define __STDAFX_H
#include "../../Common/MyWindows.h"
+#include "../../Common/NewHandler.h"
#endif
diff --git a/7zip/Common/StreamObjects.cpp b/7zip/Common/StreamObjects.cpp
index bff00d8d..8632cff4 100755
--- a/7zip/Common/StreamObjects.cpp
+++ b/7zip/Common/StreamObjects.cpp
@@ -88,7 +88,7 @@ STDMETHODIMP CSequentialOutStreamImp2::Write(const void *data, UInt32 size, UInt
{
UInt32 newSize = size;
if (_pos + size > _size)
- newSize = _size - _pos;
+ newSize = (UInt32)(_size - _pos);
memmove(_buffer + _pos, data, newSize);
if(processedSize != NULL)
*processedSize = newSize;
@@ -148,9 +148,9 @@ STDMETHODIMP CSequentialInStreamRollback::ReadPart(void *data, UInt32 size, UInt
{
if (_currentPos != _currentSize)
{
- UInt32 curSize = _currentSize - _currentPos;
+ size_t curSize = _currentSize - _currentPos;
if (size > curSize)
- size = curSize;
+ size = (UInt32)curSize;
memmove(data, _buffer + _currentPos, size);
_currentPos += size;
if (processedSize != 0)
@@ -159,7 +159,7 @@ STDMETHODIMP CSequentialInStreamRollback::ReadPart(void *data, UInt32 size, UInt
}
UInt32 realProcessedSize;
if (size > _bufferSize)
- size = _bufferSize;
+ size = (UInt32)_bufferSize;
HRESULT result = _stream->ReadPart(_buffer, size, &realProcessedSize);
memmove(data, _buffer, realProcessedSize);
_size += realProcessedSize;
diff --git a/7zip/Compress/BZip2/BZip2.def b/7zip/Compress/BZip2/BZip2.def
deleted file mode 100755
index c7169268..00000000
--- a/7zip/Compress/BZip2/BZip2.def
+++ /dev/null
@@ -1,9 +0,0 @@
-; BZip2.def
-
-LIBRARY BZip2.dll
-
-EXPORTS
- CreateObject PRIVATE
- GetNumberOfMethods PRIVATE
- GetMethodProperty PRIVATE
-
diff --git a/7zip/Compress/BZip2/BZip2.dsp b/7zip/Compress/BZip2/BZip2.dsp
index ba22a54b..7cea72cf 100755
--- a/7zip/Compress/BZip2/BZip2.dsp
+++ b/7zip/Compress/BZip2/BZip2.dsp
@@ -93,7 +93,7 @@ LINK32=link.exe
# PROP Default_Filter ""
# Begin Source File
-SOURCE=.\BZip2.def
+SOURCE=..\Codec.def
# End Source File
# Begin Source File
@@ -101,10 +101,6 @@ SOURCE=.\DllExports.cpp
# End Source File
# Begin Source File
-SOURCE=.\resource.h
-# End Source File
-# Begin Source File
-
SOURCE=.\resource.rc
# End Source File
# Begin Source File
diff --git a/7zip/Compress/BZip2/makefile b/7zip/Compress/BZip2/makefile
new file mode 100755
index 00000000..fdd5a164
--- /dev/null
+++ b/7zip/Compress/BZip2/makefile
@@ -0,0 +1,44 @@
+PROG = BZip2.dll
+DEF_FILE = ../Codec.def
+CFLAGS = $(CFLAGS) -I ../../../
+LIBS = $(LIBS) oleaut32.lib
+
+BZIP2_OBJS = \
+ $O\DllExports.obj \
+ $O\BZip2CRC.obj \
+
+BZIP2_OPT_OBJS = \
+ $O\BZip2Decoder.obj \
+ $O\BZip2Encoder.obj \
+
+COMMON_OBJS = \
+ $O\Alloc.obj \
+
+7ZIP_COMMON_OBJS = \
+ $O\InBuffer.obj \
+ $O\OutBuffer.obj \
+
+OBJS = \
+ $O\StdAfx.obj \
+ $(BZIP2_OBJS) \
+ $(BZIP2_OPT_OBJS) \
+ $(COMMON_OBJS) \
+ $(7ZIP_COMMON_OBJS) \
+ $O\BlockSort.obj \
+ $O\HuffmanEncoder.obj \
+ $O\resource.res
+
+!include "../../../Build.mak"
+
+$(BZIP2_OBJS): $(*B).cpp
+ $(COMPL)
+$(BZIP2_OPT_OBJS): $(*B).cpp
+ $(COMPL_O2)
+$(COMMON_OBJS): ../../../Common/$(*B).cpp
+ $(COMPL)
+$(7ZIP_COMMON_OBJS): ../../Common/$(*B).cpp
+ $(COMPL)
+$O\BlockSort.obj: ../BWT/$(*B).cpp
+ $(COMPL_O2)
+$O\HuffmanEncoder.obj: ../Huffman/$(*B).cpp
+ $(COMPL_O2)
diff --git a/7zip/Compress/BZip2/resource.h b/7zip/Compress/BZip2/resource.h
deleted file mode 100755
index 612062a2..00000000
--- a/7zip/Compress/BZip2/resource.h
+++ /dev/null
@@ -1,15 +0,0 @@
-//{{NO_DEPENDENCIES}}
-// Microsoft Developer Studio generated include file.
-// Used by resource.rc
-//
-
-// Next default values for new objects
-//
-#ifdef APSTUDIO_INVOKED
-#ifndef APSTUDIO_READONLY_SYMBOLS
-#define _APS_NEXT_RESOURCE_VALUE 101
-#define _APS_NEXT_COMMAND_VALUE 40001
-#define _APS_NEXT_CONTROL_VALUE 1000
-#define _APS_NEXT_SYMED_VALUE 101
-#endif
-#endif
diff --git a/7zip/Compress/BZip2/resource.rc b/7zip/Compress/BZip2/resource.rc
index 073e4744..c5bea782 100755
--- a/7zip/Compress/BZip2/resource.rc
+++ b/7zip/Compress/BZip2/resource.rc
@@ -1,121 +1,3 @@
-//Microsoft Developer Studio generated resource script.
-//
-#include "resource.h"
-
-#define APSTUDIO_READONLY_SYMBOLS
-/////////////////////////////////////////////////////////////////////////////
-//
-// Generated from the TEXTINCLUDE 2 resource.
-//
-#include "afxres.h"
-
-/////////////////////////////////////////////////////////////////////////////
-#undef APSTUDIO_READONLY_SYMBOLS
-
-/////////////////////////////////////////////////////////////////////////////
-// Russian resources
-
-#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_RUS)
-#ifdef _WIN32
-LANGUAGE LANG_RUSSIAN, SUBLANG_DEFAULT
-#pragma code_page(1251)
-#endif //_WIN32
-
-#ifdef APSTUDIO_INVOKED
-/////////////////////////////////////////////////////////////////////////////
-//
-// TEXTINCLUDE
-//
-
-1 TEXTINCLUDE DISCARDABLE
-BEGIN
- "resource.h\0"
-END
-
-2 TEXTINCLUDE DISCARDABLE
-BEGIN
- "#include ""afxres.h""\r\n"
- "\0"
-END
-
-3 TEXTINCLUDE DISCARDABLE
-BEGIN
- "\r\n"
- "\0"
-END
-
-#endif // APSTUDIO_INVOKED
-
-#endif // Russian resources
-/////////////////////////////////////////////////////////////////////////////
-
-
-/////////////////////////////////////////////////////////////////////////////
-// English (U.S.) resources
-
-#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_ENU)
-#ifdef _WIN32
-LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US
-#pragma code_page(1252)
-#endif //_WIN32
-
-#ifndef _MAC
-/////////////////////////////////////////////////////////////////////////////
-//
-// Version
-//
-
-VS_VERSION_INFO VERSIONINFO
- FILEVERSION 4,19,0,0
- PRODUCTVERSION 4,19,0,0
- FILEFLAGSMASK 0x3fL
-#ifdef _DEBUG
- FILEFLAGS 0x1L
-#else
- FILEFLAGS 0x0L
-#endif
- FILEOS 0x40004L
- FILETYPE 0x2L
- FILESUBTYPE 0x0L
-BEGIN
- BLOCK "StringFileInfo"
- BEGIN
- BLOCK "040904b0"
- BEGIN
- VALUE "Comments", "\0"
- VALUE "CompanyName", " \0"
- VALUE "FileDescription", "BZip2 Coder\0"
- VALUE "FileVersion", "4, 19, 0, 0\0"
- VALUE "InternalName", "BZip2\0"
- VALUE "LegalCopyright", "Copyright (C) 1999-2005 Igor Pavlov\0"
- VALUE "LegalTrademarks", "\0"
- VALUE "OriginalFilename", "BZip2.dll\0"
- VALUE "PrivateBuild", "\0"
- VALUE "ProductName", "7-Zip\0"
- VALUE "ProductVersion", "4, 19, 0, 0\0"
- VALUE "SpecialBuild", "\0"
- END
- END
- BLOCK "VarFileInfo"
- BEGIN
- VALUE "Translation", 0x409, 1200
- END
-END
-
-#endif // !_MAC
-
-#endif // English (U.S.) resources
-/////////////////////////////////////////////////////////////////////////////
-
-
-
-#ifndef APSTUDIO_INVOKED
-/////////////////////////////////////////////////////////////////////////////
-//
-// Generated from the TEXTINCLUDE 3 resource.
-//
-
-
-/////////////////////////////////////////////////////////////////////////////
-#endif // not APSTUDIO_INVOKED
+#include "../../MyVersionInfo.rc"
+MY_VERSION_INFO_DLL("BZip2 Codec", "BZip2")
diff --git a/7zip/Compress/BZip2Original/BZip2.def b/7zip/Compress/BZip2Original/BZip2.def
deleted file mode 100755
index c7169268..00000000
--- a/7zip/Compress/BZip2Original/BZip2.def
+++ /dev/null
@@ -1,9 +0,0 @@
-; BZip2.def
-
-LIBRARY BZip2.dll
-
-EXPORTS
- CreateObject PRIVATE
- GetNumberOfMethods PRIVATE
- GetMethodProperty PRIVATE
-
diff --git a/7zip/Compress/BZip2Original/BZip2.dsp b/7zip/Compress/BZip2Original/BZip2.dsp
deleted file mode 100755
index 9c0e2820..00000000
--- a/7zip/Compress/BZip2Original/BZip2.dsp
+++ /dev/null
@@ -1,305 +0,0 @@
-# Microsoft Developer Studio Project File - Name="BZip2" - Package Owner=<4>
-# Microsoft Developer Studio Generated Build File, Format Version 6.00
-# ** DO NOT EDIT **
-
-# TARGTYPE "Win32 (x86) Dynamic-Link Library" 0x0102
-
-CFG=BZip2 - Win32 Debug
-!MESSAGE This is not a valid makefile. To build this project using NMAKE,
-!MESSAGE use the Export Makefile command and run
-!MESSAGE
-!MESSAGE NMAKE /f "BZip2.mak".
-!MESSAGE
-!MESSAGE You can specify a configuration when running NMAKE
-!MESSAGE by defining the macro CFG on the command line. For example:
-!MESSAGE
-!MESSAGE NMAKE /f "BZip2.mak" CFG="BZip2 - Win32 Debug"
-!MESSAGE
-!MESSAGE Possible choices for configuration are:
-!MESSAGE
-!MESSAGE "BZip2 - Win32 Release" (based on "Win32 (x86) Dynamic-Link Library")
-!MESSAGE "BZip2 - Win32 Debug" (based on "Win32 (x86) Dynamic-Link Library")
-!MESSAGE
-
-# Begin Project
-# PROP AllowPerConfigDependencies 0
-# PROP Scc_ProjName ""
-# PROP Scc_LocalPath ""
-CPP=cl.exe
-MTL=midl.exe
-RSC=rc.exe
-
-!IF "$(CFG)" == "BZip2 - Win32 Release"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 0
-# PROP BASE Output_Dir "Release"
-# PROP BASE Intermediate_Dir "Release"
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 0
-# PROP Output_Dir "Release"
-# PROP Intermediate_Dir "Release"
-# PROP Ignore_Export_Lib 1
-# PROP Target_Dir ""
-# ADD BASE CPP /nologo /MT /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "BZIP2_EXPORTS" /YX /FD /c
-# ADD CPP /nologo /Gz /MD /W3 /GX /O1 /I "..\..\..\\" /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "BZIP2_EXPORTS" /D "BZ_NO_STDIO" /Yu"StdAfx.h" /FD /c
-# ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /win32
-# ADD MTL /nologo /D "NDEBUG" /mktyplib203 /win32
-# ADD BASE RSC /l 0x419 /d "NDEBUG"
-# ADD RSC /l 0x419 /d "NDEBUG"
-BSC32=bscmake.exe
-# ADD BASE BSC32 /nologo
-# ADD BSC32 /nologo
-LINK32=link.exe
-# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /dll /machine:I386
-# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /dll /machine:I386 /out:"C:\Program Files\7-Zip\Codecs\BZip2.dll" /opt:NOWIN98
-# SUBTRACT LINK32 /pdb:none
-
-!ELSEIF "$(CFG)" == "BZip2 - Win32 Debug"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 1
-# PROP BASE Output_Dir "Debug"
-# PROP BASE Intermediate_Dir "Debug"
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 1
-# PROP Output_Dir "Debug"
-# PROP Intermediate_Dir "Debug"
-# PROP Ignore_Export_Lib 1
-# PROP Target_Dir ""
-# ADD BASE CPP /nologo /MTd /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "BZIP2_EXPORTS" /YX /FD /GZ /c
-# ADD CPP /nologo /Gz /MDd /W3 /Gm /GX /ZI /Od /I "..\..\..\\" /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "BZIP2_EXPORTS" /Yu"StdAfx.h" /FD /GZ /c
-# ADD BASE MTL /nologo /D "_DEBUG" /mktyplib203 /win32
-# ADD MTL /nologo /D "_DEBUG" /mktyplib203 /win32
-# ADD BASE RSC /l 0x419 /d "_DEBUG"
-# ADD RSC /l 0x419 /d "_DEBUG"
-BSC32=bscmake.exe
-# ADD BASE BSC32 /nologo
-# ADD BSC32 /nologo
-LINK32=link.exe
-# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /dll /debug /machine:I386 /pdbtype:sept
-# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /dll /debug /machine:I386 /out:"C:\Program Files\7-Zip\Codecs\BZip2.dll" /pdbtype:sept
-
-!ENDIF
-
-# Begin Target
-
-# Name "BZip2 - Win32 Release"
-# Name "BZip2 - Win32 Debug"
-# Begin Group "Spec"
-
-# PROP Default_Filter ""
-# Begin Source File
-
-SOURCE=.\BZip2.def
-# End Source File
-# Begin Source File
-
-SOURCE=.\DllExports.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=.\resource.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\resource.rc
-# End Source File
-# Begin Source File
-
-SOURCE=.\StdAfx.cpp
-# ADD CPP /Yc"StdAfx.h"
-# End Source File
-# Begin Source File
-
-SOURCE=.\StdAfx.h
-# End Source File
-# End Group
-# Begin Group "Origianl"
-
-# PROP Default_Filter ""
-# Begin Source File
-
-SOURCE=.\Original\blocksort.c
-
-!IF "$(CFG)" == "BZip2 - Win32 Release"
-
-# ADD CPP /O2
-# SUBTRACT CPP /YX /Yc /Yu
-
-!ELSEIF "$(CFG)" == "BZip2 - Win32 Debug"
-
-# SUBTRACT CPP /YX /Yc /Yu
-
-!ENDIF
-
-# End Source File
-# Begin Source File
-
-SOURCE=.\Original\bzlib.c
-
-!IF "$(CFG)" == "BZip2 - Win32 Release"
-
-# ADD CPP /O2
-# SUBTRACT CPP /YX /Yc /Yu
-
-!ELSEIF "$(CFG)" == "BZip2 - Win32 Debug"
-
-# SUBTRACT CPP /YX /Yc /Yu
-
-!ENDIF
-
-# End Source File
-# Begin Source File
-
-SOURCE=.\Original\bzlib.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\Original\bzlib_private.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\Original\compress.c
-
-!IF "$(CFG)" == "BZip2 - Win32 Release"
-
-# ADD CPP /O2
-# SUBTRACT CPP /YX /Yc /Yu
-
-!ELSEIF "$(CFG)" == "BZip2 - Win32 Debug"
-
-# SUBTRACT CPP /YX /Yc /Yu
-
-!ENDIF
-
-# End Source File
-# Begin Source File
-
-SOURCE=.\Original\crctable.c
-
-!IF "$(CFG)" == "BZip2 - Win32 Release"
-
-# ADD CPP /O2
-# SUBTRACT CPP /YX /Yc /Yu
-
-!ELSEIF "$(CFG)" == "BZip2 - Win32 Debug"
-
-# SUBTRACT CPP /YX /Yc /Yu
-
-!ENDIF
-
-# End Source File
-# Begin Source File
-
-SOURCE=.\Original\decompress.c
-
-!IF "$(CFG)" == "BZip2 - Win32 Release"
-
-# ADD CPP /O2
-# SUBTRACT CPP /YX /Yc /Yu
-
-!ELSEIF "$(CFG)" == "BZip2 - Win32 Debug"
-
-# SUBTRACT CPP /YX /Yc /Yu
-
-!ENDIF
-
-# End Source File
-# Begin Source File
-
-SOURCE=.\Original\huffman.c
-
-!IF "$(CFG)" == "BZip2 - Win32 Release"
-
-# ADD CPP /O2
-# SUBTRACT CPP /YX /Yc /Yu
-
-!ELSEIF "$(CFG)" == "BZip2 - Win32 Debug"
-
-# SUBTRACT CPP /YX /Yc /Yu
-
-!ENDIF
-
-# End Source File
-# Begin Source File
-
-SOURCE=.\Original\randtable.c
-
-!IF "$(CFG)" == "BZip2 - Win32 Release"
-
-# ADD CPP /O2
-# SUBTRACT CPP /YX /Yc /Yu
-
-!ELSEIF "$(CFG)" == "BZip2 - Win32 Debug"
-
-# SUBTRACT CPP /YX /Yc /Yu
-
-!ENDIF
-
-# End Source File
-# End Group
-# Begin Group "Common"
-
-# PROP Default_Filter ""
-# Begin Source File
-
-SOURCE=..\..\..\Common\Alloc.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\Common\Alloc.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\Common\NewHandler.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\Common\NewHandler.h
-# End Source File
-# End Group
-# Begin Source File
-
-SOURCE=.\BZip2Decoder.cpp
-
-!IF "$(CFG)" == "BZip2 - Win32 Release"
-
-# ADD CPP /O2
-# SUBTRACT CPP /YX /Yc /Yu
-
-!ELSEIF "$(CFG)" == "BZip2 - Win32 Debug"
-
-!ENDIF
-
-# End Source File
-# Begin Source File
-
-SOURCE=.\BZip2Decoder.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\BZip2Encoder.cpp
-
-!IF "$(CFG)" == "BZip2 - Win32 Release"
-
-# ADD CPP /O2
-# SUBTRACT CPP /YX /Yc /Yu
-
-!ELSEIF "$(CFG)" == "BZip2 - Win32 Debug"
-
-!ENDIF
-
-# End Source File
-# Begin Source File
-
-SOURCE=.\BZip2Encoder.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\BZip2Error.cpp
-# End Source File
-# End Target
-# End Project
diff --git a/7zip/Compress/BZip2Original/BZip2.dsw b/7zip/Compress/BZip2Original/BZip2.dsw
deleted file mode 100755
index 697e5095..00000000
--- a/7zip/Compress/BZip2Original/BZip2.dsw
+++ /dev/null
@@ -1,29 +0,0 @@
-Microsoft Developer Studio Workspace File, Format Version 6.00
-# WARNING: DO NOT EDIT OR DELETE THIS WORKSPACE FILE!
-
-###############################################################################
-
-Project: "BZip2"=.\BZip2.dsp - Package Owner=<4>
-
-Package=<5>
-{{{
-}}}
-
-Package=<4>
-{{{
-}}}
-
-###############################################################################
-
-Global:
-
-Package=<5>
-{{{
-}}}
-
-Package=<3>
-{{{
-}}}
-
-###############################################################################
-
diff --git a/7zip/Compress/BZip2Original/resource.h b/7zip/Compress/BZip2Original/resource.h
deleted file mode 100755
index 612062a2..00000000
--- a/7zip/Compress/BZip2Original/resource.h
+++ /dev/null
@@ -1,15 +0,0 @@
-//{{NO_DEPENDENCIES}}
-// Microsoft Developer Studio generated include file.
-// Used by resource.rc
-//
-
-// Next default values for new objects
-//
-#ifdef APSTUDIO_INVOKED
-#ifndef APSTUDIO_READONLY_SYMBOLS
-#define _APS_NEXT_RESOURCE_VALUE 101
-#define _APS_NEXT_COMMAND_VALUE 40001
-#define _APS_NEXT_CONTROL_VALUE 1000
-#define _APS_NEXT_SYMED_VALUE 101
-#endif
-#endif
diff --git a/7zip/Compress/BZip2Original/resource.rc b/7zip/Compress/BZip2Original/resource.rc
deleted file mode 100755
index 530090e4..00000000
--- a/7zip/Compress/BZip2Original/resource.rc
+++ /dev/null
@@ -1,121 +0,0 @@
-//Microsoft Developer Studio generated resource script.
-//
-#include "resource.h"
-
-#define APSTUDIO_READONLY_SYMBOLS
-/////////////////////////////////////////////////////////////////////////////
-//
-// Generated from the TEXTINCLUDE 2 resource.
-//
-#include "afxres.h"
-
-/////////////////////////////////////////////////////////////////////////////
-#undef APSTUDIO_READONLY_SYMBOLS
-
-/////////////////////////////////////////////////////////////////////////////
-// Russian resources
-
-#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_RUS)
-#ifdef _WIN32
-LANGUAGE LANG_RUSSIAN, SUBLANG_DEFAULT
-#pragma code_page(1251)
-#endif //_WIN32
-
-#ifdef APSTUDIO_INVOKED
-/////////////////////////////////////////////////////////////////////////////
-//
-// TEXTINCLUDE
-//
-
-1 TEXTINCLUDE DISCARDABLE
-BEGIN
- "resource.h\0"
-END
-
-2 TEXTINCLUDE DISCARDABLE
-BEGIN
- "#include ""afxres.h""\r\n"
- "\0"
-END
-
-3 TEXTINCLUDE DISCARDABLE
-BEGIN
- "\r\n"
- "\0"
-END
-
-#endif // APSTUDIO_INVOKED
-
-#endif // Russian resources
-/////////////////////////////////////////////////////////////////////////////
-
-
-/////////////////////////////////////////////////////////////////////////////
-// English (U.S.) resources
-
-#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_ENU)
-#ifdef _WIN32
-LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US
-#pragma code_page(1252)
-#endif //_WIN32
-
-#ifndef _MAC
-/////////////////////////////////////////////////////////////////////////////
-//
-// Version
-//
-
-VS_VERSION_INFO VERSIONINFO
- FILEVERSION 4,16,0,0
- PRODUCTVERSION 4,16,0,0
- FILEFLAGSMASK 0x3fL
-#ifdef _DEBUG
- FILEFLAGS 0x1L
-#else
- FILEFLAGS 0x0L
-#endif
- FILEOS 0x40004L
- FILETYPE 0x2L
- FILESUBTYPE 0x0L
-BEGIN
- BLOCK "StringFileInfo"
- BEGIN
- BLOCK "040904b0"
- BEGIN
- VALUE "Comments", "\0"
- VALUE "CompanyName", " \0"
- VALUE "FileDescription", "BZip2 Coder\0"
- VALUE "FileVersion", "4, 16, 0, 0\0"
- VALUE "InternalName", "BZip2\0"
- VALUE "LegalCopyright", "Copyright (C) 1999-2005 Igor Pavlov\0"
- VALUE "LegalTrademarks", "\0"
- VALUE "OriginalFilename", "BZip2.dll\0"
- VALUE "PrivateBuild", "\0"
- VALUE "ProductName", "7-Zip\0"
- VALUE "ProductVersion", "4, 16, 0, 0\0"
- VALUE "SpecialBuild", "\0"
- END
- END
- BLOCK "VarFileInfo"
- BEGIN
- VALUE "Translation", 0x409, 1200
- END
-END
-
-#endif // !_MAC
-
-#endif // English (U.S.) resources
-/////////////////////////////////////////////////////////////////////////////
-
-
-
-#ifndef APSTUDIO_INVOKED
-/////////////////////////////////////////////////////////////////////////////
-//
-// Generated from the TEXTINCLUDE 3 resource.
-//
-
-
-/////////////////////////////////////////////////////////////////////////////
-#endif // not APSTUDIO_INVOKED
-
diff --git a/7zip/Compress/Branch/Branch.def b/7zip/Compress/Branch/Branch.def
deleted file mode 100755
index abc26775..00000000
--- a/7zip/Compress/Branch/Branch.def
+++ /dev/null
@@ -1,9 +0,0 @@
-; Branch.def
-
-LIBRARY Branch.dll
-
-EXPORTS
- CreateObject PRIVATE
- GetNumberOfMethods PRIVATE
- GetMethodProperty PRIVATE
-
diff --git a/7zip/Compress/Branch/Branch.dsp b/7zip/Compress/Branch/Branch.dsp
index 0f5d80e7..a2d830aa 100755
--- a/7zip/Compress/Branch/Branch.dsp
+++ b/7zip/Compress/Branch/Branch.dsp
@@ -94,7 +94,7 @@ LINK32=link.exe
# PROP Default_Filter ""
# Begin Source File
-SOURCE=.\Branch.def
+SOURCE=..\Codec.def
# End Source File
# Begin Source File
@@ -102,10 +102,6 @@ SOURCE=.\DllExports.cpp
# End Source File
# Begin Source File
-SOURCE=.\resource.h
-# End Source File
-# Begin Source File
-
SOURCE=.\resource.rc
# End Source File
# Begin Source File
diff --git a/7zip/Compress/Branch/makefile b/7zip/Compress/Branch/makefile
new file mode 100755
index 00000000..6857d39f
--- /dev/null
+++ b/7zip/Compress/Branch/makefile
@@ -0,0 +1,48 @@
+PROG = Branch.dll
+DEF_FILE = ../Codec.def
+CFLAGS = $(CFLAGS) -I ../../../
+LIBS = $(LIBS) oleaut32.lib
+
+BRANCH_OBJS = \
+ $O\DllExports.obj \
+
+BRANCH_OPT_OBJS = \
+ $O\ARM.obj \
+ $O\ARMThumb.obj \
+ $O\BranchCoder.obj \
+ $O\IA64.obj \
+ $O\PPC.obj \
+ $O\SPARC.obj \
+ $O\x86.obj \
+ $O\x86_2.obj \
+
+COMMON_OBJS = \
+ $O\Alloc.obj \
+
+7ZIP_COMMON_OBJS = \
+ $O\InBuffer.obj \
+ $O\OutBuffer.obj \
+
+
+OBJS = \
+ $O\StdAfx.obj \
+ $(BRANCH_OBJS) \
+ $(BRANCH_OPT_OBJS) \
+ $(COMMON_OBJS) \
+ $(7ZIP_COMMON_OBJS) \
+ $O\RangeCoderBit.obj \
+ $O\resource.res
+
+
+!include "../../../Build.mak"
+
+$(BRANCH_OBJS): $(*B).cpp
+ $(COMPL)
+$(BRANCH_OPT_OBJS): $(*B).cpp
+ $(COMPL_O2)
+$(COMMON_OBJS): ../../../Common/$(*B).cpp
+ $(COMPL)
+$(7ZIP_COMMON_OBJS): ../../Common/$(*B).cpp
+ $(COMPL)
+$O\RangeCoderBit.obj: ../RangeCoder/$(*B).cpp
+ $(COMPL)
diff --git a/7zip/Compress/Branch/resource.h b/7zip/Compress/Branch/resource.h
deleted file mode 100755
index 612062a2..00000000
--- a/7zip/Compress/Branch/resource.h
+++ /dev/null
@@ -1,15 +0,0 @@
-//{{NO_DEPENDENCIES}}
-// Microsoft Developer Studio generated include file.
-// Used by resource.rc
-//
-
-// Next default values for new objects
-//
-#ifdef APSTUDIO_INVOKED
-#ifndef APSTUDIO_READONLY_SYMBOLS
-#define _APS_NEXT_RESOURCE_VALUE 101
-#define _APS_NEXT_COMMAND_VALUE 40001
-#define _APS_NEXT_CONTROL_VALUE 1000
-#define _APS_NEXT_SYMED_VALUE 101
-#endif
-#endif
diff --git a/7zip/Compress/Branch/resource.rc b/7zip/Compress/Branch/resource.rc
index a3e2c58c..5476d4fa 100755
--- a/7zip/Compress/Branch/resource.rc
+++ b/7zip/Compress/Branch/resource.rc
@@ -1,121 +1,3 @@
-//Microsoft Developer Studio generated resource script.
-//
-#include "resource.h"
-
-#define APSTUDIO_READONLY_SYMBOLS
-/////////////////////////////////////////////////////////////////////////////
-//
-// Generated from the TEXTINCLUDE 2 resource.
-//
-#include "afxres.h"
-
-/////////////////////////////////////////////////////////////////////////////
-#undef APSTUDIO_READONLY_SYMBOLS
-
-/////////////////////////////////////////////////////////////////////////////
-// Russian resources
-
-#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_RUS)
-#ifdef _WIN32
-LANGUAGE LANG_RUSSIAN, SUBLANG_DEFAULT
-#pragma code_page(1251)
-#endif //_WIN32
-
-#ifdef APSTUDIO_INVOKED
-/////////////////////////////////////////////////////////////////////////////
-//
-// TEXTINCLUDE
-//
-
-1 TEXTINCLUDE DISCARDABLE
-BEGIN
- "resource.h\0"
-END
-
-2 TEXTINCLUDE DISCARDABLE
-BEGIN
- "#include ""afxres.h""\r\n"
- "\0"
-END
-
-3 TEXTINCLUDE DISCARDABLE
-BEGIN
- "\r\n"
- "\0"
-END
-
-#endif // APSTUDIO_INVOKED
-
-#endif // Russian resources
-/////////////////////////////////////////////////////////////////////////////
-
-
-/////////////////////////////////////////////////////////////////////////////
-// English (U.S.) resources
-
-#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_ENU)
-#ifdef _WIN32
-LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US
-#pragma code_page(1252)
-#endif //_WIN32
-
-#ifndef _MAC
-/////////////////////////////////////////////////////////////////////////////
-//
-// Version
-//
-
-VS_VERSION_INFO VERSIONINFO
- FILEVERSION 4,17,0,0
- PRODUCTVERSION 4,17,0,0
- FILEFLAGSMASK 0x3fL
-#ifdef _DEBUG
- FILEFLAGS 0x1L
-#else
- FILEFLAGS 0x0L
-#endif
- FILEOS 0x40004L
- FILETYPE 0x2L
- FILESUBTYPE 0x0L
-BEGIN
- BLOCK "StringFileInfo"
- BEGIN
- BLOCK "040904b0"
- BEGIN
- VALUE "Comments", "\0"
- VALUE "CompanyName", "Igor Pavlov\0"
- VALUE "FileDescription", "Branch filter\0"
- VALUE "FileVersion", "4, 17, 0, 0\0"
- VALUE "InternalName", "Branch\0"
- VALUE "LegalCopyright", "Copyright (C) 1999-2005 Igor Pavlov\0"
- VALUE "LegalTrademarks", "\0"
- VALUE "OriginalFilename", "Branch.dll\0"
- VALUE "PrivateBuild", "\0"
- VALUE "ProductName", "7-Zip\0"
- VALUE "ProductVersion", "4, 17, 0, 0\0"
- VALUE "SpecialBuild", "\0"
- END
- END
- BLOCK "VarFileInfo"
- BEGIN
- VALUE "Translation", 0x409, 1200
- END
-END
-
-#endif // !_MAC
-
-#endif // English (U.S.) resources
-/////////////////////////////////////////////////////////////////////////////
-
-
-
-#ifndef APSTUDIO_INVOKED
-/////////////////////////////////////////////////////////////////////////////
-//
-// Generated from the TEXTINCLUDE 3 resource.
-//
-
-
-/////////////////////////////////////////////////////////////////////////////
-#endif // not APSTUDIO_INVOKED
+#include "../../MyVersionInfo.rc"
+MY_VERSION_INFO_DLL("Branch Filter", "Branch")
diff --git a/7zip/Compress/ByteSwap/ByteSwap.def b/7zip/Compress/ByteSwap/ByteSwap.def
deleted file mode 100755
index 3bed0888..00000000
--- a/7zip/Compress/ByteSwap/ByteSwap.def
+++ /dev/null
@@ -1,9 +0,0 @@
-; Swap.def
-
-LIBRARY Swap.dll
-
-EXPORTS
- CreateObject PRIVATE
- GetNumberOfMethods PRIVATE
- GetMethodProperty PRIVATE
-
diff --git a/7zip/Compress/ByteSwap/ByteSwap.dsp b/7zip/Compress/ByteSwap/ByteSwap.dsp
index 49f5cc32..1a73d67f 100755
--- a/7zip/Compress/ByteSwap/ByteSwap.dsp
+++ b/7zip/Compress/ByteSwap/ByteSwap.dsp
@@ -93,7 +93,7 @@ LINK32=link.exe
# PROP Default_Filter ""
# Begin Source File
-SOURCE=.\ByteSwap.def
+SOURCE=..\Codec.def
# End Source File
# Begin Source File
diff --git a/7zip/Compress/ByteSwap/makefile b/7zip/Compress/ByteSwap/makefile
new file mode 100755
index 00000000..f73a8079
--- /dev/null
+++ b/7zip/Compress/ByteSwap/makefile
@@ -0,0 +1,23 @@
+PROG = Swap.dll
+DEF_FILE = ../Codec.def
+CFLAGS = $(CFLAGS) -I ../../../
+LIBS = $(LIBS) oleaut32.lib
+
+SWAP_OBJS = \
+ $O\DllExports.obj \
+
+SWAP_OPT_OBJS = \
+ $O\ByteSwap.obj \
+
+OBJS = \
+ $O\StdAfx.obj \
+ $(SWAP_OBJS) \
+ $(SWAP_OPT_OBJS) \
+ $O\resource.res
+
+!include "../../../Build.mak"
+
+$(SWAP_OBJS): $(*B).cpp
+ $(COMPL)
+$(SWAP_OPT_OBJS): $(*B).cpp
+ $(COMPL_O2)
diff --git a/7zip/Compress/ByteSwap/resource.h b/7zip/Compress/ByteSwap/resource.h
deleted file mode 100755
index 612062a2..00000000
--- a/7zip/Compress/ByteSwap/resource.h
+++ /dev/null
@@ -1,15 +0,0 @@
-//{{NO_DEPENDENCIES}}
-// Microsoft Developer Studio generated include file.
-// Used by resource.rc
-//
-
-// Next default values for new objects
-//
-#ifdef APSTUDIO_INVOKED
-#ifndef APSTUDIO_READONLY_SYMBOLS
-#define _APS_NEXT_RESOURCE_VALUE 101
-#define _APS_NEXT_COMMAND_VALUE 40001
-#define _APS_NEXT_CONTROL_VALUE 1000
-#define _APS_NEXT_SYMED_VALUE 101
-#endif
-#endif
diff --git a/7zip/Compress/ByteSwap/resource.rc b/7zip/Compress/ByteSwap/resource.rc
index bc24ee42..21c0c505 100755
--- a/7zip/Compress/ByteSwap/resource.rc
+++ b/7zip/Compress/ByteSwap/resource.rc
@@ -1,121 +1,3 @@
-//Microsoft Developer Studio generated resource script.
-//
-#include "resource.h"
-
-#define APSTUDIO_READONLY_SYMBOLS
-/////////////////////////////////////////////////////////////////////////////
-//
-// Generated from the TEXTINCLUDE 2 resource.
-//
-#include "afxres.h"
-
-/////////////////////////////////////////////////////////////////////////////
-#undef APSTUDIO_READONLY_SYMBOLS
-
-/////////////////////////////////////////////////////////////////////////////
-// Russian resources
-
-#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_RUS)
-#ifdef _WIN32
-LANGUAGE LANG_RUSSIAN, SUBLANG_DEFAULT
-#pragma code_page(1251)
-#endif //_WIN32
-
-#ifdef APSTUDIO_INVOKED
-/////////////////////////////////////////////////////////////////////////////
-//
-// TEXTINCLUDE
-//
-
-1 TEXTINCLUDE DISCARDABLE
-BEGIN
- "resource.h\0"
-END
-
-2 TEXTINCLUDE DISCARDABLE
-BEGIN
- "#include ""afxres.h""\r\n"
- "\0"
-END
-
-3 TEXTINCLUDE DISCARDABLE
-BEGIN
- "\r\n"
- "\0"
-END
-
-#endif // APSTUDIO_INVOKED
-
-#endif // Russian resources
-/////////////////////////////////////////////////////////////////////////////
-
-
-/////////////////////////////////////////////////////////////////////////////
-// English (U.S.) resources
-
-#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_ENU)
-#ifdef _WIN32
-LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US
-#pragma code_page(1252)
-#endif //_WIN32
-
-#ifndef _MAC
-/////////////////////////////////////////////////////////////////////////////
-//
-// Version
-//
-
-VS_VERSION_INFO VERSIONINFO
- FILEVERSION 4,7,0,0
- PRODUCTVERSION 4,7,0,0
- FILEFLAGSMASK 0x3fL
-#ifdef _DEBUG
- FILEFLAGS 0x1L
-#else
- FILEFLAGS 0x0L
-#endif
- FILEOS 0x40004L
- FILETYPE 0x2L
- FILESUBTYPE 0x0L
-BEGIN
- BLOCK "StringFileInfo"
- BEGIN
- BLOCK "040904b0"
- BEGIN
- VALUE "Comments", "\0"
- VALUE "CompanyName", "Igor Pavlov\0"
- VALUE "FileDescription", "Byte Swap filter\0"
- VALUE "FileVersion", "4, 7, 0, 0\0"
- VALUE "InternalName", "Swap\0"
- VALUE "LegalCopyright", "Copyright (C) 1999-2004 Igor Pavlov\0"
- VALUE "LegalTrademarks", "\0"
- VALUE "OriginalFilename", "Swap.dll\0"
- VALUE "PrivateBuild", "\0"
- VALUE "ProductName", "7-Zip\0"
- VALUE "ProductVersion", "4, 7, 0, 0\0"
- VALUE "SpecialBuild", "\0"
- END
- END
- BLOCK "VarFileInfo"
- BEGIN
- VALUE "Translation", 0x409, 1200
- END
-END
-
-#endif // !_MAC
-
-#endif // English (U.S.) resources
-/////////////////////////////////////////////////////////////////////////////
-
-
-
-#ifndef APSTUDIO_INVOKED
-/////////////////////////////////////////////////////////////////////////////
-//
-// Generated from the TEXTINCLUDE 3 resource.
-//
-
-
-/////////////////////////////////////////////////////////////////////////////
-#endif // not APSTUDIO_INVOKED
+#include "../../MyVersionInfo.rc"
+MY_VERSION_INFO_DLL("SWAP filter Codec", "SWAP")
diff --git a/7zip/Compress/Copy/Copy.def b/7zip/Compress/Codec.def
index ebf73a3b..ebf73a3b 100755
--- a/7zip/Compress/Copy/Copy.def
+++ b/7zip/Compress/Codec.def
diff --git a/7zip/Compress/Copy/Copy.dsp b/7zip/Compress/Copy/Copy.dsp
index 4ab41ef3..ddf4d66b 100755
--- a/7zip/Compress/Copy/Copy.dsp
+++ b/7zip/Compress/Copy/Copy.dsp
@@ -93,7 +93,7 @@ LINK32=link.exe
# PROP Default_Filter ""
# Begin Source File
-SOURCE=.\Copy.def
+SOURCE=..\Codec.def
# End Source File
# Begin Source File
diff --git a/7zip/Compress/Copy/StdAfx.h b/7zip/Compress/Copy/StdAfx.h
index e7fb6986..8531cc9c 100755
--- a/7zip/Compress/Copy/StdAfx.h
+++ b/7zip/Compress/Copy/StdAfx.h
@@ -4,5 +4,6 @@
#define __STDAFX_H
#include "../../../Common/MyWindows.h"
+#include "../../../Common/NewHandler.h"
-#endif
+#endif
diff --git a/7zip/Compress/Copy/makefile b/7zip/Compress/Copy/makefile
new file mode 100755
index 00000000..6c04af97
--- /dev/null
+++ b/7zip/Compress/Copy/makefile
@@ -0,0 +1,24 @@
+PROG = Copy.dll
+DEF_FILE = ../Codec.def
+CFLAGS = $(CFLAGS) -I ../../../
+LIBS = $(LIBS) oleaut32.lib
+
+COPY_OBJS = \
+ $O\DllExports.obj \
+ $O\CopyCoder.obj \
+
+COMMON_OBJS = \
+ $O\Alloc.obj \
+
+OBJS = \
+ $O\StdAfx.obj \
+ $(COPY_OBJS) \
+ $(COMMON_OBJS) \
+ $O\resource.res
+
+!include "../../../Build.mak"
+
+$(COPY_OBJS): $(*B).cpp
+ $(COMPL)
+$(COMMON_OBJS): ../../../Common/$(*B).cpp
+ $(COMPL)
diff --git a/7zip/Compress/Copy/resource.h b/7zip/Compress/Copy/resource.h
deleted file mode 100755
index 612062a2..00000000
--- a/7zip/Compress/Copy/resource.h
+++ /dev/null
@@ -1,15 +0,0 @@
-//{{NO_DEPENDENCIES}}
-// Microsoft Developer Studio generated include file.
-// Used by resource.rc
-//
-
-// Next default values for new objects
-//
-#ifdef APSTUDIO_INVOKED
-#ifndef APSTUDIO_READONLY_SYMBOLS
-#define _APS_NEXT_RESOURCE_VALUE 101
-#define _APS_NEXT_COMMAND_VALUE 40001
-#define _APS_NEXT_CONTROL_VALUE 1000
-#define _APS_NEXT_SYMED_VALUE 101
-#endif
-#endif
diff --git a/7zip/Compress/Copy/resource.rc b/7zip/Compress/Copy/resource.rc
index d2da5431..234c85bf 100755
--- a/7zip/Compress/Copy/resource.rc
+++ b/7zip/Compress/Copy/resource.rc
@@ -1,121 +1,3 @@
-//Microsoft Developer Studio generated resource script.
-//
-#include "resource.h"
-
-#define APSTUDIO_READONLY_SYMBOLS
-/////////////////////////////////////////////////////////////////////////////
-//
-// Generated from the TEXTINCLUDE 2 resource.
-//
-#include "afxres.h"
-
-/////////////////////////////////////////////////////////////////////////////
-#undef APSTUDIO_READONLY_SYMBOLS
-
-/////////////////////////////////////////////////////////////////////////////
-// Russian resources
-
-#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_RUS)
-#ifdef _WIN32
-LANGUAGE LANG_RUSSIAN, SUBLANG_DEFAULT
-#pragma code_page(1251)
-#endif //_WIN32
-
-#ifdef APSTUDIO_INVOKED
-/////////////////////////////////////////////////////////////////////////////
-//
-// TEXTINCLUDE
-//
-
-1 TEXTINCLUDE DISCARDABLE
-BEGIN
- "resource.h\0"
-END
-
-2 TEXTINCLUDE DISCARDABLE
-BEGIN
- "#include ""afxres.h""\r\n"
- "\0"
-END
-
-3 TEXTINCLUDE DISCARDABLE
-BEGIN
- "\r\n"
- "\0"
-END
-
-#endif // APSTUDIO_INVOKED
-
-#endif // Russian resources
-/////////////////////////////////////////////////////////////////////////////
-
-
-/////////////////////////////////////////////////////////////////////////////
-// English (U.S.) resources
-
-#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_ENU)
-#ifdef _WIN32
-LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US
-#pragma code_page(1252)
-#endif //_WIN32
-
-#ifndef _MAC
-/////////////////////////////////////////////////////////////////////////////
-//
-// Version
-//
-
-VS_VERSION_INFO VERSIONINFO
- FILEVERSION 4,7,0,0
- PRODUCTVERSION 4,7,0,0
- FILEFLAGSMASK 0x3fL
-#ifdef _DEBUG
- FILEFLAGS 0x1L
-#else
- FILEFLAGS 0x0L
-#endif
- FILEOS 0x40004L
- FILETYPE 0x2L
- FILESUBTYPE 0x0L
-BEGIN
- BLOCK "StringFileInfo"
- BEGIN
- BLOCK "040904b0"
- BEGIN
- VALUE "Comments", "\0"
- VALUE "CompanyName", "Igor Pavlov\0"
- VALUE "FileDescription", "Copy Coder\0"
- VALUE "FileVersion", "4, 7, 0, 0\0"
- VALUE "InternalName", "Copy\0"
- VALUE "LegalCopyright", "Copyright (C) 1999-2004 Igor Pavlov\0"
- VALUE "LegalTrademarks", "\0"
- VALUE "OriginalFilename", "Copy.dll\0"
- VALUE "PrivateBuild", "\0"
- VALUE "ProductName", "7-Zip\0"
- VALUE "ProductVersion", "4, 7, 0, 0\0"
- VALUE "SpecialBuild", "\0"
- END
- END
- BLOCK "VarFileInfo"
- BEGIN
- VALUE "Translation", 0x409, 1200
- END
-END
-
-#endif // !_MAC
-
-#endif // English (U.S.) resources
-/////////////////////////////////////////////////////////////////////////////
-
-
-
-#ifndef APSTUDIO_INVOKED
-/////////////////////////////////////////////////////////////////////////////
-//
-// Generated from the TEXTINCLUDE 3 resource.
-//
-
-
-/////////////////////////////////////////////////////////////////////////////
-#endif // not APSTUDIO_INVOKED
+#include "../../MyVersionInfo.rc"
+MY_VERSION_INFO_DLL("Copy Codec", "Copy")
diff --git a/7zip/Compress/Deflate/Deflate.def b/7zip/Compress/Deflate/Deflate.def
deleted file mode 100755
index ac9fd5e5..00000000
--- a/7zip/Compress/Deflate/Deflate.def
+++ /dev/null
@@ -1,8 +0,0 @@
-; Deflate.def
-
-LIBRARY Deflate.dll
-
-EXPORTS
- CreateObject PRIVATE
- GetNumberOfMethods PRIVATE
- GetMethodProperty PRIVATE
diff --git a/7zip/Compress/Deflate/Deflate.dsp b/7zip/Compress/Deflate/Deflate.dsp
index 417cf581..a62a3acd 100755
--- a/7zip/Compress/Deflate/Deflate.dsp
+++ b/7zip/Compress/Deflate/Deflate.dsp
@@ -93,7 +93,7 @@ LINK32=link.exe
# PROP Default_Filter ""
# Begin Source File
-SOURCE=.\Deflate.def
+SOURCE=..\Codec.def
# End Source File
# Begin Source File
@@ -101,10 +101,6 @@ SOURCE=.\DllExports.cpp
# End Source File
# Begin Source File
-SOURCE=.\resource.h
-# End Source File
-# Begin Source File
-
SOURCE=.\resource.rc
# End Source File
# Begin Source File
diff --git a/7zip/Compress/Deflate/makefile b/7zip/Compress/Deflate/makefile
new file mode 100755
index 00000000..e0d3a309
--- /dev/null
+++ b/7zip/Compress/Deflate/makefile
@@ -0,0 +1,51 @@
+PROG = Deflate.dll
+DEF_FILE = ../Codec.def
+CFLAGS = $(CFLAGS) -I ../../../
+LIBS = $(LIBS) oleaut32.lib
+
+DEFLATE_OBJS = \
+ $O\DllExports.obj \
+
+DEFLATE_OPT_OBJS = \
+ $O\DeflateDecoder.obj \
+ $O\DeflateEncoder.obj \
+
+COMMON_OBJS = \
+ $O\Alloc.obj \
+ $O\CRC.obj \
+
+7ZIP_COMMON_OBJS = \
+ $O\InBuffer.obj \
+ $O\OutBuffer.obj \
+ $O\LSBFDecoder.obj \
+ $O\LSBFEncoder.obj \
+
+LZ_OBJS = \
+ $O\LZInWindow.obj \
+ $O\LZOutWindow.obj \
+
+
+OBJS = \
+ $O\StdAfx.obj \
+ $(DEFLATE_OBJS) \
+ $(DEFLATE_OPT_OBJS) \
+ $(COMMON_OBJS) \
+ $(7ZIP_COMMON_OBJS) \
+ $(LZ_OBJS) \
+ $O\HuffmanEncoder.obj \
+ $O\resource.res
+
+!include "../../../Build.mak"
+
+$(DEFLATE_OBJS): $(*B).cpp
+ $(COMPL)
+$(DEFLATE_OPT_OBJS): $(*B).cpp
+ $(COMPL_O2)
+$(COMMON_OBJS): ../../../Common/$(*B).cpp
+ $(COMPL)
+$(7ZIP_COMMON_OBJS): ../../Common/$(*B).cpp
+ $(COMPL)
+$(LZ_OBJS): ../LZ/$(*B).cpp
+ $(COMPL)
+$O\HuffmanEncoder.obj: ../Huffman/$(*B).cpp
+ $(COMPL_O2)
diff --git a/7zip/Compress/Deflate/resource.h b/7zip/Compress/Deflate/resource.h
deleted file mode 100755
index 612062a2..00000000
--- a/7zip/Compress/Deflate/resource.h
+++ /dev/null
@@ -1,15 +0,0 @@
-//{{NO_DEPENDENCIES}}
-// Microsoft Developer Studio generated include file.
-// Used by resource.rc
-//
-
-// Next default values for new objects
-//
-#ifdef APSTUDIO_INVOKED
-#ifndef APSTUDIO_READONLY_SYMBOLS
-#define _APS_NEXT_RESOURCE_VALUE 101
-#define _APS_NEXT_COMMAND_VALUE 40001
-#define _APS_NEXT_CONTROL_VALUE 1000
-#define _APS_NEXT_SYMED_VALUE 101
-#endif
-#endif
diff --git a/7zip/Compress/Deflate/resource.rc b/7zip/Compress/Deflate/resource.rc
index f70b815e..910bc281 100755
--- a/7zip/Compress/Deflate/resource.rc
+++ b/7zip/Compress/Deflate/resource.rc
@@ -1,121 +1,3 @@
-//Microsoft Developer Studio generated resource script.
-//
-#include "resource.h"
-
-#define APSTUDIO_READONLY_SYMBOLS
-/////////////////////////////////////////////////////////////////////////////
-//
-// Generated from the TEXTINCLUDE 2 resource.
-//
-#include "afxres.h"
-
-/////////////////////////////////////////////////////////////////////////////
-#undef APSTUDIO_READONLY_SYMBOLS
-
-/////////////////////////////////////////////////////////////////////////////
-// Russian resources
-
-#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_RUS)
-#ifdef _WIN32
-LANGUAGE LANG_RUSSIAN, SUBLANG_DEFAULT
-#pragma code_page(1251)
-#endif //_WIN32
-
-#ifdef APSTUDIO_INVOKED
-/////////////////////////////////////////////////////////////////////////////
-//
-// TEXTINCLUDE
-//
-
-1 TEXTINCLUDE DISCARDABLE
-BEGIN
- "resource.h\0"
-END
-
-2 TEXTINCLUDE DISCARDABLE
-BEGIN
- "#include ""afxres.h""\r\n"
- "\0"
-END
-
-3 TEXTINCLUDE DISCARDABLE
-BEGIN
- "\r\n"
- "\0"
-END
-
-#endif // APSTUDIO_INVOKED
-
-#endif // Russian resources
-/////////////////////////////////////////////////////////////////////////////
-
-
-/////////////////////////////////////////////////////////////////////////////
-// English (U.S.) resources
-
-#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_ENU)
-#ifdef _WIN32
-LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US
-#pragma code_page(1252)
-#endif //_WIN32
-
-#ifndef _MAC
-/////////////////////////////////////////////////////////////////////////////
-//
-// Version
-//
-
-VS_VERSION_INFO VERSIONINFO
- FILEVERSION 4,23,0,0
- PRODUCTVERSION 4,23,0,0
- FILEFLAGSMASK 0x3fL
-#ifdef _DEBUG
- FILEFLAGS 0x1L
-#else
- FILEFLAGS 0x0L
-#endif
- FILEOS 0x40004L
- FILETYPE 0x2L
- FILESUBTYPE 0x0L
-BEGIN
- BLOCK "StringFileInfo"
- BEGIN
- BLOCK "040904b0"
- BEGIN
- VALUE "Comments", "\0"
- VALUE "CompanyName", " \0"
- VALUE "FileDescription", "Deflate Coder\0"
- VALUE "FileVersion", "4, 23, 0, 0\0"
- VALUE "InternalName", "Deflate\0"
- VALUE "LegalCopyright", "Copyright (C) 1999-2005 Igor Pavlov\0"
- VALUE "LegalTrademarks", "\0"
- VALUE "OriginalFilename", "Deflate.dll\0"
- VALUE "PrivateBuild", "\0"
- VALUE "ProductName", "7-Zip\0"
- VALUE "ProductVersion", "4, 23, 0, 0\0"
- VALUE "SpecialBuild", "\0"
- END
- END
- BLOCK "VarFileInfo"
- BEGIN
- VALUE "Translation", 0x409, 1200
- END
-END
-
-#endif // !_MAC
-
-#endif // English (U.S.) resources
-/////////////////////////////////////////////////////////////////////////////
-
-
-
-#ifndef APSTUDIO_INVOKED
-/////////////////////////////////////////////////////////////////////////////
-//
-// Generated from the TEXTINCLUDE 3 resource.
-//
-
-
-/////////////////////////////////////////////////////////////////////////////
-#endif // not APSTUDIO_INVOKED
+#include "../../MyVersionInfo.rc"
+MY_VERSION_INFO_DLL("Deflate Codec", "Deflate")
diff --git a/7zip/Compress/Implode/Implode.def b/7zip/Compress/Implode/Implode.def
deleted file mode 100755
index 5364eb65..00000000
--- a/7zip/Compress/Implode/Implode.def
+++ /dev/null
@@ -1,9 +0,0 @@
-; Implode.def
-
-LIBRARY Implode.dll
-
-EXPORTS
- CreateObject PRIVATE
- GetNumberOfMethods PRIVATE
- GetMethodProperty PRIVATE
-
diff --git a/7zip/Compress/Implode/Implode.dsp b/7zip/Compress/Implode/Implode.dsp
deleted file mode 100755
index db88cd03..00000000
--- a/7zip/Compress/Implode/Implode.dsp
+++ /dev/null
@@ -1,189 +0,0 @@
-# Microsoft Developer Studio Project File - Name="Implode" - Package Owner=<4>
-# Microsoft Developer Studio Generated Build File, Format Version 6.00
-# ** DO NOT EDIT **
-
-# TARGTYPE "Win32 (x86) Dynamic-Link Library" 0x0102
-
-CFG=Implode - Win32 Debug
-!MESSAGE This is not a valid makefile. To build this project using NMAKE,
-!MESSAGE use the Export Makefile command and run
-!MESSAGE
-!MESSAGE NMAKE /f "Implode.mak".
-!MESSAGE
-!MESSAGE You can specify a configuration when running NMAKE
-!MESSAGE by defining the macro CFG on the command line. For example:
-!MESSAGE
-!MESSAGE NMAKE /f "Implode.mak" CFG="Implode - Win32 Debug"
-!MESSAGE
-!MESSAGE Possible choices for configuration are:
-!MESSAGE
-!MESSAGE "Implode - Win32 Release" (based on "Win32 (x86) Dynamic-Link Library")
-!MESSAGE "Implode - Win32 Debug" (based on "Win32 (x86) Dynamic-Link Library")
-!MESSAGE
-
-# Begin Project
-# PROP AllowPerConfigDependencies 0
-# PROP Scc_ProjName ""
-# PROP Scc_LocalPath ""
-CPP=cl.exe
-MTL=midl.exe
-RSC=rc.exe
-
-!IF "$(CFG)" == "Implode - Win32 Release"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 0
-# PROP BASE Output_Dir "Release"
-# PROP BASE Intermediate_Dir "Release"
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 0
-# PROP Output_Dir "Release"
-# PROP Intermediate_Dir "Release"
-# PROP Ignore_Export_Lib 1
-# PROP Target_Dir ""
-# ADD BASE CPP /nologo /MT /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "IMPLODE_EXPORTS" /YX /FD /c
-# ADD CPP /nologo /Gz /MD /W3 /GX /O1 /I "..\..\..\\" /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "IMPLODE_EXPORTS" /Yu"StdAfx.h" /FD /c
-# ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /win32
-# ADD MTL /nologo /D "NDEBUG" /mktyplib203 /win32
-# ADD BASE RSC /l 0x419 /d "NDEBUG"
-# ADD RSC /l 0x419 /d "NDEBUG"
-BSC32=bscmake.exe
-# ADD BASE BSC32 /nologo
-# ADD BSC32 /nologo
-LINK32=link.exe
-# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /dll /machine:I386
-# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /dll /machine:I386 /out:"C:\Program Files\7-Zip\Codecs\Implode.dll" /opt:NOWIN98
-# SUBTRACT LINK32 /pdb:none
-
-!ELSEIF "$(CFG)" == "Implode - Win32 Debug"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 1
-# PROP BASE Output_Dir "Debug"
-# PROP BASE Intermediate_Dir "Debug"
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 1
-# PROP Output_Dir "Debug"
-# PROP Intermediate_Dir "Debug"
-# PROP Ignore_Export_Lib 1
-# PROP Target_Dir ""
-# ADD BASE CPP /nologo /MTd /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "IMPLODE_EXPORTS" /YX /FD /GZ /c
-# ADD CPP /nologo /Gz /MTd /W3 /Gm /GX /ZI /Od /I "..\..\..\\" /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "IMPLODE_EXPORTS" /Yu"StdAfx.h" /FD /GZ /c
-# ADD BASE MTL /nologo /D "_DEBUG" /mktyplib203 /win32
-# ADD MTL /nologo /D "_DEBUG" /mktyplib203 /win32
-# ADD BASE RSC /l 0x419 /d "_DEBUG"
-# ADD RSC /l 0x419 /d "_DEBUG"
-BSC32=bscmake.exe
-# ADD BASE BSC32 /nologo
-# ADD BSC32 /nologo
-LINK32=link.exe
-# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /dll /debug /machine:I386 /pdbtype:sept
-# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /dll /debug /machine:I386 /out:"C:\Program Files\7-Zip\Codecs\Implode.dll" /pdbtype:sept
-
-!ENDIF
-
-# Begin Target
-
-# Name "Implode - Win32 Release"
-# Name "Implode - Win32 Debug"
-# Begin Group "Spec"
-
-# PROP Default_Filter ""
-# Begin Source File
-
-SOURCE=.\DllExports.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=.\Implode.def
-# End Source File
-# Begin Source File
-
-SOURCE=.\resource.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\resource.rc
-# End Source File
-# Begin Source File
-
-SOURCE=.\StdAfx.cpp
-# ADD CPP /Yc"StdAfx.h"
-# End Source File
-# Begin Source File
-
-SOURCE=.\StdAfx.h
-# End Source File
-# End Group
-# Begin Group "7zip Common"
-
-# PROP Default_Filter ""
-# Begin Source File
-
-SOURCE=..\..\Common\InBuffer.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\Common\InBuffer.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\Common\LSBFDecoder.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\Common\LSBFDecoder.h
-# End Source File
-# End Group
-# Begin Group "Common"
-
-# PROP Default_Filter ""
-# Begin Source File
-
-SOURCE=..\..\..\Common\Alloc.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\Common\Alloc.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\Common\NewHandler.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\Common\NewHandler.h
-# End Source File
-# End Group
-# Begin Group "LZ"
-
-# PROP Default_Filter ""
-# Begin Source File
-
-SOURCE=..\LZ\LZOutWindow.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\LZ\LZOutWindow.h
-# End Source File
-# End Group
-# Begin Source File
-
-SOURCE=.\ImplodeDecoder.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=.\ImplodeDecoder.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\ImplodeHuffmanDecoder.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=.\ImplodeHuffmanDecoder.h
-# End Source File
-# End Target
-# End Project
diff --git a/7zip/Compress/Implode/Implode.dsw b/7zip/Compress/Implode/Implode.dsw
deleted file mode 100755
index d3dd6c44..00000000
--- a/7zip/Compress/Implode/Implode.dsw
+++ /dev/null
@@ -1,29 +0,0 @@
-Microsoft Developer Studio Workspace File, Format Version 6.00
-# WARNING: DO NOT EDIT OR DELETE THIS WORKSPACE FILE!
-
-###############################################################################
-
-Project: "Implode"=.\Implode.dsp - Package Owner=<4>
-
-Package=<5>
-{{{
-}}}
-
-Package=<4>
-{{{
-}}}
-
-###############################################################################
-
-Global:
-
-Package=<5>
-{{{
-}}}
-
-Package=<3>
-{{{
-}}}
-
-###############################################################################
-
diff --git a/7zip/Compress/Implode/resource.h b/7zip/Compress/Implode/resource.h
deleted file mode 100755
index 612062a2..00000000
--- a/7zip/Compress/Implode/resource.h
+++ /dev/null
@@ -1,15 +0,0 @@
-//{{NO_DEPENDENCIES}}
-// Microsoft Developer Studio generated include file.
-// Used by resource.rc
-//
-
-// Next default values for new objects
-//
-#ifdef APSTUDIO_INVOKED
-#ifndef APSTUDIO_READONLY_SYMBOLS
-#define _APS_NEXT_RESOURCE_VALUE 101
-#define _APS_NEXT_COMMAND_VALUE 40001
-#define _APS_NEXT_CONTROL_VALUE 1000
-#define _APS_NEXT_SYMED_VALUE 101
-#endif
-#endif
diff --git a/7zip/Compress/Implode/resource.rc b/7zip/Compress/Implode/resource.rc
deleted file mode 100755
index fead08d8..00000000
--- a/7zip/Compress/Implode/resource.rc
+++ /dev/null
@@ -1,121 +0,0 @@
-//Microsoft Developer Studio generated resource script.
-//
-#include "resource.h"
-
-#define APSTUDIO_READONLY_SYMBOLS
-/////////////////////////////////////////////////////////////////////////////
-//
-// Generated from the TEXTINCLUDE 2 resource.
-//
-#include "afxres.h"
-
-/////////////////////////////////////////////////////////////////////////////
-#undef APSTUDIO_READONLY_SYMBOLS
-
-/////////////////////////////////////////////////////////////////////////////
-// Russian resources
-
-#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_RUS)
-#ifdef _WIN32
-LANGUAGE LANG_RUSSIAN, SUBLANG_DEFAULT
-#pragma code_page(1251)
-#endif //_WIN32
-
-#ifdef APSTUDIO_INVOKED
-/////////////////////////////////////////////////////////////////////////////
-//
-// TEXTINCLUDE
-//
-
-1 TEXTINCLUDE DISCARDABLE
-BEGIN
- "resource.h\0"
-END
-
-2 TEXTINCLUDE DISCARDABLE
-BEGIN
- "#include ""afxres.h""\r\n"
- "\0"
-END
-
-3 TEXTINCLUDE DISCARDABLE
-BEGIN
- "\r\n"
- "\0"
-END
-
-#endif // APSTUDIO_INVOKED
-
-#endif // Russian resources
-/////////////////////////////////////////////////////////////////////////////
-
-
-/////////////////////////////////////////////////////////////////////////////
-// English (U.S.) resources
-
-#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_ENU)
-#ifdef _WIN32
-LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US
-#pragma code_page(1252)
-#endif //_WIN32
-
-#ifndef _MAC
-/////////////////////////////////////////////////////////////////////////////
-//
-// Version
-//
-
-VS_VERSION_INFO VERSIONINFO
- FILEVERSION 4,15,0,0
- PRODUCTVERSION 4,15,0,0
- FILEFLAGSMASK 0x3fL
-#ifdef _DEBUG
- FILEFLAGS 0x1L
-#else
- FILEFLAGS 0x0L
-#endif
- FILEOS 0x40004L
- FILETYPE 0x2L
- FILESUBTYPE 0x0L
-BEGIN
- BLOCK "StringFileInfo"
- BEGIN
- BLOCK "040904b0"
- BEGIN
- VALUE "Comments", "\0"
- VALUE "CompanyName", "Igor Pavlov\0"
- VALUE "FileDescription", "Implode Decoder\0"
- VALUE "FileVersion", "4, 15, 0, 0\0"
- VALUE "InternalName", "Implode\0"
- VALUE "LegalCopyright", "Copyright (C) 1999-2005 Igor Pavlov\0"
- VALUE "LegalTrademarks", "\0"
- VALUE "OriginalFilename", "Implode.dll\0"
- VALUE "PrivateBuild", "\0"
- VALUE "ProductName", "7-Zip\0"
- VALUE "ProductVersion", "4, 15, 0, 0\0"
- VALUE "SpecialBuild", "\0"
- END
- END
- BLOCK "VarFileInfo"
- BEGIN
- VALUE "Translation", 0x409, 1200
- END
-END
-
-#endif // !_MAC
-
-#endif // English (U.S.) resources
-/////////////////////////////////////////////////////////////////////////////
-
-
-
-#ifndef APSTUDIO_INVOKED
-/////////////////////////////////////////////////////////////////////////////
-//
-// Generated from the TEXTINCLUDE 3 resource.
-//
-
-
-/////////////////////////////////////////////////////////////////////////////
-#endif // not APSTUDIO_INVOKED
-
diff --git a/7zip/Compress/LZ/Patricia/PatMain.h b/7zip/Compress/LZ/Patricia/PatMain.h
index 949f6054..0d06f141 100755
--- a/7zip/Compress/LZ/Patricia/PatMain.h
+++ b/7zip/Compress/LZ/Patricia/PatMain.h
@@ -411,7 +411,7 @@ UInt32 CPatricia::GetLongestMatch(UInt32 *distances)
*nodePointerPointer = pos + kMatchStartValue;
if (currentBytePointer == baseCurrentBytePointer)
return kPrevHashSize;
- return kNumHashBytes + (currentBytePointer - baseCurrentBytePointer - 1);
+ return kNumHashBytes + (UInt32)(currentBytePointer - baseCurrentBytePointer - 1);
}
#endif
if(numLoadedBits == 0)
@@ -440,7 +440,7 @@ UInt32 CPatricia::GetLongestMatch(UInt32 *distances)
{
AddInternalNode(node, nodePointerPointer, curByte, byteXOR,
numSameBits, pos);
- return kNumHashBytes + (currentBytePointer - baseCurrentBytePointer - 1);
+ return kNumHashBytes + (UInt32)(currentBytePointer - baseCurrentBytePointer - 1);
}
*distances++ = pos - node->LastMatch - 1;
numSameBits -= numLoadedBits;
@@ -461,7 +461,7 @@ UInt32 CPatricia::GetLongestMatch(UInt32 *distances)
{
AddInternalNode(node, nodePointerPointer, curByte, byteXOR,
numSameBits, pos);
- return kNumHashBytes + (currentBytePointer - baseCurrentBytePointer - 1);
+ return kNumHashBytes + (UInt32)(currentBytePointer - baseCurrentBytePointer - 1);
}
curByte >>= numSameBits;
numLoadedBits -= numSameBits;
@@ -479,7 +479,7 @@ UInt32 CPatricia::GetLongestMatch(UInt32 *distances)
else if (nextNodeIndex == kDescendantEmptyValue)
{
node->Descendants[descendantIndex].MatchPointer = pos + kMatchStartValue;
- return kNumHashBytes + (currentBytePointer - baseCurrentBytePointer - 1);
+ return kNumHashBytes + (UInt32)(currentBytePointer - baseCurrentBytePointer - 1);
}
else
break;
@@ -495,7 +495,7 @@ UInt32 CPatricia::GetLongestMatch(UInt32 *distances)
if (realMatchPointer < lowPos)
{
node->Descendants[descendantIndex].MatchPointer = pos + kMatchStartValue;
- return kNumHashBytes + (currentBytePointer - baseCurrentBytePointer - 1);
+ return kNumHashBytes + (UInt32)(currentBytePointer - baseCurrentBytePointer - 1);
}
#endif
@@ -509,7 +509,7 @@ UInt32 CPatricia::GetLongestMatch(UInt32 *distances)
if(byteXOR != 0)
{
AddLeafNode(node, curByte, byteXOR, numSameBits, pos, descendantIndex);
- return kNumHashBytes + (currentBytePointer - baseCurrentBytePointer - 1);
+ return kNumHashBytes + (UInt32)(currentBytePointer - baseCurrentBytePointer - 1);
}
numSameBits += numLoadedBits;
}
@@ -524,7 +524,7 @@ UInt32 CPatricia::GetLongestMatch(UInt32 *distances)
if(byteXOR != 0)
{
AddLeafNode(node, curByte, byteXOR, numSameBits, pos, descendantIndex);
- return kNumHashBytes + (currentBytePointer - baseCurrentBytePointer - 1);
+ return kNumHashBytes + (UInt32)(currentBytePointer - baseCurrentBytePointer - 1);
}
}
*distances = pos - realMatchPointer - 1;
diff --git a/7zip/Compress/LZMA/LZMA.def b/7zip/Compress/LZMA/LZMA.def
deleted file mode 100755
index c2f3e24f..00000000
--- a/7zip/Compress/LZMA/LZMA.def
+++ /dev/null
@@ -1,7 +0,0 @@
-LIBRARY LZMA
-
-EXPORTS
- CreateObject
- GetNumberOfMethods
- GetMethodProperty
-
diff --git a/7zip/Compress/LZMA/LZMA.dsp b/7zip/Compress/LZMA/LZMA.dsp
index 253b619d..0e9edda3 100755
--- a/7zip/Compress/LZMA/LZMA.dsp
+++ b/7zip/Compress/LZMA/LZMA.dsp
@@ -93,11 +93,11 @@ LINK32=link.exe
# PROP Default_Filter ""
# Begin Source File
-SOURCE=.\DllExports.cpp
+SOURCE=..\Codec.def
# End Source File
# Begin Source File
-SOURCE=.\LZMA.def
+SOURCE=.\DllExports.cpp
# End Source File
# Begin Source File
diff --git a/7zip/Compress/LZMA/makefile b/7zip/Compress/LZMA/makefile
new file mode 100755
index 00000000..3ec9151d
--- /dev/null
+++ b/7zip/Compress/LZMA/makefile
@@ -0,0 +1,58 @@
+PROG = LZMA.dll
+DEF_FILE = ../Codec.def
+CFLAGS = $(CFLAGS) -I ../../../ -DCOMPRESS_MF_MT
+LIBS = $(LIBS) oleaut32.lib
+
+LZMA_OBJS = \
+ $O\DllExports.obj \
+
+LZMA_OPT_OBJS = \
+ $O\LZMADecoder.obj \
+ $O\LZMAEncoder.obj \
+
+COMMON_OBJS = \
+ $O\Alloc.obj \
+ $O\CRC.obj \
+
+WIN_OBJS = \
+ $O\Synchronization.obj
+
+7ZIP_COMMON_OBJS = \
+ $O\InBuffer.obj \
+ $O\OutBuffer.obj \
+
+LZ_OBJS = \
+ $O\LZInWindow.obj \
+ $O\LZOutWindow.obj \
+
+
+OBJS = \
+ $O\StdAfx.obj \
+ $(LZMA_OBJS) \
+ $(LZMA_OPT_OBJS) \
+ $(COMMON_OBJS) \
+ $(WIN_OBJS) \
+ $(7ZIP_COMMON_OBJS) \
+ $(LZ_OBJS) \
+ $O\MT.obj \
+ $O\RangeCoderBit.obj \
+ $O\resource.res
+
+!include "../../../Build.mak"
+
+$(LZMA_OBJS): $(*B).cpp
+ $(COMPL)
+$(LZMA_OPT_OBJS): $(*B).cpp
+ $(COMPL_O2)
+$(COMMON_OBJS): ../../../Common/$(*B).cpp
+ $(COMPL)
+$(WIN_OBJS): ../../../Windows/$(*B).cpp
+ $(COMPL)
+$(7ZIP_COMMON_OBJS): ../../Common/$(*B).cpp
+ $(COMPL)
+$(LZ_OBJS): ../LZ/$(*B).cpp
+ $(COMPL)
+$O\MT.obj: ../LZ/MT/$(*B).cpp
+ $(COMPL_O2)
+$O\RangeCoderBit.obj: ../RangeCoder/$(*B).cpp
+ $(COMPL)
diff --git a/7zip/Compress/LZMA/resource.h b/7zip/Compress/LZMA/resource.h
deleted file mode 100755
index 612062a2..00000000
--- a/7zip/Compress/LZMA/resource.h
+++ /dev/null
@@ -1,15 +0,0 @@
-//{{NO_DEPENDENCIES}}
-// Microsoft Developer Studio generated include file.
-// Used by resource.rc
-//
-
-// Next default values for new objects
-//
-#ifdef APSTUDIO_INVOKED
-#ifndef APSTUDIO_READONLY_SYMBOLS
-#define _APS_NEXT_RESOURCE_VALUE 101
-#define _APS_NEXT_COMMAND_VALUE 40001
-#define _APS_NEXT_CONTROL_VALUE 1000
-#define _APS_NEXT_SYMED_VALUE 101
-#endif
-#endif
diff --git a/7zip/Compress/LZMA/resource.rc b/7zip/Compress/LZMA/resource.rc
index dfe1d9c1..1b2b6abb 100755
--- a/7zip/Compress/LZMA/resource.rc
+++ b/7zip/Compress/LZMA/resource.rc
@@ -1,121 +1,3 @@
-//Microsoft Developer Studio generated resource script.
-//
-#include "resource.h"
-
-#define APSTUDIO_READONLY_SYMBOLS
-/////////////////////////////////////////////////////////////////////////////
-//
-// Generated from the TEXTINCLUDE 2 resource.
-//
-#include "afxres.h"
-
-/////////////////////////////////////////////////////////////////////////////
-#undef APSTUDIO_READONLY_SYMBOLS
-
-/////////////////////////////////////////////////////////////////////////////
-// Russian resources
-
-#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_RUS)
-#ifdef _WIN32
-LANGUAGE LANG_RUSSIAN, SUBLANG_DEFAULT
-#pragma code_page(1251)
-#endif //_WIN32
-
-#ifdef APSTUDIO_INVOKED
-/////////////////////////////////////////////////////////////////////////////
-//
-// TEXTINCLUDE
-//
-
-1 TEXTINCLUDE DISCARDABLE
-BEGIN
- "resource.h\0"
-END
-
-2 TEXTINCLUDE DISCARDABLE
-BEGIN
- "#include ""afxres.h""\r\n"
- "\0"
-END
-
-3 TEXTINCLUDE DISCARDABLE
-BEGIN
- "\r\n"
- "\0"
-END
-
-#endif // APSTUDIO_INVOKED
-
-#endif // Russian resources
-/////////////////////////////////////////////////////////////////////////////
-
-
-/////////////////////////////////////////////////////////////////////////////
-// English (U.S.) resources
-
-#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_ENU)
-#ifdef _WIN32
-LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US
-#pragma code_page(1252)
-#endif //_WIN32
-
-#ifndef _MAC
-/////////////////////////////////////////////////////////////////////////////
-//
-// Version
-//
-
-VS_VERSION_INFO VERSIONINFO
- FILEVERSION 4,23,0,0
- PRODUCTVERSION 4,23,0,0
- FILEFLAGSMASK 0x3fL
-#ifdef _DEBUG
- FILEFLAGS 0x1L
-#else
- FILEFLAGS 0x0L
-#endif
- FILEOS 0x40004L
- FILETYPE 0x2L
- FILESUBTYPE 0x0L
-BEGIN
- BLOCK "StringFileInfo"
- BEGIN
- BLOCK "040904b0"
- BEGIN
- VALUE "Comments", "\0"
- VALUE "CompanyName", "Igor Pavlov\0"
- VALUE "FileDescription", "LZMA Codec\0"
- VALUE "FileVersion", "4, 23, 0, 0\0"
- VALUE "InternalName", "LZMA\0"
- VALUE "LegalCopyright", "Copyright (C) 1999-2005 Igor Pavlov\0"
- VALUE "LegalTrademarks", "\0"
- VALUE "OriginalFilename", "LZMA.dll\0"
- VALUE "PrivateBuild", "\0"
- VALUE "ProductName", "7-Zip\0"
- VALUE "ProductVersion", "4, 23, 0, 0\0"
- VALUE "SpecialBuild", "\0"
- END
- END
- BLOCK "VarFileInfo"
- BEGIN
- VALUE "Translation", 0x409, 1200
- END
-END
-
-#endif // !_MAC
-
-#endif // English (U.S.) resources
-/////////////////////////////////////////////////////////////////////////////
-
-
-
-#ifndef APSTUDIO_INVOKED
-/////////////////////////////////////////////////////////////////////////////
-//
-// Generated from the TEXTINCLUDE 3 resource.
-//
-
-
-/////////////////////////////////////////////////////////////////////////////
-#endif // not APSTUDIO_INVOKED
+#include "../../MyVersionInfo.rc"
+MY_VERSION_INFO_DLL("LZMA Codec", "LZMA")
diff --git a/7zip/Compress/LZMA_Alone/makefile b/7zip/Compress/LZMA_Alone/makefile
index afc64388..b6f6541a 100755
--- a/7zip/Compress/LZMA_Alone/makefile
+++ b/7zip/Compress/LZMA_Alone/makefile
@@ -1,109 +1,105 @@
-PROG = lzma
-CXX = g++ -O2 -Wall
-CXX_C = gcc -O2 -Wall
-LIB = -lm
-RM = rm -f
-CFLAGS = -c -I ../../../
+PROG = lzma.exe
+CFLAGS = $(CFLAGS) -I ../../../
+LIBS = $(LIBS) oleaut32.lib user32.lib
-OBJS = \
- LzmaAlone.o \
- LzmaBench.o \
- LzmaRam.o \
- LzmaRamDecode.o \
- LzmaDecode.o \
- BranchX86.o \
- LZMADecoder.o \
- LZMAEncoder.o \
- LZInWindow.o \
- LZOutWindow.o \
- RangeCoderBit.o \
- InBuffer.o \
- OutBuffer.o \
- FileStreams.o \
- Alloc.o \
- C_FileIO.o \
- CommandLineParser.o \
- CRC.o \
- String.o \
- StringConvert.o \
- StringToInt.o \
- Vector.o \
-
-
-all: $(PROG)
-
-$(PROG): $(OBJS)
- $(CXX) -o $(PROG) $(LDFLAGS) $(OBJS) $(LIB)
-
-LzmaAlone.o: LzmaAlone.cpp
- $(CXX) $(CFLAGS) LzmaAlone.cpp
-
-LzmaBench.o: LzmaBench.cpp
- $(CXX) $(CFLAGS) LzmaBench.cpp
-
-LzmaRam.o: LzmaRam.cpp
- $(CXX) $(CFLAGS) LzmaRam.cpp
-
-LzmaRamDecode.o: LzmaRamDecode.c
- $(CXX_C) $(CFLAGS) LzmaRamDecode.c
+!IFNDEF O
+!IFDEF CPU
+O=$(CPU)
+!ELSE
+O=O
+!ENDIF
+!ENDIF
-LzmaDecode.o: ../LZMA_C/LzmaDecode.c
- $(CXX_C) $(CFLAGS) ../LZMA_C/LzmaDecode.c
+CFLAGS = $(CFLAGS) -nologo -EHsc -c -Fo$O/ -GS-
+CFLAGS_O1 = $(CFLAGS) -O1
+CFLAGS_O2 = $(CFLAGS) -O2
-BranchX86.o: ../Branch/BranchX86.c
- $(CXX_C) $(CFLAGS) ../Branch/BranchX86.c
+LFLAGS = $(LFLAGS) -nologo -OPT:NOWIN98
-LZMADecoder.o: ../LZMA/LZMADecoder.cpp
- $(CXX) $(CFLAGS) ../LZMA/LZMADecoder.cpp
+PROGPATH = $O\$(PROG)
-LZMAEncoder.o: ../LZMA/LZMAEncoder.cpp
- $(CXX) $(CFLAGS) ../LZMA/LZMAEncoder.cpp
+COMPL_O1 = $(CPP) $(CFLAGS_O1) $**
+COMPL_O2 = $(CPP) $(CFLAGS_O2) $**
+COMPL = $(CPP) $(CFLAGS_O1) $**
-LZInWindow.o: ../LZ/LZInWindow.cpp
- $(CXX) $(CFLAGS) ../LZ/LZInWindow.cpp
-LZOutWindow.o: ../LZ/LZOutWindow.cpp
- $(CXX) $(CFLAGS) ../LZ/LZOutWindow.cpp
+LZMA_OBJS = \
+ $O\LzmaAlone.obj \
+ $O\LzmaBench.obj \
+ $O\LzmaRam.obj \
-RangeCoderBit.o: ../RangeCoder/RangeCoderBit.cpp
- $(CXX) $(CFLAGS) ../RangeCoder/RangeCoderBit.cpp
+LZMA_OPT_OBJS = \
+ $O\LZMADecoder.obj \
+ $O\LZMAEncoder.obj \
-InBuffer.o: ../../Common/InBuffer.cpp
- $(CXX) $(CFLAGS) ../../Common/InBuffer.cpp
+COMMON_OBJS = \
+ $O\Alloc.obj \
+ $O\CRC.obj \
+ $O\CommandLineParser.obj \
+ $O\String.obj \
+ $O\StringConvert.obj \
+ $O\StringToInt.obj \
+ $O\Vector.obj
-OutBuffer.o: ../../Common/OutBuffer.cpp
- $(CXX) $(CFLAGS) ../../Common/OutBuffer.cpp
+WIN_OBJS = \
+ $O\Synchronization.obj
-FileStreams.o: ../../Common/FileStreams.cpp
- $(CXX) $(CFLAGS) ../../Common/FileStreams.cpp
+7ZIP_COMMON_OBJS = \
+ $O\InBuffer.obj \
+ $O\OutBuffer.obj \
-Alloc.o: ../../../Common/Alloc.cpp
- $(CXX) $(CFLAGS) ../../../Common/Alloc.cpp
+LZ_OBJS = \
+ $O\LZInWindow.obj \
+ $O\LZOutWindow.obj \
-C_FileIO.o: ../../../Common/C_FileIO.cpp
- $(CXX) $(CFLAGS) ../../../Common/C_FileIO.cpp
-CommandLineParser.o: ../../../Common/CommandLineParser.cpp
- $(CXX) $(CFLAGS) ../../../Common/CommandLineParser.cpp
-
-CRC.o: ../../../Common/CRC.cpp
- $(CXX) $(CFLAGS) ../../../Common/CRC.cpp
-
-MyWindows.o: ../../../Common/MyWindows.cpp
- $(CXX) $(CFLAGS) ../../../Common/MyWindows.cpp
-
-String.o: ../../../Common/String.cpp
- $(CXX) $(CFLAGS) ../../../Common/String.cpp
-
-StringConvert.o: ../../../Common/StringConvert.cpp
- $(CXX) $(CFLAGS) ../../../Common/StringConvert.cpp
-
-StringToInt.o: ../../../Common/StringToInt.cpp
- $(CXX) $(CFLAGS) ../../../Common/StringToInt.cpp
-
-Vector.o: ../../../Common/Vector.cpp
- $(CXX) $(CFLAGS) ../../../Common/Vector.cpp
+OBJS = \
+ $(LZMA_OBJS) \
+ $(LZMA_OPT_OBJS) \
+ $(COMMON_OBJS) \
+ $(WIN_OBJS) \
+ $(7ZIP_COMMON_OBJS) \
+ $(LZ_OBJS) \
+ $O\LzmaRamDecode.obj \
+ $O\LzmaDecode.obj \
+ $O\FileStreams.obj \
+ $O\FileIO.obj \
+ $O\RangeCoderBit.obj \
+ $O\BranchX86.obj \
+
+all: $(PROGPATH)
clean:
- -$(RM) $(PROG) $(OBJS)
-
+ -del /Q $(PROGPATH) $O\*.exe $O\*.dll $O\*.obj $O\*.lib $O\*.exp $O\*.res $O\*.pch
+
+$O:
+ if not exist "$O" mkdir "$O"
+
+$(PROGPATH): $O $(OBJS)
+ link $(LFLAGS) -out:$(PROGPATH) $(OBJS) $(LIBS)
+
+
+$(LZMA_OBJS): $(*B).cpp
+ $(COMPL)
+$(LZMA_OPT_OBJS): ../LZMA/$(*B).cpp
+ $(COMPL_O2)
+$(COMMON_OBJS): ../../../Common/$(*B).cpp
+ $(COMPL)
+$(WIN_OBJS): ../../../Windows/$(*B).cpp
+ $(COMPL)
+$(7ZIP_COMMON_OBJS): ../../Common/$(*B).cpp
+ $(COMPL)
+$(LZ_OBJS): ../LZ/$(*B).cpp
+ $(COMPL)
+$O\RangeCoderBit.obj: ../RangeCoder/$(*B).cpp
+ $(COMPL)
+$O\LzmaRamDecode.obj: LzmaRamDecode.c
+ $(COMPL_O1)
+$O\LzmaDecode.obj: ../LZMA_C/LzmaDecode.c
+ $(COMPL_O2)
+$O\BranchX86.obj: ../Branch/BranchX86.c
+ $(COMPL_O2)
+$O\FileStreams.obj: ../../Common/FileStreams.cpp
+ $(COMPL)
+$O\FileIO.obj: ../../../Windows/FileIO.cpp
+ $(COMPL)
diff --git a/7zip/Compress/LZMA_Alone/makefile.gcc b/7zip/Compress/LZMA_Alone/makefile.gcc
new file mode 100755
index 00000000..afc64388
--- /dev/null
+++ b/7zip/Compress/LZMA_Alone/makefile.gcc
@@ -0,0 +1,109 @@
+PROG = lzma
+CXX = g++ -O2 -Wall
+CXX_C = gcc -O2 -Wall
+LIB = -lm
+RM = rm -f
+CFLAGS = -c -I ../../../
+
+OBJS = \
+ LzmaAlone.o \
+ LzmaBench.o \
+ LzmaRam.o \
+ LzmaRamDecode.o \
+ LzmaDecode.o \
+ BranchX86.o \
+ LZMADecoder.o \
+ LZMAEncoder.o \
+ LZInWindow.o \
+ LZOutWindow.o \
+ RangeCoderBit.o \
+ InBuffer.o \
+ OutBuffer.o \
+ FileStreams.o \
+ Alloc.o \
+ C_FileIO.o \
+ CommandLineParser.o \
+ CRC.o \
+ String.o \
+ StringConvert.o \
+ StringToInt.o \
+ Vector.o \
+
+
+all: $(PROG)
+
+$(PROG): $(OBJS)
+ $(CXX) -o $(PROG) $(LDFLAGS) $(OBJS) $(LIB)
+
+LzmaAlone.o: LzmaAlone.cpp
+ $(CXX) $(CFLAGS) LzmaAlone.cpp
+
+LzmaBench.o: LzmaBench.cpp
+ $(CXX) $(CFLAGS) LzmaBench.cpp
+
+LzmaRam.o: LzmaRam.cpp
+ $(CXX) $(CFLAGS) LzmaRam.cpp
+
+LzmaRamDecode.o: LzmaRamDecode.c
+ $(CXX_C) $(CFLAGS) LzmaRamDecode.c
+
+LzmaDecode.o: ../LZMA_C/LzmaDecode.c
+ $(CXX_C) $(CFLAGS) ../LZMA_C/LzmaDecode.c
+
+BranchX86.o: ../Branch/BranchX86.c
+ $(CXX_C) $(CFLAGS) ../Branch/BranchX86.c
+
+LZMADecoder.o: ../LZMA/LZMADecoder.cpp
+ $(CXX) $(CFLAGS) ../LZMA/LZMADecoder.cpp
+
+LZMAEncoder.o: ../LZMA/LZMAEncoder.cpp
+ $(CXX) $(CFLAGS) ../LZMA/LZMAEncoder.cpp
+
+LZInWindow.o: ../LZ/LZInWindow.cpp
+ $(CXX) $(CFLAGS) ../LZ/LZInWindow.cpp
+
+LZOutWindow.o: ../LZ/LZOutWindow.cpp
+ $(CXX) $(CFLAGS) ../LZ/LZOutWindow.cpp
+
+RangeCoderBit.o: ../RangeCoder/RangeCoderBit.cpp
+ $(CXX) $(CFLAGS) ../RangeCoder/RangeCoderBit.cpp
+
+InBuffer.o: ../../Common/InBuffer.cpp
+ $(CXX) $(CFLAGS) ../../Common/InBuffer.cpp
+
+OutBuffer.o: ../../Common/OutBuffer.cpp
+ $(CXX) $(CFLAGS) ../../Common/OutBuffer.cpp
+
+FileStreams.o: ../../Common/FileStreams.cpp
+ $(CXX) $(CFLAGS) ../../Common/FileStreams.cpp
+
+Alloc.o: ../../../Common/Alloc.cpp
+ $(CXX) $(CFLAGS) ../../../Common/Alloc.cpp
+
+C_FileIO.o: ../../../Common/C_FileIO.cpp
+ $(CXX) $(CFLAGS) ../../../Common/C_FileIO.cpp
+
+CommandLineParser.o: ../../../Common/CommandLineParser.cpp
+ $(CXX) $(CFLAGS) ../../../Common/CommandLineParser.cpp
+
+CRC.o: ../../../Common/CRC.cpp
+ $(CXX) $(CFLAGS) ../../../Common/CRC.cpp
+
+MyWindows.o: ../../../Common/MyWindows.cpp
+ $(CXX) $(CFLAGS) ../../../Common/MyWindows.cpp
+
+String.o: ../../../Common/String.cpp
+ $(CXX) $(CFLAGS) ../../../Common/String.cpp
+
+StringConvert.o: ../../../Common/StringConvert.cpp
+ $(CXX) $(CFLAGS) ../../../Common/StringConvert.cpp
+
+StringToInt.o: ../../../Common/StringToInt.cpp
+ $(CXX) $(CFLAGS) ../../../Common/StringToInt.cpp
+
+Vector.o: ../../../Common/Vector.cpp
+ $(CXX) $(CFLAGS) ../../../Common/Vector.cpp
+
+clean:
+ -$(RM) $(PROG) $(OBJS)
+
diff --git a/7zip/Compress/PPMD/PPMD.def b/7zip/Compress/PPMD/PPMD.def
deleted file mode 100755
index bec83a03..00000000
--- a/7zip/Compress/PPMD/PPMD.def
+++ /dev/null
@@ -1,9 +0,0 @@
-; PPMD.def
-
-LIBRARY PPMD.dll
-
-EXPORTS
- CreateObject PRIVATE
- GetNumberOfMethods PRIVATE
- GetMethodProperty PRIVATE
-
diff --git a/7zip/Compress/PPMD/PPMD.dsp b/7zip/Compress/PPMD/PPMD.dsp
index 9b10af62..09c3d7f8 100755
--- a/7zip/Compress/PPMD/PPMD.dsp
+++ b/7zip/Compress/PPMD/PPMD.dsp
@@ -93,11 +93,11 @@ LINK32=link.exe
# PROP Default_Filter ""
# Begin Source File
-SOURCE=.\DllExports.cpp
+SOURCE=..\Codec.def
# End Source File
# Begin Source File
-SOURCE=.\PPMD.def
+SOURCE=.\DllExports.cpp
# End Source File
# Begin Source File
diff --git a/7zip/Compress/PPMD/PPMDSubAlloc.h b/7zip/Compress/PPMD/PPMDSubAlloc.h
index e92ec316..7275d237 100755
--- a/7zip/Compress/PPMD/PPMDSubAlloc.h
+++ b/7zip/Compress/PPMD/PPMDSubAlloc.h
@@ -84,7 +84,7 @@ public:
UInt32 GetUsedMemory()
{
- UInt32 i, k, RetVal = SubAllocatorSize - (HiUnit - LoUnit) - (UnitsStart-pText);
+ UInt32 i, k, RetVal = SubAllocatorSize - (UInt32)(HiUnit - LoUnit) - (UInt32)(UnitsStart - pText);
for (k = i = 0; i < N_INDEXES; i++, k = 0)
{
for (NODE* pn = FreeList + i;(pn = pn->Next) != NULL; k++)
diff --git a/7zip/Compress/PPMD/makefile b/7zip/Compress/PPMD/makefile
new file mode 100755
index 00000000..9f12f423
--- /dev/null
+++ b/7zip/Compress/PPMD/makefile
@@ -0,0 +1,40 @@
+PROG = PPMd.dll
+DEF_FILE = ../Codec.def
+CFLAGS = $(CFLAGS) -I ../../../
+LIBS = $(LIBS) oleaut32.lib
+
+PPMD_OBJS = \
+ $O\DllExports.obj \
+
+PPMD_OPT_OBJS = \
+ $O\PPMDDecoder.obj \
+ $O\PPMDEncoder.obj \
+
+COMMON_OBJS = \
+ $O\Alloc.obj \
+
+7ZIP_COMMON_OBJS = \
+ $O\InBuffer.obj \
+ $O\OutBuffer.obj \
+
+
+OBJS = \
+ $O\StdAfx.obj \
+ $(PPMD_OBJS) \
+ $(PPMD_OPT_OBJS) \
+ $(COMMON_OBJS) \
+ $(7ZIP_COMMON_OBJS) \
+ $O\resource.res
+
+
+!include "../../../Build.mak"
+
+$(PPMD_OBJS): $(*B).cpp
+ $(COMPL)
+$(PPMD_OPT_OBJS): $(*B).cpp
+ $(COMPL_O2)
+$(COMMON_OBJS): ../../../Common/$(*B).cpp
+ $(COMPL)
+$(7ZIP_COMMON_OBJS): ../../Common/$(*B).cpp
+ $(COMPL)
+
diff --git a/7zip/Compress/PPMD/resource.h b/7zip/Compress/PPMD/resource.h
deleted file mode 100755
index 612062a2..00000000
--- a/7zip/Compress/PPMD/resource.h
+++ /dev/null
@@ -1,15 +0,0 @@
-//{{NO_DEPENDENCIES}}
-// Microsoft Developer Studio generated include file.
-// Used by resource.rc
-//
-
-// Next default values for new objects
-//
-#ifdef APSTUDIO_INVOKED
-#ifndef APSTUDIO_READONLY_SYMBOLS
-#define _APS_NEXT_RESOURCE_VALUE 101
-#define _APS_NEXT_COMMAND_VALUE 40001
-#define _APS_NEXT_CONTROL_VALUE 1000
-#define _APS_NEXT_SYMED_VALUE 101
-#endif
-#endif
diff --git a/7zip/Compress/PPMD/resource.rc b/7zip/Compress/PPMD/resource.rc
index 8ac85eba..fed98e19 100755
--- a/7zip/Compress/PPMD/resource.rc
+++ b/7zip/Compress/PPMD/resource.rc
@@ -1,121 +1,3 @@
-//Microsoft Developer Studio generated resource script.
-//
-#include "resource.h"
-
-#define APSTUDIO_READONLY_SYMBOLS
-/////////////////////////////////////////////////////////////////////////////
-//
-// Generated from the TEXTINCLUDE 2 resource.
-//
-#include "afxres.h"
-
-/////////////////////////////////////////////////////////////////////////////
-#undef APSTUDIO_READONLY_SYMBOLS
-
-/////////////////////////////////////////////////////////////////////////////
-// Russian resources
-
-#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_RUS)
-#ifdef _WIN32
-LANGUAGE LANG_RUSSIAN, SUBLANG_DEFAULT
-#pragma code_page(1251)
-#endif //_WIN32
-
-#ifdef APSTUDIO_INVOKED
-/////////////////////////////////////////////////////////////////////////////
-//
-// TEXTINCLUDE
-//
-
-1 TEXTINCLUDE DISCARDABLE
-BEGIN
- "resource.h\0"
-END
-
-2 TEXTINCLUDE DISCARDABLE
-BEGIN
- "#include ""afxres.h""\r\n"
- "\0"
-END
-
-3 TEXTINCLUDE DISCARDABLE
-BEGIN
- "\r\n"
- "\0"
-END
-
-#endif // APSTUDIO_INVOKED
-
-#endif // Russian resources
-/////////////////////////////////////////////////////////////////////////////
-
-
-/////////////////////////////////////////////////////////////////////////////
-// English (U.S.) resources
-
-#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_ENU)
-#ifdef _WIN32
-LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US
-#pragma code_page(1252)
-#endif //_WIN32
-
-#ifndef _MAC
-/////////////////////////////////////////////////////////////////////////////
-//
-// Version
-//
-
-VS_VERSION_INFO VERSIONINFO
- FILEVERSION 4,16,0,0
- PRODUCTVERSION 4,16,0,0
- FILEFLAGSMASK 0x3fL
-#ifdef _DEBUG
- FILEFLAGS 0x1L
-#else
- FILEFLAGS 0x0L
-#endif
- FILEOS 0x40004L
- FILETYPE 0x2L
- FILESUBTYPE 0x0L
-BEGIN
- BLOCK "StringFileInfo"
- BEGIN
- BLOCK "040904b0"
- BEGIN
- VALUE "Comments", "\0"
- VALUE "CompanyName", "Igor Pavlov\0"
- VALUE "FileDescription", "PPMd Coder\0"
- VALUE "FileVersion", "4, 16, 0, 0\0"
- VALUE "InternalName", "PPMd\0"
- VALUE "LegalCopyright", "Copyright (C) 1999-2005 Igor Pavlov\0"
- VALUE "LegalTrademarks", "\0"
- VALUE "OriginalFilename", "PPMd.dll\0"
- VALUE "PrivateBuild", "\0"
- VALUE "ProductName", "7-Zip\0"
- VALUE "ProductVersion", "4, 16, 0, 0\0"
- VALUE "SpecialBuild", "\0"
- END
- END
- BLOCK "VarFileInfo"
- BEGIN
- VALUE "Translation", 0x409, 1200
- END
-END
-
-#endif // !_MAC
-
-#endif // English (U.S.) resources
-/////////////////////////////////////////////////////////////////////////////
-
-
-
-#ifndef APSTUDIO_INVOKED
-/////////////////////////////////////////////////////////////////////////////
-//
-// Generated from the TEXTINCLUDE 3 resource.
-//
-
-
-/////////////////////////////////////////////////////////////////////////////
-#endif // not APSTUDIO_INVOKED
+#include "../../MyVersionInfo.rc"
+MY_VERSION_INFO_DLL("PPMd Codec", "PPMd")
diff --git a/7zip/Compress/Shrink/resource.h b/7zip/Compress/Shrink/resource.h
deleted file mode 100755
index 612062a2..00000000
--- a/7zip/Compress/Shrink/resource.h
+++ /dev/null
@@ -1,15 +0,0 @@
-//{{NO_DEPENDENCIES}}
-// Microsoft Developer Studio generated include file.
-// Used by resource.rc
-//
-
-// Next default values for new objects
-//
-#ifdef APSTUDIO_INVOKED
-#ifndef APSTUDIO_READONLY_SYMBOLS
-#define _APS_NEXT_RESOURCE_VALUE 101
-#define _APS_NEXT_COMMAND_VALUE 40001
-#define _APS_NEXT_CONTROL_VALUE 1000
-#define _APS_NEXT_SYMED_VALUE 101
-#endif
-#endif
diff --git a/7zip/Compress/makefile b/7zip/Compress/makefile
new file mode 100755
index 00000000..68a8502c
--- /dev/null
+++ b/7zip/Compress/makefile
@@ -0,0 +1,14 @@
+DIRS = \
+ Branch\~ \
+ ByteSwap\~ \
+ BZip2\~ \
+ Copy\~ \
+ Deflate\~ \
+ LZMA\~ \
+ PPMD\~ \
+ Rar29\~ \
+
+all: $(DIRS)
+
+$(DIRS):
+!include "../SubBuild.mak"
diff --git a/7zip/Crypto/7zAES/7zAES.def b/7zip/Crypto/7zAES/7zAES.def
deleted file mode 100755
index 078b2085..00000000
--- a/7zip/Crypto/7zAES/7zAES.def
+++ /dev/null
@@ -1,8 +0,0 @@
-; 7zAES.def
-
-LIBRARY 7zAES.dll
-
-EXPORTS
- CreateObject PRIVATE
- GetNumberOfMethods PRIVATE
- GetMethodProperty PRIVATE
diff --git a/7zip/Crypto/7zAES/7zAES.dsp b/7zip/Crypto/7zAES/7zAES.dsp
index 3a14c7e9..d329ea6f 100755
--- a/7zip/Crypto/7zAES/7zAES.dsp
+++ b/7zip/Crypto/7zAES/7zAES.dsp
@@ -93,7 +93,7 @@ LINK32=link.exe
# PROP Default_Filter ""
# Begin Source File
-SOURCE=.\7zAES.def
+SOURCE=..\Codec.def
# End Source File
# Begin Source File
@@ -101,10 +101,6 @@ SOURCE=.\DllExports.cpp
# End Source File
# Begin Source File
-SOURCE=.\resource.h
-# End Source File
-# Begin Source File
-
SOURCE=.\resource.rc
# End Source File
# Begin Source File
diff --git a/7zip/Crypto/7zAES/SHA256.cpp b/7zip/Crypto/7zAES/SHA256.cpp
index 9bfa34eb..cd80110f 100755
--- a/7zip/Crypto/7zAES/SHA256.cpp
+++ b/7zip/Crypto/7zAES/SHA256.cpp
@@ -138,7 +138,7 @@ void SHA256::WriteByteBlock()
Transform(m_digest, data32);
}
-void SHA256::Update(const Byte *data, UInt32 size)
+void SHA256::Update(const Byte *data, size_t size)
{
UInt32 curBufferPos = UInt32(m_count) & 0x3F;
while (size > 0)
diff --git a/7zip/Crypto/7zAES/SHA256.h b/7zip/Crypto/7zAES/SHA256.h
index 0ccebca2..aaf40e90 100755
--- a/7zip/Crypto/7zAES/SHA256.h
+++ b/7zip/Crypto/7zAES/SHA256.h
@@ -21,7 +21,7 @@ public:
enum {DIGESTSIZE = 32};
SHA256() { Init(); } ;
void Init();
- void Update(const Byte *data, UInt32 size);
+ void Update(const Byte *data, size_t size);
void Final(Byte *digest);
};
diff --git a/7zip/Crypto/7zAES/makefile b/7zip/Crypto/7zAES/makefile
new file mode 100755
index 00000000..49b0fbf0
--- /dev/null
+++ b/7zip/Crypto/7zAES/makefile
@@ -0,0 +1,46 @@
+PROG = 7zAES.dll
+DEF_FILE = ../Codec.def
+CFLAGS = $(CFLAGS) -I ../../../
+LIBS = $(LIBS) oleaut32.lib user32.lib
+
+7ZAES_OBJS = \
+ $O\DllExports.obj \
+
+7ZAES_OPT_OBJS = \
+ $O\7zAES.obj \
+ $O\SHA256.obj \
+
+COMMON_OBJS = \
+ $O\Alloc.obj \
+ $O\NewHandler.obj \
+ $O\StringConvert.obj \
+ $O\Vector.obj \
+
+WIN_OBJS = \
+ $O\DLL.obj \
+ $O\Synchronization.obj
+
+7ZIP_COMMON_OBJS = \
+ $O\StreamObjects.obj \
+
+OBJS = \
+ $O\StdAfx.obj \
+ $(7ZAES_OBJS) \
+ $(7ZAES_OPT_OBJS) \
+ $(COMMON_OBJS) \
+ $(WIN_OBJS) \
+ $(7ZIP_COMMON_OBJS) \
+ $O\resource.res
+
+!include "../../../Build.mak"
+
+$(7ZAES_OBJS): $(*B).cpp
+ $(COMPL)
+$(7ZAES_OPT_OBJS): $(*B).cpp
+ $(COMPL)
+$(COMMON_OBJS): ../../../Common/$(*B).cpp
+ $(COMPL)
+$(WIN_OBJS): ../../../Windows/$(*B).cpp
+ $(COMPL)
+$(7ZIP_COMMON_OBJS): ../../Common/$(*B).cpp
+ $(COMPL)
diff --git a/7zip/Crypto/7zAES/resource.h b/7zip/Crypto/7zAES/resource.h
deleted file mode 100755
index 612062a2..00000000
--- a/7zip/Crypto/7zAES/resource.h
+++ /dev/null
@@ -1,15 +0,0 @@
-//{{NO_DEPENDENCIES}}
-// Microsoft Developer Studio generated include file.
-// Used by resource.rc
-//
-
-// Next default values for new objects
-//
-#ifdef APSTUDIO_INVOKED
-#ifndef APSTUDIO_READONLY_SYMBOLS
-#define _APS_NEXT_RESOURCE_VALUE 101
-#define _APS_NEXT_COMMAND_VALUE 40001
-#define _APS_NEXT_CONTROL_VALUE 1000
-#define _APS_NEXT_SYMED_VALUE 101
-#endif
-#endif
diff --git a/7zip/Crypto/7zAES/resource.rc b/7zip/Crypto/7zAES/resource.rc
index d88d16c8..24d428de 100755
--- a/7zip/Crypto/7zAES/resource.rc
+++ b/7zip/Crypto/7zAES/resource.rc
@@ -1,121 +1,3 @@
-//Microsoft Developer Studio generated resource script.
-//
-#include "resource.h"
-
-#define APSTUDIO_READONLY_SYMBOLS
-/////////////////////////////////////////////////////////////////////////////
-//
-// Generated from the TEXTINCLUDE 2 resource.
-//
-#include "afxres.h"
-
-/////////////////////////////////////////////////////////////////////////////
-#undef APSTUDIO_READONLY_SYMBOLS
-
-/////////////////////////////////////////////////////////////////////////////
-// Russian resources
-
-#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_RUS)
-#ifdef _WIN32
-LANGUAGE LANG_RUSSIAN, SUBLANG_DEFAULT
-#pragma code_page(1251)
-#endif //_WIN32
-
-#ifdef APSTUDIO_INVOKED
-/////////////////////////////////////////////////////////////////////////////
-//
-// TEXTINCLUDE
-//
-
-1 TEXTINCLUDE DISCARDABLE
-BEGIN
- "resource.h\0"
-END
-
-2 TEXTINCLUDE DISCARDABLE
-BEGIN
- "#include ""afxres.h""\r\n"
- "\0"
-END
-
-3 TEXTINCLUDE DISCARDABLE
-BEGIN
- "\r\n"
- "\0"
-END
-
-#endif // APSTUDIO_INVOKED
-
-#endif // Russian resources
-/////////////////////////////////////////////////////////////////////////////
-
-
-/////////////////////////////////////////////////////////////////////////////
-// English (U.S.) resources
-
-#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_ENU)
-#ifdef _WIN32
-LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US
-#pragma code_page(1252)
-#endif //_WIN32
-
-#ifndef _MAC
-/////////////////////////////////////////////////////////////////////////////
-//
-// Version
-//
-
-VS_VERSION_INFO VERSIONINFO
- FILEVERSION 4,16,0,0
- PRODUCTVERSION 4,16,0,0
- FILEFLAGSMASK 0x3fL
-#ifdef _DEBUG
- FILEFLAGS 0x1L
-#else
- FILEFLAGS 0x0L
-#endif
- FILEOS 0x40004L
- FILETYPE 0x2L
- FILESUBTYPE 0x0L
-BEGIN
- BLOCK "StringFileInfo"
- BEGIN
- BLOCK "040904b0"
- BEGIN
- VALUE "Comments", "\0"
- VALUE "CompanyName", "Igor Pavlov\0"
- VALUE "FileDescription", "7z-AES Crypto Codec\0"
- VALUE "FileVersion", "4, 16, 0, 0\0"
- VALUE "InternalName", "7zAES\0"
- VALUE "LegalCopyright", "Copyright (C) 1999-2005 Igor Pavlov\0"
- VALUE "LegalTrademarks", "\0"
- VALUE "OriginalFilename", "7zAES.dll\0"
- VALUE "PrivateBuild", "\0"
- VALUE "ProductName", "7-Zip\0"
- VALUE "ProductVersion", "4, 16, 0, 0\0"
- VALUE "SpecialBuild", "\0"
- END
- END
- BLOCK "VarFileInfo"
- BEGIN
- VALUE "Translation", 0x409, 1200
- END
-END
-
-#endif // !_MAC
-
-#endif // English (U.S.) resources
-/////////////////////////////////////////////////////////////////////////////
-
-
-
-#ifndef APSTUDIO_INVOKED
-/////////////////////////////////////////////////////////////////////////////
-//
-// Generated from the TEXTINCLUDE 3 resource.
-//
-
-
-/////////////////////////////////////////////////////////////////////////////
-#endif // not APSTUDIO_INVOKED
+#include "../../MyVersionInfo.rc"
+MY_VERSION_INFO_DLL("7zAES Codec", "7zAES")
diff --git a/7zip/Crypto/AES/AES.dsp b/7zip/Crypto/AES/AES.dsp
index c196c5d8..d039be77 100755
--- a/7zip/Crypto/AES/AES.dsp
+++ b/7zip/Crypto/AES/AES.dsp
@@ -93,7 +93,7 @@ LINK32=link.exe
# PROP Default_Filter ""
# Begin Source File
-SOURCE=.\AES.def
+SOURCE=..\Codec.def
# End Source File
# Begin Source File
diff --git a/7zip/Crypto/AES/makefile b/7zip/Crypto/AES/makefile
new file mode 100755
index 00000000..a6b61c41
--- /dev/null
+++ b/7zip/Crypto/AES/makefile
@@ -0,0 +1,31 @@
+PROG = AES.dll
+DEF_FILE = ../Codec.def
+CFLAGS = $(CFLAGS) -I ../../../
+LIBS = $(LIBS) oleaut32.lib
+
+AES_OBJS = \
+ $O\DllExports.obj \
+
+AES_OPT_OBJS = \
+ $O\MyAES.obj \
+
+AES_ORIG_OBJS = \
+ $O\aescrypt.obj \
+ $O\aeskey.obj \
+ $O\aestab.obj \
+
+OBJS = \
+ $O\StdAfx.obj \
+ $(AES_OBJS) \
+ $(AES_OPT_OBJS) \
+ $(AES_ORIG_OBJS) \
+ $O\resource.res
+
+!include "../../../Build.mak"
+
+$(AES_OBJS): $(*B).cpp
+ $(COMPL)
+$(AES_OPT_OBJS): $(*B).cpp
+ $(COMPL_O2)
+$(AES_ORIG_OBJS): $(*B).c
+ $(COMPL_O2)
diff --git a/7zip/Crypto/AES/resource.h b/7zip/Crypto/AES/resource.h
deleted file mode 100755
index 612062a2..00000000
--- a/7zip/Crypto/AES/resource.h
+++ /dev/null
@@ -1,15 +0,0 @@
-//{{NO_DEPENDENCIES}}
-// Microsoft Developer Studio generated include file.
-// Used by resource.rc
-//
-
-// Next default values for new objects
-//
-#ifdef APSTUDIO_INVOKED
-#ifndef APSTUDIO_READONLY_SYMBOLS
-#define _APS_NEXT_RESOURCE_VALUE 101
-#define _APS_NEXT_COMMAND_VALUE 40001
-#define _APS_NEXT_CONTROL_VALUE 1000
-#define _APS_NEXT_SYMED_VALUE 101
-#endif
-#endif
diff --git a/7zip/Crypto/AES/resource.rc b/7zip/Crypto/AES/resource.rc
index 2f243181..1ea1bfe7 100755
--- a/7zip/Crypto/AES/resource.rc
+++ b/7zip/Crypto/AES/resource.rc
@@ -1,121 +1,3 @@
-//Microsoft Developer Studio generated resource script.
-//
-#include "resource.h"
-
-#define APSTUDIO_READONLY_SYMBOLS
-/////////////////////////////////////////////////////////////////////////////
-//
-// Generated from the TEXTINCLUDE 2 resource.
-//
-#include "afxres.h"
-
-/////////////////////////////////////////////////////////////////////////////
-#undef APSTUDIO_READONLY_SYMBOLS
-
-/////////////////////////////////////////////////////////////////////////////
-// Russian resources
-
-#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_RUS)
-#ifdef _WIN32
-LANGUAGE LANG_RUSSIAN, SUBLANG_DEFAULT
-#pragma code_page(1251)
-#endif //_WIN32
-
-#ifdef APSTUDIO_INVOKED
-/////////////////////////////////////////////////////////////////////////////
-//
-// TEXTINCLUDE
-//
-
-1 TEXTINCLUDE DISCARDABLE
-BEGIN
- "resource.h\0"
-END
-
-2 TEXTINCLUDE DISCARDABLE
-BEGIN
- "#include ""afxres.h""\r\n"
- "\0"
-END
-
-3 TEXTINCLUDE DISCARDABLE
-BEGIN
- "\r\n"
- "\0"
-END
-
-#endif // APSTUDIO_INVOKED
-
-#endif // Russian resources
-/////////////////////////////////////////////////////////////////////////////
-
-
-/////////////////////////////////////////////////////////////////////////////
-// English (U.S.) resources
-
-#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_ENU)
-#ifdef _WIN32
-LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US
-#pragma code_page(1252)
-#endif //_WIN32
-
-#ifndef _MAC
-/////////////////////////////////////////////////////////////////////////////
-//
-// Version
-//
-
-VS_VERSION_INFO VERSIONINFO
- FILEVERSION 4,16,0,0
- PRODUCTVERSION 4,16,0,0
- FILEFLAGSMASK 0x3fL
-#ifdef _DEBUG
- FILEFLAGS 0x1L
-#else
- FILEFLAGS 0x0L
-#endif
- FILEOS 0x40004L
- FILETYPE 0x2L
- FILESUBTYPE 0x0L
-BEGIN
- BLOCK "StringFileInfo"
- BEGIN
- BLOCK "040904b0"
- BEGIN
- VALUE "Comments", "\0"
- VALUE "CompanyName", "Igor Pavlov\0"
- VALUE "FileDescription", "AES Crypto Codec\0"
- VALUE "FileVersion", "4, 16, 0, 0\0"
- VALUE "InternalName", "AES\0"
- VALUE "LegalCopyright", "Copyright (C) 1999-2005 Igor Pavlov\0"
- VALUE "LegalTrademarks", "\0"
- VALUE "OriginalFilename", "AES.dll\0"
- VALUE "PrivateBuild", "\0"
- VALUE "ProductName", "7-Zip\0"
- VALUE "ProductVersion", "4, 16, 0, 0\0"
- VALUE "SpecialBuild", "\0"
- END
- END
- BLOCK "VarFileInfo"
- BEGIN
- VALUE "Translation", 0x409, 1200
- END
-END
-
-#endif // !_MAC
-
-#endif // English (U.S.) resources
-/////////////////////////////////////////////////////////////////////////////
-
-
-
-#ifndef APSTUDIO_INVOKED
-/////////////////////////////////////////////////////////////////////////////
-//
-// Generated from the TEXTINCLUDE 3 resource.
-//
-
-
-/////////////////////////////////////////////////////////////////////////////
-#endif // not APSTUDIO_INVOKED
+#include "../../MyVersionInfo.rc"
+MY_VERSION_INFO_DLL("AES Codec", "AES")
diff --git a/7zip/Crypto/AES/AES.def b/7zip/Crypto/Codec.def
index 392f21a3..ebf73a3b 100755
--- a/7zip/Crypto/AES/AES.def
+++ b/7zip/Crypto/Codec.def
@@ -1,7 +1,3 @@
-; AES.def
-
-LIBRARY AES.dll
-
EXPORTS
CreateObject PRIVATE
GetNumberOfMethods PRIVATE
diff --git a/7zip/Crypto/RarAES/RarAES.cpp b/7zip/Crypto/RarAES/RarAES.cpp
index 827990af..16a48349 100755
--- a/7zip/Crypto/RarAES/RarAES.cpp
+++ b/7zip/Crypto/RarAES/RarAES.cpp
@@ -119,32 +119,38 @@ void CDecoder::Calculate()
rawLength += SALT_SIZE;
}
- hash_context c;
- hash_initial(&c);
+ CSHA1 sha;
+ sha.Init();
+ // seems rar reverts hash for sha.
const int hashRounds = 0x40000;
int i;
for (i = 0; i < hashRounds; i++)
{
- hash_process(&c, rawPassword, rawLength);
+ sha.Update(rawPassword, rawLength);
Byte pswNum[3];
pswNum[0] = (Byte)i;
pswNum[1] = (Byte)(i >> 8);
pswNum[2] = (Byte)(i >> 16);
- hash_process(&c, pswNum, 3);
+ sha.Update(pswNum, 3);
if (i % (hashRounds / 16) == 0)
{
- hash_context tempc = c;
- UInt32 digest[5];
- hash_final(&tempc, digest);
- aesInit[i / (hashRounds / 16)] = (Byte)digest[4];
+ CSHA1 shaTemp = sha;
+ Byte digest[20];
+ shaTemp.Final(digest);
+ aesInit[i / (hashRounds / 16)] = (Byte)digest[4 * 4 + 3];
}
}
- UInt32 digest[5];
- hash_final(&c, digest);
+ /*
+ // it's test message for sha
+ const char *message = "abcdbcdecdefdefgefghfghighijhijkijkljklmklmnlmnomnopnopq";
+ sha.Update((const Byte *)message, strlen(message));
+ */
+ Byte digest[20];
+ sha.Final(digest);
for (i = 0; i < 4; i++)
for (int j = 0; j < 4; j++)
- aesKey[i * 4 + j] = (Byte)(digest[i] >> (j * 8));
+ aesKey[i * 4 + j] = (digest[i * 4 + 3 - j]);
}
_needCalculate = false;
}
diff --git a/7zip/Crypto/RarAES/sha1.cpp b/7zip/Crypto/RarAES/sha1.cpp
index d6a503cb..d1a28ed4 100755
--- a/7zip/Crypto/RarAES/sha1.cpp
+++ b/7zip/Crypto/RarAES/sha1.cpp
@@ -1,111 +1,45 @@
// sha1.cpp
-// This file from UnRar sources
+// This file is based on public domain
+// Steve Reid and Wei Dai's code from Crypto++
#include "StdAfx.h"
#include "sha1.h"
-/*
-SHA-1 in C
-By Steve Reid <steve@edmweb.com>
-100% Public Domain
-
- Test Vectors (from FIPS PUB 180-1)
- "abc"
- A9993E36 4706816A BA3E2571 7850C26C 9CD0D89D
- "abcdbcdecdefdefgefghfghighijhijkijkljklmklmnlmnomnopnopq"
- 84983E44 1C3BD26E BAAE4AA1 F95129E5 E54670F1
- A million repetitions of "a"
- 34AA973C D4C4DAA4 F61EEB2B DBAD2731 6534016F
-*/
-
-#if !defined(LITTLE_ENDIAN) && !defined(BIG_ENDIAN)
-#if defined(_M_IX86) || defined(_M_I86) || defined(__alpha)
-#define LITTLE_ENDIAN
-#else
-#error "LITTLE_ENDIAN or BIG_ENDIAN must be defined"
-#endif
-#endif
-
-/* #define SHA1HANDSOFF * Copies data before messing with it. */
-
-#define rol(value, bits) (((value) << (bits)) | ((value) >> (32 - (bits))))
-
-/* blk0() and blk() perform the initial expand. */
-/* I got the idea of expanding during the round function from SSLeay */
-#ifdef LITTLE_ENDIAN
-#define blk0(i) (block->l[i] = (rol(block->l[i],24)&0xFF00FF00) \
-|(rol(block->l[i],8)&0x00FF00FF))
-#else
-#define blk0(i) block->l[i]
-#endif
-#define blk(i) (block->l[i&15] = rol(block->l[(i+13)&15]^block->l[(i+8)&15] \
-^block->l[(i+2)&15]^block->l[i&15],1))
+static inline rotlFixed(UInt32 x, int n)
+{
+ return (x << n) | (x >> (32 - n));
+}
+
+#define blk0(i) (W[i] = data[i])
+#define blk1(i) (W[i&15] = rotlFixed(W[(i+13)&15]^W[(i+8)&15]^W[(i+2)&15]^W[i&15],1))
+
+#define f1(x,y,z) (z^(x&(y^z)))
+#define f2(x,y,z) (x^y^z)
+#define f3(x,y,z) ((x&y)|(z&(x|y)))
+#define f4(x,y,z) (x^y^z)
/* (R0+R1), R2, R3, R4 are the different operations used in SHA1 */
-#define R0(v,w,x,y,z,i) {z+=((w&(x^y))^y)+blk0(i)+0x5A827999+rol(v,5);w=rol(w,30);}
-#define R1(v,w,x,y,z,i) {z+=((w&(x^y))^y)+blk(i)+0x5A827999+rol(v,5);w=rol(w,30);}
-#define R2(v,w,x,y,z,i) {z+=(w^x^y)+blk(i)+0x6ED9EBA1+rol(v,5);w=rol(w,30);}
-#define R3(v,w,x,y,z,i) {z+=(((w|x)&y)|(w&x))+blk(i)+0x8F1BBCDC+rol(v,5);w=rol(w,30);}
-#define R4(v,w,x,y,z,i) {z+=(w^x^y)+blk(i)+0xCA62C1D6+rol(v,5);w=rol(w,30);}
+#define R0(v,w,x,y,z,i) z+=f1(w,x,y)+blk0(i)+0x5A827999+rotlFixed(v,5);w=rotlFixed(w,30);
+#define R1(v,w,x,y,z,i) z+=f1(w,x,y)+blk1(i)+0x5A827999+rotlFixed(v,5);w=rotlFixed(w,30);
+#define R2(v,w,x,y,z,i) z+=f2(w,x,y)+blk1(i)+0x6ED9EBA1+rotlFixed(v,5);w=rotlFixed(w,30);
+#define R3(v,w,x,y,z,i) z+=f3(w,x,y)+blk1(i)+0x8F1BBCDC+rotlFixed(v,5);w=rotlFixed(w,30);
+#define R4(v,w,x,y,z,i) z+=f4(w,x,y)+blk1(i)+0xCA62C1D6+rotlFixed(v,5);w=rotlFixed(w,30);
/* Hash a single 512-bit block. This is the core of the algorithm. */
-void SHA1Transform(UInt32 state[5], unsigned char buffer[64])
+void CSHA1::Transform(const UInt32 data[16])
{
UInt32 a, b, c, d, e;
- typedef union {
- unsigned char c[64];
- UInt32 l[16];
- } CHAR64LONG16;
- CHAR64LONG16* block;
-#ifdef SHA1HANDSOFF
- static unsigned char workspace[64];
- block = (CHAR64LONG16*)workspace;
- memcpy(block, buffer, 64);
-#else
- block = (CHAR64LONG16*)buffer;
-#endif
-#ifdef SFX_MODULE
- static int pos[80][5];
- static bool pinit=false;
- if (!pinit)
- {
- for (int I=0,P=0;I<80;I++,P=(P ? P-1:4))
- {
- pos[I][0]=P;
- pos[I][1]=(P+1)%5;
- pos[I][2]=(P+2)%5;
- pos[I][3]=(P+3)%5;
- pos[I][4]=(P+4)%5;
- }
- pinit=true;
- }
- UInt32 s[5];
- for (int I=0;I<sizeof(s)/sizeof(s[0]);I++)
- s[I]=state[I];
-
- for (int I=0;I<16;I++)
- R0(s[pos[I][0]],s[pos[I][1]],s[pos[I][2]],s[pos[I][3]],s[pos[I][4]],I);
- for (int I=16;I<20;I++)
- R1(s[pos[I][0]],s[pos[I][1]],s[pos[I][2]],s[pos[I][3]],s[pos[I][4]],I);
- for (int I=20;I<40;I++)
- R2(s[pos[I][0]],s[pos[I][1]],s[pos[I][2]],s[pos[I][3]],s[pos[I][4]],I);
- for (int I=40;I<60;I++)
- R3(s[pos[I][0]],s[pos[I][1]],s[pos[I][2]],s[pos[I][3]],s[pos[I][4]],I);
- for (int I=60;I<80;I++)
- R4(s[pos[I][0]],s[pos[I][1]],s[pos[I][2]],s[pos[I][3]],s[pos[I][4]],I);
-
- for (int I=0;I<sizeof(s)/sizeof(s[0]);I++)
- state[I]+=s[I];
-#else
- /* Copy context->state[] to working vars */
- a = state[0];
- b = state[1];
- c = state[2];
- d = state[3];
- e = state[4];
+ UInt32 W[16];
+
+ /* Copy context->m_State[] to working vars */
+ a = m_State[0];
+ b = m_State[1];
+ c = m_State[2];
+ d = m_State[3];
+ e = m_State[4];
/* 4 rounds of 20 operations each. Loop unrolled. */
R0(a,b,c,d,e, 0); R0(e,a,b,c,d, 1); R0(d,e,a,b,c, 2); R0(c,d,e,a,b, 3);
R0(b,c,d,e,a, 4); R0(a,b,c,d,e, 5); R0(e,a,b,c,d, 6); R0(d,e,a,b,c, 7);
@@ -127,88 +61,90 @@ void SHA1Transform(UInt32 state[5], unsigned char buffer[64])
R4(c,d,e,a,b,68); R4(b,c,d,e,a,69); R4(a,b,c,d,e,70); R4(e,a,b,c,d,71);
R4(d,e,a,b,c,72); R4(c,d,e,a,b,73); R4(b,c,d,e,a,74); R4(a,b,c,d,e,75);
R4(e,a,b,c,d,76); R4(d,e,a,b,c,77); R4(c,d,e,a,b,78); R4(b,c,d,e,a,79);
- /* Add the working vars back into context.state[] */
- state[0] += a;
- state[1] += b;
- state[2] += c;
- state[3] += d;
- state[4] += e;
+ /* Add the working vars back into context.m_State[] */
+ m_State[0] += a;
+ m_State[1] += b;
+ m_State[2] += c;
+ m_State[3] += d;
+ m_State[4] += e;
/* Wipe variables */
a = b = c = d = e = 0;
- memset(&a,0,sizeof(a));
-#endif
-}
-
+}
-/* Initialize new context */
-void hash_initial(hash_context* context)
+void CSHA1::Init()
{
- /* SHA1 initialization constants */
- context->state[0] = 0x67452301;
- context->state[1] = 0xEFCDAB89;
- context->state[2] = 0x98BADCFE;
- context->state[3] = 0x10325476;
- context->state[4] = 0xC3D2E1F0;
- context->count[0] = context->count[1] = 0;
+ m_State[0] = 0x67452301;
+ m_State[1] = 0xEFCDAB89;
+ m_State[2] = 0x98BADCFE;
+ m_State[3] = 0x10325476;
+ m_State[4] = 0xC3D2E1F0;
+ m_Count = 0;
}
-/* Run your data through this. */
-void hash_process( hash_context * context, unsigned char * data, unsigned len )
+void CSHA1::WriteByteBlock()
{
- unsigned int i, j;
- UInt32 blen = ((UInt32)len)<<3;
-
- j = (context->count[0] >> 3) & 63;
- if ((context->count[0] += blen) < blen ) context->count[1]++;
- context->count[1] += (len >> 29);
- if ((j + len) > 63) {
- memcpy(&context->buffer[j], data, (i = 64-j));
- SHA1Transform(context->state, context->buffer);
- for ( ; i + 63 < len; i += 64) {
- SHA1Transform(context->state, &data[i]);
- }
- j = 0;
+ UInt32 data32[16];
+ for (int i = 0; i < 16; i++)
+ {
+ data32[i] =
+ (UInt32(_buffer[i * 4 + 0]) << 24) +
+ (UInt32(_buffer[i * 4 + 1]) << 16) +
+ (UInt32(_buffer[i * 4 + 2]) << 8) +
+ UInt32(_buffer[i * 4 + 3]);
}
- else i = 0;
- if (len > i)
- memcpy(&context->buffer[j], &data[i], len - i);
+ Transform(data32);
}
+void CSHA1::Update(const Byte *data, size_t size)
+{
+ UInt32 curBufferPos = UInt32(m_Count) & 0x3F;
+ while (size > 0)
+ {
+ while(curBufferPos < 64 && size > 0)
+ {
+ _buffer[curBufferPos++] = *data++;
+ m_Count++;
+ size--;
+ }
+ if (curBufferPos == 64)
+ {
+ curBufferPos = 0;
+ WriteByteBlock();
+ }
+ }
+}
-/* Add padding and return the message digest. */
-
-void hash_final( hash_context* context, UInt32 digest[5] )
+void CSHA1::Final(Byte *digest)
{
- UInt32 i, j;
- unsigned char finalcount[8];
-
- for (i = 0; i < 8; i++) {
- finalcount[i] = (unsigned char)((context->count[(i >= 4 ? 0 : 1)]
- >> ((3-(i & 3)) * 8) ) & 255); /* Endian independent */
+ UInt64 lenInBits = (m_Count << 3);
+ UInt32 curBufferPos = UInt32(m_Count) & 0x3F;
+ _buffer[curBufferPos++] = 0x80;
+ while (curBufferPos != (64 - 8))
+ {
+ curBufferPos &= 0x3F;
+ if (curBufferPos == 0)
+ WriteByteBlock();
+ _buffer[curBufferPos++] = 0;
}
- unsigned char ch='\200';
- hash_process(context, &ch, 1);
- while ((context->count[0] & 504) != 448) {
- ch=0;
- hash_process(context, &ch, 1);
+ for (int i = 0; i < 8; i++)
+ {
+ _buffer[curBufferPos++] = Byte(lenInBits >> 56);
+ lenInBits <<= 8;
}
- hash_process(context, finalcount, 8); /* Should cause a SHA1Transform() */
- for (i = 0; i < 5; i++) {
- digest[i] = context->state[i] & 0xffffffff;
+ WriteByteBlock();
+
+ for (i = 0; i < 5; i++)
+ {
+ UInt32 state = m_State[i] & 0xffffffff;
+ *digest++ = state >> 24;
+ *digest++ = state >> 16;
+ *digest++ = state >> 8;
+ *digest++ = state;
}
- /* Wipe variables */
- memset(&i,0,sizeof(i));
- memset(&j,0,sizeof(j));
- memset(context->buffer, 0, 64);
- memset(context->state, 0, 20);
- memset(context->count, 0, 8);
- memset(&finalcount, 0, 8);
-#ifdef SHA1HANDSOFF /* make SHA1Transform overwrite it's own static vars */
- SHA1Transform(context->state, context->buffer);
-#endif
+ Init();
}
diff --git a/7zip/Crypto/RarAES/sha1.h b/7zip/Crypto/RarAES/sha1.h
index 3b564a65..295f4131 100755
--- a/7zip/Crypto/RarAES/sha1.h
+++ b/7zip/Crypto/RarAES/sha1.h
@@ -1,21 +1,27 @@
// sha1.h
-// This file from UnRar sources
+// This file is based on public domain
+// Steve Reid and Wei Dai's code from Crypto++
-#ifndef _RAR_SHA1_
-#define _RAR_SHA1_
+#ifndef __RAR_SHA1
+#define __RAR_SHA1
+#include <stddef.h>
#include "../../../Common/Types.h"
#define HW 5
-typedef struct {
- UInt32 state[5];
- UInt32 count[2];
- unsigned char buffer[64];
-} hash_context;
+struct CSHA1
+{
+ UInt32 m_State[5];
+ UInt64 m_Count;
+ unsigned char _buffer[64];
-void hash_initial( hash_context * c );
-void hash_process( hash_context * c, unsigned char * data, unsigned len );
-void hash_final( hash_context * c, UInt32[HW] );
+ void Transform(const UInt32 data[16]);
+ void WriteByteBlock();
+
+ void Init();
+ void Update(const Byte *data, size_t size);
+ void Final(Byte *digest);
+};
#endif
diff --git a/7zip/Crypto/makefile b/7zip/Crypto/makefile
new file mode 100755
index 00000000..61f59603
--- /dev/null
+++ b/7zip/Crypto/makefile
@@ -0,0 +1,8 @@
+DIRS = \
+ 7zAES\~ \
+ AES\~ \
+
+all: $(DIRS)
+
+$(DIRS):
+!include "../SubBuild.mak"
diff --git a/7zip/FileManager/7zFM.exe.manifest b/7zip/FileManager/7zFM.exe.manifest
index 7b2c3378..06710e04 100755
--- a/7zip/FileManager/7zFM.exe.manifest
+++ b/7zip/FileManager/7zFM.exe.manifest
@@ -1 +1 @@
-<?xml version="1.0" encoding="UTF-8" standalone="yes"?><assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0"><assemblyIdentity version="1.0.0.0" processorArchitecture="X86" name="7-Zip.7-Zip.7zFM" type="win32"/><description>7-Zip File manager.</description><dependency> <dependentAssembly><assemblyIdentity type="win32" name="Microsoft.Windows.Common-Controls" version="6.0.0.0" processorArchitecture="X86" publicKeyToken="6595b64144ccf1df" language="*"/></dependentAssembly></dependency></assembly>
+<?xml version="1.0" encoding="UTF-8" standalone="yes"?><assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0"><assemblyIdentity version="1.0.0.0" processorArchitecture="*" name="7-Zip.7-Zip.7zFM" type="win32"/><description>7-Zip File manager.</description><dependency> <dependentAssembly><assemblyIdentity type="win32" name="Microsoft.Windows.Common-Controls" version="6.0.0.0" processorArchitecture="*" publicKeyToken="6595b64144ccf1df" language="*"/></dependentAssembly></dependency></assembly>
diff --git a/7zip/FileManager/App.cpp b/7zip/FileManager/App.cpp
index 09e2afa2..ed78bb70 100755
--- a/7zip/FileManager/App.cpp
+++ b/7zip/FileManager/App.cpp
@@ -71,6 +71,7 @@ void CApp::SetListSettings()
extendedStyle |= LVS_EX_FULLROWSELECT;
if (ReadShowGrid())
extendedStyle |= LVS_EX_GRIDLINES;
+ bool mySelectionMode = ReadAlternativeSelection();
/*
if (ReadSingleClick())
@@ -84,10 +85,19 @@ void CApp::SetListSettings()
for (int i = 0; i < kNumPanelsMax; i++)
{
- Panels[i]._showDots = showDots;
- Panels[i]._showRealFileIcons = showRealFileIcons;
- Panels[i]._exStyle = extendedStyle;
- Panels[i].SetExtendedStyle();
+ CPanel &panel = Panels[i];
+ panel._mySelectMode = mySelectionMode;
+ panel._showDots = showDots;
+ panel._showRealFileIcons = showRealFileIcons;
+ panel._exStyle = extendedStyle;
+
+ DWORD style = panel._listView.GetStyle();
+ if (mySelectionMode)
+ style |= LVS_SINGLESEL;
+ else
+ style &= ~LVS_SINGLESEL;
+ panel._listView.SetStyle(style);
+ panel.SetExtendedStyle();
}
}
@@ -477,7 +487,7 @@ void CApp::OnCopy(bool move, bool copyToSame, int srcPanelIndex)
if (focusedItem < 0)
return;
int realIndex = srcPanel.GetRealItemIndex(focusedItem);
- if (realIndex == -1)
+ if (realIndex == kParentIndex)
return;
indices.Add(realIndex);
destPath = srcPanel.GetItemName(realIndex);
@@ -660,7 +670,7 @@ void CApp::OnSetSubFolder(int srcPanelIndex)
destPanel.BindToFolder(string);
*/
CMyComPtr<IFolderFolder> newFolder;
- if (realIndex == -1)
+ if (realIndex == kParentIndex)
{
if (srcPanel._folder->BindToParentFolder(&newFolder) != S_OK)
return;
diff --git a/7zip/FileManager/App.h b/7zip/FileManager/App.h
index e1214207..229c4806 100755
--- a/7zip/FileManager/App.h
+++ b/7zip/FileManager/App.h
@@ -50,6 +50,7 @@ class CDropTarget:
public CMyUnknownImp
{
CMyComPtr<IDataObject> m_DataObject;
+ UStringVector m_SourcePaths;
int m_SelectionIndex;
bool m_DropIsAllowed; // = true, if data contain fillist
bool m_PanelDropIsAllowed; // = false, if current target_panel is source_panel.
@@ -60,6 +61,10 @@ class CDropTarget:
CPanel *m_Panel;
bool m_IsAppTarget; // true, if we want to drop to app window (not to panel).
+ bool m_SetPathIsOK;
+
+ bool IsItSameDrive() const;
+
void QueryGetData(IDataObject *dataObject);
bool IsFsFolderPath() const;
DWORD GetEffect(DWORD keyState, POINTL pt, DWORD allowedEffect);
@@ -87,7 +92,8 @@ public:
m_PanelDropIsAllowed(false),
m_DropIsAllowed(false),
m_SelectionIndex(-1),
- m_SubFolderIndex(-1) {}
+ m_SubFolderIndex(-1),
+ m_SetPathIsOK(false) {}
CApp *App;
int SrcPanelIndex; // index of D&D source_panel
diff --git a/7zip/FileManager/ExtractCallback.cpp b/7zip/FileManager/ExtractCallback.cpp
index ca4de204..8e825861 100755
--- a/7zip/FileManager/ExtractCallback.cpp
+++ b/7zip/FileManager/ExtractCallback.cpp
@@ -6,6 +6,7 @@
#include "Windows/FileFind.h"
#include "Windows/FileDir.h"
+#include "Windows/Error.h"
#include "Resource/OverwriteDialog/OverwriteDialog.h"
#ifndef _NO_CRYPTO
@@ -228,8 +229,10 @@ HRESULT CExtractCallbackImp::ExtractResult(HRESULT result)
if (result == S_OK)
return result;
NumArchiveErrors++;
- if (result == E_ABORT)
+ if (result == E_ABORT || result == ERROR_DISK_FULL)
return result;
+ MessageError(_currentFilePath);
+ MessageError(NError::MyFormatMessageW(result));
return S_OK;
}
diff --git a/7zip/FileManager/FM.cpp b/7zip/FileManager/FM.cpp
index c897cebe..704364c6 100755
--- a/7zip/FileManager/FM.cpp
+++ b/7zip/FileManager/FM.cpp
@@ -126,7 +126,7 @@ BOOL InitInstance(HINSTANCE hInstance, int nCmdShow)
g_hInstance = hInstance;
- ReloadLang();
+ ReloadLangSmart();
// LoadString(hInstance, IDS_CLASS, windowClass, MAX_LOADSTRING);
diff --git a/7zip/FileManager/FM.dsp b/7zip/FileManager/FM.dsp
index 4339df56..844055d1 100755
--- a/7zip/FileManager/FM.dsp
+++ b/7zip/FileManager/FM.dsp
@@ -401,15 +401,6 @@ SOURCE=.\PanelSplitFile.cpp
# PROP Default_Filter ""
# Begin Source File
-SOURCE=.\Resource\SettingsPage\resource.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\Resource\SettingsPage\resource.rc
-# PROP Exclude_From_Build 1
-# End Source File
-# Begin Source File
-
SOURCE=.\Resource\SettingsPage\SettingsPage.cpp
# End Source File
# Begin Source File
@@ -461,15 +452,6 @@ SOURCE=Resource\PasswordDialog\PasswordDialog.cpp
SOURCE=Resource\PasswordDialog\PasswordDialog.h
# End Source File
-# Begin Source File
-
-SOURCE=.\Resource\PasswordDialog\resource.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\Resource\PasswordDialog\resource.rc
-# PROP Exclude_From_Build 1
-# End Source File
# End Group
# Begin Group "Progress"
@@ -482,15 +464,6 @@ SOURCE=.\Resource\ProgressDialog2\ProgressDialog.cpp
SOURCE=.\Resource\ProgressDialog2\ProgressDialog.h
# End Source File
-# Begin Source File
-
-SOURCE=.\Resource\ProgressDialog2\resource.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\Resource\ProgressDialog2\resource.rc
-# PROP Exclude_From_Build 1
-# End Source File
# End Group
# Begin Group "About"
@@ -503,15 +476,6 @@ SOURCE=.\Resource\AboutDialog\AboutDialog.cpp
SOURCE=.\Resource\AboutDialog\AboutDialog.h
# End Source File
-# Begin Source File
-
-SOURCE=.\Resource\AboutDialog\resource.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\Resource\AboutDialog\resource.rc
-# PROP Exclude_From_Build 1
-# End Source File
# End Group
# Begin Group "Benchmark"
@@ -524,30 +488,12 @@ SOURCE=.\Resource\BenchmarkDialog\BenchmarkDialog.cpp
SOURCE=.\Resource\BenchmarkDialog\BenchmarkDialog.h
# End Source File
-# Begin Source File
-
-SOURCE=.\Resource\BenchmarkDialog\resource.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\Resource\BenchmarkDialog\resource.rc
-# PROP Exclude_From_Build 1
-# End Source File
# End Group
# Begin Group "Split"
# PROP Default_Filter ""
# Begin Source File
-SOURCE=.\Resource\SplitDialog\resource.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\Resource\SplitDialog\resource.rc
-# PROP Exclude_From_Build 1
-# End Source File
-# Begin Source File
-
SOURCE=.\Resource\SplitDialog\SplitDialog.cpp
# End Source File
# Begin Source File
@@ -1110,6 +1056,10 @@ SOURCE=.\7zFM.exe.manifest
# End Source File
# Begin Source File
+SOURCE=.\7zipLogo.ico
+# End Source File
+# Begin Source File
+
SOURCE=.\Add2.bmp
# End Source File
# Begin Source File
diff --git a/7zip/FileManager/LangUtils.cpp b/7zip/FileManager/LangUtils.cpp
index a5fcb635..2e4cd82a 100755
--- a/7zip/FileManager/LangUtils.cpp
+++ b/7zip/FileManager/LangUtils.cpp
@@ -4,9 +4,11 @@
#include "LangUtils.h"
#include "Common/StringConvert.h"
+#include "Common/StringToInt.h"
#include "Windows/ResourceString.h"
#include "Windows/Synchronization.h"
#include "Windows/Window.h"
+#include "Windows/FileFind.h"
#include "RegistryUtils.h"
#include "ProgramLocation.h"
@@ -19,7 +21,7 @@ void ReloadLang()
{
ReadRegLang(g_LangID);
g_Lang.Clear();
- if (!g_LangID.IsEmpty())
+ if (!g_LangID.IsEmpty() && g_LangID != TEXT("-"))
{
CSysString langPath = g_LangID;
if (langPath.Find('\\') < 0)
@@ -98,3 +100,96 @@ UString LangLoadStringW(UINT resourceID, UInt32 langID)
return message;
return NWindows::MyLoadStringW(resourceID);
}
+
+void LoadLangs(CObjectVector<CLangEx> &langs)
+{
+ langs.Clear();
+ UString folderPath;
+ if (!::GetProgramFolderPath(folderPath))
+ return;
+ folderPath += L"Lang\\";
+ NWindows::NFile::NFind::CEnumeratorW enumerator(folderPath + L"*.txt");
+ NWindows::NFile::NFind::CFileInfoW fileInfo;
+ while (enumerator.Next(fileInfo))
+ {
+ if (fileInfo.IsDirectory())
+ continue;
+ CLangEx lang;
+ UString filePath = folderPath + fileInfo.Name;
+ const kExtSize = 4;
+ if (fileInfo.Name.Right(kExtSize) != L".txt")
+ continue;
+ lang.ShortName = fileInfo.Name.Left(fileInfo.Name.Length() - kExtSize);
+ if (lang.Lang.Open(GetSystemString(filePath)))
+ langs.Add(lang);
+ }
+}
+
+bool SplidID(const UString &id, WORD &primID, WORD &subID)
+{
+ primID = 0;
+ subID = 0;
+ const wchar_t *start = id;
+ const wchar_t *end;
+ UInt64 value = ConvertStringToUInt64(start, &end);
+ if (start == end)
+ return false;
+ primID = (WORD)value;
+ if (*end == 0)
+ return true;
+ if (*end != L'-')
+ return false;
+ start = end + 1;
+ value = ConvertStringToUInt64(start, &end);
+ if (start == end)
+ return false;
+ subID = (WORD)value;
+ return (*end == 0);
+}
+
+void FindMatchLang(UString &shortName)
+{
+ shortName.Empty();
+ LANGID langID = GetUserDefaultLangID();
+ WORD primLang = PRIMARYLANGID(langID);
+ WORD subLang = SUBLANGID(langID);
+ CObjectVector<CLangEx> langs;
+ LoadLangs(langs);
+ for (int i = 0; i < langs.Size(); i++)
+ {
+ const CLangEx &lang = langs[i];
+ UString id;
+ if (lang.Lang.GetMessage(0x00000002, id))
+ {
+ WORD primID;
+ WORD subID;
+ if (SplidID(id, primID, subID))
+ if (primID == primLang)
+ {
+ if (subID == 0)
+ shortName = lang.ShortName;
+ if (subLang == subID)
+ {
+ shortName = lang.ShortName;
+ return;
+ }
+ }
+ }
+ }
+}
+
+void ReloadLangSmart()
+{
+ #ifdef _UNICODE
+ ReadRegLang(g_LangID);
+ if (g_LangID.IsEmpty())
+ {
+ UString shortName;
+ FindMatchLang(shortName);
+ if (shortName.IsEmpty())
+ shortName = L"-";
+ SaveRegLang(GetSystemString(shortName));
+ }
+ #endif
+ ReloadLang();
+}
diff --git a/7zip/FileManager/LangUtils.h b/7zip/FileManager/LangUtils.h
index 713b817c..ce002716 100755
--- a/7zip/FileManager/LangUtils.h
+++ b/7zip/FileManager/LangUtils.h
@@ -15,6 +15,15 @@ struct CIDLangPair
void ReloadLang();
void LoadLangOneTime();
+void ReloadLangSmart();
+
+struct CLangEx
+{
+ CLang Lang;
+ UString ShortName;
+};
+
+void LoadLangs(CObjectVector<CLangEx> &langs);
void LangSetDlgItemsText(HWND dialogWindow, CIDLangPair *idLangPairs, int numItems);
void LangSetWindowText(HWND window, UInt32 langID);
diff --git a/7zip/FileManager/Panel.cpp b/7zip/FileManager/Panel.cpp
index 5608dcec..b95c6f8b 100755
--- a/7zip/FileManager/Panel.cpp
+++ b/7zip/FileManager/Panel.cpp
@@ -59,7 +59,6 @@ LRESULT CPanel::Create(HWND mainWindow, HWND parentWindow, UINT id,
_processTimer = true;
_processNotify = true;
-
_panelCallback = panelCallback;
_appState = appState;
// _index = index;
@@ -82,7 +81,7 @@ LRESULT CPanel::Create(HWND mainWindow, HWND parentWindow, UINT id,
return S_OK;
}
-LRESULT CPanel::OnMessage(UINT message, UINT wParam, LPARAM lParam)
+LRESULT CPanel::OnMessage(UINT message, WPARAM wParam, LPARAM lParam)
{
switch(message)
{
@@ -303,8 +302,9 @@ bool CPanel::OnCreate(CREATESTRUCT *createStruct)
style |= kStyles[_ListViewMode]
| WS_TABSTOP
- | LVS_EDITLABELS
- | LVS_SINGLESEL;
+ | LVS_EDITLABELS;
+ if (_mySelectMode)
+ style |= LVS_SINGLESEL;
/*
if (_virtualMode)
@@ -608,6 +608,8 @@ void CPanel::MessageBoxMyError(LPCWSTR message)
{ MessageBox(message, L"Error"); }
void CPanel::MessageBoxError(HRESULT errorCode, LPCWSTR caption)
{ MessageBox(GetUnicodeString(NError::MyFormatMessage(errorCode)), caption); }
+void CPanel::MessageBoxError(HRESULT errorCode)
+ { MessageBoxError(errorCode, L"7-Zip"); }
void CPanel::MessageBoxLastError(LPCWSTR caption)
{ MessageBoxError(::GetLastError(), caption); }
void CPanel::MessageBoxLastError()
@@ -639,7 +641,7 @@ UString CPanel::GetFolderTypeID() const
return L"";
CMyComBSTR typeID;
folderGetTypeID->GetTypeID(&typeID);
- return typeID;
+ return (wchar_t *)typeID;
}
bool CPanel::IsRootFolder() const
@@ -657,6 +659,36 @@ bool CPanel::IsFSDrivesFolder() const
return (GetFolderTypeID() == L"FSDrives");
}
+UString CPanel::GetFsPath() const
+{
+ if (IsFSDrivesFolder())
+ return UString();
+ return _currentFolderPrefix;
+}
+
+UString CPanel::GetDriveOrNetworkPrefix() const
+{
+ if (!IsFSFolder())
+ return UString();
+ UString drive = GetFsPath();
+ if (drive.Length() < 3)
+ return UString();
+ if (drive[0] == L'\\' && drive[1] == L'\\')
+ {
+ // if network
+ int pos = drive.Find(L'\\', 2);
+ if (pos < 0)
+ return UString();
+ pos = drive.Find(L'\\', pos + 1);
+ if (pos < 0)
+ return UString();
+ return drive.Left(pos + 1);
+ }
+ if (drive[1] != L':' || drive[2] != L'\\')
+ return UString();
+ return drive.Left(3);
+}
+
bool CPanel::DoesItSupportOperations() const
{
CMyComPtr<IFolderOperations> folderOperations;
diff --git a/7zip/FileManager/Panel.h b/7zip/FileManager/Panel.h
index e6d91838..3a54552c 100755
--- a/7zip/FileManager/Panel.h
+++ b/7zip/FileManager/Panel.h
@@ -30,6 +30,8 @@ const int kParentFolderID = 100;
const int kPluginMenuStartID = 1000;
const int kToolbarStartID = 2000;
+const int kParentIndex = -1;
+
class CPanelCallback
{
public:
@@ -150,7 +152,7 @@ class CPanel:public NWindows::NControl::CWindow2
CAppState *_appState;
bool OnCommand(int code, int itemID, LPARAM lParam, LRESULT &result);
- LRESULT OnMessage(UINT message, UINT wParam, LPARAM lParam);
+ LRESULT OnMessage(UINT message, WPARAM wParam, LPARAM lParam);
virtual bool OnCreate(CREATESTRUCT *createStruct);
virtual bool OnSize(WPARAM wParam, int xSize, int ySize);
virtual void OnDestroy();
@@ -159,6 +161,7 @@ class CPanel:public NWindows::NControl::CWindow2
bool OnNotifyComboBoxEndEdit(PNMCBEENDEDIT info, LRESULT &result);
bool OnNotifyReBar(LPNMHDR lParam, LRESULT &result);
bool OnNotifyComboBox(LPNMHDR lParam, LRESULT &result);
+ void OnItemChanged(NMLISTVIEW *item);
bool OnNotifyList(LPNMHDR lParam, LRESULT &result);
void OnDrag(LPNMLISTVIEW nmListView);
bool OnKeyDown(LPNMLVKEYDOWN keyDownInfo, LRESULT &result);
@@ -192,6 +195,7 @@ private:
// void OnUpWithShift();
// void OnDownWithShift();
public:
+ void UpdateSelection();
void SelectSpec(bool selectMode);
void SelectByType(bool selectMode);
void SelectAll(bool selectMode);
@@ -219,8 +223,11 @@ public:
bool _showRealFileIcons;
// bool _virtualMode;
// CUIntVector _realIndices;
+ bool _mySelectMode;
CBoolVector _selectedStatusVector;
+ UString _focusedName;
+
UInt32 GetRealIndex(const LVITEM &item) const
{
/*
@@ -303,15 +310,14 @@ public:
_startGroupSelect(0),
_selectionIsDefined(false),
_ListViewMode(3),
- _xSize(300)
+ _xSize(300),
+ _mySelectMode(false)
{}
void SetExtendedStyle()
{
- // DWORD extendedStyle = _listView.GetExtendedListViewStyle();
if (_listView != 0)
_listView.SetExtendedListViewStyle(_exStyle);
- // extendedStyle |= _exStyle;
}
@@ -336,7 +342,7 @@ public:
CMyComPtr<IContextMenu> _sevenZipContextMenu;
CMyComPtr<IContextMenu> _systemContextMenu;
- void CreateShellContextMenu(
+ HRESULT CreateShellContextMenu(
const CRecordVector<UInt32> &operatedIndices,
CMyComPtr<IContextMenu> &systemContextMenu);
void CreateSystemMenu(HMENU menu,
@@ -379,6 +385,9 @@ public:
bool IsFSFolder() const;
bool IsFSDrivesFolder() const;
+ UString GetFsPath() const;
+ UString GetDriveOrNetworkPrefix() const;
+
bool DoesItSupportOperations() const;
bool _processTimer;
@@ -418,6 +427,7 @@ public:
void MessageBox(LPCWSTR message, LPCWSTR caption);
void MessageBoxMyError(LPCWSTR message);
void MessageBoxError(HRESULT errorCode, LPCWSTR caption);
+ void MessageBoxError(HRESULT errorCode);
void MessageBoxLastError(LPCWSTR caption);
void MessageBoxLastError();
diff --git a/7zip/FileManager/PanelCopy.cpp b/7zip/FileManager/PanelCopy.cpp
index 3a5bd74e..df0fd772 100755
--- a/7zip/FileManager/PanelCopy.cpp
+++ b/7zip/FileManager/PanelCopy.cpp
@@ -176,11 +176,12 @@ HRESULT CPanel::CopyFrom(const UString &folderPrefix, const UStringVector &fileP
void CPanel::CopyFrom(const UStringVector &filePaths)
{
- UString message = L"Are you sure you want to copy files to archive\n\'";
+ UString title = LangLoadStringW(IDS_CONFIRM_FILE_COPY, 0x03020222);
+ UString message = LangLoadStringW(IDS_WANT_TO_COPY_FILES, 0x03020223);
+ message += L"\n\'";
message += _currentFolderPrefix;
message += L"\' ?";
- int res = ::MessageBoxW(*(this), message, L"Confirm File Copy",
- MB_YESNOCANCEL | MB_ICONQUESTION | MB_SYSTEMMODAL);
+ int res = ::MessageBoxW(*(this), message, title, MB_YESNOCANCEL | MB_ICONQUESTION | MB_SYSTEMMODAL);
if (res != IDYES)
return;
@@ -197,7 +198,7 @@ void CPanel::CopyFrom(const UStringVector &filePaths)
// For Password:
SetFocusToList();
if (result != E_ABORT)
- MessageBoxError(result, L"Error");
+ MessageBoxError(result);
return;
}
diff --git a/7zip/FileManager/PanelDrag.cpp b/7zip/FileManager/PanelDrag.cpp
index 2a563953..db342f73 100755
--- a/7zip/FileManager/PanelDrag.cpp
+++ b/7zip/FileManager/PanelDrag.cpp
@@ -155,11 +155,13 @@ class CDropSource:
public IDropSource,
public CMyUnknownImp
{
+ DWORD m_Effect;
public:
MY_UNKNOWN_IMP1_MT(IDropSource)
STDMETHOD(QueryContinueDrag)(BOOL escapePressed, DWORD keyState);
STDMETHOD(GiveFeedback)(DWORD effect);
+
bool NeedExtract;
CPanel *Panel;
CRecordVector<UInt32> Indices;
@@ -171,7 +173,7 @@ public:
HRESULT Result;
UStringVector Messages;
- CDropSource(): NeedPostCopy(false), Panel(0), Result(S_OK) {}
+ CDropSource(): NeedPostCopy(false), Panel(0), Result(S_OK), m_Effect(DROPEFFECT_NONE) {}
};
STDMETHODIMP CDropSource::QueryContinueDrag(BOOL escapePressed, DWORD keyState)
@@ -180,6 +182,8 @@ STDMETHODIMP CDropSource::QueryContinueDrag(BOOL escapePressed, DWORD keyState)
return DRAGDROP_S_CANCEL;
if((keyState & MK_LBUTTON) == 0)
{
+ if (m_Effect == DROPEFFECT_NONE)
+ return DRAGDROP_S_CANCEL;
Result = S_OK;
bool needExtract = NeedExtract;
// MoveMode = (((keyState & MK_SHIFT) != 0) && MoveIsAllowed);
@@ -204,6 +208,7 @@ STDMETHODIMP CDropSource::QueryContinueDrag(BOOL escapePressed, DWORD keyState)
STDMETHODIMP CDropSource::GiveFeedback(DWORD effect)
{
+ m_Effect = effect;
return DRAGDROP_S_USEDEFAULTCURSORS;
}
@@ -319,7 +324,7 @@ void CPanel::OnDrag(LPNMLISTVIEW nmListView)
else
{
if (res != DRAGDROP_S_CANCEL && res != S_OK)
- MessageBoxError(res, L"7-Zip");
+ MessageBoxError(res);
res = dropSourceSpec->Result;
}
@@ -330,7 +335,7 @@ void CPanel::OnDrag(LPNMLISTVIEW nmListView)
messagesDialog.Create((*this));
}
if (res != S_OK && res != E_ABORT)
- MessageBoxError(res, L"7-Zip");
+ MessageBoxError(res);
if (res == S_OK && dropSourceSpec->Messages.IsEmpty() && !canceled)
KillSelection();
}
@@ -339,6 +344,7 @@ void CDropTarget::QueryGetData(IDataObject *dataObject)
{
FORMATETC etc = { CF_HDROP, 0, DVASPECT_CONTENT, -1, TYMED_HGLOBAL };
m_DropIsAllowed = (dataObject->QueryGetData(&etc) == S_OK);
+
}
static void MySetDropHighlighted(HWND hWnd, int index, bool enable)
@@ -419,7 +425,7 @@ void CDropTarget::PositionCursor(POINTL ptl)
if (index < 0)
return;
int realIndex = m_Panel->GetRealItemIndex(index);
- if (realIndex == -1)
+ if (realIndex == kParentIndex)
return;
if (!m_Panel->IsItemFolder(realIndex))
return;
@@ -436,6 +442,103 @@ bool CDropTarget::IsFsFolderPath() const
return false;
}
+static void ReadUnicodeStrings(const wchar_t *p, size_t size, UStringVector &names)
+{
+ names.Clear();
+ UString name;
+ for (;size > 0; size--)
+ {
+ wchar_t c = *p++;
+ if (c == 0)
+ {
+ if (name.IsEmpty())
+ break;
+ names.Add(name);
+ name.Empty();
+ }
+ else
+ name += c;
+ }
+}
+
+static void ReadAnsiStrings(const char *p, size_t size, UStringVector &names)
+{
+ names.Clear();
+ AString name;
+ for (;size > 0; size--)
+ {
+ char c = *p++;
+ if (c == 0)
+ {
+ if (name.IsEmpty())
+ break;
+ names.Add(GetUnicodeString(name));
+ name.Empty();
+ }
+ else
+ name += c;
+ }
+}
+
+static void GetNamesFromDataObject(IDataObject *dataObject, UStringVector &names)
+{
+ names.Clear();
+ FORMATETC etc = { CF_HDROP, 0, DVASPECT_CONTENT, -1, TYMED_HGLOBAL };
+ STGMEDIUM medium;
+ HRESULT res = dataObject->GetData(&etc, &medium);
+ if (res != S_OK)
+ return;
+ if (medium.tymed != TYMED_HGLOBAL)
+ return;
+ {
+ NMemory::CGlobal global;
+ global.Attach(medium.hGlobal);
+ size_t blockSize = GlobalSize(medium.hGlobal);
+ NMemory::CGlobalLock dropLock(medium.hGlobal);
+ const DROPFILES* dropFiles = (DROPFILES*)dropLock.GetPointer();
+ if (dropFiles == 0)
+ return;
+ if (blockSize < dropFiles->pFiles)
+ return;
+ size_t size = blockSize - dropFiles->pFiles;
+ const void *namesData = (const Byte *)dropFiles + dropFiles->pFiles;
+ if (dropFiles->fWide)
+ ReadUnicodeStrings((const wchar_t *)namesData, size / sizeof(wchar_t), names);
+ else
+ ReadAnsiStrings((const char *)namesData, size, names);
+ }
+}
+
+bool CDropTarget::IsItSameDrive() const
+{
+ if (m_Panel == 0)
+ return false;
+ if (!IsFsFolderPath())
+ return false;
+ UString drive;
+ if (m_Panel->IsFSFolder())
+ {
+ drive = m_Panel->GetDriveOrNetworkPrefix();
+ if (drive.IsEmpty())
+ return false;
+ }
+ else if (m_Panel->IsFSDrivesFolder() && m_SelectionIndex >= 0)
+ drive = m_SubFolderName + L'\\';
+ else
+ return false;
+
+ if (m_SourcePaths.Size() == 0)
+ return false;
+ for (int i = 0; i < m_SourcePaths.Size(); i++)
+ {
+ const UString &path = m_SourcePaths[i];
+ if (drive.CollateNoCase(path.Left(drive.Length())) != 0)
+ return false;
+ }
+ return true;
+
+}
+
DWORD CDropTarget::GetEffect(DWORD keyState, POINTL pt, DWORD allowedEffect)
{
if (!m_DropIsAllowed || !m_PanelDropIsAllowed)
@@ -444,6 +547,9 @@ DWORD CDropTarget::GetEffect(DWORD keyState, POINTL pt, DWORD allowedEffect)
if (!IsFsFolderPath())
allowedEffect &= ~DROPEFFECT_MOVE;
+ if (!m_SetPathIsOK)
+ allowedEffect &= ~DROPEFFECT_MOVE;
+
DWORD effect = 0;
if(keyState & MK_CONTROL)
effect = allowedEffect & DROPEFFECT_COPY;
@@ -451,8 +557,13 @@ DWORD CDropTarget::GetEffect(DWORD keyState, POINTL pt, DWORD allowedEffect)
effect = allowedEffect & DROPEFFECT_MOVE;
if(effect == 0)
{
- if(allowedEffect & DROPEFFECT_COPY) effect = DROPEFFECT_COPY;
- if(allowedEffect & DROPEFFECT_MOVE) effect = DROPEFFECT_MOVE;
+ if(allowedEffect & DROPEFFECT_COPY)
+ effect = DROPEFFECT_COPY;
+ if(allowedEffect & DROPEFFECT_MOVE)
+ {
+ if (IsItSameDrive())
+ effect = DROPEFFECT_MOVE;
+ }
}
if(effect == 0)
return DROPEFFECT_NONE;
@@ -504,12 +615,14 @@ bool CDropTarget::SetPath(bool enablePath) const
bool CDropTarget::SetPath()
{
- return SetPath(m_DropIsAllowed && m_PanelDropIsAllowed && IsFsFolderPath());
+ m_SetPathIsOK = SetPath(m_DropIsAllowed && m_PanelDropIsAllowed && IsFsFolderPath());
+ return m_SetPathIsOK;
}
STDMETHODIMP CDropTarget::DragEnter(IDataObject * dataObject, DWORD keyState,
POINTL pt, DWORD *effect)
{
+ GetNamesFromDataObject(dataObject, m_SourcePaths);
QueryGetData(dataObject);
m_DataObject = dataObject;
return DragOver(keyState, pt, effect);
@@ -519,8 +632,8 @@ STDMETHODIMP CDropTarget::DragEnter(IDataObject * dataObject, DWORD keyState,
STDMETHODIMP CDropTarget::DragOver(DWORD keyState, POINTL pt, DWORD *effect)
{
PositionCursor(pt);
- *effect = GetEffect(keyState, pt, *effect);
SetPath();
+ *effect = GetEffect(keyState, pt, *effect);
return S_OK;
}
@@ -541,13 +654,14 @@ STDMETHODIMP CDropTarget::Drop(IDataObject *dataObject, DWORD keyState,
{
QueryGetData(dataObject);
PositionCursor(pt);
- *effect = GetEffect(keyState, pt, *effect);
m_DataObject = dataObject;
+ bool needDrop = true;
if(m_DropIsAllowed && m_PanelDropIsAllowed)
- {
- bool needDrop = true;
if (IsFsFolderPath())
needDrop = !SetPath();
+ *effect = GetEffect(keyState, pt, *effect);
+ if(m_DropIsAllowed && m_PanelDropIsAllowed)
+ {
if (needDrop)
{
UString path = GetTargetPath();
@@ -562,75 +676,13 @@ STDMETHODIMP CDropTarget::Drop(IDataObject *dataObject, DWORD keyState,
return S_OK;
}
-static void ReadUnicodeStrings(const wchar_t *p, size_t size, UStringVector &names)
-{
- names.Clear();
- UString name;
- for (;size > 0; size--)
- {
- wchar_t c = *p++;
- if (c == 0)
- {
- if (name.IsEmpty())
- break;
- names.Add(name);
- name.Empty();
- }
- else
- name += c;
- }
-}
-
-static void ReadAnsiStrings(const char *p, size_t size, UStringVector &names)
-{
- names.Clear();
- AString name;
- for (;size > 0; size--)
- {
- char c = *p++;
- if (c == 0)
- {
- if (name.IsEmpty())
- break;
- names.Add(GetUnicodeString(name));
- name.Empty();
- }
- else
- name += c;
- }
-}
-
void CPanel::DropObject(IDataObject *dataObject, const UString &folderPath)
{
- FORMATETC etc = { CF_HDROP, 0, DVASPECT_CONTENT, -1, TYMED_HGLOBAL };
- STGMEDIUM medium;
- HRESULT res = dataObject->GetData(&etc, &medium);
- if (res != S_OK)
- return;
- if (medium.tymed != TYMED_HGLOBAL)
- return;
UStringVector names;
- {
- NMemory::CGlobal global;
- global.Attach(medium.hGlobal);
- size_t blockSize = GlobalSize(medium.hGlobal);
- NMemory::CGlobalLock dropLock(medium.hGlobal);
- const DROPFILES* dropFiles = (DROPFILES*)dropLock.GetPointer();
- if (dropFiles == 0)
- return;
- if (blockSize < dropFiles->pFiles)
- return;
- size_t size = blockSize - dropFiles->pFiles;
- const void *namesData = (const Byte *)dropFiles + dropFiles->pFiles;
- if (dropFiles->fWide)
- ReadUnicodeStrings((const wchar_t *)namesData, size / sizeof(wchar_t), names);
- else
- ReadAnsiStrings((const char *)namesData, size, names);
- }
+ GetNamesFromDataObject(dataObject, names);
CompressDropFiles(names, folderPath);
}
-
/*
void CPanel::CompressDropFiles(HDROP dr)
{
diff --git a/7zip/FileManager/PanelExtract.cpp b/7zip/FileManager/PanelExtract.cpp
deleted file mode 100755
index 21c8935e..00000000
--- a/7zip/FileManager/PanelExtract.cpp
+++ /dev/null
@@ -1,208 +0,0 @@
-// PanelExtract.cpp
-
-#include "StdAfx.h"
-
-#include "Windows/COM.h"
-
-#include "Panel.h"
-#include "resource.h"
-#include "LangUtils.h"
-#include "ExtractCallback.h"
-#include "Windows/Thread.h"
-////////////////////////////////////////////////////////////////
-
-#include "..\UI\Resource\Extract\resource.h"
-
-#include "UpdateCallback100.h"
-
-using namespace NWindows;
-
-struct CThreadExtractInArchive2
-{
- CMyComPtr<IFolderOperations> FolderOperations;
- CRecordVector<UInt32> Indices;
- UString DestPath;
- CExtractCallbackImp *ExtractCallbackSpec;
- CMyComPtr<IFolderOperationsExtractCallback> ExtractCallback;
- HRESULT Result;
- bool MoveMode;
-
- CThreadExtractInArchive2(): MoveMode(false) {}
-
- DWORD Extract()
- {
- // NCOM::CComInitializer comInitializer;
- ExtractCallbackSpec->ProgressDialog.WaitCreating();
- if (MoveMode)
- Result = FolderOperations->MoveTo(&Indices.Front(), Indices.Size(),
- DestPath, ExtractCallback);
- else
- Result = FolderOperations->CopyTo(&Indices.Front(), Indices.Size(),
- DestPath, ExtractCallback);
- ExtractCallbackSpec->ProgressDialog.MyClose();
- return 0;
- }
-
- static DWORD WINAPI MyThreadFunction(void *param)
- {
- return ((CThreadExtractInArchive2 *)param)->Extract();
- }
-};
-
-HRESULT CPanel::CopyTo(const CRecordVector<UInt32> &indices, const UString &folder,
- bool moveMode, bool showErrorMessages, UStringVector *messages)
-{
- CMyComPtr<IFolderOperations> folderOperations;
- if (_folder.QueryInterface(IID_IFolderOperations, &folderOperations) != S_OK)
- {
- UString errorMessage = LangLoadStringW(IDS_OPERATION_IS_NOT_SUPPORTED, 0x03020208);
- if (showErrorMessages)
- MessageBox(errorMessage);
- else if (messages != 0)
- messages->Add(errorMessage);
- return E_FAIL;
- }
-
- CThreadExtractInArchive2 extracter;
-
- extracter.ExtractCallbackSpec = new CExtractCallbackImp;
- extracter.ExtractCallback = extracter.ExtractCallbackSpec;
- extracter.ExtractCallbackSpec->ParentWindow = GetParent();
- extracter.ExtractCallbackSpec->ShowMessages = showErrorMessages;
-
- UString title = moveMode ?
- LangLoadStringW(IDS_MOVING, 0x03020206):
- LangLoadStringW(IDS_COPYING, 0x03020205);
- UString progressWindowTitle = LangLoadStringW(IDS_APP_TITLE, 0x03000000);
-
- extracter.ExtractCallbackSpec->ProgressDialog.MainWindow = GetParent();
- extracter.ExtractCallbackSpec->ProgressDialog.MainTitle = progressWindowTitle;
- extracter.ExtractCallbackSpec->ProgressDialog.MainAddTitle = title + L" ";
-
- extracter.ExtractCallbackSpec->OverwriteMode = NExtract::NOverwriteMode::kAskBefore;
- extracter.ExtractCallbackSpec->Init();
- extracter.Indices = indices;
- extracter.DestPath = folder;
- extracter.FolderOperations = folderOperations;
- extracter.MoveMode = moveMode;
-
- CThread extractThread;
- if (!extractThread.Create(CThreadExtractInArchive2::MyThreadFunction, &extracter))
- throw 271824;
- extracter.ExtractCallbackSpec->StartProgressDialog(title);
-
- if (messages != 0)
- *messages = extracter.ExtractCallbackSpec->Messages;
- return extracter.Result;
-}
-
-
-struct CThreadUpdate
-{
- CMyComPtr<IFolderOperations> FolderOperations;
- UString FolderPrefix;
- UStringVector FileNames;
- CRecordVector<const wchar_t *> FileNamePointers;
- CMyComPtr<IFolderArchiveUpdateCallback> UpdateCallback;
- CUpdateCallback100Imp *UpdateCallbackSpec;
- HRESULT Result;
-
- DWORD Process()
- {
- NCOM::CComInitializer comInitializer;
- UpdateCallbackSpec->ProgressDialog.WaitCreating();
- Result = FolderOperations->CopyFrom(
- FolderPrefix,
- &FileNamePointers.Front(),
- FileNamePointers.Size(),
- UpdateCallback);
- UpdateCallbackSpec->ProgressDialog.MyClose();
- return 0;
- }
-
- static DWORD WINAPI MyThreadFunction(void *param)
- {
- return ((CThreadUpdate *)param)->Process();
- }
-};
-
-
-HRESULT CPanel::CopyFrom(const UString &folderPrefix, const UStringVector &filePaths,
- bool showErrorMessages, UStringVector *messages)
-{
- CMyComPtr<IFolderOperations> folderOperations;
- if (_folder.QueryInterface(IID_IFolderOperations, &folderOperations) != S_OK)
- {
- UString errorMessage = LangLoadStringW(IDS_OPERATION_IS_NOT_SUPPORTED, 0x03020208);
- if (showErrorMessages)
- MessageBox(errorMessage);
- else if (messages != 0)
- messages->Add(errorMessage);
- return E_FAIL;
- }
-
- CThreadUpdate updater;
- updater.UpdateCallbackSpec = new CUpdateCallback100Imp;
- updater.UpdateCallback = updater.UpdateCallbackSpec;
-
- UString title = LangLoadStringW(IDS_COPYING, 0x03020205);
- UString progressWindowTitle = LangLoadStringW(IDS_APP_TITLE, 0x03000000);
-
- updater.UpdateCallbackSpec->ProgressDialog.MainWindow = GetParent();
- updater.UpdateCallbackSpec->ProgressDialog.MainTitle = progressWindowTitle;
- updater.UpdateCallbackSpec->ProgressDialog.MainAddTitle = title + UString(L" ");
-
- updater.UpdateCallbackSpec->Init((HWND)*this, false, L"");
- updater.FolderOperations = folderOperations;
- updater.FolderPrefix = folderPrefix;
- updater.FileNames.Reserve(filePaths.Size());
- int i;
- for(i = 0; i < filePaths.Size(); i++)
- updater.FileNames.Add(filePaths[i]);
- updater.FileNamePointers.Reserve(updater.FileNames.Size());
- for(i = 0; i < updater.FileNames.Size(); i++)
- updater.FileNamePointers.Add(updater.FileNames[i]);
-
- CThread thread;
- if (!thread.Create(CThreadUpdate::MyThreadFunction, &updater))
- throw 271824;
- updater.UpdateCallbackSpec->StartProgressDialog(title);
-
- if (messages != 0)
- *messages = updater.UpdateCallbackSpec->Messages;
-
- return updater.Result;
-}
-
-void CPanel::CopyFrom(const UStringVector &filePaths)
-{
- UString message = L"Are you sure you want to copy files to archive\n\'";
- message += _currentFolderPrefix;
- message += L"\' ?";
- int res = ::MessageBoxW(*(this), message, L"Confirm File Copy",
- MB_YESNOCANCEL | MB_ICONQUESTION | MB_TASKMODAL);
- if (res != IDYES)
- return;
-
- CDisableTimerProcessing disableTimerProcessing(*this);
-
- CSelectedState srcSelState;
- SaveSelectedState(srcSelState);
-
- HRESULT result = CopyFrom(L"", filePaths, true, 0);
-
- if (result != S_OK)
- {
- disableTimerProcessing.Restore();
- // For Password:
- SetFocusToList();
- if (result != E_ABORT)
- MessageBoxError(result, L"Error");
- return;
- }
-
- RefreshListCtrl(srcSelState);
-
- disableTimerProcessing.Restore();
- SetFocusToList();
-}
diff --git a/7zip/FileManager/PanelFolderChange.cpp b/7zip/FileManager/PanelFolderChange.cpp
index 0a4a8ce4..c38989f7 100755
--- a/7zip/FileManager/PanelFolderChange.cpp
+++ b/7zip/FileManager/PanelFolderChange.cpp
@@ -359,7 +359,7 @@ void CPanel::OpenDrivesFolder()
void CPanel::OpenFolder(int index)
{
- if (index == -1)
+ if (index == kParentIndex)
{
OpenParentFolder();
return;
diff --git a/7zip/FileManager/PanelItemOpen.cpp b/7zip/FileManager/PanelItemOpen.cpp
index f913ec77..5cf77b7c 100755
--- a/7zip/FileManager/PanelItemOpen.cpp
+++ b/7zip/FileManager/PanelItemOpen.cpp
@@ -230,7 +230,7 @@ void CPanel::EditItem(int index)
void CPanel::OpenFolderExternal(int index)
{
- HANDLE hProcess = StartApplication(_currentFolderPrefix + GetItemName(index), (HWND)*this);
+ HANDLE hProcess = StartApplication(GetFsPath() + GetItemName(index), (HWND)*this);
if (hProcess != 0)
::CloseHandle(hProcess);
}
@@ -263,7 +263,7 @@ void CPanel::OpenItem(int index, bool tryInternal, bool tryExternal)
}
}
-HRESULT CPanel::OnOpenItemChanged(const UString &folderPath, const UString &itemName)
+LRESULT CPanel::OnOpenItemChanged(const UString &folderPath, const UString &itemName)
{
CMyComPtr<IFolderOperations> folderOperations;
if (_folder.QueryInterface(IID_IFolderOperations, &folderOperations) != S_OK)
@@ -382,7 +382,7 @@ void CPanel::OpenItemInArchive(int index, bool tryInternal, bool tryExternal,
if ((result != S_OK && result != E_ABORT))
{
- MessageBoxError(result, L"7-Zip");
+ MessageBoxError(result);
return;
}
diff --git a/7zip/FileManager/PanelItems.cpp b/7zip/FileManager/PanelItems.cpp
index de52c3ec..675ef6ee 100755
--- a/7zip/FileManager/PanelItems.cpp
+++ b/7zip/FileManager/PanelItems.cpp
@@ -231,7 +231,7 @@ void CPanel::GetSelectedNames(UStringVector &selectedNames)
if (!_listView.GetItem(&item))
continue;
int realIndex = GetRealIndex(item);
- if (realIndex == -1)
+ if (realIndex == kParentIndex)
continue;
if (_selectedStatusVector[realIndex])
selectedNames.Add(GetUnicodeString(item.pszText));
@@ -248,7 +248,7 @@ void CPanel::SaveSelectedState(CSelectedState &s)
if (s.FocusedItem >= 0)
{
int realIndex = GetRealItemIndex(s.FocusedItem);
- if (realIndex != -1)
+ if (realIndex != kParentIndex)
s.FocusedName = GetItemName(realIndex);
/*
const int kSize = 1024;
@@ -263,6 +263,11 @@ void CPanel::SaveSelectedState(CSelectedState &s)
focusedName = GetUnicodeString(item.pszText);
*/
}
+ if (!_focusedName.IsEmpty())
+ {
+ s.FocusedName = _focusedName;
+ _focusedName.Empty();
+ }
GetSelectedNames(s.SelectedNames);
}
@@ -344,7 +349,7 @@ void CPanel::RefreshListCtrl(const UString &focusedName, int focusedPos,
item.mask = LVIF_TEXT | LVIF_PARAM | LVIF_IMAGE;
int subItem = 0;
item.iSubItem = subItem++;
- item.lParam = -1;
+ item.lParam = kParentIndex;
const int kMaxNameSize = MAX_PATH * 2;
TCHAR string[kMaxNameSize];
lstrcpyn(string, GetSystemString(itemName), kMaxNameSize);
@@ -369,18 +374,15 @@ void CPanel::RefreshListCtrl(const UString &focusedName, int focusedPos,
if (selectedNames.FindInSorted(itemName) >= 0)
selected = true;
_selectedStatusVector.Add(selected);
- /*
- if (_virtualMode)
- {
- _realIndices.Add(i);
- }
- else
- */
- {
item.mask = LVIF_TEXT | LVIF_PARAM | LVIF_IMAGE;
- // item.mask = LVIF_TEXT | LVIF_PARAM;
+ if (!_mySelectMode)
+ if (selected)
+ {
+ item.mask |= LVIF_STATE;
+ item.state = LVIS_SELECTED;
+ }
int subItem = 0;
item.iItem = _listView.GetItemCount();
@@ -450,7 +452,6 @@ void CPanel::RefreshListCtrl(const UString &focusedName, int focusedPos,
if(_listView.InsertItem(&item) == -1)
return; // error
- }
}
// OutputDebugStringA("End2\n");
@@ -506,7 +507,7 @@ void CPanel::GetOperatedItemIndices(CRecordVector<UINT32> &indices) const
if (focusedItem >= 0)
{
int realIndex = GetRealItemIndex(focusedItem);
- if (realIndex != -1)
+ if (realIndex != kParentIndex)
indices.Add(realIndex);
}
}
@@ -538,7 +539,7 @@ void CPanel::EditItem()
if (focusedItem < 0)
return;
int realIndex = GetRealItemIndex(focusedItem);
- if (realIndex == -1)
+ if (realIndex == kParentIndex)
return;
if (!IsItemFolder(realIndex))
EditItem(realIndex);
@@ -570,7 +571,7 @@ void CPanel::OpenSelectedItems(bool tryInternal)
if (focusedItem >= 0)
{
int realIndex = GetRealItemIndex(focusedItem);
- if (realIndex == -1 && (tryInternal || indices.Size() == 0))
+ if (realIndex == kParentIndex && (tryInternal || indices.Size() == 0))
indices.Insert(0, realIndex);
}
@@ -600,7 +601,7 @@ void CPanel::OpenSelectedItems(bool tryInternal)
UString CPanel::GetItemName(int itemIndex) const
{
- if (itemIndex == -1)
+ if (itemIndex == kParentIndex)
return L"..";
NCOM::CPropVariant propVariant;
if (_folder->GetProperty(itemIndex, kpidName, &propVariant) != S_OK)
@@ -613,7 +614,7 @@ UString CPanel::GetItemName(int itemIndex) const
bool CPanel::IsItemFolder(int itemIndex) const
{
- if (itemIndex == -1)
+ if (itemIndex == kParentIndex)
return true;
NCOM::CPropVariant propVariant;
if (_folder->GetProperty(itemIndex, kpidIsFolder, &propVariant) != S_OK)
@@ -627,7 +628,7 @@ bool CPanel::IsItemFolder(int itemIndex) const
UINT64 CPanel::GetItemSize(int itemIndex) const
{
- if (itemIndex == -1)
+ if (itemIndex == kParentIndex)
return 0;
NCOM::CPropVariant propVariant;
if (_folder->GetProperty(itemIndex, kpidSize, &propVariant) != S_OK)
diff --git a/7zip/FileManager/PanelListNotify.cpp b/7zip/FileManager/PanelListNotify.cpp
index 53c51171..ec88abc5 100755
--- a/7zip/FileManager/PanelListNotify.cpp
+++ b/7zip/FileManager/PanelListNotify.cpp
@@ -82,7 +82,7 @@ LRESULT CPanel::SetItemText(LVITEM &item)
if ((item.mask & LVIF_TEXT) == 0)
return 0;
- if (realIndex == (UINT32)-1)
+ if (realIndex == kParentIndex)
return 0;
UString string;
UINT32 subItemIndex = item.iSubItem;
@@ -148,6 +148,18 @@ LRESULT CPanel::SetItemText(LVITEM &item)
extern DWORD g_ComCtl32Version;
+void CPanel::OnItemChanged(NMLISTVIEW *item)
+{
+ int index = item->lParam;
+ if (index == kParentIndex)
+ return;
+ bool oldSelected = (item->uOldState & LVIS_SELECTED) != 0;
+ bool newSelected = (item->uNewState & LVIS_SELECTED) != 0;
+ // Don't change this code. It works only with such check
+ if(oldSelected != newSelected)
+ _selectedStatusVector[index] = newSelected;
+}
+
bool CPanel::OnNotifyList(LPNMHDR header, LRESULT &result)
{
bool alt = (::GetKeyState(VK_MENU) & 0x8000) != 0;
@@ -157,6 +169,8 @@ bool CPanel::OnNotifyList(LPNMHDR header, LRESULT &result)
{
case LVN_ITEMCHANGED:
{
+ if (!_mySelectMode)
+ OnItemChanged((LPNMLISTVIEW)header);
RefreshStatusBar();
return false;
}
@@ -244,10 +258,9 @@ bool CPanel::OnNotifyList(LPNMHDR header, LRESULT &result)
case NM_CLICK:
{
RefreshStatusBar();
- if(g_ComCtl32Version >= MAKELONG(71, 4))
- {
- OnLeftClick((LPNMITEMACTIVATE)header);
- }
+ if(_mySelectMode)
+ if(g_ComCtl32Version >= MAKELONG(71, 4))
+ OnLeftClick((LPNMITEMACTIVATE)header);
return false;
}
case LVN_BEGINLABELEDIT:
@@ -258,7 +271,11 @@ bool CPanel::OnNotifyList(LPNMHDR header, LRESULT &result)
return true;
case NM_CUSTOMDRAW:
- return OnCustomDraw((LPNMLVCUSTOMDRAW)header, result);
+ {
+ if (_mySelectMode)
+ return OnCustomDraw((LPNMLVCUSTOMDRAW)header, result);
+ break;
+ }
case LVN_BEGINDRAG:
{
OnDrag((LPNMLISTVIEW)header);
@@ -290,7 +307,7 @@ bool CPanel::OnCustomDraw(LPNMLVCUSTOMDRAW lplvcd, LRESULT &result)
*/
int realIndex = lplvcd->nmcd.lItemlParam;
bool selected = false;
- if (realIndex != -1)
+ if (realIndex != kParentIndex)
selected = _selectedStatusVector[realIndex];
if (selected)
lplvcd->clrTextBk = RGB(255, 192, 192);
@@ -331,10 +348,10 @@ void CPanel::OnRefreshStatusBar()
{
CRecordVector<UINT32> indices;
GetOperatedItemIndices(indices);
-
+
_statusBar.SetText(0, GetSystemString(MyFormatNew(IDS_N_SELECTED_ITEMS,
0x02000301, NumberToStringW(indices.Size()))));
-
+
UString selectSizeString;
if (indices.Size() > 0)
@@ -353,7 +370,7 @@ void CPanel::OnRefreshStatusBar()
if (focusedItem >= 0 && _listView.GetSelectedCount() > 0)
{
int realIndex = GetRealItemIndex(focusedItem);
- if (realIndex != -1)
+ if (realIndex != kParentIndex)
{
sizeString = ConvertSizeToString(GetItemSize(realIndex));
NCOM::CPropVariant propVariant;
diff --git a/7zip/FileManager/PanelMenu.cpp b/7zip/FileManager/PanelMenu.cpp
index d4336fdd..091f0317 100755
--- a/7zip/FileManager/PanelMenu.cpp
+++ b/7zip/FileManager/PanelMenu.cpp
@@ -22,14 +22,15 @@ static const UINT kSystemStartMenuID = kPluginMenuStartID + 100;
void CPanel::InvokeSystemCommand(const char *command)
{
- if (!IsFSFolder())
+ if (!IsFSFolder() && !IsFSDrivesFolder())
return;
CRecordVector<UINT32> operatedIndices;
GetOperatedItemIndices(operatedIndices);
if (operatedIndices.IsEmpty())
return;
CMyComPtr<IContextMenu> contextMenu;
- CreateShellContextMenu(operatedIndices, contextMenu);
+ if (CreateShellContextMenu(operatedIndices, contextMenu) != S_OK)
+ return;
CMINVOKECOMMANDINFO ci;
ZeroMemory(&ci, sizeof(ci));
@@ -58,19 +59,19 @@ void CPanel::EditPaste()
InvokeSystemCommand("paste");
}
-void CPanel::CreateShellContextMenu(
+HRESULT CPanel::CreateShellContextMenu(
const CRecordVector<UINT32> &operatedIndices,
CMyComPtr<IContextMenu> &systemContextMenu)
{
systemContextMenu.Release();
- UString folderPath = _currentFolderPrefix;
+ UString folderPath = GetFsPath();
CMyComPtr<IShellFolder> desktopFolder;
- ::SHGetDesktopFolder(&desktopFolder);
+ RINOK(::SHGetDesktopFolder(&desktopFolder));
if (!desktopFolder)
{
// ShowMessage("Failed to get Desktop folder.");
- return;
+ return E_FAIL;
}
// Separate the file from the folder.
@@ -80,24 +81,19 @@ void CPanel::CreateShellContextMenu(
// is located in.
LPITEMIDLIST parentPidl;
DWORD eaten;
- DWORD result = desktopFolder->ParseDisplayName(
+ RINOK(desktopFolder->ParseDisplayName(
GetParent(), 0, (wchar_t *)(const wchar_t *)folderPath,
- &eaten, &parentPidl, 0);
- if (result != NOERROR)
- {
- // ShowMessage("Invalid file name.");
- return;
- }
+ &eaten, &parentPidl, 0));
// Get an IShellFolder for the folder
// the file is located in.
CMyComPtr<IShellFolder> parentFolder;
- result = desktopFolder->BindToObject(parentPidl,
- 0, IID_IShellFolder, (void**)&parentFolder);
+ RINOK(desktopFolder->BindToObject(parentPidl,
+ 0, IID_IShellFolder, (void**)&parentFolder));
if (!parentFolder)
{
// ShowMessage("Invalid file name.");
- return;
+ return E_FAIL;
}
// Get a pidl for the file itself.
@@ -107,10 +103,10 @@ void CPanel::CreateShellContextMenu(
{
LPITEMIDLIST pidl;
UString fileName = GetItemName(operatedIndices[i]);
- HRESULT result = parentFolder->ParseDisplayName(GetParent(), 0,
- (wchar_t *)(const wchar_t *)fileName, &eaten, &pidl, 0);
- if (result != NOERROR)
- return;
+ if (IsFSDrivesFolder())
+ fileName += L'\\';
+ RINOK(parentFolder->ParseDisplayName(GetParent(), 0,
+ (wchar_t *)(const wchar_t *)fileName, &eaten, &pidl, 0));
pidls.Add(pidl);
}
@@ -130,14 +126,15 @@ void CPanel::CreateShellContextMenu(
// Get the IContextMenu for the file.
CMyComPtr<IContextMenu> cm;
- result = parentFolder->GetUIObjectOf(GetParent(), pidls.Size(),
- (LPCITEMIDLIST *)&pidls.Front(), IID_IContextMenu, 0, (void**)&cm);
+ RINOK( parentFolder->GetUIObjectOf(GetParent(), pidls.Size(),
+ (LPCITEMIDLIST *)&pidls.Front(), IID_IContextMenu, 0, (void**)&cm));
if (!cm)
{
// ShowMessage("Unable to get context menu interface.");
- return;
+ return E_FAIL;
}
systemContextMenu = cm;
+ return S_OK;
}
void CPanel::CreateSystemMenu(HMENU menuSpec,
diff --git a/7zip/FileManager/PanelOperations.cpp b/7zip/FileManager/PanelOperations.cpp
index c6138888..5e23cbcb 100755
--- a/7zip/FileManager/PanelOperations.cpp
+++ b/7zip/FileManager/PanelOperations.cpp
@@ -119,7 +119,7 @@ void CPanel::DeleteItems()
BOOL CPanel::OnBeginLabelEdit(LV_DISPINFO * lpnmh)
{
int realIndex = GetRealIndex(lpnmh->item);
- if (realIndex == -1)
+ if (realIndex == kParentIndex)
return TRUE;
CMyComPtr<IFolderOperations> folderOperations;
if (_folder.QueryInterface(IID_IFolderOperations, &folderOperations) != S_OK)
@@ -141,7 +141,7 @@ BOOL CPanel::OnEndLabelEdit(LV_DISPINFO * lpnmh)
CPanel::CDisableTimerProcessing disableTimerProcessing2(*this);
int realIndex = GetRealIndex(lpnmh->item);
- if (realIndex == -1)
+ if (realIndex == kParentIndex)
return FALSE;
HRESULT result = folderOperations->Rename(realIndex, newName, 0);
if (result != S_OK)
@@ -151,6 +151,7 @@ BOOL CPanel::OnEndLabelEdit(LV_DISPINFO * lpnmh)
}
// Can't use RefreshListCtrl here.
// RefreshListCtrlSaveFocused();
+ _focusedName = newName;
PostMessage(kReLoadMessage);
return TRUE;
}
@@ -182,6 +183,8 @@ void CPanel::CreateFolder()
int pos = newName.Find(TEXT('\\'));
if (pos >= 0)
newName = newName.Left(pos);
+ if (!_mySelectMode)
+ state.SelectedNames.Clear();
state.FocusedName = newName;
RefreshListCtrl(state);
}
@@ -213,6 +216,8 @@ void CPanel::CreateFile()
int pos = newName.Find(TEXT('\\'));
if (pos >= 0)
newName = newName.Left(pos);
+ if (!_mySelectMode)
+ state.SelectedNames.Clear();
state.FocusedName = newName;
RefreshListCtrl(state);
}
@@ -231,7 +236,7 @@ void CPanel::ChangeComment()
if (index < 0)
return;
int realIndex = GetRealItemIndex(index);
- if (realIndex == -1)
+ if (realIndex == kParentIndex)
return;
CSelectedState state;
SaveSelectedState(state);
diff --git a/7zip/FileManager/PanelSelect.cpp b/7zip/FileManager/PanelSelect.cpp
index 026520de..595a19e4 100755
--- a/7zip/FileManager/PanelSelect.cpp
+++ b/7zip/FileManager/PanelSelect.cpp
@@ -15,6 +15,8 @@
void CPanel::OnShiftSelectMessage()
{
+ if (!_mySelectMode)
+ return;
int focusedItem = _listView.GetFocusedItem();
if (focusedItem < 0)
return;
@@ -25,7 +27,7 @@ void CPanel::OnShiftSelectMessage()
for (int i = 0; i < _listView.GetItemCount(); i++)
{
int realIndex = GetRealItemIndex(i);
- if (realIndex == -1)
+ if (realIndex == kParentIndex)
continue;
if (i >= startItem && i <= finishItem)
if (_selectedStatusVector[realIndex] != _selectMark)
@@ -39,18 +41,20 @@ void CPanel::OnShiftSelectMessage()
void CPanel::OnArrowWithShift()
{
+ if (!_mySelectMode)
+ return;
int focusedItem = _listView.GetFocusedItem();
if (focusedItem < 0)
return;
int realIndex = GetRealItemIndex(focusedItem);
if (_selectionIsDefined)
{
- if (realIndex != -1)
+ if (realIndex != kParentIndex)
_selectedStatusVector[realIndex] = _selectMark;
}
else
{
- if (realIndex == -1)
+ if (realIndex == kParentIndex)
{
_selectionIsDefined = true;
_selectMark = true;
@@ -81,8 +85,13 @@ void CPanel::OnInsert()
if (focusedItem < 0)
return;
int realIndex = GetRealItemIndex(focusedItem);
- if (realIndex != -1)
- _selectedStatusVector[realIndex] = !_selectedStatusVector[realIndex];
+ bool isSelected = !_selectedStatusVector[realIndex];
+ if (realIndex != kParentIndex)
+ _selectedStatusVector[realIndex] = isSelected;
+
+ if (!_mySelectMode)
+ _listView.SetItemState(focusedItem, isSelected ? LVIS_SELECTED: 0, LVIS_SELECTED);
+
_listView.RedrawItem(focusedItem);
int nextIndex = focusedItem + 1;
@@ -116,6 +125,26 @@ void CPanel::OnDownWithShift()
}
*/
+void CPanel::UpdateSelection()
+{
+ if (!_mySelectMode)
+ {
+ int numItems = _listView.GetItemCount();
+ for (int i = 0; i < numItems; i++)
+ {
+ int realIndex = GetRealItemIndex(i);
+ if (realIndex != kParentIndex)
+ {
+ UINT value = 0;
+ value = _selectedStatusVector[realIndex] ? LVIS_SELECTED: 0;
+ _listView.SetItemState(i, value, LVIS_SELECTED);
+ }
+ }
+ }
+ _listView.RedrawAllItems();
+}
+
+
void CPanel::SelectSpec(bool selectMode)
{
CComboDialog comboDialog;
@@ -126,11 +155,11 @@ void CPanel::SelectSpec(bool selectMode)
comboDialog.Value = L"*";
if (comboDialog.Create(GetParent()) == IDCANCEL)
return;
- UString mask = GetUnicodeString(comboDialog.Value);
+ const UString &mask = comboDialog.Value;
for (int i = 0; i < _selectedStatusVector.Size(); i++)
if (CompareWildCardWithName(mask, GetItemName(i)))
_selectedStatusVector[i] = selectMode;
- _listView.RedrawAllItems();
+ UpdateSelection();
}
void CPanel::SelectByType(bool selectMode)
@@ -142,10 +171,12 @@ void CPanel::SelectByType(bool selectMode)
UString name = GetItemName(realIndex);
bool isItemFolder = IsItemFolder(realIndex);
+ /*
UINT32 numItems;
_folder->GetNumberOfItems(&numItems);
if ((UInt32)_selectedStatusVector.Size() != numItems)
throw 11111;
+ */
if (isItemFolder)
{
@@ -170,26 +201,32 @@ void CPanel::SelectByType(bool selectMode)
_selectedStatusVector[i] = selectMode;
}
}
- _listView.RedrawAllItems();
+ UpdateSelection();
}
void CPanel::SelectAll(bool selectMode)
{
for (int i = 0; i < _selectedStatusVector.Size(); i++)
_selectedStatusVector[i] = selectMode;
- _listView.RedrawAllItems();
+ UpdateSelection();
}
void CPanel::InvertSelection()
{
for (int i = 0; i < _selectedStatusVector.Size(); i++)
_selectedStatusVector[i] = !_selectedStatusVector[i];
- _listView.RedrawAllItems();
+ UpdateSelection();
}
void CPanel::KillSelection()
{
SelectAll(false);
+ if (!_mySelectMode)
+ {
+ int focused = _listView.GetFocusedItem();
+ if (focused >= 0)
+ _listView.SetItemState(focused, LVIS_SELECTED, LVIS_SELECTED);
+ }
}
void CPanel::OnLeftClick(LPNMITEMACTIVATE itemActivate)
@@ -211,7 +248,7 @@ void CPanel::OnLeftClick(LPNMITEMACTIVATE itemActivate)
for (int i = 0; i < _selectedStatusVector.Size(); i++)
{
int realIndex = GetRealItemIndex(i);
- if (realIndex == -1)
+ if (realIndex == kParentIndex)
continue;
bool selected = (i >= startItem && i <= finishItem);
if (_selectedStatusVector[realIndex] != selected)
@@ -227,7 +264,7 @@ void CPanel::OnLeftClick(LPNMITEMACTIVATE itemActivate)
if ((itemActivate->uKeyFlags & LVKF_CONTROL) != 0)
{
int realIndex = GetRealItemIndex(indexInList);
- if (realIndex != -1)
+ if (realIndex != kParentIndex)
{
_selectedStatusVector[realIndex] = !_selectedStatusVector[realIndex];
_listView.RedrawItem(indexInList);
diff --git a/7zip/FileManager/PanelSort.cpp b/7zip/FileManager/PanelSort.cpp
index e2f07df2..02ba2e38 100755
--- a/7zip/FileManager/PanelSort.cpp
+++ b/7zip/FileManager/PanelSort.cpp
@@ -71,9 +71,9 @@ int CALLBACK CompareItems(LPARAM lParam1, LPARAM lParam2, LPARAM lpData)
{
if(lpData == NULL)
return 0;
- if (lParam1 == -1)
+ if (lParam1 == kParentIndex)
return -1;
- if (lParam2 == -1)
+ if (lParam2 == kParentIndex)
return 1;
CPanel *panel = (CPanel*)lpData;
diff --git a/7zip/FileManager/PanelSplitFile.cpp b/7zip/FileManager/PanelSplitFile.cpp
index 93a8420f..d9ae5c11 100755
--- a/7zip/FileManager/PanelSplitFile.cpp
+++ b/7zip/FileManager/PanelSplitFile.cpp
@@ -191,8 +191,6 @@ void CApp::Split()
srcPanel.GetOperatedItemIndices(indices);
if (indices.IsEmpty())
return;
- UString title;
- UString message;
if (indices.Size() != 1)
{
srcPanel.MessageBox(L"Select one file");
@@ -225,6 +223,12 @@ void CApp::Split()
CProgressDialog progressDialog;
spliter.ProgressDialog = &progressDialog;
+ UString progressWindowTitle = LangLoadStringW(IDS_APP_TITLE, 0x03000000);
+ UString title = LangLoadStringW(IDS_SPLITTING, 0x03020510);
+
+ progressDialog.MainWindow = _window;
+ progressDialog.MainTitle = progressWindowTitle;
+ progressDialog.MainAddTitle = title + UString(L" ");
progressDialog.ProgressSynch.SetTitleFileName(itemName);
path = splitDialog.Path;
@@ -264,8 +268,7 @@ void CApp::Split()
CThread thread;
if (!thread.Create(CThreadSplit::MyThreadFunction, &spliter))
throw 271824;
- progressDialog.Create(
- LangLoadStringW(IDS_SPLITTING, 0x03020510));
+ progressDialog.Create(title, _window);
if (!spliter.Error.IsEmpty())
srcPanel.MessageBoxMyError(spliter.Error);
@@ -396,8 +399,6 @@ void CApp::Combine()
srcPanel.GetOperatedItemIndices(indices);
if (indices.IsEmpty())
return;
- UString title;
- UString message;
if (indices.Size() != 1)
{
srcPanel.MessageBox(L"Select only first file");
@@ -433,7 +434,14 @@ void CApp::Combine()
CProgressDialog progressDialog;
combiner.ProgressDialog = &progressDialog;
-
+
+ UString progressWindowTitle = LangLoadStringW(IDS_APP_TITLE, 0x03000000);
+ UString title = LangLoadStringW(IDS_COMBINING, 0x03020610);
+
+ progressDialog.MainWindow = _window;
+ progressDialog.MainTitle = progressWindowTitle;
+ progressDialog.MainAddTitle = title + UString(L" ");
+
path = copyDialog.Value;
NFile::NName::NormalizeDirPathPrefix(path);
if (!NFile::NDirectory::CreateComplexDirectory(path))
@@ -452,7 +460,7 @@ void CApp::Combine()
CThread thread;
if (!thread.Create(CThreadCombine::MyThreadFunction, &combiner))
throw 271824;
- progressDialog.Create(LangLoadStringW(IDS_COMBINING, 0x03020610));
+ progressDialog.Create(title, _window);
if (!combiner.Error.IsEmpty())
srcPanel.MessageBoxMyError(combiner.Error);
diff --git a/7zip/FileManager/RegistryAssociations.cpp b/7zip/FileManager/RegistryAssociations.cpp
index a3d9c620..5186ea79 100755
--- a/7zip/FileManager/RegistryAssociations.cpp
+++ b/7zip/FileManager/RegistryAssociations.cpp
@@ -102,8 +102,6 @@ static const TCHAR *kShellKeyName = TEXT("shell");
static const TCHAR *kOpenKeyName = TEXT("open");
static const TCHAR *kCommandKeyName = TEXT("command");
-static const TCHAR *kOpenCommandValue = TEXT("7zFMn.exe \"%1\"");
-
static CSysString GetExtensionKeyName(const CSysString &extension)
{
return CSysString(TEXT(".")) + extension;
@@ -114,7 +112,7 @@ static CSysString GetExtProgramKeyName(const CSysString &extension)
return CSysString(TEXT("7-Zip.")) + extension;
}
-bool CheckShellExtensionInfo(const CSysString &extension)
+static bool CheckShellExtensionInfo2(const CSysString &extension)
{
NSynchronization::CCriticalSectionLock lock(g_CriticalSection);
CKey extKey;
@@ -124,10 +122,16 @@ bool CheckShellExtensionInfo(const CSysString &extension)
if (extKey.QueryValue(NULL, programNameValue) != ERROR_SUCCESS)
return false;
CSysString extProgramKeyName = GetExtProgramKeyName(extension);
- if (programNameValue.CollateNoCase(extProgramKeyName) != 0)
+ return (programNameValue.CollateNoCase(extProgramKeyName) == 0);
+}
+
+bool CheckShellExtensionInfo(const CSysString &extension)
+{
+ NSynchronization::CCriticalSectionLock lock(g_CriticalSection);
+ if (!CheckShellExtensionInfo2(extension))
return false;
CKey extProgKey;
- return (extProgKey.Open(HKEY_CLASSES_ROOT, extProgramKeyName, KEY_READ) == ERROR_SUCCESS);
+ return (extProgKey.Open(HKEY_CLASSES_ROOT, GetExtProgramKeyName(extension), KEY_READ) == ERROR_SUCCESS);
}
static void DeleteShellExtensionKey(const CSysString &extension)
@@ -150,7 +154,7 @@ static void DeleteShellExtensionProgramKey(const CSysString &extension)
void DeleteShellExtensionInfo(const CSysString &extension)
{
- if (CheckShellExtensionInfo(extension))
+ if (CheckShellExtensionInfo2(extension))
DeleteShellExtensionKey(extension);
DeleteShellExtensionProgramKey(extension);
}
diff --git a/7zip/FileManager/RegistryPlugins.cpp b/7zip/FileManager/RegistryPlugins.cpp
index b491876a..2f9dc777 100755
--- a/7zip/FileManager/RegistryPlugins.cpp
+++ b/7zip/FileManager/RegistryPlugins.cpp
@@ -94,6 +94,7 @@ static bool ReadPluginInfo(CPluginInfo &pluginInfo)
CSysString GetProgramFolderPrefix();
+#ifndef _WIN64
static bool IsItWindowsNT()
{
OSVERSIONINFO versionInfo;
@@ -102,6 +103,7 @@ static bool IsItWindowsNT()
return false;
return (versionInfo.dwPlatformId == VER_PLATFORM_WIN32_NT);
}
+#endif
void ReadPluginInfoList(CObjectVector<CPluginInfo> &plugins)
{
@@ -110,12 +112,14 @@ void ReadPluginInfoList(CObjectVector<CPluginInfo> &plugins)
CSysString baseFolderPrefix = GetProgramFolderPrefix();
{
CSysString path = baseFolderPrefix + TEXT("7-zip");
+ #ifndef _WIN64
if (IsItWindowsNT())
path += TEXT("n");
+ #endif
path += TEXT(".dll");
CPluginInfo pluginInfo;
pluginInfo.FilePath = path;
-
+
if (::ReadPluginInfo(pluginInfo))
plugins.Add(pluginInfo);
}
diff --git a/7zip/FileManager/RegistryUtils.cpp b/7zip/FileManager/RegistryUtils.cpp
index e15f153a..99937bec 100755
--- a/7zip/FileManager/RegistryUtils.cpp
+++ b/7zip/FileManager/RegistryUtils.cpp
@@ -19,6 +19,7 @@ static const TCHAR *kShowSystemMenu = TEXT("ShowSystemMenu");
static const TCHAR *kFullRow = TEXT("FullRow");
static const TCHAR *kShowGrid = TEXT("ShowGrid");
+static const TCHAR *kAlternativeSelection = TEXT("AlternativeSelection");
// static const TCHAR *kSingleClick = TEXT("SingleClick");
// static const TCHAR *kUnderline = TEXT("Underline");
@@ -88,6 +89,9 @@ bool ReadFullRow() { return ReadOption(kFullRow, false); }
void SaveShowGrid(bool enable) { SaveOption(kShowGrid, enable); }
bool ReadShowGrid(){ return ReadOption(kShowGrid, false); }
+void SaveAlternativeSelection(bool enable) { SaveOption(kAlternativeSelection, enable); }
+bool ReadAlternativeSelection(){ return ReadOption(kAlternativeSelection, false); }
+
/*
void SaveSingleClick(bool enable) { SaveOption(kSingleClick, enable); }
bool ReadSingleClick(){ return ReadOption(kSingleClick, false); }
diff --git a/7zip/FileManager/RegistryUtils.h b/7zip/FileManager/RegistryUtils.h
index 775f8f12..2799061e 100755
--- a/7zip/FileManager/RegistryUtils.h
+++ b/7zip/FileManager/RegistryUtils.h
@@ -26,6 +26,9 @@ bool ReadFullRow();
void SaveShowGrid(bool enable);
bool ReadShowGrid();
+void SaveAlternativeSelection(bool enable);
+bool ReadAlternativeSelection();
+
/*
void SaveSingleClick(bool enable);
bool ReadSingleClick();
diff --git a/7zip/FileManager/Resource/AboutDialog/AboutDialog.cpp b/7zip/FileManager/Resource/AboutDialog/AboutDialog.cpp
index 733b1890..e4dd2313 100755
--- a/7zip/FileManager/Resource/AboutDialog/AboutDialog.cpp
+++ b/7zip/FileManager/Resource/AboutDialog/AboutDialog.cpp
@@ -4,20 +4,22 @@
#include "resource.h"
#include "AboutDialog.h"
-#include "Common/String.h"
#include "../../HelpUtils.h"
#include "../../LangUtils.h"
static CIDLangPair kIDLangPairs[] =
{
{ IDC_ABOUT_STATIC_REGISTER_INFO, 0x01000103 },
+ { IDC_ABOUT_BUTTON_SUPPORT, 0x01000104 },
{ IDC_ABOUT_BUTTON_REGISTER, 0x01000105 },
- { IDOK, 0x02000702 }
+ { IDOK, 0x02000702 }
};
-static LPCTSTR kHomePageURL = TEXT("http://www.7-zip.org/");
-static LPCTSTR kRegisterPageURL = TEXT("http://www.7-zip.org/register.html");
-static LPCTSTR kSupportPageURL = TEXT("http://www.7-zip.org/support.html");
+#define MY_HOME_PAGE TEXT("http://www.7-zip.org/")
+
+static LPCTSTR kHomePageURL = MY_HOME_PAGE;
+static LPCTSTR kRegisterPageURL = MY_HOME_PAGE TEXT("register.html");
+static LPCTSTR kSupportPageURL = MY_HOME_PAGE TEXT("support.html");
static LPCWSTR kHelpTopic = L"start.htm";
@@ -46,15 +48,11 @@ bool CAboutDialog::OnButtonClicked(int buttonID, HWND buttonHWND)
::MyShellExecute(kHomePageURL);
break;
case IDC_ABOUT_BUTTON_REGISTER:
- {
::MyShellExecute(kRegisterPageURL);
break;
- }
- case IDC_ABOUT_BUTTON_EMAIL:
- {
+ case IDC_ABOUT_BUTTON_SUPPORT:
::MyShellExecute(kSupportPageURL);
break;
- }
default:
return CModalDialog::OnButtonClicked(buttonID, buttonHWND);
}
diff --git a/7zip/FileManager/Resource/AboutDialog/StdAfx.h b/7zip/FileManager/Resource/AboutDialog/StdAfx.h
new file mode 100755
index 00000000..a444ca31
--- /dev/null
+++ b/7zip/FileManager/Resource/AboutDialog/StdAfx.h
@@ -0,0 +1,16 @@
+// stdafx.h
+
+#ifndef __STDAFX_H
+#define __STDAFX_H
+
+#define _WIN32_WINNT 0x0400
+
+// it's for Windows NT supporting (MENUITEMINFOW)
+#define WINVER 0x0400
+
+#include <windows.h>
+#include <commctrl.h>
+
+#include "Common/NewHandler.h"
+
+#endif
diff --git a/7zip/FileManager/Resource/AboutDialog/resource.h b/7zip/FileManager/Resource/AboutDialog/resource.h
index 23539a37..54475484 100755
--- a/7zip/FileManager/Resource/AboutDialog/resource.h
+++ b/7zip/FileManager/Resource/AboutDialog/resource.h
@@ -1,21 +1,6 @@
-//{{NO_DEPENDENCIES}}
-// Microsoft Developer Studio generated include file.
-// Used by resource.rc
-//
#define IDD_ABOUT 100
#define IDI_LOGO 138
#define IDC_ABOUT_STATIC_REGISTER_INFO 1010
#define IDC_ABOUT_BUTTON_HOMEPAGE 1020
-#define IDC_ABOUT_BUTTON_EMAIL 1021
+#define IDC_ABOUT_BUTTON_SUPPORT 1021
#define IDC_ABOUT_BUTTON_REGISTER 1022
-
-// Next default values for new objects
-//
-#ifdef APSTUDIO_INVOKED
-#ifndef APSTUDIO_READONLY_SYMBOLS
-#define _APS_NEXT_RESOURCE_VALUE 139
-#define _APS_NEXT_COMMAND_VALUE 32771
-#define _APS_NEXT_CONTROL_VALUE 1023
-#define _APS_NEXT_SYMED_VALUE 101
-#endif
-#endif
diff --git a/7zip/FileManager/Resource/AboutDialog/resource.rc b/7zip/FileManager/Resource/AboutDialog/resource.rc
index fe8edf5a..b93fdd41 100755
--- a/7zip/FileManager/Resource/AboutDialog/resource.rc
+++ b/7zip/FileManager/Resource/AboutDialog/resource.rc
@@ -1,117 +1,41 @@
-//Microsoft Developer Studio generated resource script.
-//
#include "resource.h"
+#include "../../../GuiCommon.rc"
+#include "../../../MyVersion.h"
-#define APSTUDIO_READONLY_SYMBOLS
-/////////////////////////////////////////////////////////////////////////////
-//
-// Generated from the TEXTINCLUDE 2 resource.
-//
-#include "afxres.h"
+#define xSize2 224
+#define ySize2 158
+#define xSize (xSize2 + marg + marg)
+#define ySize (ySize2 + marg + marg)
-/////////////////////////////////////////////////////////////////////////////
-#undef APSTUDIO_READONLY_SYMBOLS
+#define bXPos (xSize - marg - bXSize)
+#define bYPos (ySize - marg - bYSize)
-/////////////////////////////////////////////////////////////////////////////
-// Russian resources
+#undef b2XSize
+#undef b2XPos
+#undef infoYPos
+#undef infoYSize
-#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_RUS)
-#ifdef _WIN32
-LANGUAGE LANG_RUSSIAN, SUBLANG_DEFAULT
-#pragma code_page(1251)
-#endif //_WIN32
+#define b2XSize 94
+#define b2XPos (xSize - marg - b2XSize)
+#define gSpace 2
+#define gSize (xSize2 - gSpace - b2XSize)
-#ifdef APSTUDIO_INVOKED
-/////////////////////////////////////////////////////////////////////////////
-//
-// TEXTINCLUDE
-//
+#define infoYPos 91
+#define infoYSize (ySize2 - infoYPos - bYSize - 2)
-1 TEXTINCLUDE DISCARDABLE
-BEGIN
- "resource.h\0"
-END
-
-2 TEXTINCLUDE DISCARDABLE
-BEGIN
- "#include ""afxres.h""\r\n"
- "\0"
-END
-
-3 TEXTINCLUDE DISCARDABLE
-BEGIN
- "\0"
-END
-
-#endif // APSTUDIO_INVOKED
-
-#endif // Russian resources
-/////////////////////////////////////////////////////////////////////////////
-
-
-/////////////////////////////////////////////////////////////////////////////
-// English (U.S.) resources
+IDI_LOGO ICON "7zipLogo.ico"
-#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_ENU)
-#ifdef _WIN32
-LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US
-#pragma code_page(1252)
-#endif //_WIN32
-
-/////////////////////////////////////////////////////////////////////////////
-//
-// Icon
-//
-
-// Icon with lowest ID value placed first to ensure application icon
-// remains consistent on all systems.
-IDI_LOGO ICON DISCARDABLE "7zipLogo.ico"
-
-/////////////////////////////////////////////////////////////////////////////
-//
-// Dialog
-//
-
-IDD_ABOUT DIALOG DISCARDABLE 0, 0, 237, 172
-STYLE DS_MODALFRAME | DS_FIXEDSYS | DS_CENTER | WS_POPUP | WS_CAPTION |
- WS_SYSMENU
+IDD_ABOUT DIALOG 0, 0, xSize, ySize MY_MODAL_DIALOG_STYLE
CAPTION "About 7-Zip"
-FONT 8, "MS Shell Dlg"
-BEGIN
- PUSHBUTTON "OK",IDOK,180,151,50,14
- PUSHBUTTON "www.7-zip.org",IDC_ABOUT_BUTTON_HOMEPAGE,136,7,94,14
- PUSHBUTTON "Support",IDC_ABOUT_BUTTON_EMAIL,136,30,94,14
- PUSHBUTTON "Register",IDC_ABOUT_BUTTON_REGISTER,136,53,94,14
- ICON IDI_LOGO,IDC_STATIC,7,7,20,20,SS_REALSIZEIMAGE
- LTEXT "7-Zip 4.24 beta",IDC_STATIC,7,54,119,9
- LTEXT "Copyright (c) 1999-2005 Igor Pavlov",IDC_STATIC,7,67,
- 119,17
- LTEXT "7-Zip is free software. However, you can support development of 7-Zip by registering.",
- IDC_ABOUT_STATIC_REGISTER_INFO,7,91,223,54
-END
-
-
-/////////////////////////////////////////////////////////////////////////////
-//
-// DESIGNINFO
-//
-
-#ifdef APSTUDIO_INVOKED
-GUIDELINES DESIGNINFO DISCARDABLE
+MY_FONT
BEGIN
- IDD_ABOUT, DIALOG
- BEGIN
- LEFTMARGIN, 7
- RIGHTMARGIN, 230
- VERTGUIDE, 126
- VERTGUIDE, 136
- TOPMARGIN, 7
- BOTTOMMARGIN, 165
- END
+ PUSHBUTTON "OK", IDOK, bXPos, bYPos, bXSize, bYSize
+ PUSHBUTTON "www.7-zip.org", IDC_ABOUT_BUTTON_HOMEPAGE, b2XPos, 7, b2XSize, bYSize
+ PUSHBUTTON "Support", IDC_ABOUT_BUTTON_SUPPORT, b2XPos, 30, b2XSize, bYSize
+ PUSHBUTTON "Register", IDC_ABOUT_BUTTON_REGISTER, b2XPos, 53, b2XSize, bYSize
+ ICON IDI_LOGO, -1, marg, marg, 20, 20, SS_REALSIZEIMAGE
+ LTEXT MY_7ZIP_VERSION, -1, marg, 54, gSize, 9
+ LTEXT MY_COPYRIGHT, -1, marg, 67, gSize, 17
+ LTEXT "7-Zip is free software. However, you can support development of 7-Zip by registering.",
+ IDC_ABOUT_STATIC_REGISTER_INFO, marg, infoYPos, xSize2, infoYSize
END
-#endif // APSTUDIO_INVOKED
-
-#endif // English (U.S.) resources
-/////////////////////////////////////////////////////////////////////////////
-
-
diff --git a/7zip/FileManager/Resource/BenchmarkDialog/BenchmarkDialog.cpp b/7zip/FileManager/Resource/BenchmarkDialog/BenchmarkDialog.cpp
index cfb976ba..dc050d11 100755
--- a/7zip/FileManager/Resource/BenchmarkDialog/BenchmarkDialog.cpp
+++ b/7zip/FileManager/Resource/BenchmarkDialog/BenchmarkDialog.cpp
@@ -693,8 +693,14 @@ DWORD CThreadBenchmark::Process()
NWindows::NCOM::CPropVariant properties[kNumProps];
properties[0] = UInt32(dictionarySize);
properties[1] = bool(multiThread);
- RINOK(setCoderProperties->SetCoderProperties(propIDs,
- properties, kNumProps));
+ HRESULT res = setCoderProperties->SetCoderProperties(propIDs,
+ properties, kNumProps);
+ if (res != S_OK)
+ {
+ // SyncInfo->Pause();
+ MessageBox(0, NError::MyFormatMessage(res), TEXT("7-Zip"), MB_ICONERROR);
+ return res;
+ }
}
if (propStream)
diff --git a/7zip/FileManager/Resource/BenchmarkDialog/StdAfx.h b/7zip/FileManager/Resource/BenchmarkDialog/StdAfx.h
new file mode 100755
index 00000000..a444ca31
--- /dev/null
+++ b/7zip/FileManager/Resource/BenchmarkDialog/StdAfx.h
@@ -0,0 +1,16 @@
+// stdafx.h
+
+#ifndef __STDAFX_H
+#define __STDAFX_H
+
+#define _WIN32_WINNT 0x0400
+
+// it's for Windows NT supporting (MENUITEMINFOW)
+#define WINVER 0x0400
+
+#include <windows.h>
+#include <commctrl.h>
+
+#include "Common/NewHandler.h"
+
+#endif
diff --git a/7zip/FileManager/Resource/BenchmarkDialog/resource.h b/7zip/FileManager/Resource/BenchmarkDialog/resource.h
index e7aadde9..d720058d 100755
--- a/7zip/FileManager/Resource/BenchmarkDialog/resource.h
+++ b/7zip/FileManager/Resource/BenchmarkDialog/resource.h
@@ -1,7 +1,3 @@
-//{{NO_DEPENDENCIES}}
-// Microsoft Developer Studio generated include file.
-// Used by resource.rc
-//
#define IDD_DIALOG_BENCHMARK 800
#define IDC_BUTTON_STOP 1001
#define IDC_BUTTON_RESTART 1002
@@ -36,14 +32,3 @@
#define IDC_BENCHMARK_ERRORS_VALUE 1065
#define IDC_BENCHMARK_PASSES 1066
#define IDC_BENCHMARK_PASSES_VALUE 1067
-
-// Next default values for new objects
-//
-#ifdef APSTUDIO_INVOKED
-#ifndef APSTUDIO_READONLY_SYMBOLS
-#define _APS_NEXT_RESOURCE_VALUE 157
-#define _APS_NEXT_COMMAND_VALUE 40001
-#define _APS_NEXT_CONTROL_VALUE 1070
-#define _APS_NEXT_SYMED_VALUE 101
-#endif
-#endif
diff --git a/7zip/FileManager/Resource/BenchmarkDialog/resource.rc b/7zip/FileManager/Resource/BenchmarkDialog/resource.rc
index 745a0823..5ab220e5 100755
--- a/7zip/FileManager/Resource/BenchmarkDialog/resource.rc
+++ b/7zip/FileManager/Resource/BenchmarkDialog/resource.rc
@@ -1,149 +1,87 @@
-//Microsoft Developer Studio generated resource script.
-//
#include "resource.h"
+#include "../../../GuiCommon.rc"
-#define APSTUDIO_READONLY_SYMBOLS
-/////////////////////////////////////////////////////////////////////////////
-//
-// Generated from the TEXTINCLUDE 2 resource.
-//
-#include "afxres.h"
+#define xSize2 210
+#define ySize2 228
-/////////////////////////////////////////////////////////////////////////////
-#undef APSTUDIO_READONLY_SYMBOLS
+#define xSize (xSize2 + marg + marg)
+#define ySize (ySize2 + marg + marg)
-/////////////////////////////////////////////////////////////////////////////
-// Russian resources
+#define bXPos1 (xSize - marg - bXSize)
+#define bXPos2 (bXPos1 - 10 - bXSize)
-#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_RUS)
-#ifdef _WIN32
-LANGUAGE LANG_RUSSIAN, SUBLANG_DEFAULT
-#pragma code_page(1251)
-#endif //_WIN32
+#define bYPos (ySize - marg - bYSize)
-#ifdef APSTUDIO_INVOKED
-/////////////////////////////////////////////////////////////////////////////
-//
-// TEXTINCLUDE
-//
+#define gSize 160
+#define gSpace 24
-1 TEXTINCLUDE DISCARDABLE
-BEGIN
- "resource.h\0"
-END
-
-2 TEXTINCLUDE DISCARDABLE
-BEGIN
- "#include ""afxres.h""\r\n"
- "\0"
-END
-
-3 TEXTINCLUDE DISCARDABLE
-BEGIN
- "\0"
-END
-
-#endif // APSTUDIO_INVOKED
-
-#endif // Russian resources
-/////////////////////////////////////////////////////////////////////////////
+#define g0XSize 75
+#define g1XSize 44
+#define g1XPos (marg + g0XSize)
+#define g10XPos (marg + marg)
+#define gRatingSize 51
+#define gSpeedSize 64
+#define gRatingPos (xSize - marg - marg - gRatingSize)
+#define gSpeedPos (gRatingPos - gSpeedSize)
+#define gLabelSize (gSpeedPos - g10XPos)
+#define gTotalRatingSize (gRatingSize + marg + marg)
+#define gTotalRatingPos (xSize - marg - gTotalRatingSize)
-/////////////////////////////////////////////////////////////////////////////
-// English (U.S.) resources
+#define g2XSize 58
+#define g3XSize 36
+#define g3XPos (marg + g2XSize)
-#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_ENU)
-#ifdef _WIN32
-LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US
-#pragma code_page(1252)
-#endif //_WIN32
-/////////////////////////////////////////////////////////////////////////////
-//
-// Dialog
-//
-
-IDD_DIALOG_BENCHMARK DIALOG DISCARDABLE 0, 0, 219, 242
-STYLE DS_MODALFRAME | DS_FIXEDSYS | DS_CENTER | WS_MINIMIZEBOX | WS_POPUP |
- WS_CAPTION | WS_SYSMENU
+IDD_DIALOG_BENCHMARK DIALOG 0, 0, xSize, ySize MY_MODAL_DIALOG_STYLE | WS_MINIMIZEBOX
CAPTION "Benchmark"
-FONT 8, "MS Shell Dlg"
+MY_FONT
BEGIN
- PUSHBUTTON "&Restart",IDC_BUTTON_RESTART,151,7,62,14
- PUSHBUTTON "&Stop",IDC_BUTTON_STOP,151,27,62,14
- PUSHBUTTON "&Help",IDHELP,82,221,62,14
- PUSHBUTTON "Cancel",IDCANCEL,151,221,62,14
- LTEXT "&Dictionary size:",IDC_BENCHMARK_DICTIONARY,7,8,75,8
- COMBOBOX IDC_BENCHMARK_COMBO_DICTIONARY,88,7,44,140,
- CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP
- LTEXT "Memory usage:",IDC_BENCHMARK_MEMORY,7,25,75,8
- LTEXT "0 MB",IDC_BENCHMARK_MEMORY_VALUE,88,25,44,8
- CONTROL "Multi-threading",IDC_BENCHMARK_MULTITHREADING,"Button",
- BS_AUTOCHECKBOX | WS_TABSTOP,7,41,75,10
- RTEXT "Speed",IDC_BENCHMARK_SPEED_LABEL,82,53,64,8
- RTEXT "Rating",IDC_BENCHMARK_RATING_LABEL,151,53,51,8
- GROUPBOX "Compressing",IDC_BENCHMARK_COMPRESSING,7,64,205,40
- LTEXT "Current",IDC_BENCHMARK_CURRENT,17,76,65,8
- RTEXT "100 KB/s",IDC_BENCHMARK_COMPRESSING_SPEED,82,76,64,8
- RTEXT "0",IDC_BENCHMARK_COMPRESSING_RATING,151,76,51,8
- LTEXT "Resulting",IDC_BENCHMARK_RESULTING,17,89,65,8
- RTEXT "100 KB/s",IDC_BENCHMARK_COMPRESSING_SPEED2,82,89,64,8
- RTEXT "0",IDC_BENCHMARK_COMPRESSING_RATING2,151,89,51,8
- GROUPBOX "Decompressing",IDC_BENCHMARK_DECOMPRESSING,7,111,205,40
- LTEXT "Current",IDC_BENCHMARK_CURRENT2,17,123,65,8
- RTEXT "100 KB/s",IDC_BENCHMARK_DECOMPRESSING_SPEED,82,123,64,8
- RTEXT "0",IDC_BENCHMARK_DECOMPRESSING_RATING,151,123,51,8
- LTEXT "Resulting",IDC_BENCHMARK_RESULTING2,17,136,65,8
- RTEXT "100 KB/s",IDC_BENCHMARK_DECOMPRESSING_SPEED2,82,136,64,
- 8
- RTEXT "0",IDC_BENCHMARK_DECOMPRESSING_RATING2,151,136,51,8
- GROUPBOX "Total Rating",IDC_BENCHMARK_TOTAL_RATING,137,162,75,38
- RTEXT "0",IDC_BENCHMARK_TOTAL_RATING_VALUE,146,180,56,8
- LTEXT "Elapsed time:",IDC_BENCHMARK_ELAPSED,7,163,58,8
- RTEXT "00:00:00",IDC_BENCHMARK_ELAPSED_VALUE,65,163,36,8
- LTEXT "Size:",IDC_BENCHMARK_SIZE,7,176,58,8
- RTEXT "0",IDC_BENCHMARK_SIZE_VALUE,65,176,36,8
- LTEXT "Passes:",IDC_BENCHMARK_PASSES,7,189,58,8
- RTEXT "0",IDC_BENCHMARK_PASSES_VALUE,65,189,36,8
- LTEXT "Errors:",IDC_BENCHMARK_ERRORS,7,202,58,8
- RTEXT "0",IDC_BENCHMARK_ERRORS_VALUE,65,202,36,8
+ PUSHBUTTON "&Restart", IDC_BUTTON_RESTART, bXPos1, marg, bXSize, bYSize
+ PUSHBUTTON "&Stop", IDC_BUTTON_STOP, bXPos1, 27, bXSize, bYSize
+
+ PUSHBUTTON "&Help", IDHELP, bXPos2, bYPos, bXSize,bYSize
+ PUSHBUTTON "Cancel", IDCANCEL, bXPos1, bYPos, bXSize, bYSize
+
+ LTEXT "&Dictionary size:", IDC_BENCHMARK_DICTIONARY, marg, marg + 1, g0XSize, 8
+ COMBOBOX IDC_BENCHMARK_COMBO_DICTIONARY, g1XPos, marg, g1XSize, 140, CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP
+ LTEXT "Memory usage:", IDC_BENCHMARK_MEMORY, marg, 25, g0XSize, 8
+ LTEXT "0 MB", IDC_BENCHMARK_MEMORY_VALUE, g1XPos,25,g1XSize,8
+ CONTROL "Multi-threading", IDC_BENCHMARK_MULTITHREADING, "Button", BS_AUTOCHECKBOX | WS_TABSTOP,
+ marg, 41, g0XSize, 10
+
+ RTEXT "Speed", IDC_BENCHMARK_SPEED_LABEL, gSpeedPos, 53, gSpeedSize, 8
+ RTEXT "Rating", IDC_BENCHMARK_RATING_LABEL, gRatingPos, 53, gRatingSize, 8
+
+ GROUPBOX "Compressing", IDC_BENCHMARK_COMPRESSING, marg, 64, xSize2, 40
+
+ LTEXT "Current", IDC_BENCHMARK_CURRENT, g10XPos, 76, gLabelSize, 8
+ RTEXT "100 KB/s", IDC_BENCHMARK_COMPRESSING_SPEED, gSpeedPos, 76, gSpeedSize, 8
+ RTEXT "0", IDC_BENCHMARK_COMPRESSING_RATING, gRatingPos, 76, gRatingSize, 8
+
+ LTEXT "Resulting", IDC_BENCHMARK_RESULTING, g10XPos, 89, gLabelSize, 8
+ RTEXT "100 KB/s", IDC_BENCHMARK_COMPRESSING_SPEED2, gSpeedPos, 89, gSpeedSize, 8
+ RTEXT "0", IDC_BENCHMARK_COMPRESSING_RATING2, gRatingPos, 89, gRatingSize, 8
+
+ GROUPBOX "Decompressing", IDC_BENCHMARK_DECOMPRESSING, marg, 111, xSize2, 40
+
+ LTEXT "Current", IDC_BENCHMARK_CURRENT2, g10XPos, 123, gLabelSize, 8
+ RTEXT "100 KB/s", IDC_BENCHMARK_DECOMPRESSING_SPEED, gSpeedPos, 123, gSpeedSize, 8
+ RTEXT "0", IDC_BENCHMARK_DECOMPRESSING_RATING, gRatingPos, 123, gRatingSize, 8
+
+ LTEXT "Resulting", IDC_BENCHMARK_RESULTING2, g10XPos, 136, gLabelSize, 8
+ RTEXT "100 KB/s", IDC_BENCHMARK_DECOMPRESSING_SPEED2, gSpeedPos, 136, gSpeedSize, 8
+ RTEXT "0", IDC_BENCHMARK_DECOMPRESSING_RATING2, gRatingPos, 136, gRatingSize, 8
+
+ GROUPBOX "Total Rating", IDC_BENCHMARK_TOTAL_RATING, gTotalRatingPos, 163, gTotalRatingSize, 38
+ RTEXT "0", IDC_BENCHMARK_TOTAL_RATING_VALUE, gRatingPos, 181, gRatingSize, 8
+
+ LTEXT "Elapsed time:", IDC_BENCHMARK_ELAPSED, marg, 163, g2XSize, 8
+ LTEXT "Size:", IDC_BENCHMARK_SIZE, marg, 176, g2XSize, 8
+ LTEXT "Passes:", IDC_BENCHMARK_PASSES, marg, 189, g2XSize, 8
+ LTEXT "Errors:", IDC_BENCHMARK_ERRORS, marg, 202, g2XSize, 8
+ RTEXT "00:00:00", IDC_BENCHMARK_ELAPSED_VALUE, g3XPos, 163, g3XSize, 8
+ RTEXT "0", IDC_BENCHMARK_SIZE_VALUE, g3XPos, 176, g3XSize, 8
+ RTEXT "0", IDC_BENCHMARK_PASSES_VALUE, g3XPos, 189, g3XSize, 8
+ RTEXT "0", IDC_BENCHMARK_ERRORS_VALUE, g3XPos, 202, g3XSize, 8
END
-
-
-/////////////////////////////////////////////////////////////////////////////
-//
-// DESIGNINFO
-//
-
-#ifdef APSTUDIO_INVOKED
-GUIDELINES DESIGNINFO DISCARDABLE
-BEGIN
- IDD_DIALOG_BENCHMARK, DIALOG
- BEGIN
- LEFTMARGIN, 7
- RIGHTMARGIN, 212
- VERTGUIDE, 17
- VERTGUIDE, 65
- VERTGUIDE, 82
- VERTGUIDE, 88
- VERTGUIDE, 101
- VERTGUIDE, 132
- VERTGUIDE, 146
- VERTGUIDE, 151
- VERTGUIDE, 202
- TOPMARGIN, 7
- BOTTOMMARGIN, 235
- HORZGUIDE, 24
- HORZGUIDE, 53
- HORZGUIDE, 76
- HORZGUIDE, 89
- HORZGUIDE, 123
- HORZGUIDE, 136
- END
-END
-#endif // APSTUDIO_INVOKED
-
-#endif // English (U.S.) resources
-/////////////////////////////////////////////////////////////////////////////
-
-
diff --git a/7zip/FileManager/Resource/ComboDialog/StdAfx.h b/7zip/FileManager/Resource/ComboDialog/StdAfx.h
new file mode 100755
index 00000000..a444ca31
--- /dev/null
+++ b/7zip/FileManager/Resource/ComboDialog/StdAfx.h
@@ -0,0 +1,16 @@
+// stdafx.h
+
+#ifndef __STDAFX_H
+#define __STDAFX_H
+
+#define _WIN32_WINNT 0x0400
+
+// it's for Windows NT supporting (MENUITEMINFOW)
+#define WINVER 0x0400
+
+#include <windows.h>
+#include <commctrl.h>
+
+#include "Common/NewHandler.h"
+
+#endif
diff --git a/7zip/FileManager/Resource/ComboDialog/resource.h b/7zip/FileManager/Resource/ComboDialog/resource.h
index 8c120fe1..b5111ddf 100755
--- a/7zip/FileManager/Resource/ComboDialog/resource.h
+++ b/7zip/FileManager/Resource/ComboDialog/resource.h
@@ -1,21 +1,4 @@
-//{{NO_DEPENDENCIES}}
-// Microsoft Developer Studio generated include file.
-// Used by resource.rc
-//
-
#define IDD_DIALOG_COMBO 200
#define IDC_COMBO_STATIC 1000
#define IDC_COMBO_COMBO 1001
-
-
-// Next default values for new objects
-//
-#ifdef APSTUDIO_INVOKED
-#ifndef APSTUDIO_READONLY_SYMBOLS
-#define _APS_NEXT_RESOURCE_VALUE 157
-#define _APS_NEXT_COMMAND_VALUE 40001
-#define _APS_NEXT_CONTROL_VALUE 1002
-#define _APS_NEXT_SYMED_VALUE 101
-#endif
-#endif
diff --git a/7zip/FileManager/Resource/ComboDialog/resource.rc b/7zip/FileManager/Resource/ComboDialog/resource.rc
index 8f749912..7bf25365 100755
--- a/7zip/FileManager/Resource/ComboDialog/resource.rc
+++ b/7zip/FileManager/Resource/ComboDialog/resource.rc
@@ -1,100 +1,24 @@
-//Microsoft Developer Studio generated resource script.
-//
#include "resource.h"
+#include "../../../GuiCommon.rc"
-#define APSTUDIO_READONLY_SYMBOLS
-/////////////////////////////////////////////////////////////////////////////
-//
-// Generated from the TEXTINCLUDE 2 resource.
-//
-#include "afxres.h"
+#define xSize2 233
+#define ySize2 57
-/////////////////////////////////////////////////////////////////////////////
-#undef APSTUDIO_READONLY_SYMBOLS
+#define xSize (xSize2 + marg + marg)
+#define ySize (ySize2 + marg + marg)
-/////////////////////////////////////////////////////////////////////////////
-// Russian resources
+#define bYPos (ySize - marg - bYSize)
+#define b1XPos (xSize - marg - bXSize)
+#define b2XPos (b1XPos - 10 - bXSize)
-#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_RUS)
-#ifdef _WIN32
-LANGUAGE LANG_RUSSIAN, SUBLANG_DEFAULT
-#pragma code_page(1251)
-#endif //_WIN32
-#ifdef APSTUDIO_INVOKED
-/////////////////////////////////////////////////////////////////////////////
-//
-// TEXTINCLUDE
-//
-
-1 TEXTINCLUDE DISCARDABLE
-BEGIN
- "resource.h\0"
-END
-
-2 TEXTINCLUDE DISCARDABLE
-BEGIN
- "#include ""afxres.h""\r\n"
- "\0"
-END
-
-3 TEXTINCLUDE DISCARDABLE
-BEGIN
- "\0"
-END
-
-#endif // APSTUDIO_INVOKED
-
-#endif // Russian resources
-/////////////////////////////////////////////////////////////////////////////
-
-
-/////////////////////////////////////////////////////////////////////////////
-// English (U.S.) resources
-
-#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_ENU)
-#ifdef _WIN32
-LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US
-#pragma code_page(1252)
-#endif //_WIN32
-
-/////////////////////////////////////////////////////////////////////////////
-//
-// Dialog
-//
-
-IDD_DIALOG_COMBO DIALOG DISCARDABLE 0, 0, 247, 71
-STYLE DS_MODALFRAME | DS_CENTER | WS_POPUP | WS_CAPTION | WS_SYSMENU
+IDD_DIALOG_COMBO DIALOG 0, 0, xSize, ySize MY_MODAL_DIALOG_STYLE
CAPTION "Combo"
-FONT 8, "MS Shell Dlg"
+MY_FONT
BEGIN
- COMBOBOX IDC_COMBO_COMBO,7,20,233,65,CBS_DROPDOWN |
- CBS_AUTOHSCROLL | WS_VSCROLL | WS_TABSTOP
- DEFPUSHBUTTON "OK",IDOK,127,50,50,14
- PUSHBUTTON "Cancel",IDCANCEL,190,50,50,14
- LTEXT "",IDC_COMBO_STATIC,7,7,233,8
-END
-
+ LTEXT "", IDC_COMBO_STATIC, marg, marg, xSize2, 8
+ COMBOBOX IDC_COMBO_COMBO, marg, 20, xSize2, 65, CBS_DROPDOWN | CBS_AUTOHSCROLL | WS_VSCROLL | WS_TABSTOP
-/////////////////////////////////////////////////////////////////////////////
-//
-// DESIGNINFO
-//
-
-#ifdef APSTUDIO_INVOKED
-GUIDELINES DESIGNINFO DISCARDABLE
-BEGIN
- IDD_DIALOG_COMBO, DIALOG
- BEGIN
- LEFTMARGIN, 7
- RIGHTMARGIN, 240
- TOPMARGIN, 7
- BOTTOMMARGIN, 64
- END
+ DEFPUSHBUTTON "OK", IDOK, b2XPos, bYPos, bXSize, bYSize
+ PUSHBUTTON "Cancel", IDCANCEL, b1XPos, bYPos, bXSize, bYSize
END
-#endif // APSTUDIO_INVOKED
-
-#endif // English (U.S.) resources
-/////////////////////////////////////////////////////////////////////////////
-
-
diff --git a/7zip/FileManager/Resource/CopyDialog/StdAfx.h b/7zip/FileManager/Resource/CopyDialog/StdAfx.h
new file mode 100755
index 00000000..a444ca31
--- /dev/null
+++ b/7zip/FileManager/Resource/CopyDialog/StdAfx.h
@@ -0,0 +1,16 @@
+// stdafx.h
+
+#ifndef __STDAFX_H
+#define __STDAFX_H
+
+#define _WIN32_WINNT 0x0400
+
+// it's for Windows NT supporting (MENUITEMINFOW)
+#define WINVER 0x0400
+
+#include <windows.h>
+#include <commctrl.h>
+
+#include "Common/NewHandler.h"
+
+#endif
diff --git a/7zip/FileManager/Resource/CopyDialog/resource.h b/7zip/FileManager/Resource/CopyDialog/resource.h
index efef1bd3..9da354fd 100755
--- a/7zip/FileManager/Resource/CopyDialog/resource.h
+++ b/7zip/FileManager/Resource/CopyDialog/resource.h
@@ -1,22 +1,5 @@
-//{{NO_DEPENDENCIES}}
-// Microsoft Developer Studio generated include file.
-// Used by resource.rc
-//
-
#define IDD_DIALOG_COPY 202
#define IDC_COPY_STATIC 1000
#define IDC_COPY_COMBO 1001
#define IDC_COPY_SET_PATH 1002
-
-
-// Next default values for new objects
-//
-#ifdef APSTUDIO_INVOKED
-#ifndef APSTUDIO_READONLY_SYMBOLS
-#define _APS_NEXT_RESOURCE_VALUE 157
-#define _APS_NEXT_COMMAND_VALUE 40001
-#define _APS_NEXT_CONTROL_VALUE 1003
-#define _APS_NEXT_SYMED_VALUE 101
-#endif
-#endif
diff --git a/7zip/FileManager/Resource/CopyDialog/resource.rc b/7zip/FileManager/Resource/CopyDialog/resource.rc
index b32ee270..c4c5c221 100755
--- a/7zip/FileManager/Resource/CopyDialog/resource.rc
+++ b/7zip/FileManager/Resource/CopyDialog/resource.rc
@@ -1,101 +1,23 @@
-//Microsoft Developer Studio generated resource script.
-//
#include "resource.h"
+#include "../../../GuiCommon.rc"
-#define APSTUDIO_READONLY_SYMBOLS
-/////////////////////////////////////////////////////////////////////////////
-//
-// Generated from the TEXTINCLUDE 2 resource.
-//
-#include "afxres.h"
+#define xSize2 346
+#define ySize2 57
-/////////////////////////////////////////////////////////////////////////////
-#undef APSTUDIO_READONLY_SYMBOLS
+#define xSize (xSize2 + marg + marg)
+#define ySize (ySize2 + marg + marg)
-/////////////////////////////////////////////////////////////////////////////
-// Russian resources
+#define bYPos (ySize - marg - bYSize)
+#define b1XPos (xSize - marg - bXSize)
+#define b2XPos (b1XPos - 10 - bXSize)
-#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_RUS)
-#ifdef _WIN32
-LANGUAGE LANG_RUSSIAN, SUBLANG_DEFAULT
-#pragma code_page(1251)
-#endif //_WIN32
-
-#ifdef APSTUDIO_INVOKED
-/////////////////////////////////////////////////////////////////////////////
-//
-// TEXTINCLUDE
-//
-
-1 TEXTINCLUDE DISCARDABLE
-BEGIN
- "resource.h\0"
-END
-
-2 TEXTINCLUDE DISCARDABLE
-BEGIN
- "#include ""afxres.h""\r\n"
- "\0"
-END
-
-3 TEXTINCLUDE DISCARDABLE
-BEGIN
- "\0"
-END
-
-#endif // APSTUDIO_INVOKED
-
-#endif // Russian resources
-/////////////////////////////////////////////////////////////////////////////
-
-
-/////////////////////////////////////////////////////////////////////////////
-// English (U.S.) resources
-
-#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_ENU)
-#ifdef _WIN32
-LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US
-#pragma code_page(1252)
-#endif //_WIN32
-
-/////////////////////////////////////////////////////////////////////////////
-//
-// Dialog
-//
-
-IDD_DIALOG_COPY DIALOG DISCARDABLE 0, 0, 360, 71
-STYLE DS_MODALFRAME | DS_CENTER | WS_POPUP | WS_CAPTION | WS_SYSMENU
+IDD_DIALOG_COPY DIALOG 0, 0, xSize, ySize MY_MODAL_DIALOG_STYLE
CAPTION "Copy"
-FONT 8, "MS Shell Dlg"
-BEGIN
- LTEXT "",IDC_COPY_STATIC,7,7,346,8
- COMBOBOX IDC_COPY_COMBO,7,20,317,65,CBS_DROPDOWN |
- CBS_AUTOHSCROLL | WS_VSCROLL | WS_TABSTOP
- PUSHBUTTON "...",IDC_COPY_SET_PATH,333,20,20,14,WS_GROUP
- DEFPUSHBUTTON "OK",IDOK,240,50,50,14
- PUSHBUTTON "Cancel",IDCANCEL,303,50,50,14
-END
-
-
-/////////////////////////////////////////////////////////////////////////////
-//
-// DESIGNINFO
-//
-
-#ifdef APSTUDIO_INVOKED
-GUIDELINES DESIGNINFO DISCARDABLE
+MY_FONT
BEGIN
- IDD_DIALOG_COPY, DIALOG
- BEGIN
- LEFTMARGIN, 7
- RIGHTMARGIN, 353
- TOPMARGIN, 7
- BOTTOMMARGIN, 64
- END
+ LTEXT "", IDC_COPY_STATIC, marg, marg, xSize2, 8
+ COMBOBOX IDC_COPY_COMBO, marg, 20, xSize2 - bDotsSize - 12, 65, CBS_DROPDOWN | CBS_AUTOHSCROLL | WS_VSCROLL | WS_TABSTOP
+ PUSHBUTTON "...", IDC_COPY_SET_PATH, (xSize - marg - bDotsSize), 20, bDotsSize, 14, WS_GROUP
+ DEFPUSHBUTTON "OK", IDOK, b2XPos, bYPos, bXSize, bYSize
+ PUSHBUTTON "Cancel", IDCANCEL, b1XPos, bYPos, bXSize, bYSize
END
-#endif // APSTUDIO_INVOKED
-
-#endif // English (U.S.) resources
-/////////////////////////////////////////////////////////////////////////////
-
-
diff --git a/7zip/FileManager/Resource/EditPage/StdAfx.h b/7zip/FileManager/Resource/EditPage/StdAfx.h
new file mode 100755
index 00000000..a444ca31
--- /dev/null
+++ b/7zip/FileManager/Resource/EditPage/StdAfx.h
@@ -0,0 +1,16 @@
+// stdafx.h
+
+#ifndef __STDAFX_H
+#define __STDAFX_H
+
+#define _WIN32_WINNT 0x0400
+
+// it's for Windows NT supporting (MENUITEMINFOW)
+#define WINVER 0x0400
+
+#include <windows.h>
+#include <commctrl.h>
+
+#include "Common/NewHandler.h"
+
+#endif
diff --git a/7zip/FileManager/Resource/EditPage/resource.h b/7zip/FileManager/Resource/EditPage/resource.h
index 05324746..a2de1970 100755
--- a/7zip/FileManager/Resource/EditPage/resource.h
+++ b/7zip/FileManager/Resource/EditPage/resource.h
@@ -1,19 +1,4 @@
-//{{NO_DEPENDENCIES}}
-// Microsoft Developer Studio generated include file.
-// Used by resource.rc
-//
#define IDD_EDIT 903
#define IDC_EDIT_STATIC_EDITOR 1000
#define IDC_EDIT_EDIT_EDITOR 1002
#define IDC_EDIT_BUTTON_SET 1003
-
-// Next default values for new objects
-//
-#ifdef APSTUDIO_INVOKED
-#ifndef APSTUDIO_READONLY_SYMBOLS
-#define _APS_NEXT_RESOURCE_VALUE 135
-#define _APS_NEXT_COMMAND_VALUE 32771
-#define _APS_NEXT_CONTROL_VALUE 1004
-#define _APS_NEXT_SYMED_VALUE 101
-#endif
-#endif
diff --git a/7zip/FileManager/Resource/EditPage/resource.rc b/7zip/FileManager/Resource/EditPage/resource.rc
index 3578173f..d4d8b9cd 100755
--- a/7zip/FileManager/Resource/EditPage/resource.rc
+++ b/7zip/FileManager/Resource/EditPage/resource.rc
@@ -1,98 +1,16 @@
-//Microsoft Developer Studio generated resource script.
-//
#include "resource.h"
+#include "../../../GuiCommon.rc"
-#define APSTUDIO_READONLY_SYMBOLS
-/////////////////////////////////////////////////////////////////////////////
-//
-// Generated from the TEXTINCLUDE 2 resource.
-//
-#include "afxres.h"
+#define xSize2 196
+#define ySize2 140
+#define xSize (xSize2 + marg + marg)
+#define ySize (ySize2 + marg + marg)
-/////////////////////////////////////////////////////////////////////////////
-#undef APSTUDIO_READONLY_SYMBOLS
-
-/////////////////////////////////////////////////////////////////////////////
-// Russian resources
-
-#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_RUS)
-#ifdef _WIN32
-LANGUAGE LANG_RUSSIAN, SUBLANG_DEFAULT
-#pragma code_page(1251)
-#endif //_WIN32
-
-#ifdef APSTUDIO_INVOKED
-/////////////////////////////////////////////////////////////////////////////
-//
-// TEXTINCLUDE
-//
-
-1 TEXTINCLUDE DISCARDABLE
-BEGIN
- "resource.h\0"
-END
-
-2 TEXTINCLUDE DISCARDABLE
-BEGIN
- "#include ""afxres.h""\r\n"
- "\0"
-END
-
-3 TEXTINCLUDE DISCARDABLE
-BEGIN
- "\0"
-END
-
-#endif // APSTUDIO_INVOKED
-
-#endif // Russian resources
-/////////////////////////////////////////////////////////////////////////////
-
-
-/////////////////////////////////////////////////////////////////////////////
-// English (U.S.) resources
-
-#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_ENU)
-#ifdef _WIN32
-LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US
-#pragma code_page(1252)
-#endif //_WIN32
-
-/////////////////////////////////////////////////////////////////////////////
-//
-// Dialog
-//
-
-IDD_EDIT DIALOG DISCARDABLE 0, 0, 210, 154
-STYLE DS_FIXEDSYS | WS_CHILD | WS_DISABLED | WS_CAPTION
+IDD_EDIT DIALOG 0, 0, xSize, ySize MY_PAGE_STYLE
CAPTION "Editor"
-FONT 8, "MS Shell Dlg"
+MY_FONT
BEGIN
- LTEXT "&Editor:",IDC_EDIT_STATIC_EDITOR,7,7,196,8
- EDITTEXT IDC_EDIT_EDIT_EDITOR,7,20,160,14,ES_AUTOHSCROLL
- PUSHBUTTON "...",IDC_EDIT_BUTTON_SET,182,20,21,14
+ LTEXT "&Editor:", IDC_EDIT_STATIC_EDITOR, marg, marg, xSize2, 8
+ EDITTEXT IDC_EDIT_EDIT_EDITOR, marg, 20, xSize2 - 12 - bDotsSize, 14, ES_AUTOHSCROLL
+ PUSHBUTTON "...", IDC_EDIT_BUTTON_SET, (xSize - marg - bDotsSize), 20, bDotsSize, bYSize
END
-
-
-/////////////////////////////////////////////////////////////////////////////
-//
-// DESIGNINFO
-//
-
-#ifdef APSTUDIO_INVOKED
-GUIDELINES DESIGNINFO DISCARDABLE
-BEGIN
- IDD_EDIT, DIALOG
- BEGIN
- LEFTMARGIN, 7
- RIGHTMARGIN, 203
- TOPMARGIN, 7
- BOTTOMMARGIN, 147
- END
-END
-#endif // APSTUDIO_INVOKED
-
-#endif // English (U.S.) resources
-/////////////////////////////////////////////////////////////////////////////
-
-
diff --git a/7zip/FileManager/Resource/LangPage/LangPage.cpp b/7zip/FileManager/Resource/LangPage/LangPage.cpp
index 88d3482d..25491913 100755
--- a/7zip/FileManager/Resource/LangPage/LangPage.cpp
+++ b/7zip/FileManager/Resource/LangPage/LangPage.cpp
@@ -6,22 +6,18 @@
#include "Common/StringConvert.h"
-#include "Windows/Defs.h"
-#include "Windows/FileFind.h"
+#include "Windows/ResourceString.h"
#include "../../RegistryUtils.h"
#include "../../HelpUtils.h"
#include "../../LangUtils.h"
-#include "../../ProgramLocation.h"
-
-#include "../../MyLoadMenu.h"
static CIDLangPair kIDLangPairs[] =
{
{ IDC_LANG_STATIC_LANG, 0x01000401}
};
-static LPCWSTR kLangTopic = L"FM/options.htm#language";
+static LPCWSTR kLangTopic = L"fm/options.htm#language";
bool CLangPage::OnInit()
{
@@ -30,53 +26,40 @@ bool CLangPage::OnInit()
_langCombo.Attach(GetItem(IDC_LANG_COMBO_LANG));
- int index = _langCombo.AddString(TEXT("English (English)"));
+ CSysString s = NWindows::MyLoadString(IDS_LANG_ENGLISH);
+ s += TEXT(" (");
+ s += NWindows::MyLoadString(IDS_LANG_NATIVE);
+ s += TEXT(")");
+ int index = _langCombo.AddString(s);
_langCombo.SetItemData(index, _paths.Size());
- _paths.Add(TEXT(""));
+ _paths.Add(TEXT("-"));
_langCombo.SetCurSel(0);
- UString folderPath;
- if (::GetProgramFolderPath(folderPath))
+ CObjectVector<CLangEx> langs;
+ LoadLangs(langs);
+ for (int i = 0; i < langs.Size(); i++)
{
- folderPath += L"Lang\\";
- NWindows::NFile::NFind::CEnumeratorW enumerator(folderPath + L"*.txt");
- NWindows::NFile::NFind::CFileInfoW fileInfo;
- while (enumerator.Next(fileInfo))
+ const CLangEx &lang = langs[i];
+ UString name;
+ UString englishName, nationalName;
+ if (lang.Lang.GetMessage(0x00000000, englishName))
+ name = englishName;
+ else
+ name = lang.ShortName;
+ if (lang.Lang.GetMessage(0x00000001, nationalName))
{
- if (fileInfo.IsDirectory())
- continue;
- CLang lang;
- UString filePath = folderPath + fileInfo.Name;
- UString shortName;
- const kExtSize = 4;
- if (fileInfo.Name.Right(kExtSize) != L".txt")
- continue;
- shortName = fileInfo.Name.Left(fileInfo.Name.Length() - kExtSize);
- if (lang.Open(GetSystemString(filePath)))
+ if (!nationalName.IsEmpty())
{
- UString name;
- UString englishName, nationalName;
- if (lang.GetMessage(0x00000000, englishName))
- name = englishName;
- else
- name = shortName;
- if (lang.GetMessage(0x00000001, nationalName))
- {
- if (!nationalName.IsEmpty())
- {
- name += L" (";
- name += nationalName;
- name += L")";
- }
- }
- index = _langCombo.AddString(GetSystemString(name));
- _langCombo.SetItemData(index, _paths.Size());
- _paths.Add(GetSystemString(shortName));
- if (g_LangID.CollateNoCase(GetSystemString(shortName)) == 0 ||
- g_LangID.CollateNoCase(GetSystemString(filePath)) == 0)
- _langCombo.SetCurSel(index);
+ name += L" (";
+ name += nationalName;
+ name += L")";
}
}
+ index = _langCombo.AddString(GetSystemString(name));
+ _langCombo.SetItemData(index, _paths.Size());
+ _paths.Add(GetSystemString(lang.ShortName));
+ if (g_LangID.CollateNoCase(GetSystemString(lang.ShortName)) == 0)
+ _langCombo.SetCurSel(index);
}
return CPropertyPage::OnInit();
}
@@ -105,4 +88,3 @@ bool CLangPage::OnCommand(int code, int itemID, LPARAM param)
}
return CPropertyPage::OnCommand(code, itemID, param);
}
-
diff --git a/7zip/FileManager/Resource/LangPage/StdAfx.h b/7zip/FileManager/Resource/LangPage/StdAfx.h
new file mode 100755
index 00000000..a444ca31
--- /dev/null
+++ b/7zip/FileManager/Resource/LangPage/StdAfx.h
@@ -0,0 +1,16 @@
+// stdafx.h
+
+#ifndef __STDAFX_H
+#define __STDAFX_H
+
+#define _WIN32_WINNT 0x0400
+
+// it's for Windows NT supporting (MENUITEMINFOW)
+#define WINVER 0x0400
+
+#include <windows.h>
+#include <commctrl.h>
+
+#include "Common/NewHandler.h"
+
+#endif
diff --git a/7zip/FileManager/Resource/LangPage/resource.h b/7zip/FileManager/Resource/LangPage/resource.h
index 323fe7c7..39571e53 100755
--- a/7zip/FileManager/Resource/LangPage/resource.h
+++ b/7zip/FileManager/Resource/LangPage/resource.h
@@ -1,19 +1,6 @@
-//{{NO_DEPENDENCIES}}
-// Microsoft Developer Studio generated include file.
-// Used by resource.rc
-//
-#define IDD_LANG 900
+#define IDD_LANG 900
+#define IDS_LANG_ENGLISH 995
+#define IDS_LANG_NATIVE 996
#define IDC_LANG_STATIC_LANG 1000
#define IDC_LANG_COMBO_LANG 1001
-
-// Next default values for new objects
-//
-#ifdef APSTUDIO_INVOKED
-#ifndef APSTUDIO_READONLY_SYMBOLS
-#define _APS_NEXT_RESOURCE_VALUE 135
-#define _APS_NEXT_COMMAND_VALUE 32771
-#define _APS_NEXT_CONTROL_VALUE 1002
-#define _APS_NEXT_SYMED_VALUE 101
-#endif
-#endif
diff --git a/7zip/FileManager/Resource/LangPage/resource.rc b/7zip/FileManager/Resource/LangPage/resource.rc
index d98d6d6e..abaa9481 100755
--- a/7zip/FileManager/Resource/LangPage/resource.rc
+++ b/7zip/FileManager/Resource/LangPage/resource.rc
@@ -1,99 +1,21 @@
-//Microsoft Developer Studio generated resource script.
-//
#include "resource.h"
+#include "../../../GuiCommon.rc"
-#define APSTUDIO_READONLY_SYMBOLS
-/////////////////////////////////////////////////////////////////////////////
-//
-// Generated from the TEXTINCLUDE 2 resource.
-//
-#include "afxres.h"
+#define xSize2 238
+#define ySize2 204
+#define xSize (xSize2 + marg + marg)
+#define ySize (ySize2 + marg + marg)
-/////////////////////////////////////////////////////////////////////////////
-#undef APSTUDIO_READONLY_SYMBOLS
-
-/////////////////////////////////////////////////////////////////////////////
-// Russian resources
-
-#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_RUS)
-#ifdef _WIN32
-LANGUAGE LANG_RUSSIAN, SUBLANG_DEFAULT
-#pragma code_page(1251)
-#endif //_WIN32
-
-#ifdef APSTUDIO_INVOKED
-/////////////////////////////////////////////////////////////////////////////
-//
-// TEXTINCLUDE
-//
-
-1 TEXTINCLUDE DISCARDABLE
-BEGIN
- "resource.h\0"
-END
-
-2 TEXTINCLUDE DISCARDABLE
-BEGIN
- "#include ""afxres.h""\r\n"
- "\0"
-END
-
-3 TEXTINCLUDE DISCARDABLE
-BEGIN
- "\0"
-END
-
-#endif // APSTUDIO_INVOKED
-
-#endif // Russian resources
-/////////////////////////////////////////////////////////////////////////////
-
-
-/////////////////////////////////////////////////////////////////////////////
-// English (U.S.) resources
-
-#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_ENU)
-#ifdef _WIN32
-LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US
-#pragma code_page(1252)
-#endif //_WIN32
-
-/////////////////////////////////////////////////////////////////////////////
-//
-// Dialog
-//
-
-IDD_LANG DIALOG DISCARDABLE 0, 0, 210, 154
-STYLE DS_FIXEDSYS | WS_CHILD | WS_DISABLED | WS_CAPTION
+IDD_LANG DIALOG 0, 0, xSize, ySize MY_PAGE_STYLE
CAPTION "Language"
-FONT 8, "MS Shell Dlg"
+MY_FONT
BEGIN
- LTEXT "Language:",IDC_LANG_STATIC_LANG,7,7,196,8
- COMBOBOX IDC_LANG_COMBO_LANG,7,20,146,124,CBS_DROPDOWNLIST |
- CBS_SORT | WS_VSCROLL | WS_TABSTOP
+ LTEXT "Language:", IDC_LANG_STATIC_LANG, marg, marg, xSize2, 8
+ COMBOBOX IDC_LANG_COMBO_LANG, marg, 20, 146, ySize2 - 12, CBS_DROPDOWNLIST | CBS_SORT | WS_VSCROLL | WS_TABSTOP
END
-
-/////////////////////////////////////////////////////////////////////////////
-//
-// DESIGNINFO
-//
-
-#ifdef APSTUDIO_INVOKED
-GUIDELINES DESIGNINFO DISCARDABLE
+STRINGTABLE
BEGIN
- IDD_LANG, DIALOG
- BEGIN
- LEFTMARGIN, 7
- RIGHTMARGIN, 203
- TOPMARGIN, 7
- BOTTOMMARGIN, 147
- END
+ IDS_LANG_ENGLISH "English"
+ IDS_LANG_NATIVE "English"
END
-#endif // APSTUDIO_INVOKED
-
-
-#endif // English (U.S.) resources
-/////////////////////////////////////////////////////////////////////////////
-
-
diff --git a/7zip/FileManager/Resource/ListBoxDialog/StdAfx.h b/7zip/FileManager/Resource/ListBoxDialog/StdAfx.h
new file mode 100755
index 00000000..a444ca31
--- /dev/null
+++ b/7zip/FileManager/Resource/ListBoxDialog/StdAfx.h
@@ -0,0 +1,16 @@
+// stdafx.h
+
+#ifndef __STDAFX_H
+#define __STDAFX_H
+
+#define _WIN32_WINNT 0x0400
+
+// it's for Windows NT supporting (MENUITEMINFOW)
+#define WINVER 0x0400
+
+#include <windows.h>
+#include <commctrl.h>
+
+#include "Common/NewHandler.h"
+
+#endif
diff --git a/7zip/FileManager/Resource/ListBoxDialog/resource.h b/7zip/FileManager/Resource/ListBoxDialog/resource.h
index 4e137513..507e17bd 100755
--- a/7zip/FileManager/Resource/ListBoxDialog/resource.h
+++ b/7zip/FileManager/Resource/ListBoxDialog/resource.h
@@ -1,20 +1,3 @@
-//{{NO_DEPENDENCIES}}
-// Microsoft Developer Studio generated include file.
-// Used by resource.rc
-//
-
#define IDD_DIALOG_LISTBOX 202
#define IDC_LISTBOX_LIST 1000
-
-
-// Next default values for new objects
-//
-#ifdef APSTUDIO_INVOKED
-#ifndef APSTUDIO_READONLY_SYMBOLS
-#define _APS_NEXT_RESOURCE_VALUE 157
-#define _APS_NEXT_COMMAND_VALUE 40001
-#define _APS_NEXT_CONTROL_VALUE 1002
-#define _APS_NEXT_SYMED_VALUE 101
-#endif
-#endif
diff --git a/7zip/FileManager/Resource/ListBoxDialog/resource.rc b/7zip/FileManager/Resource/ListBoxDialog/resource.rc
index 7b30063f..728aaa94 100755
--- a/7zip/FileManager/Resource/ListBoxDialog/resource.rc
+++ b/7zip/FileManager/Resource/ListBoxDialog/resource.rc
@@ -1,102 +1,22 @@
-//Microsoft Developer Studio generated resource script.
-//
#include "resource.h"
+#include "../../../GuiCommon.rc"
-#define APSTUDIO_READONLY_SYMBOLS
-/////////////////////////////////////////////////////////////////////////////
-//
-// Generated from the TEXTINCLUDE 2 resource.
-//
-#include "afxres.h"
+#define xSize2 223
+#define ySize2 177
-/////////////////////////////////////////////////////////////////////////////
-#undef APSTUDIO_READONLY_SYMBOLS
+#define xSize (xSize2 + marg + marg)
+#define ySize (ySize2 + marg + marg)
-/////////////////////////////////////////////////////////////////////////////
-// Russian resources
+#define bYPos (ySize - marg - bYSize)
+#define b1XPos (xSize - marg - bXSize)
+#define b2XPos (b1XPos - 10 - bXSize)
-#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_RUS)
-#ifdef _WIN32
-LANGUAGE LANG_RUSSIAN, SUBLANG_DEFAULT
-#pragma code_page(1251)
-#endif //_WIN32
-#ifdef APSTUDIO_INVOKED
-/////////////////////////////////////////////////////////////////////////////
-//
-// TEXTINCLUDE
-//
-
-1 TEXTINCLUDE DISCARDABLE
-BEGIN
- "resource.h\0"
-END
-
-2 TEXTINCLUDE DISCARDABLE
-BEGIN
- "#include ""afxres.h""\r\n"
- "\0"
-END
-
-3 TEXTINCLUDE DISCARDABLE
-BEGIN
- "\0"
-END
-
-#endif // APSTUDIO_INVOKED
-
-#endif // Russian resources
-/////////////////////////////////////////////////////////////////////////////
-
-
-/////////////////////////////////////////////////////////////////////////////
-// English (U.S.) resources
-
-#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_ENU)
-#ifdef _WIN32
-LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US
-#pragma code_page(1252)
-#endif //_WIN32
-
-/////////////////////////////////////////////////////////////////////////////
-//
-// Dialog
-//
-
-IDD_DIALOG_LISTBOX DIALOG DISCARDABLE 0, 0, 237, 191
-STYLE DS_MODALFRAME | DS_CENTER | WS_POPUP | WS_CAPTION | WS_SYSMENU
-CAPTION "Dialog"
-FONT 8, "MS Shell Dlg"
+IDD_DIALOG_LISTBOX DIALOG 0, 0, xSize, ySize MY_MODAL_DIALOG_STYLE
+CAPTION "List Box"
+MY_FONT
BEGIN
- DEFPUSHBUTTON "OK",IDOK,64,170,50,14
- PUSHBUTTON "Cancel",IDCANCEL,123,170,50,14
- LISTBOX IDC_LISTBOX_LIST,7,7,223,149,LBS_SORT |
- LBS_NOINTEGRALHEIGHT | WS_VSCROLL | WS_TABSTOP
+ LISTBOX IDC_LISTBOX_LIST, marg, marg, xSize2, 149, LBS_SORT | LBS_NOINTEGRALHEIGHT | WS_VSCROLL | WS_TABSTOP
+ DEFPUSHBUTTON "OK", IDOK, b2XPos, bYPos, bXSize, bYSize
+ PUSHBUTTON "Cancel", IDCANCEL, b1XPos, bYPos, bXSize, bYSize
END
-
-
-/////////////////////////////////////////////////////////////////////////////
-//
-// DESIGNINFO
-//
-
-#ifdef APSTUDIO_INVOKED
-GUIDELINES DESIGNINFO DISCARDABLE
-BEGIN
- IDD_DIALOG_LISTBOX, DIALOG
- BEGIN
- LEFTMARGIN, 7
- RIGHTMARGIN, 230
- TOPMARGIN, 7
- BOTTOMMARGIN, 184
- HORZGUIDE, 156
- END
-
-END
-#endif // APSTUDIO_INVOKED
-
-
-#endif // English (U.S.) resources
-/////////////////////////////////////////////////////////////////////////////
-
-
diff --git a/7zip/FileManager/Resource/ListViewDialog/StdAfx.h b/7zip/FileManager/Resource/ListViewDialog/StdAfx.h
new file mode 100755
index 00000000..a444ca31
--- /dev/null
+++ b/7zip/FileManager/Resource/ListViewDialog/StdAfx.h
@@ -0,0 +1,16 @@
+// stdafx.h
+
+#ifndef __STDAFX_H
+#define __STDAFX_H
+
+#define _WIN32_WINNT 0x0400
+
+// it's for Windows NT supporting (MENUITEMINFOW)
+#define WINVER 0x0400
+
+#include <windows.h>
+#include <commctrl.h>
+
+#include "Common/NewHandler.h"
+
+#endif
diff --git a/7zip/FileManager/Resource/ListViewDialog/resource.h b/7zip/FileManager/Resource/ListViewDialog/resource.h
index 25117958..440d14b0 100755
--- a/7zip/FileManager/Resource/ListViewDialog/resource.h
+++ b/7zip/FileManager/Resource/ListViewDialog/resource.h
@@ -1,20 +1,3 @@
-//{{NO_DEPENDENCIES}}
-// Microsoft Developer Studio generated include file.
-// Used by resource.rc
-//
-
#define IDD_DIALOG_LISTVIEW 201
#define IDC_LISTVIEW_LIST 1000
-
-
-// Next default values for new objects
-//
-#ifdef APSTUDIO_INVOKED
-#ifndef APSTUDIO_READONLY_SYMBOLS
-#define _APS_NEXT_RESOURCE_VALUE 157
-#define _APS_NEXT_COMMAND_VALUE 40001
-#define _APS_NEXT_CONTROL_VALUE 1002
-#define _APS_NEXT_SYMED_VALUE 101
-#endif
-#endif
diff --git a/7zip/FileManager/Resource/ListViewDialog/resource.rc b/7zip/FileManager/Resource/ListViewDialog/resource.rc
index 76546af9..5c0bdbcd 100755
--- a/7zip/FileManager/Resource/ListViewDialog/resource.rc
+++ b/7zip/FileManager/Resource/ListViewDialog/resource.rc
@@ -1,101 +1,26 @@
-//Microsoft Developer Studio generated resource script.
-//
#include "resource.h"
+#include "../../../GuiCommon.rc"
-#define APSTUDIO_READONLY_SYMBOLS
-/////////////////////////////////////////////////////////////////////////////
-//
-// Generated from the TEXTINCLUDE 2 resource.
-//
-#include "afxres.h"
+#define xSize2 342
+#define ySize2 220
-/////////////////////////////////////////////////////////////////////////////
-#undef APSTUDIO_READONLY_SYMBOLS
+#define xSize (xSize2 + marg + marg)
+#define ySize (ySize2 + marg + marg)
-/////////////////////////////////////////////////////////////////////////////
-// Russian resources
+#define bYPos (ySize - marg - bYSize)
+#define b1XPos (xSize - marg - bXSize)
+#define b2XPos (b1XPos - 10 - bXSize)
-#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_RUS)
-#ifdef _WIN32
-LANGUAGE LANG_RUSSIAN, SUBLANG_DEFAULT
-#pragma code_page(1251)
-#endif //_WIN32
-#ifdef APSTUDIO_INVOKED
-/////////////////////////////////////////////////////////////////////////////
-//
-// TEXTINCLUDE
-//
-
-1 TEXTINCLUDE DISCARDABLE
-BEGIN
- "resource.h\0"
-END
-
-2 TEXTINCLUDE DISCARDABLE
-BEGIN
- "#include ""afxres.h""\r\n"
- "\0"
-END
-
-3 TEXTINCLUDE DISCARDABLE
-BEGIN
- "\0"
-END
-
-#endif // APSTUDIO_INVOKED
-
-#endif // Russian resources
-/////////////////////////////////////////////////////////////////////////////
-
-
-/////////////////////////////////////////////////////////////////////////////
-// English (U.S.) resources
-
-#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_ENU)
-#ifdef _WIN32
-LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US
-#pragma code_page(1252)
-#endif //_WIN32
-
-/////////////////////////////////////////////////////////////////////////////
-//
-// Dialog
-//
-
-IDD_DIALOG_LISTVIEW DIALOG DISCARDABLE 0, 0, 356, 234
-STYLE DS_MODALFRAME | DS_CENTER | WS_POPUP | WS_CAPTION | WS_SYSMENU
-CAPTION "Dialog"
-FONT 8, "MS Shell Dlg"
+IDD_DIALOG_LISTVIEW DIALOG 0, 0, xSize, ySize MY_MODAL_DIALOG_STYLE
+CAPTION "ListView"
+MY_FONT
BEGIN
- CONTROL "List1",IDC_LISTVIEW_LIST,"SysListView32",LVS_REPORT |
- LVS_SHOWSELALWAYS | LVS_AUTOARRANGE | LVS_NOCOLUMNHEADER |
- WS_BORDER | WS_TABSTOP,7,7,342,196
- DEFPUSHBUTTON "OK",IDOK,238,213,50,14
- PUSHBUTTON "Cancel",IDCANCEL,299,213,50,14
+ CONTROL "List1", IDC_LISTVIEW_LIST, "SysListView32", LVS_REPORT | LVS_SHOWSELALWAYS |
+ LVS_AUTOARRANGE | LVS_NOCOLUMNHEADER | WS_BORDER | WS_TABSTOP,
+ marg, marg, xSize2, ySize2 - bYSize - 10
+ DEFPUSHBUTTON "OK", IDOK, b2XPos, bYPos, bXSize, bYSize
+ PUSHBUTTON "Cancel", IDCANCEL, b1XPos, bYPos, bXSize, bYSize
END
-/////////////////////////////////////////////////////////////////////////////
-//
-// DESIGNINFO
-//
-
-#ifdef APSTUDIO_INVOKED
-GUIDELINES DESIGNINFO DISCARDABLE
-BEGIN
- IDD_DIALOG_LISTVIEW, DIALOG
- BEGIN
- LEFTMARGIN, 7
- RIGHTMARGIN, 349
- TOPMARGIN, 7
- BOTTOMMARGIN, 227
- HORZGUIDE, 203
- END
-END
-#endif // APSTUDIO_INVOKED
-
-#endif // English (U.S.) resources
-/////////////////////////////////////////////////////////////////////////////
-
-
diff --git a/7zip/FileManager/Resource/MessagesDialog/StdAfx.h b/7zip/FileManager/Resource/MessagesDialog/StdAfx.h
new file mode 100755
index 00000000..a444ca31
--- /dev/null
+++ b/7zip/FileManager/Resource/MessagesDialog/StdAfx.h
@@ -0,0 +1,16 @@
+// stdafx.h
+
+#ifndef __STDAFX_H
+#define __STDAFX_H
+
+#define _WIN32_WINNT 0x0400
+
+// it's for Windows NT supporting (MENUITEMINFOW)
+#define WINVER 0x0400
+
+#include <windows.h>
+#include <commctrl.h>
+
+#include "Common/NewHandler.h"
+
+#endif
diff --git a/7zip/FileManager/Resource/MessagesDialog/resource.h b/7zip/FileManager/Resource/MessagesDialog/resource.h
index 1a886be5..39d49f57 100755
--- a/7zip/FileManager/Resource/MessagesDialog/resource.h
+++ b/7zip/FileManager/Resource/MessagesDialog/resource.h
@@ -1,22 +1,3 @@
-//{{NO_DEPENDENCIES}}
-// Microsoft Developer Studio generated include file.
-// Used by resource.rc
-//
-
#define IDS_MESSAGES_DIALOG_MESSAGE_COLUMN 503
-
#define IDD_DIALOG_MESSAGES 503
-
#define IDC_MESSAGE_LIST 1000
-
-
-// Next default values for new objects
-//
-#ifdef APSTUDIO_INVOKED
-#ifndef APSTUDIO_READONLY_SYMBOLS
-#define _APS_NEXT_RESOURCE_VALUE 657
-#define _APS_NEXT_COMMAND_VALUE 40001
-#define _APS_NEXT_CONTROL_VALUE 1002
-#define _APS_NEXT_SYMED_VALUE 101
-#endif
-#endif
diff --git a/7zip/FileManager/Resource/MessagesDialog/resource.rc b/7zip/FileManager/Resource/MessagesDialog/resource.rc
index 019ae5d3..2fe18103 100755
--- a/7zip/FileManager/Resource/MessagesDialog/resource.rc
+++ b/7zip/FileManager/Resource/MessagesDialog/resource.rc
@@ -1,111 +1,25 @@
-//Microsoft Developer Studio generated resource script.
-//
#include "resource.h"
+#include "../../../GuiCommon.rc"
-#define APSTUDIO_READONLY_SYMBOLS
-/////////////////////////////////////////////////////////////////////////////
-//
-// Generated from the TEXTINCLUDE 2 resource.
-//
-#include "afxres.h"
+#define xSize2 335
+#define ySize2 121
+#define xSize (xSize2 + marg + marg)
+#define ySize (ySize2 + marg + marg)
+#define bXPos (xSize - marg - bXSize)
+#define bYPos (ySize - marg - bYSize)
-/////////////////////////////////////////////////////////////////////////////
-#undef APSTUDIO_READONLY_SYMBOLS
-/////////////////////////////////////////////////////////////////////////////
-// Russian resources
-
-#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_RUS)
-#ifdef _WIN32
-LANGUAGE LANG_RUSSIAN, SUBLANG_DEFAULT
-#pragma code_page(1251)
-#endif //_WIN32
-
-#ifdef APSTUDIO_INVOKED
-/////////////////////////////////////////////////////////////////////////////
-//
-// TEXTINCLUDE
-//
-
-1 TEXTINCLUDE DISCARDABLE
-BEGIN
- "resource.h\0"
-END
-
-2 TEXTINCLUDE DISCARDABLE
-BEGIN
- "#include ""afxres.h""\r\n"
- "\0"
-END
-
-3 TEXTINCLUDE DISCARDABLE
-BEGIN
- "\0"
-END
-
-#endif // APSTUDIO_INVOKED
-
-#endif // Russian resources
-/////////////////////////////////////////////////////////////////////////////
-
-
-/////////////////////////////////////////////////////////////////////////////
-// English (U.S.) resources
-
-#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_ENU)
-#ifdef _WIN32
-LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US
-#pragma code_page(1252)
-#endif //_WIN32
-
-/////////////////////////////////////////////////////////////////////////////
-//
-// Dialog
-//
-
-IDD_DIALOG_MESSAGES DIALOG DISCARDABLE 0, 0, 349, 135
-STYLE DS_MODALFRAME | DS_FIXEDSYS | DS_CENTER | WS_POPUP | WS_CAPTION |
- WS_SYSMENU
+IDD_DIALOG_MESSAGES DIALOG 0, 0, xSize, ySize MY_MODAL_DIALOG_STYLE
CAPTION "7-Zip: Diagnostic messages"
-FONT 8, "MS Shell Dlg"
-BEGIN
- DEFPUSHBUTTON "&Close",IDOK,143,114,64,14
- CONTROL "List1",IDC_MESSAGE_LIST,"SysListView32",LVS_REPORT |
- LVS_SHOWSELALWAYS | LVS_NOSORTHEADER | WS_BORDER |
- WS_TABSTOP,7,7,335,101
-END
-
-
-/////////////////////////////////////////////////////////////////////////////
-//
-// DESIGNINFO
-//
-
-#ifdef APSTUDIO_INVOKED
-GUIDELINES DESIGNINFO DISCARDABLE
+MY_FONT
BEGIN
- IDD_DIALOG_MESSAGES, DIALOG
- BEGIN
- LEFTMARGIN, 7
- RIGHTMARGIN, 342
- TOPMARGIN, 7
- BOTTOMMARGIN, 128
- END
+ DEFPUSHBUTTON "&Close", IDOK, bXPos, bYPos, bXSize, bYSize
+ CONTROL "List1",IDC_MESSAGE_LIST,"SysListView32",
+ LVS_REPORT | LVS_SHOWSELALWAYS | LVS_NOSORTHEADER | WS_BORDER | WS_TABSTOP,
+ marg, marg, xSize2, ySize2 - bYSize - 6
END
-#endif // APSTUDIO_INVOKED
-
-
-/////////////////////////////////////////////////////////////////////////////
-//
-// String Table
-//
-STRINGTABLE DISCARDABLE
+STRINGTABLE
BEGIN
- IDS_MESSAGES_DIALOG_MESSAGE_COLUMN "Message"
+ IDS_MESSAGES_DIALOG_MESSAGE_COLUMN "Message"
END
-
-#endif // English (U.S.) resources
-/////////////////////////////////////////////////////////////////////////////
-
-
diff --git a/7zip/FileManager/Resource/OverwriteDialog/StdAfx.h b/7zip/FileManager/Resource/OverwriteDialog/StdAfx.h
new file mode 100755
index 00000000..a444ca31
--- /dev/null
+++ b/7zip/FileManager/Resource/OverwriteDialog/StdAfx.h
@@ -0,0 +1,16 @@
+// stdafx.h
+
+#ifndef __STDAFX_H
+#define __STDAFX_H
+
+#define _WIN32_WINNT 0x0400
+
+// it's for Windows NT supporting (MENUITEMINFOW)
+#define WINVER 0x0400
+
+#include <windows.h>
+#include <commctrl.h>
+
+#include "Common/NewHandler.h"
+
+#endif
diff --git a/7zip/FileManager/Resource/OverwriteDialog/resource.h b/7zip/FileManager/Resource/OverwriteDialog/resource.h
index deefd58d..66710f84 100755
--- a/7zip/FileManager/Resource/OverwriteDialog/resource.h
+++ b/7zip/FileManager/Resource/OverwriteDialog/resource.h
@@ -1,7 +1,3 @@
-//{{NO_DEPENDENCIES}}
-// Microsoft Developer Studio generated include file.
-// Used by resource.rc
-//
#define IDS_FILE_MODIFIED 600
#define IDS_FILE_SIZE 601
@@ -21,16 +17,3 @@
#define IDC_BUTTON_OVERWRITE_YES_TO_ALL 1010
#define IDC_BUTTON_OVERWRITE_NO_TO_ALL 1011
#define IDC_BUTTON_OVERWRITE_AUTO_RENAME 1012
-
-
-
-// Next default values for new objects
-//
-#ifdef APSTUDIO_INVOKED
-#ifndef APSTUDIO_READONLY_SYMBOLS
-#define _APS_NEXT_RESOURCE_VALUE 102
-#define _APS_NEXT_COMMAND_VALUE 40001
-#define _APS_NEXT_CONTROL_VALUE 1013
-#define _APS_NEXT_SYMED_VALUE 101
-#endif
-#endif
diff --git a/7zip/FileManager/Resource/OverwriteDialog/resource.rc b/7zip/FileManager/Resource/OverwriteDialog/resource.rc
index 2e5cf828..4503a37e 100755
--- a/7zip/FileManager/Resource/OverwriteDialog/resource.rc
+++ b/7zip/FileManager/Resource/OverwriteDialog/resource.rc
@@ -1,132 +1,47 @@
-//Microsoft Developer Studio generated resource script.
-//
#include "resource.h"
+#include "../../../GuiCommon.rc"
-#define APSTUDIO_READONLY_SYMBOLS
-/////////////////////////////////////////////////////////////////////////////
-//
-// Generated from the TEXTINCLUDE 2 resource.
-//
-#include "afxres.h"
+#define xSize2 357
+#define ySize2 204
-/////////////////////////////////////////////////////////////////////////////
-#undef APSTUDIO_READONLY_SYMBOLS
+#define xSize (xSize2 + marg + marg)
+#define ySize (ySize2 + marg + marg)
-/////////////////////////////////////////////////////////////////////////////
-// Russian resources
+#undef iconSize
+#define iconSize 20
-#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_RUS)
-#ifdef _WIN32
-LANGUAGE LANG_RUSSIAN, SUBLANG_DEFAULT
-#pragma code_page(1251)
-#endif //_WIN32
+#undef fiXPos
+#undef fiXSize
+#undef fiYSize
+#define fiXPos (iconSize + 12)
+#define fiXSize (xSize2 - fiXPos)
+#define fiYSize 50
-#ifdef APSTUDIO_INVOKED
-/////////////////////////////////////////////////////////////////////////////
-//
-// TEXTINCLUDE
-//
+#define b1YPos (ySize - marg - bYSize)
+#define b2YPos (b1YPos - bYSize - 10)
-1 TEXTINCLUDE DISCARDABLE
-BEGIN
- "resource.h\0"
-END
-
-2 TEXTINCLUDE DISCARDABLE
-BEGIN
- "#include ""afxres.h""\r\n"
- "\0"
-END
-
-3 TEXTINCLUDE DISCARDABLE
-BEGIN
- "\0"
-END
-
-#endif // APSTUDIO_INVOKED
-
-#endif // Russian resources
-/////////////////////////////////////////////////////////////////////////////
-
-
-/////////////////////////////////////////////////////////////////////////////
-// English (U.S.) resources
-
-#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_ENU)
-#ifdef _WIN32
-LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US
-#pragma code_page(1252)
-#endif //_WIN32
-
-/////////////////////////////////////////////////////////////////////////////
-//
-// Dialog
-//
-
-IDD_DIALOG_OVERWRITE DIALOG DISCARDABLE 0, 0, 371, 218
-STYLE DS_MODALFRAME | DS_FIXEDSYS | DS_CENTER | WS_POPUP | WS_CAPTION |
- WS_SYSMENU
+IDD_DIALOG_OVERWRITE DIALOG 0, 0, xSize, ySize MY_MODAL_DIALOG_STYLE
CAPTION "Confirm File Replace"
-FONT 8, "MS Shell Dlg"
+MY_FONT
BEGIN
- LTEXT "Destination folder already contains processed file.",
- IDC_STATIC_OVERWRITE_HEADER,6,7,358,8
- LTEXT "Would you like to replace the existing file",
- IDC_STATIC_OVERWRITE_QUESTION_BEGIN,7,28,357,8
- ICON "",IDC_STATIC_OVERWRITE_OLD_FILE_ICON,7,44,20,20
- LTEXT "",IDC_STATIC_OVERWRITE_OLD_FILE_SIZE_TIME,39,44,325,50
- LTEXT "with this one?",IDC_STATIC_OVERWRITE_QUESTION_END,7,98,
- 357,8
- ICON "",IDC_STATIC_OVERWRITE_NEW_FILE_ICON,7,114,20,20
- LTEXT "",IDC_STATIC_OVERWRITE_NEW_FILE_SIZE_TIME,39,114,325,50
- PUSHBUTTON "&Yes",IDYES,78,173,64,14
- PUSHBUTTON "Yes to &All",IDC_BUTTON_OVERWRITE_YES_TO_ALL,152,173,64,
- 14
- PUSHBUTTON "&No",IDNO,226,172,64,14
- PUSHBUTTON "No to A&ll",IDC_BUTTON_OVERWRITE_NO_TO_ALL,300,172,64,
- 14
- PUSHBUTTON "A&uto Rename",IDC_BUTTON_OVERWRITE_AUTO_RENAME,181,197,
- 109,14
- PUSHBUTTON "&Cancel",IDCANCEL,300,197,64,14
+ LTEXT "Destination folder already contains processed file.", IDC_STATIC_OVERWRITE_HEADER, marg, 7, xSize2, 8
+ LTEXT "Would you like to replace the existing file", IDC_STATIC_OVERWRITE_QUESTION_BEGIN, marg, 28, xSize2, 8
+ ICON "", IDC_STATIC_OVERWRITE_OLD_FILE_ICON, marg, 44, iconSize, iconSize
+ LTEXT "", IDC_STATIC_OVERWRITE_OLD_FILE_SIZE_TIME, fiXPos, 44, fiXSize, fiYSize
+ LTEXT "with this one?",IDC_STATIC_OVERWRITE_QUESTION_END, marg, 98, xSize2, 8
+ ICON "",IDC_STATIC_OVERWRITE_NEW_FILE_ICON, marg, 114, iconSize, iconSize
+ LTEXT "",IDC_STATIC_OVERWRITE_NEW_FILE_SIZE_TIME, fiXPos, 114, fiXSize, fiYSize
+ PUSHBUTTON "&Yes", IDYES, 78, b2YPos, bXSize, bYSize
+ PUSHBUTTON "Yes to &All", IDC_BUTTON_OVERWRITE_YES_TO_ALL, 152, b2YPos, bXSize, bYSize
+ PUSHBUTTON "&No", IDNO, 226, b2YPos, bXSize, bYSize
+ PUSHBUTTON "No to A&ll", IDC_BUTTON_OVERWRITE_NO_TO_ALL, 300, b2YPos, bXSize, bYSize
+ PUSHBUTTON "A&uto Rename", IDC_BUTTON_OVERWRITE_AUTO_RENAME, 181, b1YPos, 109, bYSize
+ PUSHBUTTON "&Cancel", IDCANCEL, 300, b1YPos, bXSize, bYSize
END
-/////////////////////////////////////////////////////////////////////////////
-//
-// DESIGNINFO
-//
-
-#ifdef APSTUDIO_INVOKED
-GUIDELINES DESIGNINFO DISCARDABLE
-BEGIN
- IDD_DIALOG_OVERWRITE, DIALOG
- BEGIN
- LEFTMARGIN, 7
- RIGHTMARGIN, 364
- VERTGUIDE, 39
- TOPMARGIN, 7
- BOTTOMMARGIN, 211
- END
-END
-#endif // APSTUDIO_INVOKED
-
-
-/////////////////////////////////////////////////////////////////////////////
-//
-// String Table
-//
-
-STRINGTABLE DISCARDABLE
+STRINGTABLE
BEGIN
- IDS_FILE_MODIFIED "modified on"
+ IDS_FILE_MODIFIED "modified on"
+ IDS_FILE_SIZE "{0} bytes"
END
-
-STRINGTABLE DISCARDABLE
-BEGIN
- IDS_FILE_SIZE "{0} bytes"
-END
-
-#endif // English (U.S.) resources
-/////////////////////////////////////////////////////////////////////////////
-
-
diff --git a/7zip/FileManager/Resource/PasswordDialog/StdAfx.h b/7zip/FileManager/Resource/PasswordDialog/StdAfx.h
new file mode 100755
index 00000000..a444ca31
--- /dev/null
+++ b/7zip/FileManager/Resource/PasswordDialog/StdAfx.h
@@ -0,0 +1,16 @@
+// stdafx.h
+
+#ifndef __STDAFX_H
+#define __STDAFX_H
+
+#define _WIN32_WINNT 0x0400
+
+// it's for Windows NT supporting (MENUITEMINFOW)
+#define WINVER 0x0400
+
+#include <windows.h>
+#include <commctrl.h>
+
+#include "Common/NewHandler.h"
+
+#endif
diff --git a/7zip/FileManager/Resource/PasswordDialog/resource.h b/7zip/FileManager/Resource/PasswordDialog/resource.h
index a092053c..e0b42661 100755
--- a/7zip/FileManager/Resource/PasswordDialog/resource.h
+++ b/7zip/FileManager/Resource/PasswordDialog/resource.h
@@ -1,19 +1,4 @@
-//{{NO_DEPENDENCIES}}
-// Microsoft Developer Studio generated include file.
-// Used by resource.rc
-//
#define IDD_DIALOG_PASSWORD 501
#define IDC_STATIC_PASSWORD_HEADER 1000
#define IDC_EDIT_PASSWORD 1001
#define IDC_CHECK_PASSWORD_SHOW 1002
-
-// Next default values for new objects
-//
-#ifdef APSTUDIO_INVOKED
-#ifndef APSTUDIO_READONLY_SYMBOLS
-#define _APS_NEXT_RESOURCE_VALUE 157
-#define _APS_NEXT_COMMAND_VALUE 40001
-#define _APS_NEXT_CONTROL_VALUE 1003
-#define _APS_NEXT_SYMED_VALUE 101
-#endif
-#endif
diff --git a/7zip/FileManager/Resource/PasswordDialog/resource.rc b/7zip/FileManager/Resource/PasswordDialog/resource.rc
index 33583245..7e2658c7 100755
--- a/7zip/FileManager/Resource/PasswordDialog/resource.rc
+++ b/7zip/FileManager/Resource/PasswordDialog/resource.rc
@@ -1,103 +1,26 @@
-//Microsoft Developer Studio generated resource script.
-//
#include "resource.h"
+#include "../../../GuiCommon.rc"
-#define APSTUDIO_READONLY_SYMBOLS
-/////////////////////////////////////////////////////////////////////////////
-//
-// Generated from the TEXTINCLUDE 2 resource.
-//
-#include "afxres.h"
+#define xSize2 172
+#define ySize2 68
+#define xSize (xSize2 + marg + marg)
+#define ySize (ySize2 + marg + marg)
-/////////////////////////////////////////////////////////////////////////////
-#undef APSTUDIO_READONLY_SYMBOLS
+#define bYPos (ySize - marg - bYSize)
+#define b1XPos (xSize - marg - bXSize)
+#define b2XPos (b1XPos - 10 - bXSize)
-/////////////////////////////////////////////////////////////////////////////
-// Russian resources
-#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_RUS)
-#ifdef _WIN32
-LANGUAGE LANG_RUSSIAN, SUBLANG_DEFAULT
-#pragma code_page(1251)
-#endif //_WIN32
-
-#ifdef APSTUDIO_INVOKED
-/////////////////////////////////////////////////////////////////////////////
-//
-// TEXTINCLUDE
-//
-
-1 TEXTINCLUDE DISCARDABLE
-BEGIN
- "resource.h\0"
-END
-
-2 TEXTINCLUDE DISCARDABLE
-BEGIN
- "#include ""afxres.h""\r\n"
- "\0"
-END
-
-3 TEXTINCLUDE DISCARDABLE
-BEGIN
- "\0"
-END
-
-#endif // APSTUDIO_INVOKED
-
-#endif // Russian resources
-/////////////////////////////////////////////////////////////////////////////
-
-
-/////////////////////////////////////////////////////////////////////////////
-// English (U.S.) resources
-
-#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_ENU)
-#ifdef _WIN32
-LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US
-#pragma code_page(1252)
-#endif //_WIN32
-
-/////////////////////////////////////////////////////////////////////////////
-//
-// Dialog
-//
-
-IDD_DIALOG_PASSWORD DIALOG DISCARDABLE 0, 0, 186, 82
-STYLE DS_MODALFRAME | DS_FIXEDSYS | DS_CENTER | WS_POPUP | WS_CAPTION |
- WS_SYSMENU
+IDD_DIALOG_PASSWORD DIALOG 0, 0, xSize, ySize MY_MODAL_DIALOG_STYLE
CAPTION "Enter password"
-FONT 8, "MS Shell Dlg"
-BEGIN
- LTEXT "&Enter password:",IDC_STATIC_PASSWORD_HEADER,7,7,172,8
- EDITTEXT IDC_EDIT_PASSWORD,7,19,172,14,ES_PASSWORD |
- ES_AUTOHSCROLL
- CONTROL "&Show password",IDC_CHECK_PASSWORD_SHOW,"Button",
- BS_AUTOCHECKBOX | WS_TABSTOP,7,41,172,10
- DEFPUSHBUTTON "OK",IDOK,41,61,64,14
- PUSHBUTTON "Cancel",IDCANCEL,115,61,64,14
-END
-
-
-/////////////////////////////////////////////////////////////////////////////
-//
-// DESIGNINFO
-//
-
-#ifdef APSTUDIO_INVOKED
-GUIDELINES DESIGNINFO DISCARDABLE
+MY_FONT
BEGIN
- IDD_DIALOG_PASSWORD, DIALOG
- BEGIN
- LEFTMARGIN, 7
- RIGHTMARGIN, 179
- TOPMARGIN, 7
- BOTTOMMARGIN, 75
- END
+ LTEXT "&Enter password:", IDC_STATIC_PASSWORD_HEADER, marg, marg, xSize2, 8
+ EDITTEXT IDC_EDIT_PASSWORD, marg , 19, xSize2, 14, ES_PASSWORD | ES_AUTOHSCROLL
+
+ CONTROL "&Show password", IDC_CHECK_PASSWORD_SHOW, "Button", BS_AUTOCHECKBOX | WS_TABSTOP,
+ marg, 41, xSize2, 10
+
+ DEFPUSHBUTTON "OK", IDOK, b2XPos, bYPos, bXSize, bYSize
+ PUSHBUTTON "Cancel", IDCANCEL, b1XPos, bYPos, bXSize, bYSize
END
-#endif // APSTUDIO_INVOKED
-
-#endif // English (U.S.) resources
-/////////////////////////////////////////////////////////////////////////////
-
-
diff --git a/7zip/FileManager/Resource/PluginsPage/PluginsPage.cpp b/7zip/FileManager/Resource/PluginsPage/PluginsPage.cpp
index 57f21c54..3ca43916 100755
--- a/7zip/FileManager/Resource/PluginsPage/PluginsPage.cpp
+++ b/7zip/FileManager/Resource/PluginsPage/PluginsPage.cpp
@@ -128,6 +128,7 @@ STDMETHODIMP CPluginOptionsCallback::GetProgramFolderPath(BSTR *value)
return S_OK;
}
+#ifndef _WIN64
static bool IsItWindowsNT()
{
OSVERSIONINFO aVersionInfo;
@@ -136,13 +137,17 @@ static bool IsItWindowsNT()
return false;
return (aVersionInfo.dwPlatformId == VER_PLATFORM_WIN32_NT);
}
+#endif
static UString GetDefaultProgramName()
{
- if (IsItWindowsNT())
- return L"7zFMn.exe";
- else
- return L"7zFM.exe";
+ UString name;
+ name += L"7zFM";
+ #ifndef _WIN64
+ if (IsItWindowsNT())
+ name += L"n";
+ #endif
+ return name + L".exe";
}
STDMETHODIMP CPluginOptionsCallback::GetProgramPath(BSTR *value)
diff --git a/7zip/FileManager/Resource/PluginsPage/StdAfx.h b/7zip/FileManager/Resource/PluginsPage/StdAfx.h
new file mode 100755
index 00000000..a444ca31
--- /dev/null
+++ b/7zip/FileManager/Resource/PluginsPage/StdAfx.h
@@ -0,0 +1,16 @@
+// stdafx.h
+
+#ifndef __STDAFX_H
+#define __STDAFX_H
+
+#define _WIN32_WINNT 0x0400
+
+// it's for Windows NT supporting (MENUITEMINFOW)
+#define WINVER 0x0400
+
+#include <windows.h>
+#include <commctrl.h>
+
+#include "Common/NewHandler.h"
+
+#endif
diff --git a/7zip/FileManager/Resource/PluginsPage/resource.h b/7zip/FileManager/Resource/PluginsPage/resource.h
index c0463eae..8fc923ee 100755
--- a/7zip/FileManager/Resource/PluginsPage/resource.h
+++ b/7zip/FileManager/Resource/PluginsPage/resource.h
@@ -1,19 +1,4 @@
-//{{NO_DEPENDENCIES}}
-// Microsoft Developer Studio generated include file.
-// Used by resource.rc
-//
#define IDD_PLUGINS 901
#define IDC_PLUGINS_STATIC_PLUGINS 1000
#define IDC_PLUGINS_LIST 1001
#define IDC_PLUGINS_BUTTON_OPTIONS 1002
-
-// Next default values for new objects
-//
-#ifdef APSTUDIO_INVOKED
-#ifndef APSTUDIO_READONLY_SYMBOLS
-#define _APS_NEXT_RESOURCE_VALUE 135
-#define _APS_NEXT_COMMAND_VALUE 32771
-#define _APS_NEXT_CONTROL_VALUE 103
-#define _APS_NEXT_SYMED_VALUE 101
-#endif
-#endif
diff --git a/7zip/FileManager/Resource/PluginsPage/resource.rc b/7zip/FileManager/Resource/PluginsPage/resource.rc
index b47c7996..7b74107b 100755
--- a/7zip/FileManager/Resource/PluginsPage/resource.rc
+++ b/7zip/FileManager/Resource/PluginsPage/resource.rc
@@ -1,100 +1,19 @@
-//Microsoft Developer Studio generated resource script.
-//
#include "resource.h"
+#include "../../../GuiCommon.rc"
-#define APSTUDIO_READONLY_SYMBOLS
-/////////////////////////////////////////////////////////////////////////////
-//
-// Generated from the TEXTINCLUDE 2 resource.
-//
-#include "afxres.h"
+#define xSize2 196
+#define ySize2 140
+#define xSize (xSize2 + marg + marg)
+#define ySize (ySize2 + marg + marg)
-/////////////////////////////////////////////////////////////////////////////
-#undef APSTUDIO_READONLY_SYMBOLS
-/////////////////////////////////////////////////////////////////////////////
-// Russian resources
-
-#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_RUS)
-#ifdef _WIN32
-LANGUAGE LANG_RUSSIAN, SUBLANG_DEFAULT
-#pragma code_page(1251)
-#endif //_WIN32
-
-#ifdef APSTUDIO_INVOKED
-/////////////////////////////////////////////////////////////////////////////
-//
-// TEXTINCLUDE
-//
-
-1 TEXTINCLUDE DISCARDABLE
-BEGIN
- "resource.h\0"
-END
-
-2 TEXTINCLUDE DISCARDABLE
-BEGIN
- "#include ""afxres.h""\r\n"
- "\0"
-END
-
-3 TEXTINCLUDE DISCARDABLE
-BEGIN
- "\0"
-END
-
-#endif // APSTUDIO_INVOKED
-
-#endif // Russian resources
-/////////////////////////////////////////////////////////////////////////////
-
-
-/////////////////////////////////////////////////////////////////////////////
-// English (U.S.) resources
-
-#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_ENU)
-#ifdef _WIN32
-LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US
-#pragma code_page(1252)
-#endif //_WIN32
-
-/////////////////////////////////////////////////////////////////////////////
-//
-// Dialog
-//
-
-IDD_PLUGINS DIALOG DISCARDABLE 0, 0, 210, 154
-STYLE DS_FIXEDSYS | WS_CHILD | WS_DISABLED | WS_CAPTION
+IDD_PLUGINS DIALOG 0, 0, xSize, ySize MY_PAGE_STYLE
CAPTION "Plugins"
-FONT 8, "MS Shell Dlg"
+MY_FONT
BEGIN
- LTEXT "&Plugins:",IDC_PLUGINS_STATIC_PLUGINS,7,7,196,8
- CONTROL "List1",IDC_PLUGINS_LIST,"SysListView32",LVS_REPORT |
- LVS_SHOWSELALWAYS | LVS_NOCOLUMNHEADER |
- LVS_NOSORTHEADER | WS_BORDER | WS_TABSTOP,7,20,135,127
- PUSHBUTTON "Options...",IDC_PLUGINS_BUTTON_OPTIONS,153,20,50,14
+ LTEXT "&Plugins:", IDC_PLUGINS_STATIC_PLUGINS, marg, marg, xSize2, 8
+ CONTROL "List1", IDC_PLUGINS_LIST, "SysListView32", LVS_REPORT | LVS_SHOWSELALWAYS |
+ LVS_NOCOLUMNHEADER | LVS_NOSORTHEADER | WS_BORDER | WS_TABSTOP,
+ marg, 20, xSize2 - bXSize - 12, ySize2 - 12
+ PUSHBUTTON "Options...", IDC_PLUGINS_BUTTON_OPTIONS, (xSize - marg - bXSize), 20, bXSize, bYSize
END
-
-
-/////////////////////////////////////////////////////////////////////////////
-//
-// DESIGNINFO
-//
-
-#ifdef APSTUDIO_INVOKED
-GUIDELINES DESIGNINFO DISCARDABLE
-BEGIN
- IDD_PLUGINS, DIALOG
- BEGIN
- LEFTMARGIN, 7
- RIGHTMARGIN, 203
- TOPMARGIN, 7
- BOTTOMMARGIN, 147
- END
-END
-#endif // APSTUDIO_INVOKED
-
-#endif // English (U.S.) resources
-/////////////////////////////////////////////////////////////////////////////
-
-
diff --git a/7zip/FileManager/Resource/ProgressDialog/StdAfx.h b/7zip/FileManager/Resource/ProgressDialog/StdAfx.h
new file mode 100755
index 00000000..a444ca31
--- /dev/null
+++ b/7zip/FileManager/Resource/ProgressDialog/StdAfx.h
@@ -0,0 +1,16 @@
+// stdafx.h
+
+#ifndef __STDAFX_H
+#define __STDAFX_H
+
+#define _WIN32_WINNT 0x0400
+
+// it's for Windows NT supporting (MENUITEMINFOW)
+#define WINVER 0x0400
+
+#include <windows.h>
+#include <commctrl.h>
+
+#include "Common/NewHandler.h"
+
+#endif
diff --git a/7zip/FileManager/Resource/ProgressDialog/resource.h b/7zip/FileManager/Resource/ProgressDialog/resource.h
index fc03e42c..97e47228 100755
--- a/7zip/FileManager/Resource/ProgressDialog/resource.h
+++ b/7zip/FileManager/Resource/ProgressDialog/resource.h
@@ -1,20 +1,3 @@
-//{{NO_DEPENDENCIES}}
-// Microsoft Developer Studio generated include file.
-// Used by resource.rc
-//
-
#define IDD_DIALOG_PROGRESS 500
#define IDC_PROGRESS1 1000
-
-
-// Next default values for new objects
-//
-#ifdef APSTUDIO_INVOKED
-#ifndef APSTUDIO_READONLY_SYMBOLS
-#define _APS_NEXT_RESOURCE_VALUE 157
-#define _APS_NEXT_COMMAND_VALUE 40001
-#define _APS_NEXT_CONTROL_VALUE 1002
-#define _APS_NEXT_SYMED_VALUE 101
-#endif
-#endif
diff --git a/7zip/FileManager/Resource/ProgressDialog/resource.rc b/7zip/FileManager/Resource/ProgressDialog/resource.rc
index 8d4c76cc..a6b375ed 100755
--- a/7zip/FileManager/Resource/ProgressDialog/resource.rc
+++ b/7zip/FileManager/Resource/ProgressDialog/resource.rc
@@ -1,101 +1,20 @@
-//Microsoft Developer Studio generated resource script.
-//
#include "resource.h"
+#include "../../../GuiCommon.rc"
-#define APSTUDIO_READONLY_SYMBOLS
-/////////////////////////////////////////////////////////////////////////////
-//
-// Generated from the TEXTINCLUDE 2 resource.
-//
-#include "afxres.h"
+#define xSize2 172
+#define ySize2 42
+#define xSize (xSize2 + marg + marg)
+#define ySize (ySize2 + marg + marg)
-/////////////////////////////////////////////////////////////////////////////
-#undef APSTUDIO_READONLY_SYMBOLS
+#define bYPos (ySize - marg - bYSize)
+#define bXPos (xSize - marg - bXSize)
-/////////////////////////////////////////////////////////////////////////////
-// Russian resources
-#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_RUS)
-#ifdef _WIN32
-LANGUAGE LANG_RUSSIAN, SUBLANG_DEFAULT
-#pragma code_page(1251)
-#endif //_WIN32
-
-#ifdef APSTUDIO_INVOKED
-/////////////////////////////////////////////////////////////////////////////
-//
-// TEXTINCLUDE
-//
-
-1 TEXTINCLUDE DISCARDABLE
-BEGIN
- "resource.h\0"
-END
-
-2 TEXTINCLUDE DISCARDABLE
-BEGIN
- "#include ""afxres.h""\r\n"
- "\0"
-END
-
-3 TEXTINCLUDE DISCARDABLE
-BEGIN
- "\0"
-END
-
-#endif // APSTUDIO_INVOKED
-
-#endif // Russian resources
-/////////////////////////////////////////////////////////////////////////////
-
-
-/////////////////////////////////////////////////////////////////////////////
-// English (U.S.) resources
-
-#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_ENU)
-#ifdef _WIN32
-LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US
-#pragma code_page(1252)
-#endif //_WIN32
-
-/////////////////////////////////////////////////////////////////////////////
-//
-// Dialog
-//
-
-IDD_DIALOG_PROGRESS DIALOG DISCARDABLE 0, 0, 186, 55
-STYLE DS_MODALFRAME | DS_FIXEDSYS | DS_CENTER | WS_POPUP | WS_CAPTION |
- WS_SYSMENU
+IDD_DIALOG_PROGRESS DIALOG 0, 0, xSize, ySize MY_MODAL_DIALOG_STYLE
CAPTION "Progress"
-FONT 8, "MS Shell Dlg"
+MY_FONT
BEGIN
- PUSHBUTTON "Cancel",IDCANCEL,61,34,64,14
- CONTROL "Progress1",IDC_PROGRESS1,"msctls_progress32",PBS_SMOOTH |
- WS_BORDER,7,7,172,14
+ PUSHBUTTON "Cancel", IDCANCEL, bXPos, bYPos , bXSize, bYSize
+ CONTROL "Progress1", IDC_PROGRESS1,"msctls_progress32",PBS_SMOOTH | WS_BORDER,
+ marg,marg, xSize2, 14
END
-
-
-/////////////////////////////////////////////////////////////////////////////
-//
-// DESIGNINFO
-//
-
-#ifdef APSTUDIO_INVOKED
-GUIDELINES DESIGNINFO DISCARDABLE
-BEGIN
-
- IDD_DIALOG_PROGRESS, DIALOG
- BEGIN
- LEFTMARGIN, 7
- RIGHTMARGIN, 179
- TOPMARGIN, 7
- BOTTOMMARGIN, 48
- END
-
-END
-#endif // APSTUDIO_INVOKED
-
-#endif // English (U.S.) resources
-/////////////////////////////////////////////////////////////////////////////
-
-
diff --git a/7zip/FileManager/Resource/ProgressDialog2/ProgressDialog.cpp b/7zip/FileManager/Resource/ProgressDialog2/ProgressDialog.cpp
index 0ed2960e..589f845e 100755
--- a/7zip/FileManager/Resource/ProgressDialog2/ProgressDialog.cpp
+++ b/7zip/FileManager/Resource/ProgressDialog2/ProgressDialog.cpp
@@ -332,10 +332,13 @@ void CProgressDialog::SetTitleText()
title = pausedString;
title += L" ";
}
- wchar_t s[64];
- ConvertUInt64ToString(_prevPercentValue, s);
- title += s;
- title += L"%";
+ if (_prevPercentValue != UInt32(-1))
+ {
+ wchar_t s[64];
+ ConvertUInt64ToString(_prevPercentValue, s);
+ title += s;
+ title += L"%";
+ }
if (!_foreground)
{
title += L" ";
diff --git a/7zip/FileManager/Resource/ProgressDialog2/StdAfx.h b/7zip/FileManager/Resource/ProgressDialog2/StdAfx.h
new file mode 100755
index 00000000..a444ca31
--- /dev/null
+++ b/7zip/FileManager/Resource/ProgressDialog2/StdAfx.h
@@ -0,0 +1,16 @@
+// stdafx.h
+
+#ifndef __STDAFX_H
+#define __STDAFX_H
+
+#define _WIN32_WINNT 0x0400
+
+// it's for Windows NT supporting (MENUITEMINFOW)
+#define WINVER 0x0400
+
+#include <windows.h>
+#include <commctrl.h>
+
+#include "Common/NewHandler.h"
+
+#endif
diff --git a/7zip/FileManager/Resource/ProgressDialog2/resource.h b/7zip/FileManager/Resource/ProgressDialog2/resource.h
index 07febd92..be1da4ad 100755
--- a/7zip/FileManager/Resource/ProgressDialog2/resource.h
+++ b/7zip/FileManager/Resource/ProgressDialog2/resource.h
@@ -1,7 +1,3 @@
-//{{NO_DEPENDENCIES}}
-// Microsoft Developer Studio generated include file.
-// Used by resource.rc
-//
#define IDC_BUTTON_PAUSE 3
#define IDC_BUTTON_PROGRESS_PRIORITY 4
#define IDD_DIALOG_PROGRESS 500
@@ -19,14 +15,3 @@
#define IDC_PROGRESS_TOTAL 1008
#define IDC_PROGRESS_SPEED_TOTAL_VALUE 1009
#define IDC_PROGRESS_FILE_NAME 1010
-
-// Next default values for new objects
-//
-#ifdef APSTUDIO_INVOKED
-#ifndef APSTUDIO_READONLY_SYMBOLS
-#define _APS_NEXT_RESOURCE_VALUE 157
-#define _APS_NEXT_COMMAND_VALUE 40001
-#define _APS_NEXT_CONTROL_VALUE 1006
-#define _APS_NEXT_SYMED_VALUE 101
-#endif
-#endif
diff --git a/7zip/FileManager/Resource/ProgressDialog2/resource.rc b/7zip/FileManager/Resource/ProgressDialog2/resource.rc
index b7d766ad..53f4aa59 100755
--- a/7zip/FileManager/Resource/ProgressDialog2/resource.rc
+++ b/7zip/FileManager/Resource/ProgressDialog2/resource.rc
@@ -1,128 +1,57 @@
-//Microsoft Developer Studio generated resource script.
-//
#include "resource.h"
+#include "../../../GuiCommon.rc"
-#define APSTUDIO_READONLY_SYMBOLS
-/////////////////////////////////////////////////////////////////////////////
-//
-// Generated from the TEXTINCLUDE 2 resource.
-//
-#include "afxres.h"
+#define xSize2 290
+#define ySize2 76
-/////////////////////////////////////////////////////////////////////////////
-#undef APSTUDIO_READONLY_SYMBOLS
+#define xSize (xSize2 + marg + marg)
+#define ySize (ySize2 + marg + marg)
-/////////////////////////////////////////////////////////////////////////////
-// Russian resources
+#define bYPos (ySize - marg - bYSize)
-#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_RUS)
-#ifdef _WIN32
-LANGUAGE LANG_RUSSIAN, SUBLANG_DEFAULT
-#pragma code_page(1251)
-#endif //_WIN32
+#undef bXSize
+#define bXSize 72
-#ifdef APSTUDIO_INVOKED
-/////////////////////////////////////////////////////////////////////////////
-//
-// TEXTINCLUDE
-//
-
-1 TEXTINCLUDE DISCARDABLE
-BEGIN
- "resource.h\0"
-END
-
-2 TEXTINCLUDE DISCARDABLE
-BEGIN
- "#include ""afxres.h""\r\n"
- "\0"
-END
-
-3 TEXTINCLUDE DISCARDABLE
-BEGIN
- "\0"
-END
-
-#endif // APSTUDIO_INVOKED
-
-#endif // Russian resources
-/////////////////////////////////////////////////////////////////////////////
+#define bXPos1 (xSize - marg - bXSize)
+#define bXPos2 (bXPos1 - 10 - bXSize)
+#define bXPos3 (bXPos2 - 10 - bXSize)
+#define valSize 42
+#define timeSize 91
+#define labelPos 178
+#define valPos1 (marg + timeSize)
+#define valPos2 (xSize - marg - valSize)
+#define labelSize (valPos2 - labelPos)
-/////////////////////////////////////////////////////////////////////////////
-// English (U.S.) resources
+#undef yPos
+#define yPos (marg + 11)
-#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_ENU)
-#ifdef _WIN32
-LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US
-#pragma code_page(1252)
-#endif //_WIN32
-/////////////////////////////////////////////////////////////////////////////
-//
-// Dialog
-//
-
-IDD_DIALOG_PROGRESS DIALOG DISCARDABLE 0, 0, 304, 90
-STYLE DS_MODALFRAME | DS_FIXEDSYS | DS_CENTER | WS_MINIMIZEBOX | WS_POPUP |
- WS_CAPTION | WS_SYSMENU
+IDD_DIALOG_PROGRESS DIALOG 0, 0, xSize, ySize MY_MODAL_DIALOG_STYLE | WS_MINIMIZEBOX
CAPTION "Progress"
-FONT 8, "MS Shell Dlg"
-BEGIN
- PUSHBUTTON "&Background",IDC_BUTTON_PROGRESS_PRIORITY,61,69,72,14
- PUSHBUTTON "&Pause",IDC_BUTTON_PAUSE,143,69,72,14
- PUSHBUTTON "Cancel",IDCANCEL,225,69,72,14
- LTEXT "Elapsed time:",IDC_PROGRESS_ELAPSED,7,7,91,8
- RTEXT "00:00:00",IDC_PROGRESS_ELAPSED_VALUE,98,7,42,8
- LTEXT "Remaining time:",IDC_PROGRESS_REMAINING,7,18,91,8
- RTEXT "",IDC_PROGRESS_REMAINING_VALUE,98,18,42,8
- LTEXT "Size:",IDC_PROGRESS_TOTAL,178,7,77,8
- RTEXT "",IDC_PROGRESS_SPEED_TOTAL_VALUE,255,7,42,8
- LTEXT "Speed:",IDC_PROGRESS_SPEED,178,18,77,8
- RTEXT "",IDC_PROGRESS_SPEED_VALUE,255,18,42,8
- CONTROL "Progress1",IDC_PROGRESS1,"msctls_progress32",PBS_SMOOTH |
- WS_BORDER,7,49,290,13
- LTEXT "",IDC_PROGRESS_FILE_NAME,7,34,290,8
-END
-
-
-/////////////////////////////////////////////////////////////////////////////
-//
-// DESIGNINFO
-//
-
-#ifdef APSTUDIO_INVOKED
-GUIDELINES DESIGNINFO DISCARDABLE
+MY_FONT
BEGIN
- IDD_DIALOG_PROGRESS, DIALOG
- BEGIN
- LEFTMARGIN, 7
- RIGHTMARGIN, 297
- VERTGUIDE, 98
- VERTGUIDE, 140
- VERTGUIDE, 178
- VERTGUIDE, 255
- TOPMARGIN, 7
- BOTTOMMARGIN, 83
- END
+ PUSHBUTTON "&Background", IDC_BUTTON_PROGRESS_PRIORITY, bXPos3, bYPos, bXSize, bYSize
+ PUSHBUTTON "&Pause", IDC_BUTTON_PAUSE, bXPos2, bYPos, bXSize, bYSize
+ PUSHBUTTON "Cancel", IDCANCEL, bXPos1, bYPos, bXSize, bYSize
+ LTEXT "Elapsed time:", IDC_PROGRESS_ELAPSED, marg, marg, timeSize, 8
+ LTEXT "Remaining time:", IDC_PROGRESS_REMAINING, marg, yPos, timeSize, 8
+ LTEXT "Size:", IDC_PROGRESS_TOTAL, labelPos, marg, labelSize, 8
+ LTEXT "Speed:", IDC_PROGRESS_SPEED, labelPos, yPos, labelSize, 8
+ RTEXT "00:00:00", IDC_PROGRESS_ELAPSED_VALUE, valPos1, marg, valSize, 8
+ RTEXT "", IDC_PROGRESS_REMAINING_VALUE, valPos1, yPos, valSize, 8
+ RTEXT "", IDC_PROGRESS_SPEED_TOTAL_VALUE, valPos2, marg, valSize, 8
+ RTEXT "", IDC_PROGRESS_SPEED_VALUE, valPos2, yPos, valSize, 8
+ LTEXT "", IDC_PROGRESS_FILE_NAME, marg, yPos + 16, xSize2, 8
+ CONTROL "Progress1", IDC_PROGRESS1, "msctls_progress32", PBS_SMOOTH | WS_BORDER,
+ marg, bYPos - 20, xSize2, 13
END
-#endif // APSTUDIO_INVOKED
-
-/////////////////////////////////////////////////////////////////////////////
-//
-// String Table
-//
STRINGTABLE DISCARDABLE
BEGIN
- IDS_PROGRESS_PAUSED "Paused"
- IDS_PROGRESS_FOREGROUND "&Foreground"
- IDS_PROGRESS_CONTINUE "&Continue"
- IDS_PROGRESS_ASK_CANCEL "Are you sure you want to cancel?"
+ IDS_PROGRESS_PAUSED "Paused"
+ IDS_PROGRESS_FOREGROUND "&Foreground"
+ IDS_PROGRESS_CONTINUE "&Continue"
+ IDS_PROGRESS_ASK_CANCEL "Are you sure you want to cancel?"
END
-
-#endif // English (U.S.) resources
-/////////////////////////////////////////////////////////////////////////////
-
-
diff --git a/7zip/FileManager/Resource/PropertyName/resource.h b/7zip/FileManager/Resource/PropertyName/resource.h
index f318905a..5730560f 100755
--- a/7zip/FileManager/Resource/PropertyName/resource.h
+++ b/7zip/FileManager/Resource/PropertyName/resource.h
@@ -1,7 +1,3 @@
-//{{NO_DEPENDENCIES}}
-// Microsoft Developer Studio generated include file.
-// Used by resource.rc
-//
#define IDS_PROPERTY_PATH 3
#define IDS_PROPERTY_NAME 4
#define IDS_PROPERTY_EXTENSION 5
@@ -28,15 +24,4 @@
#define IDS_PROPERTY_GROUP 26
#define IDS_PROPERTY_BLOCK 27
#define IDS_PROPERTY_COMMENT 28
-#define IDS_PROPERTY_POSITION 29
-
-// Next default values for new objects
-//
-#ifdef APSTUDIO_INVOKED
-#ifndef APSTUDIO_READONLY_SYMBOLS
-#define _APS_NEXT_RESOURCE_VALUE 157
-#define _APS_NEXT_COMMAND_VALUE 40001
-#define _APS_NEXT_CONTROL_VALUE 1002
-#define _APS_NEXT_SYMED_VALUE 101
-#endif
-#endif
+#define IDS_PROPERTY_POSITION 29
diff --git a/7zip/FileManager/Resource/PropertyName/resource.rc b/7zip/FileManager/Resource/PropertyName/resource.rc
index a40362a8..db04e236 100755
--- a/7zip/FileManager/Resource/PropertyName/resource.rc
+++ b/7zip/FileManager/Resource/PropertyName/resource.rc
@@ -1,104 +1,34 @@
-//Microsoft Developer Studio generated resource script.
-//
#include "resource.h"
-#define APSTUDIO_READONLY_SYMBOLS
-/////////////////////////////////////////////////////////////////////////////
-//
-// Generated from the TEXTINCLUDE 2 resource.
-//
-#include "afxres.h"
-
-/////////////////////////////////////////////////////////////////////////////
-#undef APSTUDIO_READONLY_SYMBOLS
-
-/////////////////////////////////////////////////////////////////////////////
-// Russian resources
-
-#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_RUS)
-#ifdef _WIN32
-LANGUAGE LANG_RUSSIAN, SUBLANG_DEFAULT
-#pragma code_page(1251)
-#endif //_WIN32
-
-#ifdef APSTUDIO_INVOKED
-/////////////////////////////////////////////////////////////////////////////
-//
-// TEXTINCLUDE
-//
-
-1 TEXTINCLUDE DISCARDABLE
-BEGIN
- "resource.h\0"
-END
-
-2 TEXTINCLUDE DISCARDABLE
-BEGIN
- "#include ""afxres.h""\r\n"
- "\0"
-END
-
-3 TEXTINCLUDE DISCARDABLE
-BEGIN
- "\0"
-END
-
-#endif // APSTUDIO_INVOKED
-
-#endif // Russian resources
-/////////////////////////////////////////////////////////////////////////////
-
-
-/////////////////////////////////////////////////////////////////////////////
-// English (U.S.) resources
-
-#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_ENU)
-#ifdef _WIN32
LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US
-#pragma code_page(1252)
-#endif //_WIN32
-
-/////////////////////////////////////////////////////////////////////////////
-//
-// String Table
-//
-STRINGTABLE DISCARDABLE
+STRINGTABLE
BEGIN
- IDS_PROPERTY_PATH "Path"
- IDS_PROPERTY_NAME "Name"
- IDS_PROPERTY_EXTENSION "Extension"
- IDS_PROPERTY_IS_FOLDER "Folder"
- IDS_PROPERTY_SIZE "Size"
- IDS_PROPERTY_PACKED_SIZE "Packed Size"
- IDS_PROPERTY_ATTRIBUTES "Attributes"
- IDS_PROPERTY_CREATION_TIME "Created"
- IDS_PROPERTY_LAST_ACCESS_TIME "Accessed"
- IDS_PROPERTY_LAST_WRITE_TIME "Modified"
- IDS_PROPERTY_SOLID "Solid"
- IDS_PROPERTY_C0MMENTED "Commented"
- IDS_PROPERTY_ENCRYPTED "Encrypted"
+ IDS_PROPERTY_PATH "Path"
+ IDS_PROPERTY_NAME "Name"
+ IDS_PROPERTY_EXTENSION "Extension"
+ IDS_PROPERTY_IS_FOLDER "Folder"
+ IDS_PROPERTY_SIZE "Size"
+ IDS_PROPERTY_PACKED_SIZE "Packed Size"
+ IDS_PROPERTY_ATTRIBUTES "Attributes"
+ IDS_PROPERTY_CREATION_TIME "Created"
+ IDS_PROPERTY_LAST_ACCESS_TIME "Accessed"
+ IDS_PROPERTY_LAST_WRITE_TIME "Modified"
+ IDS_PROPERTY_SOLID "Solid"
+ IDS_PROPERTY_C0MMENTED "Commented"
+ IDS_PROPERTY_ENCRYPTED "Encrypted"
+ IDS_PROPERTY_DICTIONARY_SIZE "Dictionary Size"
+ IDS_PROPERTY_SPLIT_BEFORE "Split Before"
+ IDS_PROPERTY_SPLIT_AFTER "Split After"
+ IDS_PROPERTY_CRC "CRC"
+ IDS_PROPERTY_FILE_TYPE "Type"
+ IDS_PROPERTY_ANTI "Anti"
+ IDS_PROPERTY_METHOD "Method"
+ IDS_PROPERTY_HOST_OS "Host OS"
+ IDS_PROPERTY_FILE_SYSTEM "File System"
+ IDS_PROPERTY_USER "User"
+ IDS_PROPERTY_GROUP "Group"
+ IDS_PROPERTY_BLOCK "Block"
+ IDS_PROPERTY_COMMENT "Comment"
+ IDS_PROPERTY_POSITION "Position"
END
-
-STRINGTABLE DISCARDABLE
-BEGIN
- IDS_PROPERTY_DICTIONARY_SIZE "Dictionary Size"
- IDS_PROPERTY_SPLIT_BEFORE "Split Before"
- IDS_PROPERTY_SPLIT_AFTER "Split After"
- IDS_PROPERTY_CRC "CRC"
- IDS_PROPERTY_FILE_TYPE "Type"
- IDS_PROPERTY_ANTI "Anti"
- IDS_PROPERTY_METHOD "Method"
- IDS_PROPERTY_HOST_OS "Host OS"
- IDS_PROPERTY_FILE_SYSTEM "File System"
- IDS_PROPERTY_USER "User"
- IDS_PROPERTY_GROUP "Group"
- IDS_PROPERTY_BLOCK "Block"
- IDS_PROPERTY_COMMENT "Comment"
- IDS_PROPERTY_POSITION "Position"
-END
-
-#endif // English (U.S.) resources
-/////////////////////////////////////////////////////////////////////////////
-
-
diff --git a/7zip/FileManager/Resource/SettingsPage/SettingsPage.cpp b/7zip/FileManager/Resource/SettingsPage/SettingsPage.cpp
index 656fc3eb..3150d3f1 100755
--- a/7zip/FileManager/Resource/SettingsPage/SettingsPage.cpp
+++ b/7zip/FileManager/Resource/SettingsPage/SettingsPage.cpp
@@ -21,7 +21,8 @@ static CIDLangPair kIDLangPairs[] =
{ IDC_SETTINGS_SHOW_REAL_FILE_ICONS, 0x03010402},
{ IDC_SETTINGS_SHOW_SYSTEM_MENU, 0x03010410},
{ IDC_SETTINGS_FULL_ROW, 0x03010420},
- { IDC_SETTINGS_SHOW_GRID, 0x03010421}
+ { IDC_SETTINGS_SHOW_GRID, 0x03010421},
+ { IDC_SETTINGS_ALTERNATIVE_SELECTION, 0x03010430},
// { IDC_SETTINGS_SINGLE_CLICK, 0x03010422},
// { IDC_SETTINGS_UNDERLINE, 0x03010423}
};
@@ -38,6 +39,7 @@ bool CSettingsPage::OnInit()
CheckButton(IDC_SETTINGS_FULL_ROW, ReadFullRow());
CheckButton(IDC_SETTINGS_SHOW_GRID, ReadShowGrid());
+ CheckButton(IDC_SETTINGS_ALTERNATIVE_SELECTION, ReadAlternativeSelection());
// CheckButton(IDC_SETTINGS_SINGLE_CLICK, ReadSingleClick());
// CheckButton(IDC_SETTINGS_UNDERLINE, ReadUnderline());
@@ -61,6 +63,7 @@ LONG CSettingsPage::OnApply()
SaveFullRow(IsButtonCheckedBool(IDC_SETTINGS_FULL_ROW));
SaveShowGrid(IsButtonCheckedBool(IDC_SETTINGS_SHOW_GRID));
+ SaveAlternativeSelection(IsButtonCheckedBool(IDC_SETTINGS_ALTERNATIVE_SELECTION));
// SaveSingleClick(IsButtonCheckedBool(IDC_SETTINGS_SINGLE_CLICK));
// SaveUnderline(IsButtonCheckedBool(IDC_SETTINGS_UNDERLINE));
@@ -87,6 +90,7 @@ bool CSettingsPage::OnButtonClicked(int buttonID, HWND buttonHWND)
case IDC_SETTINGS_SHOW_REAL_FILE_ICONS:
case IDC_SETTINGS_FULL_ROW:
case IDC_SETTINGS_SHOW_GRID:
+ case IDC_SETTINGS_ALTERNATIVE_SELECTION:
Changed();
return true;
}
diff --git a/7zip/FileManager/Resource/SettingsPage/StdAfx.h b/7zip/FileManager/Resource/SettingsPage/StdAfx.h
new file mode 100755
index 00000000..a444ca31
--- /dev/null
+++ b/7zip/FileManager/Resource/SettingsPage/StdAfx.h
@@ -0,0 +1,16 @@
+// stdafx.h
+
+#ifndef __STDAFX_H
+#define __STDAFX_H
+
+#define _WIN32_WINNT 0x0400
+
+// it's for Windows NT supporting (MENUITEMINFOW)
+#define WINVER 0x0400
+
+#include <windows.h>
+#include <commctrl.h>
+
+#include "Common/NewHandler.h"
+
+#endif
diff --git a/7zip/FileManager/Resource/SettingsPage/resource.h b/7zip/FileManager/Resource/SettingsPage/resource.h
index 1300d440..f74b00a7 100755
--- a/7zip/FileManager/Resource/SettingsPage/resource.h
+++ b/7zip/FileManager/Resource/SettingsPage/resource.h
@@ -1,23 +1,10 @@
-//{{NO_DEPENDENCIES}}
-// Microsoft Developer Studio generated include file.
-// Used by resource.rc
-//
#define IDD_SETTINGS 904
#define IDC_SETTINGS_SHOW_DOTS 1000
#define IDC_SETTINGS_SHOW_REAL_FILE_ICONS 1001
+
#define IDC_SETTINGS_SHOW_SYSTEM_MENU 1010
#define IDC_SETTINGS_FULL_ROW 1011
#define IDC_SETTINGS_SHOW_GRID 1013
#define IDC_SETTINGS_SINGLE_CLICK 1014
#define IDC_SETTINGS_UNDERLINE 1015
-
-// Next default values for new objects
-//
-#ifdef APSTUDIO_INVOKED
-#ifndef APSTUDIO_READONLY_SYMBOLS
-#define _APS_NEXT_RESOURCE_VALUE 135
-#define _APS_NEXT_COMMAND_VALUE 32771
-#define _APS_NEXT_CONTROL_VALUE 1011
-#define _APS_NEXT_SYMED_VALUE 101
-#endif
-#endif
+#define IDC_SETTINGS_ALTERNATIVE_SELECTION 1016
diff --git a/7zip/FileManager/Resource/SettingsPage/resource.rc b/7zip/FileManager/Resource/SettingsPage/resource.rc
index 021c59ba..20578774 100755
--- a/7zip/FileManager/Resource/SettingsPage/resource.rc
+++ b/7zip/FileManager/Resource/SettingsPage/resource.rc
@@ -1,112 +1,32 @@
-//Microsoft Developer Studio generated resource script.
-//
#include "resource.h"
+#include "../../../GuiCommon.rc"
-#define APSTUDIO_READONLY_SYMBOLS
-/////////////////////////////////////////////////////////////////////////////
-//
-// Generated from the TEXTINCLUDE 2 resource.
-//
-#include "afxres.h"
+#define xSize2 196
+#define ySize2 140
+#define xSize (xSize2 + marg + marg)
+#define ySize (ySize2 + marg + marg)
-/////////////////////////////////////////////////////////////////////////////
-#undef APSTUDIO_READONLY_SYMBOLS
-/////////////////////////////////////////////////////////////////////////////
-// Russian resources
-
-#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_RUS)
-#ifdef _WIN32
-LANGUAGE LANG_RUSSIAN, SUBLANG_DEFAULT
-#pragma code_page(1251)
-#endif //_WIN32
-
-#ifdef APSTUDIO_INVOKED
-/////////////////////////////////////////////////////////////////////////////
-//
-// TEXTINCLUDE
-//
-
-1 TEXTINCLUDE DISCARDABLE
-BEGIN
- "resource.h\0"
-END
-
-2 TEXTINCLUDE DISCARDABLE
-BEGIN
- "#include ""afxres.h""\r\n"
- "\0"
-END
-
-3 TEXTINCLUDE DISCARDABLE
-BEGIN
- "\0"
-END
-
-#endif // APSTUDIO_INVOKED
-
-#endif // Russian resources
-/////////////////////////////////////////////////////////////////////////////
-
-
-/////////////////////////////////////////////////////////////////////////////
-// English (U.S.) resources
-
-#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_ENU)
-#ifdef _WIN32
-LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US
-#pragma code_page(1252)
-#endif //_WIN32
-
-/////////////////////////////////////////////////////////////////////////////
-//
-// Dialog
-//
-
-IDD_SETTINGS DIALOG DISCARDABLE 0, 0, 210, 154
-STYLE DS_FIXEDSYS | WS_CHILD | WS_DISABLED | WS_CAPTION
+IDD_SETTINGS DIALOG 0, 0, xSize, ySize MY_PAGE_STYLE
CAPTION "Settings"
-FONT 8, "MS Shell Dlg"
+MY_FONT
BEGIN
- CONTROL "Show "".."" item",IDC_SETTINGS_SHOW_DOTS,"Button",
- BS_AUTOCHECKBOX | WS_TABSTOP,7,7,196,10
- CONTROL "Show real file &icons",
- IDC_SETTINGS_SHOW_REAL_FILE_ICONS,"Button",
- BS_AUTOCHECKBOX | WS_TABSTOP,7,21,196,10
- CONTROL "Show system &menu",IDC_SETTINGS_SHOW_SYSTEM_MENU,"Button",
- BS_AUTOCHECKBOX | WS_TABSTOP,7,35,196,10
- CONTROL "&Full row select",IDC_SETTINGS_FULL_ROW,"Button",
- BS_AUTOCHECKBOX | WS_TABSTOP,7,63,196,10
- CONTROL "Show &grid lines",IDC_SETTINGS_SHOW_GRID,"Button",
- BS_AUTOCHECKBOX | WS_TABSTOP,7,77,196,10
- CONTROL "&Single-click to open an item",
- IDC_SETTINGS_SINGLE_CLICK,"Button",BS_AUTOCHECKBOX | NOT
- WS_VISIBLE | WS_TABSTOP,7,91,196,10
- CONTROL "&Underline current name",IDC_SETTINGS_UNDERLINE,"Button",
- BS_AUTOCHECKBOX | NOT WS_VISIBLE | WS_TABSTOP,19,105,184,
- 10
-END
+ CONTROL "Show "".."" item", IDC_SETTINGS_SHOW_DOTS, "Button", BS_AUTOCHECKBOX | WS_TABSTOP,
+ marg, marg, xSize2, 10
+ CONTROL "Show real file &icons", IDC_SETTINGS_SHOW_REAL_FILE_ICONS, "Button", BS_AUTOCHECKBOX | WS_TABSTOP,
+ marg, 21, xSize2, 10
+ CONTROL "Show system &menu", IDC_SETTINGS_SHOW_SYSTEM_MENU, "Button", BS_AUTOCHECKBOX | WS_TABSTOP,
+ marg, 35, xSize2, 10
+ CONTROL "&Full row select", IDC_SETTINGS_FULL_ROW, "Button", BS_AUTOCHECKBOX | WS_TABSTOP,
+ marg, 63, xSize2, 10
+ CONTROL "Show &grid lines", IDC_SETTINGS_SHOW_GRID, "Button", BS_AUTOCHECKBOX | WS_TABSTOP,
+ marg, 77, xSize2, 10
+ CONTROL "&Single-click to open an item", IDC_SETTINGS_SINGLE_CLICK, "Button", BS_AUTOCHECKBOX | NOT WS_VISIBLE | WS_TABSTOP,
+ marg, 91, xSize2, 10
+ CONTROL "&Underline current name", IDC_SETTINGS_UNDERLINE, "Button", BS_AUTOCHECKBOX | NOT WS_VISIBLE | WS_TABSTOP,
+ marg + 12, 105, xSize2 - 12, 10
+
+ CONTROL "&Alternative selection mode", IDC_SETTINGS_ALTERNATIVE_SELECTION, "Button", BS_AUTOCHECKBOX | WS_TABSTOP,
+ marg, 122, xSize2, 10
-
-/////////////////////////////////////////////////////////////////////////////
-//
-// DESIGNINFO
-//
-
-#ifdef APSTUDIO_INVOKED
-GUIDELINES DESIGNINFO DISCARDABLE
-BEGIN
- IDD_SETTINGS, DIALOG
- BEGIN
- LEFTMARGIN, 7
- RIGHTMARGIN, 203
- TOPMARGIN, 7
- BOTTOMMARGIN, 147
- END
END
-#endif // APSTUDIO_INVOKED
-
-#endif // English (U.S.) resources
-/////////////////////////////////////////////////////////////////////////////
-
-
diff --git a/7zip/FileManager/Resource/SplitDialog/StdAfx.h b/7zip/FileManager/Resource/SplitDialog/StdAfx.h
new file mode 100755
index 00000000..3f82c0c2
--- /dev/null
+++ b/7zip/FileManager/Resource/SplitDialog/StdAfx.h
@@ -0,0 +1,18 @@
+// stdafx.h
+
+#ifndef __STDAFX_H
+#define __STDAFX_H
+
+#define _WIN32_WINNT 0x0400
+
+// it's for Windows NT supporting (MENUITEMINFOW)
+#define WINVER 0x0400
+
+#include <windows.h>
+#include <commctrl.h>
+
+// #define WIN32_LEAN_AND_MEAN // Exclude rarely-used stuff from Windows headers
+
+#include "Common/NewHandler.h"
+
+#endif
diff --git a/7zip/FileManager/Resource/SplitDialog/resource.h b/7zip/FileManager/Resource/SplitDialog/resource.h
index 9553f775..478dc0aa 100755
--- a/7zip/FileManager/Resource/SplitDialog/resource.h
+++ b/7zip/FileManager/Resource/SplitDialog/resource.h
@@ -1,21 +1,6 @@
-//{{NO_DEPENDENCIES}}
-// Microsoft Developer Studio generated include file.
-// Used by resource.rc
-//
#define IDD_DIALOG_SPLIT 504
#define IDC_STATIC_SPLIT_PATH 1000
#define IDC_COMBO_SPLIT_PATH 1001
#define IDC_BUTTON_SPLIT_PATH 1002
#define IDC_STATIC_SPLIT_VOLUME 1010
#define IDC_COMBO_SPLIT_VOLUME 1011
-
-// Next default values for new objects
-//
-#ifdef APSTUDIO_INVOKED
-#ifndef APSTUDIO_READONLY_SYMBOLS
-#define _APS_NEXT_RESOURCE_VALUE 157
-#define _APS_NEXT_COMMAND_VALUE 40001
-#define _APS_NEXT_CONTROL_VALUE 1004
-#define _APS_NEXT_SYMED_VALUE 101
-#endif
-#endif
diff --git a/7zip/FileManager/Resource/SplitDialog/resource.rc b/7zip/FileManager/Resource/SplitDialog/resource.rc
index 1fa17e7c..68e259c2 100755
--- a/7zip/FileManager/Resource/SplitDialog/resource.rc
+++ b/7zip/FileManager/Resource/SplitDialog/resource.rc
@@ -1,106 +1,27 @@
-//Microsoft Developer Studio generated resource script.
-//
#include "resource.h"
+#include "../../../GuiCommon.rc"
-#define APSTUDIO_READONLY_SYMBOLS
-/////////////////////////////////////////////////////////////////////////////
-//
-// Generated from the TEXTINCLUDE 2 resource.
-//
-#include "afxres.h"
+#define xSize2 223
+#define ySize2 89
-/////////////////////////////////////////////////////////////////////////////
-#undef APSTUDIO_READONLY_SYMBOLS
+#define xSize (xSize2 + marg + marg)
+#define ySize (ySize2 + marg + marg)
-/////////////////////////////////////////////////////////////////////////////
-// Russian resources
+#define bYPos (ySize - marg - bYSize)
+#define b1XPos (xSize - marg - bXSize)
+#define b2XPos (b1XPos - 10 - bXSize)
-#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_RUS)
-#ifdef _WIN32
-LANGUAGE LANG_RUSSIAN, SUBLANG_DEFAULT
-#pragma code_page(1251)
-#endif //_WIN32
-#ifdef APSTUDIO_INVOKED
-/////////////////////////////////////////////////////////////////////////////
-//
-// TEXTINCLUDE
-//
-1 TEXTINCLUDE DISCARDABLE
-BEGIN
- "resource.h\0"
-END
-
-2 TEXTINCLUDE DISCARDABLE
-BEGIN
- "#include ""afxres.h""\r\n"
- "\0"
-END
-
-3 TEXTINCLUDE DISCARDABLE
-BEGIN
- "\0"
-END
-
-#endif // APSTUDIO_INVOKED
-
-#endif // Russian resources
-/////////////////////////////////////////////////////////////////////////////
-
-
-/////////////////////////////////////////////////////////////////////////////
-// English (U.S.) resources
-
-#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_ENU)
-#ifdef _WIN32
-LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US
-#pragma code_page(1252)
-#endif //_WIN32
-
-/////////////////////////////////////////////////////////////////////////////
-//
-// Dialog
-//
-
-IDD_DIALOG_SPLIT DIALOG DISCARDABLE 0, 0, 237, 103
-STYLE DS_MODALFRAME | DS_FIXEDSYS | DS_CENTER | WS_POPUP | WS_CAPTION |
- WS_SYSMENU
+IDD_DIALOG_SPLIT DIALOG 0, 0, xSize, ySize MY_MODAL_DIALOG_STYLE
CAPTION "Split File"
-FONT 8, "MS Shell Dlg"
+MY_FONT
BEGIN
- LTEXT "&Split to:",IDC_STATIC_SPLIT_PATH,7,7,223,8
- COMBOBOX IDC_COMBO_SPLIT_PATH,7,18,193,126,CBS_DROPDOWN |
- CBS_AUTOHSCROLL | WS_VSCROLL | WS_TABSTOP
- PUSHBUTTON "...",IDC_BUTTON_SPLIT_PATH,210,17,20,14,WS_GROUP
- LTEXT "Split to &volumes, bytes:",IDC_STATIC_SPLIT_VOLUME,7,38,
- 223,8
- COMBOBOX IDC_COMBO_SPLIT_VOLUME,7,50,120,52,CBS_DROPDOWN |
- CBS_AUTOHSCROLL | WS_VSCROLL | WS_TABSTOP
- DEFPUSHBUTTON "OK",IDOK,91,82,64,14
- PUSHBUTTON "Cancel",IDCANCEL,166,82,64,14
+ LTEXT "&Split to:", IDC_STATIC_SPLIT_PATH, marg, marg, xSize2, 8
+ COMBOBOX IDC_COMBO_SPLIT_PATH, marg, 18, xSize2 - bDotsSize - 12, 126, CBS_DROPDOWN | CBS_AUTOHSCROLL | WS_VSCROLL | WS_TABSTOP
+ PUSHBUTTON "...", IDC_BUTTON_SPLIT_PATH, xSize - marg - bDotsSize, 17, bDotsSize, bYSize, WS_GROUP
+ LTEXT "Split to &volumes, bytes:", IDC_STATIC_SPLIT_VOLUME, marg, 38, xSize2, 8
+ COMBOBOX IDC_COMBO_SPLIT_VOLUME, marg, 50, 120, 52, CBS_DROPDOWN | CBS_AUTOHSCROLL | WS_VSCROLL | WS_TABSTOP
+ DEFPUSHBUTTON "OK", IDOK, b2XPos, bYPos, bXSize, bYSize
+ PUSHBUTTON "Cancel", IDCANCEL, b1XPos, bYPos, bXSize, bYSize
END
-
-
-/////////////////////////////////////////////////////////////////////////////
-//
-// DESIGNINFO
-//
-
-#ifdef APSTUDIO_INVOKED
-GUIDELINES DESIGNINFO DISCARDABLE
-BEGIN
- IDD_DIALOG_SPLIT, DIALOG
- BEGIN
- LEFTMARGIN, 7
- RIGHTMARGIN, 230
- TOPMARGIN, 7
- BOTTOMMARGIN, 96
- END
-END
-#endif // APSTUDIO_INVOKED
-
-#endif // English (U.S.) resources
-/////////////////////////////////////////////////////////////////////////////
-
-
diff --git a/7zip/FileManager/Resource/SystemPage/StdAfx.h b/7zip/FileManager/Resource/SystemPage/StdAfx.h
new file mode 100755
index 00000000..a444ca31
--- /dev/null
+++ b/7zip/FileManager/Resource/SystemPage/StdAfx.h
@@ -0,0 +1,16 @@
+// stdafx.h
+
+#ifndef __STDAFX_H
+#define __STDAFX_H
+
+#define _WIN32_WINNT 0x0400
+
+// it's for Windows NT supporting (MENUITEMINFOW)
+#define WINVER 0x0400
+
+#include <windows.h>
+#include <commctrl.h>
+
+#include "Common/NewHandler.h"
+
+#endif
diff --git a/7zip/FileManager/Resource/SystemPage/SystemPage.cpp b/7zip/FileManager/Resource/SystemPage/SystemPage.cpp
index 6860d942..133ba7d1 100755
--- a/7zip/FileManager/Resource/SystemPage/SystemPage.cpp
+++ b/7zip/FileManager/Resource/SystemPage/SystemPage.cpp
@@ -26,7 +26,8 @@ const int kUpdateDatabase = kRefreshpluginsListMessage + 1;
static CIDLangPair kIDLangPairs[] =
{
- { IDC_SYSTEM_STATIC_ASSOCIATE, 0x03010302}
+ { IDC_SYSTEM_STATIC_ASSOCIATE, 0x03010302},
+ { IDC_SYSTEM_SELECT_ALL, 0x03000330}
};
static LPCWSTR kSystemTopic = L"FM/options.htm#system";
@@ -115,6 +116,7 @@ void CSystemPage::SetMainPluginText(int itemIndex, int indexInDatabase)
_listViewExt.SetItem(&item);
}
+#ifndef _WIN64
static bool IsItWindowsNT()
{
OSVERSIONINFO versionInfo;
@@ -123,6 +125,7 @@ static bool IsItWindowsNT()
return false;
return (versionInfo.dwPlatformId == VER_PLATFORM_WIN32_NT);
}
+#endif
static UString GetProgramCommand()
{
@@ -130,11 +133,12 @@ static UString GetProgramCommand()
UString folder;
if (GetProgramFolderPath(folder))
path += folder;
+ path += L"7zFM";
+ #ifndef _WIN64
if (IsItWindowsNT())
- path += L"7zFMn.exe";
- else
- path += L"7zFM.exe";
- path += L"\" \"%1\"";
+ path += L"n";
+ #endif
+ path += L".exe\" \"%1\"";
return path;
}
@@ -174,6 +178,7 @@ static CSysString GetIconPath(const CSysString &filePath,
LONG CSystemPage::OnApply()
{
+ UpdateDatabase();
_extDatabase.Save();
UString command = GetProgramCommand();
@@ -214,13 +219,24 @@ void CSystemPage::OnNotifyHelp()
ShowHelpWindow(NULL, kSystemTopic);
}
+void CSystemPage::SelectAll()
+{
+ int count = _listViewExt.GetItemCount();
+ for (int i = 0; i < count; i++)
+ _listViewExt.SetCheckState(i, true);
+ UpdateDatabase();
+}
+
bool CSystemPage::OnButtonClicked(int buttonID, HWND buttonHWND)
{
switch(buttonID)
{
- case IDC_SYSTEM_INTEGRATE_TO_CONTEXT_MENU:
+ case IDC_SYSTEM_SELECT_ALL:
+ {
+ SelectAll();
Changed();
return true;
+ }
}
return CPropertyPage::OnButtonClicked(buttonID, buttonHWND);
}
@@ -332,7 +348,7 @@ bool CSystemPage::OnItemChanged(const NMLISTVIEW *info)
return true;
}
-bool CSystemPage::OnMessage(UINT message, UINT wParam, LPARAM lParam)
+bool CSystemPage::OnMessage(UINT message, WPARAM wParam, LPARAM lParam)
{
switch(message)
{
diff --git a/7zip/FileManager/Resource/SystemPage/SystemPage.h b/7zip/FileManager/Resource/SystemPage/SystemPage.h
index 25994b89..3798f640 100755
--- a/7zip/FileManager/Resource/SystemPage/SystemPage.h
+++ b/7zip/FileManager/Resource/SystemPage/SystemPage.h
@@ -23,9 +23,10 @@ class CSystemPage: public NWindows::NControl::CPropertyPage
void RefreshPluginsList(int selectIndex);
void MovePlugin(bool upDirection);
void UpdateDatabase();
+ void SelectAll();
public:
- virtual bool OnMessage(UINT message, UINT wParam, LPARAM lParam);
+ virtual bool OnMessage(UINT message, WPARAM wParam, LPARAM lParam);
virtual bool OnInit();
virtual void OnNotifyHelp();
virtual bool OnNotify(UINT controlID, LPNMHDR lParam);
diff --git a/7zip/FileManager/Resource/SystemPage/resource.h b/7zip/FileManager/Resource/SystemPage/resource.h
index e2606899..8dce778b 100755
--- a/7zip/FileManager/Resource/SystemPage/resource.h
+++ b/7zip/FileManager/Resource/SystemPage/resource.h
@@ -1,21 +1,7 @@
-//{{NO_DEPENDENCIES}}
-// Microsoft Developer Studio generated include file.
-// Used by resource.rc
-//
#define IDD_SYSTEM 902
#define IDS_PLUGIN 990
-#define IDC_SYSTEM_INTEGRATE_TO_CONTEXT_MENU 1010
+// #define IDC_SYSTEM_INTEGRATE_TO_CONTEXT_MENU 1010
#define IDC_SYSTEM_STATIC_ASSOCIATE 1020
#define IDC_SYSTEM_LIST_ASSOCIATE 1021
#define IDC_SYSTEM_LIST_PLUGINS 1022
-
-// Next default values for new objects
-//
-#ifdef APSTUDIO_INVOKED
-#ifndef APSTUDIO_READONLY_SYMBOLS
-#define _APS_NEXT_RESOURCE_VALUE 135
-#define _APS_NEXT_COMMAND_VALUE 32771
-#define _APS_NEXT_CONTROL_VALUE 1022
-#define _APS_NEXT_SYMED_VALUE 101
-#endif
-#endif
+#define IDC_SYSTEM_SELECT_ALL 1023
diff --git a/7zip/FileManager/Resource/SystemPage/resource.rc b/7zip/FileManager/Resource/SystemPage/resource.rc
index 9158e701..4d3b3b12 100755
--- a/7zip/FileManager/Resource/SystemPage/resource.rc
+++ b/7zip/FileManager/Resource/SystemPage/resource.rc
@@ -1,115 +1,31 @@
-//Microsoft Developer Studio generated resource script.
-//
#include "resource.h"
+#include "../../../GuiCommon.rc"
-#define APSTUDIO_READONLY_SYMBOLS
-/////////////////////////////////////////////////////////////////////////////
-//
-// Generated from the TEXTINCLUDE 2 resource.
-//
-#include "afxres.h"
+#define xSize2 238
+#define ySize2 204
+#define xSize (xSize2 + marg + marg)
+#define ySize (ySize2 + marg + marg)
+#define gSpace 30
+#define g0Size 105
+#define gYSize (ySize2 - 20 - bYSize)
-/////////////////////////////////////////////////////////////////////////////
-#undef APSTUDIO_READONLY_SYMBOLS
-/////////////////////////////////////////////////////////////////////////////
-// Russian resources
-
-#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_RUS)
-#ifdef _WIN32
-LANGUAGE LANG_RUSSIAN, SUBLANG_DEFAULT
-#pragma code_page(1251)
-#endif //_WIN32
-
-#ifdef APSTUDIO_INVOKED
-/////////////////////////////////////////////////////////////////////////////
-//
-// TEXTINCLUDE
-//
-
-1 TEXTINCLUDE DISCARDABLE
-BEGIN
- "resource.h\0"
-END
-
-2 TEXTINCLUDE DISCARDABLE
-BEGIN
- "#include ""afxres.h""\r\n"
- "\0"
-END
-
-3 TEXTINCLUDE DISCARDABLE
-BEGIN
- "\0"
-END
-
-#endif // APSTUDIO_INVOKED
-
-#endif // Russian resources
-/////////////////////////////////////////////////////////////////////////////
-
-
-/////////////////////////////////////////////////////////////////////////////
-// English (U.S.) resources
-
-#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_ENU)
-#ifdef _WIN32
-LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US
-#pragma code_page(1252)
-#endif //_WIN32
-
-/////////////////////////////////////////////////////////////////////////////
-//
-// Dialog
-//
-
-IDD_SYSTEM DIALOG DISCARDABLE 0, 0, 252, 218
-STYLE DS_FIXEDSYS | WS_CHILD | WS_DISABLED | WS_CAPTION
+IDD_SYSTEM DIALOG 0, 0, xSize, ySize MY_PAGE_STYLE
CAPTION "System"
-FONT 8, "MS Shell Dlg"
+MY_FONT
BEGIN
- LTEXT "Associate 7-Zip with:",IDC_SYSTEM_STATIC_ASSOCIATE,7,7,
- 238,8
- CONTROL "List1",IDC_SYSTEM_LIST_ASSOCIATE,"SysListView32",
- LVS_REPORT | LVS_SHOWSELALWAYS | LVS_SORTASCENDING |
- WS_BORDER | WS_TABSTOP,7,20,105,186
- CONTROL "List1",IDC_SYSTEM_LIST_PLUGINS,"SysListView32",
- LVS_REPORT | LVS_SINGLESEL | LVS_SHOWSELALWAYS | NOT
- WS_VISIBLE | WS_BORDER | WS_TABSTOP,143,20,102,186
-END
-
-
-/////////////////////////////////////////////////////////////////////////////
-//
-// DESIGNINFO
-//
+ LTEXT "Associate 7-Zip with:", IDC_SYSTEM_STATIC_ASSOCIATE, marg, marg, xSize2, 8
+ CONTROL "List1", IDC_SYSTEM_LIST_ASSOCIATE, "SysListView32",
+ LVS_REPORT | LVS_SHOWSELALWAYS | LVS_SORTASCENDING | WS_BORDER | WS_TABSTOP,
+ marg, 20, g0Size, gYSize
+ CONTROL "List1", IDC_SYSTEM_LIST_PLUGINS, "SysListView32",
+ LVS_REPORT | LVS_SINGLESEL | LVS_SHOWSELALWAYS | NOT WS_VISIBLE | WS_BORDER | WS_TABSTOP,
+ marg + g0Size + gSpace, 20, xSize2 - gSpace - g0Size, gYSize
+ PUSHBUTTON "Select all", IDC_SYSTEM_SELECT_ALL, marg, (ySize - marg - bYSize), 90, bYSize
-#ifdef APSTUDIO_INVOKED
-GUIDELINES DESIGNINFO DISCARDABLE
-BEGIN
- IDD_SYSTEM, DIALOG
- BEGIN
- LEFTMARGIN, 7
- RIGHTMARGIN, 245
- TOPMARGIN, 7
- BOTTOMMARGIN, 211
- HORZGUIDE, 25
- END
END
-#endif // APSTUDIO_INVOKED
-
-
-/////////////////////////////////////////////////////////////////////////////
-//
-// String Table
-//
-STRINGTABLE DISCARDABLE
+STRINGTABLE
BEGIN
- IDS_PLUGIN "Plugin"
+ IDS_PLUGIN "Plugin"
END
-
-#endif // English (U.S.) resources
-/////////////////////////////////////////////////////////////////////////////
-
-
diff --git a/7zip/FileManager/SplitUtils.cpp b/7zip/FileManager/SplitUtils.cpp
index 350b672b..b8fb5948 100755
--- a/7zip/FileManager/SplitUtils.cpp
+++ b/7zip/FileManager/SplitUtils.cpp
@@ -62,4 +62,5 @@ void AddVolumeItems(NWindows::NControl::CComboBox &volumeCombo)
volumeCombo.AddString(TEXT("1457664 - 3.5\" floppy"));
volumeCombo.AddString(TEXT("650M - CD"));
volumeCombo.AddString(TEXT("700M - CD"));
+ volumeCombo.AddString(TEXT("4480M - DVD"));
}
diff --git a/7zip/FileManager/makefile b/7zip/FileManager/makefile
new file mode 100755
index 00000000..63f1ead8
--- /dev/null
+++ b/7zip/FileManager/makefile
@@ -0,0 +1,173 @@
+PROG = 7zFM.exe
+LIBS = $(LIBS) user32.lib oleaut32.lib advapi32.lib shell32.lib ole32.lib comctl32.lib htmlhelp.lib Mpr.lib Gdi32.lib comdlg32.lib
+CFLAGS = $(CFLAGS) -I../../ -DLANG
+
+FM_OBJS = \
+ $O\App.obj \
+ $O\ClassDefs.obj \
+ $O\EnumFormatEtc.obj \
+ $O\ExtractCallback.obj \
+ $O\FileFolderPluginOpen.obj \
+ $O\FilePlugins.obj \
+ $O\FM.obj \
+ $O\FormatUtils.obj \
+ $O\FSDrives.obj \
+ $O\FSFolder.obj \
+ $O\FSFolderCopy.obj \
+ $O\HelpUtils.obj \
+ $O\LangUtils.obj \
+ $O\MyLoadMenu.obj \
+ $O\NetFolder.obj \
+ $O\OpenCallback.obj \
+ $O\OptionsDialog.obj \
+ $O\Panel.obj \
+ $O\PanelCopy.obj \
+ $O\PanelDrag.obj \
+ $O\PanelFolderChange.obj \
+ $O\PanelItemOpen.obj \
+ $O\PanelItems.obj \
+ $O\PanelKey.obj \
+ $O\PanelListNotify.obj \
+ $O\PanelMenu.obj \
+ $O\PanelOperations.obj \
+ $O\PanelSelect.obj \
+ $O\PanelSort.obj \
+ $O\PanelSplitFile.obj \
+ $O\ProgramLocation.obj \
+ $O\PropertyName.obj \
+ $O\RegistryAssociations.obj \
+ $O\RegistryPlugins.obj \
+ $O\RegistryUtils.obj \
+ $O\RootFolder.obj \
+ $O\SplitUtils.obj \
+ $O\StringUtils.obj \
+ $O\SysIconUtils.obj \
+ $O\TextPairs.obj \
+ $O\UpdateCallback100.obj \
+ $O\ViewSettings.obj \
+
+COMMON_OBJS = \
+ $O\Alloc.obj \
+ $O\CRC.obj \
+ $O\IntToString.obj \
+ $O\Lang.obj \
+ $O\ListFileUtils.obj \
+ $O\NewHandler.obj \
+ $O\Random.obj \
+ $O\StdInStream.obj \
+ $O\StdOutStream.obj \
+ $O\String.obj \
+ $O\StringConvert.obj \
+ $O\StringToInt.obj \
+ $O\TextConfig.obj \
+ $O\UTFConvert.obj \
+ $O\Vector.obj \
+ $O\Wildcard.obj \
+
+WIN_OBJS = \
+ $O\DLL.obj \
+ $O\Error.obj \
+ $O\FileDir.obj \
+ $O\FileFind.obj \
+ $O\FileIO.obj \
+ $O\FileName.obj \
+ $O\FileSystem.obj \
+ $O\Memory.obj \
+ $O\Net.obj \
+ $O\PropVariant.obj \
+ $O\PropVariantConversions.obj \
+ $O\Registry.obj \
+ $O\ResourceString.obj \
+ $O\Shell.obj \
+ $O\Synchronization.obj \
+ $O\Window.obj \
+
+WIN_CTRL_OBJS = \
+ $O\ComboBox.obj \
+ $O\Dialog.obj \
+ $O\ListView.obj \
+ $O\PropertyPage.obj \
+ $O\Window2.obj \
+
+7ZIP_COMMON_OBJS = \
+ $O\FilePathAutoRename.obj \
+ $O\FileStreams.obj \
+ $O\StreamObjects.obj \
+
+UI_COMMON_OBJS = \
+ $O\ArchiveName.obj \
+ $O\CompressCall.obj \
+ $O\PropIDUtils.obj \
+
+OBJS = \
+ $O\StdAfx.obj \
+ $(FM_OBJS)\
+ $(COMMON_OBJS) \
+ $(WIN_OBJS) \
+ $(WIN_CTRL_OBJS) \
+ $(7ZIP_COMMON_OBJS) \
+ $(UI_COMMON_OBJS) \
+ $O\AboutDialog.obj \
+ $O\BenchmarkDialog.obj \
+ $O\ComboDialog.obj \
+ $O\CopyDialog.obj \
+ $O\EditPage.obj \
+ $O\LangPage.obj \
+ $O\ListViewDialog.obj \
+ $O\MessagesDialog.obj \
+ $O\OverwriteDialog.obj \
+ $O\PasswordDialog.obj \
+ $O\PluginsPage.obj \
+ $O\ProgressDialog.obj \
+ $O\SettingsPage.obj \
+ $O\SplitDialog.obj \
+ $O\SystemPage.obj \
+ $O\resource.res \
+
+!include "../../Build.mak"
+
+$(FM_OBJS): $(*B).cpp
+ $(COMPL)
+$(COMMON_OBJS): ../../Common/$(*B).cpp
+ $(COMPL)
+$(WIN_OBJS): ../../Windows/$(*B).cpp
+ $(COMPL)
+$(WIN_CTRL_OBJS): ../../Windows/Control/$(*B).cpp
+ $(COMPL)
+$(7ZIP_COMMON_OBJS): ../Common/$(*B).cpp
+ $(COMPL)
+$(UI_COMMON_OBJS): ../UI/Common/$(*B).cpp
+ $(COMPL)
+
+$O\AboutDialog.obj: Resource/AboutDialog/AboutDialog.cpp
+ $(COMPL)
+$O\BenchmarkDialog.obj: Resource/BenchmarkDialog/BenchmarkDialog.cpp
+ $(COMPL)
+$O\ComboDialog.obj: Resource/ComboDialog/ComboDialog.cpp
+ $(COMPL)
+$O\CopyDialog.obj: Resource/CopyDialog/CopyDialog.cpp
+ $(COMPL)
+$O\EditPage.obj: Resource/EditPage/EditPage.cpp
+ $(COMPL)
+$O\LangPage.obj: Resource/LangPage/LangPage.cpp
+ $(COMPL)
+$O\ListViewDialog.obj: Resource/ListViewDialog/ListViewDialog.cpp
+ $(COMPL)
+$O\MessagesDialog.obj: Resource/MessagesDialog/MessagesDialog.cpp
+ $(COMPL)
+$O\OverwriteDialog.obj: Resource/OverwriteDialog/OverwriteDialog.cpp
+ $(COMPL)
+$O\PasswordDialog.obj: Resource/PasswordDialog/PasswordDialog.cpp
+ $(COMPL)
+$O\PluginsPage.obj: Resource/PluginsPage/PluginsPage.cpp
+ $(COMPL)
+$O\ProgressDialog.obj: Resource/ProgressDialog2/ProgressDialog.cpp
+ $(COMPL)
+$O\SettingsPage.obj: Resource/SettingsPage/SettingsPage.cpp
+ $(COMPL)
+$O\SplitDialog.obj: Resource/SplitDialog/SplitDialog.cpp
+ $(COMPL)
+$O\SystemPage.obj: Resource/SystemPage/SystemPage.cpp
+ $(COMPL)
+
+
diff --git a/7zip/FileManager/resource.h b/7zip/FileManager/resource.h
index 5aade245..2f76f1e4 100755
--- a/7zip/FileManager/resource.h
+++ b/7zip/FileManager/resource.h
@@ -1,7 +1,3 @@
-//{{NO_DEPENDENCIES}}
-// Microsoft Developer Studio generated include file.
-// Used by resource.rc
-//
#define IDI_FAM 101
#define IDI_FM 101
#define IDR_MENUBAR1 103
@@ -79,6 +75,7 @@
#define IDS_MOVING 2206
#define IDS_CANNOT_COPY 2207
#define IDS_OPERATION_IS_NOT_SUPPORTED 2208
+
#define IDS_CONFIRM_FILE_DELETE 2210
#define IDS_CONFIRM_FOLDER_DELETE 2211
#define IDS_CONFIRM_ITEMS_DELETE 2212
@@ -87,8 +84,13 @@
#define IDS_WANT_TO_DELETE_ITEMS 2215
#define IDS_DELETING 2216
#define IDS_ERROR_DELETING 2217
+
#define IDS_RENAMING 2220
#define IDS_ERROR_RENAMING 2221
+#define IDS_CONFIRM_FILE_COPY 2222
+#define IDS_WANT_TO_COPY_FILES 2223
+
+
#define IDS_CREATE_FOLDER 2230
#define IDS_CREATE_FOLDER_NAME 2231
#define IDS_CREATE_FOLDER_DEFAULT_NAME 2232
@@ -132,14 +134,3 @@
#define IDS_COMBINE 4030
#define IDS_COMBINE_TO 4031
#define IDS_COMBINING 4032
-
-// Next default values for new objects
-//
-#ifdef APSTUDIO_INVOKED
-#ifndef APSTUDIO_READONLY_SYMBOLS
-#define _APS_NEXT_RESOURCE_VALUE 4030
-#define _APS_NEXT_COMMAND_VALUE 40080
-#define _APS_NEXT_CONTROL_VALUE 3000
-#define _APS_NEXT_SYMED_VALUE 4010
-#endif
-#endif
diff --git a/7zip/FileManager/resource.rc b/7zip/FileManager/resource.rc
index 80467bb1..1f8946e3 100755
--- a/7zip/FileManager/resource.rc
+++ b/7zip/FileManager/resource.rc
@@ -1,430 +1,212 @@
-//Microsoft Developer Studio generated resource script.
-//
+#include "../MyVersionInfo.rc"
+#include "../GuiCommon.rc"
#include "resource.h"
-#define APSTUDIO_READONLY_SYMBOLS
-/////////////////////////////////////////////////////////////////////////////
-//
-// Generated from the TEXTINCLUDE 2 resource.
-//
-#include "afxres.h"
-
-/////////////////////////////////////////////////////////////////////////////
-#undef APSTUDIO_READONLY_SYMBOLS
-
-/////////////////////////////////////////////////////////////////////////////
-// Russian resources
-
-#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_RUS)
-#ifdef _WIN32
-LANGUAGE LANG_RUSSIAN, SUBLANG_DEFAULT
-#pragma code_page(1251)
-#endif //_WIN32
-
-#ifdef APSTUDIO_INVOKED
-/////////////////////////////////////////////////////////////////////////////
-//
-// TEXTINCLUDE
-//
-
-1 TEXTINCLUDE DISCARDABLE
-BEGIN
- "resource.h\0"
-END
-
-2 TEXTINCLUDE DISCARDABLE
-BEGIN
- "#include ""afxres.h""\r\n"
- "\0"
-END
-
-3 TEXTINCLUDE DISCARDABLE
-BEGIN
- "#include ""Resource\\ComboDialog\\resource.rc""\r\n"
- "#include ""Resource\\CopyDialog\\resource.rc""\r\n"
- "#include ""Resource\\ListViewDialog\\resource.rc""\r\n"
- "#include ""Resource\\PropertyName\\resource.rc""\r\n"
- "#include ""Resource\\MessagesDialog\\resource.rc""\r\n"
- "#include ""Resource\\OverwriteDialog\\resource.rc""\r\n"
- "#include ""Resource\\PasswordDialog\\resource.rc""\r\n"
- "#include ""Resource\\SplitDialog\\resource.rc""\r\n"
- "#include ""Resource\\ProgressDialog2\\resource.rc""\r\n"
- "#include ""Resource\\BenchmarkDialog\\resource.rc""\r\n"
- "#include ""Resource\\AboutDialog\\resource.rc""\r\n"
- "#include ""Resource\\LangPage\\resource.rc""\r\n"
- "#include ""Resource\\PluginsPage\\resource.rc""\r\n"
- "#include ""Resource\\SystemPage\\resource.rc""\r\n"
- "#include ""Resource\\EditPage\\resource.rc""\r\n"
- "#include ""Resource\\SettingsPage\\resource.rc""\r\n"
- "#include ""..\\UI\\Resource\\Extract\\resource.rc""\r\n"
- "\0"
-END
-
-#endif // APSTUDIO_INVOKED
-
-#endif // Russian resources
-/////////////////////////////////////////////////////////////////////////////
-
-
-/////////////////////////////////////////////////////////////////////////////
-// English (U.S.) resources
-
-#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_ENU)
-#ifdef _WIN32
-LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US
-#pragma code_page(1252)
-#endif //_WIN32
-
-#ifndef _MAC
-/////////////////////////////////////////////////////////////////////////////
-//
-// Version
-//
-
-VS_VERSION_INFO VERSIONINFO
- FILEVERSION 4,24,0,0
- PRODUCTVERSION 4,24,0,0
- FILEFLAGSMASK 0x3fL
-#ifdef _DEBUG
- FILEFLAGS 0x1L
-#else
- FILEFLAGS 0x0L
-#endif
- FILEOS 0x40004L
- FILETYPE 0x1L
- FILESUBTYPE 0x0L
-BEGIN
- BLOCK "StringFileInfo"
+MY_VERSION_INFO_APP("7-Zip File Manager", "7zFM")
+
+
+IDR_ACCELERATOR1 ACCELERATORS
+BEGIN
+ "N", IDM_CREATE_FILE, VIRTKEY, CONTROL, NOINVERT
+ VK_F1, IDM_HELP_CONTENTS, VIRTKEY, NOINVERT
+ VK_F12, IDM_FOLDERS_HISTORY, VIRTKEY, ALT, NOINVERT
+ VK_F7, IDM_CREATE_FOLDER, VIRTKEY, NOINVERT
+END
+
+
+IDM_MENU MENU
+BEGIN
+ POPUP "&File"
+ BEGIN
+ MENUITEM "&Open\tEnter", IDM_FILE_OPEN
+ MENUITEM "Open &Inside\tCtrl+PgDn", IDM_FILE_OPEN_INSIDE
+ MENUITEM "Open O&utside\tShift+Enter", IDM_FILE_OPEN_OUTSIDE
+ MENUITEM "&Edit\tF4", IDM_FILE_EDIT
+ MENUITEM SEPARATOR
+ MENUITEM "Rena&me\tF2", IDM_RENAME
+ MENUITEM "&Copy To...\tF5", IDM_COPY_TO
+ MENUITEM "&Move To...\tF6", IDM_MOVE_TO
+ MENUITEM "&Delete\tDel", IDM_DELETE
+ MENUITEM SEPARATOR
+ MENUITEM "&Split file...", IDM_FILE_SPLIT
+ MENUITEM "Com&bine files...", IDM_FILE_COMBINE
+ MENUITEM SEPARATOR
+ MENUITEM "P&roperties\tAlt+Enter", IDM_FILE_PROPERTIES
+ MENUITEM "Comme&nt\tCtrl+Z", IDM_FILE_COMMENT
+ MENUITEM SEPARATOR
+ MENUITEM "Create Folder\tF7", IDM_CREATE_FOLDER
+ MENUITEM "Create File\tCtrl+N", IDM_CREATE_FILE
+ MENUITEM SEPARATOR
+ MENUITEM "E&xit\tAlt+F4", IDCLOSE
+ END
+ POPUP "&Edit"
+ BEGIN
+ MENUITEM "Cu&t\tCtrl+X", IDM_EDIT_CUT, GRAYED
+ MENUITEM "&Copy\tCtrl+C", IDM_EDIT_COPY, GRAYED
+ MENUITEM "&Paste\tCtrl+V", IDM_EDIT_PASTE, GRAYED
+ MENUITEM SEPARATOR
+ MENUITEM "Select &All\tShift+[Grey +]", IDM_SELECT_ALL
+ MENUITEM "Deselect All\tShift+[Grey -]", IDM_DESELECT_ALL
+ MENUITEM "&Invert Selection\tGrey *", IDM_INVERT_SELECTION
+ MENUITEM "Select...\tGrey +", IDM_SELECT
+ MENUITEM "Deselect...\tGrey -", IDM_DESELECT
+ MENUITEM "Select by Type\tAlt+[Grey+]", IDM_SELECT_BY_TYPE
+ MENUITEM "Deselect by Type\tAlt+[Grey -]", IDM_DESELECT_BY_TYPE
+ END
+ POPUP "&View"
+ BEGIN
+ MENUITEM "Lar&ge Icons\tCtrl+1", IDM_VIEW_LARGE_ICONS
+ MENUITEM "S&mall Icons\tCtrl+2", IDM_VIEW_SMALL_ICONS
+ MENUITEM "&List\tCtrl+3", IDM_VIEW_LIST
+ MENUITEM "&Details\tCtrl+4", IDM_VIEW_DETAILS, CHECKED
+ MENUITEM SEPARATOR
+ MENUITEM "Name\tCtrl+F3", IDM_VIEW_ARANGE_BY_NAME
+ MENUITEM "Type\tCtrl+F4", IDM_VIEW_ARANGE_BY_TYPE
+ MENUITEM "Date\tCtrl+F5", IDM_VIEW_ARANGE_BY_DATE
+ MENUITEM "Size\tCtrl+F6", IDM_VIEW_ARANGE_BY_SIZE
+ MENUITEM "Unsorted\tCtrl+F7", IDM_VIEW_ARANGE_NO_SORT
+ MENUITEM SEPARATOR
+ MENUITEM "&2 Panels\tF9", IDM_VIEW_TWO_PANELS
+ POPUP "Toolbars"
BEGIN
- BLOCK "040904b0"
- BEGIN
- VALUE "Comments", "\0"
- VALUE "CompanyName", "Igor Pavlov\0"
- VALUE "FileDescription", "7-Zip File Manager\0"
- VALUE "FileVersion", "4, 24, 0, 0\0"
- VALUE "InternalName", "7zFM\0"
- VALUE "LegalCopyright", "Copyright (C) 1999-2005 Igor Pavlov\0"
- VALUE "LegalTrademarks", "\0"
- VALUE "OriginalFilename", "7zFM.exe\0"
- VALUE "PrivateBuild", "\0"
- VALUE "ProductName", "7-Zip\0"
- VALUE "ProductVersion", "4, 24, 0, 0\0"
- VALUE "SpecialBuild", "\0"
- END
+ MENUITEM "Archive Toolbar", IDM_VIEW_ARCHIVE_TOOLBAR
+ MENUITEM "Standard Toolbar", IDM_VIEW_STANDARD_TOOLBAR
+ MENUITEM SEPARATOR
+ MENUITEM "Large Buttons", IDM_VIEW_TOOLBARS_LARGE_BUTTONS
+ MENUITEM "Show Buttons Text", IDM_VIEW_TOOLBARS_SHOW_BUTTONS_TEXT
END
- BLOCK "VarFileInfo"
+ MENUITEM SEPARATOR
+ MENUITEM "Open Root Folder\t\\", IDM_OPEN_ROOT_FOLDER
+ MENUITEM "Up One Level\tBackspace", IDM_OPEN_PARENT_FOLDER
+ MENUITEM "Folders History...\tAlt+F12", IDM_FOLDERS_HISTORY
+ MENUITEM SEPARATOR
+ MENUITEM "&Refresh\tCtrl+R", IDM_VIEW_REFRESH
+ END
+ POPUP "F&avorites"
+ BEGIN
+ POPUP "&Add folder to Favorites as"
BEGIN
- VALUE "Translation", 0x409, 1200
- END
-END
-
-#endif // !_MAC
-
-
-/////////////////////////////////////////////////////////////////////////////
-//
-// Accelerator
-//
-
-IDR_ACCELERATOR1 ACCELERATORS DISCARDABLE
-BEGIN
- "N", IDM_CREATE_FILE, VIRTKEY, CONTROL, NOINVERT
- VK_F1, IDM_HELP_CONTENTS, VIRTKEY, NOINVERT
- VK_F12, IDM_FOLDERS_HISTORY, VIRTKEY, ALT, NOINVERT
- VK_F7, IDM_CREATE_FOLDER, VIRTKEY, NOINVERT
-END
-
-
-/////////////////////////////////////////////////////////////////////////////
-//
-// Menu
-//
-
-IDM_MENU MENU DISCARDABLE
-BEGIN
- POPUP "&File"
- BEGIN
- MENUITEM "&Open\tEnter", IDM_FILE_OPEN
- MENUITEM "Open &Inside\tCtrl+PgDn", IDM_FILE_OPEN_INSIDE
- MENUITEM "Open O&utside\tShift+Enter", IDM_FILE_OPEN_OUTSIDE
- MENUITEM "&Edit\tF4", IDM_FILE_EDIT
- MENUITEM SEPARATOR
- MENUITEM "Rena&me\tF2", IDM_RENAME
- MENUITEM "&Copy To...\tF5", IDM_COPY_TO
- MENUITEM "&Move To...\tF6", IDM_MOVE_TO
- MENUITEM "&Delete\tDel", IDM_DELETE
- MENUITEM SEPARATOR
- MENUITEM "&Split file...", IDM_FILE_SPLIT
- MENUITEM "Com&bine files...", IDM_FILE_COMBINE
- MENUITEM SEPARATOR
- MENUITEM "P&roperties\tAlt+Enter", IDM_FILE_PROPERTIES
- MENUITEM "Comme&nt\tCtrl+Z", IDM_FILE_COMMENT
- MENUITEM SEPARATOR
- MENUITEM "Create Folder\tF7", IDM_CREATE_FOLDER
- MENUITEM "Create File\tCtrl+N", IDM_CREATE_FILE
MENUITEM SEPARATOR
- MENUITEM "E&xit\tAlt+F4", IDCLOSE
END
- POPUP "&Edit"
- BEGIN
- MENUITEM "Cu&t\tCtrl+X", IDM_EDIT_CUT, GRAYED
- MENUITEM "&Copy\tCtrl+C", IDM_EDIT_COPY, GRAYED
- MENUITEM "&Paste\tCtrl+V", IDM_EDIT_PASTE, GRAYED
- MENUITEM SEPARATOR
- MENUITEM "Select &All\tShift+[Grey +]", IDM_SELECT_ALL
- MENUITEM "Deselect All\tShift+[Grey -]", IDM_DESELECT_ALL
- MENUITEM "&Invert Selection\tGrey *", IDM_INVERT_SELECTION
- MENUITEM "Select...\tGrey +", IDM_SELECT
- MENUITEM "Deselect...\tGrey -", IDM_DESELECT
- MENUITEM "Select by Type\tAlt+[Grey+]", IDM_SELECT_BY_TYPE
- MENUITEM "Deselect by Type\tAlt+[Grey -]", IDM_DESELECT_BY_TYPE
- END
- POPUP "&View"
- BEGIN
- MENUITEM "Lar&ge Icons\tCtrl+1", IDM_VIEW_LARGE_ICONS
- MENUITEM "S&mall Icons\tCtrl+2", IDM_VIEW_SMALL_ICONS
- MENUITEM "&List\tCtrl+3", IDM_VIEW_LIST
- MENUITEM "&Details\tCtrl+4", IDM_VIEW_DETAILS, CHECKED
- MENUITEM SEPARATOR
- MENUITEM "Name\tCtrl+F3", IDM_VIEW_ARANGE_BY_NAME
- MENUITEM "Type\tCtrl+F4", IDM_VIEW_ARANGE_BY_TYPE
- MENUITEM "Date\tCtrl+F5", IDM_VIEW_ARANGE_BY_DATE
- MENUITEM "Size\tCtrl+F6", IDM_VIEW_ARANGE_BY_SIZE
- MENUITEM "Unsorted\tCtrl+F7", IDM_VIEW_ARANGE_NO_SORT
- MENUITEM SEPARATOR
- MENUITEM "&2 Panels\tF9", IDM_VIEW_TWO_PANELS
- POPUP "Toolbars"
- BEGIN
- MENUITEM "Archive Toolbar", IDM_VIEW_ARCHIVE_TOOLBAR
- MENUITEM "Standard Toolbar", IDM_VIEW_STANDARD_TOOLBAR
-
- MENUITEM SEPARATOR
- MENUITEM "Large Buttons", IDM_VIEW_TOOLBARS_LARGE_BUTTONS
-
- MENUITEM "Show Buttons Text", IDM_VIEW_TOOLBARS_SHOW_BUTTONS_TEXT
-
- END
- MENUITEM SEPARATOR
- MENUITEM "Open Root Folder\t\\", IDM_OPEN_ROOT_FOLDER
- MENUITEM "Up One Level\tBackspace", IDM_OPEN_PARENT_FOLDER
- MENUITEM "Folders History...\tAlt+F12", IDM_FOLDERS_HISTORY
- MENUITEM SEPARATOR
- MENUITEM "&Refresh\tCtrl+R", IDM_VIEW_REFRESH
- END
- POPUP "F&avorites"
- BEGIN
- POPUP "&Add folder to Favorites as"
- BEGIN
- MENUITEM SEPARATOR
- END
- MENUITEM SEPARATOR
- END
- POPUP "&Tools"
- BEGIN
- MENUITEM "&Options...", IDM_OPTIONS
- MENUITEM "&Benchmark", IDM_BENCHMARK
- END
- POPUP "&Help"
- BEGIN
- MENUITEM "&Contents...\tF1", IDM_HELP_CONTENTS
- MENUITEM SEPARATOR
- MENUITEM "&About 7-Zip...", IDM_ABOUT
- END
-END
-
-
-/////////////////////////////////////////////////////////////////////////////
-//
-// Icon
-//
-
-// Icon with lowest ID value placed first to ensure application icon
-// remains consistent on all systems.
-IDI_FM ICON DISCARDABLE "FM.ico"
-
-/////////////////////////////////////////////////////////////////////////////
-//
-// 24
-//
-
-1 24 MOVEABLE PURE "7zFM.exe.manifest"
-
-/////////////////////////////////////////////////////////////////////////////
-//
-// Bitmap
-//
-
-IDB_ADD BITMAP DISCARDABLE "Add.bmp"
-IDB_EXTRACT BITMAP DISCARDABLE "Extract.bmp"
-IDB_TEST BITMAP DISCARDABLE "Test.bmp"
-IDB_COPY BITMAP DISCARDABLE "Copy.bmp"
-IDB_MOVE BITMAP DISCARDABLE "Move.bmp"
-IDB_DELETE BITMAP DISCARDABLE "Delete.bmp"
-IDB_INFO BITMAP DISCARDABLE "Info.bmp"
-IDB_ADD2 BITMAP DISCARDABLE "Add2.bmp"
-IDB_EXTRACT2 BITMAP DISCARDABLE "Extract2.bmp"
-IDB_TEST2 BITMAP DISCARDABLE "Test2.bmp"
-IDB_COPY2 BITMAP DISCARDABLE "Copy2.bmp"
-IDB_MOVE2 BITMAP DISCARDABLE "Move2.bmp"
-IDB_DELETE2 BITMAP DISCARDABLE "Delete2.bmp"
-IDB_INFO2 BITMAP DISCARDABLE "Info2.bmp"
-
-/////////////////////////////////////////////////////////////////////////////
-//
-// String Table
-//
-
-STRINGTABLE DISCARDABLE
-BEGIN
- IDS_APP_TITLE "7-Zip File Manager"
- IDS_COPY "Copy"
- IDS_MOVE "Move"
- IDS_COPY_TO "Copy to:"
- IDS_MOVE_TO "Move to:"
- IDS_COPYING "Copying..."
- IDS_MOVING "Moving..."
- IDS_CANNOT_COPY "You cannot move or copy items for such folders."
-END
-
-STRINGTABLE DISCARDABLE
-BEGIN
- IDS_SPLITTING "Splitting..."
- IDS_COMBINE "Combine Files"
- IDS_COMBINE_TO "&Combine to:"
-END
-
-STRINGTABLE DISCARDABLE
-BEGIN
- IDS_COMBINING "Combining..."
-END
-
-STRINGTABLE DISCARDABLE
-BEGIN
- IDS_OPERATION_IS_NOT_SUPPORTED "Operation is not supported."
- IDS_CONFIRM_FILE_DELETE "Confirm File Delete"
- IDS_CONFIRM_FOLDER_DELETE "Confirm Folder Delete"
- IDS_CONFIRM_ITEMS_DELETE "Confirm Multiple File Delete"
- IDS_WANT_TO_DELETE_FILE "Are you sure you want to delete '{0}'?"
- IDS_WANT_TO_DELETE_FOLDER
- "Are you sure you want to delete the folder '{0}' and all its contents?"
- IDS_WANT_TO_DELETE_ITEMS
- "Are you sure you want to delete these {0} items?"
- IDS_DELETING "Deleting..."
- IDS_ERROR_DELETING "Error Deleting File or Folder"
- IDS_RENAMING "Renaming..."
- IDS_ERROR_RENAMING "Error Renaming File or Folder"
-END
-
-STRINGTABLE DISCARDABLE
-BEGIN
- IDS_CREATE_FOLDER "Create Folder"
- IDS_CREATE_FOLDER_NAME "Folder name:"
- IDS_CREATE_FOLDER_DEFAULT_NAME "New Folder"
- IDS_CREATE_FOLDER_ERROR "Error Creating Folder"
-END
-
-STRINGTABLE DISCARDABLE
-BEGIN
- IDS_CREATE_FILE "Create File"
- IDS_CREATE_FILE_NAME "File Name:"
- IDS_CREATE_FILE_DEFAULT_NAME "New File"
- IDS_CREATE_FILE_ERROR "Error Creating File"
- IDS_SELECT "Select"
- IDS_DESELECT "Deselect"
- IDS_SELECT_MASK "Mask:"
-END
-
-STRINGTABLE DISCARDABLE
-BEGIN
- IDS_FOLDERS_HISTORY "Folders History"
- IDS_N_SELECTED_ITEMS "{0} object(s) selected"
-END
-
-STRINGTABLE DISCARDABLE
-BEGIN
- IDS_PROPERTY_TOTAL_SIZE "Total Size"
- IDS_PROPERTY_FREE_SPACE "Free Space"
- IDS_PROPERTY_CLUSTER_SIZE "Cluster Size"
- IDS_PROPERTY_VOLUME_NAME "Label"
-END
-
-STRINGTABLE DISCARDABLE
-BEGIN
- IDS_PROPERTY_LOCAL_NAME "Local Name"
- IDS_PROPERTY_PROVIDER "Provider"
-END
-
-STRINGTABLE DISCARDABLE
-BEGIN
- IDS_OPTIONS "Options"
- IDS_COMMENT "Comment"
- IDS_COMMENT2 "&Comment:"
- IDS_SYSTEM "System"
-END
-
-STRINGTABLE DISCARDABLE
-BEGIN
- IDS_WANT_UPDATE_MODIFIED_FILE
- "File '{0}' was modified.\nDo you want to update it in the archive?"
- IDS_CANNOT_UPDATE_FILE "Can not update file\n'{0}'"
- IDS_CANNOT_START_EDITOR "Cannot start editor."
- IDS_OPENNING "Opening..."
-END
-
-STRINGTABLE DISCARDABLE
-BEGIN
- IDS_ADD "Add"
- IDS_EXTRACT "Extract"
- IDS_TEST "Test"
-END
-
-STRINGTABLE DISCARDABLE
-BEGIN
- IDS_BUTTON_COPY "Copy"
- IDS_BUTTON_MOVE "Move"
- IDS_BUTTON_DELETE "Delete"
- IDS_BUTTON_INFO "Info"
-END
-
-STRINGTABLE DISCARDABLE
-BEGIN
- IDS_BOOKMARK "Bookmark"
-END
-
-STRINGTABLE DISCARDABLE
-BEGIN
- IDS_COMPUTER "Computer"
- IDS_NETWORK "Network"
-END
-
-#endif // English (U.S.) resources
-/////////////////////////////////////////////////////////////////////////////
-
-
-
-#ifndef APSTUDIO_INVOKED
-/////////////////////////////////////////////////////////////////////////////
-//
-// Generated from the TEXTINCLUDE 3 resource.
-//
-#include "Resource\ComboDialog\resource.rc"
-#include "Resource\CopyDialog\resource.rc"
-#include "Resource\ListViewDialog\resource.rc"
-#include "Resource\PropertyName\resource.rc"
-#include "Resource\MessagesDialog\resource.rc"
-#include "Resource\OverwriteDialog\resource.rc"
-#include "Resource\PasswordDialog\resource.rc"
-#include "Resource\SplitDialog\resource.rc"
-#include "Resource\ProgressDialog2\resource.rc"
-#include "Resource\BenchmarkDialog\resource.rc"
-#include "Resource\AboutDialog\resource.rc"
-#include "Resource\LangPage\resource.rc"
-#include "Resource\PluginsPage\resource.rc"
-#include "Resource\SystemPage\resource.rc"
-#include "Resource\EditPage\resource.rc"
-#include "Resource\SettingsPage\resource.rc"
-#include "..\UI\Resource\Extract\resource.rc"
-
-/////////////////////////////////////////////////////////////////////////////
-#endif // not APSTUDIO_INVOKED
-
+ MENUITEM SEPARATOR
+ END
+ POPUP "&Tools"
+ BEGIN
+ MENUITEM "&Options...", IDM_OPTIONS
+ MENUITEM "&Benchmark", IDM_BENCHMARK
+ END
+ POPUP "&Help"
+ BEGIN
+ MENUITEM "&Contents...\tF1", IDM_HELP_CONTENTS
+ MENUITEM SEPARATOR
+ MENUITEM "&About 7-Zip...", IDM_ABOUT
+ END
+END
+
+
+IDI_FM ICON "FM.ico"
+
+1 24 MOVEABLE PURE "7zFM.exe.manifest"
+
+IDB_ADD BITMAP "Add.bmp"
+IDB_EXTRACT BITMAP "Extract.bmp"
+IDB_TEST BITMAP "Test.bmp"
+IDB_COPY BITMAP "Copy.bmp"
+IDB_MOVE BITMAP "Move.bmp"
+IDB_DELETE BITMAP "Delete.bmp"
+IDB_INFO BITMAP "Info.bmp"
+IDB_ADD2 BITMAP "Add2.bmp"
+IDB_EXTRACT2 BITMAP "Extract2.bmp"
+IDB_TEST2 BITMAP "Test2.bmp"
+IDB_COPY2 BITMAP "Copy2.bmp"
+IDB_MOVE2 BITMAP "Move2.bmp"
+IDB_DELETE2 BITMAP "Delete2.bmp"
+IDB_INFO2 BITMAP "Info2.bmp"
+
+
+STRINGTABLE
+BEGIN
+ IDS_APP_TITLE "7-Zip File Manager"
+ IDS_COPY "Copy"
+ IDS_MOVE "Move"
+ IDS_COPY_TO "Copy to:"
+ IDS_MOVE_TO "Move to:"
+ IDS_COPYING "Copying..."
+ IDS_MOVING "Moving..."
+ IDS_CANNOT_COPY "You cannot move or copy items for such folders."
+ IDS_SPLITTING "Splitting..."
+ IDS_COMBINE "Combine Files"
+ IDS_COMBINE_TO "&Combine to:"
+ IDS_COMBINING "Combining..."
+ IDS_OPERATION_IS_NOT_SUPPORTED "Operation is not supported."
+
+ IDS_CONFIRM_FILE_DELETE "Confirm File Delete"
+ IDS_CONFIRM_FOLDER_DELETE "Confirm Folder Delete"
+ IDS_CONFIRM_ITEMS_DELETE "Confirm Multiple File Delete"
+ IDS_WANT_TO_DELETE_FILE "Are you sure you want to delete '{0}'?"
+ IDS_WANT_TO_DELETE_FOLDER "Are you sure you want to delete the folder '{0}' and all its contents?"
+ IDS_WANT_TO_DELETE_ITEMS "Are you sure you want to delete these {0} items?"
+ IDS_DELETING "Deleting..."
+ IDS_ERROR_DELETING "Error Deleting File or Folder"
+ IDS_RENAMING "Renaming..."
+ IDS_ERROR_RENAMING "Error Renaming File or Folder"
+ IDS_CONFIRM_FILE_COPY "Confirm File Copy"
+ IDS_WANT_TO_COPY_FILES "Are you sure you want to copy files to archive"
+
+ IDS_CREATE_FOLDER "Create Folder"
+ IDS_CREATE_FOLDER_NAME "Folder name:"
+ IDS_CREATE_FOLDER_DEFAULT_NAME "New Folder"
+ IDS_CREATE_FOLDER_ERROR "Error Creating Folder"
+ IDS_CREATE_FILE "Create File"
+ IDS_CREATE_FILE_NAME "File Name:"
+ IDS_CREATE_FILE_DEFAULT_NAME "New File"
+ IDS_CREATE_FILE_ERROR "Error Creating File"
+ IDS_SELECT "Select"
+ IDS_DESELECT "Deselect"
+ IDS_SELECT_MASK "Mask:"
+ IDS_FOLDERS_HISTORY "Folders History"
+ IDS_N_SELECTED_ITEMS "{0} object(s) selected"
+ IDS_PROPERTY_TOTAL_SIZE "Total Size"
+ IDS_PROPERTY_FREE_SPACE "Free Space"
+ IDS_PROPERTY_CLUSTER_SIZE "Cluster Size"
+ IDS_PROPERTY_VOLUME_NAME "Label"
+ IDS_PROPERTY_LOCAL_NAME "Local Name"
+ IDS_PROPERTY_PROVIDER "Provider"
+ IDS_OPTIONS "Options"
+ IDS_COMMENT "Comment"
+ IDS_COMMENT2 "&Comment:"
+ IDS_SYSTEM "System"
+ IDS_WANT_UPDATE_MODIFIED_FILE "File '{0}' was modified.\nDo you want to update it in the archive?"
+ IDS_CANNOT_UPDATE_FILE "Can not update file\n'{0}'"
+ IDS_CANNOT_START_EDITOR "Cannot start editor."
+ IDS_OPENNING "Opening..."
+ IDS_ADD "Add"
+ IDS_EXTRACT "Extract"
+ IDS_TEST "Test"
+ IDS_BUTTON_COPY "Copy"
+ IDS_BUTTON_MOVE "Move"
+ IDS_BUTTON_DELETE "Delete"
+ IDS_BUTTON_INFO "Info"
+ IDS_BOOKMARK "Bookmark"
+ IDS_COMPUTER "Computer"
+ IDS_NETWORK "Network"
+END
+
+
+#include "Resource/ComboDialog/resource.rc"
+#include "Resource/CopyDialog/resource.rc"
+#include "Resource/ListViewDialog/resource.rc"
+#include "Resource/PropertyName/resource.rc"
+#include "Resource/MessagesDialog/resource.rc"
+#include "Resource/OverwriteDialog/resource.rc"
+#include "Resource/PasswordDialog/resource.rc"
+#include "Resource/SplitDialog/resource.rc"
+#include "Resource/ProgressDialog2/resource.rc"
+#include "Resource/BenchmarkDialog/resource.rc"
+#include "Resource/AboutDialog/resource.rc"
+#include "Resource/LangPage/resource.rc"
+#include "Resource/PluginsPage/resource.rc"
+#include "Resource/SystemPage/resource.rc"
+#include "Resource/EditPage/resource.rc"
+#include "Resource/SettingsPage/resource.rc"
+#include "../UI/Resource/Extract/resource.rc"
diff --git a/7zip/GuiCommon.rc b/7zip/GuiCommon.rc
new file mode 100755
index 00000000..66dc5ca6
--- /dev/null
+++ b/7zip/GuiCommon.rc
@@ -0,0 +1,37 @@
+#include <winnt.h>
+#include <WinUser.h>
+#include <CommCtrl.h>
+
+#define marg 7
+#undef bXSize
+#undef bYSize
+#define bXSize 64
+#define bYSize 14
+#define bDotsSize 20
+
+LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US
+
+#undef xSize2
+#undef ySize2
+#undef xSize
+#undef ySize
+#undef bXPos
+#undef bYPos
+#undef b1XPos
+#undef b1YPos
+#undef b2XPos
+#undef b2YPos
+#undef b3XPos
+#undef b3YPos
+#undef gPos
+#undef gPos2
+#undef gSpace
+#undef gSize
+#undef marg2
+#undef marg3
+
+
+#define MY_MODAL_DIALOG_STYLE STYLE DS_MODALFRAME | DS_FIXEDSYS | DS_CENTER | WS_POPUP | WS_CAPTION | WS_SYSMENU
+#define MY_PAGE_STYLE STYLE DS_FIXEDSYS | WS_CHILD | WS_DISABLED | WS_CAPTION
+
+#define MY_FONT FONT 8, "MS Shell Dlg"
diff --git a/7zip/MyVersion.h b/7zip/MyVersion.h
new file mode 100755
index 00000000..ceda0fbc
--- /dev/null
+++ b/7zip/MyVersion.h
@@ -0,0 +1,7 @@
+#define MY_VER_MAJOR 4
+#define MY_VER_MINOR 25
+#define MY_VERSION "4.25 beta"
+#define MY_7ZIP_VERSION "7-Zip 4.25 beta"
+#define MY_DATE "2005-07-31"
+#define MY_COPYRIGHT "Copyright (c) 1999-2005 Igor Pavlov"
+#define MY_VERSION_COPYRIGHT_DATE MY_VERSION " " MY_COPYRIGHT " " MY_DATE
diff --git a/7zip/MyVersionInfo.rc b/7zip/MyVersionInfo.rc
new file mode 100755
index 00000000..26d74e9a
--- /dev/null
+++ b/7zip/MyVersionInfo.rc
@@ -0,0 +1,41 @@
+#include <WinVer.h>
+#include "MyVersion.h"
+
+#define MY_VER MY_VER_MAJOR,MY_VER_MINOR,0,0
+
+#ifdef DEBUG
+#define DBG_FL VS_FF_DEBUG
+#else
+#define DBG_FL 0
+#endif
+
+#define MY_VERSION_INFO(fileType, descr, intName, origName) \
+LANGUAGE 9, 1 \
+1 VERSIONINFO \
+ FILEVERSION MY_VER \
+ PRODUCTVERSION MY_VER \
+ FILEFLAGSMASK VS_FFI_FILEFLAGSMASK \
+ FILEFLAGS DBG_FL \
+ FILEOS VOS_NT_WINDOWS32 \
+ FILETYPE fileType \
+ FILESUBTYPE 0x0L \
+BEGIN \
+ BLOCK "StringFileInfo" \
+ BEGIN \
+ BLOCK "040904b0" \
+ BEGIN \
+ VALUE "CompanyName", "Igor Pavlov" \
+ VALUE "FileDescription", descr \
+ VALUE "FileVersion", MY_VERSION \
+ VALUE "InternalName", intName \
+ VALUE "LegalCopyright", MY_COPYRIGHT \
+ VALUE "OriginalFilename", origName \
+ VALUE "ProductName", "7-Zip" \
+ VALUE "ProductVersion", MY_VERSION \
+ END \
+ END \
+END
+
+#define MY_VERSION_INFO_APP(descr, intName) MY_VERSION_INFO(VFT_APP, descr, intName, intName ".exe")
+
+#define MY_VERSION_INFO_DLL(descr, intName) MY_VERSION_INFO(VFT_DLL, descr, intName, intName ".dll")
diff --git a/7zip/SubBuild.mak b/7zip/SubBuild.mak
new file mode 100755
index 00000000..f86ce436
--- /dev/null
+++ b/7zip/SubBuild.mak
@@ -0,0 +1,3 @@
+ cd $(@D)
+ $(MAKE) -nologo $(TARGETS)
+ cd ..
diff --git a/7zip/UI/Agent/AgentOut.cpp b/7zip/UI/Agent/AgentOut.cpp
index 5d2b4bba..ea556d49 100755
--- a/7zip/UI/Agent/AgentOut.cpp
+++ b/7zip/UI/Agent/AgentOut.cpp
@@ -1,4 +1,4 @@
-// AgentOutcpp
+// AgentOut.cpp
#include "StdAfx.h"
@@ -161,8 +161,13 @@ STDMETHODIMP CAgent::DoOperation(
UString folderPrefix = _folderPrefix;
NFile::NName::NormalizeDirPathPrefix(folderPrefix);
- UString errorPath;
- RINOK(::EnumerateDirItems(folderPrefix, _names, _archiveNamePrefix, dirItems, errorPath));
+ UStringVector errorPaths;
+ CRecordVector<DWORD> errorCodes;
+ ::EnumerateDirItems(folderPrefix, _names, _archiveNamePrefix, dirItems, errorPaths, errorCodes);
+ if (errorCodes.Size() > 0)
+ {
+ return errorCodes.Front();
+ }
NWindows::NDLL::CLibrary library;
diff --git a/7zip/UI/Common/ArchiveCommandLine.cpp b/7zip/UI/Common/ArchiveCommandLine.cpp
index 95ce1bc8..921fb099 100755
--- a/7zip/UI/Common/ArchiveCommandLine.cpp
+++ b/7zip/UI/Common/ArchiveCommandLine.cpp
@@ -546,7 +546,7 @@ static bool ParseComplexSize(const UString &src, UInt64 &result)
const wchar_t *start = s;
const wchar_t *end;
UInt64 number = ConvertStringToUInt64(start, &end);
- int numDigits = end - start;
+ int numDigits = (int)(end - start);
if (numDigits == 0 || s.Length() > numDigits + 1)
return false;
if (s.Length() == numDigits)
@@ -789,9 +789,13 @@ void CArchiveCommandLineParser::Parse2(CArchiveCommandLineOptions &options)
#endif
CObjectVector<CDirItem> dirItems;
- UString errorPath;
- if (EnumerateItems(archiveWildcardCensor, dirItems, NULL, errorPath) != S_OK)
- throw "cannot find archive";
+ {
+ UStringVector errorPaths;
+ CRecordVector<DWORD> errorCodes;
+ HRESULT res = EnumerateItems(archiveWildcardCensor, dirItems, NULL, errorPaths, errorCodes);
+ if (res != S_OK || errorPaths.Size() > 0)
+ throw "cannot find archive";
+ }
UStringVector archivePaths;
int i;
for (i = 0; i < dirItems.Size(); i++)
diff --git a/7zip/UI/Common/CompressCall.cpp b/7zip/UI/Common/CompressCall.cpp
index 7dceb733..208d3a74 100755
--- a/7zip/UI/Common/CompressCall.cpp
+++ b/7zip/UI/Common/CompressCall.cpp
@@ -25,6 +25,7 @@ static LPCWSTR kArchiveMapSwitch = L" -ai#";
static LPCWSTR kStopSwitchParsing = L" --";
+#ifndef _WIN64
static bool IsItWindowsNT()
{
OSVERSIONINFO versionInfo;
@@ -33,6 +34,7 @@ static bool IsItWindowsNT()
return false;
return (versionInfo.dwPlatformId == VER_PLATFORM_WIN32_NT);
}
+#endif
HRESULT MyCreateProcess(const UString &params,
LPCTSTR curDir, bool waitFinish,
@@ -82,10 +84,12 @@ static UString Get7zGuiPath()
UString folder;
if (GetProgramFolderPath(folder))
path += folder;
+ path += L"7zG";
+ #ifndef _WIN64
if (IsItWindowsNT())
- path += L"7zgn.exe";
- else
- path += L"7zg.exe";
+ path += L"n";
+ #endif
+ path += L".exe";
// path += L"7z.exe";
return GetQuotedString(path);
}
diff --git a/7zip/UI/Common/EnumDirItems.cpp b/7zip/UI/Common/EnumDirItems.cpp
index 8b44b252..f4212e95 100755
--- a/7zip/UI/Common/EnumDirItems.cpp
+++ b/7zip/UI/Common/EnumDirItems.cpp
@@ -29,12 +29,13 @@ void AddDirFileInfo(
dirItems.Add(item);
}
-static HRESULT EnumerateDirectory(
+static void EnumerateDirectory(
const UString &baseFolderPrefix, // base (disk) prefix for scanning
const UString &directory, // additional disk prefix starting from baseFolderPrefix
const UString &prefix, // logical prefix
CObjectVector<CDirItem> &dirItems,
- UString &errorPath)
+ UStringVector &errorPaths,
+ CRecordVector<DWORD> &errorCodes)
{
NFind::CEnumeratorW enumerator(baseFolderPrefix + directory + wchar_t(kAnyStringWildcard));
while (true)
@@ -43,28 +44,28 @@ static HRESULT EnumerateDirectory(
bool found;
if (!enumerator.Next(fileInfo, found))
{
- HRESULT error = ::GetLastError();
- errorPath = baseFolderPrefix + directory;
- return error;
+ errorCodes.Add(::GetLastError());
+ errorPaths.Add(baseFolderPrefix + directory);
+ return;
}
if (!found)
break;
AddDirFileInfo(prefix, directory + fileInfo.Name, fileInfo, dirItems);
if (fileInfo.IsDirectory())
{
- RINOK(EnumerateDirectory(baseFolderPrefix, directory + fileInfo.Name + wchar_t(kDirDelimiter),
- prefix + fileInfo.Name + wchar_t(kDirDelimiter), dirItems, errorPath));
+ EnumerateDirectory(baseFolderPrefix, directory + fileInfo.Name + wchar_t(kDirDelimiter),
+ prefix + fileInfo.Name + wchar_t(kDirDelimiter), dirItems, errorPaths, errorCodes);
}
}
- return S_OK;
}
-HRESULT EnumerateDirItems(
+void EnumerateDirItems(
const UString &baseFolderPrefix, // base (disk) prefix for scanning
const UStringVector &fileNames, // names relative to baseFolderPrefix
const UString &archiveNamePrefix,
CObjectVector<CDirItem> &dirItems,
- UString &errorPath)
+ UStringVector &errorPaths,
+ CRecordVector<DWORD> &errorCodes)
{
for(int i = 0; i < fileNames.Size(); i++)
{
@@ -72,19 +73,18 @@ HRESULT EnumerateDirItems(
NFind::CFileInfoW fileInfo;
if (!NFind::FindFile(baseFolderPrefix + fileName, fileInfo))
{
- HRESULT error = ::GetLastError();
- errorPath = baseFolderPrefix + fileName;
- return error;
+ errorCodes.Add(::GetLastError());
+ errorPaths.Add(baseFolderPrefix + fileName);
+ continue;
}
AddDirFileInfo(archiveNamePrefix, fileName, fileInfo, dirItems);
if (fileInfo.IsDirectory())
{
- RINOK(EnumerateDirectory(baseFolderPrefix, fileName + wchar_t(kDirDelimiter),
+ EnumerateDirectory(baseFolderPrefix, fileName + wchar_t(kDirDelimiter),
archiveNamePrefix + fileInfo.Name + wchar_t(kDirDelimiter),
- dirItems, errorPath));
+ dirItems, errorPaths, errorCodes);
}
}
- return S_OK;
}
static HRESULT EnumerateDirItems(
@@ -95,7 +95,8 @@ static HRESULT EnumerateDirItems(
CObjectVector<CDirItem> &dirItems,
bool enterToSubFolders,
IEnumDirItemCallback *callback,
- UString &errorPath)
+ UStringVector &errorPaths,
+ CRecordVector<DWORD> &errorCodes)
{
if (!enterToSubFolders)
if (curNode.NeedCheckSubDirs())
@@ -130,15 +131,16 @@ static HRESULT EnumerateDirItems(
NFind::CFileInfoW fileInfo;
if (!NFind::FindFile(fullPath, fileInfo))
{
- HRESULT error = ::GetLastError();
- errorPath = fullPath;
- return error;
+ errorCodes.Add(::GetLastError());
+ errorPaths.Add(fullPath);
+ continue;
}
bool isDir = fileInfo.IsDirectory();
if (isDir && !item.ForDir || !isDir && !item.ForFile)
{
- errorPath = fullPath;
- return E_FAIL;
+ errorCodes.Add(E_FAIL);
+ errorPaths.Add(fullPath);
+ continue;
}
const UString realName = fileInfo.Name;
const UString realDiskPath = diskPrefix + realName;
@@ -170,7 +172,7 @@ static HRESULT EnumerateDirItems(
RINOK(EnumerateDirItems(*nextNode,
realDiskPath + wchar_t(kDirDelimiter),
archivePrefix + realName + wchar_t(kDirDelimiter),
- addArchivePrefixNew, dirItems, true, callback, errorPath));
+ addArchivePrefixNew, dirItems, true, callback, errorPaths, errorCodes));
}
for (i = 0; i < curNode.SubNodes.Size(); i++)
{
@@ -184,19 +186,20 @@ static HRESULT EnumerateDirItems(
{
if (!nextNode.AreThereIncludeItems())
continue;
- HRESULT error = ::GetLastError();
- errorPath = fullPath;
- return error;
+ errorCodes.Add(::GetLastError());
+ errorPaths.Add(fullPath);
+ continue;
}
if (!fileInfo.IsDirectory())
{
- errorPath = fullPath;
- return E_FAIL;
+ errorCodes.Add(E_FAIL);
+ errorPaths.Add(fullPath);
+ continue;
}
RINOK(EnumerateDirItems(nextNode,
diskPrefix + fileInfo.Name + wchar_t(kDirDelimiter),
archivePrefix + fileInfo.Name + wchar_t(kDirDelimiter),
- UStringVector(), dirItems, false, callback, errorPath));
+ UStringVector(), dirItems, false, callback, errorPaths, errorCodes));
}
return S_OK;
}
@@ -210,9 +213,9 @@ static HRESULT EnumerateDirItems(
bool found;
if (!enumerator.Next(fileInfo, found))
{
- HRESULT error = ::GetLastError();
- errorPath = diskPrefix;
- return error;
+ errorCodes.Add(::GetLastError());
+ errorPaths.Add(diskPrefix);
+ break;
}
if (!found)
break;
@@ -253,7 +256,7 @@ static HRESULT EnumerateDirItems(
RINOK(EnumerateDirItems(*nextNode,
diskPrefix + name + wchar_t(kDirDelimiter),
archivePrefix + name + wchar_t(kDirDelimiter),
- addArchivePrefixNew, dirItems, enterToSubFolders2, callback, errorPath));
+ addArchivePrefixNew, dirItems, enterToSubFolders2, callback, errorPaths, errorCodes));
}
return S_OK;
}
@@ -262,14 +265,14 @@ HRESULT EnumerateItems(
const NWildcard::CCensor &censor,
CObjectVector<CDirItem> &dirItems,
IEnumDirItemCallback *callback,
- UString &errorPath)
+ UStringVector &errorPaths,
+ CRecordVector<DWORD> &errorCodes)
{
for (int i = 0; i < censor.Pairs.Size(); i++)
{
- if (callback)
- RINOK(callback->CheckBreak());
const NWildcard::CPair &pair = censor.Pairs[i];
- RINOK(EnumerateDirItems(pair.Head, pair.Prefix, L"", UStringVector(), dirItems, false, callback, errorPath));
+ RINOK(EnumerateDirItems(pair.Head, pair.Prefix, L"", UStringVector(), dirItems, false,
+ callback, errorPaths, errorCodes));
}
return S_OK;
}
diff --git a/7zip/UI/Common/EnumDirItems.h b/7zip/UI/Common/EnumDirItems.h
index ae0c95e5..8d5495a8 100755
--- a/7zip/UI/Common/EnumDirItems.h
+++ b/7zip/UI/Common/EnumDirItems.h
@@ -15,12 +15,13 @@ void AddDirFileInfo(
CObjectVector<CDirItem> &dirItems);
-HRESULT EnumerateDirItems(
+void EnumerateDirItems(
const UString &baseFolderPrefix,
const UStringVector &fileNames,
const UString &archiveNamePrefix,
CObjectVector<CDirItem> &dirItems,
- UString &errorPath);
+ UStringVector &errorPaths,
+ CRecordVector<DWORD> &errorCodes);
struct IEnumDirItemCallback
{
@@ -32,6 +33,7 @@ HRESULT EnumerateItems(
const NWildcard::CCensor &censor,
CObjectVector<CDirItem> &dirItems,
IEnumDirItemCallback *callback,
- UString &errorPath);
+ UStringVector &errorPaths,
+ CRecordVector<DWORD> &errorCodes);
#endif
diff --git a/7zip/UI/Common/OpenArchive.cpp b/7zip/UI/Common/OpenArchive.cpp
index a045f7dc..91339d47 100755
--- a/7zip/UI/Common/OpenArchive.cpp
+++ b/7zip/UI/Common/OpenArchive.cpp
@@ -127,9 +127,9 @@ HRESULT ReOpenArchive(IInArchive *archive, const UString &fileName)
}
#ifndef _SFX
-static inline bool TestSignature(const Byte *p1, const Byte *p2, UInt32 size)
+static inline bool TestSignature(const Byte *p1, const Byte *p2, size_t size)
{
- for (UInt32 i = 0; i < size; i++)
+ for (size_t i = 0; i < size; i++)
if (p1[i] != p2[i])
return false;
return true;
diff --git a/7zip/UI/Common/SortUtils.cpp b/7zip/UI/Common/SortUtils.cpp
index b6ed8d52..1c647d53 100755
--- a/7zip/UI/Common/SortUtils.cpp
+++ b/7zip/UI/Common/SortUtils.cpp
@@ -26,7 +26,7 @@ void SortStringsToIndices(const UStringVector &strings, CIntVector &indices)
void **stringsBase = (void **)pointers[0];
qsort(&pointers[0], numItems, sizeof(void *), CompareStrings);
for(i = 0; i < numItems; i++)
- indices.Add((void **)pointers[i] - stringsBase);
+ indices.Add((int)((void **)pointers[i] - stringsBase));
}
void SortStrings(const UStringVector &src, UStringVector &dest)
diff --git a/7zip/UI/Common/StdAfx.h b/7zip/UI/Common/StdAfx.h
index a32fbed6..100f4344 100755
--- a/7zip/UI/Common/StdAfx.h
+++ b/7zip/UI/Common/StdAfx.h
@@ -3,6 +3,7 @@
#ifndef __STDAFX_H
#define __STDAFX_H
-#include <windows.h>
+#include "../../../Common/MyWindows.h"
+#include "../../../Common/NewHandler.h"
#endif
diff --git a/7zip/UI/Common/Update.cpp b/7zip/UI/Common/Update.cpp
index 8d5e02a6..e2fde3de 100755
--- a/7zip/UI/Common/Update.cpp
+++ b/7zip/UI/Common/Update.cpp
@@ -99,7 +99,7 @@ class COutMultiVolStream:
public IOutStream,
public CMyUnknownImp
{
- size_t _streamIndex; // required stream
+ int _streamIndex; // required stream
UInt64 _offsetPos; // offset from start of _streamIndex index
UInt64 _absPos;
UInt64 _length;
@@ -142,7 +142,7 @@ STDMETHODIMP COutMultiVolStream::Write(const void *data, UInt32 size, UInt32 *pr
*processedSize = 0;
while(size > 0)
{
- if (_streamIndex >= (size_t)Streams.Size())
+ if (_streamIndex >= Streams.Size())
{
CSubStreamInfo subStream;
@@ -694,12 +694,17 @@ HRESULT UpdateArchive(const NWildcard::CCensor &censor,
CEnumDirItemUpdateCallback enumCallback;
enumCallback.Callback = callback;
RINOK(callback->StartScanning());
- UString errorPath;
- HRESULT res = EnumerateItems(censor, dirItems, &enumCallback, errorPath);
+ UStringVector errorPaths;
+ CRecordVector<DWORD> errorCodes;
+ HRESULT res = EnumerateItems(censor, dirItems, &enumCallback, errorPaths, errorCodes);
+ for (int i = 0; i < errorPaths.Size(); i++)
+ {
+ RINOK(callback->CanNotFindError(errorPaths[i], errorCodes[i]));
+ }
if(res != S_OK)
{
errorInfo.Message = L"Scanning error";
- errorInfo.FileName = errorPath;
+ // errorInfo.FileName = errorPath;
return res;
}
RINOK(callback->FinishScanning());
diff --git a/7zip/UI/Common/Update.h b/7zip/UI/Common/Update.h
index 680a461b..237ff0d2 100755
--- a/7zip/UI/Common/Update.h
+++ b/7zip/UI/Common/Update.h
@@ -130,6 +130,8 @@ struct CErrorInfo
UString FileName;
UString FileName2;
UString Message;
+ // UStringVector ErrorPaths;
+ // CRecordVector<DWORD> ErrorCodes;
CErrorInfo(): SystemError(0) {};
};
@@ -142,6 +144,7 @@ struct IUpdateCallbackUI2: public IUpdateCallbackUI
virtual HRESULT OpenResult(const wchar_t *name, HRESULT result) = 0;
virtual HRESULT StartScanning() = 0;
+ virtual HRESULT CanNotFindError(const wchar_t *name, DWORD systemError) = 0;
virtual HRESULT FinishScanning() = 0;
virtual HRESULT StartArchive(const wchar_t *name, bool updating) = 0;
diff --git a/7zip/UI/Common/ZipRegistry.cpp b/7zip/UI/Common/ZipRegistry.cpp
index 5e376e53..80336da3 100755
--- a/7zip/UI/Common/ZipRegistry.cpp
+++ b/7zip/UI/Common/ZipRegistry.cpp
@@ -377,7 +377,7 @@ static bool ReadOption(const TCHAR *value, bool defaultValue)
void SaveCascadedMenu(bool show)
{ SaveOption(kCascadedMenuValueName, show); }
bool ReadCascadedMenu()
- { return ReadOption(kCascadedMenuValueName, false); }
+ { return ReadOption(kCascadedMenuValueName, true); }
static void SaveValue(const TCHAR *value, UInt32 valueToWrite)
diff --git a/7zip/UI/Console/Console.dsp b/7zip/UI/Console/Console.dsp
index 59a1e11c..f6764fa1 100755
--- a/7zip/UI/Console/Console.dsp
+++ b/7zip/UI/Console/Console.dsp
@@ -52,7 +52,8 @@ BSC32=bscmake.exe
# ADD BSC32 /nologo
LINK32=link.exe
# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386
-# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386 /out:"C:\UTIL\7z.exe"
+# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386 /out:"C:\UTIL\7z.exe" /OPT:NOWIN98
+# SUBTRACT LINK32 /pdb:none
!ELSEIF "$(CFG)" == "Console - Win32 Debug"
@@ -101,7 +102,8 @@ BSC32=bscmake.exe
# ADD BSC32 /nologo
LINK32=link.exe
# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386 /out:"C:\UTIL\7z.exe"
-# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386 /out:"C:\UTIL\7zn.exe"
+# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386 /out:"C:\UTIL\7zn.exe" /OPT:NOWIN98
+# SUBTRACT LINK32 /pdb:none
!ELSEIF "$(CFG)" == "Console - Win32 DebugU"
diff --git a/7zip/UI/Console/ExtractCallbackConsole.cpp b/7zip/UI/Console/ExtractCallbackConsole.cpp
index 03445af1..284f7b9a 100755
--- a/7zip/UI/Console/ExtractCallbackConsole.cpp
+++ b/7zip/UI/Console/ExtractCallbackConsole.cpp
@@ -202,7 +202,8 @@ HRESULT CExtractCallbackConsole::ExtractResult(HRESULT result)
}
if (result == S_OK)
return result;
- if (result == E_ABORT)
+ NumArchiveErrors++;
+ if (result == E_ABORT || result == ERROR_DISK_FULL)
return result;
(*OutStream) << endl << kError;
if (result == E_OUTOFMEMORY)
@@ -214,8 +215,6 @@ HRESULT CExtractCallbackConsole::ExtractResult(HRESULT result)
(*OutStream) << message;
}
(*OutStream) << endl;
-
- NumArchiveErrors++;
return S_OK;
}
diff --git a/7zip/UI/Console/Main.cpp b/7zip/UI/Console/Main.cpp
index 82e92b78..3f000188 100755
--- a/7zip/UI/Console/Main.cpp
+++ b/7zip/UI/Console/Main.cpp
@@ -34,6 +34,8 @@
#include "ExtractCallbackConsole.h"
#include "UpdateCallbackConsole.h"
+#include "../../MyVersion.h"
+
#ifndef EXCLUDE_COM
#include "Windows/DLL.h"
#endif
@@ -54,7 +56,7 @@ static const char *kCopyrightString = "\n7-Zip"
" [NT]"
#endif
-" 4.24 beta Copyright (c) 1999-2005 Igor Pavlov 2005-07-06\n";
+" " MY_VERSION_COPYRIGHT_DATE "\n";
static const char *kHelpString =
"\nUsage: 7z"
@@ -274,10 +276,28 @@ int Main2(
CUpdateErrorInfo errorInfo;
- HRESULT result = UpdateArchive(
- options.WildcardCensor, uo,
+ HRESULT result = UpdateArchive(options.WildcardCensor, uo,
errorInfo, &openCallback, &callback);
+ int exitCode = NExitCode::kSuccess;
+ if (callback.CantFindFiles.Size() > 0)
+ {
+ stdStream << endl;
+ stdStream << "WARNINGS for files:" << endl << endl;
+ int numErrors = callback.CantFindFiles.Size();
+ for (int i = 0; i < numErrors; i++)
+ {
+ stdStream << callback.CantFindFiles[i] << " : ";
+ stdStream << NError::MyFormatMessageW(callback.CantFindCodes[i]) << endl;
+ }
+ stdStream << "----------------" << endl;
+ stdStream << "WARNING: Cannot find " << numErrors << " file";
+ if (numErrors > 1)
+ stdStream << "s";
+ stdStream << endl;
+ exitCode = NExitCode::kWarning;
+ }
+
if (result != S_OK)
{
stdStream << "\nError:\n";
@@ -291,10 +311,12 @@ int Main2(
stdStream << NError::MyFormatMessageW(errorInfo.SystemError) << endl;
throw CSystemException(result);
}
- int exitCode = NExitCode::kSuccess;
int numErrors = callback.FailedFiles.Size();
if (numErrors == 0)
- stdStream << kEverythingIsOk << endl;
+ {
+ if (callback.CantFindFiles.Size() == 0)
+ stdStream << kEverythingIsOk << endl;
+ }
else
{
stdStream << endl;
diff --git a/7zip/UI/Console/PercentPrinter.cpp b/7zip/UI/Console/PercentPrinter.cpp
index 21fba7e0..81d24222 100755
--- a/7zip/UI/Console/PercentPrinter.cpp
+++ b/7zip/UI/Console/PercentPrinter.cpp
@@ -66,7 +66,7 @@ void CPercentPrinter::RePrintRatio()
UInt64 ratio = m_CurValue * 100 / m_Total;
char temp[32 + kNumDigits] = " "; // for 4 digits;
ConvertUInt64ToString(ratio, temp + kNumDigits);
- int len = strlen(temp + kNumDigits);
+ int len = (int)strlen(temp + kNumDigits);
strcat(temp, "%");
int pos = (len > kNumDigits)? kNumDigits : len;
(*OutStream) << kPercentFormatString1;
diff --git a/7zip/UI/Console/UpdateCallbackConsole.cpp b/7zip/UI/Console/UpdateCallbackConsole.cpp
index f12e7187..30a5285f 100755
--- a/7zip/UI/Console/UpdateCallbackConsole.cpp
+++ b/7zip/UI/Console/UpdateCallbackConsole.cpp
@@ -31,6 +31,24 @@ HRESULT CUpdateCallbackConsole::StartScanning()
return S_OK;
}
+HRESULT CUpdateCallbackConsole::CanNotFindError(const wchar_t *name, DWORD systemError)
+{
+ CantFindFiles.Add(name);
+ CantFindCodes.Add(systemError);
+ // m_PercentPrinter.ClosePrint();
+ if (!m_WarningsMode)
+ {
+ (*OutStream) << endl << endl;
+ m_PercentPrinter.PrintNewLine();
+ m_WarningsMode = true;
+ }
+ m_PercentPrinter.PrintString(name);
+ m_PercentPrinter.PrintString(": WARNING: ");
+ m_PercentPrinter.PrintString(NError::MyFormatMessageW(systemError));
+ m_PercentPrinter.PrintNewLine();
+ return S_OK;
+}
+
HRESULT CUpdateCallbackConsole::FinishScanning()
{
(*OutStream) << endl << endl;
diff --git a/7zip/UI/Console/UpdateCallbackConsole.h b/7zip/UI/Console/UpdateCallbackConsole.h
index d0e679ea..242469ca 100755
--- a/7zip/UI/Console/UpdateCallbackConsole.h
+++ b/7zip/UI/Console/UpdateCallbackConsole.h
@@ -14,6 +14,8 @@ class CUpdateCallbackConsole: public IUpdateCallbackUI2
bool m_PercentCanBePrint;
bool m_NeedBeClosed;
+ bool m_WarningsMode;
+
CStdOutStream *OutStream;
public:
bool EnablePercents;
@@ -29,7 +31,8 @@ public:
PasswordIsDefined(false),
AskPassword(false),
StdOutMode(false),
- EnablePercents(true)
+ EnablePercents(true),
+ m_WarningsMode(false)
{}
~CUpdateCallbackConsole() { Finilize(); }
@@ -46,6 +49,7 @@ public:
HRESULT OpenResult(const wchar_t *name, HRESULT result);
HRESULT StartScanning();
+ HRESULT CanNotFindError(const wchar_t *name, DWORD systemError);
HRESULT FinishScanning();
HRESULT StartArchive(const wchar_t *name, bool updating);
@@ -63,6 +67,9 @@ public:
UStringVector FailedFiles;
CRecordVector<HRESULT> FailedCodes;
+
+ UStringVector CantFindFiles;
+ CRecordVector<HRESULT> CantFindCodes;
};
#endif
diff --git a/7zip/UI/Console/makefile b/7zip/UI/Console/makefile
new file mode 100755
index 00000000..b5f97e48
--- /dev/null
+++ b/7zip/UI/Console/makefile
@@ -0,0 +1,90 @@
+PROG = 7z.exe
+LIBS = $(LIBS) user32.lib oleaut32.lib advapi32.lib
+CFLAGS = $(CFLAGS) -I ../../../
+
+CONSOLE_OBJS = \
+ $O\ConsoleClose.obj \
+ $O\ExtractCallbackConsole.obj \
+ $O\List.obj \
+ $O\Main.obj \
+ $O\MainAr.obj \
+ $O\OpenCallbackConsole.obj \
+ $O\PercentPrinter.obj \
+ $O\UpdateCallbackConsole.obj \
+ $O\UserInputUtils.obj \
+
+COMMON_OBJS = \
+ $O\Alloc.obj \
+ $O\CommandLineParser.obj \
+ $O\IntToString.obj \
+ $O\ListFileUtils.obj \
+ $O\NewHandler.obj \
+ $O\StdInStream.obj \
+ $O\StdOutStream.obj \
+ $O\String.obj \
+ $O\StringConvert.obj \
+ $O\StringToInt.obj \
+ $O\UTFConvert.obj \
+ $O\Vector.obj \
+ $O\Wildcard.obj \
+
+WIN_OBJS = \
+ $O\DLL.obj \
+ $O\Error.obj \
+ $O\FileDir.obj \
+ $O\FileFind.obj \
+ $O\FileIO.obj \
+ $O\FileName.obj \
+ $O\PropVariant.obj \
+ $O\PropVariantConversions.obj \
+ $O\Registry.obj \
+
+7ZIP_COMMON_OBJS = \
+ $O\FilePathAutoRename.obj \
+ $O\FileStreams.obj \
+
+UI_COMMON_OBJS = \
+ $O\ArchiveCommandLine.obj \
+ $O\ArchiveExtractCallback.obj \
+ $O\ArchiveOpenCallback.obj \
+ $O\ArchiverInfo.obj \
+ $O\DefaultName.obj \
+ $O\EnumDirItems.obj \
+ $O\Extract.obj \
+ $O\ExtractingFilePath.obj \
+ $O\OpenArchive.obj \
+ $O\PropIDUtils.obj \
+ $O\SortUtils.obj \
+ $O\TempFiles.obj \
+ $O\Update.obj \
+ $O\UpdateAction.obj \
+ $O\UpdateCallback.obj \
+ $O\UpdatePair.obj \
+ $O\UpdateProduce.obj \
+ $O\WorkDir.obj \
+
+
+OBJS = \
+ $O\StdAfx.obj \
+ $(CONSOLE_OBJS) \
+ $(COMMON_OBJS) \
+ $(WIN_OBJS) \
+ $(7ZIP_COMMON_OBJS) \
+ $(UI_COMMON_OBJS) \
+ $O\CopyCoder.obj \
+ $O\resource.res
+
+!include "../../../Build.mak"
+
+$(CONSOLE_OBJS): $(*B).cpp
+ $(COMPL)
+$(COMMON_OBJS): ../../../Common/$(*B).cpp
+ $(COMPL)
+$(WIN_OBJS): ../../../Windows/$(*B).cpp
+ $(COMPL)
+$(7ZIP_COMMON_OBJS): ../../Common/$(*B).cpp
+ $(COMPL)
+$(UI_COMMON_OBJS): ../Common/$(*B).cpp
+ $(COMPL)
+$O\CopyCoder.obj: ../../Compress/Copy/$(*B).cpp
+ $(COMPL)
diff --git a/7zip/UI/Console/resource.h b/7zip/UI/Console/resource.h
deleted file mode 100755
index 612062a2..00000000
--- a/7zip/UI/Console/resource.h
+++ /dev/null
@@ -1,15 +0,0 @@
-//{{NO_DEPENDENCIES}}
-// Microsoft Developer Studio generated include file.
-// Used by resource.rc
-//
-
-// Next default values for new objects
-//
-#ifdef APSTUDIO_INVOKED
-#ifndef APSTUDIO_READONLY_SYMBOLS
-#define _APS_NEXT_RESOURCE_VALUE 101
-#define _APS_NEXT_COMMAND_VALUE 40001
-#define _APS_NEXT_CONTROL_VALUE 1000
-#define _APS_NEXT_SYMED_VALUE 101
-#endif
-#endif
diff --git a/7zip/UI/Console/resource.rc b/7zip/UI/Console/resource.rc
index 907a5559..6e09bb96 100755
--- a/7zip/UI/Console/resource.rc
+++ b/7zip/UI/Console/resource.rc
@@ -1,121 +1,3 @@
-//Microsoft Developer Studio generated resource script.
-//
-#include "resource.h"
-
-#define APSTUDIO_READONLY_SYMBOLS
-/////////////////////////////////////////////////////////////////////////////
-//
-// Generated from the TEXTINCLUDE 2 resource.
-//
-#include "afxres.h"
-
-/////////////////////////////////////////////////////////////////////////////
-#undef APSTUDIO_READONLY_SYMBOLS
-
-/////////////////////////////////////////////////////////////////////////////
-// Russian resources
-
-#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_RUS)
-#ifdef _WIN32
-LANGUAGE LANG_RUSSIAN, SUBLANG_DEFAULT
-#pragma code_page(1251)
-#endif //_WIN32
-
-#ifdef APSTUDIO_INVOKED
-/////////////////////////////////////////////////////////////////////////////
-//
-// TEXTINCLUDE
-//
-
-1 TEXTINCLUDE DISCARDABLE
-BEGIN
- "resource.h\0"
-END
-
-2 TEXTINCLUDE DISCARDABLE
-BEGIN
- "#include ""afxres.h""\r\n"
- "\0"
-END
-
-3 TEXTINCLUDE DISCARDABLE
-BEGIN
- "\r\n"
- "\0"
-END
-
-#endif // APSTUDIO_INVOKED
-
-#endif // Russian resources
-/////////////////////////////////////////////////////////////////////////////
-
-
-/////////////////////////////////////////////////////////////////////////////
-// English (U.S.) resources
-
-#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_ENU)
-#ifdef _WIN32
-LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US
-#pragma code_page(1252)
-#endif //_WIN32
-
-#ifndef _MAC
-/////////////////////////////////////////////////////////////////////////////
-//
-// Version
-//
-
-VS_VERSION_INFO VERSIONINFO
- FILEVERSION 4,24,0,0
- PRODUCTVERSION 4,24,0,0
- FILEFLAGSMASK 0x3fL
-#ifdef _DEBUG
- FILEFLAGS 0x1L
-#else
- FILEFLAGS 0x0L
-#endif
- FILEOS 0x40004L
- FILETYPE 0x1L
- FILESUBTYPE 0x0L
-BEGIN
- BLOCK "StringFileInfo"
- BEGIN
- BLOCK "040904b0"
- BEGIN
- VALUE "Comments", "\0"
- VALUE "CompanyName", "Igor Pavlov\0"
- VALUE "FileDescription", "7-Zip Console version\0"
- VALUE "FileVersion", "4, 24, 0, 0\0"
- VALUE "InternalName", "7z\0"
- VALUE "LegalCopyright", "Copyright (C) 1999-2005 Igor Pavlov\0"
- VALUE "LegalTrademarks", "\0"
- VALUE "OriginalFilename", "7z.exe\0"
- VALUE "PrivateBuild", "\0"
- VALUE "ProductName", "7-Zip\0"
- VALUE "ProductVersion", "4, 24, 0, 0\0"
- VALUE "SpecialBuild", "\0"
- END
- END
- BLOCK "VarFileInfo"
- BEGIN
- VALUE "Translation", 0x409, 1200
- END
-END
-
-#endif // !_MAC
-
-#endif // English (U.S.) resources
-/////////////////////////////////////////////////////////////////////////////
-
-
-
-#ifndef APSTUDIO_INVOKED
-/////////////////////////////////////////////////////////////////////////////
-//
-// Generated from the TEXTINCLUDE 3 resource.
-//
-
-
-/////////////////////////////////////////////////////////////////////////////
-#endif // not APSTUDIO_INVOKED
+#include "../../MyVersionInfo.rc"
+MY_VERSION_INFO_APP("7-Zip Console", "7z")
diff --git a/7zip/UI/Explorer/7-zip.dll.manifest b/7zip/UI/Explorer/7-zip.dll.manifest
index d7dce9dc..cba1c5df 100755
--- a/7zip/UI/Explorer/7-zip.dll.manifest
+++ b/7zip/UI/Explorer/7-zip.dll.manifest
@@ -1 +1 @@
-<?xml version="1.0" encoding="UTF-8" standalone="yes"?><assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0"><assemblyIdentity version="1.0.0.0" processorArchitecture="X86" name="7-Zip.7-Zip.7-zip" type="win32"/><description>7-Zip Extension.</description><dependency> <dependentAssembly><assemblyIdentity type="win32" name="Microsoft.Windows.Common-Controls" version="6.0.0.0" processorArchitecture="X86" publicKeyToken="6595b64144ccf1df" language="*"/></dependentAssembly></dependency></assembly>
+<?xml version="1.0" encoding="UTF-8" standalone="yes"?><assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0"><assemblyIdentity version="1.0.0.0" processorArchitecture="*" name="7-Zip.7-Zip.7-zip" type="win32"/><description>7-Zip Extension.</description><dependency> <dependentAssembly><assemblyIdentity type="win32" name="Microsoft.Windows.Common-Controls" version="6.0.0.0" processorArchitecture="*" publicKeyToken="6595b64144ccf1df" language="*"/></dependentAssembly></dependency></assembly>
diff --git a/7zip/UI/Explorer/ContextMenu.cpp b/7zip/UI/Explorer/ContextMenu.cpp
index 6c1b34bb..5d945c60 100755
--- a/7zip/UI/Explorer/ContextMenu.cpp
+++ b/7zip/UI/Explorer/ContextMenu.cpp
@@ -418,11 +418,12 @@ STDMETHODIMP CZipContextMenu::QueryContextMenu(HMENU hMenu, UINT indexMenu,
UString s;
FillCommand2(kExtractTo, s, commandMapItem);
UString folder;
+ folder += UString(L"\"");
if (_fileNames.Size() == 1)
- folder = GetSubFolderNameForExtract(fileInfo.Name);
+ folder += GetSubFolderNameForExtract(fileInfo.Name);
else
- folder = L'*';
- folder += L'\\';
+ folder += L'*';
+ folder += L"\\\"";
if (_dropMode)
commandMapItem.Folder = _dropPath;
@@ -728,7 +729,7 @@ static void MyCopyString(void *dest, const wchar_t *src, bool writeInUnicode)
lstrcpyA((char *)dest, GetAnsiString(src));
}
-STDMETHODIMP CZipContextMenu::GetCommandString(UINT commandOffset, UINT uType,
+STDMETHODIMP CZipContextMenu::GetCommandString(UINT_PTR commandOffset, UINT uType,
UINT *pwReserved, LPSTR pszName, UINT cchMax)
{
switch(uType)
diff --git a/7zip/UI/Explorer/ContextMenu.h b/7zip/UI/Explorer/ContextMenu.h
index b9c3ba8b..cd2c1b3d 100755
--- a/7zip/UI/Explorer/ContextMenu.h
+++ b/7zip/UI/Explorer/ContextMenu.h
@@ -59,7 +59,7 @@ public:
STDMETHOD(QueryContextMenu)(HMENU hmenu, UINT indexMenu,
UINT idCmdFirst, UINT idCmdLast, UINT uFlags);
STDMETHOD(InvokeCommand)(LPCMINVOKECOMMANDINFO lpici);
- STDMETHOD(GetCommandString)(UINT idCmd, UINT uType, UINT *pwReserved,
+ STDMETHOD(GetCommandString)(UINT_PTR idCmd, UINT uType, UINT *pwReserved,
LPSTR pszName, UINT cchMax);
diff --git a/7zip/UI/Explorer/Explorer.def b/7zip/UI/Explorer/Explorer.def
index a182208b..752fbb7a 100755
--- a/7zip/UI/Explorer/Explorer.def
+++ b/7zip/UI/Explorer/Explorer.def
@@ -3,8 +3,8 @@
LIBRARY "7-zip"
EXPORTS
- DllCanUnloadNow PRIVATE
- DllGetClassObject PRIVATE
+ DllCanUnloadNow PRIVATE
+ DllGetClassObject PRIVATE
DllRegisterServer PRIVATE
DllUnregisterServer PRIVATE
diff --git a/7zip/UI/Explorer/Explorer.dsp b/7zip/UI/Explorer/Explorer.dsp
index 9f013046..371c9ac4 100755
--- a/7zip/UI/Explorer/Explorer.dsp
+++ b/7zip/UI/Explorer/Explorer.dsp
@@ -320,10 +320,6 @@ SOURCE=..\Common\ZipRegistry.cpp
SOURCE=..\Common\ZipRegistry.h
# End Source File
-# Begin Source File
-
-SOURCE=..\Common\ZipSettings.h
-# End Source File
# End Group
# Begin Group "Engine"
@@ -356,15 +352,6 @@ SOURCE=.\MyMessages.h
# PROP Default_Filter ""
# Begin Source File
-SOURCE=.\SystemPage\resource.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\SystemPage\resource.rc
-# PROP Exclude_From_Build 1
-# End Source File
-# Begin Source File
-
SOURCE=.\SystemPage\SystemPage.cpp
# End Source File
# Begin Source File
@@ -383,15 +370,6 @@ SOURCE=.\FoldersPage\FoldersPage.cpp
SOURCE=.\FoldersPage\FoldersPage.h
# End Source File
-# Begin Source File
-
-SOURCE=.\FoldersPage\resource.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\FoldersPage\resource.rc
-# PROP Exclude_From_Build 1
-# End Source File
# End Group
# End Group
# End Group
@@ -571,6 +549,14 @@ SOURCE=..\..\..\Common\StringConvert.h
# End Source File
# Begin Source File
+SOURCE=..\..\..\Common\StringToInt.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\..\Common\StringToInt.h
+# End Source File
+# Begin Source File
+
SOURCE=..\..\..\Common\TextConfig.cpp
# End Source File
# Begin Source File
@@ -671,10 +657,6 @@ SOURCE=..\..\..\Windows\FileIO.h
# End Source File
# Begin Source File
-SOURCE=..\..\..\Windows\FileMapping.cpp
-# End Source File
-# Begin Source File
-
SOURCE=..\..\..\Windows\FileMapping.h
# End Source File
# Begin Source File
diff --git a/7zip/UI/Explorer/FoldersPage/FoldersPage.cpp b/7zip/UI/Explorer/FoldersPage/FoldersPage.cpp
index dc99b979..db6bebdd 100755
--- a/7zip/UI/Explorer/FoldersPage/FoldersPage.cpp
+++ b/7zip/UI/Explorer/FoldersPage/FoldersPage.cpp
@@ -1,4 +1,4 @@
-// FoldersDialog.cpp
+// FoldersPage.cpp
#include "StdAfx.h"
diff --git a/7zip/UI/Explorer/FoldersPage/resource.h b/7zip/UI/Explorer/FoldersPage/resource.h
index f413a54d..3052409b 100755
--- a/7zip/UI/Explorer/FoldersPage/resource.h
+++ b/7zip/UI/Explorer/FoldersPage/resource.h
@@ -1,27 +1,12 @@
-//{{NO_DEPENDENCIES}}
-// Microsoft Developer Studio generated include file.
-// Used by resource.rc
-//
#define IDD_FOLDERS 900
#define IDS_FOLDERS_SET_WORK_PATH_TITLE 103
-#define IDC_FOLDERS_WORK_RADIO_SYSTEM 1002
-#define IDC_FOLDERS_WORK_EDIT_PATH 1003
-#define IDC_FOLDERS_WORK_BUTTON_PATH 1004
-#define IDC_FOLDERS_WORK_RADIO_CURRENT 1005
-#define IDC_FOLDERS_WORK_RADIO_SPECIFIED 1006
-#define IDC_FOLDERS_WORK_CHECK_FOR_REMOVABLE 1007
+#define IDC_FOLDERS_STATIC_WORKING_FOLDER 1001
-#define IDC_FOLDERS_STATIC_WORKING_FOLDER 1019
-
-// Next default values for new objects
-//
-#ifdef APSTUDIO_INVOKED
-#ifndef APSTUDIO_READONLY_SYMBOLS
-#define _APS_NEXT_RESOURCE_VALUE 135
-#define _APS_NEXT_COMMAND_VALUE 32771
-#define _APS_NEXT_CONTROL_VALUE 1020
-#define _APS_NEXT_SYMED_VALUE 101
-#endif
-#endif
+#define IDC_FOLDERS_WORK_RADIO_SYSTEM 1011
+#define IDC_FOLDERS_WORK_RADIO_CURRENT 1012
+#define IDC_FOLDERS_WORK_RADIO_SPECIFIED 1013
+#define IDC_FOLDERS_WORK_EDIT_PATH 1014
+#define IDC_FOLDERS_WORK_BUTTON_PATH 1015
+#define IDC_FOLDERS_WORK_CHECK_FOR_REMOVABLE 1017
diff --git a/7zip/UI/Explorer/FoldersPage/resource.rc b/7zip/UI/Explorer/FoldersPage/resource.rc
index f883e0d6..96b2c9d3 100755
--- a/7zip/UI/Explorer/FoldersPage/resource.rc
+++ b/7zip/UI/Explorer/FoldersPage/resource.rc
@@ -1,109 +1,36 @@
-//Microsoft Developer Studio generated resource script.
-//
#include "resource.h"
+#include "../../../GuiCommon.rc"
-#define APSTUDIO_READONLY_SYMBOLS
-/////////////////////////////////////////////////////////////////////////////
-//
-// Generated from the TEXTINCLUDE 2 resource.
-//
-#include "afxres.h"
+#define xSize2 196
+#define ySize2 140
+#define xSize (xSize2 + marg + marg)
+#define ySize (ySize2 + marg + marg)
-/////////////////////////////////////////////////////////////////////////////
-#undef APSTUDIO_READONLY_SYMBOLS
+#define marg2 marg
+#define marg3 10
+#define gPos (marg + marg2)
+#define gSize (xSize2 - marg2 - marg2)
+#define gPos2 (gPos + marg3)
-/////////////////////////////////////////////////////////////////////////////
-// Russian resources
-#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_RUS)
-#ifdef _WIN32
-LANGUAGE LANG_RUSSIAN, SUBLANG_DEFAULT
-#pragma code_page(1251)
-#endif //_WIN32
-
-#ifdef APSTUDIO_INVOKED
-/////////////////////////////////////////////////////////////////////////////
-//
-// TEXTINCLUDE
-//
-
-1 TEXTINCLUDE DISCARDABLE
-BEGIN
- "resource.h\0"
-END
-
-2 TEXTINCLUDE DISCARDABLE
-BEGIN
- "#include ""afxres.h""\r\n"
- "\0"
-END
-
-3 TEXTINCLUDE DISCARDABLE
-BEGIN
- "\0"
-END
-
-#endif // APSTUDIO_INVOKED
-
-#endif // Russian resources
-/////////////////////////////////////////////////////////////////////////////
-
-
-/////////////////////////////////////////////////////////////////////////////
-// English (U.S.) resources
-
-#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_ENU)
-#ifdef _WIN32
-LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US
-#pragma code_page(1252)
-#endif //_WIN32
-
-/////////////////////////////////////////////////////////////////////////////
-//
-// Dialog
-//
-
-IDD_FOLDERS DIALOG DISCARDABLE 0, 0, 210, 154
-STYLE DS_FIXEDSYS | WS_CHILD | WS_DISABLED | WS_CAPTION
+IDD_FOLDERS DIALOG 0, 0, xSize, ySize MY_PAGE_STYLE
CAPTION "Folders"
-FONT 8, "MS Shell Dlg"
+MY_FONT
BEGIN
- GROUPBOX "&Working folder",IDC_FOLDERS_STATIC_WORKING_FOLDER,7,7,
- 196,98
- CONTROL "&System temp folder",IDC_FOLDERS_WORK_RADIO_SYSTEM,
- "Button",BS_AUTORADIOBUTTON | WS_GROUP,19,20,150,10
- CONTROL "&Current",IDC_FOLDERS_WORK_RADIO_CURRENT,"Button",
- BS_AUTORADIOBUTTON,19,34,150,10
- CONTROL "Specified:",IDC_FOLDERS_WORK_RADIO_SPECIFIED,"Button",
- BS_AUTORADIOBUTTON,19,48,151,10
- EDITTEXT IDC_FOLDERS_WORK_EDIT_PATH,39,63,130,14,ES_AUTOHSCROLL
- PUSHBUTTON "...",IDC_FOLDERS_WORK_BUTTON_PATH,178,63,18,14
- CONTROL "Use for removable drives only",
- IDC_FOLDERS_WORK_CHECK_FOR_REMOVABLE,"Button",
- BS_AUTOCHECKBOX | WS_TABSTOP,19,87,180,10
+ GROUPBOX "&Working folder", IDC_FOLDERS_STATIC_WORKING_FOLDER, marg, marg, xSize2, 98
+ CONTROL "&System temp folder", IDC_FOLDERS_WORK_RADIO_SYSTEM, "Button", BS_AUTORADIOBUTTON | WS_GROUP,
+ gPos, 20, gSize, 10
+ CONTROL "&Current", IDC_FOLDERS_WORK_RADIO_CURRENT, "Button", BS_AUTORADIOBUTTON,
+ gPos, 34, gSize, 10
+ CONTROL "Specified:", IDC_FOLDERS_WORK_RADIO_SPECIFIED, "Button", BS_AUTORADIOBUTTON,
+ gPos, 48, gSize, 10
+ EDITTEXT IDC_FOLDERS_WORK_EDIT_PATH, gPos2, 63, gSize - marg3 - bDotsSize - 10, 14, ES_AUTOHSCROLL
+ PUSHBUTTON "...", IDC_FOLDERS_WORK_BUTTON_PATH, xSize - marg - marg2 - bDotsSize, 63, bDotsSize, bYSize
+ CONTROL "Use for removable drives only", IDC_FOLDERS_WORK_CHECK_FOR_REMOVABLE, "Button", BS_AUTOCHECKBOX | WS_TABSTOP,
+ gPos, 87, gSize, 10
END
-
-/////////////////////////////////////////////////////////////////////////////
-//
-// DESIGNINFO
-//
-
-#ifdef APSTUDIO_INVOKED
-GUIDELINES DESIGNINFO DISCARDABLE
+STRINGTABLE
BEGIN
- IDD_FOLDERS, DIALOG
- BEGIN
- LEFTMARGIN, 7
- RIGHTMARGIN, 203
- TOPMARGIN, 7
- BOTTOMMARGIN, 147
- END
+ IDS_FOLDERS_SET_WORK_PATH_TITLE "Specify a location for temporary archive files."
END
-#endif // APSTUDIO_INVOKED
-
-
-#endif // English (U.S.) resources
-/////////////////////////////////////////////////////////////////////////////
-
-
diff --git a/7zip/UI/Explorer/RegistryContextMenu.cpp b/7zip/UI/Explorer/RegistryContextMenu.cpp
index db2d3868..409f8204 100755
--- a/7zip/UI/Explorer/RegistryContextMenu.cpp
+++ b/7zip/UI/Explorer/RegistryContextMenu.cpp
@@ -19,16 +19,22 @@ static NSynchronization::CCriticalSection g_RegistryOperationsCriticalSection;
///////////////////////////
// ContextMenu
-static const TCHAR *kContextMenuKeyName = TEXT("\\shellex\\ContextMenuHandlers\\7-ZIP");
-static const TCHAR *kContextMenuHandlerCLASSIDValue =
- TEXT("{23170F69-40C1-278A-1000-000100020000}");
+static const TCHAR *kContextMenuKeyName = TEXT("\\shellex\\ContextMenuHandlers\\7-ZIP");
+static const TCHAR *kDragDropMenuKeyName = TEXT("\\shellex\\DragDropHandlers\\7-ZIP");
+
+static const TCHAR *kExtensionCLSID = TEXT("{23170F69-40C1-278A-1000-000100020000}");
+
static const TCHAR *kRootKeyNameForFile = TEXT("*");
static const TCHAR *kRootKeyNameForFolder = TEXT("Folder");
static const TCHAR *kRootKeyNameForDirectory = TEXT("Directory");
+static const TCHAR *kRootKeyNameForDrive = TEXT("Drive");
static CSysString GetFullContextMenuKeyName(const CSysString &keyName)
{ return (keyName + kContextMenuKeyName); }
+static CSysString GetFullDragDropMenuKeyName(const CSysString &keyName)
+ { return (keyName + kDragDropMenuKeyName); }
+
static bool CheckContextMenuHandlerCommon(const CSysString &keyName)
{
NSynchronization::CCriticalSectionLock lock(g_RegistryOperationsCriticalSection);
@@ -39,14 +45,28 @@ static bool CheckContextMenuHandlerCommon(const CSysString &keyName)
CSysString value;
if (key.QueryValue(NULL, value) != ERROR_SUCCESS)
return false;
- return (value.CollateNoCase(kContextMenuHandlerCLASSIDValue) == 0);
+ return (value.CollateNoCase(kExtensionCLSID) == 0);
+}
+
+static bool CheckDragDropMenuHandlerCommon(const CSysString &keyName)
+{
+ NSynchronization::CCriticalSectionLock lock(g_RegistryOperationsCriticalSection);
+ CKey key;
+ if (key.Open(HKEY_CLASSES_ROOT, GetFullDragDropMenuKeyName(keyName), KEY_READ) != ERROR_SUCCESS)
+ return false;
+ CSysString value;
+ if (key.QueryValue(NULL, value) != ERROR_SUCCESS)
+ return false;
+ return (value.CollateNoCase(kExtensionCLSID) == 0);
}
bool CheckContextMenuHandler()
{
return CheckContextMenuHandlerCommon(kRootKeyNameForFile) &&
- CheckContextMenuHandlerCommon(kRootKeyNameForFolder) &&
- CheckContextMenuHandlerCommon(kRootKeyNameForDirectory);
+ // CheckContextMenuHandlerCommon(kRootKeyNameForFolder) &&
+ CheckContextMenuHandlerCommon(kRootKeyNameForDirectory) &&
+ CheckDragDropMenuHandlerCommon(kRootKeyNameForDirectory) &&
+ CheckDragDropMenuHandlerCommon(kRootKeyNameForDrive);
}
static void DeleteContextMenuHandlerCommon(const CSysString &keyName)
@@ -57,11 +77,24 @@ static void DeleteContextMenuHandlerCommon(const CSysString &keyName)
rootKey.Detach();
}
+static void DeleteDragDropMenuHandlerCommon(const CSysString &keyName)
+{
+ CKey rootKey;
+ rootKey.Attach(HKEY_CLASSES_ROOT);
+ rootKey.RecurseDeleteKey(GetFullDragDropMenuKeyName(keyName));
+ rootKey.Detach();
+}
+
void DeleteContextMenuHandler()
{
DeleteContextMenuHandlerCommon(kRootKeyNameForFile);
DeleteContextMenuHandlerCommon(kRootKeyNameForFolder);
DeleteContextMenuHandlerCommon(kRootKeyNameForDirectory);
+ DeleteContextMenuHandlerCommon(kRootKeyNameForDrive);
+ DeleteDragDropMenuHandlerCommon(kRootKeyNameForFile);
+ DeleteDragDropMenuHandlerCommon(kRootKeyNameForFolder);
+ DeleteDragDropMenuHandlerCommon(kRootKeyNameForDirectory);
+ DeleteDragDropMenuHandlerCommon(kRootKeyNameForDrive);
}
static void AddContextMenuHandlerCommon(const CSysString &keyName)
@@ -70,14 +103,26 @@ static void AddContextMenuHandlerCommon(const CSysString &keyName)
NSynchronization::CCriticalSectionLock lock(g_RegistryOperationsCriticalSection);
CKey key;
key.Create(HKEY_CLASSES_ROOT, GetFullContextMenuKeyName(keyName));
- key.SetValue(NULL, kContextMenuHandlerCLASSIDValue);
+ key.SetValue(NULL, kExtensionCLSID);
+}
+
+static void AddDragDropMenuHandlerCommon(const CSysString &keyName)
+{
+ DeleteDragDropMenuHandlerCommon(keyName);
+ NSynchronization::CCriticalSectionLock lock(g_RegistryOperationsCriticalSection);
+ CKey key;
+ key.Create(HKEY_CLASSES_ROOT, GetFullDragDropMenuKeyName(keyName));
+ key.SetValue(NULL, kExtensionCLSID);
}
void AddContextMenuHandler()
{
AddContextMenuHandlerCommon(kRootKeyNameForFile);
- AddContextMenuHandlerCommon(kRootKeyNameForFolder);
+ // AddContextMenuHandlerCommon(kRootKeyNameForFolder);
AddContextMenuHandlerCommon(kRootKeyNameForDirectory);
+
+ AddDragDropMenuHandlerCommon(kRootKeyNameForDirectory);
+ AddDragDropMenuHandlerCommon(kRootKeyNameForDrive);
}
}
diff --git a/7zip/UI/Explorer/SystemPage/SystemPage.cpp b/7zip/UI/Explorer/SystemPage/SystemPage.cpp
index 0fdba63d..4268fea3 100755
--- a/7zip/UI/Explorer/SystemPage/SystemPage.cpp
+++ b/7zip/UI/Explorer/SystemPage/SystemPage.cpp
@@ -1,4 +1,4 @@
-// SystemDialog.cpp
+// SystemPage.cpp
#include "StdAfx.h"
#include "resource.h"
diff --git a/7zip/UI/Explorer/SystemPage/resource.h b/7zip/UI/Explorer/SystemPage/resource.h
index 7b5bf208..b125849c 100755
--- a/7zip/UI/Explorer/SystemPage/resource.h
+++ b/7zip/UI/Explorer/SystemPage/resource.h
@@ -1,20 +1,6 @@
-//{{NO_DEPENDENCIES}}
-// Microsoft Developer Studio generated include file.
-// Used by resource.rc
-//
#define IDD_SYSTEM 102
+
#define IDC_SYSTEM_INTEGRATE_TO_CONTEXT_MENU 1010
#define IDC_SYSTEM_CASCADED_MENU 1011
#define IDC_SYSTEM_STATIC_CONTEXT_MENU_ITEMS 1020
#define IDC_SYSTEM_OPTIONS_LIST 1022
-
-// Next default values for new objects
-//
-#ifdef APSTUDIO_INVOKED
-#ifndef APSTUDIO_READONLY_SYMBOLS
-#define _APS_NEXT_RESOURCE_VALUE 135
-#define _APS_NEXT_COMMAND_VALUE 32771
-#define _APS_NEXT_CONTROL_VALUE 1025
-#define _APS_NEXT_SYMED_VALUE 101
-#endif
-#endif
diff --git a/7zip/UI/Explorer/SystemPage/resource.rc b/7zip/UI/Explorer/SystemPage/resource.rc
index 20845368..fdfed433 100755
--- a/7zip/UI/Explorer/SystemPage/resource.rc
+++ b/7zip/UI/Explorer/SystemPage/resource.rc
@@ -1,105 +1,24 @@
-//Microsoft Developer Studio generated resource script.
-//
#include "resource.h"
+#include "../../../GuiCommon.rc"
-#define APSTUDIO_READONLY_SYMBOLS
-/////////////////////////////////////////////////////////////////////////////
-//
-// Generated from the TEXTINCLUDE 2 resource.
-//
-#include "afxres.h"
+#define xSize2 196
+#define ySize2 164
+#define xSize (xSize2 + marg + marg)
+#define ySize (ySize2 + marg + marg)
-/////////////////////////////////////////////////////////////////////////////
-#undef APSTUDIO_READONLY_SYMBOLS
-
-/////////////////////////////////////////////////////////////////////////////
-// Russian resources
-
-#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_RUS)
-#ifdef _WIN32
-LANGUAGE LANG_RUSSIAN, SUBLANG_DEFAULT
-#pragma code_page(1251)
-#endif //_WIN32
-
-#ifdef APSTUDIO_INVOKED
-/////////////////////////////////////////////////////////////////////////////
-//
-// TEXTINCLUDE
-//
-
-1 TEXTINCLUDE DISCARDABLE
-BEGIN
- "resource.h\0"
-END
-
-2 TEXTINCLUDE DISCARDABLE
-BEGIN
- "#include ""afxres.h""\r\n"
- "\0"
-END
-
-3 TEXTINCLUDE DISCARDABLE
-BEGIN
- "\0"
-END
-
-#endif // APSTUDIO_INVOKED
-
-#endif // Russian resources
-/////////////////////////////////////////////////////////////////////////////
-
-
-/////////////////////////////////////////////////////////////////////////////
-// English (U.S.) resources
-
-#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_ENU)
-#ifdef _WIN32
-LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US
-#pragma code_page(1252)
-#endif //_WIN32
-
-/////////////////////////////////////////////////////////////////////////////
-//
-// Dialog
-//
-
-IDD_SYSTEM DIALOG DISCARDABLE 0, 0, 210, 178
-STYLE DS_FIXEDSYS | WS_CHILD | WS_DISABLED | WS_CAPTION
+IDD_SYSTEM DIALOG 0, 0, xSize, ySize MY_PAGE_STYLE
CAPTION "System"
-FONT 8, "MS Shell Dlg"
+MY_FONT
BEGIN
- CONTROL "Integrate 7-Zip to shell context menu",
- IDC_SYSTEM_INTEGRATE_TO_CONTEXT_MENU,"Button",
- BS_AUTOCHECKBOX | WS_TABSTOP,7,7,196,10
- CONTROL "Cascaded context menu",IDC_SYSTEM_CASCADED_MENU,"Button",
- BS_AUTOCHECKBOX | WS_TABSTOP,7,21,196,10
- CONTROL "List1",IDC_SYSTEM_OPTIONS_LIST,"SysListView32",
- LVS_REPORT | LVS_SINGLESEL | LVS_NOCOLUMNHEADER |
- WS_BORDER | WS_TABSTOP,7,50,196,121
- LTEXT "Context menu items:",
- IDC_SYSTEM_STATIC_CONTEXT_MENU_ITEMS,7,37,196,8
+ CONTROL "Integrate 7-Zip to shell context menu", IDC_SYSTEM_INTEGRATE_TO_CONTEXT_MENU,
+ "Button", BS_AUTOCHECKBOX | WS_TABSTOP,
+ marg, marg, xSize2, 10
+ CONTROL "Cascaded context menu", IDC_SYSTEM_CASCADED_MENU,
+ "Button", BS_AUTOCHECKBOX | WS_TABSTOP,
+ marg, 21, xSize2, 10
+ LTEXT "Context menu items:", IDC_SYSTEM_STATIC_CONTEXT_MENU_ITEMS,
+ marg, 37, xSize2, 8
+ CONTROL "List1", IDC_SYSTEM_OPTIONS_LIST, "SysListView32",
+ LVS_REPORT | LVS_SINGLESEL | LVS_NOCOLUMNHEADER | WS_BORDER | WS_TABSTOP,
+ marg, 50, xSize2, ySize - marg - 50
END
-
-
-/////////////////////////////////////////////////////////////////////////////
-//
-// DESIGNINFO
-//
-
-#ifdef APSTUDIO_INVOKED
-GUIDELINES DESIGNINFO DISCARDABLE
-BEGIN
- IDD_SYSTEM, DIALOG
- BEGIN
- LEFTMARGIN, 7
- RIGHTMARGIN, 203
- TOPMARGIN, 7
- BOTTOMMARGIN, 171
- END
-END
-#endif // APSTUDIO_INVOKED
-
-#endif // English (U.S.) resources
-/////////////////////////////////////////////////////////////////////////////
-
-
diff --git a/7zip/UI/Explorer/makefile b/7zip/UI/Explorer/makefile
new file mode 100755
index 00000000..99059538
--- /dev/null
+++ b/7zip/UI/Explorer/makefile
@@ -0,0 +1,128 @@
+PROG = 7-zip.dll
+DEF_FILE = Explorer.def
+LIBS = $(LIBS) user32.lib oleaut32.lib advapi32.lib htmlhelp.lib shell32.lib comctl32.lib ole32.lib comdlg32.lib
+CFLAGS = $(CFLAGS) -I ../../../ \
+ -DLANG \
+ -DNEW_FOLDER_INTERFACE
+
+EXPLORER_OBJS = \
+ $O\DllExports.obj \
+ $O\ContextMenu.obj \
+ $O\MyMessages.obj \
+ $O\OptionsDialog.obj \
+ $O\RegistryContextMenu.obj \
+
+COMMON_OBJS = \
+ $O\Alloc.obj \
+ $O\IntToString.obj \
+ $O\Lang.obj \
+ $O\ListFileUtils.obj \
+ $O\NewHandler.obj \
+ $O\Random.obj \
+ $O\StdInStream.obj \
+ $O\String.obj \
+ $O\StringConvert.obj \
+ $O\StringToInt.obj \
+ $O\TextConfig.obj \
+ $O\UTFConvert.obj \
+ $O\Vector.obj \
+ $O\Wildcard.obj \
+
+WIN_OBJS = \
+ $O\DLL.obj \
+ $O\Error.obj \
+ $O\FileDir.obj \
+ $O\FileFind.obj \
+ $O\FileIO.obj \
+ $O\FileName.obj \
+ $O\PropVariant.obj \
+ $O\PropVariantConversions.obj \
+ $O\Registry.obj \
+ $O\ResourceString.obj \
+ $O\Shell.obj \
+ $O\Synchronization.obj \
+ $O\Window.obj \
+
+WIN_CTRL_OBJS = \
+ $O\Dialog.obj \
+ $O\PropertyPage.obj \
+
+7ZIP_COMMON_OBJS = \
+ $O\FilePathAutoRename.obj \
+ $O\FileStreams.obj \
+
+UI_COMMON_OBJS = \
+ $O\ArchiveExtractCallback.obj \
+ $O\ArchiveName.obj \
+ $O\ArchiveOpenCallback.obj \
+ $O\ArchiverInfo.obj \
+ $O\CompressCall.obj \
+ $O\DefaultName.obj \
+ $O\EnumDirItems.obj \
+ $O\ExtractingFilePath.obj \
+ $O\OpenArchive.obj \
+ $O\PropIDUtils.obj \
+ $O\SortUtils.obj \
+ $O\UpdateAction.obj \
+ $O\UpdateCallback.obj \
+ $O\UpdatePair.obj \
+ $O\UpdateProduce.obj \
+ $O\WorkDir.obj \
+ $O\ZipRegistry.obj \
+
+AGENT_OBJS = \
+ $O\Agent.obj \
+ $O\AgentOut.obj \
+ $O\AgentProxy.obj \
+ $O\ArchiveFolder.obj \
+ $O\ArchiveFolderOpen.obj \
+ $O\ArchiveFolderOut.obj \
+ $O\UpdateCallbackAgent.obj \
+
+
+FM_COMMON_OBJS = \
+ $O\FormatUtils.obj \
+ $O\HelpUtils.obj \
+ $O\LangUtils.obj \
+ $O\ProgramLocation.obj \
+ $O\RegistryUtils.obj \
+
+OBJS = \
+ $O\StdAfx.obj \
+ $(EXPLORER_OBJS) \
+ $(COMMON_OBJS) \
+ $(WIN_OBJS) \
+ $(WIN_CTRL_OBJS) \
+ $(7ZIP_COMMON_OBJS) \
+ $(UI_COMMON_OBJS) \
+ $(AGENT_OBJS) \
+ $(FM_COMMON_OBJS)\
+ $O\SystemPage.obj \
+ $O\FoldersPage.obj \
+ $O\CopyCoder.obj \
+ $O\resource.res
+
+!include "../../../Build.mak"
+
+$(EXPLORER_OBJS): $(*B).cpp
+ $(COMPL)
+$(COMMON_OBJS): ../../../Common/$(*B).cpp
+ $(COMPL)
+$(WIN_OBJS): ../../../Windows/$(*B).cpp
+ $(COMPL)
+$(WIN_CTRL_OBJS): ../../../Windows/Control/$(*B).cpp
+ $(COMPL)
+$(7ZIP_COMMON_OBJS): ../../Common/$(*B).cpp
+ $(COMPL)
+$(UI_COMMON_OBJS): ../Common/$(*B).cpp
+ $(COMPL)
+$(AGENT_OBJS): ../Agent/$(*B).cpp
+ $(COMPL)
+$(FM_COMMON_OBJS): ../../FileManager/$(*B).cpp
+ $(COMPL)
+$O\SystemPage.obj: SystemPage/$(*B).cpp
+ $(COMPL)
+$O\FoldersPage.obj: FoldersPage/$(*B).cpp
+ $(COMPL)
+$O\CopyCoder.obj: ../../Compress/Copy/$(*B).cpp
+ $(COMPL)
diff --git a/7zip/UI/Explorer/resource.h b/7zip/UI/Explorer/resource.h
index 98643351..aec1e7cd 100755
--- a/7zip/UI/Explorer/resource.h
+++ b/7zip/UI/Explorer/resource.h
@@ -1,7 +1,3 @@
-//{{NO_DEPENDENCIES}}
-// Microsoft Developer Studio generated include file.
-// Used by resource.rc
-//
#define IDS_CONTEXT_EXTRACT 42
#define IDS_CONTEXT_EXTRACT_HELP 43
#define IDS_CONTEXT_COMPRESS 44
@@ -31,17 +27,5 @@
#define IDS_CONTEXT_FOLDER 70
#define IDS_CONTEXT_ARCHIVE 71
-
#define IDS_ERROR 100
#define IDS_CONFIG_DIALOG_CAPTION 102
-
-// Next default values for new objects
-//
-#ifdef APSTUDIO_INVOKED
-#ifndef APSTUDIO_READONLY_SYMBOLS
-#define _APS_NEXT_RESOURCE_VALUE 157
-#define _APS_NEXT_COMMAND_VALUE 32771
-#define _APS_NEXT_CONTROL_VALUE 1110
-#define _APS_NEXT_SYMED_VALUE 101
-#endif
-#endif
diff --git a/7zip/UI/Explorer/resource.rc b/7zip/UI/Explorer/resource.rc
index 28c500eb..fb0f3796 100755
--- a/7zip/UI/Explorer/resource.rc
+++ b/7zip/UI/Explorer/resource.rc
@@ -1,181 +1,38 @@
-//Microsoft Developer Studio generated resource script.
-//
+#include "../../MyVersionInfo.rc"
#include "resource.h"
-#define APSTUDIO_READONLY_SYMBOLS
-/////////////////////////////////////////////////////////////////////////////
-//
-// Generated from the TEXTINCLUDE 2 resource.
-//
-#include "afxres.h"
-
-/////////////////////////////////////////////////////////////////////////////
-#undef APSTUDIO_READONLY_SYMBOLS
-
-/////////////////////////////////////////////////////////////////////////////
-// Russian resources
-
-#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_RUS)
-#ifdef _WIN32
-LANGUAGE LANG_RUSSIAN, SUBLANG_DEFAULT
-#pragma code_page(1251)
-#endif //_WIN32
-
-#ifdef APSTUDIO_INVOKED
-/////////////////////////////////////////////////////////////////////////////
-//
-// TEXTINCLUDE
-//
-
-1 TEXTINCLUDE DISCARDABLE
-BEGIN
- "resource.h\0"
-END
-
-2 TEXTINCLUDE DISCARDABLE
-BEGIN
- "#include ""afxres.h""\r\n"
- "\0"
-END
-
-3 TEXTINCLUDE DISCARDABLE
-BEGIN
- "#include ""FoldersPage\\resource.rc""\r\n"
- "#include ""SystemPage\\resource.rc""\r\n"
- "\r\n"
- "\0"
-END
-
-#endif // APSTUDIO_INVOKED
-
-#endif // Russian resources
-/////////////////////////////////////////////////////////////////////////////
-
-
-/////////////////////////////////////////////////////////////////////////////
-// English (U.S.) resources
-
-#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_ENU)
-#ifdef _WIN32
-LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US
-#pragma code_page(1252)
-#endif //_WIN32
-
-#ifndef _MAC
-/////////////////////////////////////////////////////////////////////////////
-//
-// Version
-//
-
-VS_VERSION_INFO VERSIONINFO
- FILEVERSION 4,24,0,0
- PRODUCTVERSION 4,24,0,0
- FILEFLAGSMASK 0x3fL
-#ifdef _DEBUG
- FILEFLAGS 0x1L
-#else
- FILEFLAGS 0x0L
-#endif
- FILEOS 0x40004L
- FILETYPE 0x2L
- FILESUBTYPE 0x0L
-BEGIN
- BLOCK "StringFileInfo"
- BEGIN
- BLOCK "040904b0"
- BEGIN
- VALUE "Comments", "\0"
- VALUE "CompanyName", "Igor Pavlov\0"
- VALUE "FileDescription", "7-Zip Shell Extension\0"
- VALUE "FileVersion", "4, 24, 0, 0\0"
- VALUE "InternalName", "7-zip\0"
- VALUE "LegalCopyright", "Copyright (C) 1999-2005 Igor Pavlov\0"
- VALUE "LegalTrademarks", "\0"
- VALUE "OriginalFilename", "7-zip.dll\0"
- VALUE "PrivateBuild", "\0"
- VALUE "ProductName", "7-Zip\0"
- VALUE "ProductVersion", "4, 24, 0, 0\0"
- VALUE "SpecialBuild", "\0"
- END
- END
- BLOCK "VarFileInfo"
- BEGIN
- VALUE "Translation", 0x409, 1200
- END
-END
-
-#endif // !_MAC
-
-
-/////////////////////////////////////////////////////////////////////////////
-//
-// 24
-//
-
-1 24 MOVEABLE PURE "7-zip.dll.manifest"
-
-/////////////////////////////////////////////////////////////////////////////
-//
-// String Table
-//
-
-STRINGTABLE DISCARDABLE
-BEGIN
- IDS_CONTEXT_EXTRACT "Extract files..."
- IDS_CONTEXT_EXTRACT_HELP "Extracts files from the selected archive."
- IDS_CONTEXT_COMPRESS "Add to archive..."
- IDS_CONTEXT_COMPRESS_HELP "Adds the selected items to archive."
- IDS_CONTEXT_OPEN "Open archive"
- IDS_CONTEXT_OPEN_HELP "Opens the selected archive."
-END
-
-STRINGTABLE DISCARDABLE
-BEGIN
- IDS_CONTEXT_TEST "Test archive"
- IDS_CONTEXT_TEST_HELP "Tests integrity of the selected archive."
- IDS_CONTEXT_CAPTION_HELP "7-Zip commands"
- IDS_CONTEXT_POPUP_CAPTION "7-Zip"
- IDS_CONTEXT_EXTRACT_HERE "Extract Here"
- IDS_CONTEXT_EXTRACT_HERE_HELP
- "Extracts files from the selected archive to current folder."
- IDS_CONTEXT_EXTRACT_TO "Extract to {0}"
- IDS_CONTEXT_EXTRACT_TO_HELP "Extracts files to subfolder."
- IDS_CONTEXT_COMPRESS_TO "Add to {0}"
- IDS_CONTEXT_COMPRESS_TO_HELP "Adds the selected items to archive."
- IDS_CONTEXT_COMPRESS_EMAIL "Compress and email..."
- IDS_CONTEXT_COMPRESS_EMAIL_HELP
- "Compresses the selected items to archive and sends archive via email."
- IDS_CONTEXT_COMPRESS_TO_EMAIL "Compress to {0} and email"
- IDS_CONTEXT_COMPRESS_TO_EMAIL_HELP
- "Compresses the selected items to archive and sends archive via email."
-END
-
-STRINGTABLE DISCARDABLE
-BEGIN
- IDS_CONTEXT_FOLDER "<Folder>"
- IDS_CONTEXT_ARCHIVE "<Archive>"
-END
-
-STRINGTABLE DISCARDABLE
-BEGIN
- IDS_ERROR "Error"
- IDS_CONFIG_DIALOG_CAPTION "7-Zip Options"
-END
-
-#endif // English (U.S.) resources
-/////////////////////////////////////////////////////////////////////////////
-
-
-
-#ifndef APSTUDIO_INVOKED
-/////////////////////////////////////////////////////////////////////////////
-//
-// Generated from the TEXTINCLUDE 3 resource.
-//
-#include "FoldersPage\resource.rc"
-#include "SystemPage\resource.rc"
-
-
-/////////////////////////////////////////////////////////////////////////////
-#endif // not APSTUDIO_INVOKED
+MY_VERSION_INFO_DLL("7-Zip Shell Extension", "7-zip")
+
+1 24 MOVEABLE PURE "7-zip.dll.manifest"
+
+STRINGTABLE
+BEGIN
+ IDS_CONTEXT_EXTRACT "Extract files..."
+ IDS_CONTEXT_EXTRACT_HELP "Extracts files from the selected archive."
+ IDS_CONTEXT_COMPRESS "Add to archive..."
+ IDS_CONTEXT_COMPRESS_HELP "Adds the selected items to archive."
+ IDS_CONTEXT_OPEN "Open archive"
+ IDS_CONTEXT_OPEN_HELP "Opens the selected archive."
+ IDS_CONTEXT_TEST "Test archive"
+ IDS_CONTEXT_TEST_HELP "Tests integrity of the selected archive."
+ IDS_CONTEXT_CAPTION_HELP "7-Zip commands"
+ IDS_CONTEXT_POPUP_CAPTION "7-Zip"
+ IDS_CONTEXT_EXTRACT_HERE "Extract Here"
+ IDS_CONTEXT_EXTRACT_HERE_HELP "Extracts files from the selected archive to current folder."
+ IDS_CONTEXT_EXTRACT_TO "Extract to {0}"
+ IDS_CONTEXT_EXTRACT_TO_HELP "Extracts files to subfolder."
+ IDS_CONTEXT_COMPRESS_TO "Add to {0}"
+ IDS_CONTEXT_COMPRESS_TO_HELP "Adds the selected items to archive."
+ IDS_CONTEXT_COMPRESS_EMAIL "Compress and email..."
+ IDS_CONTEXT_COMPRESS_EMAIL_HELP "Compresses the selected items to archive and sends archive via email."
+ IDS_CONTEXT_COMPRESS_TO_EMAIL "Compress to {0} and email"
+ IDS_CONTEXT_COMPRESS_TO_EMAIL_HELP "Compresses the selected items to archive and sends archive via email."
+ IDS_CONTEXT_FOLDER "<Folder>"
+ IDS_CONTEXT_ARCHIVE "<Archive>"
+ IDS_ERROR "Error"
+ IDS_CONFIG_DIALOG_CAPTION "7-Zip Options"
+END
+
+#include "FoldersPage/resource.rc"
+#include "SystemPage/resource.rc"
diff --git a/7zip/UI/Far/Far.dsp b/7zip/UI/Far/Far.dsp
index 47478718..dab36478 100755
--- a/7zip/UI/Far/Far.dsp
+++ b/7zip/UI/Far/Far.dsp
@@ -101,7 +101,7 @@ SOURCE=.\Far.def
# End Source File
# Begin Source File
-SOURCE=.\Far.rc
+SOURCE=.\resource.rc
# End Source File
# Begin Source File
diff --git a/7zip/UI/Far/Far.rc b/7zip/UI/Far/Far.rc
deleted file mode 100755
index c30feefa..00000000
--- a/7zip/UI/Far/Far.rc
+++ /dev/null
@@ -1,121 +0,0 @@
-//Microsoft Developer Studio generated resource script.
-//
-#include "resource.h"
-
-#define APSTUDIO_READONLY_SYMBOLS
-/////////////////////////////////////////////////////////////////////////////
-//
-// Generated from the TEXTINCLUDE 2 resource.
-//
-#include "afxres.h"
-
-/////////////////////////////////////////////////////////////////////////////
-#undef APSTUDIO_READONLY_SYMBOLS
-
-/////////////////////////////////////////////////////////////////////////////
-// Russian resources
-
-#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_RUS)
-#ifdef _WIN32
-LANGUAGE LANG_RUSSIAN, SUBLANG_DEFAULT
-#pragma code_page(1251)
-#endif //_WIN32
-
-#ifdef APSTUDIO_INVOKED
-/////////////////////////////////////////////////////////////////////////////
-//
-// TEXTINCLUDE
-//
-
-1 TEXTINCLUDE DISCARDABLE
-BEGIN
- "resource.h\0"
-END
-
-2 TEXTINCLUDE DISCARDABLE
-BEGIN
- "#include ""afxres.h""\r\n"
- "\0"
-END
-
-3 TEXTINCLUDE DISCARDABLE
-BEGIN
- "\r\n"
- "\0"
-END
-
-#endif // APSTUDIO_INVOKED
-
-#endif // Russian resources
-/////////////////////////////////////////////////////////////////////////////
-
-
-/////////////////////////////////////////////////////////////////////////////
-// English (U.S.) resources
-
-#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_ENU)
-#ifdef _WIN32
-LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US
-#pragma code_page(1252)
-#endif //_WIN32
-
-#ifndef _MAC
-/////////////////////////////////////////////////////////////////////////////
-//
-// Version
-//
-
-VS_VERSION_INFO VERSIONINFO
- FILEVERSION 4,24,0,0
- PRODUCTVERSION 4,24,0,0
- FILEFLAGSMASK 0x3fL
-#ifdef _DEBUG
- FILEFLAGS 0x1L
-#else
- FILEFLAGS 0x0L
-#endif
- FILEOS 0x40004L
- FILETYPE 0x2L
- FILESUBTYPE 0x0L
-BEGIN
- BLOCK "StringFileInfo"
- BEGIN
- BLOCK "040904b0"
- BEGIN
- VALUE "Comments", "\0"
- VALUE "CompanyName", "Igor Pavlov\0"
- VALUE "FileDescription", "7-Zip FAR Plugin\0"
- VALUE "FileVersion", "4, 24, 0, 0\0"
- VALUE "InternalName", "7-ZipFar\0"
- VALUE "LegalCopyright", "Copyright (C) 1999-2005 Igor Pavlov\0"
- VALUE "LegalTrademarks", "\0"
- VALUE "OriginalFilename", "7-ZipFar.dll\0"
- VALUE "PrivateBuild", "\0"
- VALUE "ProductName", "7-Zip\0"
- VALUE "ProductVersion", "4, 24, 0, 0\0"
- VALUE "SpecialBuild", "\0"
- END
- END
- BLOCK "VarFileInfo"
- BEGIN
- VALUE "Translation", 0x409, 1200
- END
-END
-
-#endif // !_MAC
-
-#endif // English (U.S.) resources
-/////////////////////////////////////////////////////////////////////////////
-
-
-
-#ifndef APSTUDIO_INVOKED
-/////////////////////////////////////////////////////////////////////////////
-//
-// Generated from the TEXTINCLUDE 3 resource.
-//
-
-
-/////////////////////////////////////////////////////////////////////////////
-#endif // not APSTUDIO_INVOKED
-
diff --git a/7zip/UI/Far/makefile b/7zip/UI/Far/makefile
new file mode 100755
index 00000000..5b9d8bcd
--- /dev/null
+++ b/7zip/UI/Far/makefile
@@ -0,0 +1,95 @@
+PROG = 7-ZipFar.dll
+DEF_FILE = Far.def
+LIBS = $(LIBS) user32.lib oleaut32.lib advapi32.lib ole32.lib
+CFLAGS = $(CFLAGS) -I ../../../
+
+FAR_OBJS = \
+ $O\CLSIDConst.obj \
+ $O\ExtractEngine.obj \
+ $O\FarUtils.obj \
+ $O\Main.obj \
+ $O\OverwriteDialog.obj \
+ $O\Plugin.obj \
+ $O\PluginCommon.obj \
+ $O\PluginDelete.obj \
+ $O\PluginRead.obj \
+ $O\PluginWrite.obj \
+ $O\ProgressBox.obj \
+ $O\UpdateCallback100.obj \
+
+COMMON_OBJS = \
+ $O\Alloc.obj \
+ $O\IntToString.obj \
+ $O\NewHandler.obj \
+ $O\String.obj \
+ $O\StringConvert.obj \
+ $O\StringToInt.obj \
+ $O\Vector.obj \
+ $O\Wildcard.obj \
+
+WIN_OBJS = \
+ $O\DLL.obj \
+ $O\Error.obj \
+ $O\FileDir.obj \
+ $O\FileFind.obj \
+ $O\FileIO.obj \
+ $O\FileName.obj \
+ $O\PropVariant.obj \
+ $O\PropVariantConversions.obj \
+ $O\Registry.obj \
+ $O\Synchronization.obj \
+
+7ZIP_COMMON_OBJS = \
+ $O\FilePathAutoRename.obj \
+ $O\FileStreams.obj \
+
+UI_COMMON_OBJS = \
+ $O\ArchiveExtractCallback.obj \
+ $O\ArchiveOpenCallback.obj \
+ $O\ArchiverInfo.obj \
+ $O\DefaultName.obj \
+ $O\EnumDirItems.obj \
+ $O\ExtractingFilePath.obj \
+ $O\OpenArchive.obj \
+ $O\PropIDUtils.obj \
+ $O\SortUtils.obj \
+ $O\UpdateAction.obj \
+ $O\UpdateCallback.obj \
+ $O\UpdatePair.obj \
+ $O\UpdateProduce.obj \
+ $O\WorkDir.obj \
+ $O\ZipRegistry.obj \
+
+AGENT_OBJS = \
+ $O\Agent.obj \
+ $O\AgentOut.obj \
+ $O\AgentProxy.obj \
+ $O\UpdateCallbackAgent.obj \
+
+OBJS = \
+ $O\StdAfx.obj \
+ $(FAR_OBJS) \
+ $(COMMON_OBJS) \
+ $(WIN_OBJS) \
+ $(7ZIP_COMMON_OBJS) \
+ $(UI_COMMON_OBJS) \
+ $(AGENT_OBJS) \
+ $O\CopyCoder.obj \
+ $O\resource.res
+
+!include "../../../Build.mak"
+
+$(FAR_OBJS): $(*B).cpp
+ $(COMPL)
+$(COMMON_OBJS): ../../../Common/$(*B).cpp
+ $(COMPL)
+$(WIN_OBJS): ../../../Windows/$(*B).cpp
+ $(COMPL)
+$(7ZIP_COMMON_OBJS): ../../Common/$(*B).cpp
+ $(COMPL)
+$(UI_COMMON_OBJS): ../Common/$(*B).cpp
+ $(COMPL)
+$(AGENT_OBJS): ../Agent/$(*B).cpp
+ $(COMPL)
+$O\CopyCoder.obj: ../../Compress/Copy/$(*B).cpp
+ $(COMPL)
diff --git a/7zip/UI/Far/resource.h b/7zip/UI/Far/resource.h
deleted file mode 100755
index 93f677cf..00000000
--- a/7zip/UI/Far/resource.h
+++ /dev/null
@@ -1,15 +0,0 @@
-//{{NO_DEPENDENCIES}}
-// Microsoft Developer Studio generated include file.
-// Used by Far.rc
-//
-
-// Next default values for new objects
-//
-#ifdef APSTUDIO_INVOKED
-#ifndef APSTUDIO_READONLY_SYMBOLS
-#define _APS_NEXT_RESOURCE_VALUE 102
-#define _APS_NEXT_COMMAND_VALUE 40001
-#define _APS_NEXT_CONTROL_VALUE 1000
-#define _APS_NEXT_SYMED_VALUE 101
-#endif
-#endif
diff --git a/7zip/UI/Far/resource.rc b/7zip/UI/Far/resource.rc
new file mode 100755
index 00000000..a5c2e2f3
--- /dev/null
+++ b/7zip/UI/Far/resource.rc
@@ -0,0 +1,3 @@
+#include "../../MyVersionInfo.rc"
+
+MY_VERSION_INFO_DLL("7-Zip Plugin for FAR Manager", "7-ZipFar")
diff --git a/7zip/UI/GUI/7zG.exe.manifest b/7zip/UI/GUI/7zG.exe.manifest
index 65045abf..c6ef90e8 100755
--- a/7zip/UI/GUI/7zG.exe.manifest
+++ b/7zip/UI/GUI/7zG.exe.manifest
@@ -1 +1 @@
-<?xml version="1.0" encoding="UTF-8" standalone="yes"?><assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0"><assemblyIdentity version="1.0.0.0" processorArchitecture="X86" name="7-Zip.7-Zip.7zG" type="win32"/><description>7-Zip GUI.</description><dependency> <dependentAssembly><assemblyIdentity type="win32" name="Microsoft.Windows.Common-Controls" version="6.0.0.0" processorArchitecture="X86" publicKeyToken="6595b64144ccf1df" language="*"/></dependentAssembly></dependency></assembly>
+<?xml version="1.0" encoding="UTF-8" standalone="yes"?><assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0"><assemblyIdentity version="1.0.0.0" processorArchitecture="*" name="7-Zip.7-Zip.7zG" type="win32"/><description>7-Zip GUI.</description><dependency> <dependentAssembly><assemblyIdentity type="win32" name="Microsoft.Windows.Common-Controls" version="6.0.0.0" processorArchitecture="*" publicKeyToken="6595b64144ccf1df" language="*"/></dependentAssembly></dependency></assembly>
diff --git a/7zip/UI/GUI/CompressDialog.cpp b/7zip/UI/GUI/CompressDialog.cpp
index 1191be34..7bb40248 100755
--- a/7zip/UI/GUI/CompressDialog.cpp
+++ b/7zip/UI/GUI/CompressDialog.cpp
@@ -149,6 +149,7 @@ struct CFormatInfo
UInt32 LevelsMask;
const EMethodID *MathodIDs;
int NumMethods;
+ bool Filter;
bool Solid;
bool MultiThread;
bool SFX;
@@ -162,25 +163,25 @@ static const CFormatInfo g_Formats[] =
L"",
(1 << 0) | (1 << 1) | (1 << 3) | (1 << 5) | (1 << 7) | (1 << 9),
0, 0,
- false, false, false, false, false
+ false, false, false, false, false, false
},
{
k7zFormat,
(1 << 0) | (1 << 3) | (1 << 5) | (1 << 7) | (1 << 9),
g_7zMethods, MY_SIZE_OF_ARRAY(g_7zMethods),
- true, true, true, true, true
+ true, true, true, true, true, true
},
{
L"Zip",
- (1 << 0) | (1 << 5) | (1 << 9),
+ (1 << 0) | (1 << 5) | (1 << 7) | (1 << 9),
g_ZipMethods, MY_SIZE_OF_ARRAY(g_ZipMethods) ,
- false, false, false, true, false
+ false, false, false, false, true, false
},
{
L"GZip",
(1 << 5) | (1 << 9),
g_GZipMethods, MY_SIZE_OF_ARRAY(g_GZipMethods),
- false, false, false, false, false
+ false, false, false, false, false, false
},
{
L"BZip2",
@@ -193,7 +194,7 @@ static const CFormatInfo g_Formats[] =
L"Tar",
(1 << 0),
0, 0,
- false, false, false, false, false
+ false, false, false, false, false, false
}
};
@@ -916,12 +917,19 @@ void CCompressDialog::SetDictionary()
}
int i;
AddDictionarySize(32 << 10);
- for (i = 20; i < 28; i++)
+ for (i = 20; i <= 28; i++)
for (int j = 0; j < 2; j++)
{
if (i == 20 && j > 0)
continue;
UInt32 dictionary = (1 << i) + (j << (i - 1));
+ #ifdef _WIN64
+ if (dictionary > (1 << 28))
+ continue;
+ #else
+ if (dictionary >= (1 << 28))
+ continue;
+ #endif
AddDictionarySize(dictionary);
}
SetNearestSelectComboBox(m_Dictionary, defaultDictionary);
@@ -1133,28 +1141,32 @@ UInt64 CCompressDialog::GetMemoryUsage(UInt64 &decompressMemory)
decompressMemory = (1 << 20);
return decompressMemory;
}
+ UInt64 size = 0;
+
+ const CFormatInfo &fi = g_Formats[GetStaticFormatIndex()];
+ if (fi.Filter && level >= 9)
+ size += (12 << 20) * 2 + (5 << 20);
switch (GetMethodID())
{
case kLZMA:
{
- UInt64 size;
if (level >= 5)
{
- size = ((UInt64)dictionary * 19 / 2) + (2 << 20);
+ size += ((UInt64)dictionary * 19 / 2) + (2 << 20);
if (level >= 9)
- size += (34 << 20) + (12 << 20) * 2 + (5 << 20);
+ size += (34 << 20);
else
size += (6 << 20);
}
else
- size = ((UInt64)dictionary * 11 / 2) + (2 << 20);
+ size += ((UInt64)dictionary * 11 / 2) + (2 << 20);
decompressMemory = dictionary + (2 << 20);
return size;
}
case kPPMd:
{
decompressMemory = dictionary + (2 << 20);
- return decompressMemory;
+ return size + decompressMemory;
}
case kDeflate:
case kDeflate64:
@@ -1162,9 +1174,8 @@ UInt64 CCompressDialog::GetMemoryUsage(UInt64 &decompressMemory)
UInt32 order = GetOrder();
if (order == UInt32(-1))
order = 32;
- UInt64 size = 0;
if (level >= 7)
- size = (order * 2 + 4) * (64 << 10);
+ size += (order * 2 + 4) * (64 << 10);
size += 3 << 20;
decompressMemory = (2 << 20);
return size;
@@ -1172,7 +1183,7 @@ UInt64 CCompressDialog::GetMemoryUsage(UInt64 &decompressMemory)
case kBZip2:
{
decompressMemory = (7 << 20);
- return 10 << 20;
+ return size + (10 << 20);
}
}
return UInt64(Int64(-1));
diff --git a/7zip/UI/GUI/CompressDialog.h b/7zip/UI/GUI/CompressDialog.h
index d73792a2..a2812917 100755
--- a/7zip/UI/GUI/CompressDialog.h
+++ b/7zip/UI/GUI/CompressDialog.h
@@ -109,8 +109,8 @@ class CCompressDialog: public NWindows::NControl::CModalDialog
int GetMethodID();
CSysString GetMethodSpec();
- AddDictionarySize(UInt32 size, bool kilo, bool maga);
- AddDictionarySize(UInt32 size);
+ int AddDictionarySize(UInt32 size, bool kilo, bool maga);
+ int AddDictionarySize(UInt32 size);
void SetDictionary();
UInt32 GetDictionary();
diff --git a/7zip/UI/GUI/ExtractGUI.cpp b/7zip/UI/GUI/ExtractGUI.cpp
index d176623f..d7e714cd 100755
--- a/7zip/UI/GUI/ExtractGUI.cpp
+++ b/7zip/UI/GUI/ExtractGUI.cpp
@@ -156,7 +156,9 @@ HRESULT ExtractGUI(
if (!thread.Create(CThreadExtracting::MyThreadFunction, &extracter))
throw 271824;
extracter.ExtractCallbackSpec->StartProgressDialog(title);
- if (extracter.Result == S_OK && options.TestMode && extracter.ExtractCallbackSpec->Messages.IsEmpty())
+ if (extracter.Result == S_OK && options.TestMode &&
+ extracter.ExtractCallbackSpec->Messages.IsEmpty() &&
+ extracter.ExtractCallbackSpec->NumArchiveErrors == 0)
{
#ifndef _SFX
MessageBoxW(0, LangLoadStringW(IDS_MESSAGE_NO_ERRORS, 0x02000608),
@@ -164,10 +166,8 @@ HRESULT ExtractGUI(
#endif
}
if (extracter.Result != S_OK)
- {
if (!extracter.ErrorMessage.IsEmpty())
throw extracter.ErrorMessage;
- }
return extracter.Result;
}
diff --git a/7zip/UI/GUI/GUI.cpp b/7zip/UI/GUI/GUI.cpp
index 51a6250b..9f3ea7a4 100755
--- a/7zip/UI/GUI/GUI.cpp
+++ b/7zip/UI/GUI/GUI.cpp
@@ -99,14 +99,9 @@ int Main2()
options.ArchivePathsFullSorted,
options.WildcardCensor.Pairs.Front().Head,
eo, options.ShowDialog, &openCallback, ecs);
- if (result == S_FALSE)
- {
- MyMessageBox(IDS_OPEN_IS_NOT_SUPORTED_ARCHIVE, 0x02000604);
- return NExitCode::kFatalError;
- }
- else if (result != S_OK)
+ if (result != S_OK)
throw CSystemException(result);
- if (ecs->Messages.Size() > 0)
+ if (ecs->Messages.Size() > 0 || ecs->NumArchiveErrors != 0)
return NExitCode::kFatalError;
}
else if (options.Command.IsFromUpdateGroup())
diff --git a/7zip/UI/GUI/GUI.dsp b/7zip/UI/GUI/GUI.dsp
index e38e80a8..3473cc76 100755
--- a/7zip/UI/GUI/GUI.dsp
+++ b/7zip/UI/GUI/GUI.dsp
@@ -638,15 +638,6 @@ SOURCE=..\..\FileManager\Resource\ProgressDialog2\ProgressDialog.cpp
SOURCE=..\..\FileManager\Resource\ProgressDialog2\ProgressDialog.h
# End Source File
-# Begin Source File
-
-SOURCE=..\..\FileManager\Resource\ProgressDialog2\resource.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\FileManager\Resource\ProgressDialog2\resource.rc
-# PROP Exclude_From_Build 1
-# End Source File
# End Group
# Begin Group "Messages"
@@ -659,15 +650,6 @@ SOURCE=..\..\FileManager\Resource\MessagesDialog\MessagesDialog.cpp
SOURCE=..\..\FileManager\Resource\MessagesDialog\MessagesDialog.h
# End Source File
-# Begin Source File
-
-SOURCE=..\..\FileManager\Resource\MessagesDialog\resource.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\FileManager\Resource\MessagesDialog\resource.rc
-# PROP Exclude_From_Build 1
-# End Source File
# End Group
# Begin Group "Overwtite"
@@ -692,15 +674,6 @@ SOURCE=..\..\FileManager\Resource\PasswordDialog\PasswordDialog.cpp
SOURCE=..\..\FileManager\Resource\PasswordDialog\PasswordDialog.h
# End Source File
-# Begin Source File
-
-SOURCE=..\..\FileManager\Resource\PasswordDialog\resource.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\FileManager\Resource\PasswordDialog\resource.rc
-# PROP Exclude_From_Build 1
-# End Source File
# End Group
# Begin Group "Compress Dialog"
@@ -713,15 +686,6 @@ SOURCE=.\CompressDialog.cpp
SOURCE=.\CompressDialog.h
# End Source File
-# Begin Source File
-
-SOURCE=..\Resource\CompressDialog\resource.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\Resource\CompressDialog\resource.rc
-# PROP Exclude_From_Build 1
-# End Source File
# End Group
# Begin Group "Extract Dialog"
@@ -734,15 +698,6 @@ SOURCE=.\ExtractDialog.cpp
SOURCE=.\ExtractDialog.h
# End Source File
-# Begin Source File
-
-SOURCE=..\Resource\ExtractDialog\resource.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\Resource\ExtractDialog\resource.rc
-# PROP Exclude_From_Build 1
-# End Source File
# End Group
# End Group
# Begin Group "FM Common"
diff --git a/7zip/UI/GUI/UpdateCallbackGUI.cpp b/7zip/UI/GUI/UpdateCallbackGUI.cpp
index 013e0c6f..61f27d61 100755
--- a/7zip/UI/GUI/UpdateCallbackGUI.cpp
+++ b/7zip/UI/GUI/UpdateCallbackGUI.cpp
@@ -37,6 +37,15 @@ void CUpdateCallbackGUI::AddErrorMessage(LPCWSTR message)
Messages.Add(message);
}
+void CUpdateCallbackGUI::AddErrorMessage(const wchar_t *name, DWORD systemError)
+{
+ AddErrorMessage(
+ UString(L"WARNING: ") +
+ NError::MyFormatMessageW(systemError) +
+ UString(L": ") +
+ UString(name));
+}
+
HRESULT CUpdateCallbackGUI::OpenResult(const wchar_t *name, HRESULT result)
{
if (result != S_OK)
@@ -52,6 +61,13 @@ HRESULT CUpdateCallbackGUI::StartScanning()
return S_OK;
}
+HRESULT CUpdateCallbackGUI::CanNotFindError(const wchar_t *name, DWORD systemError)
+{
+ FailedFiles.Add(name);
+ AddErrorMessage(name, systemError);
+ return S_OK;
+}
+
HRESULT CUpdateCallbackGUI::FinishScanning()
{
return S_OK;
@@ -111,11 +127,7 @@ HRESULT CUpdateCallbackGUI::OpenFileError(const wchar_t *name, DWORD systemError
FailedFiles.Add(name);
// if (systemError == ERROR_SHARING_VIOLATION)
{
- AddErrorMessage(
- UString(L"WARNING: ") +
- NError::MyFormatMessageW(systemError) +
- UString(L": ") +
- UString(name));
+ AddErrorMessage(name, systemError);
return S_FALSE;
}
return systemError;
diff --git a/7zip/UI/GUI/UpdateCallbackGUI.h b/7zip/UI/GUI/UpdateCallbackGUI.h
index bd25580a..16f0220c 100755
--- a/7zip/UI/GUI/UpdateCallbackGUI.h
+++ b/7zip/UI/GUI/UpdateCallbackGUI.h
@@ -27,6 +27,7 @@ public:
HRESULT OpenResult(const wchar_t *name, HRESULT result);
HRESULT StartScanning();
+ HRESULT CanNotFindError(const wchar_t *name, DWORD systemError);
HRESULT FinishScanning();
HRESULT StartArchive(const wchar_t *name, bool updating);
@@ -56,6 +57,7 @@ public:
UStringVector Messages;
int NumArchiveErrors;
void AddErrorMessage(LPCWSTR message);
+ void AddErrorMessage(const wchar_t *name, DWORD systemError);
};
#endif
diff --git a/7zip/UI/GUI/makefile b/7zip/UI/GUI/makefile
new file mode 100755
index 00000000..cfe1493c
--- /dev/null
+++ b/7zip/UI/GUI/makefile
@@ -0,0 +1,131 @@
+PROG = 7zG.exe
+LIBS = $(LIBS) user32.lib advapi32.lib oleaut32.lib shell32.lib comctl32.lib htmlhelp.lib ole32.lib comdlg32.lib
+CFLAGS = $(CFLAGS) -I ../../../ -DLANG
+
+GUI_OBJS = \
+ $O\CompressDialog.obj \
+ $O\ExtractDialog.obj \
+ $O\ExtractGUI.obj \
+ $O\GUI.obj \
+ $O\OpenCallbackGUI.obj \
+ $O\UpdateCallbackGUI.obj \
+ $O\UpdateGUI.obj \
+
+COMMON_OBJS = \
+ $O\Alloc.obj \
+ $O\CommandLineParser.obj \
+ $O\IntToString.obj \
+ $O\Lang.obj \
+ $O\ListFileUtils.obj \
+ $O\NewHandler.obj \
+ $O\StdInStream.obj \
+ $O\String.obj \
+ $O\StringConvert.obj \
+ $O\StringToInt.obj \
+ $O\TextConfig.obj \
+ $O\UTFConvert.obj \
+ $O\Vector.obj \
+ $O\Wildcard.obj \
+
+WIN_OBJS = \
+ $O\DLL.obj \
+ $O\Error.obj \
+ $O\FileDir.obj \
+ $O\FileFind.obj \
+ $O\FileIO.obj \
+ $O\FileName.obj \
+ $O\PropVariant.obj \
+ $O\PropVariantConversions.obj \
+ $O\Registry.obj \
+ $O\ResourceString.obj \
+ $O\Shell.obj \
+ $O\Synchronization.obj \
+ $O\Window.obj \
+
+WIN_CTRL_OBJS = \
+ $O\ComboBox.obj \
+ $O\Dialog.obj \
+ $O\ListView.obj \
+
+7ZIP_COMMON_OBJS = \
+ $O\FilePathAutoRename.obj \
+ $O\FileStreams.obj \
+
+UI_COMMON_OBJS = \
+ $O\ArchiveCommandLine.obj \
+ $O\ArchiveExtractCallback.obj \
+ $O\ArchiveOpenCallback.obj \
+ $O\ArchiverInfo.obj \
+ $O\DefaultName.obj \
+ $O\EnumDirItems.obj \
+ $O\Extract.obj \
+ $O\ExtractingFilePath.obj \
+ $O\OpenArchive.obj \
+ $O\PropIDUtils.obj \
+ $O\SortUtils.obj \
+ $O\TempFiles.obj \
+ $O\Update.obj \
+ $O\UpdateAction.obj \
+ $O\UpdateCallback.obj \
+ $O\UpdatePair.obj \
+ $O\UpdateProduce.obj \
+ $O\WorkDir.obj \
+ $O\ZipRegistry.obj \
+
+FM_OBJS = \
+ $O\ExtractCallback.obj \
+ $O\FormatUtils.obj \
+ $O\HelpUtils.obj \
+ $O\LangUtils.obj \
+ $O\OpenCallback.obj \
+ $O\ProgramLocation.obj \
+ $O\RegistryUtils.obj \
+ $O\SplitUtils.obj \
+ $O\StringUtils.obj \
+ $O\UpdateCallback100.obj \
+
+OBJS = \
+ $O\StdAfx.obj \
+ $(GUI_OBJS) \
+ $(COMMON_OBJS) \
+ $(WIN_OBJS) \
+ $(WIN_CTRL_OBJS) \
+ $(7ZIP_COMMON_OBJS) \
+ $(UI_COMMON_OBJS) \
+ $(FM_OBJS)\
+ $O\MyMessages.obj \
+ $O\MessagesDialog.obj \
+ $O\OverwriteDialog.obj \
+ $O\PasswordDialog.obj \
+ $O\ProgressDialog.obj \
+ $O\CopyCoder.obj \
+ $O\resource.res
+
+!include "../../../Build.mak"
+
+$(GUI_OBJS): $(*B).cpp
+ $(COMPL)
+$(COMMON_OBJS): ../../../Common/$(*B).cpp
+ $(COMPL)
+$(WIN_OBJS): ../../../Windows/$(*B).cpp
+ $(COMPL)
+$(WIN_CTRL_OBJS): ../../../Windows/Control/$(*B).cpp
+ $(COMPL)
+$(7ZIP_COMMON_OBJS): ../../Common/$(*B).cpp
+ $(COMPL)
+$(UI_COMMON_OBJS): ../Common/$(*B).cpp
+ $(COMPL)
+$(FM_OBJS): ../../FileManager/$(*B).cpp
+ $(COMPL)
+$O\MyMessages.obj: ../Explorer/MyMessages.cpp
+ $(COMPL)
+$O\MessagesDialog.obj: ../../FileManager/Resource/MessagesDialog/$(*B).cpp
+ $(COMPL)
+$O\OverwriteDialog.obj: ../../FileManager/Resource/OverwriteDialog./$(*B).cpp
+ $(COMPL)
+$O\PasswordDialog.obj: ../../FileManager/Resource/PasswordDialog/$(*B).cpp
+ $(COMPL)
+$O\ProgressDialog.obj: ../../FileManager/Resource/ProgressDialog2/$(*B).cpp
+ $(COMPL)
+$O\CopyCoder.obj: ../../Compress/Copy/$(*B).cpp
+ $(COMPL)
diff --git a/7zip/UI/GUI/resource.h b/7zip/UI/GUI/resource.h
index 6461d2cc..b999873d 100755
--- a/7zip/UI/GUI/resource.h
+++ b/7zip/UI/GUI/resource.h
@@ -1,7 +1,3 @@
-//{{NO_DEPENDENCIES}}
-// Microsoft Developer Studio generated include file.
-// Used by resource.rc
-//
#define IDS_CONTEXT_EXTRACT 42
#define IDS_CONTEXT_EXTRACT_HELP 43
#define IDS_CONTEXT_COMPRESS 44
@@ -41,13 +37,3 @@
#define IDC_LIST1 1067
#define IDC_COLUMN_EDIT_WIDTH 1068
-// Next default values for new objects
-//
-#ifdef APSTUDIO_INVOKED
-#ifndef APSTUDIO_READONLY_SYMBOLS
-#define _APS_NEXT_RESOURCE_VALUE 157
-#define _APS_NEXT_COMMAND_VALUE 32771
-#define _APS_NEXT_CONTROL_VALUE 1110
-#define _APS_NEXT_SYMED_VALUE 150
-#endif
-#endif
diff --git a/7zip/UI/GUI/resource.rc b/7zip/UI/GUI/resource.rc
index 30b2724d..c8590711 100755
--- a/7zip/UI/GUI/resource.rc
+++ b/7zip/UI/GUI/resource.rc
@@ -1,140 +1,14 @@
-//Microsoft Developer Studio generated resource script.
-//
+#include "../../MyVersionInfo.rc"
+#include <winnt.h>
#include "resource.h"
-#define APSTUDIO_READONLY_SYMBOLS
-/////////////////////////////////////////////////////////////////////////////
-//
-// Generated from the TEXTINCLUDE 2 resource.
-//
-#include "afxres.h"
+MY_VERSION_INFO_APP("7-Zip GUI", "7zg")
-/////////////////////////////////////////////////////////////////////////////
-#undef APSTUDIO_READONLY_SYMBOLS
+IDI_ICON1 ICON "FM.ico"
-/////////////////////////////////////////////////////////////////////////////
-// Russian resources
+1 24 MOVEABLE PURE "7zG.exe.manifest"
-#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_RUS)
-#ifdef _WIN32
-LANGUAGE LANG_RUSSIAN, SUBLANG_DEFAULT
-#pragma code_page(1251)
-#endif //_WIN32
-
-#ifdef APSTUDIO_INVOKED
-/////////////////////////////////////////////////////////////////////////////
-//
-// TEXTINCLUDE
-//
-
-1 TEXTINCLUDE DISCARDABLE
-BEGIN
- "resource.h\0"
-END
-
-2 TEXTINCLUDE DISCARDABLE
-BEGIN
- "#include ""afxres.h""\r\n"
- "\0"
-END
-
-3 TEXTINCLUDE DISCARDABLE
-BEGIN
- "#include ""..\\..\\FileManager\\Resource\\PropertyName\\resource.rc""\r\n"
- "#include ""..\\..\\FileManager\\Resource\\OverwriteDialog\\resource.rc""\r\n"
- "#include ""..\\..\\FileManager\\Resource\\PasswordDialog\\resource.rc""\r\n"
- "#include ""..\\..\\FileManager\\Resource\\MessagesDialog\\resource.rc""\r\n"
- "#include ""..\\..\\FileManager\\Resource\\ProgressDialog2\\resource.rc""\r\n"
- "#include ""..\\Resource\\Extract\\resource.rc""\r\n"
- "#include ""..\\Resource\\ExtractDialog\\resource.rc""\r\n"
- "#include ""..\\Resource\\CompressDialog\\resource.rc""\r\n"
- "\r\n"
- "\0"
-END
-
-#endif // APSTUDIO_INVOKED
-
-#endif // Russian resources
-/////////////////////////////////////////////////////////////////////////////
-
-
-/////////////////////////////////////////////////////////////////////////////
-// English (U.S.) resources
-
-#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_ENU)
-#ifdef _WIN32
-LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US
-#pragma code_page(1252)
-#endif //_WIN32
-
-#ifndef _MAC
-/////////////////////////////////////////////////////////////////////////////
-//
-// Version
-//
-
-VS_VERSION_INFO VERSIONINFO
- FILEVERSION 4,24,0,0
- PRODUCTVERSION 4,24,0,0
- FILEFLAGSMASK 0x3fL
-#ifdef _DEBUG
- FILEFLAGS 0x1L
-#else
- FILEFLAGS 0x0L
-#endif
- FILEOS 0x40004L
- FILETYPE 0x2L
- FILESUBTYPE 0x0L
-BEGIN
- BLOCK "StringFileInfo"
- BEGIN
- BLOCK "040904b0"
- BEGIN
- VALUE "Comments", "\0"
- VALUE "CompanyName", "Igor Pavlov\0"
- VALUE "FileDescription", "7-Zip GUI Module\0"
- VALUE "FileVersion", "4, 24, 0, 0\0"
- VALUE "InternalName", "7zg\0"
- VALUE "LegalCopyright", "Copyright (C) 1999-2005 Igor Pavlov\0"
- VALUE "LegalTrademarks", "\0"
- VALUE "OriginalFilename", "7zg.exe\0"
- VALUE "PrivateBuild", "\0"
- VALUE "ProductName", "7-Zip\0"
- VALUE "ProductVersion", "4, 24, 0, 0\0"
- VALUE "SpecialBuild", "\0"
- END
- END
- BLOCK "VarFileInfo"
- BEGIN
- VALUE "Translation", 0x409, 1200
- END
-END
-
-#endif // !_MAC
-
-
-/////////////////////////////////////////////////////////////////////////////
-//
-// Icon
-//
-
-// Icon with lowest ID value placed first to ensure application icon
-// remains consistent on all systems.
-IDI_ICON1 ICON DISCARDABLE "FM.ico"
-
-/////////////////////////////////////////////////////////////////////////////
-//
-// 24
-//
-
-1 24 MOVEABLE PURE "7zG.exe.manifest"
-
-/////////////////////////////////////////////////////////////////////////////
-//
-// String Table
-//
-
-STRINGTABLE DISCARDABLE
+STRINGTABLE
BEGIN
IDS_CONTEXT_EXTRACT "Extract files..."
IDS_CONTEXT_EXTRACT_HELP "Extracts files from the selected archive."
@@ -142,18 +16,10 @@ BEGIN
IDS_CONTEXT_COMPRESS_HELP "Adds the selected items to archive."
IDS_CONTEXT_OPEN "Open"
IDS_CONTEXT_OPEN_HELP "Opens the selected archive."
-END
-
-STRINGTABLE DISCARDABLE
-BEGIN
IDS_CONTEXT_TEST "Test archive"
IDS_CONTEXT_TEST_HELP "Tests integrity of the selected archive."
IDS_CONTEXT_CAPTION_HELP "7-Zip commands"
IDS_CONTEXT_POPUP_CAPTION "7-Zip"
-END
-
-STRINGTABLE DISCARDABLE
-BEGIN
IDS_OPEN_TYPE_ALL_FILES "All Files"
IDS_METHOD_STORE "Store"
IDS_METHOD_NORMAL "Normal"
@@ -165,10 +31,6 @@ BEGIN
IDS_COMPRESS_UPDATE_MODE_UPDATE "Update and add files"
IDS_COMPRESS_UPDATE_MODE_FRESH "Freshen existing files"
IDS_COMPRESS_UPDATE_MODE_SYNCHRONIZE "Synchronize files"
-END
-
-STRINGTABLE DISCARDABLE
-BEGIN
IDS_COMPRESS_SET_ARCHIVE_DIALOG_TITLE "Browse"
IDS_CANT_UPDATE_ARCHIVE "Can not update archive '{0}'"
IDS_PROGRESS_COMPRESSING "Compressing"
@@ -178,26 +40,11 @@ BEGIN
IDS_CONFIG_DIALOG_CAPTION "7-Zip Options"
END
-#endif // English (U.S.) resources
-/////////////////////////////////////////////////////////////////////////////
-
-
-
-#ifndef APSTUDIO_INVOKED
-/////////////////////////////////////////////////////////////////////////////
-//
-// Generated from the TEXTINCLUDE 3 resource.
-//
-#include "..\..\FileManager\Resource\PropertyName\resource.rc"
-#include "..\..\FileManager\Resource\OverwriteDialog\resource.rc"
-#include "..\..\FileManager\Resource\PasswordDialog\resource.rc"
-#include "..\..\FileManager\Resource\MessagesDialog\resource.rc"
-#include "..\..\FileManager\Resource\ProgressDialog2\resource.rc"
-#include "..\Resource\Extract\resource.rc"
-#include "..\Resource\ExtractDialog\resource.rc"
-#include "..\Resource\CompressDialog\resource.rc"
-
-
-/////////////////////////////////////////////////////////////////////////////
-#endif // not APSTUDIO_INVOKED
-
+#include "../../FileManager/Resource/PropertyName/resource.rc"
+#include "../../FileManager/Resource/OverwriteDialog/resource.rc"
+#include "../../FileManager/Resource/PasswordDialog/resource.rc"
+#include "../../FileManager/Resource/MessagesDialog/resource.rc"
+#include "../../FileManager/Resource/ProgressDialog2/resource.rc"
+#include "../Resource/Extract/resource.rc"
+#include "../Resource/ExtractDialog/resource.rc"
+#include "../Resource/CompressDialog/resource.rc"
diff --git a/7zip/UI/Resource/CompressDialog/resource.h b/7zip/UI/Resource/CompressDialog/resource.h
index b1d691a5..93837032 100755
--- a/7zip/UI/Resource/CompressDialog/resource.h
+++ b/7zip/UI/Resource/CompressDialog/resource.h
@@ -1,7 +1,3 @@
-//{{NO_DEPENDENCIES}}
-// Microsoft Developer Studio generated include file.
-// Used by resource.rc
-//
#define IDD_DIALOG_COMPRESS 152
#define IDC_STATIC_COMPRESS_MEMORY 1022
#define IDC_STATIC_COMPRESS_MEMORY_DE 1023
@@ -34,14 +30,3 @@
#define IDC_COMPRESS_EDIT_PASSWORD 1108
#define IDC_COMPRESS_CHECK_SHOW_PASSWORD 1109
#define IDC_COMPRESS_CHECK_ENCRYPT_FILE_NAMES 1110
-
-// Next default values for new objects
-//
-#ifdef APSTUDIO_INVOKED
-#ifndef APSTUDIO_READONLY_SYMBOLS
-#define _APS_NEXT_RESOURCE_VALUE 157
-#define _APS_NEXT_COMMAND_VALUE 40001
-#define _APS_NEXT_CONTROL_VALUE 1110
-#define _APS_NEXT_SYMED_VALUE 101
-#endif
-#endif
diff --git a/7zip/UI/Resource/CompressDialog/resource.rc b/7zip/UI/Resource/CompressDialog/resource.rc
index 83d757d4..33779409 100755
--- a/7zip/UI/Resource/CompressDialog/resource.rc
+++ b/7zip/UI/Resource/CompressDialog/resource.rc
@@ -1,160 +1,108 @@
-//Microsoft Developer Studio generated resource script.
-//
#include "resource.h"
-
-#define APSTUDIO_READONLY_SYMBOLS
-/////////////////////////////////////////////////////////////////////////////
-//
-// Generated from the TEXTINCLUDE 2 resource.
-//
-#include "afxres.h"
-
-/////////////////////////////////////////////////////////////////////////////
-#undef APSTUDIO_READONLY_SYMBOLS
-
-/////////////////////////////////////////////////////////////////////////////
-// Russian resources
-
-#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_RUS)
-#ifdef _WIN32
-LANGUAGE LANG_RUSSIAN, SUBLANG_DEFAULT
-#pragma code_page(1251)
-#endif //_WIN32
-
-#ifdef APSTUDIO_INVOKED
-/////////////////////////////////////////////////////////////////////////////
-//
-// TEXTINCLUDE
-//
-
-1 TEXTINCLUDE DISCARDABLE
-BEGIN
- "resource.h\0"
-END
-
-2 TEXTINCLUDE DISCARDABLE
-BEGIN
- "#include ""afxres.h""\r\n"
- "\0"
-END
-
-3 TEXTINCLUDE DISCARDABLE
-BEGIN
- "\0"
-END
-
-#endif // APSTUDIO_INVOKED
-
-#endif // Russian resources
-/////////////////////////////////////////////////////////////////////////////
-
-
-/////////////////////////////////////////////////////////////////////////////
-// English (U.S.) resources
-
-#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_ENU)
-#ifdef _WIN32
-LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US
-#pragma code_page(1252)
-#endif //_WIN32
-
-/////////////////////////////////////////////////////////////////////////////
-//
-// Dialog
-//
-
-IDD_DIALOG_COMPRESS DIALOG DISCARDABLE 0, 0, 335, 277
-STYLE DS_MODALFRAME | DS_FIXEDSYS | DS_CENTER | WS_POPUP | WS_CAPTION |
- WS_SYSMENU
+#include "../../../GuiCommon.rc"
+
+#define xSize2 344
+#define ySize2 260
+
+#define xSize (xSize2 + marg + marg)
+#define ySize (ySize2 + marg + marg)
+
+#undef gSize
+#undef gSpace
+#undef g0XSize
+#undef g1XPos
+#undef g1XSize
+#undef g2XSize
+#undef g3XPos
+#undef g3XSize
+#undef g4XPos
+#undef g4XPos2
+#undef g4XSize
+#undef g4XSize2
+#undef bXPos1
+#undef bXPos2
+#undef bXPos3
+#undef bYPos
+
+#define gSize 160
+#define gSpace 24
+
+#define g0XSize 82
+#define g1XPos (marg + g0XSize)
+#define g1XSize (gSize - g0XSize)
+
+#define g2XSize 122
+#define g3XPos (marg + g2XSize)
+#define g3XSize (gSize - g2XSize)
+
+#define g4XPos (marg + gSize + gSpace)
+#define g4XPos2 (g4XPos + 7)
+#define g4XSize (xSize2 - gSize - gSpace)
+#define g4XSize2 (g4XSize - 14)
+
+#define bXPos1 (xSize - marg - bXSize)
+#define bXPos2 (bXPos1 - 10 - bXSize)
+#define bXPos3 (bXPos2 - 10 - bXSize)
+
+#define bYPos (ySize - marg - bYSize)
+
+IDD_DIALOG_COMPRESS DIALOG 0, 0, xSize, ySize MY_MODAL_DIALOG_STYLE
CAPTION "Add to Archive"
-FONT 8, "MS Shell Dlg"
-BEGIN
- LTEXT "&Archive:",IDC_STATIC_COMPRESS_ARCHIVE,7,7,283,8
- COMBOBOX IDC_COMPRESS_COMBO_ARCHIVE,7,18,290,126,CBS_DROPDOWN |
- CBS_AUTOHSCROLL | WS_VSCROLL | WS_TABSTOP
- PUSHBUTTON "...",IDC_COMPRESS_BUTTON_SET_ARCHIVE,308,17,20,14,
- WS_GROUP
- LTEXT "Archive &format:",IDC_STATIC_COMPRESS_FORMAT,7,41,79,8
- COMBOBOX IDC_COMPRESS_COMBO_FORMAT,88,39,76,80,CBS_DROPDOWNLIST |
- WS_VSCROLL | WS_TABSTOP
- LTEXT "Compression &level:",IDC_STATIC_COMPRESS_LEVEL,7,62,79,
- 8
- COMBOBOX IDC_COMPRESS_COMBO_LEVEL,88,60,76,80,CBS_DROPDOWNLIST |
- WS_VSCROLL | WS_TABSTOP
- LTEXT "Compression &method:",IDC_STATIC_COMPRESS_METHOD,7,83,
- 79,8
- COMBOBOX IDC_COMPRESS_COMBO_METHOD,88,81,76,80,CBS_DROPDOWNLIST |
- WS_VSCROLL | WS_TABSTOP
- LTEXT "&Dictionary size:",IDC_STATIC_COMPRESS_DICTIONARY,7,104,
- 79,8
- COMBOBOX IDC_COMPRESS_COMBO_DICTIONARY,88,102,76,167,
- CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP
- LTEXT "&Word size:",IDC_STATIC_COMPRESS_ORDER,7,127,79,8
- COMBOBOX IDC_COMPRESS_COMBO_ORDER,88,125,76,141,CBS_DROPDOWNLIST |
- WS_VSCROLL | WS_TABSTOP
- LTEXT "Memory usage for Compressing:",
- IDC_STATIC_COMPRESS_MEMORY,7,149,121,8
- RTEXT "0",IDC_STATIC_COMPRESS_MEMORY_VALUE,128,149,36,8
- LTEXT "Memory usage for Decompressing:",
- IDC_STATIC_COMPRESS_MEMORY_DE,7,163,121,8
- RTEXT "0",IDC_STATIC_COMPRESS_MEMORY_DE_VALUE,128,163,36,8
- CONTROL "Create &Solid archive",IDC_COMPRESS_SOLID,"Button",
- BS_AUTOCHECKBOX | WS_TABSTOP,7,181,157,10
- CONTROL "Multi-threading",IDC_COMPRESS_MULTI_THREAD,"Button",
- BS_AUTOCHECKBOX | WS_TABSTOP,7,195,157,10
- LTEXT "Split to &volumes, bytes:",IDC_STATIC_COMPRESS_VOLUME,
- 186,183,142,8
- COMBOBOX IDC_COMPRESS_COMBO_VOLUME,186,196,142,73,CBS_DROPDOWN |
- CBS_AUTOHSCROLL | WS_VSCROLL | WS_TABSTOP
- LTEXT "&Parameters:",IDC_STATIC_COMPRESS_PARAMETERS,7,214,157,
- 8
- EDITTEXT IDC_COMPRESS_EDIT_PARAMETERS,7,225,321,14,ES_AUTOHSCROLL
- LTEXT "&Update mode:",IDC_STATIC_COMPRESS_UPDATE_MODE,186,39,
- 104,8
- COMBOBOX IDC_COMPRESS_COMBO_UPDATE_MODE,186,50,142,80,
- CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP
- GROUPBOX "Options",IDC_STATIC_COMPRESS_OPTIONS,186,73,142,32
- CONTROL "Create SF&X archive",IDC_COMPRESS_SFX,"Button",
- BS_AUTOCHECKBOX | WS_TABSTOP,194,87,127,10
- GROUPBOX "Password",IDC_COMPRESS_PASSWORD,186,113,142,63
- EDITTEXT IDC_COMPRESS_EDIT_PASSWORD,194,127,127,14,ES_PASSWORD |
- ES_AUTOHSCROLL
- CONTROL "Show Password",IDC_COMPRESS_CHECK_SHOW_PASSWORD,"Button",
- BS_AUTOCHECKBOX | WS_TABSTOP,194,145,127,10
- CONTROL "Encrypt file &names",
- IDC_COMPRESS_CHECK_ENCRYPT_FILE_NAMES,"Button",
- BS_AUTOCHECKBOX | WS_TABSTOP,194,159,127,10
- DEFPUSHBUTTON "OK",IDOK,109,256,64,14
- PUSHBUTTON "Cancel",IDCANCEL,181,256,64,14
- PUSHBUTTON "Help",IDHELP,264,256,64,14
-END
-
-
-/////////////////////////////////////////////////////////////////////////////
-//
-// DESIGNINFO
-//
-
-#ifdef APSTUDIO_INVOKED
-GUIDELINES DESIGNINFO DISCARDABLE
+MY_FONT
BEGIN
- IDD_DIALOG_COMPRESS, DIALOG
- BEGIN
- LEFTMARGIN, 7
- RIGHTMARGIN, 328
- VERTGUIDE, 86
- VERTGUIDE, 88
- VERTGUIDE, 128
- VERTGUIDE, 164
- VERTGUIDE, 186
- VERTGUIDE, 194
- VERTGUIDE, 321
- BOTTOMMARGIN, 270
- END
+ LTEXT "&Archive:", IDC_STATIC_COMPRESS_ARCHIVE, marg, marg, xSize2, 8
+ COMBOBOX IDC_COMPRESS_COMBO_ARCHIVE, marg, 18, xSize2 - bDotsSize - 12, 126, CBS_DROPDOWN | CBS_AUTOHSCROLL | WS_VSCROLL | WS_TABSTOP
+ PUSHBUTTON "...", IDC_COMPRESS_BUTTON_SET_ARCHIVE, xSize - marg - bDotsSize, 17, bDotsSize, bYSize, WS_GROUP
+
+ LTEXT "Archive &format:", IDC_STATIC_COMPRESS_FORMAT, marg, 41, g0XSize, 8
+ COMBOBOX IDC_COMPRESS_COMBO_FORMAT, g1XPos, 39, g1XSize , 80,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP
+
+ LTEXT "Compression &level:",IDC_STATIC_COMPRESS_LEVEL, marg, 62, g0XSize, 8
+ COMBOBOX IDC_COMPRESS_COMBO_LEVEL, g1XPos, 60, g1XSize, 80,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP
+
+ LTEXT "Compression &method:",IDC_STATIC_COMPRESS_METHOD, marg, 83, g0XSize, 8
+ COMBOBOX IDC_COMPRESS_COMBO_METHOD, g1XPos, 81, g1XSize, 80,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP
+
+ LTEXT "&Dictionary size:",IDC_STATIC_COMPRESS_DICTIONARY, marg, 104, g0XSize, 8
+ COMBOBOX IDC_COMPRESS_COMBO_DICTIONARY, g1XPos, 102, g1XSize, 167, CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP
+
+ LTEXT "&Word size:",IDC_STATIC_COMPRESS_ORDER, marg, 125, g0XSize, 8
+ COMBOBOX IDC_COMPRESS_COMBO_ORDER, g1XPos, 123, g1XSize, 141, CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP
+
+
+ LTEXT "Memory usage for Compressing:", IDC_STATIC_COMPRESS_MEMORY, marg, 149, g2XSize, 8
+ RTEXT "0", IDC_STATIC_COMPRESS_MEMORY_VALUE, g3XPos, 149, g3XSize, 8
+
+ LTEXT "Memory usage for Decompressing:", IDC_STATIC_COMPRESS_MEMORY_DE, marg, 163, g2XSize, 8
+ RTEXT "0",IDC_STATIC_COMPRESS_MEMORY_DE_VALUE, g3XPos, 163, g3XSize, 8
+
+
+ CONTROL "Create &Solid archive", IDC_COMPRESS_SOLID,"Button", BS_AUTOCHECKBOX | WS_TABSTOP,
+ marg, 181, gSize, 10
+ CONTROL "Multi-threading", IDC_COMPRESS_MULTI_THREAD, "Button", BS_AUTOCHECKBOX | WS_TABSTOP,
+ marg, 195, gSize, 10
+
+ LTEXT "Split to &volumes, bytes:", IDC_STATIC_COMPRESS_VOLUME, g4XPos, 184, g4XSize, 8
+ COMBOBOX IDC_COMPRESS_COMBO_VOLUME, g4XPos, 196, g4XSize, 73, CBS_DROPDOWN | CBS_AUTOHSCROLL | WS_VSCROLL | WS_TABSTOP
+
+ LTEXT "&Parameters:",IDC_STATIC_COMPRESS_PARAMETERS, marg, 214, xSize2, 8
+ EDITTEXT IDC_COMPRESS_EDIT_PARAMETERS, marg, 225, xSize2, 14, ES_AUTOHSCROLL
+
+ LTEXT "&Update mode:",IDC_STATIC_COMPRESS_UPDATE_MODE, g4XPos, 39, g4XSize, 8
+ COMBOBOX IDC_COMPRESS_COMBO_UPDATE_MODE, g4XPos, 51, g4XSize, 80, CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP
+
+ GROUPBOX "Options",IDC_STATIC_COMPRESS_OPTIONS, g4XPos, 73, g4XSize, 32
+ CONTROL "Create SF&X archive",IDC_COMPRESS_SFX, "Button", BS_AUTOCHECKBOX | WS_TABSTOP,
+ g4XPos2, 87, g4XSize2, 10
+
+ GROUPBOX "Password",IDC_COMPRESS_PASSWORD, g4XPos, 113, g4XSize, 63
+ EDITTEXT IDC_COMPRESS_EDIT_PASSWORD, g4XPos2, 127, g4XSize2, 14, ES_PASSWORD | ES_AUTOHSCROLL
+ CONTROL "Show Password",IDC_COMPRESS_CHECK_SHOW_PASSWORD,"Button", BS_AUTOCHECKBOX | WS_TABSTOP,
+ g4XPos2, 145, g4XSize2, 10
+ CONTROL "Encrypt file &names", IDC_COMPRESS_CHECK_ENCRYPT_FILE_NAMES, "Button", BS_AUTOCHECKBOX | WS_TABSTOP,
+ g4XPos2, 159, g4XSize2, 10
+
+ DEFPUSHBUTTON "OK", IDOK, bXPos3, bYPos, bXSize, bYSize, WS_GROUP
+ PUSHBUTTON "Cancel", IDCANCEL, bXPos2, bYPos, bXSize, bYSize
+ PUSHBUTTON "Help", IDHELP, bXPos1, bYPos, bXSize, bYSize
END
-#endif // APSTUDIO_INVOKED
-
-#endif // English (U.S.) resources
-/////////////////////////////////////////////////////////////////////////////
-
-
diff --git a/7zip/UI/Resource/Extract/resource.h b/7zip/UI/Resource/Extract/resource.h
index 20e3be45..4038e986 100755
--- a/7zip/UI/Resource/Extract/resource.h
+++ b/7zip/UI/Resource/Extract/resource.h
@@ -1,26 +1,10 @@
-//{{NO_DEPENDENCIES}}
-// Microsoft Developer Studio generated include file.
-// Used by resource.rc
-//
+#define IDS_CANNOT_CREATE_FOLDER 200
+#define IDS_OPEN_IS_NOT_SUPORTED_ARCHIVE 201
-#define IDS_CANNOT_CREATE_FOLDER 200
-#define IDS_OPEN_IS_NOT_SUPORTED_ARCHIVE 201
+#define IDS_MESSAGES_DIALOG_EXTRACT_MESSAGE_CRC 202
+#define IDS_MESSAGES_DIALOG_EXTRACT_MESSAGE_DATA_ERROR 203
+#define IDS_MESSAGES_DIALOG_EXTRACT_MESSAGE_UNSUPPORTED_METHOD 204
-#define IDS_MESSAGES_DIALOG_EXTRACT_MESSAGE_CRC 202
-#define IDS_MESSAGES_DIALOG_EXTRACT_MESSAGE_DATA_ERROR 203
-#define IDS_MESSAGES_DIALOG_EXTRACT_MESSAGE_UNSUPPORTED_METHOD 204
-
-#define IDS_EXTRACT_SET_FOLDER 205
-#define IDS_MESSAGES_DIALOG_EXTRACT_MESSAGE_CANNOT_OPEN_FILE 206
-#define IDS_PROGRESS_EXTRACTING 207
-
-// Next default values for new objects
-//
-#ifdef APSTUDIO_INVOKED
-#ifndef APSTUDIO_READONLY_SYMBOLS
-#define _APS_NEXT_RESOURCE_VALUE 208
-#define _APS_NEXT_COMMAND_VALUE 40001
-#define _APS_NEXT_CONTROL_VALUE 1000
-#define _APS_NEXT_SYMED_VALUE 208
-#endif
-#endif
+#define IDS_EXTRACT_SET_FOLDER 205
+#define IDS_MESSAGES_DIALOG_EXTRACT_MESSAGE_CANNOT_OPEN_FILE 206
+#define IDS_PROGRESS_EXTRACTING 207
diff --git a/7zip/UI/Resource/Extract/resource.rc b/7zip/UI/Resource/Extract/resource.rc
index cc876aab..66e0b4d4 100755
--- a/7zip/UI/Resource/Extract/resource.rc
+++ b/7zip/UI/Resource/Extract/resource.rc
@@ -1,113 +1,15 @@
-//Microsoft Developer Studio generated resource script.
-//
#include "resource.h"
-#define APSTUDIO_READONLY_SYMBOLS
-/////////////////////////////////////////////////////////////////////////////
-//
-// Generated from the TEXTINCLUDE 2 resource.
-//
-#include "afxres.h"
-
-/////////////////////////////////////////////////////////////////////////////
-#undef APSTUDIO_READONLY_SYMBOLS
-
-/////////////////////////////////////////////////////////////////////////////
-// Russian resources
-
-#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_RUS)
-#ifdef _WIN32
-LANGUAGE LANG_RUSSIAN, SUBLANG_DEFAULT
-#pragma code_page(1251)
-#endif //_WIN32
-
-#ifdef APSTUDIO_INVOKED
-/////////////////////////////////////////////////////////////////////////////
-//
-// TEXTINCLUDE
-//
-
-1 TEXTINCLUDE DISCARDABLE
-BEGIN
- "resource.h\0"
-END
-
-2 TEXTINCLUDE DISCARDABLE
-BEGIN
- "#include ""afxres.h""\r\n"
- "\0"
-END
-
-3 TEXTINCLUDE DISCARDABLE
-BEGIN
- "\r\n"
- "\0"
-END
-
-#endif // APSTUDIO_INVOKED
-
-#endif // Russian resources
-/////////////////////////////////////////////////////////////////////////////
-
-
-/////////////////////////////////////////////////////////////////////////////
-// English (U.S.) resources
-
-#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_ENU)
-#ifdef _WIN32
LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US
-#pragma code_page(1252)
-#endif //_WIN32
-
-/////////////////////////////////////////////////////////////////////////////
-//
-// String Table
-//
-
-STRINGTABLE DISCARDABLE
-BEGIN
- IDS_CANNOT_CREATE_FOLDER "Cannot create folder '{0}'"
- IDS_OPEN_IS_NOT_SUPORTED_ARCHIVE "File is not supported archive."
- IDS_MESSAGES_DIALOG_EXTRACT_MESSAGE_CRC
- "CRC failed in '{0}'. File is broken."
- IDS_MESSAGES_DIALOG_EXTRACT_MESSAGE_DATA_ERROR
- "Data error in '{0}'. File is broken."
-END
-
-STRINGTABLE DISCARDABLE
-BEGIN
- IDS_MESSAGES_DIALOG_EXTRACT_MESSAGE_UNSUPPORTED_METHOD
- "Unsupported compression method for '{0}'."
-END
STRINGTABLE DISCARDABLE
BEGIN
- IDS_EXTRACT_SET_FOLDER "Specify a location for extracted files."
+ IDS_CANNOT_CREATE_FOLDER "Cannot create folder '{0}'"
+ IDS_OPEN_IS_NOT_SUPORTED_ARCHIVE "File is not supported archive."
+ IDS_MESSAGES_DIALOG_EXTRACT_MESSAGE_CRC "CRC failed in '{0}'. File is broken."
+ IDS_MESSAGES_DIALOG_EXTRACT_MESSAGE_DATA_ERROR "Data error in '{0}'. File is broken."
+ IDS_MESSAGES_DIALOG_EXTRACT_MESSAGE_UNSUPPORTED_METHOD "Unsupported compression method for '{0}'."
+ IDS_EXTRACT_SET_FOLDER "Specify a location for extracted files."
+ IDS_MESSAGES_DIALOG_EXTRACT_MESSAGE_CANNOT_OPEN_FILE "Can not open output file '{0}'."
+ IDS_PROGRESS_EXTRACTING "Extracting"
END
-
-STRINGTABLE DISCARDABLE
-BEGIN
- IDS_MESSAGES_DIALOG_EXTRACT_MESSAGE_CANNOT_OPEN_FILE
- "Can not open output file '{0}'."
-END
-
-STRINGTABLE DISCARDABLE
-BEGIN
- IDS_PROGRESS_EXTRACTING "Extracting"
-END
-
-#endif // English (U.S.) resources
-/////////////////////////////////////////////////////////////////////////////
-
-
-
-#ifndef APSTUDIO_INVOKED
-/////////////////////////////////////////////////////////////////////////////
-//
-// Generated from the TEXTINCLUDE 3 resource.
-//
-
-
-/////////////////////////////////////////////////////////////////////////////
-#endif // not APSTUDIO_INVOKED
-
diff --git a/7zip/UI/Resource/ExtractDialog/resource.h b/7zip/UI/Resource/ExtractDialog/resource.h
index b50c343d..338a2561 100755
--- a/7zip/UI/Resource/ExtractDialog/resource.h
+++ b/7zip/UI/Resource/ExtractDialog/resource.h
@@ -1,7 +1,3 @@
-//{{NO_DEPENDENCIES}}
-// Microsoft Developer Studio generated include file.
-// Used by resource.rc
-//
#define IDC_STATIC_EXTRACT_EXTRACT_TO 1020
#define IDC_EXTRACT_COMBO_PATH 1021
#define IDC_EXTRACT_BUTTON_SET_PATH 1022
@@ -28,13 +24,3 @@
#define IDC_EXTRACT_EDIT_PASSWORD 1101
#define IDC_EXTRACT_CHECK_SHOW_PASSWORD 1102
-// Next default values for new objects
-//
-#ifdef APSTUDIO_INVOKED
-#ifndef APSTUDIO_READONLY_SYMBOLS
-#define _APS_NEXT_RESOURCE_VALUE 157
-#define _APS_NEXT_COMMAND_VALUE 40001
-#define _APS_NEXT_CONTROL_VALUE 1110
-#define _APS_NEXT_SYMED_VALUE 101
-#endif
-#endif
diff --git a/7zip/UI/Resource/ExtractDialog/resource.rc b/7zip/UI/Resource/ExtractDialog/resource.rc
index 4dcc83d3..1c3f1319 100755
--- a/7zip/UI/Resource/ExtractDialog/resource.rc
+++ b/7zip/UI/Resource/ExtractDialog/resource.rc
@@ -1,139 +1,80 @@
-//Microsoft Developer Studio generated resource script.
-//
#include "resource.h"
+#include "../../../GuiCommon.rc"
-#define APSTUDIO_READONLY_SYMBOLS
-/////////////////////////////////////////////////////////////////////////////
-//
-// Generated from the TEXTINCLUDE 2 resource.
-//
-#include "afxres.h"
+#define xSize2 285
+#define ySize2 204
-/////////////////////////////////////////////////////////////////////////////
-#undef APSTUDIO_READONLY_SYMBOLS
+#define xSize (xSize2 + marg + marg)
+#define ySize (ySize2 + marg + marg)
-/////////////////////////////////////////////////////////////////////////////
-// Russian resources
+#undef g1XSize
+#undef g1XSize2
+#undef g1XPos2
+#undef g2XPos
+#undef g2XPos2
+#undef g2XSize
+#undef g2XSize2
-#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_RUS)
-#ifdef _WIN32
-LANGUAGE LANG_RUSSIAN, SUBLANG_DEFAULT
-#pragma code_page(1251)
-#endif //_WIN32
+#define bYPos (ySize - marg - bYSize)
-#ifdef APSTUDIO_INVOKED
-/////////////////////////////////////////////////////////////////////////////
-//
-// TEXTINCLUDE
-//
+#define g1XSize 127
+#define g1XSize2 (g1XSize - 13)
+#define g1XPos2 (marg + 7)
-1 TEXTINCLUDE DISCARDABLE
-BEGIN
- "resource.h\0"
-END
-
-2 TEXTINCLUDE DISCARDABLE
-BEGIN
- "#include ""afxres.h""\r\n"
- "\0"
-END
-
-3 TEXTINCLUDE DISCARDABLE
-BEGIN
- "\0"
-END
-
-#endif // APSTUDIO_INVOKED
-
-#endif // Russian resources
-/////////////////////////////////////////////////////////////////////////////
+#define gSpace 14
+#define g2XPos (marg + g1XSize + gSpace)
+#define g2XPos2 (g2XPos + 7)
+#define g2XSize (xSize2 - g1XSize - gSpace)
+#define g2XSize2 (g2XSize - 14)
+#define bXPos1 (xSize - marg - bXSize)
+#define bXPos2 (bXPos1 - 10 - bXSize)
+#define bXPos3 (bXPos2 - 10 - bXSize)
-/////////////////////////////////////////////////////////////////////////////
-// English (U.S.) resources
-
-#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_ENU)
-#ifdef _WIN32
-LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US
-#pragma code_page(1252)
-#endif //_WIN32
-
-/////////////////////////////////////////////////////////////////////////////
-//
-// Dialog
-//
-
-IDD_DIALOG_EXTRACT DIALOG DISCARDABLE 0, 0, 299, 218
-STYLE DS_MODALFRAME | DS_FIXEDSYS | DS_CENTER | WS_POPUP | WS_CAPTION |
- WS_SYSMENU
+IDD_DIALOG_EXTRACT DIALOG DISCARDABLE 0, 0, xSize, ySize MY_MODAL_DIALOG_STYLE
CAPTION "Extract"
-FONT 8, "MS Shell Dlg"
+MY_FONT
BEGIN
- LTEXT "E&xtract to:",IDC_STATIC_EXTRACT_EXTRACT_TO,7,7,127,8
- COMBOBOX IDC_EXTRACT_COMBO_PATH,7,21,252,126,CBS_DROPDOWN |
- CBS_AUTOHSCROLL | WS_VSCROLL | WS_TABSTOP
- PUSHBUTTON "...",IDC_EXTRACT_BUTTON_SET_PATH,272,20,20,14,WS_GROUP
- GROUPBOX "Path mode",IDC_EXTRACT_PATH_MODE,7,44,127,57
- CONTROL "Full pathnames",IDC_EXTRACT_RADIO_FULL_PATHNAMES,"Button",
- BS_AUTORADIOBUTTON | WS_GROUP,13,57,114,10
- CONTROL "Current pathnames",IDC_EXTRACT_RADIO_CURRENT_PATHNAMES,
- "Button",BS_AUTORADIOBUTTON,13,71,114,10
- CONTROL "No pathnames",IDC_EXTRACT_RADIO_NO_PATHNAMES,"Button",
- BS_AUTORADIOBUTTON,13,85,114,10
- GROUPBOX "Overwrite mode",IDC_EXTRACT_OVERWRITE_MODE,148,44,144,
- 88,WS_GROUP
- CONTROL "Ask before overwrite",
- IDC_EXTRACT_RADIO_ASK_BEFORE_OVERWRITE,"Button",
- BS_AUTORADIOBUTTON | WS_GROUP,154,57,130,10
- CONTROL "Overwrite without prompt",
- IDC_EXTRACT_RADIO_OVERWRITE_WITHOUT_PROMPT,"Button",
- BS_AUTORADIOBUTTON,154,71,130,10
- CONTROL "Skip existing files",
- IDC_EXTRACT_RADIO_SKIP_EXISTING_FILES,"Button",
- BS_AUTORADIOBUTTON,154,85,130,10
- CONTROL "Auto rename",IDC_EXTRACT_RADIO_AUTO_RENAME,"Button",
- BS_AUTORADIOBUTTON,154,99,130,10
- CONTROL "Auto rename existing files",
- IDC_EXTRACT_RADIO_AUTO_RENAME_EXISTING,"Button",
- BS_AUTORADIOBUTTON,154,113,130,10
- GROUPBOX "Files",IDC_EXTRACT_FILES,7,140,127,48,NOT WS_VISIBLE |
- WS_DISABLED | WS_GROUP
- CONTROL "&Selected files",IDC_EXTRACT_RADIO_SELECTED_FILES,
- "Button",BS_AUTORADIOBUTTON | NOT WS_VISIBLE |
- WS_DISABLED | WS_GROUP,13,153,114,10
- CONTROL "&All files",IDC_EXTRACT_RADIO_ALL_FILES,"Button",
- BS_AUTORADIOBUTTON | NOT WS_VISIBLE | WS_DISABLED,13,166,
- 114,10
- GROUPBOX "Password",IDC_EXTRACT_PASSWORD,148,142,144,46
- EDITTEXT IDC_EXTRACT_EDIT_PASSWORD,154,153,130,14,ES_PASSWORD |
- ES_AUTOHSCROLL
- CONTROL "Show Password",IDC_EXTRACT_CHECK_SHOW_PASSWORD,"Button",
- BS_AUTOCHECKBOX | WS_TABSTOP,154,172,129,10
- DEFPUSHBUTTON "OK",IDOK,80,197,64,14,WS_GROUP
- PUSHBUTTON "Cancel",IDCANCEL,154,197,64,14
- PUSHBUTTON "Help",IDHELP,228,197,64,14
+ LTEXT "E&xtract to:", IDC_STATIC_EXTRACT_EXTRACT_TO, marg, marg, xSize2, 8
+
+ COMBOBOX IDC_EXTRACT_COMBO_PATH, marg, 21, xSize2 - bDotsSize - 13, 126, CBS_DROPDOWN | CBS_AUTOHSCROLL | WS_VSCROLL | WS_TABSTOP
+
+ PUSHBUTTON "...", IDC_EXTRACT_BUTTON_SET_PATH, xSize - marg - bDotsSize, 20, bDotsSize, bYSize, WS_GROUP
+
+ GROUPBOX "Path mode",IDC_EXTRACT_PATH_MODE, marg, 44, g1XSize, 57
+ CONTROL "Full pathnames", IDC_EXTRACT_RADIO_FULL_PATHNAMES,"Button", BS_AUTORADIOBUTTON | WS_GROUP,
+ g1XPos2, 57, g1XSize2, 10
+ CONTROL "Current pathnames",IDC_EXTRACT_RADIO_CURRENT_PATHNAMES, "Button", BS_AUTORADIOBUTTON,
+ g1XPos2, 71, g1XSize2, 10
+ CONTROL "No pathnames", IDC_EXTRACT_RADIO_NO_PATHNAMES, "Button", BS_AUTORADIOBUTTON,
+ g1XPos2, 85, g1XSize2, 10
+
+ GROUPBOX "Overwrite mode",IDC_EXTRACT_OVERWRITE_MODE, g2XPos, 44, g2XSize, 88, WS_GROUP
+ CONTROL "Ask before overwrite", IDC_EXTRACT_RADIO_ASK_BEFORE_OVERWRITE, "Button", BS_AUTORADIOBUTTON | WS_GROUP,
+ g2XPos2, 57, g2XSize2, 10
+ CONTROL "Overwrite without prompt", IDC_EXTRACT_RADIO_OVERWRITE_WITHOUT_PROMPT, "Button", BS_AUTORADIOBUTTON,
+ g2XPos2, 71, g2XSize2, 10
+ CONTROL "Skip existing files", IDC_EXTRACT_RADIO_SKIP_EXISTING_FILES, "Button", BS_AUTORADIOBUTTON,
+ g2XPos2, 85, g2XSize2, 10
+ CONTROL "Auto rename", IDC_EXTRACT_RADIO_AUTO_RENAME, "Button", BS_AUTORADIOBUTTON,
+ g2XPos2, 99, g2XSize2, 10
+ CONTROL "Auto rename existing files", IDC_EXTRACT_RADIO_AUTO_RENAME_EXISTING, "Button", BS_AUTORADIOBUTTON,
+ g2XPos2,113, g2XSize2, 10
+
+ GROUPBOX "Files",IDC_EXTRACT_FILES, marg, 140, 127, 48, NOT WS_VISIBLE | WS_DISABLED | WS_GROUP
+ CONTROL "&Selected files",IDC_EXTRACT_RADIO_SELECTED_FILES, "Button", BS_AUTORADIOBUTTON | NOT WS_VISIBLE | WS_DISABLED | WS_GROUP,
+ g1XPos2, 153, g1XSize2, 10
+ CONTROL "&All files",IDC_EXTRACT_RADIO_ALL_FILES, "Button", BS_AUTORADIOBUTTON | NOT WS_VISIBLE | WS_DISABLED,
+ g1XPos2, 166, g1XSize2, 10
+
+ GROUPBOX "Password",IDC_EXTRACT_PASSWORD, g2XPos, 142, g2XSize, 46
+ EDITTEXT IDC_EXTRACT_EDIT_PASSWORD,154,153,130,14, ES_PASSWORD | ES_AUTOHSCROLL
+ CONTROL "Show Password",IDC_EXTRACT_CHECK_SHOW_PASSWORD,"Button", BS_AUTOCHECKBOX | WS_TABSTOP,
+ g2XPos2, 172, g2XSize2, 10
+
+ DEFPUSHBUTTON "OK", IDOK, bXPos3, bYPos, bXSize, bYSize, WS_GROUP
+ PUSHBUTTON "Cancel", IDCANCEL, bXPos2, bYPos, bXSize, bYSize
+ PUSHBUTTON "Help", IDHELP, bXPos1, bYPos, bXSize, bYSize
END
-/////////////////////////////////////////////////////////////////////////////
-//
-// DESIGNINFO
-//
-
-#ifdef APSTUDIO_INVOKED
-GUIDELINES DESIGNINFO DISCARDABLE
-BEGIN
- "IDD_DIALOG_EXTRACT", DIALOG
- BEGIN
- LEFTMARGIN, 7
- RIGHTMARGIN, 292
- TOPMARGIN, 7
- BOTTOMMARGIN, 211
- END
-END
-#endif // APSTUDIO_INVOKED
-
-#endif // English (U.S.) resources
-/////////////////////////////////////////////////////////////////////////////
-
-
diff --git a/7zip/UI/makefile b/7zip/UI/makefile
new file mode 100755
index 00000000..f9ff7200
--- /dev/null
+++ b/7zip/UI/makefile
@@ -0,0 +1,9 @@
+DIRS = \
+ Console\~ \
+ Explorer\~ \
+ GUI\~ \
+
+all: $(DIRS)
+
+$(DIRS):
+!include "../SubBuild.mak"
diff --git a/7zip/makefile b/7zip/makefile
new file mode 100755
index 00000000..1db4c9ad
--- /dev/null
+++ b/7zip/makefile
@@ -0,0 +1,16 @@
+DIRS = \
+ Compress\~ \
+ Crypto\~ \
+ Archive\~ \
+ UI\~ \
+ Bundles\~ \
+
+all: $(DIRS) FileManager\~
+
+$(DIRS):
+ cd $(@D)
+ $(MAKE) -nologo
+ cd ..
+
+FileManager\~:
+!include "SubBuild.mak"
diff --git a/Build.mak b/Build.mak
new file mode 100755
index 00000000..2c44d453
--- /dev/null
+++ b/Build.mak
@@ -0,0 +1,50 @@
+!IFDEF CPU
+LIBS = $(LIBS) bufferoverflowU.lib
+!ENDIF
+
+!IFNDEF O
+!IFDEF CPU
+O=$(CPU)
+!ELSE
+O=O
+!ENDIF
+!ENDIF
+
+CFLAGS = $(CFLAGS) -nologo -c -Fo$O/ -EHsc -Gz -GS-
+!IFDEF MY_STATIC_LINK
+!IFNDEF MY_SINGLE_THREAD
+CFLAGS = $(CFLAGS) -MT
+!ENDIF
+!ELSE
+CFLAGS = $(CFLAGS) -MD
+!ENDIF
+CFLAGS_O1 = $(CFLAGS) -O1
+CFLAGS_O2 = $(CFLAGS) -O2
+
+LFLAGS = $(LFLAGS) -nologo -OPT:NOWIN98
+
+!IFDEF DEF_FILE
+LFLAGS = $(LFLAGS) -DLL -DEF:$(DEF_FILE)
+!ENDIF
+
+PROGPATH = $O\$(PROG)
+
+COMPL_O1 = $(CPP) $(CFLAGS_O1) $**
+COMPL_O2 = $(CPP) $(CFLAGS_O2) $**
+COMPL_PCH = $(CPP) $(CFLAGS_O1) -Yc"StdAfx.h" -Fp$O/a.pch $**
+COMPL = $(CPP) $(CFLAGS_O1) -Yu"StdAfx.h" -Fp$O/a.pch $**
+
+all: $(PROGPATH)
+
+clean:
+ -del /Q $(PROGPATH) $O\*.exe $O\*.dll $O\*.obj $O\*.lib $O\*.exp $O\*.res $O\*.pch
+
+$O:
+ if not exist "$O" mkdir "$O"
+
+$(PROGPATH): $O $(OBJS) $(DEF_FILE)
+ link $(LFLAGS) -out:$(PROGPATH) $(OBJS) $(LIBS)
+$O\resource.res: $(*B).rc
+ rc -fo$@ $**
+$O\StdAfx.obj: $(*B).cpp
+ $(COMPL_PCH)
diff --git a/Common/CRC.cpp b/Common/CRC.cpp
index 3e90c713..35e1a187 100755
--- a/Common/CRC.cpp
+++ b/Common/CRC.cpp
@@ -51,7 +51,7 @@ void CCRC::UpdateUInt64(UInt64 v)
UpdateByte((Byte)(v >> (8 * i)));
}
-void CCRC::Update(const void *data, UInt32 size)
+void CCRC::Update(const void *data, size_t size)
{
UInt32 v = _value;
const Byte *p = (const Byte *)data;
diff --git a/Common/CRC.h b/Common/CRC.h
index 58f8e636..6b4f1b79 100755
--- a/Common/CRC.h
+++ b/Common/CRC.h
@@ -3,6 +3,7 @@
#ifndef __COMMON_CRC_H
#define __COMMON_CRC_H
+#include <stddef.h>
#include "Types.h"
class CCRC
@@ -18,15 +19,15 @@ public:
void UpdateUInt16(UInt16 v);
void UpdateUInt32(UInt32 v);
void UpdateUInt64(UInt64 v);
- void Update(const void *data, UInt32 size);
+ void Update(const void *data, size_t size);
UInt32 GetDigest() const { return _value ^ 0xFFFFFFFF; }
- static UInt32 CalculateDigest(const void *data, UInt32 size)
+ static UInt32 CalculateDigest(const void *data, size_t size)
{
CCRC crc;
crc.Update(data, size);
return crc.GetDigest();
}
- static bool VerifyDigest(UInt32 digest, const void *data, UInt32 size)
+ static bool VerifyDigest(UInt32 digest, const void *data, size_t size)
{
return (CalculateDigest(data, size) == digest);
}
diff --git a/Common/Random.cpp b/Common/Random.cpp
index c003e8a7..f4a629c2 100755
--- a/Common/Random.cpp
+++ b/Common/Random.cpp
@@ -11,7 +11,7 @@ void CRandom::Init(unsigned int seed)
{ srand(seed); }
void CRandom::Init()
- { Init(time(NULL)); }
+ { Init((unsigned int)time(NULL)); }
int CRandom::Generate() const
{ return rand(); }
diff --git a/Common/StdAfx.h b/Common/StdAfx.h
index 38c17215..681ee935 100755
--- a/Common/StdAfx.h
+++ b/Common/StdAfx.h
@@ -4,5 +4,6 @@
#define __STDAFX_H
// #include "MyWindows.h"
+#include "NewHandler.h"
#endif
diff --git a/Common/String.h b/Common/String.h
index bbe05174..56509016 100755
--- a/Common/String.h
+++ b/Common/String.h
@@ -15,7 +15,7 @@
static const char *kTrimDefaultCharSet = " \n\t";
template <class T>
-inline size_t MyStringLen(const T *s)
+inline int MyStringLen(const T *s)
{
int i;
for (i = 0; s[i] != '\0'; i++);
@@ -112,7 +112,7 @@ class CStringBase
const T *p = _chars;
while (charSet.Find(*p) >= 0 && (*p != 0))
p = GetNextCharPointer(p);
- Delete(0, p - _chars);
+ Delete(0, (int)(p - _chars));
}
void TrimRightWithCharSet(const CStringBase &charSet)
{
@@ -131,7 +131,7 @@ class CStringBase
}
if(pLast != NULL)
{
- int i = pLast - _chars;
+ int i = (int)(pLast - _chars);
Delete(i, _length - i);
}
@@ -370,7 +370,7 @@ public:
while (true)
{
if (*p == c)
- return p - _chars;
+ return (int)(p - _chars);
if (*p == 0)
return -1;
p = GetNextCharPointer(p);
@@ -400,7 +400,7 @@ public:
while (true)
{
if (*p == c)
- return p - _chars;
+ return (int)(p - _chars);
if (p == _chars)
return -1;
p = GetPrevCharPointer(_chars, p);
diff --git a/DOC/7zip.nsi b/DOC/7zip.nsi
index 15b7f652..d6c532b8 100755
--- a/DOC/7zip.nsi
+++ b/DOC/7zip.nsi
@@ -5,7 +5,7 @@
!define VERSION_MINOR 24
!define VERSION_POSTFIX_FULL " beta"
!define NAME_FULL "7-Zip ${VERSION_MAJOR}.${VERSION_MINOR}${VERSION_POSTFIX_FULL}"
-!define VERSION_POSTFIX "b"
+!define VERSION_POSTFIX ""
!define FM_LINK "7-Zip File Manager.lnk"
!define HELP_LINK "7-Zip Help.lnk"
@@ -264,7 +264,7 @@ Section
; WriteRegStr HKCR "Folder\shellex\ContextMenuHandlers\7-Zip" "" "${CLSID_CONTEXT_MENU}"
WriteRegStr HKCR "Directory\shellex\DragDropHandlers\7-Zip" "" "${CLSID_CONTEXT_MENU}"
-; WriteRegStr HKCR "Folder\shellex\DragDropHandlers\7-Zip" "" "${CLSID_CONTEXT_MENU}"
+ WriteRegStr HKCR "Drive\shellex\DragDropHandlers\7-Zip" "" "${CLSID_CONTEXT_MENU}"
WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Shell Extensions\Approved" "${CLSID_CONTEXT_MENU}" "7-Zip Shell Extension"
diff --git a/DOC/history.txt b/DOC/history.txt
index a422d8d5..81e29ef4 100755
--- a/DOC/history.txt
+++ b/DOC/history.txt
@@ -1,6 +1,11 @@
Sources history of the 7-Zip
----------------------------
+ Version 4.25 beta 2005-07-31
+ --------------------------------------
+ - More 64-bit compatibilty
+
+
Version 4.24 beta 2005-07-06
--------------------------------------
- Common\NewHandler.h: using throw() for code size optimization.
diff --git a/DOC/readme.txt b/DOC/readme.txt
index 401b61ba..3c883eca 100755
--- a/DOC/readme.txt
+++ b/DOC/readme.txt
@@ -1,4 +1,4 @@
-7-Zip 4.24 Sources
+7-Zip 4.25 Sources
------------------
7-Zip is a file archiver for Windows 95/98/ME/NT/2000/2003/XP.
diff --git a/Windows/Control/ComboBox.h b/Windows/Control/ComboBox.h
index 7ff12c38..d4ffd23e 100755
--- a/Windows/Control/ComboBox.h
+++ b/Windows/Control/ComboBox.h
@@ -6,6 +6,8 @@
#include "Windows/Window.h"
#include "Windows/Defs.h"
+#include <commctrl.h>
+
namespace NWindows {
namespace NControl {
diff --git a/Windows/Control/Dialog.cpp b/Windows/Control/Dialog.cpp
index e911850c..4e026d49 100755
--- a/Windows/Control/Dialog.cpp
+++ b/Windows/Control/Dialog.cpp
@@ -9,22 +9,22 @@ extern HINSTANCE g_hInstance;
namespace NWindows {
namespace NControl {
-BOOL APIENTRY DialogProcedure(HWND dialogHWND, UINT message,
+static INT_PTR APIENTRY DialogProcedure(HWND dialogHWND, UINT message,
WPARAM wParam, LPARAM lParam)
{
- CWindow aDialogTmp(dialogHWND);
+ CWindow dialogTmp(dialogHWND);
if (message == WM_INITDIALOG)
- aDialogTmp.SetUserDataLongPtr(lParam);
- CDialog *aDialog = (CDialog *)(aDialogTmp.GetUserDataLongPtr());
- if (aDialog == NULL)
+ dialogTmp.SetUserDataLongPtr(lParam);
+ CDialog *dialog = (CDialog *)(dialogTmp.GetUserDataLongPtr());
+ if (dialog == NULL)
return FALSE;
if (message == WM_INITDIALOG)
- aDialog->Attach(dialogHWND);
+ dialog->Attach(dialogHWND);
- return BoolToBOOL(aDialog->OnMessage(message, wParam, lParam));
+ return BoolToBOOL(dialog->OnMessage(message, wParam, lParam));
}
-bool CDialog::OnMessage(UINT message, UINT wParam, LPARAM lParam)
+bool CDialog::OnMessage(UINT message, WPARAM wParam, LPARAM lParam)
{
switch (message)
{
diff --git a/Windows/Control/Dialog.h b/Windows/Control/Dialog.h
index 154c4988..de42a656 100755
--- a/Windows/Control/Dialog.h
+++ b/Windows/Control/Dialog.h
@@ -9,8 +9,6 @@
namespace NWindows {
namespace NControl {
-BOOL APIENTRY DialogProcedure(HWND dialogHWND, UINT message, UINT wParam, LPARAM lParam);
-
class CDialog: public CWindow
{
public:
diff --git a/Windows/Control/ListView.h b/Windows/Control/ListView.h
index dad175b6..49a1e0ea 100755
--- a/Windows/Control/ListView.h
+++ b/Windows/Control/ListView.h
@@ -6,6 +6,8 @@
#include "Windows/Window.h"
#include "Windows/Defs.h"
+#include <commctrl.h>
+
namespace NWindows {
namespace NControl {
diff --git a/Windows/Control/PropertyPage.cpp b/Windows/Control/PropertyPage.cpp
index 24085511..9122e710 100755
--- a/Windows/Control/PropertyPage.cpp
+++ b/Windows/Control/PropertyPage.cpp
@@ -7,8 +7,8 @@
namespace NWindows {
namespace NControl {
-BOOL APIENTRY ProperyPageProcedure(HWND dialogHWND, UINT message,
- UINT wParam, LONG lParam)
+INT_PTR APIENTRY ProperyPageProcedure(HWND dialogHWND, UINT message,
+ WPARAM wParam, LPARAM lParam)
{
CDialog tempDialog(dialogHWND);
if (message == WM_INITDIALOG)
diff --git a/Windows/Control/PropertyPage.h b/Windows/Control/PropertyPage.h
index 94a0e99d..aec613df 100755
--- a/Windows/Control/PropertyPage.h
+++ b/Windows/Control/PropertyPage.h
@@ -9,7 +9,7 @@
namespace NWindows {
namespace NControl {
-BOOL APIENTRY ProperyPageProcedure(HWND dialogHWND, UINT message, UINT wParam, LONG lParam);
+INT_PTR APIENTRY ProperyPageProcedure(HWND dialogHWND, UINT message, WPARAM wParam, LPARAM lParam);
class CPropertyPage: public CDialog
{
diff --git a/Windows/Control/StdAfx.h b/Windows/Control/StdAfx.h
new file mode 100755
index 00000000..27a77b10
--- /dev/null
+++ b/Windows/Control/StdAfx.h
@@ -0,0 +1,9 @@
+// StdAfx.h
+
+#ifndef __STDAFX_H
+#define __STDAFX_H
+
+#include "../../Common/MyWindows.h"
+#include "../../Common/NewHandler.h"
+
+#endif
diff --git a/Windows/Control/Window2.cpp b/Windows/Control/Window2.cpp
index 3e11a63d..2fe9019f 100755
--- a/Windows/Control/Window2.cpp
+++ b/Windows/Control/Window2.cpp
@@ -18,7 +18,7 @@ static LRESULT CALLBACK WindowProcedure(HWND aHWND, UINT message,
LONG_PTR(((LPCREATESTRUCT)lParam)->lpCreateParams));
CWindow2 *window = (CWindow2*)(tempWindow.GetUserDataLongPtr());
if (window == NULL)
- return FALSE;
+ return DefWindowProc(aHWND, message, wParam, lParam);
if (message == WM_NCCREATE)
window->Attach(aHWND);
if (window == 0)
@@ -55,7 +55,7 @@ bool CWindow2::CreateEx(DWORD exStyle, LPCTSTR className,
idOrHMenu, instance, this);
}
-LRESULT CWindow2::OnMessage(UINT message, UINT wParam, LPARAM lParam)
+LRESULT CWindow2::OnMessage(UINT message, WPARAM wParam, LPARAM lParam)
{
LRESULT result;
switch (message)
diff --git a/Windows/FileDir.cpp b/Windows/FileDir.cpp
index a5029f22..f7925604 100755
--- a/Windows/FileDir.cpp
+++ b/Windows/FileDir.cpp
@@ -331,7 +331,7 @@ bool MyGetFullPathName(LPCTSTR fileName, CSysString &resultPath,
if (fileNamePointer == 0)
fileNamePartStartIndex = lstrlen(fileName);
else
- fileNamePartStartIndex = fileNamePointer - buffer;
+ fileNamePartStartIndex = (int)(fileNamePointer - buffer);
return true;
}
@@ -470,7 +470,7 @@ bool MySearchPath(LPCTSTR path, LPCTSTR fileName, LPCTSTR extension,
LPTSTR filePartPointer;
DWORD value = ::SearchPath(path, fileName, extension,
MAX_PATH, resultPath.GetBuffer(MAX_PATH), &filePartPointer);
- filePart = filePartPointer - (LPCTSTR)resultPath;
+ filePart = (UINT32)(filePartPointer - (LPCTSTR)resultPath);
resultPath.ReleaseBuffer();
if (value == 0 || value > MAX_PATH)
return false;
diff --git a/Windows/FileMapping.cpp b/Windows/FileMapping.cpp
index ead26c78..d884afb1 100755
--- a/Windows/FileMapping.cpp
+++ b/Windows/FileMapping.cpp
@@ -1,4 +1,4 @@
-// Windows/FileIO.cpp
+// Windows/FileMapping.cpp
#include "StdAfx.h"
diff --git a/Windows/Net.cpp b/Windows/Net.cpp
index febc1340..19730d7f 100755
--- a/Windows/Net.cpp
+++ b/Windows/Net.cpp
@@ -38,13 +38,13 @@ static void ConvertNETRESOURCEToCResource(const NETRESOURCE &netResource,
SetComplexString(resource.ProviderIsDefined, resource.Provider, netResource.lpProvider);
}
-static void SetComplexString2(LPCTSTR &destString, bool defined,
- const CSysString &srsString)
+static void SetComplexString2(LPTSTR *destString, bool defined,
+ const CSysString &srcString)
{
if (defined)
- destString = srsString;
+ *destString = (TCHAR *)(const TCHAR *)srcString;
else
- destString = 0;
+ *destString = 0;
}
static void ConvertCResourceToNETRESOURCE(const CResource &resource,
@@ -54,10 +54,10 @@ static void ConvertCResourceToNETRESOURCE(const CResource &resource,
netResource.dwType = resource.Type;
netResource.dwDisplayType = resource.DisplayType;
netResource.dwUsage = resource.Usage;
- SetComplexString2(netResource.lpLocalName, resource.LocalNameIsDefined, resource.LocalName);
- SetComplexString2(netResource.lpRemoteName, resource.RemoteNameIsDefined, resource.RemoteName);
- SetComplexString2(netResource.lpComment, resource.CommentIsDefined, resource.Comment);
- SetComplexString2(netResource.lpProvider, resource.ProviderIsDefined, resource.Provider);
+ SetComplexString2(&netResource.lpLocalName, resource.LocalNameIsDefined, resource.LocalName);
+ SetComplexString2(&netResource.lpRemoteName, resource.RemoteNameIsDefined, resource.RemoteName);
+ SetComplexString2(&netResource.lpComment, resource.CommentIsDefined, resource.Comment);
+ SetComplexString2(&netResource.lpProvider, resource.ProviderIsDefined, resource.Provider);
}
DWORD CEnum::Open(DWORD scope, DWORD type, DWORD usage,
diff --git a/Windows/Shell.h b/Windows/Shell.h
index 59a54fe8..f4d85a46 100755
--- a/Windows/Shell.h
+++ b/Windows/Shell.h
@@ -3,9 +3,13 @@
#ifndef __WINDOWS_SHELL_H
#define __WINDOWS_SHELL_H
+#include <windows.h>
+#include <shlobj.h>
+
#include "Common/String.h"
#include "Windows/Defs.h"
+
namespace NWindows{
namespace NShell{
diff --git a/Windows/StdAfx.h b/Windows/StdAfx.h
index da52182c..e7924c8f 100755
--- a/Windows/StdAfx.h
+++ b/Windows/StdAfx.h
@@ -4,5 +4,6 @@
#define __STDAFX_H
#include "../Common/MyWindows.h"
+#include "../Common/NewHandler.h"
#endif
diff --git a/Windows/Window.h b/Windows/Window.h
index 87a50e5c..a3c670eb 100755
--- a/Windows/Window.h
+++ b/Windows/Window.h
@@ -102,9 +102,9 @@ public:
LONG_PTR GetLong(int index) const
{ return ::GetWindowLong(_window, index ); }
LONG_PTR SetUserDataLong(LONG_PTR newLongPtr )
- { return SetLong(GWL_USERDATA, newLongPtr); }
+ { return SetLong(GWLP_USERDATA, newLongPtr); }
LONG_PTR GetUserDataLong() const
- { return GetLong(GWL_USERDATA); }
+ { return GetLong(GWLP_USERDATA); }
#ifndef _WIN32_WCE
LONG_PTR SetLongPtr(int index, LONG_PTR newLongPtr )