コード例 #1
0
ファイル: GUIViewControl.cpp プロジェクト: KenJusticeJr/xbmc
void CGUIViewControl::UpdateViewVisibility()
{
    // first reset our infomanager cache, as it's likely that the vis conditions
    // used for views (i.e. based on contenttype) may have changed
    g_infoManager.ResetCache();
    m_visibleViews.clear();
    for (unsigned int i = 0; i < m_allViews.size(); i++)
    {
        CGUIControl *view = m_allViews[i];
        if (view->HasVisibleCondition())
        {
            view->UpdateVisibility();
            if (view->IsVisibleFromSkin())
                m_visibleViews.push_back(view);
        }
        else
            m_visibleViews.push_back(view);
    }
}
コード例 #2
0
ファイル: GUIViewControl.cpp プロジェクト: Arcko/xbmc
void CGUIViewControl::UpdateViewVisibility()
{
  // first reset our infomanager cache, as it's likely that the vis conditions
  // used for views (i.e. based on contenttype) may have changed
  CGUIInfoManager& infoMgr = CServiceBroker::GetGUI()->GetInfoManager();
  infoMgr.ResetCache();
  infoMgr.GetInfoProviders().GetGUIControlsInfoProvider().ResetContainerMovingCache();
  m_visibleViews.clear();
  for (unsigned int i = 0; i < m_allViews.size(); i++)
  {
    CGUIControl *view = m_allViews[i];
    if (view->HasVisibleCondition())
    {
      view->UpdateVisibility(nullptr);
      if (view->IsVisibleFromSkin())
        m_visibleViews.push_back(view);
    }
    else
      m_visibleViews.push_back(view);
  }
}