df7cc26a64
Fix remaining lua errors covered by ascension patches Add Addon Skins Add Enhanced Friends List
381 lines
10 KiB
Lua
381 lines
10 KiB
Lua
local E, L, V, P, G = unpack(ElvUI)
|
|
local EFL = E:GetModule("EnhancedFriendsList")
|
|
|
|
local function ColorizeSettingName(settingName)
|
|
return format("|cff1784d1%s|r", settingName)
|
|
end
|
|
|
|
function EFL:InsertOptions()
|
|
E.Options.args.enhanceFriendsList = {
|
|
order = 54,
|
|
type = "group",
|
|
childGroups = "tab",
|
|
name = ColorizeSettingName(L["Enhanced Friends List"]),
|
|
args = {
|
|
header = {
|
|
order = 1,
|
|
type = "header",
|
|
name = L["Enhanced Friends List"]
|
|
},
|
|
general = {
|
|
order = 2,
|
|
type = "group",
|
|
name = L["General"],
|
|
get = function(info) return E.db.enhanceFriendsList[ info[#info] ] end,
|
|
set = function(info, value) E.db.enhanceFriendsList[ info[#info] ] = value; EFL:Update(); FriendsList_Update(); FriendsFrameStatusDropDown_Update() end,
|
|
args = {
|
|
header = {
|
|
order = 0,
|
|
type = "header",
|
|
name = L["General"],
|
|
},
|
|
showBackground = {
|
|
order = 1,
|
|
type = "toggle",
|
|
name = L["Show Background"]
|
|
},
|
|
showStatusIcon = {
|
|
order = 2,
|
|
type = "toggle",
|
|
name = L["Show Status Icon"]
|
|
},
|
|
statusIcons = {
|
|
order = 3,
|
|
type = "select",
|
|
name = L["Status Icons Textures"],
|
|
values = {
|
|
["Default"] = L["Default"],
|
|
["Square"] = "Square",
|
|
["D3"] = "Diablo 3"
|
|
}
|
|
},
|
|
nameFont = {
|
|
order = 4,
|
|
type = "group",
|
|
name = L["Name Font"],
|
|
guiInline = true,
|
|
get = function(info) return E.db.enhanceFriendsList[ info[#info] ] end,
|
|
set = function(info, value) E.db.enhanceFriendsList[ info[#info] ] = value; EFL:Update(); FriendsList_Update() end,
|
|
args = {
|
|
nameFont = {
|
|
order = 1,
|
|
type = "select", dialogControl = "LSM30_Font",
|
|
name = L["Font"],
|
|
values = AceGUIWidgetLSMlists.font
|
|
},
|
|
nameFontSize = {
|
|
order = 2,
|
|
type = "range",
|
|
name = FONT_SIZE,
|
|
min = 6, max = 22, step = 1
|
|
},
|
|
nameFontOutline = {
|
|
order = 3,
|
|
type = "select",
|
|
name = L["Font Outline"],
|
|
desc = L["Set the font outline."],
|
|
values = {
|
|
["NONE"] = NONE,
|
|
["OUTLINE"] = "OUTLINE",
|
|
["MONOCHROMEOUTLINE"] = "MONOCROMEOUTLINE",
|
|
["THICKOUTLINE"] = "THICKOUTLINE"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
zoneFont = {
|
|
order = 5,
|
|
type = "group",
|
|
name = L["Zone Font"],
|
|
guiInline = true,
|
|
get = function(info) return E.db.enhanceFriendsList[ info[#info] ] end,
|
|
set = function(info, value) E.db.enhanceFriendsList[ info[#info] ] = value; EFL:Update(); FriendsList_Update() end,
|
|
args = {
|
|
zoneFont = {
|
|
order = 1,
|
|
type = "select", dialogControl = "LSM30_Font",
|
|
name = L["Font"],
|
|
values = AceGUIWidgetLSMlists.font
|
|
},
|
|
zoneFontSize = {
|
|
order = 2,
|
|
type = "range",
|
|
name = FONT_SIZE,
|
|
min = 6, max = 22, step = 1
|
|
},
|
|
zoneFontOutline = {
|
|
order = 3,
|
|
type = "select",
|
|
name = L["Font Outline"],
|
|
desc = L["Set the font outline."],
|
|
values = {
|
|
["NONE"] = NONE,
|
|
["OUTLINE"] = "OUTLINE",
|
|
["MONOCHROMEOUTLINE"] = "MONOCROMEOUTLINE",
|
|
["THICKOUTLINE"] = "THICKOUTLINE"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
Online = {
|
|
order = 3,
|
|
type = "group",
|
|
name = L["Online Friends"],
|
|
get = function(info) return E.db.enhanceFriendsList.Online[ info[#info] ] end,
|
|
set = function(info, value) E.db.enhanceFriendsList.Online[ info[#info] ] = value; EFL:Update(); FriendsList_Update() end,
|
|
args = {
|
|
header = {
|
|
order = 0,
|
|
type = "header",
|
|
name = L["Online Friends"]
|
|
},
|
|
name = {
|
|
order = 1,
|
|
type = "group",
|
|
name = NAME,
|
|
guiInline = true,
|
|
args = {
|
|
enhancedName = {
|
|
order = 1,
|
|
type = "toggle",
|
|
name = L["Enhanced Name"]
|
|
},
|
|
colorizeNameOnly = {
|
|
order = 2,
|
|
type = "toggle",
|
|
name = L["Colorize Name Only"],
|
|
disabled = function() return not E.db.enhanceFriendsList.Online.enhancedName end
|
|
}
|
|
}
|
|
},
|
|
level = {
|
|
order = 2,
|
|
type = "group",
|
|
name = LEVEL,
|
|
guiInline = true,
|
|
args = {
|
|
level = {
|
|
order = 1,
|
|
type = "toggle",
|
|
name = L["Show"]
|
|
},
|
|
levelColor = {
|
|
order = 2,
|
|
type = "toggle",
|
|
name = L["Level Range Color"],
|
|
disabled = function() return not E.db.enhanceFriendsList.Online.level end
|
|
},
|
|
levelText = {
|
|
order = 3,
|
|
type = "toggle",
|
|
name = L["Level Text"],
|
|
disabled = function() return not E.db.enhanceFriendsList.Online.level end
|
|
},
|
|
shortLevel = {
|
|
order = 4,
|
|
type = "toggle",
|
|
name = L["Short Level"],
|
|
disabled = function() return not E.db.enhanceFriendsList.Online.level or not E.db.enhanceFriendsList.Online.levelText end
|
|
}
|
|
}
|
|
},
|
|
class = {
|
|
order = 3,
|
|
type = "group",
|
|
name = CLASS,
|
|
guiInline = true,
|
|
args = {
|
|
classText = {
|
|
order = 1,
|
|
type = "toggle",
|
|
name = L["Class Text"]
|
|
},
|
|
classIcon = {
|
|
order = 2,
|
|
type = "toggle",
|
|
name = L["Class Icon"]
|
|
},
|
|
classIconStatusColor = {
|
|
order = 3,
|
|
type = "toggle",
|
|
name = L["Class Icon Status Color"],
|
|
disabled = function() return not E.db.enhanceFriendsList.Online.classIcon end
|
|
}
|
|
}
|
|
},
|
|
zone = {
|
|
order = 4,
|
|
type = "group",
|
|
name = ZONE,
|
|
guiInline = true,
|
|
args = {
|
|
zoneText = {
|
|
order = 1,
|
|
type = "toggle",
|
|
name = L["Zone Text"]
|
|
},
|
|
spacer = {
|
|
order = 2,
|
|
type = "description",
|
|
name = ""
|
|
},
|
|
enhancedZone = {
|
|
order = 3,
|
|
type = "toggle",
|
|
name = L["Enhanced Zone"],
|
|
disabled = function() return not E.db.enhanceFriendsList.Online.zoneText end
|
|
},
|
|
enhancedZoneColor = {
|
|
order = 4,
|
|
type = "color",
|
|
name = L["Enhanced Zone Color"],
|
|
get = function(info)
|
|
local t = E.db.enhanceFriendsList.Online.enhancedZoneColor
|
|
local d = P.enhanceFriendsList.Online.enhancedZoneColor
|
|
return t.r, t.g, t.b, t.a, d.r, d.g, d.b
|
|
end,
|
|
set = function(info, r, g, b)
|
|
local t = E.db.enhanceFriendsList.Online.enhancedZoneColor
|
|
t.r, t.g, t.b = r, g, b
|
|
FriendsList_Update()
|
|
end,
|
|
disabled = function() return not E.db.enhanceFriendsList.Online.zoneText or not E.db.enhanceFriendsList.Online.enhancedZone end
|
|
},
|
|
spacer2 = {
|
|
order = 5,
|
|
type = "description",
|
|
name = "",
|
|
},
|
|
sameZone = {
|
|
order = 6,
|
|
type = "toggle",
|
|
name = L["Same Zone"],
|
|
desc = L["Friends that are in the same area as you, have their zone info colorized green."],
|
|
disabled = function() return not E.db.enhanceFriendsList.Online.zoneText end
|
|
},
|
|
sameZoneColor = {
|
|
order = 7,
|
|
type = "color",
|
|
name = L["Same Zone Color"],
|
|
get = function(info)
|
|
local t = E.db.enhanceFriendsList.Online.sameZoneColor
|
|
local d = P.enhanceFriendsList.Online.sameZoneColor
|
|
return t.r, t.g, t.b, t.a, d.r, d.g, d.b
|
|
end,
|
|
set = function(info, r, g, b)
|
|
local t = E.db.enhanceFriendsList.Online.sameZoneColor
|
|
t.r, t.g, t.b = r, g, b
|
|
FriendsList_Update()
|
|
end,
|
|
disabled = function() return not E.db.enhanceFriendsList.Online.zoneText or not E.db.enhanceFriendsList.Online.sameZone end
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
Offline = {
|
|
order = 4,
|
|
type = "group",
|
|
name = L["Offline Friends"],
|
|
get = function(info) return E.db.enhanceFriendsList.Offline[ info[#info] ] end,
|
|
set = function(info, value) E.db.enhanceFriendsList.Offline[ info[#info] ] = value; EFL:Update(); FriendsList_Update() end,
|
|
args = {
|
|
header = {
|
|
order = 0,
|
|
type = "header",
|
|
name = L["Offline Friends"]
|
|
},
|
|
name = {
|
|
order = 1,
|
|
type = "group",
|
|
name = NAME,
|
|
guiInline = true,
|
|
args = {
|
|
enhancedName = {
|
|
order = 1,
|
|
type = "toggle",
|
|
name = L["Enhanced Name"]
|
|
},
|
|
colorizeNameOnly = {
|
|
order = 2,
|
|
type = "toggle",
|
|
name = L["Colorize Name Only"],
|
|
disabled = function() return not E.db.enhanceFriendsList.Offline.enhancedName end
|
|
}
|
|
}
|
|
},
|
|
level = {
|
|
order = 2,
|
|
type = "group",
|
|
name = LEVEL,
|
|
guiInline = true,
|
|
args = {
|
|
level = {
|
|
order = 1,
|
|
type = "toggle",
|
|
name = L["Show"]
|
|
},
|
|
levelColor = {
|
|
order = 2,
|
|
type = "toggle",
|
|
name = L["Level Range Color"],
|
|
disabled = function() return not E.db.enhanceFriendsList.Offline.level end
|
|
},
|
|
levelText = {
|
|
order = 3,
|
|
type = "toggle",
|
|
name = L["Level Text"],
|
|
desc = L["Hides the 'Level' or 'L' text."],
|
|
disabled = function() return not E.db.enhanceFriendsList.Offline.level end
|
|
},
|
|
shortLevel = {
|
|
order = 4,
|
|
type = "toggle",
|
|
name = L["Short Level"],
|
|
disabled = function() return not E.db.enhanceFriendsList.Offline.level or not E.db.enhanceFriendsList.Offline.levelText end
|
|
}
|
|
}
|
|
},
|
|
class = {
|
|
order = 3,
|
|
type = "group",
|
|
name = CLASS,
|
|
guiInline = true,
|
|
args = {
|
|
classText = {
|
|
order = 1,
|
|
type = "toggle",
|
|
name = L["Class Text"]
|
|
},
|
|
classIcon = {
|
|
order = 2,
|
|
type = "toggle",
|
|
name = L["Class Icon"]
|
|
}
|
|
}
|
|
},
|
|
zone = {
|
|
order = 4,
|
|
type = "group",
|
|
name = ZONE,
|
|
guiInline = true,
|
|
args = {
|
|
zoneText = {
|
|
order = 1,
|
|
type = "toggle",
|
|
name = L["Zone Text"]
|
|
},
|
|
lastSeen = {
|
|
order = 2,
|
|
type = "toggle",
|
|
name = L["Last Seen"]
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
end |