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 "GUITextureCallbackManager.h"
16 #include "GUIWindowManager.h"
17 #include "ServiceBroker.h"
18 #include "StereoscopicsManager.h"
19 #include "TextureManager.h"
21 #include "dialogs/GUIDialogYesNo.h"
22 #include "handlers/GUIAnnouncementHandlerContainer.h"
26 CGUIComponent::CGUIComponent()
27 : m_pWindowManager(std::make_unique
<CGUIWindowManager
>()),
28 m_pTextureManager(std::make_unique
<CGUITextureManager
>()),
29 m_pLargeTextureManager(std::make_unique
<CGUILargeTextureManager
>()),
30 m_pTextureCallbackManager(std::make_unique
<CGUITextureCallbackManager
>()),
31 m_stereoscopicsManager(std::make_unique
<CStereoscopicsManager
>()),
32 m_guiInfoManager(std::make_unique
<CGUIInfoManager
>()),
33 m_guiColorManager(std::make_unique
<CGUIColorManager
>()),
34 m_guiAudioManager(std::make_unique
<CGUIAudioManager
>()),
35 m_announcementHandlerContainer(std::make_unique
<CGUIAnnouncementHandlerContainer
>())
39 CGUIComponent::CGUIComponent(bool)
43 CGUIComponent::~CGUIComponent()
48 void CGUIComponent::Init()
50 m_pWindowManager
->Initialize();
51 m_stereoscopicsManager
->Initialize();
52 m_guiInfoManager
->Initialize();
54 CServiceBroker::RegisterGUI(this);
57 void CGUIComponent::Deinit()
59 CServiceBroker::UnregisterGUI();
62 m_pWindowManager
->DeInitialize();
65 CGUIWindowManager
& CGUIComponent::GetWindowManager()
67 return *m_pWindowManager
;
70 CGUITextureManager
& CGUIComponent::GetTextureManager()
72 return *m_pTextureManager
;
75 CGUILargeTextureManager
& CGUIComponent::GetLargeTextureManager()
77 return *m_pLargeTextureManager
;
80 CGUITextureCallbackManager
& CGUIComponent::GetTextureCallbackManager()
82 return *m_pTextureCallbackManager
;
85 CStereoscopicsManager
&CGUIComponent::GetStereoscopicsManager()
87 return *m_stereoscopicsManager
;
90 CGUIInfoManager
&CGUIComponent::GetInfoManager()
92 return *m_guiInfoManager
;
95 CGUIColorManager
&CGUIComponent::GetColorManager()
97 return *m_guiColorManager
;
100 CGUIAudioManager
&CGUIComponent::GetAudioManager()
102 return *m_guiAudioManager
;
105 bool CGUIComponent::ConfirmDelete(const std::string
& path
)
107 CGUIDialogYesNo
* pDialog
= GetWindowManager().GetWindow
<CGUIDialogYesNo
>(WINDOW_DIALOG_YES_NO
);
110 pDialog
->SetHeading(CVariant
{122});
111 pDialog
->SetLine(0, CVariant
{125});
112 pDialog
->SetLine(1, CVariant
{CURL(path
).GetWithoutUserDetails()});
113 pDialog
->SetLine(2, CVariant
{""});
115 if (pDialog
->IsConfirmed())