void SSortFileItem::ByChannel(CFileItemPtr &item) { if (!item) return; if (item->IsEPG() || item->IsPVRChannel()) { CPVRChannel *channel = item->GetPVRChannelInfoTag(); if (channel) item->SetSortLabel(channel->ChannelName()); } }
void SSortFileItem::ByDate(CFileItemPtr &item) { if (!item) return; CStdString label; if (item->IsEPG()) label.Format("%s %s", item->GetEPGInfoTag()->Start().GetAsDBDateTime().c_str(), item->GetLabel().c_str()); else if (item->IsPVRTimer()) label.Format("%s %s", item->GetPVRTimerInfoTag()->m_StartTime.GetAsDBDateTime().c_str(), item->GetLabel().c_str()); else label.Format("%s %s", item->m_dateTime.GetAsDBDateTime().c_str(), item->GetLabel().c_str()); item->SetSortLabel(label); }
bool CGUIWindowPVRBase::OnContextButton(int itemNumber, CONTEXT_BUTTON button) { bool bReturn = false; switch(button) { case CONTEXT_BUTTON_MENU_HOOKS: if (itemNumber >= 0 && itemNumber < m_vecItems->Size()) { CFileItemPtr item = m_vecItems->Get(itemNumber); if (item->IsEPG() && item->GetEPGInfoTag()->HasPVRChannel()) g_PVRClients->ProcessMenuHooks(item->GetEPGInfoTag()->ChannelTag()->ClientID(), PVR_MENUHOOK_EPG, item.get()); else if (item->IsPVRChannel()) g_PVRClients->ProcessMenuHooks(item->GetPVRChannelInfoTag()->ClientID(), PVR_MENUHOOK_CHANNEL, item.get()); else if (item->IsDeletedPVRRecording()) g_PVRClients->ProcessMenuHooks(item->GetPVRRecordingInfoTag()->m_iClientId, PVR_MENUHOOK_DELETED_RECORDING, item.get()); else if (item->IsUsablePVRRecording()) g_PVRClients->ProcessMenuHooks(item->GetPVRRecordingInfoTag()->m_iClientId, PVR_MENUHOOK_RECORDING, item.get()); else if (item->IsPVRTimer()) g_PVRClients->ProcessMenuHooks(item->GetPVRTimerInfoTag()->m_iClientId, PVR_MENUHOOK_TIMER, item.get()); bReturn = true; } break; case CONTEXT_BUTTON_FIND: { int windowSearchId = m_bRadio ? WINDOW_RADIO_SEARCH : WINDOW_TV_SEARCH; CGUIWindowPVRBase *windowSearch = (CGUIWindowPVRBase*) g_windowManager.GetWindow(windowSearchId); if (windowSearch && itemNumber >= 0 && itemNumber < m_vecItems->Size()) { CFileItemPtr item = m_vecItems->Get(itemNumber); g_windowManager.ActivateWindow(windowSearchId); bReturn = windowSearch->OnContextButton(*item.get(), button); } break; } default: bReturn = false; } return bReturn || CGUIMediaWindow::OnContextButton(itemNumber, button); }