qtmobileextensions/examples/keycaptureex/mybutton.h
changeset 27 6bfad47013df
parent 19 46686fb6258c
equal deleted inserted replaced
26:3d09643def13 27:6bfad47013df
    26 #include <QPlainTextEdit>
    26 #include <QPlainTextEdit>
    27 #include <QEvent>
    27 #include <QEvent>
    28 #include <QKeyEvent>
    28 #include <QKeyEvent>
    29 #include <QMap>
    29 #include <QMap>
    30 
    30 
    31 class MyKeyButton : public QPushButton 
    31 class MyButton : public QPushButton 
    32 {
    32 {
    33     Q_OBJECT
    33     Q_OBJECT
    34     
    34     
    35 public:
    35 public:
    36     MyKeyButton(QPlainTextEdit *logger, QWidget *parent = 0)
    36     
    37     :
    37     MyButton(QPlainTextEdit *logger, QWidget *parent = 0) : QPushButton(QString("focus here"), parent)
    38     QPushButton(QString("dummy"), parent)
       
    39     {
    38     {
    40         justLogger = logger;
    39         justLogger = logger;
    41         keyLabels.insert(Qt::Key_VolumeUp, "Volume Up");        
    40         keyLabels.insert(Qt::Key_VolumeUp, "Volume Up");        
    42         keyLabels.insert(Qt::Key_VolumeDown, "Volume Down");        
    41         keyLabels.insert(Qt::Key_VolumeDown, "Volume Down");
       
    42         keyLabels.insert(Qt::Key_Hangup, "Hangup");        
       
    43         keyLabels.insert(Qt::Key_Play, "Play");        
       
    44         keyLabels.insert(Qt::Key_MediaNext, "Media Next");        
       
    45         keyLabels.insert(Qt::Key_MediaPrevious, "Media Previous");        
       
    46         keyLabels.insert(Qt::Key_Forward, "Forward");        
       
    47         keyLabels.insert(Qt::Key_Back, "Back");        
    43     }
    48     }
    44     
    49     
    45     ~MyKeyButton() 
    50     ~MyButton() 
    46     {
    51     {
    47     }
    52     }
    48     
    53     
    49     bool event(QEvent *event)
    54     /*bool event(QEvent *event)
    50     {
    55     {
    51         if (justLogger) {
    56         if (justLogger) {
    52             if (event->type() != QEvent::KeyPress) {
    57             if (event->type() != QEvent::KeyPress) {
    53 //                QString keyName = mapNaturalName((dynamic_cast<QKeyEvent*>event)->key());
    58 //                QString keyName = mapNaturalName((dynamic_cast<QKeyEvent*>event)->key());
    54 //                justLogger->appendPlainText(QString("P> %1").arg(keyName));
    59 //                justLogger->appendPlainText(QString("P> %1").arg(keyName));
    59 //                justLogger->appendPlainText(QString("r> %1").arg(keyName));
    64 //                justLogger->appendPlainText(QString("r> %1").arg(keyName));
    60                 justLogger->appendPlainText(QString("R> %1").arg(static_cast<QKeyEvent*>(event)->key()));
    65                 justLogger->appendPlainText(QString("R> %1").arg(static_cast<QKeyEvent*>(event)->key()));
    61             }
    66             }
    62         }
    67         }
    63         return QPushButton::event(event);
    68         return QPushButton::event(event);
       
    69     }*/
       
    70     
       
    71     void keyPressEvent(QKeyEvent *e)
       
    72     {
       
    73         QString keyName = mapNaturalName(static_cast<Qt::Key>(e->key()));
       
    74         addTextLine(QString("P> %1").arg(keyName));
       
    75     }
       
    76     
       
    77     void keyReleaseEvent(QKeyEvent *e)
       
    78     {
       
    79         QString keyName = mapNaturalName(static_cast<Qt::Key>(e->key()));
       
    80         addTextLine(QString("R> %1").arg(keyName));
       
    81     }
       
    82     
       
    83     void addTextLine(QString aText)
       
    84     {
       
    85         if ( !aText.endsWith("\n"))
       
    86             aText = aText + "\n";
       
    87         QString msg = justLogger->toPlainText();
       
    88         msg = aText + msg;
       
    89         justLogger->setPlainText(msg);
    64     }
    90     }
    65     
    91     
    66 private:
    92 private:
    67     
    93     
    68     QString mapNaturalName(Qt::Key key) {
    94     QString mapNaturalName(Qt::Key key) {