Refactor addon structure and introduce new speech frame.
This commit is contained in:
parent
f00edc16fc
commit
4660216504
27 changed files with 698 additions and 441 deletions
29
Addon/Frames/Settings/OptionsFrame.lua
Executable file
29
Addon/Frames/Settings/OptionsFrame.lua
Executable file
|
@ -0,0 +1,29 @@
|
|||
-- define FontOptions
|
||||
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
|
||||
|
||||
function CzechQuestsAddon:InitializeSettings()
|
||||
CzechQuestsAddon.optionsFrame = {};
|
||||
CzechQuestsAddon.optionsFrame, layout = Settings.RegisterVerticalLayoutCategory("CzechQuests")
|
||||
|
||||
-- Add options for quests
|
||||
layout:AddInitializer(CreateSettingsListSectionHeaderInitializer("Questy"))
|
||||
CzechQuestsAddon:AddQuestOptions(CzechQuestsAddon.optionsFrame)
|
||||
|
||||
-- Add options for speech
|
||||
layout:AddInitializer(CreateSettingsListSectionHeaderInitializer("Projevy"))
|
||||
CzechQuestsAddon:AddSpeechOptions(CzechQuestsAddon.optionsFrame)
|
||||
|
||||
-- Add options for speech
|
||||
layout:AddInitializer(CreateSettingsListSectionHeaderInitializer("Ostatní"))
|
||||
CzechQuestsAddon:AddOthersOptions(CzechQuestsAddon.optionsFrame)
|
||||
|
||||
-- Store it into Addon options
|
||||
Settings.RegisterAddOnCategory(CzechQuestsAddon.optionsFrame)
|
||||
end
|
15
Addon/Frames/Settings/OptionsOthersFrame.lua
Executable file
15
Addon/Frames/Settings/OptionsOthersFrame.lua
Executable file
|
@ -0,0 +1,15 @@
|
|||
function CzechQuestsAddon:AddOthersOptions(optionsFrame)
|
||||
|
||||
-- Add DEBUG checkbox
|
||||
local debugCheckbox = Settings.RegisterAddOnSetting(
|
||||
optionsFrame,
|
||||
"CzechQuestsAddon__DEBUG_MODE",
|
||||
"DEBUG_MODE",
|
||||
CzechQuestsAddon_Store.config,
|
||||
type(CzechQuestsAddon_Store.config.DEBUG_MODE),
|
||||
"Zapnout DEBUG",
|
||||
CzechQuestsAddon_Store.config.DEBUG_MODE
|
||||
)
|
||||
Settings.CreateCheckbox(optionsFrame, debugCheckbox)
|
||||
|
||||
end
|
137
Addon/Frames/Settings/OptionsQuestFrame.lua
Executable file
137
Addon/Frames/Settings/OptionsQuestFrame.lua
Executable file
|
@ -0,0 +1,137 @@
|
|||
function CzechQuestsAddon:AddQuestOptions(optionsFrame)
|
||||
|
||||
if (WOW_PROJECT_ID == WOW_PROJECT_CLASSIC) then
|
||||
-- Add DARK mode checkbox
|
||||
local darkModeCheckbox = Settings.RegisterAddOnSetting(
|
||||
optionsFrame,
|
||||
"CzechQuestsAddon__TRANSLATION_QUEST_FRAME_DARK_MODE",
|
||||
"TRANSLATION_QUEST_FRAME_DARK_MODE",
|
||||
CzechQuestsAddon_Store.config,
|
||||
type(CzechQuestsAddon_Store.config.TRANSLATION_QUEST_FRAME_DARK_MODE),
|
||||
"Použít tmavý režim",
|
||||
CzechQuestsAddon_Store.config.TRANSLATION_QUEST_FRAME_DARK_MODE
|
||||
)
|
||||
Settings.CreateCheckbox(optionsFrame, darkModeCheckbox)
|
||||
end
|
||||
|
||||
-- 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(
|
||||
optionsFrame,
|
||||
"CzechQuestsAddon__TRANSLATION_QUEST_FRAME_HEADER_FONT_FAMILY",
|
||||
type(CzechQuestsAddon_Store.config.TRANSLATION_QUEST_FRAME_HEADER_FONT_FAMILY),
|
||||
"Písmo nadpisu",
|
||||
CzechQuestsAddon_Store.config.TRANSLATION_QUEST_FRAME_HEADER_FONT_FAMILY,
|
||||
function()
|
||||
return CzechQuestsAddon_Store.config.TRANSLATION_QUEST_FRAME_HEADER_FONT_FAMILY
|
||||
end,
|
||||
function(value)
|
||||
CzechQuestsAddon_Store.config.TRANSLATION_QUEST_FRAME_HEADER_FONT_FAMILY = value
|
||||
CzechQuestsAddon:UpdateTranslationQuestFrameFontSettings()
|
||||
end
|
||||
)
|
||||
Settings.CreateDropdown(optionsFrame, headerFontFamilyDropdown, GetFontOptions)
|
||||
|
||||
-- Add text font dropdown menu
|
||||
local textFontFamilyDropdown = Settings.RegisterProxySetting(
|
||||
optionsFrame,
|
||||
"CzechQuestsAddon__TRANSLATION_QUEST_FRAME_TEXT_FONT_FAMILY",
|
||||
type(CzechQuestsAddon_Store.config.TRANSLATION_QUEST_FRAME_TEXT_FONT_FAMILY),
|
||||
"Písmo textu",
|
||||
CzechQuestsAddon_Store.config.TRANSLATION_QUEST_FRAME_TEXT_FONT_FAMILY,
|
||||
function()
|
||||
return CzechQuestsAddon_Store.config.TRANSLATION_QUEST_FRAME_TEXT_FONT_FAMILY
|
||||
end,
|
||||
function(value)
|
||||
CzechQuestsAddon_Store.config.TRANSLATION_QUEST_FRAME_TEXT_FONT_FAMILY = value
|
||||
CzechQuestsAddon:UpdateTranslationQuestFrameFontSettings()
|
||||
end
|
||||
)
|
||||
Settings.CreateDropdown(optionsFrame, textFontFamilyDropdown, GetFontOptions)
|
||||
|
||||
-- Add slider for change primary header font size
|
||||
local primaryHeaderFontSizeSlider = Settings.RegisterProxySetting(
|
||||
optionsFrame,
|
||||
"CzechQuestsAddon__TRANSLATION_QUEST_FRAME_PRIMARY_HEADER_FONT_SIZE",
|
||||
type(CzechQuestsAddon_Store.config.TRANSLATION_QUEST_FRAME_PRIMARY_HEADER_FONT_SIZE),
|
||||
"Velikost názvu",
|
||||
CzechQuestsAddon_Store.config.TRANSLATION_QUEST_FRAME_PRIMARY_HEADER_FONT_SIZE,
|
||||
function()
|
||||
return CzechQuestsAddon_Store.config.TRANSLATION_QUEST_FRAME_PRIMARY_HEADER_FONT_SIZE
|
||||
end,
|
||||
function(value)
|
||||
CzechQuestsAddon_Store.config.TRANSLATION_QUEST_FRAME_PRIMARY_HEADER_FONT_SIZE = value
|
||||
CzechQuestsAddon:UpdateTranslationQuestFrameFontSettings()
|
||||
end
|
||||
)
|
||||
local primaryHeaderFontSizeSliderOptions = Settings.CreateSliderOptions(10, 30, 1)
|
||||
primaryHeaderFontSizeSliderOptions:SetLabelFormatter(MinimalSliderWithSteppersMixin.Label.Right);
|
||||
Settings.CreateSlider(optionsFrame, primaryHeaderFontSizeSlider, primaryHeaderFontSizeSliderOptions)
|
||||
|
||||
-- Add slider for change secondary header font size
|
||||
local secondaryHeaderFontSizeSlider = Settings.RegisterProxySetting(
|
||||
optionsFrame,
|
||||
"CzechQuestsAddon__TRANSLATION_QUEST_FRAME_SECONDARY_HEADER_FONT_SIZE",
|
||||
type(CzechQuestsAddon_Store.config.TRANSLATION_QUEST_FRAME_SECONDARY_HEADER_FONT_SIZE),
|
||||
"Velikost nadpisu",
|
||||
CzechQuestsAddon_Store.config.TRANSLATION_QUEST_FRAME_SECONDARY_HEADER_FONT_SIZE,
|
||||
function()
|
||||
return CzechQuestsAddon_Store.config.TRANSLATION_QUEST_FRAME_SECONDARY_HEADER_FONT_SIZE
|
||||
end,
|
||||
function(value)
|
||||
CzechQuestsAddon_Store.config.TRANSLATION_QUEST_FRAME_SECONDARY_HEADER_FONT_SIZE = value
|
||||
CzechQuestsAddon:UpdateTranslationQuestFrameFontSettings()
|
||||
end
|
||||
)
|
||||
local secondaryHeaderFontSizeSliderOptions = Settings.CreateSliderOptions(10, 30, 1)
|
||||
secondaryHeaderFontSizeSliderOptions:SetLabelFormatter(MinimalSliderWithSteppersMixin.Label.Right);
|
||||
Settings.CreateSlider(optionsFrame, secondaryHeaderFontSizeSlider, secondaryHeaderFontSizeSliderOptions)
|
||||
|
||||
|
||||
-- Add slider for change secondary header font size
|
||||
local textFontSizeSlider = Settings.RegisterProxySetting(
|
||||
optionsFrame,
|
||||
"CzechQuestsAddon__TRANSLATION_QUEST_FRAME_TEXT_FONT_SIZE",
|
||||
type(CzechQuestsAddon_Store.config.TRANSLATION_QUEST_FRAME_TEXT_FONT_SIZE),
|
||||
"Velikost textu",
|
||||
CzechQuestsAddon_Store.config.TRANSLATION_QUEST_FRAME_TEXT_FONT_SIZE,
|
||||
function()
|
||||
return CzechQuestsAddon_Store.config.TRANSLATION_QUEST_FRAME_TEXT_FONT_SIZE
|
||||
end,
|
||||
function(value)
|
||||
CzechQuestsAddon_Store.config.TRANSLATION_QUEST_FRAME_TEXT_FONT_SIZE = value
|
||||
CzechQuestsAddon:UpdateTranslationQuestFrameFontSettings()
|
||||
end
|
||||
)
|
||||
local textFontSizeSliderOptions = Settings.CreateSliderOptions(10, 30, 1)
|
||||
textFontSizeSliderOptions:SetLabelFormatter(MinimalSliderWithSteppersMixin.Label.Right);
|
||||
Settings.CreateSlider(optionsFrame, textFontSizeSlider, textFontSizeSliderOptions)
|
||||
|
||||
-- Add slider for change secondary header font size
|
||||
local textureAlphaSlider = Settings.RegisterProxySetting(
|
||||
optionsFrame,
|
||||
"CzechQuestsAddon__TRANSLATION_QUEST_FRAME_TEXTURE_ALPHA",
|
||||
type(CzechQuestsAddon_Store.config.TRANSLATION_QUEST_FRAME_TEXTURE_ALPHA),
|
||||
"Pruhlednost pozadí",
|
||||
CzechQuestsAddon_Store.config.TRANSLATION_QUEST_FRAME_TEXTURE_ALPHA,
|
||||
function()
|
||||
return CzechQuestsAddon_Store.config.TRANSLATION_QUEST_FRAME_TEXTURE_ALPHA
|
||||
end,
|
||||
function(value)
|
||||
CzechQuestsAddon_Store.config.TRANSLATION_QUEST_FRAME_TEXTURE_ALPHA = value
|
||||
end
|
||||
)
|
||||
local textureAlphaSliderOptions = Settings.CreateSliderOptions(10, 100, 10)
|
||||
textureAlphaSliderOptions:SetLabelFormatter(MinimalSliderWithSteppersMixin.Label.Right);
|
||||
Settings.CreateSlider(optionsFrame, textureAlphaSlider, textureAlphaSliderOptions)
|
||||
|
||||
end
|
94
Addon/Frames/Settings/OptionsSpeechFrame.lua
Executable file
94
Addon/Frames/Settings/OptionsSpeechFrame.lua
Executable file
|
@ -0,0 +1,94 @@
|
|||
function CzechQuestsAddon:AddSpeechOptions(optionsFrame)
|
||||
|
||||
-- Add header font dropdown menu
|
||||
local npcFontFamilyDropdown = Settings.RegisterProxySetting(
|
||||
optionsFrame,
|
||||
"CzechQuestsAddon__TRANSLATION_SPEECH_FRAME_NPC_FONT_FAMILY",
|
||||
type(CzechQuestsAddon_Store.config.TRANSLATION_SPEECH_FRAME_NPC_FONT_FAMILY),
|
||||
"Písmo jména",
|
||||
CzechQuestsAddon_Store.config.TRANSLATION_SPEECH_FRAME_NPC_FONT_FAMILY,
|
||||
function()
|
||||
return CzechQuestsAddon_Store.config.TRANSLATION_SPEECH_FRAME_NPC_FONT_FAMILY
|
||||
end,
|
||||
function(value)
|
||||
CzechQuestsAddon_Store.config.TRANSLATION_SPEECH_FRAME_NPC_FONT_FAMILY = value
|
||||
CzechQuestsAddon:UpdateTranslationSpeechFrameSettings()
|
||||
end
|
||||
)
|
||||
Settings.CreateDropdown(optionsFrame, npcFontFamilyDropdown, GetFontOptions)
|
||||
|
||||
-- Add text font dropdown menu
|
||||
local textFontFamilyDropdown = Settings.RegisterProxySetting(
|
||||
optionsFrame,
|
||||
"CzechQuestsAddon__TRANSLATION_SPEECH_FRAME_TEXT_FONT_FAMILY",
|
||||
type(CzechQuestsAddon_Store.config.TRANSLATION_SPEECH_FRAME_TEXT_FONT_FAMILY),
|
||||
"Písmo textu",
|
||||
CzechQuestsAddon_Store.config.TRANSLATION_SPEECH_FRAME_TEXT_FONT_FAMILY,
|
||||
function()
|
||||
return CzechQuestsAddon_Store.config.TRANSLATION_SPEECH_FRAME_TEXT_FONT_FAMILY
|
||||
end,
|
||||
function(value)
|
||||
CzechQuestsAddon_Store.config.TRANSLATION_SPEECH_FRAME_TEXT_FONT_FAMILY = value
|
||||
CzechQuestsAddon:UpdateTranslationSpeechFrameSettings()
|
||||
end
|
||||
)
|
||||
Settings.CreateDropdown(optionsFrame, textFontFamilyDropdown, GetFontOptions)
|
||||
|
||||
-- Add slider for change primary header font size
|
||||
local npcFontSizeSlider = Settings.RegisterProxySetting(
|
||||
optionsFrame,
|
||||
"CzechQuestsAddon__TRANSLATION_SPEECH_FRAME_NPC_FONT_SIZE",
|
||||
type(CzechQuestsAddon_Store.config.TRANSLATION_SPEECH_FRAME_NPC_FONT_SIZE),
|
||||
"Velikost jméma",
|
||||
CzechQuestsAddon_Store.config.TRANSLATION_SPEECH_FRAME_NPC_FONT_SIZE,
|
||||
function()
|
||||
return CzechQuestsAddon_Store.config.TRANSLATION_SPEECH_FRAME_NPC_FONT_SIZE
|
||||
end,
|
||||
function(value)
|
||||
CzechQuestsAddon_Store.config.TRANSLATION_SPEECH_FRAME_NPC_FONT_SIZE = value
|
||||
CzechQuestsAddon:UpdateTranslationSpeechFrameSettings()
|
||||
end
|
||||
)
|
||||
local npcFontSizeOption = Settings.CreateSliderOptions(8, 30, 1)
|
||||
npcFontSizeOption:SetLabelFormatter(MinimalSliderWithSteppersMixin.Label.Right);
|
||||
Settings.CreateSlider(optionsFrame, npcFontSizeSlider, npcFontSizeOption)
|
||||
|
||||
-- Add slider for change secondary header font size
|
||||
local textFontSizeSlider = Settings.RegisterProxySetting(
|
||||
optionsFrame,
|
||||
"CzechQuestsAddon__TRANSLATION_SPEECH_FRAME_TEXT_FONT_SIZE",
|
||||
type(CzechQuestsAddon_Store.config.TRANSLATION_SPEECH_FRAME_TEXT_FONT_SIZE),
|
||||
"Velikost textu",
|
||||
CzechQuestsAddon_Store.config.TRANSLATION_SPEECH_FRAME_TEXT_FONT_SIZE,
|
||||
function()
|
||||
return CzechQuestsAddon_Store.config.TRANSLATION_SPEECH_FRAME_TEXT_FONT_SIZE
|
||||
end,
|
||||
function(value)
|
||||
CzechQuestsAddon_Store.config.TRANSLATION_SPEECH_FRAME_TEXT_FONT_SIZE = value
|
||||
CzechQuestsAddon:UpdateTranslationSpeechFrameSettings()
|
||||
end
|
||||
)
|
||||
local textFontSizeSliderOptions = Settings.CreateSliderOptions(8, 30, 1)
|
||||
textFontSizeSliderOptions:SetLabelFormatter(MinimalSliderWithSteppersMixin.Label.Right);
|
||||
Settings.CreateSlider(optionsFrame, textFontSizeSlider, textFontSizeSliderOptions)
|
||||
|
||||
-- Add slider for change secondary header font size
|
||||
local windowWidthSizeSlider = Settings.RegisterProxySetting(
|
||||
optionsFrame,
|
||||
"CzechQuestsAddon__TRANSLATION_SPEECH_FRAME_WIDTH",
|
||||
type(CzechQuestsAddon_Store.config.TRANSLATION_SPEECH_FRAME_WIDTH),
|
||||
"Šírka zpráva",
|
||||
CzechQuestsAddon_Store.config.TRANSLATION_SPEECH_FRAME_WIDTH,
|
||||
function()
|
||||
return CzechQuestsAddon_Store.config.TRANSLATION_SPEECH_FRAME_WIDTH
|
||||
end,
|
||||
function(value)
|
||||
CzechQuestsAddon_Store.config.TRANSLATION_SPEECH_FRAME_WIDTH = value
|
||||
CzechQuestsAddon:UpdateTranslationSpeechFrameSettings()
|
||||
end
|
||||
)
|
||||
local windowWidthSizeSliderOption = Settings.CreateSliderOptions(200, 800, 10)
|
||||
windowWidthSizeSliderOption:SetLabelFormatter(MinimalSliderWithSteppersMixin.Label.Right);
|
||||
Settings.CreateSlider(optionsFrame, windowWidthSizeSlider, windowWidthSizeSliderOption)
|
||||
|
||||
end
|
Loading…
Add table
Add a link
Reference in a new issue