void TorrentView::processKey(int key) { if(key == KEY_DOWN || key == 'j') selectionDown(); else if(key == KEY_UP || key == 'k') selectionUp(); else if(key == 'd') deleteHandler(); }
bool CStarCamera::removeMatrixRow() { if (_matrixRow == -1) return false; CNavigationInfo data; _mover->copyTo(&data); deleteHandler(); --_matrixRow; setupHandler(&data); return true; }
bool CStarCamera::addMatrixRow(const FVector &v) { if (_matrixRow >= 2) return false; CNavigationInfo data; _mover->copyTo(&data); deleteHandler(); FVector &row = _matrix[++_matrixRow]; row = v; setupHandler(&data); return true; }
CStarCamera::~CStarCamera() { deleteHandler(); }
void GraphicalBoardFrame::keyPressEvent(QKeyEvent *event) { enum { Backspace = 0, Delete, Submit, Commit, Append } mode; switch (event->key()) { case Qt::Key_Backspace: mode = Backspace; break; case Qt::Key_Delete: mode = Delete; break; case Qt::Key_Return: case Qt::Key_Enter: mode = event->modifiers() & Qt::ShiftModifier || event->modifiers() & Qt::ControlModifier || event->modifiers() & Qt::MetaModifier? Commit : Submit; break; default: mode = Append; break; } if (!hasCandidate()) { event->ignore(); return; } switch (mode) { // these modes need a candidate case Submit: submitHandler(); break; case Commit: commitHandler(); break; default: if (!hasArrow()) { event->ignore(); return; } switch (mode) { // these modes need an arrow case Delete: deleteHandler(); break; case Backspace: backspaceHandler(); break; case Append: if (event->text().isEmpty() || (event->text().at(0) >= 0xa8 && event->text().at(0) <= 0xb8) || // combining character (event->text().at(0) >= 0x2b9 && event->text().at(0) <= 0x2ff)) // combining character break; // let AltGr (Ctrl+Alt) and other composite keyboard events slip through else if (event->modifiers() & Qt::AltModifier || event->modifiers() & Qt::ControlModifier) { if (!event->text().isEmpty() && ((event->text().at(0) >= 'a' && event->text().at(0) <= 'z') || (event->text().at(0) >= 'A' && event->text().at(0) <= 'Z'))) { event->ignore(); return; } } appendHandler(event->text(), event->modifiers() & Qt::ShiftModifier); break; case Commit: case Submit: break; } break; } prepare(); event->accept(); }