From 020de2eee2b8284e0784a9e184b4872df33f07c8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Micka=C3=ABl=20Turnel?= Date: Mon, 31 Oct 2022 14:49:52 +0100 Subject: [PATCH] Add groupBy option also available to party --- modules/units.lua | 11 +++++++++++ options/config.lua | 14 +++++++++++--- 2 files changed, 22 insertions(+), 3 deletions(-) diff --git a/modules/units.lua b/modules/units.lua index a4fd0f62e..c741d7cd0 100755 --- a/modules/units.lua +++ b/modules/units.lua @@ -914,6 +914,17 @@ function Units:SetHeaderAttributes(frame, type) frame:SetAttribute("columnSpacing", config.columnSpacing) frame:SetAttribute("columnAnchorPoint", config.attribAnchorPoint) + if( config.groupBy == "CLASS" ) then + frame:SetAttribute("groupingOrder", "DEATHKNIGHT,DEMONHUNTER,DRUID,HUNTER,MAGE,PALADIN,PRIEST,ROGUE,SHAMAN,WARLOCK,WARRIOR,MONK") + frame:SetAttribute("groupBy", "CLASS") + elseif( config.groupBy == "ASSIGNEDROLE" ) then + frame:SetAttribute("groupingOrder", "TANK,HEALER,DAMAGER,NONE") + frame:SetAttribute("groupBy", "ASSIGNEDROLE") + else + frame:SetAttribute("groupingOrder", "1,2,3,4,5,6,7,8") + frame:SetAttribute("groupBy", "GROUP") + end + self:CheckGroupVisibility() if( stateMonitor.party ) then stateMonitor.party:SetAttribute("hideSemiRaid", ShadowUF.db.profile.units.party.hideSemiRaid) diff --git a/options/config.lua b/options/config.lua index 91eff5b14..60605099b 100755 --- a/options/config.lua +++ b/options/config.lua @@ -1663,6 +1663,10 @@ local function loadUnitOptions() return info[2] ~= "raid" and info[2] ~= "raidpet" and info[2] ~= "maintank" and info[2] ~= "mainassist" end + local function hideRaidOrPartyOption(info) + return hideRaidOption(info) and info[2] ~= "party" + end + local function hideSplitOrRaidOption(info) if( info[2] == "raid" and ShadowUF.db.profile.units.raid.frameSplit ) then return true @@ -1671,6 +1675,10 @@ local function loadUnitOptions() return hideRaidOption(info) end + local function hideSplitOrRaidOrPartyOption(info) + return hideSplitOrRaidOption(info) and info[2] ~= "party" + end + -- Not every option should be changed via global settings local function hideSpecialOptions(info) local unit = info[2] @@ -3898,12 +3906,12 @@ local function loadUnitOptions() }, }, }, - raid = { + groups = { order = 3, type = "group", inline = true, name = L["Groups"], - hidden = hideRaidOption, + hidden = hideRaidOrPartyOption, args = { groupBy = { order = 4, @@ -3911,7 +3919,7 @@ local function loadUnitOptions() name = L["Group by"], values = {["GROUP"] = L["Group number"], ["CLASS"] = L["Class"], ["ASSIGNEDROLE"] = L["Assigned Role (DPS/Tank/etc)"]}, arg = "groupBy", - hidden = hideSplitOrRaidOption, + hidden = hideSplitOrRaidOrPartyOption, }, selectedGroups = { order = 7,