Example #1
0
// 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);
}
Example #2
0
void RGraphicsView::handleKeyReleaseEvent(QKeyEvent& event) {
    if (scene == NULL) {
        return;
    }
    scene->handleKeyReleaseEvent(event);
    if (navigationAction != NULL) {
        navigationAction->keyReleaseEvent(event);
    }
    event.ignore();
}
Example #3
0
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;
}
Example #4
0
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);
}
Example #5
0
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;


	}
}
Example #6
0
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 );
	}
}
Example #7
0
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);
}