summaryrefslogtreecommitdiffstats
path: root/src/plugins/platforms/qnx/qqnxvirtualkeyboard.h
diff options
context:
space:
mode:
authorKevin Krammer <kevin.krammer.qnx@kdab.com>2012-03-27 17:43:43 +0200
committerQt by Nokia <qt-info@nokia.com>2012-03-30 11:47:55 +0200
commit831943d7f12addef79fb536e5550da0f72480217 (patch)
tree2b0d8bd1287c51e49bfbc6bfe59316c75d40d84a /src/plugins/platforms/qnx/qqnxvirtualkeyboard.h
parent724e0e20aecb3ac20601c9e7a29e1041a24e2214 (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.h40
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.