diff options
author | Jan Dalheimer <jan@dalheimer.de> | 2014-02-24 09:34:21 +0100 |
---|---|---|
committer | Jan Dalheimer <jan@dalheimer.de> | 2014-02-24 09:34:21 +0100 |
commit | 226c1bdae5ec615381965b6731f6496dffa3299e (patch) | |
tree | 6d437bf3aea4b3954d705f3fa11b78b3e3b42f99 /gui/dialogs | |
parent | 5e33da258c3b5159dba854eb4792d0852a1ca363 (diff) | |
download | MultiMC-226c1bdae5ec615381965b6731f6496dffa3299e.tar MultiMC-226c1bdae5ec615381965b6731f6496dffa3299e.tar.gz MultiMC-226c1bdae5ec615381965b6731f6496dffa3299e.tar.lz MultiMC-226c1bdae5ec615381965b6731f6496dffa3299e.tar.xz MultiMC-226c1bdae5ec615381965b6731f6496dffa3299e.zip |
Screenshot fixes, move some code around, fix some stuff
Diffstat (limited to 'gui/dialogs')
-rw-r--r-- | gui/dialogs/ScreenshotDialog.cpp | 42 | ||||
-rw-r--r-- | gui/dialogs/ScreenshotDialog.h | 11 | ||||
-rw-r--r-- | gui/dialogs/ScreenshotDialog.ui | 16 |
3 files changed, 50 insertions, 19 deletions
diff --git a/gui/dialogs/ScreenshotDialog.cpp b/gui/dialogs/ScreenshotDialog.cpp index 8900f15b..02764fa3 100644 --- a/gui/dialogs/ScreenshotDialog.cpp +++ b/gui/dialogs/ScreenshotDialog.cpp @@ -1,6 +1,13 @@ #include "ScreenshotDialog.h" #include "ui_ScreenshotDialog.h" -#include "QModelIndex" + +#include <QModelIndex> +#include <QDebug> + +#include "ProgressDialog.h" +#include "CustomMessageBox.h" +#include "logic/net/NetJob.h" +#include "logic/net/ScreenshotUploader.h" ScreenshotDialog::ScreenshotDialog(ScreenshotList *list, QWidget *parent) : QDialog(parent), @@ -16,7 +23,12 @@ ScreenshotDialog::~ScreenshotDialog() delete ui; } -QList<ScreenShot*> ScreenshotDialog::selected() +QList<ScreenShot *> ScreenshotDialog::uploaded() const +{ + return m_uploaded; +} + +QList<ScreenShot*> ScreenshotDialog::selected() const { QList<ScreenShot*> list; QList<ScreenShot*> first = m_list->screenshots(); @@ -26,3 +38,29 @@ QList<ScreenShot*> ScreenshotDialog::selected() } return list; } + +void ScreenshotDialog::on_buttonBox_accepted() +{ + QList<ScreenShot *> screenshots = selected(); + if (screenshots.isEmpty()) + { + done(NothingDone); + return; + } + NetJob *job = new NetJob("Screenshot Upload"); + for (ScreenShot *shot : screenshots) + { + qDebug() << shot->file; + job->addNetAction(ScreenShotUpload::make(shot)); + } + ProgressDialog prog(this); + prog.exec(job); + connect(job, &NetJob::failed, [this] + { + CustomMessageBox::selectable(this, tr("Failed to upload screenshots!"), + tr("Unknown error"), QMessageBox::Warning)->exec(); + reject(); + }); + m_uploaded = screenshots; + connect(job, &NetJob::succeeded, this, &ScreenshotDialog::accept); +} diff --git a/gui/dialogs/ScreenshotDialog.h b/gui/dialogs/ScreenshotDialog.h index d3f629e7..1ca27bdd 100644 --- a/gui/dialogs/ScreenshotDialog.h +++ b/gui/dialogs/ScreenshotDialog.h @@ -18,12 +18,21 @@ public: explicit ScreenshotDialog(ScreenshotList *list, QWidget *parent = 0); ~ScreenshotDialog(); - QList<ScreenShot *> selected(); + enum + { + NothingDone = 0x42 + }; + + QList<ScreenShot *> uploaded() const; private slots: + void on_buttonBox_accepted(); private: Ui::ScreenshotDialog *ui; ScreenshotList *m_list; + QList<ScreenShot *> m_uploaded; + + QList<ScreenShot *> selected() const; }; diff --git a/gui/dialogs/ScreenshotDialog.ui b/gui/dialogs/ScreenshotDialog.ui index af73e5ec..7eeab859 100644 --- a/gui/dialogs/ScreenshotDialog.ui +++ b/gui/dialogs/ScreenshotDialog.ui @@ -68,22 +68,6 @@ <connections> <connection> <sender>buttonBox</sender> - <signal>accepted()</signal> - <receiver>ScreenshotDialog</receiver> - <slot>accept()</slot> - <hints> - <hint type="sourcelabel"> - <x>248</x> - <y>254</y> - </hint> - <hint type="destinationlabel"> - <x>157</x> - <y>274</y> - </hint> - </hints> - </connection> - <connection> - <sender>buttonBox</sender> <signal>rejected()</signal> <receiver>ScreenshotDialog</receiver> <slot>reject()</slot> |