Fixes the "Lock Action Buttons" setting to respect user's preferred drag modifier instead of blocking all dragging.
When "Lock Action Buttons" is enabled, SetModifiedClick('PICKUPACTION', 'NONE') completely blocks ALL ability dragging, overriding the user's WoW setting for "Pick Up Action Key" (Game Options → Action Bars).
Use WoW's native setting - just remove the SetModifiedClick calls and let WoW handle the modifier.
File: utils/qui_actionbars.lua (lines 704-723)
Replace the entire ApplyButtonLock function with:
local function ApplyButtonLock()
local settings = GetGlobalSettings()
if not settings then return end
local locked = settings.lockButtons or false
-- Use Blizzard's native CVar - user's "Pick Up Action Key" setting handles the modifier
SetCVar('lockActionBars', locked and 1 or 0)
LOCK_ACTIONBAR = locked and '1' or '0'
end| Aspect | Implementation |
|---|---|
| Change | Remove SetModifiedClick calls |
| Modifier Config | WoW's Game Options → Action Bars |
| Files Changed | 1 (qui_actionbars.lua) |
Add a dropdown in QuaziiUI so users can choose their pickup modifier directly.
File: utils/quicore_main.lua (around line 853, after lockButtons)
lockButtons = false, -- Prevent dragging abilities off buttons
pickupModifier = "SHIFT", -- Modifier key for dragging (SHIFT, CTRL, ALT, NONE)File: utils/qui_actionbars.lua (lines 704-723)
local function ApplyButtonLock()
local settings = GetGlobalSettings()
if not settings then return end
local locked = settings.lockButtons or false
SetCVar('lockActionBars', locked and 1 or 0)
LOCK_ACTIONBAR = locked and '1' or '0'
-- Apply pickup modifier setting (only when locked)
if locked then
local modifier = settings.pickupModifier or "SHIFT"
SetModifiedClick('PICKUPACTION', modifier)
else
SetModifiedClick('PICKUPACTION', 'SHIFT')
end
endFile: utils/qui_options.lua (after line 6725, after the lockCheck)
-- Pickup modifier dropdown (add after lockCheck)
local pickupModifierOptions = {
{value = "SHIFT", text = "Shift (Default)"},
{value = "CTRL", text = "Ctrl"},
{value = "ALT", text = "Alt"},
{value = "NONE", text = "None (Complete Block)"},
}
local pickupDropdown = GUI:CreateFormDropdown(tabContent, "Pickup Modifier (when locked)",
pickupModifierOptions, "pickupModifier", global, RefreshActionBars)
pickupDropdown:SetPoint("TOPLEFT", PAD, y)
pickupDropdown:SetPoint("RIGHT", tabContent, "RIGHT", -PAD, 0)
y = y - FORM_ROW| Aspect | Implementation |
|---|---|
| Setting | pickupModifier in global settings |
| Options | Shift, Ctrl, Alt, None |
| Files Changed | 3 (quicore_main.lua, qui_actionbars.lua, qui_options.lua) |
Users get a dropdown under "Lock Action Buttons" to choose Shift/Ctrl/Alt/None for dragging abilities when locked.