Working screenshot upload

This commit is contained in:
Jan Dalheimer
2014-02-24 10:34:51 +01:00
parent 226c1bdae5
commit a8811a27f7
7 changed files with 84 additions and 69 deletions

View File

@ -1522,8 +1522,8 @@ void MainWindow::on_actionScreenshots_triggered()
QStringList urls;
for (ScreenShot *shot : dialog.uploaded())
{
urls << QString("<a href=\"" + shot->url + "\">Image %s</a>")
.arg(QString::number(shot->imgurIndex));
urls << QString("<a href=\"" + shot->url + "\">Image %1</a>")
.arg(shot->timestamp.toString());
}
CustomMessageBox::selectable(this, tr("Done uploading!"), urls.join("\n"),
QMessageBox::Information)->exec();

View File

@ -39,7 +39,7 @@ QList<ScreenShot*> ScreenshotDialog::selected() const
return list;
}
void ScreenshotDialog::on_buttonBox_accepted()
void ScreenshotDialog::on_uploadBtn_clicked()
{
QList<ScreenShot *> screenshots = selected();
if (screenshots.isEmpty())
@ -50,17 +50,18 @@ void ScreenshotDialog::on_buttonBox_accepted()
NetJob *job = new NetJob("Screenshot Upload");
for (ScreenShot *shot : screenshots)
{
qDebug() << shot->file;
job->addNetAction(ScreenShotUpload::make(shot));
}
m_uploaded = screenshots;
ProgressDialog prog(this);
prog.exec(job);
connect(job, &NetJob::failed, [this]
if (prog.exec(job) == QDialog::Accepted)
{
accept();
}
else
{
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);
}
}

View File

@ -27,7 +27,7 @@ public:
private
slots:
void on_buttonBox_accepted();
void on_uploadBtn_clicked();
private:
Ui::ScreenshotDialog *ui;

View File

@ -17,68 +17,82 @@
<iconset resource="../../resources/multimc/multimc.qrc">
<normaloff>:/icons/multimc/scalable/apps/multimc.svg</normaloff>:/icons/multimc/scalable/apps/multimc.svg</iconset>
</property>
<widget class="QDialogButtonBox" name="buttonBox">
<property name="geometry">
<rect>
<x>10</x>
<y>260</y>
<width>441</width>
<height>31</height>
</rect>
</property>
<property name="standardButtons">
<set>QDialogButtonBox::Cancel|QDialogButtonBox::Ok</set>
</property>
</widget>
<widget class="QListView" name="listView">
<property name="geometry">
<rect>
<x>10</x>
<y>10</y>
<width>439</width>
<height>241</height>
</rect>
</property>
<property name="selectionMode">
<enum>QAbstractItemView::ExtendedSelection</enum>
</property>
<property name="selectionBehavior">
<enum>QAbstractItemView::SelectItems</enum>
</property>
<property name="iconSize">
<size>
<width>120</width>
<height>90</height>
</size>
</property>
<property name="flow">
<enum>QListView::LeftToRight</enum>
</property>
<property name="isWrapping" stdset="0">
<bool>true</bool>
</property>
<property name="viewMode">
<enum>QListView::IconMode</enum>
</property>
</widget>
<layout class="QVBoxLayout" name="verticalLayout">
<item>
<widget class="QListView" name="listView">
<property name="selectionMode">
<enum>QAbstractItemView::ExtendedSelection</enum>
</property>
<property name="selectionBehavior">
<enum>QAbstractItemView::SelectItems</enum>
</property>
<property name="iconSize">
<size>
<width>120</width>
<height>90</height>
</size>
</property>
<property name="flow">
<enum>QListView::LeftToRight</enum>
</property>
<property name="isWrapping" stdset="0">
<bool>true</bool>
</property>
<property name="viewMode">
<enum>QListView::IconMode</enum>
</property>
</widget>
</item>
<item>
<layout class="QHBoxLayout" name="horizontalLayout">
<item>
<spacer name="horizontalSpacer">
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>40</width>
<height>20</height>
</size>
</property>
</spacer>
</item>
<item>
<widget class="QPushButton" name="closeBtn">
<property name="text">
<string>Close</string>
</property>
</widget>
</item>
<item>
<widget class="QPushButton" name="uploadBtn">
<property name="text">
<string>Upload</string>
</property>
</widget>
</item>
</layout>
</item>
</layout>
</widget>
<resources>
<include location="../../resources/multimc/multimc.qrc"/>
</resources>
<connections>
<connection>
<sender>buttonBox</sender>
<signal>rejected()</signal>
<sender>closeBtn</sender>
<signal>clicked()</signal>
<receiver>ScreenshotDialog</receiver>
<slot>reject()</slot>
<hints>
<hint type="sourcelabel">
<x>316</x>
<y>260</y>
<x>315</x>
<y>272</y>
</hint>
<hint type="destinationlabel">
<x>286</x>
<y>274</y>
<x>271</x>
<y>258</y>
</hint>
</hints>
</connection>