void ChatForm::onFileRecvRequest(ToxFile file) { if (file.friendId != f->getFriendID()) return; Widget::getInstance()->newFriendMessageAlert(file.friendId); QString name; ToxId friendId = f->getToxId(); if (friendId != previousId) { name = f->getDisplayedName(); previousId = friendId; } ChatMessage::Ptr msg = ChatMessage::createFileTransferMessage(name, file, false, QDateTime::currentDateTime()); insertChatMessage(msg); ChatLineContentProxy* proxy = static_cast<ChatLineContentProxy*>(msg->getContent(1)); assert(proxy->getWidgetType() == ChatLineContentProxy::FileTransferWidgetType); FileTransferWidget* tfWidget = static_cast<FileTransferWidget*>(proxy->getWidget()); // there is auto-accept for that conact if (!Settings::getInstance().getAutoAcceptDir(f->getToxId()).isEmpty()) { tfWidget->autoAcceptTransfer(Settings::getInstance().getAutoAcceptDir(f->getToxId())); } else if (Settings::getInstance().getAutoSaveEnabled()) { //global autosave to global directory tfWidget->autoAcceptTransfer(Settings::getInstance().getGlobalAutoAcceptDir()); } Widget::getInstance()->updateFriendActivity(f); }
void ChatForm::onFileRecvRequest(ToxFile file) { if (file.friendId != f->getFriendID()) return; Widget* w = Widget::getInstance(); if (!w->isFriendWidgetCurActiveWidget(f)|| w->isMinimized() || !w->isActiveWindow()) { w->newMessageAlert(f->getFriendWidget()); f->setEventFlag(true); f->getFriendWidget()->updateStatusLight(); } QString name; ToxId friendId = f->getToxId(); if (friendId != previousId) { name = f->getDisplayedName(); previousId = friendId; } ChatMessage::Ptr msg = ChatMessage::createFileTransferMessage(name, file, false, QDateTime::currentDateTime()); insertChatMessage(msg); if (!Settings::getInstance().getAutoAcceptDir(f->getToxId()).isEmpty() || Settings::getInstance().getAutoSaveEnabled()) { ChatLineContentProxy* proxy = static_cast<ChatLineContentProxy*>(msg->getContent(1)); assert(proxy->getWidgetType() == ChatLineContentProxy::FileTransferWidgetType); FileTransferWidget* tfWidget = static_cast<FileTransferWidget*>(proxy->getWidget()); tfWidget->autoAcceptTransfer(Settings::getInstance().getAutoAcceptDir(f->getToxId())); } }