diff options
author | Kevin Krammer <kevin.krammer.qnx@kdab.com> | 2012-03-27 17:43:43 +0200 |
---|---|---|
committer | Qt by Nokia <qt-info@nokia.com> | 2012-03-30 11:47:55 +0200 |
commit | 831943d7f12addef79fb536e5550da0f72480217 (patch) | |
tree | 2b0d8bd1287c51e49bfbc6bfe59316c75d40d84a /src/plugins/platforms/qnx/qqnxvirtualkeyboard.h | |
parent | 724e0e20aecb3ac20601c9e7a29e1041a24e2214 (diff) |
Separate virtual keyboard interface and implementation
Allows us to create a BPS based implementation and drop it in
without further changes to users of the interface.
Change-Id: I16313717e1200d717c330cbb18c3314567af51c2
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
Reviewed-by: Thomas McGuire <thomas.mcguire@kdab.com>
Reviewed-by: Robin Burchell <robin+qt@viroteck.net>
Diffstat (limited to 'src/plugins/platforms/qnx/qqnxvirtualkeyboard.h')
-rw-r--r-- | src/plugins/platforms/qnx/qqnxvirtualkeyboard.h | 40 |
1 files changed, 5 insertions, 35 deletions
diff --git a/src/plugins/platforms/qnx/qqnxvirtualkeyboard.h b/src/plugins/platforms/qnx/qqnxvirtualkeyboard.h index 9f29a077e6..b01a4df963 100644 --- a/src/plugins/platforms/qnx/qqnxvirtualkeyboard.h +++ b/src/plugins/platforms/qnx/qqnxvirtualkeyboard.h @@ -42,13 +42,8 @@ #ifndef VIRTUALKEYBOARD_H_ #define VIRTUALKEYBOARD_H_ -#include <QtCore/QObject> -#include <QtCore/QLocale> -#include <QtGui/QPlatformScreen> +#include "qqnxabstractvirtualkeyboard.h" -#include <stddef.h> -#include <vector> -#include <string> #include <sys/pps.h> QT_BEGIN_NAMESPACE @@ -56,41 +51,21 @@ QT_BEGIN_NAMESPACE class QSocketNotifier; /* Shamelessly copied from the browser - this should be rewritten once we have a proper PPS wrapper class */ -class QQnxVirtualKeyboard : public QObject +class QQnxVirtualKeyboard : public QQnxAbstractVirtualKeyboard { Q_OBJECT public: - // NOTE: Not all the following keyboard modes are currently used. - // Default - Regular Keyboard - // Url/Email - Enhanced keys for each types. - // Web - Regular keyboard with two blank keys, currently unused. - // NumPunc - Numbers & Punctionation, alternate to Symbol - // Symbol - All symbols, alternate to NumPunc, currently unused. - // Phone - Phone enhanced keyboard - currently unused as no alternate keyboard available to access a-zA-Z - // Pin - Keyboard for entering Pins (Hex values) currently unused. - // - // SPECIAL NOTE: Usage of NumPunc may have to be removed, ABC button is non-functional. - // - enum KeyboardMode { Default, Url, Email, Web, NumPunc, Symbol, Phone, Pin }; - QQnxVirtualKeyboard(); ~QQnxVirtualKeyboard(); bool showKeyboard(); bool hideKeyboard(); - int height() { return m_visible ? m_height : 0; } - void setKeyboardMode(KeyboardMode); - void notifyClientActiveStateChange(bool); - bool isVisible() const { return m_visible; } - QLocale locale() const { return m_locale; } public Q_SLOTS: void start(); -Q_SIGNALS: - void localeChanged(const QLocale &locale); - void visibilityChanged(bool visible); - void heightChanged(int height); +protected: + void applyKeyboardMode(KeyboardMode mode); private Q_SLOTS: void ppsDataReady(); @@ -101,9 +76,8 @@ private: void close(); bool queryPPSInfo(); void handleKeyboardInfoMessage(); - void handleKeyboardStateChangeMessage(bool visible); - void applyKeyboardModeOptions(); + void applyKeyboardModeOptions(KeyboardMode mode); void addDefaultModeOptions(); void addUrlModeOptions(); void addEmailModeOptions(); @@ -116,11 +90,7 @@ private: pps_encoder_t *m_encoder; pps_decoder_t *m_decoder; char *m_buffer; - int m_height; int m_fd; - KeyboardMode m_keyboardMode; - bool m_visible; - QLocale m_locale; QSocketNotifier *m_readNotifier; // Path to keyboardManager in PPS. |