From 130e9a9c9891535120c43f29dc8d1d35e94b25b8 Mon Sep 17 00:00:00 2001 From: urnati Date: Thu, 7 Mar 2024 08:55:35 -0500 Subject: [PATCH] - Add back TITAN_PANEL_MENU_CATEGORIES. Removal broke a couple Titan plugins --- Titan/Titan.lua | 8 ++++---- Titan/TitanGlobal.lua | 29 ++++++++++++++++++++++++++++- 2 files changed, 32 insertions(+), 5 deletions(-) diff --git a/Titan/Titan.lua b/Titan/Titan.lua index 1984fb3..94d0a04 100644 --- a/Titan/Titan.lua +++ b/Titan/Titan.lua @@ -2021,12 +2021,12 @@ local function BuildMainMenu(frame) ----------------- -- Plugin Categories - -- for index, id in pairs(L["TITAN_PANEL_MENU_CATEGORIES"]) do - for index = 1, 6, 1 do + -- Both arrays are in TitanGlobal +---@diagnostic disable-next-line: param-type-mismatch + for index, id in pairs(L["TITAN_PANEL_MENU_CATEGORIES"]) do info = {}; info.notCheckable = true - -- bit of a kludge but a decent way to handle something that rarely changes - info.text = L["TITAN_PANEL_MENU_CATEGORIES_" .. string.format("%02d", index)] + info.text = L["TITAN_PANEL_MENU_CATEGORIES"][index]; info.value = R_ADDONS .. TITAN_PANEL_BUTTONS_PLUGIN_CATEGORY[index]; info.hasArrow = 1; TitanPanelRightClickMenu_AddButton(info); diff --git a/Titan/TitanGlobal.lua b/Titan/TitanGlobal.lua index 859fe16..148ec11 100644 --- a/Titan/TitanGlobal.lua +++ b/Titan/TitanGlobal.lua @@ -5,6 +5,7 @@ DESC: This file contains the global variables and constants used throughout Tita --]] ---@meta +local L = LibStub("AceLocale-3.0"):GetLocale(TITAN_ID, true) -- Global variables @@ -92,8 +93,34 @@ TITAN_PROFILE_INIT = "" AUTOHIDE_PREFIX = "TitanPanelAutoHide_" AUTOHIDE_SUFFIX = "Button" -TITAN_PANEL_BUTTONS_PLUGIN_CATEGORY = +--[[ API +NAME: TITAN_PANEL_BUTTONS_PLUGIN_CATEGORY and TITAN_PANEL_MENU_CATEGORIES +DESC: These two tables hold the list of categories for the Titan menu. +Logically they are category - text string pairs. +Where category is the internal label to be used. +Where text is the localized text. +The category should be unique across the table or the menu navigation may be what the user expects. +Some Titan plugins add to this list to make user navigation easier for their Titan plugins. + +Add to these lists by using table insert. Example : +table.insert(TITAN_PANEL_BUTTONS_PLUGIN_CATEGORY, "CAT_ZONES") + +local categories = LibStub("AceLocale-3.0"):GetLocale(TITAN_ID, true)["TITAN_PANEL_MENU_CATEGORIES"] +table.insert(categories, "Zones") +Titan uses AceLocale to simplify using localized strings. +:DESC +--]] +TITAN_PANEL_BUTTONS_PLUGIN_CATEGORY = {"Built-ins","General","Combat","Information","Interface","Profession"} +---@diagnostic disable-next-line: assign-type-mismatch +L["TITAN_PANEL_MENU_CATEGORIES"] = { + L["TITAN_PANEL_MENU_CATEGORIES_01"], + L["TITAN_PANEL_MENU_CATEGORIES_02"], + L["TITAN_PANEL_MENU_CATEGORIES_03"], + L["TITAN_PANEL_MENU_CATEGORIES_04"], + L["TITAN_PANEL_MENU_CATEGORIES_05"], + L["TITAN_PANEL_MENU_CATEGORIES_06"], +} -- Bar background types Titan_Global.SKIN = "skin" -- 1.7.9.5