summaryrefslogtreecommitdiffstats
path: root/gui/dialogs
diff options
context:
space:
mode:
authorJan Dalheimer <jan@dalheimer.de>2014-02-24 09:34:21 +0100
committerJan Dalheimer <jan@dalheimer.de>2014-02-24 09:34:21 +0100
commit226c1bdae5ec615381965b6731f6496dffa3299e (patch)
tree6d437bf3aea4b3954d705f3fa11b78b3e3b42f99 /gui/dialogs
parent5e33da258c3b5159dba854eb4792d0852a1ca363 (diff)
downloadMultiMC-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.cpp42
-rw-r--r--gui/dialogs/ScreenshotDialog.h11
-rw-r--r--gui/dialogs/ScreenshotDialog.ui16
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>