void CPanel::OpenDrivesFolder() { CloseOpenFolders(); #ifdef UNDER_CE NFsFolder::CFSFolder *folderSpec = new NFsFolder::CFSFolder; _folder = folderSpec; folderSpec->InitToRoot(); #else CFSDrives *folderSpec = new CFSDrives; _folder = folderSpec; folderSpec->Init(); #endif RefreshListCtrl(); }
STDMETHODIMP CRootFolder::BindToFolder(UInt32 index, IFolderFolder **resultFolder) { *resultFolder = NULL; CMyComPtr<IFolderFolder> subFolder; #ifdef USE_WIN_PATHS if (index == ROOT_INDEX_COMPUTER || index == ROOT_INDEX_VOLUMES) { CFSDrives *fsDrivesSpec = new CFSDrives; subFolder = fsDrivesSpec; fsDrivesSpec->Init(index == ROOT_INDEX_VOLUMES); } else if (index == ROOT_INDEX_NETWORK) { CNetFolder *netFolderSpec = new CNetFolder; subFolder = netFolderSpec; netFolderSpec->Init(0, 0, _names[ROOT_INDEX_NETWORK] + WCHAR_PATH_SEPARATOR); } else if (index == ROOT_INDEX_DOCUMENTS) { UString s = GetMyDocsPath(); if (!s.IsEmpty()) { NFsFolder::CFSFolder *fsFolderSpec = new NFsFolder::CFSFolder; subFolder = fsFolderSpec; RINOK(fsFolderSpec->Init(us2fs(s))); } } #else if (index == ROOT_INDEX_COMPUTER) { NFsFolder::CFSFolder *fsFolder = new NFsFolder::CFSFolder; subFolder = fsFolder; fsFolder->InitToRoot(); } #endif else return E_INVALIDARG; *resultFolder = subFolder.Detach(); return S_OK; }