diff --git a/Settings.ahk b/Settings.ahk
index af6296f..0cd79e4 100644
--- a/Settings.ahk
+++ b/Settings.ahk
@@ -1,123 +1,91 @@
-#Include, func.ahk
-#NoTrayIcon
-Menu, Tray, Icon, shell32.dll, 283
+#Include "func.ahk"
;------------------------------------------------------------------------------
; Create GUI
;------------------------------------------------------------------------------
-Gui, -MaximizeBox -MinimizeBox ; Remove the max+min buttons
+myGui := Gui()
+myGui.Opt("-MaximizeBox -MinimizeBox") ; Remove the max+min buttons
-Gui, Add, GroupBox, x8 y2 w193 h37, First Name
-Gui, Add, Edit, x12 y15 w185 h20 vformName gName, %name%
+myGui.Add("Edit", "w200 vEmail", settings["Email"]).OnEvent("LoseFocus", ProcessUserInput) ; settings["Email"]
-Gui, Add, GroupBox, x8 y40 w207 h37, Email Address
-Gui, Add, Edit, x12 y53 w200 h20 vformEmail gEmail, %email%
+myGui.Add("Text",, "Documentation file:") ; settings["DocFile"]
+myGui.Add("Text",, settings["DocFile"])
+myGui.Add("Button",, "Pick a different file").OnEvent("Click", DocSelect)
-Gui, Add, GroupBox, x8 y83 w107 h130, Main
-Gui, Add, CheckBox, x12 y95 w100 h30 vformMansol Checked%mansol% gMansol, ManSol
-Gui, Add, CheckBox, x12 y125 w100 h30 vformMJDPaste Checked%mjdpaste% gMJDPaste, MJDPaste
-Gui, Add, CheckBox, x12 y155 w100 h30 vformCaseFormatter Checked%caseformatter% gCaseFormatter, Case Formatter
-Gui, Add, CheckBox, x25 y178 w75 h30 vformCFmail Checked%cfmail% gCFmail, Email option
- GuiControl, show%caseformatter%, formCFmail ; only shows the check box for emails if the Case Formatter box is checked
-Gui, Add, GroupBox, x8 y215 w277 h50 vformDocFile, Documentation File
-Gui, Add, Text, x15 y231 w260 h30 vformDocFile2 gDocFile, %docfile%
+myGui.Add("Text", "Section", "Text Replacement")
+myGui.Add("CheckBox", "vJDPN Checked" . settings["JDProductNames"], "JD Product Names").OnEvent("Click", ProcessUserInput)
+myGui.Add("CheckBox", "vGloVar Checked" . settings["GloVar"], "Global Variables").OnEvent("Click", ProcessUserInput)
+myGui.Add("CheckBox", "vDE Checked" . settings["German"], "DE ([ as prefix)").OnEvent("Click", ProcessUserInput)
-Gui, Add, GroupBox, x128 y83 w157 h75, Text Replacement
-Gui, Add, CheckBox, x132 y95 w150 h30 vformJdpn Checked%jdpn% gJdpn, JD Product Names
-Gui, Add, CheckBox, x132 y125 w150 h30 vformGlovar Checked%glovar% gGlovar, Global Variables
-Gui, Add, CheckBox, x132 y155 w100 h30 vformGer Checked%ger% gGer, DE ([ as prefix)
+switch settings["msmv"] {
+ case "always-running": ; run at refresh of d3k, currently running
+ msmv_check := 1
+ case "always-stopped": ; run at refresh, currently stopped
+ msmv_check := 1
+ case "no-running": ; don't run at refresh, currently running
+ msmv_check := 0
+ case "no-stopped": ; don't run at refresh, currently stopped
+ msmv_check := 0
+ default:
+ MsgBox("Unexpected value `"" settings["msmv"] "`" in D3Ksettings.ini")
+ Reload
+}
-Gui, Add, Link, x132 y190 w150 h26 gHelp, Click here for help`n%A_AhkVersion%
+myGui.Add("Checkbox", "vMsmv Checked" . msmv_check, "Mouse Mover: silently start on startup").OnEvent("Click", ProcessUserInput)
-Gui, Show, h273 w295, D3K version %d3k_version%
+myGui.Add("Link",, "Click here for help")
+myGui.Add("Text",, "AHK Version: " . A_AhkVersion)
+myGui.Add("Text",, "D3K version " . d3k_version)
+myGui.Title := "D3K settings"
+MyGui.OnEvent("Close", ProcessUserInput)
+myGui.OnEvent("Escape", End)
+myGui.Show("AutoSize")
Return
+
;------------------------------------------------------------------------------
; Edit ini
;------------------------------------------------------------------------------
/*
Default ini, sections are in []: (0 is off, 1 is on)
-[USpec]
Email=LastnameFirstname@JohnDeere.com
-Name=Firstname
DocFile=Select File
-[Main]
-Mansol=1
-MJDPaste=1
-CaseFormatter=1
-CFmail=0
-[Replacement]
JDProductNames=1
GloVar=0
-[Language]
German=0
*/
-Name:
- Gui, Submit, NoHide
- ini_write(sett_ini, "Name", formName)
-Return
-Email:
- Gui, Submit, NoHide
- ini_write(sett_ini, "Email", formEmail)
-Return
+ProcessUserInput(*)
+{
+ Saved := MyGui.Submit(0) ; Save the contents of named controls into an object.
+ ini_write(sett_ini, "Email", Saved.Email)
+ ini_write(sett_ini, "JDProductNames", Saved.JDPN)
+ ini_write(sett_ini, "GloVar", Saved.GloVar)
+ ini_write(sett_ini, "German", Saved.DE)
+ if (Saved.Msmv = 1)
+ {
+ ini_write(sett_ini, "msmv", "always-stopped")
+ } else {
+ ini_write(sett_ini, "msmv", "no-stopped")
+ }
+}
-DocFile:
- Gui, Submit
- FileSelectFile, SelectedFile, 3, , Open a file, Text Documents (*.txt)
+DocSelect(*)
+{
+ oSaved := myGui.Submit()
+ SelectedFile := FileSelect(3,, "Open a file", "Text Documents (*.txt)")
if !(SelectedFile)
- MsgBox, You have not selected a file, this will break some things.
+ MsgBox("You have not selected a file, this will break some things.")
else
ini_write(sett_ini, "DocFile", SelectedFile)
- Run, Settings.ahk
-Return
+ Run("Settings.ahk")
+}
-Mansol:
- Gui, Submit, NoHide
- ini_write(sett_ini, "Mansol", formMansol)
-Return
-
-MJDPaste:
- Gui, Submit, NoHide
- ini_write(sett_ini, "MJDPaste", formMJDPaste)
-Return
-
-CaseFormatter:
- Gui, Submit, NoHide
- GuiControl, show%formCaseFormatter%, formCFmail ; only shows the check box for emails if the Case Formatter box is checked
- GuiControl,, formCFmail, 0
- ini_write(sett_ini, "CaseFormatter", formCaseFormatter)
- ini_write(sett_ini, "CFmail", "0") ; if you're toggling this, its either on or off, doesn't hurt to set it here
-Return
-
- CFmail:
- Gui, Submit, NoHide
- ini_write(sett_ini, "CFmail", formCFmail)
- Return
-
-Jdpn:
- Gui, Submit, NoHide
- ini_write(sett_ini, "JDProductNames", formJdpn)
-Return
-
-Glovar:
- Gui, Submit, NoHide
- ini_write(sett_ini, "GloVar", formGlovar)
-Return
-
-Ger:
- Gui, Submit, NoHide
- ini_write(sett_ini, "German", formGer)
-Return
-
-Help:
- Gui, Submit
-Return
-
-GuiClose:
-GuiEscape:
- Run D3K.ahk
-ExitApp ; Closes the app when escape or the exit button is pressed
\ No newline at end of file
+End(*)
+{
+ ProcessUserInput()
+ ExitApp
+}
\ No newline at end of file