Qt
Internal/Contributor docs for the Qt SDK. Note: These are NOT official API docs; those are found at https://doc.qt.io/
Loading...
Searching...
No Matches
qqnxabstractvirtualkeyboard.cpp
Go to the documentation of this file.
1// Copyright (C) 2013 BlackBerry Limited. All rights reserved.
2// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
3// Qt-Security score:significant reason:default
4
6
8
9QQnxAbstractVirtualKeyboard::QQnxAbstractVirtualKeyboard(QObject *parent)
11 , m_height(0)
12 , m_visible(false)
13 , m_locale(QLocale::system())
14 , m_keyboardMode(Default)
15 , m_enterKeyType(DefaultReturn)
16{
17}
18
19void QQnxAbstractVirtualKeyboard::setKeyboardMode(KeyboardMode mode)
20{
21 if (mode == m_keyboardMode)
22 return;
23
24 m_keyboardMode = mode;
25
26 if (m_visible)
27 applyKeyboardOptions();
28}
29
30void QQnxAbstractVirtualKeyboard::setEnterKeyType(EnterKeyType type)
31{
32 if (type == m_enterKeyType)
33 return;
34
35 m_enterKeyType = type;
36
37 if (m_visible)
38 applyKeyboardOptions();
39}
40
41void QQnxAbstractVirtualKeyboard::setInputHints(int inputHints)
42{
43 if (inputHints & Qt::ImhEmailCharactersOnly) {
44 setKeyboardMode(QQnxAbstractVirtualKeyboard::Email);
45 } else if (inputHints & Qt::ImhDialableCharactersOnly) {
46 setKeyboardMode(QQnxAbstractVirtualKeyboard::Phone);
47 } else if (inputHints & Qt::ImhUrlCharactersOnly) {
48 setKeyboardMode(QQnxAbstractVirtualKeyboard::Url);
49 } else if (inputHints & Qt::ImhFormattedNumbersOnly || inputHints & Qt::ImhDigitsOnly) {
50 setKeyboardMode(QQnxAbstractVirtualKeyboard::Number);
51 } else if (inputHints & Qt::ImhDate || inputHints & Qt::ImhTime) {
52 setKeyboardMode(QQnxAbstractVirtualKeyboard::NumPunc); // Use NumPunc so that : is available.
53 } else if (inputHints & Qt::ImhHiddenText) {
54 setKeyboardMode(QQnxAbstractVirtualKeyboard::Password);
55 } else {
56 setKeyboardMode(QQnxAbstractVirtualKeyboard::Default);
57 }
58}
59
60void QQnxAbstractVirtualKeyboard::setHeight(int height)
61{
62 if (height == m_height)
63 return;
64
65 const int effectiveHeight = this->height();
66
67 m_height = height;
68
69 if (effectiveHeight != this->height())
70 emit heightChanged(this->height());
71}
72
73void QQnxAbstractVirtualKeyboard::setVisible(bool visible)
74{
75 if (visible == m_visible)
76 return;
77
78 const int effectiveHeight = height();
79
80 m_visible = visible;
81
82 emit visibilityChanged(visible);
83
84 if (effectiveHeight != height())
85 emit heightChanged(height());
86}
87
88void QQnxAbstractVirtualKeyboard::setLocale(const QLocale &locale)
89{
90 if (locale == m_locale)
91 return;
92
93 m_locale = locale;
94
95 emit localeChanged(locale);
96}
97
98QQnxAbstractVirtualKeyboard::EnterKeyType
99 QQnxAbstractVirtualKeyboard::qtEnterKeyTypeToQnx(Qt::EnterKeyType type)
100{
101 switch (type) {
102 case Qt::EnterKeyDone:
103 return Done;
104 case Qt::EnterKeyGo:
105 return Go;
106 case Qt::EnterKeyNext:
107 return Next;
108 case Qt::EnterKeySearch:
109 return Search;
110 case Qt::EnterKeySend:
111 return Send;
112 case Qt::EnterKeyDefault:
113 case Qt::EnterKeyReturn:
114 case Qt::EnterKeyPrevious: // unsupported
115 return DefaultReturn;
116 }
117 Q_UNREACHABLE();
118 return DefaultReturn;
119}
120
121QT_END_NAMESPACE
QObject * parent
Definition qobject.h:74
\inmodule QtCore
Definition qobject.h:106
Combined button and popup list for selecting options.