forked from lubuwest/Friendiqa
Version 0.002 with working Favorite Combobox
This commit is contained in:
parent
42de63fe63
commit
571c9046d0
42 changed files with 1948 additions and 814 deletions
|
@ -13,7 +13,7 @@ int main(int argc, char *argv[]) {
|
|||
view.rootContext()->setContextProperty("xhr", xhr);
|
||||
FILESYSTEM* filesystem = FILESYSTEM::instance();
|
||||
view.rootContext()->setContextProperty("filesystem", filesystem);
|
||||
view.setSource(QUrl("qrc:/qml/friendiqa.qml"));
|
||||
view.setSource(QUrl("qrc:/qml/friendiqa.qml"));
|
||||
view.show();
|
||||
view.connect(view.rootContext()->engine(), SIGNAL(quit()), &app, SLOT(quit()));
|
||||
return app.exec();
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
#include "xhr.h"
|
||||
#include "xhr.h"
|
||||
|
||||
#include <QHttpPart>
|
||||
#include <QTextCodec>
|
||||
|
@ -14,7 +14,7 @@ XHR *XHR::instance()
|
|||
|
||||
XHR::XHR(QObject *parent) : QObject(parent)
|
||||
{
|
||||
request.setSslConfiguration(QSslConfiguration::defaultConfiguration());
|
||||
// request.setSslConfiguration(QSslConfiguration::defaultConfiguration());
|
||||
}
|
||||
|
||||
void XHR::setUrl(QString url)
|
||||
|
@ -32,6 +32,15 @@ void XHR::setLogin(QString login)
|
|||
emit loginChanged();
|
||||
}
|
||||
}
|
||||
|
||||
void XHR::setFilename(QString filename)
|
||||
{
|
||||
if (filename!=m_filename) {
|
||||
m_filename = filename;
|
||||
emit filenameChanged();
|
||||
}
|
||||
}
|
||||
|
||||
QString XHR::url() const
|
||||
{
|
||||
return m_url;
|
||||
|
@ -42,6 +51,11 @@ QString XHR::login() const
|
|||
return m_login;
|
||||
}
|
||||
|
||||
QString XHR::filename() const
|
||||
{
|
||||
return m_filename;
|
||||
}
|
||||
|
||||
void XHR::setParam(QString name, QString value)
|
||||
{
|
||||
params.insert(name, value);
|
||||
|
@ -58,6 +72,21 @@ void XHR::clearParams()
|
|||
params.clear();
|
||||
}
|
||||
|
||||
void XHR::download()
|
||||
{
|
||||
QUrl requrl(m_url);
|
||||
// qDebug() << "start download of " << requrl;
|
||||
request.setUrl(requrl);
|
||||
reply = manager.get(request);
|
||||
// qDebug() << "reply " << reply->header(QNetworkRequest::LocationHeader)<<reply->header(QNetworkRequest::LastModifiedHeader);
|
||||
// qDebug() << "request " << request.url();
|
||||
// qDebug() << "error " << reply->error();
|
||||
// reply->ignoreSslErrors();
|
||||
connect(reply, &QNetworkReply::readyRead,this, &XHR::onRequestFinished);
|
||||
connect(reply, &QNetworkReply::sslErrors, this, &XHR::onSSLError);
|
||||
connect(reply, SIGNAL(error(QNetworkReply::NetworkError)), this, SLOT(onReplyError(QNetworkReply::NetworkError)));
|
||||
}
|
||||
|
||||
void XHR::get()
|
||||
{
|
||||
QUrlQuery query;
|
||||
|
@ -82,7 +111,7 @@ void XHR::get()
|
|||
connect(reply, &QNetworkReply::finished, this, &XHR::onReplySuccess);
|
||||
connect(reply, SIGNAL(error(QNetworkReply::NetworkError)), this, SLOT(onReplyError(QNetworkReply::NetworkError)));
|
||||
connect(reply, &QNetworkReply::readyRead, this, &XHR::onReadyRead);
|
||||
|
||||
connect(reply, &QNetworkReply::sslErrors, this, &XHR::onSSLError);
|
||||
}
|
||||
|
||||
void XHR::post()
|
||||
|
@ -145,6 +174,22 @@ void XHR::onReplySuccess()
|
|||
reply->deleteLater();
|
||||
}
|
||||
|
||||
void XHR::onRequestFinished()
|
||||
{
|
||||
// Save the file here
|
||||
QByteArray b = reply->readAll();
|
||||
QImage image = QImage::fromData(b);
|
||||
if (image.isNull()){qDebug() << "Image empty"<<m_url;}
|
||||
QFile file(m_filename);
|
||||
file.open(QIODevice::WriteOnly);
|
||||
image.save(&file, "JPG");
|
||||
b.clear();
|
||||
file.close();
|
||||
// qDebug() << m_url << "File downloaded "<<file.fileName();
|
||||
emit this->downloaded();
|
||||
reply->deleteLater();
|
||||
}
|
||||
|
||||
void XHR::onReadyRead()
|
||||
{
|
||||
qDebug() << ".";
|
||||
|
|
|
@ -11,35 +11,43 @@ class XHR : public QObject
|
|||
Q_OBJECT
|
||||
Q_PROPERTY(QString url READ url WRITE setUrl NOTIFY urlChanged)
|
||||
Q_PROPERTY(QString login READ login WRITE setLogin NOTIFY loginChanged)
|
||||
|
||||
Q_PROPERTY(QString filename READ filename WRITE setFilename NOTIFY filenameChanged)
|
||||
public:
|
||||
static XHR *instance();
|
||||
|
||||
explicit XHR(QObject *parent = 0);
|
||||
|
||||
void setUrl(QString url);
|
||||
// void setLogin(QString login);
|
||||
|
||||
// void setLogin(QString login);
|
||||
|
||||
QString url() const;
|
||||
QString login() const;
|
||||
QString filename() const;
|
||||
|
||||
signals:
|
||||
void urlChanged();
|
||||
void loginChanged();
|
||||
void filenameChanged();
|
||||
void downloaded();
|
||||
void success(QString data);
|
||||
void error(QString data, int code);
|
||||
|
||||
public slots:
|
||||
void setUrl(QString url);
|
||||
void setLogin(QString login);
|
||||
void setFilename(QString filename);
|
||||
void setParam(QString name, QString value);
|
||||
void setImageFileParam(QString name, QString url);
|
||||
void clearParams();
|
||||
void post();
|
||||
void get();
|
||||
void download();
|
||||
|
||||
private slots:
|
||||
void onReplyError(QNetworkReply::NetworkError code);
|
||||
void onReplySuccess();
|
||||
void onRequestFinished();
|
||||
//void onFileWritten();
|
||||
void onReadyRead();
|
||||
void onSSLError(const QList<QSslError> &errors);
|
||||
|
||||
|
@ -47,6 +55,7 @@ private:
|
|||
QByteArray buffer;
|
||||
QString m_url;
|
||||
QString m_login;
|
||||
QString m_filename;
|
||||
QHash<QString, QString> params;
|
||||
QHash<QString, QString> files;
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue