Only display the assetlib Retry button if the download failed

This commit is contained in:
Hugo Locurcio 2021-02-17 02:00:22 +01:00
parent c0d01dcf61
commit 508011a57f
No known key found for this signature in database
GPG key ID: 39E8F8BE30B0A49C

View file

@ -350,7 +350,7 @@ void EditorAssetLibraryItemDownload::_http_download_completed(int p_status, int
if (sha256 != download_sha256) { if (sha256 != download_sha256) {
error_text = TTR("Bad download hash, assuming file has been tampered with.") + "\n"; error_text = TTR("Bad download hash, assuming file has been tampered with.") + "\n";
error_text += TTR("Expected:") + " " + sha256 + "\n" + TTR("Got:") + " " + download_sha256; error_text += TTR("Expected:") + " " + sha256 + "\n" + TTR("Got:") + " " + download_sha256;
status->set_text(TTR("Failed sha256 hash check")); status->set_text(TTR("Failed SHA-256 hash check"));
} }
} }
} break; } break;
@ -359,6 +359,8 @@ void EditorAssetLibraryItemDownload::_http_download_completed(int p_status, int
if (error_text != String()) { if (error_text != String()) {
download_error->set_text(TTR("Asset Download Error:") + "\n" + error_text); download_error->set_text(TTR("Asset Download Error:") + "\n" + error_text);
download_error->popup_centered(); download_error->popup_centered();
// Let the user retry the download.
retry->show();
return; return;
} }
@ -459,6 +461,9 @@ void EditorAssetLibraryItemDownload::_install() {
} }
void EditorAssetLibraryItemDownload::_make_request() { void EditorAssetLibraryItemDownload::_make_request() {
// Hide the Retry button if we've just pressed it.
retry->hide();
download->cancel_request(); download->cancel_request();
download->set_download_file(EditorSettings::get_singleton()->get_cache_dir().plus_file("tmp_asset_" + itos(asset_id)) + ".zip"); download->set_download_file(EditorSettings::get_singleton()->get_cache_dir().plus_file("tmp_asset_" + itos(asset_id)) + ".zip");
@ -516,6 +521,8 @@ EditorAssetLibraryItemDownload::EditorAssetLibraryItemDownload() {
retry = memnew(Button); retry = memnew(Button);
retry->set_text(TTR("Retry")); retry->set_text(TTR("Retry"));
retry->connect("pressed", callable_mp(this, &EditorAssetLibraryItemDownload::_make_request)); retry->connect("pressed", callable_mp(this, &EditorAssetLibraryItemDownload::_make_request));
// Only show the Retry button in case of a failure.
retry->hide();
hb2->add_child(retry); hb2->add_child(retry);
hb2->add_child(install); hb2->add_child(install);