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
5
7
8QQnxAbstractVirtualKeyboard::QQnxAbstractVirtualKeyboard(QObject *parent)
10 , m_height(0)
11 , m_visible(false)
12 , m_locale(QLocale::system())
13 , m_keyboardMode(Default)
14 , m_enterKeyType(DefaultReturn)
15{
16}
17
18void QQnxAbstractVirtualKeyboard::setKeyboardMode(KeyboardMode mode)
19{
20 if (mode == m_keyboardMode)
21 return;
22
23 m_keyboardMode = mode;
24
25 if (m_visible)
26 applyKeyboardOptions();
27}
28
29void QQnxAbstractVirtualKeyboard::setEnterKeyType(EnterKeyType type)
30{
31 if (type == m_enterKeyType)
32 return;
33
34 m_enterKeyType = type;
35
36 if (m_visible)
37 applyKeyboardOptions();
38}
39
40void QQnxAbstractVirtualKeyboard::setInputHints(int inputHints)
41{
42 if (inputHints & Qt::ImhEmailCharactersOnly) {
43 setKeyboardMode(QQnxAbstractVirtualKeyboard::Email);
44 } else if (inputHints & Qt::ImhDialableCharactersOnly) {
45 setKeyboardMode(QQnxAbstractVirtualKeyboard::Phone);
46 } else if (inputHints & Qt::ImhUrlCharactersOnly) {
47 setKeyboardMode(QQnxAbstractVirtualKeyboard::Url);
48 } else if (inputHints & Qt::ImhFormattedNumbersOnly || inputHints & Qt::ImhDigitsOnly) {
49 setKeyboardMode(QQnxAbstractVirtualKeyboard::Number);
50 } else if (inputHints & Qt::ImhDate || inputHints & Qt::ImhTime) {
51 setKeyboardMode(QQnxAbstractVirtualKeyboard::NumPunc); // Use NumPunc so that : is available.
52 } else if (inputHints & Qt::ImhHiddenText) {
53 setKeyboardMode(QQnxAbstractVirtualKeyboard::Password);
54 } else {
55 setKeyboardMode(QQnxAbstractVirtualKeyboard::Default);
56 }
57}
58
59void QQnxAbstractVirtualKeyboard::setHeight(int height)
60{
61 if (height == m_height)
62 return;
63
64 const int effectiveHeight = this->height();
65
66 m_height = height;
67
68 if (effectiveHeight != this->height())
69 emit heightChanged(this->height());
70}
71
72void QQnxAbstractVirtualKeyboard::setVisible(bool visible)
73{
74 if (visible == m_visible)
75 return;
76
77 const int effectiveHeight = height();
78
79 m_visible = visible;
80
81 emit visibilityChanged(visible);
82
83 if (effectiveHeight != height())
84 emit heightChanged(height());
85}
86
87void QQnxAbstractVirtualKeyboard::setLocale(const QLocale &locale)
88{
89 if (locale == m_locale)
90 return;
91
92 m_locale = locale;
93
94 emit localeChanged(locale);
95}
96
97QQnxAbstractVirtualKeyboard::EnterKeyType
98 QQnxAbstractVirtualKeyboard::qtEnterKeyTypeToQnx(Qt::EnterKeyType type)
99{
100 switch (type) {
101 case Qt::EnterKeyDone:
102 return Done;
103 case Qt::EnterKeyGo:
104 return Go;
105 case Qt::EnterKeyNext:
106 return Next;
107 case Qt::EnterKeySearch:
108 return Search;
109 case Qt::EnterKeySend:
110 return Send;
111 case Qt::EnterKeyDefault:
112 case Qt::EnterKeyReturn:
113 case Qt::EnterKeyPrevious: // unsupported
114 return DefaultReturn;
115 }
116 Q_UNREACHABLE();
117 return DefaultReturn;
118}
119
120QT_END_NAMESPACE
QObject * parent
Definition qobject.h:73
\inmodule QtCore
Definition qobject.h:105