xbmc
GUIDialogVideoSettings.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 "cores/VideoPlayer/Interface/StreamInfo.h"
12 #include "settings/dialogs/GUIDialogSettingsManualBase.h"
13 
14 #include <string>
15 #include <utility>
16 #include <vector>
17 
19 
21 {
22 public:
24  ~CGUIDialogVideoSettings() override;
25 
26 protected:
27  // implementations of ISettingCallback
28  void OnSettingChanged(const std::shared_ptr<const CSetting>& setting) override;
29  void OnSettingAction(const std::shared_ptr<const CSetting>& setting) override;
30 
31  void AddVideoStreams(const std::shared_ptr<CSettingGroup>& group, const std::string& settingId);
32  static void VideoStreamsOptionFiller(const std::shared_ptr<const CSetting>& setting,
33  std::vector<IntegerSettingOption>& list,
34  int& current,
35  void* data);
36 
37  static void VideoOrientationFiller(const std::shared_ptr<const CSetting>& setting,
38  std::vector<IntegerSettingOption>& list,
39  int& current,
40  void* data);
41 
42  static std::string FormatFlags(StreamFlags flags);
43 
44  // specialization of CGUIDialogSettingsBase
45  bool AllowResettingSettings() const override { return false; }
46  bool Save() override;
47  void SetupView() override;
48 
49  // specialization of CGUIDialogSettingsManualBase
50  void InitializeSettings() override;
51 
52 private:
53  int m_videoStream;
54  bool m_viewModeChanged = false;
55 };
Definition: GUIDialogVideoSettings.h:20
Definition: SettingDefinitions.h:66
void OnSettingChanged(const std::shared_ptr< const CSetting > &setting) override
The value of the given setting has changed.
Definition: GUIDialogVideoSettings.cpp:68
Definition: SmartPlayList.cpp:137
void OnSettingAction(const std::shared_ptr< const CSetting > &setting) override
The given setting has been activated.
Definition: GUIDialogVideoSettings.cpp:209
Definition: GUIDialogSettingsManualBase.h:37