1
0
mirror of https://github.com/qTox/qTox.git synced 2024-03-22 14:00:36 +08:00

fixed history

This commit is contained in:
krepa098 2015-01-03 14:08:04 +01:00
parent d7f5068fbf
commit 8a1ea18ed4

View File

@ -61,7 +61,7 @@ ChatForm::ChatForm(Friend* chatFriend)
headTextLayout->addStretch(); headTextLayout->addStretch();
callDuration = new QLabel(); callDuration = new QLabel();
headTextLayout->addWidget(callDuration, 1, Qt::AlignCenter); headTextLayout->addWidget(callDuration, 1, Qt::AlignCenter);
callDuration->hide(); callDuration->hide();
menu.addAction(tr("Load History..."), this, SLOT(onLoadHistory())); menu.addAction(tr("Load History..."), this, SLOT(onLoadHistory()));
@ -199,7 +199,7 @@ void ChatForm::onFileRecvRequest(ToxFile file)
ChatMessage* msg = chatWidget->addFileTransferMessage(name, file, QDateTime::currentDateTime(), false); ChatMessage* msg = chatWidget->addFileTransferMessage(name, file, QDateTime::currentDateTime(), false);
if (!Settings::getInstance().getAutoAcceptDir(f->getToxID()).isEmpty() if (!Settings::getInstance().getAutoAcceptDir(f->getToxID()).isEmpty()
|| Settings::getInstance().getAutoSaveEnabled()) || Settings::getInstance().getAutoSaveEnabled())
{ {
FileTransferWidget* tfWidget = dynamic_cast<FileTransferWidget*>(msg->getContent(1)); FileTransferWidget* tfWidget = dynamic_cast<FileTransferWidget*>(msg->getContent(1));
if(tfWidget) if(tfWidget)
@ -255,7 +255,7 @@ void ChatForm::onAvStart(int FriendId, int CallId, bool video)
callId = CallId; callId = CallId;
callButton->disconnect(); callButton->disconnect();
videoButton->disconnect(); videoButton->disconnect();
if (video) if (video)
{ {
callButton->setObjectName("grey"); callButton->setObjectName("grey");
@ -419,7 +419,7 @@ void ChatForm::onAvEnding(int FriendId, int)
connect(videoButton, SIGNAL(clicked()), this, SLOT(onVideoCallTriggered())); connect(videoButton, SIGNAL(clicked()), this, SLOT(onVideoCallTriggered()));
netcam->hide(); netcam->hide();
stopCounter(); stopCounter();
} }
@ -526,7 +526,7 @@ void ChatForm::onAvMediaChange(int FriendId, int CallId, bool video)
void ChatForm::onAnswerCallTriggered() void ChatForm::onAnswerCallTriggered()
{ {
qDebug() << "onAnswerCallTriggered"; qDebug() << "onAnswerCallTriggered";
audioInputFlag = true; audioInputFlag = true;
audioOutputFlag = true; audioOutputFlag = true;
emit answerCall(callId); emit answerCall(callId);
@ -703,7 +703,6 @@ void ChatForm::loadHistory(QDateTime since, bool processUndelivered)
std::swap(storedPrevId, previousId); std::swap(storedPrevId, previousId);
QList<ChatMessage*> historyMessages; QList<ChatMessage*> historyMessages;
//TODO: possibly broken
QDate lastDate(1,0,0); QDate lastDate(1,0,0);
for (const auto &it : msgs) for (const auto &it : msgs)
{ {
@ -720,12 +719,11 @@ void ChatForm::loadHistory(QDateTime since, bool processUndelivered)
ToxID msgSender = ToxID::fromString(it.sender); ToxID msgSender = ToxID::fromString(it.sender);
bool isAction = it.message.startsWith("/me "); bool isAction = it.message.startsWith("/me ");
ChatMessage* msg;
QString authorStr = (msgSender.isMine() ? Core::getInstance()->getUsername() : resolveToxID(msgSender)); ChatMessage* msg = addMessage(msgSender,
if (!isAction) isAction ? it.message.right(it.message.length() - 4) : it.message,
msg = chatWidget->addChatMessage(authorStr, it.message, msgSender.isMine(), false); isAction, QDateTime::currentDateTime(),
else false);
msg = chatWidget->addChatAction(authorStr, it.message.right(it.message.length() - 4));
if (it.isSent || !msgSender.isMine()) if (it.isSent || !msgSender.isMine())
{ {
@ -747,15 +745,15 @@ void ChatForm::loadHistory(QDateTime since, bool processUndelivered)
} }
std::swap(storedPrevId, previousId); std::swap(storedPrevId, previousId);
// int savedSliderPos = chatWidget->verticalScrollBar()->maximum() - chatWidget->verticalScrollBar()->value(); // int savedSliderPos = chatWidget->verticalScrollBar()->maximum() - chatWidget->verticalScrollBar()->value();
// if (earliestMessage != nullptr) // if (earliestMessage != nullptr)
// *earliestMessage = since; // *earliestMessage = since;
// chatWidget->insertMessagesTop(historyMessages); // chatWidget->insertMessagesTop(historyMessages);
// savedSliderPos = chatWidget->verticalScrollBar()->maximum() - savedSliderPos; // savedSliderPos = chatWidget->verticalScrollBar()->maximum() - savedSliderPos;
// chatWidget->verticalScrollBar()->setValue(savedSliderPos); // chatWidget->verticalScrollBar()->setValue(savedSliderPos);
} }
void ChatForm::onLoadHistory() void ChatForm::onLoadHistory()
@ -786,7 +784,7 @@ void ChatForm::stopCounter()
if (timer) if (timer)
{ {
addSystemInfoMessage(tr("Call with %1 ended. %2").arg(f->getDisplayedName(),secondsToDHMS(timeElapsed.elapsed()/1000)), addSystemInfoMessage(tr("Call with %1 ended. %2").arg(f->getDisplayedName(),secondsToDHMS(timeElapsed.elapsed()/1000)),
"white", QDateTime::currentDateTime()); "white", QDateTime::currentDateTime());
timer->stop(); timer->stop();
callDuration->setText(""); callDuration->setText("");
callDuration->hide(); callDuration->hide();