peoplemessage.luac.lua
来自「htc manila 2 sourcecode」· LUA 代码 · 共 661 行 · 第 1/2 页
LUA
661 行
MessagesObject.HandleSendOnPress = function(l_23_0, l_23_1, l_23_2)
trace("$$$$$$$$$$$$$4 HandleSendOnPress")
if l_23_0.ShowSIP then
SendDown.Size.height = l_23_0.SendButtonPortraitH
_application:HideInputPanel()
else
SendDown.Size.height = l_23_0.SendButtonLandscapeH
end
SendDown.Opacity:Interpolate(100, 0, 3, 0, Interpolate_Linear, l_23_0.CheckInputData, l_23_0)
l_23_2.value = true
end
MessagesObject.HandleSendOnRelease = function(l_24_0, l_24_1, l_24_2)
trace("$$$$$$$$$$$$$4 HandleSendOnRelease")
l_24_2.value = true
end
MessagesObject.HandleSendOnReleaseOutside = function(l_25_0, l_25_1, l_25_2)
trace("$$$$$$$$$$$$$4 HandleSendOnReleaseOutside")
l_25_2.value = true
end
MessagesObject.CheckInputData = function(l_26_0)
local l_26_1 = l_26_0.objBox.WindowText
if l_26_1 ~= nil and l_26_1:len() > 0 then
local l_26_2 = SIMUtilities()
if l_26_2.bIsSIMPresent then
trace("@@@###\t[People Message - MessagesObject:HandleSendOnRelease]\tSIM is present")
if l_26_2.bIsRadioOn then
trace("@@@###\t[People Message - MessagesObject:HandleSendOnRelease]\tRadio is on")
if l_26_2.bIsSIMReady then
l_26_0:ReplySMS()
else
trace("@@@###\t[People Message - MessagesObject:HandleSendOnRelease]\tSIM is not ready")
l_26_2:OpenPINCodeDialog()
end
else
trace("@@@###\t[People Message - MessagesObject:HandleSendOnRelease]\tRadio is not on")
ShowDialog(Locale:GetString("IDS_RADIO_OFF"), Locale:GetString("IDS_RADIO_OFF_DESP"), "OK", FunctionDialogReturned)
end
else
trace("@@@###\t[People Message - MessagesObject:HandleSendOnRelease]\tSIM is not present")
ShowDialog(Locale:GetString("IDS_ERROR"), Locale:GetString("IDS_SIM_NOT_EXIST"), "OK", FunctionDialogReturned)
end
end
end
MessagesObject.ReplySMS = function(l_27_0)
trace("@@@###\t[People Message - MessagesObject:HandleSendOnRelease]\tSIM is ready")
local l_27_1 = MailDatabase("SMS", _application:GetScopedLog("Messaging"))
l_27_1:SendSMSMessage("", l_27_0.PI:GetMobilePhoneNum(), l_27_0.objBox.WindowText, 0)
l_27_0.objBox:SetWindowSize(0, 0)
l_27_0.objBox.WindowText = ""
end
SetContactPicture = function(l_28_0, l_28_1, l_28_2, l_28_3)
trace("GetContactType " .. tostring(l_28_3))
if l_28_3 == 1 then
l_28_1:SetTextureRef("ContactTypeSIM")
l_28_1.TextureCoords:set(0.046875, 0.046875, 0.5546875, 0.5546875)
l_28_1._visible = true
elseif l_28_3 == -1 then
l_28_1:SetTextureRef("PeoplePlaceholder")
l_28_1.TextureCoords:set(0, 0, 0.92578125, 0.92578125)
l_28_1._visible = true
elseif l_28_0 ~= nil and l_28_0:HasValue() then
trace("+++++++")
if l_28_1:SetTexture(l_28_0:GetValue().Texture) then
l_28_1.TextureCoords.value = l_28_0:GetValue().UV
l_28_1._visible = true
else
l_28_1._visible = false
end
else
l_28_1:SetTextureRef("PeoplePlaceholder")
l_28_1.TextureCoords:set(0, 0, 0.92578125, 0.92578125)
l_28_1._visible = true
end
end
SetUserPic = function(l_29_0, l_29_1)
if l_29_0 ~= nil and not l_29_0:GetValue():IsEmpty() then
if l_29_1:SetTexture(l_29_0:GetValue().Texture) then
l_29_1.TextureCoords.value = l_29_0:GetValue().UV
l_29_1._visible = true
else
l_29_1._visible = false
end
else
l_29_1:SetTextureRef("PeoplePlaceholder")
l_29_1.TextureCoords:set(0, 0, 0.92578125, 0.92578125)
l_29_1._visible = true
end
end
MessagesObject.Destroy = function(l_30_0)
l_30_0.BtnSend.onPress:disconnect(l_30_0.HandleSendOnPress, l_30_0)
l_30_0.BtnSend.onRelease:disconnect(l_30_0.HandleSendOnRelease, l_30_0)
l_30_0.BtnSend.onReleaseOutside:disconnect(l_30_0.HandleSendOnReleaseOutside, l_30_0)
l_30_0.objLvMessages:Destroy()
_application:HideInputPanel()
end
MessagesObject.ResetDateTimeFormate = function(l_31_0)
trace("ResetDateTimeFormate")
local l_31_1 = l_31_0.objLvMessages.listview:GetGenerator()
if l_31_1 ~= nil then
local l_31_2 = l_31_1:GetCount() - 1
local l_31_3 = nil
local l_31_4 = nil
for i = 0, l_31_2 do
l_31_3 = l_31_1:GetItem(i)
if l_31_3 ~= nil then
local omi = l_31_0.objLvMessages.Messages:GetItem(i)
local mi = l_31_0.objLvMessages.PIDB:GetMailMessagingInstance(omi)
local pidb = mi:GetDeliverTime():ToLocal()
l_31_4 = l_31_3.Namespace:FindName("MessageTime")
l_31_4.String = GetFormatTime(pidb)
end
end
end
trace("ResetDateTimeFormate end")
end
LvMessages.__init = function(l_32_0, l_32_1, l_32_2, l_32_3, l_32_4)
trace(" LvMessages:__init")
l_32_0.Type = l_32_4
l_32_0.offset = 0
l_32_0.WindowW = 480
l_32_0.WindowH = 696
l_32_0.SMSDX = 60
l_32_0.ContentDX = 130
l_32_0.ItemH = 81
l_32_0.TextDX = 8
l_32_0.PIDB = l_32_1
l_32_0.listview = l_32_3
l_32_0.Messages = l_32_2
l_32_0.Messages.ItemsRemoved:connect(l_32_0.CollectionReset, l_32_0)
l_32_0.Messages.CollectionReset:connect(l_32_0.CollectionReset, l_32_0)
local l_32_5 = SequentialLayout()
l_32_5:SetItemSize(l_32_0.WindowW, l_32_0.ItemH, 0)
l_32_0.listview:SetLayout(l_32_5)
l_32_0.listview:ForceLayout()
l_32_0.listview:Focus()
l_32_0:ResetListViewLayout(l_32_0.WindowW, l_32_0.WindowH)
l_32_0.ListPhysics = ScrollPhysics(l_32_0.listview, l_32_0.listview)
end
LvMessages.ResetListViewLayout = function(l_33_0, l_33_1, l_33_2)
l_33_0.WindowW = l_33_1
l_33_0.WindowH = l_33_2
l_33_0.ContentWidth = l_33_0.WindowW - l_33_0.ContentDX
l_33_0.listview:GetLayout():SetItemSize(l_33_0.WindowW, l_33_0.ItemH, 0)
end
LvMessages.SetMyPic = function(l_34_0, l_34_1)
l_34_0.MyPic = l_34_1
end
LvMessages.SetContactPic = function(l_35_0, l_35_1)
l_35_0.ContactPic = l_35_1
end
LvMessages.PrepareData = function(l_36_0)
l_36_0.initial = true
l_36_0.ListPhysics:DisconnectMouseEvents()
l_36_0:ResetGenerator()
local l_36_1 = l_36_0.Messages:GetCount() - 1
for i = 0, l_36_1 do
l_36_0.collection:push_back(i)
end
local l_36_2 = math.ceil(l_36_0.listview.Viewport.y / l_36_0.listview:GetLayout().ItemSize.y)
l_36_0.listview:GetLayout():JumpToIndex(l_36_1 - l_36_2 + 1, ListAlignment_Top, ListAlignmentOptions_Snap)
l_36_0.ListPhysics:ConnectMouseEvents()
trace("LvMessages:PrepareData.." .. tostring(l_36_0.collection:GetCount()))
end
LvMessages.ResetGenerator = function(l_37_0)
l_37_0.listview:SetGenerator(nil)
l_37_0.ListGenerator = nil
l_37_0.collection = nil
l_37_0.collection = VectorNotifyint()
l_37_0.ListGenerator = SequentialLibraryGeneratorint(l_37_0.collection, l_37_0.listview:GetMovie(), l_37_0.listview.ComponentLibraryName, l_37_0.listview.ComponentLibraryID)
l_37_0.ListGenerator.ItemCreated:connect(l_37_0.HandleItemCreated, l_37_0)
l_37_0.ListGenerator.ItemDestroyed:connect(l_37_0.HandleItemDestroyed, l_37_0)
l_37_0.ListGenerator.ExtendInternalGetItemSize:connect(l_37_0.HandleExtendInternalGetItemSize, l_37_0)
l_37_0.ListGenerator.RecycleItems = true
l_37_0.listview:SetGenerator(l_37_0.ListGenerator)
end
LvMessages.HandleExtendInternalGetItemSize = function(l_38_0, l_38_1, l_38_2, l_38_3, l_38_4, l_38_5, l_38_6)
local l_38_7 = l_38_0.listview:GetGenerator():GetDataByRealizedIndex(l_38_4)
local l_38_8 = l_38_0.Messages:GetItem(l_38_7)
local l_38_9 = l_38_0.Messages:GetCount() - 1
local l_38_10 = l_38_0.listview:GetGenerator():GetItem(l_38_4)
l_38_0:AdjustItemHeight(l_38_10, l_38_0.PIDB:GetMailMessagingInstance(l_38_8), l_38_5)
if l_38_0.initial then
if l_38_7 < l_38_9 then
l_38_0.listview:ApplyScrollDelta(Vector3F(0, l_38_5.value.y, 0))
else
l_38_0.initial = false
end
end
l_38_6.value = true
trace("HandleExtendInternalGetItemSize end")
end
LvMessages.AdjustItemHeight = function(l_39_0, l_39_1, l_39_2, l_39_3)
local l_39_4 = l_39_1.Namespace
local dottedline = l_39_4:FindName("dottedline")
local messagecontent = l_39_4:FindName("MessageContent")
local messagetime = l_39_4:FindName("MessageTime")
local mmsicon = l_39_4:FindName("MMSIcon")
local l_39_9 = 0
if l_39_2:GetMessageType() == 2 then
messagecontent.Size.width = l_39_0.ContentWidth
else
messagecontent.Size.width = l_39_0.WindowW - l_39_0.SMSDX
end
if l_39_2:GetSubject() ~= nil and l_39_2:GetSubject():len() > 0 then
l_39_9 = TextHelper_GetStringHeight(messagecontent, l_39_2:GetSubject())
end
trace("height=" .. tostring(l_39_9))
local l_39_10 = -messagecontent.Position.y
local l_39_11 = messagetime.Size.height
local l_39_12 = l_39_10 + l_39_9 + l_39_11 + l_39_0.TextDX
if l_39_12 <= l_39_0.ItemH then
messagecontent.Size.height = l_39_9
l_39_3.value.y = l_39_0.ItemH
else
messagecontent.Size.height = l_39_9 + l_39_0.TextDX
l_39_3.value.y = l_39_10 + l_39_9 + 2 * l_39_0.TextDX + l_39_11
end
l_39_3.value.x = l_39_0.WindowW
l_39_3.value.z = 0
dottedline.Position.y = -l_39_3.value.y + 1
messagetime.Position.y = -l_39_3.value.y + l_39_11 + l_39_0.TextDX
end
LvMessages.HandleItemCreated = function(l_40_0, l_40_1, l_40_2)
trace("$$$$$ HandleItemCreated " .. l_40_1)
local l_40_3 = l_40_2.Namespace
local l_40_4 = l_40_0.Messages:GetItem(l_40_1)
local l_40_5 = l_40_0.PIDB:GetMailMessagingInstance(l_40_4)
local messagetime = l_40_3:FindName("MessageTime")
local dottedline = l_40_3:FindName("dottedline")
local headicon = l_40_3:FindName("HeadIcon")
local mmsicon = l_40_3:FindName("MMSIcon")
local messagecontent = l_40_3:FindName("MessageContent")
messagetime._visible = true
dottedline._visible = true
headicon._visible = true
messagecontent._visible = true
dottedline.Size.width = l_40_0.WindowW
dottedline.TextureCoords.width = l_40_0.WindowW / 2
messagecontent.String = l_40_5:GetSubject()
local l_40_11 = l_40_5:GetDeliverTime():ToLocal()
messagetime.String = GetFormatTime(l_40_11)
if l_40_5:IsMine() then
SetUserPic(l_40_0.MyPic, headicon)
else
SetContactPicture(l_40_0.ContactPic, headicon, true, l_40_0.Type)
end
if l_40_5:GetMessageType() == 2 then
mmsicon._visible = true
mmsicon.Tag = {}
mmsicon.Tag.Data = l_40_1
mmsicon.onPress:connect(l_40_0.Handle_MMSIconOnPress, l_40_0)
mmsicon.onRelease:connect(l_40_0.Handle_MMSIconOnRelease, l_40_0)
mmsicon.onReleaseOutside:connect(l_40_0.Handle_MMSIconOnReleaseOutside, l_40_0)
end
l_40_2.Focusable = true
trace("$$$$$ HandleItemCreated end")
end
LvMessages.HandleItemDestroyed = function(l_41_0, l_41_1)
trace("LvMessages:HandleItemDestroyed")
local l_41_2 = l_41_1.Namespace
local mmsicon = l_41_2:FindName("MMSIcon")
local dottedline = l_41_2:FindName("dottedline")
local headicon = l_41_2:FindName("HeadIcon")
local messagetime = l_41_2:FindName("MessageTime")
local messagecontent = l_41_2:FindName("MessageContent")
if mmsicon._visible then
mmsicon.onPress:disconnect(l_41_0.Handle_MMSIconOnPress, l_41_0)
mmsicon.onRelease:disconnect(l_41_0.Handle_MMSIconOnRelease, l_41_0)
mmsicon.onReleaseOutside:disconnect(l_41_0.Handle_MMSIconOnReleaseOutside, l_41_0)
end
headicon._visible = false
dottedline._visible = false
mmsicon._visible = false
messagetime._visible = false
messagecontent._visible = false
headicon = nil
dottedline = nil
mmsicon = nil
messagetime = nil
messagecontent = nil
trace("LvMessages:HandleItemDestroyed end")
end
LvMessages.CollectionReset = function(l_42_0)
trace("LvMessages:CollectionReset")
l_42_0:PrepareData()
end
LvMessages.Handle_MMSIconOnPress = function(l_43_0, l_43_1, l_43_2)
l_43_1:SetTextureRef("Icon_MMS_Dn")
end
LvMessages.Handle_MMSIconOnRelease = function(l_44_0, l_44_1, l_44_2)
l_44_1:SetTextureRef("Icon_MMS_Up")
local l_44_3 = l_44_0.PIDB:GetMailMessagingInstance(l_44_0.Messages:GetItem(l_44_1.Tag.Data))
l_44_3:ShowMessageDetail(0)
end
LvMessages.Handle_MMSIconOnReleaseOutside = function(l_45_0, l_45_1, l_45_2)
l_45_1:SetTextureRef("Icon_MMS_Up")
end
LvMessages.Destroy = function(l_46_0)
l_46_0.ListGenerator.ItemCreated:disconnect(l_46_0.HandleItemCreated, l_46_0)
l_46_0.ListGenerator.ItemDestroyed:disconnect(l_46_0.HandleItemDestroyed, l_46_0)
l_46_0.MyPic = nil
l_46_0.ContactPic = nil
end
main()
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?