int CManageFileTransfer::SaveAs(QSharedPointer<CFileTransfer> file) { int nRet = 0; QString szFile; QString szDir = CGlobalDir::Instance()->GetDirReceiveFile() + QDir::separator() + file->GetFile(); szFile = CTool::FileDialog(NULL, szDir, QString(), tr("Save as"), QFileDialog::AcceptSave); if(szFile.isEmpty()) return -1; QFile f(szFile); if(f.exists()) { if(QMessageBox::No == QMessageBox::warning(NULL, tr("Save as"), tr("File is exists. Do you save it?"), QMessageBox::Ok, QMessageBox::No)) { return 0; } } nRet = file->Accept(szFile); return nRet; }
int CManageFileTransfer::Accept(QSharedPointer<CFileTransfer> file) { int nRet = 0; QString szTmp = CGlobalDir::Instance()->GetDirReceiveFile()//QStandardPaths::writableLocation(QStandardPaths::TempLocation) + QDir::separator() + file->GetFile(); nRet = file->Accept(szTmp); return nRet; }
void CManageFileTransfer::slotFileReceived(const QString& szId, QSharedPointer<CFileTransfer> file) { bool check = connect(file.data(), SIGNAL(sigFinished(const QString&, const QString&)), SLOT(slotFinished(const QString&, const QString&))); Q_ASSERT(check); m_FileTransfer.insertMulti(szId, file); QSharedPointer<CUser> roster = GLOBAL_USER->GetUserInfoRoster(szId); if(roster.isNull()) { LOG_MODEL_ERROR("CManageFileTransfer", "There isn't roster:%s", szId.toStdString().c_str()); return; } if(CTool::isImageFile(file->GetFile())) { Accept(file); } QSharedPointer<CFileTransferAction> action(new CFileTransferAction(file, szId, QTime::currentTime(), false)); roster->GetMessage()->AddMessage(action); GET_MAINWINDOW->ShowTrayIconMessage(roster->GetInfo()->GetShowName() + ":", tr("Send file %1").arg(file->GetFile())); emit GET_CLIENT->sigMessageUpdate(szId); }