aboutsummaryrefslogtreecommitdiffstats
path: root/src/plugins/qmldesigner/components/itemlibrary/itemlibraryassetimportdialog.cpp
diff options
context:
space:
mode:
authorMiikka Heikkinen <miikka.heikkinen@qt.io>2019-09-30 14:50:23 +0300
committerMiikka Heikkinen <miikka.heikkinen@qt.io>2019-10-01 10:06:33 +0000
commit47ee78139428852e108f5f1dd200c54183dfdc92 (patch)
treeb4301ae3b57cefac69ae6c877ad74dbb1e3d1e5f /src/plugins/qmldesigner/components/itemlibrary/itemlibraryassetimportdialog.cpp
parentb4022f90d569cfb74ff841ce8ff917d61c05d9aa (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.cpp13
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();
}
}