|
|
|
@ -726,7 +726,7 @@ void GenericChatForm::loadHistoryTo(const QDateTime &time)
@@ -726,7 +726,7 @@ void GenericChatForm::loadHistoryTo(const QDateTime &time)
|
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
bool GenericChatForm::loadHistoryFrom(const QDateTime &time) |
|
|
|
|
void GenericChatForm::loadHistoryFrom(const QDateTime &time) |
|
|
|
|
{ |
|
|
|
|
chatWidget->setScroll(false); |
|
|
|
|
auto begin = chatLog.getFirstIdx(); |
|
|
|
@ -738,20 +738,10 @@ bool GenericChatForm::loadHistoryFrom(const QDateTime &time)
@@ -738,20 +738,10 @@ bool GenericChatForm::loadHistoryFrom(const QDateTime &time)
|
|
|
|
|
|
|
|
|
|
int add = DEF_NUM_MSG_TO_LOAD; |
|
|
|
|
if (begin.get() + DEF_NUM_MSG_TO_LOAD > chatLog.getNextIdx().get()) { |
|
|
|
|
auto t = chatLog.getNextIdx(); |
|
|
|
|
add = chatLog.getNextIdx().get() - begin.get(); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
if (add <= 1) { |
|
|
|
|
chatWidget->setScroll(true); |
|
|
|
|
return false; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
auto end = ChatLogIdx(begin.get() + add); |
|
|
|
|
|
|
|
|
|
renderMessages(begin, end); |
|
|
|
|
|
|
|
|
|
return true; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
void GenericChatForm::removeFirstsMessages(const int num) |
|
|
|
@ -1219,9 +1209,8 @@ void GenericChatForm::loadHistoryUpper()
@@ -1219,9 +1209,8 @@ void GenericChatForm::loadHistoryUpper()
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
auto msg = messages.crbegin()->second; |
|
|
|
|
if (loadHistoryFrom(QDateTime())) { |
|
|
|
|
chatWidget->scrollToLine(msg); |
|
|
|
|
} |
|
|
|
|
loadHistoryFrom(QDateTime()); |
|
|
|
|
chatWidget->scrollToLine(msg); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
void GenericChatForm::updateShowDateInfo(const ChatLine::Ptr& prevLine, const ChatLine::Ptr& topLine) |
|
|
|
|