diff --git a/services/messageservice.cpp b/services/messageservice.cpp index 4fe5b9e76d4fc0594d9f534a04b83ee00da1ae82..887799fe77987987aa9d99f63335d49cd261ebad 100644 --- a/services/messageservice.cpp +++ b/services/messageservice.cpp @@ -36,7 +36,8 @@ MessageService::MessageService( PersistanceLayer *pPersistanceLayer, RocketChatServerData *pServer, - EmojiRepo *pEmojiRepo): mEmojiRepo( pEmojiRepo ), mMessagesModel( Models::getMessagesModel() ), mSearchResults(Models::getMessagesSearchModel()) + EmojiRepo *pEmojiRepo): mReplyRegeEx("\\[ \\]\\(.*\\)</a>"),mEmojiRepo( pEmojiRepo ), mMessagesModel( Models::getMessagesModel() ), + mSearchResults(Models::getMessagesSearchModel()),mReplyReplyRegeEx("\\[ \\]\\(.*\\)") { this->mPersistanceLayer = pPersistanceLayer; this->mServer = pServer; @@ -189,8 +190,7 @@ QSharedPointer<RocketChatMessage> MessageService::parseMessage( const QJsonObjec if ( !firstAttachment.isNull() ) { if(firstAttachment->getType() == "replyMessage"){ QString messageText = msgString; - QRegularExpression rx("\\[ \\]\\(.*\\)</a>"); - messageText.replace(rx,""); + messageText.replace(mReplyRegeEx,""); msgString = messageText; }else{ msgString = firstAttachment->getTitle(); @@ -535,6 +535,8 @@ QList<QSharedPointer<RocketChatAttachment>> MessageService::processAttachments( url = attachmentObject["message_link"].toString(); } QString author = attachmentObject["author_name"].toString(); + text = text.replace(mReplyRegeEx,""); + text = text.replace(mReplyReplyRegeEx,""); QSharedPointer<RocketChatReplyMessage> reply(new RocketChatReplyMessage(text,author)); attachmentsList.append(reply); } diff --git a/services/messageservice.h b/services/messageservice.h index daaabb3312f9b0e8c91581c4db1b9df7fcb9f060..f5064fd25dae2ae45a8010067098a19752e6f5f1 100644 --- a/services/messageservice.h +++ b/services/messageservice.h @@ -62,6 +62,8 @@ class MessageService : public QObject void addChannelToBlockList( const QString &pId ); void searchMessage(const QString &pTerm, const QString &pRoom); protected: + QRegularExpression mReplyRegeEx; + QRegularExpression mReplyReplyRegeEx; const static int mExpectedSize = 50; PersistanceLayer *mPersistanceLayer; RocketChatServerData *mServer;