diff options
author | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-10 18:07:22 +0000 |
---|---|---|
committer | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-10 18:07:22 +0000 |
commit | c04dcc2e7d834218ef2d4194331e383402495ae1 (patch) | |
tree | 7333e38d10d75386e60f336b80c2443c1166031d /xbmc/pvr/dialogs/GUIDialogPVRRecordingInfo.cpp | |
parent | Initial commit. (diff) | |
download | kodi-c04dcc2e7d834218ef2d4194331e383402495ae1.tar.xz kodi-c04dcc2e7d834218ef2d4194331e383402495ae1.zip |
Adding upstream version 2:20.4+dfsg.upstream/2%20.4+dfsg
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'xbmc/pvr/dialogs/GUIDialogPVRRecordingInfo.cpp')
-rw-r--r-- | xbmc/pvr/dialogs/GUIDialogPVRRecordingInfo.cpp | 102 |
1 files changed, 102 insertions, 0 deletions
diff --git a/xbmc/pvr/dialogs/GUIDialogPVRRecordingInfo.cpp b/xbmc/pvr/dialogs/GUIDialogPVRRecordingInfo.cpp new file mode 100644 index 0000000..9396083 --- /dev/null +++ b/xbmc/pvr/dialogs/GUIDialogPVRRecordingInfo.cpp @@ -0,0 +1,102 @@ +/* + * Copyright (C) 2012-2018 Team Kodi + * This file is part of Kodi - https://kodi.tv + * + * SPDX-License-Identifier: GPL-2.0-or-later + * See LICENSES/README.md for more information. + */ + +#include "GUIDialogPVRRecordingInfo.h" + +#include "FileItem.h" +#include "ServiceBroker.h" +#include "guilib/GUIMessage.h" +#include "pvr/PVRManager.h" +#include "pvr/guilib/PVRGUIActionsEPG.h" +#include "pvr/guilib/PVRGUIActionsPlayback.h" + +using namespace PVR; + +#define CONTROL_BTN_FIND 4 +#define CONTROL_BTN_OK 7 +#define CONTROL_BTN_PLAY_RECORDING 8 + +CGUIDialogPVRRecordingInfo::CGUIDialogPVRRecordingInfo() + : CGUIDialog(WINDOW_DIALOG_PVR_RECORDING_INFO, "DialogPVRInfo.xml"), m_recordItem(new CFileItem) +{ +} + +bool CGUIDialogPVRRecordingInfo::OnMessage(CGUIMessage& message) +{ + switch (message.GetMessage()) + { + case GUI_MSG_CLICKED: + return OnClickButtonOK(message) || OnClickButtonPlay(message) || OnClickButtonFind(message); + } + + return CGUIDialog::OnMessage(message); +} + +bool CGUIDialogPVRRecordingInfo::OnClickButtonOK(const CGUIMessage& message) +{ + bool bReturn = false; + + if (message.GetSenderId() == CONTROL_BTN_OK) + { + Close(); + bReturn = true; + } + + return bReturn; +} + +bool CGUIDialogPVRRecordingInfo::OnClickButtonPlay(const CGUIMessage& message) +{ + bool bReturn = false; + + if (message.GetSenderId() == CONTROL_BTN_PLAY_RECORDING) + { + Close(); + + if (m_recordItem) + CServiceBroker::GetPVRManager().Get<PVR::GUI::Playback>().PlayRecording( + *m_recordItem, true /* check resume */); + + bReturn = true; + } + + return bReturn; +} + +bool CGUIDialogPVRRecordingInfo::OnClickButtonFind(const CGUIMessage& message) +{ + bool bReturn = false; + + if (message.GetSenderId() == CONTROL_BTN_FIND) + { + Close(); + + if (m_recordItem) + CServiceBroker::GetPVRManager().Get<PVR::GUI::EPG>().FindSimilar(*m_recordItem); + + bReturn = true; + } + + return bReturn; +} + +bool CGUIDialogPVRRecordingInfo::OnInfo(int actionID) +{ + Close(); + return true; +} + +void CGUIDialogPVRRecordingInfo::SetRecording(const CFileItem& item) +{ + m_recordItem = std::make_shared<CFileItem>(item); +} + +CFileItemPtr CGUIDialogPVRRecordingInfo::GetCurrentListItem(int offset) +{ + return m_recordItem; +} |