From c6c7c22178c0556d5ffa8ad605aa8cb63c54be1b Mon Sep 17 00:00:00 2001 From: Luna Niemitalo Date: Fri, 10 Oct 2025 17:17:58 +0300 Subject: [PATCH 1/2] Add support for expansion filtering in the TMog tab for S Scan mode --- Locales/enUS.lua | 13 +++++++++ Source/Filters/Filters.lua | 40 ++++++++++++++++++++++++++ Source/Summary/DataProviders/TMogs.lua | 5 ++++ Source/Summary/Scanner/TMog.lua | 8 +++++- Source/Summary/Tab/TMogView.xml | 6 +++- 5 files changed, 70 insertions(+), 2 deletions(-) mode change 100755 => 100644 Locales/enUS.lua diff --git a/Locales/enUS.lua b/Locales/enUS.lua old mode 100755 new mode 100644 index 6a060a4..a9ca5e7 --- a/Locales/enUS.lua +++ b/Locales/enUS.lua @@ -23,6 +23,19 @@ COLLECTIONATOR_LOCALES.enUS = function() L["SHOWING_X_RESULTS"] = "Showing %s results" L["TYPE"] = "Type" L["SLOT"] = "Slot" + L["EXPANSION"] = "Expansion" + L["CLASSIC"] = "Classic" + L["BURNING_CRUSADE"] = "TBC" + L["WRATH_OF_THE_LICH_KING"] = "WotLK" + L["CATACLYSM"] = "Cata" + L["MISTS_OF_PANDARIA"] = "MoP" + L["WARLORDS_OF_DRAENOR"] = "WoD" + L["LEGION"] = "Legion" + L["BATTLE_FOR_AZEROTH"] = "BfA" + L["SHADOWLANDS"] = "SL" + L["DRAGONFLIGHT"] = "DF" + L["WAR_WITHIN"] = "TWW" + L["QUALITY"] = "Quality" L["ARMOR"] = "Armor" L["WEAPON"] = "Weapon" diff --git a/Source/Filters/Filters.lua b/Source/Filters/Filters.lua index 7a23e0f..9711ba4 100644 --- a/Source/Filters/Filters.lua +++ b/Source/Filters/Filters.lua @@ -151,6 +151,46 @@ function CollectionatorSlotFilterMixin:GetFilterName(filter) return SLOTS_TO_NAME[filter] end +local EXPANSIONS = { + LE_EXPANSION_CLASSIC, + LE_EXPANSION_BURNING_CRUSADE, + LE_EXPANSION_WRATH_OF_THE_LICH_KING, + LE_EXPANSION_CATACLYSM, + LE_EXPANSION_MISTS_OF_PANDARIA, + LE_EXPANSION_WARLORDS_OF_DRAENOR, + LE_EXPANSION_LEGION, + LE_EXPANSION_BATTLE_FOR_AZEROTH, + LE_EXPANSION_SHADOWLANDS, + LE_EXPANSION_DRAGONFLIGHT, + LE_EXPANSION_WAR_WITHIN + } + + + +CollectionatorExpansionFilterMixin = CreateFromMixins(CollectionatorFilterDropDownMixin) +function CollectionatorExpansionFilterMixin:GetFilters() + return EXPANSIONS +end + +local EXPANSION_TO_NAME = { + [LE_EXPANSION_CLASSIC] = COLLECTIONATOR_L_EXPANSION_CLASSIC, + [LE_EXPANSION_BURNING_CRUSADE] = COLLECTIONATOR_L_EXPANSION_BURNING_CRUSADE, + [LE_EXPANSION_WRATH_OF_THE_LICH_KING] = COLLECTIONATOR_L_EXPANSION_WRATH_OF_THE_LICH_KING, + [LE_EXPANSION_CATACLYSM] = COLLECTIONATOR_L_EXPANSION_CATACLYSM, + [LE_EXPANSION_MISTS_OF_PANDARIA] = COLLECTIONATOR_L_EXPANSION_MISTS_OF_PANDARIA, + [LE_EXPANSION_WARLORDS_OF_DRAENOR] = COLLECTIONATOR_L_EXPANSION_WARLORDS_OF_DRAENOR, + [LE_EXPANSION_LEGION] = COLLECTIONATOR_L_EXPANSION_LEGION, + [LE_EXPANSION_BATTLE_FOR_AZEROTH] = COLLECTIONATOR_L_EXPANSION_BATTLE_FOR_AZEROTH, + [LE_EXPANSION_SHADOWLANDS] = COLLECTIONATOR_L_EXPANSION_SHADOWLANDS, + [LE_EXPANSION_DRAGONFLIGHT] = COLLECTIONATOR_L_EXPANSION_DRAGONFLIGHT, + [LE_EXPANSION_WAR_WITHIN] = COLLECTIONATOR_L_EXPANSION_WAR_WITHIN + +} + +function CollectionatorExpansionFilterMixin:GetFilterName(filter) + return EXPANSION_TO_NAME[filter] +end + local MOUNT_TYPES = { 230, 424, 254 } diff --git a/Source/Summary/DataProviders/TMogs.lua b/Source/Summary/DataProviders/TMogs.lua index 658cc4b..07c3416 100644 --- a/Source/Summary/DataProviders/TMogs.lua +++ b/Source/Summary/DataProviders/TMogs.lua @@ -178,6 +178,10 @@ function CollectionatorSummaryTMogDataProviderMixin:TMogFilterCheck(sourceInfo, check = check and cachedFilters.slotFilter:GetValue(sourceInfo.slot) + check = check and cachedFilters.expFilter:GetValue(sourceInfo.expansion) + + + if sourceInfo.armor ~= -1 then check = check and cachedFilters.armorFilter:GetValue(sourceInfo.armor) else @@ -272,6 +276,7 @@ function CollectionatorSummaryTMogDataProviderMixin:Refresh() characterOnly = self:GetParent().CharacterOnly:GetChecked(), qualityFilter = self:GetParent().QualityFilter, slotFilter = self:GetParent().SlotFilter, + expFilter = self:GetParent().ExpFilter, armorFilter = self:GetParent().ArmorFilter, weaponFilter = self:GetParent().WeaponFilter, } diff --git a/Source/Summary/Scanner/TMog.lua b/Source/Summary/Scanner/TMog.lua index b0830b5..b2c4d0f 100644 --- a/Source/Summary/Scanner/TMog.lua +++ b/Source/Summary/Scanner/TMog.lua @@ -46,10 +46,16 @@ function CollectionatorSummaryTMogScannerFrameMixin:GetItem(index, itemKeyInfo, weaponType = itemInfo[13] end + local expansion = 0 + if itemInfo[15] then + expansion = itemInfo[15] + end + + local replacementItemLink = select(6, C_TransmogCollection.GetAppearanceSourceInfo(source)) return { - id = source, visual = visual, index = index, set = set, + id = source, visual = visual, index = index, set = set, expansion = expansion, armor = armorType, weapon = weaponType, slot = inventorySlot, levelRequired = C_AuctionHouse.GetItemKeyRequiredLevel(scanInfo.itemKey) or 0, itemID = scanInfo.itemKey.itemID, diff --git a/Source/Summary/Tab/TMogView.xml b/Source/Summary/Tab/TMogView.xml index f2eb0be..c7a989d 100644 --- a/Source/Summary/Tab/TMogView.xml +++ b/Source/Summary/Tab/TMogView.xml @@ -37,7 +37,11 @@ - + + + + + From 33acc4fced9d443479b6cb48e5ae17fb878a1cf7 Mon Sep 17 00:00:00 2001 From: Luna Niemitalo Date: Fri, 10 Oct 2025 17:28:46 +0300 Subject: [PATCH 2/2] Adjust anchor positioning for expansion filter button and fix localization keys for expansion names --- Locales/enUS.lua | 22 +++++++++++----------- Source/Summary/Tab/TMogView.xml | 2 +- 2 files changed, 12 insertions(+), 12 deletions(-) diff --git a/Locales/enUS.lua b/Locales/enUS.lua index a9ca5e7..e010c82 100644 --- a/Locales/enUS.lua +++ b/Locales/enUS.lua @@ -24,17 +24,17 @@ COLLECTIONATOR_LOCALES.enUS = function() L["TYPE"] = "Type" L["SLOT"] = "Slot" L["EXPANSION"] = "Expansion" - L["CLASSIC"] = "Classic" - L["BURNING_CRUSADE"] = "TBC" - L["WRATH_OF_THE_LICH_KING"] = "WotLK" - L["CATACLYSM"] = "Cata" - L["MISTS_OF_PANDARIA"] = "MoP" - L["WARLORDS_OF_DRAENOR"] = "WoD" - L["LEGION"] = "Legion" - L["BATTLE_FOR_AZEROTH"] = "BfA" - L["SHADOWLANDS"] = "SL" - L["DRAGONFLIGHT"] = "DF" - L["WAR_WITHIN"] = "TWW" + L["EXPANSION_CLASSIC"] = "Classic" + L["EXPANSION_BURNING_CRUSADE"] = "TBC" + L["EXPANSION_WRATH_OF_THE_LICH_KING"] = "WotLK" + L["EXPANSION_CATACLYSM"] = "Cata" + L["EXPANSION_MISTS_OF_PANDARIA"] = "MoP" + L["EXPANSION_WARLORDS_OF_DRAENOR"] = "WoD" + L["EXPANSION_LEGION"] = "Legion" + L["EXPANSION_BATTLE_FOR_AZEROTH"] = "BfA" + L["EXPANSION_SHADOWLANDS"] = "SL" + L["EXPANSION_DRAGONFLIGHT"] = "DF" + L["EXPANSION_WAR_WITHIN"] = "TWW" L["QUALITY"] = "Quality" L["ARMOR"] = "Armor" diff --git a/Source/Summary/Tab/TMogView.xml b/Source/Summary/Tab/TMogView.xml index c7a989d..40c2c0e 100644 --- a/Source/Summary/Tab/TMogView.xml +++ b/Source/Summary/Tab/TMogView.xml @@ -39,7 +39,7 @@ - +