Skip to content
Open
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
30 changes: 25 additions & 5 deletions EUI_UnlockMode.lua
Original file line number Diff line number Diff line change
Expand Up @@ -6585,7 +6585,8 @@ local function CreateMover(barKey)
-- Match-source capability: width/height MATCH buttons may appear even when
-- drag/manual resize is disabled (noResize), if the element opts in via
-- allowMatchSource (e.g. tracking bars sized via their own sliders can still size-MATCH another element).
local canMatchSource = canResize or (elem and elem.allowMatchSource) or false
local canMatchSource = (canResize or (elem and elem.allowMatchSource) or false)
and not (elem and elem.noMatchSource)

-- Single source of truth for which action-row link buttons are active, in
-- left-to-right order. The layout, the hover show/hide, and the hover-box
Expand Down Expand Up @@ -9377,7 +9378,12 @@ local function CreateMover(barKey)

-- Disable if this element is width/height matched
local isWidth = (axis == "Width")
local matchTarget = isWidth and EllesmereUI.GetWidthMatchTarget(barKey) or (not isWidth and EllesmereUI.GetHeightMatchTarget(barKey))
local matchTarget
if axis == "Size" then
matchTarget = EllesmereUI.GetWidthMatchTarget(barKey) or EllesmereUI.GetHeightMatchTarget(barKey)
else
matchTarget = isWidth and EllesmereUI.GetWidthMatchTarget(barKey) or (not isWidth and EllesmereUI.GetHeightMatchTarget(barKey))
end
if matchTarget then
box:Disable()
box:SetTextColor(0.4, 0.4, 0.4, 0.7)
Expand All @@ -9400,11 +9406,20 @@ local function CreateMover(barKey)
for childKey, targetKey in pairs(MatchH.GetWidthMatchDB() or {}) do
if targetKey == barKey then MatchH.ApplyWidthMatch(childKey, barKey) end
end
else
elseif axis == "Height" then
if elem.setHeight then elem.setHeight(barKey, val) end
for childKey, targetKey in pairs(MatchH.GetHeightMatchDB() or {}) do
if targetKey == barKey then MatchH.ApplyHeightMatch(childKey, barKey) end
end
else -- "Size": linked square element, one value drives both dimensions
if elem.setWidth then elem.setWidth(barKey, val) end
if elem.setHeight then elem.setHeight(barKey, val) end
for childKey, targetKey in pairs(MatchH.GetWidthMatchDB() or {}) do
if targetKey == barKey then MatchH.ApplyWidthMatch(childKey, barKey) end
end
for childKey, targetKey in pairs(MatchH.GetHeightMatchDB() or {}) do
if targetKey == barKey then MatchH.ApplyHeightMatch(childKey, barKey) end
end
end
hasChanges = true
self:ClearFocus()
Expand Down Expand Up @@ -9447,8 +9462,13 @@ local function CreateMover(barKey)
-- so a resize here would write the SHARED module setting mid-session
-- while looking like a per-group edit. Users resize from the options panel instead.
if not isCDMBar and not EllesmereUI._specialUnlockGroup then
wBox = MakeSizeRow("Width", curW)
hBox = MakeSizeRow("Height", curH)
if elem.linkedDimensions then
wBox = MakeSizeRow("Size", curW)
hBox = wBox
else
wBox = MakeSizeRow("Width", curW)
hBox = MakeSizeRow("Height", curH)
end
end

-- X Position / Y Position rows (screen coords from center)
Expand Down
4 changes: 4 additions & 0 deletions EllesmereUI.lua
Original file line number Diff line number Diff line change
Expand Up @@ -5164,6 +5164,10 @@ function EllesmereUI.MakeUnlockElement(opts)
-- noSizeMatchTarget: other elements may NOT size-match TO this one.
allowMatchSource = opts.allowMatchSource,
noSizeMatchTarget = opts.noSizeMatchTarget,
-- noMatchSource: never show this element's own width/height MATCH links
-- (e.g. a linkedDimensions element with a single Size value -- matching
-- width/height separately makes no sense once they can't diverge).
noMatchSource = opts.noMatchSource,
-- matchUnavailable: function(key) -> reason string when a NEW width/height match
-- is impossible (action bars in Blizzard Style, where EUI does not control
-- sizing). Clearing an existing match stays allowed.
Expand Down
1 change: 1 addition & 0 deletions EllesmereUIQoL/EllesmereUIQoL.toc
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,7 @@ EllesmereUIQoL_TeleportPrompt.lua
EllesmereUIQoL_Shifter.lua
EllesmereUIQoL_MovementAlert.lua
EllesmereUIQoL_RaidTools.lua
EllesmereUIQoL_PreyBar.lua
EUI_UpgradeCalc.lua

# Options
Loading