summaryrefslogtreecommitdiffstats
path: root/xbmc/dialogs/GUIDialogKeyboardTouch.cpp
diff options
context:
space:
mode:
authorDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-10 18:07:22 +0000
committerDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-10 18:07:22 +0000
commitc04dcc2e7d834218ef2d4194331e383402495ae1 (patch)
tree7333e38d10d75386e60f336b80c2443c1166031d /xbmc/dialogs/GUIDialogKeyboardTouch.cpp
parentInitial commit. (diff)
downloadkodi-c04dcc2e7d834218ef2d4194331e383402495ae1.tar.xz
kodi-c04dcc2e7d834218ef2d4194331e383402495ae1.zip
Adding upstream version 2:20.4+dfsg.upstream/2%20.4+dfsg
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'xbmc/dialogs/GUIDialogKeyboardTouch.cpp')
-rw-r--r--xbmc/dialogs/GUIDialogKeyboardTouch.cpp86
1 files changed, 86 insertions, 0 deletions
diff --git a/xbmc/dialogs/GUIDialogKeyboardTouch.cpp b/xbmc/dialogs/GUIDialogKeyboardTouch.cpp
new file mode 100644
index 0000000..e9511ce
--- /dev/null
+++ b/xbmc/dialogs/GUIDialogKeyboardTouch.cpp
@@ -0,0 +1,86 @@
+/*
+ * Copyright (C) 2012-2018 Team Kodi
+ * This file is part of Kodi - https://kodi.tv
+ *
+ * SPDX-License-Identifier: GPL-2.0-or-later
+ * See LICENSES/README.md for more information.
+ */
+
+#include "GUIDialogKeyboardTouch.h"
+#if defined(TARGET_DARWIN_EMBEDDED)
+#include "platform/darwin/ios-common/DarwinEmbedKeyboard.h"
+#endif
+
+CGUIDialogKeyboardTouch::CGUIDialogKeyboardTouch()
+: CGUIDialog(WINDOW_DIALOG_KEYBOARD_TOUCH, "")
+, CGUIKeyboard()
+, CThread("keyboard")
+, m_pCharCallback(NULL)
+{
+}
+
+bool CGUIDialogKeyboardTouch::ShowAndGetInput(char_callback_t pCallback, const std::string &initialString, std::string &typedString, const std::string &heading, bool bHiddenInput)
+{
+#if defined(TARGET_DARWIN_EMBEDDED)
+ m_keyboard.reset(new CDarwinEmbedKeyboard());
+#endif
+
+ if (!m_keyboard)
+ return false;
+
+ m_pCharCallback = pCallback;
+ m_initialString = initialString;
+ m_typedString = typedString;
+ m_heading = heading;
+ m_bHiddenInput = bHiddenInput;
+
+ m_confirmed = false;
+ Initialize();
+ Open();
+
+ m_keyboard.reset();
+
+ if (m_confirmed)
+ {
+ typedString = m_typedString;
+ return true;
+ }
+
+ return false;
+}
+
+bool CGUIDialogKeyboardTouch::SetTextToKeyboard(const std::string &text, bool closeKeyboard)
+{
+ if (m_keyboard)
+ return m_keyboard->SetTextToKeyboard(text, closeKeyboard);
+
+ return false;
+}
+
+void CGUIDialogKeyboardTouch::Cancel()
+{
+ if (m_keyboard)
+ m_keyboard->Cancel();
+}
+
+int CGUIDialogKeyboardTouch::GetWindowId() const
+{
+ return GetID();
+}
+
+void CGUIDialogKeyboardTouch::OnInitWindow()
+{
+ CGUIDialog::OnInitWindow();
+ m_windowLoaded = true;
+ m_active = true;
+ Create();
+}
+
+void CGUIDialogKeyboardTouch::Process()
+{
+ if (m_keyboard)
+ {
+ m_confirmed = m_keyboard->ShowAndGetInput(m_pCharCallback, m_initialString, m_typedString, m_heading, m_bHiddenInput);
+ }
+ Close();
+} \ No newline at end of file