Defer closing until batch cancellation and cleanup finish
This commit is contained in:
1 parent
4a6765c49a
commit
973c734226
2 files changed
+14
-2
No files matched your search
@@ -401,6 +401,18 @@ private slots:
|
||||
QApplication::sendEvent(tree->viewport(), &move);
|
||||
QTest::mouseRelease(tree->viewport(), Qt::LeftButton, Qt::NoModifier, point + QPoint(40, 0));
|
||||
QVERIFY(received); QCOMPARE(transfers.size(), 4); transferStarted = {};
|
||||
if (dragStatus == MF_CANCELLED) {
|
||||
QPointer<MemberFileBrowser> closing = new MemberFileBrowser(&db);
|
||||
closing->setChannel("42", 11); closing->show();
|
||||
auto* closingTree = closing->findChild<QTreeWidget*>();
|
||||
auto* closingItem = new QTreeWidgetItem(closingTree, {"pending.txt"});
|
||||
closingItem->setData(0, Qt::UserRole, "pending.txt"); closingItem->setData(0, Qt::UserRole + 1, MF_FILE);
|
||||
closingItem->setData(0, Qt::UserRole + 2, QByteArray(16, '\7')); closingTree->setCurrentItem(closingItem);
|
||||
closing->findChild<QAction*>("memberFilesCopy")->trigger(); QTRY_COMPARE(transfers.size(), 5);
|
||||
auto pending = transfers.last(); QString temporary = QFileInfo(QString::fromUtf8(pending.local)).absolutePath();
|
||||
closing->close(); QVERIFY(closing); QVERIFY(cancelled.contains(pending.id));
|
||||
complete(*closing, pending, MF_CANCELLED); QTRY_VERIFY(closing.isNull()); QVERIFY(!QFileInfo::exists(temporary));
|
||||
}
|
||||
}
|
||||
QVERIFY(QFile::exists(exported)); // Закрытие Group files не ломает локальный URI.
|
||||
db.setDb(nullptr); QCOMPARE(sqlite3_close(sql), SQLITE_OK);
|
||||
|
||||
Reference in new issue
Block a user