Skip to content

Commit c626924

Browse files
Enhanced the initial setup experience with more helpful information
1 parent 97b75ba commit c626924

File tree

2 files changed

+27
-2
lines changed

2 files changed

+27
-2
lines changed

Lib/Launchpad/Installer/LaunchpadExeInstaller.ahk

Lines changed: 20 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,7 @@ class LaunchpadExeInstaller extends InstallerBase {
2424
installDir := this.DetermineInstallDir()
2525

2626
if (installDir != this.scriptDir) {
27+
MsgBox("Launchpad will now be copied to the folder you've selected.")
2728
DirCreate(installDir)
2829
FileCopy(A_ScriptFullPath, installDir . "\Launchpad.exe", true)
2930
this.movedApp := true
@@ -38,11 +39,20 @@ class LaunchpadExeInstaller extends InstallerBase {
3839
result := super.Install(progress)
3940

4041
if (this.movedApp) {
42+
createShortcut := MsgBox("Launchpad.exe has been installed to " . this.scriptDir . ". Would you like to create a desktop shortcut?", "Launchpad Install Shortcut", "YesNo")
43+
44+
if (createShortcut) {
45+
FileCreateShortcut(this.scriptDir . "\Launchpad.exe", A_Desktop . "\Launchpad.lnk", this.scriptDir, "", "Manage and build game launchers", this.scriptDir . "\Launchpad.exe")
46+
}
47+
48+
MsgBox("Initial installation finished. Please run Launchpad from the installation folder to complete the setup process.")
4149
; @todo Notify user that the app is going to restart before continuing
4250
; @todo schedule the new Launchpad.exe to start after a couple of seconds
4351
ExitApp 0
4452
}
4553

54+
; offer to create a desktop shortcut
55+
4656
return result
4757
}
4858

@@ -61,7 +71,16 @@ class LaunchpadExeInstaller extends InstallerBase {
6171
}
6272

6373
PromptForInstallDir() {
64-
return DirSelect("*" . this.scriptDir, 3, "Select the folder to install Launchpad to.")
74+
inCorrectDir := MsgBox("Would you like to install Launchpad.exe to the current folder? Clicking No will allow you to choose a different folder.", "Launchpad Install Folder", "YesNo")
75+
76+
dir := this.scriptDir
77+
78+
79+
if (inCorrectDir == "No") {
80+
dir := DirSelect("*" . this.scriptDir, 3, "Select the folder you would like to install Launchpad to.")
81+
}
82+
83+
return dir
6584
; @todo make this a nicer prompt
6685
}
6786
}

Lib/Launchpad/Service/LauncherManager.ahk

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -66,7 +66,9 @@ class LauncherManager extends ServiceBase {
6666
}
6767

6868
SelectLauncherFile(existingFile := "") {
69-
return FileSelect(3, existingFile, "Select the Launchers file to use", "JSON Documents (*.json)")
69+
MsgBox("Launchpad uses a Launcher File to keep a list of games and settings for your launchers. The file is in JSON format and can be edited by hand or through the Launcher Manager in Launchpad.`n`nIf you have an existing Launcher File, select it on the following screen. If you want to create a new one, browse to the folder you would like and type in a new .json filename to use.", "Launchpad Launcher File", "OK")
70+
return FileSelect(3, existingFile, "Select the or create the Launcher File you would like Launchpad to use.", "JSON Documents (*.json)")
71+
; @todo Improve the UI of this selector
7072
}
7173

7274
OpenLauncherFile() {
@@ -100,6 +102,8 @@ class LauncherManager extends ServiceBase {
100102
}
101103

102104
SelectDestinationDir(existingDir := "") {
105+
MsgBox("Launchpad creates .exe files for each of the launchers you define in your Launcher File.`n`nOn the following dialog, select the destination directory that Launchpad should create your launchers within.", "Launchpad Destination Dir", "OK")
106+
103107
if (existingDir != "") {
104108
existingDir := "*" . existingDir
105109
}
@@ -124,6 +128,8 @@ class LauncherManager extends ServiceBase {
124128
}
125129

126130
ChangeAssetsDir(assetsDir := "") {
131+
MsgBox("Launchpad both creates and uses other files when building and/or running your launchers. These files are known as Assets, and they are stored in a separate directory for each launcher you create.`n`nOn the following dialog, select the parent directory that Launchpad should create launcher assets within.", "Launchpad Assets Dir", "OK")
132+
127133
if (assetsDir == "") {
128134
assetsDir := this.app.Config.GetRawValue("AssetsDir")
129135
}

0 commit comments

Comments
 (0)