⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 internetportal.luac.lua

📁 htc manila 2 sourcecode
💻 LUA
📖 第 1 页 / 共 2 页
字号:
-- 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 + -