Skip to content

Commit fb49a62

Browse files
committed
last opened research window is now stored per character rather than account-wide
1 parent 088ca4b commit fb49a62

File tree

2 files changed

+22
-19
lines changed

2 files changed

+22
-19
lines changed

ResearchViewer.lua

Lines changed: 21 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
local name, _ = ...
22

3-
local ResearchViewer = {}
3+
ResearchViewer = {}
44
local LibDBIcon = LibStub("LibDBIcon-1.0")
55

66
local playerClass, _ = UnitClassBase("player")
@@ -117,9 +117,26 @@ ResearchViewer.neverImplemented = {
117117
},
118118
}
119119

120+
local frame = CreateFrame("FRAME")
121+
local function OnEvent(_, event, ...)
122+
if event == "ADDON_LOADED" then
123+
local addonName = ...
124+
if addonName == name then
125+
ResearchViewer:OnInitialize()
126+
end
127+
if addonName == "Blizzard_OrderHallUI" then
128+
ResearchViewer:InitDropDown()
129+
end
130+
end
131+
end
132+
frame:HookScript('OnEvent', OnEvent)
133+
frame:RegisterEvent('ADDON_LOADED')
134+
120135
function ResearchViewer:OnInitialize()
121136
ResearchViewerDB = ResearchViewerDB or {}
137+
ResearchViewerCharDB = ResearchViewerCharDB or { lastSelected = ResearchViewerDB.lastSelected }
122138
self.db = ResearchViewerDB
139+
self.charDb = ResearchViewerCharDB
123140

124141
if not self.db.ldbOptions then
125142
self.db.ldbOptions = {
@@ -177,7 +194,7 @@ function ResearchViewer:OnInitialize()
177194
if message == "reset" then
178195
wipe(ResearchViewer.db.ldbOptions)
179196
ResearchViewer.db.ldbOptions.hide = false
180-
ResearchViewer.db.lastSelected = nil
197+
ResearchViewer.charDb.lastSelected = nil
181198

182199
LibDBIcon:Hide(name)
183200
LibDBIcon:Show(name)
@@ -187,21 +204,6 @@ function ResearchViewer:OnInitialize()
187204
end
188205
end
189206

190-
local frame = CreateFrame("FRAME")
191-
local function OnEvent(_, event, ...)
192-
if event == "ADDON_LOADED" then
193-
local addonName = ...
194-
if addonName == name then
195-
ResearchViewer:OnInitialize()
196-
end
197-
if addonName == "Blizzard_OrderHallUI" then
198-
ResearchViewer:InitDropDown()
199-
end
200-
end
201-
end
202-
frame:HookScript('OnEvent', OnEvent)
203-
frame:RegisterEvent('ADDON_LOADED')
204-
205207
function ResearchViewer:AlreadyAdded(textLine, tooltip)
206208
if textLine == nil then
207209
return false
@@ -250,15 +252,15 @@ end
250252

251253
function ResearchViewer:OpenResearchView()
252254
OrderHall_LoadUI()
253-
ResearchViewer.selectedTreeInfo = ResearchViewer.db and ResearchViewer.db.lastSelected or ResearchViewer.talentTrees.Shadowlands[2]
255+
ResearchViewer.selectedTreeInfo = ResearchViewer.charDb and ResearchViewer.charDb.lastSelected or ResearchViewer.talentTrees.Shadowlands[2]
254256
ResearchViewer:InitDropDown()
255257
ResearchViewer:OpenSelectedResearch()
256258
end
257259

258260
local hooked = false
259261
function ResearchViewer:OpenSelectedResearch()
260262
OrderHallTalentFrame:SetGarrisonType(self.selectedTreeInfo.type, self.selectedTreeInfo.id)
261-
self.db.lastSelected = self.selectedTreeInfo
263+
self.charDb.lastSelected = self.selectedTreeInfo
262264
ToggleOrderHallTalentUI()
263265
self.dropDownButton:Show()
264266
if not hooked then

ResearchViewer.toc

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44
## Author: Numy
55
## Version: @project-version@
66
## SavedVariables: ResearchViewerDB
7+
## SavedVariablesPerCharacter: ResearchViewerCharDB
78
## X-Curse-Project-ID: 627862
89

910
libs\load_libs.xml

0 commit comments

Comments
 (0)