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.
9 #include "GUIComponent.h"
11 #include "GUIAudioManager.h"
12 #include "GUIColorManager.h"
13 #include "GUIInfoManager.h"
14 #include "GUILargeTextureManager.h"
15 #include "GUIWindowManager.h"
16 #include "ServiceBroker.h"
17 #include "StereoscopicsManager.h"
18 #include "TextureManager.h"
20 #include "dialogs/GUIDialogYesNo.h"
24 CGUIComponent::CGUIComponent()
25 : m_pWindowManager(std::make_unique
<CGUIWindowManager
>()),
26 m_pTextureManager(std::make_unique
<CGUITextureManager
>()),
27 m_pLargeTextureManager(std::make_unique
<CGUILargeTextureManager
>()),
28 m_stereoscopicsManager(std::make_unique
<CStereoscopicsManager
>()),
29 m_guiInfoManager(std::make_unique
<CGUIInfoManager
>()),
30 m_guiColorManager(std::make_unique
<CGUIColorManager
>()),
31 m_guiAudioManager(std::make_unique
<CGUIAudioManager
>())
35 CGUIComponent::CGUIComponent(bool)
39 CGUIComponent::~CGUIComponent()
44 void CGUIComponent::Init()
46 m_pWindowManager
->Initialize();
47 m_stereoscopicsManager
->Initialize();
48 m_guiInfoManager
->Initialize();
50 CServiceBroker::RegisterGUI(this);
53 void CGUIComponent::Deinit()
55 CServiceBroker::UnregisterGUI();
58 m_pWindowManager
->DeInitialize();
61 CGUIWindowManager
& CGUIComponent::GetWindowManager()
63 return *m_pWindowManager
;
66 CGUITextureManager
& CGUIComponent::GetTextureManager()
68 return *m_pTextureManager
;
71 CGUILargeTextureManager
& CGUIComponent::GetLargeTextureManager()
73 return *m_pLargeTextureManager
;
76 CStereoscopicsManager
&CGUIComponent::GetStereoscopicsManager()
78 return *m_stereoscopicsManager
;
81 CGUIInfoManager
&CGUIComponent::GetInfoManager()
83 return *m_guiInfoManager
;
86 CGUIColorManager
&CGUIComponent::GetColorManager()
88 return *m_guiColorManager
;
91 CGUIAudioManager
&CGUIComponent::GetAudioManager()
93 return *m_guiAudioManager
;
96 bool CGUIComponent::ConfirmDelete(const std::string
& path
)
98 CGUIDialogYesNo
* pDialog
= GetWindowManager().GetWindow
<CGUIDialogYesNo
>(WINDOW_DIALOG_YES_NO
);
101 pDialog
->SetHeading(CVariant
{122});
102 pDialog
->SetLine(0, CVariant
{125});
103 pDialog
->SetLine(1, CVariant
{CURL(path
).GetWithoutUserDetails()});
104 pDialog
->SetLine(2, CVariant
{""});
106 if (pDialog
->IsConfirmed())