bool KCompletionBase::setKeyBinding( KeyBindingType item, const KShortcut& cut ) { if ( d->m_delegate ) return d->m_delegate->setKeyBinding( item, cut ); if( !cut.isEmpty() ) { for( KeyBindingMap::Iterator it = d->m_keyMap.begin(); it != d->m_keyMap.end(); ++it ) if( it.value() == cut ) return false; } d->m_keyMap.insert( item, cut ); return true; }
void parsing() { KShortcut cut; cut = KShortcut(";, Alt+;; ;, Alt+A, ;"); QVERIFY(cut.primary() == QKeySequence::fromString(";, Alt+;")); QVERIFY(cut.alternate() == QKeySequence::fromString(";, Alt+A, ;")); cut = KShortcut("Win+E"); //QTest::ignoreMessage(QtWarningMsg, "QKeySequence::fromString: Unknown modifier 'win+'"); QEXPECT_FAIL("", "Qt Bug 205255 - QKeySequence silently discards unknown key modifiers", Continue); QVERIFY(cut.isEmpty()); cut = KShortcut("Meta+E"); QVERIFY(cut.primary()[0] == (Qt::META | Qt::Key_E)); //qDebug() << QKeySequence(Qt::ALT | Qt::Key_Plus).toString(); //qDebug() << QKeySequence(Qt::ALT | Qt::Key_Minus).toString(); cut = KShortcut("Alt+Plus"); // KDE3 said "Alt+Plus", while Qt4 says "Alt++", so KShortcut has to handle this QVERIFY(cut.primary()[0] == (Qt::ALT | Qt::Key_Plus)); cut = KShortcut("Alt+Minus"); // KDE3 said "Alt+Minus", while Qt4 says "Alt+-", so KShortcut has to handle this QVERIFY(cut.primary()[0] == (Qt::ALT | Qt::Key_Minus)); }