From ffca21f2743a7b367fa212799c6e2fea6190dd5d Mon Sep 17 00:00:00 2001 From: manuel Date: Tue, 3 Mar 2015 16:53:59 +0100 Subject: initial commit for kodi master --- xbmc/addons/GUIDialogAddonInfo.h | 80 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 80 insertions(+) create mode 100644 xbmc/addons/GUIDialogAddonInfo.h (limited to 'xbmc/addons/GUIDialogAddonInfo.h') diff --git a/xbmc/addons/GUIDialogAddonInfo.h b/xbmc/addons/GUIDialogAddonInfo.h new file mode 100644 index 0000000..53b7a27 --- /dev/null +++ b/xbmc/addons/GUIDialogAddonInfo.h @@ -0,0 +1,80 @@ +#pragma once + +/* + * Copyright (C) 2005-2013 Team XBMC + * http://xbmc.org + * + * This Program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2, or (at your option) + * any later version. + * + * This Program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with XBMC; see the file COPYING. If not, see + * . + * + */ + +#include "guilib/GUIDialog.h" +#include "addons/IAddon.h" +#include "utils/Job.h" + +class CGUIDialogAddonInfo : + public CGUIDialog, + public IJobCallback +{ +public: + CGUIDialogAddonInfo(void); + virtual ~CGUIDialogAddonInfo(void); + virtual bool OnMessage(CGUIMessage& message); + virtual bool OnAction(const CAction &action); + + virtual CFileItemPtr GetCurrentListItem(int offset = 0) { return m_item; } + virtual bool HasListItems() const { return true; } + + static bool ShowForItem(const CFileItemPtr& item); + + // job callback + void OnJobComplete(unsigned int jobID, bool success, CJob* job); +protected: + void OnInitWindow(); + + /*! \brief Set the item to display addon info on. + \param item to display + \return true if we can display information, false otherwise + */ + bool SetItem(const CFileItemPtr &item); + void UpdateControls(); + + void OnUpdate(); + void OnInstall(); + void OnUninstall(); + void OnEnable(bool enable); + void OnSettings(); + void OnChangeLog(); + void OnRollback(); + void OnLaunch(); + + /*! \brief check if the add-on is a dependency of others, and if so prompt the user. + \param heading the label for the heading of the prompt dialog + \param line2 the action that could not be completed. + \return true if prompted, false otherwise. + */ + bool PromptIfDependency(int heading, int line2); + + CFileItemPtr m_item; + ADDON::AddonPtr m_addon; + ADDON::AddonPtr m_localAddon; + unsigned int m_jobid; + bool m_changelog; + + // rollback data + void GrabRollbackVersions(); + std::vector m_rollbackVersions; +}; + -- cgit v1.2.3