diff --git a/Libs/LibHotCorners/LibHotCorners.lua b/Libs/LibHotCorners/LibHotCorners.lua index 13db25d0..4fc846ce 100644 --- a/Libs/LibHotCorners/LibHotCorners.lua +++ b/Libs/LibHotCorners/LibHotCorners.lua @@ -8,6 +8,7 @@ end local LBD = LibStub ("LibDataBroker-1.1") local debug = false +local tinsert = tinsert ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ --> main function @@ -15,7 +16,8 @@ local debug = false LibHotCorners.embeds = LibHotCorners.embeds or {} local embed_functions = { "RegisterHotCornerButton", - "HideHotCornerButton" + "HideHotCornerButton", + "QuickHotCornerEnable" } function LibHotCorners:Embed (target) @@ -39,9 +41,25 @@ local debug = false end function LibHotCorners:RegisterHotCornerButton (name, corner, savedtable, fname, icon, tooltip, clickfunc, menus, quickfunc, onenter, onleave) + corner = string.lower (corner) test (corner) + if (savedtable and not LibHotCorners.options) then + if (not savedtable.__cachedoptions) then + savedtable.__cachedoptions = {age = 0, clicks = {}, disabled = {}} + end + LibHotCorners.options = savedtable.__cachedoptions + LibHotCorners.options.age = LibHotCorners.options.age + 1 + elseif (savedtable) then + if (LibHotCorners.options.age < savedtable.__cachedoptions.age) then + LibHotCorners.options = savedtable.__cachedoptions + LibHotCorners.options.age = LibHotCorners.options.age + 1 + end + end + + savedtable = savedtable or {} + tinsert (LibHotCorners [corner], {name = name, fname = fname, savedtable = savedtable, icon = icon, tooltip = tooltip, click = clickfunc, menus = menus, quickfunc = quickclick, onenter = onenter, onleave = onleave}) LibHotCorners [corner].map [name] = #LibHotCorners [corner] @@ -94,7 +112,7 @@ local debug = false addon_table.savedtable.hide = value - print (LibHotCorners, corner) + --print (LibHotCorners, corner) LibHotCorners [corner].is_enabled = false for index, button_table in ipairs (corner_table) do @@ -114,7 +132,7 @@ local debug = false return end if (dataobj.icon and dataobj.OnClick and not dataobj.HotCornerIgnore) then - LibHotCorners:RegisterHotCornerButton (name, "TopLeft", {}, name .. "HotCornerLauncher", dataobj.icon, dataobj.OnTooltipShow, dataobj.OnClick, nil, nil, dataobj.OnEnter, dataobj.OnLeave) + LibHotCorners:RegisterHotCornerButton (name, "TopLeft", nil, name .. "HotCornerLauncher", dataobj.icon, dataobj.OnTooltipShow, dataobj.OnClick, nil, nil, dataobj.OnEnter, dataobj.OnLeave) end end LBD.RegisterCallback (LibHotCorners, "DataBrokerCallback") @@ -124,12 +142,15 @@ local debug = false f:SetScript ("OnEvent", function() for name, dataobj in LBD:DataObjectIterator() do if (dataobj.type and dataobj.icon and dataobj.OnClick and not dataobj.HotCornerIgnore) then - LibHotCorners:RegisterHotCornerButton (name, "TopLeft", {}, name .. "HotCornerLauncher", dataobj.icon, dataobj.OnTooltipShow, dataobj.OnClick, nil, nil, dataobj.OnEnter, dataobj.OnLeave) + LibHotCorners:RegisterHotCornerButton (name, "TopLeft", nil, name .. "HotCornerLauncher", dataobj.icon, dataobj.OnTooltipShow, dataobj.OnClick, nil, nil, dataobj.OnEnter, dataobj.OnLeave) end end - --for k, v in pairs (LBD.attributestorage) do - -- print (k, v.type) - --end + for k, v in pairs (LBD.attributestorage) do + --print (k, v) + --print ("----------------") + --vardump (v) + + end f:UnregisterEvent ("PLAYER_LOGIN") end) @@ -163,6 +184,10 @@ local debug = false end --> corner frame on enter + local more_clicked = function (t1, t2) + return t1[1] > t2[1] + end + function HotCornersOnEnter (self) if (not LibHotCorners [self.position].is_enabled) then return @@ -172,7 +197,14 @@ local debug = false local i = 1 + local sort = {} for index, button_table in ipairs (LibHotCorners [self.position]) do + tinsert (sort, {LibHotCorners.options.clicks [button_table.name] or 0, button_table}) + end + table.sort (sort, more_clicked) + + for index, button_table in ipairs (sort) do + button_table = button_table [2] if (not button_table.widget) then LibHotCorners:CreateAddonWidget (self, button_table, index, self.position) end @@ -247,6 +279,8 @@ local debug = false self:SetPoint ("topleft", self:GetParent(), "topleft", self.x, -4) end if (self.table.click) then + LibHotCorners.options.clicks [self.table.name] = LibHotCorners.options.clicks [self.table.name] or 0 + LibHotCorners.options.clicks [self.table.name] = LibHotCorners.options.clicks [self.table.name] + 1 self.table.click (self, button) end end diff --git a/Libs/NickTag-1.0/NickTag-1.0.lua b/Libs/NickTag-1.0/NickTag-1.0.lua index f2334d80..af101b17 100644 --- a/Libs/NickTag-1.0/NickTag-1.0.lua +++ b/Libs/NickTag-1.0/NickTag-1.0.lua @@ -122,9 +122,13 @@ end {[[Interface\EncounterJournal\UI-EJ-BOSS-Baelog]], "Baelog"}, {[[Interface\EncounterJournal\UI-EJ-BOSS-Baron Ashbury]], "Baron Ashbury"}, {[[Interface\EncounterJournal\UI-EJ-BOSS-Baron Silverlaine]], "Baron Silverlaine"}, + {[[Interface\EncounterJournal\UI-EJ-BOSS-Blood Guard Porung]], "Blood Guard Porung"}, {[[Interface\EncounterJournal\UI-EJ-BOSS-Bronjahm]], "Bronjahm"}, {[[Interface\EncounterJournal\UI-EJ-BOSS-Brother Korloff]], "Brother Korloff"}, {[[Interface\EncounterJournal\UI-EJ-BOSS-Captain Skarloc]], "Captain Skarloc"}, + {[[Interface\EncounterJournal\UI-EJ-BOSS-Chief Ukorz Sandscalp]], "Chief Ukorz Sandscalp"}, + {[[Interface\EncounterJournal\UI-EJ-BOSS-Commander Kolurg]], "Commander Kolurg"}, + {[[Interface\EncounterJournal\UI-EJ-BOSS-Commander Malor]], "Commander Malor"}, {[[Interface\EncounterJournal\UI-EJ-BOSS-Commander Sarannis]], "Commander Sarannis"}, {[[Interface\EncounterJournal\UI-EJ-BOSS-Commander Springvale]], "Commander Springvale"}, {[[Interface\EncounterJournal\UI-EJ-BOSS-Commander Stoutbeard]], "Commander Stoutbeard"}, @@ -138,10 +142,17 @@ end {[[Interface\EncounterJournal\UI-EJ-BOSS-Empyreal Queens]], "Lu'lin"}, {[[Interface\EncounterJournal\UI-EJ-BOSS-Exarch Maladaar]], "Exarch Maladaar"}, {[[Interface\EncounterJournal\UI-EJ-BOSS-Fineous Darkvire]], "Fineous Darkvire"}, + {[[Interface\EncounterJournal\UI-EJ-BOSS-Galdarah]], "Galdarah"}, + {[[Interface\EncounterJournal\UI-EJ-BOSS-Garajal the Spiritbinder]], "Garajal the Spiritbinder"}, + {[[Interface\EncounterJournal\UI-EJ-BOSS-Garrosh Hellscream]], "Garrosh Hellscream"}, + {[[Interface\EncounterJournal\UI-EJ-BOSS-General Nazgrim]], "General Nazgrim"}, {[[Interface\EncounterJournal\UI-EJ-BOSS-Grand Champions-Alliance]], "Grand Champions-Alliance"}, + {[[Interface\EncounterJournal\UI-EJ-BOSS-Grand Champions-Horde]], "Grand Champions-Horde"}, {[[Interface\EncounterJournal\UI-EJ-BOSS-Grand Magus Telestra]], "Grand Magus Telestra"}, {[[Interface\EncounterJournal\UI-EJ-BOSS-HateRel]], "HateRel"}, + {[[Interface\EncounterJournal\UI-EJ-BOSS-Hazzarah]], "Hazzarah"}, {[[Interface\EncounterJournal\UI-EJ-BOSS-Hearthsinger Forresten]], "Hearthsinger Forresten"}, + {[[Interface\EncounterJournal\UI-EJ-BOSS-Helix Gearbreaker]], "Helix Gearbreaker"}, {[[Interface\EncounterJournal\UI-EJ-BOSS-High Botanist Freywinn]], "High Botanist Freywinn"}, {[[Interface\EncounterJournal\UI-EJ-BOSS-High Inquisitor Whitemane]], "High Inquisitor Whitemane"}, {[[Interface\EncounterJournal\UI-EJ-BOSS-High Interrogator Gerstahn]], "High Interrogator Gerstahn"}, @@ -151,12 +162,14 @@ end {[[Interface\EncounterJournal\UI-EJ-BOSS-Hydromancer Velratha]], "Hydromancer Velratha"}, {[[Interface\EncounterJournal\UI-EJ-BOSS-Illyanna Ravenoak]], "Illyanna Ravenoak"}, {[[Interface\EncounterJournal\UI-EJ-BOSS-Ingvar the Plunderer]], "Ingvar the Plunderer"}, + {[[Interface\EncounterJournal\UI-EJ-BOSS-Instructor Galford]], "Instructor Galford"}, {[[Interface\EncounterJournal\UI-EJ-BOSS-Instructor Malicia]], "Instructor Malicia"}, {[[Interface\EncounterJournal\UI-EJ-BOSS-Interrogator Vishas]], "Interrogator Vishas"}, {[[Interface\EncounterJournal\UI-EJ-BOSS-Isiset]], "Isiset"}, {[[Interface\EncounterJournal\UI-EJ-BOSS-JainaProudmoore]], "Jaina Proudmoore"}, {[[Interface\EncounterJournal\UI-EJ-BOSS-Jandice Barov]], "Jandice Barov"}, {[[Interface\EncounterJournal\UI-EJ-BOSS-Kaelthas Sunstrider]], "Kaelthas Sunstrider"}, + {[[Interface\EncounterJournal\UI-EJ-BOSS-Kelidan the Breaker]], "Kelidan the Breaker"}, {[[Interface\EncounterJournal\UI-EJ-BOSS-Krick]], "Krick"}, {[[Interface\EncounterJournal\UI-EJ-BOSS-Lady Anacondra]], "Lady Anacondra"}, {[[Interface\EncounterJournal\UI-EJ-BOSS-Lady Illucia Barov]], "Lady Illucia Barov"}, @@ -180,12 +193,20 @@ end {[[Interface\EncounterJournal\UI-EJ-BOSS-Princess Moira Bronzebeard]], "Princess Moira Bronzebeard"}, {[[Interface\EncounterJournal\UI-EJ-BOSS-QueenAzshara]], "Queen Azshara"}, {[[Interface\EncounterJournal\UI-EJ-BOSS-Randolph Moloch]], "Randolph Moloch"}, + {[[Interface\EncounterJournal\UI-EJ-BOSS-Renataki]], "Renataki"}, + {[[Interface\EncounterJournal\UI-EJ-BOSS-Ribbly Screwspigot]], "Ribbly Screwspigot"}, {[[Interface\EncounterJournal\UI-EJ-BOSS-Scarlet Commander Mograine]], "Scarlet Commander Mograine"}, {[[Interface\EncounterJournal\UI-EJ-BOSS-Selin Fireheart]], "Selin Fireheart"}, + {[[Interface\EncounterJournal\UI-EJ-BOSS-Siegecrafter Blackfuse]], "Siegecrafter Blackfuse"}, {[[Interface\EncounterJournal\UI-EJ-BOSS-Skarvald the Constructor]], "Skarvald the Constructor"}, {[[Interface\EncounterJournal\UI-EJ-BOSS-Tribunal of the Ages]], "Tribunal of the Ages"}, {[[Interface\EncounterJournal\UI-EJ-BOSS-TyrandeWhisperwind]], "Tyrande Whisperwind"}, - {[[Interface\EncounterJournal\UI-EJ-BOSS-Vanessa VanCleef]], "Vanessa VanCleef"} + {[[Interface\EncounterJournal\UI-EJ-BOSS-Twilight Lord Kelris]], "Twilight Lord Kelris"}, + {[[Interface\EncounterJournal\UI-EJ-BOSS-Vanessa VanCleef]], "Vanessa VanCleef"}, + {[[Interface\EncounterJournal\UI-EJ-BOSS-Vazruden]], "Vazruden"}, + {[[Interface\EncounterJournal\UI-EJ-BOSS-Warchief Rend Blackhand]], "Warchief Rend Blackhand"}, + {[[Interface\EncounterJournal\UI-EJ-BOSS-Willey Hopebreaker]], "Willey Hopebreaker"}, + {[[Interface\EncounterJournal\UI-EJ-BOSS-Witch Doctor Zumrah]], "Witch Doctor Zumrah"}, } ------------------------------------------------------------------------------------------------------------------------------------------------------ --> send and receive functions diff --git a/Libs/libs.xml b/Libs/libs.xml index 5bc88c23..17da9d48 100644 --- a/Libs/libs.xml +++ b/Libs/libs.xml @@ -9,8 +9,8 @@ -