From ffa7648ba8d9dc45915d9cda99fc98b10349f923 Mon Sep 17 00:00:00 2001 From: Darthpred Date: Mon, 29 Aug 2016 10:12:05 +0300 Subject: [PATCH] New options for afk --- ElvUI_SLE/defaults/profile.lua | 12 +++++- ElvUI_SLE/locales/english.lua | 11 ++++- ElvUI_SLE/locales/russian.lua | 11 ++++- ElvUI_SLE/modules/afk.lua | 32 +++++++++++---- ElvUI_SLE/options/afk_c.lua | 86 +++++++++++++++++++++++++++++++++++++--- 5 files changed, 136 insertions(+), 16 deletions(-) diff --git a/ElvUI_SLE/defaults/profile.lua b/ElvUI_SLE/defaults/profile.lua index 93e1a94..8c741f5 100644 --- a/ElvUI_SLE/defaults/profile.lua +++ b/ElvUI_SLE/defaults/profile.lua @@ -603,18 +603,28 @@ P["sle"] = { ["font"] = "PT Sans Narrow", ["size"] = 15, ["outline"] = "OUTLINE", + ["xOffset"] = 0, + ["yOffset"] = 0, }, ["player"] = { ["font"] = "PT Sans Narrow", ["size"] = 15, ["outline"] = "OUTLINE", + ["xOffset"] = 0, + ["yOffset"] = 0, }, ["tips"] = { ["font"] = "PT Sans Narrow", ["size"] = 20, ["outline"] = "OUTLINE", }, - ["crest"] = 128, + ["crest"] = { + ["size"] = 128, + ["xOffset_faction"] = 0, + ["yOffset_faction"] = 0, + ["xOffset_race"] = 0, + ["yOffset_race"] = 0, + }, ["xpack"] = 150, ["height"] = 135, ["playermodel"] = { diff --git a/ElvUI_SLE/locales/english.lua b/ElvUI_SLE/locales/english.lua index 0a337a6..bf2fc62 100644 --- a/ElvUI_SLE/locales/english.lua +++ b/ElvUI_SLE/locales/english.lua @@ -187,7 +187,16 @@ L["SLE_TIPS"] = { --This doesn't need to be translated, every locale can has own L["Enable S&L's additional features for AFK screen."] = true L["Button restrictions"] = true L["Use ElvUI's restrictions for button presses."] = true -L["Crest Size"] = true +L["Crest"] = true +L["Faction Crest X-Offset"] = true +L["Faction Crest Y-Offset"] = true +L["Race Crest X-Offset"] = true +L["Race Crest Y-Offset"] = true +L["Texts Positions"] = true +L["Date X-Offset"] = true +L["Date Y-Offset"] = true +L["Player Info X-Offset"] = true +L["Player Info Y-Offset"] = true L["X-Pack Logo Size"] = true L["Template"] = true L["Player Model"] = true diff --git a/ElvUI_SLE/locales/russian.lua b/ElvUI_SLE/locales/russian.lua index 6869223..816827b 100644 --- a/ElvUI_SLE/locales/russian.lua +++ b/ElvUI_SLE/locales/russian.lua @@ -182,7 +182,16 @@ L["SLE_TIPS"] = { --This doesn't need to be translated, every locale can has own L["Enable S&L's additional features for AFK screen."] = "Активировать дополнительные опции для режима АФК." L["Button restrictions"] = "Ограничения клавиш" L["Use ElvUI's restrictions for button presses."] = "Использовать ограничения Elv'а на нажатия клавиш." -L["Crest Size"] = "Размер герба" +L["Crest"] = "Герб" +L["Faction Crest X-Offset"] = "Отступ по X герба фракции" +L["Faction Crest Y-Offset"] = "Отступ по Y герба фракции" +L["Race Crest X-Offset"] = "Отступ по X герба класса" +L["Race Crest Y-Offset"] = "Отступ по Y герба класса" +L["Texts Positions"] = "Позиции текстов" +L["Date X-Offset"] = "Отступ даты по X" +L["Date Y-Offset"] = "Отступ даты по Y" +L["Player Info X-Offset"] = "Отступ инфо игрока по X" +L["Player Info Y-Offset"] = "Отступ инфо игрока по Y" L["X-Pack Logo Size"] = "Размел иконки дополнения" L["Template"] = "Шаблон" L["Player Model"] = "Модель игрока" diff --git a/ElvUI_SLE/modules/afk.lua b/ElvUI_SLE/modules/afk.lua index 029c6d5..e588d53 100644 --- a/ElvUI_SLE/modules/afk.lua +++ b/ElvUI_SLE/modules/afk.lua @@ -38,8 +38,8 @@ function S:Media() SS.timePassed:SetTextColor(1, 1, 1) SS.ExPack:SetSize(S.db.xpack, S.db.xpack/2) - SS.FactCrest:SetSize(S.db.crest, S.db.crest) - SS.RaceCrest:SetSize(S.db.crest, S.db.crest) + SS.FactCrest:SetSize(S.db.crest.size, S.db.crest.size) + SS.RaceCrest:SetSize(S.db.crest.size, S.db.crest.size) SS.Elv:SetSize(S.db.xpack, S.db.xpack/2) SS.sle:SetSize(S.db.xpack, S.db.xpack/2) end @@ -111,17 +111,17 @@ function S:Setup() SS.timePassed:ClearAllPoints() SS.timePassed:Point("LEFT", SS.AFKtitle, "RIGHT", 4, -1) SS.ExPack:Point("CENTER", SS.Top, "BOTTOM", 0, 0) - SS.FactCrest:ClearAllPoints() - SS.FactCrest:Point("CENTER", SS.Top, "BOTTOM", -(T.GetScreenWidth()/6), 0) - SS.RaceCrest:Point("CENTER", SS.Top, "BOTTOM", (T.GetScreenWidth()/6), 0) - SS.Date:Point("RIGHT", SS.Top, "RIGHT", -40, 10) + -- SS.FactCrest:ClearAllPoints() + -- SS.FactCrest:Point("CENTER", SS.Top, "BOTTOM", -(T.GetScreenWidth()/6), 0) + -- SS.RaceCrest:Point("CENTER", SS.Top, "BOTTOM", (T.GetScreenWidth()/6), 0) + -- SS.Date:Point("RIGHT", SS.Top, "RIGHT", -40, 10) SS.Time:Point("TOP", SS.Date, "BOTTOM", 0, -2) SS.Elv:SetPoint("CENTER", SS.Bottom, "TOP", -(T.GetScreenWidth()/10), 0) SS.sle:SetPoint("CENTER", SS.Bottom, "TOP", (T.GetScreenWidth()/10), 0) SS.PlayerName:ClearAllPoints() SS.Guild:ClearAllPoints() SS.GuildRank:ClearAllPoints() - SS.PlayerInfo:Point("RIGHT", SS.Date, "LEFT", -100, 0) + -- SS.PlayerInfo:Point("RIGHT", SS.Date, "LEFT", -100, 0) SS.PlayerName:Point("BOTTOM", SS.PlayerInfo, "TOP", 0, 2) SS.Guild:SetPoint("TOP", SS.PlayerInfo, "BOTTOM", 0, -2) SS.GuildRank:SetPoint("TOP", SS.Guild, "BOTTOM", 0, -2) @@ -206,6 +206,16 @@ function S:Show() SS.ScrollFrame:SetHeight(S.db.tips.size+4) SS.ScrollFrame.bg:SetHeight(S.db.tips.size+20) + --Elements + SS.FactCrest:ClearAllPoints() + SS.RaceCrest:ClearAllPoints() + SS.Date:ClearAllPoints() + SS.PlayerInfo:ClearAllPoints() + SS.FactCrest:Point("CENTER", SS.Top, "BOTTOM", -(T.GetScreenWidth()/6) + S.db.crest.xOffset_faction, 0 + S.db.crest.yOffset_faction) + SS.RaceCrest:Point("CENTER", SS.Top, "BOTTOM", (T.GetScreenWidth()/6) + S.db.crest.xOffset_race, 0 + S.db.crest.yOffset_race) + SS.Date:Point("RIGHT", SS.Top, "RIGHT", -40 + S.db.date.xOffset, 10 + S.db.date.yOffset) + SS.PlayerInfo:Point("RIGHT", SS.TOP, "RIGHT", -(T.GetScreenWidth()/6), 0) + --Resizing chat SS.chat:SetHeight(SS.Top:GetHeight()) @@ -380,6 +390,10 @@ end function S:Initialize() if not SLE.initialized then return end SS = AFK.AFKMode + if type(E.db.sle.screensaver.crest) == "number" then + E.db.sle.screensaver.crest = nil + E.db.sle.screensaver.crest = P.sle.screensaver.crest + end S.db = E.db.sle.screensaver S.OnKeyDown = SS:GetScript("OnKeyDown") if not E.private.sle.module.screensaver then return end @@ -448,6 +462,10 @@ function S:Initialize() function S:ForUpdateAll() -- if not E.private.sle.module.screensaver then return end + if type(E.db.sle.screensaver.crest) == "number" then + E.db.sle.screensaver.crest = nil + E.db.sle.screensaver.crest = P.sle.screensaver.crest + end S.db = E.db.sle.screensaver S:SetupAnimations() S:Hide() diff --git a/ElvUI_SLE/options/afk_c.lua b/ElvUI_SLE/options/afk_c.lua index 63be998..3ad37af 100644 --- a/ElvUI_SLE/options/afk_c.lua +++ b/ElvUI_SLE/options/afk_c.lua @@ -89,11 +89,45 @@ local function configTable() args = { crest = { order = 1, - name = L["Crest Size"], - type = "range", - min = 84, max = 256, step = 1, - get = function(info) return E.db.sle.screensaver.crest end, - set = function(info, value) E.db.sle.screensaver.crest = value; S:Media() end, + type = "group", + guiInline = true, + name = L["Crest"], + get = function(info) return E.db.sle.screensaver.crest[ info[#info] ] end, + set = function(info, value) E.db.sle.screensaver.crest[ info[#info] ] = value; end, + args = { + size = { + order = 1, + name = L["Size"], + type = "range", + min = 84, max = 256, step = 1, + get = function(info) return E.db.sle.screensaver.crest.size end, + set = function(info, value) E.db.sle.screensaver.crest.size = value; S:Media() end, + }, + xOffset_faction = { + order = 2, + name = L["Faction Crest X-Offset"], + type = "range", + min = -(T.GetScreenWidth()/2), max = T.GetScreenWidth()/2, step = 1, + }, + yOffset_faction = { + order = 3, + name = L["Faction Crest Y-Offset"], + type = "range", + min = -(T.GetScreenWidth()/2), max = T.GetScreenWidth()/2, step = 1, + }, + xOffset_race = { + order = 4, + name = L["Race Crest X-Offset"], + type = "range", + min = -(T.GetScreenWidth()/2), max = T.GetScreenWidth()/2, step = 1, + }, + yOffset_race = { + order = 5, + name = L["Race Crest Y-Offset"], + type = "range", + min = -(T.GetScreenWidth()/2), max = T.GetScreenWidth()/2, step = 1, + }, + }, }, xpack = { order = 2, @@ -111,8 +145,48 @@ local function configTable() get = function(info) return E.db.sle.screensaver.height end, set = function(info, value) E.db.sle.screensaver.height = value end, }, - animType = { + texts = { order = 4, + type = "group", + name = L["Texts Positions"], + guiInline = true, + args = { + xOffset_date = { + order = 1, + name = L["Date X-Offset"], + type = "range", + min = -(T.GetScreenWidth()/2), max = T.GetScreenWidth()/2, step = 1, + get = function(info) return E.db.sle.screensaver.date.xOffset end, + set = function(info, value) E.db.sle.screensaver.date.xOffset = value end, + }, + yOffset_date = { + order = 1, + name = L["Date Y-Offset"], + type = "range", + min = -(T.GetScreenWidth()/2), max = T.GetScreenWidth()/2, step = 1, + get = function(info) return E.db.sle.screensaver.date.yOffset end, + set = function(info, value) E.db.sle.screensaver.date.yOffset = value end, + }, + xOffset_player = { + order = 1, + name = L["Player Info X-Offset"], + type = "range", + min = -(T.GetScreenWidth()/2), max = T.GetScreenWidth()/2, step = 1, + get = function(info) return E.db.sle.screensaver.player.xOffset end, + set = function(info, value) E.db.sle.screensaver.player.xOffset = value end, + }, + yOffset_player = { + order = 1, + name = L["Player Info Y-Offset"], + type = "range", + min = -(T.GetScreenWidth()/2), max = T.GetScreenWidth()/2, step = 1, + get = function(info) return E.db.sle.screensaver.player.yOffset end, + set = function(info, value) E.db.sle.screensaver.player.yOffset = value end, + }, + }, + }, + animType = { + order = 5, name = L["Template"], type = "select", disabled = function() return E.db.sle.screensaver.panelTemplate == 0 end, -- 1.7.9.5