/*! Handle keyboard events. */ void InputTextWidget::keyPressEvent(QKeyEvent* event) { // Send message on Return if ((event->key() == Qt::Key_Return || event->key() == Qt::Key_Enter) && (event->modifiers() == Qt::NoModifier || event->modifiers() == Qt::KeypadModifier)) { // Prevents empty messages if (toPlainText().trimmed().isEmpty()) { return; } if (toPlainText().startsWith("/me ") ) { QString html = toHtml(); html.remove(html.indexOf("/me "), 4); emit sendAction(Smileypack::desmilify(html)); } else { emit sendMessage(Smileypack::desmilify(toHtml())); } // not only clears the text, but also removes undo/redo history clear(); // Override default shortcuts } else if (event == QKeySequence::Copy) { copyPlainText(); } else if (event == QKeySequence::Cut) { cutPlainText(); } else if (event == QKeySequence::Paste) { pastePlainText(); // Normal text writing } else { QTextEdit::keyPressEvent(event); } }
/*! Handle keyboard events. */ void InputTextWidget::keyPressEvent(QKeyEvent* event) { // Send message on Return if ((event->key() == Qt::Key_Return || event->key() == Qt::Key_Enter) && (event->modifiers() == Qt::NoModifier || event->modifiers() == Qt::KeypadModifier)) { if (toPlainText().startsWith("/me ") ) { QString html = toHtml(); html.remove(html.indexOf("/me "), 4); emit sendAction(EmoticonMenu::desmile(html)); } else { emit sendMessage(EmoticonMenu::desmile(toHtml())); } clear(); // Override default shortcuts } else if (event == QKeySequence::Copy) { copyPlainText(); } else if (event == QKeySequence::Cut) { cutPlainText(); } else if (event == QKeySequence::Paste) { pastePlainText(); // Normal text writing } else { QTextEdit::keyPressEvent(event); } }