TuhMuffinMan>@51
|
1 local _, AskMrRobot = ...
|
TuhMuffinMan>@51
|
2 local L = AskMrRobot.L;
|
TuhMuffinMan>@51
|
3
|
TuhMuffinMan>@51
|
4 -- initialize the CombatLogTab class
|
TuhMuffinMan>@51
|
5 AskMrRobot.SettingsTab = AskMrRobot.inheritsFrom(AskMrRobot.Frame)
|
TuhMuffinMan>@51
|
6
|
TuhMuffinMan>@51
|
7 -- helper to create text for this tab
|
TuhMuffinMan>@51
|
8 local function CreateText(tab, font, relativeTo, xOffset, yOffset, text)
|
TuhMuffinMan>@51
|
9 local t = tab:CreateFontString(nil, "ARTWORK", font)
|
TuhMuffinMan>@51
|
10 t:SetPoint("TOPLEFT", relativeTo, "BOTTOMLEFT", xOffset, yOffset)
|
TuhMuffinMan>@51
|
11 t:SetPoint("RIGHT", tab, "RIGHT", -5, 0)
|
TuhMuffinMan>@51
|
12 t:SetWidth(t:GetWidth())
|
TuhMuffinMan>@51
|
13 t:SetJustifyH("LEFT")
|
TuhMuffinMan>@51
|
14 t:SetText(text)
|
TuhMuffinMan>@51
|
15
|
TuhMuffinMan>@51
|
16 return t
|
TuhMuffinMan>@51
|
17 end
|
TuhMuffinMan>@51
|
18
|
TuhMuffinMan>@51
|
19 local function newCheckbox(tab, label, tooltipTitle, description, onClick)
|
TuhMuffinMan>@51
|
20 local check = CreateFrame("CheckButton", "AmrCheck" .. label, tab, "InterfaceOptionsCheckButtonTemplate")
|
TuhMuffinMan>@51
|
21 check:SetScript("OnClick", function(self)
|
TuhMuffinMan>@51
|
22 PlaySound(self:GetChecked() and "igMainMenuOptionCheckBoxOn" or "igMainMenuOptionCheckBoxOff")
|
TuhMuffinMan>@51
|
23 onClick(self, self:GetChecked() and true or false)
|
TuhMuffinMan>@51
|
24 end)
|
TuhMuffinMan>@51
|
25 check.label = _G[check:GetName() .. "Text"]
|
TuhMuffinMan>@51
|
26 check.label:SetText(label)
|
TuhMuffinMan>@51
|
27 check.tooltipText = tooltipTitle
|
TuhMuffinMan>@51
|
28 check.tooltipRequirement = description
|
TuhMuffinMan>@51
|
29 return check
|
TuhMuffinMan>@51
|
30 end
|
TuhMuffinMan>@51
|
31
|
TuhMuffinMan>@51
|
32 function AskMrRobot.SettingsTab:new(parent)
|
TuhMuffinMan>@51
|
33
|
TuhMuffinMan>@51
|
34 local tab = AskMrRobot.Frame:new(nil, parent)
|
TuhMuffinMan>@51
|
35 setmetatable(tab, { __index = AskMrRobot.SettingsTab })
|
TuhMuffinMan>@51
|
36 tab:SetPoint("TOPLEFT")
|
TuhMuffinMan>@51
|
37 tab:SetPoint("BOTTOMRIGHT")
|
TuhMuffinMan>@51
|
38 tab:Hide()
|
TuhMuffinMan>@51
|
39
|
TuhMuffinMan>@51
|
40 -- tab header
|
TuhMuffinMan>@51
|
41 local text = tab:CreateFontString(nil, "ARTWORK", "GameFontNormalLarge")
|
TuhMuffinMan>@51
|
42 text:SetPoint("TOPLEFT", 0, -5)
|
TuhMuffinMan>@51
|
43 text:SetText(L.AMR_SETTINGSTAB_SETTINGS)
|
TuhMuffinMan>@51
|
44
|
TuhMuffinMan>@51
|
45 --scrollframe
|
TuhMuffinMan>@51
|
46 tab.scrollframe = AskMrRobot.ScrollFrame:new(nil, tab)
|
TuhMuffinMan>@51
|
47 tab.scrollframe:SetPoint("TOPLEFT", tab, "TOPLEFT", 0, -30)
|
TuhMuffinMan>@51
|
48 tab.scrollframe:SetPoint("BOTTOMRIGHT", tab, "BOTTOMRIGHT", -30, 10)
|
TuhMuffinMan>@51
|
49
|
TuhMuffinMan>@51
|
50 local content = tab.scrollframe.content
|
TuhMuffinMan>@51
|
51 content:SetHeight(730)
|
TuhMuffinMan>@51
|
52
|
TuhMuffinMan>@51
|
53 local autoPopup = newCheckbox(content,
|
TuhMuffinMan>@51
|
54 L.AMR_CONFIG_CHECKBOX_MINIMAP_LABEL,
|
TuhMuffinMan>@51
|
55 L.AMR_CONFIG_CHECKBOX_MINIMAP_TOOLTIP_TITLE,
|
TuhMuffinMan>@51
|
56 L.AMR_CONFIG_CHECKBOX_MINIMAP_DESCRIPTION,
|
TuhMuffinMan>@51
|
57 function(self, value)
|
TuhMuffinMan>@51
|
58 if AmrDb.Options.hideMapIcon then
|
TuhMuffinMan>@51
|
59 AmrDb.Options.hideMapIcon = false
|
TuhMuffinMan>@51
|
60 else
|
TuhMuffinMan>@51
|
61 AmrDb.Options.hideMapIcon = true
|
TuhMuffinMan>@51
|
62 end
|
TuhMuffinMan>@51
|
63 AskMrRobot.AmrUpdateMinimap();
|
TuhMuffinMan>@51
|
64 end
|
TuhMuffinMan>@51
|
65 )
|
TuhMuffinMan>@51
|
66 autoPopup:SetChecked(not AmrDb.Options.hideMapIcon)
|
TuhMuffinMan>@51
|
67 autoPopup:SetPoint("TOPLEFT", content, "TOPLEFT", 0, 0)
|
TuhMuffinMan>@51
|
68
|
TuhMuffinMan>@51
|
69 local autoAh = newCheckbox(content,
|
TuhMuffinMan>@51
|
70 L.AMR_CONFIG_CHECKBOX_AUTOAH_LABEL,
|
TuhMuffinMan>@51
|
71 L.AMR_CONFIG_CHECKBOX_AUTOAH_TOOLTIP_TITLE,
|
TuhMuffinMan>@51
|
72 L.AMR_CONFIG_CHECKBOX_AUTOAH_DESCRIPTION,
|
TuhMuffinMan>@51
|
73 function(self, value)
|
TuhMuffinMan>@51
|
74 if AmrDb.Options.manualShowShop then
|
TuhMuffinMan>@51
|
75 AmrDb.Options.manualShowShop = false
|
TuhMuffinMan>@51
|
76 else
|
TuhMuffinMan>@51
|
77 AmrDb.Options.manualShowShop = true
|
TuhMuffinMan>@51
|
78 end
|
TuhMuffinMan>@51
|
79 end
|
TuhMuffinMan>@51
|
80 )
|
TuhMuffinMan>@51
|
81 autoAh:SetChecked(not AmrDb.Options.manualShowShop)
|
TuhMuffinMan>@51
|
82 autoAh:SetPoint("TOPLEFT", autoPopup, "BOTTOMLEFT", 0, -10)
|
TuhMuffinMan>@51
|
83
|
TuhMuffinMan>@51
|
84 return tab
|
TuhMuffinMan>@51
|
85 end |