Refactor quest structure and add quests from 0 to 30 into files named by patch
This commit is contained in:
parent
542e295aa3
commit
c052c438eb
73 changed files with 21903 additions and 12460 deletions
|
@ -1,173 +1,137 @@
|
|||
local function CreateCheckbox(parent, frame, text, optionKey)
|
||||
local checkbox = CreateFrame("CheckButton", nil, frame, "InterfaceOptionsCheckButtonTemplate")
|
||||
checkbox.Text:SetText(text)
|
||||
checkbox:SetScript("OnClick", function(self)
|
||||
CzechQuestsAddon_Store.config[optionKey] = self:GetChecked()
|
||||
end)
|
||||
checkbox:SetPoint("TOPLEFT", parent, "BOTTOMLEFT", 0, -8)
|
||||
checkbox:SetChecked(CzechQuestsAddon_Store.config[optionKey])
|
||||
return checkbox
|
||||
end
|
||||
|
||||
function CzechQuestsAddon:InitializeOptions()
|
||||
CzechQuestsAddon.optionsFrame = {};
|
||||
CzechQuestsAddon.optionsFrame = Settings.RegisterVerticalLayoutCategory("CzechQuests")
|
||||
|
||||
if (WOW_PROJECT_ID == WOW_PROJECT_CLASSIC) then
|
||||
local frame
|
||||
-- Create Frame
|
||||
CzechQuestsAddon.optionsFrame = CreateFrame("Frame", "CzechQuestsOptionsPanel", UIParent)
|
||||
CzechQuestsAddon.optionsFrame.name = "CzechQuests"
|
||||
-- Add DEBUG checkbox
|
||||
local debugCheckbox = Settings.RegisterAddOnSetting(
|
||||
CzechQuestsAddon.optionsFrame,
|
||||
"CzechQuestsAddon__DEBUG_MODE",
|
||||
"DEBUG_MODE",
|
||||
CzechQuestsAddon_Store.config,
|
||||
type(CzechQuestsAddon_Store.config.DEBUG_MODE),
|
||||
"Enable DEBUG mode",
|
||||
CzechQuestsAddon_Store.config.DEBUG_MODE
|
||||
)
|
||||
Settings.CreateCheckbox(CzechQuestsAddon.optionsFrame, debugCheckbox)
|
||||
|
||||
-- Create frame title
|
||||
local title = CzechQuestsAddon.optionsFrame:CreateFontString(nil, "ARTWORK", "GameFontNormalLarge")
|
||||
title:SetPoint("TOPLEFT", 16, -16)
|
||||
title:SetText("CzechQuests")
|
||||
-- Add DARK mode checkbox
|
||||
local darkModeCheckbox = Settings.RegisterAddOnSetting(
|
||||
CzechQuestsAddon.optionsFrame,
|
||||
"CzechQuestsAddon__DARK_MODE",
|
||||
"DARK_MODE",
|
||||
CzechQuestsAddon_Store.config,
|
||||
type(CzechQuestsAddon_Store.config.DARK_MODE),
|
||||
"Use dark mode",
|
||||
CzechQuestsAddon_Store.config.DARK_MODE
|
||||
)
|
||||
Settings.CreateCheckbox(CzechQuestsAddon.optionsFrame, darkModeCheckbox)
|
||||
|
||||
-- Add DEBUG checkbox
|
||||
local debugModeCheckbox = CreateCheckbox(title, CzechQuestsAddon.optionsFrame, "Enable DEBUG mode", "DEBUG_MODE")
|
||||
debugModeCheckbox:SetPoint("TOPLEFT", title, "BOTTOMLEFT", 16, -16)
|
||||
|
||||
-- Add Dark Mode checkbox
|
||||
local darkModeCheckbox = CreateCheckbox(debugModeCheckbox, CzechQuestsAddon.optionsFrame, "Dark mode (require reload)", "DARK_MODE")
|
||||
darkModeCheckbox:SetPoint("TOPLEFT", debugModeCheckbox, "BOTTOMLEFT", 0, -4)
|
||||
|
||||
-- Store it into Addon options
|
||||
InterfaceOptions_AddCategory(CzechQuestsAddon.optionsFrame)
|
||||
|
||||
else
|
||||
CzechQuestsAddon.optionsFrame = Settings.RegisterVerticalLayoutCategory("CzechQuests")
|
||||
|
||||
-- Add DEBUG checkbox
|
||||
local debugCheckbox = Settings.RegisterAddOnSetting(
|
||||
CzechQuestsAddon.optionsFrame,
|
||||
"CzechQuestsAddon__DEBUG_MODE",
|
||||
"DEBUG_MODE",
|
||||
CzechQuestsAddon_Store.config,
|
||||
type(CzechQuestsAddon_Store.config.DEBUG_MODE),
|
||||
"Enable DEBUG mode",
|
||||
CzechQuestsAddon_Store.config.DEBUG_MODE
|
||||
)
|
||||
Settings.CreateCheckbox(CzechQuestsAddon.optionsFrame, debugCheckbox)
|
||||
|
||||
-- Add DARK mode checkbox
|
||||
local darkModeCheckbox = Settings.RegisterAddOnSetting(
|
||||
CzechQuestsAddon.optionsFrame,
|
||||
"CzechQuestsAddon__DARK_MODE",
|
||||
"DARK_MODE",
|
||||
CzechQuestsAddon_Store.config,
|
||||
type(CzechQuestsAddon_Store.config.DARK_MODE),
|
||||
"Use dark mode",
|
||||
CzechQuestsAddon_Store.config.DARK_MODE
|
||||
)
|
||||
Settings.CreateCheckbox(CzechQuestsAddon.optionsFrame, darkModeCheckbox)
|
||||
|
||||
-- define FontOptions
|
||||
local function GetFontOptions()
|
||||
local container = Settings.CreateControlTextContainer()
|
||||
container:Add("morpheus_cz.ttf", "Morpheus (cz)")
|
||||
container:Add("frizquadratatt_cz.ttf", "Friz Quadrata TT (cz)")
|
||||
container:Add("quicksand.ttf", "Quicksand")
|
||||
container:Add("caveat.ttf", "Caveat")
|
||||
return container:GetData()
|
||||
end
|
||||
|
||||
-- Add header font dropdown menu
|
||||
local headerFontFamilyDropdown = Settings.RegisterProxySetting(
|
||||
CzechQuestsAddon.optionsFrame,
|
||||
"CzechQuestsAddon__TRANSLATION_FRAME_HEADER_FONT_FAMILY",
|
||||
type(CzechQuestsAddon_Store.config.TRANSLATION_FRAME_HEADER_FONT_FAMILY),
|
||||
"Header font",
|
||||
CzechQuestsAddon_Store.config.TRANSLATION_FRAME_HEADER_FONT_FAMILY,
|
||||
function()
|
||||
return CzechQuestsAddon_Store.config.TRANSLATION_FRAME_HEADER_FONT_FAMILY
|
||||
end,
|
||||
function(value)
|
||||
CzechQuestsAddon_Store.config.TRANSLATION_FRAME_HEADER_FONT_FAMILY = value
|
||||
CzechQuestsAddon:UpdateTranslationFrameFontSettings()
|
||||
end
|
||||
)
|
||||
Settings.CreateDropdown(CzechQuestsAddon.optionsFrame, headerFontFamilyDropdown, GetFontOptions)
|
||||
|
||||
-- Add text font dropdown menu
|
||||
local textFontFamilyDropdown = Settings.RegisterProxySetting(
|
||||
CzechQuestsAddon.optionsFrame,
|
||||
"CzechQuestsAddon__TRANSLATION_FRAME_TEXT_FONT_FAMILY",
|
||||
type(CzechQuestsAddon_Store.config.TRANSLATION_FRAME_TEXT_FONT_FAMILY),
|
||||
"Text font",
|
||||
CzechQuestsAddon_Store.config.TRANSLATION_FRAME_TEXT_FONT_FAMILY,
|
||||
function()
|
||||
return CzechQuestsAddon_Store.config.TRANSLATION_FRAME_TEXT_FONT_FAMILY
|
||||
end,
|
||||
function(value)
|
||||
CzechQuestsAddon_Store.config.TRANSLATION_FRAME_TEXT_FONT_FAMILY = value
|
||||
CzechQuestsAddon:UpdateTranslationFrameFontSettings()
|
||||
end
|
||||
)
|
||||
Settings.CreateDropdown(CzechQuestsAddon.optionsFrame, textFontFamilyDropdown, GetFontOptions)
|
||||
|
||||
-- Add slider for change primary header font size
|
||||
local primaryHeaderFontSizeSlider = Settings.RegisterProxySetting(
|
||||
CzechQuestsAddon.optionsFrame,
|
||||
"CzechQuestsAddon__TRANSLATION_FRAME_PRIMARY_HEADER_FONT_SIZE",
|
||||
type(CzechQuestsAddon_Store.config.TRANSLATION_FRAME_PRIMARY_HEADER_FONT_SIZE),
|
||||
"Quest title size",
|
||||
CzechQuestsAddon_Store.config.TRANSLATION_FRAME_PRIMARY_HEADER_FONT_SIZE,
|
||||
function()
|
||||
return CzechQuestsAddon_Store.config.TRANSLATION_FRAME_PRIMARY_HEADER_FONT_SIZE
|
||||
end,
|
||||
function(value)
|
||||
CzechQuestsAddon_Store.config.TRANSLATION_FRAME_PRIMARY_HEADER_FONT_SIZE = value
|
||||
CzechQuestsAddon:UpdateTranslationFrameFontSettings()
|
||||
end
|
||||
)
|
||||
local primaryHeaderFontSizeSliderOptions = Settings.CreateSliderOptions(10, 30, 1)
|
||||
primaryHeaderFontSizeSliderOptions:SetLabelFormatter(MinimalSliderWithSteppersMixin.Label.Right);
|
||||
Settings.CreateSlider(CzechQuestsAddon.optionsFrame, primaryHeaderFontSizeSlider, primaryHeaderFontSizeSliderOptions)
|
||||
|
||||
-- Add slider for change secondary header font size
|
||||
local secondaryHeaderFontSizeSlider = Settings.RegisterProxySetting(
|
||||
CzechQuestsAddon.optionsFrame,
|
||||
"CzechQuestsAddon__TRANSLATION_FRAME_SECONDARY_HEADER_FONT_SIZE",
|
||||
type(CzechQuestsAddon_Store.config.TRANSLATION_FRAME_SECONDARY_HEADER_FONT_SIZE),
|
||||
"Secondary title size",
|
||||
CzechQuestsAddon_Store.config.TRANSLATION_FRAME_SECONDARY_HEADER_FONT_SIZE,
|
||||
function()
|
||||
return CzechQuestsAddon_Store.config.TRANSLATION_FRAME_SECONDARY_HEADER_FONT_SIZE
|
||||
end,
|
||||
function(value)
|
||||
CzechQuestsAddon_Store.config.TRANSLATION_FRAME_SECONDARY_HEADER_FONT_SIZE = value
|
||||
CzechQuestsAddon:UpdateTranslationFrameFontSettings()
|
||||
end
|
||||
)
|
||||
local secondaryHeaderFontSizeSliderOptions = Settings.CreateSliderOptions(10, 30, 1)
|
||||
secondaryHeaderFontSizeSliderOptions:SetLabelFormatter(MinimalSliderWithSteppersMixin.Label.Right);
|
||||
Settings.CreateSlider(CzechQuestsAddon.optionsFrame, secondaryHeaderFontSizeSlider, secondaryHeaderFontSizeSliderOptions)
|
||||
|
||||
|
||||
-- Add slider for change secondary header font size
|
||||
local textFontSizeSlider = Settings.RegisterProxySetting(
|
||||
CzechQuestsAddon.optionsFrame,
|
||||
"CzechQuestsAddon__TRANSLATION_FRAME_TEXT_FONT_SIZE",
|
||||
type(CzechQuestsAddon_Store.config.TRANSLATION_FRAME_TEXT_FONT_SIZE),
|
||||
"Text size",
|
||||
CzechQuestsAddon_Store.config.TRANSLATION_FRAME_TEXT_FONT_SIZE,
|
||||
function()
|
||||
return CzechQuestsAddon_Store.config.TRANSLATION_FRAME_TEXT_FONT_SIZE
|
||||
end,
|
||||
function(value)
|
||||
local currentFont, _, currentFlags = {}
|
||||
currentFont, _, currentFlags = CzechQuestsAddon.translationFrame.primaryText:GetFont()
|
||||
CzechQuestsAddon.translationFrame.primaryText:SetFont(currentFont, value, currentFlags)
|
||||
currentFont, _, currentFlags = CzechQuestsAddon.translationFrame.secondaryText:GetFont()
|
||||
CzechQuestsAddon.translationFrame.secondaryText:SetFont(currentFont, value, currentFlags)
|
||||
CzechQuestsAddon_Store.config.TRANSLATION_FRAME_TEXT_FONT_SIZE = value
|
||||
end
|
||||
)
|
||||
local textFontSizeSliderOptions = Settings.CreateSliderOptions(10, 30, 1)
|
||||
textFontSizeSliderOptions:SetLabelFormatter(MinimalSliderWithSteppersMixin.Label.Right);
|
||||
Settings.CreateSlider(CzechQuestsAddon.optionsFrame, textFontSizeSlider, textFontSizeSliderOptions)
|
||||
|
||||
-- Store it into Addon options
|
||||
Settings.RegisterAddOnCategory(CzechQuestsAddon.optionsFrame)
|
||||
-- define FontOptions
|
||||
local function GetFontOptions()
|
||||
local container = Settings.CreateControlTextContainer()
|
||||
container:Add("morpheus_cz.ttf", "Morpheus (cz)")
|
||||
container:Add("frizquadratatt_cz.ttf", "Friz Quadrata TT (cz)")
|
||||
container:Add("quicksand.ttf", "Quicksand")
|
||||
container:Add("caveat.ttf", "Caveat")
|
||||
return container:GetData()
|
||||
end
|
||||
|
||||
-- Add header font dropdown menu
|
||||
local headerFontFamilyDropdown = Settings.RegisterProxySetting(
|
||||
CzechQuestsAddon.optionsFrame,
|
||||
"CzechQuestsAddon__TRANSLATION_FRAME_HEADER_FONT_FAMILY",
|
||||
type(CzechQuestsAddon_Store.config.TRANSLATION_FRAME_HEADER_FONT_FAMILY),
|
||||
"Header font",
|
||||
CzechQuestsAddon_Store.config.TRANSLATION_FRAME_HEADER_FONT_FAMILY,
|
||||
function()
|
||||
return CzechQuestsAddon_Store.config.TRANSLATION_FRAME_HEADER_FONT_FAMILY
|
||||
end,
|
||||
function(value)
|
||||
CzechQuestsAddon_Store.config.TRANSLATION_FRAME_HEADER_FONT_FAMILY = value
|
||||
CzechQuestsAddon:UpdateTranslationFrameFontSettings()
|
||||
end
|
||||
)
|
||||
Settings.CreateDropdown(CzechQuestsAddon.optionsFrame, headerFontFamilyDropdown, GetFontOptions)
|
||||
|
||||
-- Add text font dropdown menu
|
||||
local textFontFamilyDropdown = Settings.RegisterProxySetting(
|
||||
CzechQuestsAddon.optionsFrame,
|
||||
"CzechQuestsAddon__TRANSLATION_FRAME_TEXT_FONT_FAMILY",
|
||||
type(CzechQuestsAddon_Store.config.TRANSLATION_FRAME_TEXT_FONT_FAMILY),
|
||||
"Text font",
|
||||
CzechQuestsAddon_Store.config.TRANSLATION_FRAME_TEXT_FONT_FAMILY,
|
||||
function()
|
||||
return CzechQuestsAddon_Store.config.TRANSLATION_FRAME_TEXT_FONT_FAMILY
|
||||
end,
|
||||
function(value)
|
||||
CzechQuestsAddon_Store.config.TRANSLATION_FRAME_TEXT_FONT_FAMILY = value
|
||||
CzechQuestsAddon:UpdateTranslationFrameFontSettings()
|
||||
end
|
||||
)
|
||||
Settings.CreateDropdown(CzechQuestsAddon.optionsFrame, textFontFamilyDropdown, GetFontOptions)
|
||||
|
||||
-- Add slider for change primary header font size
|
||||
local primaryHeaderFontSizeSlider = Settings.RegisterProxySetting(
|
||||
CzechQuestsAddon.optionsFrame,
|
||||
"CzechQuestsAddon__TRANSLATION_FRAME_PRIMARY_HEADER_FONT_SIZE",
|
||||
type(CzechQuestsAddon_Store.config.TRANSLATION_FRAME_PRIMARY_HEADER_FONT_SIZE),
|
||||
"Quest title size",
|
||||
CzechQuestsAddon_Store.config.TRANSLATION_FRAME_PRIMARY_HEADER_FONT_SIZE,
|
||||
function()
|
||||
return CzechQuestsAddon_Store.config.TRANSLATION_FRAME_PRIMARY_HEADER_FONT_SIZE
|
||||
end,
|
||||
function(value)
|
||||
CzechQuestsAddon_Store.config.TRANSLATION_FRAME_PRIMARY_HEADER_FONT_SIZE = value
|
||||
CzechQuestsAddon:UpdateTranslationFrameFontSettings()
|
||||
end
|
||||
)
|
||||
local primaryHeaderFontSizeSliderOptions = Settings.CreateSliderOptions(10, 30, 1)
|
||||
primaryHeaderFontSizeSliderOptions:SetLabelFormatter(MinimalSliderWithSteppersMixin.Label.Right);
|
||||
Settings.CreateSlider(CzechQuestsAddon.optionsFrame, primaryHeaderFontSizeSlider, primaryHeaderFontSizeSliderOptions)
|
||||
|
||||
-- Add slider for change secondary header font size
|
||||
local secondaryHeaderFontSizeSlider = Settings.RegisterProxySetting(
|
||||
CzechQuestsAddon.optionsFrame,
|
||||
"CzechQuestsAddon__TRANSLATION_FRAME_SECONDARY_HEADER_FONT_SIZE",
|
||||
type(CzechQuestsAddon_Store.config.TRANSLATION_FRAME_SECONDARY_HEADER_FONT_SIZE),
|
||||
"Secondary title size",
|
||||
CzechQuestsAddon_Store.config.TRANSLATION_FRAME_SECONDARY_HEADER_FONT_SIZE,
|
||||
function()
|
||||
return CzechQuestsAddon_Store.config.TRANSLATION_FRAME_SECONDARY_HEADER_FONT_SIZE
|
||||
end,
|
||||
function(value)
|
||||
CzechQuestsAddon_Store.config.TRANSLATION_FRAME_SECONDARY_HEADER_FONT_SIZE = value
|
||||
CzechQuestsAddon:UpdateTranslationFrameFontSettings()
|
||||
end
|
||||
)
|
||||
local secondaryHeaderFontSizeSliderOptions = Settings.CreateSliderOptions(10, 30, 1)
|
||||
secondaryHeaderFontSizeSliderOptions:SetLabelFormatter(MinimalSliderWithSteppersMixin.Label.Right);
|
||||
Settings.CreateSlider(CzechQuestsAddon.optionsFrame, secondaryHeaderFontSizeSlider, secondaryHeaderFontSizeSliderOptions)
|
||||
|
||||
|
||||
-- Add slider for change secondary header font size
|
||||
local textFontSizeSlider = Settings.RegisterProxySetting(
|
||||
CzechQuestsAddon.optionsFrame,
|
||||
"CzechQuestsAddon__TRANSLATION_FRAME_TEXT_FONT_SIZE",
|
||||
type(CzechQuestsAddon_Store.config.TRANSLATION_FRAME_TEXT_FONT_SIZE),
|
||||
"Text size",
|
||||
CzechQuestsAddon_Store.config.TRANSLATION_FRAME_TEXT_FONT_SIZE,
|
||||
function()
|
||||
return CzechQuestsAddon_Store.config.TRANSLATION_FRAME_TEXT_FONT_SIZE
|
||||
end,
|
||||
function(value)
|
||||
local currentFont, _, currentFlags = {}
|
||||
currentFont, _, currentFlags = CzechQuestsAddon.translationFrame.primaryText:GetFont()
|
||||
CzechQuestsAddon.translationFrame.primaryText:SetFont(currentFont, value, currentFlags)
|
||||
currentFont, _, currentFlags = CzechQuestsAddon.translationFrame.secondaryText:GetFont()
|
||||
CzechQuestsAddon.translationFrame.secondaryText:SetFont(currentFont, value, currentFlags)
|
||||
CzechQuestsAddon_Store.config.TRANSLATION_FRAME_TEXT_FONT_SIZE = value
|
||||
end
|
||||
)
|
||||
local textFontSizeSliderOptions = Settings.CreateSliderOptions(10, 30, 1)
|
||||
textFontSizeSliderOptions:SetLabelFormatter(MinimalSliderWithSteppersMixin.Label.Right);
|
||||
Settings.CreateSlider(CzechQuestsAddon.optionsFrame, textFontSizeSlider, textFontSizeSliderOptions)
|
||||
|
||||
-- Store it into Addon options
|
||||
Settings.RegisterAddOnCategory(CzechQuestsAddon.optionsFrame)
|
||||
end
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue