void RichTextLineEdit::createShortcuts() { QShortcut *boldShortcut = new QShortcut(QKeySequence::Bold, this, SLOT(toggleBold())); QShortcut *italicShortcut = new QShortcut(QKeySequence::Italic, this, SLOT(toggleItalic())); setToolTip(tr("<p>Use %1 to toggle bold, %2 to toggle italic, " "and the context menu for color and other effects.") .arg(boldShortcut->key().toString( QKeySequence::NativeText)) .arg(italicShortcut->key().toString( QKeySequence::NativeText))); }
void KviMainWindow::freeAccelleratorKeySequence(QString & key) { QKeySequence kS(key); for(QShortcut * pS = m_pAccellerators->first(); pS; pS = m_pAccellerators->next()) { if(pS->key() == kS) { m_pAccellerators->removeRef(pS); return; } } }
// Switch to nth tab when Alt+n or Ctrl+n is pressed void MainWindow::onShortcutJumpToTab() { QShortcut* shortcut = reinterpret_cast<QShortcut*>(sender()); QKeySequence seq = shortcut->key(); int keyValue = seq[0]; // See the source code of QKeySequence and refer to the method: // QString QKeySequencePrivate::encodeString(int key, QKeySequence::SequenceFormat format). // Then we know how to test if a key sequence contains a modifier. // It's a shame that Qt has no API for this task. if((keyValue & Qt::ALT) == Qt::ALT) // test if we have Alt key pressed keyValue -= Qt::ALT; else if((keyValue & Qt::CTRL) == Qt::CTRL) // test if we have Ctrl key pressed keyValue -= Qt::CTRL; // now keyValue should contains '0' - '9' only int index; if(keyValue == '0') index = 9; else index = keyValue - '1'; if(index < ui.tabBar->count()) ui.tabBar->setCurrentIndex(index); }
void ActionManagerPrivate::shortcutTriggered() { QShortcut *sc = qobject_cast<QShortcut *>(QObject::sender()); if (sc) showShortcutPopup(sc->key().toString()); }
void ChannelSelect::keyPressed() { QShortcut *tmp = qobject_cast<QShortcut *>(sender()); process(tmp->key().toString().toInt()); }