Пример #1
0
void Shoter::upload(const QString &hostUrl,  QHttpMultiPart *multipart)
{
	QUrl url(hostUrl);
	QNetworkRequest request(url);
	QNetworkReply *r = m_manager->post(request,  multipart);
	multipart->setParent(r);
	QObject::connect(r,  SIGNAL(uploadProgress(qint64,  qint64)),  this,  SLOT(upProgress(qint64,  qint64)));
}
Пример #2
0
	void UpManager::handleUploadRequest (IStorageAccount *acc, const QString& path)
	{
		if (!Uploads_.contains (acc))
		{
			QObject *accObj = acc->GetObject ();
			connect (accObj,
					SIGNAL (gotURL (QUrl, QString)),
					this,
					SLOT (handleGotURL (QUrl, QString)));
			connect (accObj,
					SIGNAL (upError (QString, QString)),
					this,
					SLOT (handleError (QString, QString)));
			connect (accObj,
					SIGNAL (upStatusChanged (QString, QString)),
					this,
					SLOT (handleUpStatusChanged (QString, QString)));
			connect (accObj,
					SIGNAL (upProgress (quint64, quint64, QString)),
					this,
					SLOT (handleUpProgress (quint64, quint64, QString)));
		}
		else if (Uploads_ [acc].contains (path))
		{
			const Entity& e = Util::MakeNotification ("NetStoreManager",
					tr ("%1 is already uploading to %2.")
						.arg (QFileInfo (path).fileName ())
						.arg (acc->GetAccountName ()),
					PWarning_);
			emit gotEntity (e);
			return;
		}

		acc->Upload (path);

		auto plugin = qobject_cast<IStoragePlugin*> (acc->GetParentPlugin ());

		QList<QStandardItem*> row;
		row << new QStandardItem (tr ("Uploading %1 to %2...")
					.arg (QFileInfo (path).fileName ())
					.arg (plugin->GetStorageName ()));
		row << new QStandardItem ();
		row << new QStandardItem (tr ("Initializing..."));
		ReprModel_->appendRow (row);

		ReprItems_ [acc] [path] = row;
	}