Skip to content
1 change: 1 addition & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,7 @@

### Improvements

* (Pinned Frames) Pinned frames now **lock and unlock together with your main frames** — there's no separate per-set Lock Position toggle any more. Unlock your party or raid frames and the pinned sets for that mode show their drag handles too; lock again and they all settle. Each set's handle also opens the same **fine position panel** as the party/raid frames (precise X/Y nudge, centre, reset), so you can place a pinned set to the pixel. (by Krathe)
* (Pinned Frames) Pinned frame settings are now **global per party/raid mode** and no longer saved into auto layouts — a raid auto layout only controls whether each pinned set is **shown** for that layout. This removes the stale/blank pinned data and editor mismatches that came from pinned settings being stored per-layout, and pinned edits now take effect live. (by Krathe)

### Bug Fixes
Expand Down
12 changes: 4 additions & 8 deletions Config.lua
Original file line number Diff line number Diff line change
Expand Up @@ -1434,6 +1434,8 @@ DF.PartyDefaults = {
permanentMoverWidth = 15,
pixelPerfect = true,
snapToGrid = true,
pinnedSnapToGrid = false,
pinnedHideMover = false,
hideDragOverlay = false,

-- Group Labels
Expand Down Expand Up @@ -2315,7 +2317,6 @@ DF.PartyDefaults = {
horizontalSpacing = 2,
verticalSpacing = 2,
position = { point = "CENTER", x = 0, y = 200 },
locked = false,
showLabel = false,
columnAnchor = "START",
frameAnchor = "START",
Expand All @@ -2336,7 +2337,6 @@ DF.PartyDefaults = {
horizontalSpacing = 2,
verticalSpacing = 2,
position = { point = "CENTER", x = 0, y = -200 },
locked = false,
showLabel = false,
columnAnchor = "START",
frameAnchor = "START",
Expand All @@ -2362,7 +2362,6 @@ DF.PartyDefaults = {
verticalSpacing = 2,
scale = 1.0,
position = { point = "CENTER", x = 0, y = 200 },
locked = false,
showLabel = false,
columnAnchor = "START",
frameAnchor = "START",
Expand All @@ -2382,7 +2381,6 @@ DF.PartyDefaults = {
verticalSpacing = 2,
scale = 1.0,
position = { point = "CENTER", x = 0, y = -200 },
locked = false,
showLabel = false,
columnAnchor = "START",
frameAnchor = "START",
Expand Down Expand Up @@ -3034,6 +3032,8 @@ DF.RaidDefaults = {
permanentMoverWidth = 15,
pixelPerfect = true,
snapToGrid = true,
pinnedSnapToGrid = false,
pinnedHideMover = false,
hideDragOverlay = false,

-- Group Labels
Expand Down Expand Up @@ -3820,7 +3820,6 @@ DF.RaidDefaults = {
horizontalSpacing = 2,
verticalSpacing = 2,
position = { point = "CENTER", x = 0, y = 200 },
locked = false,
showLabel = false,
columnAnchor = "START",
frameAnchor = "START",
Expand All @@ -3841,7 +3840,6 @@ DF.RaidDefaults = {
horizontalSpacing = 2,
verticalSpacing = 2,
position = { point = "CENTER", x = 0, y = -200 },
locked = false,
showLabel = false,
columnAnchor = "START",
frameAnchor = "START",
Expand All @@ -3867,7 +3865,6 @@ DF.RaidDefaults = {
verticalSpacing = 2,
scale = 1.0,
position = { point = "CENTER", x = 0, y = 200 },
locked = false,
showLabel = false,
columnAnchor = "START",
frameAnchor = "START",
Expand All @@ -3887,7 +3884,6 @@ DF.RaidDefaults = {
verticalSpacing = 2,
scale = 1.0,
position = { point = "CENTER", x = 0, y = -200 },
locked = false,
showLabel = false,
columnAnchor = "START",
frameAnchor = "START",
Expand Down
4 changes: 2 additions & 2 deletions Core.lua
Original file line number Diff line number Diff line change
Expand Up @@ -5987,7 +5987,7 @@ function DF:FullProfileRefresh()

-- Pinned frames
if DF.PinnedFrames and DF.PinnedFrames.initialized and DF.PinnedFrames.headers then
for setIndex = 1, 2 do
for setIndex = 1, (DF.PinnedFrames.MAX_SETS or 4) do
local header = DF.PinnedFrames.headers[setIndex]
if header then
for i = 1, 40 do
Expand Down Expand Up @@ -6048,7 +6048,7 @@ function DF:FullProfileRefresh()
if DF.PinnedFrames.RefreshEnabledState then
DF.PinnedFrames:RefreshEnabledState()
end
for setIndex = 1, 2 do
for setIndex = 1, (DF.PinnedFrames.MAX_SETS or 4) do
if DF.PinnedFrames.headers[setIndex] then
DF.PinnedFrames:ApplyLayoutSettings(setIndex)
DF.PinnedFrames:ResizeContainer(setIndex)
Expand Down
8 changes: 5 additions & 3 deletions DesignerPresets.lua
Original file line number Diff line number Diff line change
Expand Up @@ -455,8 +455,10 @@ function DF:ImportDesignerPresets(importData, categories)
wanted = {}
for _, cat in ipairs(categories) do wanted[cat] = true end
end
local importAura = (not wanted) or wanted.auraDesigner or wanted.autoLayout
local importText = (not wanted) or wanted.text or wanted.autoLayout
-- Pinned sets reference designer presets too, so a pinnedFrames-only import/
-- export must carry the libraries or a set ends up pointing at a missing preset.
local importAura = (not wanted) or wanted.auraDesigner or wanted.autoLayout or wanted.pinnedFrames
local importText = (not wanted) or wanted.text or wanted.autoLayout or wanted.pinnedFrames

local function mergeLib(libKey, src)
if type(src) ~= "table" then return end
Expand Down Expand Up @@ -559,7 +561,7 @@ end
local function RestampPinnedPresets()
local pf = DF.PinnedFrames
if pf and pf.initialized then
for i = 1, 2 do
for i = 1, (pf.MAX_SETS or 4) do
if pf.ApplyLayoutSettings then pf:ApplyLayoutSettings(i) end
end
end
Expand Down
Loading