mirror of
https://github.com/Bluewhale1337/ElvUIModernized.git
synced 2026-07-27 08:24:44 +00:00
Merge branch 'master' into dev
This commit is contained in:
@@ -3,6 +3,6 @@
|
||||
]]
|
||||
|
||||
SLASH_RELOADUI1 = "/rl"
|
||||
SLASH_RELOADUI2 = "/reload"
|
||||
SLASH_RELOADUI3 = "/reloadui"
|
||||
SLASH_RELOADUI2 = "/reloadui"
|
||||
SLASH_RELOADUI3 = "/reload"
|
||||
SlashCmdList.RELOADUI = ReloadUI
|
||||
@@ -1,5 +1,3 @@
|
||||
--Cache global variables
|
||||
--Lua functions
|
||||
local setmetatable, getmetatable = setmetatable, getmetatable
|
||||
local pairs, type = pairs, type
|
||||
local table = table
|
||||
|
||||
@@ -413,61 +413,6 @@ function B:ResetSlotAlphaForBags(f)
|
||||
end
|
||||
end
|
||||
|
||||
local function buttonOnClick(button, ignoreModifiers)
|
||||
if not button then button = arg1 end
|
||||
|
||||
--KeyRing special case code
|
||||
if this:GetParent():GetID() == KEYRING_CONTAINER then
|
||||
KeyRingItemButton_OnClick(button, ignoreModifiers)
|
||||
return
|
||||
end
|
||||
|
||||
if button == "LeftButton" then
|
||||
if IsControlKeyDown() and not ignoreModifiers then
|
||||
DressUpItemLink(GetContainerItemLink(this:GetParent():GetID(), this:GetID()))
|
||||
elseif IsShiftKeyDown() and not ignoreModifiers then
|
||||
if ChatFrameEditBox:IsShown() then
|
||||
ChatFrameEditBox:Insert(GetContainerItemLink(this:GetParent():GetID(), this:GetID()))
|
||||
else
|
||||
local texture, itemCount, locked = GetContainerItemInfo(this:GetParent():GetID(), this:GetID())
|
||||
if not locked then
|
||||
this.SplitStack = function(button, split)
|
||||
SplitContainerItem(button:GetParent():GetID(), button:GetID(), split)
|
||||
end
|
||||
OpenStackSplitFrame(this.count, this, "BOTTOMRIGHT", "TOPRIGHT")
|
||||
end
|
||||
end
|
||||
else
|
||||
PickupContainerItem(this:GetParent():GetID(), this:GetID())
|
||||
StackSplitFrame:Hide()
|
||||
end
|
||||
else
|
||||
if IsControlKeyDown() and not ignoreModifiers then
|
||||
return
|
||||
elseif IsShiftKeyDown() and MerchantFrame:IsShown() and not ignoreModifiers then
|
||||
this.SplitStack = function(button, split)
|
||||
SplitContainerItem(button:GetParent():GetID(), button:GetID(), split)
|
||||
MerchantItemButton_OnClick("LeftButton")
|
||||
end
|
||||
OpenStackSplitFrame(this.count, this, "BOTTOMRIGHT", "TOPRIGHT")
|
||||
elseif MerchantFrame:IsShown() and MerchantFrame.selectedTab == 2 then
|
||||
-- Don't sell the item if the buyback tab is selected
|
||||
return
|
||||
else
|
||||
UseContainerItem(this:GetParent():GetID(), this:GetID())
|
||||
StackSplitFrame:Hide()
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
local function buttonOnDragStart()
|
||||
buttonOnClick("LeftButton", 1)
|
||||
end
|
||||
|
||||
local function buttonOnReceiveDrag()
|
||||
buttonOnClick("LeftButton", 1)
|
||||
end
|
||||
|
||||
function B:Layout(isBank)
|
||||
if E.private.bags.enable ~= true then return end
|
||||
local f = self:GetContainerFrame(isBank)
|
||||
@@ -585,10 +530,6 @@ function B:Layout(isBank)
|
||||
f.Bags[bagID][slotID]:SetNormalTexture("")
|
||||
f.Bags[bagID][slotID]:SetCheckedTexture("")
|
||||
|
||||
f.Bags[bagID][slotID]:SetScript("OnClick", buttonOnClick)
|
||||
f.Bags[bagID][slotID]:SetScript("OnDragStart", buttonOnDragStart)
|
||||
f.Bags[bagID][slotID]:SetScript("OnReceiveDrag", buttonOnReceiveDrag)
|
||||
|
||||
f.Bags[bagID][slotID].Count = _G[f.Bags[bagID][slotID]:GetName().."Count"]
|
||||
f.Bags[bagID][slotID].Count:ClearAllPoints()
|
||||
E:Point(f.Bags[bagID][slotID].Count, "BOTTOMRIGHT", 0, 2)
|
||||
|
||||
@@ -157,6 +157,15 @@ function B:EnhanceColorPicker()
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
--Set OnUpdate script to handle update limiter
|
||||
this:SetScript("OnUpdate", HandleUpdateLimiter)
|
||||
end)
|
||||
|
||||
hooksecurefunc(ColorPickerFrame, "SetFrameLevel", function(self, level)
|
||||
for _, child in ipairs({self:GetChildren()}) do
|
||||
child:SetFrameLevel(level + 1)
|
||||
end
|
||||
end)
|
||||
|
||||
--Memory Fix, Colorpicker will call the this.func() 100x per second, causing fps/memory issues,
|
||||
@@ -233,7 +242,8 @@ function B:EnhanceColorPicker()
|
||||
b = CreateFrame("Button", "ColorPPClass", ColorPickerFrame, "UIPanelButtonTemplate")
|
||||
b:SetText(CLASS)
|
||||
S:HandleButton(b)
|
||||
E:Size(b, 80, 22)
|
||||
E:Width(b, 80)
|
||||
E:Height(b, 22)
|
||||
E:Point(b, "TOP", "ColorPPCopy", "BOTTOMRIGHT", 0, -7)
|
||||
|
||||
b:SetScript("OnClick", function()
|
||||
@@ -249,7 +259,8 @@ function B:EnhanceColorPicker()
|
||||
b = CreateFrame("Button", "ColorPPPaste", ColorPickerFrame, "UIPanelButtonTemplate")
|
||||
b:SetText(L["Paste"])
|
||||
S:HandleButton(b)
|
||||
E:Size(b, 60, 22)
|
||||
E:Width(b, 60)
|
||||
E:Height(b, 22)
|
||||
E:Point(b, "TOPLEFT", "ColorPPCopy", "TOPRIGHT", 2, 0)
|
||||
b:Disable() -- enable when something has been copied
|
||||
|
||||
@@ -268,7 +279,8 @@ function B:EnhanceColorPicker()
|
||||
b = CreateFrame("Button", "ColorPPDefault", ColorPickerFrame, "UIPanelButtonTemplate")
|
||||
b:SetText(DEFAULTS)
|
||||
S:HandleButton(b)
|
||||
E:Size(b, 80, 22)
|
||||
E:Width(b, 80)
|
||||
E:Height(b, 22)
|
||||
E:Point(b, "TOPLEFT", "ColorPPClass", "BOTTOMLEFT", 0, -7)
|
||||
b:Disable() -- enable when something has been copied
|
||||
b:SetScript("OnHide", function()
|
||||
|
||||
@@ -42,20 +42,48 @@ local function SkinButton(f, strip, noTemplate)
|
||||
end
|
||||
|
||||
local function SkinDropdownPullout(self)
|
||||
if self.obj.pullout.frame.template and self.obj.pullout.slider.template then return end
|
||||
if self and self.obj then
|
||||
local pullout = self.obj.pullout
|
||||
local dropdown = self.obj.dropdown
|
||||
|
||||
if not self.obj.pullout.frame.template then
|
||||
E:SetTemplate(self.obj.pullout.frame, "Default", true)
|
||||
end
|
||||
if pullout and pullout.frame then
|
||||
if pullout.frame.template and pullout.slider.template then return end
|
||||
|
||||
if not self.obj.pullout.slider.template then
|
||||
E:SetTemplate(self.obj.pullout.slider, "Default")
|
||||
E:Point(self.obj.pullout.slider, "TOPRIGHT", self.obj.pullout.frame, "TOPRIGHT", -10, -10)
|
||||
E:Point(self.obj.pullout.slider, "BOTTOMRIGHT", self.obj.pullout.frame, "BOTTOMRIGHT", -10, 10)
|
||||
if self.obj.pullout.slider:GetThumbTexture() then
|
||||
self.obj.pullout.slider:SetThumbTexture(E.media.normTex)
|
||||
self.obj.pullout.slider:GetThumbTexture():SetVertexColor(unpack(E.media.rgbvaluecolor))
|
||||
E:Size(self.obj.pullout.slider:GetThumbTexture(), 10, 14)
|
||||
if not pullout.frame.template then
|
||||
E:SetTemplate(pullout.frame, "Default", true)
|
||||
end
|
||||
|
||||
if not pullout.slider.template then
|
||||
E:SetTemplate(pullout.slider, "Default")
|
||||
E:Point(pullout.slider, "TOPRIGHT", pullout.frame, "TOPRIGHT", -10, -10)
|
||||
E:Point(pullout.slider, "BOTTOMRIGHT", pullout.frame, "BOTTOMRIGHT", -10, 10)
|
||||
if pullout.slider:GetThumbTexture() then
|
||||
pullout.slider:SetThumbTexture(E.media.normTex)
|
||||
pullout.slider:GetThumbTexture():SetVertexColor(unpack(E.media.rgbvaluecolor))
|
||||
E:Size(pullout.slider:GetThumbTexture(), 10, 14)
|
||||
end
|
||||
end
|
||||
elseif dropdown then
|
||||
E:SetTemplate(dropdown, "Default", true)
|
||||
|
||||
if dropdown.slider then
|
||||
E:SetTemplate(dropdown.slider, "Default")
|
||||
E:Point(dropdown.slider, "TOPRIGHT", dropdown, "TOPRIGHT", -10, -10)
|
||||
E:Point(dropdown.slider, "BOTTOMRIGHT", dropdown, "BOTTOMRIGHT", -10, 10)
|
||||
|
||||
if dropdown.slider:GetThumbTexture() then
|
||||
dropdown.slider:SetThumbTexture(E.media.normTex)
|
||||
dropdown.slider:GetThumbTexture():SetVertexColor(unpack(E.media.rgbvaluecolor))
|
||||
E:Size(dropdown.slider:GetThumbTexture(), 10, 14)
|
||||
end
|
||||
end
|
||||
|
||||
if TYPE == "LSM30_Sound" then
|
||||
local frame = self.obj.frame
|
||||
local width = frame:GetWidth()
|
||||
E:Point(dropdown, "TOPLEFT", frame, "BOTTOMLEFT")
|
||||
E:Point(dropdown, "TOPRIGHT", frame, "BOTTOMRIGHT", width < 160 and (160 - width) or 30, 0)
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
@@ -81,6 +109,7 @@ function S:SkinAce3()
|
||||
SkinButton(widget.button)
|
||||
S:HandleScrollBar(widget.scrollBar)
|
||||
E:Point(widget.scrollBar, "RIGHT", frame, "RIGHT", 0 -4)
|
||||
|
||||
E:Point(scrollBG, "TOPRIGHT", widget.scrollBar, "TOPLEFT", -2, 19)
|
||||
E:Point(scrollBG, "BOTTOMLEFT", widget.button, "TOPLEFT")
|
||||
E:Point(widget.scrollFrame, "BOTTOMRIGHT", scrollBG, "BOTTOMRIGHT", -4, 8)
|
||||
@@ -117,7 +146,7 @@ function S:SkinAce3()
|
||||
E:CreateBackdrop(frame, "Default")
|
||||
end
|
||||
|
||||
E:Point(frame.backdrop, "TOPLEFT", 15, -2)
|
||||
E:Point(frame.backdrop, "TOPLEFT", 17, -2)
|
||||
E:Point(frame.backdrop, "BOTTOMRIGHT", -21, 0)
|
||||
|
||||
widget.label:ClearAllPoints()
|
||||
@@ -128,6 +157,9 @@ function S:SkinAce3()
|
||||
E:Point(button, "RIGHT", frame.backdrop, "RIGHT", -2, 0)
|
||||
button:SetParent(frame.backdrop)
|
||||
|
||||
text:ClearAllPoints()
|
||||
E:Point(text, "RIGHT", frame.backdrop, "RIGHT", -26, 2)
|
||||
E:Point(text, "LEFT", frame.backdrop, "LEFT", 2, 0)
|
||||
text:SetParent(frame.backdrop)
|
||||
|
||||
HookScript(button, "OnClick", SkinDropdownPullout)
|
||||
@@ -176,30 +208,7 @@ function S:SkinAce3()
|
||||
button:SetParent(frame.backdrop)
|
||||
text:SetParent(frame.backdrop)
|
||||
|
||||
HookScript(button, "OnClick", function(self)
|
||||
local dropdown = self.obj.dropdown
|
||||
if dropdown then
|
||||
E:SetTemplate(dropdown, "Default", true)
|
||||
if dropdown.slider then
|
||||
E:SetTemplate(dropdown.slider, "Transparent")
|
||||
E:Point(dropdown.slider, "TOPRIGHT", dropdown, "TOPRIGHT", -10, -10)
|
||||
E:Point(dropdown.slider, "BOTTOMRIGHT", dropdown, "BOTTOMRIGHT", -10, 10)
|
||||
|
||||
if dropdown.slider:GetThumbTexture() then
|
||||
dropdown.slider:SetThumbTexture(E.media.normTex)
|
||||
dropdown.slider:GetThumbTexture():SetVertexColor(unpack(E.media.rgbvaluecolor))
|
||||
E:Size(dropdown.slider:GetThumbTexture(), 10, 14)
|
||||
end
|
||||
end
|
||||
|
||||
if TYPE == "LSM30_Sound" then
|
||||
local frame = self.obj.frame
|
||||
local width = frame:GetWidth()
|
||||
E:Point(dropdown, "TOPLEFT", frame, "BOTTOMLEFT")
|
||||
E:Point(dropdown, "TOPRIGHT", frame, "BOTTOMRIGHT", width < 160 and (160 - width) or 30, 0)
|
||||
end
|
||||
end
|
||||
end)
|
||||
HookScript(button, "OnClick", SkinDropdownPullout)
|
||||
elseif TYPE == "EditBox" then
|
||||
local frame = widget.editbox
|
||||
local button = widget.button
|
||||
@@ -235,23 +244,6 @@ function S:SkinAce3()
|
||||
E:SetInside(frame.backdrop)
|
||||
|
||||
widget.text:SetParent(frame.backdrop)
|
||||
elseif TYPE == "Keybinding" then
|
||||
local button = widget.button
|
||||
local msgframe = widget.msgframe
|
||||
local msg = widget.msgframe.msg
|
||||
|
||||
SkinButton(button)
|
||||
|
||||
E:StripTextures(msgframe)
|
||||
E:CreateBackdrop(msgframe, "Default", true)
|
||||
E:SetInside(msgframe.backdrop)
|
||||
msgframe:SetToplevel(true)
|
||||
|
||||
msg:ClearAllPoints()
|
||||
E:Point(msg, "LEFT", 10, 0)
|
||||
E:Point(msg, "RIGHT", -10, 0)
|
||||
msg:SetJustifyV("MIDDLE")
|
||||
E:Width(msg, msg:GetWidth() + 10)
|
||||
elseif TYPE == "Slider" then
|
||||
local frame = widget.slider
|
||||
local editbox = widget.editbox
|
||||
@@ -273,6 +265,23 @@ function S:SkinAce3()
|
||||
|
||||
E:Point(lowtext, "TOPLEFT", frame, "BOTTOMLEFT", 2, -2)
|
||||
E:Point(hightext, "TOPRIGHT", frame, "BOTTOMRIGHT", -2, -2)
|
||||
elseif TYPE == "Keybinding" then
|
||||
local button = widget.button
|
||||
local msgframe = widget.msgframe
|
||||
local msg = widget.msgframe.msg
|
||||
|
||||
SkinButton(button)
|
||||
|
||||
E:StripTextures(msgframe)
|
||||
E:CreateBackdrop(msgframe, "Default", true)
|
||||
E:SetInside(msgframe.backdrop)
|
||||
msgframe:SetToplevel(true)
|
||||
|
||||
msg:ClearAllPoints()
|
||||
E:Point(msg, "LEFT", 10, 0)
|
||||
E:Point(msg, "RIGHT", -10, 0)
|
||||
msg:SetJustifyV("MIDDLE")
|
||||
E:Width(msg, msg:GetWidth() + 10)
|
||||
elseif (TYPE == "ColorPicker" or TYPE == "ColorPicker-ElvUI") then
|
||||
local frame = widget.frame
|
||||
local colorSwatch = widget.colorSwatch
|
||||
@@ -286,6 +295,8 @@ function S:SkinAce3()
|
||||
E:Point(frame.backdrop, "LEFT", frame, "LEFT", 4, 0)
|
||||
frame.backdrop:SetBackdropColor(0, 0, 0, 0)
|
||||
frame.backdrop.SetBackdropColor = E.noop
|
||||
frame.backdrop:SetBackdropBorderColor(1, 1, 1)
|
||||
frame.backdrop.SetBackdropBorderColor = E.noop
|
||||
|
||||
colorSwatch:SetTexture(E.media.blankTex)
|
||||
colorSwatch:ClearAllPoints()
|
||||
@@ -370,20 +381,28 @@ function S:SkinAce3()
|
||||
end
|
||||
end
|
||||
|
||||
if TYPE == "TabGroup" then
|
||||
local oldCreateTab = widget.CreateTab
|
||||
widget.CreateTab = function(self, id)
|
||||
local tab = oldCreateTab(self, id)
|
||||
E:StripTextures(tab)
|
||||
--[[tab.backdrop = CreateFrame("Frame", nil, tab)
|
||||
E:SetTemplate(tab.backdrop, "Transparent")
|
||||
tab.backdrop:SetFrameLevel(tab:GetFrameLevel() - 1)
|
||||
E:Point(tab.backdrop, "TOPLEFT", 10, -3)
|
||||
E:Point(tab.backdrop, "BOTTOMRIGHT", -10, 0)--]]
|
||||
if TYPE == "TabGroup" then
|
||||
local oldCreateTab = widget.CreateTab
|
||||
widget.CreateTab = function(self, id)
|
||||
local tab = oldCreateTab(self, id)
|
||||
E:StripTextures(tab)
|
||||
tab.backdrop = CreateFrame("Frame", nil, tab)
|
||||
E:SetTemplate(tab.backdrop, "Transparent")
|
||||
E:Point(tab.backdrop, "TOPLEFT", 10, -3)
|
||||
E:Point(tab.backdrop, "BOTTOMRIGHT", -10, 0)
|
||||
|
||||
return tab
|
||||
end
|
||||
end
|
||||
HookScript(tab, "OnShow", function(self)
|
||||
local tabFrame = tab:GetFrameLevel()
|
||||
local tabBackdrop = tab.backdrop:GetFrameLevel()
|
||||
|
||||
if tabFrame <= tabBackdrop then
|
||||
tab.backdrop:SetFrameLevel(tabFrame - 1)
|
||||
end
|
||||
end)
|
||||
|
||||
return tab
|
||||
end
|
||||
end
|
||||
|
||||
if widget.scrollbar then
|
||||
S:HandleScrollBar(widget.scrollbar)
|
||||
@@ -410,4 +429,4 @@ local f = CreateFrame("Frame")
|
||||
f:RegisterEvent("ADDON_LOADED")
|
||||
f:SetScript("OnEvent", attemptSkin)
|
||||
|
||||
S:AddCallback("Ace3", attemptSkin)
|
||||
S:AddCallback("Ace3", attemptSkin)
|
||||
|
||||
Reference in New Issue
Block a user