summaryrefslogtreecommitdiffstats
path: root/xbmc/guilib/GUIComponent.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'xbmc/guilib/GUIComponent.cpp')
-rw-r--r--xbmc/guilib/GUIComponent.cpp103
1 files changed, 103 insertions, 0 deletions
diff --git a/xbmc/guilib/GUIComponent.cpp b/xbmc/guilib/GUIComponent.cpp
new file mode 100644
index 0000000..e143e75
--- /dev/null
+++ b/xbmc/guilib/GUIComponent.cpp
@@ -0,0 +1,103 @@
+/*
+ * Copyright (C) 2005-2018 Team Kodi
+ * This file is part of Kodi - https://kodi.tv
+ *
+ * SPDX-License-Identifier: GPL-2.0-or-later
+ * See LICENSES/README.md for more information.
+ */
+
+#include "GUIComponent.h"
+
+#include "GUIAudioManager.h"
+#include "GUIColorManager.h"
+#include "GUIInfoManager.h"
+#include "GUILargeTextureManager.h"
+#include "GUIWindowManager.h"
+#include "ServiceBroker.h"
+#include "StereoscopicsManager.h"
+#include "TextureManager.h"
+#include "URL.h"
+#include "dialogs/GUIDialogYesNo.h"
+
+CGUIComponent::CGUIComponent()
+{
+ m_pWindowManager.reset(new CGUIWindowManager());
+ m_pTextureManager.reset(new CGUITextureManager());
+ m_pLargeTextureManager.reset(new CGUILargeTextureManager());
+ m_stereoscopicsManager.reset(new CStereoscopicsManager());
+ m_guiInfoManager.reset(new CGUIInfoManager());
+ m_guiColorManager.reset(new CGUIColorManager());
+ m_guiAudioManager.reset(new CGUIAudioManager());
+}
+
+CGUIComponent::~CGUIComponent()
+{
+ Deinit();
+}
+
+void CGUIComponent::Init()
+{
+ m_pWindowManager->Initialize();
+ m_stereoscopicsManager->Initialize();
+ m_guiInfoManager->Initialize();
+
+ CServiceBroker::RegisterGUI(this);
+}
+
+void CGUIComponent::Deinit()
+{
+ CServiceBroker::UnregisterGUI();
+
+ m_pWindowManager->DeInitialize();
+}
+
+CGUIWindowManager& CGUIComponent::GetWindowManager()
+{
+ return *m_pWindowManager;
+}
+
+CGUITextureManager& CGUIComponent::GetTextureManager()
+{
+ return *m_pTextureManager;
+}
+
+CGUILargeTextureManager& CGUIComponent::GetLargeTextureManager()
+{
+ return *m_pLargeTextureManager;
+}
+
+CStereoscopicsManager &CGUIComponent::GetStereoscopicsManager()
+{
+ return *m_stereoscopicsManager;
+}
+
+CGUIInfoManager &CGUIComponent::GetInfoManager()
+{
+ return *m_guiInfoManager;
+}
+
+CGUIColorManager &CGUIComponent::GetColorManager()
+{
+ return *m_guiColorManager;
+}
+
+CGUIAudioManager &CGUIComponent::GetAudioManager()
+{
+ return *m_guiAudioManager;
+}
+
+bool CGUIComponent::ConfirmDelete(const std::string& path)
+{
+ CGUIDialogYesNo* pDialog = GetWindowManager().GetWindow<CGUIDialogYesNo>(WINDOW_DIALOG_YES_NO);
+ if (pDialog)
+ {
+ pDialog->SetHeading(CVariant{122});
+ pDialog->SetLine(0, CVariant{125});
+ pDialog->SetLine(1, CVariant{CURL(path).GetWithoutUserDetails()});
+ pDialog->SetLine(2, CVariant{""});
+ pDialog->Open();
+ if (pDialog->IsConfirmed())
+ return true;
+ }
+ return false;
+}