d3k/Settings.ahk

166 lines
5.0 KiB
AutoHotkey

#Include, func.ahk
Menu, Tray, Icon, shell32.dll, 283
;------------------------------------------------------------------------------
; Read ini
;------------------------------------------------------------------------------
/*
This is the part that reads the file to see what your settings are. Variables in the ini file are in CamelCase, variables here are lowercase for more distinction
*/
; User Specific things:
racf := ini_get(ini, "USpec", "RACF")
email := ini_get(ini, "USpec", "Email")
name := ini_get(ini, "USpec", "Name")
docfile := ini_get(ini, "USpec", "DocFile")
; General Settings
mansol := ini_get(ini, "Main", "Mansol")
mjdpaste := ini_get(ini, "Main", "MJDPaste")
caseformatter := ini_get(ini, "Main", "CaseFormatter")
cfmail := ini_get(ini, "Main", "CFmail")
; Replacement
jdpn := ini_get(ini, "Replacement", "JDProductNames")
glovar := ini_get(ini, "Replacement", "GloVar")
; Language
ger := ini_get(ini, "Language", "German")
;------------------------------------------------------------------------------
; Create GUI
;------------------------------------------------------------------------------
Gui, -MaximizeBox -MinimizeBox ; Remove the max+min buttons
Gui, Add, GroupBox, x8 y2 w67 h37, RACF
Gui, Add, Edit, x12 y15 w60 h20 vformRACF gRACF, %RACF%
Gui, Add, GroupBox, x85 y2 w200 h37, First Name
Gui, Add, Edit, x89 y15 w193 h20 vformName gName, %Name%
Gui, Add, GroupBox, x8 y40 w207 h37, Email Address
Gui, Add, Edit, x12 y53 w200 h20 vformEmail gEmail, %Email%
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 h40 vformDocFile, Documentation File
Gui, Add, Text, x15 y231 w260 h20 vformDocFile2 gDocFile, %docfile%
GuiControl, show%caseformatter%, formDocFile ; only shows the documentation file field if the Case Formatter box is checked
GuiControl, show%caseformatter%, formDocFile2
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)
Gui, Add, Link, x132 y190 w150 h23 gHelp, <a href="https://daviddaily.dev/david/d3k/wiki">Click here for help</a> (v%d3k_version%)
Gui, Show, h263 w295, David 3000 Settings
Return
;------------------------------------------------------------------------------
; Edit ini
;------------------------------------------------------------------------------
/*
Default ini, sections are in []: (0 is off, 1 is on)
[USpec]
RACF=LF01234
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
format for below:
Button G-label (executes when clicked):
Submit the gui so that it can change and don't hide it
write the state of the check box (a 0 for unchecked, 1 for checked), to the file at %ini%, section with this name, line with this name
*/
RACF:
Gui, Submit, NoHide
ini_write(ini, "RACF", formRACF)
Return
Name:
Gui, Submit, NoHide
ini_write(ini, "Name", formName)
Return
Email:
Gui, Submit, NoHide
ini_write(ini, "Email", formEmail)
Return
DocFile:
Gui, Submit
FileSelectFile, SelectedFile, 3, , Open a file, Text Documents (*.txt; *.doc)
if SelectedFile =
MsgBox, You have not selected a file, this will break some things.
else
ini_write(ini, "DocFile", SelectedFile)
docfile := ini_get(ini, "USpec", "DocFile")
Gui, Show, h225 w295, David 3000 Settings
Return
Mansol:
Gui, Submit, NoHide
ini_write(ini, "Mansol", formMansol)
Return
MJDPaste:
Gui, Submit, NoHide
ini_write(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, show%formCaseFormatter%, formDocFile
GuiControl, show%formCaseFormatter%, formDocFile2
GuiControl,, formCFmail, 0
ini_write(ini, "CaseFormatter", formCaseFormatter)
ini_write(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(ini, "CFmail", formCFmail)
Return
Jdpn:
Gui, Submit, NoHide
ini_write(ini, "JDProductNames", formJdpn)
Return
Glovar:
Gui, Submit, NoHide
ini_write(ini, "GloVar", formGlovar)
Return
Ger:
Gui, Submit, NoHide
ini_write(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