summaryrefslogtreecommitdiffstats
path: root/xbmc/pvr/dialogs/GUIDialogPVRChannelManager.h
diff options
context:
space:
mode:
authorDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-10 18:07:22 +0000
committerDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-10 18:07:22 +0000
commitc04dcc2e7d834218ef2d4194331e383402495ae1 (patch)
tree7333e38d10d75386e60f336b80c2443c1166031d /xbmc/pvr/dialogs/GUIDialogPVRChannelManager.h
parentInitial commit. (diff)
downloadkodi-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/GUIDialogPVRChannelManager.h')
-rw-r--r--xbmc/pvr/dialogs/GUIDialogPVRChannelManager.h95
1 files changed, 95 insertions, 0 deletions
diff --git a/xbmc/pvr/dialogs/GUIDialogPVRChannelManager.h b/xbmc/pvr/dialogs/GUIDialogPVRChannelManager.h
new file mode 100644
index 0000000..0716436
--- /dev/null
+++ b/xbmc/pvr/dialogs/GUIDialogPVRChannelManager.h
@@ -0,0 +1,95 @@
+/*
+ * 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.
+ */
+
+#pragma once
+
+#include "dialogs/GUIDialogContextMenu.h"
+#include "guilib/GUIDialog.h"
+#include "view/GUIViewControl.h"
+
+#include <memory>
+#include <vector>
+
+class CAction;
+class CFileItemList;
+class CGUIMessage;
+
+namespace PVR
+{
+ class CPVRChannelGroup;
+ class CPVRClient;
+
+ class CGUIDialogPVRChannelManager : public CGUIDialog
+ {
+ public:
+ CGUIDialogPVRChannelManager();
+ ~CGUIDialogPVRChannelManager() override;
+ bool OnMessage(CGUIMessage& message) override;
+ bool OnAction(const CAction& action) override;
+ void OnWindowLoaded() override;
+ void OnWindowUnload() override;
+ bool HasListItems() const override{ return true; }
+ CFileItemPtr GetCurrentListItem(int offset = 0) override;
+
+ void Open(const std::shared_ptr<CFileItem>& initialSelection);
+ void SetRadio(bool bIsRadio);
+
+ protected:
+ void OnInitWindow() override;
+ void OnDeinitWindow(int nextWindowID) override;
+
+ private:
+ void Clear();
+ void Update();
+ void PromptAndSaveList();
+ void SaveList();
+ void Renumber();
+ void SetData(int iItem);
+ void RenameChannel(const CFileItemPtr& pItem);
+
+ void ClearChannelOptions();
+ void EnableChannelOptions(bool bEnable);
+
+ bool OnPopupMenu(int iItem);
+ bool OnContextButton(int itemNumber, CONTEXT_BUTTON button);
+ bool OnActionMove(const CAction& action);
+ bool OnMessageClick(const CGUIMessage& message);
+ bool OnClickListChannels(const CGUIMessage& message);
+ bool OnClickButtonOK();
+ bool OnClickButtonApply();
+ bool OnClickButtonCancel();
+ bool OnClickButtonRadioTV();
+ bool OnClickButtonRadioActive();
+ bool OnClickButtonRadioParentalLocked();
+ bool OnClickButtonEditName();
+ bool OnClickButtonChannelLogo();
+ bool OnClickButtonUseEPG();
+ bool OnClickEPGSourceSpin();
+ bool OnClickButtonGroupManager();
+ bool OnClickButtonNewChannel();
+ bool OnClickButtonRefreshChannelLogos();
+
+ bool PersistChannel(const CFileItemPtr& pItem, const std::shared_ptr<CPVRChannelGroup>& group);
+
+ bool HasChangedItems() const;
+ void SetItemChanged(const CFileItemPtr& pItem);
+
+ bool m_bIsRadio = false;
+ bool m_bMovingMode = false;
+ bool m_bAllowNewChannel = false;
+ bool m_bAllowRenumber = false;
+ bool m_bAllowReorder = false;
+
+ std::shared_ptr<CFileItem> m_initialSelection;
+ int m_iSelected = 0;
+ CFileItemList* m_channelItems;
+ CGUIViewControl m_viewControl;
+
+ std::vector<std::shared_ptr<CPVRClient>> m_clientsWithSettingsList;
+ };
+}