bool MythTerminalKeyFilter::eventFilter(QObject *obj, QEvent *event) { if (event->type() == QEvent::KeyPress) { QKeyEvent *e = (QKeyEvent*)(event); QStringList actions; bool handled = GetMythMainWindow()->TranslateKeyPress("qt", e, actions, false); if (!handled && !actions.isEmpty()) { if (actions.contains("LEFT") || actions.contains("RIGHT") || actions.contains("UP") || actions.contains("DOWN") || actions.contains("ESCAPE")) { return QObject::eventFilter(obj, event); } else { emit KeyPressd(e); e->accept(); return true; } } else { emit KeyPressd(e); e->accept(); return true; } } else { return QObject::eventFilter(obj, event); } }
bool KexiRecordNavigator::eventFilter(QObject *o, QEvent *e) { if (o == d->navRecordNumber) { bool recordEntered = false; bool ret; if (e->type() == QEvent::KeyPress) { QKeyEvent *ke = static_cast<QKeyEvent*>(e); switch (ke->key()) { case Qt::Key_Escape: { ke->accept(); d->navRecordNumber->undo(); if (d->view) d->view->setFocus(); return true; } case Qt::Key_Enter: case Qt::Key_Return: case Qt::Key_Tab: case Qt::Key_Backtab: { recordEntered = true; ke->accept(); //to avoid pressing Enter later ret = true; } default:; } } else if (e->type() == QEvent::FocusOut) { if (static_cast<QFocusEvent*>(e)->reason() != Qt::TabFocusReason && static_cast<QFocusEvent*>(e)->reason() != Qt::BacktabFocusReason && static_cast<QFocusEvent*>(e)->reason() != Qt::OtherFocusReason) { recordEntered = true; } ret = false; } if (recordEntered) { bool ok = true; uint r = d->navRecordNumber->text().toUInt(&ok); if (!ok || r < 1) r = (recordCount() > 0) ? 1 : 0; if (d->view && (hasFocus() || e->type() == QEvent::KeyPress)) d->view->setFocus(); setCurrentRecordNumber(r); emit recordNumberEntered(r); if (d->handler) d->handler->moveToRecordRequested(r - 1); return ret; } } return false; }
bool KonqCombo::eventFilter( QObject *o, QEvent *ev ) { // Handle Ctrl+Del/Backspace etc better than the Qt widget, which always // jumps to the next whitespace. QLineEdit *edit = lineEdit(); if ( o == edit ) { const int type = ev->type(); if (type == QEvent::KeyPress) { QKeyEvent *e = static_cast<QKeyEvent *>( ev ); KShortcut key( e->key() | e->modifiers() ); if ( key == KStandardShortcut::deleteWordBack() || key == KStandardShortcut::deleteWordForward() || ((e->modifiers() & Qt::ControlModifier) && (e->key() == Qt::Key_Left || e->key() == Qt::Key_Right) ) ) { selectWord(e); e->accept(); return true; } } else if ( type == QEvent::MouseButtonDblClick ) { edit->selectAll(); return true; } } return KComboBox::eventFilter( o, ev ); }
bool FindToolBar::eventFilter(QObject *obj, QEvent *event) { if (event->type() == QEvent::KeyPress) { QKeyEvent *ke = static_cast<QKeyEvent *>(event); if (ke->key() == Qt::Key_Down) { if (obj == m_ui.findEdit) m_findCompleter->complete(); else if (obj == m_ui.replaceEdit) m_replaceCompleter->complete(); } } if ((obj == m_ui.findEdit || obj == m_findCompleter->popup()) && event->type() == QEvent::KeyPress) { QKeyEvent *ke = static_cast<QKeyEvent *>(event); #ifdef Q_OS_MAC if (ke->key() == Qt::Key_Space && (ke->modifiers() & Qt::MetaModifier)) { #else if (ke->key() == Qt::Key_Space && (ke->modifiers() & Qt::ControlModifier)) { #endif QString completedText = m_currentDocumentFind->completedFindString(); if (!completedText.isEmpty()) { setFindText(completedText); ke->accept(); return true; } } } else if (obj == this && event->type() == QEvent::ShortcutOverride) { QKeyEvent *ke = static_cast<QKeyEvent *>(event); if (ke->key() == Qt::Key_Escape && !ke->modifiers() && !m_findCompleter->popup()->isVisible() && !m_replaceCompleter->popup()->isVisible()) { if (setFocusToCurrentFindSupport()) { event->accept(); return true; } #ifdef Q_OS_MAC } else if (ke->key() == Qt::Key_Space && (ke->modifiers() & Qt::MetaModifier)) { #else } else if (ke->key() == Qt::Key_Space && (ke->modifiers() & Qt::ControlModifier)) { #endif event->accept(); return true; } } else if (obj == this && event->type() == QEvent::Hide) { invokeClearResults(); if (m_currentDocumentFind->isEnabled()) { m_currentDocumentFind->clearFindScope(); } } return Utils::StyledBar::eventFilter(obj, event); } void FindToolBar::adaptToCandidate() { updateFindAction(); if (findToolBarPlaceHolder() == Core::FindToolBarPlaceHolder::getCurrent()) { m_currentDocumentFind->acceptCandidate(); } }
bool BaseViewer::navigationOnKeys(QEvent *e) { if (e->type() == QEvent::KeyPress) { QKeyEvent * event = static_cast<QKeyEvent*>(e); QPointF sceneCenter = getVisibleSceneRect().center(); double step = 15.0; if (event->key() == Qt::Key_Right) { sceneCenter += QPointF(step,0.0); } else if (event->key() == Qt::Key_Left) { sceneCenter -= QPointF(step,0.0); } else if (event->key() == Qt::Key_Up) { sceneCenter -= QPointF(0.0,step); } else if (event->key() == Qt::Key_Down) { sceneCenter += QPointF(0.0,step); } else { return false; } centerOnAtZoom(_zoomLevel, sceneCenter); event->accept(); return true; } return false; }
bool QAccel::eventFilter( QObject *, QEvent *e ) { if ( enabled && e->type() == Event_Accel && parent() && parent()->isWidgetType() && ((QWidget *)parent())->isVisibleToTLW() ) { QKeyEvent *k = (QKeyEvent *)e; int key = k->key(); if ( k->state() & ShiftButton ) key |= SHIFT; if ( k->state() & ControlButton ) key |= CTRL; if ( k->state() & AltButton ) key |= ALT; QAccelItem *item = find_key(aitems,key,k->ascii()); if ( item && item->enabled ) { if ( item->signal ) item->signal->activate(); else emit activated( item->id ); k->accept(); return TRUE; } } return FALSE; }
bool NWebView::event(QEvent *event) { if (event->type() == QEvent::KeyPress) { QKeyEvent *ke = (QKeyEvent*)event; if (ke->key() == Qt::Key_Tab) { parent->tabPressed(); ke->accept(); return true; } if (ke->key() == Qt::Key_Backtab) { parent->backtabPressed(); ke->accept(); return true; } } return QWebView::event(event); }
bool KGVSimplePrintPreviewWindow::event( QEvent * e ) { QEvent::Type t = e->type(); if (t==QEvent::KeyPress) { QKeyEvent *ke = static_cast<QKeyEvent*>(e); const int k = ke->key(); bool ok = true; if (k==Qt::Key_Equal || k==Qt::Key_Plus) slotZoomInClicked(); else if (k==Qt::Key_Minus) slotZoomOutClicked(); else if (k==Qt::Key_Home) slotFirstClicked(); else if (k==Qt::Key_End) slotLastClicked(); else ok = false; if (ok) { ke->accept(); return true; } } else if (t==QEvent::ShortcutOverride) { QKeyEvent *ke = static_cast<QKeyEvent*>(e); const int k = ke->key(); bool ok = true; if (k==Qt::Key_PageUp) slotPreviousClicked(); else if (k==Qt::Key_PageDown) slotNextClicked(); else ok = false; if (ok) { ke->accept(); return true; } } return QWidget::event(e); }
bool Mainframe::eventFilter(QObject* sender, QEvent* event) { if (event->type() != QEvent::KeyPress) return false; QKeyEvent* e = dynamic_cast<QKeyEvent*>(event); if (e->key() == Qt::Key_Escape && HelpViewer::getInstance("BALLView Docu")->isWhatsThisEnabled()) { HelpViewer::getInstance("BALLView Docu")->exitWhatsThisMode(); } QPoint point = QCursor::pos(); QWidget* widget = qApp->widgetAt(point); if (widget == scene_ && qApp->focusWidget() != scene_) { scene_->keyPressEvent(e); return true; } if (e->key() == Qt::Key_Delete && RTTI::isKindOf<QTreeWidget>(sender)) { deleteClicked(); return true; } if (e->key() == Qt::Key_Enter) { if (composite_manager_.getNumberOfComposites() == 0) return false; if (getMolecularControlSelection().size() == 0) { control_selection_.push_back(*composite_manager_.begin()); } MolecularStructure::getInstance(0)->centerCamera(); return true; } // check all menu entries if Alt or CTRL is pressed to enable shortcuts if (e->key() == Qt::Key_Alt || e->key() == Qt::Key_Control) { checkMenus(); return false; } #ifdef BALL_PYTHON_SUPPORT PyWidget::getInstance(0)->reactTo(*e); e->accept(); #endif return false; }
bool TextView::eventFilter(QObject *obj, QEvent *event) { #ifdef SCINTILLA QAbstractScrollArea * sa = scintEditor; #else QAbstractScrollArea * sa = plainTextEdit; #endif if (obj == sa) { sa->setAttribute(Qt::WA_NoMousePropagation, false); if (event->type() == QEvent::KeyPress) { QKeyEvent *keyEvent = static_cast<QKeyEvent*>(event); switch (keyEvent->key()) { case Qt::Key_Z: if (keyEvent->modifiers().testFlag(Qt::ShiftModifier) && keyEvent->modifiers().testFlag(Qt::ControlModifier)) { byteSource->historyForward(); keyEvent->accept(); return true; } else if (keyEvent->modifiers().testFlag(Qt::ControlModifier)) { byteSource->historyBackward(); keyEvent->accept(); return true; } break; default: return false; } } else if (event->type() == QEvent::Wheel) { if (sa->verticalScrollBar()->isVisible()) { sa->setAttribute(Qt::WA_NoMousePropagation); } return false; } } return QWidget::eventFilter(obj, event); }
bool VersionDialog::event(QEvent *event) { if (event->type() == QEvent::ShortcutOverride) { QKeyEvent *ke = static_cast<QKeyEvent *>(event); if (ke->key() == Qt::Key_Escape && !ke->modifiers()) { ke->accept(); return true; } } return QDialog::event(event); }
// For F2 and other shortcuts to work we can't use a KAction; it would conflict with the // KAction from the active dolphinpart. So we have to use ShortcutOverride. // Many users requested keyboard shortcuts to work in the sidebar, so it's worth the ugliness (#80584) bool KonqSidebarTree::eventFilter(QObject* obj, QEvent* ev) { if (ev->type() == QEvent::ShortcutOverride) { QKeyEvent *e = static_cast<QKeyEvent *>( ev ); if (overrideShortcut(e)) { e->accept(); return true; } } return K3ListView::eventFilter(obj, ev); }
bool FancyLineEdit::event(QEvent *e) { // workaround for QTCREATORBUG-9453 if (e->type() == QEvent::ShortcutOverride && completer() && completer()->popup() && completer()->popup()->isVisible()) { QKeyEvent *ke = static_cast<QKeyEvent *>(e); if (ke->key() == Qt::Key_Escape && !ke->modifiers()) { ke->accept(); return true; } } return QLineEdit::event(e); }
bool MonthView::eventFilter(QObject *o, QEvent *e) { if ( e->type() == QEvent::KeyPress) { QKeyEvent* ke = static_cast<QKeyEvent*>(e); if (ke->key() == Qt::Key_Back) { emit closeView(); ke->accept(); return true; } } return QCalendarWidget::eventFilter(o, e); }
bool FindToolWindow::event(QEvent *event) { if (event->type() == QEvent::KeyPress) { QKeyEvent *ke = static_cast<QKeyEvent *>(event); if ((ke->key() == Qt::Key_Return || ke->key() == Qt::Key_Enter) && (ke->modifiers() == Qt::NoModifier || ke->modifiers() == Qt::KeypadModifier)) { ke->accept(); search(); return true; } } return QWidget::event(event); }
bool PropertyLineEdit::event(QEvent *e) { // handle 'Select all' here as it is not done in the QLineEdit if (e->type() == QEvent::ShortcutOverride && !isReadOnly()) { QKeyEvent* ke = static_cast<QKeyEvent*> (e); if (ke->modifiers() & Qt::ControlModifier) { if(ke->key() == Qt::Key_A) { ke->accept(); return true; } } } return QLineEdit::event(e); }
bool ShortcutView::eventFilter(QObject*, QEvent* event) { if (event->type() == QEvent::KeyPress) { QKeyEvent* keyEvent = static_cast<QKeyEvent*>(event); if (keyEvent->key() != Qt::Key_Tab && keyEvent->key() != Qt::Key_Backtab) { return false; } if (!(keyEvent->modifiers() & ~Qt::ShiftModifier)) { m_ui.keySequenceEdit->setKeySequence(ShortcutController::keyEventToSequence(keyEvent)); keyEvent->accept(); return true; } } return false; }
bool FastoEditor::eventFilter(QObject* object, QEvent* event) { if (object == scin_) { if (event->type() == QEvent::KeyPress) { QKeyEvent *keyEvent = (QKeyEvent *)event; if (((keyEvent->modifiers() & Qt::ControlModifier) && keyEvent->key() == Qt::Key_F)) { findPanel_->show(); findLine_->setFocus(); //findPanel_->selectAll(); keyEvent->accept(); return true; } } } return QWidget::eventFilter(object, event); }
bool TextBrowserHelpWidget::eventFilter(QObject *obj, QEvent *event) { if (obj == this) { if (event->type() == QEvent::FontChange) { if (!forceFont) return true; } else if (event->type() == QEvent::KeyPress) { QKeyEvent *keyEvent = static_cast<QKeyEvent *>(event); if (keyEvent->key() == Qt::Key_Slash) { keyEvent->accept(); Core::FindPlugin::instance()->openFindToolBar(Core::FindPlugin::FindForwardDirection); return true; } } } return QTextBrowser::eventFilter(obj, event); }
bool TreeView::eventFilter(QObject *obj, QEvent *event) { if (event->type() == QEvent::ShortcutOverride) { QKeyEvent *keyEvent = static_cast<QKeyEvent*>(event); if (keyEvent->modifiers().testFlag(Qt::NoModifier)) { // If one has assigned a simple key like 'N' to 'Skip Forward' we don't actually want to skip the track if (65 <= keyEvent->key() && keyEvent->key() <= 90) { // We don't want this event to be propagated keyEvent->accept(); return true; } } else { keyEvent->ignore(); return false; } } return QTreeView::eventFilter(obj, event); }
bool AlbumsFilterBar::eventFilter( QObject *obj, QEvent *e ) { if( obj == m_editor ) { if( e->type() == QEvent::KeyPress ) { QKeyEvent *kev = static_cast<QKeyEvent*>( e ); if( kev->key() == Qt::Key_Escape ) { kev->accept(); emit closeRequested(); return true; } } } return QGraphicsWidget::eventFilter( obj, e ); }
bool QAccel::eventFilter( QObject *o, QEvent *e ) { if ( e->type() == QEvent::Reparent && d->watch == o ) { repairEventFilter(); } else if ( d->enabled && ( e->type() == QEvent::Accel || e->type() == QEvent::AccelAvailable) && d->watch && d->watch->isVisible() ) { QKeyEvent *k = (QKeyEvent *)e; int key = k->key(); if ( k->state() & ShiftButton ) key |= SHIFT; if ( k->state() & ControlButton ) key |= CTRL; if ( k->state() & AltButton ) key |= ALT; QAccelItem *item = find_key( d->aitems, key, k->text()[0] ); if ( key == Key_unknown ) item = 0; #ifndef QT_NO_WHATSTHIS bool b = QWhatsThis::inWhatsThisMode(); #else bool b = FALSE; #endif if ( item && ( item->enabled || b )) { if (e->type() == QEvent::Accel) { if ( b && !d->ignorewhatsthis ) { #ifndef QT_NO_WHATSTHIS QWhatsThis::leaveWhatsThisMode( item->whatsthis ); #endif } else if ( item->enabled ) { if ( item->signal ) item->signal->activate(); else emit activated( item->id ); } } k->accept(); return TRUE; } } return QObject::eventFilter( o, e ); }
bool EditorWidgetKate::eventFilter(QObject *, QEvent *ev) { switch(ev->type()) { case QEvent::ShortcutOverride: { QKeyEvent *kev = (QKeyEvent*)ev; if(kev->key() == Qt::Key_F5) { kev->accept(); emit applyShortcutPressed(); return true; } break; } default: break; } return false; }
bool FindToolBar::eventFilter(QObject *obj, QEvent *event) { if (event->type() == QEvent::KeyPress) { QKeyEvent *ke = static_cast<QKeyEvent *>(event); if (ke->key() == Qt::Key_Down) { if (obj == m_ui.findEdit) { if (m_ui.findEdit->text().isEmpty()) m_findCompleter->setCompletionPrefix(QString()); m_findCompleter->complete(); } else if (obj == m_ui.replaceEdit) { if (m_ui.replaceEdit->text().isEmpty()) m_replaceCompleter->setCompletionPrefix(QString()); m_replaceCompleter->complete(); } } } if ((obj == m_ui.findEdit || obj == m_findCompleter->popup()) && event->type() == QEvent::KeyPress) { QKeyEvent *ke = static_cast<QKeyEvent *>(event); if (ke->key() == Qt::Key_Space && (ke->modifiers() & Utils::HostOsInfo::controlModifier())) { QString completedText = m_currentDocumentFind->completedFindString(); if (!completedText.isEmpty()) { setFindText(completedText); ke->accept(); return true; } } } else if (obj == this && event->type() == QEvent::ShortcutOverride) { QKeyEvent *ke = static_cast<QKeyEvent *>(event); if (ke->key() == Qt::Key_Space && (ke->modifiers() & Utils::HostOsInfo::controlModifier())) { event->accept(); return true; } } else if (obj == this && event->type() == QEvent::Hide) { invokeClearResults(); if (m_currentDocumentFind->isEnabled()) m_currentDocumentFind->clearFindScope(); } return Utils::StyledBar::eventFilter(obj, event); }
bool PosEditor::event(QEvent *e) { if (e->type() == QEvent::FocusIn || e->type() == QEvent::FocusOut) { repaint( rect(), false); } else if (e->type() == QEvent::ShortcutOverride) { QKeyEvent* ke = (QKeyEvent*) e; switch (ke->key()) { case Qt::Key_Delete: case Qt::Key_Backspace: case Qt::Key_Up: case Qt::Key_Down: case Qt::Key_Left: case Qt::Key_Right: ke->accept(); default: break; } } return QWidget::event(e); }
bool KLSHistoryCombo::eventFilter( QObject *o, QEvent *ev ) { // Handle Ctrl+Del/Backspace etc better than the Qt widget, which always // jumps to the next whitespace. QLineEdit *edit = lineEdit(); if ( o == edit ) { int type = ev->type(); if ( type == QEvent::KeyPress ) { QKeyEvent *e = static_cast<QKeyEvent *>( ev ); if ( e->key() == Key_Return || e->key() == Key_Enter ) { //m_modifier = e->state(); return false; } int delete_word_back = KStdAccel::deleteWordBack().keyCodeQt(); int delete_word_forward = KStdAccel::deleteWordForward().keyCodeQt(); if ( KKey( e ) == KKey(delete_word_back) || KKey( e ) == KKey(delete_word_forward) || ((e->state() & ControlButton) && (e->key() == Key_Left || e->key() == Key_Right) ) ) { selectWord(e); e->accept(); return true; } } else if ( type == QEvent::MouseButtonDblClick ) { edit->selectAll(); return true; } } return KComboBox::eventFilter( o, ev ); }
bool QFontDialog::eventFilter(QObject *o , QEvent *e) { Q_D(QFontDialog); if (e->type() == QEvent::KeyPress) { QKeyEvent *k = (QKeyEvent *)e; if (o == d->sizeEdit && (k->key() == Qt::Key_Up || k->key() == Qt::Key_Down || k->key() == Qt::Key_PageUp || k->key() == Qt::Key_PageDown)) { int ci = d->sizeList->currentItem(); (void)QApplication::sendEvent(d->sizeList, k); if (ci != d->sizeList->currentItem() && style()->styleHint(QStyle::SH_FontDialog_SelectAssociatedText, 0, this)) d->sizeEdit->selectAll(); return true; } else if ((o == d->familyList || o == d->styleList) && (k->key() == Qt::Key_Return || k->key() == Qt::Key_Enter)) { k->accept(); accept(); return true; } } else if (e->type() == QEvent::FocusIn && style()->styleHint(QStyle::SH_FontDialog_SelectAssociatedText, 0, this)) { if (o == d->familyList) d->familyEdit->selectAll(); else if (o == d->styleList) d->styleEdit->selectAll(); else if (o == d->sizeList) d->sizeEdit->selectAll(); } else if (e->type() == QEvent::MouseButtonPress && o == d->sizeList) { d->sizeEdit->setFocus(); } return QDialog::eventFilter(o, e); }
bool HelpBrowser::eventFilter(QObject *object, QEvent *event) { if (object == mWebView) { switch (event->type()) { case QEvent::MouseButtonPress: { QMouseEvent * mouseEvent = static_cast<QMouseEvent*>(event); switch (mouseEvent->button()) { case Qt::XButton1: mWebView->pageAction(QWebPage::Back)->trigger(); return true; case Qt::XButton2: mWebView->pageAction(QWebPage::Forward)->trigger(); return true; default: break; } break; } case QEvent::ShortcutOverride: { QKeyEvent * kevent = static_cast<QKeyEvent*>(event); if ( kevent == QKeySequence::Copy || kevent == QKeySequence::Paste ) { kevent->accept(); return true; } break; } default: break; } } return false; }
bool KeyEditor::event(QEvent* event) { if (!m_button) { if (event->type() == QEvent::KeyPress) { QKeyEvent* keyEvent = static_cast<QKeyEvent*>(event); if (keyEvent->key() != Qt::Key_Tab && keyEvent->key() != Qt::Key_Backtab) { return QWidget::event(event); } if (!(keyEvent->modifiers() & ~Qt::ShiftModifier)) { keyPressEvent(keyEvent); keyEvent->accept(); return true; } } } else { if (event->type() == GamepadButtonEvent::Down()) { setValueButton(static_cast<GamepadButtonEvent*>(event)->value()); event->accept(); return true; } if (event->type() == GamepadHatEvent::Down()) { GamepadHatEvent* ghe = static_cast<GamepadHatEvent*>(event); setValueHat(ghe->hatId(), ghe->direction()); event->accept(); return true; } if (event->type() == GamepadAxisEvent::Type()) { GamepadAxisEvent* gae = static_cast<GamepadAxisEvent*>(event); if (gae->isNew()) { setValueAxis(gae->axis(), gae->direction()); } event->accept(); return true; } } return QWidget::event(event); }
bool RShortcutLineEdit::eventFilter(QObject *obj, QEvent *event) { if (event->type() == QEvent::KeyPress) { QKeyEvent *keyEvent = static_cast<QKeyEvent *> (event); int nextKey = keyEvent->key(); if (m_keyNum > 3 || nextKey == Qt::Key_Control || nextKey == Qt::Key_Shift || nextKey == Qt::Key_Meta || nextKey == Qt::Key_Alt) return true; nextKey |= translateModifiers(keyEvent->modifiers(), keyEvent->text()); switch (m_keyNum) { case 0: m_key[0] = nextKey; break; case 1: m_key[1] = nextKey; break; case 2: m_key[2] = nextKey; break; case 3: m_key[3] = nextKey; break; default: break; } m_keyNum++; QKeySequence ks(m_key[0], m_key[1], m_key[2], m_key[3]); setText(ks); keyEvent->accept(); return true; } else { // standard event processing return QObject::eventFilter(obj, event); } }