From 5f8335c1e49ce108ef3481863833c98efa00411b Mon Sep 17 00:00:00 2001 From: manuel Date: Thu, 2 Jul 2020 23:09:26 +0200 Subject: sync with upstream --- .../include/kodi/gui/dialogs/ContextMenu.h | 20 +- .../include/kodi/gui/dialogs/ExtendedProgress.h | 410 ++++++++++--------- .../include/kodi/gui/dialogs/FileBrowser.h | 55 ++- .../include/kodi/gui/dialogs/Keyboard.h | 50 ++- .../include/kodi/gui/dialogs/Numeric.h | 27 +- .../include/kodi/gui/dialogs/OK.h | 11 +- .../include/kodi/gui/dialogs/Progress.h | 446 +++++++++++---------- .../include/kodi/gui/dialogs/Select.h | 26 +- .../include/kodi/gui/dialogs/TextViewer.h | 5 +- .../include/kodi/gui/dialogs/YesNo.h | 33 +- 10 files changed, 597 insertions(+), 486 deletions(-) (limited to 'xbmc/addons/kodi-addon-dev-kit/include/kodi/gui/dialogs') diff --git a/xbmc/addons/kodi-addon-dev-kit/include/kodi/gui/dialogs/ContextMenu.h b/xbmc/addons/kodi-addon-dev-kit/include/kodi/gui/dialogs/ContextMenu.h index 26d6386..d545030 100644 --- a/xbmc/addons/kodi-addon-dev-kit/include/kodi/gui/dialogs/ContextMenu.h +++ b/xbmc/addons/kodi-addon-dev-kit/include/kodi/gui/dialogs/ContextMenu.h @@ -66,16 +66,18 @@ namespace dialogs /// fprintf(stderr, "Selected item is: %i\n", selected); /// ~~~~~~~~~~~~~ /// - inline int Show(const std::string& heading, const std::vector& entries) + inline int ATTRIBUTE_HIDDEN Show(const std::string& heading, + const std::vector& entries) { using namespace ::kodi::addon; - unsigned int size = entries.size(); - const char** cEntries = static_cast(malloc(size*sizeof(const char**))); + unsigned int size = static_cast(entries.size()); + const char** cEntries = static_cast(malloc(size * sizeof(const char**))); for (unsigned int i = 0; i < size; ++i) { cEntries[i] = entries[i].c_str(); } - int ret = CAddonBase::m_interface->toKodi->kodi_gui->dialogContextMenu->open(CAddonBase::m_interface->toKodi->kodiBase, heading.c_str(), cEntries, size); + int ret = CAddonBase::m_interface->toKodi->kodi_gui->dialogContextMenu->open( + CAddonBase::m_interface->toKodi->kodiBase, heading.c_str(), cEntries, size); free(cEntries); return ret; } @@ -113,10 +115,11 @@ namespace dialogs /// fprintf(stderr, "Selected item is: %i\n", selected); /// ~~~~~~~~~~~~~ /// - inline int Show(const std::string& heading, const std::vector>& entries) + inline int ATTRIBUTE_HIDDEN Show( + const std::string& heading, const std::vector>& entries) { using namespace ::kodi::addon; - unsigned int size = entries.size(); + unsigned int size = static_cast(entries.size()); const char** cEntries = static_cast(malloc(size*sizeof(const char**))); for (unsigned int i = 0; i < size; ++i) { @@ -160,10 +163,11 @@ namespace dialogs /// fprintf(stderr, "Selected item is: %i\n", selected); /// ~~~~~~~~~~~~~ /// - inline int Show(const std::string& heading, const std::vector>& entries) + inline int ATTRIBUTE_HIDDEN Show(const std::string& heading, + const std::vector>& entries) { using namespace ::kodi::addon; - unsigned int size = entries.size(); + unsigned int size = static_cast(entries.size()); const char** cEntries = static_cast(malloc(size*sizeof(const char**))); for (unsigned int i = 0; i < size; ++i) { diff --git a/xbmc/addons/kodi-addon-dev-kit/include/kodi/gui/dialogs/ExtendedProgress.h b/xbmc/addons/kodi-addon-dev-kit/include/kodi/gui/dialogs/ExtendedProgress.h index 417d5db..5a49b70 100644 --- a/xbmc/addons/kodi-addon-dev-kit/include/kodi/gui/dialogs/ExtendedProgress.h +++ b/xbmc/addons/kodi-addon-dev-kit/include/kodi/gui/dialogs/ExtendedProgress.h @@ -18,218 +18,232 @@ namespace gui namespace dialogs { - //============================================================================ - /// - /// \defgroup cpp_kodi_gui_dialogs_CExtendedProgress Dialog Extended Progress - /// \ingroup cpp_kodi_gui - /// @brief \cpp_class{ kodi::gui::dialogs::ExtendedProgress } - /// **Progress dialog shown for background work** +//============================================================================ +/// +/// \defgroup cpp_kodi_gui_dialogs_CExtendedProgress Dialog Extended Progress +/// \ingroup cpp_kodi_gui +/// @brief \cpp_class{ kodi::gui::dialogs::ExtendedProgress } +/// **Progress dialog shown for background work** +/// +/// The with \ref ExtendedProgress.h "#include " +/// given class are basically used to create Kodi's extended progress. +/// +/// +/// -------------------------------------------------------------------------- +/// +/// **Example:** +/// ~~~~~~~~~~~~~{.cpp} +/// #include +/// +/// kodi::gui::dialogs::CExtendedProgress *ext_progress = new kodi::gui::dialogs::CExtendedProgress("Test Extended progress"); +/// ext_progress->SetText("Test progress"); +/// for (unsigned int i = 0; i < 50; i += 10) +/// { +/// ext_progress->SetProgress(i, 100); +/// sleep(1); +/// } +/// +/// ext_progress->SetTitle("Test Extended progress - Second round"); +/// ext_progress->SetText("Test progress - Step 2"); +/// +/// for (unsigned int i = 50; i < 100; i += 10) +/// { +/// ext_progress->SetProgress(i, 100); +/// sleep(1); +/// } +/// delete ext_progress; +/// ~~~~~~~~~~~~~ +/// +class ATTRIBUTE_HIDDEN CExtendedProgress +{ +public: + //========================================================================== /// - /// The with \ref ExtendedProgress.h "#include " - /// given class are basically used to create Kodi's extended progress. + /// \ingroup cpp_kodi_gui_dialogs_CExtendedProgress + /// Construct a new dialog /// + /// @param[in] title Title string /// - /// -------------------------------------------------------------------------- + explicit CExtendedProgress(const std::string& title = "") + { + using namespace ::kodi::addon; + m_DialogHandle = CAddonBase::m_interface->toKodi->kodi_gui->dialogExtendedProgress->new_dialog( + CAddonBase::m_interface->toKodi->kodiBase, title.c_str()); + if (!m_DialogHandle) + kodi::Log(ADDON_LOG_FATAL, + "kodi::gui::CDialogExtendedProgress can't create window class from Kodi !!!"); + } + //-------------------------------------------------------------------------- + + //========================================================================== /// - /// **Example:** - /// ~~~~~~~~~~~~~{.cpp} - /// #include + /// \ingroup cpp_kodi_gui_dialogs_CExtendedProgress + /// Destructor /// - /// kodi::gui::dialogs::CExtendedProgress *ext_progress = new kodi::gui::dialogs::CExtendedProgress("Test Extended progress"); - /// ext_progress->SetText("Test progress"); - /// for (unsigned int i = 0; i < 50; i += 10) - /// { - /// ext_progress->SetProgress(i, 100); - /// sleep(1); - /// } + ~CExtendedProgress() + { + using namespace ::kodi::addon; + if (m_DialogHandle) + CAddonBase::m_interface->toKodi->kodi_gui->dialogExtendedProgress->delete_dialog( + CAddonBase::m_interface->toKodi->kodiBase, m_DialogHandle); + } + //-------------------------------------------------------------------------- + + //========================================================================== /// - /// ext_progress->SetTitle("Test Extended progress - Second round"); - /// ext_progress->SetText("Test progress - Step 2"); + /// \ingroup cpp_kodi_gui_dialogs_CExtendedProgress + /// @brief Get the used title /// - /// for (unsigned int i = 50; i < 100; i += 10) - /// { - /// ext_progress->SetProgress(i, 100); - /// sleep(1); - /// } - /// delete ext_progress; - /// ~~~~~~~~~~~~~ + /// @return Title string /// - class CExtendedProgress + std::string Title() const { - public: - //========================================================================== - /// - /// \ingroup cpp_kodi_gui_dialogs_CExtendedProgress - /// Construct a new dialog - /// - /// @param[in] title Title string - /// - explicit CExtendedProgress(const std::string& title = "") - { - using namespace ::kodi::addon; - m_DialogHandle = CAddonBase::m_interface->toKodi->kodi_gui->dialogExtendedProgress->new_dialog(CAddonBase::m_interface->toKodi->kodiBase, title.c_str()); - if (!m_DialogHandle) - kodi::Log(ADDON_LOG_FATAL, "kodi::gui::CDialogExtendedProgress can't create window class from Kodi !!!"); - } - //-------------------------------------------------------------------------- - - //========================================================================== - /// - /// \ingroup cpp_kodi_gui_dialogs_CExtendedProgress - /// Destructor - /// - ~CExtendedProgress() - { - using namespace ::kodi::addon; - if (m_DialogHandle) - CAddonBase::m_interface->toKodi->kodi_gui->dialogExtendedProgress->delete_dialog(CAddonBase::m_interface->toKodi->kodiBase, m_DialogHandle); - } - //-------------------------------------------------------------------------- - - //========================================================================== - /// - /// \ingroup cpp_kodi_gui_dialogs_CExtendedProgress - /// @brief Get the used title - /// - /// @return Title string - /// - std::string Title() const - { - using namespace ::kodi::addon; - std::string text; - char* strMsg = CAddonBase::m_interface->toKodi->kodi_gui->dialogExtendedProgress->get_title(CAddonBase::m_interface->toKodi->kodiBase, m_DialogHandle); - if (strMsg != nullptr) - { - if (std::strlen(strMsg)) - text = strMsg; - CAddonBase::m_interface->toKodi->free_string(CAddonBase::m_interface->toKodi->kodiBase, strMsg); - } - return text; - } - //-------------------------------------------------------------------------- - - //========================================================================== - /// - /// \ingroup cpp_kodi_gui_dialogs_CExtendedProgress - /// @brief To set the title of dialog - /// - /// @param[in] title Title string - /// - void SetTitle(const std::string& title) - { - using namespace ::kodi::addon; - CAddonBase::m_interface->toKodi->kodi_gui->dialogExtendedProgress->set_title(CAddonBase::m_interface->toKodi->kodiBase, m_DialogHandle, title.c_str()); - } - //-------------------------------------------------------------------------- - - //========================================================================== - /// - /// \ingroup cpp_kodi_gui_dialogs_CExtendedProgress - /// @brief Get the used text information string - /// - /// @return Text string - /// - std::string Text() const - { - using namespace ::kodi::addon; - std::string text; - char* strMsg = CAddonBase::m_interface->toKodi->kodi_gui->dialogExtendedProgress->get_text(CAddonBase::m_interface->toKodi->kodiBase, m_DialogHandle); - if (strMsg != nullptr) - { - if (std::strlen(strMsg)) - text = strMsg; - CAddonBase::m_interface->toKodi->free_string(CAddonBase::m_interface->toKodi->kodiBase, strMsg); - } - return text; - } - //-------------------------------------------------------------------------- - - //========================================================================== - /// - /// \ingroup cpp_kodi_gui_dialogs_CExtendedProgress - /// @brief To set the used text information string - /// - /// @param[in] text information text to set - /// - void SetText(const std::string& text) - { - using namespace ::kodi::addon; - CAddonBase::m_interface->toKodi->kodi_gui->dialogExtendedProgress->set_text(CAddonBase::m_interface->toKodi->kodiBase, m_DialogHandle, text.c_str()); - } - //-------------------------------------------------------------------------- - - //========================================================================== - /// - /// \ingroup cpp_kodi_gui_dialogs_CExtendedProgress - /// @brief To ask dialog is finished - /// - /// @return True if on end - /// - bool IsFinished() const - { - using namespace ::kodi::addon; - return CAddonBase::m_interface->toKodi->kodi_gui->dialogExtendedProgress->is_finished(CAddonBase::m_interface->toKodi->kodiBase, m_DialogHandle); - } - //-------------------------------------------------------------------------- - - //========================================================================== - /// - /// \ingroup cpp_kodi_gui_dialogs_CExtendedProgress - /// @brief Mark progress finished - /// - void MarkFinished() - { - using namespace ::kodi::addon; - CAddonBase::m_interface->toKodi->kodi_gui->dialogExtendedProgress->mark_finished(CAddonBase::m_interface->toKodi->kodiBase, m_DialogHandle); - } - //-------------------------------------------------------------------------- - - //========================================================================== - /// - /// \ingroup cpp_kodi_gui_dialogs_CExtendedProgress - /// @brief Get the current progress position as percent - /// - /// @return Position - /// - float Percentage() const - { - using namespace ::kodi::addon; - return CAddonBase::m_interface->toKodi->kodi_gui->dialogExtendedProgress->get_percentage(CAddonBase::m_interface->toKodi->kodiBase, m_DialogHandle); - } - //-------------------------------------------------------------------------- - - //========================================================================== - /// - /// \ingroup cpp_kodi_gui_dialogs_CExtendedProgress - /// @brief To set the current progress position as percent - /// - /// @param[in] percentage Position to use from 0.0 to 100.0 - /// - void SetPercentage(float percentage) + using namespace ::kodi::addon; + std::string text; + char* strMsg = CAddonBase::m_interface->toKodi->kodi_gui->dialogExtendedProgress->get_title( + CAddonBase::m_interface->toKodi->kodiBase, m_DialogHandle); + if (strMsg != nullptr) { - using namespace ::kodi::addon; - CAddonBase::m_interface->toKodi->kodi_gui->dialogExtendedProgress->set_percentage(CAddonBase::m_interface->toKodi->kodiBase, m_DialogHandle, percentage); + if (std::strlen(strMsg)) + text = strMsg; + CAddonBase::m_interface->toKodi->free_string(CAddonBase::m_interface->toKodi->kodiBase, + strMsg); } - //-------------------------------------------------------------------------- - - //========================================================================== - /// - /// \ingroup cpp_kodi_gui_dialogs_CExtendedProgress - /// @brief To set progress position with predefined places - /// - /// @param[in] currentItem Place position to use - /// @param[in] itemCount Amount of used places - /// - void SetProgress(int currentItem, int itemCount) + return text; + } + //-------------------------------------------------------------------------- + + //========================================================================== + /// + /// \ingroup cpp_kodi_gui_dialogs_CExtendedProgress + /// @brief To set the title of dialog + /// + /// @param[in] title Title string + /// + void SetTitle(const std::string& title) + { + using namespace ::kodi::addon; + CAddonBase::m_interface->toKodi->kodi_gui->dialogExtendedProgress->set_title( + CAddonBase::m_interface->toKodi->kodiBase, m_DialogHandle, title.c_str()); + } + //-------------------------------------------------------------------------- + + //========================================================================== + /// + /// \ingroup cpp_kodi_gui_dialogs_CExtendedProgress + /// @brief Get the used text information string + /// + /// @return Text string + /// + std::string Text() const + { + using namespace ::kodi::addon; + std::string text; + char* strMsg = CAddonBase::m_interface->toKodi->kodi_gui->dialogExtendedProgress->get_text( + CAddonBase::m_interface->toKodi->kodiBase, m_DialogHandle); + if (strMsg != nullptr) { - using namespace ::kodi::addon; - CAddonBase::m_interface->toKodi->kodi_gui->dialogExtendedProgress->set_progress(CAddonBase::m_interface->toKodi->kodiBase, m_DialogHandle, currentItem, itemCount); + if (std::strlen(strMsg)) + text = strMsg; + CAddonBase::m_interface->toKodi->free_string(CAddonBase::m_interface->toKodi->kodiBase, + strMsg); } - //-------------------------------------------------------------------------- + return text; + } + //-------------------------------------------------------------------------- + + //========================================================================== + /// + /// \ingroup cpp_kodi_gui_dialogs_CExtendedProgress + /// @brief To set the used text information string + /// + /// @param[in] text information text to set + /// + void SetText(const std::string& text) + { + using namespace ::kodi::addon; + CAddonBase::m_interface->toKodi->kodi_gui->dialogExtendedProgress->set_text( + CAddonBase::m_interface->toKodi->kodiBase, m_DialogHandle, text.c_str()); + } + //-------------------------------------------------------------------------- + + //========================================================================== + /// + /// \ingroup cpp_kodi_gui_dialogs_CExtendedProgress + /// @brief To ask dialog is finished + /// + /// @return True if on end + /// + bool IsFinished() const + { + using namespace ::kodi::addon; + return CAddonBase::m_interface->toKodi->kodi_gui->dialogExtendedProgress->is_finished( + CAddonBase::m_interface->toKodi->kodiBase, m_DialogHandle); + } + //-------------------------------------------------------------------------- + + //========================================================================== + /// + /// \ingroup cpp_kodi_gui_dialogs_CExtendedProgress + /// @brief Mark progress finished + /// + void MarkFinished() + { + using namespace ::kodi::addon; + CAddonBase::m_interface->toKodi->kodi_gui->dialogExtendedProgress->mark_finished( + CAddonBase::m_interface->toKodi->kodiBase, m_DialogHandle); + } + //-------------------------------------------------------------------------- + + //========================================================================== + /// + /// \ingroup cpp_kodi_gui_dialogs_CExtendedProgress + /// @brief Get the current progress position as percent + /// + /// @return Position + /// + float Percentage() const + { + using namespace ::kodi::addon; + return CAddonBase::m_interface->toKodi->kodi_gui->dialogExtendedProgress->get_percentage( + CAddonBase::m_interface->toKodi->kodiBase, m_DialogHandle); + } + //-------------------------------------------------------------------------- - private: - void* m_DialogHandle; - }; + //========================================================================== + /// + /// \ingroup cpp_kodi_gui_dialogs_CExtendedProgress + /// @brief To set the current progress position as percent + /// + /// @param[in] percentage Position to use from 0.0 to 100.0 + /// + void SetPercentage(float percentage) + { + using namespace ::kodi::addon; + CAddonBase::m_interface->toKodi->kodi_gui->dialogExtendedProgress->set_percentage( + CAddonBase::m_interface->toKodi->kodiBase, m_DialogHandle, percentage); + } + //-------------------------------------------------------------------------- + + //========================================================================== + /// + /// \ingroup cpp_kodi_gui_dialogs_CExtendedProgress + /// @brief To set progress position with predefined places + /// + /// @param[in] currentItem Place position to use + /// @param[in] itemCount Amount of used places + /// + void SetProgress(int currentItem, int itemCount) + { + using namespace ::kodi::addon; + CAddonBase::m_interface->toKodi->kodi_gui->dialogExtendedProgress->set_progress( + CAddonBase::m_interface->toKodi->kodiBase, m_DialogHandle, currentItem, itemCount); + } + //-------------------------------------------------------------------------- + +private: + void* m_DialogHandle; +}; } /* namespace dialogs */ } /* namespace gui */ diff --git a/xbmc/addons/kodi-addon-dev-kit/include/kodi/gui/dialogs/FileBrowser.h b/xbmc/addons/kodi-addon-dev-kit/include/kodi/gui/dialogs/FileBrowser.h index bb1065d..90da063 100644 --- a/xbmc/addons/kodi-addon-dev-kit/include/kodi/gui/dialogs/FileBrowser.h +++ b/xbmc/addons/kodi-addon-dev-kit/include/kodi/gui/dialogs/FileBrowser.h @@ -71,17 +71,22 @@ namespace dialogs /// fprintf(stderr, "Selected directory is : %s and was %s\n", directory.c_str(), ret ? "OK" : "Canceled"); /// ~~~~~~~~~~~~~ /// - inline bool ShowAndGetDirectory(const std::string& shares, const std::string& heading, std::string& path, bool writeOnly = false) + inline bool ATTRIBUTE_HIDDEN ShowAndGetDirectory(const std::string& shares, + const std::string& heading, + std::string& path, + bool writeOnly = false) { using namespace ::kodi::addon; char* retString = nullptr; - bool ret = CAddonBase::m_interface->toKodi->kodi_gui->dialogFileBrowser->show_and_get_directory(CAddonBase::m_interface->toKodi->kodiBase, - shares.c_str(), heading.c_str(), path.c_str(), &retString, writeOnly); + bool ret = CAddonBase::m_interface->toKodi->kodi_gui->dialogFileBrowser->show_and_get_directory( + CAddonBase::m_interface->toKodi->kodiBase, shares.c_str(), heading.c_str(), path.c_str(), + &retString, writeOnly); if (retString != nullptr) { if (std::strlen(retString)) path = retString; - CAddonBase::m_interface->toKodi->free_string(CAddonBase::m_interface->toKodi->kodiBase, retString); + CAddonBase::m_interface->toKodi->free_string(CAddonBase::m_interface->toKodi->kodiBase, + retString); } return ret; } @@ -104,8 +109,12 @@ namespace dialogs /// handled as directories. /// @return False if selection becomes canceled. /// - inline bool ShowAndGetFile(const std::string& shares, const std::string& mask, const std::string& heading, - std::string& path, bool useThumbs = false, bool useFileDirectories = false) + inline bool ATTRIBUTE_HIDDEN ShowAndGetFile(const std::string& shares, + const std::string& mask, + const std::string& heading, + std::string& path, + bool useThumbs = false, + bool useFileDirectories = false) { using namespace ::kodi::addon; char* retString = nullptr; @@ -141,8 +150,13 @@ namespace dialogs /// @param[in] singleList /// @return False if selection becomes canceled. /// - inline bool ShowAndGetFileFromDir(const std::string& directory, const std::string& mask, const std::string& heading, std::string& path, - bool useThumbs = false, bool useFileDirectories = false, bool singleList = false) + inline bool ATTRIBUTE_HIDDEN ShowAndGetFileFromDir(const std::string& directory, + const std::string& mask, + const std::string& heading, + std::string& path, + bool useThumbs = false, + bool useFileDirectories = false, + bool singleList = false) { using namespace ::kodi::addon; char* retString = nullptr; @@ -176,8 +190,12 @@ namespace dialogs /// handled as directories. /// @return False if selection becomes canceled. /// - inline bool ShowAndGetFileList(const std::string& shares, const std::string& mask, const std::string& heading, - std::vector& fileList, bool useThumbs = false, bool useFileDirectories = false) + inline bool ATTRIBUTE_HIDDEN ShowAndGetFileList(const std::string& shares, + const std::string& mask, + const std::string& heading, + std::vector& fileList, + bool useThumbs = false, + bool useFileDirectories = false) { using namespace ::kodi::addon; char** list = nullptr; @@ -188,7 +206,7 @@ namespace dialogs if (ret) { for (unsigned int i = 0; i < listSize; ++i) - fileList.push_back(list[i]); + fileList.emplace_back(list[i]); CAddonBase::m_interface->toKodi->kodi_gui->dialogFileBrowser->clear_file_list(CAddonBase::m_interface->toKodi->kodiBase, &list, listSize); } return ret; @@ -208,7 +226,10 @@ namespace dialogs /// @param[in] type /// @return False if selection becomes canceled. /// - inline bool ShowAndGetSource(std::string& path, bool allowNetworkShares, const std::string& additionalShare = "", const std::string& type = "") + inline bool ATTRIBUTE_HIDDEN ShowAndGetSource(std::string& path, + bool allowNetworkShares, + const std::string& additionalShare = "", + const std::string& type = "") { using namespace ::kodi::addon; char* retString = nullptr; @@ -235,7 +256,9 @@ namespace dialogs /// @param[out] path Return value about selected image /// @return False if selection becomes canceled. /// - inline bool ShowAndGetImage(const std::string& shares, const std::string& heading, std::string& path) + inline bool ATTRIBUTE_HIDDEN ShowAndGetImage(const std::string& shares, + const std::string& heading, + std::string& path) { using namespace ::kodi::addon; char* retString = nullptr; @@ -262,7 +285,9 @@ namespace dialogs /// @param[out] file_list Return value about selected images /// @return False if selection becomes canceled. /// - inline bool ShowAndGetImageList(const std::string& shares, const std::string& heading, std::vector& file_list) + inline bool ATTRIBUTE_HIDDEN ShowAndGetImageList(const std::string& shares, + const std::string& heading, + std::vector& file_list) { using namespace ::kodi::addon; char** list = nullptr; @@ -272,7 +297,7 @@ namespace dialogs if (ret) { for (unsigned int i = 0; i < listSize; ++i) - file_list.push_back(list[i]); + file_list.emplace_back(list[i]); CAddonBase::m_interface->toKodi->kodi_gui->dialogFileBrowser->clear_file_list(CAddonBase::m_interface->toKodi->kodiBase, &list, listSize); } return ret; diff --git a/xbmc/addons/kodi-addon-dev-kit/include/kodi/gui/dialogs/Keyboard.h b/xbmc/addons/kodi-addon-dev-kit/include/kodi/gui/dialogs/Keyboard.h index 76284d8..843bdfa 100644 --- a/xbmc/addons/kodi-addon-dev-kit/include/kodi/gui/dialogs/Keyboard.h +++ b/xbmc/addons/kodi-addon-dev-kit/include/kodi/gui/dialogs/Keyboard.h @@ -76,17 +76,23 @@ namespace dialogs /// text.c_str(), bRet ? "OK" : "Canceled"); /// ~~~~~~~~~~~~~ /// - inline bool ShowAndGetInput(std::string& text, const std::string& heading, bool allowEmptyResult, bool hiddenInput = false, unsigned int autoCloseMs = 0) + inline bool ATTRIBUTE_HIDDEN ShowAndGetInput(std::string& text, + const std::string& heading, + bool allowEmptyResult, + bool hiddenInput = false, + unsigned int autoCloseMs = 0) { using namespace ::kodi::addon; char* retString = nullptr; - bool ret = CAddonBase::m_interface->toKodi->kodi_gui->dialogKeyboard->show_and_get_input_with_head(CAddonBase::m_interface->toKodi->kodiBase, - text.c_str(), &retString, heading.c_str(), allowEmptyResult, - hiddenInput, autoCloseMs); + bool ret = + CAddonBase::m_interface->toKodi->kodi_gui->dialogKeyboard->show_and_get_input_with_head( + CAddonBase::m_interface->toKodi->kodiBase, text.c_str(), &retString, heading.c_str(), + allowEmptyResult, hiddenInput, autoCloseMs); if (retString != nullptr) { text = retString; - CAddonBase::m_interface->toKodi->free_string(CAddonBase::m_interface->toKodi->kodiBase, retString); + CAddonBase::m_interface->toKodi->free_string(CAddonBase::m_interface->toKodi->kodiBase, + retString); } return ret; } @@ -108,7 +114,9 @@ namespace dialogs /// false if unsuccessful display, no user /// input, or canceled editing. /// - inline bool ShowAndGetInput(std::string& text, bool allowEmptyResult, unsigned int autoCloseMs = 0) + inline bool ATTRIBUTE_HIDDEN ShowAndGetInput(std::string& text, + bool allowEmptyResult, + unsigned int autoCloseMs = 0) { using namespace ::kodi::addon; char* retString = nullptr; @@ -140,7 +148,10 @@ namespace dialogs /// false if unsuccessful display, no user /// input, or canceled editing. /// - inline bool ShowAndGetNewPassword(std::string& newPassword, const std::string& heading, bool allowEmptyResult, unsigned int autoCloseMs = 0) + inline bool ATTRIBUTE_HIDDEN ShowAndGetNewPassword(std::string& newPassword, + const std::string& heading, + bool allowEmptyResult, + unsigned int autoCloseMs = 0) { using namespace ::kodi::addon; char* retString = nullptr; @@ -170,7 +181,8 @@ namespace dialogs /// false if unsuccessful display, no user /// input, or canceled editing. /// - inline bool ShowAndGetNewPassword(std::string& newPassword, unsigned int autoCloseMs = 0) + inline bool ATTRIBUTE_HIDDEN ShowAndGetNewPassword(std::string& newPassword, + unsigned int autoCloseMs = 0) { using namespace ::kodi::addon; char* retString = nullptr; @@ -251,7 +263,10 @@ namespace dialogs /// } /// ~~~~~~~~~~~~~ /// - inline bool ShowAndVerifyNewPassword(std::string& newPassword, const std::string& heading, bool allowEmptyResult, unsigned int autoCloseMs = 0) + inline bool ATTRIBUTE_HIDDEN ShowAndVerifyNewPassword(std::string& newPassword, + const std::string& heading, + bool allowEmptyResult, + unsigned int autoCloseMs = 0) { using namespace ::kodi::addon; char* retString = nullptr; @@ -281,7 +296,8 @@ namespace dialogs /// false if unsuccessful display, no user /// input, or canceled editing. /// - inline bool ShowAndVerifyNewPassword(std::string& newPassword, unsigned int autoCloseMs = 0) + inline bool ATTRIBUTE_HIDDEN ShowAndVerifyNewPassword(std::string& newPassword, + unsigned int autoCloseMs = 0) { using namespace ::kodi::addon; char* retString = nullptr; @@ -313,7 +329,10 @@ namespace dialogs /// unsuccessful input. -1 if no user input or /// canceled editing. /// - inline int ShowAndVerifyPassword(std::string& password, const std::string& heading, int retries, unsigned int autoCloseMs = 0) + inline int ATTRIBUTE_HIDDEN ShowAndVerifyPassword(std::string& password, + const std::string& heading, + int retries, + unsigned int autoCloseMs = 0) { using namespace ::kodi::addon; char* retString = nullptr; @@ -347,7 +366,9 @@ namespace dialogs /// false if unsuccessful display, no user /// input, or canceled editing. /// - inline bool ShowAndGetFilter(std::string& text, bool searching, unsigned int autoCloseMs = 0) + inline bool ATTRIBUTE_HIDDEN ShowAndGetFilter(std::string& text, + bool searching, + unsigned int autoCloseMs = 0) { using namespace ::kodi::addon; char* retString = nullptr; @@ -372,7 +393,8 @@ namespace dialogs /// @return true if successful done, false if /// unsuccessful or keyboard not present. /// - inline bool SendTextToActiveKeyboard(const std::string& text, bool closeKeyboard = false) + inline bool ATTRIBUTE_HIDDEN SendTextToActiveKeyboard(const std::string& text, + bool closeKeyboard = false) { using namespace ::kodi::addon; return CAddonBase::m_interface->toKodi->kodi_gui->dialogKeyboard->send_text_to_active_keyboard(CAddonBase::m_interface->toKodi->kodiBase, @@ -387,7 +409,7 @@ namespace dialogs /// /// @return true if keyboard present, false if not present /// - inline bool IsKeyboardActivated() + inline bool ATTRIBUTE_HIDDEN IsKeyboardActivated() { using namespace ::kodi::addon; return CAddonBase::m_interface->toKodi->kodi_gui->dialogKeyboard->is_keyboard_activated(CAddonBase::m_interface->toKodi->kodiBase); diff --git a/xbmc/addons/kodi-addon-dev-kit/include/kodi/gui/dialogs/Numeric.h b/xbmc/addons/kodi-addon-dev-kit/include/kodi/gui/dialogs/Numeric.h index 4a8eccb..bff7683 100644 --- a/xbmc/addons/kodi-addon-dev-kit/include/kodi/gui/dialogs/Numeric.h +++ b/xbmc/addons/kodi-addon-dev-kit/include/kodi/gui/dialogs/Numeric.h @@ -50,11 +50,13 @@ namespace dialogs /// false if unsuccessful display, no user /// input, or canceled editing. /// - inline bool ShowAndVerifyNewPassword(std::string& newPassword) + inline bool ATTRIBUTE_HIDDEN ShowAndVerifyNewPassword(std::string& newPassword) { using namespace ::kodi::addon; char* pw = nullptr; - bool ret = CAddonBase::m_interface->toKodi->kodi_gui->dialogNumeric->show_and_verify_new_password(CAddonBase::m_interface->toKodi->kodiBase, &pw); + bool ret = + CAddonBase::m_interface->toKodi->kodi_gui->dialogNumeric->show_and_verify_new_password( + CAddonBase::m_interface->toKodi->kodiBase, &pw); if (pw != nullptr) { newPassword = pw; @@ -131,7 +133,9 @@ namespace dialogs /// } /// ~~~~~~~~~~~~~ /// - inline int ShowAndVerifyPassword(const std::string& password, const std::string& heading, int retries) + inline int ATTRIBUTE_HIDDEN ShowAndVerifyPassword(const std::string& password, + const std::string& heading, + int retries) { using namespace ::kodi::addon; return CAddonBase::m_interface->toKodi->kodi_gui->dialogNumeric->show_and_verify_password(CAddonBase::m_interface->toKodi->kodiBase, @@ -152,7 +156,9 @@ namespace dialogs /// input. false if unsuccessful display, no /// user input, or canceled editing. /// - inline bool ShowAndVerifyInput(std::string& toVerify, const std::string& heading, bool verifyInput) + inline bool ATTRIBUTE_HIDDEN ShowAndVerifyInput(std::string& toVerify, + const std::string& heading, + bool verifyInput) { using namespace ::kodi::addon; char* retString = nullptr; @@ -199,7 +205,7 @@ namespace dialogs /// printf("Selected time it's %s and was on Dialog %s\n", buffer, bRet ? "OK" : "Canceled"); /// ~~~~~~~~~~~~~ /// - inline bool ShowAndGetTime(tm& time, const std::string& heading) + inline bool ATTRIBUTE_HIDDEN ShowAndGetTime(tm& time, const std::string& heading) { using namespace ::kodi::addon; return CAddonBase::m_interface->toKodi->kodi_gui->dialogNumeric->show_and_get_time(CAddonBase::m_interface->toKodi->kodiBase, &time, heading.c_str()); @@ -238,7 +244,7 @@ namespace dialogs /// printf("Selected date it's %s and was on Dialog %s\n", buffer, bRet ? "OK" : "Canceled"); /// ~~~~~~~~~~~~~ /// - inline bool ShowAndGetDate(tm& date, const std::string& heading) + inline bool ATTRIBUTE_HIDDEN ShowAndGetDate(tm& date, const std::string& heading) { using namespace ::kodi::addon; return CAddonBase::m_interface->toKodi->kodi_gui->dialogNumeric->show_and_get_date(CAddonBase::m_interface->toKodi->kodiBase, &date, heading.c_str()); @@ -258,7 +264,8 @@ namespace dialogs /// display, no user input, or canceled /// editing. /// - inline bool ShowAndGetIPAddress(std::string& ipAddress, const std::string& heading) + inline bool ATTRIBUTE_HIDDEN ShowAndGetIPAddress(std::string& ipAddress, + const std::string& heading) { using namespace ::kodi::addon; char* retString = nullptr; @@ -304,7 +311,9 @@ namespace dialogs /// strtoull(number.c_str(), nullptr, 0), bRet ? "OK" : "Canceled"); /// ~~~~~~~~~~~~~ /// - inline bool ShowAndGetNumber(std::string& input, const std::string& heading, unsigned int autoCloseTimeoutMs = 0) + inline bool ATTRIBUTE_HIDDEN ShowAndGetNumber(std::string& input, + const std::string& heading, + unsigned int autoCloseTimeoutMs = 0) { using namespace ::kodi::addon; char* retString = nullptr; @@ -331,7 +340,7 @@ namespace dialogs /// if unsuccessful display, no user input, or /// canceled editing. /// - inline bool ShowAndGetSeconds(std::string& time, const std::string& heading) + inline bool ATTRIBUTE_HIDDEN ShowAndGetSeconds(std::string& time, const std::string& heading) { using namespace ::kodi::addon; char* retString = nullptr; diff --git a/xbmc/addons/kodi-addon-dev-kit/include/kodi/gui/dialogs/OK.h b/xbmc/addons/kodi-addon-dev-kit/include/kodi/gui/dialogs/OK.h index a47880f..b9a3a0d 100644 --- a/xbmc/addons/kodi-addon-dev-kit/include/kodi/gui/dialogs/OK.h +++ b/xbmc/addons/kodi-addon-dev-kit/include/kodi/gui/dialogs/OK.h @@ -52,11 +52,11 @@ namespace dialogs /// kodi::gui::dialogs::OK::ShowAndGetInput("Test dialog", "Hello World!\nI'm a call from add-on\n :) :D"); /// ~~~~~~~~~~~~~ /// - inline void ShowAndGetInput(const std::string& heading, const std::string& text) + inline void ATTRIBUTE_HIDDEN ShowAndGetInput(const std::string& heading, const std::string& text) { using namespace ::kodi::addon; - CAddonBase::m_interface->toKodi->kodi_gui->dialogOK->show_and_get_input_single_text(CAddonBase::m_interface->toKodi->kodiBase, - heading.c_str(), text.c_str()); + CAddonBase::m_interface->toKodi->kodi_gui->dialogOK->show_and_get_input_single_text( + CAddonBase::m_interface->toKodi->kodiBase, heading.c_str(), text.c_str()); } //-------------------------------------------------------------------------- @@ -80,7 +80,10 @@ namespace dialogs /// kodi::gui::dialogs::OK::ShowAndGetInput("Test dialog", "Hello World!", "I'm a call from add-on", " :) :D"); /// ~~~~~~~~~~~~~ /// - inline void ShowAndGetInput(const std::string& heading, const std::string& line0, const std::string& line1, const std::string& line2) + inline void ATTRIBUTE_HIDDEN ShowAndGetInput(const std::string& heading, + const std::string& line0, + const std::string& line1, + const std::string& line2) { using namespace ::kodi::addon; CAddonBase::m_interface->toKodi->kodi_gui->dialogOK->show_and_get_input_line_text(CAddonBase::m_interface->toKodi->kodiBase, diff --git a/xbmc/addons/kodi-addon-dev-kit/include/kodi/gui/dialogs/Progress.h b/xbmc/addons/kodi-addon-dev-kit/include/kodi/gui/dialogs/Progress.h index bbaa98d..b1f8cc5 100644 --- a/xbmc/addons/kodi-addon-dev-kit/include/kodi/gui/dialogs/Progress.h +++ b/xbmc/addons/kodi-addon-dev-kit/include/kodi/gui/dialogs/Progress.h @@ -18,223 +18,237 @@ namespace gui namespace dialogs { - //============================================================================ - /// - /// \defgroup cpp_kodi_gui_dialogs_CProgress Dialog Progress - /// \ingroup cpp_kodi_gui - /// @brief \cpp_class{ kodi::gui::dialogs::CProgress } - /// **Progress dialog shown in center** - /// - /// The with \ref DialogProgress.h "#include " - /// given class are basically used to create Kodi's progress dialog with named - /// text fields. - /// - /// **Example:** - /// ~~~~~~~~~~~~~{.cpp} - /// #include - /// - /// kodi::gui::dialogs::CProgress *progress = new kodi::gui::dialogs::CProgress; - /// progress->SetHeading("Test progress"); - /// progress->SetLine(1, "line 1"); - /// progress->SetLine(2, "line 2"); - /// progress->SetLine(3, "line 3"); - /// progress->SetCanCancel(true); - /// progress->ShowProgressBar(true); - /// progress->Open(); - /// for (unsigned int i = 0; i < 100; i += 10) - /// { - /// progress->SetPercentage(i); - /// sleep(1); - /// } - /// delete progress; - /// ~~~~~~~~~~~~~ - /// - class CProgress +//============================================================================ +/// +/// \defgroup cpp_kodi_gui_dialogs_CProgress Dialog Progress +/// \ingroup cpp_kodi_gui +/// @brief \cpp_class{ kodi::gui::dialogs::CProgress } +/// **Progress dialog shown in center** +/// +/// The with \ref DialogProgress.h "#include " +/// given class are basically used to create Kodi's progress dialog with named +/// text fields. +/// +/// **Example:** +/// ~~~~~~~~~~~~~{.cpp} +/// #include +/// +/// kodi::gui::dialogs::CProgress *progress = new kodi::gui::dialogs::CProgress; +/// progress->SetHeading("Test progress"); +/// progress->SetLine(1, "line 1"); +/// progress->SetLine(2, "line 2"); +/// progress->SetLine(3, "line 3"); +/// progress->SetCanCancel(true); +/// progress->ShowProgressBar(true); +/// progress->Open(); +/// for (unsigned int i = 0; i < 100; i += 10) +/// { +/// progress->SetPercentage(i); +/// sleep(1); +/// } +/// delete progress; +/// ~~~~~~~~~~~~~ +/// +class ATTRIBUTE_HIDDEN CProgress +{ +public: + //========================================================================== + /// + /// \ingroup cpp_kodi_gui_dialogs_CProgress + /// @brief Construct a new dialog + /// + CProgress() + { + using namespace ::kodi::addon; + m_DialogHandle = CAddonBase::m_interface->toKodi->kodi_gui->dialogProgress->new_dialog( + CAddonBase::m_interface->toKodi->kodiBase); + if (!m_DialogHandle) + kodi::Log(ADDON_LOG_FATAL, + "kodi::gui::dialogs::CProgress can't create window class from Kodi !!!"); + } + //-------------------------------------------------------------------------- + + //========================================================================== + /// + /// \ingroup cpp_kodi_gui_dialogs_CProgress + /// @brief Destructor + /// + ~CProgress() + { + using namespace ::kodi::addon; + if (m_DialogHandle) + CAddonBase::m_interface->toKodi->kodi_gui->dialogProgress->delete_dialog( + CAddonBase::m_interface->toKodi->kodiBase, m_DialogHandle); + } + //-------------------------------------------------------------------------- + + //========================================================================== + /// + /// \ingroup cpp_kodi_gui_dialogs_CProgress + /// @brief To open the dialog + /// + void Open() + { + using namespace ::kodi::addon; + CAddonBase::m_interface->toKodi->kodi_gui->dialogProgress->open( + CAddonBase::m_interface->toKodi->kodiBase, m_DialogHandle); + } + //-------------------------------------------------------------------------- + + //========================================================================== + /// + /// \ingroup cpp_kodi_gui_dialogs_CProgress + /// @brief Set the heading title of dialog + /// + /// @param[in] heading Title string to use + /// + void SetHeading(const std::string& heading) + { + using namespace ::kodi::addon; + CAddonBase::m_interface->toKodi->kodi_gui->dialogProgress->set_heading( + CAddonBase::m_interface->toKodi->kodiBase, m_DialogHandle, heading.c_str()); + } + //-------------------------------------------------------------------------- + + //========================================================================== + /// + /// \ingroup cpp_kodi_gui_dialogs_CProgress + /// @brief To set the line text field on dialog from 0 - 2 + /// + /// @param[in] iLine Line number + /// @param[in] line Text string + /// + void SetLine(unsigned int iLine, const std::string& line) + { + using namespace ::kodi::addon; + CAddonBase::m_interface->toKodi->kodi_gui->dialogProgress->set_line( + CAddonBase::m_interface->toKodi->kodiBase, m_DialogHandle, iLine, line.c_str()); + } + //-------------------------------------------------------------------------- + + //========================================================================== + /// + /// \ingroup cpp_kodi_gui_dialogs_CProgress + /// @brief To enable and show cancel button on dialog + /// + /// @param[in] canCancel if true becomes it shown + /// + void SetCanCancel(bool canCancel) + { + using namespace ::kodi::addon; + CAddonBase::m_interface->toKodi->kodi_gui->dialogProgress->set_can_cancel( + CAddonBase::m_interface->toKodi->kodiBase, m_DialogHandle, canCancel); + } + //-------------------------------------------------------------------------- + + //========================================================================== + /// + /// \ingroup cpp_kodi_gui_dialogs_CProgress + /// @brief To check dialog for clicked cancel button + /// + /// @return True if canceled + /// + bool IsCanceled() const + { + using namespace ::kodi::addon; + return CAddonBase::m_interface->toKodi->kodi_gui->dialogProgress->is_canceled( + CAddonBase::m_interface->toKodi->kodiBase, m_DialogHandle); + } + //-------------------------------------------------------------------------- + + //========================================================================== + /// + /// \ingroup cpp_kodi_gui_dialogs_CProgress + /// @brief Get the current progress position as percent + /// + /// @param[in] percentage Position to use from 0 to 100 + /// + void SetPercentage(int percentage) + { + using namespace ::kodi::addon; + CAddonBase::m_interface->toKodi->kodi_gui->dialogProgress->set_percentage( + CAddonBase::m_interface->toKodi->kodiBase, m_DialogHandle, percentage); + } + //-------------------------------------------------------------------------- + + //========================================================================== + /// + /// \ingroup cpp_kodi_gui_dialogs_CProgress + /// @brief To set the current progress position as percent + /// + /// @return Current Position used from 0 to 100 + /// + int GetPercentage() const + { + using namespace ::kodi::addon; + return CAddonBase::m_interface->toKodi->kodi_gui->dialogProgress->get_percentage( + CAddonBase::m_interface->toKodi->kodiBase, m_DialogHandle); + } + //-------------------------------------------------------------------------- + + //========================================================================== + /// + /// \ingroup cpp_kodi_gui_dialogs_CProgress + /// @brief To show or hide progress bar dialog + /// + /// @param[in] onOff If true becomes it shown + /// + void ShowProgressBar(bool onOff) + { + using namespace ::kodi::addon; + CAddonBase::m_interface->toKodi->kodi_gui->dialogProgress->show_progress_bar( + CAddonBase::m_interface->toKodi->kodiBase, m_DialogHandle, onOff); + } + //-------------------------------------------------------------------------- + + //========================================================================== + /// + /// \ingroup cpp_kodi_gui_dialogs_CProgress + /// @brief Set the maximum position of progress, needed if `SetProgressAdvance(...)` is used + /// + /// @param[in] max Biggest usable position to use + /// + void SetProgressMax(int max) + { + using namespace ::kodi::addon; + CAddonBase::m_interface->toKodi->kodi_gui->dialogProgress->set_progress_max( + CAddonBase::m_interface->toKodi->kodiBase, m_DialogHandle, max); + } + //-------------------------------------------------------------------------- + + //========================================================================== + /// + /// \ingroup cpp_kodi_gui_dialogs_CProgress + /// @brief To increase progress bar by defined step size until reach of maximum position + /// + /// @param[in] steps Step size to increase, default is 1 + /// + void SetProgressAdvance(int steps = 1) + { + using namespace ::kodi::addon; + CAddonBase::m_interface->toKodi->kodi_gui->dialogProgress->set_progress_advance( + CAddonBase::m_interface->toKodi->kodiBase, m_DialogHandle, steps); + } + //-------------------------------------------------------------------------- + + //========================================================================== + /// + /// \ingroup cpp_kodi_gui_dialogs_CProgress + /// @brief To check progress was canceled on work + /// + /// @return True if aborted + /// + bool Abort() { - public: - //========================================================================== - /// - /// \ingroup cpp_kodi_gui_dialogs_CProgress - /// @brief Construct a new dialog - /// - CProgress() - { - using namespace ::kodi::addon; - m_DialogHandle = CAddonBase::m_interface->toKodi->kodi_gui->dialogProgress->new_dialog(CAddonBase::m_interface->toKodi->kodiBase); - if (!m_DialogHandle) - kodi::Log(ADDON_LOG_FATAL, "kodi::gui::dialogs::CProgress can't create window class from Kodi !!!"); - } - //-------------------------------------------------------------------------- - - //========================================================================== - /// - /// \ingroup cpp_kodi_gui_dialogs_CProgress - /// @brief Destructor - /// - ~CProgress() - { - using namespace ::kodi::addon; - if (m_DialogHandle) - CAddonBase::m_interface->toKodi->kodi_gui->dialogProgress->delete_dialog(CAddonBase::m_interface->toKodi->kodiBase, m_DialogHandle); - } - //-------------------------------------------------------------------------- - - //========================================================================== - /// - /// \ingroup cpp_kodi_gui_dialogs_CProgress - /// @brief To open the dialog - /// - void Open() - { - using namespace ::kodi::addon; - CAddonBase::m_interface->toKodi->kodi_gui->dialogProgress->open(CAddonBase::m_interface->toKodi->kodiBase, m_DialogHandle); - } - //-------------------------------------------------------------------------- - - //========================================================================== - /// - /// \ingroup cpp_kodi_gui_dialogs_CProgress - /// @brief Set the heading title of dialog - /// - /// @param[in] heading Title string to use - /// - void SetHeading(const std::string& heading) - { - using namespace ::kodi::addon; - CAddonBase::m_interface->toKodi->kodi_gui->dialogProgress->set_heading(CAddonBase::m_interface->toKodi->kodiBase, m_DialogHandle, heading.c_str()); - } - //-------------------------------------------------------------------------- - - //========================================================================== - /// - /// \ingroup cpp_kodi_gui_dialogs_CProgress - /// @brief To set the line text field on dialog from 0 - 2 - /// - /// @param[in] iLine Line number - /// @param[in] line Text string - /// - void SetLine(unsigned int iLine, const std::string& line) - { - using namespace ::kodi::addon; - CAddonBase::m_interface->toKodi->kodi_gui->dialogProgress->set_line(CAddonBase::m_interface->toKodi->kodiBase, m_DialogHandle, iLine, line.c_str()); - } - //-------------------------------------------------------------------------- - - //========================================================================== - /// - /// \ingroup cpp_kodi_gui_dialogs_CProgress - /// @brief To enable and show cancel button on dialog - /// - /// @param[in] canCancel if true becomes it shown - /// - void SetCanCancel(bool canCancel) - { - using namespace ::kodi::addon; - CAddonBase::m_interface->toKodi->kodi_gui->dialogProgress->set_can_cancel(CAddonBase::m_interface->toKodi->kodiBase, m_DialogHandle, canCancel); - } - //-------------------------------------------------------------------------- - - //========================================================================== - /// - /// \ingroup cpp_kodi_gui_dialogs_CProgress - /// @brief To check dialog for clicked cancel button - /// - /// @return True if canceled - /// - bool IsCanceled() const - { - using namespace ::kodi::addon; - return CAddonBase::m_interface->toKodi->kodi_gui->dialogProgress->is_canceled(CAddonBase::m_interface->toKodi->kodiBase, m_DialogHandle); - } - //-------------------------------------------------------------------------- - - //========================================================================== - /// - /// \ingroup cpp_kodi_gui_dialogs_CProgress - /// @brief Get the current progress position as percent - /// - /// @param[in] percentage Position to use from 0 to 100 - /// - void SetPercentage(int percentage) - { - using namespace ::kodi::addon; - CAddonBase::m_interface->toKodi->kodi_gui->dialogProgress->set_percentage(CAddonBase::m_interface->toKodi->kodiBase, m_DialogHandle, percentage); - } - //-------------------------------------------------------------------------- - - //========================================================================== - /// - /// \ingroup cpp_kodi_gui_dialogs_CProgress - /// @brief To set the current progress position as percent - /// - /// @return Current Position used from 0 to 100 - /// - int GetPercentage() const - { - using namespace ::kodi::addon; - return CAddonBase::m_interface->toKodi->kodi_gui->dialogProgress->get_percentage(CAddonBase::m_interface->toKodi->kodiBase, m_DialogHandle); - } - //-------------------------------------------------------------------------- - - //========================================================================== - /// - /// \ingroup cpp_kodi_gui_dialogs_CProgress - /// @brief To show or hide progress bar dialog - /// - /// @param[in] onOff If true becomes it shown - /// - void ShowProgressBar(bool onOff) - { - using namespace ::kodi::addon; - CAddonBase::m_interface->toKodi->kodi_gui->dialogProgress->show_progress_bar(CAddonBase::m_interface->toKodi->kodiBase, m_DialogHandle, onOff); - } - //-------------------------------------------------------------------------- - - //========================================================================== - /// - /// \ingroup cpp_kodi_gui_dialogs_CProgress - /// @brief Set the maximum position of progress, needed if `SetProgressAdvance(...)` is used - /// - /// @param[in] max Biggest usable position to use - /// - void SetProgressMax(int max) - { - using namespace ::kodi::addon; - CAddonBase::m_interface->toKodi->kodi_gui->dialogProgress->set_progress_max(CAddonBase::m_interface->toKodi->kodiBase, m_DialogHandle, max); - } - //-------------------------------------------------------------------------- - - //========================================================================== - /// - /// \ingroup cpp_kodi_gui_dialogs_CProgress - /// @brief To increase progress bar by defined step size until reach of maximum position - /// - /// @param[in] steps Step size to increase, default is 1 - /// - void SetProgressAdvance(int steps=1) - { - using namespace ::kodi::addon; - CAddonBase::m_interface->toKodi->kodi_gui->dialogProgress->set_progress_advance(CAddonBase::m_interface->toKodi->kodiBase, m_DialogHandle, steps); - } - //-------------------------------------------------------------------------- - - //========================================================================== - /// - /// \ingroup cpp_kodi_gui_dialogs_CProgress - /// @brief To check progress was canceled on work - /// - /// @return True if aborted - /// - bool Abort() - { - using namespace ::kodi::addon; - return CAddonBase::m_interface->toKodi->kodi_gui->dialogProgress->abort(CAddonBase::m_interface->toKodi->kodiBase, m_DialogHandle); - } - //-------------------------------------------------------------------------- - - private: - void* m_DialogHandle; - }; + using namespace ::kodi::addon; + return CAddonBase::m_interface->toKodi->kodi_gui->dialogProgress->abort( + CAddonBase::m_interface->toKodi->kodiBase, m_DialogHandle); + } + //-------------------------------------------------------------------------- + +private: + void* m_DialogHandle; +}; } /* namespace dialogs */ } /* namespace gui */ diff --git a/xbmc/addons/kodi-addon-dev-kit/include/kodi/gui/dialogs/Select.h b/xbmc/addons/kodi-addon-dev-kit/include/kodi/gui/dialogs/Select.h index ba0db1d..39a98fe 100644 --- a/xbmc/addons/kodi-addon-dev-kit/include/kodi/gui/dialogs/Select.h +++ b/xbmc/addons/kodi-addon-dev-kit/include/kodi/gui/dialogs/Select.h @@ -104,16 +104,21 @@ namespace dialogs /// fprintf(stderr, "Selected item is: %i\n", selected); /// ~~~~~~~~~~~~~ /// - inline int Show(const std::string& heading, const std::vector& entries, int selected = -1, unsigned int autoclose = 0) + inline int ATTRIBUTE_HIDDEN Show(const std::string& heading, + const std::vector& entries, + int selected = -1, + unsigned int autoclose = 0) { using namespace ::kodi::addon; - unsigned int size = entries.size(); - const char** cEntries = (const char**)malloc(size*sizeof(const char**)); + unsigned int size = static_cast(entries.size()); + const char** cEntries = (const char**)malloc(size * sizeof(const char**)); for (unsigned int i = 0; i < size; ++i) { cEntries[i] = entries[i].c_str(); } - int ret = CAddonBase::m_interface->toKodi->kodi_gui->dialogSelect->open(CAddonBase::m_interface->toKodi->kodiBase, heading.c_str(), cEntries, size, selected, autoclose); + int ret = CAddonBase::m_interface->toKodi->kodi_gui->dialogSelect->open( + CAddonBase::m_interface->toKodi->kodiBase, heading.c_str(), cEntries, size, selected, + autoclose); free(cEntries); return ret; } @@ -159,10 +164,13 @@ namespace dialogs /// fprintf(stderr, "Selected item is: %i\n", selected); /// ~~~~~~~~~~~~~ /// - inline int Show(const std::string& heading, std::vector& entries, int selected = -1, unsigned int autoclose = 0) + inline int ATTRIBUTE_HIDDEN Show(const std::string& heading, + std::vector& entries, + int selected = -1, + unsigned int autoclose = 0) { using namespace ::kodi::addon; - unsigned int size = entries.size(); + unsigned int size = static_cast(entries.size()); const char** cEntries = static_cast(malloc(size*sizeof(const char*))); for (unsigned int i = 0; i < size; ++i) { @@ -224,10 +232,12 @@ namespace dialogs /// } /// ~~~~~~~~~~~~~ /// - inline bool ShowMultiSelect(const std::string& heading, std::vector& entries, int autoclose = 0) + inline bool ATTRIBUTE_HIDDEN ShowMultiSelect(const std::string& heading, + std::vector& entries, + int autoclose = 0) { using namespace ::kodi::addon; - unsigned int size = entries.size(); + unsigned int size = static_cast(entries.size()); const char** cEntryIDs = static_cast(malloc(size*sizeof(const char*))); const char** cEntryNames = static_cast(malloc(size*sizeof(const char*))); bool* cEntriesSelected = static_cast(malloc(size*sizeof(bool))); diff --git a/xbmc/addons/kodi-addon-dev-kit/include/kodi/gui/dialogs/TextViewer.h b/xbmc/addons/kodi-addon-dev-kit/include/kodi/gui/dialogs/TextViewer.h index da38f7c..5c81837 100644 --- a/xbmc/addons/kodi-addon-dev-kit/include/kodi/gui/dialogs/TextViewer.h +++ b/xbmc/addons/kodi-addon-dev-kit/include/kodi/gui/dialogs/TextViewer.h @@ -93,10 +93,11 @@ namespace dialogs /// "interspersed renderings from classical composers.\n"); /// ~~~~~~~~~~~~~ /// - inline void Show(const std::string& heading, const std::string& text) + inline void ATTRIBUTE_HIDDEN Show(const std::string& heading, const std::string& text) { using namespace ::kodi::addon; - CAddonBase::m_interface->toKodi->kodi_gui->dialogTextViewer->open(CAddonBase::m_interface->toKodi->kodiBase, heading.c_str(), text.c_str()); + CAddonBase::m_interface->toKodi->kodi_gui->dialogTextViewer->open( + CAddonBase::m_interface->toKodi->kodiBase, heading.c_str(), text.c_str()); } //-------------------------------------------------------------------------- }; diff --git a/xbmc/addons/kodi-addon-dev-kit/include/kodi/gui/dialogs/YesNo.h b/xbmc/addons/kodi-addon-dev-kit/include/kodi/gui/dialogs/YesNo.h index c694bf5..67c2fc4 100644 --- a/xbmc/addons/kodi-addon-dev-kit/include/kodi/gui/dialogs/YesNo.h +++ b/xbmc/addons/kodi-addon-dev-kit/include/kodi/gui/dialogs/YesNo.h @@ -73,14 +73,16 @@ namespace dialogs /// canceled ? "canceled" : "not canceled"); /// ~~~~~~~~~~~~~ /// - inline bool ShowAndGetInput(const std::string& heading, const std::string& text, - bool& canceled, const std::string& noLabel = "", - const std::string& yesLabel = "") + inline bool ATTRIBUTE_HIDDEN ShowAndGetInput(const std::string& heading, + const std::string& text, + bool& canceled, + const std::string& noLabel = "", + const std::string& yesLabel = "") { using namespace ::kodi::addon; - return CAddonBase::m_interface->toKodi->kodi_gui->dialogYesNo->show_and_get_input_single_text(CAddonBase::m_interface->toKodi->kodiBase, - heading.c_str(), text.c_str(), &canceled, - noLabel.c_str(), yesLabel.c_str()); + return CAddonBase::m_interface->toKodi->kodi_gui->dialogYesNo->show_and_get_input_single_text( + CAddonBase::m_interface->toKodi->kodiBase, heading.c_str(), text.c_str(), &canceled, + noLabel.c_str(), yesLabel.c_str()); } //-------------------------------------------------------------------------- @@ -115,9 +117,12 @@ namespace dialogs /// ret ? "yes" : "no"); /// ~~~~~~~~~~~~~ /// - inline bool ShowAndGetInput(const std::string& heading, const std::string& line0, const std::string& line1, - const std::string& line2, const std::string& noLabel = "", - const std::string& yesLabel = "") + inline bool ATTRIBUTE_HIDDEN ShowAndGetInput(const std::string& heading, + const std::string& line0, + const std::string& line1, + const std::string& line2, + const std::string& noLabel = "", + const std::string& yesLabel = "") { using namespace ::kodi::addon; return CAddonBase::m_interface->toKodi->kodi_gui->dialogYesNo->show_and_get_input_line_text(CAddonBase::m_interface->toKodi->kodiBase, @@ -161,9 +166,13 @@ namespace dialogs /// canceled ? "canceled" : "not canceled"); /// ~~~~~~~~~~~~~ /// - inline bool ShowAndGetInput(const std::string& heading, const std::string& line0, const std::string& line1, - const std::string& line2, bool& canceled, const std::string& noLabel = "", - const std::string& yesLabel = "") + inline bool ATTRIBUTE_HIDDEN ShowAndGetInput(const std::string& heading, + const std::string& line0, + const std::string& line1, + const std::string& line2, + bool& canceled, + const std::string& noLabel = "", + const std::string& yesLabel = "") { using namespace ::kodi::addon; return CAddonBase::m_interface->toKodi->kodi_gui->dialogYesNo->show_and_get_input_line_button_text(CAddonBase::m_interface->toKodi->kodiBase, -- cgit v1.2.3