本文整理汇总了C++中CGUIEPGGridContainer::SetStartEnd方法的典型用法代码示例。如果您正苦于以下问题:C++ CGUIEPGGridContainer::SetStartEnd方法的具体用法?C++ CGUIEPGGridContainer::SetStartEnd怎么用?C++ CGUIEPGGridContainer::SetStartEnd使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类CGUIEPGGridContainer
的用法示例。
在下文中一共展示了CGUIEPGGridContainer::SetStartEnd方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: GetViewTimelineItems
void CGUIWindowPVRGuide::GetViewTimelineItems(CFileItemList &items)
{
CGUIEPGGridContainer* epgGridContainer = dynamic_cast<CGUIEPGGridContainer*>(GetControl(m_viewControl.GetCurrentControl()));
if (!epgGridContainer)
return;
CPVRChannelGroupPtr group;
{
CSingleLock lock(m_critSection);
// group change detected reset grid coordinates and refresh grid items
if (!m_bRefreshTimelineItems && *m_cachedChannelGroup != *GetGroup())
{
epgGridContainer->ResetCoordinates();
m_bRefreshTimelineItems = true;
RefreshTimelineItems();
}
if (m_newTimeline != nullptr)
{
m_cachedTimeline = m_newTimeline;
m_newTimeline.reset();
}
items.Clear();
items.RemoveDiscCache(GetID());
items.Assign(*m_cachedTimeline, false);
group = m_cachedChannelGroup;
}
CDateTime startDate(group->GetFirstEPGDate());
CDateTime endDate(group->GetLastEPGDate());
CDateTime currentDate = CDateTime::GetCurrentDateTime().GetAsUTCDateTime();
if (!startDate.IsValid())
startDate = currentDate;
if (!endDate.IsValid() || endDate < startDate)
endDate = startDate;
// limit start to linger time
CDateTime maxPastDate = currentDate - CDateTimeSpan(0, 0, g_advancedSettings.m_iEpgLingerTime, 0);
if (startDate < maxPastDate)
startDate = maxPastDate;
epgGridContainer->SetStartEnd(startDate, endDate);
}
示例2: UpdateViewTimeline
void CGUIWindowPVRGuide::UpdateViewTimeline()
{
CGUIEPGGridContainer* epgGridContainer = (CGUIEPGGridContainer*) GetControl(m_viewControl.GetCurrentControl());
if (!epgGridContainer)
return;
CPVRChannelGroupPtr group = GetGroup();
if (m_bUpdateRequired || m_cachedTimeline->IsEmpty() || *m_cachedChannelGroup != *group)
{
m_bUpdateRequired = false;
m_cachedTimeline->Clear();
m_cachedChannelGroup = group;
m_cachedChannelGroup->GetEPGAll(*m_cachedTimeline);
}
m_vecItems->Clear();
m_vecItems->RemoveDiscCache(GetID());
m_vecItems->Assign(*m_cachedTimeline, false);
CDateTime startDate(m_cachedChannelGroup->GetFirstEPGDate());
CDateTime endDate(m_cachedChannelGroup->GetLastEPGDate());
CDateTime currentDate = CDateTime::GetCurrentDateTime().GetAsUTCDateTime();
if (!startDate.IsValid())
startDate = currentDate;
if (!endDate.IsValid() || endDate < startDate)
endDate = startDate;
// limit start to linger time
CDateTime maxPastDate = currentDate - CDateTimeSpan(0, 0, g_advancedSettings.m_iEpgLingerTime, 0);
if (startDate < maxPastDate)
startDate = maxPastDate;
epgGridContainer->SetStartEnd(startDate, endDate);
SET_CONTROL_LABEL(CONTROL_LABEL_HEADER1, g_localizeStrings.Get(19032));
SET_CONTROL_LABEL(CONTROL_LABEL_HEADER2, GetGroup()->GroupName());
m_viewControl.SetItems(*m_vecItems);
epgGridContainer->SetChannel(m_selectedItemPaths.at(m_bRadio));
}
示例3: GetViewTimelineItems
void CGUIWindowPVRGuide::GetViewTimelineItems(CFileItemList &items)
{
CGUIEPGGridContainer* epgGridContainer = (CGUIEPGGridContainer*) GetControl(m_viewControl.GetCurrentControl());
if (!epgGridContainer)
return;
CPVRChannelGroupPtr group = GetGroup();
// group change detected reset grid coordinate
if (*m_cachedChannelGroup != *group)
epgGridContainer->ResetCoordinates();
if (m_bUpdateRequired || m_cachedTimeline->IsEmpty() || *m_cachedChannelGroup != *group)
{
m_bUpdateRequired = false;
m_cachedTimeline->Clear();
m_cachedChannelGroup = group;
m_cachedChannelGroup->GetEPGAll(*m_cachedTimeline, true);
}
items.Clear();
items.RemoveDiscCache(GetID());
items.Assign(*m_cachedTimeline, false);
CDateTime startDate(m_cachedChannelGroup->GetFirstEPGDate());
CDateTime endDate(m_cachedChannelGroup->GetLastEPGDate());
CDateTime currentDate = CDateTime::GetCurrentDateTime().GetAsUTCDateTime();
if (!startDate.IsValid())
startDate = currentDate;
if (!endDate.IsValid() || endDate < startDate)
endDate = startDate;
// limit start to linger time
CDateTime maxPastDate = currentDate - CDateTimeSpan(0, 0, g_advancedSettings.m_iEpgLingerTime, 0);
if (startDate < maxPastDate)
startDate = maxPastDate;
epgGridContainer->SetStartEnd(startDate, endDate);
}