// Event handling bool LightscreenWindow::event(QEvent *event) { if (event->type() == QEvent::Show) { QPoint savedPosition = settings()->value("position").toPoint(); if (!savedPosition.isNull() && qApp->desktop()->availableGeometry().contains(QRect(savedPosition, size()))) { move(savedPosition); } if (mHasTaskbarButton) { mTaskbarButton->setWindow(windowHandle()); } } else if (event->type() == QEvent::Hide) { settings()->setValue("position", pos()); } else if (event->type() == QEvent::Close) { if (settings()->value("options/tray").toBool() && settings()->value("options/closeHide").toBool()) { closeToTrayWarning(); hide(); } else if (settings()->value("options/closeHide").toBool()) { if (closingWithoutTray()) { hide(); } } else { quit(); } } else if (event->type() == QEvent::KeyPress) { QKeyEvent *keyEvent = static_cast<QKeyEvent *>(event); #ifdef Q_WS_MAC if (keyEvent->modifiers() == Qt::ControlModifier && e->key() == Qt::Key_Period) { keyEvent->ignore(); if (isVisible()) { toggleVisibility(); } return false; } else #endif if (!keyEvent->modifiers() && keyEvent->key() == Qt::Key_Escape) { keyEvent->ignore(); if (isVisible()) { toggleVisibility(); } return false; } } else if (event->type() == QEvent::LanguageChange) { ui.retranslateUi(this); resize(minimumSizeHint()); } return QMainWindow::event(event); }
void RGraphicsView::handleKeyReleaseEvent(QKeyEvent& event) { if (scene == NULL) { return; } scene->handleKeyReleaseEvent(event); if (navigationAction != NULL) { navigationAction->keyReleaseEvent(event); } event.ignore(); }
bool BAutoCompletionHelper::eventFilter(QObject *object, QEvent *event) { if (event->type() != QEvent::KeyPress) return false; QKeyEvent *ke = static_cast<QKeyEvent *>(event); if (ke->key() != Qt::Key_Enter && ke->key() != Qt::Key_Return) return false; QAbstractItemView *popup = qobject_cast<QAbstractItemView *>(object); if (!popup || !popup->isVisible()) return false; popup->hide(); completerActivated(popup->currentIndex()); ke->ignore(); return true; }
bool TreeView::eventFilter(QObject *obj, QEvent *event) { if (event->type() == QEvent::ShortcutOverride) { QKeyEvent *keyEvent = static_cast<QKeyEvent*>(event); if (keyEvent->modifiers().testFlag(Qt::NoModifier)) { // If one has assigned a simple key like 'N' to 'Skip Forward' we don't actually want to skip the track if (65 <= keyEvent->key() && keyEvent->key() <= 90) { // We don't want this event to be propagated keyEvent->accept(); return true; } } else { keyEvent->ignore(); return false; } } return QTreeView::eventFilter(obj, event); }
bool TableKeys::eventFilter(QObject * object, QEvent * event) { if (event->type()== QEvent::KeyPress) { if (object->isA("QTable")) { //QMetaObject *table = object->metaObject(); QKeyEvent * key =(QKeyEvent *) event; QTable * table = (QTable*)object; kdDebug()<<"event filtered : "<<key->key()<<endl; kdDebug()<<table->currentRow() <<":"<<table->numRows()<<endl; switch (key->key()){ case Key_Down: if ((table->currentRow()+1) == table->numRows() ) { kdDebug()<<"going to set num rows"<<endl; table->setNumRows(table->numRows()+1); table->editCell(table->numRows()-1,0); } else{ table->setCurrentCell(table->currentRow()+1, table->currentColumn()); } break; case Key_Up: table->setCurrentCell(table->currentRow()-1, table->currentColumn()); break; case Key_Delete: //if ( !table->isEditing()) table->removeRow(table->currentRow()); break; } key->ignore(); } return TRUE; }else { return FALSE; } }
bool FormText::sceneEvent( QEvent * e ) { switch( e->type() ) { case QEvent::ShortcutOverride : { QKeyEvent * ke = static_cast< QKeyEvent* > ( e ); if( ke == QKeySequence::Redo || ke == QKeySequence::Undo ) { ke->ignore(); return false; } else return QGraphicsTextItem::sceneEvent( e ); } break; default : return QGraphicsTextItem::sceneEvent( e ); } }
bool twinkleTutor::eventFilter(QObject *obj, QEvent *event) { //if statement to trap for KeyPress event if (event->type() == QEvent::KeyPress) { // Create key event QKeyEvent *keyEvent = static_cast<QKeyEvent *>(event); //Once the key is pressed, it is automatically put in a //"pressed" state until it is released. switch( keyEvent->key() ){ case Qt::Key_A: ui->aButton->setDown(true); if (keyEvent->key()== Qt::Key_A) { //to keep sound from looping repeatedly after key press if (keyEvent->isAutoRepeat()==true) { keyEvent->ignore(); } //Sound only begins upon first key press else { keyA->play(); } } break; case Qt::Key_S: ui->sButton->setDown(true); if (keyEvent->key()== Qt::Key_S) { if (keyEvent->isAutoRepeat()){ keyEvent->ignore(); } else { keyS->play(); } } break; case Qt::Key_D: ui->dButton->setDown(true); if (keyEvent->key()== Qt::Key_D) { if (keyEvent->isAutoRepeat()){ keyEvent->ignore(); } else { keyD->play(); } } break; case Qt::Key_G: ui->gButton->setDown(true); if (keyEvent->key()== Qt::Key_G) { if (keyEvent->isAutoRepeat()){ keyEvent->ignore(); } else { keyG->play(); } } break; case Qt::Key_H: ui->hButton->setDown(true); if (keyEvent->key()== Qt::Key_H) { if (keyEvent->isAutoRepeat()){ keyEvent->ignore(); } else { keyH->play(); } } break; case Qt::Key_F: ui->fButton->setDown(true); if (keyEvent->key()== Qt::Key_F) { if (keyEvent->isAutoRepeat()){ keyEvent->ignore(); } else { keyF->play(); } } break; case Qt::Key_J: ui->jButton->setDown(true); if (keyEvent->key()== Qt::Key_J) { if (keyEvent->isAutoRepeat()){ keyEvent->ignore(); } else { keyJ->play(); } } break; case Qt::Key_K: ui->kButton->setDown(true); if (keyEvent->key()== Qt::Key_K) { if (keyEvent->isAutoRepeat()){ keyEvent->ignore(); } else { keyK->play(); } } break; case Qt::Key_L: ui->lButton->setDown(true); if (keyEvent->key()== Qt::Key_L) { if (keyEvent->isAutoRepeat()){ keyEvent->ignore(); } else { keyL->play(); } } break; case Qt::Key_Semicolon: ui->semiButton->setDown(true); if (keyEvent->key()== Qt::Key_Semicolon) { if (keyEvent->isAutoRepeat()){ keyEvent->ignore(); } else { keySemi->play(); } } break; case Qt::Key_Apostrophe: ui->apostButton->setDown(true); if (keyEvent->key()== Qt::Key_Apostrophe) { if (keyEvent->isAutoRepeat()){ keyEvent->ignore(); } else { keyDot->play(); } } break; case Qt::Key_W: ui->wButton->setDown(true); if (keyEvent->key()== Qt::Key_W) { if (keyEvent->isAutoRepeat()){ keyEvent->ignore(); } else { keyW->play(); } } break; case Qt::Key_E: ui->eButton->setDown(true); if (keyEvent->key()== Qt::Key_E) { if (keyEvent->isAutoRepeat()){ keyEvent->ignore(); } else { keyE->play(); } } break; case Qt::Key_T: ui->tButton->setDown(true); if (keyEvent->key()== Qt::Key_T) { if (keyEvent->isAutoRepeat()){ keyEvent->ignore(); } else { keyT->play(); } } break; case Qt::Key_Y: ui->yButton->setDown(true); if (keyEvent->key()== Qt::Key_Y) { if (keyEvent->isAutoRepeat()){ keyEvent->ignore(); } else { keyY->play(); } } break; case Qt::Key_U: ui->uButton->setDown(true); if (keyEvent->key()== Qt::Key_U) { if (keyEvent->isAutoRepeat()){ keyEvent->ignore(); } else { keyU->play(); } } break; case Qt::Key_O: ui->oButton->setDown(true); if (keyEvent->key()== Qt::Key_O) { if (keyEvent->isAutoRepeat()){ keyEvent->ignore(); } else { keyO->play(); } } break; case Qt::Key_P: ui->pButton->setDown(true); if (keyEvent->key()== Qt::Key_P) { if (keyEvent->isAutoRepeat()){ keyEvent->ignore(); } else { keyP->play(); } } break; } } //if statement to trap for Key Release. Sound is stopped upon key //release. if (event->type() == QEvent::KeyRelease){ QKeyEvent *keyEvent2 = static_cast<QKeyEvent *>(event); switch( keyEvent2->key() ){ case Qt::Key_A: ui->aButton->setDown(false); keyA->stop(); if (arrayCount==0 || twinkle[arrayCount-1]=='C' ){ playTutorSong(twinkle); } break; case Qt::Key_S: ui->sButton->setDown(false); keyS->stop(); if (twinkle[arrayCount-1]=='D'){ playTutorSong(twinkle); } break; case Qt::Key_D: ui->dButton->setDown(false); keyD->stop(); if(twinkle[arrayCount-1]=='E'){ playTutorSong(twinkle); } break; case Qt::Key_G: ui->gButton->setDown(false); keyG->stop(); if(twinkle[arrayCount-1]=='G'){ playTutorSong(twinkle); } break; case Qt::Key_H: ui->hButton->setDown(false); keyH->stop(); if(twinkle[arrayCount-1]=='A'){ playTutorSong(twinkle); } break; case Qt::Key_F: ui->fButton->setDown(false); keyF->stop(); if(twinkle[arrayCount-1]=='F'){ playTutorSong(twinkle); } break; case Qt::Key_J: ui->jButton->setDown(false); keyJ->stop(); if(twinkle[arrayCount-1]=='B'){ playTutorSong(twinkle); } break; case Qt::Key_K: ui->kButton->setDown(false); keyK->stop(); if(twinkle[arrayCount-1]=='c'){ playTutorSong(twinkle); } break; case Qt::Key_L: ui->lButton->setDown(false); keyL->stop(); if(twinkle[arrayCount-1]=='d'){ playTutorSong(twinkle); } break; case Qt::Key_Semicolon: ui->semiButton->setDown(false); keySemi->stop(); if(twinkle[arrayCount-1]==';'){ playTutorSong(twinkle); } break; case Qt::Key_Apostrophe: ui->apostButton->setDown(false); keyDot->stop(); if(twinkle[arrayCount-1]=='f'){ playTutorSong(twinkle); } break; case Qt::Key_W: ui->wButton->setDown(false); keyW->stop(); if(twinkle[arrayCount-1]=='w'){ playTutorSong(twinkle); } break; case Qt::Key_E: ui->eButton->setDown(false); keyE->stop(); if(twinkle[arrayCount-1]=='e'){ playTutorSong(twinkle); } break; case Qt::Key_T: ui->tButton->setDown(false); keyT->stop(); if(twinkle[arrayCount-1]=='t'){ playTutorSong(twinkle); } break; case Qt::Key_Y: ui->yButton->setDown(false); keyY->stop(); if(twinkle[arrayCount-1]=='y'){ playTutorSong(twinkle); } break; case Qt::Key_U: ui->uButton->setDown(false); keyU->stop(); if(twinkle[arrayCount-1]=='u'){ playTutorSong(twinkle); } break; case Qt::Key_O: ui->oButton->setDown(false); keyO->stop(); if(twinkle[arrayCount-1]=='o'){ playTutorSong(twinkle); } break; case Qt::Key_P: ui->pButton->setDown(false); keyP->stop(); if(twinkle[arrayCount-1]=='p'){ playTutorSong(twinkle); } break; } } // Pass to Piano return QMainWindow::eventFilter(obj, event); }
bool CmdPromptInput::eventFilter(QObject* obj, QEvent* event) { if(event->type() == QEvent::KeyPress) { QKeyEvent* pressedKey = (QKeyEvent*)event; //NOTE: These shortcuts need to be caught since QLineEdit uses them if(pressedKey->matches(QKeySequence::Cut)) { pressedKey->accept(); emit cutPressed(); return true; } else if(pressedKey->matches(QKeySequence::Copy)) { pressedKey->accept(); emit copyPressed(); return true; } else if(pressedKey->matches(QKeySequence::Paste)) { pressedKey->accept(); emit pastePressed(); return true; } else if(pressedKey->matches(QKeySequence::SelectAll)) { pressedKey->accept(); emit selectAllPressed(); return true; } else if(pressedKey->matches(QKeySequence::Undo)) { pressedKey->accept(); emit undoPressed(); return true; } else if(pressedKey->matches(QKeySequence::Redo)) { pressedKey->accept(); emit redoPressed(); return true; } int key = pressedKey->key(); switch(key) { case Qt::Key_Enter: case Qt::Key_Return: case Qt::Key_Space: pressedKey->accept(); processInput(QChar(key)); return true; break; case Qt::Key_Delete: pressedKey->accept(); emit deletePressed(); return true; break; case Qt::Key_Tab: pressedKey->accept(); emit tabPressed(); return true; break; case Qt::Key_Escape: pressedKey->accept(); prefix = "Command: "; clear(); emit appendHistory(curText + tr("*Cancel*")); emit escapePressed(); return true; break; case Qt::Key_F1: pressedKey->accept(); emit F1Pressed(); return true; break; case Qt::Key_F2: pressedKey->accept(); emit F2Pressed(); return true; break; case Qt::Key_F3: pressedKey->accept(); emit F3Pressed(); return true; break; case Qt::Key_F4: pressedKey->accept(); emit F4Pressed(); return true; break; case Qt::Key_F5: emit F5Pressed(); pressedKey->accept(); return true; break; case Qt::Key_F6: pressedKey->accept(); emit F6Pressed(); return true; break; case Qt::Key_F7: pressedKey->accept(); emit F7Pressed(); return true; break; case Qt::Key_F8: pressedKey->accept(); emit F8Pressed(); return true; break; case Qt::Key_F9: pressedKey->accept(); emit F9Pressed(); return true; break; case Qt::Key_F10: pressedKey->accept(); emit F10Pressed(); return true; break; case Qt::Key_F11: pressedKey->accept(); emit F11Pressed(); return true; break; case Qt::Key_F12: pressedKey->accept(); emit F12Pressed(); return true; break; default: pressedKey->ignore(); } } return QObject::eventFilter(obj, event); }