You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

105 lines
3.8 KiB

local PetJournalEnhanced = LibStub("AceAddon-3.0"):GetAddon("PetJournalEnhanced")
local L = LibStub("AceLocale-3.0"):GetLocale("PetJournalEnhanced")
local Config = PetJournalEnhanced:NewModule("Config")
function Config:OnInitialize()
self.callbacks = LibStub("CallbackHandler-1.0"):New(self)
local defaults = {
global = {
display = {
uniquePetCount = true,
coloredNames = true,
coloredBorders = true,
maxStatIcon = true,
breedInfo = false,
Extrapolate = true,
},
}
}
self.db = LibStub("AceDB-3.0"):New("PetJournalEnhancedDB", defaults, true)
--self.db.global.filtering.unknownZone = true --always reset to true
self.display = self.db.global.display
local db = self.db.global.display
local options = {
name = "PetJournal Enhanced",
handler = self,
type = 'group',
args = {
showPetCount = {
order = 1,
name = L["Show unique pet count"],
type = "toggle",
width = "double",
set = function(info,val)
db.uniquePetCount = val
self.callbacks:Fire("PETJOURNAL_ENHANCED_OPTIONS_UPDATE")
end,
get = function(info) return db.uniquePetCount or false end
},
showMaxStat = {
order = 2,
name = L["Show pets specialization"],
type = "toggle",
width = "double",
set = function(info,val)
db.maxStatIcon = val
self.callbacks:Fire("PETJOURNAL_ENHANCED_OPTIONS_UPDATE")
end,
get = function(info) return db.maxStatIcon or false end
},
colorBorders = {
order = 3,
name = L["Color pet borders"],
type = "toggle",
width = "double",
set = function(info,val)
db.coloredBorders = val
self.callbacks:Fire("PETJOURNAL_ENHANCED_OPTIONS_UPDATE")
end,
get = function(info) return db.coloredBorders or false end
},
colorName = {
order = 4,
name = L["Color pet names"],
type = "toggle",
width = "double",
set = function(info,val)
db.coloredNames = val
self.callbacks:Fire("PETJOURNAL_ENHANCED_OPTIONS_UPDATE")
end,
get = function(info) return db.coloredNames or false end
},
breedInfo = {
order = 5,
name = L["Display pet breed"],
type = "toggle",
width = "double",
set = function(info,val)
db.breedInfo = val
self.callbacks:Fire("PETJOURNAL_ENHANCED_OPTIONS_UPDATE")
end,
get = function(info) return db.breedInfo or false end
},
level25Stats = {
order = 5,
name = L["Display predicted pet stats"],
type = "toggle",
width = "double",
set = function(info,val)
db.Extrapolate = val
self.callbacks:Fire("PETJOURNAL_ENHANCED_OPTIONS_UPDATE")
end,
get = function(info) return db.Extrapolate or false end
},
},
}
LibStub("AceConfig-3.0"):RegisterOptionsTable("PetJournalEnhanced", options)
LibStub("AceConfigDialog-3.0"):AddToBlizOptions("PetJournalEnhanced", "PetJournal Enhanced")
end