mirror of
https://github.com/Xevion/easy7zip.git
synced 2025-12-06 03:14:59 -06:00
9.22
This commit is contained in:
committed by
Kornel Lesiński
parent
35596517f2
commit
83f8ddcc5b
@@ -1,7 +1,8 @@
|
|||||||
#define MY_VER_MAJOR 9
|
#define MY_VER_MAJOR 9
|
||||||
#define MY_VER_MINOR 21
|
#define MY_VER_MINOR 22
|
||||||
#define MY_VER_BUILD 00
|
#define MY_VER_BUILD 00
|
||||||
#define MY_VERSION "9.21 beta"
|
#define MY_VERSION "9.22 beta"
|
||||||
#define MY_DATE "2011-04-11"
|
#define MY_7ZIP_VERSION "9.22 beta"
|
||||||
|
#define MY_DATE "2011-04-18"
|
||||||
#define MY_COPYRIGHT ": Igor Pavlov : Public domain"
|
#define MY_COPYRIGHT ": Igor Pavlov : Public domain"
|
||||||
#define MY_VERSION_COPYRIGHT_DATE MY_VERSION " " MY_COPYRIGHT " : " MY_DATE
|
#define MY_VERSION_COPYRIGHT_DATE MY_VERSION " " MY_COPYRIGHT " : " MY_DATE
|
||||||
|
|||||||
55
C/7zVersion.rc
Executable file
55
C/7zVersion.rc
Executable file
@@ -0,0 +1,55 @@
|
|||||||
|
#define MY_VS_FFI_FILEFLAGSMASK 0x0000003FL
|
||||||
|
#define MY_VOS_NT_WINDOWS32 0x00040004L
|
||||||
|
#define MY_VOS_CE_WINDOWS32 0x00050004L
|
||||||
|
|
||||||
|
#define MY_VFT_APP 0x00000001L
|
||||||
|
#define MY_VFT_DLL 0x00000002L
|
||||||
|
|
||||||
|
// #include <WinVer.h>
|
||||||
|
|
||||||
|
#ifndef MY_VERSION
|
||||||
|
#include "7zVersion.h"
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#define MY_VER MY_VER_MAJOR,MY_VER_MINOR,MY_VER_BUILD,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 MY_VS_FFI_FILEFLAGSMASK \
|
||||||
|
FILEFLAGS DBG_FL \
|
||||||
|
FILEOS MY_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 \
|
||||||
|
BLOCK "VarFileInfo" \
|
||||||
|
BEGIN \
|
||||||
|
VALUE "Translation", 0x409, 1200 \
|
||||||
|
END \
|
||||||
|
END
|
||||||
|
|
||||||
|
#define MY_VERSION_INFO_APP(descr, intName) MY_VERSION_INFO(MY_VFT_APP, descr, intName, intName ".exe")
|
||||||
|
|
||||||
|
#define MY_VERSION_INFO_DLL(descr, intName) MY_VERSION_INFO(MY_VFT_DLL, descr, intName, intName ".dll")
|
||||||
@@ -1,4 +1,3 @@
|
|||||||
#include "../../../CPP/7zip/MyVersionInfo.rc"
|
#include "../../7zVersion.rc"
|
||||||
|
|
||||||
MY_VERSION_INFO_DLL("LZMA library", "LZMA")
|
MY_VERSION_INFO_DLL("LZMA library", "LZMA")
|
||||||
|
|
||||||
|
|||||||
@@ -24,6 +24,7 @@
|
|||||||
static const char *kExts[] =
|
static const char *kExts[] =
|
||||||
{
|
{
|
||||||
"bat",
|
"bat",
|
||||||
|
"cmd",
|
||||||
"exe",
|
"exe",
|
||||||
"inf",
|
"inf",
|
||||||
"msi",
|
"msi",
|
||||||
|
|||||||
@@ -1,6 +1,5 @@
|
|||||||
#include "../../../CPP/7zip/MyVersionInfo.rc"
|
#include "../../7zVersion.rc"
|
||||||
|
|
||||||
MY_VERSION_INFO_APP("7z Setup SFX small", "7zS2.sfx")
|
MY_VERSION_INFO_APP("7z Setup SFX small", "7zS2.sfx")
|
||||||
|
|
||||||
1 ICON "setup.ico"
|
1 ICON "setup.ico"
|
||||||
|
|
||||||
|
|||||||
@@ -292,7 +292,7 @@ HRESULT CAddCommon::Compress(
|
|||||||
else if (opRes.PackSize < opRes.UnpackSize)
|
else if (opRes.PackSize < opRes.UnpackSize)
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
if (_options.IsAesMode)
|
if (_options.PasswordIsDefined && _options.IsAesMode)
|
||||||
{
|
{
|
||||||
RINOK(_filterAesSpec->WriteFooter(outStream));
|
RINOK(_filterAesSpec->WriteFooter(outStream));
|
||||||
RINOK(outStream->Seek(0, STREAM_SEEK_CUR, &opRes.PackSize));
|
RINOK(outStream->Seek(0, STREAM_SEEK_CUR, &opRes.PackSize));
|
||||||
|
|||||||
@@ -48,6 +48,8 @@ struct CCompressionMethodMode: public CBaseProps
|
|||||||
UInt64 _dataSizeReduce;
|
UInt64 _dataSizeReduce;
|
||||||
bool _dataSizeReduceDefined;
|
bool _dataSizeReduceDefined;
|
||||||
|
|
||||||
|
bool IsRealAesMode() const { return PasswordIsDefined && IsAesMode; }
|
||||||
|
|
||||||
CCompressionMethodMode(): PasswordIsDefined(false)
|
CCompressionMethodMode(): PasswordIsDefined(false)
|
||||||
{
|
{
|
||||||
_dataSizeReduceDefined = false;
|
_dataSizeReduceDefined = false;
|
||||||
|
|||||||
@@ -409,7 +409,9 @@ STDMETHODIMP CHandler::SetProperties(const wchar_t **names, const PROPVARIANT *v
|
|||||||
m_ForceLocal = false;
|
m_ForceLocal = false;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
return _props.MethodInfo.ParseParamsFromPROPVARIANT(name, prop);
|
{
|
||||||
|
RINOK(_props.MethodInfo.ParseParamsFromPROPVARIANT(name, prop));
|
||||||
|
}
|
||||||
}
|
}
|
||||||
return S_OK;
|
return S_OK;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -389,7 +389,7 @@ static void WriteDirHeader(COutArchive &archive, const CCompressionMethodMode *o
|
|||||||
const CUpdateItem &ui, CItemEx &item)
|
const CUpdateItem &ui, CItemEx &item)
|
||||||
{
|
{
|
||||||
SetFileHeader(archive, *options, ui, item);
|
SetFileHeader(archive, *options, ui, item);
|
||||||
archive.PrepareWriteCompressedData((UInt16)item.Name.Length(), ui.Size, options->IsAesMode);
|
archive.PrepareWriteCompressedData((UInt16)item.Name.Length(), ui.Size, options->IsRealAesMode());
|
||||||
archive.WriteLocalHeader(item);
|
archive.WriteLocalHeader(item);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -448,14 +448,14 @@ static HRESULT Update2St(
|
|||||||
|
|
||||||
// file Size can be 64-bit !!!
|
// file Size can be 64-bit !!!
|
||||||
SetFileHeader(archive, *options, ui, item);
|
SetFileHeader(archive, *options, ui, item);
|
||||||
archive.PrepareWriteCompressedData((UInt16)item.Name.Length(), ui.Size, options->IsAesMode);
|
archive.PrepareWriteCompressedData((UInt16)item.Name.Length(), ui.Size, options->IsRealAesMode());
|
||||||
CCompressingResult compressingResult;
|
CCompressingResult compressingResult;
|
||||||
CMyComPtr<IOutStream> outStream;
|
CMyComPtr<IOutStream> outStream;
|
||||||
archive.CreateStreamForCompressing(&outStream);
|
archive.CreateStreamForCompressing(&outStream);
|
||||||
RINOK(compressor.Compress(
|
RINOK(compressor.Compress(
|
||||||
EXTERNAL_CODECS_LOC_VARS
|
EXTERNAL_CODECS_LOC_VARS
|
||||||
fileInStream, outStream, progress, compressingResult));
|
fileInStream, outStream, progress, compressingResult));
|
||||||
SetItemInfoFromCompressingResult(compressingResult, options->IsAesMode, options->AesKeyMode, item);
|
SetItemInfoFromCompressingResult(compressingResult, options->IsRealAesMode(), options->AesKeyMode, item);
|
||||||
archive.WriteLocalHeader(item);
|
archive.WriteLocalHeader(item);
|
||||||
RINOK(updateCallback->SetOperationResult(NArchive::NUpdate::NOperationResult::kOK));
|
RINOK(updateCallback->SetOperationResult(NArchive::NUpdate::NOperationResult::kOK));
|
||||||
unpackSizeTotal += item.UnPackSize;
|
unpackSizeTotal += item.UnPackSize;
|
||||||
@@ -741,7 +741,7 @@ static HRESULT Update2(
|
|||||||
lastRealStreamItemIndex = itemIndex;
|
lastRealStreamItemIndex = itemIndex;
|
||||||
SetFileHeader(archive, *options, ui, item);
|
SetFileHeader(archive, *options, ui, item);
|
||||||
// file Size can be 64-bit !!!
|
// file Size can be 64-bit !!!
|
||||||
archive.PrepareWriteCompressedData((UInt16)item.Name.Length(), ui.Size, options->IsAesMode);
|
archive.PrepareWriteCompressedData((UInt16)item.Name.Length(), ui.Size, options->IsRealAesMode());
|
||||||
}
|
}
|
||||||
|
|
||||||
CMemBlocks2 &memRef = refs.Refs[itemIndex];
|
CMemBlocks2 &memRef = refs.Refs[itemIndex];
|
||||||
@@ -751,7 +751,7 @@ static HRESULT Update2(
|
|||||||
archive.CreateStreamForCompressing(&outStream);
|
archive.CreateStreamForCompressing(&outStream);
|
||||||
memRef.WriteToStream(memManager.GetBlockSize(), outStream);
|
memRef.WriteToStream(memManager.GetBlockSize(), outStream);
|
||||||
SetItemInfoFromCompressingResult(memRef.CompressingResult,
|
SetItemInfoFromCompressingResult(memRef.CompressingResult,
|
||||||
options->IsAesMode, options->AesKeyMode, item);
|
options->IsRealAesMode(), options->AesKeyMode, item);
|
||||||
SetFileHeader(archive, *options, ui, item);
|
SetFileHeader(archive, *options, ui, item);
|
||||||
archive.WriteLocalHeader(item);
|
archive.WriteLocalHeader(item);
|
||||||
// RINOK(updateCallback->SetOperationResult(NArchive::NUpdate::NOperationResult::kOK));
|
// RINOK(updateCallback->SetOperationResult(NArchive::NUpdate::NOperationResult::kOK));
|
||||||
@@ -784,7 +784,7 @@ static HRESULT Update2(
|
|||||||
RINOK(threadInfo.OutStreamSpec->WriteToRealStream());
|
RINOK(threadInfo.OutStreamSpec->WriteToRealStream());
|
||||||
threadInfo.OutStreamSpec->ReleaseOutStream();
|
threadInfo.OutStreamSpec->ReleaseOutStream();
|
||||||
SetItemInfoFromCompressingResult(threadInfo.CompressingResult,
|
SetItemInfoFromCompressingResult(threadInfo.CompressingResult,
|
||||||
options->IsAesMode, options->AesKeyMode, item);
|
options->IsRealAesMode(), options->AesKeyMode, item);
|
||||||
SetFileHeader(archive, *options, ui, item);
|
SetFileHeader(archive, *options, ui, item);
|
||||||
archive.WriteLocalHeader(item);
|
archive.WriteLocalHeader(item);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,3 +1,3 @@
|
|||||||
#include "../../MyVersionInfo.rc"
|
#include "../../../../C/7zVersion.rc"
|
||||||
|
|
||||||
MY_VERSION_INFO_APP("7-Zip Standalone Console", "7zr")
|
MY_VERSION_INFO_APP("7-Zip Reduced Standalone Console", "7zr")
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
#include "../../MyVersionInfo.rc"
|
#include "../../../../C/7zVersion.rc"
|
||||||
|
|
||||||
MY_VERSION_INFO_DLL("7z Standalone Extracting Plugin", "7zxr")
|
MY_VERSION_INFO_DLL("7z Extracting Reduced Standalone Plugin", "7zxr")
|
||||||
|
|
||||||
101 ICON "../../Archive/Icons/7z.ico"
|
101 ICON "../../Archive/Icons/7z.ico"
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
#include "../../MyVersionInfo.rc"
|
#include "../../../../C/7zVersion.rc"
|
||||||
|
|
||||||
MY_VERSION_INFO_DLL("7z Standalone Plugin", "7zr")
|
MY_VERSION_INFO_DLL("7z Reduced Standalone Plugin", "7zr")
|
||||||
|
|
||||||
101 ICON "../../Archive/Icons/7z.ico"
|
101 ICON "../../Archive/Icons/7z.ico"
|
||||||
|
|||||||
@@ -20,6 +20,7 @@
|
|||||||
#include "../../UI/Common/Extract.h"
|
#include "../../UI/Common/Extract.h"
|
||||||
#include "../../UI/Common/ExitCode.h"
|
#include "../../UI/Common/ExitCode.h"
|
||||||
#include "../../UI/Explorer/MyMessages.h"
|
#include "../../UI/Explorer/MyMessages.h"
|
||||||
|
#include "../../UI/FileManager/MyWindowsNew.h"
|
||||||
#include "../../UI/GUI/ExtractGUI.h"
|
#include "../../UI/GUI/ExtractGUI.h"
|
||||||
#include "../../UI/GUI/ExtractRes.h"
|
#include "../../UI/GUI/ExtractRes.h"
|
||||||
|
|
||||||
@@ -38,6 +39,11 @@ void ErrorMessageForHRESULT(HRESULT res)
|
|||||||
|
|
||||||
int APIENTRY WinMain2()
|
int APIENTRY WinMain2()
|
||||||
{
|
{
|
||||||
|
// OleInitialize is required for ProgressBar in TaskBar.
|
||||||
|
#ifndef UNDER_CE
|
||||||
|
OleInitialize(NULL);
|
||||||
|
#endif
|
||||||
|
|
||||||
UString password;
|
UString password;
|
||||||
bool assumeYes = false;
|
bool assumeYes = false;
|
||||||
bool outputFolderDefined = false;
|
bool outputFolderDefined = false;
|
||||||
|
|||||||
@@ -1,8 +1,6 @@
|
|||||||
#define MY_VER_MAJOR 9
|
#include "..\..\C\7zVersion.h"
|
||||||
#define MY_VER_MINOR 21
|
|
||||||
#define MY_VER_BUILD 00
|
#undef MY_COPYRIGHT
|
||||||
#define MY_VERSION "9.21 beta"
|
#undef MY_VERSION_COPYRIGHT_DATE
|
||||||
#define MY_7ZIP_VERSION "7-Zip 9.21 beta"
|
|
||||||
#define MY_DATE "2011-04-11"
|
|
||||||
#define MY_COPYRIGHT "Copyright (c) 1999-2011 Igor Pavlov"
|
#define MY_COPYRIGHT "Copyright (c) 1999-2011 Igor Pavlov"
|
||||||
#define MY_VERSION_COPYRIGHT_DATE MY_VERSION " " MY_COPYRIGHT " " MY_DATE
|
#define MY_VERSION_COPYRIGHT_DATE MY_VERSION " " MY_COPYRIGHT " " MY_DATE
|
||||||
|
|||||||
@@ -1,52 +1,2 @@
|
|||||||
#define MY_VS_FFI_FILEFLAGSMASK 0x0000003FL
|
|
||||||
#define MY_VOS_NT_WINDOWS32 0x00040004L
|
|
||||||
#define MY_VOS_CE_WINDOWS32 0x00050004L
|
|
||||||
|
|
||||||
#define MY_VFT_APP 0x00000001L
|
|
||||||
#define MY_VFT_DLL 0x00000002L
|
|
||||||
|
|
||||||
// #include <WinVer.h>
|
|
||||||
#include "MyVersion.h"
|
#include "MyVersion.h"
|
||||||
|
#include "..\..\C\7zVersion.rc"
|
||||||
#define MY_VER MY_VER_MAJOR,MY_VER_MINOR,MY_VER_BUILD,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 MY_VS_FFI_FILEFLAGSMASK \
|
|
||||||
FILEFLAGS DBG_FL \
|
|
||||||
FILEOS MY_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 \
|
|
||||||
BLOCK "VarFileInfo" \
|
|
||||||
BEGIN \
|
|
||||||
VALUE "Translation", 0x409, 1200 \
|
|
||||||
END \
|
|
||||||
END
|
|
||||||
|
|
||||||
#define MY_VERSION_INFO_APP(descr, intName) MY_VERSION_INFO(MY_VFT_APP, descr, intName, intName ".exe")
|
|
||||||
|
|
||||||
#define MY_VERSION_INFO_DLL(descr, intName) MY_VERSION_INFO(MY_VFT_DLL, descr, intName, intName ".dll")
|
|
||||||
|
|||||||
@@ -33,7 +33,15 @@
|
|||||||
#include "OpenCallbackConsole.h"
|
#include "OpenCallbackConsole.h"
|
||||||
#include "UpdateCallbackConsole.h"
|
#include "UpdateCallbackConsole.h"
|
||||||
|
|
||||||
|
#if !defined(EXTERNAL_CODECS) && defined(_NO_CRYPTO)
|
||||||
|
#define IT_IS_REDUCED_VERSION
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifdef IT_IS_REDUCED_VERSION
|
||||||
|
#include "../../../../C/7zVersion.h"
|
||||||
|
#else
|
||||||
#include "../../MyVersion.h"
|
#include "../../MyVersion.h"
|
||||||
|
#endif
|
||||||
|
|
||||||
using namespace NWindows;
|
using namespace NWindows;
|
||||||
using namespace NFile;
|
using namespace NFile;
|
||||||
@@ -46,7 +54,11 @@ extern CStdOutStream *g_StdStream;
|
|||||||
|
|
||||||
static const char *kCopyrightString = "\n7-Zip"
|
static const char *kCopyrightString = "\n7-Zip"
|
||||||
#ifndef EXTERNAL_CODECS
|
#ifndef EXTERNAL_CODECS
|
||||||
" (A)"
|
#ifdef IT_IS_REDUCED_VERSION
|
||||||
|
" (r)"
|
||||||
|
#else
|
||||||
|
" (a)"
|
||||||
|
#endif
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#ifdef _WIN64
|
#ifdef _WIN64
|
||||||
@@ -57,10 +69,10 @@ static const char *kCopyrightString = "\n7-Zip"
|
|||||||
|
|
||||||
static const char *kHelpString =
|
static const char *kHelpString =
|
||||||
"\nUsage: 7z"
|
"\nUsage: 7z"
|
||||||
#ifdef _NO_CRYPTO
|
#ifndef EXTERNAL_CODECS
|
||||||
|
#ifdef IT_IS_REDUCED_VERSION
|
||||||
"r"
|
"r"
|
||||||
#else
|
#else
|
||||||
#ifndef EXTERNAL_CODECS
|
|
||||||
"a"
|
"a"
|
||||||
#endif
|
#endif
|
||||||
#endif
|
#endif
|
||||||
|
|||||||
@@ -1 +1,13 @@
|
|||||||
<?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>
|
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
|
||||||
|
<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0" xmlns:asmv3="urn:schemas-microsoft-com:asm.v3">
|
||||||
|
<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>
|
||||||
|
<asmv3:application>
|
||||||
|
<asmv3:windowsSettings xmlns="http://schemas.microsoft.com/SMI/2005/WindowsSettings">
|
||||||
|
<dpiAware>true</dpiAware>
|
||||||
|
</asmv3:windowsSettings>
|
||||||
|
</asmv3:application>
|
||||||
|
</assembly>
|
||||||
|
|||||||
@@ -5,3 +5,4 @@
|
|||||||
#include "Common/MyInitGuid.h"
|
#include "Common/MyInitGuid.h"
|
||||||
|
|
||||||
#include "../Agent/Agent.h"
|
#include "../Agent/Agent.h"
|
||||||
|
#include "MyWindowsNew.h"
|
||||||
|
|||||||
@@ -184,6 +184,10 @@ SOURCE=.\Move.bmp
|
|||||||
# End Source File
|
# End Source File
|
||||||
# Begin Source File
|
# Begin Source File
|
||||||
|
|
||||||
|
SOURCE=.\MyWindowsNew.h
|
||||||
|
# End Source File
|
||||||
|
# Begin Source File
|
||||||
|
|
||||||
SOURCE=.\Parent.bmp
|
SOURCE=.\Parent.bmp
|
||||||
# End Source File
|
# End Source File
|
||||||
# Begin Source File
|
# Begin Source File
|
||||||
|
|||||||
72
CPP/7zip/UI/FileManager/MyWindowsNew.h
Executable file
72
CPP/7zip/UI/FileManager/MyWindowsNew.h
Executable file
@@ -0,0 +1,72 @@
|
|||||||
|
// MyWindowsNew.h
|
||||||
|
|
||||||
|
#ifndef __MY_WINDOWS_NEW_H
|
||||||
|
#define __MY_WINDOWS_NEW_H
|
||||||
|
|
||||||
|
#include <ShObjIdl.h>
|
||||||
|
|
||||||
|
#ifndef __ITaskbarList3_INTERFACE_DEFINED__
|
||||||
|
#define __ITaskbarList3_INTERFACE_DEFINED__
|
||||||
|
|
||||||
|
typedef enum THUMBBUTTONFLAGS
|
||||||
|
{
|
||||||
|
THBF_ENABLED = 0,
|
||||||
|
THBF_DISABLED = 0x1,
|
||||||
|
THBF_DISMISSONCLICK = 0x2,
|
||||||
|
THBF_NOBACKGROUND = 0x4,
|
||||||
|
THBF_HIDDEN = 0x8,
|
||||||
|
THBF_NONINTERACTIVE = 0x10
|
||||||
|
} THUMBBUTTONFLAGS;
|
||||||
|
|
||||||
|
typedef enum THUMBBUTTONMASK
|
||||||
|
{
|
||||||
|
THB_BITMAP = 0x1,
|
||||||
|
THB_ICON = 0x2,
|
||||||
|
THB_TOOLTIP = 0x4,
|
||||||
|
THB_FLAGS = 0x8
|
||||||
|
} THUMBBUTTONMASK;
|
||||||
|
|
||||||
|
// #include <pshpack8.h>
|
||||||
|
|
||||||
|
typedef struct THUMBBUTTON
|
||||||
|
{
|
||||||
|
THUMBBUTTONMASK dwMask;
|
||||||
|
UINT iId;
|
||||||
|
UINT iBitmap;
|
||||||
|
HICON hIcon;
|
||||||
|
WCHAR szTip[260];
|
||||||
|
THUMBBUTTONFLAGS dwFlags;
|
||||||
|
} THUMBBUTTON;
|
||||||
|
|
||||||
|
typedef struct THUMBBUTTON *LPTHUMBBUTTON;
|
||||||
|
|
||||||
|
typedef enum TBPFLAG
|
||||||
|
{
|
||||||
|
TBPF_NOPROGRESS = 0,
|
||||||
|
TBPF_INDETERMINATE = 0x1,
|
||||||
|
TBPF_NORMAL = 0x2,
|
||||||
|
TBPF_ERROR = 0x4,
|
||||||
|
TBPF_PAUSED = 0x8
|
||||||
|
} TBPFLAG;
|
||||||
|
|
||||||
|
DEFINE_GUID(IID_ITaskbarList3, 0xEA1AFB91, 0x9E28, 0x4B86, 0x90, 0xE9, 0x9E, 0x9F, 0x8A, 0x5E, 0xEF, 0xAF);
|
||||||
|
|
||||||
|
struct ITaskbarList3: public ITaskbarList2
|
||||||
|
{
|
||||||
|
STDMETHOD(SetProgressValue)(HWND hwnd, ULONGLONG ullCompleted, ULONGLONG ullTotal) = 0;
|
||||||
|
STDMETHOD(SetProgressState)(HWND hwnd, TBPFLAG tbpFlags) = 0;
|
||||||
|
STDMETHOD(RegisterTab)(HWND hwndTab, HWND hwndMDI) = 0;
|
||||||
|
STDMETHOD(UnregisterTab)(HWND hwndTab) = 0;
|
||||||
|
STDMETHOD(SetTabOrder)(HWND hwndTab, HWND hwndInsertBefore) = 0;
|
||||||
|
STDMETHOD(SetTabActive)(HWND hwndTab, HWND hwndMDI, DWORD dwReserved) = 0;
|
||||||
|
STDMETHOD(ThumbBarAddButtons)(HWND hwnd, UINT cButtons, LPTHUMBBUTTON pButton) = 0;
|
||||||
|
STDMETHOD(ThumbBarUpdateButtons)(HWND hwnd, UINT cButtons, LPTHUMBBUTTON pButton) = 0;
|
||||||
|
STDMETHOD(ThumbBarSetImageList)(HWND hwnd, HIMAGELIST himl) = 0;
|
||||||
|
STDMETHOD(SetOverlayIcon)(HWND hwnd, HICON hIcon, LPCWSTR pszDescription) = 0;
|
||||||
|
STDMETHOD(SetThumbnailTooltip)(HWND hwnd, LPCWSTR pszTip) = 0;
|
||||||
|
STDMETHOD(SetThumbnailClip)(HWND hwnd, RECT *prcClip) = 0;
|
||||||
|
};
|
||||||
|
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#endif
|
||||||
@@ -74,34 +74,35 @@ HRESULT CProgressSync::SetPosAndCheckPaused(UInt64 completed)
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
CProgressDialog::CProgressDialog(): _timer(0), CompressingMode(true)
|
CProgressDialog::CProgressDialog(): _timer(0), CompressingMode(true), MainWindow(0)
|
||||||
#ifndef _SFX
|
{
|
||||||
, MainWindow(0)
|
IconID = -1;
|
||||||
#endif
|
MessagesDisplayed = false;
|
||||||
{
|
_wasCreated = false;
|
||||||
IconID = -1;
|
_needClose = false;
|
||||||
MessagesDisplayed = false;
|
_inCancelMessageBox = false;
|
||||||
_wasCreated = false;
|
_externalCloseMessageWasReceived = false;
|
||||||
_needClose = false;
|
|
||||||
_inCancelMessageBox = false;
|
_numPostedMessages = 0;
|
||||||
_externalCloseMessageWasReceived = false;
|
_numAutoSizeMessages = 0;
|
||||||
|
_errorsWereDisplayed = false;
|
||||||
_numPostedMessages = 0;
|
_waitCloseByCancelButton = false;
|
||||||
_numAutoSizeMessages = 0;
|
_cancelWasPressed = false;
|
||||||
_errorsWereDisplayed = false;
|
ShowCompressionInfo = true;
|
||||||
_waitCloseByCancelButton = false;
|
WaitMode = false;
|
||||||
_cancelWasPressed = false;
|
if (_dialogCreatedEvent.Create() != S_OK)
|
||||||
ShowCompressionInfo = true;
|
throw 1334987;
|
||||||
WaitMode = false;
|
if (_createDialogEvent.Create() != S_OK)
|
||||||
if (_dialogCreatedEvent.Create() != S_OK)
|
throw 1334987;
|
||||||
throw 1334987;
|
CoCreateInstance(CLSID_TaskbarList, NULL, CLSCTX_INPROC_SERVER, IID_ITaskbarList3, (void**)&_taskbarList);
|
||||||
if (_createDialogEvent.Create() != S_OK)
|
if (_taskbarList)
|
||||||
throw 1334987;
|
_taskbarList->HrInit();
|
||||||
}
|
}
|
||||||
|
|
||||||
#ifndef _SFX
|
#ifndef _SFX
|
||||||
CProgressDialog::~CProgressDialog()
|
CProgressDialog::~CProgressDialog()
|
||||||
{
|
{
|
||||||
|
SetTaskbarProgressState(TBPF_NOPROGRESS);
|
||||||
AddToTitle(L"");
|
AddToTitle(L"");
|
||||||
}
|
}
|
||||||
void CProgressDialog::AddToTitle(LPCWSTR s)
|
void CProgressDialog::AddToTitle(LPCWSTR s)
|
||||||
@@ -115,6 +116,20 @@ void CProgressDialog::AddToTitle(LPCWSTR s)
|
|||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
|
||||||
|
void CProgressDialog::SetTaskbarProgressState()
|
||||||
|
{
|
||||||
|
if (_taskbarList && _hwndForTaskbar)
|
||||||
|
{
|
||||||
|
TBPFLAG tbpFlags;
|
||||||
|
if (Sync.GetPaused())
|
||||||
|
tbpFlags = TBPF_PAUSED;
|
||||||
|
else
|
||||||
|
tbpFlags = _errorsWereDisplayed ? TBPF_ERROR: TBPF_NORMAL;
|
||||||
|
SetTaskbarProgressState(tbpFlags);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
static const int kTitleFileNameSizeLimit = 36;
|
static const int kTitleFileNameSizeLimit = 36;
|
||||||
static const int kCurrentFileNameSizeLimit = 82;
|
static const int kCurrentFileNameSizeLimit = 82;
|
||||||
|
|
||||||
@@ -134,6 +149,12 @@ void CProgressDialog::EnableErrorsControls(bool enable)
|
|||||||
|
|
||||||
bool CProgressDialog::OnInit()
|
bool CProgressDialog::OnInit()
|
||||||
{
|
{
|
||||||
|
_hwndForTaskbar = MainWindow;
|
||||||
|
if (!_hwndForTaskbar)
|
||||||
|
_hwndForTaskbar = GetParent();
|
||||||
|
if (!_hwndForTaskbar)
|
||||||
|
_hwndForTaskbar = (HWND)*this;
|
||||||
|
|
||||||
_range = (UInt64)(Int64)-1;
|
_range = (UInt64)(Int64)-1;
|
||||||
_prevPercentValue = (UInt32)-1;
|
_prevPercentValue = (UInt32)-1;
|
||||||
_prevElapsedSec = (UInt32)-1;
|
_prevElapsedSec = (UInt32)-1;
|
||||||
@@ -208,6 +229,8 @@ bool CProgressDialog::OnInit()
|
|||||||
|
|
||||||
CheckNeedClose();
|
CheckNeedClose();
|
||||||
|
|
||||||
|
SetTaskbarProgressState();
|
||||||
|
|
||||||
return CModalDialog::OnInit();
|
return CModalDialog::OnInit();
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -382,9 +405,11 @@ void CProgressDialog::SetPos(UInt64 pos)
|
|||||||
if (pos - _previousPos < (_range >> 10))
|
if (pos - _previousPos < (_range >> 10))
|
||||||
redraw = false;
|
redraw = false;
|
||||||
}
|
}
|
||||||
if(redraw)
|
if (redraw)
|
||||||
{
|
{
|
||||||
m_ProgressBar.SetPos(_converter.Count(pos)); // Test it for 100%
|
m_ProgressBar.SetPos(_converter.Count(pos)); // Test it for 100%
|
||||||
|
if (_taskbarList && _hwndForTaskbar)
|
||||||
|
_taskbarList->SetProgressValue(_hwndForTaskbar, pos, _range);
|
||||||
_previousPos = pos;
|
_previousPos = pos;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -466,6 +491,7 @@ void CProgressDialog::UpdateStatInfo(bool showAll)
|
|||||||
{
|
{
|
||||||
_errorsWereDisplayed = true;
|
_errorsWereDisplayed = true;
|
||||||
EnableErrorsControls(true);
|
EnableErrorsControls(true);
|
||||||
|
SetTaskbarProgressState();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -670,6 +696,11 @@ INT_PTR CProgressDialog::Create(const UString &title, NWindows::CThread &thread,
|
|||||||
|
|
||||||
bool CProgressDialog::OnExternalCloseMessage()
|
bool CProgressDialog::OnExternalCloseMessage()
|
||||||
{
|
{
|
||||||
|
// it doesn't work if there is MessageBox.
|
||||||
|
SetTaskbarProgressState(TBPF_NOPROGRESS);
|
||||||
|
// AddToTitle(L"Finished ");
|
||||||
|
// SetText(L"Finished2 ");
|
||||||
|
|
||||||
UpdateStatInfo(true);
|
UpdateStatInfo(true);
|
||||||
|
|
||||||
HideItem(IDC_BUTTON_PROGRESS_PRIORITY);
|
HideItem(IDC_BUTTON_PROGRESS_PRIORITY);
|
||||||
@@ -795,6 +826,7 @@ void CProgressDialog::OnPauseButton()
|
|||||||
UInt32 curTime = ::GetTickCount();
|
UInt32 curTime = ::GetTickCount();
|
||||||
if (paused)
|
if (paused)
|
||||||
_elapsedTime += (curTime - _prevTime);
|
_elapsedTime += (curTime - _prevTime);
|
||||||
|
SetTaskbarProgressState();
|
||||||
_prevTime = curTime;
|
_prevTime = curTime;
|
||||||
SetPauseText();
|
SetPauseText();
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -3,6 +3,8 @@
|
|||||||
#ifndef __PROGRESS_DIALOG2_H
|
#ifndef __PROGRESS_DIALOG2_H
|
||||||
#define __PROGRESS_DIALOG2_H
|
#define __PROGRESS_DIALOG2_H
|
||||||
|
|
||||||
|
#include "Common/MyCom.h"
|
||||||
|
|
||||||
#include "Windows/Synchronization.h"
|
#include "Windows/Synchronization.h"
|
||||||
#include "Windows/Thread.h"
|
#include "Windows/Thread.h"
|
||||||
|
|
||||||
@@ -10,6 +12,8 @@
|
|||||||
#include "Windows/Control/ListView.h"
|
#include "Windows/Control/ListView.h"
|
||||||
#include "Windows/Control/ProgressBar.h"
|
#include "Windows/Control/ProgressBar.h"
|
||||||
|
|
||||||
|
#include "MyWindowsNew.h"
|
||||||
|
|
||||||
class CProgressSync
|
class CProgressSync
|
||||||
{
|
{
|
||||||
bool _stopped;
|
bool _stopped;
|
||||||
@@ -201,7 +205,7 @@ class CProgressDialog: public NWindows::NControl::CModalDialog
|
|||||||
{
|
{
|
||||||
UString _prevFileName;
|
UString _prevFileName;
|
||||||
UString _prevTitleName;
|
UString _prevTitleName;
|
||||||
private:
|
|
||||||
UString backgroundString;
|
UString backgroundString;
|
||||||
UString backgroundedString;
|
UString backgroundedString;
|
||||||
UString foregroundString;
|
UString foregroundString;
|
||||||
@@ -221,6 +225,9 @@ private:
|
|||||||
NWindows::NControl::CProgressBar m_ProgressBar;
|
NWindows::NControl::CProgressBar m_ProgressBar;
|
||||||
NWindows::NControl::CListView _messageList;
|
NWindows::NControl::CListView _messageList;
|
||||||
|
|
||||||
|
CMyComPtr<ITaskbarList3> _taskbarList;
|
||||||
|
HWND _hwndForTaskbar;
|
||||||
|
|
||||||
UInt32 _prevPercentValue;
|
UInt32 _prevPercentValue;
|
||||||
UInt32 _prevTime;
|
UInt32 _prevTime;
|
||||||
UInt32 _elapsedTime;
|
UInt32 _elapsedTime;
|
||||||
@@ -247,6 +254,14 @@ private:
|
|||||||
bool _inCancelMessageBox;
|
bool _inCancelMessageBox;
|
||||||
bool _externalCloseMessageWasReceived;
|
bool _externalCloseMessageWasReceived;
|
||||||
|
|
||||||
|
|
||||||
|
void SetTaskbarProgressState(TBPFLAG tbpFlags)
|
||||||
|
{
|
||||||
|
if (_taskbarList && _hwndForTaskbar)
|
||||||
|
_taskbarList->SetProgressState(_hwndForTaskbar, tbpFlags);
|
||||||
|
}
|
||||||
|
void SetTaskbarProgressState();
|
||||||
|
|
||||||
void UpdateStatInfo(bool showAll);
|
void UpdateStatInfo(bool showAll);
|
||||||
bool OnTimer(WPARAM timerID, LPARAM callback);
|
bool OnTimer(WPARAM timerID, LPARAM callback);
|
||||||
void SetRange(UInt64 range);
|
void SetRange(UInt64 range);
|
||||||
@@ -289,8 +304,8 @@ public:
|
|||||||
bool MessagesDisplayed; // = true if user pressed OK on all messages or there are no messages.
|
bool MessagesDisplayed; // = true if user pressed OK on all messages or there are no messages.
|
||||||
int IconID;
|
int IconID;
|
||||||
|
|
||||||
#ifndef _SFX
|
|
||||||
HWND MainWindow;
|
HWND MainWindow;
|
||||||
|
#ifndef _SFX
|
||||||
UString MainTitle;
|
UString MainTitle;
|
||||||
UString MainAddTitle;
|
UString MainAddTitle;
|
||||||
~CProgressDialog();
|
~CProgressDialog();
|
||||||
|
|||||||
@@ -1 +1,13 @@
|
|||||||
<?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>
|
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
|
||||||
|
<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0" xmlns:asmv3="urn:schemas-microsoft-com:asm.v3">
|
||||||
|
<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>
|
||||||
|
<asmv3:application>
|
||||||
|
<asmv3:windowsSettings xmlns="http://schemas.microsoft.com/SMI/2005/WindowsSettings">
|
||||||
|
<dpiAware>true</dpiAware>
|
||||||
|
</asmv3:windowsSettings>
|
||||||
|
</asmv3:application>
|
||||||
|
</assembly>
|
||||||
|
|||||||
@@ -20,6 +20,7 @@
|
|||||||
#include "../Common/ExitCode.h"
|
#include "../Common/ExitCode.h"
|
||||||
|
|
||||||
#include "../FileManager/StringUtils.h"
|
#include "../FileManager/StringUtils.h"
|
||||||
|
#include "../FileManager/MyWindowsNew.h"
|
||||||
|
|
||||||
#include "BenchmarkDialog.h"
|
#include "BenchmarkDialog.h"
|
||||||
#include "ExtractGUI.h"
|
#include "ExtractGUI.h"
|
||||||
@@ -232,6 +233,11 @@ int APIENTRY WinMain(HINSTANCE hInstance, HINSTANCE /* hPrevInstance */,
|
|||||||
|
|
||||||
InitCommonControls();
|
InitCommonControls();
|
||||||
|
|
||||||
|
// OleInitialize is required for ProgressBar in TaskBar.
|
||||||
|
#ifndef UNDER_CE
|
||||||
|
OleInitialize(NULL);
|
||||||
|
#endif
|
||||||
|
|
||||||
ReloadLang();
|
ReloadLang();
|
||||||
|
|
||||||
// setlocale(LC_COLLATE, ".ACP");
|
// setlocale(LC_COLLATE, ".ACP");
|
||||||
|
|||||||
@@ -392,7 +392,6 @@ HRESULT UpdateGUI(
|
|||||||
|
|
||||||
RINOK(tu.Create(title, hwndParent));
|
RINOK(tu.Create(title, hwndParent));
|
||||||
|
|
||||||
messageWasDisplayed = tu.ThreadFinishedOK &
|
messageWasDisplayed = tu.ThreadFinishedOK && tu.ProgressDialog.MessagesDisplayed;
|
||||||
tu.ProgressDialog.MessagesDisplayed;
|
|
||||||
return tu.Result;
|
return tu.Result;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -89,7 +89,7 @@ bool CLang::Open(CFSTR fileName)
|
|||||||
if (!GetTextConfig(s.Mid(pos), pairs))
|
if (!GetTextConfig(s.Mid(pos), pairs))
|
||||||
return false;
|
return false;
|
||||||
|
|
||||||
_langPairs.Reserve(_langPairs.Size());
|
_langPairs.Reserve(pairs.Size());
|
||||||
for (int i = 0; i < pairs.Size(); i++)
|
for (int i = 0; i < pairs.Size(); i++)
|
||||||
{
|
{
|
||||||
CTextConfigPair textConfigPair = pairs[i];
|
CTextConfigPair textConfigPair = pairs[i];
|
||||||
|
|||||||
@@ -10,8 +10,8 @@ AppName = "7-Zip"
|
|||||||
InstallDir = %CE1%\%AppName%
|
InstallDir = %CE1%\%AppName%
|
||||||
|
|
||||||
[Strings]
|
[Strings]
|
||||||
AppVer = "9.21"
|
AppVer = "9.22"
|
||||||
AppDate = "2011-04-11"
|
AppDate = "2011-04-18"
|
||||||
|
|
||||||
[CEDevice]
|
[CEDevice]
|
||||||
; ProcessorType = 2577 ; ARM
|
; ProcessorType = 2577 ; ARM
|
||||||
|
|||||||
@@ -2,7 +2,7 @@
|
|||||||
;Defines
|
;Defines
|
||||||
|
|
||||||
!define VERSION_MAJOR 9
|
!define VERSION_MAJOR 9
|
||||||
!define VERSION_MINOR 21
|
!define VERSION_MINOR 22
|
||||||
!define VERSION_POSTFIX_FULL "beta"
|
!define VERSION_POSTFIX_FULL "beta"
|
||||||
!ifdef WIN64
|
!ifdef WIN64
|
||||||
!ifdef IA64
|
!ifdef IA64
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
<?xml version="1.0"?>
|
<?xml version="1.0"?>
|
||||||
|
|
||||||
<?define VerMajor = "9" ?>
|
<?define VerMajor = "9" ?>
|
||||||
<?define VerMinor = "21" ?>
|
<?define VerMinor = "22" ?>
|
||||||
<?define VerBuild = "00" ?>
|
<?define VerBuild = "00" ?>
|
||||||
<?define MmVer = "$(var.VerMajor).$(var.VerMinor)" ?>
|
<?define MmVer = "$(var.VerMajor).$(var.VerMinor)" ?>
|
||||||
<?define MmHex = "0$(var.VerMajor)$(var.VerMinor)" ?>
|
<?define MmHex = "0$(var.VerMajor)$(var.VerMinor)" ?>
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
LZMA SDK 9.21
|
LZMA SDK 9.22
|
||||||
-------------
|
-------------
|
||||||
|
|
||||||
LZMA SDK provides the documentation, samples, header files, libraries,
|
LZMA SDK provides the documentation, samples, header files, libraries,
|
||||||
@@ -24,7 +24,7 @@ Some code in LZMA SDK is based on public domain code from another developers:
|
|||||||
1) PPMd var.H (2001): Dmitry Shkarin
|
1) PPMd var.H (2001): Dmitry Shkarin
|
||||||
2) SHA-256: Wei Dai (Crypto++ library)
|
2) SHA-256: Wei Dai (Crypto++ library)
|
||||||
|
|
||||||
You can copy, modify, distribute and perform LZMA SDK code, even for commercial purposes,
|
You can copy, modify, distribute and perform LZMA SDK code, even for commercial purposes,
|
||||||
all without asking permission.
|
all without asking permission.
|
||||||
|
|
||||||
LZMA SDK code is compatible with open source licenses, for example, you can
|
LZMA SDK code is compatible with open source licenses, for example, you can
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
7-Zip 9.21 Sources
|
7-Zip 9.22 Sources
|
||||||
------------------
|
------------------
|
||||||
|
|
||||||
7-Zip is a file archiver for Windows.
|
7-Zip is a file archiver for Windows.
|
||||||
|
|||||||
Reference in New Issue
Block a user