summaryrefslogtreecommitdiffstats
path: root/xbmc/interfaces/legacy/Keyboard.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'xbmc/interfaces/legacy/Keyboard.cpp')
-rw-r--r--xbmc/interfaces/legacy/Keyboard.cpp66
1 files changed, 66 insertions, 0 deletions
diff --git a/xbmc/interfaces/legacy/Keyboard.cpp b/xbmc/interfaces/legacy/Keyboard.cpp
new file mode 100644
index 0000000..2b7e08c
--- /dev/null
+++ b/xbmc/interfaces/legacy/Keyboard.cpp
@@ -0,0 +1,66 @@
+/*
+ * Copyright (C) 2005-2018 Team Kodi
+ * This file is part of Kodi - https://kodi.tv
+ *
+ * SPDX-License-Identifier: GPL-2.0-or-later
+ * See LICENSES/README.md for more information.
+ */
+
+#include "Keyboard.h"
+
+#include "LanguageHook.h"
+#include "guilib/GUIKeyboardFactory.h"
+#include "messaging/ApplicationMessenger.h"
+#include "utils/Variant.h"
+
+using namespace KODI::MESSAGING;
+
+namespace XBMCAddon
+{
+ namespace xbmc
+ {
+
+ Keyboard::Keyboard(const String& line /* = nullString*/, const String& heading/* = nullString*/, bool hidden/* = false*/)
+ : strDefault(line), strHeading(heading), bHidden(hidden)
+ {
+ }
+
+ Keyboard::~Keyboard() = default;
+
+ void Keyboard::doModal(int autoclose)
+ {
+ DelayedCallGuard dg(languageHook);
+ // using keyboardfactory method to get native keyboard if there is.
+ strText = strDefault;
+ std::string text(strDefault);
+ bConfirmed = CGUIKeyboardFactory::ShowAndGetInput(text, CVariant{strHeading}, true, bHidden, autoclose * 1000);
+ strText = text;
+ }
+
+ void Keyboard::setDefault(const String& line)
+ {
+ strDefault = line;
+ }
+
+ void Keyboard::setHiddenInput(bool hidden)
+ {
+ bHidden = hidden;
+ }
+
+ void Keyboard::setHeading(const String& heading)
+ {
+ strHeading = heading;
+ }
+
+ String Keyboard::getText()
+ {
+ return strText;
+ }
+
+ bool Keyboard::isConfirmed()
+ {
+ return bConfirmed;
+ }
+ }
+}
+