Mercurial > wow > ouroloot
comparison gui.lua @ 65:69fd720f853e
Add display_bcast_from option.
| author | Farmbuyer of US-Kilrogg <farmbuyer@gmail.com> |
|---|---|
| date | Fri, 27 Apr 2012 09:12:45 +0000 |
| parents | 1cbaa1ce8253 |
| children | c01875b275ca |
comparison
equal
deleted
inserted
replaced
| 64:359d0159d6ca | 65:69fd720f853e |
|---|---|
| 251 self.loot_clean = nil | 251 self.loot_clean = nil |
| 252 pprint('_f_o_e_d', "index",i,"somehow still in loop past",#g_loot,"bailing") | 252 pprint('_f_o_e_d', "index",i,"somehow still in loop past",#g_loot,"bailing") |
| 253 return | 253 return |
| 254 end | 254 end |
| 255 | 255 |
| 256 local display_bcast_from = OuroLootSV_opts.display_bcast_from | |
| 256 -- XXX FIXME a major weakness here is that we're constantly replacing | 257 -- XXX FIXME a major weakness here is that we're constantly replacing |
| 257 -- what's already been created. Lots of garbage. Trying to detect what | 258 -- what's already been created. Lots of garbage. Trying to detect what |
| 258 -- actually needs to be replaced is even worse. We'll live with | 259 -- actually needs to be replaced is even worse. We'll live with |
| 259 -- garbage for now. | 260 -- garbage for now. |
| 260 if e.kind == 'loot' then | 261 if e.kind == 'loot' then |
| 270 e.disposition = k | 271 e.disposition = k |
| 271 --e.extratext = nil, not feasible | 272 --e.extratext = nil, not feasible |
| 272 break | 273 break |
| 273 end | 274 end |
| 274 end end | 275 end end |
| 275 local ex = eoi_st_lootrow_col3_colortable[e.disposition or ""].text | 276 local ex = e.disposition or "" |
| 276 if e.bcast_from and e.extratext then | 277 ex = eoi_st_lootrow_col3_colortable[ex].text |
| 278 if e.bcast_from and display_bcast_from and e.extratext then | |
| 277 ex = e.extratext .. " (from " .. e.bcast_from .. ")" | 279 ex = e.extratext .. " (from " .. e.bcast_from .. ")" |
| 278 elseif e.bcast_from then | 280 elseif e.bcast_from and display_bcast_from then |
| 279 ex = "(from " .. e.bcast_from .. ")" | 281 ex = ex .. " (from " .. e.bcast_from .. ")" |
| 280 elseif e.extratext then | 282 elseif e.extratext then |
| 281 ex = e.extratext | 283 ex = e.extratext |
| 282 end | 284 end |
| 283 e.cols[3].value = ex | 285 e.cols[3].value = ex |
| 284 | 286 |
| 1504 end | 1506 end |
| 1505 | 1507 |
| 1506 | 1508 |
| 1507 -- Tab 6: Options / Advanced | 1509 -- Tab 6: Options / Advanced |
| 1508 do | 1510 do |
| 1511 -- Local ref to OuroLootSV_opts, which may be reassigned after load. | |
| 1512 -- So instead this is updated when the tab is displayed. | |
| 1513 local opts | |
| 1509 local function mkoption (opt, label, width, desc, opt_func) | 1514 local function mkoption (opt, label, width, desc, opt_func) |
| 1510 local w = mkbutton("CheckBoxSmallLabel", nil, "", desc) | 1515 local w = mkbutton("CheckBoxSmallLabel", nil, "", desc) |
| 1511 w:SetRelativeWidth(width) | 1516 w:SetRelativeWidth(width) |
| 1512 w:SetType("checkbox") | 1517 w:SetType("checkbox") |
| 1513 w:SetLabel(label) | 1518 w:SetLabel(label) |
| 1514 if opt then | 1519 if opt then |
| 1515 w:SetValue(OuroLootSV_opts[opt]) | 1520 w:SetValue(opts[opt]) |
| 1516 w:SetCallback("OnValueChanged", opt_func or (function(_w,event,value) | 1521 w:SetCallback("OnValueChanged", opt_func or (function(_w,event,value) |
| 1517 OuroLootSV_opts[opt] = value | 1522 opts[opt] = value |
| 1518 end)) | 1523 end)) |
| 1519 end | 1524 end |
| 1520 return w | 1525 return w |
| 1521 end | 1526 end |
| 1522 | 1527 |
| 1686 end) | 1691 end) |
| 1687 container:AddChild(speedbump) | 1692 container:AddChild(speedbump) |
| 1688 end | 1693 end |
| 1689 | 1694 |
| 1690 tabs_OnGroupSelected["opt"] = function(container,specials) | 1695 tabs_OnGroupSelected["opt"] = function(container,specials) |
| 1696 opts = OuroLootSV_opts | |
| 1697 | |
| 1691 --container:SetLayout("List") | 1698 --container:SetLayout("List") |
| 1692 container:SetLayout("Fill") | 1699 container:SetLayout("Fill") |
| 1693 local scroll, grp, w | 1700 local scroll, grp, w |
| 1694 | 1701 |
| 1695 scroll = GUI:Create("ScrollFrame") | 1702 scroll = GUI:Create("ScrollFrame") |
| 1734 grp:AddChild(w) | 1741 grp:AddChild(w) |
| 1735 | 1742 |
| 1736 -- LOD plugins in all cases | 1743 -- LOD plugins in all cases |
| 1737 w = mkoption('display_disabled_LODs', "Include disabled plugins", 0.49, | 1744 w = mkoption('display_disabled_LODs', "Include disabled plugins", 0.49, |
| 1738 [[Show loadable plugins even if they've been disabled (and offer to enable them). Relog to take effect.]]) | 1745 [[Show loadable plugins even if they've been disabled (and offer to enable them). Relog to take effect.]]) |
| 1746 grp:AddChild(w) | |
| 1747 | |
| 1748 -- showing the "(from Rebroadcasterdude)" in the notes column | |
| 1749 w = mkoption('display_bcast_from', "Show rebroadcasting player", 0.49, | |
| 1750 [[Include "(from Player_Name)" in the Notes column for loot that was broadcast to you.]], | |
| 1751 function(_w,_e,value) | |
| 1752 opts.display_bcast_from = value | |
| 1753 addon.loot_clean = nil | |
| 1754 end) | |
| 1739 grp:AddChild(w) | 1755 grp:AddChild(w) |
| 1740 | 1756 |
| 1741 -- possible keybindings | 1757 -- possible keybindings |
| 1742 do | 1758 do |
| 1743 local pair = GUI:Create("SimpleGroup") | 1759 local pair = GUI:Create("SimpleGroup") |
| 1744 pair:SetLayout("Flow") | 1760 pair:SetLayout("Flow") |
| 1745 pair:SetRelativeWidth(0.95) | 1761 pair:SetRelativeWidth(0.95) |
| 1746 local editbox, checkbox | 1762 local editbox, checkbox |
| 1747 editbox = mkbutton("EditBox", nil, OuroLootSV_opts.keybinding_text, | 1763 editbox = mkbutton("EditBox", nil, opts.keybinding_text, |
| 1748 [[Keybinding text format is fragile! Relog to take effect.]]) | 1764 [[Keybinding text format is fragile! Relog to take effect.]]) |
| 1749 editbox:SetRelativeWidth(0.5) | 1765 editbox:SetRelativeWidth(0.5) |
| 1750 editbox:SetLabel("Keybinding text") | 1766 editbox:SetLabel("Keybinding text") |
| 1751 editbox:SetCallback("OnEnterPressed", function(_w,event,value) | 1767 editbox:SetCallback("OnEnterPressed", function(_w,event,value) |
| 1752 OuroLootSV_opts.keybinding_text = value | 1768 opts.keybinding_text = value |
| 1753 end) | 1769 end) |
| 1754 editbox:SetDisabled(not OuroLootSV_opts.keybinding) | 1770 editbox:SetDisabled(not opts.keybinding) |
| 1755 checkbox = mkoption('keybinding', "Register keybinding", 0.5, | 1771 checkbox = mkoption('keybinding', "Register keybinding", 0.5, |
| 1756 [[Register a keybinding to toggle the loot display. Relog to take effect.]], | 1772 [[Register a keybinding to toggle the loot display. Relog to take effect.]], |
| 1757 function (_w,_,value) | 1773 function (_w,_,value) |
| 1758 OuroLootSV_opts.keybinding = value | 1774 opts.keybinding = value |
| 1759 editbox:SetDisabled(not OuroLootSV_opts.keybinding) | 1775 editbox:SetDisabled(not opts.keybinding) |
| 1760 end) | 1776 end) |
| 1761 pair:AddChild(checkbox) | 1777 pair:AddChild(checkbox) |
| 1762 pair:AddChild(editbox) | 1778 pair:AddChild(editbox) |
| 1763 grp:AddChild(pair) | 1779 grp:AddChild(pair) |
| 1764 end | 1780 end |
| 1771 do | 1787 do |
| 1772 local list = {} | 1788 local list = {} |
| 1773 local current | 1789 local current |
| 1774 for k,v in ipairs(addon.bossmods) do | 1790 for k,v in ipairs(addon.bossmods) do |
| 1775 list[k] = v.n | 1791 list[k] = v.n |
| 1776 if v.n == OuroLootSV_opts.bossmod then | 1792 if v.n == opts.bossmod then |
| 1777 current = k | 1793 current = k |
| 1778 end | 1794 end |
| 1779 end | 1795 end |
| 1780 w = mkbutton("Dropdown", nil, "", [[Which 'boss mod' to use.]]) | 1796 w = mkbutton("Dropdown", nil, "", [[Which 'boss mod' to use.]]) |
| 1781 w:SetRelativeWidth(0.2) | 1797 w:SetRelativeWidth(0.2) |
| 1782 w:SetLabel("Boss Mod:") | 1798 w:SetLabel("Boss Mod:") |
| 1783 w:SetList(list) | 1799 w:SetList(list) |
| 1784 w:SetValue(current) | 1800 w:SetValue(current) |
| 1785 w:SetCallback("OnValueChanged", function(_w,event,choice) | 1801 w:SetCallback("OnValueChanged", function(_w,event,choice) |
| 1786 OuroLootSV_opts.bossmod = list[choice] | 1802 opts.bossmod = list[choice] |
| 1787 end) | 1803 end) |
| 1788 grp:AddChild(w) | 1804 grp:AddChild(w) |
| 1789 end | 1805 end |
| 1790 | 1806 |
| 1791 -- item filter | 1807 -- item filter |
| 1794 w:SetHeight(20) | 1810 w:SetHeight(20) |
| 1795 grp:AddChild(w) | 1811 grp:AddChild(w) |
| 1796 do | 1812 do |
| 1797 local list = {} | 1813 local list = {} |
| 1798 local cache_warn, cache_warned = false, false | 1814 local cache_warn, cache_warned = false, false |
| 1799 for id in pairs(OuroLootSV_opts.itemfilter) do | 1815 for id in pairs(opts.itemfilter) do |
| 1800 local iname, _, iquality = GetItemInfo(id) | 1816 local iname, _, iquality = GetItemInfo(id) |
| 1801 if iname then | 1817 if iname then |
| 1802 list[id] = ITEM_QUALITY_COLORS[iquality].hex .. iname .. "|r" | 1818 list[id] = ITEM_QUALITY_COLORS[iquality].hex .. iname .. "|r" |
| 1803 else | 1819 else |
| 1804 cache_warn = true | 1820 cache_warn = true |
| 1814 if not iname then | 1830 if not iname then |
| 1815 return addon:Print("Error: %s is not a valid item name/link!", text) | 1831 return addon:Print("Error: %s is not a valid item name/link!", text) |
| 1816 end | 1832 end |
| 1817 local id = tonumber(ilink:match("item:(%d+)")) | 1833 local id = tonumber(ilink:match("item:(%d+)")) |
| 1818 list[id] = ITEM_QUALITY_COLORS[iquality].hex .. iname .. "|r" | 1834 list[id] = ITEM_QUALITY_COLORS[iquality].hex .. iname .. "|r" |
| 1819 OuroLootSV_opts.itemfilter[id] = true | 1835 opts.itemfilter[id] = true |
| 1820 addon:Print("Now filtering out", ilink) | 1836 addon:Print("Now filtering out", ilink) |
| 1821 end) | 1837 end) |
| 1822 w:SetCallback("OnListItemClicked", function(_w, _, key_id, val_name) | 1838 w:SetCallback("OnListItemClicked", function(_w, _, key_id, val_name) |
| 1823 --local ilink = select(2,GetItemInfo(key_id)) | 1839 --local ilink = select(2,GetItemInfo(key_id)) |
| 1824 OuroLootSV_opts.itemfilter[tonumber(key_id)] = nil | 1840 opts.itemfilter[tonumber(key_id)] = nil |
| 1825 --addon:Print("No longer filtering out", ilink) | 1841 --addon:Print("No longer filtering out", ilink) |
| 1826 addon:Print("No longer filtering out", val_name) | 1842 addon:Print("No longer filtering out", val_name) |
| 1827 end) | 1843 end) |
| 1828 w:SetCallback("OnDropdownShown", function() | 1844 w:SetCallback("OnDropdownShown", function() |
| 1829 if cache_warn and not cache_warned then | 1845 if cache_warn and not cache_warned then |
