|
|
|
@ -683,7 +683,9 @@ void Widget::onFriendStatusChanged(int friendId, Status status)
@@ -683,7 +683,9 @@ void Widget::onFriendStatusChanged(int friendId, Status status)
|
|
|
|
|
case Status::Busy: |
|
|
|
|
fStatus = tr("busy", "contact status"); break; |
|
|
|
|
case Status::Offline: |
|
|
|
|
fStatus = tr("offline", "contact status"); break; |
|
|
|
|
fStatus = tr("offline", "contact status"); |
|
|
|
|
f->getChatForm()->setFriendTyping(false); // Hide the "is typing" message when a friend goes offline
|
|
|
|
|
break; |
|
|
|
|
default: |
|
|
|
|
fStatus = tr("online", "contact status"); break; |
|
|
|
|
} |
|
|
|
@ -695,6 +697,10 @@ void Widget::onFriendStatusChanged(int friendId, Status status)
@@ -695,6 +697,10 @@ void Widget::onFriendStatusChanged(int friendId, Status status)
|
|
|
|
|
if (isActualChange && status != Status::Offline) |
|
|
|
|
{ // wait a little
|
|
|
|
|
QTimer::singleShot(250, f->getChatForm()->getOfflineMsgEngine(), SLOT(deliverOfflineMsgs())); |
|
|
|
|
|
|
|
|
|
// Send another typing notification if the contact comes back online
|
|
|
|
|
if (f->getChatForm()->getIsTyping() && Settings::getInstance().isTypingNotificationEnabled()) |
|
|
|
|
Core::getInstance()->sendTyping(f->getFriendID(), true); |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|