2 * Copyright (C) 2014-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.
9 #include "GUIDialogSettingsManagerBase.h"
11 #include "settings/lib/SettingsManager.h"
15 CGUIDialogSettingsManagerBase::CGUIDialogSettingsManagerBase(int windowId
, const std::string
&xmlFile
)
16 : CGUIDialogSettingsBase(windowId
, xmlFile
)
19 CGUIDialogSettingsManagerBase::~CGUIDialogSettingsManagerBase() = default;
21 std::shared_ptr
<CSetting
> CGUIDialogSettingsManagerBase::GetSetting(const std::string
&settingId
)
23 assert(GetSettingsManager() != nullptr);
25 return GetSettingsManager()->GetSetting(settingId
);
28 bool CGUIDialogSettingsManagerBase::OnOkay()
32 CGUIDialogSettingsBase::OnOkay();
39 std::set
<std::string
> CGUIDialogSettingsManagerBase::CreateSettings()
41 assert(GetSettingsManager() != nullptr);
43 std::set
<std::string
> settings
= CGUIDialogSettingsBase::CreateSettings();
45 if (!settings
.empty())
46 GetSettingsManager()->RegisterCallback(this, settings
);
51 void CGUIDialogSettingsManagerBase::FreeSettingsControls()
53 CGUIDialogSettingsBase::FreeSettingsControls();
55 if (GetSettingsManager() != nullptr)
56 GetSettingsManager()->UnregisterCallback(this);
59 std::shared_ptr
<ISettingControl
> CGUIDialogSettingsManagerBase::CreateControl(const std::string
&controlType
) const
61 assert(GetSettingsManager() != nullptr);
63 return GetSettingsManager()->CreateControl(controlType
);