Page MenuHomePhorge

kazv-io.cpp
No OneTemporary

Size
1 KB
Referenced Files
None
Subscribers
None

kazv-io.cpp

#include <QUrl>
#include <KIO/StoredTransferJob>
#include <QObject>
#include <QString>
#include <QSaveFile>
#include <QIODevice>
#include <QFileDialog>
#include <QDebug>
#include <KIO/TransferJob>
#include "kazv-io.hpp"
KazvIO::KazvIO() {}
void KazvIO::download(QUrl url)
{
if (!m_job.isNull()) {
return;
}
m_job = KIO::get(url);
m_file.setFileName(m_fileUrl.path());
m_file.open(QIODevice::WriteOnly);
connect(m_job, &KIO::TransferJob::data, this, &KazvIO::write);
connect(m_job, &KJob::result, this, &KazvIO::emitResult);
connect(m_job, &KJob::percentChanged, this, &KazvIO::updatePercent);
m_job->start();
}
void KazvIO::suspend()
{
if (!m_job->suspend()) {
qDebug() << "Suspend job failed";
}
}
void KazvIO::resume()
{
if (!m_job->resume()) {
qDebug() << "Resume job failed";
}
}
void KazvIO::cancel()
{
if (!m_job->kill()) {
qDebug() << "Cancel job failed";
}
}
float KazvIO::progress()
{
return m_progress;
}
void KazvIO::updatePercent(KJob* job, unsigned long percent)
{
m_progress = 1.0 * percent / 100;
progressChanged();
}
QUrl KazvIO::fileUrl()
{
return m_fileUrl;
}
void KazvIO::setFileUrl(QUrl fileUrl)
{
m_fileUrl = fileUrl;
fileUrlChanged();
}
void KazvIO::write(KJob* job, const QByteArray& data)
{
m_file.write(data);
}
void KazvIO::emitResult(KJob * job) {
if (job->error())
qDebug() << job->errorString();
m_file.commit();
result();
}

File Metadata

Mime Type
text/x-c
Expires
Wed, May 14, 7:41 AM (1 d, 19 h)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
166793
Default Alt Text
kazv-io.cpp (1 KB)

Event Timeline