summary refs log tree commit diff
path: root/src/timeline/TimelineViewManager.cpp
diff options
context:
space:
mode:
authorAdasauce <adasauce@with.parts>2020-03-20 10:05:12 -0300
committerAdasauce <adasauce@with.parts>2020-03-20 10:10:53 -0300
commitd0a1e81f43b44235c86e46cb6cd19653834b4084 (patch)
treeb81ff7d93511e4403141d002987a25765b6ade52 /src/timeline/TimelineViewManager.cpp
parentMerge pull request #146 from Alch-Emi/priority-sort (diff)
downloadnheko-d0a1e81f43b44235c86e46cb6cd19653834b4084.tar.xz
Better image overlay handling when downloading
 - hides the overlay when prompting for download location
 - cancel re-shows the dialog
 - success closes the overlay
 - would be nice to have a return code from the download fn in
 mtxclient.

Closes #140
Diffstat (limited to 'src/timeline/TimelineViewManager.cpp')
-rw-r--r--src/timeline/TimelineViewManager.cpp17
1 files changed, 14 insertions, 3 deletions
diff --git a/src/timeline/TimelineViewManager.cpp b/src/timeline/TimelineViewManager.cpp

index 44e26921..eead46a2 100644 --- a/src/timeline/TimelineViewManager.cpp +++ b/src/timeline/TimelineViewManager.cpp
@@ -175,9 +175,20 @@ TimelineViewManager::openImageOverlay(QString mxcUrl, QString eventId) const auto imgDialog = new dialogs::ImageOverlay(pixmap); imgDialog->showFullScreen(); - connect(imgDialog, &dialogs::ImageOverlay::saving, timeline_, [this, eventId]() { - timeline_->saveMedia(eventId); - }); + connect(imgDialog, + &dialogs::ImageOverlay::saving, + timeline_, + [this, eventId, imgDialog]() { + // hide the overlay while presenting the save dialog for better + // cross platform support. + imgDialog->hide(); + + if (!timeline_->saveMedia(eventId)) { + imgDialog->show(); + } else { + imgDialog->close(); + } + }); }); }