mirror of
https://github.com/subsurface/subsurface.git
synced 2024-11-30 22:20:21 +00:00
c1cf6c02a8
Added initial support for download dive info from subsurface web service, the current code only downloads and output the xml downloaded in the debug area. Now I need to parse things up and plug the unplugged stuff. Signed-off-by: Tomaz Canabrava <tcanabrava@kde.org>
59 lines
1.7 KiB
C++
59 lines
1.7 KiB
C++
#include "subsurfacewebservices.h"
|
|
#include "ui_subsurfacewebservices.h"
|
|
#include <QNetworkAccessManager>
|
|
#include <QNetworkReply>
|
|
#include <QDebug>
|
|
|
|
SubsurfaceWebServices* SubsurfaceWebServices::instance()
|
|
{
|
|
static SubsurfaceWebServices *self = new SubsurfaceWebServices();
|
|
return self;
|
|
}
|
|
|
|
SubsurfaceWebServices::SubsurfaceWebServices(QWidget* parent, Qt::WindowFlags f)
|
|
: ui( new Ui::SubsurfaceWebServices()){
|
|
ui->setupUi(this);
|
|
connect(ui->buttonBox, SIGNAL(clicked(QAbstractButton*)), this, SLOT(buttonClicked(QAbstractButton*)));
|
|
connect(ui->download, SIGNAL(clicked(bool)), this, SLOT(startDownload()));
|
|
}
|
|
|
|
void SubsurfaceWebServices::buttonClicked(QAbstractButton* button)
|
|
{
|
|
|
|
}
|
|
|
|
void SubsurfaceWebServices::startDownload()
|
|
{
|
|
QUrl url("http://api.hohndel.org/api/dive/get/");
|
|
url.setQueryItems( QList<QPair<QString,QString> >() << qMakePair(QString("login"), ui->userID->text()));
|
|
qDebug() << url;
|
|
|
|
QNetworkAccessManager *manager = new QNetworkAccessManager(this);
|
|
QNetworkRequest request;
|
|
request.setUrl(url);
|
|
request.setRawHeader("Accept", "text/xml");
|
|
reply = manager->get(request);
|
|
ui->progressBar->setRange(0,0);
|
|
connect(reply, SIGNAL(finished()), this, SLOT(downloadFinished()));
|
|
connect(reply, SIGNAL(error(QNetworkReply::NetworkError)), this, SLOT(downloadError(QNetworkReply::NetworkError)));
|
|
}
|
|
|
|
void SubsurfaceWebServices::downloadFinished()
|
|
{
|
|
ui->progressBar->setRange(0,1);
|
|
QByteArray result = reply->readAll();
|
|
qDebug() << result;
|
|
ui->status->setText(tr("Download Finished"));
|
|
}
|
|
|
|
void SubsurfaceWebServices::downloadError(QNetworkReply::NetworkError error)
|
|
{
|
|
ui->progressBar->setRange(0,1);
|
|
ui->status->setText(QString::number((int)QNetworkRequest::HttpStatusCodeAttribute));
|
|
}
|
|
|
|
|
|
void SubsurfaceWebServices::runDialog()
|
|
{
|
|
show();
|
|
}
|