Mail dt alpha
Darthpred [07-21-13 - 20:45]
diff --git a/ElvUI_SLE/modules/datatexts/load_datatexts.xml b/ElvUI_SLE/modules/datatexts/load_datatexts.xml
index d56029f..9bf38c7 100755
--- a/ElvUI_SLE/modules/datatexts/load_datatexts.xml
+++ b/ElvUI_SLE/modules/datatexts/load_datatexts.xml
@@ -8,6 +8,7 @@
<Script file='friends.lua'/>
<Script file='guild.lua'/>
<Script file='played.lua'/>
+ <Script file='mail.lua'/>
<Include file='dashboard\load_dashboard.xml'/>
<Script file='options.lua'/>
diff --git a/ElvUI_SLE/modules/datatexts/mail.lua b/ElvUI_SLE/modules/datatexts/mail.lua
new file mode 100644
index 0000000..6ab5c8d
--- /dev/null
+++ b/ElvUI_SLE/modules/datatexts/mail.lua
@@ -0,0 +1,89 @@
+local E, L, V, P, G, _ = unpack(ElvUI);
+local DT = E:GetModule('DataTexts')
+
+local Mail_Icon = "|TInterface\\MINIMAP\\TRACKING\\Mailbox.blp:14:14|t";
+local OldShow = MiniMapMailFrame.Show
+local fuck = false
+
+local Read;
+
+
+local function MakeIconString()
+ local str = ""
+ str = str..Mail_Icon
+
+ return str
+end
+
+local function OnEvent(self, event, ...)
+ local newMail = false
+
+ if event == "UPDATE_PENDING_MAIL" or event == "PLAYER_ENTERING_WORLD" or event =="PLAYER_LOGIN" then
+ if fuck then
+ MiniMapMailFrame:Hide()
+ MiniMapMailFrame.Show = dummyFunc
+ else
+ MiniMapMailFrame.Show = OldShow
+ end
+
+ newMail = HasNewMail()
+
+ if unreadMail ~= newMail then
+ unreadMail = newMail
+ end
+
+ self:UnregisterEvent("PLAYER_ENTERING_WORLD")
+ self:UnregisterEvent("PLAYER_LOGIN")
+ end
+
+ if event == "MAIL_INBOX_UPDATE" or event == "MAIL_SHOW" or event == "MAIL_CLOSED" then
+ for i = 1, GetInboxNumItems() do
+ local _, _, _, _, _, _, _, _, wasRead = GetInboxHeaderInfo(i);
+ if( not wasRead ) then
+ newMail = true;
+ break;
+ end
+ end
+ end
+
+ if newMail then
+ self.text:SetText(MakeIconString().."New Mail")
+ Read = false;
+ else
+ self.text:SetText("No Mail")
+ Read = true;
+ end
+
+end
+
+local function OnEnter(self)
+ DT:SetupTooltip(self)
+
+
+
+ local sender1, sender2, sender3 = GetLatestThreeSenders()
+
+ if not Read then
+ DT.tooltip:AddLine(HAVE_MAIL_FROM)
+ DT.tooltip:AddLine(" "..sender1)
+ if sender2 then DT.tooltip:AddLine(" "..sender2) end
+ if sender3 then DT.tooltip:AddLine(" "..sender3) end
+
+ end
+ DT.tooltip:Show()
+end
+
+--[[
+ DT:RegisterDatatext(name, events, eventFunc, updateFunc, clickFunc, onEnterFunc, onLeaveFunc)
+
+ name - name of the datatext (required)
+ events - must be a table with string values of event names to register
+ eventFunc - function that gets fired when an event gets triggered
+ updateFunc - onUpdate script target function
+ click - function to fire when clicking the datatext
+ onEnterFunc - function to fire OnEnter
+ onLeaveFunc - function to fire OnLeave, if not provided one will be set for you that hides the tooltip.
+]]
+
+DT:RegisterDatatext('S&L Mail', {'PLAYER_ENTERING_WORLD', 'MAIL_INBOX_UPDATE', 'UPDATE_PENDING_MAIL', 'MAIL_CLOSED', 'PLAYER_LOGIN','MAIL_SHOW'}, OnEvent, nil, nil, OnEnter)
+