xbmc
GUIDialogPVRRecordingSettings.h
1 /*
2  * Copyright (C) 2017-2018 Team Kodi
3  * This file is part of Kodi - https://kodi.tv
4  *
5  * SPDX-License-Identifier: GPL-2.0-or-later
6  * See LICENSES/README.md for more information.
7  */
8 
9 #pragma once
10 
11 #include "settings/dialogs/GUIDialogSettingsManualBase.h"
12 
13 #include <memory>
14 #include <string>
15 #include <vector>
16 
17 class CFileItem;
18 class CSetting;
19 
21 
22 namespace PVR
23 {
24 class CPVRRecording;
25 
27 {
28 public:
30 
31  void SetRecording(const std::shared_ptr<CPVRRecording>& recording);
32  static bool CanEditRecording(const CFileItem& item);
33 
34 protected:
35  // implementation of ISettingCallback
36  bool OnSettingChanging(const std::shared_ptr<const CSetting>& setting) override;
37  void OnSettingChanged(const std::shared_ptr<const CSetting>& setting) override;
38 
39  // specialization of CGUIDialogSettingsBase
40  bool AllowResettingSettings() const override { return false; }
41  bool Save() override;
42  void SetupView() override;
43 
44  // specialization of CGUIDialogSettingsManualBase
45  void InitializeSettings() override;
46 
47 private:
48  static void LifetimesFiller(const std::shared_ptr<const CSetting>& setting,
49  std::vector<IntegerSettingOption>& list,
50  int& current,
51  void* data);
52 
53  std::shared_ptr<CPVRRecording> m_recording;
54  std::string m_strTitle;
55  int m_iPlayCount = 0;
56  int m_iLifetime = 0;
57 };
58 } // namespace PVR
Definition: ContextMenuManager.h:24
Setting base class containing all the properties which are common to all settings independent of the ...
Definition: Setting.h:46
void OnSettingChanged(const std::shared_ptr< const CSetting > &setting) override
The value of the given setting has changed.
Definition: GUIDialogPVRRecordingSettings.cpp:152
Definition: SettingDefinitions.h:66
bool OnSettingChanging(const std::shared_ptr< const CSetting > &setting) override
The value of the given setting is being changed.
Definition: GUIDialogPVRRecordingSettings.cpp:124
Definition: GUIDialogSettingsManualBase.h:37
Represents a file on a share.
Definition: FileItem.h:102
Definition: GUIDialogPVRRecordingSettings.h:26