bool ChatbarTextEdit::event(QEvent *evt) { if (evt->type() == QEvent::ShortcutOverride) { return false; } if (evt->type() == QEvent::KeyPress) { QKeyEvent *kev = static_cast<QKeyEvent*>(evt); if ((kev->key() == Qt::Key_Enter || kev->key() == Qt::Key_Return) && !(kev->modifiers() & Qt::ShiftModifier)) { const QString msg = toPlainText(); if (!msg.isEmpty()) { addToHistory(msg); emit entered(msg); } return true; } if (kev->key() == Qt::Key_Tab) { emit tabPressed(); return true; } else if (kev->key() == Qt::Key_Space && kev->modifiers() == Qt::ControlModifier) { emit ctrlSpacePressed(); return true; } else if (kev->key() == Qt::Key_Up && kev->modifiers() == Qt::ControlModifier) { historyUp(); return true; } else if (kev->key() == Qt::Key_Down && kev->modifiers() == Qt::ControlModifier) { historyDown(); return true; } } return QTextEdit::event(evt); }
bool ChatbarLineEdit::event(QEvent *event) { if (event->type() == QEvent::KeyPress) { QKeyEvent *kev = static_cast<QKeyEvent*>(event); if (kev->key() == Qt::Key_Tab) { emit tabPressed(); return true; } else if (kev->key() == Qt::Key_Space && kev->modifiers() == Qt::ControlModifier) { emit ctrlSpacePressed(); return true; } } return QLineEdit::event(event); }
bool ChatbarTextEdit::event(QEvent *evt) { if (evt->type() == QEvent::ShortcutOverride) { return false; } if (evt->type() == QEvent::KeyPress) { QKeyEvent *kev = static_cast<QKeyEvent*>(evt); if ((kev->key() == Qt::Key_Enter || kev->key() == Qt::Key_Return) && !(kev->modifiers() & Qt::ShiftModifier)) { g.mw->sendChatbarMessage(); return true; } if (kev->key() == Qt::Key_Tab) { emit tabPressed(); return true; } else if (kev->key() == Qt::Key_Space && kev->modifiers() == Qt::ControlModifier) { emit ctrlSpacePressed(); return true; } } return QTextEdit::event(evt); }