bool CGUIWindowEventLog::OnExecute(CFileItemPtr item) { if (item == nullptr) return false; std::string eventIdentifier = item->GetProperty(PROPERTY_EVENT_IDENTIFIER).asString(); if (eventIdentifier.empty()) return false; const EventPtr eventPtr = CEventLog::GetInstance().Get(eventIdentifier); if (eventPtr == nullptr) return false; if (!eventPtr->CanExecute()) return true; return eventPtr->Execute(); }
void CGUIWindowEventLog::GetContextButtons(int itemNumber, CContextButtons &buttons) { if (itemNumber < 0 && itemNumber >= m_vecItems->Size()) return; CFileItemPtr item = m_vecItems->Get(itemNumber); if (item == nullptr) return; std::string eventIdentifier = item->GetProperty(PROPERTY_EVENT_IDENTIFIER).asString(); if (eventIdentifier.empty()) return; EventPtr eventPtr = CEventLog::GetInstance().Get(eventIdentifier); if (eventPtr == nullptr) return; buttons.Add(CONTEXT_BUTTON_INFO, g_localizeStrings.Get(19033)); buttons.Add(CONTEXT_BUTTON_DELETE, g_localizeStrings.Get(1210)); if (eventPtr->CanExecute()) buttons.Add(CONTEXT_BUTTON_ACTIVATE, eventPtr->GetExecutionLabel()); }