📄 peopleemail.luac.lua
字号:
l_13_0.HasContactEmailAccount = l_13_0.PerInfo:HasEmailAddress()
local l_13_3 = l_13_0.PerInfo:GetEmailAddress1()
local l_13_4 = l_13_0.PerInfo:GetEmailAddress2()
local l_13_5 = l_13_0.PerInfo:GetEmailAddress3()
local l_13_6 = 0
l_13_0.EmailAddress = {}
if l_13_3:len() > 0 then
l_13_0.EmailAddress[l_13_6] = l_13_3
l_13_6 = l_13_6 + 1
end
if l_13_4:len() > 0 then
l_13_0.EmailAddress[l_13_6] = l_13_4
l_13_6 = l_13_6 + 1
end
if l_13_5:len() > 0 then
l_13_0.EmailAddress[l_13_6] = l_13_5
l_13_6 = l_13_6 + 1
end
trace("PeopleEmailObject: end")
end
PeopleEmailObject.ResetDateTimeFormate = function(l_14_0)
trace("ResetDateTimeFormate")
local l_14_1 = l_14_0.ListView:GetGenerator()
if l_14_1 ~= nil then
local l_14_2 = l_14_1:GetCount() - 1
local l_14_3 = nil
local l_14_4 = nil
for i = 0, l_14_2 do
l_14_3 = l_14_1:GetItem(i)
if l_14_3 ~= nil then
local eg = l_14_0.Emails:GetItem(i)
local mi = l_14_0.PIDatabase:GetMailMessagingInstance(eg)
local gd = mi:GetDeliverTime():ToLocal()
l_14_4 = l_14_3.Namespace:FindName("EmailTime")
l_14_4.String = l_14_0:GetFormatTime(gd)
end
end
end
trace("ResetDateTimeFormate end")
end
PeopleEmailObject.InitEmailView = function(l_15_0)
if l_15_0.HasContactEmailAccount then
trace("[PeopleEmail] Has email account")
l_15_0:InitialListView()
NoAccountMessage._visible = false
_application:SetLeftSoftkey(Softkey(Locale:GetString("IDS_BACK"), LSKFunction_Callback))
_application:SetRightSoftkey(Softkey(Locale:GetString("IDS_MENU"), RSKFunction_Callback))
else
trace("[PeopleEmail] No email account")
NoAccountMessage._visible = true
_application:SetLeftSoftkey(Softkey(Locale:GetString("IDS_BACK"), LSKFunction_Callback))
_application:SetRightSoftkey(Softkey(Locale:GetString("IDS_ADD_ACCOUNT"), GotoEmailSetupPage))
end
end
PeopleEmailObject.InitialListView = function(l_16_0)
l_16_0.PIDatabase = PersonInfoDatabase(l_16_0.PerInfo, PersonInfo_EMAIL)
l_16_0.Emails = l_16_0.PIDatabase:Select(nil, nil)
l_16_0.Emails.ItemsReplaced:connect(l_16_0.HandleItemReplaced, l_16_0)
local l_16_1 = TileLayout()
l_16_1:SetItemSize(l_16_0.WindowW, l_16_0.LISTVIEWITEMH, 0)
l_16_1.SelectionNode = Selector
l_16_0.ListView:SetLayout(l_16_1)
local l_16_2 = LibraryGeneratorPersonInfoBase(l_16_0.Emails, l_16_0.ListView:GetMovie(), l_16_0.ListView.ComponentLibraryName, l_16_0.ListView.ComponentLibraryID)
l_16_2.ItemCreated:connect(l_16_0.HandleItemCreated, l_16_0)
l_16_2.ItemDestroyed:connect(l_16_0.HandleItemDestroyed, l_16_0)
l_16_2.RecycleItems = true
l_16_0.ListView:SetGenerator(l_16_2)
l_16_0.ListPhysics = ScrollPhysics(l_16_0.ListView, l_16_0.ListView, HandleSelection, true)
l_16_0.ListPhysics:ConnectMouseEvents()
end
PeopleEmailObject.HandleItemCreated = function(l_17_0, l_17_1, l_17_2)
trace("PeopleEmailObject:HandleItemCreated")
local l_17_3 = l_17_2.Namespace
local l_17_4 = l_17_3:FindName("EmailSubject")
local l_17_5 = l_17_3:FindName("EmailAccountName")
local l_17_6 = l_17_3:FindName("EmailTime")
local l_17_7 = l_17_3:FindName("dottedline")
local l_17_8 = l_17_0.PIDatabase:GetMailMessagingInstance(l_17_1)
local l_17_9 = l_17_8:GetDeliverTime():ToLocal()
l_17_4._visible = true
l_17_5._visible = true
l_17_6._visible = true
l_17_7._visible = true
l_17_7.Size.width = l_17_0.WindowW
l_17_7.Position.y = -l_17_0.LISTVIEWITEMH
l_17_7.TextureCoords.width = l_17_7.Size.width / 2
l_17_6.String = l_17_0:GetFormatTime(l_17_9)
l_17_4.Size.width = l_17_0.WindowW - 2 * l_17_0.ITEMDX
l_17_4.String = l_17_8:GetSubject()
l_17_6.Position.x = l_17_0.WindowW - l_17_0.EMAILTIMEDX
local l_17_10 = l_17_8:GetAccountName()
if l_17_10 == "ActiveSync" then
l_17_10 = "Outlook"
end
trace("++++++++++++++++++++" .. tostring(l_17_4.Bold))
trace("++++++++++++++++++++" .. tostring(l_17_8:IsRead()))
l_17_4.Bold = not l_17_8:IsRead()
l_17_5.String = l_17_10
l_17_2.Focusable = true
trace("PeopleEmailObject:HandleItemCreated end")
end
PeopleEmailObject.HandleItemDestroyed = function(l_18_0, l_18_1)
trace("PeopleEmailObject:HandleItemDestroyed")
local l_18_2 = l_18_1.Namespace
local l_18_3 = l_18_2:FindName("EmailSubject")
local l_18_4 = l_18_2:FindName("EmailAccountName")
local l_18_5 = l_18_2:FindName("EmailTime")
local l_18_6 = l_18_2:FindName("dottedline")
l_18_3._visible = false
l_18_4._visible = false
l_18_5._visible = false
l_18_6._visible = false
l_18_3 = nil
l_18_4 = nil
l_18_5 = nil
l_18_6._visible = nil
end
PeopleEmailObject.HandleItemReplaced = function(l_19_0, l_19_1, l_19_2)
trace("PeopleEmailObject:HandleItemReplaced")
trace("pos=" .. l_19_1)
trace("count=" .. l_19_2)
local l_19_3 = l_19_0.ListView:GetGenerator():GetItem(l_19_1)
if l_19_3 ~= nil then
local l_19_4 = l_19_0.Emails:GetItem(l_19_1)
local l_19_5 = l_19_0.PIDatabase:GetMailMessagingInstance(l_19_4)
l_19_0:HandleItemCreated(l_19_5, l_19_3)
end
end
PeopleEmailObject.HandleItemsRemoved = function(l_20_0, l_20_1, l_20_2)
trace("PeopleEmailObject:HandleItemsRemoved ")
trace("pos=" .. l_20_1)
trace("count=" .. l_20_2)
end
PeopleEmailObject.GetFormatTime = function(l_21_0, l_21_1)
local l_21_2 = ""
if l_21_1:IsToday() then
if machineStatus.CurrentTime.Value.IsTwentyFourHour then
l_21_2 = l_21_1:GetTimeString(TimeFormatOptions_Default)
else
l_21_2 = l_21_1:GetTimeString(TimeFormatOptions_ExcludeTimeMarker) .. l_21_1:GetTimeString("tt")
end
else
l_21_2 = l_21_1:GetDateString(DateFormatOptions_Default)
end
return l_21_2
end
PeopleEmailObject.ResetListViewLayout = function(l_22_0)
trace("ResetListViewLayout")
local l_22_1 = l_22_0.ListView:GetGenerator()
local l_22_2 = l_22_0.ListView:GetLayout()
if l_22_2 ~= nil then
l_22_2:SetItemSize(windowW, l_22_0.LISTVIEWITEMH, 0)
end
if l_22_1 ~= nil then
local l_22_3 = nil
local l_22_4 = nil
local l_22_5 = nil
local l_22_6 = nil
local l_22_7 = l_22_1:GetCount() - 1
for i = 0, l_22_7 do
l_22_4 = l_22_1:GetItem(i)
if l_22_4 ~= nil then
l_22_3 = l_22_4.Namespace
l_22_3:FindName("EmailTime").Position.x = l_22_0.WindowW - l_22_0.EMAILTIMEDX
l_22_3:FindName("EmailSubject").Size.width = l_22_0.WindowW
l_22_6 = l_22_3:FindName("dottedline")
l_22_6.Size.width = l_22_0.WindowW
l_22_6.TextureCoords.width = l_22_6.Size.width / 2
end
end
end
trace("ResetListViewLayout end")
end
HandleSelection = function(l_23_0)
if l_23_0 >= 0 then
trace("HandleSelection=" .. l_23_0)
local l_23_1 = PeopleEmailObj.Emails:GetItem(l_23_0)
local l_23_2 = PeopleEmailObj.PIDatabase:GetMailMessagingInstance(l_23_1)
l_23_2:ShowMessageDetail(1)
trace("HandleSelection end")
end
end
ResetSelector = function(l_24_0)
local l_24_1 = l_24_0 / 2
SelectorMain.Size.width = l_24_0 - 8
SelectorHightRight.Size.width = l_24_1 - 8
SelectorHightLeft.Size.width = SelectorHightRight.Size.width
highlightRight.Position.x = l_24_0
SelectorHightLeft.Position.x = SelectorMain.Size.width
SelectorRight.Position.x = l_24_0
end
main()
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -