mirror of
https://github.com/qTox/qTox.git
synced 2024-03-22 14:00:36 +08:00
Merge branch 'pr1048'
This commit is contained in:
commit
350da58337
|
@ -143,6 +143,8 @@ void ChatForm::onSendTriggered()
|
|||
rec = Core::getInstance()->sendMessage(f->getFriendID(), qt_msg);
|
||||
|
||||
registerReceipt(rec, id, ma);
|
||||
|
||||
msgEdit->setLastMessage(msg); //set last message only when sending it
|
||||
}
|
||||
|
||||
msgEdit->clear();
|
||||
|
|
|
@ -31,9 +31,35 @@ void ChatTextEdit::keyPressEvent(QKeyEvent * event)
|
|||
emit enterPressed();
|
||||
else if (key == Qt::Key_Tab)
|
||||
emit tabPressed();
|
||||
/**
|
||||
If message box is empty, it will paste previous message on arrow up
|
||||
if message box is not empty,
|
||||
it will copy current(2) text and paste previous(1) message,
|
||||
to paste previous message(2) press arrow down,
|
||||
press arrow down twice to clear mesage box,
|
||||
only previous message(1) is available to paste now.
|
||||
*/
|
||||
else if (key == Qt::Key_Up && this->toPlainText().isEmpty())
|
||||
this->setText(lastMessage);
|
||||
else if (key == Qt::Key_Up && !this->toPlainText().isEmpty()
|
||||
&& lastMessage != this->toPlainText())
|
||||
{
|
||||
currentMessage = this->toPlainText();
|
||||
this->setText(lastMessage);
|
||||
}
|
||||
else if (key == Qt::Key_Down && !currentMessage.isEmpty())
|
||||
{
|
||||
this->setPlainText(currentMessage);
|
||||
currentMessage.clear();
|
||||
}
|
||||
else
|
||||
{
|
||||
emit keyPressed();
|
||||
QTextEdit::keyPressEvent(event);
|
||||
}
|
||||
}
|
||||
|
||||
void ChatTextEdit::setLastMessage(QString lm)
|
||||
{
|
||||
lastMessage = lm;
|
||||
}
|
||||
|
|
|
@ -25,13 +25,16 @@ class ChatTextEdit : public QTextEdit
|
|||
public:
|
||||
explicit ChatTextEdit(QWidget *parent = 0);
|
||||
virtual void keyPressEvent(QKeyEvent * event) override;
|
||||
|
||||
void setLastMessage(QString lm);
|
||||
|
||||
signals:
|
||||
void enterPressed();
|
||||
void tabPressed();
|
||||
void keyPressed();
|
||||
|
||||
public slots:
|
||||
|
||||
private:
|
||||
QString lastMessage,
|
||||
currentMessage;
|
||||
|
||||
};
|
||||
|
||||
|
|
Loading…
Reference in New Issue
Block a user