kodi
GUIWindowSettingsCategory.h
1 /*
2  * Copyright (C) 2005-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/GUIDialogSettingsManagerBase.h"
12 
13 class CSettings;
14 
16 {
17 public:
19  ~CGUIWindowSettingsCategory() override;
20 
21  // specialization of CGUIControl
22  bool OnMessage(CGUIMessage &message) override;
23  bool OnAction(const CAction &action) override;
24  bool OnBack(int actionID) override;
25  int GetID() const override { return CGUIDialogSettingsManagerBase::GetID() + m_iSection; }
26 
27  // specialization of CGUIWindow
28  bool IsDialog() const override { return false; }
29 
30 protected:
31  // specialization of CGUIWindow
32  void OnWindowLoaded() override;
33 
34  // implementation of CGUIDialogSettingsBase
35  int GetSettingLevel() const override;
36  std::shared_ptr<CSettingSection> GetSection() override;
37  bool Save() override;
38 
39  // implementation of CGUIDialogSettingsManagerBase
40  CSettingsManager* GetSettingsManager() const override;
41 
46  void FocusElement(const std::string& elementId);
47 
48  std::shared_ptr<CSettings> m_settings;
49  int m_iSection = 0;
50  bool m_returningFromSkinLoad = false; // true if we are returning from loading the skin
51 };
void FocusElement(const std::string &elementId)
Definition: GUIWindowSettingsCategory.cpp:213
Definition: GUIWindowSettingsCategory.h:15
Wrapper around CSettingsManager responsible for properly setting up the settings manager and register...
Definition: Settings.h:27
Definition: GUIDialogSettingsManagerBase.h:15
Class encapsulating information regarding a particular user action to be sent to windows and controls...
Definition: Action.h:21
Definition: GUIMessage.h:365
Settings manager responsible for initializing, loading and handling all settings. ...
Definition: SettingsManager.h:41