--- vyqchat-0.2.8.orig/src/msgrcvwin.cpp 2005-12-12 18:43:08 +0300 +++ vyqchat-0.2.8.orig/src/msgrcvwin.cpp 2005-12-12 18:52:54 +0300 @@ -28,6 +28,7 @@ msg->setTextFormat(PlainText); msg->setFocusPolicy(NoFocus); rpl->setTextFormat(PlainText); + rpl->installEventFilter(this); rpl->setFocus(); l1->addWidget(msg); l1->addWidget(rpl); @@ -54,6 +55,22 @@ { }/*}}}*/ +bool MessageRcvWindow::eventFilter(QObject *target, QEvent *event) +{ + if (target == rpl) { + if (event->type() == QEvent::KeyPress) { + QKeyEvent *keyEvent = (QKeyEvent *)event; + if (((keyEvent->key() == Qt::Key_Enter) || (keyEvent->key() == Qt::Key_Return)) + && (keyEvent->state() & Qt::ControlButton)) { + replyPressed(); + return true; + } + } + } + return QWidget::eventFilter(target, event); +} + + /*----------------------------------------------------------------------------------------------------- * * S L O T S --- vyqchat-0.2.8.orig/src/msgrcvwin.h 2005-12-12 18:43:08 +0300 +++ vyqchat-0.2.8.orig/src/msgrcvwin.h 2005-12-12 18:51:19 +0300 @@ -38,6 +38,7 @@ public: MessageRcvWindow(const QString &from, const QString &msg); virtual ~MessageRcvWindow(); + bool eventFilter(QObject *target, QEvent *event); }; #endif --- vyqchat-0.2.8.orig/src/msgsndwin.cpp 2005-12-12 18:43:08 +0300 +++ vyqchat-0.2.8.orig/src/msgsndwin.cpp 2005-12-12 18:46:52 +0300 @@ -24,6 +24,7 @@ QBoxLayout *l1 = new QVBoxLayout(this); msg = new QTextEdit(this); msg->setTextFormat(PlainText); + msg->installEventFilter(this); l1->addWidget(msg); QBoxLayout *bl = new QHBoxLayout(l1); @@ -43,6 +44,23 @@ { }/*}}}*/ + +bool MessageSndWindow::eventFilter(QObject *target, QEvent *event) +{ + if (target == msg) { + if (event->type() == QEvent::KeyPress) { + QKeyEvent *keyEvent = (QKeyEvent *)event; + if (((keyEvent->key() == Qt::Key_Enter) || (keyEvent->key() == Qt::Key_Return)) + && (keyEvent->state() & Qt::ControlButton)) { + sendPressed(); + return true; + } + } + } + return QWidget::eventFilter(target, event); +} + + /*----------------------------------------------------------------------------------------------------- * * S L O T S --- vyqchat-0.2.8.orig/src/msgsndwin.h 2005-12-12 18:43:08 +0300 +++ vyqchat-0.2.8.orig/src/msgsndwin.h 2005-12-12 18:47:49 +0300 @@ -36,6 +36,7 @@ public: MessageSndWindow(const QString &to); virtual ~MessageSndWindow(); + bool eventFilter(QObject *target, QEvent *event); }; #endif