diff --git a/src/chatlog/chatlog.h b/src/chatlog/chatlog.h index ec7cf5ecd..fdc4a8436 100644 --- a/src/chatlog/chatlog.h +++ b/src/chatlog/chatlog.h @@ -58,6 +58,8 @@ public: ChatLine::Ptr getTypingNotification() const; QVector getLines(); + // repetition interval sender name (sec) + const uint repNameAfter = 5*60; signals: void selectionChanged(); @@ -142,6 +144,8 @@ private: QMargins margins = QMargins(10,10,10,10); qreal lineSpacing = 5.0f; + + }; #endif // CHATLOG_H diff --git a/src/widget/form/chatform.cpp b/src/widget/form/chatform.cpp index b1a119980..15534bf0f 100644 --- a/src/widget/form/chatform.cpp +++ b/src/widget/form/chatform.cpp @@ -845,10 +845,11 @@ void ChatForm::loadHistory(QDateTime since, bool processUndelivered) authorId.isMine(), QDateTime()); - if(!isAction && prevId == authorId) + if(!isAction && (prevId == authorId) && (prevMsgDateTime.secsTo(msgDateTime) < getChatLog()->repNameAfter) ) msg->hideSender(); prevId = authorId; + prevMsgDateTime = msgDateTime; if (it.isSent || !authorId.isMine()) { diff --git a/src/widget/form/genericchatform.cpp b/src/widget/form/genericchatform.cpp index 6341dea5e..c49ec4005 100644 --- a/src/widget/form/genericchatform.cpp +++ b/src/widget/form/genericchatform.cpp @@ -221,10 +221,11 @@ ChatMessage::Ptr GenericChatForm::addMessage(const ToxID& author, const QString else { msg = ChatMessage::createChatMessage(authorStr, message, ChatMessage::NORMAL, author.isMine()); - if(author == previousId) + if ( (author == previousId) && (prevMsgDateTime.secsTo(QDateTime::currentDateTime()) < getChatLog()->repNameAfter) ) msg->hideSender(); previousId = author; + prevMsgDateTime = QDateTime::currentDateTime(); } insertChatMessage(msg); @@ -246,10 +247,11 @@ void GenericChatForm::addAlertMessage(const ToxID &author, QString message, QDat ChatMessage::Ptr msg = ChatMessage::createChatMessage(authorStr, message, ChatMessage::ALERT, author.isMine(), datetime); insertChatMessage(msg); - if(author == previousId) + if( (author == previousId) && (prevMsgDateTime.secsTo(QDateTime::currentDateTime()) < getChatLog()->repNameAfter) ) msg->hideSender(); previousId = author; + prevMsgDateTime = QDateTime::currentDateTime(); } void GenericChatForm::onEmoteButtonClicked() @@ -372,3 +374,5 @@ void GenericChatForm::insertChatMessage(ChatMessage::Ptr msg) { chatWidget->insertChatlineAtBottom(std::dynamic_pointer_cast(msg)); } + + diff --git a/src/widget/form/genericchatform.h b/src/widget/form/genericchatform.h index 34da7957e..55b5be9ec 100644 --- a/src/widget/form/genericchatform.h +++ b/src/widget/form/genericchatform.h @@ -82,6 +82,7 @@ protected: void insertChatMessage(ChatMessage::Ptr msg); ToxID previousId; + QDateTime prevMsgDateTime; Widget *parent; QMenu menu; int curRow;