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();
	}
}
Exemple #2
0
bool CFavouritesService::Save(const CFileItemList& items)
{
  {
    CSingleLock lock(m_criticalSection);
    m_favourites.Clear();
    m_favourites.Copy(items);
    Persist();
  }
  OnUpdated();
  return true;
}
Exemple #3
0
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();
}
Exemple #4
0
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;
}
Exemple #5
0
void CCoolBarCtrl::SetBold(BOOL bBold)
{
	m_bBold = bBold;
	OnUpdated();
}