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

fix(chatform): Fixed call buttons

Fix #3521.
This commit is contained in:
Diadlo 2016-07-18 16:11:17 +03:00
parent 1c8a7e49c1
commit dbe0a15963
No known key found for this signature in database
GPG Key ID: 5AF9F2E29107C727
2 changed files with 12 additions and 10 deletions

View File

@ -136,7 +136,7 @@ ChatForm::ChatForm(Friend* chatFriend)
} );
setAcceptDrops(true);
disableCallButtons();
retranslateUi();
Translator::registerHandler(std::bind(&ChatForm::retranslateUi, this), this);
}
@ -628,10 +628,17 @@ void ChatForm::onFileSendFailed(uint32_t FriendId, const QString &fname)
void ChatForm::onFriendStatusChanged(uint32_t friendId, Status status)
{
// Disable call buttons if friend is offline
if(friendId == f->getFriendID() && status == Status::Offline)
if(friendId != f->getFriendID())
return;
Status old = oldStatus.value(friendId, Status::Offline);
if (old != Status::Offline && status == Status::Offline)
disableCallButtons();
else
onEnableCallButtons();
else if (old == Status::Offline && status != Status::Offline)
enableCallButtons();
oldStatus[friendId] = status;
}
void ChatForm::onAvatarChange(uint32_t FriendId, const QPixmap &pic)
@ -935,12 +942,6 @@ void ChatForm::show(ContentLayout* contentLayout)
{
GenericChatForm::show(contentLayout);
// Disable call buttons if friend is offline
if(f->getStatus() == Status::Offline)
disableCallButtons();
else
onEnableCallButtons();
if (callConfirm)
callConfirm->show();
}

View File

@ -122,6 +122,7 @@ private:
QAction* copyStatusAction;
QHash<uint, FileTransferInstance*> ftransWidgets;
QMap<uint32_t, Status> oldStatus;
CallConfirmWidget *callConfirm;
bool isTyping;
};