TuhMuffinMan>@51: local _, AskMrRobot = ... TuhMuffinMan>@51: local L = AskMrRobot.L; TuhMuffinMan>@51: TuhMuffinMan>@51: -- initialize the CombatLogTab class TuhMuffinMan>@51: AskMrRobot.SettingsTab = AskMrRobot.inheritsFrom(AskMrRobot.Frame) TuhMuffinMan>@51: TuhMuffinMan>@51: -- helper to create text for this tab TuhMuffinMan>@51: local function CreateText(tab, font, relativeTo, xOffset, yOffset, text) TuhMuffinMan>@51: local t = tab:CreateFontString(nil, "ARTWORK", font) TuhMuffinMan>@51: t:SetPoint("TOPLEFT", relativeTo, "BOTTOMLEFT", xOffset, yOffset) TuhMuffinMan>@51: t:SetPoint("RIGHT", tab, "RIGHT", -5, 0) TuhMuffinMan>@51: t:SetWidth(t:GetWidth()) TuhMuffinMan>@51: t:SetJustifyH("LEFT") TuhMuffinMan>@51: t:SetText(text) TuhMuffinMan>@51: TuhMuffinMan>@51: return t TuhMuffinMan>@51: end TuhMuffinMan>@51: TuhMuffinMan>@51: local function newCheckbox(tab, label, tooltipTitle, description, onClick) TuhMuffinMan>@51: local check = CreateFrame("CheckButton", "AmrCheck" .. label, tab, "InterfaceOptionsCheckButtonTemplate") TuhMuffinMan>@51: check:SetScript("OnClick", function(self) TuhMuffinMan>@51: PlaySound(self:GetChecked() and "igMainMenuOptionCheckBoxOn" or "igMainMenuOptionCheckBoxOff") TuhMuffinMan>@51: onClick(self, self:GetChecked() and true or false) TuhMuffinMan>@51: end) TuhMuffinMan>@51: check.label = _G[check:GetName() .. "Text"] TuhMuffinMan>@51: check.label:SetText(label) TuhMuffinMan>@51: check.tooltipText = tooltipTitle TuhMuffinMan>@51: check.tooltipRequirement = description TuhMuffinMan>@51: return check TuhMuffinMan>@51: end TuhMuffinMan>@51: TuhMuffinMan>@51: function AskMrRobot.SettingsTab:new(parent) TuhMuffinMan>@51: TuhMuffinMan>@51: local tab = AskMrRobot.Frame:new(nil, parent) TuhMuffinMan>@51: setmetatable(tab, { __index = AskMrRobot.SettingsTab }) TuhMuffinMan>@51: tab:SetPoint("TOPLEFT") TuhMuffinMan>@51: tab:SetPoint("BOTTOMRIGHT") TuhMuffinMan>@51: tab:Hide() TuhMuffinMan>@51: TuhMuffinMan>@51: -- tab header TuhMuffinMan>@51: local text = tab:CreateFontString(nil, "ARTWORK", "GameFontNormalLarge") TuhMuffinMan>@51: text:SetPoint("TOPLEFT", 0, -5) TuhMuffinMan>@51: text:SetText(L.AMR_SETTINGSTAB_SETTINGS) TuhMuffinMan>@51: TuhMuffinMan>@51: --scrollframe TuhMuffinMan>@51: tab.scrollframe = AskMrRobot.ScrollFrame:new(nil, tab) TuhMuffinMan>@51: tab.scrollframe:SetPoint("TOPLEFT", tab, "TOPLEFT", 0, -30) TuhMuffinMan>@51: tab.scrollframe:SetPoint("BOTTOMRIGHT", tab, "BOTTOMRIGHT", -30, 10) TuhMuffinMan>@51: TuhMuffinMan>@51: local content = tab.scrollframe.content TuhMuffinMan>@51: content:SetHeight(730) TuhMuffinMan>@51: TuhMuffinMan>@51: local autoPopup = newCheckbox(content, TuhMuffinMan>@51: L.AMR_CONFIG_CHECKBOX_MINIMAP_LABEL, TuhMuffinMan>@51: L.AMR_CONFIG_CHECKBOX_MINIMAP_TOOLTIP_TITLE, TuhMuffinMan>@51: L.AMR_CONFIG_CHECKBOX_MINIMAP_DESCRIPTION, TuhMuffinMan>@51: function(self, value) TuhMuffinMan>@51: if AmrDb.Options.hideMapIcon then TuhMuffinMan>@51: AmrDb.Options.hideMapIcon = false TuhMuffinMan>@51: else TuhMuffinMan>@51: AmrDb.Options.hideMapIcon = true TuhMuffinMan>@51: end TuhMuffinMan>@51: AskMrRobot.AmrUpdateMinimap(); TuhMuffinMan>@51: end TuhMuffinMan>@51: ) TuhMuffinMan>@51: autoPopup:SetChecked(not AmrDb.Options.hideMapIcon) TuhMuffinMan>@51: autoPopup:SetPoint("TOPLEFT", content, "TOPLEFT", 0, 0) TuhMuffinMan>@51: TuhMuffinMan>@51: local autoAh = newCheckbox(content, TuhMuffinMan>@51: L.AMR_CONFIG_CHECKBOX_AUTOAH_LABEL, TuhMuffinMan>@51: L.AMR_CONFIG_CHECKBOX_AUTOAH_TOOLTIP_TITLE, TuhMuffinMan>@51: L.AMR_CONFIG_CHECKBOX_AUTOAH_DESCRIPTION, TuhMuffinMan>@51: function(self, value) TuhMuffinMan>@51: if AmrDb.Options.manualShowShop then TuhMuffinMan>@51: AmrDb.Options.manualShowShop = false TuhMuffinMan>@51: else TuhMuffinMan>@51: AmrDb.Options.manualShowShop = true TuhMuffinMan>@51: end TuhMuffinMan>@51: end TuhMuffinMan>@51: ) TuhMuffinMan>@51: autoAh:SetChecked(not AmrDb.Options.manualShowShop) TuhMuffinMan>@51: autoAh:SetPoint("TOPLEFT", autoPopup, "BOTTOMLEFT", 0, -10) TuhMuffinMan>@51: TuhMuffinMan>@51: return tab TuhMuffinMan>@51: end