summaryrefslogtreecommitdiffstats
path: root/qt-ui/diveshareexportdialog.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'qt-ui/diveshareexportdialog.cpp')
-rw-r--r--qt-ui/diveshareexportdialog.cpp141
1 files changed, 0 insertions, 141 deletions
diff --git a/qt-ui/diveshareexportdialog.cpp b/qt-ui/diveshareexportdialog.cpp
deleted file mode 100644
index 9fe6eefd6..000000000
--- a/qt-ui/diveshareexportdialog.cpp
+++ /dev/null
@@ -1,141 +0,0 @@
-#include "diveshareexportdialog.h"
-#include "ui_diveshareexportdialog.h"
-#include "mainwindow.h"
-#include "save-html.h"
-#include "subsurfacewebservices.h"
-#include "helpers.h"
-
-#include <QDesktopServices>
-#include <QSettings>
-
-DiveShareExportDialog::DiveShareExportDialog(QWidget *parent) :
- QDialog(parent),
- ui(new Ui::DiveShareExportDialog),
- reply(NULL),
- exportSelected(false)
-{
- ui->setupUi(this);
-}
-
-DiveShareExportDialog::~DiveShareExportDialog()
-{
- delete ui;
-}
-
-void DiveShareExportDialog::UIDFromBrowser()
-{
- QDesktopServices::openUrl(QUrl(DIVESHARE_BASE_URI "/secret"));
-}
-
-DiveShareExportDialog *DiveShareExportDialog::instance()
-{
- static DiveShareExportDialog *self = new DiveShareExportDialog(MainWindow::instance());
- self->setAttribute(Qt::WA_QuitOnClose, false);
- self->ui->txtResult->setHtml("");
- self->ui->buttonBox->setStandardButtons(QDialogButtonBox::Cancel);
- return self;
-}
-
-void DiveShareExportDialog::prepareDivesForUpload(bool selected)
-{
- exportSelected = selected;
- ui->frameConfigure->setVisible(true);
- ui->frameResults->setVisible(false);
-
- QSettings settings;
- if (settings.contains("diveshareExport/uid"))
- ui->txtUID->setText(settings.value("diveshareExport/uid").toString());
-
- if (settings.contains("diveshareExport/private"))
- ui->chkPrivate->setChecked(settings.value("diveshareExport/private").toBool());
-
- show();
-}
-
-static QByteArray generate_html_list(const QByteArray &data)
-{
- QList<QByteArray> dives = data.split('\n');
- QByteArray html;
- html.append("<html><body><table>");
- for (int i = 0; i < dives.length(); i++ ) {
- html.append("<tr>");
- QList<QByteArray> dive_details = dives[i].split(',');
- if (dive_details.length() < 3)
- continue;
-
- QByteArray dive_id = dive_details[0];
- QByteArray dive_delete = dive_details[1];
-
- html.append("<td>");
- html.append("<a href=\"" DIVESHARE_BASE_URI "/dive/" + dive_id + "\">");
-
- //Title gets separated too, this puts it back together
- const char *sep = "";
- for (int t = 2; t < dive_details.length(); t++) {
- html.append(sep);
- html.append(dive_details[t]);
- sep = ",";
- }
-
- html.append("</a>");
- html.append("</td>");
- html.append("<td>");
- html.append("<a href=\"" DIVESHARE_BASE_URI "/delete/dive/" + dive_delete + "\">Delete dive</a>");
- html.append("</td>" );
-
- html.append("</tr>");
- }
-
- html.append("</table></body></html>");
- return html;
-}
-
-void DiveShareExportDialog::finishedSlot()
-{
- ui->progressBar->setVisible(false);
- if (reply->error() != 0) {
- ui->buttonBox->setStandardButtons(QDialogButtonBox::Cancel);
- ui->txtResult->setText(reply->errorString());
- } else {
- ui->buttonBox->setStandardButtons(QDialogButtonBox::Ok);
- ui->txtResult->setHtml(generate_html_list(reply->readAll()));
- }
-
- reply->deleteLater();
-}
-
-void DiveShareExportDialog::doUpload()
-{
- //Store current settings
- QSettings settings;
- settings.setValue("diveshareExport/uid", ui->txtUID->text());
- settings.setValue("diveshareExport/private", ui->chkPrivate->isChecked());
-
- //Change UI into results mode
- ui->frameConfigure->setVisible(false);
- ui->frameResults->setVisible(true);
- ui->progressBar->setVisible(true);
- ui->progressBar->setRange(0, 0);
-
- //generate json
- struct membuffer buf = { 0 };
- export_list(&buf, NULL, exportSelected, false);
- QByteArray json_data(buf.buffer, buf.len);
- free_buffer(&buf);
-
- //Request to server
- QNetworkRequest request;
-
- if (ui->chkPrivate->isChecked())
- request.setUrl(QUrl(DIVESHARE_BASE_URI "/upload?private=true"));
- else
- request.setUrl(QUrl(DIVESHARE_BASE_URI "/upload"));
-
- request.setRawHeader("User-Agent", getUserAgent().toUtf8());
- if (ui->txtUID->text().length() != 0)
- request.setRawHeader("X-UID", ui->txtUID->text().toUtf8());
-
- reply = WebServices::manager()->put(request, json_data);
-
- QObject::connect(reply, SIGNAL(finished()), this, SLOT(finishedSlot()));
-}