📄 peopleallscript.luac.lua
字号:
if ContactObj.offset == 0 then
trace("[peopleALL] HandleItemSelection index=" .. l_13_0 + 1)
ContactObj.ContactList:StoreOid(l_13_0 + 1)
local l_13_1 = ContactObj.ContactData:GetItem(l_13_0)
if l_13_1.From == PeopleFrom.SIM then
_application.Navigation:Navigate(URL("Manila://PeopleDetail_SIM/PeopleContact.page"), true)
else
_application.Navigation:Navigate(URL("Manila://PeopleDetail/PeopleContact.page"), true)
end
elseif l_13_0 == 0 then
ContactObj:LaunchNewContact()
elseif l_13_0 == 1 then
local l_13_1 = ContactObj.listview:GetGenerator():GetItem(l_13_0)
local infoicon = l_13_1.Namespace:FindName("InfoIcon").Position.x
if ContactObj.listview._xmouse < infoicon then
ContactObj:LaunchMyCard()
end
elseif l_13_0 > 1 then
trace("[peopleALL] HandleItemSelection index=" .. l_13_0 - 1)
ContactObj.ContactList:StoreOid(l_13_0 - 1)
local l_13_1 = ContactObj.ContactData:GetItem(l_13_0 - 2)
if l_13_1.From == PeopleFrom.SIM then
_application.Navigation:Navigate(URL("Manila://PeopleDetail_SIM/PeopleContact.page"), true)
else
_application.Navigation:Navigate(URL("Manila://PeopleDetail/PeopleContact.page"), true)
end
end
end
HandleVisibilityChanged = function()
trace("[PeopleAllGlobal] HandleVisibilityChanged")
if _application.Visibility == true and ContactObj.bUpdatedContactList then
ContactObj:FilterContactsFormSource()
end
end
HandleMyPhotoChanged = function(l_15_0)
ContactObj:SetContactPicture(ContactObj.PeopleEngine:GetMyPicture(), l_15_0)
end
HandleLetterSelected = function(l_16_0)
local l_16_1 = string.char(l_16_0 + 65)
trace("HandleLetterSelected=" .. l_16_1)
local l_16_2 = ContactObj.ContactList:GetLetterIndex(tostring(l_16_1)) + ContactObj.offset
trace("HandleLetterSelected indexJump=" .. l_16_2)
ContactObj.listview:GetLayout():JumpToIndex(l_16_2, ListAlignment_Top, ListAlignmentOptions_Snap)
end
InitLetterPicker = function()
if HandleLetterSelected ~= nil then
PeopleLetterPickerListView.Position.y = 0
PeopleLetterPickerListView.Viewport.y = 560
LetterPickerObj = LetterPicker(PeopleLetterPickerListView, PeopleScrubBar, HandleLetterSelected, CharacterDialogGroup, LetterPickerDialogChar)
LetterPickerObj:SetLetterFontSize(18)
LetterPickerObj:SetLetterHeight(18)
end
end
DeleteContact = function()
_application.Navigation:Navigate(URL("Manila://people/removepeople/removepeople.page"), true)
end
ToFilterPage = function()
_application.Navigation:Navigate(URL("Manila://people/filerbycategory/filerbycategory.page"), true)
end
MainMenuExitCallback = function(l_20_0)
if l_20_0.Result.ExitType ~= DialogExitType_Cancel then
local l_20_1 = l_20_0.Result.UserValue
if l_20_1 == "New Contact" then
ContactObj:LaunchNewContact()
elseif l_20_1 == "Delete Contact" then
DeleteContact()
elseif l_20_1 == "Filter" then
gbClearCategry = false
ToFilterPage()
elseif l_20_1 == "Import SIM Contacts" then
if CheckSIMState() then
ShowConfirmSIMImportDialog(HandleConfirmSIMImportDialogReturn)
end
elseif l_20_1 == "Save Contacts To SIM" then
if CheckSIMState() then
_application.Navigation:Navigate(URL("Manila://people/selectcontacts/selectcontacts.page"), true)
end
elseif l_20_1 == "SIM Manager" then
trace("sim manager ++++")
Shell_NavigateTo(ShellLocation_SIMManager)
elseif l_20_1 == "All" then
ContactObj.ContactList:ClearSelectedCategories()
SetPeopleAllViewSource(TFrom_All)
ContactObj:ViewAll()
ResetDisplayTitle()
elseif l_20_1 == "Contacts" then
ContactObj.ContactList:ClearSelectedCategories()
SetPeopleAllViewSource(TFrom_Device)
ContactObj:ViewContacts()
ResetDisplayTitle()
elseif l_20_1 == "SIM" then
ContactObj.ContactList:ClearSelectedCategories()
SetPeopleAllViewSource(TFrom_SIM)
ContactObj:ViewSim()
ResetDisplayTitle()
elseif l_20_1 == "New Updated" then
ContactObj.ContactList:ClearSelectedCategories()
SetPeopleAllViewSource(TFrom_Updated)
ContactObj:ViewNewUpdated()
ResetDisplayTitle()
end
end
end
MyCardOnPress = function(l_21_0)
l_21_0:SetTextureRef("MyContactCard_Down")
l_21_0.TextureCoords:set(0, 0, 0.78125, 0.78125)
Selector._visible = false
local l_21_1 = ContactObj.listview:GetGenerator():GetItem(1)
HandleItemDeselected(l_21_1)
bSelected = true
end
MyCardOnReleaseOutside = function(l_22_0)
l_22_0:SetTextureRef("MyContactCard")
l_22_0.TextureCoords:set(0, 0, 0.78125, 0.78125)
Selector._visible = true
end
MyCardOnRelease = function(l_23_0)
l_23_0:SetTextureRef("MyContactCard")
l_23_0.TextureCoords:set(0, 0, 0.78125, 0.78125)
CvCardWrapper_GetMeInformation()
if CvCardWrapper_IsExistData() then
_application.Navigation:Navigate(URL("Manila://people/peoplepickerAll/contactpickerAll.page?type=pickerAll"), true)
else
local l_23_1 = URL("Manila://Confirmation.dialog")
l_23_1.Parameters:AddParameter("Title", Locale:GetString("IDS_CHECKVCARD_TITLE"))
l_23_1.Parameters:AddParameter("ContentString", Locale:GetString("IDS_VCARD_EMPTY"))
local l_23_2 = _application.DialogManager:GetDialog(l_23_1)
l_23_2.OnExit:connect(EditMyContactCallback)
l_23_2:Show()
end
local item = ContactObj.listview:GetGenerator():GetItem(1)
HandleItemSelected(item)
Selector._visible = true
end
EditMyContactCallback = function(l_24_0)
l_24_0.OnExit:disconnect(EditMyContactCallback)
if l_24_0.Result.ExitType ~= DialogExitType_Cancel then
Shell_ContactEditor("Me")
end
end
HandleConfirmSIMImportDialogReturn = function(l_25_0)
l_25_0.OnExit:disconnect(HandleConfirmSIMImportDialogReturn)
if l_25_0.Result.ExitType ~= DialogExitType_Cancel then
local l_25_1 = ContactObj.PeopleEngine:ImportSIMPhoneBookData2Contact()
ShowSIMImportCompleteDialog(l_25_1)
end
end
BackToPeoplePage = function()
if SearchGroup._visible then
ContactObj.listview:Focus()
SearchObj:DisableInputBox()
end
_application.Navigation:NavigateBack()
end
OpenMenu = function()
if SearchGroup._visible then
ContactObj.listview:Focus()
SearchObj:DisableSearchContacts()
end
local d = _application.DialogManager:GetDialog(URL("Manila://people-all-menu.dialog?TYPE=ALL&Count=" .. ContactObj.ContactData:GetCount() .. "&CategoryCount=" .. ContactObj.ContactList:GetCategories():GetCount()))
d.OnExit:connect(MainMenuExitCallback)
d:Show()
end
OpenMenuSIM = function()
if SearchGroup._visible then
ContactObj.listview:Focus()
SearchObj:DisableSearchContacts()
end
local l_28_0 = _application.DialogManager:GetDialog(URL("Manila://people-all-menu.dialog?TYPE=ALL&Count=" .. ContactObj.ContactData:GetCount() .. "&CategoryCount=0"))
l_28_0.OnExit:connect(MainMenuExitCallback)
l_28_0:Show()
end
HandleOnSipPanelChanged = function(l_29_0)
if l_29_0 then
if Selector then
Selector._visible = false
end
LetterGroup._visible = false
else
LetterGroup._visible = true
if Selector then
Selector._visible = true
end
end
end
HandleEatsEventsCover = function(l_30_0, l_30_1)
l_30_1.value = true
trace("Eats indicator events")
end
main = function()
if _application.Store:GetStringValue(Lifetime_Permanent, "EnableLandscape") == "true" then
trace("[peopleAll] : EnableLandscape")
require("people\\PeopleAllScript_Landscape")
gbRequireLandscape = true
_PeopleAll_ScreenRotation = PeopleAll_ScreenRotation(PeopleListView, Camera2D, Camera3D, MaskAll)
end
MyFavesUtilityObj = MyFavesUtility()
bMyFavesTurnOn = MyFavesUtilityObj:IsMyFavesTurnOn()
if bMyFavesTurnOn == true then
trace("MyFaves on")
end
ContactObj = ContactControl(PeopleListView, PeopleAll_HandleItemCreated, PeopleAll_HandleItemDestroyed, PeopleAll_HandleItemSelection)
ContactObj:SetViewPort(480, 484, 0)
ContactObj:SetOffset(2)
ContactObj:SavedOffset(2)
trace("create contact ok")
GetPeopleContact()
InitLetterPicker()
SearchObj = SearchObject(ContactObj, InputBox, SearchGroup, AllPeopleGroup, LetterGroup, SearchIcon, SearchIconHitArea, SelectorFull, Selector, LetterPickerObj)
SearchObj:SetListViewPortHigh(544)
SearchObj:SetListViewPortLow(484)
SearchObj:SetLetterListViewPortHigh(560)
SearchObj:SetLetterListViewPortLow(500)
SearchObj:DisableSearchContacts()
SearchObj:SetTitleChangeFunction(ResetDisplayTitle)
SearchObj:SetLetterGroupVisibility(true)
ContactObj:SetSelectorNode(Selector)
SSelector = Selector
FSelector = SelectorFull
if SearchObj then
_application.OnSipPanelChanged:connect(HandleOnSipPanelChanged)
end
local l_31_0 = ContactObj:GetScrollPhysics()
if l_31_0 ~= nil then
l_31_0:SetBehaviorCallback(PeopleAll_ListPhysicsScrollBehaviorCallback)
end
_application.OnVisibilityChanged:connect(HandleVisibilityChanged)
_application:SetLeftSoftkey(Softkey(Locale:GetString("IDS_BACK"), BackToPeoplePage))
if GetPeopleAllViewSource() == TFrom_SIM then
_application:SetRightSoftkey(Softkey(Locale:GetString("IDS_MENU"), OpenMenuSIM))
else
_application:SetRightSoftkey(Softkey(Locale:GetString("IDS_MENU"), OpenMenu))
end
PicLoader = PicLoader_CreateInstance()
IndLoader = IndLoader_CreateInstance()
if _PeopleAll_ScreenRotation then
_PeopleAll_ScreenRotation:SetLetterObj(LetterPickerObj)
_PeopleAll_ScreenRotation:SetSearchObj(SearchObj)
_PeopleAll_ScreenRotation:OnScreenRotation()
end
sprCover.onPress:connect(HandleEatsEventsCover)
sprCover.onRelease:connect(HandleEatsEventsCover)
sprCover.onReleaseOutside:connect(HandleEatsEventsCover)
trace("main end")
end
GetPeopleContact = function()
local l_32_0 = GetPeopleAllViewSource()
if l_32_0 == TFrom_All then
ContactObj:ViewAll(true)
elseif l_32_0 == TFrom_Device then
ContactObj:ViewContacts(true)
elseif l_32_0 == TFrom_SIM then
ContactObj:ViewSim(true)
elseif l_32_0 == TFrom_Updated then
ContactObj:ViewNewUpdated(true)
else
SetPeopleAllViewSource(TFrom_All)
ContactObj:ViewAll(true)
end
ResetDisplayTitle()
end
SetPeopleAllViewSource = function(l_33_0)
_application.Store:SetIntValue(Lifetime_Permanent, "PeopleAllViewSource", l_33_0)
end
GetPeopleAllViewSource = function()
local l_34_0 = _application.Store:GetIntValue(Lifetime_Permanent, "PeopleAllViewSource")
trace("test" .. tostring(l_34_0))
return l_34_0
end
ResetDisplayTitle = function()
trace("ResetDisplayTitle start")
_application:SetRightSoftkey(Softkey(Locale:GetString("IDS_MENU"), OpenMenu))
local l_35_0 = ContactObj.ContactList:GetSelectedCategories():GetCount()
trace("categoryCount=" .. tostring(l_35_0))
if l_35_0 == 1 then
_application.Navigation.Title = ContactObj.ContactList:GetSelectedCategories():GetItem(0)
elseif l_35_0 > 1 then
_application.Navigation.Title = Locale:GetString("IDS_MUIT_CATEGORY")
else
local l_35_1 = ContactObj:GetViewSource()
if l_35_1 == TFrom_All then
_application.Navigation.Title = Locale:GetString("IDS_ALLPEO_VIEWALL")
elseif l_35_1 == TFrom_Device then
_application.Navigation.Title = Locale:GetString("IDS_ALLPEO_VIEWCONTACT")
elseif l_35_1 == TFrom_SIM then
_application.Navigation.Title = Locale:GetString("IDS_ALLPEO_VIEWSIM")
_application:SetRightSoftkey(Softkey(Locale:GetString("IDS_MENU"), OpenMenuSIM))
elseif l_35_1 == TFrom_Updated then
_application.Navigation.Title = Locale:GetString("IDS_ALLPEO_VIEWUPDATED")
end
end
trace("ResetDisplayTitle end")
end
main()
trace("load people all script end")
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -