void CSharedDirsTreeCtrl::EditSharedDirectories(CDirectoryItem* pDir, bool bAdd, bool bSubDirectories){ ASSERT(pDir->m_eItemType == SDI_UNSHAREDDIRECTORY); CWaitCursor curWait; if (bAdd){ AddSharedDirectory(pDir->m_strFullPath, bSubDirectories); } else{ RemoveSharedDirectory(pDir->m_strFullPath, bSubDirectories); } FileSystemTreeSetShareState(pDir, bAdd, bSubDirectories); FileSystemTreeUpdateBoldState(); FilterTreeReloadTree(); // sync with the preferences list thePrefs.shareddir_list.RemoveAll(); POSITION pos = m_strliSharedDirs.GetHeadPosition(); // copy list while (pos){ CString strPath = m_strliSharedDirs.GetNext(pos); if (strPath.Right(1) != "\\"){ strPath += _T("\\"); } thePrefs.shareddir_list.AddTail(strPath); } // update the sharedfiles list theApp.emuledlg->sharedfileswnd->Reload(); thePrefs.Save(); }
void CSharedDirsTreeCtrl::Initalize(CSharedFilesCtrl* pSharedFilesCtrl){ m_pSharedFilesCtrl = pSharedFilesCtrl; SendMessage(CCM_SETUNICODEFORMAT, TRUE); //WORD wWinVer = thePrefs.GetWindowsVersion(); m_bUseIcons = true;/*(wWinVer == _WINVER_2K_ || wWinVer == _WINVER_XP_ || wWinVer == _WINVER_ME_);*/ SetAllIcons(); InitalizeStandardItems(); FilterTreeReloadTree(); CreateMenues(); }
void CSharedDirsTreeCtrl::Initalize(CSharedFilesCtrl* pSharedFilesCtrl){ m_pSharedFilesCtrl = pSharedFilesCtrl; SendMessage(CCM_SETUNICODEFORMAT, TRUE); //WORD wWinVer = thePrefs.GetWindowsVersion(); m_bUseIcons = true;/*(wWinVer == _WINVER_2K_ || wWinVer == _WINVER_XP_ || wWinVer == _WINVER_ME_);*/ CImageList iml; iml.Create(16, 16, theApp.m_iDfltImageListColorFlags | ILC_MASK, 0, 1); iml.Add(CTempIconLoader(_T("ALLFILES"))); // All Directory iml.Add(CTempIconLoader(_T("INCOMPLETE"))); // Temp Directory iml.Add(CTempIconLoader(_T("OPENFOLDER"))); // Incoming Directory iml.Add(CTempIconLoader(_T("CATEGORY"))); // Cats iml.Add(CTempIconLoader(_T("HARDDISK"))); // All Dirs CString strTempDir = thePrefs.GetIncomingDir(); if (strTempDir.Right(1) != "\\"){ strTempDir += "\\"; } int nImage = theApp.GetFileTypeSystemImageIdx(strTempDir); // System Folder Icon if (theApp.GetSystemImageList() != NULL){ iml.Add(::ImageList_GetIcon(theApp.GetSystemImageList(), nImage, 0)); } else{ iml.Add(CTempIconLoader(_T("OPENFOLDER"))); } iml.SetOverlayImage(iml.Add(CTempIconLoader(_T("ClientSecureOvl"))), 1); SetImageList(&iml,TVSIL_NORMAL); iml.Detach(); COLORREF crBk = GetSysColor(COLOR_WINDOW); COLORREF crFg = GetSysColor(COLOR_WINDOWTEXT); theApp.LoadSkinColorAlt(_T("SharedDirsTvBk"), _T("DefLvBk"), crBk); theApp.LoadSkinColorAlt(_T("SharedDirsTvFg"), _T("DefLvFg"), crFg); SetBkColor(crBk); SetTextColor(crFg); InitalizeStandardItems(); FilterTreeReloadTree(); CreateMenues(); }
void CSharedDirsTreeCtrl::Localize(){ InitalizeStandardItems(); FilterTreeReloadTree(); CreateMenues(); }
void CSharedDirsTreeCtrl::Reload(bool bForce){ bool bChanged = false; if (!bForce){ // check for changes in shared dirs if (thePrefs.shareddir_list.GetCount() == m_strliSharedDirs.GetCount()){ POSITION pos = m_strliSharedDirs.GetHeadPosition(); POSITION pos2 = thePrefs.shareddir_list.GetHeadPosition(); while (pos != NULL && pos2 != NULL){ CString str1 = m_strliSharedDirs.GetNext(pos); CString str2 = thePrefs.shareddir_list.GetNext(pos2); if (str1.Right(1) == "\\"){ str1 = str1.Left(str1.GetLength()-1); } if (str2.Right(1) == "\\"){ str2 = str2.Left(str2.GetLength()-1); } if (str1.CompareNoCase(str2) != 0){ bChanged = true; break; } } } else bChanged = true; // check for changes in categories incoming dirs CString strMainIncDir = thePrefs.GetIncomingDir(); if (strMainIncDir.Right(1) == _T("\\")) strMainIncDir = strMainIncDir.Left(strMainIncDir.GetLength()-1); CStringList strliFound; for (int i = 0; i < thePrefs.GetCatCount(); i++){ Category_Struct* pCatStruct = thePrefs.GetCategory(i); if (pCatStruct != NULL){ CString strCatIncomingPath = pCatStruct->incomingpath; if (strCatIncomingPath.Right(1) == _T("\\")) strCatIncomingPath = strCatIncomingPath.Left(strCatIncomingPath.GetLength()-1); if (!strCatIncomingPath.IsEmpty() && strCatIncomingPath.CompareNoCase(strMainIncDir) != 0 && strliFound.Find(strCatIncomingPath) == NULL) { POSITION pos = m_strliCatIncomingDirs.Find(strCatIncomingPath); if (pos != NULL){ strliFound.AddTail(strCatIncomingPath); } else{ bChanged = true; break; } } } } if (strliFound.GetCount() != m_strliCatIncomingDirs.GetCount()) bChanged = true; } if (bChanged || bForce){ FetchSharedDirsList(); FilterTreeReloadTree(); Expand(m_pRootUnsharedDirectries->m_htItem, TVE_COLLAPSE); // collapsing is enough to sync for the filtetree, as all items are recreated on every expanding } }