From bdd06d5286b7de950be9accb9c499c7b8ee59a30 Mon Sep 17 00:00:00 2001 From: Steven Jackson Date: Tue, 2 Dec 2014 22:52:24 -0600 Subject: [PATCH] 5.3.1 --- Interface/AddOns/SVUI/SVUI.toc | 4 +- Interface/AddOns/SVUI/framework/docks/docks.lua | 23 +- .../AddOns/SVUI/framework/movers/mover_mentalo.lua | 4 + .../libs/LibSuperVillain-1.0/modules/Registry.lua | 140 ++++++++---- .../Plugins/oUF_ActionPanel/oUF_ActionPanel.toc | 2 +- .../Plugins/oUF_Afflicted/oUF_Afflicted.toc | 2 +- .../Plugins/oUF_ArcaneCharge/oUF_ArcaneCharge.toc | 2 +- .../Plugins/oUF_Combatant/oUF_Combatant.toc | 2 +- .../SVUI/packages/tools/components/questwatch.lua | 31 ++- .../AddOns/SVUI/packages/unit/elements/castbar.lua | 2 +- Interface/AddOns/SVUI/scripts/mounts.lua | 3 +- Interface/AddOns/SVUI/setup/installer.lua | 22 +- Interface/AddOns/SVUI/setup/presets.lua | 22 +- Interface/AddOns/SVUI/system/credits.lua | 2 +- .../AddOns/SVUI_ChatOMatic/SVUI_ChatOMatic.toc | 2 +- .../AddOns/SVUI_ConfigOMatic/SVUI_ConfigOMatic.toc | 2 +- .../AddOns/SVUI_ConfigOMatic/components/_load.xml | 1 + .../SVUI_ConfigOMatic/components/layouts.lua | 82 +++++++ .../SVUI_ConfigOMatic/components/profiles.lua | 223 +++++++++++--------- .../AddOns/SVUI_ConfigOMatic/language/generic.lua | 18 +- .../AddOns/SVUI_CraftOMatic/SVUI_CraftOMatic.toc | 2 +- .../AddOns/SVUI_FightOMatic/SVUI_FightOMatic.toc | 2 +- Interface/AddOns/SVUI_LogOMatic/SVUI_LogOMatic.toc | 2 +- Interface/AddOns/SVUI_StyleOMatic/Loader.lua | 46 ++-- .../AddOns/SVUI_StyleOMatic/SVUI_StyleOMatic.toc | 2 +- .../SVUI_StyleOMatic/components/addons/Omen.lua | 76 +++++-- .../SVUI_StyleOMatic/components/addons/Recount.lua | 3 +- .../components/blizzard/gossip.lua | 10 +- .../components/blizzard/worldmap.lua | 2 +- .../SVUI_StyleOMatic/components/style_methods.lua | 4 +- .../AddOns/SVUI_TrackOMatic/SVUI_TrackOMatic.toc | 2 +- 31 files changed, 499 insertions(+), 241 deletions(-) create mode 100644 Interface/AddOns/SVUI_ConfigOMatic/components/layouts.lua diff --git a/Interface/AddOns/SVUI/SVUI.toc b/Interface/AddOns/SVUI/SVUI.toc index a8021e8..f66165b 100644 --- a/Interface/AddOns/SVUI/SVUI.toc +++ b/Interface/AddOns/SVUI/SVUI.toc @@ -1,11 +1,11 @@ ## Interface: 60000 ## Author: Munglunch -## Version: 5.3.0 +## Version: 5.3.1 ## Title: |cffFF9900SVUI|r ## Notes: Supervillain UI [|cff9911FFCore Framework|r]. ## SavedVariables: SVUI_Global, SVUI_Errors ## SavedVariablesPerCharacter: SVUI_Profile, SVUI_Cache, SVUI_Filters, SVUI_Layouts -## OptionalDeps: Blizzard_DebugTools, Blizzard_PetJournal, SharedMedia +## OptionalDeps: Blizzard_DebugTools, Blizzard_PetJournal, Blizzard_ObjectiveTracker, SharedMedia ## X-SVUIName: SuperVillain UI ## X-SVUISchema: Core ## X-oUF: oUF_Villain diff --git a/Interface/AddOns/SVUI/framework/docks/docks.lua b/Interface/AddOns/SVUI/framework/docks/docks.lua index d414c83..fbe28f7 100644 --- a/Interface/AddOns/SVUI/framework/docks/docks.lua +++ b/Interface/AddOns/SVUI/framework/docks/docks.lua @@ -158,7 +158,7 @@ local RefreshDockWindows = function(self) -- print(table.dump(self.Data.Windows)) for name,window in pairs(self.Data.Windows) do if(window) then - if(not InCombatLockdown() or (InCombatLockdown() and (window.IsProtected and not window:IsProtected()))) then + if((window.IsProtected and not window:IsProtected()) or (not InCombatLockdown())) then if(window.DockButton) then window.DockButton:Deactivate() end @@ -175,7 +175,7 @@ end local RefreshDockButtons = function(self) for name,docklet in pairs(Dock.Registration) do if(docklet) then - if(not InCombatLockdown() or (InCombatLockdown() and (docklet.IsProtected and not docklet:IsProtected()))) then + if((docklet.IsProtected and not docklet:IsProtected()) or (not InCombatLockdown())) then if(docklet.DockButton) then docklet.DockButton:Deactivate() end @@ -195,7 +195,10 @@ local GetDefault = function(self) if window and _G[window] then self:Refresh() self.Parent.Window.FrameLink = _G[window] - self.Parent.Window:Show() + if(not self.Parent.Window:IsShown() and (not InCombatLockdown())) then + self.Parent.Window:Show() + end + if(InCombatLockdown() and (_G[window].IsProtected and _G[window]:IsProtected())) then return end _G[window]:Show() button:Activate() end @@ -210,7 +213,10 @@ local OldDefault = function(self) if window and _G[window] then self:Refresh() self.Parent.Window.FrameLink = _G[window] - self.Parent.Window:Show() + if(not self.Parent.Window:IsShown() and (not InCombatLockdown())) then + self.Parent.Window:Show() + end + if(InCombatLockdown() and (_G[window].IsProtected and _G[window]:IsProtected())) then return end _G[window]:Show() button:Activate() end @@ -219,13 +225,14 @@ end local ToggleDockletWindow = function(self, button) local frame = button.FrameLink - if(frame and frame.Show) then + if(frame and frame.Show and (not frame:IsShown())) then self.Parent.Window.FrameLink = frame - if(not self.Parent.Window:IsShown()) then + if(not self.Parent.Window:IsShown() and (not InCombatLockdown())) then self.Parent.Window:Show() end self:Cycle() + if(InCombatLockdown() and (frame.IsProtected and frame:IsProtected())) then return end frame:Show() button:Activate() else @@ -341,8 +348,8 @@ local DockletButton_OnLeave = function(self, ...) end local DockletButton_OnClick = function(self, button) - if InCombatLockdown() then return end - if(IsAltKeyDown() and self:GetAttribute("hasDropDown") and self.GetMenuList) then + --if InCombatLockdown() then return end + if(IsAltKeyDown() and (not InCombatLockdown()) and self:GetAttribute("hasDropDown") and self.GetMenuList) then local list = self:GetMenuList() SV.Dropdown:Open(self, list); else diff --git a/Interface/AddOns/SVUI/framework/movers/mover_mentalo.lua b/Interface/AddOns/SVUI/framework/movers/mover_mentalo.lua index b3aa26a..d041845 100644 --- a/Interface/AddOns/SVUI/framework/movers/mover_mentalo.lua +++ b/Interface/AddOns/SVUI/framework/movers/mover_mentalo.lua @@ -983,6 +983,10 @@ function Mentalo:Initialize() SV.cache.Anchors = SV.cache.Anchors or {} self.CenterEverything = SV.db.general.multiMonitor + if(not SV.db.general.questWatch) then + tinsert(DraggableFrames, "ObjectiveTrackerFrame") + end + MentaloDraggablesUpdate(self) self:SetPositions() diff --git a/Interface/AddOns/SVUI/libs/LibSuperVillain-1.0/modules/Registry.lua b/Interface/AddOns/SVUI/libs/LibSuperVillain-1.0/modules/Registry.lua index 6903542..cd25b13 100644 --- a/Interface/AddOns/SVUI/libs/LibSuperVillain-1.0/modules/Registry.lua +++ b/Interface/AddOns/SVUI/libs/LibSuperVillain-1.0/modules/Registry.lua @@ -208,14 +208,6 @@ end --DATABASE LOCAL HELPERS -local function SanitizeStorage(data) - for k,v in pairs(data) do - if(k == "STORED" or k == "SAFEDATA" or k == "LAYOUT") then - data[k] = nil - end - end -end - local function copydefaults(d, s) if(type(s) ~= "table") then return end if(type(d) ~= "table") then return end @@ -249,15 +241,16 @@ local function tablecopy(d, s, debug) end end -local function tablesplice(targetTable, mergeTable) +local function tablesplice(mergeTable, targetTable) if type(targetTable) ~= "table" then targetTable = {} end if type(mergeTable) == 'table' then for key,val in pairs(mergeTable) do if type(val) == "table" then - val = tablesplice(targetTable[key], val) - end - targetTable[key] = val + targetTable[key] = tablesplice(val, targetTable[key]) + else + targetTable[key] = val + end end end return targetTable @@ -298,6 +291,60 @@ local function removedefaults(db, src, nometa) end end +local function sanitizeType1(db, src, output) + if((type(src) == "table")) then + if(type(db) == "table") then + for k,v in pairs(db) do + if(not src[k]) then + db[k] = nil + else + if(src[k] ~= nil) then + removedefaults(db[k], src[k]) + end + end + end + else + db = {} + end + end + if(output) then + return db + end +end + +local function sanitizeType2(db, src) + if((type(db) ~= "table") or (type(src) ~= "table")) then return end + for k,v in pairs(db) do + if(not src[k]) then + db[k] = nil + else + if(src[k] ~= nil) then + if(not LoadOnDemand[k]) then + removedefaults(db[k], src[k]) + end + end + end + end +end + +local function CleanupData(data, checkLOD) + local sv = rawget(data, "data") + local src = rawget(data, "defaults") + if(checkLOD) then + sanitizeType2(sv, src) + else + sanitizeType1(sv, src) + end +end + +local function SanitizeStorage(data) + for k,v in pairs(data) do + if(k == "STORED" or k == "SAFEDATA" or k == "LAYOUT") then + data[k] = nil + end + end +end + --DATABASE META METHODS local meta_transdata = { __index = function(t, k) @@ -392,15 +439,8 @@ function lib:CheckProfiles() return hasProfile end -function lib:SaveCustomLayout(key) - if(not key) then return end - - local export, saved - - if(not LAYOUT_SV[key]) then LAYOUT_SV[key] = {} end; - export = rawget(CoreObject.db, "data"); - saved = LAYOUT_SV[key]; - tablecopy(saved, export.SVUnit); +function lib:CurrentProfile() + return PROFILE_SV.SAFEDATA.GlobalKey end function lib:ImportDatabase(key, noreload) @@ -443,6 +483,44 @@ function lib:ExportDatabase(key) end end +function lib:SaveLayoutData(key, schema) + if(not key) then return end + if(not LAYOUT_SV[key]) then LAYOUT_SV[key] = {} end; + + local sv = rawget(data, "data"); + local src = rawget(data, "defaults"); + local copy_db = tablesplice(sv[schema], {}) + local copy_src = tablesplice(src[schema], {}) + + LAYOUT_SV[key][schema] = sanitizeType1(copy_db, copy_src, true); +end + +function lib:GetLayoutList() + local list = {} + for k,v in pairs(LAYOUT_SV) do + list[k] = k + end + return list +end + +function lib:GetLayoutData(key) + if((not key) or (not LAYOUT_SV[key])) then return end + return LAYOUT_SV[key] +end + +function lib:CheckLayoutData() + local hasData = false + local list = LAYOUT_SV or {} + for key,_ in pairs(list) do + hasData = true + end + return hasData +end + +function lib:RemoveLayout(key) + if(LAYOUT_SV[key]) then LAYOUT_SV[key] = nil end +end + function lib:WipeDatabase() for k,v in pairs(PROFILE_SV.STORED[SOURCE_KEY]) do PROFILE_SV.STORED[SOURCE_KEY][k] = nil @@ -911,22 +989,6 @@ end --LIBRARY EVENT HANDLING -local function CleanupData(data, checkLOD) - local sv = rawget(data, "data") - local src = rawget(data, "defaults") - for k,v in pairs(sv) do - if(not src[k]) then - sv[k] = nil - else - if(src[k] ~= nil) then - if((not checkLOD) or (checkLOD and (not LoadOnDemand[k]))) then - removedefaults(sv[k], src[k]) - end - end - end - end -end - local Library_OnEvent = function(self, event, arg, ...) if(event == "PLAYER_LOGOUT") then local key = PROFILE_SV.SAFEDATA.GlobalKey @@ -1195,6 +1257,10 @@ function lib:Initialize() if not _G[LAYOUTS_FILENAME] then _G[LAYOUTS_FILENAME] = {} end LAYOUT_SV = _G[LAYOUTS_FILENAME] + if(self:CheckLayoutData()) then + CoreObject.CustomLayouts = true + end + --CACHE SAVED VARIABLES if not _G[CACHE_FILENAME] then _G[CACHE_FILENAME] = {} end CACHE_SV = _G[CACHE_FILENAME] diff --git a/Interface/AddOns/SVUI/libs/oUF_Villain/Plugins/oUF_ActionPanel/oUF_ActionPanel.toc b/Interface/AddOns/SVUI/libs/oUF_Villain/Plugins/oUF_ActionPanel/oUF_ActionPanel.toc index 927bb1d..15c0cc5 100644 --- a/Interface/AddOns/SVUI/libs/oUF_Villain/Plugins/oUF_ActionPanel/oUF_ActionPanel.toc +++ b/Interface/AddOns/SVUI/libs/oUF_Villain/Plugins/oUF_ActionPanel/oUF_ActionPanel.toc @@ -2,7 +2,7 @@ ## Title: oUF ActionPanel ## Notes: Adds a backing to all unit frames that provides many utilities. ## Author: Munglunch -## Version: 5.3.0 +## Version: 5.3.1 ## X-Category: oUF ## Dependencies: oUF diff --git a/Interface/AddOns/SVUI/libs/oUF_Villain/Plugins/oUF_Afflicted/oUF_Afflicted.toc b/Interface/AddOns/SVUI/libs/oUF_Villain/Plugins/oUF_Afflicted/oUF_Afflicted.toc index 5ad85c1..5c71568 100644 --- a/Interface/AddOns/SVUI/libs/oUF_Villain/Plugins/oUF_Afflicted/oUF_Afflicted.toc +++ b/Interface/AddOns/SVUI/libs/oUF_Villain/Plugins/oUF_Afflicted/oUF_Afflicted.toc @@ -2,7 +2,7 @@ ## Title: oUF Afflicted ## Notes: Adds Custom Debuff Highlighting to oUF. ## Author: Munglunch -## Version: 5.3.0 +## Version: 5.3.1 ## X-Category: oUF ## Dependencies: oUF diff --git a/Interface/AddOns/SVUI/libs/oUF_Villain/Plugins/oUF_ArcaneCharge/oUF_ArcaneCharge.toc b/Interface/AddOns/SVUI/libs/oUF_Villain/Plugins/oUF_ArcaneCharge/oUF_ArcaneCharge.toc index 2c8595b..0c6bd62 100644 --- a/Interface/AddOns/SVUI/libs/oUF_Villain/Plugins/oUF_ArcaneCharge/oUF_ArcaneCharge.toc +++ b/Interface/AddOns/SVUI/libs/oUF_Villain/Plugins/oUF_ArcaneCharge/oUF_ArcaneCharge.toc @@ -2,7 +2,7 @@ ## Title: oUF Arcane Charge ## Notes: Adds support for arcane charge indicators to oUF. ## Author: Munglunch -## Version: 5.3.0 +## Version: 5.3.1 ## Dependencies: oUF oUF_ArcaneCharge.lua \ No newline at end of file diff --git a/Interface/AddOns/SVUI/libs/oUF_Villain/Plugins/oUF_Combatant/oUF_Combatant.toc b/Interface/AddOns/SVUI/libs/oUF_Villain/Plugins/oUF_Combatant/oUF_Combatant.toc index 4bdccb4..7642924 100644 --- a/Interface/AddOns/SVUI/libs/oUF_Villain/Plugins/oUF_Combatant/oUF_Combatant.toc +++ b/Interface/AddOns/SVUI/libs/oUF_Villain/Plugins/oUF_Combatant/oUF_Combatant.toc @@ -2,7 +2,7 @@ ## Title: oUF Combatant ## Notes: Adds PvP trinket status and spec icons to oUF frames. ## Author: Munglunch -## Version: 5.3.0 +## Version: 5.3.1 ## X-Category: oUF ## Dependencies: oUF diff --git a/Interface/AddOns/SVUI/packages/tools/components/questwatch.lua b/Interface/AddOns/SVUI/packages/tools/components/questwatch.lua index 4651bed..7edcca8 100644 --- a/Interface/AddOns/SVUI/packages/tools/components/questwatch.lua +++ b/Interface/AddOns/SVUI/packages/tools/components/questwatch.lua @@ -79,41 +79,34 @@ end function MOD:LoadQuestWatch() if(not ObjectiveTrackerFrame) then return end - if(not SV.db.general.questWatch) then ObjectiveTrackerFrame:RemoveTextures(true) - - self.QuestWatch = CreateFrame("Frame", "SVUI_QuestWatchFrame", UIParent); - self.QuestWatch:SetSize(200, ObjectiveTrackerFrame:GetHeight()); - self.QuestWatch:SetPoint("TOPRIGHT", UIParent, "RIGHT", -200, 100); - - ObjectiveTrackerFrame:ClearAllPoints() - ObjectiveTrackerFrame:SetClampedToScreen(false) - ObjectiveTrackerFrame:SetAllPoints(self.QuestWatch) - ObjectiveTrackerFrame:SetFrameLevel(self.QuestWatch:GetFrameLevel() + 1) - ObjectiveTrackerFrame.ClearAllPoints = SV.fubar; - ObjectiveTrackerFrame.SetPoint = SV.fubar; - ObjectiveTrackerFrame.SetAllPoints = SV.fubar; - ObjectiveTrackerFrame.BlocksFrame:RemoveTextures(true) ObjectiveTrackerFrame.HeaderMenu:RemoveTextures(true) ObjectiveTrackerFrame.BlockDropDown:RemoveTextures(true) if(SV.db.general.questHeaders) then ObjectiveTrackerFrame.BlocksFrame.QuestHeader:RemoveTextures(true) - ObjectiveTrackerFrame.BlocksFrame.QuestHeader:SetFixedPanelTemplate("Headline", true) + ObjectiveTrackerFrame.BlocksFrame.QuestHeader:SetPanelTemplate("Headline", true) ObjectiveTrackerFrame.BlocksFrame.QuestHeader:SetBackdropColor(0, 0, 0, 0.5) + ObjectiveTrackerFrame.BlocksFrame.QuestHeader.Panel:ClearAllPoints() + ObjectiveTrackerFrame.BlocksFrame.QuestHeader.Panel:SetPoint("TOPLEFT", ObjectiveTrackerFrame.BlocksFrame.QuestHeader, "TOPLEFT", -2, -2) + ObjectiveTrackerFrame.BlocksFrame.QuestHeader.Panel:SetPoint("BOTTOMRIGHT", ObjectiveTrackerFrame.BlocksFrame.QuestHeader, "BOTTOMRIGHT", 12, 2) ObjectiveTrackerFrame.BlocksFrame.AchievementHeader:RemoveTextures(true) - ObjectiveTrackerFrame.BlocksFrame.AchievementHeader:SetFixedPanelTemplate("Headline", true) + ObjectiveTrackerFrame.BlocksFrame.AchievementHeader:SetPanelTemplate("Headline", true) ObjectiveTrackerFrame.BlocksFrame.AchievementHeader:SetBackdropColor(0, 0, 0, 0.5) + ObjectiveTrackerFrame.BlocksFrame.AchievementHeader.Panel:ClearAllPoints() + ObjectiveTrackerFrame.BlocksFrame.AchievementHeader.Panel:SetPoint("TOPLEFT", ObjectiveTrackerFrame.BlocksFrame.AchievementHeader, "TOPLEFT", -2, -2) + ObjectiveTrackerFrame.BlocksFrame.AchievementHeader.Panel:SetPoint("BOTTOMRIGHT", ObjectiveTrackerFrame.BlocksFrame.AchievementHeader, "BOTTOMRIGHT", 12, 2) ObjectiveTrackerFrame.BlocksFrame.ScenarioHeader:RemoveTextures(true) - ObjectiveTrackerFrame.BlocksFrame.ScenarioHeader:SetFixedPanelTemplate("Headline", true) + ObjectiveTrackerFrame.BlocksFrame.ScenarioHeader:SetPanelTemplate("Headline", true) ObjectiveTrackerFrame.BlocksFrame.ScenarioHeader:SetBackdropColor(0, 0, 0, 0.5) + ObjectiveTrackerFrame.BlocksFrame.ScenarioHeader.Panel:ClearAllPoints() + ObjectiveTrackerFrame.BlocksFrame.ScenarioHeader.Panel:SetPoint("TOPLEFT", ObjectiveTrackerFrame.BlocksFrame.ScenarioHeader, "TOPLEFT", -2, -2) + ObjectiveTrackerFrame.BlocksFrame.ScenarioHeader.Panel:SetPoint("BOTTOMRIGHT", ObjectiveTrackerFrame.BlocksFrame.ScenarioHeader, "BOTTOMRIGHT", 12, 2) end - - SV.Mentalo:Add(self.QuestWatch, "Quest Watch"); else local bgTex = [[Interface\BUTTONS\WHITE8X8]] local bdTex = SV.Media.bar.glow diff --git a/Interface/AddOns/SVUI/packages/unit/elements/castbar.lua b/Interface/AddOns/SVUI/packages/unit/elements/castbar.lua index d581d0d..251f395 100644 --- a/Interface/AddOns/SVUI/packages/unit/elements/castbar.lua +++ b/Interface/AddOns/SVUI/packages/unit/elements/castbar.lua @@ -557,7 +557,7 @@ function MOD:CreateCastbar(frame, reversed, moverName, ryu, useFader, isBoss) bgFrame:FillInner(castbar, -2, 10) bgFrame:SetFrameLevel(bgFrame:GetFrameLevel() - 1) - castbar.LatencyTexture:SetTexture(SV.Media.bar.lazer) + castbar.LatencyTexture:SetTexture(SV.Media.bar.lazer) castbar.noupdate = true; castbar.pewpew = true hadouken.iscustom = true; diff --git a/Interface/AddOns/SVUI/scripts/mounts.lua b/Interface/AddOns/SVUI/scripts/mounts.lua index fe710ff..bb1b4c0 100644 --- a/Interface/AddOns/SVUI/scripts/mounts.lua +++ b/Interface/AddOns/SVUI/scripts/mounts.lua @@ -395,8 +395,9 @@ _G.SVUILetsRide = function() } end + local continent = GetCurrentMapContinent() local checkList = SV.cache.Mounts.types - local letsFly = IsFlyableArea() + local letsFly = (IsFlyableArea() and (continent ~= 7)) local letsSwim = IsSwimming() if(IsModifierKeyDown() and checkList["SPECIAL"]) then diff --git a/Interface/AddOns/SVUI/setup/installer.lua b/Interface/AddOns/SVUI/setup/installer.lua index 6ef89e9..e28160b 100644 --- a/Interface/AddOns/SVUI/setup/installer.lua +++ b/Interface/AddOns/SVUI/setup/installer.lua @@ -446,7 +446,7 @@ function SV.Setup:ColorTheme(style, preserve) SV:ResetData("media") end - local presets = self:CopyPreset("media", style) + self:CopyPreset("media", style) --print(table.dump(SV.db)) SV.db.LAYOUT.mediastyle = style; @@ -478,7 +478,7 @@ function SV.Setup:UnitframeLayout(style, preserve) end end - local presets = self:CopyPreset("units", style) + self:CopyPreset("units", style) SV.db.LAYOUT.unitstyle = style if(SV.db.LAYOUT.mediastyle == "default") then @@ -505,7 +505,7 @@ end function SV.Setup:GroupframeLayout(style, preserve) style = style or "default"; - local presets = self:CopyPreset("layouts", style) + self:CopyPreset("layouts", style) SV.db.LAYOUT.groupstyle = style if(not mungs) then @@ -527,7 +527,7 @@ function SV.Setup:BarLayout(style, preserve) end end - local presets = self:CopyPreset("bars", style) + self:CopyPreset("bars", style) SV.db.LAYOUT.barstyle = style; if(not mungs) then @@ -552,7 +552,7 @@ end function SV.Setup:Auralayout(style, preserve) style = style or "default"; - local presets = self:CopyPreset("auras", style) + self:CopyPreset("auras", style) SV.db.LAYOUT.aurastyle = style; @@ -564,7 +564,17 @@ function SV.Setup:Auralayout(style, preserve) SV:SavedPopup() end end -end +end + +function SV.Setup:CustomLayout(style) + if((not style) or (not SV.CustomLayouts)) then return end; + if(self:CopyCustom(style)) then + SV.db.LAYOUT.custom = style + SVLib:RefreshModule('SVBar') + SVLib:RefreshModule('SVAura') + SVLib:RefreshModule('SVUnit') + end +end function SV.Setup:EZDefault() mungs = true; diff --git a/Interface/AddOns/SVUI/setup/presets.lua b/Interface/AddOns/SVUI/setup/presets.lua index a7a9999..e736fbd 100644 --- a/Interface/AddOns/SVUI/setup/presets.lua +++ b/Interface/AddOns/SVUI/setup/presets.lua @@ -961,14 +961,6 @@ local function LoadPresetData() }, } }; - - if(SV.UserPresets) then - for key, data in pairs(SV.UserPresets) do - for category, presets in pairs(data) do - PRESET_DATA[key][category] = presets - end - end - end end local function LoadPageData() @@ -1218,4 +1210,18 @@ function SV.Setup:CopyOnClick(index) if(CLICK_DIALOG and CLICK_DIALOG[index]) then return CLICK_DIALOG[index] end +end + +function SV.Setup:CopyCustom(name) + if(name and SV.CustomLayouts) then + local layout = SVLib:GetLayoutData(name) + for schema, presets in pairs(layout) do + local data = SV.db[schema] + if(data) then + _copyPresets(data, presets) + end + end + return true + end + return false end \ No newline at end of file diff --git a/Interface/AddOns/SVUI/system/credits.lua b/Interface/AddOns/SVUI/system/credits.lua index 3c2db82..110a4e9 100644 --- a/Interface/AddOns/SVUI/system/credits.lua +++ b/Interface/AddOns/SVUI/system/credits.lua @@ -42,7 +42,7 @@ end --[[ DONATION CREDITS ]]-- local donations = { - "Movster, Penguinsane, FaolanKing, Doonga, Meggalo", + "Movster, Meggalo, Penguinsane, FaolanKing, Doonga", "Cazart506, Moondoggy, Necroo, Chief Pullin, lkj61", "BloodEagle, Egbert, Jerry Ferguson, Hyti, Elton", "James Watson, Lathron, Adam Vargas, Daphne, Dave (Naméra)", diff --git a/Interface/AddOns/SVUI_ChatOMatic/SVUI_ChatOMatic.toc b/Interface/AddOns/SVUI_ChatOMatic/SVUI_ChatOMatic.toc index ffd45ef..821c6b7 100644 --- a/Interface/AddOns/SVUI_ChatOMatic/SVUI_ChatOMatic.toc +++ b/Interface/AddOns/SVUI_ChatOMatic/SVUI_ChatOMatic.toc @@ -1,6 +1,6 @@ ## Interface: 60000 ## Author: Munglunch -## Version: 5.3.0 +## Version: 5.3.1 ## Title: |cffFF9900SVUI |r|cffFFEF00Chat-O-Matic|r ## Notes: Supervillain UI [|cff9911FFVarious Chat Gadgets|r] ## SavedVariables: ChatOMatic_Data diff --git a/Interface/AddOns/SVUI_ConfigOMatic/SVUI_ConfigOMatic.toc b/Interface/AddOns/SVUI_ConfigOMatic/SVUI_ConfigOMatic.toc index ee3c16e..6e7dd73 100644 --- a/Interface/AddOns/SVUI_ConfigOMatic/SVUI_ConfigOMatic.toc +++ b/Interface/AddOns/SVUI_ConfigOMatic/SVUI_ConfigOMatic.toc @@ -1,6 +1,6 @@ ## Interface: 60000 ## Author: Munglunch -## Version: 5.3.0 +## Version: 5.3.1 ## Title: |cffFF9900SVUI |r|cffFFEF00Config-O-Matic|r ## Notes: Supervillain UI [|cff9911FFConfig Options|r] ## RequiredDeps: SVUI diff --git a/Interface/AddOns/SVUI_ConfigOMatic/components/_load.xml b/Interface/AddOns/SVUI_ConfigOMatic/components/_load.xml index a350879..8d30609 100644 --- a/Interface/AddOns/SVUI_ConfigOMatic/components/_load.xml +++ b/Interface/AddOns/SVUI_ConfigOMatic/components/_load.xml @@ -11,5 +11,6 @@