diff options
author | Miikka Heikkinen <miikka.heikkinen@qt.io> | 2019-09-30 14:50:23 +0300 |
---|---|---|
committer | Miikka Heikkinen <miikka.heikkinen@qt.io> | 2019-10-01 10:06:33 +0000 |
commit | 47ee78139428852e108f5f1dd200c54183dfdc92 (patch) | |
tree | b4301ae3b57cefac69ae6c877ad74dbb1e3d1e5f /src/plugins/qmldesigner/components/itemlibrary/itemlibraryassetimportdialog.cpp | |
parent | b4022f90d569cfb74ff841ce8ff917d61c05d9aa (diff) |
QmlDesigner: Create imported 3D assets initially in temporary directory
Once all assets are created in the temporary diractory, cancel is
disabled and all assets are copied to the final location.
Canceling no longer immediately closes the dialog, so you can see what
happened in the log.
Change-Id: I8c2d261091b0963e0b34a71bc9171e1757da68df
Fixes: QDS-1083
Reviewed-by: Mahmoud Badri <mahmoud.badri@qt.io>
Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
Diffstat (limited to 'src/plugins/qmldesigner/components/itemlibrary/itemlibraryassetimportdialog.cpp')
-rw-r--r-- | src/plugins/qmldesigner/components/itemlibrary/itemlibraryassetimportdialog.cpp | 13 |
1 files changed, 11 insertions, 2 deletions
diff --git a/src/plugins/qmldesigner/components/itemlibrary/itemlibraryassetimportdialog.cpp b/src/plugins/qmldesigner/components/itemlibrary/itemlibraryassetimportdialog.cpp index 0dd80c3c9a..0917a22abd 100644 --- a/src/plugins/qmldesigner/components/itemlibrary/itemlibraryassetimportdialog.cpp +++ b/src/plugins/qmldesigner/components/itemlibrary/itemlibraryassetimportdialog.cpp @@ -149,6 +149,8 @@ ItemLibraryAssetImportDialog::ItemLibraryAssetImportDialog(const QStringList &im this, &ItemLibraryAssetImportDialog::addWarning); connect(&m_importer, &ItemLibraryAssetImporter::infoReported, this, &ItemLibraryAssetImportDialog::addInfo); + connect(&m_importer, &ItemLibraryAssetImporter::importNearlyFinished, + this, &ItemLibraryAssetImportDialog::onImportNearlyFinished); connect(&m_importer, &ItemLibraryAssetImporter::importFinished, this, &ItemLibraryAssetImportDialog::onImportFinished); connect(&m_importer, &ItemLibraryAssetImporter::progressChanged, @@ -163,6 +165,7 @@ ItemLibraryAssetImportDialog::~ItemLibraryAssetImportDialog() void ItemLibraryAssetImportDialog::setImportUiState(bool importing) { ui->buttonBox->button(QDialogButtonBox::Ok)->setEnabled(!importing); + ui->buttonBox->button(QDialogButtonBox::Close)->setEnabled(true); ui->buttonBox->button(QDialogButtonBox::Close)->setText(importing ? tr("Cancel") : tr("Close")); } @@ -201,6 +204,12 @@ void ItemLibraryAssetImportDialog::setImportProgress(int value, const QString &t ui->progressBar->setValue(value); } +void ItemLibraryAssetImportDialog::onImportNearlyFinished() +{ + // Canceling import is no longer doable + ui->buttonBox->button(QDialogButtonBox::Close)->setEnabled(false); +} + void ItemLibraryAssetImportDialog::onImportFinished() { setImportUiState(false); @@ -222,8 +231,8 @@ void ItemLibraryAssetImportDialog::onClose() m_importer.cancelImport(); } else { reject(); + close(); + deleteLater(); } - close(); - deleteLater(); } } |