bool Recorder::eventFilter(QObject* /* o */, QEvent *e) { if (e->type() == QEvent::KeyPress) { QKeyEvent *keyEvent = (QKeyEvent*)(e); uint curLine, curCol; m_view->cursorPositionReal(&curLine, &curCol); if(curLine != m_oldLine || m_oldCol+1 != curCol) { m_typedSequence = QString(); m_oldLine = curLine; m_oldCol = curCol; } else { ++m_oldCol; } m_typedSequence += keyEvent->text(); if(m_typedSequence.length() == m_maxSequenceLength+1) { m_typedSequence = m_typedSequence.mid(1, m_typedSequence.length() - 1); } return seekForKeySequence(m_typedSequence); } return false; }
bool Recorder::eventFilter(QObject* /* o */, QEvent *e) { if (e->type() == QEvent::KeyPress) { QKeyEvent *keyEvent = (QKeyEvent*)(e); int curLine, curCol; KTextEditor::Cursor cursor = m_view->cursorPosition(); curLine = cursor.line(); curCol = cursor.column(); if(curLine != m_oldLine || m_oldCol+1 != curCol) { m_typedSequence.clear(); m_oldLine = curLine; m_oldCol = curCol; } else { ++m_oldCol; } m_typedSequence += keyEvent->text(); if(m_typedSequence.length() == m_maxSequenceLength + 1) { m_typedSequence = m_typedSequence.mid(1, m_typedSequence.length() - 1); } return seekForKeySequence(m_typedSequence); } return false; }