[videodb] remove unused seasons table from episode_view
[xbmc.git] / xbmc / video / dialogs / GUIDialogSubtitleSettings.h
blob65216ede389c9310f6752cb053e7495aa1e3caa8
1 /*
2 * Copyright (C) 2005-2018 Team Kodi
3 * This file is part of Kodi - https://kodi.tv
5 * SPDX-License-Identifier: GPL-2.0-or-later
6 * See LICENSES/README.md for more information.
7 */
9 #pragma once
11 #include "cores/VideoPlayer/Interface/StreamInfo.h"
12 #include "settings/dialogs/GUIDialogSettingsManualBase.h"
14 #include <string>
15 #include <utility>
16 #include <vector>
18 class CVariant;
19 struct IntegerSettingOption;
21 class CGUIDialogSubtitleSettings : public CGUIDialogSettingsManualBase
23 public:
24 CGUIDialogSubtitleSettings();
25 ~CGUIDialogSubtitleSettings() override;
26 bool OnMessage(CGUIMessage& message) override;
28 // specialization of CGUIWindow
29 void FrameMove() override;
31 static std::string BrowseForSubtitle();
33 protected:
34 // implementations of ISettingCallback
35 void OnSettingChanged(const std::shared_ptr<const CSetting>& setting) override;
36 void OnSettingAction(const std::shared_ptr<const CSetting>& setting) override;
38 // specialization of CGUIDialogSettingsBase
39 bool AllowResettingSettings() const override { return false; }
40 bool Save() override;
41 void SetupView() override;
43 // specialization of CGUIDialogSettingsManualBase
44 void InitializeSettings() override;
46 private:
47 bool SupportsSubtitleFeature(int feature);
49 void AddSubtitleStreams(const std::shared_ptr<CSettingGroup>& group,
50 const std::string& settingId);
52 int m_subtitleStream;
53 bool m_subtitleVisible;
54 std::shared_ptr<CSettingInt> m_subtitleStreamSetting;
56 std::vector<int> m_subtitleCapabilities;
57 static std::string FormatFlags(StreamFlags flags);
59 static void SubtitleStreamsOptionFiller(const std::shared_ptr<const CSetting>& setting,
60 std::vector<IntegerSettingOption>& list,
61 int& current,
62 void* data);
64 static std::string SettingFormatterDelay(
65 const std::shared_ptr<const CSettingControlSlider>& control,
66 const CVariant& value,
67 const CVariant& minimum,
68 const CVariant& step,
69 const CVariant& maximum);