Quantcast

watchLog quest levels added

Alex Shubert [10-04-12 - 13:29]
watchLog quest levels added
Filename
AutoTurnIn.lua
diff --git a/AutoTurnIn.lua b/AutoTurnIn.lua
index 039022b..bbfb8cb 100644
--- a/AutoTurnIn.lua
+++ b/AutoTurnIn.lua
@@ -528,7 +528,7 @@ function AutoTurnIn:QUEST_COMPLETE()
     end
 end

-local QuestLevelFormat = " [%d] %s"
+AutoTurnIn.QuestLevelFormat = " [%d] %s"
 function AutoTurnIn:ShowQuestLevelInLog()
 	-- see function QuestLog_Update() in function QuestLogFrame.lua for details
 	local scrollOffset = HybridScrollFrame_GetOffset(QuestLogScrollFrame);
@@ -540,12 +540,12 @@ function AutoTurnIn:ShowQuestLevelInLog()
 		if ( questIndex <= numEntries ) then
 			local title, level, _, _, isHeader = GetQuestLogTitle(questIndex);
 			if (not isHeader and title) then
-				button:SetText(QuestLevelFormat:format(level, title))
+				button:SetText(AutoTurnIn.QuestLevelFormat:format(level, title))
 				QuestLogTitleButton_Resize(button)
 			end
 		end
 	end
-end
+end

 -- gossip and quest interaction goes through a sequence of windows: gossip [shows a list of available quests] - quest[describes specified quest]
 -- sometimes some parts of this chain is skipped. For example, priest in Honor Hold show quest window directly. This is a trick to handle 'toggle key'
@@ -554,4 +554,39 @@ hooksecurefunc(QuestFrame, "Hide", function() AutoTurnIn.allowed = nil end)
 -- Quest level in a log.
 hooksecurefunc("QuestLog_Update", AutoTurnIn.ShowQuestLevelInLog)
 hooksecurefunc(QuestLogScrollFrame, "update", AutoTurnIn.ShowQuestLevelInLog)
--- WatchFrameAutoQuestPopUp1
\ No newline at end of file
+
+AutoTurnIn.WatchFrameLevelFormat = "[%d%s%s] %s"
+AutoTurnIn.QuestTypesIndex = {
+	[0] = "",           --default
+	[1] = "g",			--Group
+	[41] = "+",			--PvP
+	[62] = "r",			--Raid
+	[81] = "d",			--Dungeon
+	[83] = "L", 		--Legendary
+	[85] = "h",			--Heroic
+	[98] = "s", 		--Scenario QUEST_TYPE_SCENARIO
+	[102] = "a", 		-- Account
+}
+function AutoTurnIn:ShowQuestLevelInWatchFrame()
+	for i = 1, #WATCHFRAME_LINKBUTTONS do
+		button = WATCHFRAME_LINKBUTTONS[i]
+
+		if( button.type == "QUEST" ) then
+			local questIndex = GetQuestIndexForWatch(button.index)
+			if questIndex then
+				local textLine = button.lines[button.startLine]
+				if textLine.text:GetText() and (not string.find("", "^%[.*%].*")) then
+					local title, level, _, _, _, _, _, isDaily = GetQuestLogTitle(questIndex)
+					local questTypeIndex = GetQuestLogQuestType(questIndex)
+					tagString = AutoTurnIn.QuestTypesIndex[questTypeIndex]
+					if (not tagString) then
+						self:Print("Please, inform addon author unknown QT for: " ..title)
+						tagString = ""
+					end
+					textLine.text:SetText(AutoTurnIn.WatchFrameLevelFormat:format(level, tagString, isDaily and "\*" or "", title))
+				end
+			end
+		end
+	end
+end
+hooksecurefunc("WatchFrame_Update", AutoTurnIn.ShowQuestLevelInWatchFrame);
\ No newline at end of file