diff options
Diffstat (limited to 'src/plugins/platforms/qnx/qqnxvirtualkeyboard.h')
-rw-r--r-- | src/plugins/platforms/qnx/qqnxvirtualkeyboard.h | 17 |
1 files changed, 11 insertions, 6 deletions
diff --git a/src/plugins/platforms/qnx/qqnxvirtualkeyboard.h b/src/plugins/platforms/qnx/qqnxvirtualkeyboard.h index 21b2e8736c..73a296fb9f 100644 --- a/src/plugins/platforms/qnx/qqnxvirtualkeyboard.h +++ b/src/plugins/platforms/qnx/qqnxvirtualkeyboard.h @@ -42,7 +42,7 @@ #ifndef VIRTUALKEYBOARD_H_ #define VIRTUALKEYBOARD_H_ -#include <QtCore/QThread> +#include <QtCore/QObject> #include <QtCore/QLocale> #include <QtGui/QPlatformScreen> #include <QtGui/QWindowSystemInterface> @@ -52,10 +52,12 @@ #include <string> #include <sys/pps.h> +class QSocketNotifier; + QT_BEGIN_NAMESPACE /* Shamelessly copied from the browser - this should be rewritten once we have a proper PPS wrapper class */ -class QQnxVirtualKeyboard : public QThread +class QQnxVirtualKeyboard : public QObject { Q_OBJECT public: @@ -83,10 +85,16 @@ public: 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); +private Q_SLOTS: + void ppsDataReady(); + private: QQnxVirtualKeyboard(); virtual ~QQnxVirtualKeyboard(); @@ -94,7 +102,6 @@ private: // Will be called internally if needed. bool connect(); void close(); - void ppsDataReady(); bool queryPPSInfo(); void handleKeyboardInfoMessage(); void handleKeyboardStateChangeMessage(bool visible); @@ -110,9 +117,6 @@ private: void addPhoneModeOptions(); void addPinModeOptions(); - // QThread overrides - virtual void run(); - pps_encoder_t *m_encoder; pps_decoder_t *m_decoder; char *m_buffer; @@ -121,6 +125,7 @@ private: KeyboardMode m_keyboardMode; bool m_visible; QLocale m_locale; + QSocketNotifier *m_readNotifier; // Path to keyboardManager in PPS. static const char *ms_PPSPath; |