📄 internetportal.luac.lua
字号:
-- Decompiled using luadec 0.6 by sztupy (http://winmo.sztupy.hu)
-- Command line was: -l ;;;;;;;;;;;;;;;;;0,0,0,3;0,14,71;;;;;;;0,2,9,12;;0,15;;0,0,9;0,0,13,31,34,37,38,38,38;;0,17,22,25;0,8,13,16;;0,3;;;;0,7;;;;5,6,7;5,14,23;; 3fb3a68c_manila.luac
require("class")
require("scrollphysics")
require("internetpush_svc")
require("io_svc")
require("machine_status_svc")
require("theme")
InternetPortalSearchLocations = {{Locale = true, Path = "\\Application Data\\Manila\\InternetPortal-%s.xml"}, {Locale = false, Path = "\\Application Data\\Manila\\InternetPortal.xml"}, {Locale = true, Path = "\\Windows\\HTC\\InternetPortal-%s.xml"}, {Locale = false, Path = "\\Windows\\HTC\\InternetPortal.xml"}}
OperaUserDataRoot = "\\Windows\\Opera9"
OperaImagesRoot = OperaUserDataRoot .. "\\Images"
OperaFavoritesFilePath = OperaUserDataRoot .. "\\opera6.adr"
OperaLaunchFavoriteUIArg = "/Bookmarks"
OperaLaunchHomeArg = "/home"
BaseHeaderHeight = 64
MaxFavoritesListLength = 25
DownloadStatusControl = class()
DownloadStatusControl.__init = function(l_1_0, l_1_1, l_1_2)
l_1_0._Object = l_1_1
l_1_0._icon = l_1_2
l_1_0._Object.DownloadStatus.OnValueChanged:connect(l_1_0.UpdateStatusIcon, l_1_0)
l_1_0:UpdateStatusIcon()
end
DownloadStatusControl.UpdateStatusIcon = function(l_2_0)
if l_2_0._Object.DownloadStatus.Value == 0 then
l_2_0._icon._visible = false
else
if l_2_0._Object.DownloadStatus.Value == 1 then
l_2_0._icon._visible = true
l_2_0._icon:SetTextureRef("download_load")
else
l_2_0._icon._visible = true
l_2_0._icon:SetTextureRef("download_read")
end
end
end
DownloadStatusControl.Destroy = function(l_3_0)
trace("++++++++++++[DownloadStatusControl] : Destroy")
l_3_0._Object.DownloadStatus.OnValueChanged:disconnect(l_3_0.UpdateStatusIcon, l_3_0)
end
BannerComponentHelperClass = class()
OrigTextGroupPositionInited = false
OrigTextGroupPosition = 0
FavoriteLoader = OperaFavoriteLoader(OperaFavoritesFilePath)
BannerComponentHelperClass.SearchIcon_onPress = function(l_4_0, l_4_1, l_4_2)
trace("SearchIcon_onPress")
l_4_1:SetTextureRef("search_dn")
l_4_2.value = true
end
BannerComponentHelperClass.SearchIcon_onRelease = function(l_5_0, l_5_1, l_5_2)
trace("SearchIcon_onRelease")
l_5_1:SetTextureRef("search_up")
_application.Navigation:Navigate(URL("Manila://googlesearch/googlesearch.page"), true)
l_5_2.value = true
end
BannerComponentHelperClass.SearchIcon_onReleaseOutside = function(l_6_0, l_6_1, l_6_2)
l_6_1:SetTextureRef("search_up")
trace("SearchIcon_onReleaseOutside")
end
BannerComponentHelperClass.UpdateNowIconRotation = function(l_7_0)
l_7_0.UpdateNowIconElement.Rotation.z = (l_7_0.UpdateNowIconElement.Rotation.z - 10) % 360
end
BannerComponentHelperClass.CheckUpdateNowIcon = function(l_8_0)
l_8_0.UpdateNowIconElement.onUpdate:disconnect(l_8_0.UpdateNowIconRotation, l_8_0)
if _InternetSetUtil.User_Action.Value == 0 and _InternetSetUtil.Update_Status.Value == 0 then
l_8_0.UpdateNowIconElement:SetTextureRef("UpdateNow_enable")
l_8_0.UpdateNowIconElement.Rotation.z = 0
else
if _InternetSetUtil.User_Action.Value == 1 and _InternetSetUtil.Update_Status.Value == 0 then
l_8_0.UpdateNowIconElement:SetTextureRef("UpdateNow_disable")
l_8_0.UpdateNowIconElement.Rotation.z = 0
else
if _InternetSetUtil.User_Action.Value == 2 and _InternetSetUtil.Update_Status.Value == 0 then
l_8_0.UpdateNowIconElement:SetTextureRef("UpdateNow_enable")
l_8_0.UpdateNowIconElement.Rotation.z = 0
else
if _InternetSetUtil.User_Action.Value == 0 and _InternetSetUtil.Update_Status.Value == 1 then
l_8_0.UpdateNowIconElement:SetTextureRef("UpdateNow_rotation")
l_8_0.UpdateNowIconElement.onUpdate:connect(l_8_0.UpdateNowIconRotation, l_8_0)
else
if _InternetSetUtil.User_Action.Value == 1 and _InternetSetUtil.Update_Status.Value == 1 then
l_8_0.UpdateNowIconElement:SetTextureRef("UpdateNow_rotation")
l_8_0.UpdateNowIconElement.onUpdate:connect(l_8_0.UpdateNowIconRotation, l_8_0)
else
if _InternetSetUtil.User_Action.Value == 2 and _InternetSetUtil.Update_Status.Value == 1 then
l_8_0.UpdateNowIconElement:SetTextureRef("UpdateNow_disable")
l_8_0.UpdateNowIconElement.Rotation.z = 0
end
end
end
end
end
end
end
BannerComponentHelperClass.UpdateNowIcon_onPress = function(l_9_0, l_9_1, l_9_2)
trace("ReloadIcon_onPress")
l_9_0.UpdateNowIconElement.onUpdate:disconnect(l_9_0.UpdateNowIconRotation, l_9_0)
if _InternetSetUtil.User_Action.Value == 0 and _InternetSetUtil.Update_Status.Value == 0 then
l_9_0.UpdateNowIconElement.Rotation.z = 0
l_9_1:SetTextureRef("UpdateNow_pressed")
else
if _InternetSetUtil.User_Action.Value == 2 and _InternetSetUtil.Update_Status.Value == 0 then
l_9_0.UpdateNowIconElement.Rotation.z = 0
l_9_1:SetTextureRef("UpdateNow_pressed")
else
if _InternetSetUtil.User_Action.Value == 0 and _InternetSetUtil.Update_Status.Value == 1 then
l_9_0.UpdateNowIconElement.Rotation.z = 0
l_9_1:SetTextureRef("UpdateNow_pressed")
else
if _InternetSetUtil.User_Action.Value == 1 and _InternetSetUtil.Update_Status.Value == 1 then
l_9_0.UpdateNowIconElement.Rotation.z = 0
l_9_1:SetTextureRef("UpdateNow_pressed")
end
end
end
end
l_9_2.value = true
end
BannerComponentHelperClass.UpdateNowIcon_onRelease = function(l_10_0, l_10_1, l_10_2)
if _InternetSetUtil.User_Action.Value == 0 and _InternetSetUtil.Update_Status.Value == 0 then
_InternetSetUtil.User_Action.Value = 1
else
if _InternetSetUtil.User_Action.Value == 2 and _InternetSetUtil.Update_Status.Value == 0 then
_InternetSetUtil.User_Action.Value = 1
else
if _InternetSetUtil.User_Action.Value == 0 and _InternetSetUtil.Update_Status.Value == 1 then
_InternetSetUtil.User_Action.Value = 2
else
if _InternetSetUtil.User_Action.Value == 1 and _InternetSetUtil.Update_Status.Value == 1 then
_InternetSetUtil.User_Action.Value = 2
end
end
end
end
l_10_0:CheckUpdateNowIcon()
l_10_2.value = true
end
BannerComponentHelperClass.UpdateNowIcon_onReleaseOutside = function(l_11_0, l_11_1, l_11_2)
l_11_0:CheckUpdateNowIcon()
trace("ReloadIcon_onReleaseOutside")
l_11_2.value = true
end
BannerComponentHelperClass.ResetTimer = function(l_12_0)
trace("[Timer]self.TimeElapsed...\n")
l_12_0.TimeElapsed = false
end
BannerComponentHelperClass.StartTimer = function(l_13_0)
l_13_0.TimeElapsed = false
if l_13_0.Timer == nil then
trace("[Timer]timer(4)...\n")
l_13_0.Timer = timer(4)
l_13_0.Timer.OnElapsed:connect(l_13_0.OnTimeElapsed, l_13_0)
else
trace("[Timer]Timer:Start...\n")
l_13_0.Timer:Start()
end
end
BannerComponentHelperClass.OnTimeElapsed = function(l_14_0, l_14_1)
trace("[Timer]OnTimeElapsed...\n")
l_14_0.Timer:Stop()
l_14_0.TimeElapsed = true
l_14_0:CheckUpdateStatus()
end
BannerComponentHelperClass.CheckUpdateStatus = function(l_15_0)
trace("[Timer]CheckUpdateStatus...\n")
if l_15_0.TimeElapsed == true then
trace("[Timer]TimeElapsed == true...\n")
l_15_0:ResetTimer()
end
end
BannerComponentHelperClass.DoRotationAnimation = function(l_16_0)
trace("[BannerComponentHelperClass] DoRotationAnimation")
l_16_0.UpdatedCancel_en.Rotation.x = 0
l_16_0.UpdatedCancel_en.Rotation:Interpolate(Vector3(0, l_16_0.UpdatedCancel_en.Rotation.y, l_16_0.UpdatedCancel_en.Rotation.z), Vector3(90, l_16_0.UpdatedCancel_en.Rotation.y, l_16_0.UpdatedCancel_en.Rotation.z), 5, 0, Interpolate_Linear, nil)
end
BannerComponentHelperClass.__init = function(l_17_0, l_17_1, l_17_2)
l_17_0.BannerAttribs = l_17_2
l_17_0.UIElement = l_17_1
local l_17_3 = l_17_1.Namespace
l_17_0.TextElement = l_17_3:FindName("Text")
l_17_0.UrlElement = l_17_3:FindName("Url")
if SetBannerUrlVisible then
SetBannerUrlVisible(l_17_0.UrlElement)
end
l_17_0.ImageElement = l_17_3:FindName("Image")
l_17_0.SelectedImageElement = l_17_3:FindName("SelectedImage")
l_17_0.SearchImageElement = l_17_3:FindName("SearchIcon")
l_17_0.UpdateNowIconElement = l_17_3:FindName("UpdateNowIcon")
l_17_0.Timer = nil
l_17_0.TimeElapsed = true
l_17_0.TextGroup = l_17_3:FindName("TextGroup")
if OrigTextGroupPositionInited == false then
OrigTextGroupPositionInited = true
OrigTextGroupPosition = l_17_0.TextGroup.Position.y
end
l_17_0.SearchImageElement.onPress:connect(l_17_0.SearchIcon_onPress, l_17_0)
l_17_0.SearchImageElement.onRelease:connect(l_17_0.SearchIcon_onRelease, l_17_0)
l_17_0.SearchImageElement.onReleaseOutside:connect(l_17_0.SearchIcon_onReleaseOutside, l_17_0)
l_17_0.UpdateNowIconElement.onPress:connect(l_17_0.UpdateNowIcon_onPress, l_17_0)
l_17_0.UpdateNowIconElement.onRelease:connect(l_17_0.UpdateNowIcon_onRelease, l_17_0)
l_17_0.UpdateNowIconElement.onReleaseOutside:connect(l_17_0.UpdateNowIcon_onReleaseOutside, l_17_0)
_InternetSetUtil.User_Action.OnValueChanged:connect(l_17_0.CheckUpdateNowIcon, l_17_0)
_InternetSetUtil.Update_Status.OnValueChanged:connect(l_17_0.CheckUpdateNowIcon, l_17_0)
end
BannerComponentHelperClass.Load = function(l_18_0)
if l_18_0.SelectedImageElement:IsTextureSet() == false or l_18_0.ImageElement:IsTextureSet() == false then
trace("Current banner element textures are not set. Reloading the banner images\n")
local l_18_1 = l_18_0.BannerAttribs
if l_18_1.Width > MainCamera.Viewport.width then
local l2 = (MainCamera.Viewport.Width / l_18_1.Width)
l_18_1.Width = MainCamera.Viewport.width
l_18_1.Height = l_18_1.Height * l2
end
if l_18_1.Text ~= nil then
l_18_0.TextElement.String = l_18_1.Text
else
l_18_0.TextElement.String = Locale:GetString("IDS_LAUNCHBROWSER")
end
if l_18_1.NavigateUrl ~= nil then
l_18_0.UrlElement.String = WebURL(l_18_1.NavigateUrl):GetServer()
else
l_18_0.UrlElement.String = ""
end
l_18_0.TextGroup.Position.y = OrigTextGroupPosition - l_18_1.Height
local l_18_2 = (MainCamera.Viewport.width - l_18_0.BannerAttribs.Width) / 2
l_18_0.ImageElement.Opacity.value = 0
l_18_0.ImageElement.Position.x = l_18_2
l_18_0.ImageElement.Size.width = l_18_0.BannerAttribs.Width
l_18_0.ImageElement.Size.height = l_18_0.BannerAttribs.Height
l_18_0.SelectedImageElement.Opacity.value = 0
l_18_0.SelectedImageElement.Position.x = l_18_2
l_18_0.SelectedImageElement.Size.width = l_18_0.BannerAttribs.Width
l_18_0.SelectedImageElement.Size.height = l_18_0.BannerAttribs.Height
l_18_0.ImageLoader = AsyncImageLoader()
l_18_0.ImageLoader.Priority = TaskPriority_Normal
l_18_0.ImageLoader.OnComplete:connect(l_18_0.HandleImageLoaded, l_18_0)
if l_18_0.BannerAttribs.SelectedImagePath ~= nil then
l_18_0.ImageLoader:BeginLoadFile(l_18_0.BannerAttribs.SelectedImagePath, true)
else
l_18_0.ImageLoader:BeginLoadFile(l_18_0.BannerAttribs.DefaultImagePath, true)
end
end
end
BannerComponentHelperClass.HandleImageLoaded = function(l_19_0, l_19_1, l_19_2)
if l_19_0.SelectedImageLoadComplete ~= true then
if l_19_2 == 1 then
l_19_0.SelectedImageElement:SetTexture(l_19_0.ImageLoader.Image)
if l_19_0.UIElement:HasFocus() then
l_19_0.SelectedImageElement.Opacity:Interpolate(0, 100, 0, 0, Interpolate_EaseOutQuad)
end
end
l_19_0.SelectedImageLoadComplete = true
if l_19_0.BannerAttribs.SelectedImagePath ~= nil then
l_19_0.ImageLoader:BeginLoadFile(l_19_0.BannerAttribs.DefaultImagePath, true)
else
l_19_0:HandleImageLoaded(l_19_1, l_19_2)
end
else
if l_19_2 == 1 then
l_19_0.ImageElement:SetTexture(l_19_0.ImageLoader.Image)
if not l_19_0.UIElement:HasFocus() then
l_19_0.ImageElement.Opacity:Interpolate(0, 100, 0, 0, Interpolate_EaseOutQuad)
end
end
l_19_0.ImageLoader = nil
collectgarbage("collect")
end
end
BannerComponentHelperClass.HandleSelected = function(l_20_0)
l_20_0.SelectedImageElement.Opacity.value = 100
l_20_0.ImageElement.Opacity.value = 0
trace("BannerComponentHelperClass : HandleSelected\n")
DisableSelectorTimer:Stop()
DisableSelectorTimer:Start()
end
BannerComponentHelperClass.HandleDeselected = function(l_21_0)
l_21_0.SelectedImageElement.Opacity.value = 0
l_21_0.ImageElement.Opacity.value = 100
end
BannerComponentHelperClass.HandleKeyPress = function(l_22_0, l_22_1, l_22_2)
trace("BannerComponentHelperClass : HandleKeyPress \n ")
if l_22_2.Code == KeyCode_Return or l_22_2.Code == KeyCode_Space then
if InternetPortalData.Banner._attribs.NavigateUrl == nil then
LaunchBrowser(OperaLaunchHomeArg)
else
LaunchBrowser(InternetPortalData.Banner._attribs.NavigateUrl)
end
else
DisableSelectorTimer:Stop()
DisableSelectorTimer:Start()
end
end
ListImageLoaderClass = class()
ListImageLoaderClass.__init = function(l_23_0)
l_23_0.Queue = {}
l_23_0.Last = 0
l_23_0.Current = 0
l_23_0.AsyncLoader = AsyncImageLoader()
l_23_0.AsyncLoader.Priority = TaskPriority_Normal
l_23_0.AsyncLoader.OnComplete:connect(l_23_0.HandleLoadComplete, l_23_0)
end
ListImageLoaderClass.AddImage = function(l_24_0, l_24_1, l_24_2)
l_24_0.Last = l_24_0.Last + 1
l_24_0.Queue[l_24_0.Last] = {Element = l_24_1, Data = l_24_2}
if l_24_0.Queue[l_24_0.Current] == nil then
l_24_0:LoadNextImage()
end
end
ListImageLoaderClass.LoadNextImage = function(l_25_0)
local l1 = l_25_0.Current + 1
while l1 <= l_25_0.Last do
l_25_0.Current = l1
local l_25_2 = l_25_0.Queue[l_25_0.Current]
if l_25_2 ~= nil then
local l_25_3 = l_25_2.Data
if l_25_3.IsRealized == true then
l_25_0.AsyncLoader:BeginLoadFile(l_25_3.ImagePath, true)
return
else
l_25_0.Queue[l_25_0.Current] = nil
end
end
l1 = l1+1
end
end
ListImageLoaderClass.HandleLoadComplete = function(l_26_0, l_26_1, l_26_2)
if l_26_2 == 1 then
local l_26_3 = l_26_0.Queue[l_26_0.Current]
if l_26_3.Data.IsRealized then
l_26_3.Element:SetTexture(l_26_1.Image)
end
end
l_26_0.Queue[l_26_0.Current] = nil
l_26_0:LoadNextImage()
end
InternetPush_OnValeChanged = function(l_27_0)
trace("InternetPush_OnValeChanged: Type=" .. tostring(l_27_0) .. "\n")
local l_27_1 = BannerComponentHelperClass(UIMap.Header, InternetPortalData.Banner._attribs)
l_27_1:UpdateNewIcon()
trace("UpdateNewIcon...\n")
end
InternetPush_RegisterEventCallbacks = function()
FavoriteLoader.OnEnabledChanged:connect(InternetPush_OnValeChanged)
end
HandleHeaderCreated = function(l_29_0, l_29_1)
trace("Creating header item...\n")
local l_29_2 = BannerComponentHelperClass(l_29_1, InternetPortalData.Banner._attribs)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -