void ViewFileManager::on(QueueManagerListener::ItemAdded, const QueueItemPtr& aQI) noexcept { if (!isViewedItem(aQI)) { return; } auto file = createFile(aQI->getTarget(), aQI->getTTH(), aQI->isSet(QueueItem::FLAG_TEXT), false); if (file) { file->onAddedQueue(aQI->getTarget(), aQI->getSize()); } }
ViewFilePtr ViewFileManager::addUserFileThrow(const string& aFileName, int64_t aSize, const TTHValue& aTTH, const HintedUser& aUser, bool aIsText) { if (ShareManager::getInstance()->isFileShared(aTTH)) { return addLocalFile(aTTH, aIsText); } if (aUser == ClientManager::getInstance()->getMe()) { return nullptr; } if (getFile(aTTH)) { return nullptr; } auto qi = QueueManager::getInstance()->addOpenedItem(aFileName, aSize, aTTH, aUser, true, aIsText); auto file = createFile(qi->getTarget(), qi->getTTH(), aIsText, false); if (file) { file->onAddedQueue(qi->getTarget(), qi->getSize()); } return file; }
ViewFile::ViewFile(const string& aTarget, const TTHValue& aTTH, bool aIsText, UpdateF&& aUpdateFunction) noexcept : path(aTarget), tth(aTTH), updateFunction(aUpdateFunction), text(aIsText) { onAddedQueue(path); }