2
0
mirror of https://github.com/kotatogram/kotatogram-desktop synced 2025-09-05 00:55:12 +00:00

new gif playing from separate threads

This commit is contained in:
John Preston
2015-12-15 17:50:51 +03:00
parent a66c051eb5
commit 5e0e0d2391
9 changed files with 669 additions and 72 deletions

View File

@@ -886,17 +886,15 @@ void DocumentOpenLink::doOpen(DocumentData *data) {
if (App::main()) App::main()->documentPlayProgress(song);
}
} else if (data->size < MediaViewImageSizeLimit && location.accessEnable()) {
QImageReader reader(location.name());
if (reader.canRead()) {
if (reader.supportsAnimation() && reader.imageCount() > 1 && App::hoveredLinkItem() && App::hoveredLinkItem()->getMedia() && App::hoveredLinkItem()->getMedia()->type() == MediaTypeGif) {
startGif(App::hoveredLinkItem(), location);
} else if (App::hoveredLinkItem() || App::contextItem()) {
if (App::hoveredLinkItem() && App::hoveredLinkItem()->getMedia() && App::hoveredLinkItem()->getMedia()->type() == MediaTypeGif) {
static_cast<HistoryGif*>(App::hoveredLinkItem()->getMedia())->play(App::hoveredLinkItem());
} else {
QImageReader reader(location.name());
if (reader.canRead() && (App::hoveredLinkItem() || App::contextItem())) {
App::wnd()->showDocument(data, App::hoveredLinkItem() ? App::hoveredLinkItem() : App::contextItem());
} else {
psOpenFile(location.name());
}
} else {
psOpenFile(location.name());
}
location.accessDisable();
} else {