local SLE , T , E , L , V , P , G = unpack ( select ( 2 , ... ) )
local LP = SLE.LocationPanel
local DEFAULT , CUSTOM , CLASS = DEFAULT , CUSTOM , CLASS
-- GLOBALS: AceGUIWidgetLSMlists
local ceil = ceil
local function configTable ( )
if not SLE.initialized then return end
-- E.Options.args.sle.args.modules.args.minimap = {
-- type = "group",
-- name = MINIMAP_LABEL,
-- order = 1,
-- childGroups = 'tab',
-- args = {
-- header = ACH:Header(L["Minimap Options"], 1),
-- desc = ACH:Description(L["MINIMAP_DESC"], 2),
local screenWidth = ceil ( E.screenWidth )
E.Options . args.sle . args.modules . args.locPanel = {
type = " group " ,
name = L [ " Location Panel " ] ,
order = 1 ,
childGroups = ' tab ' ,
get = function ( info ) return E.db . sle.minimap . locPanel [ info [ # info ] ] end ,
args = {
enable = {
type = " toggle " ,
name = L [ " Enable " ] ,
order = 1 ,
set = function ( info , value ) E.db . sle.minimap . locPanel [ info [ # info ] ] = value ; LP : Toggle ( ) end ,
} ,
linkcoords = {
type = " toggle " ,
name = L [ " Link Position " ] ,
desc = L [ " Allow pasting of your coordinates in chat editbox via holding shift and clicking on the location name. " ] ,
order = 2 ,
set = function ( info , value ) E.db . sle.minimap . locPanel [ info [ # info ] ] = value end ,
} ,
template = {
order = 3 ,
name = L [ " Template " ] ,
type = " select " ,
disabled = function ( ) return not E.db . sle.minimap . locPanel.enable end ,
set = function ( info , value ) E.db . sle.minimap . locPanel [ info [ # info ] ] = value ; LP : Template ( ) end ,
values = {
[ " Default " ] = DEFAULT ,
[ " Transparent " ] = L [ " Transparent " ] ,
[ " NoBackdrop " ] = L [ " NoBackdrop " ] ,
} ,
} ,
autowidth = {
type = " toggle " ,
name = L [ " Automatic Width " ] ,
desc = L [ " Change width based on the zone name length. " ] ,
order = 4 ,
set = function ( info , value ) E.db . sle.minimap . locPanel [ info [ # info ] ] = value ; LP : Resize ( ) end ,
} ,
width = {
order = 5 ,
type = ' range ' ,
name = L [ " Width " ] ,
min = 100 , max = screenWidth / 2 , step = 1 ,
disabled = function ( ) return not E.db . sle.minimap . locPanel.enable or E.db . sle.minimap . locPanel.autowidth end ,
set = function ( info , value ) E.db . sle.minimap . locPanel [ info [ # info ] ] = value ; LP : Resize ( ) end ,
} ,
height = {
order = 6 ,
type = ' range ' ,
name = L [ " Height " ] ,
min = 10 , max = 50 , step = 1 ,
disabled = function ( ) return not E.db . sle.minimap . locPanel.enable end ,
set = function ( info , value ) E.db . sle.minimap . locPanel [ info [ # info ] ] = value ; LP : Resize ( ) end ,
} ,
throttle = {
order = 7 ,
type = ' range ' ,
name = L [ " Update Throttle " ] ,
desc = L [ " The frequency of coordinates and zonetext updates. Check will be done more often with lower values. " ] ,
min = 0.1 , max = 2 , step = 0.1 ,
disabled = function ( ) return not E.db . sle.minimap . locPanel.enable end ,
set = function ( info , value ) E.db . sle.minimap . locPanel [ info [ # info ] ] = value end ,
} ,
combathide = {
order = 8 ,
type = " toggle " ,
name = L [ " Hide In Combat " ] ,
set = function ( info , value ) E.db . sle.minimap . locPanel [ info [ # info ] ] = value end ,
} ,
orderhallhide = {
order = 9 ,
type = " toggle " ,
name = L [ " Hide In Class Hall " ] ,
set = function ( info , value ) E.db . sle.minimap . locPanel [ info [ # info ] ] = value ; LP : Toggle ( ) end ,
} ,
location = {
order = 20 ,
type = " group " ,
name = L [ " Location " ] ,
guiInline = true ,
args = {
zoneText = {
type = " toggle " ,
name = L [ " Full Location " ] ,
order = 1 ,
disabled = function ( ) return not E.db . sle.minimap . locPanel.enable end ,
set = function ( info , value ) E.db . sle.minimap . locPanel [ info [ # info ] ] = value end ,
} ,
colorType = {
order = 2 ,
name = L [ " Color Type " ] ,
type = " select " ,
disabled = function ( ) return not E.db . sle.minimap . locPanel.enable end ,
set = function ( info , value ) E.db . sle.minimap . locPanel [ info [ # info ] ] = value end ,
values = {
[ " REACTION " ] = L [ " Reaction " ] ,
[ " DEFAULT " ] = DEFAULT ,
[ " CLASS " ] = CLASS ,
[ " CUSTOM " ] = CUSTOM ,
} ,
} ,
customColor = {
type = ' color ' ,
order = 3 ,
name = L [ " Custom Color " ] ,
disabled = function ( ) return not E.db . sle.minimap . locPanel.enable or E.db . sle.minimap . locPanel.colorType ~= " CUSTOM " end ,
get = function ( info )
local t = E.db . sle.minimap . locPanel [ info [ # info ] ]
local d = P.sle . minimap.locPanel [ info [ # info ] ]
return t.r , t.g , t.b , d.r , d.g , d.b
end ,
set = function ( info , r , g , b )
E.db . sle.minimap . locPanel [ info [ # info ] ] = { }
local t = E.db . sle.minimap . locPanel [ info [ # info ] ]
t.r , t.g , t.b = r , g , b
end ,
} ,
} ,
} ,
coordinates = {
order = 21 ,
type = " group " ,
name = L [ " Coordinates " ] ,
guiInline = true ,
args = {
format = {
order = 1 ,
name = L [ " Format " ] ,
type = " select " ,
disabled = function ( ) return not E.db . sle.minimap . locPanel.enable end ,
set = function ( info , value ) E.db . sle.minimap . locPanel [ info [ # info ] ] = value end ,
values = {
[ " %.0f " ] = DEFAULT ,
[ " %.1f " ] = " 45.3 " ,
[ " %.2f " ] = " 45.34 " ,
} ,
} ,
colorType_Coords = {
order = 2 ,
name = L [ " Color Type " ] ,
type = " select " ,
disabled = function ( ) return not E.db . sle.minimap . locPanel.enable end ,
set = function ( info , value ) E.db . sle.minimap . locPanel [ info [ # info ] ] = value end ,
values = {
[ " REACTION " ] = L [ " Reaction " ] ,
[ " DEFAULT " ] = DEFAULT ,
[ " CLASS " ] = CLASS ,
[ " CUSTOM " ] = CUSTOM ,
} ,
} ,
customColor_Coords = {
type = ' color ' ,
order = 3 ,
name = L [ " Custom Color " ] ,
disabled = function ( ) return not E.db . sle.minimap . locPanel.enable or E.db . sle.minimap . locPanel.colorType_Coords ~= " CUSTOM " end ,
get = function ( info )
local t = E.db . sle.minimap . locPanel [ info [ # info ] ]
local d = P.sle . minimap.locPanel [ info [ # info ] ]
return t.r , t.g , t.b , d.r , d.g , d.b
end ,
set = function ( info , r , g , b )
E.db . sle.minimap . locPanel [ info [ # info ] ] = { }
local t = E.db . sle.minimap . locPanel [ info [ # info ] ]
t.r , t.g , t.b = r , g , b
end ,
} ,
} ,
} ,
portals = {
order = 22 ,
type = " group " ,
name = L [ " Relocation Menu " ] ,
guiInline = true ,
disabled = function ( ) return not E.db . sle.minimap . locPanel.enable end ,
get = function ( info ) return E.db . sle.minimap . locPanel.portals [ info [ # info ] ] end ,
set = function ( info , value ) E.db . sle.minimap . locPanel.portals [ info [ # info ] ] = value end ,
args = {
enable = {
type = " toggle " ,
name = L [ " Enable " ] ,
desc = L [ " Right click on the location panel will bring up a menu with available options for relocating your character (e.g. Hearthstones, Portals, etc). " ] ,
order = 1 ,
} ,
customWidth = {
type = " toggle " ,
name = L [ " Custom Width " ] ,
desc = L [ " By default menu's width will be equal to the location panel width. Checking this option will allow you to set own width. " ] ,
order = 2 ,
} ,
customWidthValue = {
order = 3 ,
name = L [ " Width " ] ,
type = " range " ,
min = 100 , max = screenWidth , step = 1 ,
disabled = function ( ) return not E.db . sle.minimap . locPanel.portals . customWidth or not E.db . sle.minimap . locPanel.enable end ,
} ,
justify = {
order = 4 ,
name = L [ " Justify Text " ] ,
type = " select " ,
values = {
[ " LEFT " ] = L [ " Left " ] ,
[ " CENTER " ] = L [ " Middle " ] ,
[ " RIGHT " ] = L [ " Right " ] ,
} ,
} ,
cdFormat = {
order = 5 ,
name = L [ " CD format " ] ,
type = " select " ,
values = {
[ " DEFAULT " ] = [[(10m |TInterface\FriendsFrame\StatusIcon-Away:16|t)]] ,
[ " DEFAULT_ICONFIRST " ] = [[( |TInterface\FriendsFrame\StatusIcon-Away:16|t10m)]] ,
} ,
} ,
HSplace = {
type = " toggle " ,
order = 10 ,
name = L [ " Hearthstone Location " ] ,
desc = L [ " Show the name on location your Heathstone is bound to. " ] ,
} ,
showHearthstones = {
type = " toggle " ,
order = 11 ,
name = L [ " Show hearthstones " ] ,
desc = L [ " Show hearthstone type items in the list. " ] ,
} ,
hsProprity = SLE : CreateMovableButtons ( 22 , L [ " HS Toys Order " ] , false , E.db . sle.minimap . locPanel.portals , " hsPrio " ) ,
showToys = {
type = " toggle " ,
order = 20 ,
name = L [ " Show Toys " ] ,
desc = L [ " Show toys in the list. This option will affect all other display options as well. " ] ,
} ,
showSpells = {
type = " toggle " ,
order = 30 ,
name = L [ " Show spells " ] ,
desc = L [ " Show relocation spells in the list. " ] ,
} ,
showEngineer = {
type = " toggle " ,
order = 40 ,
name = L [ " Show engineer gadgets " ] ,
desc = L [ " Show items used only by engineers when the profession is learned. " ] ,
} ,
ignoreMissingInfo = {
type = " toggle " ,
order = 100 ,
name = L [ " Ignore missing info " ] ,
desc = L [ " SLE_LOCPANEL_IGNOREMISSINGINFO " ] ,
} ,
} ,
} ,
fontGroup = {
order = 23 ,
type = " group " ,
name = L [ " Fonts " ] ,
guiInline = true ,
disabled = function ( ) return not E.db . sle.minimap . locPanel.enable end ,
get = function ( info ) return E.db . sle.minimap . locPanel [ info [ # info ] ] end ,
set = function ( info , value ) E.db . sle.minimap . locPanel [ info [ # info ] ] = value ; LP : Fonts ( ) end ,
args = {
font = {
type = " select " , dialogControl = ' LSM30_Font ' ,
order = 1 ,
name = L [ " Font " ] ,
values = AceGUIWidgetLSMlists.font ,
} ,
fontSize = {
order = 2 ,
name = L [ " Font Size " ] ,
type = " range " ,
min = 6 , max = 22 , step = 1 ,
set = function ( info , value ) E.db . sle.minimap . locPanel [ info [ # info ] ] = value ; LP : Fonts ( ) ; LP : Resize ( ) end ,
} ,
fontOutline = {
order = 3 ,
name = L [ " Font Outline " ] ,
type = " select " ,
values = {
[ " NONE " ] = L [ " None " ] ,
[ " OUTLINE " ] = ' OUTLINE ' ,
[ " MONOCHROMEOUTLINE " ] = ' MONOCROMEOUTLINE ' ,
[ " THICKOUTLINE " ] = ' THICKOUTLINE ' ,
} ,
} ,
} ,
} ,
} ,
}
end
tinsert ( SLE.Configs , configTable )