diff options
Diffstat (limited to '7zip/UI/Common/ArchiverInfo.cpp')
-rwxr-xr-x | 7zip/UI/Common/ArchiverInfo.cpp | 36 |
1 files changed, 12 insertions, 24 deletions
diff --git a/7zip/UI/Common/ArchiverInfo.cpp b/7zip/UI/Common/ArchiverInfo.cpp index 5e88d432..6c7178b3 100755 --- a/7zip/UI/Common/ArchiverInfo.cpp +++ b/7zip/UI/Common/ArchiverInfo.cpp @@ -53,15 +53,6 @@ static void SplitString(const UString &srcString, UStringVector &destStrings) typedef UInt32 (WINAPI * GetHandlerPropertyFunc)( PROPID propID, PROPVARIANT *value); -/* -UString GetCurrentModulePath() -{ - TCHAR fullPath[MAX_PATH + 1]; - ::GetModuleFileName(g_hInstance, fullPath, MAX_PATH); - return fullPath; -} -*/ - static UString GetModuleFolderPrefix() { UString path; @@ -132,7 +123,6 @@ void ReadArchiverInfoList(CObjectVector<CArchiverInfo> &archivers) { CArchiverInfo item; item.UpdateEnabled = true; - item.KeepName = false; item.Name = L"7z"; item.Extensions.Add(CArchiverExtInfo(L"7z")); #ifndef _SFX @@ -163,7 +153,6 @@ void ReadArchiverInfoList(CObjectVector<CArchiverInfo> &archivers) { CArchiverInfo item; item.UpdateEnabled = true; - item.KeepName = false; item.Name = L"GZip"; item.Extensions.Add(CArchiverExtInfo(L"gz")); item.Extensions.Add(CArchiverExtInfo(L"tgz", L".tar")); @@ -190,7 +179,6 @@ void ReadArchiverInfoList(CObjectVector<CArchiverInfo> &archivers) { CArchiverInfo item; item.UpdateEnabled = true; - item.KeepName = false; item.Name = L"Tar"; item.Extensions.Add(CArchiverExtInfo(L"tar")); archivers.Add(item); @@ -201,7 +189,6 @@ void ReadArchiverInfoList(CObjectVector<CArchiverInfo> &archivers) { CArchiverInfo item; item.UpdateEnabled = true; - item.KeepName = false; item.Name = L"Zip"; item.Extensions.Add(CArchiverExtInfo(L"zip")); #ifndef _SFX @@ -215,7 +202,6 @@ void ReadArchiverInfoList(CObjectVector<CArchiverInfo> &archivers) #ifdef FORMAT_CPIO { CArchiverInfo item; - item.UpdateEnabled = false; item.Name = L"Cpio"; item.Extensions.Add(CArchiverExtInfo(L"cpio")); archivers.Add(item); @@ -225,7 +211,6 @@ void ReadArchiverInfoList(CObjectVector<CArchiverInfo> &archivers) #ifdef FORMAT_RPM { CArchiverInfo item; - item.UpdateEnabled = false; item.Name = L"Rpm"; item.Extensions.Add(CArchiverExtInfo(L"rpm", L".cpio.gz")); archivers.Add(item); @@ -235,7 +220,6 @@ void ReadArchiverInfoList(CObjectVector<CArchiverInfo> &archivers) #ifdef FORMAT_ARJ { CArchiverInfo item; - item.UpdateEnabled = false; item.Name = L"Arj"; item.Extensions.Add(CArchiverExtInfo(L"arj")); #ifndef _SFX @@ -249,7 +233,6 @@ void ReadArchiverInfoList(CObjectVector<CArchiverInfo> &archivers) #ifdef FORMAT_Z { CArchiverInfo item; - item.UpdateEnabled = false; item.Name = L"Z"; item.Extensions.Add(CArchiverExtInfo(L"Z")); #ifndef _SFX @@ -309,11 +292,10 @@ void ReadArchiverInfoList(CObjectVector<CArchiverInfo> &archivers) continue; UString ext = prop.bstrVal; - // item.Extension = prop.bstrVal; - prop.Clear(); - UString addExt; + prop.Clear(); + if (getHandlerProperty(NArchive::kAddExtension, &prop) != S_OK) continue; if (prop.vt == VT_BSTR) @@ -332,11 +314,11 @@ void ReadArchiverInfoList(CObjectVector<CArchiverInfo> &archivers) for (int i = 0; i < exts.Size(); i++) { CArchiverExtInfo extInfo; - extInfo.Extension = exts[i]; + extInfo.Ext = exts[i]; if (addExts.Size() > 0) - extInfo.AddExtension = addExts[i]; - if (extInfo.AddExtension == L"*") - extInfo.AddExtension.Empty(); + extInfo.AddExt = addExts[i]; + if (extInfo.AddExt == L"*") + extInfo.AddExt.Empty(); item.Extensions.Add(extInfo); } @@ -364,6 +346,12 @@ void ReadArchiverInfoList(CObjectVector<CArchiverInfo> &archivers) } prop.Clear(); + if (getHandlerProperty(NArchive::kAssociate, &prop) == S_OK) + if (prop.vt == VT_BOOL) + item.Associate = VARIANT_BOOLToBool(prop.boolVal); + prop.Clear(); + + archivers.Add(item); } |