if not PriceTracker then return end local PriceTracker = PriceTracker local PriceTrackerMenu = {} PriceTracker.menu = PriceTrackerMenu PriceTrackerMenu.algorithmTable = { "Weighted Average", "Median", "Most Frequently Used" } PriceTrackerMenu.keyTable = { "None", "Shift", "Control", "Alt", "Command" } function PriceTrackerMenu:InitAddonMenu(addOnName) local LAM = LibStub:GetLibrary("LibAddonMenu-1.0") local addOnMenu = LAM:CreateControlPanel("PriceTrackerMenu", PriceTracker.colors.title .. addOnName) -- Ensure compatibility if PriceTracker.settings.showMinMax == nil then PriceTracker.settings.showMinMax = true end if PriceTracker.settings.showSeen == nil then PriceTracker.settings.showSeen = true end -- Create the settings menu LAM:AddHeader(addOnMenu, addOnName .. "Header", "Options") LAM:AddDropdown(addOnMenu, addOnName .. "Algorithm", "Select Price Algorithm", "", self.algorithmTable, function() return PriceTracker.settings.algorithm or self.algorithmTable[1] end, function(algorithm) PriceTracker.settings.algorithm = algorithm end) LAM:AddCheckbox(addOnMenu, addOnName .. "MinMax", "Show Min / Max Prices", "Show minimum and maximum sell values", function() return PriceTracker.settings.showMinMax end, function(check) PriceTracker.settings.showMinMax = check end) LAM:AddCheckbox(addOnMenu, addOnName .. "Seen", "Show 'Seen'", "Show how many times an item was seen in the guild stores", function() return PriceTracker.settings.showSeen end, function(check) PriceTracker.settings.showSeen = check end) LAM:AddDropdown(addOnMenu, addOnName .. "KeyPress", "Show only if key is pressed", "Show pricing on tooltip only if one of the following keys is pressed. This is useful if you have too many addons modifying your tooltips.", self.keyTable, function() return PriceTracker.settings.keyPress or self.keyTable[1] end, function(key) PriceTracker.settings.keyPress = key end) end function PriceTrackerMenu:IsKeyPressed() return PriceTracker.settings.keyPress == self.keyTable[1] or (PriceTracker.settings.keyPress == self.keyTable[2] and IsShiftKeyDown()) or (PriceTracker.settings.keyPress == self.keyTable[3] and IsControlKeyDown()) or (PriceTracker.settings.keyPress == self.keyTable[4] and IsAltKeyDown()) or (PriceTracker.settings.keyPress == self.keyTable[5] and IsCommandKeyDown()) end