mirror of
https://github.com/Bluewhale1337/ElvUIModernized.git
synced 2026-07-27 08:24:44 +00:00
416 lines
12 KiB
Lua
416 lines
12 KiB
Lua
local E, L, V, P, G = unpack(ElvUI);
|
|
local B = E:GetModule("Bags");
|
|
|
|
E.Options.args.bags = {
|
|
type = "group",
|
|
name = L["Bags"],
|
|
childGroups = "tab",
|
|
get = function(info) return E.db.bags[ info[getn(info)] ]; end,
|
|
set = function(info, value) E.db.bags[ info[getn(info)] ] = value; end,
|
|
args = {
|
|
intro = {
|
|
order = 1,
|
|
type = "description",
|
|
name = L["BAGS_DESC"]
|
|
},
|
|
enable = {
|
|
order = 2,
|
|
type = "toggle",
|
|
name = L["Enable"],
|
|
desc = L["Enable/Disable the all-in-one bag."],
|
|
get = function(info) return E.private.bags.enable; end,
|
|
set = function(info, value) E.private.bags.enable = value; E:StaticPopup_Show("PRIVATE_RL"); end
|
|
},
|
|
general = {
|
|
order = 3,
|
|
type = "group",
|
|
name = L["General"],
|
|
disabled = function() return not E.bags; end,
|
|
args = {
|
|
header = {
|
|
order = 0,
|
|
type = "header",
|
|
name = L["General"]
|
|
},
|
|
moneyFormat = {
|
|
order = 1,
|
|
type = "select",
|
|
name = L["Money Format"],
|
|
desc = L["The display format of the money text that is shown at the top of the main bag."],
|
|
values = {
|
|
["SMART"] = L["Smart"],
|
|
["FULL"] = L["Full"],
|
|
["SHORT"] = L["Short"],
|
|
["SHORTINT"] = L["Short (Whole Numbers)"],
|
|
["CONDENSED"] = L["Condensed"],
|
|
["BLIZZARD"] = L["Blizzard Style"]
|
|
},
|
|
set = function(info, value) E.db.bags[ info[getn(info)] ] = value; B:UpdateGoldText(); end
|
|
},
|
|
clearSearchOnClose = {
|
|
order = 2,
|
|
type = "toggle",
|
|
name = L["Clear Search On Close"],
|
|
set = function(info, value) E.db.bags[info[getn(info)]] = value; end
|
|
},
|
|
disableBagSort = {
|
|
order = 3,
|
|
type = "toggle",
|
|
name = L["Disable Bag Sort"],
|
|
set = function(info, value) E.db.bags[info[getn(info)]] = value; B:ToggleSortButtonState(false); end
|
|
},
|
|
disableBankSort = {
|
|
order = 4,
|
|
type = "toggle",
|
|
name = L["Disable Bank Sort"],
|
|
set = function(info, value) E.db.bags[info[getn(info)]] = value; B:ToggleSortButtonState(true); end
|
|
},
|
|
countGroup = {
|
|
order = 5,
|
|
type = "group",
|
|
name = L["Item Count Font"],
|
|
guiInline = true,
|
|
args = {
|
|
countFont = {
|
|
order = 1,
|
|
type = "select",
|
|
dialogControl = "LSM30_Font",
|
|
name = L["Font"],
|
|
values = AceGUIWidgetLSMlists.font,
|
|
set = function(info, value) E.db.bags.countFont = value; B:UpdateCountDisplay(); end
|
|
},
|
|
countFontSize = {
|
|
order = 2,
|
|
type = "range",
|
|
name = L["Font Size"],
|
|
min = 4, max = 22, step = 1,
|
|
set = function(info, value) E.db.bags.countFontSize = value; B:UpdateCountDisplay(); end
|
|
},
|
|
countFontOutline = {
|
|
order = 3,
|
|
type = "select",
|
|
name = L["Font Outline"],
|
|
set = function(info, value) E.db.bags.countFontOutline = value; B:UpdateCountDisplay(); end,
|
|
values = {
|
|
["NONE"] = NONE,
|
|
["OUTLINE"] = "OUTLINE",
|
|
["MONOCHROMEOUTLINE"] = "MONOCROMEOUTLINE",
|
|
["THICKOUTLINE"] = "THICKOUTLINE"
|
|
}
|
|
},
|
|
countFontColor = {
|
|
order = 4,
|
|
type = "color",
|
|
name = L["Color"],
|
|
get = function(info)
|
|
local t = E.db.bags[ info[getn(info)] ];
|
|
local d = P.bags[info[getn(info)]];
|
|
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.bags[ info[getn(info)] ];
|
|
t.r, t.g, t.b = r, g, b;
|
|
B:UpdateCountDisplay();
|
|
end
|
|
}
|
|
}
|
|
},
|
|
itemLevelGroup = {
|
|
order = 6,
|
|
type = "group",
|
|
name = L["Item Level"],
|
|
guiInline = true,
|
|
args = {
|
|
itemLevel = {
|
|
order = 1,
|
|
type = "toggle",
|
|
name = L["Display Item Level"],
|
|
desc = L["Displays item level on equippable items."],
|
|
set = function(info, value) E.db.bags.itemLevel = value; B:UpdateItemLevelDisplay(); end
|
|
},
|
|
itemLevelThreshold = {
|
|
order = 2,
|
|
name = L["Item Level Threshold"],
|
|
desc = L["The minimum item level required for it to be shown."],
|
|
type = "range",
|
|
min = 1, max = 1000, step = 1,
|
|
disabled = function() return not E.db.bags.itemLevel; end,
|
|
set = function(info, value) E.db.bags.itemLevelThreshold = value; B:UpdateItemLevelDisplay(); end
|
|
},
|
|
spacer = {
|
|
order = 3,
|
|
type = "description",
|
|
name = " "
|
|
},
|
|
itemLevelFont = {
|
|
order = 4,
|
|
type = "select",
|
|
dialogControl = "LSM30_Font",
|
|
name = L["Font"],
|
|
values = AceGUIWidgetLSMlists.font,
|
|
disabled = function() return not E.db.bags.itemLevel; end,
|
|
set = function(info, value) E.db.bags.itemLevelFont = value; B:UpdateItemLevelDisplay(); end
|
|
},
|
|
itemLevelFontSize = {
|
|
order = 5,
|
|
type = "range",
|
|
name = L["Font Size"],
|
|
min = 6, max = 33, step = 1,
|
|
disabled = function() return not E.db.bags.itemLevel; end,
|
|
set = function(info, value) E.db.bags.itemLevelFontSize = value; B:UpdateItemLevelDisplay(); end
|
|
},
|
|
itemLevelFontOutline = {
|
|
order = 6,
|
|
type = "select",
|
|
name = L["Font Outline"],
|
|
disabled = function() return not E.db.bags.itemLevel end,
|
|
set = function(info, value) E.db.bags.itemLevelFontOutline = value; B:UpdateItemLevelDisplay() end,
|
|
values = {
|
|
["NONE"] = NONE,
|
|
["OUTLINE"] = "OUTLINE",
|
|
["MONOCHROMEOUTLINE"] = "MONOCROMEOUTLINE",
|
|
["THICKOUTLINE"] = "THICKOUTLINE"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
sizeGroup = {
|
|
order = 4,
|
|
type = "group",
|
|
name = L["Size"],
|
|
disabled = function() return not E.bags; end,
|
|
args = {
|
|
header = {
|
|
order = 0,
|
|
type = "header",
|
|
name = L["Size and Positions"]
|
|
},
|
|
bagSize = {
|
|
order = 1,
|
|
type = "range",
|
|
name = L["Button Size (Bag)"],
|
|
desc = L["The size of the individual buttons on the bag frame."],
|
|
min = 15, max = 45, step = 1,
|
|
set = function(info, value) E.db.bags[ info[getn(info)] ] = value; B:Layout(); end
|
|
},
|
|
bankSize = {
|
|
order = 2,
|
|
type = "range",
|
|
name = L["Button Size (Bank)"],
|
|
desc = L["The size of the individual buttons on the bank frame."],
|
|
min = 15, max = 45, step = 1,
|
|
set = function(info, value) E.db.bags[ info[getn(info)] ] = value; B:Layout(true); end
|
|
},
|
|
spacer = {
|
|
order = 3,
|
|
type = "description",
|
|
name = " "
|
|
},
|
|
bagWidth = {
|
|
order = 4,
|
|
type = "range",
|
|
name = L["Panel Width (Bags)"],
|
|
desc = L["Adjust the width of the bag frame."],
|
|
min = 150, max = 1400, step = 1,
|
|
set = function(info, value) E.db.bags[ info[getn(info)] ] = value; B:Layout(); end
|
|
},
|
|
bankWidth = {
|
|
order = 5,
|
|
type = "range",
|
|
name = L["Panel Width (Bank)"],
|
|
desc = L["Adjust the width of the bank frame."],
|
|
min = 150, max = 1400, step = 1,
|
|
set = function(info, value) E.db.bags[ info[getn(info)] ] = value; B:Layout(true); end
|
|
}
|
|
}
|
|
},
|
|
bagBar = {
|
|
order = 5,
|
|
type = "group",
|
|
name = L["Bag-Bar"],
|
|
get = function(info) return E.db.bags.bagBar[ info[getn(info)] ]; end,
|
|
set = function(info, value) E.db.bags.bagBar[ info[getn(info)] ] = value; B:SizeAndPositionBagBar(); end,
|
|
args = {
|
|
header = {
|
|
order = 0,
|
|
type = "header",
|
|
name = L["Bag-Bar"]
|
|
},
|
|
enable = {
|
|
order = 1,
|
|
type = "toggle",
|
|
name = L["Enable"],
|
|
desc = L["Enable/Disable the Bag-Bar."],
|
|
get = function(info) return E.private.bags.bagBar end,
|
|
set = function(info, value) E.private.bags.bagBar = value; E:StaticPopup_Show("PRIVATE_RL"); end
|
|
},
|
|
showBackdrop = {
|
|
order = 2,
|
|
type = "toggle",
|
|
name = L["Backdrop"]
|
|
},
|
|
mouseover = {
|
|
order = 3,
|
|
name = L["Mouse Over"],
|
|
desc = L["The frame is not shown unless you mouse over the frame."],
|
|
type = "toggle"
|
|
},
|
|
size = {
|
|
order = 4,
|
|
type = "range",
|
|
name = L["Button Size"],
|
|
desc = L["Set the size of your bag buttons."],
|
|
min = 24, max = 60, step = 1
|
|
},
|
|
spacing = {
|
|
order = 5,
|
|
type = "range",
|
|
name = L["Button Spacing"],
|
|
desc = L["The spacing between buttons."],
|
|
min = 1, max = 10, step = 1
|
|
},
|
|
backdropSpacing = {
|
|
order = 6,
|
|
type = "range",
|
|
name = L["Backdrop Spacing"],
|
|
desc = L["The spacing between the backdrop and the buttons."],
|
|
min = 0, max = 10, step = 1
|
|
},
|
|
sortDirection = {
|
|
order = 7,
|
|
type = "select",
|
|
name = L["Sort Direction"],
|
|
desc = L["The direction that the bag frames will grow from the anchor."],
|
|
values = {
|
|
["ASCENDING"] = L["Ascending"],
|
|
["DESCENDING"] = L["Descending"]
|
|
}
|
|
},
|
|
growthDirection = {
|
|
order = 7,
|
|
type = "select",
|
|
name = L["Bar Direction"],
|
|
desc = L["The direction that the bag frames be (Horizontal or Vertical)."],
|
|
values = {
|
|
["VERTICAL"] = L["Vertical"],
|
|
["HORIZONTAL"] = L["Horizontal"]
|
|
}
|
|
}
|
|
}
|
|
},
|
|
bagSortingGroup = {
|
|
order = 6,
|
|
type = "group",
|
|
name = L["Bag Sorting"],
|
|
disabled = function() return not E.bags end,
|
|
args = {
|
|
header = {
|
|
order = 0,
|
|
type = "header",
|
|
name = L["Bag Sorting"],
|
|
},
|
|
sortInverted = {
|
|
order = 1,
|
|
type = "toggle",
|
|
name = L["Sort Inverted"],
|
|
desc = L["Direction the bag sorting will use to allocate the items."]
|
|
},
|
|
spacer = {
|
|
order = 2,
|
|
type = "description",
|
|
name = " "
|
|
},
|
|
description = {
|
|
order = 3,
|
|
type = "description",
|
|
name = L["Here you can add items or search terms that you want to be excluded from sorting. To remove an item just click on its name in the list."]
|
|
},
|
|
addEntryGroup = {
|
|
order = 4,
|
|
type = "group",
|
|
name = L["Add Item or Search Syntax"],
|
|
guiInline = true,
|
|
args = {
|
|
addEntryProfile = {
|
|
order = 1,
|
|
type = "input",
|
|
name = L["Profile"],
|
|
desc = L["Add an item or search syntax to the ignored list. Items matching the search syntax will be ignored."],
|
|
get = function(info) return ""; end,
|
|
set = function(info, value)
|
|
if(value == "" or string.gsub(value, "%s+", "") == "") then return; end
|
|
|
|
local itemID = string.match(value, "item:(%d+)");
|
|
E.db.bags.ignoredItems[(itemID or value)] = value;
|
|
end
|
|
},
|
|
spacer = {
|
|
order = 2,
|
|
type = "description",
|
|
name = " ",
|
|
width = "normal"
|
|
},
|
|
addEntryGlobal = {
|
|
order = 3,
|
|
type = "input",
|
|
name = L["Global"],
|
|
desc = L["Add an item or search syntax to the ignored list. Items matching the search syntax will be ignored."],
|
|
get = function(info) return ""; end,
|
|
set = function(info, value)
|
|
if(value == "" or string.gsub(value, "%s+", "") == "") then return; end
|
|
|
|
local itemID = string.match(value, "item:(%d+)");
|
|
E.global.bags.ignoredItems[(itemID or value)] = value;
|
|
|
|
if(E.db.bags.ignoredItems[(itemID or value)]) then
|
|
E.db.bags.ignoredItems[(itemID or value)] = nil;
|
|
end
|
|
end
|
|
}
|
|
}
|
|
},
|
|
ignoredEntriesProfile = {
|
|
order = 5,
|
|
type = "multiselect",
|
|
name = L["Ignored Items and Search Syntax (Profile)"],
|
|
values = function() return E.db.bags.ignoredItems; end,
|
|
get = function(info, value) return E.db.bags.ignoredItems[value]; end,
|
|
set = function(info, value)
|
|
E.db.bags.ignoredItems[value] = nil;
|
|
GameTooltip:Hide();
|
|
end
|
|
},
|
|
--[[ignoredEntriesGlobal = {
|
|
order = 6,
|
|
type = "multiselect",
|
|
name = L["Ignored Items and Search Syntax (Global)"],
|
|
values = function() return E.global.bags.ignoredItems; end,
|
|
get = function(info, value) return E.global.bags.ignoredItems[value]; end,
|
|
set = function(info, value)
|
|
E.global.bags.ignoredItems[value] = nil;
|
|
GameTooltip:Hide();
|
|
end
|
|
}--]]
|
|
}
|
|
},
|
|
search_syntax = {
|
|
order = 7,
|
|
type = "group",
|
|
name = L["Search Syntax"],
|
|
disabled = function() return not E.bags; end,
|
|
args = {
|
|
text = {
|
|
order = 1,
|
|
type = "input",
|
|
multiline = 30,
|
|
width = "full",
|
|
name = L["Search Syntax"],
|
|
get = function(info) return L["SEARCH_SYNTAX_DESC"]; end,
|
|
set = function(info, value) value = L["SEARCH_SYNTAX_DESC"]; end
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}; |