| 455 | |
| 456 | |
| 457 | void UBDocumentNavigator::keyPressEvent(QKeyEvent *event) |
| 458 | { |
| 459 | UBBoardController* controller = UBApplication::boardController; |
| 460 | // send to the scene anyway |
| 461 | QApplication::sendEvent (scene (), event); |
| 462 | |
| 463 | if (!event->isAccepted ()) |
| 464 | { |
| 465 | switch (event->key ()) |
| 466 | { |
| 467 | case Qt::Key_Up: |
| 468 | case Qt::Key_PageUp: |
| 469 | case Qt::Key_Left: |
| 470 | { |
| 471 | controller->previousScene (); |
| 472 | break; |
| 473 | } |
| 474 | |
| 475 | case Qt::Key_Down: |
| 476 | case Qt::Key_PageDown: |
| 477 | case Qt::Key_Right: |
| 478 | case Qt::Key_Space: |
| 479 | { |
| 480 | controller->nextScene (); |
| 481 | break; |
| 482 | } |
| 483 | |
| 484 | case Qt::Key_Home: |
| 485 | { |
| 486 | controller->firstScene (); |
| 487 | break; |
| 488 | } |
| 489 | case Qt::Key_End: |
| 490 | { |
| 491 | controller->lastScene (); |
| 492 | break; |
| 493 | } |
| 494 | case Qt::Key_Insert: |
| 495 | { |
| 496 | controller->addScene (); |
| 497 | break; |
| 498 | } |
| 499 | case Qt::Key_Control: |
| 500 | case Qt::Key_Shift: |
| 501 | { |
| 502 | controller->controlView()->setMultiselection(true); |
| 503 | }break; |
| 504 | } |
| 505 | |
| 506 | |
| 507 | if (event->modifiers () & Qt::ControlModifier) // keep only ctrl/cmd keys |
| 508 | { |
| 509 | switch (event->key ()) |
| 510 | { |
| 511 | case Qt::Key_Plus: |
| 512 | case Qt::Key_I: |
| 513 | { |
| 514 | controller->zoomIn (); |
nothing calls this directly
no test coverage detected