diff options
Diffstat (limited to 'xbmc/addons/kodi-addon-dev-kit/include/kodi/gui/dialogs')
10 files changed, 597 insertions, 486 deletions
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 | |||
| 66 | /// fprintf(stderr, "Selected item is: %i\n", selected); | 66 | /// fprintf(stderr, "Selected item is: %i\n", selected); |
| 67 | /// ~~~~~~~~~~~~~ | 67 | /// ~~~~~~~~~~~~~ |
| 68 | /// | 68 | /// |
| 69 | inline int Show(const std::string& heading, const std::vector<std::string>& entries) | 69 | inline int ATTRIBUTE_HIDDEN Show(const std::string& heading, |
| 70 | const std::vector<std::string>& entries) | ||
| 70 | { | 71 | { |
| 71 | using namespace ::kodi::addon; | 72 | using namespace ::kodi::addon; |
| 72 | unsigned int size = entries.size(); | 73 | unsigned int size = static_cast<unsigned int>(entries.size()); |
| 73 | const char** cEntries = static_cast<const char**>(malloc(size*sizeof(const char**))); | 74 | const char** cEntries = static_cast<const char**>(malloc(size * sizeof(const char**))); |
| 74 | for (unsigned int i = 0; i < size; ++i) | 75 | for (unsigned int i = 0; i < size; ++i) |
| 75 | { | 76 | { |
| 76 | cEntries[i] = entries[i].c_str(); | 77 | cEntries[i] = entries[i].c_str(); |
| 77 | } | 78 | } |
| 78 | int ret = CAddonBase::m_interface->toKodi->kodi_gui->dialogContextMenu->open(CAddonBase::m_interface->toKodi->kodiBase, heading.c_str(), cEntries, size); | 79 | int ret = CAddonBase::m_interface->toKodi->kodi_gui->dialogContextMenu->open( |
| 80 | CAddonBase::m_interface->toKodi->kodiBase, heading.c_str(), cEntries, size); | ||
| 79 | free(cEntries); | 81 | free(cEntries); |
| 80 | return ret; | 82 | return ret; |
| 81 | } | 83 | } |
| @@ -113,10 +115,11 @@ namespace dialogs | |||
| 113 | /// fprintf(stderr, "Selected item is: %i\n", selected); | 115 | /// fprintf(stderr, "Selected item is: %i\n", selected); |
| 114 | /// ~~~~~~~~~~~~~ | 116 | /// ~~~~~~~~~~~~~ |
| 115 | /// | 117 | /// |
| 116 | inline int Show(const std::string& heading, const std::vector<std::pair<std::string, std::string>>& entries) | 118 | inline int ATTRIBUTE_HIDDEN Show( |
| 119 | const std::string& heading, const std::vector<std::pair<std::string, std::string>>& entries) | ||
| 117 | { | 120 | { |
| 118 | using namespace ::kodi::addon; | 121 | using namespace ::kodi::addon; |
| 119 | unsigned int size = entries.size(); | 122 | unsigned int size = static_cast<unsigned int>(entries.size()); |
| 120 | const char** cEntries = static_cast<const char**>(malloc(size*sizeof(const char**))); | 123 | const char** cEntries = static_cast<const char**>(malloc(size*sizeof(const char**))); |
| 121 | for (unsigned int i = 0; i < size; ++i) | 124 | for (unsigned int i = 0; i < size; ++i) |
| 122 | { | 125 | { |
| @@ -160,10 +163,11 @@ namespace dialogs | |||
| 160 | /// fprintf(stderr, "Selected item is: %i\n", selected); | 163 | /// fprintf(stderr, "Selected item is: %i\n", selected); |
| 161 | /// ~~~~~~~~~~~~~ | 164 | /// ~~~~~~~~~~~~~ |
| 162 | /// | 165 | /// |
| 163 | inline int Show(const std::string& heading, const std::vector<std::pair<int, std::string>>& entries) | 166 | inline int ATTRIBUTE_HIDDEN Show(const std::string& heading, |
| 167 | const std::vector<std::pair<int, std::string>>& entries) | ||
| 164 | { | 168 | { |
| 165 | using namespace ::kodi::addon; | 169 | using namespace ::kodi::addon; |
| 166 | unsigned int size = entries.size(); | 170 | unsigned int size = static_cast<unsigned int>(entries.size()); |
| 167 | const char** cEntries = static_cast<const char**>(malloc(size*sizeof(const char**))); | 171 | const char** cEntries = static_cast<const char**>(malloc(size*sizeof(const char**))); |
| 168 | for (unsigned int i = 0; i < size; ++i) | 172 | for (unsigned int i = 0; i < size; ++i) |
| 169 | { | 173 | { |
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 | |||
| 18 | namespace dialogs | 18 | namespace dialogs |
| 19 | { | 19 | { |
| 20 | 20 | ||
| 21 | //============================================================================ | 21 | //============================================================================ |
| 22 | /// | 22 | /// |
| 23 | /// \defgroup cpp_kodi_gui_dialogs_CExtendedProgress Dialog Extended Progress | 23 | /// \defgroup cpp_kodi_gui_dialogs_CExtendedProgress Dialog Extended Progress |
| 24 | /// \ingroup cpp_kodi_gui | 24 | /// \ingroup cpp_kodi_gui |
| 25 | /// @brief \cpp_class{ kodi::gui::dialogs::ExtendedProgress } | 25 | /// @brief \cpp_class{ kodi::gui::dialogs::ExtendedProgress } |
| 26 | /// **Progress dialog shown for background work** | 26 | /// **Progress dialog shown for background work** |
| 27 | /// | ||
| 28 | /// The with \ref ExtendedProgress.h "#include <kodi/gui/dialogs/ExtendedProgress.h>" | ||
| 29 | /// given class are basically used to create Kodi's extended progress. | ||
| 30 | /// | ||
| 31 | /// | ||
| 32 | /// -------------------------------------------------------------------------- | ||
| 33 | /// | ||
| 34 | /// **Example:** | ||
| 35 | /// ~~~~~~~~~~~~~{.cpp} | ||
| 36 | /// #include <kodi/gui/dialogs/ExtendedProgress.h> | ||
| 37 | /// | ||
| 38 | /// kodi::gui::dialogs::CExtendedProgress *ext_progress = new kodi::gui::dialogs::CExtendedProgress("Test Extended progress"); | ||
| 39 | /// ext_progress->SetText("Test progress"); | ||
| 40 | /// for (unsigned int i = 0; i < 50; i += 10) | ||
| 41 | /// { | ||
| 42 | /// ext_progress->SetProgress(i, 100); | ||
| 43 | /// sleep(1); | ||
| 44 | /// } | ||
| 45 | /// | ||
| 46 | /// ext_progress->SetTitle("Test Extended progress - Second round"); | ||
| 47 | /// ext_progress->SetText("Test progress - Step 2"); | ||
| 48 | /// | ||
| 49 | /// for (unsigned int i = 50; i < 100; i += 10) | ||
| 50 | /// { | ||
| 51 | /// ext_progress->SetProgress(i, 100); | ||
| 52 | /// sleep(1); | ||
| 53 | /// } | ||
| 54 | /// delete ext_progress; | ||
| 55 | /// ~~~~~~~~~~~~~ | ||
| 56 | /// | ||
| 57 | class ATTRIBUTE_HIDDEN CExtendedProgress | ||
| 58 | { | ||
| 59 | public: | ||
| 60 | //========================================================================== | ||
| 27 | /// | 61 | /// |
| 28 | /// The with \ref ExtendedProgress.h "#include <kodi/gui/dialogs/ExtendedProgress.h>" | 62 | /// \ingroup cpp_kodi_gui_dialogs_CExtendedProgress |
| 29 | /// given class are basically used to create Kodi's extended progress. | 63 | /// Construct a new dialog |
| 30 | /// | 64 | /// |
| 65 | /// @param[in] title Title string | ||
| 31 | /// | 66 | /// |
| 32 | /// -------------------------------------------------------------------------- | 67 | explicit CExtendedProgress(const std::string& title = "") |
| 68 | { | ||
| 69 | using namespace ::kodi::addon; | ||
| 70 | m_DialogHandle = CAddonBase::m_interface->toKodi->kodi_gui->dialogExtendedProgress->new_dialog( | ||
| 71 | CAddonBase::m_interface->toKodi->kodiBase, title.c_str()); | ||
| 72 | if (!m_DialogHandle) | ||
| 73 | kodi::Log(ADDON_LOG_FATAL, | ||
| 74 | "kodi::gui::CDialogExtendedProgress can't create window class from Kodi !!!"); | ||
| 75 | } | ||
| 76 | //-------------------------------------------------------------------------- | ||
| 77 | |||
| 78 | //========================================================================== | ||
| 33 | /// | 79 | /// |
| 34 | /// **Example:** | 80 | /// \ingroup cpp_kodi_gui_dialogs_CExtendedProgress |
| 35 | /// ~~~~~~~~~~~~~{.cpp} | 81 | /// Destructor |
| 36 | /// #include <kodi/gui/dialogs/ExtendedProgress.h> | ||
| 37 | /// | 82 | /// |
| 38 | /// kodi::gui::dialogs::CExtendedProgress *ext_progress = new kodi::gui::dialogs::CExtendedProgress("Test Extended progress"); | 83 | ~CExtendedProgress() |
| 39 | /// ext_progress->SetText("Test progress"); | 84 | { |
| 40 | /// for (unsigned int i = 0; i < 50; i += 10) | 85 | using namespace ::kodi::addon; |
| 41 | /// { | 86 | if (m_DialogHandle) |
| 42 | /// ext_progress->SetProgress(i, 100); | 87 | CAddonBase::m_interface->toKodi->kodi_gui->dialogExtendedProgress->delete_dialog( |
| 43 | /// sleep(1); | 88 | CAddonBase::m_interface->toKodi->kodiBase, m_DialogHandle); |
| 44 | /// } | 89 | } |
| 90 | //-------------------------------------------------------------------------- | ||
| 91 | |||
| 92 | //========================================================================== | ||
| 45 | /// | 93 | /// |
| 46 | /// ext_progress->SetTitle("Test Extended progress - Second round"); | 94 | /// \ingroup cpp_kodi_gui_dialogs_CExtendedProgress |
| 47 | /// ext_progress->SetText("Test progress - Step 2"); | 95 | /// @brief Get the used title |
| 48 | /// | 96 | /// |
| 49 | /// for (unsigned int i = 50; i < 100; i += 10) | 97 | /// @return Title string |
| 50 | /// { | ||
| 51 | /// ext_progress->SetProgress(i, 100); | ||
| 52 | /// sleep(1); | ||
| 53 | /// } | ||
| 54 | /// delete ext_progress; | ||
| 55 | /// ~~~~~~~~~~~~~ | ||
| 56 | /// | 98 | /// |
| 57 | class CExtendedProgress | 99 | std::string Title() const |
| 58 | { | 100 | { |
| 59 | public: | 101 | using namespace ::kodi::addon; |
| 60 | //========================================================================== | 102 | std::string text; |
| 61 | /// | 103 | char* strMsg = CAddonBase::m_interface->toKodi->kodi_gui->dialogExtendedProgress->get_title( |
| 62 | /// \ingroup cpp_kodi_gui_dialogs_CExtendedProgress | 104 | CAddonBase::m_interface->toKodi->kodiBase, m_DialogHandle); |
| 63 | /// Construct a new dialog | 105 | if (strMsg != nullptr) |
| 64 | /// | ||
| 65 | /// @param[in] title Title string | ||
| 66 | /// | ||
| 67 | explicit CExtendedProgress(const std::string& title = "") | ||
| 68 | { | ||
| 69 | using namespace ::kodi::addon; | ||
| 70 | m_DialogHandle = CAddonBase::m_interface->toKodi->kodi_gui->dialogExtendedProgress->new_dialog(CAddonBase::m_interface->toKodi->kodiBase, title.c_str()); | ||
| 71 | if (!m_DialogHandle) | ||
| 72 | kodi::Log(ADDON_LOG_FATAL, "kodi::gui::CDialogExtendedProgress can't create window class from Kodi !!!"); | ||
| 73 | } | ||
| 74 | //-------------------------------------------------------------------------- | ||
| 75 | |||
| 76 | //========================================================================== | ||
| 77 | /// | ||
| 78 | /// \ingroup cpp_kodi_gui_dialogs_CExtendedProgress | ||
| 79 | /// Destructor | ||
| 80 | /// | ||
| 81 | ~CExtendedProgress() | ||
| 82 | { | ||
| 83 | using namespace ::kodi::addon; | ||
| 84 | if (m_DialogHandle) | ||
| 85 | CAddonBase::m_interface->toKodi->kodi_gui->dialogExtendedProgress->delete_dialog(CAddonBase::m_interface->toKodi->kodiBase, m_DialogHandle); | ||
| 86 | } | ||
| 87 | //-------------------------------------------------------------------------- | ||
| 88 | |||
| 89 | //========================================================================== | ||
| 90 | /// | ||
| 91 | /// \ingroup cpp_kodi_gui_dialogs_CExtendedProgress | ||
| 92 | /// @brief Get the used title | ||
| 93 | /// | ||
| 94 | /// @return Title string | ||
| 95 | /// | ||
| 96 | std::string Title() const | ||
| 97 | { | ||
| 98 | using namespace ::kodi::addon; | ||
| 99 | std::string text; | ||
| 100 | char* strMsg = CAddonBase::m_interface->toKodi->kodi_gui->dialogExtendedProgress->get_title(CAddonBase::m_interface->toKodi->kodiBase, m_DialogHandle); | ||
| 101 | if (strMsg != nullptr) | ||
| 102 | { | ||
| 103 | if (std::strlen(strMsg)) | ||
| 104 | text = strMsg; | ||
| 105 | CAddonBase::m_interface->toKodi->free_string(CAddonBase::m_interface->toKodi->kodiBase, strMsg); | ||
| 106 | } | ||
| 107 | return text; | ||
| 108 | } | ||
| 109 | //-------------------------------------------------------------------------- | ||
| 110 | |||
| 111 | //========================================================================== | ||
| 112 | /// | ||
| 113 | /// \ingroup cpp_kodi_gui_dialogs_CExtendedProgress | ||
| 114 | /// @brief To set the title of dialog | ||
| 115 | /// | ||
| 116 | /// @param[in] title Title string | ||
| 117 | /// | ||
| 118 | void SetTitle(const std::string& title) | ||
| 119 | { | ||
| 120 | using namespace ::kodi::addon; | ||
| 121 | CAddonBase::m_interface->toKodi->kodi_gui->dialogExtendedProgress->set_title(CAddonBase::m_interface->toKodi->kodiBase, m_DialogHandle, title.c_str()); | ||
| 122 | } | ||
| 123 | //-------------------------------------------------------------------------- | ||
| 124 | |||
| 125 | //========================================================================== | ||
| 126 | /// | ||
| 127 | /// \ingroup cpp_kodi_gui_dialogs_CExtendedProgress | ||
| 128 | /// @brief Get the used text information string | ||
| 129 | /// | ||
| 130 | /// @return Text string | ||
| 131 | /// | ||
| 132 | std::string Text() const | ||
| 133 | { | ||
| 134 | using namespace ::kodi::addon; | ||
| 135 | std::string text; | ||
| 136 | char* strMsg = CAddonBase::m_interface->toKodi->kodi_gui->dialogExtendedProgress->get_text(CAddonBase::m_interface->toKodi->kodiBase, m_DialogHandle); | ||
| 137 | if (strMsg != nullptr) | ||
| 138 | { | ||
| 139 | if (std::strlen(strMsg)) | ||
| 140 | text = strMsg; | ||
| 141 | CAddonBase::m_interface->toKodi->free_string(CAddonBase::m_interface->toKodi->kodiBase, strMsg); | ||
| 142 | } | ||
| 143 | return text; | ||
| 144 | } | ||
| 145 | //-------------------------------------------------------------------------- | ||
| 146 | |||
| 147 | //========================================================================== | ||
| 148 | /// | ||
| 149 | /// \ingroup cpp_kodi_gui_dialogs_CExtendedProgress | ||
| 150 | /// @brief To set the used text information string | ||
| 151 | /// | ||
| 152 | /// @param[in] text information text to set | ||
| 153 | /// | ||
| 154 | void SetText(const std::string& text) | ||
| 155 | { | ||
| 156 | using namespace ::kodi::addon; | ||
| 157 | CAddonBase::m_interface->toKodi->kodi_gui->dialogExtendedProgress->set_text(CAddonBase::m_interface->toKodi->kodiBase, m_DialogHandle, text.c_str()); | ||
| 158 | } | ||
| 159 | //-------------------------------------------------------------------------- | ||
| 160 | |||
| 161 | //========================================================================== | ||
| 162 | /// | ||
| 163 | /// \ingroup cpp_kodi_gui_dialogs_CExtendedProgress | ||
| 164 | /// @brief To ask dialog is finished | ||
| 165 | /// | ||
| 166 | /// @return True if on end | ||
| 167 | /// | ||
| 168 | bool IsFinished() const | ||
| 169 | { | ||
| 170 | using namespace ::kodi::addon; | ||
| 171 | return CAddonBase::m_interface->toKodi->kodi_gui->dialogExtendedProgress->is_finished(CAddonBase::m_interface->toKodi->kodiBase, m_DialogHandle); | ||
| 172 | } | ||
| 173 | //-------------------------------------------------------------------------- | ||
| 174 | |||
| 175 | //========================================================================== | ||
| 176 | /// | ||
| 177 | /// \ingroup cpp_kodi_gui_dialogs_CExtendedProgress | ||
| 178 | /// @brief Mark progress finished | ||
| 179 | /// | ||
| 180 | void MarkFinished() | ||
| 181 | { | ||
| 182 | using namespace ::kodi::addon; | ||
| 183 | CAddonBase::m_interface->toKodi->kodi_gui->dialogExtendedProgress->mark_finished(CAddonBase::m_interface->toKodi->kodiBase, m_DialogHandle); | ||
| 184 | } | ||
| 185 | //-------------------------------------------------------------------------- | ||
| 186 | |||
| 187 | //========================================================================== | ||
| 188 | /// | ||
| 189 | /// \ingroup cpp_kodi_gui_dialogs_CExtendedProgress | ||
| 190 | /// @brief Get the current progress position as percent | ||
| 191 | /// | ||
| 192 | /// @return Position | ||
| 193 | /// | ||
| 194 | float Percentage() const | ||
| 195 | { | ||
| 196 | using namespace ::kodi::addon; | ||
| 197 | return CAddonBase::m_interface->toKodi->kodi_gui->dialogExtendedProgress->get_percentage(CAddonBase::m_interface->toKodi->kodiBase, m_DialogHandle); | ||
| 198 | } | ||
| 199 | //-------------------------------------------------------------------------- | ||
| 200 | |||
| 201 | //========================================================================== | ||
| 202 | /// | ||
| 203 | /// \ingroup cpp_kodi_gui_dialogs_CExtendedProgress | ||
| 204 | /// @brief To set the current progress position as percent | ||
| 205 | /// | ||
| 206 | /// @param[in] percentage Position to use from 0.0 to 100.0 | ||
| 207 | /// | ||
| 208 | void SetPercentage(float percentage) | ||
| 209 | { | 106 | { |
| 210 | using namespace ::kodi::addon; | 107 | if (std::strlen(strMsg)) |
| 211 | CAddonBase::m_interface->toKodi->kodi_gui->dialogExtendedProgress->set_percentage(CAddonBase::m_interface->toKodi->kodiBase, m_DialogHandle, percentage); | 108 | text = strMsg; |
| 109 | CAddonBase::m_interface->toKodi->free_string(CAddonBase::m_interface->toKodi->kodiBase, | ||
| 110 | strMsg); | ||
| 212 | } | 111 | } |
| 213 | //-------------------------------------------------------------------------- | 112 | return text; |
| 214 | 113 | } | |
| 215 | //========================================================================== | 114 | //-------------------------------------------------------------------------- |
| 216 | /// | 115 | |
| 217 | /// \ingroup cpp_kodi_gui_dialogs_CExtendedProgress | 116 | //========================================================================== |
| 218 | /// @brief To set progress position with predefined places | 117 | /// |
| 219 | /// | 118 | /// \ingroup cpp_kodi_gui_dialogs_CExtendedProgress |
| 220 | /// @param[in] currentItem Place position to use | 119 | /// @brief To set the title of dialog |
| 221 | /// @param[in] itemCount Amount of used places | 120 | /// |
| 222 | /// | 121 | /// @param[in] title Title string |
| 223 | void SetProgress(int currentItem, int itemCount) | 122 | /// |
| 123 | void SetTitle(const std::string& title) | ||
| 124 | { | ||
| 125 | using namespace ::kodi::addon; | ||
| 126 | CAddonBase::m_interface->toKodi->kodi_gui->dialogExtendedProgress->set_title( | ||
| 127 | CAddonBase::m_interface->toKodi->kodiBase, m_DialogHandle, title.c_str()); | ||
| 128 | } | ||
| 129 | //-------------------------------------------------------------------------- | ||
| 130 | |||
| 131 | //========================================================================== | ||
| 132 | /// | ||
| 133 | /// \ingroup cpp_kodi_gui_dialogs_CExtendedProgress | ||
| 134 | /// @brief Get the used text information string | ||
| 135 | /// | ||
| 136 | /// @return Text string | ||
| 137 | /// | ||
| 138 | std::string Text() const | ||
| 139 | { | ||
| 140 | using namespace ::kodi::addon; | ||
| 141 | std::string text; | ||
| 142 | char* strMsg = CAddonBase::m_interface->toKodi->kodi_gui->dialogExtendedProgress->get_text( | ||
| 143 | CAddonBase::m_interface->toKodi->kodiBase, m_DialogHandle); | ||
| 144 | if (strMsg != nullptr) | ||
| 224 | { | 145 | { |
| 225 | using namespace ::kodi::addon; | 146 | if (std::strlen(strMsg)) |
| 226 | CAddonBase::m_interface->toKodi->kodi_gui->dialogExtendedProgress->set_progress(CAddonBase::m_interface->toKodi->kodiBase, m_DialogHandle, currentItem, itemCount); | 147 | text = strMsg; |
| 148 | CAddonBase::m_interface->toKodi->free_string(CAddonBase::m_interface->toKodi->kodiBase, | ||
| 149 | strMsg); | ||
| 227 | } | 150 | } |
| 228 | //-------------------------------------------------------------------------- | 151 | return text; |
| 152 | } | ||
| 153 | //-------------------------------------------------------------------------- | ||
| 154 | |||
| 155 | //========================================================================== | ||
| 156 | /// | ||
| 157 | /// \ingroup cpp_kodi_gui_dialogs_CExtendedProgress | ||
| 158 | /// @brief To set the used text information string | ||
| 159 | /// | ||
| 160 | /// @param[in] text information text to set | ||
| 161 | /// | ||
| 162 | void SetText(const std::string& text) | ||
| 163 | { | ||
| 164 | using namespace ::kodi::addon; | ||
| 165 | CAddonBase::m_interface->toKodi->kodi_gui->dialogExtendedProgress->set_text( | ||
| 166 | CAddonBase::m_interface->toKodi->kodiBase, m_DialogHandle, text.c_str()); | ||
| 167 | } | ||
| 168 | //-------------------------------------------------------------------------- | ||
| 169 | |||
| 170 | //========================================================================== | ||
| 171 | /// | ||
| 172 | /// \ingroup cpp_kodi_gui_dialogs_CExtendedProgress | ||
| 173 | /// @brief To ask dialog is finished | ||
| 174 | /// | ||
| 175 | /// @return True if on end | ||
| 176 | /// | ||
| 177 | bool IsFinished() const | ||
| 178 | { | ||
| 179 | using namespace ::kodi::addon; | ||
| 180 | return CAddonBase::m_interface->toKodi->kodi_gui->dialogExtendedProgress->is_finished( | ||
| 181 | CAddonBase::m_interface->toKodi->kodiBase, m_DialogHandle); | ||
| 182 | } | ||
| 183 | //-------------------------------------------------------------------------- | ||
| 184 | |||
| 185 | //========================================================================== | ||
| 186 | /// | ||
| 187 | /// \ingroup cpp_kodi_gui_dialogs_CExtendedProgress | ||
| 188 | /// @brief Mark progress finished | ||
| 189 | /// | ||
| 190 | void MarkFinished() | ||
| 191 | { | ||
| 192 | using namespace ::kodi::addon; | ||
| 193 | CAddonBase::m_interface->toKodi->kodi_gui->dialogExtendedProgress->mark_finished( | ||
| 194 | CAddonBase::m_interface->toKodi->kodiBase, m_DialogHandle); | ||
| 195 | } | ||
| 196 | //-------------------------------------------------------------------------- | ||
| 197 | |||
| 198 | //========================================================================== | ||
| 199 | /// | ||
| 200 | /// \ingroup cpp_kodi_gui_dialogs_CExtendedProgress | ||
| 201 | /// @brief Get the current progress position as percent | ||
| 202 | /// | ||
| 203 | /// @return Position | ||
| 204 | /// | ||
| 205 | float Percentage() const | ||
| 206 | { | ||
| 207 | using namespace ::kodi::addon; | ||
| 208 | return CAddonBase::m_interface->toKodi->kodi_gui->dialogExtendedProgress->get_percentage( | ||
| 209 | CAddonBase::m_interface->toKodi->kodiBase, m_DialogHandle); | ||
| 210 | } | ||
| 211 | //-------------------------------------------------------------------------- | ||
| 229 | 212 | ||
| 230 | private: | 213 | //========================================================================== |
| 231 | void* m_DialogHandle; | 214 | /// |
| 232 | }; | 215 | /// \ingroup cpp_kodi_gui_dialogs_CExtendedProgress |
| 216 | /// @brief To set the current progress position as percent | ||
| 217 | /// | ||
| 218 | /// @param[in] percentage Position to use from 0.0 to 100.0 | ||
| 219 | /// | ||
| 220 | void SetPercentage(float percentage) | ||
| 221 | { | ||
| 222 | using namespace ::kodi::addon; | ||
| 223 | CAddonBase::m_interface->toKodi->kodi_gui->dialogExtendedProgress->set_percentage( | ||
| 224 | CAddonBase::m_interface->toKodi->kodiBase, m_DialogHandle, percentage); | ||
| 225 | } | ||
| 226 | //-------------------------------------------------------------------------- | ||
| 227 | |||
| 228 | //========================================================================== | ||
| 229 | /// | ||
| 230 | /// \ingroup cpp_kodi_gui_dialogs_CExtendedProgress | ||
| 231 | /// @brief To set progress position with predefined places | ||
| 232 | /// | ||
| 233 | /// @param[in] currentItem Place position to use | ||
| 234 | /// @param[in] itemCount Amount of used places | ||
| 235 | /// | ||
| 236 | void SetProgress(int currentItem, int itemCount) | ||
| 237 | { | ||
| 238 | using namespace ::kodi::addon; | ||
| 239 | CAddonBase::m_interface->toKodi->kodi_gui->dialogExtendedProgress->set_progress( | ||
| 240 | CAddonBase::m_interface->toKodi->kodiBase, m_DialogHandle, currentItem, itemCount); | ||
| 241 | } | ||
| 242 | //-------------------------------------------------------------------------- | ||
| 243 | |||
| 244 | private: | ||
| 245 | void* m_DialogHandle; | ||
| 246 | }; | ||
| 233 | 247 | ||
| 234 | } /* namespace dialogs */ | 248 | } /* namespace dialogs */ |
| 235 | } /* namespace gui */ | 249 | } /* 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 | |||
| 71 | /// fprintf(stderr, "Selected directory is : %s and was %s\n", directory.c_str(), ret ? "OK" : "Canceled"); | 71 | /// fprintf(stderr, "Selected directory is : %s and was %s\n", directory.c_str(), ret ? "OK" : "Canceled"); |
| 72 | /// ~~~~~~~~~~~~~ | 72 | /// ~~~~~~~~~~~~~ |
| 73 | /// | 73 | /// |
| 74 | inline bool ShowAndGetDirectory(const std::string& shares, const std::string& heading, std::string& path, bool writeOnly = false) | 74 | inline bool ATTRIBUTE_HIDDEN ShowAndGetDirectory(const std::string& shares, |
| 75 | const std::string& heading, | ||
| 76 | std::string& path, | ||
| 77 | bool writeOnly = false) | ||
| 75 | { | 78 | { |
| 76 | using namespace ::kodi::addon; | 79 | using namespace ::kodi::addon; |
| 77 | char* retString = nullptr; | 80 | char* retString = nullptr; |
| 78 | bool ret = CAddonBase::m_interface->toKodi->kodi_gui->dialogFileBrowser->show_and_get_directory(CAddonBase::m_interface->toKodi->kodiBase, | 81 | bool ret = CAddonBase::m_interface->toKodi->kodi_gui->dialogFileBrowser->show_and_get_directory( |
| 79 | shares.c_str(), heading.c_str(), path.c_str(), &retString, writeOnly); | 82 | CAddonBase::m_interface->toKodi->kodiBase, shares.c_str(), heading.c_str(), path.c_str(), |
| 83 | &retString, writeOnly); | ||
| 80 | if (retString != nullptr) | 84 | if (retString != nullptr) |
| 81 | { | 85 | { |
| 82 | if (std::strlen(retString)) | 86 | if (std::strlen(retString)) |
| 83 | path = retString; | 87 | path = retString; |
| 84 | CAddonBase::m_interface->toKodi->free_string(CAddonBase::m_interface->toKodi->kodiBase, retString); | 88 | CAddonBase::m_interface->toKodi->free_string(CAddonBase::m_interface->toKodi->kodiBase, |
| 89 | retString); | ||
| 85 | } | 90 | } |
| 86 | return ret; | 91 | return ret; |
| 87 | } | 92 | } |
| @@ -104,8 +109,12 @@ namespace dialogs | |||
| 104 | /// handled as directories. | 109 | /// handled as directories. |
| 105 | /// @return False if selection becomes canceled. | 110 | /// @return False if selection becomes canceled. |
| 106 | /// | 111 | /// |
| 107 | inline bool ShowAndGetFile(const std::string& shares, const std::string& mask, const std::string& heading, | 112 | inline bool ATTRIBUTE_HIDDEN ShowAndGetFile(const std::string& shares, |
| 108 | std::string& path, bool useThumbs = false, bool useFileDirectories = false) | 113 | const std::string& mask, |
| 114 | const std::string& heading, | ||
| 115 | std::string& path, | ||
| 116 | bool useThumbs = false, | ||
| 117 | bool useFileDirectories = false) | ||
| 109 | { | 118 | { |
| 110 | using namespace ::kodi::addon; | 119 | using namespace ::kodi::addon; |
| 111 | char* retString = nullptr; | 120 | char* retString = nullptr; |
| @@ -141,8 +150,13 @@ namespace dialogs | |||
| 141 | /// @param[in] singleList | 150 | /// @param[in] singleList |
| 142 | /// @return False if selection becomes canceled. | 151 | /// @return False if selection becomes canceled. |
| 143 | /// | 152 | /// |
| 144 | inline bool ShowAndGetFileFromDir(const std::string& directory, const std::string& mask, const std::string& heading, std::string& path, | 153 | inline bool ATTRIBUTE_HIDDEN ShowAndGetFileFromDir(const std::string& directory, |
| 145 | bool useThumbs = false, bool useFileDirectories = false, bool singleList = false) | 154 | const std::string& mask, |
| 155 | const std::string& heading, | ||
| 156 | std::string& path, | ||
| 157 | bool useThumbs = false, | ||
| 158 | bool useFileDirectories = false, | ||
| 159 | bool singleList = false) | ||
| 146 | { | 160 | { |
| 147 | using namespace ::kodi::addon; | 161 | using namespace ::kodi::addon; |
| 148 | char* retString = nullptr; | 162 | char* retString = nullptr; |
| @@ -176,8 +190,12 @@ namespace dialogs | |||
| 176 | /// handled as directories. | 190 | /// handled as directories. |
| 177 | /// @return False if selection becomes canceled. | 191 | /// @return False if selection becomes canceled. |
| 178 | /// | 192 | /// |
| 179 | inline bool ShowAndGetFileList(const std::string& shares, const std::string& mask, const std::string& heading, | 193 | inline bool ATTRIBUTE_HIDDEN ShowAndGetFileList(const std::string& shares, |
| 180 | std::vector<std::string>& fileList, bool useThumbs = false, bool useFileDirectories = false) | 194 | const std::string& mask, |
| 195 | const std::string& heading, | ||
| 196 | std::vector<std::string>& fileList, | ||
| 197 | bool useThumbs = false, | ||
| 198 | bool useFileDirectories = false) | ||
| 181 | { | 199 | { |
| 182 | using namespace ::kodi::addon; | 200 | using namespace ::kodi::addon; |
| 183 | char** list = nullptr; | 201 | char** list = nullptr; |
| @@ -188,7 +206,7 @@ namespace dialogs | |||
| 188 | if (ret) | 206 | if (ret) |
| 189 | { | 207 | { |
| 190 | for (unsigned int i = 0; i < listSize; ++i) | 208 | for (unsigned int i = 0; i < listSize; ++i) |
| 191 | fileList.push_back(list[i]); | 209 | fileList.emplace_back(list[i]); |
| 192 | CAddonBase::m_interface->toKodi->kodi_gui->dialogFileBrowser->clear_file_list(CAddonBase::m_interface->toKodi->kodiBase, &list, listSize); | 210 | CAddonBase::m_interface->toKodi->kodi_gui->dialogFileBrowser->clear_file_list(CAddonBase::m_interface->toKodi->kodiBase, &list, listSize); |
| 193 | } | 211 | } |
| 194 | return ret; | 212 | return ret; |
| @@ -208,7 +226,10 @@ namespace dialogs | |||
| 208 | /// @param[in] type | 226 | /// @param[in] type |
| 209 | /// @return False if selection becomes canceled. | 227 | /// @return False if selection becomes canceled. |
| 210 | /// | 228 | /// |
| 211 | inline bool ShowAndGetSource(std::string& path, bool allowNetworkShares, const std::string& additionalShare = "", const std::string& type = "") | 229 | inline bool ATTRIBUTE_HIDDEN ShowAndGetSource(std::string& path, |
| 230 | bool allowNetworkShares, | ||
| 231 | const std::string& additionalShare = "", | ||
| 232 | const std::string& type = "") | ||
| 212 | { | 233 | { |
| 213 | using namespace ::kodi::addon; | 234 | using namespace ::kodi::addon; |
| 214 | char* retString = nullptr; | 235 | char* retString = nullptr; |
| @@ -235,7 +256,9 @@ namespace dialogs | |||
| 235 | /// @param[out] path Return value about selected image | 256 | /// @param[out] path Return value about selected image |
| 236 | /// @return False if selection becomes canceled. | 257 | /// @return False if selection becomes canceled. |
| 237 | /// | 258 | /// |
| 238 | inline bool ShowAndGetImage(const std::string& shares, const std::string& heading, std::string& path) | 259 | inline bool ATTRIBUTE_HIDDEN ShowAndGetImage(const std::string& shares, |
| 260 | const std::string& heading, | ||
| 261 | std::string& path) | ||
| 239 | { | 262 | { |
| 240 | using namespace ::kodi::addon; | 263 | using namespace ::kodi::addon; |
| 241 | char* retString = nullptr; | 264 | char* retString = nullptr; |
| @@ -262,7 +285,9 @@ namespace dialogs | |||
| 262 | /// @param[out] file_list Return value about selected images | 285 | /// @param[out] file_list Return value about selected images |
| 263 | /// @return False if selection becomes canceled. | 286 | /// @return False if selection becomes canceled. |
| 264 | /// | 287 | /// |
| 265 | inline bool ShowAndGetImageList(const std::string& shares, const std::string& heading, std::vector<std::string>& file_list) | 288 | inline bool ATTRIBUTE_HIDDEN ShowAndGetImageList(const std::string& shares, |
| 289 | const std::string& heading, | ||
| 290 | std::vector<std::string>& file_list) | ||
| 266 | { | 291 | { |
| 267 | using namespace ::kodi::addon; | 292 | using namespace ::kodi::addon; |
| 268 | char** list = nullptr; | 293 | char** list = nullptr; |
| @@ -272,7 +297,7 @@ namespace dialogs | |||
| 272 | if (ret) | 297 | if (ret) |
| 273 | { | 298 | { |
| 274 | for (unsigned int i = 0; i < listSize; ++i) | 299 | for (unsigned int i = 0; i < listSize; ++i) |
| 275 | file_list.push_back(list[i]); | 300 | file_list.emplace_back(list[i]); |
| 276 | CAddonBase::m_interface->toKodi->kodi_gui->dialogFileBrowser->clear_file_list(CAddonBase::m_interface->toKodi->kodiBase, &list, listSize); | 301 | CAddonBase::m_interface->toKodi->kodi_gui->dialogFileBrowser->clear_file_list(CAddonBase::m_interface->toKodi->kodiBase, &list, listSize); |
| 277 | } | 302 | } |
| 278 | return ret; | 303 | 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 | |||
| 76 | /// text.c_str(), bRet ? "OK" : "Canceled"); | 76 | /// text.c_str(), bRet ? "OK" : "Canceled"); |
| 77 | /// ~~~~~~~~~~~~~ | 77 | /// ~~~~~~~~~~~~~ |
| 78 | /// | 78 | /// |
| 79 | inline bool ShowAndGetInput(std::string& text, const std::string& heading, bool allowEmptyResult, bool hiddenInput = false, unsigned int autoCloseMs = 0) | 79 | inline bool ATTRIBUTE_HIDDEN ShowAndGetInput(std::string& text, |
| 80 | const std::string& heading, | ||
| 81 | bool allowEmptyResult, | ||
| 82 | bool hiddenInput = false, | ||
| 83 | unsigned int autoCloseMs = 0) | ||
| 80 | { | 84 | { |
| 81 | using namespace ::kodi::addon; | 85 | using namespace ::kodi::addon; |
| 82 | char* retString = nullptr; | 86 | char* retString = nullptr; |
| 83 | bool ret = CAddonBase::m_interface->toKodi->kodi_gui->dialogKeyboard->show_and_get_input_with_head(CAddonBase::m_interface->toKodi->kodiBase, | 87 | bool ret = |
| 84 | text.c_str(), &retString, heading.c_str(), allowEmptyResult, | 88 | CAddonBase::m_interface->toKodi->kodi_gui->dialogKeyboard->show_and_get_input_with_head( |
| 85 | hiddenInput, autoCloseMs); | 89 | CAddonBase::m_interface->toKodi->kodiBase, text.c_str(), &retString, heading.c_str(), |
| 90 | allowEmptyResult, hiddenInput, autoCloseMs); | ||
| 86 | if (retString != nullptr) | 91 | if (retString != nullptr) |
| 87 | { | 92 | { |
| 88 | text = retString; | 93 | text = retString; |
| 89 | CAddonBase::m_interface->toKodi->free_string(CAddonBase::m_interface->toKodi->kodiBase, retString); | 94 | CAddonBase::m_interface->toKodi->free_string(CAddonBase::m_interface->toKodi->kodiBase, |
| 95 | retString); | ||
| 90 | } | 96 | } |
| 91 | return ret; | 97 | return ret; |
| 92 | } | 98 | } |
| @@ -108,7 +114,9 @@ namespace dialogs | |||
| 108 | /// false if unsuccessful display, no user | 114 | /// false if unsuccessful display, no user |
| 109 | /// input, or canceled editing. | 115 | /// input, or canceled editing. |
| 110 | /// | 116 | /// |
| 111 | inline bool ShowAndGetInput(std::string& text, bool allowEmptyResult, unsigned int autoCloseMs = 0) | 117 | inline bool ATTRIBUTE_HIDDEN ShowAndGetInput(std::string& text, |
| 118 | bool allowEmptyResult, | ||
| 119 | unsigned int autoCloseMs = 0) | ||
| 112 | { | 120 | { |
| 113 | using namespace ::kodi::addon; | 121 | using namespace ::kodi::addon; |
| 114 | char* retString = nullptr; | 122 | char* retString = nullptr; |
| @@ -140,7 +148,10 @@ namespace dialogs | |||
| 140 | /// false if unsuccessful display, no user | 148 | /// false if unsuccessful display, no user |
| 141 | /// input, or canceled editing. | 149 | /// input, or canceled editing. |
| 142 | /// | 150 | /// |
| 143 | inline bool ShowAndGetNewPassword(std::string& newPassword, const std::string& heading, bool allowEmptyResult, unsigned int autoCloseMs = 0) | 151 | inline bool ATTRIBUTE_HIDDEN ShowAndGetNewPassword(std::string& newPassword, |
| 152 | const std::string& heading, | ||
| 153 | bool allowEmptyResult, | ||
| 154 | unsigned int autoCloseMs = 0) | ||
| 144 | { | 155 | { |
| 145 | using namespace ::kodi::addon; | 156 | using namespace ::kodi::addon; |
| 146 | char* retString = nullptr; | 157 | char* retString = nullptr; |
| @@ -170,7 +181,8 @@ namespace dialogs | |||
| 170 | /// false if unsuccessful display, no user | 181 | /// false if unsuccessful display, no user |
| 171 | /// input, or canceled editing. | 182 | /// input, or canceled editing. |
| 172 | /// | 183 | /// |
| 173 | inline bool ShowAndGetNewPassword(std::string& newPassword, unsigned int autoCloseMs = 0) | 184 | inline bool ATTRIBUTE_HIDDEN ShowAndGetNewPassword(std::string& newPassword, |
| 185 | unsigned int autoCloseMs = 0) | ||
| 174 | { | 186 | { |
| 175 | using namespace ::kodi::addon; | 187 | using namespace ::kodi::addon; |
| 176 | char* retString = nullptr; | 188 | char* retString = nullptr; |
| @@ -251,7 +263,10 @@ namespace dialogs | |||
| 251 | /// } | 263 | /// } |
| 252 | /// ~~~~~~~~~~~~~ | 264 | /// ~~~~~~~~~~~~~ |
| 253 | /// | 265 | /// |
| 254 | inline bool ShowAndVerifyNewPassword(std::string& newPassword, const std::string& heading, bool allowEmptyResult, unsigned int autoCloseMs = 0) | 266 | inline bool ATTRIBUTE_HIDDEN ShowAndVerifyNewPassword(std::string& newPassword, |
| 267 | const std::string& heading, | ||
| 268 | bool allowEmptyResult, | ||
| 269 | unsigned int autoCloseMs = 0) | ||
| 255 | { | 270 | { |
| 256 | using namespace ::kodi::addon; | 271 | using namespace ::kodi::addon; |
| 257 | char* retString = nullptr; | 272 | char* retString = nullptr; |
| @@ -281,7 +296,8 @@ namespace dialogs | |||
| 281 | /// false if unsuccessful display, no user | 296 | /// false if unsuccessful display, no user |
| 282 | /// input, or canceled editing. | 297 | /// input, or canceled editing. |
| 283 | /// | 298 | /// |
| 284 | inline bool ShowAndVerifyNewPassword(std::string& newPassword, unsigned int autoCloseMs = 0) | 299 | inline bool ATTRIBUTE_HIDDEN ShowAndVerifyNewPassword(std::string& newPassword, |
| 300 | unsigned int autoCloseMs = 0) | ||
| 285 | { | 301 | { |
| 286 | using namespace ::kodi::addon; | 302 | using namespace ::kodi::addon; |
| 287 | char* retString = nullptr; | 303 | char* retString = nullptr; |
| @@ -313,7 +329,10 @@ namespace dialogs | |||
| 313 | /// unsuccessful input. -1 if no user input or | 329 | /// unsuccessful input. -1 if no user input or |
| 314 | /// canceled editing. | 330 | /// canceled editing. |
| 315 | /// | 331 | /// |
| 316 | inline int ShowAndVerifyPassword(std::string& password, const std::string& heading, int retries, unsigned int autoCloseMs = 0) | 332 | inline int ATTRIBUTE_HIDDEN ShowAndVerifyPassword(std::string& password, |
| 333 | const std::string& heading, | ||
| 334 | int retries, | ||
| 335 | unsigned int autoCloseMs = 0) | ||
| 317 | { | 336 | { |
| 318 | using namespace ::kodi::addon; | 337 | using namespace ::kodi::addon; |
| 319 | char* retString = nullptr; | 338 | char* retString = nullptr; |
| @@ -347,7 +366,9 @@ namespace dialogs | |||
| 347 | /// false if unsuccessful display, no user | 366 | /// false if unsuccessful display, no user |
| 348 | /// input, or canceled editing. | 367 | /// input, or canceled editing. |
| 349 | /// | 368 | /// |
| 350 | inline bool ShowAndGetFilter(std::string& text, bool searching, unsigned int autoCloseMs = 0) | 369 | inline bool ATTRIBUTE_HIDDEN ShowAndGetFilter(std::string& text, |
| 370 | bool searching, | ||
| 371 | unsigned int autoCloseMs = 0) | ||
| 351 | { | 372 | { |
| 352 | using namespace ::kodi::addon; | 373 | using namespace ::kodi::addon; |
| 353 | char* retString = nullptr; | 374 | char* retString = nullptr; |
| @@ -372,7 +393,8 @@ namespace dialogs | |||
| 372 | /// @return true if successful done, false if | 393 | /// @return true if successful done, false if |
| 373 | /// unsuccessful or keyboard not present. | 394 | /// unsuccessful or keyboard not present. |
| 374 | /// | 395 | /// |
| 375 | inline bool SendTextToActiveKeyboard(const std::string& text, bool closeKeyboard = false) | 396 | inline bool ATTRIBUTE_HIDDEN SendTextToActiveKeyboard(const std::string& text, |
| 397 | bool closeKeyboard = false) | ||
| 376 | { | 398 | { |
| 377 | using namespace ::kodi::addon; | 399 | using namespace ::kodi::addon; |
| 378 | return CAddonBase::m_interface->toKodi->kodi_gui->dialogKeyboard->send_text_to_active_keyboard(CAddonBase::m_interface->toKodi->kodiBase, | 400 | return CAddonBase::m_interface->toKodi->kodi_gui->dialogKeyboard->send_text_to_active_keyboard(CAddonBase::m_interface->toKodi->kodiBase, |
| @@ -387,7 +409,7 @@ namespace dialogs | |||
| 387 | /// | 409 | /// |
| 388 | /// @return true if keyboard present, false if not present | 410 | /// @return true if keyboard present, false if not present |
| 389 | /// | 411 | /// |
| 390 | inline bool IsKeyboardActivated() | 412 | inline bool ATTRIBUTE_HIDDEN IsKeyboardActivated() |
| 391 | { | 413 | { |
| 392 | using namespace ::kodi::addon; | 414 | using namespace ::kodi::addon; |
| 393 | return CAddonBase::m_interface->toKodi->kodi_gui->dialogKeyboard->is_keyboard_activated(CAddonBase::m_interface->toKodi->kodiBase); | 415 | 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 | |||
| 50 | /// false if unsuccessful display, no user | 50 | /// false if unsuccessful display, no user |
| 51 | /// input, or canceled editing. | 51 | /// input, or canceled editing. |
| 52 | /// | 52 | /// |
| 53 | inline bool ShowAndVerifyNewPassword(std::string& newPassword) | 53 | inline bool ATTRIBUTE_HIDDEN ShowAndVerifyNewPassword(std::string& newPassword) |
| 54 | { | 54 | { |
| 55 | using namespace ::kodi::addon; | 55 | using namespace ::kodi::addon; |
| 56 | char* pw = nullptr; | 56 | char* pw = nullptr; |
| 57 | bool ret = CAddonBase::m_interface->toKodi->kodi_gui->dialogNumeric->show_and_verify_new_password(CAddonBase::m_interface->toKodi->kodiBase, &pw); | 57 | bool ret = |
| 58 | CAddonBase::m_interface->toKodi->kodi_gui->dialogNumeric->show_and_verify_new_password( | ||
| 59 | CAddonBase::m_interface->toKodi->kodiBase, &pw); | ||
| 58 | if (pw != nullptr) | 60 | if (pw != nullptr) |
| 59 | { | 61 | { |
| 60 | newPassword = pw; | 62 | newPassword = pw; |
| @@ -131,7 +133,9 @@ namespace dialogs | |||
| 131 | /// } | 133 | /// } |
| 132 | /// ~~~~~~~~~~~~~ | 134 | /// ~~~~~~~~~~~~~ |
| 133 | /// | 135 | /// |
| 134 | inline int ShowAndVerifyPassword(const std::string& password, const std::string& heading, int retries) | 136 | inline int ATTRIBUTE_HIDDEN ShowAndVerifyPassword(const std::string& password, |
| 137 | const std::string& heading, | ||
| 138 | int retries) | ||
| 135 | { | 139 | { |
| 136 | using namespace ::kodi::addon; | 140 | using namespace ::kodi::addon; |
| 137 | return CAddonBase::m_interface->toKodi->kodi_gui->dialogNumeric->show_and_verify_password(CAddonBase::m_interface->toKodi->kodiBase, | 141 | return CAddonBase::m_interface->toKodi->kodi_gui->dialogNumeric->show_and_verify_password(CAddonBase::m_interface->toKodi->kodiBase, |
| @@ -152,7 +156,9 @@ namespace dialogs | |||
| 152 | /// input. false if unsuccessful display, no | 156 | /// input. false if unsuccessful display, no |
| 153 | /// user input, or canceled editing. | 157 | /// user input, or canceled editing. |
| 154 | /// | 158 | /// |
| 155 | inline bool ShowAndVerifyInput(std::string& toVerify, const std::string& heading, bool verifyInput) | 159 | inline bool ATTRIBUTE_HIDDEN ShowAndVerifyInput(std::string& toVerify, |
| 160 | const std::string& heading, | ||
| 161 | bool verifyInput) | ||
| 156 | { | 162 | { |
| 157 | using namespace ::kodi::addon; | 163 | using namespace ::kodi::addon; |
| 158 | char* retString = nullptr; | 164 | char* retString = nullptr; |
| @@ -199,7 +205,7 @@ namespace dialogs | |||
| 199 | /// printf("Selected time it's %s and was on Dialog %s\n", buffer, bRet ? "OK" : "Canceled"); | 205 | /// printf("Selected time it's %s and was on Dialog %s\n", buffer, bRet ? "OK" : "Canceled"); |
| 200 | /// ~~~~~~~~~~~~~ | 206 | /// ~~~~~~~~~~~~~ |
| 201 | /// | 207 | /// |
| 202 | inline bool ShowAndGetTime(tm& time, const std::string& heading) | 208 | inline bool ATTRIBUTE_HIDDEN ShowAndGetTime(tm& time, const std::string& heading) |
| 203 | { | 209 | { |
| 204 | using namespace ::kodi::addon; | 210 | using namespace ::kodi::addon; |
| 205 | return CAddonBase::m_interface->toKodi->kodi_gui->dialogNumeric->show_and_get_time(CAddonBase::m_interface->toKodi->kodiBase, &time, heading.c_str()); | 211 | 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 | |||
| 238 | /// printf("Selected date it's %s and was on Dialog %s\n", buffer, bRet ? "OK" : "Canceled"); | 244 | /// printf("Selected date it's %s and was on Dialog %s\n", buffer, bRet ? "OK" : "Canceled"); |
| 239 | /// ~~~~~~~~~~~~~ | 245 | /// ~~~~~~~~~~~~~ |
| 240 | /// | 246 | /// |
| 241 | inline bool ShowAndGetDate(tm& date, const std::string& heading) | 247 | inline bool ATTRIBUTE_HIDDEN ShowAndGetDate(tm& date, const std::string& heading) |
| 242 | { | 248 | { |
| 243 | using namespace ::kodi::addon; | 249 | using namespace ::kodi::addon; |
| 244 | return CAddonBase::m_interface->toKodi->kodi_gui->dialogNumeric->show_and_get_date(CAddonBase::m_interface->toKodi->kodiBase, &date, heading.c_str()); | 250 | 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 | |||
| 258 | /// display, no user input, or canceled | 264 | /// display, no user input, or canceled |
| 259 | /// editing. | 265 | /// editing. |
| 260 | /// | 266 | /// |
| 261 | inline bool ShowAndGetIPAddress(std::string& ipAddress, const std::string& heading) | 267 | inline bool ATTRIBUTE_HIDDEN ShowAndGetIPAddress(std::string& ipAddress, |
| 268 | const std::string& heading) | ||
| 262 | { | 269 | { |
| 263 | using namespace ::kodi::addon; | 270 | using namespace ::kodi::addon; |
| 264 | char* retString = nullptr; | 271 | char* retString = nullptr; |
| @@ -304,7 +311,9 @@ namespace dialogs | |||
| 304 | /// strtoull(number.c_str(), nullptr, 0), bRet ? "OK" : "Canceled"); | 311 | /// strtoull(number.c_str(), nullptr, 0), bRet ? "OK" : "Canceled"); |
| 305 | /// ~~~~~~~~~~~~~ | 312 | /// ~~~~~~~~~~~~~ |
| 306 | /// | 313 | /// |
| 307 | inline bool ShowAndGetNumber(std::string& input, const std::string& heading, unsigned int autoCloseTimeoutMs = 0) | 314 | inline bool ATTRIBUTE_HIDDEN ShowAndGetNumber(std::string& input, |
| 315 | const std::string& heading, | ||
| 316 | unsigned int autoCloseTimeoutMs = 0) | ||
| 308 | { | 317 | { |
| 309 | using namespace ::kodi::addon; | 318 | using namespace ::kodi::addon; |
| 310 | char* retString = nullptr; | 319 | char* retString = nullptr; |
| @@ -331,7 +340,7 @@ namespace dialogs | |||
| 331 | /// if unsuccessful display, no user input, or | 340 | /// if unsuccessful display, no user input, or |
| 332 | /// canceled editing. | 341 | /// canceled editing. |
| 333 | /// | 342 | /// |
| 334 | inline bool ShowAndGetSeconds(std::string& time, const std::string& heading) | 343 | inline bool ATTRIBUTE_HIDDEN ShowAndGetSeconds(std::string& time, const std::string& heading) |
| 335 | { | 344 | { |
| 336 | using namespace ::kodi::addon; | 345 | using namespace ::kodi::addon; |
| 337 | char* retString = nullptr; | 346 | 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 | |||
| 52 | /// kodi::gui::dialogs::OK::ShowAndGetInput("Test dialog", "Hello World!\nI'm a call from add-on\n :) :D"); | 52 | /// kodi::gui::dialogs::OK::ShowAndGetInput("Test dialog", "Hello World!\nI'm a call from add-on\n :) :D"); |
| 53 | /// ~~~~~~~~~~~~~ | 53 | /// ~~~~~~~~~~~~~ |
| 54 | /// | 54 | /// |
| 55 | inline void ShowAndGetInput(const std::string& heading, const std::string& text) | 55 | inline void ATTRIBUTE_HIDDEN ShowAndGetInput(const std::string& heading, const std::string& text) |
| 56 | { | 56 | { |
| 57 | using namespace ::kodi::addon; | 57 | using namespace ::kodi::addon; |
| 58 | CAddonBase::m_interface->toKodi->kodi_gui->dialogOK->show_and_get_input_single_text(CAddonBase::m_interface->toKodi->kodiBase, | 58 | CAddonBase::m_interface->toKodi->kodi_gui->dialogOK->show_and_get_input_single_text( |
| 59 | heading.c_str(), text.c_str()); | 59 | CAddonBase::m_interface->toKodi->kodiBase, heading.c_str(), text.c_str()); |
| 60 | } | 60 | } |
| 61 | //-------------------------------------------------------------------------- | 61 | //-------------------------------------------------------------------------- |
| 62 | 62 | ||
| @@ -80,7 +80,10 @@ namespace dialogs | |||
| 80 | /// kodi::gui::dialogs::OK::ShowAndGetInput("Test dialog", "Hello World!", "I'm a call from add-on", " :) :D"); | 80 | /// kodi::gui::dialogs::OK::ShowAndGetInput("Test dialog", "Hello World!", "I'm a call from add-on", " :) :D"); |
| 81 | /// ~~~~~~~~~~~~~ | 81 | /// ~~~~~~~~~~~~~ |
| 82 | /// | 82 | /// |
| 83 | inline void ShowAndGetInput(const std::string& heading, const std::string& line0, const std::string& line1, const std::string& line2) | 83 | inline void ATTRIBUTE_HIDDEN ShowAndGetInput(const std::string& heading, |
| 84 | const std::string& line0, | ||
| 85 | const std::string& line1, | ||
| 86 | const std::string& line2) | ||
| 84 | { | 87 | { |
| 85 | using namespace ::kodi::addon; | 88 | using namespace ::kodi::addon; |
| 86 | CAddonBase::m_interface->toKodi->kodi_gui->dialogOK->show_and_get_input_line_text(CAddonBase::m_interface->toKodi->kodiBase, | 89 | 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 | |||
| 18 | namespace dialogs | 18 | namespace dialogs |
| 19 | { | 19 | { |
| 20 | 20 | ||
| 21 | //============================================================================ | 21 | //============================================================================ |
| 22 | /// | 22 | /// |
| 23 | /// \defgroup cpp_kodi_gui_dialogs_CProgress Dialog Progress | 23 | /// \defgroup cpp_kodi_gui_dialogs_CProgress Dialog Progress |
| 24 | /// \ingroup cpp_kodi_gui | 24 | /// \ingroup cpp_kodi_gui |
| 25 | /// @brief \cpp_class{ kodi::gui::dialogs::CProgress } | 25 | /// @brief \cpp_class{ kodi::gui::dialogs::CProgress } |
| 26 | /// **Progress dialog shown in center** | 26 | /// **Progress dialog shown in center** |
| 27 | /// | 27 | /// |
| 28 | /// The with \ref DialogProgress.h "#include <kodi/gui/dialogs/Progress.h>" | 28 | /// The with \ref DialogProgress.h "#include <kodi/gui/dialogs/Progress.h>" |
| 29 | /// given class are basically used to create Kodi's progress dialog with named | 29 | /// given class are basically used to create Kodi's progress dialog with named |
| 30 | /// text fields. | 30 | /// text fields. |
| 31 | /// | 31 | /// |
| 32 | /// **Example:** | 32 | /// **Example:** |
| 33 | /// ~~~~~~~~~~~~~{.cpp} | 33 | /// ~~~~~~~~~~~~~{.cpp} |
| 34 | /// #include <kodi/gui/dialogs/Progress.h> | 34 | /// #include <kodi/gui/dialogs/Progress.h> |
| 35 | /// | 35 | /// |
| 36 | /// kodi::gui::dialogs::CProgress *progress = new kodi::gui::dialogs::CProgress; | 36 | /// kodi::gui::dialogs::CProgress *progress = new kodi::gui::dialogs::CProgress; |
| 37 | /// progress->SetHeading("Test progress"); | 37 | /// progress->SetHeading("Test progress"); |
| 38 | /// progress->SetLine(1, "line 1"); | 38 | /// progress->SetLine(1, "line 1"); |
| 39 | /// progress->SetLine(2, "line 2"); | 39 | /// progress->SetLine(2, "line 2"); |
| 40 | /// progress->SetLine(3, "line 3"); | 40 | /// progress->SetLine(3, "line 3"); |
| 41 | /// progress->SetCanCancel(true); | 41 | /// progress->SetCanCancel(true); |
| 42 | /// progress->ShowProgressBar(true); | 42 | /// progress->ShowProgressBar(true); |
| 43 | /// progress->Open(); | 43 | /// progress->Open(); |
| 44 | /// for (unsigned int i = 0; i < 100; i += 10) | 44 | /// for (unsigned int i = 0; i < 100; i += 10) |
| 45 | /// { | 45 | /// { |
| 46 | /// progress->SetPercentage(i); | 46 | /// progress->SetPercentage(i); |
| 47 | /// sleep(1); | 47 | /// sleep(1); |
| 48 | /// } | 48 | /// } |
| 49 | /// delete progress; | 49 | /// delete progress; |
| 50 | /// ~~~~~~~~~~~~~ | 50 | /// ~~~~~~~~~~~~~ |
| 51 | /// | 51 | /// |
| 52 | class CProgress | 52 | class ATTRIBUTE_HIDDEN CProgress |
| 53 | { | ||
| 54 | public: | ||
| 55 | //========================================================================== | ||
| 56 | /// | ||
| 57 | /// \ingroup cpp_kodi_gui_dialogs_CProgress | ||
| 58 | /// @brief Construct a new dialog | ||
| 59 | /// | ||
| 60 | CProgress() | ||
| 61 | { | ||
| 62 | using namespace ::kodi::addon; | ||
| 63 | m_DialogHandle = CAddonBase::m_interface->toKodi->kodi_gui->dialogProgress->new_dialog( | ||
| 64 | CAddonBase::m_interface->toKodi->kodiBase); | ||
| 65 | if (!m_DialogHandle) | ||
| 66 | kodi::Log(ADDON_LOG_FATAL, | ||
| 67 | "kodi::gui::dialogs::CProgress can't create window class from Kodi !!!"); | ||
| 68 | } | ||
| 69 | //-------------------------------------------------------------------------- | ||
| 70 | |||
| 71 | //========================================================================== | ||
| 72 | /// | ||
| 73 | /// \ingroup cpp_kodi_gui_dialogs_CProgress | ||
| 74 | /// @brief Destructor | ||
| 75 | /// | ||
| 76 | ~CProgress() | ||
| 77 | { | ||
| 78 | using namespace ::kodi::addon; | ||
| 79 | if (m_DialogHandle) | ||
| 80 | CAddonBase::m_interface->toKodi->kodi_gui->dialogProgress->delete_dialog( | ||
| 81 | CAddonBase::m_interface->toKodi->kodiBase, m_DialogHandle); | ||
| 82 | } | ||
| 83 | //-------------------------------------------------------------------------- | ||
| 84 | |||
| 85 | //========================================================================== | ||
| 86 | /// | ||
| 87 | /// \ingroup cpp_kodi_gui_dialogs_CProgress | ||
| 88 | /// @brief To open the dialog | ||
| 89 | /// | ||
| 90 | void Open() | ||
| 91 | { | ||
| 92 | using namespace ::kodi::addon; | ||
| 93 | CAddonBase::m_interface->toKodi->kodi_gui->dialogProgress->open( | ||
| 94 | CAddonBase::m_interface->toKodi->kodiBase, m_DialogHandle); | ||
| 95 | } | ||
| 96 | //-------------------------------------------------------------------------- | ||
| 97 | |||
| 98 | //========================================================================== | ||
| 99 | /// | ||
| 100 | /// \ingroup cpp_kodi_gui_dialogs_CProgress | ||
| 101 | /// @brief Set the heading title of dialog | ||
| 102 | /// | ||
| 103 | /// @param[in] heading Title string to use | ||
| 104 | /// | ||
| 105 | void SetHeading(const std::string& heading) | ||
| 106 | { | ||
| 107 | using namespace ::kodi::addon; | ||
| 108 | CAddonBase::m_interface->toKodi->kodi_gui->dialogProgress->set_heading( | ||
| 109 | CAddonBase::m_interface->toKodi->kodiBase, m_DialogHandle, heading.c_str()); | ||
| 110 | } | ||
| 111 | //-------------------------------------------------------------------------- | ||
| 112 | |||
| 113 | //========================================================================== | ||
| 114 | /// | ||
| 115 | /// \ingroup cpp_kodi_gui_dialogs_CProgress | ||
| 116 | /// @brief To set the line text field on dialog from 0 - 2 | ||
| 117 | /// | ||
| 118 | /// @param[in] iLine Line number | ||
| 119 | /// @param[in] line Text string | ||
| 120 | /// | ||
| 121 | void SetLine(unsigned int iLine, const std::string& line) | ||
| 122 | { | ||
| 123 | using namespace ::kodi::addon; | ||
| 124 | CAddonBase::m_interface->toKodi->kodi_gui->dialogProgress->set_line( | ||
| 125 | CAddonBase::m_interface->toKodi->kodiBase, m_DialogHandle, iLine, line.c_str()); | ||
| 126 | } | ||
| 127 | //-------------------------------------------------------------------------- | ||
| 128 | |||
| 129 | //========================================================================== | ||
| 130 | /// | ||
| 131 | /// \ingroup cpp_kodi_gui_dialogs_CProgress | ||
| 132 | /// @brief To enable and show cancel button on dialog | ||
| 133 | /// | ||
| 134 | /// @param[in] canCancel if true becomes it shown | ||
| 135 | /// | ||
| 136 | void SetCanCancel(bool canCancel) | ||
| 137 | { | ||
| 138 | using namespace ::kodi::addon; | ||
| 139 | CAddonBase::m_interface->toKodi->kodi_gui->dialogProgress->set_can_cancel( | ||
| 140 | CAddonBase::m_interface->toKodi->kodiBase, m_DialogHandle, canCancel); | ||
| 141 | } | ||
| 142 | //-------------------------------------------------------------------------- | ||
| 143 | |||
| 144 | //========================================================================== | ||
| 145 | /// | ||
| 146 | /// \ingroup cpp_kodi_gui_dialogs_CProgress | ||
| 147 | /// @brief To check dialog for clicked cancel button | ||
| 148 | /// | ||
| 149 | /// @return True if canceled | ||
| 150 | /// | ||
| 151 | bool IsCanceled() const | ||
| 152 | { | ||
| 153 | using namespace ::kodi::addon; | ||
| 154 | return CAddonBase::m_interface->toKodi->kodi_gui->dialogProgress->is_canceled( | ||
| 155 | CAddonBase::m_interface->toKodi->kodiBase, m_DialogHandle); | ||
| 156 | } | ||
| 157 | //-------------------------------------------------------------------------- | ||
| 158 | |||
| 159 | //========================================================================== | ||
| 160 | /// | ||
| 161 | /// \ingroup cpp_kodi_gui_dialogs_CProgress | ||
| 162 | /// @brief Get the current progress position as percent | ||
| 163 | /// | ||
| 164 | /// @param[in] percentage Position to use from 0 to 100 | ||
| 165 | /// | ||
| 166 | void SetPercentage(int percentage) | ||
| 167 | { | ||
| 168 | using namespace ::kodi::addon; | ||
| 169 | CAddonBase::m_interface->toKodi->kodi_gui->dialogProgress->set_percentage( | ||
| 170 | CAddonBase::m_interface->toKodi->kodiBase, m_DialogHandle, percentage); | ||
| 171 | } | ||
| 172 | //-------------------------------------------------------------------------- | ||
| 173 | |||
| 174 | //========================================================================== | ||
| 175 | /// | ||
| 176 | /// \ingroup cpp_kodi_gui_dialogs_CProgress | ||
| 177 | /// @brief To set the current progress position as percent | ||
| 178 | /// | ||
| 179 | /// @return Current Position used from 0 to 100 | ||
| 180 | /// | ||
| 181 | int GetPercentage() const | ||
| 182 | { | ||
| 183 | using namespace ::kodi::addon; | ||
| 184 | return CAddonBase::m_interface->toKodi->kodi_gui->dialogProgress->get_percentage( | ||
| 185 | CAddonBase::m_interface->toKodi->kodiBase, m_DialogHandle); | ||
| 186 | } | ||
| 187 | //-------------------------------------------------------------------------- | ||
| 188 | |||
| 189 | //========================================================================== | ||
| 190 | /// | ||
| 191 | /// \ingroup cpp_kodi_gui_dialogs_CProgress | ||
| 192 | /// @brief To show or hide progress bar dialog | ||
| 193 | /// | ||
| 194 | /// @param[in] onOff If true becomes it shown | ||
| 195 | /// | ||
| 196 | void ShowProgressBar(bool onOff) | ||
| 197 | { | ||
| 198 | using namespace ::kodi::addon; | ||
| 199 | CAddonBase::m_interface->toKodi->kodi_gui->dialogProgress->show_progress_bar( | ||
| 200 | CAddonBase::m_interface->toKodi->kodiBase, m_DialogHandle, onOff); | ||
| 201 | } | ||
| 202 | //-------------------------------------------------------------------------- | ||
| 203 | |||
| 204 | //========================================================================== | ||
| 205 | /// | ||
| 206 | /// \ingroup cpp_kodi_gui_dialogs_CProgress | ||
| 207 | /// @brief Set the maximum position of progress, needed if `SetProgressAdvance(...)` is used | ||
| 208 | /// | ||
| 209 | /// @param[in] max Biggest usable position to use | ||
| 210 | /// | ||
| 211 | void SetProgressMax(int max) | ||
| 212 | { | ||
| 213 | using namespace ::kodi::addon; | ||
| 214 | CAddonBase::m_interface->toKodi->kodi_gui->dialogProgress->set_progress_max( | ||
| 215 | CAddonBase::m_interface->toKodi->kodiBase, m_DialogHandle, max); | ||
| 216 | } | ||
| 217 | //-------------------------------------------------------------------------- | ||
| 218 | |||
| 219 | //========================================================================== | ||
| 220 | /// | ||
| 221 | /// \ingroup cpp_kodi_gui_dialogs_CProgress | ||
| 222 | /// @brief To increase progress bar by defined step size until reach of maximum position | ||
| 223 | /// | ||
| 224 | /// @param[in] steps Step size to increase, default is 1 | ||
| 225 | /// | ||
| 226 | void SetProgressAdvance(int steps = 1) | ||
| 227 | { | ||
| 228 | using namespace ::kodi::addon; | ||
| 229 | CAddonBase::m_interface->toKodi->kodi_gui->dialogProgress->set_progress_advance( | ||
| 230 | CAddonBase::m_interface->toKodi->kodiBase, m_DialogHandle, steps); | ||
| 231 | } | ||
| 232 | //-------------------------------------------------------------------------- | ||
| 233 | |||
| 234 | //========================================================================== | ||
| 235 | /// | ||
| 236 | /// \ingroup cpp_kodi_gui_dialogs_CProgress | ||
| 237 | /// @brief To check progress was canceled on work | ||
| 238 | /// | ||
| 239 | /// @return True if aborted | ||
| 240 | /// | ||
| 241 | bool Abort() | ||
| 53 | { | 242 | { |
| 54 | public: | 243 | using namespace ::kodi::addon; |
| 55 | //========================================================================== | 244 | return CAddonBase::m_interface->toKodi->kodi_gui->dialogProgress->abort( |
| 56 | /// | 245 | CAddonBase::m_interface->toKodi->kodiBase, m_DialogHandle); |
| 57 | /// \ingroup cpp_kodi_gui_dialogs_CProgress | 246 | } |
| 58 | /// @brief Construct a new dialog | 247 | //-------------------------------------------------------------------------- |
| 59 | /// | 248 | |
| 60 | CProgress() | 249 | private: |
| 61 | { | 250 | void* m_DialogHandle; |
| 62 | using namespace ::kodi::addon; | 251 | }; |
| 63 | m_DialogHandle = CAddonBase::m_interface->toKodi->kodi_gui->dialogProgress->new_dialog(CAddonBase::m_interface->toKodi->kodiBase); | ||
| 64 | if (!m_DialogHandle) | ||
| 65 | kodi::Log(ADDON_LOG_FATAL, "kodi::gui::dialogs::CProgress can't create window class from Kodi !!!"); | ||
| 66 | } | ||
| 67 | //-------------------------------------------------------------------------- | ||
| 68 | |||
| 69 | //========================================================================== | ||
| 70 | /// | ||
| 71 | /// \ingroup cpp_kodi_gui_dialogs_CProgress | ||
| 72 | /// @brief Destructor | ||
| 73 | /// | ||
| 74 | ~CProgress() | ||
| 75 | { | ||
| 76 | using namespace ::kodi::addon; | ||
| 77 | if (m_DialogHandle) | ||
| 78 | CAddonBase::m_interface->toKodi->kodi_gui->dialogProgress->delete_dialog(CAddonBase::m_interface->toKodi->kodiBase, m_DialogHandle); | ||
| 79 | } | ||
| 80 | //-------------------------------------------------------------------------- | ||
| 81 | |||
| 82 | //========================================================================== | ||
| 83 | /// | ||
| 84 | /// \ingroup cpp_kodi_gui_dialogs_CProgress | ||
| 85 | /// @brief To open the dialog | ||
| 86 | /// | ||
| 87 | void Open() | ||
| 88 | { | ||
| 89 | using namespace ::kodi::addon; | ||
| 90 | CAddonBase::m_interface->toKodi->kodi_gui->dialogProgress->open(CAddonBase::m_interface->toKodi->kodiBase, m_DialogHandle); | ||
| 91 | } | ||
| 92 | //-------------------------------------------------------------------------- | ||
| 93 | |||
| 94 | //========================================================================== | ||
| 95 | /// | ||
| 96 | /// \ingroup cpp_kodi_gui_dialogs_CProgress | ||
| 97 | /// @brief Set the heading title of dialog | ||
| 98 | /// | ||
| 99 | /// @param[in] heading Title string to use | ||
| 100 | /// | ||
| 101 | void SetHeading(const std::string& heading) | ||
| 102 | { | ||
| 103 | using namespace ::kodi::addon; | ||
| 104 | CAddonBase::m_interface->toKodi->kodi_gui->dialogProgress->set_heading(CAddonBase::m_interface->toKodi->kodiBase, m_DialogHandle, heading.c_str()); | ||
| 105 | } | ||
| 106 | //-------------------------------------------------------------------------- | ||
| 107 | |||
| 108 | //========================================================================== | ||
| 109 | /// | ||
| 110 | /// \ingroup cpp_kodi_gui_dialogs_CProgress | ||
| 111 | /// @brief To set the line text field on dialog from 0 - 2 | ||
| 112 | /// | ||
| 113 | /// @param[in] iLine Line number | ||
| 114 | /// @param[in] line Text string | ||
| 115 | /// | ||
| 116 | void SetLine(unsigned int iLine, const std::string& line) | ||
| 117 | { | ||
| 118 | using namespace ::kodi::addon; | ||
| 119 | CAddonBase::m_interface->toKodi->kodi_gui->dialogProgress->set_line(CAddonBase::m_interface->toKodi->kodiBase, m_DialogHandle, iLine, line.c_str()); | ||
| 120 | } | ||
| 121 | //-------------------------------------------------------------------------- | ||
| 122 | |||
| 123 | //========================================================================== | ||
| 124 | /// | ||
| 125 | /// \ingroup cpp_kodi_gui_dialogs_CProgress | ||
| 126 | /// @brief To enable and show cancel button on dialog | ||
| 127 | /// | ||
| 128 | /// @param[in] canCancel if true becomes it shown | ||
| 129 | /// | ||
| 130 | void SetCanCancel(bool canCancel) | ||
| 131 | { | ||
| 132 | using namespace ::kodi::addon; | ||
| 133 | CAddonBase::m_interface->toKodi->kodi_gui->dialogProgress->set_can_cancel(CAddonBase::m_interface->toKodi->kodiBase, m_DialogHandle, canCancel); | ||
| 134 | } | ||
| 135 | //-------------------------------------------------------------------------- | ||
| 136 | |||
| 137 | //========================================================================== | ||
| 138 | /// | ||
| 139 | /// \ingroup cpp_kodi_gui_dialogs_CProgress | ||
| 140 | /// @brief To check dialog for clicked cancel button | ||
| 141 | /// | ||
| 142 | /// @return True if canceled | ||
| 143 | /// | ||
| 144 | bool IsCanceled() const | ||
| 145 | { | ||
| 146 | using namespace ::kodi::addon; | ||
| 147 | return CAddonBase::m_interface->toKodi->kodi_gui->dialogProgress->is_canceled(CAddonBase::m_interface->toKodi->kodiBase, m_DialogHandle); | ||
| 148 | } | ||
| 149 | //-------------------------------------------------------------------------- | ||
| 150 | |||
| 151 | //========================================================================== | ||
| 152 | /// | ||
| 153 | /// \ingroup cpp_kodi_gui_dialogs_CProgress | ||
| 154 | /// @brief Get the current progress position as percent | ||
| 155 | /// | ||
| 156 | /// @param[in] percentage Position to use from 0 to 100 | ||
| 157 | /// | ||
| 158 | void SetPercentage(int percentage) | ||
| 159 | { | ||
| 160 | using namespace ::kodi::addon; | ||
| 161 | CAddonBase::m_interface->toKodi->kodi_gui->dialogProgress->set_percentage(CAddonBase::m_interface->toKodi->kodiBase, m_DialogHandle, percentage); | ||
| 162 | } | ||
| 163 | //-------------------------------------------------------------------------- | ||
| 164 | |||
| 165 | //========================================================================== | ||
| 166 | /// | ||
| 167 | /// \ingroup cpp_kodi_gui_dialogs_CProgress | ||
| 168 | /// @brief To set the current progress position as percent | ||
| 169 | /// | ||
| 170 | /// @return Current Position used from 0 to 100 | ||
| 171 | /// | ||
| 172 | int GetPercentage() const | ||
| 173 | { | ||
| 174 | using namespace ::kodi::addon; | ||
| 175 | return CAddonBase::m_interface->toKodi->kodi_gui->dialogProgress->get_percentage(CAddonBase::m_interface->toKodi->kodiBase, m_DialogHandle); | ||
| 176 | } | ||
| 177 | //-------------------------------------------------------------------------- | ||
| 178 | |||
| 179 | //========================================================================== | ||
| 180 | /// | ||
| 181 | /// \ingroup cpp_kodi_gui_dialogs_CProgress | ||
| 182 | /// @brief To show or hide progress bar dialog | ||
| 183 | /// | ||
| 184 | /// @param[in] onOff If true becomes it shown | ||
| 185 | /// | ||
| 186 | void ShowProgressBar(bool onOff) | ||
| 187 | { | ||
| 188 | using namespace ::kodi::addon; | ||
| 189 | CAddonBase::m_interface->toKodi->kodi_gui->dialogProgress->show_progress_bar(CAddonBase::m_interface->toKodi->kodiBase, m_DialogHandle, onOff); | ||
| 190 | } | ||
| 191 | //-------------------------------------------------------------------------- | ||
| 192 | |||
| 193 | //========================================================================== | ||
| 194 | /// | ||
| 195 | /// \ingroup cpp_kodi_gui_dialogs_CProgress | ||
| 196 | /// @brief Set the maximum position of progress, needed if `SetProgressAdvance(...)` is used | ||
| 197 | /// | ||
| 198 | /// @param[in] max Biggest usable position to use | ||
| 199 | /// | ||
| 200 | void SetProgressMax(int max) | ||
| 201 | { | ||
| 202 | using namespace ::kodi::addon; | ||
| 203 | CAddonBase::m_interface->toKodi->kodi_gui->dialogProgress->set_progress_max(CAddonBase::m_interface->toKodi->kodiBase, m_DialogHandle, max); | ||
| 204 | } | ||
| 205 | //-------------------------------------------------------------------------- | ||
| 206 | |||
| 207 | //========================================================================== | ||
| 208 | /// | ||
| 209 | /// \ingroup cpp_kodi_gui_dialogs_CProgress | ||
| 210 | /// @brief To increase progress bar by defined step size until reach of maximum position | ||
| 211 | /// | ||
| 212 | /// @param[in] steps Step size to increase, default is 1 | ||
| 213 | /// | ||
| 214 | void SetProgressAdvance(int steps=1) | ||
| 215 | { | ||
| 216 | using namespace ::kodi::addon; | ||
| 217 | CAddonBase::m_interface->toKodi->kodi_gui->dialogProgress->set_progress_advance(CAddonBase::m_interface->toKodi->kodiBase, m_DialogHandle, steps); | ||
| 218 | } | ||
| 219 | //-------------------------------------------------------------------------- | ||
| 220 | |||
| 221 | //========================================================================== | ||
| 222 | /// | ||
| 223 | /// \ingroup cpp_kodi_gui_dialogs_CProgress | ||
| 224 | /// @brief To check progress was canceled on work | ||
| 225 | /// | ||
| 226 | /// @return True if aborted | ||
| 227 | /// | ||
| 228 | bool Abort() | ||
| 229 | { | ||
| 230 | using namespace ::kodi::addon; | ||
| 231 | return CAddonBase::m_interface->toKodi->kodi_gui->dialogProgress->abort(CAddonBase::m_interface->toKodi->kodiBase, m_DialogHandle); | ||
| 232 | } | ||
| 233 | //-------------------------------------------------------------------------- | ||
| 234 | |||
| 235 | private: | ||
| 236 | void* m_DialogHandle; | ||
| 237 | }; | ||
| 238 | 252 | ||
| 239 | } /* namespace dialogs */ | 253 | } /* namespace dialogs */ |
| 240 | } /* namespace gui */ | 254 | } /* 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 | |||
| 104 | /// fprintf(stderr, "Selected item is: %i\n", selected); | 104 | /// fprintf(stderr, "Selected item is: %i\n", selected); |
| 105 | /// ~~~~~~~~~~~~~ | 105 | /// ~~~~~~~~~~~~~ |
| 106 | /// | 106 | /// |
| 107 | inline int Show(const std::string& heading, const std::vector<std::string>& entries, int selected = -1, unsigned int autoclose = 0) | 107 | inline int ATTRIBUTE_HIDDEN Show(const std::string& heading, |
| 108 | const std::vector<std::string>& entries, | ||
| 109 | int selected = -1, | ||
| 110 | unsigned int autoclose = 0) | ||
| 108 | { | 111 | { |
| 109 | using namespace ::kodi::addon; | 112 | using namespace ::kodi::addon; |
| 110 | unsigned int size = entries.size(); | 113 | unsigned int size = static_cast<unsigned int>(entries.size()); |
| 111 | const char** cEntries = (const char**)malloc(size*sizeof(const char**)); | 114 | const char** cEntries = (const char**)malloc(size * sizeof(const char**)); |
| 112 | for (unsigned int i = 0; i < size; ++i) | 115 | for (unsigned int i = 0; i < size; ++i) |
| 113 | { | 116 | { |
| 114 | cEntries[i] = entries[i].c_str(); | 117 | cEntries[i] = entries[i].c_str(); |
| 115 | } | 118 | } |
| 116 | int ret = CAddonBase::m_interface->toKodi->kodi_gui->dialogSelect->open(CAddonBase::m_interface->toKodi->kodiBase, heading.c_str(), cEntries, size, selected, autoclose); | 119 | int ret = CAddonBase::m_interface->toKodi->kodi_gui->dialogSelect->open( |
| 120 | CAddonBase::m_interface->toKodi->kodiBase, heading.c_str(), cEntries, size, selected, | ||
| 121 | autoclose); | ||
| 117 | free(cEntries); | 122 | free(cEntries); |
| 118 | return ret; | 123 | return ret; |
| 119 | } | 124 | } |
| @@ -159,10 +164,13 @@ namespace dialogs | |||
| 159 | /// fprintf(stderr, "Selected item is: %i\n", selected); | 164 | /// fprintf(stderr, "Selected item is: %i\n", selected); |
| 160 | /// ~~~~~~~~~~~~~ | 165 | /// ~~~~~~~~~~~~~ |
| 161 | /// | 166 | /// |
| 162 | inline int Show(const std::string& heading, std::vector<SSelectionEntry>& entries, int selected = -1, unsigned int autoclose = 0) | 167 | inline int ATTRIBUTE_HIDDEN Show(const std::string& heading, |
| 168 | std::vector<SSelectionEntry>& entries, | ||
| 169 | int selected = -1, | ||
| 170 | unsigned int autoclose = 0) | ||
| 163 | { | 171 | { |
| 164 | using namespace ::kodi::addon; | 172 | using namespace ::kodi::addon; |
| 165 | unsigned int size = entries.size(); | 173 | unsigned int size = static_cast<unsigned int>(entries.size()); |
| 166 | const char** cEntries = static_cast<const char**>(malloc(size*sizeof(const char*))); | 174 | const char** cEntries = static_cast<const char**>(malloc(size*sizeof(const char*))); |
| 167 | for (unsigned int i = 0; i < size; ++i) | 175 | for (unsigned int i = 0; i < size; ++i) |
| 168 | { | 176 | { |
| @@ -224,10 +232,12 @@ namespace dialogs | |||
| 224 | /// } | 232 | /// } |
| 225 | /// ~~~~~~~~~~~~~ | 233 | /// ~~~~~~~~~~~~~ |
| 226 | /// | 234 | /// |
| 227 | inline bool ShowMultiSelect(const std::string& heading, std::vector<SSelectionEntry>& entries, int autoclose = 0) | 235 | inline bool ATTRIBUTE_HIDDEN ShowMultiSelect(const std::string& heading, |
| 236 | std::vector<SSelectionEntry>& entries, | ||
| 237 | int autoclose = 0) | ||
| 228 | { | 238 | { |
| 229 | using namespace ::kodi::addon; | 239 | using namespace ::kodi::addon; |
| 230 | unsigned int size = entries.size(); | 240 | unsigned int size = static_cast<unsigned int>(entries.size()); |
| 231 | const char** cEntryIDs = static_cast<const char**>(malloc(size*sizeof(const char*))); | 241 | const char** cEntryIDs = static_cast<const char**>(malloc(size*sizeof(const char*))); |
| 232 | const char** cEntryNames = static_cast<const char**>(malloc(size*sizeof(const char*))); | 242 | const char** cEntryNames = static_cast<const char**>(malloc(size*sizeof(const char*))); |
| 233 | bool* cEntriesSelected = static_cast<bool*>(malloc(size*sizeof(bool))); | 243 | bool* cEntriesSelected = static_cast<bool*>(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 | |||
| 93 | /// "interspersed renderings from classical composers.\n"); | 93 | /// "interspersed renderings from classical composers.\n"); |
| 94 | /// ~~~~~~~~~~~~~ | 94 | /// ~~~~~~~~~~~~~ |
| 95 | /// | 95 | /// |
| 96 | inline void Show(const std::string& heading, const std::string& text) | 96 | inline void ATTRIBUTE_HIDDEN Show(const std::string& heading, const std::string& text) |
| 97 | { | 97 | { |
| 98 | using namespace ::kodi::addon; | 98 | using namespace ::kodi::addon; |
| 99 | CAddonBase::m_interface->toKodi->kodi_gui->dialogTextViewer->open(CAddonBase::m_interface->toKodi->kodiBase, heading.c_str(), text.c_str()); | 99 | CAddonBase::m_interface->toKodi->kodi_gui->dialogTextViewer->open( |
| 100 | CAddonBase::m_interface->toKodi->kodiBase, heading.c_str(), text.c_str()); | ||
| 100 | } | 101 | } |
| 101 | //-------------------------------------------------------------------------- | 102 | //-------------------------------------------------------------------------- |
| 102 | }; | 103 | }; |
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 | |||
| 73 | /// canceled ? "canceled" : "not canceled"); | 73 | /// canceled ? "canceled" : "not canceled"); |
| 74 | /// ~~~~~~~~~~~~~ | 74 | /// ~~~~~~~~~~~~~ |
| 75 | /// | 75 | /// |
| 76 | inline bool ShowAndGetInput(const std::string& heading, const std::string& text, | 76 | inline bool ATTRIBUTE_HIDDEN ShowAndGetInput(const std::string& heading, |
| 77 | bool& canceled, const std::string& noLabel = "", | 77 | const std::string& text, |
| 78 | const std::string& yesLabel = "") | 78 | bool& canceled, |
| 79 | const std::string& noLabel = "", | ||
| 80 | const std::string& yesLabel = "") | ||
| 79 | { | 81 | { |
| 80 | using namespace ::kodi::addon; | 82 | using namespace ::kodi::addon; |
| 81 | return CAddonBase::m_interface->toKodi->kodi_gui->dialogYesNo->show_and_get_input_single_text(CAddonBase::m_interface->toKodi->kodiBase, | 83 | return CAddonBase::m_interface->toKodi->kodi_gui->dialogYesNo->show_and_get_input_single_text( |
| 82 | heading.c_str(), text.c_str(), &canceled, | 84 | CAddonBase::m_interface->toKodi->kodiBase, heading.c_str(), text.c_str(), &canceled, |
| 83 | noLabel.c_str(), yesLabel.c_str()); | 85 | noLabel.c_str(), yesLabel.c_str()); |
| 84 | } | 86 | } |
| 85 | //-------------------------------------------------------------------------- | 87 | //-------------------------------------------------------------------------- |
| 86 | 88 | ||
| @@ -115,9 +117,12 @@ namespace dialogs | |||
| 115 | /// ret ? "yes" : "no"); | 117 | /// ret ? "yes" : "no"); |
| 116 | /// ~~~~~~~~~~~~~ | 118 | /// ~~~~~~~~~~~~~ |
| 117 | /// | 119 | /// |
| 118 | inline bool ShowAndGetInput(const std::string& heading, const std::string& line0, const std::string& line1, | 120 | inline bool ATTRIBUTE_HIDDEN ShowAndGetInput(const std::string& heading, |
| 119 | const std::string& line2, const std::string& noLabel = "", | 121 | const std::string& line0, |
| 120 | const std::string& yesLabel = "") | 122 | const std::string& line1, |
| 123 | const std::string& line2, | ||
| 124 | const std::string& noLabel = "", | ||
| 125 | const std::string& yesLabel = "") | ||
| 121 | { | 126 | { |
| 122 | using namespace ::kodi::addon; | 127 | using namespace ::kodi::addon; |
| 123 | return CAddonBase::m_interface->toKodi->kodi_gui->dialogYesNo->show_and_get_input_line_text(CAddonBase::m_interface->toKodi->kodiBase, | 128 | 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 | |||
| 161 | /// canceled ? "canceled" : "not canceled"); | 166 | /// canceled ? "canceled" : "not canceled"); |
| 162 | /// ~~~~~~~~~~~~~ | 167 | /// ~~~~~~~~~~~~~ |
| 163 | /// | 168 | /// |
| 164 | inline bool ShowAndGetInput(const std::string& heading, const std::string& line0, const std::string& line1, | 169 | inline bool ATTRIBUTE_HIDDEN ShowAndGetInput(const std::string& heading, |
| 165 | const std::string& line2, bool& canceled, const std::string& noLabel = "", | 170 | const std::string& line0, |
| 166 | const std::string& yesLabel = "") | 171 | const std::string& line1, |
| 172 | const std::string& line2, | ||
| 173 | bool& canceled, | ||
| 174 | const std::string& noLabel = "", | ||
| 175 | const std::string& yesLabel = "") | ||
| 167 | { | 176 | { |
| 168 | using namespace ::kodi::addon; | 177 | using namespace ::kodi::addon; |
| 169 | return CAddonBase::m_interface->toKodi->kodi_gui->dialogYesNo->show_and_get_input_line_button_text(CAddonBase::m_interface->toKodi->kodiBase, | 178 | return CAddonBase::m_interface->toKodi->kodi_gui->dialogYesNo->show_and_get_input_line_button_text(CAddonBase::m_interface->toKodi->kodiBase, |
