comparison Spotlight.lua @ 23:4ec7ae897af0 v1.7.2.0

Updated Spotlight's display to support icons - may make it easier to read for some people :) Thanks for the suggestion pros4c!
author Vynn <mischivin@gmail.com>
date Sat, 01 Apr 2017 21:54:13 -0400
parents e801ab5c2e1b
children 6c495455f069
comparison
equal deleted inserted replaced
22:708f1d1b81c4 23:4ec7ae897af0
3 local dataobj = LibStub:GetLibrary("LibDataBroker-1.1"):NewDataObject("Spotlight", { 3 local dataobj = LibStub:GetLibrary("LibDataBroker-1.1"):NewDataObject("Spotlight", {
4 type = "data source", 4 type = "data source",
5 text = "Nothing to track!", 5 text = "Nothing to track!",
6 icon = GetInventoryItemTexture("player", 16), 6 icon = GetInventoryItemTexture("player", 16),
7 OnClick = function(clickedframe, button) 7 OnClick = function(clickedframe, button)
8 Spotlight.ShowPercent = not Spotlight.ShowPercent; 8 if button == "LeftButton" then
9 Spotlight.ShowPercent = not Spotlight.ShowPercent;
10 elseif button == "RightButton" then
11 Spotlight.ShowIcon = not Spotlight.ShowIcon;
12 end
9 Spotlight.Update(); 13 Spotlight.Update();
10 end, 14 end,
11 }) 15 })
12 16
13 SLASH_SPOTLIGHT1, SLASH_SPOTLIGHT2 = "/spotlight", "/Spotlight"; 17 SLASH_SPOTLIGHT1, SLASH_SPOTLIGHT2 = "/spotlight", "/Spotlight";
14 18
19 local ICONS = {
20 PvP = "|T1339312:12:12:0:0:512:128:416:432:42:58|t",
21 Dungeons = "|T1339312:12:12:0:0:512:128:416:432:24:40|t",
22 WorldQuests = "|T1339312:12:12:0:0:512:128:428:444:87:103|t",
23 }
24
15 local function SlashHandler(msg) 25 local function SlashHandler(msg)
16 print("|T" .. Spotlight.Icon .. ":0|t |cffe5cc80Spotlight|r - Artifact Hidden Skin Progress:"); 26 print("|T" .. Spotlight.Icon .. ":0|t |cffe5cc80Spotlight|r - Artifact Hidden Skin Progress:");
17 if Spotlight.IDs then 27 if Spotlight.IDs then
18 for key, value in pairs(Spotlight.IDs) do 28 for key, value in pairs(Spotlight.IDs) do
19 print(" |cffe5cc80" .. key .. " - " .. Spotlight.Format(key, false) .. " (" .. Spotlight.Format(key, true) .. ")|r"); 29 print(" " .. ICONS[tostring(key)] .. " |cffe5cc80" .. key .. " - " .. Spotlight.Format(key, false) .. " (" .. Spotlight.Format(key, true) .. ")|r");
20 end 30 end
21 end 31 end
22 end 32 end
23 33
24 function SlashCmdList.SPOTLIGHT(msg, editbox) 34 function SlashCmdList.SPOTLIGHT(msg, editbox)
43 Progress = 0, 53 Progress = 0,
44 Max = 1000, 54 Max = 1000,
45 }, 55 },
46 }; 56 };
47 Spotlight.ShowPercent = true; 57 Spotlight.ShowPercent = true;
58 Spotlight.ShowIcon = false;
48 end 59 end
49 60
50 Spotlight.IDs = { 61 Spotlight.IDs = {
51 Dungeons = 11152, 62 Dungeons = 11152,
52 WorldQuests = 11153, 63 WorldQuests = 11153,
94 local output = ""; 105 local output = "";
95 for key, value in pairs(Spotlight.IDs) do 106 for key, value in pairs(Spotlight.IDs) do
96 Spotlight.Status[key].Completed = select(3, GetAchievementCriteriaInfo(value,1)); 107 Spotlight.Status[key].Completed = select(3, GetAchievementCriteriaInfo(value,1));
97 if not Spotlight.Status[key].Completed then 108 if not Spotlight.Status[key].Completed then
98 Spotlight.Status[key].Progress = Spotlight.Calculate(key); 109 Spotlight.Status[key].Progress = Spotlight.Calculate(key);
99 if output == "" then 110 if output == "" then
111 output = " ";
100 else 112 else
101 output = output .. " ||"; 113 output = output .. " || ";
102 end 114 end
103 if Spotlight.Status[key].Progress > 0 then 115 if Spotlight.Status[key].Progress > 0 then
104 output = output .. string.format("|cffe5cc80 %.1s", key) .. ":|r " .. Spotlight.Format(key, Spotlight.ShowPercent); 116 if Spotlight.ShowIcon then
117 output = output .. ICONS[tostring(key)] .. Spotlight.Format(key, Spotlight.ShowPercent);
118 else
119 output = output .. string.format("|cffe5cc80%.1s", key) .. ":|r " .. Spotlight.Format(key, Spotlight.ShowPercent);
120 end
105 end 121 end
106 end 122 end
123 end
124 if output == "" then
125 output = " Everything Unlocked!";
107 end 126 end
108 127
109 dataobj.icon = Spotlight.Icon 128 dataobj.icon = Spotlight.Icon
110 dataobj.text = output; 129 dataobj.text = output;
111 end 130 end
117 136
118 function dataobj:OnTooltipShow() 137 function dataobj:OnTooltipShow()
119 self:AddLine("|cffe5cc80Spotlight - Hidden Artifact Skins|r|n|n"); 138 self:AddLine("|cffe5cc80Spotlight - Hidden Artifact Skins|r|n|n");
120 for k, v in pairs(Spotlight.IDs) do 139 for k, v in pairs(Spotlight.IDs) do
121 if not Spotlight.Status[k].Completed then 140 if not Spotlight.Status[k].Completed then
122 self:AddDoubleLine(k .. ":", Spotlight.Format(k, false) .. " (" .. Spotlight.Format(k, true) .. ")"); 141 self:AddDoubleLine(ICONS[tostring(k)] .. " " .. k .. ":", Spotlight.Format(k, false) .. " (" .. Spotlight.Format(k, true) .. ")");
123 end 142 end
124 end 143 end
125 self:AddLine("|nClick to toggle display method"); 144 self:AddLine("|nLeft Click to toggle Percentage or Fractional Display");
145 self:AddLine("|nRight Click to toggle Icon or Text Labels")
126 end 146 end
127 147
128 function dataobj:OnEnter() 148 function dataobj:OnEnter()
129 GameTooltip:SetOwner(self, "ANCHOR_NONE"); 149 GameTooltip:SetOwner(self, "ANCHOR_NONE");
130 GameTooltip:SetPoint("TOP", self, "BOTTOM"); 150 GameTooltip:SetPoint("TOP", self, "BOTTOM");