Replace ScrollFrame with Messages queue and refactor speeches options
This commit is contained in:
parent
b6d64d65b5
commit
b17f37ee42
5 changed files with 87 additions and 152 deletions
|
@ -25,13 +25,13 @@ local function RegisterProxySettings(name, title, setter)
|
|||
function()
|
||||
return CzechQuestsAddon_Store.config[name]
|
||||
end,
|
||||
setter
|
||||
function(value) setter(name, value) end
|
||||
)
|
||||
end
|
||||
|
||||
local function CreateCheckbox(name, title, setter)
|
||||
local register = RegisterAddOnSettings(name, title)
|
||||
register:SetValueChangedCallback(setter)
|
||||
register:SetValueChangedCallback(function(_, value) setter(name, value) end)
|
||||
Settings.CreateCheckbox(Options.category, register)
|
||||
end
|
||||
|
||||
|
@ -47,7 +47,7 @@ end
|
|||
|
||||
local function CreateButton(title, label, setter)
|
||||
Options.layout:AddInitializer(
|
||||
CreateSettingsButtonInitializer(title, label, setter, nil, title)
|
||||
CreateSettingsButtonInitializer(title, label, function(value) setter(name, value) end, nil, title)
|
||||
)
|
||||
end
|
||||
|
||||
|
@ -57,86 +57,67 @@ local function InitQuests()
|
|||
addon.QuestFrame:UpdateSettings()
|
||||
end
|
||||
|
||||
local function CreateQuestCheckbox(name, title)
|
||||
CreateCheckbox(name, title, function (_, value) Update(name, value) end)
|
||||
end
|
||||
|
||||
local function CreateQuestDropdown(name, title, items)
|
||||
CreateDropdown(name, title, items, function (value) Update(name, value) end)
|
||||
end
|
||||
|
||||
local function CreateQuestSlider(name, title, min, max, step)
|
||||
CreateSlider(name, title, min, max, step, function (value) Update(name, value) end)
|
||||
end
|
||||
|
||||
local layout = Options.layout
|
||||
layout:AddInitializer(CreateSettingsListSectionHeaderInitializer("Questy"))
|
||||
|
||||
CreateQuestCheckbox("QUEST_ENABLED", "Zapnout")
|
||||
CreateCheckbox("QUEST_ENABLED", "Zapnout", Update)
|
||||
|
||||
if (WOW_PROJECT_ID == WOW_PROJECT_CLASSIC) then
|
||||
CreateQuestCheckbox("QUEST_DARK_MODE", "Pouzit tmavy rezim")
|
||||
CreateCheckbox("QUEST_DARK_MODE", "Pouzit tmavy rezim", Update)
|
||||
end
|
||||
|
||||
CreateQuestDropdown("QUEST_HEADER_FONT_NAME", "Pismo nadpisu", addon.API.GetFontContainer)
|
||||
CreateQuestDropdown("QUEST_TEXT_FONT_NAME", "Pismo textu", addon.API.GetFontContainer)
|
||||
CreateDropdown("QUEST_HEADER_FONT_NAME", "Pismo nadpisu", addon.API.GetFontContainer, Update)
|
||||
|
||||
CreateQuestSlider("QUEST_HEADER_FONT_SIZE", "Velikost nadpisu", 10, 30, 1)
|
||||
CreateQuestSlider("QUEST_TEXT_FONT_SIZE", "Velikost textu", 10, 30, 1)
|
||||
CreateDropdown("QUEST_TEXT_FONT_NAME", "Pismo textu", addon.API.GetFontContainer, Update)
|
||||
|
||||
CreateQuestSlider("QUEST_TEXTURE_ALPHA", "Pruhlednost pozadi", 10, 100, 10)
|
||||
CreateQuestCheckbox("QUEST_TEXTURE_ALPHA_ONLY_MOVING", "Pruhlednost pouze pri chuzi")
|
||||
CreateSlider("QUEST_HEADER_FONT_SIZE", "Velikost nadpisu", 10, 30, 1, Update)
|
||||
|
||||
CreateSlider("QUEST_TEXT_FONT_SIZE", "Velikost textu", 10, 30, 1, Update)
|
||||
|
||||
CreateSlider("QUEST_TEXTURE_ALPHA", "Pruhlednost pozadi", 10, 100, 10, Update)
|
||||
|
||||
CreateCheckbox("QUEST_TEXTURE_ALPHA_ONLY_MOVING", "Pruhlednost pouze pri chuzi", Update)
|
||||
end
|
||||
|
||||
local function InitSpeeches()
|
||||
local function CreateSpeechCheckbox(name, title)
|
||||
CreateCheckbox(name, title, function (_, value)
|
||||
CzechQuestsAddon_Store.config[name] = value
|
||||
addon.SpeechFrame:UpdateSettings()
|
||||
end)
|
||||
end
|
||||
|
||||
local function CreateSpeechDropdown(name, title, items)
|
||||
CreateDropdown(name, title, items, function (value)
|
||||
CzechQuestsAddon_Store.config[name] = value
|
||||
addon.SpeechFrame:UpdateSettings()
|
||||
end)
|
||||
end
|
||||
|
||||
local function CreateSpeechSlider(name, title, min, max, step)
|
||||
CreateSlider(name, title, min, max, step, function (value)
|
||||
CzechQuestsAddon_Store.config[name] = value
|
||||
addon.SpeechFrame:UpdateSettings()
|
||||
end)
|
||||
local function Update(name, value)
|
||||
CzechQuestsAddon_Store.config[name] = value
|
||||
addon.SpeechFrame:UpdateSettings()
|
||||
end
|
||||
|
||||
local layout = Options.layout
|
||||
layout:AddInitializer(CreateSettingsListSectionHeaderInitializer("Bubliny"))
|
||||
|
||||
CreateSpeechCheckbox("SPEECH_ENABLED", "Zapnout")
|
||||
CreateCheckbox("SPEECH_ENABLED", "Zapnout", Update)
|
||||
|
||||
CreateSpeechDropdown("SPEECH_TEXT_FONT_NAME", "Pismo *", addon.API.GetFontContainer)
|
||||
CreateSpeechSlider("SPEECH_TEXT_FONT_SIZE", "Velikost pisma *", 10, 30, 1)
|
||||
CreateDropdown("SPEECH_TEXT_FONT_NAME", "Pismo *", addon.API.GetFontContainer, Update)
|
||||
|
||||
CreateSpeechSlider("SPEECH_FRAME_WIDTH", "Sirka okna", 200, 1000, 10)
|
||||
CreateSlider("SPEECH_TEXT_FONT_SIZE", "Velikost pisma *", 10, 30, 1, Update)
|
||||
|
||||
CreateSpeechCheckbox("SPEECH_ORIGINAL_WHEN_MISSING", "Original pokud není preklad ")
|
||||
CreateSlider("SPEECH_FRAME_WIDTH", "Sirka okna", 200, 1000, 10, Update)
|
||||
|
||||
CreateCheckbox("SPEECH_ORIGINAL_WHEN_MISSING", "Original pokud není preklad", Update)
|
||||
|
||||
CreateSlider("SPEECH_MESSAGE_TEXTURE_ALPHA", "Pruhlednost pozadi zpravy", 0, 100, 10, Update)
|
||||
|
||||
CreateSlider("SPEECH_FRAME_POSITION_X", "Pozice okna X", 0, math.floor(GetScreenWidth()), 1, Update)
|
||||
|
||||
CreateSlider("SPEECH_FRAME_POSITION_Y", "Pozice okna Y", 0, math.floor(GetScreenHeight()), 1, Update)
|
||||
|
||||
CreateButton('Resetovat pozici okna', "RESET", function()
|
||||
CzechQuestsAddon_Store.config.SPEECH_FRAME_POSITION = { x = 0, y = 0}
|
||||
addon.SpeechFrame:SetPoint(
|
||||
"TOPLEFT", UIParent, "TOPLEFT",
|
||||
CzechQuestsAddon_Store.config.SPEECH_FRAME_POSITION.x,
|
||||
CzechQuestsAddon_Store.config.SPEECH_FRAME_POSITION.y
|
||||
)
|
||||
CzechQuestsAddon_Store.config.SPEECH_FRAME_POSITION_X = 0
|
||||
CzechQuestsAddon_Store.config.SPEECH_FRAME_POSITION_Y = 0
|
||||
addon.SpeechFrame:UpdateSettings()
|
||||
end)
|
||||
|
||||
end
|
||||
|
||||
local function InitOthers()
|
||||
local layout = Options.layout
|
||||
layout:AddInitializer(CreateSettingsListSectionHeaderInitializer("Ostatni"))
|
||||
|
||||
CreateCheckbox("DEBUG_MODE", "Zapnout DEBUG", function() end)
|
||||
CreateCheckbox("DEBUG_MODE", "Zapnout DEBUG", function()
|
||||
end)
|
||||
end
|
||||
|
||||
local function InitOptions()
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue