Files
buhfur-ubuntu 120bb38b37 Initial commit
2026-05-31 14:10:07 -04:00

164 lines
7.7 KiB
Lua
Executable File

--[[
Name: Prat_Justify
Revision: $Revision: 16019 $
Author(s): Curney (asml8ed@gmail.com)
Thanks to: Wubin for helping me understand variables better
Website: http://www.wowace.com/files/index.php?path=Prat/
Documentation: http://www.wowace.com/wiki/Prat/Integrated_Modules#Justify
SVN: http://svn.wowace.com/wowace/trunk/Prat/
Description: Module for Prat that sets the justification for chat windows (default=Left).
Dependencies: Prat
]]
local L = AceLibrary("AceLocale-2.2"):new("PratJustify")
L:RegisterTranslations("enUS", function() return {
["Justify"] = true,
["Chat window justification options."] = true,
["Set"] = true,
["Set justify for each window."] = true,
["Chat%dJustify"] = true,
["Sets justification for chat window %d."] = true,
["Toggle"] = true,
["Toggle the module on and off."] = true,
} end)
L:RegisterTranslations("ruRU", function() return {
["Justify"] = "Justify",
["Chat window justification options."] = "Опции выравнивания окна чата.",
["Set"] = "Установить",
["Set justify for each window."] = "Установить выравнивание для каждого окна.",
["Chat%dJustify"] = "ВыравниваниеЧата%d",
["Sets justification for chat window %d."] = "Установлено выравнивание окна чата %d.",
["Toggle"] = "Вкл/Выкл",
["Toggle the module on and off."] = "Вкл/Выкл модуль.",
} end)
L:RegisterTranslations("zhCN", function() return {
["Justify"] = "对齐",
["Chat window justification options."] = "聊天窗口对齐模式.",
["Set"] = "设置",
["Set justify for each window."] = "为每一个聊天窗口设置对齐模式.",
["Chat%dJustify"] = "窗口%d对齐",
["Sets justification for chat window %d."] = "设置聊天窗口%d对齐模式.",
["Toggle"] = "切换",
["Toggle the module on and off."] = "切换此模块的打开与关闭。",
} end)
L:RegisterTranslations("koKR", function() return {
["Justify"] = "정렬",
["Chat window justification options."] = "대화창 정렬 설정",
["Set"] = "설정",
["Set justify for each window."] = "각 창에 대한 정렬 설정",
["Chat%dJustify"] = "대화창%d 정렬",
["Sets justification for chat window %d."] = "대화창 %d에 대한 정렬을 설정합니다.",
["Toggle"] = "전환",
["Toggle the module on and off."] = "모듈 켜고 끄기 전환",
} end)
Prat_Justify = Prat:NewModule("justify")
function Prat_Justify:OnInitialize()
self.db = Prat:AcquireDBNamespace("Justify")
Prat:RegisterDefaults("Justify", "profile", {
on = true,
justification = {"LEFT", "LEFT", "LEFT", "LEFT", "LEFT", "LEFT", "LEFT"}
})
Prat.Options.args.justify = {
name = L["Justify"],
desc = L["Chat window justification options."],
type = "group",
args = {
set = {
name = L["Set"],
desc = L["Set justify for each window."],
type = "group",
order = 150,
args = {
chat1 = {
name = string.format(L["Chat%dJustify"], 1),
desc = string.format(L["Sets justification for chat window %d."], 1),
type = "text",
get = function() return self.db.profile.justification[1] end,
set = function(v) self.db.profile.justification[1] = v; self:SetJustify(1,v) end,
validate = {["LEFT"] = "Left", ["RIGHT"] = "Right", ["CENTER"] = "Center"}
},
chat2 = {
name = string.format(L["Chat%dJustify"], 2),
desc = string.format(L["Sets justification for chat window %d."], 2),
type = "text",
get = function() return self.db.profile.justification[2] end,
set = function(v) self.db.profile.justification[2] = v; self:SetJustify(2,v) end,
validate = {["LEFT"] = "Left", ["RIGHT"] = "Right", ["CENTER"] = "Center"}
},
chat3 = {
name = string.format(L["Chat%dJustify"], 3),
desc = string.format(L["Sets justification for chat window %d."], 3),
type = "text",
get = function() return self.db.profile.justification[3] end,
set = function(v) self.db.profile.justification[3] = v; self:SetJustify(3,v) end,
validate = {["LEFT"] = "Left", ["RIGHT"] = "Right", ["CENTER"] = "Center"}
},
chat4 = {
name = string.format(L["Chat%dJustify"], 4),
desc = string.format(L["Sets justification for chat window %d."], 4),
type = "text",
get = function() return self.db.profile.justification[4] end,
set = function(v) self.db.profile.justification[4] = v; self:SetJustify(4,v) end,
validate = {["LEFT"] = "Left", ["RIGHT"] = "Right", ["CENTER"] = "Center"}
},
chat5 = {
name = string.format(L["Chat%dJustify"], 5),
desc = string.format(L["Sets justification for chat window %d."], 5),
type = "text",
get = function() return self.db.profile.justification[5] end,
set = function(v) self.db.profile.justification[5] = v; self:SetJustify(5,v) end,
validate = {["LEFT"] = "Left", ["RIGHT"] = "Right", ["CENTER"] = "Center"}
},
chat6 = {
name = string.format(L["Chat%dJustify"], 6),
desc = string.format(L["Sets justification for chat window %d."], 6),
type = "text",
get = function() return self.db.profile.justification[6] end,
set = function(v) self.db.profile.justification[6] = v; self:SetJustify(6,v) end,
validate = {["LEFT"] = "Left", ["RIGHT"] = "Right", ["CENTER"] = "Center"}
},
chat7 = {
name = string.format(L["Chat%dJustify"], 7),
desc = string.format(L["Sets justification for chat window %d."], 7),
type = "text",
get = function() return self.db.profile.justification[7] end,
set = function(v) self.db.profile.justification[7] = v; self:SetJustify(7,v) end,
validate = {["LEFT"] = "Left", ["RIGHT"] = "Right", ["CENTER"] = "Center"}
}
}
},
toggle = {
name = L["Toggle"],
desc = L["Toggle the module on and off."],
type = "toggle",
order = 200,
get = function() return self.db.profile.on end,
set = function() self.db.profile.on = Prat:ToggleModuleActive("justify") end
}
}
}
end
function Prat_Justify:OnEnable()
for i=1,NUM_CHAT_WINDOWS do
self:SetJustify(i,self.db.profile.justification[i])
end
end
function Prat_Justify:OnDisable()
for i=1,NUM_CHAT_WINDOWS do
self:SetJustify(i,"LEFT")
end
end
function Prat_Justify:SetJustify(id, justification)
local cf = getglobal("ChatFrame"..id)
cf:SetJustifyH(justification)
end