aboutsummaryrefslogtreecommitdiff
path: root/Northstar.Client/mod/scripts/vscripts/ui
diff options
context:
space:
mode:
Diffstat (limited to 'Northstar.Client/mod/scripts/vscripts/ui')
-rw-r--r--Northstar.Client/mod/scripts/vscripts/ui/menu_ns_moddownload.nut19
1 files changed, 19 insertions, 0 deletions
diff --git a/Northstar.Client/mod/scripts/vscripts/ui/menu_ns_moddownload.nut b/Northstar.Client/mod/scripts/vscripts/ui/menu_ns_moddownload.nut
index 4968714c..09001f57 100644
--- a/Northstar.Client/mod/scripts/vscripts/ui/menu_ns_moddownload.nut
+++ b/Northstar.Client/mod/scripts/vscripts/ui/menu_ns_moddownload.nut
@@ -9,6 +9,7 @@ global enum eModInstallStatus
CHECKSUMING,
EXTRACTING,
DONE,
+ ABORTED,
FAILED,
FAILED_READING_ARCHIVE,
FAILED_WRITING_TO_DISK,
@@ -57,6 +58,11 @@ bool function DownloadMod( RequiredModInfo mod )
dialogData.message = Localize( "#DOWNLOADING_MOD_TEXT", mod.name, mod.version )
dialogData.showSpinner = true;
+ // Prevent download button
+ AddDialogButton( dialogData, "#CANCEL", void function() {
+ NSCancelModDownload()
+ })
+
// Prevent user from closing dialog
dialogData.forceChoice = true;
OpenDialog( dialogData )
@@ -77,6 +83,13 @@ bool function DownloadMod( RequiredModInfo mod )
WaitFrame()
}
+ // If download was aborted, don't close UI since it was closed by clicking cancel button
+ if ( state.status == eModInstallStatus.ABORTED )
+ {
+ print("Mod download was cancelled by the user.")
+ return false;
+ }
+
printt( "Mod status:", state.status )
// Close loading dialog
@@ -114,6 +127,12 @@ void function DisplayModDownloadErrorDialog( string modName )
{
ModInstallState state = NSGetModInstallState()
+ // If user cancelled download, no need to display an error message
+ if ( state.status == eModInstallStatus.ABORTED )
+ {
+ return
+ }
+
DialogData dialogData
dialogData.header = Localize( "#FAILED_DOWNLOADING", modName )
dialogData.image = $"ui/menu/common/dialog_error"