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.
11 #include "cores/VideoPlayer/Interface/StreamInfo.h"
12 #include "settings/dialogs/GUIDialogSettingsManualBase.h"
19 struct IntegerSettingOption
;
21 class CGUIDialogSubtitleSettings
: public CGUIDialogSettingsManualBase
24 CGUIDialogSubtitleSettings();
25 ~CGUIDialogSubtitleSettings() override
;
26 bool OnMessage(CGUIMessage
& message
) override
;
28 // specialization of CGUIWindow
29 void FrameMove() override
;
31 static std::string
BrowseForSubtitle();
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; }
41 void SetupView() override
;
43 // specialization of CGUIDialogSettingsManualBase
44 void InitializeSettings() override
;
47 bool SupportsSubtitleFeature(int feature
);
49 void AddSubtitleStreams(const std::shared_ptr
<CSettingGroup
>& group
,
50 const std::string
& settingId
);
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
,
64 static std::string
SettingFormatterDelay(
65 const std::shared_ptr
<const CSettingControlSlider
>& control
,
66 const CVariant
& value
,
67 const CVariant
& minimum
,
69 const CVariant
& maximum
);