void CLibraryHeaderBar::Update(CLibraryView* pView) { CString strTitle; int nImage = SHI_FOLDER_CLOSED; if ( pView != NULL ) pView->GetHeaderContent( nImage, strTitle ); if ( nImage != m_nImage || strTitle != m_sTitle ) { m_nImage = nImage; m_sTitle = strTitle; if (m_hWnd) Invalidate(); } if ( pView != m_pLastView && ( m_pLastView = pView ) != NULL ) { if ( CCoolBarItem* pItem = GetID( ID_LIBRARY_VIEW ) ) { CString strName; Skin.LoadString( strName, pView->m_nCommandID ); LPCTSTR pszName = _tcschr( strName, '\n' ); pszName = ( pszName ) ? ( pszName + 1 ) : (LPCTSTR)strName; pItem->SetImage( pView->m_nCommandID ); pItem->SetText( pszName ); } OnUpdated(); } }
bool CFavouritesService::Save(const CFileItemList& items) { { CSingleLock lock(m_criticalSection); m_favourites.Clear(); m_favourites.Copy(items); Persist(); } OnUpdated(); return true; }
void CCoolBarCtrl::OnUpdateCmdUI(CFrameWnd* pTarget, BOOL bDisableIfNoHndler) { UINT nIndex = 0; BOOL bDirty = FALSE; BOOL bLocked = FALSE; if ( m_pSyncObject != NULL ) { bLocked = m_pSyncObject->Lock( 200 ); } for ( POSITION pos = m_pItems.GetHeadPosition() ; pos ; ) { CCoolBarItem* pItem = (CCoolBarItem*)m_pItems.GetNext( pos ); if ( pItem->m_nID == ID_SEPARATOR ) continue; if ( pItem->m_nCtrlID ) continue; pItem->m_pOther = this; pItem->m_nIndex = nIndex++; pItem->m_nIndexMax = m_pItems.GetCount(); pItem->m_bDirty = FALSE; BOOL bEnabled = pItem->m_bEnabled; if ( ! CWnd::OnCmdMsg( pItem->m_nID, CN_UPDATE_COMMAND_UI, pItem, NULL ) ) { pItem->DoUpdate( pTarget, bDisableIfNoHndler ); } pItem->m_bDirty |= ( pItem->m_bEnabled != bEnabled ); bDirty |= pItem->m_bDirty; } if ( bLocked ) m_pSyncObject->Unlock(); if ( bDirty ) OnUpdated(); }
bool CFavouritesService::AddOrRemove(const CFileItem& item, int contextWindow) { auto favUrl = GetFavouritesUrl(item, contextWindow); { CSingleLock lock(m_criticalSection); CFileItemPtr match = m_favourites.Get(favUrl); if (match) { // remove the item m_favourites.Remove(match.get()); } else { // create our new favourite item const CFileItemPtr favourite(std::make_shared<CFileItem>(item.GetLabel())); if (item.GetLabel().empty()) favourite->SetLabel(CUtil::GetTitleFromPath(item.GetPath(), item.m_bIsFolder)); favourite->SetArt("thumb", item.GetArt("thumb")); favourite->SetPath(favUrl); m_favourites.Add(favourite); } Persist(); } OnUpdated(); return true; }
void CCoolBarCtrl::SetBold(BOOL bBold) { m_bBold = bBold; OnUpdated(); }