📄 20.lua
字号:
CommunicationsSettings_UpdateTextToValue = function(l_16_0)
local l_16_1 = l_16_0.Namespace:FindName("DetailText")
local l_16_2 = l_16_0.Namespace:FindName("OnOffButtonComponent")
local l_16_3 = l_16_0.Tag.Data
if _config_os == "windowsmobile" then
l_16_3 = l_16_0.Tag.Data.Type
end
if l_16_2.Tag.Value then
l_16_1.String = CommunicationsSettings_MapSettingsItemUI[l_16_3].DetailTextOn
else
l_16_1.String = CommunicationsSettings_MapSettingsItemUI[l_16_3].DetailTextOff
end
end
CommunicationsSettings_HandleItemCreated = function(l_17_0, l_17_1)
FreeUnusedAssets(l_17_1, false, true, true, false, true, false, false)
local l_17_2 = l_17_1.Namespace:FindName("MainText")
local l_17_3 = l_17_1.Namespace:FindName("Icon")
local l_17_4 = l_17_1.Namespace:FindName("IconBox")
local l_17_5 = l_17_1.Namespace:FindName("TextWithDetailComponent")
local l_17_6 = l_17_1.Namespace:FindName("IconComponent")
local l_17_7 = l_17_1.Namespace:FindName("OnOffButtonComponent")
l_17_6._visible = true
l_17_7._visible = true
l_17_5.Position.x = 60
local l_17_8 = l_17_0
if _config_os == "windowsmobile" then
l_17_8 = l_17_0.Type
end
l_17_2.String = CommunicationsSettings_MapSettingsItemUI[l_17_8].Text
l_17_3:SetTextureRef(CommunicationsSettings_MapSettingsItemUI[l_17_8].Texture)
local l_17_9 = CommunicationsSettings_MapSettingsItemUI[l_17_8].IconWidth / CommunicationsSettings_MapSettingsItemUI[l_17_8].TextureWidth
local l_17_10 = CommunicationsSettings_MapSettingsItemUI[l_17_8].IconHeight / CommunicationsSettings_MapSettingsItemUI[l_17_8].TextureHeight
l_17_3.TextureCoords:set(0, 0, l_17_9, l_17_10)
l_17_3.Size.width = CommunicationsSettings_MapSettingsItemUI[l_17_8].IconWidth
l_17_3.Size.height = CommunicationsSettings_MapSettingsItemUI[l_17_8].IconHeight
l_17_3.Position.x = (l_17_4.Size.width - l_17_3.Size.width) / 2
l_17_3.Position.y = l_17_4.Position.y - (l_17_4.Size.height - l_17_3.Size.height) / 2
local l_17_11 = false
if _config_os == "windowsmobile" then
l_17_11 = CommunicationsSettings_GetRealSettingValue(l_17_0)
end
local l_17_12 = true
if _config_os == "windowsmobile" then
l_17_12 = CommunicationsSettings_Manager:GetEnabled(l_17_0.Type)
end
UpdateDisabledUI(l_17_1, not l_17_12)
if not l_17_12 then
l_17_11 = false
end
OnOffButton_Initialize(l_17_7, l_17_11)
l_17_1.Tag = {}
l_17_1.Tag.Data = l_17_0
CommunicationsSettings_MapVisibleElements[l_17_8] = l_17_1
CommunicationsSettings_UpdateTextToValue(l_17_1)
l_17_1.onKeyDown:connect(CommunicationSettings_HandleOnOffKey)
l_17_1.Focusable = true
l_17_1.OnSelected:connect(CommunicationSettings_HandleSelected)
l_17_1.OnDeselected:connect(CommunicationSettings_HandleDeselected)
l_17_1.Namespace:FindName("Selector")._visible = false
if CommunicationsSettings_HandleItemCreated_Operator ~= nil then
CommunicationsSettings_HandleItemCreated_Operator(l_17_1)
end
end
CommunicationsSettings_HandleItemDestroyed = function(l_18_0)
local l_18_1 = l_18_0.Tag.Data
if _config_os == "windowsmobile" then
l_18_1 = l_18_0.Tag.Data.Type
end
l_18_0.onKeyDown:disconnect(CommunicationSettings_HandleOnOffKey)
l_18_0.OnSelected:disconnect(CommunicationSettings_HandleSelected)
l_18_0.OnDeselected:disconnect(CommunicationSettings_HandleDeselected)
CommunicationsSettings_MapVisibleElements[l_18_1] = nil
end
CommunicationsSettings_OnFlightModeOffValueChanged = function()
trace(CommunicationsSettings_MapSettingsItemUI[SettingType_AirplaneMode].Text .. " Value Changed\n")
local l_19_0 = CommunicationsSettings_MapVisibleElements[SettingType_AirplaneMode]
CommunicationsSettings_SyncUIToRealValue(l_19_0)
end
CommunicationsSettings_OnPhoneValueChanged = function()
trace(CommunicationsSettings_MapSettingsItemUI[SettingType_Phone].Text .. " Value Changed\n")
local l_20_0 = CommunicationsSettings_MapVisibleElements[SettingType_Phone]
CommunicationsSettings_SyncUIToRealValue(l_20_0)
end
CommunicationsSettings_OnBluetoothValueChanged = function()
trace(CommunicationsSettings_MapSettingsItemUI[SettingType_Bluetooth].Text .. " Value Changed\n")
local l_21_0 = CommunicationsSettings_MapVisibleElements[SettingType_Bluetooth]
CommunicationsSettings_SyncUIToRealValue(l_21_0)
end
CommunicationsSettings_OnWiFiValueChanged = function()
trace(CommunicationsSettings_MapSettingsItemUI[SettingType_WiFi].Text .. " Value Changed\n")
local l_22_0 = CommunicationsSettings_MapVisibleElements[SettingType_WiFi]
CommunicationsSettings_SyncUIToRealValue(l_22_0)
end
CommunicationsSettings_OnDataConnectionsValueChanged = function()
trace(CommunicationsSettings_MapSettingsItemUI[SettingType_DataConnections].Text .. " Value Changed\n")
local l_23_0 = CommunicationsSettings_MapVisibleElements[SettingType_DataConnections]
CommunicationsSettings_SyncUIToRealValue(l_23_0)
end
CommunicationsSettings_OnPushMailValueChanged = function()
trace(CommunicationsSettings_MapSettingsItemUI[SettingType_MicrosoftPush].Text .. " Value Changed\n")
local l_24_0 = CommunicationsSettings_MapVisibleElements[SettingType_MicrosoftPush]
CommunicationsSettings_SyncUIToRealValue(l_24_0)
end
OnSyncTimer = function()
trace("Synchronizing\n")
SyncTimer:Stop()
local l_25_0 = nil
if CommunicationsSettings_MapSettingsItemUI[SettingType_AirplaneMode].RefreshNeeded then
l_25_0 = CommunicationsSettings_MapVisibleElements[SettingType_AirplaneMode]
CommunicationsSettings_SyncUIToRealValue(l_25_0)
end
if CommunicationsSettings_MapSettingsItemUI[SettingType_Phone].RefreshNeeded then
l_25_0 = CommunicationsSettings_MapVisibleElements[SettingType_Phone]
CommunicationsSettings_SyncUIToRealValue(l_25_0)
end
if CommunicationsSettings_MapSettingsItemUI[SettingType_WiFi].RefreshNeeded then
l_25_0 = CommunicationsSettings_MapVisibleElements[SettingType_WiFi]
CommunicationsSettings_SyncUIToRealValue(l_25_0)
end
if CommunicationsSettings_MapSettingsItemUI[SettingType_DataConnections].RefreshNeeded then
l_25_0 = CommunicationsSettings_MapVisibleElements[SettingType_DataConnections]
CommunicationsSettings_SyncUIToRealValue(l_25_0)
end
if CommunicationsSettings_MapSettingsItemUI[SettingType_Bluetooth].RefreshNeeded then
l_25_0 = CommunicationsSettings_MapVisibleElements[SettingType_Bluetooth]
CommunicationsSettings_SyncUIToRealValue(l_25_0)
end
if CommunicationsSettings_MapSettingsItemUI[SettingType_MicrosoftPush].RefreshNeeded then
l_25_0 = CommunicationsSettings_MapVisibleElements[SettingType_MicrosoftPush]
CommunicationsSettings_SyncUIToRealValue(l_25_0)
end
end
CommunicationsSettings_RegisterEventCallbacks = function()
CommunicationsSettings_MachineStatus.FlightModeOff.OnValueChanged:connect(CommunicationsSettings_OnFlightModeOffValueChanged)
CommunicationsSettings_MachineStatus.PhoneRadioOn.OnValueChanged:connect(CommunicationsSettings_OnPhoneValueChanged)
CommunicationsSettings_MachineStatus.BluetoothStatus.OnValueChanged:connect(CommunicationsSettings_OnBluetoothValueChanged)
CommunicationsSettings_MachineStatus.WifiOn.OnValueChanged:connect(CommunicationsSettings_OnWiFiValueChanged)
CommunicationsSettings_MachineStatus.DataRadioOn.OnValueChanged:connect(CommunicationsSettings_OnDataConnectionsValueChanged)
CommunicationsSettings_MachineStatus.PushMailOn.OnValueChanged:connect(CommunicationsSettings_OnPushMailValueChanged)
CommunicationsSettings_Manager.OnEnabledChanged:connect(CommunicationsSettings_OnEnabledChanged)
end
CommunicationsSettings_DoneSoftkeyCallback = function()
_application.Navigation:NavigateBack()
end
CommunicationsSettings_MenuExitCallback = function(l_28_0)
trace("Dialog Exit\n")
if l_28_0.Result.ExitType ~= DialogExitType_Cancel then
trace("Dialog UserValue: " .. l_28_0.Result.UserValue .. "\n")
if l_28_0.Result.UserValue == "Phone" then
trace("Shell out to load phone dialog\n")
if _config_os == "windowsmobile" then
Shell_NavigateTo(ShellLocation_PhoneSettings)
end
elseif l_28_0.Result.UserValue == "Bluetooth" then
trace("Shell out to load bluetooth dialog\n")
if _config_os == "windowsmobile" then
Shell_NavigateTo(ShellLocation_Bluetooth)
end
elseif l_28_0.Result.UserValue == "WiFi" then
trace("Shell out to load wifi dialog\n")
if _config_os == "windowsmobile" then
Shell_NavigateTo(ShellLocation_WiFi)
end
end
end
end
CommunicationsSettings_MenuSoftkeyCallback = function()
DialogRequest = _application.DialogManager:GetDialog(URL("Manila://Communications.dialog"))
DialogRequest.OnExit:connect(CommunicationsSettings_MenuExitCallback)
DialogRequest:Show()
end
CommunicationsPage_Create = function()
AirplaneSettingsItemUI = SettingsItemUI("[[IDS_AIRPLANEMODE]]", "[[IDS_AIRPLANE_DETAIL_ENABLE]]", "[[IDS_AIRPLANE_DETAIL]]", "icon_airplane", 64, 64, 35, 35)
PhoneSettingsItemUI = SettingsItemUI("[[IDS_PHONE]]", "[[IDS_PHONE_DETAIL]]", "[[IDS_PHONE_DETAIL_ENABLE]]", "icon_phone", 32, 64, 19, 33)
BluetoothSettingsItemUI = SettingsItemUI("[[IDS_BLUETOOTH]]", "[[IDS_BLUETOOTH_DETAIL]]", "[[IDS_BLUETOOTH_DETAIL_ENABLE]]", "icon_bluetooth", 32, 64, 24, 33)
WiFiSettingsItemUI = SettingsItemUI("[[IDS_WIFI]]", "[[IDS_WIFI_DETAIL]]", "[[IDS_WIFI_DETAIL_ENABLE]]", "icon_wifi", 32, 32, 26, 31)
DataSettingsItemUI = SettingsItemUI("[[IDS_DATACONNECTIONS]]", "[[IDS_DATACONNECTIONS_DETAIL]]", "[[IDS_DATACONNECTIONS_DETAIL_ENABLE]]", "icon_data", 32, 32, 31, 26)
PushSettingsItemUI = SettingsItemUI("[[IDS_MICROSOFTPUSH]]", "[[IDS_MICROSOFTPUSH_DETAIL]]", "[[IDS_MICROSOFTPUSH_DETAIL_ENABLE]]", "icon_push", 32, 32, 32, 31)
if _config_os == "windowsmobile" then
CommunicationsSettings_MapSettingsItemUI = {[SettingType_AirplaneMode] = AirplaneSettingsItemUI, [SettingType_Phone] = PhoneSettingsItemUI, [SettingType_Bluetooth] = BluetoothSettingsItemUI, [SettingType_WiFi] = WiFiSettingsItemUI, [SettingType_DataConnections] = DataSettingsItemUI, [SettingType_MicrosoftPush] = PushSettingsItemUI}
CommunicationsSettings_RegisterEventCallbacks()
else
CommunicationsSettings_MapSettingsItemUI = {[0] = AirplaneSettingsItemUI, [1] = PhoneSettingsItemUI, [2] = BluetoothSettingsItemUI, [3] = WiFiSettingsItemUI, [4] = PushSettingsItemUI}
end
CommunicationsSettings_ItemListLayout = TileLayout()
CommunicationsSettings_ItemListLayout.SelectionNode = Selector
CommunicationsSettings_ItemListLayout:SetItemSize(480, 72, 0)
CommunicationsSettings_ItemListLayout.DisableVirtualization = false
SettingsItemListView:SetLayout(CommunicationsSettings_ItemListLayout)
if _config_os == "windowsmobile" then
Collection = CommunicationsSettings_Manager:GetAllSettingsItems()
CommunicationsSettings_ItemListGenerator = LibraryGeneratorSettingsItem(Collection, SettingsItemListView:GetMovie(), SettingsItemListView.ComponentLibraryName, SettingsItemListView.ComponentLibraryID)
else
FakeCollection = VectorNotifyint()
for i = 0, 4 do
FakeCollection:push_back(i)
end
CommunicationsSettings_ItemListGenerator = LibraryGeneratorint(FakeCollection, SettingsItemListView:GetMovie(), SettingsItemListView.ComponentLibraryName, SettingsItemListView.ComponentLibraryID)
end
CommunicationsSettings_ItemListGenerator.RecycleItems = true
CommunicationsSettings_ItemListGenerator.ItemCreated:connect(CommunicationsSettings_HandleItemCreated)
CommunicationsSettings_ItemListGenerator.ItemDestroyed:connect(CommunicationsSettings_HandleItemDestroyed)
SettingsItemListView:SetGenerator(CommunicationsSettings_ItemListGenerator)
SettingsItemListView.onMouseDown:connect(CommunicationsSettings_HandleMouseDown)
SettingsItemListView.onMouseUp:connect(CommunicationsSettings_HandleMouseRelease)
SettingsItemListView:Focus()
if _config_os == "windowsmobile" then
_application:SetLeftSoftkey(Softkey(Locale:GetString("IDS_BACK"), CommunicationsSettings_DoneSoftkeyCallback))
_application:SetRightSoftkey(Softkey(Locale:GetString("IDS_MENU"), CommunicationsSettings_MenuSoftkeyCallback))
SyncTimer = timer(10)
SyncTimer:Stop()
SyncTimer.OnElapsed:connect(OnSyncTimer)
end
CommunicationsSettings_MachineStatus:ForceRegistrySync()
end
CommunicationsPage_Create()
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -