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 @@ <Script file='plate.lua'/> <Script file='tip.lua'/> <Include file='units\_load.xml'/> + <!-- <Script file='layouts.lua'/> --> <Script file='profiles.lua'/> </Ui> \ No newline at end of file diff --git a/Interface/AddOns/SVUI_ConfigOMatic/components/layouts.lua b/Interface/AddOns/SVUI_ConfigOMatic/components/layouts.lua new file mode 100644 index 0000000..3a48101 --- /dev/null +++ b/Interface/AddOns/SVUI_ConfigOMatic/components/layouts.lua @@ -0,0 +1,82 @@ +--[[ +############################################################################## +_____/\\\\\\\\\\\____/\\\________/\\\__/\\\________/\\\__/\\\\\\\\\\\_ # + ___/\\\/////////\\\_\/\\\_______\/\\\_\/\\\_______\/\\\_\/////\\\///__ # + __\//\\\______\///__\//\\\______/\\\__\/\\\_______\/\\\_____\/\\\_____ # + ___\////\\\__________\//\\\____/\\\___\/\\\_______\/\\\_____\/\\\_____ # + ______\////\\\________\//\\\__/\\\____\/\\\_______\/\\\_____\/\\\_____ # + _________\////\\\______\//\\\/\\\_____\/\\\_______\/\\\_____\/\\\_____ # + __/\\\______\//\\\______\//\\\\\______\//\\\______/\\\______\/\\\_____ # + _\///\\\\\\\\\\\/________\//\\\________\///\\\\\\\\\/____/\\\\\\\\\\\_# + ___\///////////___________\///___________\/////////_____\///////////_# +############################################################################## +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 pairs = _G.pairs; +local tinsert = _G.tinsert; +local table = _G.table; +--[[ TABLE METHODS ]]-- +local tsort = table.sort; +--[[ +########################################################## +GET ADDON DATA +########################################################## +]]-- +local SV = _G["SVUI"]; +local SVLib = LibSuperVillain("Registry"); +local L = SV.L; + +local playerRealm = GetRealmName() +local playerName = UnitName("player") +local profileKey = ("%s - %s"):format(playerName, playerRealm) + +SV.Options.args.layouts = { + order = 9998, + type = "group", + name = L["Layouts"], + childGroups = "tab", + args = { + desc = { + order = 1, + type = "description", + name = L["intro"] .. "\n", + }, + spacer1 = { + order = 2, + type = "description", + name = "", + width = "full", + }, + save = { + order = 3, + name = SAVE, + type = "input", + desc = function() return _G.SAVE .. " current settings as a custom Layout" end, + func = function(key, value) + SVLib:SaveLayoutData(value, 'SVBar') + SVLib:SaveLayoutData(value, 'SVAura') + SVLib:SaveLayoutData(value, 'SVUnit') + SV:SavedPopup() + end, + }, + delete = { + order = 4, + type = "select", + name = L["delete"], + desc = L["delete_sub"], + get = function() return " SELECT ONE" end, + set = function(key, value) SVLib:RemoveLayout(value) end, + values = SVLib:GetLayoutList(), + disabled = function() local t = SVLib:CheckLayoutData() return (not t) end, + confirm = true, + confirmText = L["delete_confirm"], + }, + } +} \ No newline at end of file diff --git a/Interface/AddOns/SVUI_ConfigOMatic/components/profiles.lua b/Interface/AddOns/SVUI_ConfigOMatic/components/profiles.lua index a1ceeaa..36c4968 100644 --- a/Interface/AddOns/SVUI_ConfigOMatic/components/profiles.lua +++ b/Interface/AddOns/SVUI_ConfigOMatic/components/profiles.lua @@ -40,105 +40,134 @@ local profileKey = ("%s - %s"):format(playerName, playerRealm) SV.Options.args.profiles = { order = 9999, type = "group", - name = L["profiles"], + name = L["Profiles"], childGroups = "tab", - args = { - desc = { - order = 1, - type = "description", - name = L["intro"] .. "\n", - }, - spacer1 = { - order = 2, - type = "description", - name = "", - width = "full", - }, - importdesc = { - order = 3, - type = "description", - name = "\n" .. L["import_desc"], - width = "full" - }, - save = { - order = 4, - type = "execute", - name = SAVE, - desc = function() return _G.SAVE .. " " .. L["current"] .. " |cffFFFF00" .. profileKey .. "|r" end, - func = function() SVLib:ExportDatabase(profileKey) SV:SavedPopup() end, - }, - export = { - name = L["export"], - desc = L["export_sub"], - type = "input", + args = {} +} + +local function RefreshProfileOptions() + local hasProfile = true; + local currentProfile = SVLib:CurrentProfile() + if(not currentProfile) then + hasProfile = false + currentProfile = profileKey + end + + SV.Options.args.profiles.args.desc = { + order = 1, + type = "description", + name = L["intro"] .. "\n\n" .. " |cff66FF33" .. L["current"] .. currentProfile .. "|r", + width = "full", + } + SV.Options.args.profiles.args.spacer1 = { + order = 2, + type = "description", + name = "", + width = "full", + } + SV.Options.args.profiles.args.importdesc = { + order = 3, + type = "description", + name = "\n" .. L["import_desc"], + width = "full" + } + + SV.Options.args.profiles.args.spacer2 = { + order = 4, + type = "description", + name = "", + width = "full", + } + + if(not hasProfile) then + SV.Options.args.profiles.args.save = { order = 5, - get = false, - set = function(key, value) SVLib:ExportDatabase(value) SV:SavedPopup() end, - }, - import = { - name = L["import"], - desc = L["import_sub"], - type = "select", - order = 6, - get = function() return " SELECT ONE" end, - set = function(key, value) SV:ImportProfile(value) end, - disabled = function() local t = SVLib:CheckProfiles() return (not t) end, - values = SVLib:GetProfiles(), - }, - spacer2 = { - order = 7, - type = "description", - name = "", - width = "full", - }, - deldesc = { - order = 8, - type = "description", - name = "\n" .. L["delete_desc"], - }, - delete = { - order = 9, - type = "select", - name = L["delete"], - desc = L["delete_sub"], - get = function() return " SELECT ONE" end, - set = function(key, value) SVLib:Remove(value) end, - values = SVLib:GetProfiles(), - disabled = function() local t = SVLib:CheckProfiles() return (not t) end, - confirm = true, - confirmText = L["delete_confirm"], - }, - spacer3 = { - order = 10, - type = "description", - name = "", - width = "full", - }, - descreset = { - order = 11, - type = "description", - name = L["reset_desc"], - }, - reset = { - order = 12, type = "execute", - name = function() return L["reset"] .. " " .. " |cffFFFF00" .. profileKey .. "|r" end, - desc = L["reset_sub"], - func = function() SV:StaticPopup_Show("RESET_PROFILE_PROMPT") end, - width = "full", - }, - spacer4 = { - order = 13, - type = "description", - name = "", + name = SAVE, width = "full", - }, - dualSpec = { - order = 14, - type = "toggle", - name = "Dual-Spec Switching", - get = function() return SVLib:CheckDualProfile() end, - set = function(key, value) SVLib:ToggleDualProfile(value) end, - }, + desc = function() return _G.SAVE .. " " .. L["current"] .. " |cffFFFF00" .. currentProfile .. "|r" end, + func = function() SVLib:ExportDatabase(currentProfile) SV:SavedPopup() RefreshProfileOptions() end, + } + else + SV.Options.args.profiles.args.save = nil + end + + SV.Options.args.profiles.args.export = { + name = L["export"], + desc = L["export_sub"], + type = "input", + order = 6, + get = false, + set = function(key, value) SVLib:ExportDatabase(value) SV:SavedPopup() end, + } + + SV.Options.args.profiles.args.import = { + name = L["import"], + desc = L["import_sub"], + type = "select", + order = 7, + get = function() return " SELECT ONE" end, + set = function(key, value) SV:ImportProfile(value) RefreshProfileOptions() end, + disabled = function() local t = SVLib:CheckProfiles() return (not t) end, + values = SVLib:GetProfiles(), + } + SV.Options.args.profiles.args.spacer3 = { + order = 8, + type = "description", + name = "", + width = "full", + } + SV.Options.args.profiles.args.deldesc = { + order = 9, + type = "description", + name = "\n" .. L["delete_desc"], + width = "full", + } + SV.Options.args.profiles.args.delete = { + order = 10, + type = "select", + name = L["delete"], + desc = L["delete_sub"], + get = function() return " SELECT ONE" end, + set = function(key, value) SVLib:Remove(value) end, + values = SVLib:GetProfiles(), + disabled = function() local t = SVLib:CheckProfiles() return (not t) end, + confirm = true, + confirmText = L["delete_confirm"], } -} \ No newline at end of file + SV.Options.args.profiles.args.spacer4 = { + order = 11, + type = "description", + name = "", + width = "full", + } + SV.Options.args.profiles.args.descreset = { + order = 12, + type = "description", + name = L["reset_desc"], + width = "full", + } + SV.Options.args.profiles.args.reset = { + order = 13, + type = "execute", + name = function() return L["reset"] .. " " .. " |cffFFFF00" .. currentProfile .. "|r" end, + desc = L["reset_sub"], + func = function() SV:StaticPopup_Show("RESET_PROFILE_PROMPT") end, + width = "full", + } + SV.Options.args.profiles.args.spacer5 = { + order = 14, + type = "description", + name = "", + width = "full", + } + SV.Options.args.profiles.args.dualSpec = { + order = 15, + type = "toggle", + name = "Dual-Spec Switching", + get = function() return SVLib:CheckDualProfile() end, + set = function(key, value) SVLib:ToggleDualProfile(value) end, + } +end + +RefreshProfileOptions() \ No newline at end of file diff --git a/Interface/AddOns/SVUI_ConfigOMatic/language/generic.lua b/Interface/AddOns/SVUI_ConfigOMatic/language/generic.lua index ceaf01a..30d7653 100644 --- a/Interface/AddOns/SVUI_ConfigOMatic/language/generic.lua +++ b/Interface/AddOns/SVUI_ConfigOMatic/language/generic.lua @@ -34,7 +34,7 @@ if gameLocale == "enUS" then L["import"] = "Existing Profiles" L["import_desc"] = "You can either create a new profile by entering a name in the editbox, or choose one of the already existing profiles." L["import_sub"] = "Select one of your currently available profiles." - L["import"] = "Copy From" + L["copy_name"] = "Copy From" L["copy_desc"] = "Copy the settings from one existing profile into the currently active profile." L["current"] = "Current Profile:" L["default"] = "Default" @@ -70,7 +70,7 @@ if gameLocale == "frFR" then L["import"] = "Profils existants" L["import_desc"] = "Vous pouvez créer un nouveau profil en entrant un nouveau nom dans la boîte de saisie, ou en choississant un des profils déjà existants." L["import_sub"] = "Permet de choisir un des profils déjà disponibles." - L["import"] = "Copier à partir de" + L["copy_name"] = "Copier à partir de" L["copy_desc"] = "Copie les paramètres d'un profil déjà existant dans le profil actuellement actif." L["current"] = "Current Profile:" L["default"] = "Défaut" @@ -106,7 +106,7 @@ if gameLocale == "deDE" then L["import"] = "Vorhandene Profile" L["import_desc"] = "Du kannst ein neues Profil erstellen, indem du einen neuen Namen in der Eingabebox 'Neu' eingibst, oder wähle eines der vorhandenen Profile aus." L["import_sub"] = "Wählt ein bereits vorhandenes Profil aus." - L["import"] = "Kopieren von..." + L["copy_name"] = "Kopieren von..." L["copy_desc"] = "Kopiere die Einstellungen von einem vorhandenen Profil in das aktive Profil." L["default"] = "Standard" L["delete"] = "Profil löschen" @@ -141,7 +141,7 @@ if gameLocale == "itIT" then L["import"] = "Profili esistenti" L["import_desc"] = "Puoi creare un nuovo profilo digitando il nome della casella di testo, oppure scegliendone uno tra i profili gia' esistenti." L["import_sub"] = "Seleziona uno dei profili disponibili." - L["import"] = "Copia Da" + L["copy_name"] = "Copia Da" L["copy_desc"] = "Copia le impostazioni da un profilo esistente, nel profilo attivo in questo momento." L["current"] = "Profilo Attivo:" L["default"] = "Standard" @@ -177,7 +177,7 @@ if gameLocale == "koKR" then L["import"] = "프로필 선택" L["import_desc"] = "새로운 이름을 입력하거나, 이미 있는 프로필중 하나를 선택하여 새로운 프로필을 만들 수 있습니다." L["import_sub"] = "당신이 현재 이용할수 있는 프로필을 선택합니다." - L["import"] = "복사" + L["copy_name"] = "복사" L["copy_desc"] = "현재 사용중인 프로필에, 선택한 프로필의 설정을 복사합니다." L["current"] = "Current Profile:" L["default"] = "기본값" @@ -230,7 +230,7 @@ if gameLocale == "ruRU" then L["import"] = "Существующие профили" L["import_desc"] = "Вы можете создать новый профиль, введя название в поле ввода, или выбрать один из уже существующих профилей." L["import_sub"] = "Выбор одиного из уже доступных профилей" - L["import"] = "Скопировать из" + L["copy_name"] = "Скопировать из" L["copy_desc"] = "Скопировать настройки из выбранного профиля в активный." L["current"] = " " L["default"] = "По умолчанию" @@ -266,7 +266,7 @@ if gameLocale == "esES" or gameLocale == "esMX" then L["import"] = "Perfiles existentes" L["import_desc"] = "Puedes crear un nuevo perfil introduciendo un nombre en el recuadro o puedes seleccionar un perfil de los ya existentes." L["import_sub"] = "Selecciona uno de los perfiles disponibles." - L["import"] = "Copiar de" + L["copy_name"] = "Copiar de" L["copy_desc"] = "Copia los ajustes de un perfil existente al perfil actual." L["current"] = "Current Profile:" L["default"] = "Por defecto" @@ -302,7 +302,7 @@ if gameLocale == "zhTW" then L["import"] = "現有的設定檔" L["import_desc"] = "你可以通過在文本框內輸入一個名字創立一個新的設定檔,也可以選擇一個已經存在的設定檔。" L["import_sub"] = "從當前可用的設定檔裏面選擇一個。" - L["import"] = "複製自" + L["copy_name"] = "複製自" L["copy_desc"] = "從當前某個已保存的設定檔複製到當前正使用的設定檔。" L["current"] = "Current Profile:" L["default"] = "預設" @@ -338,7 +338,7 @@ if gameLocale == "zhCN" then L["import"] = "现有的配置文件" L["import_desc"] = "你可以通过在文本框内输入一个名字创立一个新的配置文件,也可以选择一个已经存在的配置文件。" L["import_sub"] = "从当前可用的配置文件里面选择一个。" - L["import"] = "复制自" + L["copy_name"] = "复制自" L["copy_desc"] = "从当前某个已保存的配置文件复制到当前正使用的配置文件。" L["current"] = "Current Profile:" L["default"] = "默认" diff --git a/Interface/AddOns/SVUI_CraftOMatic/SVUI_CraftOMatic.toc b/Interface/AddOns/SVUI_CraftOMatic/SVUI_CraftOMatic.toc index ddc3e84..c0b7b8c 100644 --- a/Interface/AddOns/SVUI_CraftOMatic/SVUI_CraftOMatic.toc +++ b/Interface/AddOns/SVUI_CraftOMatic/SVUI_CraftOMatic.toc @@ -1,6 +1,6 @@ ## Interface: 60000 ## Author: Munglunch -## Version: 5.3.0 +## Version: 5.3.1 ## Title: |cffFF9900SVUI |r|cffFFEF00Craft-O-Matic|r ## Notes: Supervillain UI [|cff9911FFProfession Tools|r]. ## SavedVariablesPerCharacter: CraftOMatic_Profile, CraftOMatic_Cache diff --git a/Interface/AddOns/SVUI_FightOMatic/SVUI_FightOMatic.toc b/Interface/AddOns/SVUI_FightOMatic/SVUI_FightOMatic.toc index 3cf06a7..aaddca6 100644 --- a/Interface/AddOns/SVUI_FightOMatic/SVUI_FightOMatic.toc +++ b/Interface/AddOns/SVUI_FightOMatic/SVUI_FightOMatic.toc @@ -1,6 +1,6 @@ ## Interface: 60000 ## Author: Munglunch -## Version: 5.3.0 +## Version: 5.3.1 ## Title: |cffFF9900SVUI |r|cffFFEF00Fight-O-Matic|r ## Notes: Supervillain UI [|cff9911FFPvP Tools|r]. ## SavedVariablesPerCharacter: FightOMatic_Profile, FightOMatic_Cache diff --git a/Interface/AddOns/SVUI_LogOMatic/SVUI_LogOMatic.toc b/Interface/AddOns/SVUI_LogOMatic/SVUI_LogOMatic.toc index 1ac4962..bbd3c06 100644 --- a/Interface/AddOns/SVUI_LogOMatic/SVUI_LogOMatic.toc +++ b/Interface/AddOns/SVUI_LogOMatic/SVUI_LogOMatic.toc @@ -1,6 +1,6 @@ ## Interface: 60000 ## Author: Munglunch -## Version: 5.3.0 +## Version: 5.3.1 ## Title: |cffFF9900SVUI |r|cffFFEF00Log-O-Matic|r ## Notes: Supervillain UI [|cff9911FFData Logging|r]. ## SavedVariables: LogOMatic_Data diff --git a/Interface/AddOns/SVUI_StyleOMatic/Loader.lua b/Interface/AddOns/SVUI_StyleOMatic/Loader.lua index d264612..0e4b78c 100644 --- a/Interface/AddOns/SVUI_StyleOMatic/Loader.lua +++ b/Interface/AddOns/SVUI_StyleOMatic/Loader.lua @@ -89,26 +89,32 @@ AddonObject.defaults = { }, ["addons"] = { ["enable"] = true, - ["Skada"] = true, - ["Recount"] = true, - ["AuctionLite"] = true, - ["AtlasLoot"] = true, - ["SexyCooldown"] = true, - ["Lightheaded"] = true, - ["Outfitter"] = true, - ["Quartz"] = true, - ["TomTom"] = true, - ["TinyDPS"] = true, - ["Clique"] = true, - ["CoolLine"] = true, - ["ACP"] = true, - ["DXE"] = true, - ["DBM-Core"] = true, - ["VEM"] = true, - ["MogIt"] = true, - ["alDamageMeter"] = true, - ["Omen"] = true, - ["TradeSkillDW"] = true, + ['Ace3.lua'] = true, + ['ACP.lua'] = true, + ['AdiBags.lua'] = true, + ['Altoholic.lua'] = true, + ['AtlasLoot.lua'] = true, + ['AuctionLite.lua'] = true, + ['alDamageMeter.lua'] = true, + ['BigWigs.lua'] = true, + ['Bugsack.lua'] = true, + ['Clique.lua'] = true, + ['Cooline.lua'] = true, + ['DBM.lua'] = true, + ['DXE.lua'] = true, + ['LightHeaded.lua'] = true, + ['Mogit.lua'] = true, + ['Omen.lua'] = true, + ['Outfitter.lua'] = true, + ['Postal.lua'] = true, + ['Quartz.lua'] = true, + ['Recount.lua'] = true, + ['SexyCooldown.lua'] = true, + ['Skada.lua'] = true, + ['TinyDPS.lua'] = true, + ['TomTom.lua'] = true, + ['TradeSkillDW.lua'] = true, + ['VEM.lua'] = true, }, }; diff --git a/Interface/AddOns/SVUI_StyleOMatic/SVUI_StyleOMatic.toc b/Interface/AddOns/SVUI_StyleOMatic/SVUI_StyleOMatic.toc index e86e29c..3452ff8 100644 --- a/Interface/AddOns/SVUI_StyleOMatic/SVUI_StyleOMatic.toc +++ b/Interface/AddOns/SVUI_StyleOMatic/SVUI_StyleOMatic.toc @@ -1,6 +1,6 @@ ## Interface: 60000 ## Author: Munglunch, Azilroka, Sortokk -## Version: 5.3.0 +## Version: 5.3.1 ## Title: |cffFF9900SVUI |r|cffFFEF00Style-O-Matic|r ## Notes: Supervillain UI [|cff9911FFAddon Skins|r]. ## SavedVariables: StyleOMatic_Global diff --git a/Interface/AddOns/SVUI_StyleOMatic/components/addons/Omen.lua b/Interface/AddOns/SVUI_StyleOMatic/components/addons/Omen.lua index 94b616f..e7b4d84 100644 --- a/Interface/AddOns/SVUI_StyleOMatic/components/addons/Omen.lua +++ b/Interface/AddOns/SVUI_StyleOMatic/components/addons/Omen.lua @@ -18,10 +18,10 @@ LOCALIZED LUA FUNCTIONS ]]-- --[[ GLOBALS ]]-- local _G = _G; -local unpack = _G.unpack; -local select = _G.select; -local pairs = _G.pairs; -local string = _G.string; +local unpack = _G.unpack; +local select = _G.select; +local pairs = _G.pairs; +local string = _G.string; --[[ STRING METHODS ]]-- local format = string.format; --[[ @@ -39,13 +39,32 @@ OMEN local function StyleOmen() assert(Omen, "AddOn Not Loaded") - Omen.db.profile.Scale = 1 + --[[ Background Settings ]]-- + Omen.db.profile.Background.BarInset = 3 + Omen.db.profile.Background.EdgeSize = 1 + Omen.db.profile.Background.Texture = "None" + + --[[ Bar Settings ]]-- + Omen.db.profile.Bar.Font = "Roboto" + Omen.db.profile.Bar.FontOutline = "None" + Omen.db.profile.Bar.FontSize = 11 + Omen.db.profile.Bar.Height = 14 + Omen.db.profile.Bar.ShowHeadings = false + Omen.db.profile.Bar.ShowTPS = false Omen.db.profile.Bar.Spacing = 1 Omen.db.profile.Bar.Texture = "SVUI MultiColorBar" - Omen.db.profile.Background.EdgeSize = 2 - Omen.db.profile.Background.BarInset = 2 - Omen.db.profile.Background.Texture = "None" - Omen.db.profile.TitleBar.UseSameBG = true + + --[[ Titlebar Settings ]]-- + Omen.db.profile.TitleBar.BorderColor.g = 0 + Omen.db.profile.TitleBar.BorderColor.r = 0 + Omen.db.profile.TitleBar.BorderTexture = "None" + Omen.db.profile.TitleBar.EdgeSize = 1 + Omen.db.profile.TitleBar.Font = "Arial Narrow" + Omen.db.profile.TitleBar.FontSize = 12 + Omen.db.profile.TitleBar.Height = 23 + Omen.db.profile.TitleBar.ShowTitleBar=true + Omen.db.profile.TitleBar.Texture = "None" + Omen.db.profile.TitleBar.UseSameBG = false hooksecurefunc(Omen, 'UpdateBackdrop', function(self) if(not PLUGIN:ValidateDocklet("Omen")) then @@ -66,15 +85,40 @@ PLUGIN:SaveAddonStyle("Omen", StyleOmen, nil, true) function PLUGIN:Docklet_Omen(parent) if not Omen then return end local db = Omen.db; + + --[[ General Settings ]]-- + db.profile.FrameStrata='2-LOW'; + db.profile.Locked=true; db.profile.Scale=1; - db.profile.Bar.Spacing=1; - db.profile.Background.EdgeSize=2; - db.profile.Background.BarInset=2; - db.profile.TitleBar.UseSameBG=true; db.profile.ShowWith.UseShowWith=false; - db.profile.Locked=true; + + --[[ Background Settings ]]-- + db.profile.Background.BarInset=3; + db.profile.Background.EdgeSize=1; + db.profile.Background.Texture = "None" + + --[[ Bar Settings ]]-- + db.profile.Bar.Font = "Roboto"; + db.profile.Bar.FontOutline = "None"; + db.profile.Bar.FontSize = 11; + db.profile.Bar.Height = 14; + db.profile.Bar.ShowHeadings = false; + db.profile.Bar.ShowTPS = false; + db.profile.Bar.Spacing=1; + db.profile.Bar.Texture = "SVUI MultiColorBar"; + + --[[ Titlebar Settings ]]-- + db.profile.TitleBar.BorderColor.g = 0; + db.profile.TitleBar.BorderColor.r = 0; + db.profile.TitleBar.BorderTexture = "None"; + db.profile.TitleBar.EdgeSize = 1; + db.profile.TitleBar.Font = "Arial Narrow"; + db.profile.TitleBar.FontSize = 12; + db.profile.TitleBar.Height = 23; db.profile.TitleBar.ShowTitleBar=true; - db.profile.FrameStrata='2-LOW' + db.profile.TitleBar.Texture = "None"; + db.profile.TitleBar.UseSameBG=false; + Omen:OnProfileChanged(nil,db) OmenTitle:RemoveTextures() OmenTitle.Panel = nil @@ -87,4 +131,4 @@ function PLUGIN:Docklet_Omen(parent) OmenAnchor:SetParent(parent) parent.Framelink = OmenAnchor -end \ No newline at end of file +end \ No newline at end of file diff --git a/Interface/AddOns/SVUI_StyleOMatic/components/addons/Recount.lua b/Interface/AddOns/SVUI_StyleOMatic/components/addons/Recount.lua index 6a06593..5dd45ae 100644 --- a/Interface/AddOns/SVUI_StyleOMatic/components/addons/Recount.lua +++ b/Interface/AddOns/SVUI_StyleOMatic/components/addons/Recount.lua @@ -129,7 +129,8 @@ function PLUGIN:Docklet_Recount(parent) Recount.db.profile.ClampToScreen = true; Recount.db.profile.FrameStrata = '2-LOW' Recount.MainWindow:ClearAllPoints() - Recount.MainWindow:SetAllPoints(parent) + Recount.MainWindow:SetPoint("TOPLEFT", parent, "TOPLEFT", 0, 7) + Recount.MainWindow:SetPoint("BOTTOMRIGHT", parent, "BOTTOMRIGHT", 0, 0) Recount.MainWindow:SetParent(parent) Recount:SetStrataAndClamp() Recount:LockWindows(true) diff --git a/Interface/AddOns/SVUI_StyleOMatic/components/blizzard/gossip.lua b/Interface/AddOns/SVUI_StyleOMatic/components/blizzard/gossip.lua index 78471b7..be73102 100644 --- a/Interface/AddOns/SVUI_StyleOMatic/components/blizzard/gossip.lua +++ b/Interface/AddOns/SVUI_StyleOMatic/components/blizzard/gossip.lua @@ -65,9 +65,17 @@ local function GossipStyle() _G["GossipFrameGreetingGoodbyeButton"]:RemoveTextures() _G["GossipFrameGreetingGoodbyeButton"]:SetButtonTemplate() PLUGIN:ApplyCloseButtonStyle(GossipFrameCloseButton, GossipFrame.Panel) + NPCFriendshipStatusBar:RemoveTextures() NPCFriendshipStatusBar:SetStatusBarTexture([[Interface\AddOns\SVUI\assets\artwork\Template\DEFAULT]]) - NPCFriendshipStatusBar:SetPanelTemplate("Default") + NPCFriendshipStatusBar:SetPanelTemplate("Bar") + + NPCFriendshipStatusBar:ClearAllPoints() + NPCFriendshipStatusBar:SetPoint("TOPLEFT", GossipFrame, "TOPLEFT", 58, -34) + + NPCFriendshipStatusBar.icon:Size(32,32) + NPCFriendshipStatusBar.icon:ClearAllPoints() + NPCFriendshipStatusBar.icon:SetPoint("RIGHT", NPCFriendshipStatusBar, "LEFT", 0, -2) end --[[ ########################################################## diff --git a/Interface/AddOns/SVUI_StyleOMatic/components/blizzard/worldmap.lua b/Interface/AddOns/SVUI_StyleOMatic/components/blizzard/worldmap.lua index b6b871f..794abe0 100644 --- a/Interface/AddOns/SVUI_StyleOMatic/components/blizzard/worldmap.lua +++ b/Interface/AddOns/SVUI_StyleOMatic/components/blizzard/worldmap.lua @@ -100,7 +100,7 @@ local function StripQuestMapFrame() local detailWidth = QuestMapFrame.DetailsFrame.RewardsFrame:GetWidth() QuestMapFrame.DetailsFrame:ClearAllPoints() - QuestMapFrame.DetailsFrame:SetPoint("TOPLEFT", WorldMapDetailFrame, "TOPRIGHT", 2, 0) + QuestMapFrame.DetailsFrame:SetPoint("BOTTOMRIGHT", QuestMapFrame, "BOTTOMRIGHT", 2, 0) QuestMapFrame.DetailsFrame:SetWidth(detailWidth) WorldMapFrameNavBar:ClearAllPoints() diff --git a/Interface/AddOns/SVUI_StyleOMatic/components/style_methods.lua b/Interface/AddOns/SVUI_StyleOMatic/components/style_methods.lua index 5ac6a5f..2617225 100644 --- a/Interface/AddOns/SVUI_StyleOMatic/components/style_methods.lua +++ b/Interface/AddOns/SVUI_StyleOMatic/components/style_methods.lua @@ -740,14 +740,14 @@ function PLUGIN:ApplyItemAlertStyle(frame, noicon) alertpanel:SetFrameLevel(lvl - 1) --[[ FRAME BG ]]-- - alertpanel.bg = alertpanel:CreateTexture(nil, "BACKGROUND") + alertpanel.bg = alertpanel:CreateTexture(nil, "BACKGROUND", nil, -5) alertpanel.bg:SetAllPoints() alertpanel.bg:SetTexture([[Interface\AddOns\SVUI\assets\artwork\Template\Alert\ALERT-FULL]]) alertpanel.bg:SetGradient('VERTICAL', 0, 0, 0, .37, .32, .29) if(not noicon) then --[[ ICON BG ]]-- - alertpanel.icon = alertpanel:CreateTexture(nil, "BACKGROUND", nil, 2) + alertpanel.icon = alertpanel:CreateTexture(nil, "BACKGROUND", nil, -2) alertpanel.icon:SetTexture([[Interface\AddOns\SVUI\assets\artwork\Template\Alert\ALERT-ICON-BORDER]]) alertpanel.icon:SetGradient('VERTICAL', 1, 0.35, 0, 1, 1, 0) alertpanel.icon:SetPoint("LEFT", alertpanel, "LEFT", -45, 20) diff --git a/Interface/AddOns/SVUI_TrackOMatic/SVUI_TrackOMatic.toc b/Interface/AddOns/SVUI_TrackOMatic/SVUI_TrackOMatic.toc index 8e339de..25907cc 100644 --- a/Interface/AddOns/SVUI_TrackOMatic/SVUI_TrackOMatic.toc +++ b/Interface/AddOns/SVUI_TrackOMatic/SVUI_TrackOMatic.toc @@ -1,6 +1,6 @@ ## Interface: 60000 ## Author: Munglunch -## Version: 5.3.0 +## Version: 5.3.1 ## Title: |cffFF9900SVUI |r|cffFFEF00Track-O-Matic|r ## Notes: Supervillain UI [|cff9911FFRaid & Party Member Tracking|r]. ## SavedVariables: TrackOMatic_Global