diff --git a/Interface/AddOns/SVUI/SVUI.lua b/Interface/AddOns/SVUI/SVUI.lua index 262b6c3..d37988e 100644 --- a/Interface/AddOns/SVUI/SVUI.lua +++ b/Interface/AddOns/SVUI/SVUI.lua @@ -262,7 +262,6 @@ end -- has no method for parsing them in LUA. local SVUI = SVLib:NewCore("SVUI_Global", "SVUI_Profile", "SVUI_Cache") -SVUI.Snap = {} SVUI.Media = {} SVUI.DisplayAudit = {} SVUI.DynamicOptions = {} @@ -294,7 +293,6 @@ SVUI.UIParent = CreateFrame("Frame", "SVUIParent", UIParent); SVUI.UIParent:SetFrameLevel(UIParent:GetFrameLevel()); SVUI.UIParent:SetPoint("CENTER", UIParent, "CENTER"); SVUI.UIParent:SetSize(UIParent:GetSize()); -SVUI.Snap[1] = SVUI.UIParent; SVUI.Cloaked = CreateFrame("Frame", nil, UIParent); SVUI.Cloaked:Hide(); diff --git a/Interface/AddOns/SVUI/SVUI.xml b/Interface/AddOns/SVUI/SVUI.xml index e328db9..603ab4b 100644 --- a/Interface/AddOns/SVUI/SVUI.xml +++ b/Interface/AddOns/SVUI/SVUI.xml @@ -26,6 +26,7 @@ <Script file="system\timers.lua"/> <Script file="system\slash.lua"/> <Script file="system\alerts.lua"/> + <Script file="system\moveable.lua"/> <Include file="system\mentalo.xml"/> <Script file="system\setup.lua"/> diff --git a/Interface/AddOns/SVUI/libs/LibSuperVillain-1.0/LibSuperVillain-1.0.lua b/Interface/AddOns/SVUI/libs/LibSuperVillain-1.0/LibSuperVillain-1.0.lua index e0f235d..a6fca35 100644 --- a/Interface/AddOns/SVUI/libs/LibSuperVillain-1.0/LibSuperVillain-1.0.lua +++ b/Interface/AddOns/SVUI/libs/LibSuperVillain-1.0/LibSuperVillain-1.0.lua @@ -359,21 +359,21 @@ local function removedefaults(db, src, nometa) end end -local function setDefault(t, sub, sub2) - local data = t.db +local ResetToDefaults = function(self, sub, sub2) + local data = self.db local sv = rawget(data, "data") local src = rawget(data, "defaults") - local savedProfile + local targetData if(sub2 and sv and sv[sub]) then - savedProfile = sv[sub][sub2] + targetData = sv[sub][sub2] elseif(sub and sv) then - savedProfile = sv[sub] + targetData = sv[sub] else - savedProfile = sv + targetData = sv end - if(savedProfile) then - for k,v in pairs(savedProfile) do - savedProfile[k] = nil + if(targetData) then + for k,v in pairs(targetData) do + targetData[k] = nil end else sv = {} @@ -411,7 +411,6 @@ function lib:Remove(key) for k,v in pairs(GLOBAL_SV.profiles) do GLOBAL_SV.profileKeys[k] = k end - collectgarbage("collect") end function lib:GetProfiles() @@ -467,6 +466,18 @@ function lib:WipeDatabase() end end +function lib:WipeCache() + for k,v in pairs(CACHE_SV) do + CACHE_SV[k] = nil + end +end + +function lib:WipeGlobal() + for k,v in pairs(GLOBAL_SV) do + GLOBAL_SV[k] = nil + end +end + function lib:UpdateDatabase(event) if event == "PLAYER_LOGOUT" then local sv = rawget(CoreObject.db, "data") @@ -499,19 +510,15 @@ function lib:UpdateDatabase(event) end function lib:GetSafeData(index) - return PROFILE_SV.SAFEDATA[index] + if(index) then + return PROFILE_SV.SAFEDATA[index] + else + return PROFILE_SV.SAFEDATA + end end function lib:SaveSafeData(index, value) PROFILE_SV.SAFEDATA[index] = value - if(index == "dualSpecEnabled") then - if(value) then - self.EventManager:RegisterEvent("ACTIVE_TALENT_GROUP_CHANGED") - self:UpdateDatabase() - else - self.EventManager:UnregisterEvent("ACTIVE_TALENT_GROUP_CHANGED") - end - end end function lib:CheckData(schema, key) @@ -524,7 +531,6 @@ end function lib:NewDatabase(obj) local schema = obj.Schema obj.db = CoreObject.db[schema] or {} - obj.ResetData = setDefault end function lib:NewCache(index) @@ -813,9 +819,9 @@ function lib:RunCallbacks() end end -function lib:Update(schema, dataOnly) +function lib:Update(schema) local obj = CoreObject[schema] - if obj and obj.ReLoad and not dataOnly then + if obj and obj.ReLoad then obj:ReLoad() end end @@ -858,6 +864,19 @@ function lib:GetPlugins() return PluginString end +function lib:CheckDualProfile() + return PROFILE_SV.SAFEDATA.dualSpecEnabled +end + +function lib:ToggleDualProfile(enabled) + PROFILE_SV.SAFEDATA.dualSpecEnabled = enabled + if(enabled) then + self.EventManager:RegisterEvent("ACTIVE_TALENT_GROUP_CHANGED") + self:UpdateDatabase() + else + self.EventManager:UnregisterEvent("ACTIVE_TALENT_GROUP_CHANGED") + end +end --[[ CONSTRUCTORS ]]-- @@ -1040,7 +1059,7 @@ function lib:Initialize() db.data = PROFILE_SV.STORED[SOURCE_KEY] db.defaults = CoreObject.configs - CoreObject.ResetData = setDefault + CoreObject.ResetData = ResetToDefaults CoreObject.db = db --check for LOD plugins diff --git a/Interface/AddOns/SVUI/packages/actionbar/SVBar.lua b/Interface/AddOns/SVUI/packages/actionbar/SVBar.lua index 2b8871d..61e07c7 100644 --- a/Interface/AddOns/SVUI/packages/actionbar/SVBar.lua +++ b/Interface/AddOns/SVUI/packages/actionbar/SVBar.lua @@ -848,7 +848,7 @@ do bar:Hide() UnregisterStateDriver(bar, "visibility") end - SV:SetSnapOffset(("SVUI_Action%d_MOVE"):format(id), (space / 2)) + SV.Mentalo:ChangeSnapOffset(("SVUI_Action%d_MOVE"):format(id), (space / 2)) end end end @@ -1039,7 +1039,7 @@ CreateActionBars = function(self) ]]) self:RefreshBar(barID) - SV:SetSVMovable(thisBar, L[barID], nil, nil, nil, "ALL, ACTIONBARS") + SV.Mentalo:Add(thisBar, L[barID], nil, nil, nil, "ALL, ACTIONBARS") end end @@ -1191,7 +1191,7 @@ do self:RegisterEvent("UPDATE_SHAPESHIFT_FORM", SetStanceBarButtons) self:RegisterEvent("ACTIONBAR_PAGE_CHANGED", SetStanceBarButtons) UpdateShapeshiftForms() - SV:SetSVMovable(stanceBar, L["Stance Bar"], nil, -3, nil, "ALL, ACTIONBARS") + SV.Mentalo:Add(stanceBar, L["Stance Bar"], nil, -3, nil, "ALL, ACTIONBARS") self:RefreshBar("Stance") SetStanceBarButtons() self:UpdateBarBindings(false, true) @@ -1309,7 +1309,7 @@ do self:RegisterEvent("PLAYER_FARSIGHT_FOCUS_CHANGED", RefreshPet) self:RegisterEvent("PET_BAR_UPDATE_COOLDOWN", PetActionBar_UpdateCooldowns) - SV:SetSVMovable(petBar, L["Pet Bar"], nil, nil, nil, "ALL, ACTIONBARS") + SV.Mentalo:Add(petBar, L["Pet Bar"], nil, nil, nil, "ALL, ACTIONBARS") end end @@ -1378,7 +1378,7 @@ CreateMicroBar = function(self) SVUIMicroButtonsParent(microBar) SVUIMicroButton_SetNormal() - SV:SetSVMovable(microBar, L["Micro Bar"]) + SV.Mentalo:Add(microBar, L["Micro Bar"]) RefreshMicrobar() @@ -1426,7 +1426,7 @@ local CreateExtraBar = function(self) if HasExtraActionBar()then ExtraActionBarFrame:Show() end - SV:SetSVMovable(specialBar, L["Boss Button"], nil, nil, nil, "ALL, ACTIONBAR") + SV.Mentalo:Add(specialBar, L["Boss Button"], nil, nil, nil, "ALL, ACTIONBAR") end --[[ ########################################################## diff --git a/Interface/AddOns/SVUI/packages/aura/SVAura.lua b/Interface/AddOns/SVUI/packages/aura/SVAura.lua index b5da832..bcd22d2 100644 --- a/Interface/AddOns/SVUI/packages/aura/SVAura.lua +++ b/Interface/AddOns/SVUI/packages/aura/SVAura.lua @@ -594,7 +594,7 @@ function MOD:Load() self:Update_ConsolidatedBuffsSettings() - SV:SetSVMovable(auras, L["Auras Frame"]) + SV.Mentalo:Add(auras, L["Auras Frame"]) end --[[ ########################################################## diff --git a/Interface/AddOns/SVUI/packages/bag/SVBag.lua b/Interface/AddOns/SVUI/packages/bag/SVBag.lua index 236ccfd..81af5ec 100644 --- a/Interface/AddOns/SVUI/packages/bag/SVBag.lua +++ b/Interface/AddOns/SVUI/packages/bag/SVBag.lua @@ -694,7 +694,7 @@ do if not SVUI_BagBar_MOVE then SVUI_BagBar:SetPanelTemplate("Default") - SV:SetSVMovable(SVUI_BagBar, L["Bags Bar"]) + SV.Mentalo:Add(SVUI_BagBar, L["Bags Bar"]) end if self.db.bagBar.showBackdrop then diff --git a/Interface/AddOns/SVUI/packages/dock/SVDock.lua b/Interface/AddOns/SVUI/packages/dock/SVDock.lua index eb4e1fe..6555e17 100644 --- a/Interface/AddOns/SVUI/packages/dock/SVDock.lua +++ b/Interface/AddOns/SVUI/packages/dock/SVDock.lua @@ -114,12 +114,12 @@ end local ToggleDocks = function(self) GameTooltip:Hide() - if SVUI_Cache.Docks.SuperDockFaded then - SVUI_Cache.Docks.SuperDockFaded = nil; + if MOD.Cache.SuperDockFaded then + MOD.Cache.SuperDockFaded = nil; SV:SecureFadeIn(LeftSuperDock, 0.2, LeftSuperDock:GetAlpha(), 1) SV:SecureFadeIn(RightSuperDock, 0.2, RightSuperDock:GetAlpha(), 1) else - SVUI_Cache.Docks.SuperDockFaded = true; + MOD.Cache.SuperDockFaded = true; SV:SecureFadeOut(LeftSuperDock, 0.2, LeftSuperDock:GetAlpha(), 0, true) SV:SecureFadeOut(RightSuperDock, 0.2, RightSuperDock:GetAlpha(), 0, true) end @@ -156,7 +156,7 @@ local DockButtonDeactivate = function(self) end local DockletButton_OnEnter = function(self, ...) - if SVUI_Cache.Docks.SuperDockFaded then + if MOD.Cache.SuperDockFaded then LeftSuperDock:Show() SV:SecureFadeIn(LeftSuperDock, 0.2, LeftSuperDock:GetAlpha(), 1) RightSuperDock:Show() @@ -177,7 +177,7 @@ local DockletButton_OnEnter = function(self, ...) end local DockletButton_OnLeave = function(self, ...) - if SVUI_Cache.Docks.SuperDockFaded then + if MOD.Cache.SuperDockFaded then SV:SecureFadeOut(LeftSuperDock, 0.2, LeftSuperDock:GetAlpha(), 0, true) SV:SecureFadeOut(RightSuperDock, 0.2, RightSuperDock:GetAlpha(), 0, true) end @@ -469,7 +469,7 @@ function MOD:CreateDockPanels() leftdock:SetFrameStrata("BACKGROUND") leftdock:Point("BOTTOMLEFT", SV.UIParent, "BOTTOMLEFT", 1, buttonsize + 10) leftdock:Size(leftWidth, leftHeight) - SV:SetSVMovable(leftdock, L["Left Dock"]) + SV.Mentalo:Add(leftdock, L["Left Dock"]) leftalert:SetParent(leftdock) leftalert:SetFrameStrata("BACKGROUND") @@ -513,7 +513,7 @@ function MOD:CreateDockPanels() rightdock:SetFrameStrata("BACKGROUND") rightdock:Point("BOTTOMRIGHT", SV.UIParent, "BOTTOMRIGHT", -1, buttonsize + 10) rightdock:Size(rightWidth, rightHeight) - SV:SetSVMovable(rightdock, L["Right Dock"]) + SV.Mentalo:Add(rightdock, L["Right Dock"]) rightalert:SetParent(rightdock) rightalert:SetFrameStrata("BACKGROUND") @@ -529,7 +529,7 @@ function MOD:CreateDockPanels() rightwindow:Size(rightWidth, rightHeight) rightdock.backdrop = SetSuperDockStyle(rightwindow) - if SVUI_Cache.Docks.SuperDockFaded then LeftSuperDock:Hide() RightSuperDock:Hide() end + if self.Cache.SuperDockFaded then LeftSuperDock:Hide() RightSuperDock:Hide() end local toolbarTop = CreateFrame("Frame", "SuperDockToolBarTop", SV.UIParent) toolbarTop:Point("TOPLEFT", SV.UIParent, "TOPLEFT", 2, -4) @@ -958,8 +958,10 @@ function MOD:ReLoad() end function MOD:Load() - SVUI_Cache = SVUI_Cache or {} - SVUI_Cache.Docks = SVUI_Cache.Docks or { SuperDockFaded = false } + self.Cache = SVLib:NewCache("Docks") + if(not self.Cache.SuperDockFaded) then + self.Cache.SuperDockFaded = false + end self:CreateSuperBorders() self:CreateDockPanels() local width = RightSuperDock:GetWidth(); diff --git a/Interface/AddOns/SVUI/packages/map/SVMap.lua b/Interface/AddOns/SVUI/packages/map/SVMap.lua index 547b5b1..6be534a 100644 --- a/Interface/AddOns/SVUI/packages/map/SVMap.lua +++ b/Interface/AddOns/SVUI/packages/map/SVMap.lua @@ -632,7 +632,7 @@ function MOD:RefreshMiniMap() if SVUI_AurasAnchor then SVUI_AurasAnchor:Height(MM_HEIGHT) - if SVUI_AurasAnchor_MOVE and not SV:TestMovableMoved('SVUI_AurasAnchor_MOVE') and not SV:TestMovableMoved('SVUI_MinimapFrame_MOVE') then + if SVUI_AurasAnchor_MOVE and not SV.Mentalo:HasMoved('SVUI_AurasAnchor_MOVE') and not SV.Mentalo:HasMoved('SVUI_MinimapFrame_MOVE') then SVUI_AurasAnchor_MOVE:ClearAllPoints() SVUI_AurasAnchor_MOVE:Point("TOPRIGHT", SVUI_MinimapFrame_MOVE, "TOPLEFT", -8, 0) end @@ -872,9 +872,7 @@ function MOD:Load() PetJournalParent:SetAttribute("UIPanelLayout-"..name, value); end PetJournalParent:SetAttribute("UIPanelLayout-defined", true); - SV:SetSVMovable(mapHolder, L["Minimap"]) - - setfenv(WorldMapFrame_OnShow, setmetatable({ UpdateMicroButtons = SV.fubar }, { __index = _G })) + SV.Mentalo:Add(mapHolder, L["Minimap"]) if(SV.GameVersion < 60000) then WorldMapShowDropDown:Point('BOTTOMRIGHT',WorldMapPositioningGuide,'BOTTOMRIGHT',-2,-4) @@ -884,13 +882,15 @@ function MOD:Load() WorldMapZoneDropDownButton:HookScript('OnClick', _hook_WorldMapZoneDropDownButton_OnClick) end - WorldMapFrame:SetParent(SV.UIParent) - WorldMapFrame:SetFrameLevel(4) - WorldMapFrame:SetFrameStrata('HIGH') - WorldMapDetailFrame:SetFrameLevel(6) - - WorldMapFrame:HookScript('OnShow', _hook_WorldMapFrame_OnShow) - WorldMapFrame:HookScript('OnHide', _hook_WorldMapFrame_OnHide) + if(self.db.tinyWorldMap) then + setfenv(WorldMapFrame_OnShow, setmetatable({ UpdateMicroButtons = SV.fubar }, { __index = _G })) + WorldMapFrame:SetParent(SV.UIParent) + WorldMapFrame:SetFrameLevel(4) + WorldMapFrame:SetFrameStrata('HIGH') + WorldMapDetailFrame:SetFrameLevel(6) + WorldMapFrame:HookScript('OnShow', _hook_WorldMapFrame_OnShow) + WorldMapFrame:HookScript('OnHide', _hook_WorldMapFrame_OnHide) + end local CoordsHolder = CreateFrame('Frame', 'SVUI_WorldMapCoords', WorldMapFrame) CoordsHolder:SetFrameLevel(WorldMapDetailFrame:GetFrameLevel()+1) @@ -973,7 +973,7 @@ function MOD:Load() MMBBar:SetPoint("CENTER", MMBHolder, "CENTER", 0, 0) MMBBar:SetScript("OnEnter", MMB_OnEnter) MMBBar:SetScript("OnLeave", MMB_OnLeave) - SV:SetSVMovable(MMBHolder, L["Minimap Button Bar"]) + SV.Mentalo:Add(MMBHolder, L["Minimap Button Bar"]) self:UpdateMinimapButtonSettings() end diff --git a/Interface/AddOns/SVUI/packages/override/SVOverride.lua b/Interface/AddOns/SVUI/packages/override/SVOverride.lua index 5872aa5..0b27674 100644 --- a/Interface/AddOns/SVUI/packages/override/SVOverride.lua +++ b/Interface/AddOns/SVUI/packages/override/SVOverride.lua @@ -142,7 +142,7 @@ local Vehicle_OnSetPoint = function(self,_,parent) VehicleSeatIndicator:Point("BOTTOM", VehicleSeatIndicator_MOVE, "BOTTOM", 0, 0) else VehicleSeatIndicator:Point("TOPLEFT", SV.UIParent, "TOPLEFT", 22, -45) - SV:SetSVMovable(VehicleSeatIndicator, L["Vehicle Seat Frame"]) + SV.Mentalo:Add(VehicleSeatIndicator, L["Vehicle Seat Frame"]) end VehicleSeatIndicator:SetScale(0.8) end @@ -1020,7 +1020,7 @@ function MOD:Load() TicketStatusFrame:ClearAllPoints() TicketStatusFrame:SetPoint("TOPLEFT", SV.UIParent, "TOPLEFT", 250, -5) - SV:SetSVMovable(TicketStatusFrame, L["GM Ticket Frame"], nil, nil, nil, nil, "GM") + SV.Mentalo:Add(TicketStatusFrame, L["GM Ticket Frame"], nil, nil, nil, nil, "GM") HelpOpenTicketButton:SetParent(Minimap) HelpOpenTicketButton:ClearAllPoints() HelpOpenTicketButton:SetPoint("TOPRIGHT", Minimap, "TOPRIGHT") @@ -1036,7 +1036,7 @@ function MOD:Load() SVUI_AlertFrame:SetParent(SV.UIParent) SVUI_AlertFrame:SetPoint("TOP", SV.UIParent, "TOP", 0, -18); - SV:SetSVMovable(SVUI_AlertFrame, L["Loot / Alert Frames"], nil, nil, AlertFramePostMove_Hook) + SV.Mentalo:Add(SVUI_AlertFrame, L["Loot / Alert Frames"], nil, nil, AlertFramePostMove_Hook) NewHook('AlertFrame_FixAnchors', AlertFramePostMove_Hook) NewHook('AlertFrame_SetLootAnchors', _hook_AlertFrame_SetLootAnchors) NewHook('AlertFrame_SetLootWonAnchors', _hook_AlertFrame_SetLootWonAnchors) @@ -1052,7 +1052,7 @@ function MOD:Load() LootFrame:UnregisterAllEvents(); SVUI_LootFrame:SetFixedPanelTemplate('Transparent'); SVUI_LootFrame.title:SetFont(LSM:Fetch("font", "SVUI Number Font"),18,"OUTLINE") - SV:SetSVMovable(SVUI_LootFrameHolder, L["Loot Frame"], nil, nil, nil, nil, "SVUI_LootFrame"); + SV.Mentalo:Add(SVUI_LootFrameHolder, L["Loot Frame"], nil, nil, nil, nil, "SVUI_LootFrame"); tinsert(UISpecialFrames, "SVUI_LootFrame"); UIParent:UnregisterEvent("LOOT_BIND_CONFIRM") @@ -1106,7 +1106,7 @@ function MOD:Load() exit:SetScript("OnEvent", BailOut_OnEvent) exit:Hide() - SV:SetSVMovable(exit, L["Bail Out"]) + SV.Mentalo:Add(exit, L["Bail Out"]) local altPower = CreateFrame("Frame", "SVUI_AltPowerBar", UIParent) altPower:SetPoint("TOP", SV.UIParent, "TOP", 0, -18) @@ -1115,15 +1115,15 @@ function MOD:Load() PlayerPowerBarAlt:SetPoint("CENTER", altPower, "CENTER") PlayerPowerBarAlt:SetParent(altPower) PlayerPowerBarAlt.ignoreFramePositionManager = true; - SV:SetSVMovable(altPower, L["Alternative Power"]) + SV.Mentalo:Add(altPower, L["Alternative Power"]) local wsc = CreateFrame("Frame", "SVUI_WorldStateHolder", SV.UIParent) wsc:SetSize(200, 45) wsc:SetPoint("TOP", SV.UIParent, "TOP", 0, -100) - SV:SetSVMovable(wsc, L["Capture Bars"]) + SV.Mentalo:Add(wsc, L["Capture Bars"]) NewHook("UIParent_ManageFramePositions", CaptureBarHandler) - SV:SetSVMovable(LossOfControlFrame, L["Loss Control Icon"], nil, nil, nil, nil, "LoC") + SV.Mentalo:Add(LossOfControlFrame, L["Loss Control Icon"], nil, nil, nil, nil, "LoC") end --[[ ########################################################## diff --git a/Interface/AddOns/SVUI/packages/tip/SVTip.lua b/Interface/AddOns/SVUI/packages/tip/SVTip.lua index bc8d31a..5e92b92 100644 --- a/Interface/AddOns/SVUI/packages/tip/SVTip.lua +++ b/Interface/AddOns/SVUI/packages/tip/SVTip.lua @@ -580,7 +580,7 @@ local _hook_GameTooltip_SetDefaultAnchor = function(self, parent) self:SetOwner(parent, "ANCHOR_NONE") end end - if not SV:TestMovableMoved("SVUI_ToolTip_MOVE")then + if not SV.Mentalo:HasMoved("SVUI_ToolTip_MOVE")then if(SVUI_ContainerFrame and SVUI_ContainerFrame:IsShown()) then self:SetPoint("BOTTOMLEFT", SVUI_ContainerFrame, "TOPLEFT", 0, 18) elseif(RightSuperDock:GetAlpha() == 1 and RightSuperDock:IsShown()) then @@ -856,7 +856,7 @@ end function MOD:Load() BNToastFrame:Point("TOPRIGHT", SVUI_MinimapFrame, "BOTTOMLEFT", 0, -10) - SV:SetSVMovable(BNToastFrame, L["BNet Frame"], nil, nil, nil, nil, "BNET") + SV.Mentalo:Add(BNToastFrame, L["BNet Frame"], nil, nil, nil, nil, "BNET") NewHook(BNToastFrame, "SetPoint", _hook_BNToastOnShow) if not self.db.enable then return end @@ -864,7 +864,7 @@ function MOD:Load() anchor:Point("BOTTOMRIGHT", RightSuperDock, "TOPRIGHT", 0, 60) anchor:Size(130, 20) anchor:SetFrameLevel(anchor:GetFrameLevel() + 50) - SV:SetSVMovable(anchor, L["Tooltip"]) + SV.Mentalo:Add(anchor, L["Tooltip"]) local barHeight = self.db.healthBar.height diff --git a/Interface/AddOns/SVUI/packages/unit/elements/castbar.lua b/Interface/AddOns/SVUI/packages/unit/elements/castbar.lua index 04feec8..bd4c163 100644 --- a/Interface/AddOns/SVUI/packages/unit/elements/castbar.lua +++ b/Interface/AddOns/SVUI/packages/unit/elements/castbar.lua @@ -697,7 +697,7 @@ function MOD:CreateCastbar(frame, reversed, moverName, ryu, useFader, isBoss) castbar.SparkColor = oUF_Villain.colors.spark if moverName then - SV:SetSVMovable(castbar.Holder, moverName, nil, -6, nil, "ALL, SOLO") + SV.Mentalo:Add(castbar.Holder, moverName, nil, -6, nil, "ALL, SOLO") end if useFader then diff --git a/Interface/AddOns/SVUI/packages/unit/frames.lua b/Interface/AddOns/SVUI/packages/unit/frames.lua index dad25bf..06a2194 100644 --- a/Interface/AddOns/SVUI/packages/unit/frames.lua +++ b/Interface/AddOns/SVUI/packages/unit/frames.lua @@ -321,7 +321,7 @@ CONSTRUCTORS["player"] = function(self, unit) self.AuraBars = MOD:CreateAuraBarHeader(self, key) self.CombatFade = true; self:Point("BOTTOMLEFT", SV.UIParent, "BOTTOM", -413, 182) - SV:SetSVMovable(self, L["Player Frame"], nil, nil, nil, "ALL, SOLO") + SV.Mentalo:Add(self, L["Player Frame"], nil, nil, nil, "ALL, SOLO") self.MediaUpdate = MOD.RefreshUnitMedia self.Update = UpdatePlayerFrame @@ -437,7 +437,7 @@ CONSTRUCTORS["target"] = function(self, unit) self.XRay = MOD:CreateXRay(self) self.XRay:SetPoint("TOPRIGHT", 12, 12) self:Point("BOTTOMRIGHT", SV.UIParent, "BOTTOM", 413, 182) - SV:SetSVMovable(self, L["Target Frame"], nil, nil, nil, "ALL, SOLO") + SV.Mentalo:Add(self, L["Target Frame"], nil, nil, nil, "ALL, SOLO") self.MediaUpdate = MOD.RefreshUnitMedia self.Update = UpdateTargetFrame @@ -479,7 +479,7 @@ CONSTRUCTORS["targettarget"] = function(self, unit) self.RaidIcon = MOD:CreateRaidIcon(self) self.Range = { insideAlpha = 1, outsideAlpha = 1 } self:Point("BOTTOM", SV.UIParent, "BOTTOM", 0, 213) - SV:SetSVMovable(self, L["TargetTarget Frame"], nil, nil, nil, "ALL, SOLO") + SV.Mentalo:Add(self, L["TargetTarget Frame"], nil, nil, nil, "ALL, SOLO") self.MediaUpdate = MOD.RefreshUnitMedia self.Update = UpdateTargetTargetFrame @@ -530,7 +530,7 @@ CONSTRUCTORS["pet"] = function(self, unit) self.RaidIcon = MOD:CreateRaidIcon(self) self.Range = { insideAlpha = 1, outsideAlpha = 1 } self:Point("BOTTOM", SV.UIParent, "BOTTOM", 0, 182) - SV:SetSVMovable(self, L["Pet Frame"], nil, nil, nil, "ALL, SOLO") + SV.Mentalo:Add(self, L["Pet Frame"], nil, nil, nil, "ALL, SOLO") self.MediaUpdate = MOD.RefreshUnitMedia self.Update = UpdatePetFrame return self @@ -574,7 +574,7 @@ CONSTRUCTORS["pettarget"] = function(self, unit) self.Debuffs = MOD:CreateDebuffs(self, key) self.Range = { insideAlpha = 1, outsideAlpha = 1 } self:Point("BOTTOM", SVUI_Pet, "TOP", 0, 7) - SV:SetSVMovable(self, L["PetTarget Frame"], nil, -7, nil, "ALL, SOLO") + SV.Mentalo:Add(self, L["PetTarget Frame"], nil, -7, nil, "ALL, SOLO") self.MediaUpdate = MOD.RefreshUnitMedia self.Update = UpdatePetTargetFrame @@ -638,7 +638,7 @@ CONSTRUCTORS["focus"] = function(self, unit) self.XRay = MOD:CreateXRay_Closer(self) self.XRay:SetPoint("RIGHT", 20, 0) self:Point("BOTTOMRIGHT", SVUI_Target, "TOPRIGHT", 0, 220) - SV:SetSVMovable(self, L["Focus Frame"], nil, nil, nil, "ALL, SOLO") + SV.Mentalo:Add(self, L["Focus Frame"], nil, nil, nil, "ALL, SOLO") self.MediaUpdate = MOD.RefreshUnitMedia self.Update = UpdateFocusFrame @@ -679,7 +679,7 @@ CONSTRUCTORS["focustarget"] = function(self, unit) self.RaidIcon = MOD:CreateRaidIcon(self) self.Range = { insideAlpha = 1, outsideAlpha = 1 } self:Point("BOTTOM", SVUI_Focus, "TOP", 0, 7) - SV:SetSVMovable(self, L["FocusTarget Frame"], nil, -7, nil, "ALL, SOLO") + SV.Mentalo:Add(self, L["FocusTarget Frame"], nil, -7, nil, "ALL, SOLO") self.MediaUpdate = MOD.RefreshUnitMedia self.Update = UpdateFocusTargetFrame @@ -752,7 +752,7 @@ CONSTRUCTORS["boss"] = function(self, unit) if(not _G["SVUI_Boss_MOVE"]) then self:Point("RIGHT", SV.UIParent, "RIGHT", -105, 0) - SV:SetSVMovable(self, L["Boss Frames"], nil, nil, nil, "ALL, PARTY, RAID10, RAID25, RAID40", "SVUI_Boss") + SV.Mentalo:Add(self, L["Boss Frames"], nil, nil, nil, "ALL, PARTY, RAID10, RAID25, RAID40", "SVUI_Boss") else self:Point("TOPRIGHT", lastBossFrame, "BOTTOMRIGHT", 0, -20) end @@ -919,7 +919,7 @@ CONSTRUCTORS["arena"] = function(self, unit) if(not _G["SVUI_Arena_MOVE"]) then self:Point("RIGHT", SV.UIParent, "RIGHT", -105, 0) - SV:SetSVMovable(self, L["Arena Frames"], nil, nil, nil, "ALL, ARENA", "SVUI_Arena") + SV.Mentalo:Add(self, L["Arena Frames"], nil, nil, nil, "ALL, ARENA", "SVUI_Arena") else self:Point("TOPRIGHT", lastArenaFrame, "BOTTOMRIGHT", 0, -20) end @@ -1210,7 +1210,7 @@ GROUP_UPDATES["raid10"] = function(self) if not frame.positioned then frame:ClearAllPoints() frame:Point("LEFT", SV.UIParent, "LEFT", 4, 0) - SV:SetSVMovable(frame, L["Raid 10 Frames"], nil, nil, nil, "ALL, RAID"..10) + SV.Mentalo:Add(frame, L["Raid 10 Frames"], nil, nil, nil, "ALL, RAID"..10) frame:RegisterEvent("PLAYER_ENTERING_WORLD") frame:SetScript("OnEvent", Raid10Visibility) PROXY_UPDATES["raid10"] = function() Raid10Visibility(frame) end; @@ -1239,7 +1239,7 @@ GROUP_UPDATES["raid25"] = function(self) if not frame.positioned then frame:ClearAllPoints() frame:Point("LEFT", SV.UIParent, "LEFT", 4, 0) - SV:SetSVMovable(frame, L["Raid 25 Frames"], nil, nil, nil, "ALL, RAID"..25) + SV.Mentalo:Add(frame, L["Raid 25 Frames"], nil, nil, nil, "ALL, RAID"..25) frame:RegisterEvent("PLAYER_ENTERING_WORLD") frame:SetScript("OnEvent", Raid25Visibility) PROXY_UPDATES["raid25"] = function() Raid25Visibility(frame) end; @@ -1268,7 +1268,7 @@ GROUP_UPDATES["raid40"] = function(self) if not frame.positioned then frame:ClearAllPoints() frame:Point("LEFT", SV.UIParent, "LEFT", 4, 0) - SV:SetSVMovable(frame, L["Raid 40 Frames"], nil, nil, nil, "ALL, RAID"..40) + SV.Mentalo:Add(frame, L["Raid 40 Frames"], nil, nil, nil, "ALL, RAID"..40) frame:RegisterEvent("PLAYER_ENTERING_WORLD") frame:SetScript("OnEvent", Raid40Visibility) PROXY_UPDATES["raid40"] = function() Raid40Visibility(frame) end; @@ -1401,7 +1401,7 @@ GROUP_UPDATES["raidpet"] = function(self) if not raidPets.positioned then raidPets:ClearAllPoints() raidPets:Point("BOTTOMLEFT", SV.UIParent, "BOTTOMLEFT", 4, 433) - SV:SetSVMovable(raidPets, L["Raid Pet Frames"], nil, nil, nil, "ALL, RAID10, RAID25, RAID40") + SV.Mentalo:Add(raidPets, L["Raid Pet Frames"], nil, nil, nil, "ALL, RAID10, RAID25, RAID40") raidPets:RegisterEvent("PLAYER_ENTERING_WORLD") raidPets:SetScript("OnEvent", RaidPetVisibility) PROXY_UPDATES["raidpet"] = function() RaidPetVisibility(raidPets) end; @@ -1545,7 +1545,7 @@ GROUP_UPDATES["party"] = function(self) if not group.positioned then group:ClearAllPoints() group:Point("LEFT",SV.UIParent,"LEFT",40,0) - SV:SetSVMovable(group, L['Party Frames'], nil, nil, nil, 'ALL,PARTY,ARENA'); + SV.Mentalo:Add(group, L['Party Frames'], nil, nil, nil, 'ALL,PARTY,ARENA'); group:RegisterEvent("PLAYER_ENTERING_WORLD") group:SetScript("OnEvent", PartyVisibility) PROXY_UPDATES["party"] = function() PartyVisibility(group) end; @@ -1689,7 +1689,7 @@ local UpdateTankFrame = function(self) if not self.positioned then self:ClearAllPoints() self:Point("TOPLEFT", SV.UIParent, "TOPLEFT", 4, -40) - SV:SetSVMovable(self, L["Tank Frames"], nil, nil, nil, "ALL, RAID10, RAID25, RAID40") + SV.Mentalo:Add(self, L["Tank Frames"], nil, nil, nil, "ALL, RAID10, RAID25, RAID40") self.Avatar.positionOverride = "TOPLEFT" self:SetAttribute("minHeight", self.dirtyHeight) self:SetAttribute("minWidth", self.dirtyWidth) @@ -1784,7 +1784,7 @@ local UpdateAssistFrame = function(self) if not self.positioned then self:ClearAllPoints() self:Point("TOPLEFT", SV.UIParent, "TOPLEFT", 4, -140) - SV:SetSVMovable(self, L["Assist Frames"], nil, nil, nil, "ALL, RAID10, RAID25, RAID40") + SV.Mentalo:Add(self, L["Assist Frames"], nil, nil, nil, "ALL, RAID10, RAID25, RAID40") self.Avatar.positionOverride = "TOPLEFT" self:SetAttribute("minHeight", self.dirtyHeight) self:SetAttribute("minWidth", self.dirtyWidth) diff --git a/Interface/AddOns/SVUI/packages/unit/resources/deathknight.lua b/Interface/AddOns/SVUI/packages/unit/resources/deathknight.lua index cd4569e..e98e970 100644 --- a/Interface/AddOns/SVUI/packages/unit/resources/deathknight.lua +++ b/Interface/AddOns/SVUI/packages/unit/resources/deathknight.lua @@ -72,7 +72,7 @@ local Reposition = function(self) bar.Holder:Size(width, size) if(not db.classbar.detachFromFrame) then - SV:ResetMovables(L["Classbar"]) + SV.Mentalo:Reset(L["Classbar"]) end local holderUpdate = bar.Holder:GetScript('OnSizeChanged') if holderUpdate then @@ -125,7 +125,7 @@ function MOD:CreateClassBar(playerFrame) classBarHolder:Point("TOPLEFT", playerFrame, "BOTTOMLEFT", 0, -2) bar:SetPoint("TOPLEFT", classBarHolder, "TOPLEFT", 0, 0) bar.Holder = classBarHolder - SV:SetSVMovable(bar.Holder, L["Classbar"], nil, nil, nil, "ALL, SOLO") + SV.Mentalo:Add(bar.Holder, L["Classbar"], nil, nil, nil, "ALL, SOLO") playerFrame.MaxClassPower = max; playerFrame.ClassBarRefresh = Reposition; diff --git a/Interface/AddOns/SVUI/packages/unit/resources/druid.lua b/Interface/AddOns/SVUI/packages/unit/resources/druid.lua index 3393b92..4504f67 100644 --- a/Interface/AddOns/SVUI/packages/unit/resources/druid.lua +++ b/Interface/AddOns/SVUI/packages/unit/resources/druid.lua @@ -116,7 +116,7 @@ local Reposition = function(self) bar.Holder:Size(width, height) if(not db.classbar.detachFromFrame) then - SV:ResetMovables(L["Classbar"]) + SV.Mentalo:Reset(L["Classbar"]) end local holderUpdate = bar.Holder:GetScript('OnSizeChanged') if holderUpdate then @@ -271,7 +271,7 @@ function MOD:CreateClassBar(playerFrame) classBarHolder:Point("TOPLEFT", playerFrame, "BOTTOMLEFT", 0, -2) bar:SetPoint("TOPLEFT", classBarHolder, "TOPLEFT", 0, 0) bar.Holder = classBarHolder - SV:SetSVMovable(bar.Holder, L["Classbar"], nil, nil, nil, "ALL, SOLO") + SV.Mentalo:Add(bar.Holder, L["Classbar"], nil, nil, nil, "ALL, SOLO") playerFrame.ClassBarRefresh = Reposition; playerFrame.EclipseBar = bar diff --git a/Interface/AddOns/SVUI/packages/unit/resources/mage.lua b/Interface/AddOns/SVUI/packages/unit/resources/mage.lua index e7333c4..a6d33a6 100644 --- a/Interface/AddOns/SVUI/packages/unit/resources/mage.lua +++ b/Interface/AddOns/SVUI/packages/unit/resources/mage.lua @@ -58,7 +58,7 @@ local Reposition = function(self) local width = size * max; bar.Holder:Size(width, size) if(not db.classbar.detachFromFrame) then - SV:ResetMovables(L["Classbar"]) + SV.Mentalo:Reset(L["Classbar"]) end local holderUpdate = bar.Holder:GetScript('OnSizeChanged') if holderUpdate then @@ -191,7 +191,7 @@ function MOD:CreateClassBar(playerFrame) classBarHolder:Point("TOPLEFT", playerFrame, "BOTTOMLEFT", 0, -2) bar:SetPoint("TOPLEFT", classBarHolder, "TOPLEFT", 0, 0) bar.Holder = classBarHolder - SV:SetSVMovable(bar.Holder, L["Classbar"], nil, nil, nil, "ALL, SOLO") + SV.Mentalo:Add(bar.Holder, L["Classbar"], nil, nil, nil, "ALL, SOLO") playerFrame.MaxClassPower = max; playerFrame.ClassBarRefresh = Reposition; diff --git a/Interface/AddOns/SVUI/packages/unit/resources/monk.lua b/Interface/AddOns/SVUI/packages/unit/resources/monk.lua index a0a4a1b..792fb30 100644 --- a/Interface/AddOns/SVUI/packages/unit/resources/monk.lua +++ b/Interface/AddOns/SVUI/packages/unit/resources/monk.lua @@ -58,7 +58,7 @@ local Reposition = function(self) local width = size * max; bar.Holder:Size(width, size) if(not db.classbar.detachFromFrame) then - SV:ResetMovables(L["Classbar"]) + SV.Mentalo:Reset(L["Classbar"]) end local holderUpdate = bar.Holder:GetScript('OnSizeChanged') if holderUpdate then @@ -154,7 +154,7 @@ function MOD:CreateClassBar(playerFrame) classBarHolder:Point("TOPLEFT", playerFrame, "BOTTOMLEFT", 0, -2) bar:SetPoint("TOPLEFT", classBarHolder, "TOPLEFT", 0, 0) bar.Holder = classBarHolder - SV:SetSVMovable(bar.Holder, L["Classbar"], nil, nil, nil, "ALL, SOLO") + SV.Mentalo:Add(bar.Holder, L["Classbar"], nil, nil, nil, "ALL, SOLO") playerFrame.MaxClassPower = max playerFrame.DrunkenMaster = CreateDrunkenMasterBar(playerFrame) diff --git a/Interface/AddOns/SVUI/packages/unit/resources/paladin.lua b/Interface/AddOns/SVUI/packages/unit/resources/paladin.lua index ede5682..9c897a9 100644 --- a/Interface/AddOns/SVUI/packages/unit/resources/paladin.lua +++ b/Interface/AddOns/SVUI/packages/unit/resources/paladin.lua @@ -64,7 +64,7 @@ local Reposition = function(self) local width = size * max; bar.Holder:Size(width, size) if(not db.classbar.detachFromFrame) then - SV:ResetMovables(L["Classbar"]) + SV.Mentalo:Reset(L["Classbar"]) end local holderUpdate = bar.Holder:GetScript('OnSizeChanged') if holderUpdate then @@ -183,7 +183,7 @@ function MOD:CreateClassBar(playerFrame) classBarHolder:Point("TOPLEFT", playerFrame, "BOTTOMLEFT", 0, -2) bar:SetPoint("TOPLEFT", classBarHolder, "TOPLEFT", 0, 0) bar.Holder = classBarHolder - SV:SetSVMovable(bar.Holder, L["Classbar"], nil, nil, nil, "ALL, SOLO") + SV.Mentalo:Add(bar.Holder, L["Classbar"], nil, nil, nil, "ALL, SOLO") playerFrame.MaxClassPower = max; playerFrame.ClassBarRefresh = Reposition; diff --git a/Interface/AddOns/SVUI/packages/unit/resources/priest.lua b/Interface/AddOns/SVUI/packages/unit/resources/priest.lua index 2e28227..f33b6b2 100644 --- a/Interface/AddOns/SVUI/packages/unit/resources/priest.lua +++ b/Interface/AddOns/SVUI/packages/unit/resources/priest.lua @@ -61,7 +61,7 @@ local Reposition = function(self) bar.Holder:Size(width, size) if(not db.classbar.detachFromFrame) then - SV:ResetMovables(L["Classbar"]) + SV.Mentalo:Reset(L["Classbar"]) end local holderUpdate = bar.Holder:GetScript('OnSizeChanged') if holderUpdate then @@ -155,7 +155,7 @@ function MOD:CreateClassBar(playerFrame) classBarHolder:Point("TOPLEFT", playerFrame, "BOTTOMLEFT", 0, -2) bar:SetPoint("TOPLEFT", classBarHolder, "TOPLEFT", 0, 0) bar.Holder = classBarHolder - SV:SetSVMovable(bar.Holder, L["Classbar"], nil, nil, nil, "ALL, SOLO") + SV.Mentalo:Add(bar.Holder, L["Classbar"], nil, nil, nil, "ALL, SOLO") playerFrame.MaxClassPower = max; playerFrame.ClassBarRefresh = Reposition; diff --git a/Interface/AddOns/SVUI/packages/unit/resources/rogue.lua b/Interface/AddOns/SVUI/packages/unit/resources/rogue.lua index d424cbe..8da527f 100644 --- a/Interface/AddOns/SVUI/packages/unit/resources/rogue.lua +++ b/Interface/AddOns/SVUI/packages/unit/resources/rogue.lua @@ -179,7 +179,7 @@ local RepositionTracker = function(self) local textwidth = size * 1.25; bar.Holder:Size(width, size) if(not db.classbar.detachFromFrame) then - SV:ResetMovables(L["Classbar"]) + SV.Mentalo:Reset(L["Classbar"]) end local holderUpdate = bar.Holder:GetScript('OnSizeChanged') if holderUpdate then @@ -258,7 +258,7 @@ function MOD:CreateClassBar(playerFrame) classBarHolder:Point("TOPLEFT", playerFrame, "BOTTOMLEFT", 0, -2) bar:SetPoint("TOPLEFT", classBarHolder, "TOPLEFT", 0, 0) bar.Holder = classBarHolder - SV:SetSVMovable(bar.Holder, L["Classbar"], nil, nil, nil, "ALL, SOLO") + SV.Mentalo:Add(bar.Holder, L["Classbar"], nil, nil, nil, "ALL, SOLO") playerFrame.MaxClassPower = 5; playerFrame.ClassBarRefresh = RepositionTracker; diff --git a/Interface/AddOns/SVUI/packages/unit/resources/shaman.lua b/Interface/AddOns/SVUI/packages/unit/resources/shaman.lua index e25ec32..bbc1340 100644 --- a/Interface/AddOns/SVUI/packages/unit/resources/shaman.lua +++ b/Interface/AddOns/SVUI/packages/unit/resources/shaman.lua @@ -70,7 +70,7 @@ local Reposition = function(self) local width = size * totemMax bar.Holder:Size(width, size) if(not db.classbar.detachFromFrame) then - SV:ResetMovables(L["Classbar"]) + SV.Mentalo:Reset(L["Classbar"]) end local holderUpdate = bar.Holder:GetScript('OnSizeChanged') if holderUpdate then @@ -117,7 +117,7 @@ function MOD:CreateClassBar(playerFrame) classBarHolder:Point("TOPLEFT", playerFrame, "BOTTOMLEFT", 0, -2) bar:SetPoint("TOPLEFT", classBarHolder, "TOPLEFT", 0, 0) bar.Holder = classBarHolder - SV:SetSVMovable(bar.Holder, L["Classbar"], nil, nil, nil, "ALL, SOLO") + SV.Mentalo:Add(bar.Holder, L["Classbar"], nil, nil, nil, "ALL, SOLO") playerFrame.MaxClassPower = totemMax; playerFrame.ClassBarRefresh = Reposition; diff --git a/Interface/AddOns/SVUI/packages/unit/resources/warlock.lua b/Interface/AddOns/SVUI/packages/unit/resources/warlock.lua index f61250c..08f9aec 100644 --- a/Interface/AddOns/SVUI/packages/unit/resources/warlock.lua +++ b/Interface/AddOns/SVUI/packages/unit/resources/warlock.lua @@ -87,7 +87,7 @@ local Reposition = function(self) local dbOffset = (size * 0.15) bar.Holder:Size(width, size) if(not db.classbar.detachFromFrame) then - SV:ResetMovables(L["Classbar"]) + SV.Mentalo:Reset(L["Classbar"]) end local holderUpdate = bar.Holder:GetScript('OnSizeChanged') if holderUpdate then @@ -360,7 +360,7 @@ function MOD:CreateClassBar(playerFrame) classBarHolder:Point("TOPLEFT", playerFrame, "BOTTOMLEFT", 0, -2) bar:SetPoint("TOPLEFT", classBarHolder, "TOPLEFT", 0, 0) bar.Holder = classBarHolder - SV:SetSVMovable(bar.Holder, L["Classbar"], nil, nil, nil, "ALL, SOLO") + SV.Mentalo:Add(bar.Holder, L["Classbar"], nil, nil, nil, "ALL, SOLO") playerFrame.MaxClassPower = max; playerFrame.ClassBarRefresh = Reposition; diff --git a/Interface/AddOns/SVUI/scripts/misc.lua b/Interface/AddOns/SVUI/scripts/misc.lua index f1dea36..4dfd981 100644 --- a/Interface/AddOns/SVUI/scripts/misc.lua +++ b/Interface/AddOns/SVUI/scripts/misc.lua @@ -539,7 +539,7 @@ local function CreateTotemBar() else frame_name = L["Totem Bar"] end - SV:SetSVMovable(TotemBar, frame_name) + SV.Mentalo:Add(TotemBar, frame_name) end SVLib:NewScript(CreateTotemBar) @@ -649,7 +649,7 @@ local function LoadThreatBar() ThreatBar:RegisterEvent('GROUP_ROSTER_UPDATE') ThreatBar:RegisterEvent('UNIT_PET') ThreatBar:SetScript("OnEvent", ThreatBar_OnEvent) - SV:SetSVMovable(ThreatBar, "Threat Bar"); + SV.Mentalo:Add(ThreatBar, "Threat Bar"); end end diff --git a/Interface/AddOns/SVUI/scripts/questwatch.lua b/Interface/AddOns/SVUI/scripts/questwatch.lua index 02f331a..7374e5c 100644 --- a/Interface/AddOns/SVUI/scripts/questwatch.lua +++ b/Interface/AddOns/SVUI/scripts/questwatch.lua @@ -347,7 +347,7 @@ local function CreateQuestDocklet() ObjectiveTrackerFrame.HeaderMenu:RemoveTextures(true) ObjectiveTrackerFrame.BlockDropDown:RemoveTextures(true) - SV:SetSVMovable(frame, "Quest Watch"); + SV.Mentalo:Add(frame, "Quest Watch"); elseif(not SV.db.general.questWatch) then local frame = CreateFrame("Frame", "SVUI_QuestFrame", UIParent); frame:SetSize(200, WatchFrame:GetHeight()); @@ -364,7 +364,7 @@ local function CreateQuestDocklet() WatchFrameLines.SetPoint = SV.fubar; WatchFrameLines.SetAllPoints = SV.fubar; - SV:SetSVMovable(frame, "Quest Watch"); + SV.Mentalo:Add(frame, "Quest Watch"); else local bgTex = [[Interface\BUTTONS\WHITE8X8]] local bdTex = SV.Media.bar.glow diff --git a/Interface/AddOns/SVUI/scripts/spellbind.lua b/Interface/AddOns/SVUI/scripts/spellbind.lua index c8262b2..0451c15 100644 --- a/Interface/AddOns/SVUI/scripts/spellbind.lua +++ b/Interface/AddOns/SVUI/scripts/spellbind.lua @@ -82,11 +82,6 @@ SpellBinder.list:SetPoint("BOTTOMRIGHT", _G["SVUI_SpellBinderInset"], "BOTTOMRIG SpellBinder.list:SetScrollChild(SpellBinder.list.child) local SpellBinderCache; --- SVUI_Cache = SVUI_Cache or {} --- SpellBinderCache = SpellBinderCache or {} --- SpellBinderCache.spells = SpellBinderCache.spells or {} --- SpellBinderCache.frames = SpellBinderCache.frames or {} --- SpellBinderCache.keys = SpellBinderCache.keys or {} --[[ ########################################################## SCRIPT HANDLERS diff --git a/Interface/AddOns/SVUI/system/animate.lua b/Interface/AddOns/SVUI/system/animate.lua index c28cc87..76ff815 100644 --- a/Interface/AddOns/SVUI/system/animate.lua +++ b/Interface/AddOns/SVUI/system/animate.lua @@ -356,7 +356,7 @@ end function Animate:Flash(frame, speed, looped) if not frame.anim then - Animate:SetTemplate(frame, 'Flash', false, speed, looped) + self:SetTemplate(frame, 'Flash', false, speed, looped) end if not frame.anim:IsPlaying() then frame.anim:Play() diff --git a/Interface/AddOns/SVUI/system/load.lua b/Interface/AddOns/SVUI/system/load.lua index 315839d..9c597e7 100644 --- a/Interface/AddOns/SVUI/system/load.lua +++ b/Interface/AddOns/SVUI/system/load.lua @@ -53,52 +53,32 @@ local playerClass = select(2,UnitClass("player")); local function DeleteOldSavedVars() --[[ BEGIN DEPRECATED ]]-- - if SVUI_DATA then SVUI_DATA = nil end - if SVUI_SAFE_DATA then SVUI_SAFE_DATA = nil end - if SVUI_TRACKER then SVUI_TRACKER = nil end - if SVUI_ENEMIES then SVUI_ENEMIES = nil end - if SVUI_JOURNAL then SVUI_JOURNAL = nil end - if SVUI_CHARACTER_LOG then SVUI_CHARACTER_LOG = nil end - if SVUI_MOVED_FRAMES then SVUI_MOVED_FRAMES = nil end - if SVUI_SystemData then SVUI_SystemData = nil end - if SVUI_ProfileData then SVUI_ProfileData = nil end - if SVUI_Filters then SVUI_Filters = nil end - if SVUI_AuraFilters then SVUI_AuraFilters = nil end - if SVUI_AuraWatch then SVUI_AuraWatch = nil end - if SVUI_Cache["Mentalo"]["Blizzard"] then SVUI_Cache["Mentalo"]["Blizzard"] = nil end - if SVUI_Cache["Mentalo"]["UI"] then SVUI_Cache["Mentalo"]["UI"] = nil end - if(SVUI_Profile.SAFEDATA.install_complete) then SVUI_Profile.SAFEDATA.install_complete = nil end + --[[ END DEPRECATED ]]-- end function SV:VersionCheck() local minimumVersion = 4.06; - local installedVersion = SVUI_Profile.SAFEDATA.install_version + local installedVersion = SVLib:GetSafeData("install_version"); if(installedVersion) then if(type(installedVersion) == "string") then - installedVersion = tonumber(SVUI_Profile.SAFEDATA.install_version) + installedVersion = tonumber(installedVersion) end if(type(installedVersion) == "number" and installedVersion < minimumVersion) then - DeleteOldSavedVars() + --DeleteOldSavedVars() -- No current deprecated entries to remove self.Setup:Install(true) end else - DeleteOldSavedVars() self.Setup:Install(true) end end function SV:RefreshEverything(bypass) self:RefreshAllSystemMedia(); - - SV.UIParent:Hide(); - - self:SetSVMovablesPositions(); - SVLib:Update('SVUnit'); + self.UIParent:Hide(); + self.Mentalo:SetPositions(); SVLib:UpdateAll(); - - SV.UIParent:Show(); - + self.UIParent:Show(); if not bypass then self:VersionCheck() end @@ -116,7 +96,8 @@ function SV:Load() local gxWidth = tonumber(match(rez,"(%d+)x%d+")); SVLib:Initialize() - + self.Mentalo:Initialize() + self.DisplaySettings = SVLib:NewCache("Display") if(not self.DisplaySettings.screenheight or (self.DisplaySettings.screenheight and type(self.DisplaySettings.screenheight) ~= "number")) then self.DisplaySettings.screenheight = gxHeight @@ -125,8 +106,6 @@ function SV:Load() self.DisplaySettings.screenwidth = gxWidth end - self:InitializeMentalo() - self:ScreenCalibration(); self:RefreshSystemFonts(); self:LoadSystemAlerts(); @@ -140,8 +119,9 @@ function SV:Launch() self:ScreenCalibration("PLAYER_LOGIN"); self:DefinePlayerRole(); - self:LoadMovables(); - self:SetSVMovablesPositions(); + + self.Mentalo:Launch() + self.Mentalo:SetPositions() self:VersionCheck() @@ -163,12 +143,8 @@ function SV:Launch() self.UIParent:RegisterEvent("SPELLS_CHANGED"); SVLib:Update("SVMap"); - SVLib:Update("SVUnit", true); - collectgarbage("collect") - _G["SVUI_Mentalo"]:SetFixedPanelTemplate("Component") - _G["SVUI_Mentalo"]:SetPanelColor("yellow") - _G["SVUI_MentaloPrecision"]:SetPanelTemplate("Transparent") + collectgarbage("collect") if self.db.general.loginmessage then local logMsg = (L["LOGIN_MSG"]):format("|cffFFFF1A", "|cffAA78FF", self.Version) @@ -242,8 +218,8 @@ local SVUISystem_OnEvent = function(self, event, arg, ...) forceClosed = true end end - if SV.MentaloFrames then - for frame,_ in pairs(SV.MentaloFrames) do + if SV.Mentalo.Frames then + for frame,_ in pairs(SV.Mentalo.Frames) do if _G[frame] and _G[frame]:IsShown() then forceClosed = true; _G[frame]:Hide() diff --git a/Interface/AddOns/SVUI/system/mentalo.lua b/Interface/AddOns/SVUI/system/mentalo.lua index 2ad66a3..f432a8f 100644 --- a/Interface/AddOns/SVUI/system/mentalo.lua +++ b/Interface/AddOns/SVUI/system/mentalo.lua @@ -37,12 +37,17 @@ local SVUI_ADDON_NAME, SV = ... local SVLib = LibStub("LibSuperVillain-1.0") local L = SVLib:Lang(); -SV.MentaloFrames = {} +local Mentalo = {} -local MentaloMover = CreateFrame("Frame", nil) -local MentaloCache, AnchorCache; +Mentalo.Frames = {} +Mentalo.Anchors = {} +Mentalo.Blizzard = {} + +local MentaloEventHandler = CreateFrame("Frame", nil) local Sticky = {}; +Sticky.Frames = {}; +Sticky.Frames[1] = SV.UIParent; Sticky.scripts = Sticky.scripts or {} Sticky.rangeX = 15 Sticky.rangeY = 15 @@ -130,7 +135,7 @@ local function SnapStickyFrame(frameA, frameB, left, top, right, bottom) end end -local function GetStickyUpdate(frame, frameList, xoffset, yoffset, left, top, right, bottom) +function Sticky:GetStickyUpdate(frame, xoffset, yoffset, left, top, right, bottom) return function() local x, y = GetCursorPosition() local s = frame:GetEffectiveScale() @@ -138,12 +143,12 @@ local function GetStickyUpdate(frame, frameList, xoffset, yoffset, left, top, ri x, y = x / s, y / s frame:ClearAllPoints() frame:SetPoint("CENTER", UIParent, "BOTTOMLEFT", x + xoffset, y + yoffset) - Sticky.sticky[frame] = nil - for i = 1, #frameList do - local v = frameList[i] - if frame ~= v and frame ~= v:GetParent() and not IsShiftKeyDown() and v:IsVisible() then + self.sticky[frame] = nil + for i = 1, #Sticky.Frames do + local v = Sticky.Frames[i] + if(frame ~= v and frame ~= v:GetParent() and not IsShiftKeyDown() and v:IsVisible()) then if SnapStickyFrame(frame, v, left, top, right, bottom) then - Sticky.sticky[frame] = v + self.sticky[frame] = v break end end @@ -151,14 +156,14 @@ local function GetStickyUpdate(frame, frameList, xoffset, yoffset, left, top, ri end end -function Sticky:StartMoving(frame, frameList, left, top, right, bottom) +function Sticky:StartMoving(frame, left, top, right, bottom) local x, y = GetCursorPosition() local aX, aY = frame:GetCenter() local aS = frame:GetEffectiveScale() aX, aY = aX * aS, aY * aS local xoffset, yoffset = (aX - x), (aY - y) self.scripts[frame] = frame:GetScript("OnUpdate") - frame:SetScript("OnUpdate", GetStickyUpdate(frame, frameList, xoffset, yoffset, left, top, right, bottom)) + frame:SetScript("OnUpdate", Sticky.GetStickyUpdate(Sticky, frame, xoffset, yoffset, left, top, right, bottom)) end function Sticky:StopMoving(frame) @@ -179,82 +184,6 @@ LOCAL VARS ]]-- local CurrentFrameTarget = false; local UpdateFrameTarget = false; -local userHolding = false; -local HandledFrames = {}; -local DraggableFrames = { - "AchievementFrame", - "AuctionFrame", - "ArchaeologyFrame", - "BattlefieldMinimap", - "BarberShopFrame", - "BlackMarketFrame", - "CalendarFrame", - "CharacterFrame", - "ClassTrainerFrame", - "DressUpFrame", - "EncounterJournal", - "FriendsFrame", - "GameMenuFrame", - "GMSurveyFrame", - "GossipFrame", - "GuildFrame", - "GuildBankFrame", - "GuildRegistrarFrame", - "HelpFrame", - "InterfaceOptionsFrame", - "ItemUpgradeFrame", - "KeyBindingFrame", - "LFGDungeonReadyPopup", - "MacOptionsFrame", - "MacroFrame", - "MailFrame", - "MerchantFrame", - "PlayerTalentFrame", - "PetJournalParent", - "PVEFrame", - "PVPFrame", - "QuestFrame", - "QuestLogFrame", - "RaidBrowserFrame", - "ReadyCheckFrame", - "ReforgingFrame", - "ReportCheatingDialog", - "ReportPlayerNameDialog", - "RolePollPopup", - "ScrollOfResurrectionSelectionFrame", - "SpellBookFrame", - "TabardFrame", - "TaxiFrame", - "TimeManagerFrame", - "TradeSkillFrame", - "TradeFrame", - "TransmorgifyFrame", - "TutorialFrame", - "VideoOptionsFrame", - "VoidStorageFrame", - --"WorldStateAlwaysUpFrame" -}; --- local MentaloUIFrames = { --- "ArcheologyDigsiteProgressBar", --- }; -local theHand = CreateFrame("Frame", "SVUI_HandOfMentalo", SV.UIParent) -theHand:SetFrameStrata("DIALOG") -theHand:SetFrameLevel(99) -theHand:SetClampedToScreen(true) -theHand:SetSize(128,128) -theHand:SetPoint("CENTER") -theHand.bg = theHand:CreateTexture(nil, "OVERLAY") -theHand.bg:SetAllPoints(theHand) -theHand.bg:SetTexture([[Interface\AddOns\SVUI\assets\artwork\Doodads\MENTALO-HAND-OFF]]) -theHand.energy = theHand:CreateTexture(nil, "OVERLAY") -theHand.energy:SetAllPoints(theHand) -theHand.energy:SetTexture([[Interface\AddOns\SVUI\assets\artwork\Doodads\MENTALO-ENERGY]]) -SV.Animate:Orbit(theHand.energy, 10) -theHand.flash = theHand.energy.anim; -theHand.energy:Hide() -theHand.elapsedTime = 0; -theHand.flash:Stop() -theHand:Hide() --[[ ########################################################## LOCAL FUNCTIONS @@ -292,12 +221,95 @@ local function Pinpoint(parent) result = "CENTER" end return result -end +end + +local function CurrentPosition(frame) + if not frame then return end + local anchor1, parent, anchor2, x, y = frame:GetPoint() + local parentName + if not parent then + parentName = "SVUIParent" + elseif not parent:GetName() then + parentName = "SVUI_Player" + else + parentName = parent:GetName() + end + return ("%s\031%s\031%s\031%d\031%d"):format(anchor1, parentName, anchor2, parsefloat(x), parsefloat(y)) +end -local function TheHand_SetPos(frame) - theHand:SetPoint("CENTER", frame, "TOP", 0, 0) +local function GrabUsableRegions(frame) + local parent = frame or SV.UIParent + local right = parent:GetRight() + local top = parent:GetTop() + local center = parent:GetCenter() + return right, top, center end +local function CalculateOffsets(frame) + if(not CurrentFrameTarget) then return end + local right, top, center = GrabUsableRegions() + local xOffset, yOffset = CurrentFrameTarget:GetCenter() + local screenLeft = (right * 0.33); + local screenRight = (right * 0.66); + local topMedian = (top * 0.5); + local anchor, a1, a2; + + if(yOffset >= (top * 0.5)) then + a1 = "TOP" + yOffset = -(top - CurrentFrameTarget:GetTop()) + else + a1 = "BOTTOM" + yOffset = CurrentFrameTarget:GetBottom() + end + + if xOffset >= screenRight then + a2 = "RIGHT" + xOffset = (CurrentFrameTarget:GetRight() - right) + elseif xOffset <= screenLeft then + a2 = "LEFT" + xOffset = CurrentFrameTarget:GetLeft() + else + a2 = "" + xOffset = (xOffset - center) + end + + xOffset = parsefloat(xOffset, 0) + yOffset = parsefloat(yOffset, 0) + anchor = ("%s%s"):format(a1,a2) + return xOffset, yOffset, anchor +end + +--[[ + /$$$$$$$$/$$ /$$ /$$$$$$$$ /$$ /$$ /$$$$$$ /$$ /$$ /$$$$$$$ +|__ $$__/ $$ | $$| $$_____/ | $$ | $$ /$$__ $$| $$$ | $$| $$__ $$ + | $$ | $$ | $$| $$ | $$ | $$| $$ \ $$| $$$$| $$| $$ \ $$ + | $$ | $$$$$$$$| $$$$$ | $$$$$$$$| $$$$$$$$| $$ $$ $$| $$ | $$ + | $$ | $$__ $$| $$__/ | $$__ $$| $$__ $$| $$ $$$$| $$ | $$ + | $$ | $$ | $$| $$ | $$ | $$| $$ | $$| $$\ $$$| $$ | $$ + | $$ | $$ | $$| $$$$$$$$ | $$ | $$| $$ | $$| $$ \ $$| $$$$$$$/ + |__/ |__/ |__/|________/ |__/ |__/|__/ |__/|__/ \__/|_______/ +--]] + +local TheHand = CreateFrame("Frame", "SVUI_HandOfMentalo", SV.UIParent) +TheHand:SetFrameStrata("DIALOG") +TheHand:SetFrameLevel(99) +TheHand:SetClampedToScreen(true) +TheHand:SetSize(128,128) +TheHand:SetPoint("CENTER") +TheHand.bg = TheHand:CreateTexture(nil, "OVERLAY") +TheHand.bg:SetAllPoints(TheHand) +TheHand.bg:SetTexture([[Interface\AddOns\SVUI\assets\artwork\Doodads\MENTALO-HAND-OFF]]) +TheHand.energy = TheHand:CreateTexture(nil, "OVERLAY") +TheHand.energy:SetAllPoints(TheHand) +TheHand.energy:SetTexture([[Interface\AddOns\SVUI\assets\artwork\Doodads\MENTALO-ENERGY]]) +SV.Animate:Orbit(TheHand.energy, 10) +TheHand.flash = TheHand.energy.anim; +TheHand.energy:Hide() +TheHand.elapsedTime = 0; +TheHand.flash:Stop() +TheHand:Hide() +TheHand.UserHeld = false; + local TheHand_OnUpdate = function(self, elapsed) self.elapsedTime = self.elapsedTime + elapsed if self.elapsedTime > 0.1 then @@ -308,390 +320,320 @@ local TheHand_OnUpdate = function(self, elapsed) end end -local function EnableTheHand() - theHand:Show() - theHand.bg:SetTexture([[Interface\AddOns\SVUI\assets\artwork\Doodads\MENTALO-HAND-ON]]) - theHand.energy:Show() - theHand.flash:Play() - theHand:SetScript("OnUpdate", TheHand_OnUpdate) +function TheHand:Enable() + self:Show() + self.bg:SetTexture([[Interface\AddOns\SVUI\assets\artwork\Doodads\MENTALO-HAND-ON]]) + self.energy:Show() + self.flash:Play() + self:SetScript("OnUpdate", TheHand_OnUpdate) end -local function DisableTheHand() - theHand.flash:Stop() - theHand.energy:Hide() - theHand.bg:SetTexture([[Interface\AddOns\SVUI\assets\artwork\Doodads\MENTALO-HAND-OFF]]) - theHand:SetScript("OnUpdate", nil) - theHand.elapsedTime = 0 - theHand:Hide() +function TheHand:Disable() + self.flash:Stop() + self.energy:Hide() + self.bg:SetTexture([[Interface\AddOns\SVUI\assets\artwork\Doodads\MENTALO-HAND-OFF]]) + self:SetScript("OnUpdate", nil) + self.elapsedTime = 0 + self:Hide() end +--[[ +########################################################## +HANDLERS +########################################################## +]]-- +local Movable_OnMouseUp = function(self) + CurrentFrameTarget = self; + local xOffset, yOffset, anchor = CalculateOffsets() + SVUI_MentaloPrecisionSetX:SetText(xOffset) + SVUI_MentaloPrecisionSetY:SetText(yOffset) + SVUI_MentaloPrecisionSetX.CurrentValue = xOffset; + SVUI_MentaloPrecisionSetY.CurrentValue = yOffset; + SVUI_MentaloPrecision.Title:SetText(self.textString) +end -local function Mentalo_OnSizeChanged(frame) +local Movable_OnSizeChanged = function(self) if InCombatLockdown()then return end - if frame.dirtyWidth and frame.dirtyHeight then - frame.Avatar:Size(frame.dirtyWidth, frame.dirtyHeight) + if self.dirtyWidth and self.dirtyHeight then + self.Avatar:Size(self.dirtyWidth, self.dirtyHeight) else - frame.Avatar:Size(frame:GetSize()) + self.Avatar:Size(self:GetSize()) end end -function MentaloMover:MakeMovable(frame) - if HandledFrames then - for _, f in pairs(HandledFrames)do - if frame:GetName() == f then return end - end - end - if SVUI and frame:GetName() == "LossOfControlFrame" then return end - frame:EnableMouse(true) - if frame:GetName() == "LFGDungeonReadyPopup" then - LFGDungeonReadyDialog:EnableMouse(false) +local Movable_OnDragStart = function(self) + if InCombatLockdown() then SV:AddonMessage(ERR_NOT_IN_COMBAT)return end + if SV.db.general.stickyFrames then + Sticky:StartMoving(self, self.snapOffset, self.snapOffset, self.snapOffset, self.snapOffset) + else + self:StartMoving() end - frame:SetMovable(true) - frame:RegisterForDrag("LeftButton") - frame:SetClampedToScreen(true) - frame:HookScript("OnUpdate", function(this) - if InCombatLockdown() or this:GetName() == "GameMenuFrame" then return end - if this.IsMoving then return end - this:ClearAllPoints() - if this:GetName() == "QuestFrame" then - if MentaloCache["GossipFrame"].Points ~= nil then - this:SetPoint(unpack(MentaloCache["GossipFrame"].Points)) - end - elseif MentaloCache[this:GetName()].Points ~= nil then - this:SetPoint(unpack(MentaloCache[this:GetName()].Points)) - end - end) - frame:SetScript("OnDragStart", function(this) - if not this:IsMovable() then return end - this:StartMoving() - this.IsMoving = true - end) - frame:SetScript("OnDragStop", function(this) - if not this:IsMovable() then return end - this.IsMoving = false; - this:StopMovingOrSizing() - if this:GetName() == "GameMenuFrame"then return end - local anchor1, parent, anchor2, x, y = this:GetPoint() - parent = this:GetParent():GetName() - this:ClearAllPoints() - this:SetPoint(anchor1, parent, anchor2, x, y) - if this:GetName() == "QuestFrame" then - MentaloCache["GossipFrame"].Points = {anchor1, parent, anchor2, x, y} - else - MentaloCache[this:GetName()].Points = {anchor1, parent, anchor2, x, y} - end - end) - tinsert(HandledFrames, frame:GetName()) + UpdateFrameTarget = self; + MentaloEventHandler:Show() + TheHand:Enable() + TheHand.UserHeld = true end -local Movable_OnEvent = function(self) - for _, frame in pairs(DraggableFrames)do - if _G[frame] then - if MentaloCache[frame] == nil then - MentaloCache[frame] = {} - end - MentaloCache["GameMenuFrame"] = {} - MakeMovable(_G[frame]) - end +local Movable_OnDragStop = function(self) + if InCombatLockdown()then SV:AddonMessage(ERR_NOT_IN_COMBAT)return end + TheHand.UserHeld = false; + if SV.db.general.stickyFrames then + Sticky:StopMoving(self) + else + self:StopMovingOrSizing() + end + local pR, pT, pC = GrabUsableRegions() + local cX, cY = self:GetCenter() + local newAnchor; + if cY >= (pT * 0.5) then + newAnchor = "TOP"; + cY = (-(pT - self:GetTop())) + else + newAnchor = "BOTTOM" + cY = self:GetBottom() + end + if cX >= (pR * 0.66) then + newAnchor = newAnchor.."RIGHT" + cX = self:GetRight() - pR + elseif cX <= (pR * 0.33) then + newAnchor = newAnchor.."LEFT" + cX = self:GetLeft() + else + cX = cX - pC + end + if self.positionOverride then + self.parent:ClearAllPoints() + self.parent:Point(self.positionOverride, self, self.positionOverride) end -end -local function GrabUsableRegions(frame) - local parent = frame or SV.UIParent - local right = parent:GetRight() - local top = parent:GetTop() - local center = parent:GetCenter() - return right, top, center -end + self:ClearAllPoints() + self:Point(newAnchor, SV.UIParent, newAnchor, cX, cY) -local function FindLoc(frame) - if not frame then return end - local anchor1, parent, anchor2, x, y = frame:GetPoint() - local parentName - if not parent then - parentName = "SVUIParent" - elseif not parent:GetName() then - parentName = "SVUI_Player" - else - parentName = parent:GetName() + Mentalo:SaveMovable(moveName) + + if SVUI_MentaloPrecision then + Movable_OnMouseUp(self) end - return ("%s\031%s\031%s\031%d\031%d"):format(anchor1, parentName, anchor2, parsefloat(x), parsefloat(y)) + + UpdateFrameTarget = nil; + MentaloEventHandler:Hide() + if(dragStopFunc ~= nil and type(dragStopFunc) == "function") then + dragStopFunc(self, Pinpoint(self)) + end + self:SetUserPlaced(false) + TheHand:Disable() +end + +local Movable_OnEnter = function(self) + if TheHand.UserHeld then return end + self:SetAlpha(1) + self.text:SetTextColor(1, 1, 1) + UpdateFrameTarget = self; + MentaloEventHandler:GetScript("OnUpdate")(MentaloEventHandler) + SVUI_Mentalo.Avatar:SetTexture([[Interface\AddOns\SVUI\assets\artwork\Doodads\MENTALO-ON]]) + TheHand:SetPoint("CENTER", self, "TOP", 0, 0) + TheHand:Show() + if CurrentFrameTarget ~= self then + SVUI_MentaloPrecision:Hide() + Movable_OnMouseUp(self) + end end -local function ghost(list, alpha) - local frame; - for f, _ in pairs(list)do - frame = _G[f] - if frame then - frame:SetAlpha(alpha) +local Movable_OnLeave = function(self) + if TheHand.UserHeld then return end + self:SetAlpha(0.4) + self.text:SetTextColor(0.1, 0.8, 0.8) + SVUI_Mentalo.Avatar:SetTexture([[Interface\AddOns\SVUI\assets\artwork\Doodads\MENTALO-OFF]]) + TheHand:Hide() +end + +local Movable_OnMouseDown = function(self, arg) + if arg == "RightButton"then + TheHand.UserHeld = false; + SVUI_MentaloPrecision:Show() + if SV.db.general.stickyFrames then + Sticky:StopMoving(self) + else + self:StopMovingOrSizing() end end -end +end -local function SetSVMovable(frame, moveName, title, raised, snap, dragStopFunc) +local Movable_OnShow = function(self) + self:SetBackdropBorderColor(0.1, 0.8, 0.8) +end +--[[ +########################################################## +CONSTRUCTS +########################################################## +]]-- +function Mentalo:New(frame, moveName, title, raised, snap, dragStopFunc) if(not frame) then return end - if SV.MentaloFrames[moveName].Created then return end + if self.Frames[moveName].Created then return end if raised == nil then raised = true end + local movable = CreateFrame("Button", moveName, SV.UIParent) movable:SetFrameLevel(frame:GetFrameLevel() + 1) movable:SetClampedToScreen(true) movable:SetWidth(frame:GetWidth()) movable:SetHeight(frame:GetHeight()) + movable.parent = frame; movable.name = moveName; movable.textString = title; movable.postdrag = dragStopFunc; movable.overlay = raised; movable.snapOffset = snap or -2; - SV.MentaloFrames[moveName].Avatar = movable; - SV["Snap"][#SV["Snap"] + 1] = movable; + if raised == true then movable:SetFrameStrata("DIALOG") else movable:SetFrameStrata("BACKGROUND") end - local anchor1, anchorParent, anchor2, xPos, yPos = split("\031", FindLoc(frame)) - if AnchorCache and AnchorCache[moveName] then - if type(AnchorCache[moveName]) == "table"then - movable:SetPoint(AnchorCache[moveName]["p"], SV.UIParent, AnchorCache[moveName]["p2"], AnchorCache[moveName]["p3"], AnchorCache[moveName]["p4"]) - AnchorCache[moveName] = FindLoc(movable) + + local anchor1, anchorParent, anchor2, xPos, yPos = split("\031", CurrentPosition(frame)) + if(self.Anchors and self.Anchors[moveName]) then + if(type(self.Anchors[moveName]) == "table") then + movable:SetPoint(self.Anchors[moveName]["p"], SV.UIParent, self.Anchors[moveName]["p2"], self.Anchors[moveName]["p3"], self.Anchors[moveName]["p4"]) + self.Anchors[moveName] = CurrentPosition(movable) movable:ClearAllPoints() end - anchor1, anchorParent, anchor2, xPos, yPos = split("\031", AnchorCache[moveName]) + anchor1, anchorParent, anchor2, xPos, yPos = split("\031", self.Anchors[moveName]) movable:SetPoint(anchor1, anchorParent, anchor2, xPos, yPos) else movable:SetPoint(anchor1, anchorParent, anchor2, xPos, yPos) end + movable:SetFixedPanelTemplate("Transparent") movable:SetAlpha(0.4) - movable:RegisterForDrag("LeftButton", "RightButton") - movable:SetScript("OnDragStart", function(this) - if InCombatLockdown()then SV:AddonMessage(ERR_NOT_IN_COMBAT)return end - if SV.db.general.stickyFrames then - Sticky:StartMoving(this, SV["Snap"], movable.snapOffset, movable.snapOffset, movable.snapOffset, movable.snapOffset) - else - this:StartMoving() - end - UpdateFrameTarget = this; - _G["SVUI_MentaloEventHandler"]:Show() - EnableTheHand() - userHolding = true - end) - movable:SetScript("OnMouseUp", SV.MovableFocused) - movable:SetScript("OnDragStop", function(this) - if InCombatLockdown()then SV:AddonMessage(ERR_NOT_IN_COMBAT)return end - userHolding = false; - if SV.db.general.stickyFrames then - Sticky:StopMoving(this) - else - this:StopMovingOrSizing() - end - local pR, pT, pC = GrabUsableRegions() - local cX, cY = this:GetCenter() - local newAnchor; - if cY >= (pT / 2) then - newAnchor = "TOP"; - cY = (-(pT - this:GetTop())) - else - newAnchor = "BOTTOM" - cY = this:GetBottom() - end - if cX >= ((pR * 2) / 3) then - newAnchor = newAnchor.."RIGHT" - cX = this:GetRight() - pR - elseif cX <= (pR / 3) then - newAnchor = newAnchor.."LEFT" - cX = this:GetLeft() - else - cX = cX - pC - end - if this.positionOverride then - this.parent:ClearAllPoints() - this.parent:Point(this.positionOverride, this, this.positionOverride) - end - this:ClearAllPoints() - this:Point(newAnchor, SV.UIParent, newAnchor, cX, cY) - SV:SaveMovableLoc(moveName) - if SVUI_MentaloPrecision then - SV:MentaloFocusUpdate(this) - end - UpdateFrameTarget = nil; - _G["SVUI_MentaloEventHandler"]:Hide() - if dragStopFunc ~= nil and type(dragStopFunc) == "function" then - dragStopFunc(this, Pinpoint(this)) - end - this:SetUserPlaced(false) - DisableTheHand() - end) - frame:SetScript("OnSizeChanged", Mentalo_OnSizeChanged) + self.Frames[moveName].Avatar = movable; + Sticky.Frames[#Sticky.Frames + 1] = movable; + + frame:SetScript("OnSizeChanged", Movable_OnSizeChanged) frame.Avatar = movable; frame:ClearAllPoints() frame:SetPoint(anchor1, movable, 0, 0) - local u = movable:CreateFontString(nil, "OVERLAY") - u:SetFontTemplate() - u:SetJustifyH("CENTER") - u:SetPoint("CENTER") - u:SetText(title or moveName) - u:SetTextColor(unpack(SV.Media.color.highlight)) - - movable:SetFontString(u) - movable.text = u; - movable:SetScript("OnEnter", function(this) - if userHolding then return end - this:SetAlpha(1) - this.text:SetTextColor(1, 1, 1) - UpdateFrameTarget = this; - _G["SVUI_MentaloEventHandler"]:GetScript("OnUpdate")(_G["SVUI_MentaloEventHandler"]) - SVUI_Mentalo.Avatar:SetTexture([[Interface\AddOns\SVUI\assets\artwork\Doodads\MENTALO-ON]]) - TheHand_SetPos(this) - theHand:Show() - if CurrentFrameTarget ~= this then - SVUI_MentaloPrecision:Hide() - SV.MovableFocused(this) - end - end) - movable:SetScript("OnMouseDown", function(this, arg) - if arg == "RightButton"then - userHolding = false; - SVUI_MentaloPrecision:Show() - if SV.db.general.stickyFrames then - Sticky:StopMoving(this) - else - this:StopMovingOrSizing() - end - end - end) - movable:SetScript("OnLeave", function(this) - if userHolding then return end - this:SetAlpha(0.4) - this.text:SetTextColor(unpack(SV.Media.color.highlight)) - SVUI_Mentalo.Avatar:SetTexture([[Interface\AddOns\SVUI\assets\artwork\Doodads\MENTALO-OFF]]) - theHand:Hide() - end) - movable:SetScript("OnShow", function(this)this:SetBackdropBorderColor(unpack(SV.Media.color.highlight))end) + local mtext = movable:CreateFontString(nil, "OVERLAY") + mtext:SetFontTemplate() + mtext:SetJustifyH("CENTER") + mtext:SetPoint("CENTER") + mtext:SetText(title or moveName) + mtext:SetTextColor(0.1, 0.8, 0.8) + + movable:SetFontString(mtext) + movable.text = mtext; + + movable:RegisterForDrag("LeftButton", "RightButton") + movable:SetScript("OnMouseUp", Movable_OnMouseUp) + movable:SetScript("OnDragStart", Movable_OnDragStart) + movable:SetScript("OnDragStop", Movable_OnDragStop) + movable:SetScript("OnEnter", Movable_OnEnter) + movable:SetScript("OnMouseDown", Movable_OnMouseDown) + movable:SetScript("OnLeave", Movable_OnLeave) + movable:SetScript("OnShow", Movable_OnShow) + movable:SetMovable(true) movable:Hide() - if dragStopFunc ~= nil and type(dragStopFunc) == "function"then + + if dragStopFunc ~= nil and type(dragStopFunc) == "function" then movable:RegisterEvent("PLAYER_ENTERING_WORLD") movable:SetScript("OnEvent", function(this, event) - dragStopFunc(movable, Pinpoint(movable)) + local point = Pinpoint(this) + dragStopFunc(this, point) this:UnregisterAllEvents() end) end - SV.MentaloFrames[moveName].Created = true -end ---[[ -########################################################## -GLOBAL/MODULE FUNCTIONS -########################################################## -]]-- -function SV:MentaloForced(frame) - if _G[frame] and _G[frame]:GetScript("OnDragStop") then - _G[frame]:GetScript("OnDragStop")(_G[frame]) - end -end -function SV:TestMovableMoved(frame) - if AnchorCache and AnchorCache[frame] then + self.Frames[moveName].Created = true +end + +function Mentalo:HasMoved(frame) + if self.Anchors and self.Anchors[frame] then return true else return false end end -function SV:SaveMovableLoc(frame) +function Mentalo:SaveMovable(frame) if not _G[frame] then return end - if not AnchorCache then - AnchorCache = {} + if not self.Anchors then + self.Anchors = {} end - AnchorCache[frame] = FindLoc(_G[frame]) + self.Anchors[frame] = CurrentPosition(_G[frame]) end -function SV:SetSnapOffset(frame, snapOffset) - if not _G[frame] or not SV.MentaloFrames[frame] then return end - SV.MentaloFrames[frame].Avatar.snapOffset = snapOffset or -2; - SV.MentaloFrames[frame]["snapoffset"] = snapOffset or -2 +function Mentalo:ChangeSnapOffset(frame, snapOffset) + if not _G[frame] or not self.Frames[frame] then return end + self.Frames[frame].Avatar.snapOffset = snapOffset or -2; + self.Frames[frame]["snapoffset"] = snapOffset or -2 end -function SV:SaveMovableOrigin(frame) - if not _G[frame] then return end - SV.MentaloFrames[frame]["point"] = FindLoc(_G[frame]) - SV.MentaloFrames[frame]["postdrag"](_G[frame], Pinpoint(_G[frame])) -end - -function SV:SetSVMovable(frame, title, raised, snapOffset, dragStopFunc, movableGroup, overrideName) +function Mentalo:Add(frame, title, raised, snapOffset, dragStopFunc, movableGroup, overrideName) if(not frame or (not overrideName and not frame:GetName())) then return end local frameName = overrideName or frame:GetName() local moveName = ("%s_MOVE"):format(frameName) if not movableGroup then movableGroup = "ALL, GENERAL" end - if SV.MentaloFrames[moveName] == nil then - SV.MentaloFrames[moveName] = {} - SV.MentaloFrames[moveName]["parent"] = frame; - SV.MentaloFrames[moveName]["text"] = title; - SV.MentaloFrames[moveName]["overlay"] = raised; - SV.MentaloFrames[moveName]["postdrag"] = dragStopFunc; - SV.MentaloFrames[moveName]["snapoffset"] = snapOffset; - SV.MentaloFrames[moveName]["point"] = FindLoc(frame) - SV.MentaloFrames[moveName]["type"] = {} + if self.Frames[moveName] == nil then + self.Frames[moveName] = {} + self.Frames[moveName]["parent"] = frame; + self.Frames[moveName]["text"] = title; + self.Frames[moveName]["overlay"] = raised; + self.Frames[moveName]["postdrag"] = dragStopFunc; + self.Frames[moveName]["snapoffset"] = snapOffset; + self.Frames[moveName]["point"] = CurrentPosition(frame) + self.Frames[moveName]["type"] = {} local group = {split(", ", movableGroup)} for i = 1, #group do local this = group[i] - SV.MentaloFrames[moveName]["type"][this] = true + self.Frames[moveName]["type"][this] = true end - end - SetSVMovable(frame, moveName, title, raised, snapOffset, dragStopFunc) -end + end -function SV:ToggleMovables(enabled, configType) - for frameName, _ in pairs(SV.MentaloFrames)do - if(_G[frameName]) then - local movable = _G[frameName] - if(not enabled) then - movable:Hide() - else - if SV.MentaloFrames[frameName]["type"][configType]then - movable:Show() - else - movable:Hide() - end - end + self:New(frame, moveName, title, raised, snapOffset, dragStopFunc) + + local ghost; + for entry,_ in pairs(self.Frames) do + ghost = _G[entry] + if(ghost) then + ghost:SetAlpha(0.5) end end -end +end -function SV:ResetMovables(request) +function Mentalo:Reset(request) if request == "" or request == nil then - for name, _ in pairs(SV.MentaloFrames)do + for name, _ in pairs(self.Frames)do local frame = _G[name]; - if SV.MentaloFrames[name]["point"] then - local u, v, w, x, y = split("\031", SV.MentaloFrames[name]["point"]) + if self.Frames[name]["point"] then + local u, v, w, x, y = split("\031", self.Frames[name]["point"]) frame:ClearAllPoints() frame:SetPoint(u, v, w, x, y) - for arg, func in pairs(SV.MentaloFrames[name])do + for arg, func in pairs(self.Frames[name])do if arg == "postdrag" and type(func) == "function" then func(frame, Pinpoint(frame)) end end end end - MentaloCache:Reset("anchors") + wipe(self.Anchors) else - for name, _ in pairs(SV.MentaloFrames)do - if SV.MentaloFrames[name]["point"] then - for arg1, arg2 in pairs(SV.MentaloFrames[name])do + for name, _ in pairs(self.Frames)do + if self.Frames[name]["point"] then + for arg1, arg2 in pairs(self.Frames[name])do local mover; if arg1 == "text" then if request == arg2 then local frame = _G[name] - local u, v, w, x, y = split("\031", SV.MentaloFrames[name]["point"]) + local u, v, w, x, y = split("\031", self.Frames[name]["point"]) frame:ClearAllPoints() frame:SetPoint(u, v, w, x, y) - if AnchorCache then - AnchorCache[name] = nil + if self.Anchors then + self.Anchors[name] = nil end - if (SV.MentaloFrames[name]["postdrag"] ~= nil and type(SV.MentaloFrames[name]["postdrag"]) == "function")then - SV.MentaloFrames[name]["postdrag"](frame, Pinpoint(frame)) + if (self.Frames[name]["postdrag"] ~= nil and type(self.Frames[name]["postdrag"]) == "function")then + self.Frames[name]["postdrag"](frame, Pinpoint(frame)) end end end @@ -701,17 +643,17 @@ function SV:ResetMovables(request) end end -function SV:SetSVMovablesPositions() - for name, _ in pairs(SV.MentaloFrames)do +function Mentalo:SetPositions() + for name, _ in pairs(self.Frames)do local frame = _G[name]; local anchor1, parent, anchor2, x, y; if frame then - if (AnchorCache and AnchorCache[name] and type(AnchorCache[name]) == "string") then - anchor1, parent, anchor2, x, y = split("\031", AnchorCache[name]) + if (self.Anchors and self.Anchors[name] and type(self.Anchors[name]) == "string") then + anchor1, parent, anchor2, x, y = split("\031", self.Anchors[name]) frame:ClearAllPoints() frame:SetPoint(anchor1, parent, anchor2, x, y) - elseif SV.MentaloFrames[name]["point"] then - anchor1, parent, anchor2, x, y = split("\031", SV.MentaloFrames[name]["point"]) + elseif self.Frames[name]["point"] then + anchor1, parent, anchor2, x, y = split("\031", self.Frames[name]["point"]) frame:ClearAllPoints() frame:SetPoint(anchor1, parent, anchor2, x, y) end @@ -719,10 +661,10 @@ function SV:SetSVMovablesPositions() end end -function SV:LoadMovables() - for name, _ in pairs(self.MentaloFrames)do +function Mentalo:Initialize() + for name, _ in pairs(self.Frames)do local parent, text, overlay, snapoffset, postdrag; - for key, value in pairs(self.MentaloFrames[name])do + for key, value in pairs(self.Frames[name])do if(key == "parent") then parent = value elseif(key == "text") then @@ -735,12 +677,11 @@ function SV:LoadMovables() postdrag = value end end - self:SetMentaloAlphas() - SetSVMovable(parent, name, text, overlay, snapoffset, postdrag) + self:New(parent, name, text, overlay, snapoffset, postdrag) end end -function SV:UseMentalo(isConfigMode, configType) +function Mentalo:Toggle(isConfigMode, configType) if(InCombatLockdown()) then return end local enabled = false; if(isConfigMode ~= nil and isConfigMode ~= "") then @@ -768,116 +709,61 @@ function SV:UseMentalo(isConfigMode, configType) if(not configType or (configType and type(configType) ~= "string")) then configType = "ALL" - end + end - self:ToggleMovables(enabled, configType) + for frameName, _ in pairs(self.Frames)do + if(_G[frameName]) then + local movable = _G[frameName] + if(not enabled) then + movable:Hide() + else + if self.Frames[frameName]["type"][configType]then + movable:Show() + else + movable:Hide() + end + end + end + end end -function SV:MentaloFocus() +function Mentalo:Focus() local frame = CurrentFrameTarget; - local s, t, u = GrabUsableRegions() - local v, w = frame:GetCenter() - local x; - local y = s / 3; - local z = s * 2 / 3; - local A = t / 2; - if w >= A then x = "TOP"else x = "BOTTOM"end - if v >= z then x = x.."RIGHT"elseif v <= y then x = x.."LEFT"end - v = tonumber(SVUI_MentaloPrecisionSetX.CurrentValue) - w = tonumber(SVUI_MentaloPrecisionSetY.CurrentValue) + local xOffset, yOffset, anchor = CalculateOffsets() frame:ClearAllPoints() - frame:Point(x, SV.UIParent, x, v, w) - SV:SaveMovableLoc(frame.name) -end - -function SV:MentaloFocusUpdate(frame) - local s, t, u = GrabUsableRegions() - local v, w = frame:GetCenter() - local y = (s / 3); - local z = ((s * 2) / 3); - local A = (t / 2); - if w >= A then w = -(t - frame:GetTop())else w = frame:GetBottom()end - if v >= z then v = (frame:GetRight() - s) elseif v <= y then v = frame:GetLeft()else v = (v - u) end - v = parsefloat(v, 0) - w = parsefloat(w, 0) - SVUI_MentaloPrecisionSetX:SetText(v) - SVUI_MentaloPrecisionSetY:SetText(w) - SVUI_MentaloPrecisionSetX.CurrentValue = v; - SVUI_MentaloPrecisionSetY.CurrentValue = w; - SVUI_MentaloPrecision.Title:SetText(frame.textString) -end + frame:Point(anchor, SV.UIParent, anchor, xOffset, yOffset) + self:SaveMovable(frame.name) +end -function SV:MovableFocused() - CurrentFrameTarget = self; - SV:MentaloFocusUpdate(self) -end +function Mentalo:Launch() + SVUI_Mentalo:SetFixedPanelTemplate("Component") + SVUI_Mentalo:SetPanelColor("yellow") + SVUI_MentaloPrecision:SetPanelTemplate("Transparent") -function SV:SetMentaloAlphas() - hooksecurefunc(SV, "SetSVMovable", function(_, frame) - frame.Avatar:SetAlpha(0.5) - end) - ghost(SV.MentaloFrames, 0.5) + self.Anchors = SVLib:NewCache("Anchors") end -function SV:InitializeMentalo() - MentaloCache = SVLib:NewCache("Mentalo") - AnchorCache = SVLib:NewCache("Anchors") - MentaloMover:SetScript("OnEvent", Movable_OnEvent) -end +SV.Mentalo = Mentalo --[[ ########################################################## XML FRAME SCRIPT HANDLERS ########################################################## ]]-- -function SVUI_MentaloEventHandler_Update(self) - _G["SVUI_MentaloEventHandler"] = self; - local frame = UpdateFrameTarget; - local rightPos, topPos, centerPos = GrabUsableRegions() - local centerX, centerY = frame:GetCenter() - local calc1 = rightPos / 3; - local calc2 = ((rightPos * 2) / 3); - local calc3 = topPos / 2; - local anchor1, anchor2; - if centerY >= calc3 then - anchor1 = "TOP" - anchor2 = "BOTTOM" - centerY = -(topPos - frame:GetTop()) - else - anchor1 = "BOTTOM" - anchor2 = "TOP" - centerY = frame:GetBottom() - end - if centerX >= calc2 then - anchor1 = "RIGHT" - anchor2 = "LEFT" - centerX = (frame:GetRight() - rightPos) - elseif centerX <= calc1 then - anchor1 = "LEFT" - anchor2 = "RIGHT" - centerX = frame:GetLeft() - else - centerX = (centerX - centerPos) - end - SVUI_MentaloPrecision:ClearAllPoints() - SVUI_MentaloPrecision:SetPoint(anchor1, frame, anchor2, 0, 0) - SV:MentaloFocusUpdate(frame) -end - -function SVUI_Mentalo_OnLoad() - _G["SVUI_Mentalo"]:RegisterEvent("PLAYER_REGEN_DISABLED") - _G["SVUI_Mentalo"]:RegisterForDrag("LeftButton"); - _G["SVUI_Mentalo"]:SetButtonTemplate() +function SVUI_Mentalo_OnLoad(self) + self:RegisterEvent("PLAYER_REGEN_DISABLED") + self:RegisterForDrag("LeftButton"); + self:SetButtonTemplate() end -function SVUI_Mentalo_OnEvent() - if _G["SVUI_Mentalo"]:IsShown() then - _G["SVUI_Mentalo"]:Hide() - SV:UseMentalo(true) +function SVUI_Mentalo_OnEvent(self) + if self:IsShown() then + self:Hide() + SV.Mentalo:Toggle(true) end end function SVUI_MentaloLockButton_OnClick() - SV:UseMentalo(true) + SV.Mentalo:Toggle(true) if IsAddOnLoaded("SVUI_ConfigOMatic")then LibStub("AceConfigDialog-3.0"):Open("SVUI") end @@ -885,7 +771,7 @@ end function SVUI_MentaloPrecisionResetButton_OnClick() local name = CurrentFrameTarget.name - SV:ResetMovables(name) + SV.Mentalo:Reset(name) end function SVUI_MentaloPrecisionInput_EscapePressed(self) @@ -897,7 +783,7 @@ function SVUI_MentaloPrecisionInput_EnterPressed(self) local txt = tonumber(self:GetText()) if(txt) then self.CurrentValue = txt; - SV:MentaloFocus() + SV.Mentalo:Focus() end self:SetText(parsefloat(self.CurrentValue)) EditBox_ClearFocus(self) @@ -923,4 +809,44 @@ function SVUI_MentaloPrecision_OnLoad() _G["SVUI_MentaloPrecisionLeftButton"]:SetButtonTemplate() _G["SVUI_MentaloPrecisionRightButton"]:SetButtonTemplate() CurrentFrameTarget = false; -end \ No newline at end of file +end +--[[ +########################################################## +EVENT HANDLER +########################################################## +]]-- +local MentaloEventHandler_OnUpdate = function(self) + local frame = UpdateFrameTarget; + if not frame then return end + local rightPos, topPos, centerPos = GrabUsableRegions() + local centerX, centerY = frame:GetCenter() + local calc1 = rightPos / 3; + local calc2 = ((rightPos * 2) / 3); + local calc3 = topPos / 2; + local anchor1, anchor2; + if centerY >= calc3 then + anchor1 = "TOP" + anchor2 = "BOTTOM" + centerY = -(topPos - frame:GetTop()) + else + anchor1 = "BOTTOM" + anchor2 = "TOP" + centerY = frame:GetBottom() + end + if centerX >= calc2 then + anchor1 = "RIGHT" + anchor2 = "LEFT" + centerX = (frame:GetRight() - rightPos) + elseif centerX <= calc1 then + anchor1 = "LEFT" + anchor2 = "RIGHT" + centerX = frame:GetLeft() + else + centerX = (centerX - centerPos) + end + SVUI_MentaloPrecision:ClearAllPoints() + SVUI_MentaloPrecision:SetPoint(anchor1, frame, anchor2, 0, 0) + Movable_OnMouseUp(frame) +end + +MentaloEventHandler:SetScript("OnUpdate", MentaloEventHandler_OnUpdate) \ No newline at end of file diff --git a/Interface/AddOns/SVUI/system/mentalo.xml b/Interface/AddOns/SVUI/system/mentalo.xml index 57c4409..ab55fac 100644 --- a/Interface/AddOns/SVUI/system/mentalo.xml +++ b/Interface/AddOns/SVUI/system/mentalo.xml @@ -1,31 +1,6 @@ <Ui xmlns="http://www.blizzard.com/wow/ui/"> <Script file="mentalo.lua"/> - <Frame name="SVUI_MoveEventHandler" hidden="true"> - <Scripts> - <OnLoad> - self:RegisterEvent("PLAYER_LOGIN") - self:RegisterEvent("ADDON_LOADED") - self:RegisterEvent("LFG_UPDATE") - self:RegisterEvent("ROLE_POLL_BEGIN") - self:RegisterEvent("READY_CHECK") - self:RegisterEvent("UPDATE_WORLD_STATES") - self:RegisterEvent("WORLD_STATE_TIMER_START") - self:RegisterEvent("WORLD_STATE_UI_TIMER_UPDATE") - </OnLoad> - <OnEvent function="SVUI_MoveEventHandler_OnEvent"/> - </Scripts> - </Frame> - - <Frame name="SVUI_MentaloEventHandler" hidden="true"> - <Scripts> - <OnLoad> - self.UpdateFrameTarget = false; - </OnLoad> - <OnUpdate function="SVUI_MentaloEventHandler_Update"/> - </Scripts> - </Frame> - <Frame name="SVUI_MentaloPrecision" inherits="SVUI_PanelTemplate" hidden="true" frameStrata="DIALOG"> <Size x="130" y="60"/> <Anchors> diff --git a/Interface/AddOns/SVUI/system/moveable.lua b/Interface/AddOns/SVUI/system/moveable.lua new file mode 100644 index 0000000..00c384a --- /dev/null +++ b/Interface/AddOns/SVUI/system/moveable.lua @@ -0,0 +1,176 @@ +--[[ +############################################################################## +_____/\\\\\\\\\\\____/\\\________/\\\__/\\\________/\\\__/\\\\\\\\\\\_ # + ___/\\\/////////\\\_\/\\\_______\/\\\_\/\\\_______\/\\\_\/////\\\///__ # + __\//\\\______\///__\//\\\______/\\\__\/\\\_______\/\\\_____\/\\\_____ # + ___\////\\\__________\//\\\____/\\\___\/\\\_______\/\\\_____\/\\\_____ # + ______\////\\\________\//\\\__/\\\____\/\\\_______\/\\\_____\/\\\_____ # + _________\////\\\______\//\\\/\\\_____\/\\\_______\/\\\_____\/\\\_____ # + __/\\\______\//\\\______\//\\\\\______\//\\\______/\\\______\/\\\_____ # + _\///\\\\\\\\\\\/________\//\\\________\///\\\\\\\\\/____/\\\\\\\\\\\_# + ___\///////////___________\///___________\/////////_____\///////////_# +############################################################################## +S U P E R - V I L L A I N - U I By: Munglunch # +############################################################################## +########################################################## +LOCALIZED LUA FUNCTIONS +########################################################## +]]-- +--[[ GLOBALS ]]-- +local _G = _G; +local unpack = _G.unpack; +local select = _G.select; +local type = _G.type; +local string = _G.string; +local math = _G.math; +--[[ STRING METHODS ]]-- +local format, split = string.format, string.split; +--[[ MATH METHODS ]]-- +local min, floor = math.min, math.floor; +local parsefloat = math.parsefloat; +--[[ +########################################################## +GET ADDON DATA +########################################################## +]]-- +local SVUI_ADDON_NAME, SV = ... +local SVLib = LibStub("LibSuperVillain-1.0") +local L = SVLib:Lang(); + +local Movable = CreateFrame("Frame", nil) +Movable.Frames = {} +--[[ +########################################################## +LOCAL VARS +########################################################## +]]-- +local DraggableFrames = { + "AchievementFrame", + "AuctionFrame", + "ArchaeologyFrame", + "BattlefieldMinimap", + "BarberShopFrame", + "BlackMarketFrame", + "CalendarFrame", + "CharacterFrame", + "ClassTrainerFrame", + "DressUpFrame", + "EncounterJournal", + "FriendsFrame", + "GameMenuFrame", + "GMSurveyFrame", + "GossipFrame", + "GuildFrame", + "GuildBankFrame", + "GuildRegistrarFrame", + "HelpFrame", + "InterfaceOptionsFrame", + "ItemUpgradeFrame", + "KeyBindingFrame", + "LFGDungeonReadyPopup", + "MacOptionsFrame", + "MacroFrame", + "MailFrame", + "MerchantFrame", + "PlayerTalentFrame", + "PetJournalParent", + "PVEFrame", + "PVPFrame", + "QuestFrame", + "QuestLogFrame", + "RaidBrowserFrame", + "ReadyCheckFrame", + "ReforgingFrame", + "ReportCheatingDialog", + "ReportPlayerNameDialog", + "RolePollPopup", + "ScrollOfResurrectionSelectionFrame", + "SpellBookFrame", + "TabardFrame", + "TaxiFrame", + "TimeManagerFrame", + "TradeSkillFrame", + "TradeFrame", + "TransmorgifyFrame", + "TutorialFrame", + "VideoOptionsFrame", + "VoidStorageFrame", + --"WorldStateAlwaysUpFrame" +}; +--[[ +########################################################## +LOCAL FUNCTIONS +########################################################## +]]-- +local BlizzardFrame_OnUpdate = function(self) + if InCombatLockdown() or self:GetName() == "GameMenuFrame" then return end + if self.IsMoving then return end + self:ClearAllPoints() + if self:GetName() == "QuestFrame" then + if Movable.Frames["GossipFrame"].Points ~= nil then + self:SetPoint(unpack(Movable.Frames["GossipFrame"].Points)) + end + elseif Movable.Frames[self:GetName()].Points ~= nil then + self:SetPoint(unpack(Movable.Frames[self:GetName()].Points)) + end +end + +local BlizzardFrame_OnDragStart = function(self) + print(self:GetName()) + if not self:IsMovable() then return end + self:StartMoving() + self.IsMoving = true +end + +local BlizzardFrame_OnDragStop = function(self) + if not self:IsMovable() then return end + self.IsMoving = false; + self:StopMovingOrSizing() + if self:GetName() == "GameMenuFrame" then return end + local anchor1, parent, anchor2, x, y = self:GetPoint() + parent = self:GetParent():GetName() + self:ClearAllPoints() + self:SetPoint(anchor1, parent, anchor2, x, y) + if self:GetName() == "QuestFrame" then + Movable.Frames["GossipFrame"].Points = {anchor1, parent, anchor2, x, y} + else + Movable.Frames[self:GetName()].Points = {anchor1, parent, anchor2, x, y} + end +end + +local Movable_OnEvent = function(self) + for _, frameName in pairs(DraggableFrames) do + local frame = _G[frameName] + if(frame) then + if(frameName ~= "LossOfControlFrame" and (not Movable.Frames[frameName])) then + frame:EnableMouse(true) + + if(frameName == "LFGDungeonReadyPopup") then + LFGDungeonReadyDialog:EnableMouse(false) + end + + frame:SetMovable(true) + frame:RegisterForDrag("LeftButton") + frame:SetClampedToScreen(true) + frame:HookScript("OnUpdate", BlizzardFrame_OnUpdate) + frame:SetScript("OnDragStart", BlizzardFrame_OnDragStart) + frame:SetScript("OnDragStop", BlizzardFrame_OnDragStop) + Movable.Frames[frameName] = {} + end + end + end + if(not Movable.Frames["GameMenuFrame"]) then + Movable.Frames["GameMenuFrame"] = {} + end +end + +Movable:RegisterEvent("PLAYER_LOGIN") +Movable:RegisterEvent("ADDON_LOADED") +Movable:RegisterEvent("LFG_UPDATE") +Movable:RegisterEvent("ROLE_POLL_BEGIN") +Movable:RegisterEvent("READY_CHECK") +Movable:RegisterEvent("UPDATE_WORLD_STATES") +Movable:RegisterEvent("WORLD_STATE_TIMER_START") +Movable:RegisterEvent("WORLD_STATE_UI_TIMER_UPDATE") + +Movable:SetScript("OnEvent", Movable_OnEvent) \ No newline at end of file diff --git a/Interface/AddOns/SVUI/system/setup.lua b/Interface/AddOns/SVUI/system/setup.lua index 961cc36..83f638e 100644 --- a/Interface/AddOns/SVUI/system/setup.lua +++ b/Interface/AddOns/SVUI/system/setup.lua @@ -1214,104 +1214,105 @@ local function BarShuffle() local tH = SV.db.SVBar.Bar1.buttonsize + (base - bS); local b2h = bar2 and tH or base; local sph = (400 - b2h); - if not SVUI_Cache.anchors then SVUI_Cache.anchors = {} end - SVUI_Cache.anchors.SVUI_SpecialAbility_MOVE = "BOTTOMSVUIParentBOTTOM0"..sph; - SVUI_Cache.anchors.SVUI_ActionBar2_MOVE = "BOTTOMSVUI_ActionBar1TOP0"..(-bS); - SVUI_Cache.anchors.SVUI_ActionBar3_MOVE = "BOTTOMLEFTSVUI_ActionBar1BOTTOMRIGHT40"; - SVUI_Cache.anchors.SVUI_ActionBar5_MOVE = "BOTTOMRIGHTSVUI_ActionBar1BOTTOMLEFT-40"; + local anchors = SV.Mentalo.Anchors + if not anchors then anchors = {} end + anchors.SVUI_SpecialAbility_MOVE = "BOTTOMSVUIParentBOTTOM0"..sph; + anchors.SVUI_ActionBar2_MOVE = "BOTTOMSVUI_ActionBar1TOP0"..(-bS); + anchors.SVUI_ActionBar3_MOVE = "BOTTOMLEFTSVUI_ActionBar1BOTTOMRIGHT40"; + anchors.SVUI_ActionBar5_MOVE = "BOTTOMRIGHTSVUI_ActionBar1BOTTOMLEFT-40"; if bar2 then - SVUI_Cache.anchors.SVUI_PetActionBar_MOVE = "BOTTOMLEFTSVUI_ActionBar2TOPLEFT04" - SVUI_Cache.anchors.SVUI_StanceBar_MOVE = "BOTTOMRIGHTSVUI_ActionBar2TOPRIGHT04"; + anchors.SVUI_PetActionBar_MOVE = "BOTTOMLEFTSVUI_ActionBar2TOPLEFT04" + anchors.SVUI_StanceBar_MOVE = "BOTTOMRIGHTSVUI_ActionBar2TOPRIGHT04"; else - SVUI_Cache.anchors.SVUI_PetActionBar_MOVE = "BOTTOMLEFTSVUI_ActionBar1TOPLEFT04" - SVUI_Cache.anchors.SVUI_StanceBar_MOVE = "BOTTOMRIGHTSVUI_ActionBar1TOPRIGHT04"; + anchors.SVUI_PetActionBar_MOVE = "BOTTOMLEFTSVUI_ActionBar1TOPLEFT04" + anchors.SVUI_StanceBar_MOVE = "BOTTOMRIGHTSVUI_ActionBar1TOPRIGHT04"; end end local function UFMoveBottomQuadrant(toggle) - if not SVUI_Cache.anchors then SVUI_Cache.anchors = {} end + local anchors = SV.Mentalo.Anchors if not toggle then - SVUI_Cache.anchors.SVUI_Player_MOVE = "BOTTOMSVUIParentBOTTOM-278182" - SVUI_Cache.anchors.SVUI_PlayerCastbar_MOVE = "BOTTOMSVUIParentBOTTOM-278122" - SVUI_Cache.anchors.SVUI_Target_MOVE = "BOTTOMSVUIParentBOTTOM278182" - SVUI_Cache.anchors.SVUI_TargetCastbar_MOVE = "BOTTOMSVUIParentBOTTOM278122" - SVUI_Cache.anchors.SVUI_Pet_MOVE = "BOTTOMSVUIParentBOTTOM0181" - SVUI_Cache.anchors.SVUI_TargetTarget_MOVE = "BOTTOMSVUIParentBOTTOM0214" - SVUI_Cache.anchors.SVUI_Focus_MOVE = "BOTTOMSVUIParentBOTTOM310432" - SVUI_Cache.anchors.SVUI_ThreatBar_MOVE = "BOTTOMRIGHTSVUIParentBOTTOMRIGHT-495182" + anchors.SVUI_Player_MOVE = "BOTTOMSVUIParentBOTTOM-278182" + anchors.SVUI_PlayerCastbar_MOVE = "BOTTOMSVUIParentBOTTOM-278122" + anchors.SVUI_Target_MOVE = "BOTTOMSVUIParentBOTTOM278182" + anchors.SVUI_TargetCastbar_MOVE = "BOTTOMSVUIParentBOTTOM278122" + anchors.SVUI_Pet_MOVE = "BOTTOMSVUIParentBOTTOM0181" + anchors.SVUI_TargetTarget_MOVE = "BOTTOMSVUIParentBOTTOM0214" + anchors.SVUI_Focus_MOVE = "BOTTOMSVUIParentBOTTOM310432" + anchors.SVUI_ThreatBar_MOVE = "BOTTOMRIGHTSVUIParentBOTTOMRIGHT-495182" elseif toggle == "shift" then - SVUI_Cache.anchors.SVUI_Player_MOVE = "BOTTOMSVUIParentBOTTOM-278210" - SVUI_Cache.anchors.SVUI_PlayerCastbar_MOVE = "BOTTOMSVUIParentBOTTOM-278150" - SVUI_Cache.anchors.SVUI_Target_MOVE = "BOTTOMSVUIParentBOTTOM278210" - SVUI_Cache.anchors.SVUI_TargetCastbar_MOVE = "BOTTOMSVUIParentBOTTOM278150" - SVUI_Cache.anchors.SVUI_Pet_MOVE = "BOTTOMSVUIParentBOTTOM0209" - SVUI_Cache.anchors.SVUI_TargetTarget_MOVE = "BOTTOMSVUIParentBOTTOM0242" - SVUI_Cache.anchors.SVUI_Focus_MOVE = "BOTTOMSVUIParentBOTTOM310432" - SVUI_Cache.anchors.SVUI_ThreatBar_MOVE = "BOTTOMRIGHTSVUIParentBOTTOMRIGHT-495210" + anchors.SVUI_Player_MOVE = "BOTTOMSVUIParentBOTTOM-278210" + anchors.SVUI_PlayerCastbar_MOVE = "BOTTOMSVUIParentBOTTOM-278150" + anchors.SVUI_Target_MOVE = "BOTTOMSVUIParentBOTTOM278210" + anchors.SVUI_TargetCastbar_MOVE = "BOTTOMSVUIParentBOTTOM278150" + anchors.SVUI_Pet_MOVE = "BOTTOMSVUIParentBOTTOM0209" + anchors.SVUI_TargetTarget_MOVE = "BOTTOMSVUIParentBOTTOM0242" + anchors.SVUI_Focus_MOVE = "BOTTOMSVUIParentBOTTOM310432" + anchors.SVUI_ThreatBar_MOVE = "BOTTOMRIGHTSVUIParentBOTTOMRIGHT-495210" else local c = 136; local d = 135; local e = 80; - SVUI_Cache.anchors.SVUI_Player_MOVE = "BOTTOMSVUIParentBOTTOM"..-c..""..d; - SVUI_Cache.anchors.SVUI_PlayerCastbar_MOVE = "BOTTOMSVUIParentBOTTOM"..-c..""..(d-60); - SVUI_Cache.anchors.SVUI_Target_MOVE = "BOTTOMSVUIParentBOTTOM"..c..""..d; - SVUI_Cache.anchors.SVUI_TargetCastbar_MOVE = "BOTTOMSVUIParentBOTTOM"..c..""..(d-60); - SVUI_Cache.anchors.SVUI_Pet_MOVE = "BOTTOMSVUIParentBOTTOM"..-c..""..e; - SVUI_Cache.anchors.SVUI_TargetTarget_MOVE = "BOTTOMSVUIParentBOTTOM"..c..""..e; - SVUI_Cache.anchors.SVUI_Focus_MOVE = "BOTTOMSVUIParentBOTTOM"..c..""..(d + 150); - SVUI_Cache.anchors.SVUI_ThreatBar_MOVE = "BOTTOMRIGHTSVUIParentBOTTOMRIGHT-495"..d; + anchors.SVUI_Player_MOVE = "BOTTOMSVUIParentBOTTOM"..-c..""..d; + anchors.SVUI_PlayerCastbar_MOVE = "BOTTOMSVUIParentBOTTOM"..-c..""..(d-60); + anchors.SVUI_Target_MOVE = "BOTTOMSVUIParentBOTTOM"..c..""..d; + anchors.SVUI_TargetCastbar_MOVE = "BOTTOMSVUIParentBOTTOM"..c..""..(d-60); + anchors.SVUI_Pet_MOVE = "BOTTOMSVUIParentBOTTOM"..-c..""..e; + anchors.SVUI_TargetTarget_MOVE = "BOTTOMSVUIParentBOTTOM"..c..""..e; + anchors.SVUI_Focus_MOVE = "BOTTOMSVUIParentBOTTOM"..c..""..(d + 150); + anchors.SVUI_ThreatBar_MOVE = "BOTTOMRIGHTSVUIParentBOTTOMRIGHT-495"..d; end end local function UFMoveLeftQuadrant(toggle) - if not SVUI_Cache.anchors then SVUI_Cache.anchors = {} end + local anchors = SV.Mentalo.Anchors if not toggle then - SVUI_Cache.anchors.SVUI_Assist_MOVE = "TOPLEFTSVUIParentTOPLEFT"..XOFF.."-250" - SVUI_Cache.anchors.SVUI_Tank_MOVE = "TOPLEFTSVUIParentTOPLEFT"..XOFF.."-175" - SVUI_Cache.anchors.SVUI_Raidpet_MOVE = "TOPLEFTSVUIParentTOPLEFT"..XOFF.."-325" - SVUI_Cache.anchors.SVUI_Party_MOVE = "BOTTOMLEFTSVUIParentBOTTOMLEFT"..XOFF.."400" - SVUI_Cache.anchors.SVUI_Raid10_MOVE = "BOTTOMLEFTSVUIParentBOTTOMLEFT"..XOFF.."400" - SVUI_Cache.anchors.SVUI_Raid25_MOVE = "BOTTOMLEFTSVUIParentBOTTOMLEFT"..XOFF.."400" - SVUI_Cache.anchors.SVUI_Raid40_MOVE = "BOTTOMLEFTSVUIParentBOTTOMLEFT"..XOFF.."400" + anchors.SVUI_Assist_MOVE = "TOPLEFTSVUIParentTOPLEFT"..XOFF.."-250" + anchors.SVUI_Tank_MOVE = "TOPLEFTSVUIParentTOPLEFT"..XOFF.."-175" + anchors.SVUI_Raidpet_MOVE = "TOPLEFTSVUIParentTOPLEFT"..XOFF.."-325" + anchors.SVUI_Party_MOVE = "BOTTOMLEFTSVUIParentBOTTOMLEFT"..XOFF.."400" + anchors.SVUI_Raid10_MOVE = "BOTTOMLEFTSVUIParentBOTTOMLEFT"..XOFF.."400" + anchors.SVUI_Raid25_MOVE = "BOTTOMLEFTSVUIParentBOTTOMLEFT"..XOFF.."400" + anchors.SVUI_Raid40_MOVE = "BOTTOMLEFTSVUIParentBOTTOMLEFT"..XOFF.."400" else - SVUI_Cache.anchors.SVUI_Assist_MOVE = "TOPLEFTSVUIParentTOPLEFT4-250" - SVUI_Cache.anchors.SVUI_Tank_MOVE = "TOPLEFTSVUIParentTOPLEFT4-175" - SVUI_Cache.anchors.SVUI_Raidpet_MOVE = "TOPLEFTSVUIParentTOPLEFT4-325" - SVUI_Cache.anchors.SVUI_Party_MOVE = "BOTTOMLEFTSVUIParentBOTTOMLEFT4300" - SVUI_Cache.anchors.SVUI_Raid40_MOVE = "BOTTOMLEFTSVUIParentBOTTOMLEFT4300" - SVUI_Cache.anchors.SVUI_Raid10_MOVE = "BOTTOMLEFTSVUIParentBOTTOMLEFT4300" - SVUI_Cache.anchors.SVUI_Raid25_MOVE = "BOTTOMLEFTSVUIParentBOTTOMLEFT4300" + anchors.SVUI_Assist_MOVE = "TOPLEFTSVUIParentTOPLEFT4-250" + anchors.SVUI_Tank_MOVE = "TOPLEFTSVUIParentTOPLEFT4-175" + anchors.SVUI_Raidpet_MOVE = "TOPLEFTSVUIParentTOPLEFT4-325" + anchors.SVUI_Party_MOVE = "BOTTOMLEFTSVUIParentBOTTOMLEFT4300" + anchors.SVUI_Raid40_MOVE = "BOTTOMLEFTSVUIParentBOTTOMLEFT4300" + anchors.SVUI_Raid10_MOVE = "BOTTOMLEFTSVUIParentBOTTOMLEFT4300" + anchors.SVUI_Raid25_MOVE = "BOTTOMLEFTSVUIParentBOTTOMLEFT4300" end end local function UFMoveTopQuadrant(toggle) - if not SVUI_Cache.anchors then SVUI_Cache.anchors = {} end + local anchors = SV.Mentalo.Anchors if not toggle then - SVUI_Cache.anchors.GM_MOVE = "TOPLEFTSVUIParentTOPLEFT250-25" - SVUI_Cache.anchors.SVUI_LootFrame_MOVE = "BOTTOMSVUIParentBOTTOM0350" - SVUI_Cache.anchors.SVUI_AltPowerBar_MOVE = "TOPSVUIParentTOP0-40" - SVUI_Cache.anchors.LoC_MOVE = "BOTTOMSVUIParentBOTTOM0350" - SVUI_Cache.anchors.BNET_MOVE = "TOPRIGHTSVUIParentTOPRIGHT-4-250" + anchors.GM_MOVE = "TOPLEFTSVUIParentTOPLEFT250-25" + anchors.SVUI_LootFrame_MOVE = "BOTTOMSVUIParentBOTTOM0350" + anchors.SVUI_AltPowerBar_MOVE = "TOPSVUIParentTOP0-40" + anchors.LoC_MOVE = "BOTTOMSVUIParentBOTTOM0350" + anchors.BNET_MOVE = "TOPRIGHTSVUIParentTOPRIGHT-4-250" else - SVUI_Cache.anchors.GM_MOVE = "TOPLEFTSVUIParentTOPLEFT344-25" - SVUI_Cache.anchors.SVUI_LootFrame_MOVE = "BOTTOMSVUIParentBOTTOM0254" - SVUI_Cache.anchors.SVUI_AltPowerBar_MOVE = "TOPSVUIParentTOP0-39" - SVUI_Cache.anchors.LoC_MOVE = "BOTTOMSVUIParentBOTTOM0443" - SVUI_Cache.anchors.BNET_MOVE = "TOPRIGHTSVUIParentTOPRIGHT-4-248" + anchors.GM_MOVE = "TOPLEFTSVUIParentTOPLEFT344-25" + anchors.SVUI_LootFrame_MOVE = "BOTTOMSVUIParentBOTTOM0254" + anchors.SVUI_AltPowerBar_MOVE = "TOPSVUIParentTOP0-39" + anchors.LoC_MOVE = "BOTTOMSVUIParentBOTTOM0443" + anchors.BNET_MOVE = "TOPRIGHTSVUIParentTOPRIGHT-4-248" end end local function UFMoveRightQuadrant(toggle) - if not SVUI_Cache.anchors then SVUI_Cache.anchors = {} end + local anchors = SV.Mentalo.Anchors local dH = SV.db.SVDock.dockRightHeight + 60 if not toggle or toggle == "high" then - SVUI_Cache.anchors.SVUI_BossHolder_MOVE = "RIGHTSVUIParentRIGHT-1050" - SVUI_Cache.anchors.SVUI_ArenaHolder_MOVE = "RIGHTSVUIParentRIGHT-1050" - SVUI_Cache.anchors.Tooltip_MOVE = "BOTTOMRIGHTSVUIParentBOTTOMRIGHT-284"..dH; + anchors.SVUI_BossHolder_MOVE = "RIGHTSVUIParentRIGHT-1050" + anchors.SVUI_ArenaHolder_MOVE = "RIGHTSVUIParentRIGHT-1050" + anchors.Tooltip_MOVE = "BOTTOMRIGHTSVUIParentBOTTOMRIGHT-284"..dH; else - SVUI_Cache.anchors.SVUI_BossHolder_MOVE = "RIGHTSVUIParentRIGHT-1050" - SVUI_Cache.anchors.SVUI_ArenaHolder_MOVE = "RIGHTSVUIParentRIGHT-1050" - SVUI_Cache.anchors.Tooltip_MOVE = "BOTTOMRIGHTSVUIParentBOTTOMRIGHT-284"..dH; + anchors.SVUI_BossHolder_MOVE = "RIGHTSVUIParentRIGHT-1050" + anchors.SVUI_ArenaHolder_MOVE = "RIGHTSVUIParentRIGHT-1050" + anchors.Tooltip_MOVE = "BOTTOMRIGHTSVUIParentBOTTOMRIGHT-284"..dH; end end @@ -1431,8 +1432,8 @@ local function InitializeChatFrames(mungs) if not mungs then if SV.Chat then SV.Chat:ReLoad(true) - if SVUI_Cache["Dock"].RightSuperDockFaded == true then RightSuperDockToggleButton:Click()end - if SVUI_Cache["Dock"].LeftSuperDockFaded == true then LeftSuperDockToggleButton:Click()end + if SV.SVDock.Cache.RightSuperDockFaded == true then RightSuperDockToggleButton:Click()end + if SV.SVDock.Cache.LeftSuperDockFaded == true then LeftSuperDockToggleButton:Click()end end SV:SavedPopup() end @@ -1441,13 +1442,12 @@ end local function SetUserScreen(rez, preserve) if not preserve then if okToResetMOVE then - SV:ResetMovables("") + SV.Mentalo:Reset("") okToResetMOVE = false; end - SV.SVUnit:ResetData() + SV:ResetData("SVUnit") end - if not SVUI_Cache.anchors then SVUI_Cache.anchors = {} end if rez == "low" then if not preserve then SV.db.SVDock.dockLeftWidth = 350; @@ -1483,8 +1483,8 @@ local function SetUserScreen(rez, preserve) end SV.ghettoMonitor = true else - SV.SVDock:ResetData() - SV.SVAura:ResetData() + SV:ResetData("SVDock") + SV:ResetData("SVAura") if not mungs then UFMoveBottomQuadrant() UFMoveLeftQuadrant() @@ -1496,7 +1496,7 @@ local function SetUserScreen(rez, preserve) if(not preserve and not mungs) then BarShuffle() - SV:SetSVMovablesPositions() + SV.Mentalo:SetPositions() SVLib:Update('SVDock') SVLib:Update('SVAura') SVLib:Update('SVBar') @@ -1553,13 +1553,11 @@ end local function SetUnitframeLayout(style, preserve) style = style or "default"; - if not SVUI_Cache.anchors then SVUI_Cache.anchors = {} end - if not preserve then - SV.SVUnit:ResetData() - SV.SVStats:ResetData() + SV:ResetData("SVUnit") + SV:ResetData("SVStats") if okToResetMOVE then - SV:ResetMovables('') + SV.Mentalo:Reset('') okToResetMOVE = false end end @@ -1578,7 +1576,7 @@ local function SetUnitframeLayout(style, preserve) else UFMoveBottomQuadrant() end - SV:SetSVMovablesPositions() + SV.Mentalo:SetPositions() end SVLib:Update('SVStats') SVLib:Update('SVUnit') @@ -1605,11 +1603,10 @@ end local function SetupBarLayout(style, preserve) style = style or "default"; - if not SVUI_Cache.anchors then SVUI_Cache.anchors = {} end if not preserve then - SV.SVBar:ResetData() + SV:ResetData("SVBar") if okToResetMOVE then - SV:ResetMovables('') + SV.Mentalo:Reset('') okToResetMOVE=false end end @@ -1627,7 +1624,7 @@ local function SetupBarLayout(style, preserve) end if(not preserve) then BarShuffle() - SV:SetSVMovablesPositions() + SV.Mentalo:SetPositions() end SVLib:Update('SVStats') SVLib:Update('SVBar') @@ -1664,7 +1661,7 @@ local function PlayThemeSong() end local function InstallComplete() - SVUI_Profile.SAFEDATA.install_version = SV.Version; + SVLib:SaveSafeData("install_version", SV.Version) StopMusic() SetCVar("Sound_MusicVolume",user_music_vol) okToResetMOVE = false; @@ -1683,7 +1680,7 @@ local function InstallMungsChoice() SV.db.LAYOUT.barstyle = nil; SetupBarLayout(); SetupAuralayout(); - SVUI_Profile.SAFEDATA.install_version = SV.Version; + SVLib:SaveSafeData("install_version", SV.Version) StopMusic() SetCVar("Sound_MusicVolume",user_music_vol) ReloadUI() @@ -1747,7 +1744,7 @@ local function SetPage(newPage) ]]-- ShowLayout() if newPage == 1 then - local hasOldConfig = SVUI_Profile.SAFEDATA.install_version + local hasOldConfig = SVLib:GetSafeData("install_version") SVUI_InstallPrevButton:Disable() SVUI_InstallPrevButton:Hide() okToResetMOVE = true @@ -2024,12 +2021,6 @@ local function PreviousPage() CURRENT_PAGE = CURRENT_PAGE - 1; SetPage(CURRENT_PAGE) end -end - -local function ResetGlobalVariables() - for k,v in pairs(SVUI_Cache) do - SVUI_Cache[k] = nil - end end function Setup:Reset() @@ -2037,7 +2028,7 @@ function Setup:Reset() okToResetMOVE = false; InitializeChatFrames(true); SVLib:WipeDatabase() - SetUserScreen(); + SetUserScreen() if SV.db.LAYOUT.mediastyle then SetColorTheme(SV.db.LAYOUT.mediastyle) @@ -2067,8 +2058,8 @@ function Setup:Reset() SetupAuralayout() end - SVUI_Profile.SAFEDATA.install_version = SV.Version; - ResetGlobalVariables() + SVLib:WipeCache() + SVLib:SaveSafeData("install_version", SV.Version); ReloadUI() end @@ -2077,7 +2068,7 @@ function Setup:Install(autoLoaded) user_music_vol = GetCVar("Sound_MusicVolume") end - local old = SVUI_Profile.SAFEDATA + local old = SVLib:GetSafeData() local media = old.mediastyle or "" local bars = old.barstyle or "" local units = old.unitstyle or "" diff --git a/Interface/AddOns/SVUI/system/slash.lua b/Interface/AddOns/SVUI/system/slash.lua index 1213c4e..493bd8f 100644 --- a/Interface/AddOns/SVUI/system/slash.lua +++ b/Interface/AddOns/SVUI/system/slash.lua @@ -48,7 +48,7 @@ local function SVUIMasterCommand(msg) if (msg == "install") then SV.Setup:Install() elseif (msg == "move" or msg == "mentalo") then - SV:UseMentalo() + SV.Mentalo:Toggle() elseif (msg == "kb" or msg == "bind") and SV.db.SVBar.enable then SV.SVBar:ToggleKeyBindingMode() elseif (msg == "reset" or msg == "resetui") then diff --git a/Interface/AddOns/SVUI_ArtOfWar/SVUI_ArtOfWar.lua b/Interface/AddOns/SVUI_ArtOfWar/SVUI_ArtOfWar.lua index 06aa8f5..ca4db9e 100644 --- a/Interface/AddOns/SVUI_ArtOfWar/SVUI_ArtOfWar.lua +++ b/Interface/AddOns/SVUI_ArtOfWar/SVUI_ArtOfWar.lua @@ -547,9 +547,10 @@ function PLUGIN:UpdateCommunicator() end function PLUGIN:UpdateZoneStatus() + if PLUGIN.ZoneTimer then return end local zoneText = GetRealZoneText() or GetZoneText() if(not zoneText or zoneText == "") then - self.ZoneTimer = SV.Timers:ExecuteTimer(PLUGIN.UpdateZoneStatus, 5) + PLUGIN.ZoneTimer = SV.Timers:ExecuteTimer(PLUGIN.UpdateZoneStatus, 5) return end if(zoneText ~= ACTIVE_ZONE) then @@ -576,6 +577,7 @@ function PLUGIN:UpdateZoneStatus() end end end + PLUGIN.ZoneTimer = nil end local function ParseIncomingLog(timestamp, event, eGuid, eName, pGuid) diff --git a/Interface/AddOns/SVUI_ConfigOMatic/SVUI_ConfigOMatic.lua b/Interface/AddOns/SVUI_ConfigOMatic/SVUI_ConfigOMatic.lua index 26a4ac9..e95bf49 100644 --- a/Interface/AddOns/SVUI_ConfigOMatic/SVUI_ConfigOMatic.lua +++ b/Interface/AddOns/SVUI_ConfigOMatic/SVUI_ConfigOMatic.lua @@ -170,7 +170,7 @@ SV.Options.args.primary = { type = "execute", name = L["Move Frames"], desc = L["Unlock various elements of the UI to be repositioned."], - func = function() SV:UseMentalo() end + func = function() SV.Mentalo:Toggle() end }, ResetAllMovers = { order = 5, diff --git a/Interface/AddOns/SVUI_ConfigOMatic/modules/bar.lua b/Interface/AddOns/SVUI_ConfigOMatic/modules/bar.lua index 6e07bca..056aabd 100644 --- a/Interface/AddOns/SVUI_ConfigOMatic/modules/bar.lua +++ b/Interface/AddOns/SVUI_ConfigOMatic/modules/bar.lua @@ -83,7 +83,7 @@ local function BarConfigLoader() desc = L["Restore the actionbars default settings"], func = function() MOD.db:Reset("Bar"..d) - SV:ResetMovables("Bar "..d) + SV.Mentalo:Reset("Bar "..d) MOD:RefreshBar("Bar"..d) end, disabled = function()return not SV.db.SVBar["Bar"..d].enable end, @@ -329,7 +329,7 @@ local function BarConfigLoader() desc = L["Restore the actionbars default settings"], func = function() MOD.db:Reset("Pet") - SV:ResetMovables("Pet Bar") + SV.Mentalo:Reset("Pet Bar") MOD:RefreshBar("Pet") end, disabled = function()return not SV.db.SVBar["Pet"].enable end, @@ -482,7 +482,7 @@ local function BarConfigLoader() desc = L["Restore the actionbars default settings"], func = function() SVLib:SetDefault("SVBar","Stance") - SV:ResetMovables("Stance Bar") + SV.Mentalo:Reset("Stance Bar") MOD:RefreshBar("Stance") end, disabled = function()return not SV.db.SVBar["Stance"].enable end, diff --git a/Interface/AddOns/SVUI_ConfigOMatic/modules/profiles.lua b/Interface/AddOns/SVUI_ConfigOMatic/modules/profiles.lua index 6914aa3..e01449a 100644 --- a/Interface/AddOns/SVUI_ConfigOMatic/modules/profiles.lua +++ b/Interface/AddOns/SVUI_ConfigOMatic/modules/profiles.lua @@ -133,12 +133,12 @@ SV.Options.args.profiles = { name = "", width = "full", }, - dualSpecEnabled = { + dualSpec = { order = 14, type = "toggle", name = "Dual-Spec Switching", - get = function() return SVLib:GetSafeData("dualSpecEnabled") end, - set = function(key, value) SVLib:SaveSafeData("dualSpecEnabled", value) end, + get = function() return SVLib:CheckDualProfile() end, + set = function(key, value) SVLib:ToggleDualProfile(value) end, }, } } \ No newline at end of file diff --git a/Interface/AddOns/SVUI_ConfigOMatic/modules/units/focus.lua b/Interface/AddOns/SVUI_ConfigOMatic/modules/units/focus.lua index 6dc7b4c..1707c3b 100644 --- a/Interface/AddOns/SVUI_ConfigOMatic/modules/units/focus.lua +++ b/Interface/AddOns/SVUI_ConfigOMatic/modules/units/focus.lua @@ -48,7 +48,7 @@ SV.Options.args.SVUnit.args.focus = { set = function(l, m)MOD:ChangeDBVar(m, l[#l], "focus");MOD:SetUnitFrame("focus")end, args = { enable = {type = "toggle", order = 1, name = L["Enable"]}, - resetSettings = {type = "execute", order = 2, name = L["Restore Defaults"], func = function(l, m)MOD:ResetUnitOptions("focus");SV:ResetMovables("Focus Frame")end}, + resetSettings = {type = "execute", order = 2, name = L["Restore Defaults"], func = function(l, m)MOD:ResetUnitOptions("focus");SV.Mentalo:Reset("Focus Frame")end}, tabGroups = { order = 3, type = "group", @@ -161,7 +161,7 @@ SV.Options.args.SVUnit.args.focustarget = { set = function(l, m)MOD:ChangeDBVar(m, l[#l], "focustarget");MOD:SetUnitFrame("focustarget")end, args = { enable = {type = "toggle", order = 1, name = L["Enable"]}, - resetSettings = {type = "execute", order = 2, name = L["Restore Defaults"], func = function(l, m)MOD:ResetUnitOptions("focustarget")SV:ResetMovables("FocusTarget Frame")end}, + resetSettings = {type = "execute", order = 2, name = L["Restore Defaults"], func = function(l, m)MOD:ResetUnitOptions("focustarget")SV.Mentalo:Reset("FocusTarget Frame")end}, tabGroups = { order = 3, type = "group", diff --git a/Interface/AddOns/SVUI_ConfigOMatic/modules/units/other.lua b/Interface/AddOns/SVUI_ConfigOMatic/modules/units/other.lua index 96ef690..f6bb01c 100644 --- a/Interface/AddOns/SVUI_ConfigOMatic/modules/units/other.lua +++ b/Interface/AddOns/SVUI_ConfigOMatic/modules/units/other.lua @@ -49,7 +49,7 @@ SV.Options.args.SVUnit.args.boss = { args = { enable = {type = "toggle", order = 1, name = L["Enable"]}, displayFrames = {type = "execute", order = 2, name = L["Display Frames"], desc = L["Force the frames to show, they will act as if they are the player frame."], func = function()MOD:SwapElement("boss", 4)end}, - resetSettings = {type = "execute", order = 3, name = L["Restore Defaults"], func = function(l, m)MOD:ResetUnitOptions("boss")SV:ResetMovables("Boss Frames")end}, + resetSettings = {type = "execute", order = 3, name = L["Restore Defaults"], func = function(l, m)MOD:ResetUnitOptions("boss")SV.Mentalo:Reset("Boss Frames")end}, tabGroups = { order = 3, type = "group", @@ -118,7 +118,7 @@ SV.Options.args.SVUnit.args.arena = { args = { enable = {type = "toggle", order = 1, name = L["Enable"]}, displayFrames = {type = "execute", order = 2, name = L["Display Frames"], desc = L["Force the frames to show, they will act as if they are the player frame."], func = function()MOD:SwapElement("arena", 5)end}, - resetSettings = {type = "execute", order = 3, name = L["Restore Defaults"], func = function(l, m)MOD:ResetUnitOptions("arena")SV:ResetMovables("Arena Frames")end}, + resetSettings = {type = "execute", order = 3, name = L["Restore Defaults"], func = function(l, m)MOD:ResetUnitOptions("arena")SV.Mentalo:Reset("Arena Frames")end}, tabGroups = { order = 3, type = "group", diff --git a/Interface/AddOns/SVUI_ConfigOMatic/modules/units/party.lua b/Interface/AddOns/SVUI_ConfigOMatic/modules/units/party.lua index 43952c5..2ddde96 100644 --- a/Interface/AddOns/SVUI_ConfigOMatic/modules/units/party.lua +++ b/Interface/AddOns/SVUI_ConfigOMatic/modules/units/party.lua @@ -61,7 +61,7 @@ SV.Options.args.SVUnit.args.party = { type = 'execute', order = 3, name = L['Restore Defaults'], - func = function(l, m)MOD:ResetUnitOptions('party')SV:ResetMovables('Party Frames')end, + func = function(l, m)MOD:ResetUnitOptions('party')SV.Mentalo:Reset('Party Frames')end, }, tabGroups= { order=3, diff --git a/Interface/AddOns/SVUI_ConfigOMatic/modules/units/pet.lua b/Interface/AddOns/SVUI_ConfigOMatic/modules/units/pet.lua index bbbaed3..7d11fc5 100644 --- a/Interface/AddOns/SVUI_ConfigOMatic/modules/units/pet.lua +++ b/Interface/AddOns/SVUI_ConfigOMatic/modules/units/pet.lua @@ -48,7 +48,7 @@ SV.Options.args.SVUnit.args.pet = { set = function(l, m)MOD:ChangeDBVar(m, l[#l], "pet");MOD:SetUnitFrame("pet")end, args = { enable = {type = "toggle", order = 1, name = L["Enable"]}, - resetSettings = {type = "execute", order = 2, name = L["Restore Defaults"], func = function(l, m)MOD:ResetUnitOptions("pet")SV:ResetMovables("Pet Frame")end}, + resetSettings = {type = "execute", order = 2, name = L["Restore Defaults"], func = function(l, m)MOD:ResetUnitOptions("pet")SV.Mentalo:Reset("Pet Frame")end}, tabGroups = { order = 3, type = "group", @@ -159,7 +159,7 @@ SV.Options.args.SVUnit.args.pettarget = { set = function(l, m)MOD:ChangeDBVar(m, l[#l], "pettarget");MOD:SetUnitFrame("pettarget")end, args = { enable = {type = "toggle", order = 1, name = L["Enable"]}, - resetSettings = {type = "execute", order = 2, name = L["Restore Defaults"], func = function(l, m)MOD:ResetUnitOptions("pettarget")SV:ResetMovables("PetTarget Frame")end}, + resetSettings = {type = "execute", order = 2, name = L["Restore Defaults"], func = function(l, m)MOD:ResetUnitOptions("pettarget")SV.Mentalo:Reset("PetTarget Frame")end}, tabGroups = { order = 3, type = "group", diff --git a/Interface/AddOns/SVUI_ConfigOMatic/modules/units/player.lua b/Interface/AddOns/SVUI_ConfigOMatic/modules/units/player.lua index f181254..e1f897b 100644 --- a/Interface/AddOns/SVUI_ConfigOMatic/modules/units/player.lua +++ b/Interface/AddOns/SVUI_ConfigOMatic/modules/units/player.lua @@ -58,7 +58,7 @@ SV.Options.args.SVUnit.args.player={ name = L['Restore Defaults'], func = function(l,m) MOD:ResetUnitOptions('player') - SV:ResetMovables('Player Frame') + SV.Mentalo:Reset('Player Frame') end }, tabGroups = { diff --git a/Interface/AddOns/SVUI_ConfigOMatic/modules/units/raid.lua b/Interface/AddOns/SVUI_ConfigOMatic/modules/units/raid.lua index 7006bca..68d07cb 100644 --- a/Interface/AddOns/SVUI_ConfigOMatic/modules/units/raid.lua +++ b/Interface/AddOns/SVUI_ConfigOMatic/modules/units/raid.lua @@ -62,7 +62,7 @@ for w=10,40,15 do type = "execute", order = 3, name = L["Restore Defaults"], - func = function(l, m)MOD:ResetUnitOptions("raid" .. w)SV:ResetMovables("Raid 1-" .. w .. " Frames")end, + func = function(l, m)MOD:ResetUnitOptions("raid" .. w)SV.Mentalo:Reset("Raid 1-" .. w .. " Frames")end, }, tabGroups = { order = 3, @@ -447,7 +447,7 @@ SV.Options.args.SVUnit.args.raidpet ={ type = 'execute', order = 3, name = L['Restore Defaults'], - func = function(l, m)MOD:ResetUnitOptions('raidpet')SV:ResetMovables('Raid Pet Frames')MOD:SetGroupFrame('raidpet', nil, nil, true)end, + func = function(l, m)MOD:ResetUnitOptions('raidpet')SV.Mentalo:Reset('Raid Pet Frames')MOD:SetGroupFrame('raidpet', nil, nil, true)end, }, tabGroups={ order=3, diff --git a/Interface/AddOns/SVUI_ConfigOMatic/modules/units/target.lua b/Interface/AddOns/SVUI_ConfigOMatic/modules/units/target.lua index ca18836..d32874d 100644 --- a/Interface/AddOns/SVUI_ConfigOMatic/modules/units/target.lua +++ b/Interface/AddOns/SVUI_ConfigOMatic/modules/units/target.lua @@ -48,7 +48,7 @@ SV.Options.args.SVUnit.args.target={ set=function(l,m)MOD:ChangeDBVar(m, l[#l], "target");MOD:SetUnitFrame('target')end, args={ enable={type='toggle',order=1,name=L['Enable']}, - resetSettings={type='execute',order=2,name=L['Restore Defaults'],func=function(l,m)MOD:ResetUnitOptions('target')SV:ResetMovables('Target Frame')end}, + resetSettings={type='execute',order=2,name=L['Restore Defaults'],func=function(l,m)MOD:ResetUnitOptions('target')SV.Mentalo:Reset('Target Frame')end}, tabGroups={ order=3, type='group', @@ -213,7 +213,7 @@ SV.Options.args.SVUnit.args.targettarget={ set=function(l,m)MOD:ChangeDBVar(m, l[#l], "targettarget");MOD:SetUnitFrame('targettarget')end, args={ enable={type='toggle',order=1,name=L['Enable']}, - resetSettings={type='execute',order=2,name=L['Restore Defaults'],func=function(l,m)MOD:ResetUnitOptions('targettarget')SV:ResetMovables('TargetTarget Frame')end}, + resetSettings={type='execute',order=2,name=L['Restore Defaults'],func=function(l,m)MOD:ResetUnitOptions('targettarget')SV.Mentalo:Reset('TargetTarget Frame')end}, tabGroups={ order=3, type='group', diff --git a/Interface/AddOns/SVUI_Laborer/modes/farming.lua b/Interface/AddOns/SVUI_Laborer/modes/farming.lua index a0d993a..29b0865 100644 --- a/Interface/AddOns/SVUI_Laborer/modes/farming.lua +++ b/Interface/AddOns/SVUI_Laborer/modes/farming.lua @@ -589,7 +589,7 @@ function MOD:PrepareFarmingTools() seedBar:SetPoint("TOPRIGHT", _G["FarmSeedBarAnchor"], "TOPRIGHT", (horizontal and 0 or -((BUTTONSIZE + BUTTONSPACE) * i)), (horizontal and -((BUTTONSIZE + BUTTONSPACE) * i) or 0)) seedBar.ButtonSize = BUTTONSIZE; end - SV:SetSVMovable(farmSeedBarAnchor, "Farming Seeds") + SV.Mentalo:Add(farmSeedBarAnchor, "Farming Seeds") -- FARM TOOLS local farmToolBarAnchor = CreateFrame("Frame", "FarmToolBarAnchor", SV.UIParent) @@ -599,7 +599,7 @@ function MOD:PrepareFarmingTools() farmToolBar:Size(horizontal and ((BUTTONSIZE + BUTTONSPACE) * 4) or (BUTTONSIZE + BUTTONSPACE), horizontal and (BUTTONSIZE + BUTTONSPACE) or ((BUTTONSIZE + BUTTONSPACE) * 4)) farmToolBar:SetPoint("TOPRIGHT", farmToolBarAnchor, "TOPRIGHT", (horizontal and -BUTTONSPACE or -(BUTTONSIZE + BUTTONSPACE)), (horizontal and -(BUTTONSIZE + BUTTONSPACE) or -BUTTONSPACE)) farmToolBar.ButtonSize = BUTTONSIZE; - SV:SetSVMovable(farmToolBarAnchor, "Farming Tools") + SV.Mentalo:Add(farmToolBarAnchor, "Farming Tools") -- PORTALS local farmPortalBarAnchor = CreateFrame("Frame", "FarmPortalBarAnchor", SV.UIParent) @@ -609,6 +609,6 @@ function MOD:PrepareFarmingTools() farmPortalBar:Size(horizontal and ((BUTTONSIZE + BUTTONSPACE) * 4) or (BUTTONSIZE + BUTTONSPACE), horizontal and (BUTTONSIZE + BUTTONSPACE) or ((BUTTONSIZE + BUTTONSPACE) * 4)) farmPortalBar:SetPoint("TOPRIGHT", farmPortalBarAnchor, "TOPRIGHT", (horizontal and -BUTTONSPACE or -(BUTTONSIZE + BUTTONSPACE)), (horizontal and -(BUTTONSIZE + BUTTONSPACE) or -BUTTONSPACE)) farmPortalBar.ButtonSize = BUTTONSIZE; - SV:SetSVMovable(farmPortalBarAnchor, "Farming Portals") + SV.Mentalo:Add(farmPortalBarAnchor, "Farming Portals") end end \ No newline at end of file diff --git a/Interface/AddOns/SVUI_StyleOMatic/SVUI_StyleOMatic.lua b/Interface/AddOns/SVUI_StyleOMatic/SVUI_StyleOMatic.lua index 0c5d962..b5c9489 100644 --- a/Interface/AddOns/SVUI_StyleOMatic/SVUI_StyleOMatic.lua +++ b/Interface/AddOns/SVUI_StyleOMatic/SVUI_StyleOMatic.lua @@ -262,8 +262,6 @@ function PLUGIN:PLAYER_ENTERING_WORLD(event, ...) self:Style(name, fn, event, ...) end end - - collectgarbage("collect") end function PLUGIN:ADDON_LOADED(event, addon) diff --git a/Interface/AddOns/SVUI_StyleOMatic/addons/archeology.lua b/Interface/AddOns/SVUI_StyleOMatic/addons/archeology.lua index 00e9bec..03128d8 100644 --- a/Interface/AddOns/SVUI_StyleOMatic/addons/archeology.lua +++ b/Interface/AddOns/SVUI_StyleOMatic/addons/archeology.lua @@ -25,7 +25,7 @@ ARCHEOLOGYFRAME STYLER local progressBarHolder = CreateFrame("Frame", "SVUI_ArcheologyProgressBar", nil) progressBarHolder:SetSize(240, 24) progressBarHolder:SetPoint("BOTTOM", CastingBarFrame, "TOP", 0, 10) -SV:SetSVMovable(progressBarHolder, "Archeology Progress Bar") +SV.Mentalo:Add(progressBarHolder, "Archeology Progress Bar") local function ArchaeologyStyle() if SV.db.SVStyle.blizzard.enable ~= true or SV.db.SVStyle.blizzard.archaeology ~= true then return end diff --git a/Interface/AddOns/SVUI_StyleOMatic/addons/encounterjournal.lua b/Interface/AddOns/SVUI_StyleOMatic/addons/encounterjournal.lua index 1de787b..c667ef4 100644 --- a/Interface/AddOns/SVUI_StyleOMatic/addons/encounterjournal.lua +++ b/Interface/AddOns/SVUI_StyleOMatic/addons/encounterjournal.lua @@ -25,7 +25,7 @@ local PVP_LOST = [[Interface\WorldMap\Skull_64Red]] local function Tab_OnEnter(this) this.backdrop:SetPanelColor("highlight") - this.backdrop:SetBackdropBorderColor(unpack(SV.Media.color.highlight)) + this.backdrop:SetBackdropBorderColor(0.1, 0.8, 0.8) end local function Tab_OnLeave(this) diff --git a/Interface/AddOns/SVUI_StyleOMatic/addons/spellbook.lua b/Interface/AddOns/SVUI_StyleOMatic/addons/spellbook.lua index de686ad..cba9e52 100644 --- a/Interface/AddOns/SVUI_StyleOMatic/addons/spellbook.lua +++ b/Interface/AddOns/SVUI_StyleOMatic/addons/spellbook.lua @@ -65,8 +65,8 @@ HELPERS ########################################################## ]]-- local function Tab_OnEnter(this) - this.backdrop:SetBackdropColor(unpack(SV.Media.color.highlight)) - this.backdrop:SetBackdropBorderColor(unpack(SV.Media.color.highlight)) + this.backdrop:SetBackdropColor(0.1, 0.8, 0.8) + this.backdrop:SetBackdropBorderColor(0.1, 0.8, 0.8) end local function Tab_OnLeave(this) diff --git a/Interface/AddOns/SVUI_StyleOMatic/addons/supervillain.lua b/Interface/AddOns/SVUI_StyleOMatic/addons/supervillain.lua index 01530b6..da9b217 100644 --- a/Interface/AddOns/SVUI_StyleOMatic/addons/supervillain.lua +++ b/Interface/AddOns/SVUI_StyleOMatic/addons/supervillain.lua @@ -41,7 +41,7 @@ local ProxyType = { } local function Widget_OnEnter(b) - b:SetBackdropBorderColor(unpack(SV.Media.color.highlight)) + b:SetBackdropBorderColor(0.1, 0.8, 0.8) end local function Widget_OnLeave(b) diff --git a/Interface/AddOns/SVUI_StyleOMatic/addons/talents.lua b/Interface/AddOns/SVUI_StyleOMatic/addons/talents.lua index b677fb5..9f90deb 100644 --- a/Interface/AddOns/SVUI_StyleOMatic/addons/talents.lua +++ b/Interface/AddOns/SVUI_StyleOMatic/addons/talents.lua @@ -31,7 +31,7 @@ local SpecButtonList = { local function Tab_OnEnter(this) this.backdrop:SetPanelColor("highlight") - this.backdrop:SetBackdropBorderColor(unpack(SV.Media.color.highlight)) + this.backdrop:SetBackdropBorderColor(0.1, 0.8, 0.8) end local function Tab_OnLeave(this) diff --git a/Interface/AddOns/SVUI_StyleOMatic/common/methods.lua b/Interface/AddOns/SVUI_StyleOMatic/common/methods.lua index f31ad44..7cd2c58 100644 --- a/Interface/AddOns/SVUI_StyleOMatic/common/methods.lua +++ b/Interface/AddOns/SVUI_StyleOMatic/common/methods.lua @@ -109,7 +109,7 @@ end ########################################################## ]]-- local Button_OnEnter = function(self) - self:SetBackdropColor(unpack(SV.Media.color.highlight)) + self:SetBackdropColor(0.1, 0.8, 0.8) end local Button_OnLeave = function(self) @@ -122,7 +122,7 @@ function STYLE:ApplyButtonStyle(this) end local ArrowButton_OnEnter = function(self) - self:SetBackdropBorderColor(unpack(SV.Media.color.highlight)) + self:SetBackdropBorderColor(0.1, 0.8, 0.8) end local ArrowButton_OnLeave = function(self) @@ -147,7 +147,7 @@ end --[[ CLOSE BUTTON ]]-- local CloseButton_OnEnter = function(self) - self:SetBackdropBorderColor(unpack(SV.Media.color.highlight)) + self:SetBackdropBorderColor(0.1, 0.8, 0.8) end local CloseButton_OnLeave = function(self) @@ -364,7 +364,7 @@ end --]] local Tab_OnEnter = function(self) self.backdrop:SetPanelColor("highlight") - self.backdrop:SetBackdropBorderColor(unpack(SV.Media.color.highlight)) + self.backdrop:SetBackdropBorderColor(0.1, 0.8, 0.8) end local Tab_OnLeave = function(self)