 GuiControlGet, strTemp, PrgLnch: FocusV
 	if (strTemp == "PresetName")
 	{
-	GuiControl, PrgLnch: Text, PresetName, % UndoTxt
-	UndoTxt := ""
+	Tooltip
+	ControlGetText, temp,,ahk_id %PresetNameHwnd%
+		if (temp)
+		{
+		UndoTxt := temp
+		GuiControl, PrgLnch: Text, PresetName,
+		}
+		else
+		{
+		GuiControl, PrgLnch: Text, PresetName, % UndoTxt
+		UndoTxt := ""
+		}
 	}
 	else
 	{
 		if (strTemp == "IniChoice")
 		{
-		GuiControl, PrgLnch: Text, IniChoice, % UndoTxt
-		UndoTxt := ""
+		Tooltip
+		ControlGetText, temp,,ahk_id %IniChoiceHwnd%
+			if (temp)
+			{
+				if (temp != "ini" . iniSel)
+				{
+				UndoTxt := temp
+				GuiControl, PrgLnch: Text, IniChoice,
+				GoConfigTxt = Prg Config
+				GuiControl, PrgLnch:, GoConfigVar, % "&" GoConfigTxt
+				}
+			}
+			else
+			{
+				if (UndoTxt != "")
+				{
+				GoConfigTxt := "Save LnchPad"
+				CreateToolTip("Click `" . GoConfigTxt . """" . " to save.")
+				GuiControl, PrgLnch:, GoConfigVar, % GoConfigTxt
+				GuiControl, PrgLnch: Text, IniChoice, % UndoTxt
+				UndoTxt := ""
+				}
+			}
 		}
 	}
 Return
 
 Del::
 GuiControlGet, strTemp, PrgLnch: FocusV
+
 	if (strTemp == "PresetName")
 	{
 		if (ffTemp == 1)

		}
		else
		{
		MsgBox, 8228, Active Preset, This Preset contains active Prgs!`n`nReply:`nYes: Continue and remove the Preset (Prgs will not be cancelled).`nNo: Do not remove the Preset.`n
			IfMsgBox, No
			Return
			else
			{

				PrgPropertiesClose()


				loop % currBatchNo
				{



;Misc functions
SetEditCueBanner(HWND, Cue, IsCombo := 0)
{
; requires AHL_L: JustMe
Static EM_SETCUEBANNER := (0x1500 + 1)
Static CB_SETCUEBANNER := (0x1700 + 3)
if (IsCombo)
Return DllCall("User32.dll\SendMessageW", "Ptr", HWND, "Uint", CB_SETCUEBANNER, "Ptr", True, "WStr", Cue)
else
Return DllCall("User32.dll\SendMessageW", "Ptr", HWND, "Uint", EM_SETCUEBANNER, "Ptr", True, "WStr", Cue)
}

MakeLong(LoWord, HiWord) ; courtesy Chris
{
return (HiWord << 16) | (LoWord & 0xffff)
}

DcmpExecutable(selPrgChoice, PrgChoicePaths, PrgLnkInf, PrgResolveShortcut, IniFileShortctSep, checkSubSys := 0)
{
sizeOfOptionalHeader := 0, e_lfanew := 0, e_magic := 0, ntHeaders32 := 0, temp := 0, IsaPrgLnk := 0
