diff options
author | tjenssen <tim.jenssen@nokia.com> | 2012-03-13 13:38:26 +0100 |
---|---|---|
committer | Karsten Heimrich <karsten.heimrich@nokia.com> | 2012-03-13 17:35:19 +0100 |
commit | fea754a77e599328c0a7d0801792ae1b5bc155fc (patch) | |
tree | 74d1b6fe4c43ca93e71585ea0719ec0e342ea90b /installerbuilder/libinstaller/3rdparty/p7zip_9.04/unix/CPP/7zip/UI/FileManager/RootFolder.cpp | |
parent | c1da312f182ad1b81a1f0ce627e4f9b3eddbf92b (diff) |
remove old 7zip version
Change-Id: I8fa14b3132599ddd164633ad932eff4ef7734c74
Reviewed-by: Karsten Heimrich <karsten.heimrich@nokia.com>
Diffstat (limited to 'installerbuilder/libinstaller/3rdparty/p7zip_9.04/unix/CPP/7zip/UI/FileManager/RootFolder.cpp')
-rw-r--r-- | installerbuilder/libinstaller/3rdparty/p7zip_9.04/unix/CPP/7zip/UI/FileManager/RootFolder.cpp | 278 |
1 files changed, 0 insertions, 278 deletions
diff --git a/installerbuilder/libinstaller/3rdparty/p7zip_9.04/unix/CPP/7zip/UI/FileManager/RootFolder.cpp b/installerbuilder/libinstaller/3rdparty/p7zip_9.04/unix/CPP/7zip/UI/FileManager/RootFolder.cpp deleted file mode 100644 index bf9083bc4..000000000 --- a/installerbuilder/libinstaller/3rdparty/p7zip_9.04/unix/CPP/7zip/UI/FileManager/RootFolder.cpp +++ /dev/null @@ -1,278 +0,0 @@ -// RootFolder.cpp - -#include "StdAfx.h" - -#include "resource.h" - -#include "RootFolder.h" - -#include "Common/StringConvert.h" -#include "../../PropID.h" -#include "Windows/Defs.h" -#include "Windows/PropVariant.h" - -#ifdef _WIN32 -#include "FSDrives.h" -#include "PhysDriveFolder.h" -#include "NetFolder.h" -#endif -#include "SysIconUtils.h" -#include "LangUtils.h" - -using namespace NWindows; - - -static const STATPROPSTG kProperties[] = -{ - { NULL, kpidName, VT_BSTR} -}; - -// static const wchar_t *kMyComputerTitle = L"Computer"; -// static const wchar_t *kMyNetworkTitle = L"Network"; - -#ifdef _WIN32 -UString RootFolder_GetName_Computer(int &iconIndex) -{ - iconIndex = GetIconIndexForCSIDL(CSIDL_DRIVES); - return LangString(IDS_COMPUTER, 0x03020300); -} - -UString RootFolder_GetName_Network(int &iconIndex) -{ - iconIndex = GetIconIndexForCSIDL(CSIDL_NETWORK); - return LangString(IDS_NETWORK, 0x03020301); -} - -UString RootFolder_GetName_Documents(int &iconIndex) -{ - iconIndex = GetIconIndexForCSIDL(CSIDL_PERSONAL); - return LangString(IDS_DOCUMENTS, 0x03020302); ; -} - -const int ROOT_INDEX_COMPUTER = 0; -const int ROOT_INDEX_DOCUMENTS = 1; -const int ROOT_INDEX_NETWORK = 2; - -void CRootFolder::Init() -{ - _names[ROOT_INDEX_COMPUTER] = RootFolder_GetName_Computer(_iconIndices[ROOT_INDEX_COMPUTER]); - _names[ROOT_INDEX_DOCUMENTS] = RootFolder_GetName_Documents(_iconIndices[ROOT_INDEX_DOCUMENTS]); - _names[ROOT_INDEX_NETWORK] = RootFolder_GetName_Network(_iconIndices[ROOT_INDEX_NETWORK]); -}; -#else -void CRootFolder::Init() -{ -} -#endif - -STDMETHODIMP CRootFolder::LoadItems() -{ - Init(); - return S_OK; -} - -STDMETHODIMP CRootFolder::GetNumberOfItems(UInt32 *numItems) -{ -#ifdef _WIN32 - *numItems = kNumRootFolderItems; -#else - *numItems = 1; // only "/" ! -#endif - return S_OK; -} - -STDMETHODIMP CRootFolder::GetProperty(UInt32 itemIndex, PROPID propID, PROPVARIANT *value) -{ - NCOM::CPropVariant prop; - switch(propID) - { - case kpidIsDir: prop = true; break; -#ifdef _WIN32 - case kpidName: prop = _names[itemIndex]; break; -#else - case kpidName: prop = L"/"; break; -#endif - } - prop.Detach(value); - return S_OK; -} - -#ifdef _WIN32 -UString GetMyDocsPath() -{ - UString us; - WCHAR s[MAX_PATH + 1]; - if (SHGetSpecialFolderPathW(0, s, CSIDL_PERSONAL, FALSE)) - us = s; - #ifndef _UNICODE - else - { - CHAR s2[MAX_PATH + 1]; - if (SHGetSpecialFolderPathA(0, s2, CSIDL_PERSONAL, FALSE)) - us = GetUnicodeString(s2); - } - #endif - if (us.Length() > 0 && us[us.Length() - 1] != L'\\') - us += L'\\'; - return us; -} -#endif - -STDMETHODIMP CRootFolder::BindToFolder(UInt32 index, IFolderFolder **resultFolder) -{ -#ifdef _WIN32 - if (index == ROOT_INDEX_COMPUTER) - { - CFSDrives *fsDrivesSpec = new CFSDrives; - CMyComPtr<IFolderFolder> subFolder = fsDrivesSpec; - fsDrivesSpec->Init(); - *resultFolder = subFolder.Detach(); - } - else if (index == ROOT_INDEX_NETWORK) - { - CNetFolder *netFolderSpec = new CNetFolder; - CMyComPtr<IFolderFolder> subFolder = netFolderSpec; - netFolderSpec->Init(0, 0, _names[ROOT_INDEX_NETWORK] + L'\\'); - *resultFolder = subFolder.Detach(); - } - else if (index == ROOT_INDEX_DOCUMENTS) - { - UString s = GetMyDocsPath(); - if (!s.IsEmpty()) - { - NFsFolder::CFSFolder *fsFolderSpec = new NFsFolder::CFSFolder; - CMyComPtr<IFolderFolder> subFolder = fsFolderSpec; - RINOK(fsFolderSpec->Init(s, NULL)); - *resultFolder = subFolder.Detach(); - } - } - else - return E_INVALIDARG; - return S_OK; -#else - return E_INVALIDARG; -#endif -} - -static bool AreEqualNames(const UString &name1, const UString &name2) -{ - return (name1 == name2 || name1 == (name2 + UString(WCHAR_PATH_SEPARATOR))); -} - -STDMETHODIMP CRootFolder::BindToFolder(const wchar_t *name, IFolderFolder **resultFolder) -{ - *resultFolder = 0; - UString name2 = name; - name2.Trim(); - if (name2.IsEmpty()) - { - CRootFolder *rootFolderSpec = new CRootFolder; - CMyComPtr<IFolderFolder> rootFolder = rootFolderSpec; - rootFolderSpec->Init(); - *resultFolder = rootFolder.Detach(); - return S_OK; - } -#ifdef _WIN32 - for (int i = 0; i < kNumRootFolderItems; i++) - if (AreEqualNames(name2, _names[i])) - return BindToFolder((UInt32)i, resultFolder); - if (AreEqualNames(name2, L"My Documents") || - AreEqualNames(name2, L"Documents")) - return BindToFolder((UInt32)ROOT_INDEX_DOCUMENTS, resultFolder); - if (AreEqualNames(name2, L"My Computer") || - AreEqualNames(name2, L"Computer")) - return BindToFolder((UInt32)ROOT_INDEX_COMPUTER, resultFolder); -#endif - if (name2 == UString(WCHAR_PATH_SEPARATOR)) - { - CMyComPtr<IFolderFolder> subFolder = this; - *resultFolder = subFolder.Detach(); - return S_OK; - } - - if (name2.Length () < 2) - return E_INVALIDARG; - - CMyComPtr<IFolderFolder> subFolder; - -#ifdef _WIN32 - if (name2.Left(4) == L"\\\\.\\") - { - CPhysDriveFolder *folderSpec = new CPhysDriveFolder; - subFolder = folderSpec; - RINOK(folderSpec->Init(name2.Mid(4, 2))); - } - else -#endif - { - if (name2[name2.Length () - 1] != WCHAR_PATH_SEPARATOR) - name2 += WCHAR_PATH_SEPARATOR; - NFsFolder::CFSFolder *fsFolderSpec = new NFsFolder::CFSFolder; - subFolder = fsFolderSpec; - if (fsFolderSpec->Init(name2, 0) != S_OK) - { -#ifdef _WIN32 - if (name2[0] == WCHAR_PATH_SEPARATOR) - { - CNetFolder *netFolderSpec = new CNetFolder; - subFolder = netFolderSpec; - netFolderSpec->Init(name2); - } - else -#endif - return E_INVALIDARG; - } - } - *resultFolder = subFolder.Detach(); - return S_OK; -} - -STDMETHODIMP CRootFolder::BindToParentFolder(IFolderFolder **resultFolder) -{ - *resultFolder = 0; - return S_OK; -} - -STDMETHODIMP CRootFolder::GetNumberOfProperties(UInt32 *numProperties) -{ - *numProperties = sizeof(kProperties) / sizeof(kProperties[0]); - return S_OK; -} - -STDMETHODIMP CRootFolder::GetPropertyInfo(UInt32 index, - BSTR *name, PROPID *propID, VARTYPE *varType) -{ - if (index >= sizeof(kProperties) / sizeof(kProperties[0])) - return E_INVALIDARG; - const STATPROPSTG &prop = kProperties[index]; - *propID = prop.propid; - *varType = prop.vt; - *name = 0; - return S_OK; -} - -STDMETHODIMP CRootFolder::GetFolderProperty(PROPID propID, PROPVARIANT *value) -{ - NWindows::NCOM::CPropVariant prop; - switch(propID) - { - case kpidType: prop = L"RootFolder"; break; - case kpidPath: prop = L""; break; - } - prop.Detach(value); - return S_OK; -} - -STDMETHODIMP CRootFolder::GetSystemIconIndex(UInt32 index, INT32 *iconIndex) -{ -#ifdef _WIN32 - *iconIndex = _iconIndices[index]; -#else - *iconIndex = -1; // FIXME - folder icon ? -#endif - return S_OK; -} - - - - |