Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
45 changes: 42 additions & 3 deletions src/Classes/ItemsTab.lua
Original file line number Diff line number Diff line change
Expand Up @@ -813,13 +813,21 @@ holding Shift will put it in the second.]])

-- Section: Modifier Range
self.controls.displayItemSectionRange = new("Control", {"TOPLEFT",self.controls.displayItemSectionCustom,"BOTTOMLEFT"}, {0, 0, 0, function()
return self.displayItem.rangeLineList[1] and 28 or 0
if not self.displayItem or not self.displayItem.rangeLineList[1] then
return 0
end
if main.showAllItemAffixes and self.displayItem.rarity == "UNIQUE" then
local count = #self.displayItem.rangeLineList
return count * 22 + 4
else
return 28
end
end})
self.controls.displayItemRangeLine = new("DropDownControl", {"TOPLEFT",self.controls.displayItemSectionRange,"TOPLEFT"}, {0, 0, 350, 18}, nil, function(index, value)
self.controls.displayItemRangeSlider.val = self.displayItem.rangeLineList[index].range
end)
self.controls.displayItemRangeLine.shown = function()
return self.displayItem and self.displayItem.rangeLineList[1] ~= nil
return self.displayItem and self.displayItem.rangeLineList[1] ~= nil and not (main.showAllItemAffixes and self.displayItem.rarity == "UNIQUE")
end
self.controls.displayItemRangeSlider = new("SliderControl", {"LEFT",self.controls.displayItemRangeLine,"RIGHT"}, {8, 0, 100, 18}, function(val)
self.displayItem.rangeLineList[self.controls.displayItemRangeLine.selIndex].range = val
Expand All @@ -828,6 +836,34 @@ holding Shift will put it in the second.]])
self:UpdateCustomControls()
end)

for i = 1, 20 do
local baseControl = i == 1 and self.controls.displayItemSectionRange or self.controls["displayItemStackedRangeSlider"..(i-1)]

self.controls["displayItemStackedRangeSlider"..i] = new("SliderControl", {"TOPLEFT",baseControl,"TOPLEFT"}, {0, function()
return i == 1 and 2 or 22
end, 100, 18}, function(val)
if self.displayItem and self.displayItem.rangeLineList[i] then
self.displayItem.rangeLineList[i].range = val
self.displayItem:BuildAndParseRaw()
self:UpdateDisplayItemTooltip()
self:UpdateCustomControls()
end
end)
self.controls["displayItemStackedRangeLine"..i] = new("LabelControl", {"LEFT",self.controls["displayItemStackedRangeSlider"..i],"RIGHT"}, {8, -2, 350, 14}, function()
if self.displayItem and self.displayItem.rangeLineList[i] then
return "^7" .. self.displayItem.rangeLineList[i].line
end
return ""
end)
self.controls["displayItemStackedRangeSlider"..i].shown = function()
return main.showAllItemAffixes and self.displayItem and self.displayItem.rarity == "UNIQUE" and self.displayItem.rangeLineList[i] ~= nil
end

self.controls["displayItemStackedRangeLine"..i].shown = function()
return self.controls["displayItemStackedRangeSlider"..i]:IsShown()
end
end

-- Tooltip anchor
self.controls.displayItemTooltipAnchor = new("Control", {"TOPLEFT",self.controls.displayItemSectionRange,"BOTTOMLEFT"})

Expand Down Expand Up @@ -1784,7 +1820,10 @@ end
function ItemsTabClass:UpdateDisplayItemRangeLines()
if self.displayItem and self.displayItem.rangeLineList[1] then
wipeTable(self.controls.displayItemRangeLine.list)
for _, modLine in ipairs(self.displayItem.rangeLineList) do
for i, modLine in ipairs(self.displayItem.rangeLineList) do
if self.controls["displayItemStackedRangeSlider"..i] then
self.controls["displayItemStackedRangeSlider"..i].val = modLine.range
end
-- primarily for Against the Darkness // a way to cut down on really long modLines, gsub could be updated for others
t_insert(self.controls.displayItemRangeLine.list, (modLine.line:gsub(" Passive Skills in Radius also grant", ":")))
end
Expand Down
14 changes: 14 additions & 0 deletions src/Modules/Main.lua
Original file line number Diff line number Diff line change
Expand Up @@ -112,6 +112,7 @@ function main:Init()
--self.showPublicBuilds = true
self.showFlavourText = true
self.showAnimations = true
self.showAllItemAffixes = true
self.errorReadingSettings = false

if self.userPath then
Expand Down Expand Up @@ -656,6 +657,9 @@ function main:LoadSettings(ignoreBuild)
if node.attrib.showAnimations then
self.showAnimations = node.attrib.showAnimations == "true"
end
if node.attrib.showAllItemAffixes then
self.showAllItemAffixes = node.attrib.showAllItemAffixes == "true"
end
if node.attrib.dpiScaleOverridePercent then
self.dpiScaleOverridePercent = tonumber(node.attrib.dpiScaleOverridePercent) or 0
SetDPIScaleOverridePercent(self.dpiScaleOverridePercent)
Expand Down Expand Up @@ -789,6 +793,7 @@ function main:SaveSettings()
--showPublicBuilds = tostring(self.showPublicBuilds),
showFlavourText = tostring(self.showFlavourText),
showAnimations = tostring(self.showAnimations),
showAllItemAffixes = tostring(self.showAllItemAffixes),
dpiScaleOverridePercent = tostring(self.dpiScaleOverridePercent)
} })
local res, errMsg = common.xml.SaveXMLFile(setXML, self.userPath.."Settings.xml")
Expand Down Expand Up @@ -995,6 +1000,12 @@ function main:OpenOptionsPopup()
controls.showAnimations = new("CheckBoxControl", { "TOPLEFT", nil, "TOPLEFT" }, { defaultLabelPlacementX, currentY, 20 }, "^7Show Animations:", function(state)
self.showAnimations = state
end)

nextRow()
controls.showAllItemAffixes = new("CheckBoxControl", { "TOPLEFT", nil, "TOPLEFT" }, { defaultLabelPlacementX, currentY, 20 }, "^7Show all item affixes sliders:", function(state)
self.showAllItemAffixes = state
end)
controls.showAllItemAffixes.tooltipText = "Display all item affix slots as a stacked list instead of hiding them in dropdowns"

nextRow()
drawSectionHeader("build", "Build-related options")
Expand Down Expand Up @@ -1086,6 +1097,7 @@ function main:OpenOptionsPopup()
--controls.showPublicBuilds.state = self.showPublicBuilds
controls.showFlavourText.state = self.showFlavourText
controls.showAnimations.state = self.showAnimations
controls.showAllItemAffixes.state = self.showAllItemAffixes
local initialNodePowerTheme = self.nodePowerTheme
local initialColorPositive = self.colorPositive
local initialColorNegative = self.colorNegative
Expand All @@ -1107,6 +1119,7 @@ function main:OpenOptionsPopup()
--local initialShowPublicBuilds = self.showPublicBuilds
local initialShowFlavourText = self.showFlavourText
local initialShowAnimations = self.showAnimations
local initialShowAllItemAffixes = self.showAllItemAffixes
local initialDpiScaleOverridePercent = self.dpiScaleOverridePercent

-- last line with buttons has more spacing
Expand Down Expand Up @@ -1162,6 +1175,7 @@ function main:OpenOptionsPopup()
self.showPublicBuilds = initialShowPublicBuilds
self.showFlavourText = initialShowFlavourText
self.showAnimations = initialShowAnimations
self.showAllItemAffixes = initialShowAllItemAffixes
self.dpiScaleOverridePercent = initialDpiScaleOverridePercent
SetDPIScaleOverridePercent(self.dpiScaleOverridePercent)
main:ClosePopup()
Expand Down
Loading