Map avatar crop frames using full original dimensions on both clients

This commit is contained in:
evgeny committed 2026-10-06 21:10:24 +02:00
1 parent a0fbf51be0
commit 3e1cc8af85
3 files changed
+36 -23

No files matched your search

+8 -1
View File
@@ -138,9 +138,16 @@ private slots:
automate.start(); QRectF crop; QVERIFY(selectAvatarCrop(source,crop,nullptr)); automate.stop();
QVERIFY(qAbs(crop.x())<0.001); QVERIFY(qAbs(crop.y())<0.001);
QVERIFY(qAbs(crop.width()-0.5)<0.001); QVERIFY(qAbs(crop.height()-1)<0.001);
const QString panorama=directory.path()+"/panorama.png";
QImage wide(14003,1001,QImage::Format_RGB32); wide.fill(Qt::blue); QVERIFY(wide.save(panorama));
automate.start(); QVERIFY(selectAvatarCrop(panorama,crop,nullptr)); automate.stop();
const auto prepared=AvatarCache::prepare(panorama,directory.path(),crop);
QVERIFY2(prepared.error.isEmpty(),qPrintable(prepared.error));
QVERIFY(qAbs(prepared.record.crop.width()*14003-prepared.record.crop.height()*1001)<=1);
const int preparedFiles=QDir(directory.path()).entryList({"*.json","*.webp"},QDir::Files).size();
QTimer::singleShot(10,[] { if (auto* dialog=qobject_cast<QDialog*>(QApplication::activeModalWidget())) dialog->reject(); });
QVERIFY(!selectAvatarCrop(source,crop,nullptr));
QCOMPARE(QDir(directory.path()).entryList({"*.json","*.webp"},QDir::Files).size(),0);
QCOMPARE(QDir(directory.path()).entryList({"*.json","*.webp"},QDir::Files).size(),preparedFiles);
}
void uploadReplicateCacheRestartAndRemove() {