diff -r 3d09643def13 -r 6bfad47013df qtmobileextensions/examples/keycaptureex/mybutton.h --- a/qtmobileextensions/examples/keycaptureex/mybutton.h Fri Sep 17 08:34:25 2010 +0300 +++ b/qtmobileextensions/examples/keycaptureex/mybutton.h Mon Oct 04 01:32:41 2010 +0300 @@ -28,25 +28,30 @@ #include #include -class MyKeyButton : public QPushButton +class MyButton : public QPushButton { Q_OBJECT public: - MyKeyButton(QPlainTextEdit *logger, QWidget *parent = 0) - : - QPushButton(QString("dummy"), parent) + + MyButton(QPlainTextEdit *logger, QWidget *parent = 0) : QPushButton(QString("focus here"), parent) { justLogger = logger; keyLabels.insert(Qt::Key_VolumeUp, "Volume Up"); - keyLabels.insert(Qt::Key_VolumeDown, "Volume Down"); + keyLabels.insert(Qt::Key_VolumeDown, "Volume Down"); + keyLabels.insert(Qt::Key_Hangup, "Hangup"); + keyLabels.insert(Qt::Key_Play, "Play"); + keyLabels.insert(Qt::Key_MediaNext, "Media Next"); + keyLabels.insert(Qt::Key_MediaPrevious, "Media Previous"); + keyLabels.insert(Qt::Key_Forward, "Forward"); + keyLabels.insert(Qt::Key_Back, "Back"); } - ~MyKeyButton() + ~MyButton() { } - bool event(QEvent *event) + /*bool event(QEvent *event) { if (justLogger) { if (event->type() != QEvent::KeyPress) { @@ -61,6 +66,27 @@ } } return QPushButton::event(event); + }*/ + + void keyPressEvent(QKeyEvent *e) + { + QString keyName = mapNaturalName(static_cast(e->key())); + addTextLine(QString("P> %1").arg(keyName)); + } + + void keyReleaseEvent(QKeyEvent *e) + { + QString keyName = mapNaturalName(static_cast(e->key())); + addTextLine(QString("R> %1").arg(keyName)); + } + + void addTextLine(QString aText) + { + if ( !aText.endsWith("\n")) + aText = aText + "\n"; + QString msg = justLogger->toPlainText(); + msg = aText + msg; + justLogger->setPlainText(msg); } private: