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

📄 settingrearrangelistview.luac.lua

📁 htc manila 2 sourcecode
💻 LUA
字号:
-- Decompiled using luadec 1.0 by sztupy (http://winmo.sztupy.hu)
-- Command line was: -l2 ;;;5;;4,10,16,42,43;4;8,9,12,88,132;2;8;4,8; 40b75be6_manila.luac 

trace("SettingReArrangeListView is loading.")
require("scrollphysics")
require("machine_status_svc")
require("CheckboxControl")
ItemSizeWidth = 480
ItemSizeHeight = 80
LVPositionX = -240
LVPositionY = 288
LVWidth = 480
LVHeight = 636
StartMovedIndex = nil
EndMovedIndex = nil
CenterY = 400
MovingObjPosDiffY = -5
NumItemsInOnePage = 8
UpLimit = 80
DownLimit = 720
FakeMovingObjHitArea._visible = false
g_bRearrangeFlag = false
if MachineStatus().HomeRSKPath.Value == "" then
   HomeRskPath = "Manila://programs.page"
else
   HomeRskPath = MachineStatus().HomeRSKPath.Value
end
ReArrangePages = class()
ReArrangePages.__init = function(l_1_0, l_1_1, l_1_2, l_1_3, l_1_4)
   l_1_0.ListView = l_1_1
   l_1_0.Selector = l_1_3
   l_1_0.ConfiguredManager = l_1_2
   l_1_0.MovingObj = l_1_4
   l_1_0.CurrentOffset = 0
   l_1_0.MaxOffset = 0
   g_bRearrangeFlag = false
   l_1_0.CheckBoxArray = {}
   collection = l_1_0.ConfiguredManager:GetConfiguredItemList()
   l_1_0:InitialLayout()
   l_1_0:Generate()
   l_1_0._request = _request
   l_1_0._request.NavigateOutTo:connect(l_1_0.Destroy, l_1_0)
   l_1_0.ListView.onMouseDown:connect(l_1_0.OnMouseDown, l_1_0)
   l_1_0.ListView.onMouseUp:connect(l_1_0.OnMouseUp, l_1_0)
   l_1_0.ListView.onMouseMove:connect(l_1_0.OnMouseMove, l_1_0)
   l_1_0.ConfiguredManager.OnItemMoved:connect(l_1_0.Generate, l_1_0)
end

ReArrangePages.Destroy = function(l_2_0)
   l_2_0.ListView.onMouseDown:disconnect(l_2_0.OnMouseDown, l_2_0)
   l_2_0.ListView.onMouseUp:disconnect(l_2_0.OnMouseUp, l_2_0)
   l_2_0.ListView.onMouseMove:disconnect(l_2_0.OnMouseMove, l_2_0)
   l_2_0.ConfiguredManager.OnItemMoved:disconnect(l_2_0.Generate, l_2_0)
end

ReArrangePages.InitialLayout = function(l_3_0)
   trace("[ReArrangePages] InitialLayout")
   local l_3_1 = TileLayout()
   l_3_1:SetItemSize(ItemSizeWidth, ItemSizeHeight, 0)
   l_3_1.DisableScrollClamping = true
   l_3_1.BringSelectedIntoView = false
   l_3_1:DisableMomentum()
   l_3_1.DisableVirtualization = true
   l_3_1.SelectionNode = l_3_0.Selector
   l_3_0.ListView:SetLayout(l_3_1)
   l_3_0.ListView.Position.x = LVPositionX
   l_3_0.ListView.Position.y = LVPositionY
   l_3_0.ListView.Viewport.x = LVWidth
   l_3_0.ListView.Viewport.y = LVHeight
end

ReArrangePages.Generate = function(l_4_0)
   trace("[ReArrangePages] Generate")
   trace("[SettingReArrangeListview] : count = " .. collection:GetCount())
   ItemListGenerator = LibraryGeneratorConfiguredData(collection, l_4_0.ListView:GetMovie(), l_4_0.ListView.ComponentLibraryName, l_4_0.ListView.ComponentLibraryID)
   ItemListGenerator.ItemCreated:connect(l_4_0.ItemCreated, l_4_0)
   ItemListGenerator.ItemDestroyed:connect(l_4_0.ItemDestroyed, l_4_0)
   l_4_0.ListView:SetGenerator(ItemListGenerator)
   l_4_0.CurrentOffset = 0
   l_4_0.Scrollable_UP = true
   l_4_0.Scrollable_DOWN = true
   if ListPhysics then
      ListPhysics:DisconnectMouseEvents()
      ListPhysics = nil
   end
   if ListPhysics == nil then
      ListPhysics = ScrollPhysics(l_4_0.ListView, l_4_0.ListView, ReArrangePages.HandleListSelection)
      ListPhysics:ConnectMouseEvents()
   end
end

ReArrangePages.ItemCreated = function(l_5_0, l_5_1, l_5_2)
   local l_5_3 = l_5_2.Namespace:FindName("TabText")
   l_5_3.String = l_5_1.strTitle
   local l_5_4 = l_5_2.Namespace:FindName("TabIcon")
   trace("Page Name: " .. l_5_1.strPageName)
   local l_5_5 = nil
   l_5_5 = string.gsub(l_5_1.strPageName, "Manila://", "")
   trace("tempIconPath: " .. l_5_5)
   l_5_4:SetTexture("\\windows\\HTC\\Assets\\Images\\rearrange\\" .. l_5_5 .. ".qtc")
   l_5_1.strIconPath = l_5_5 .. ".qtc"
   local l_5_6 = l_5_2.Namespace:FindName("CheckboxComponent")
   local l_5_7 = false
   local l_5_8 = l_5_2.Namespace:FindName("CheckboxHitArea")
   l_5_8.Tag = l_5_1
   if l_5_1.strPageName == "Manila://home.page" or l_5_1.strPageName == "Manila://settings.page" or l_5_1.strPageName == HomeRskPath then
      l_5_6._visible = false
      l_5_6.Duration = 0
   else
      InitializeCheckbox(l_5_6, l_5_1.nEnable == 1)
      l_5_8.onRelease:connect(l_5_0.OnCheckBoxRelease, l_5_0)
   end
   local itnum = ItemListGenerator:GetIndexForItem(l_5_2)
   l_5_0.CheckBoxArray[itnum] = l_5_1.nEnable
end

ReArrangePages.ItemDestroyed = function(l_6_0, l_6_1)
   local l_6_2 = l_6_1.Namespace:FindName("CheckboxHitArea")
   l_6_2.onRelease:disconnect(l_6_0.OnCheckBoxRelease, l_6_0)
end

ReArrangePages.OnMouseDown = function(l_7_0, l_7_1)
   trace("[ReArrangePages] OnMouseDown")
   local l_7_2 = l_7_0.ListView:GetIndexAtMousePoint(l_7_1._xmouse, l_7_1._ymouse)
   local l_7_3 = collection
   local l_7_4 = l_7_3:GetItem(l_7_2)
   selected_page = l_7_4.strPageName
   selected_title = l_7_4.strTitle
   selected_enable = l_7_4.nEnable
   selected_icon = l_7_4.strIconPath
   trace("Index: " .. tostring(l_7_2) .. ", Icon: " .. selected_icon .. ", Title: " .. selected_title .. ", Eable: " .. tostring(selected_enable))
   if l_7_1._xmouse > 70 then
      trace("mouse down end")
      return 
   end
   if l_7_2 < 0 or selected_page == "Manila://home.page" then
      trace("mouse down end")
      return 
   end
   StartMovedIndex = l_7_2
   trace("selected_icon: " .. selected_icon)
   FakeMovingTabIcon:SetTexture("\\windows\\HTC\\Assets\\Images\\rearrange\\" .. selected_icon)
   FakeMovingText.String = selected_title
   trace("selected_page:" .. selected_page)
   if selected_page == "Manila://settings.page" or selected_page == HomeRskPath then
      FakeMovingCheckbox._visible = false
   else
      FakeMovingCheckbox._visible = true
   end
   local l_7_5 = FakeMovingCheckbox.Namespace:FindName("CheckboxComponent")
   if selected_enable == 1 then
      InitializeCheckbox(FakeMovingCheckbox, true)
   else
      InitializeCheckbox(FakeMovingCheckbox, true)
   end
   l_7_0.MovingObj.Position.x = l_7_0.ListView.Position.x
   l_7_0.MovingObj.Position.y = -l_7_0.ListView._ymouse + MovingObjPosDiffY + CenterY
   l_7_0.MovingObj._visible = true
   FakeMovingObjHitArea._visible = true
   ControlListViewGroup._visible = true
   ListPhysics:DisconnectMouseEvents()
   local l_7_6 = l_7_0.ListView:GetGenerator():GetCount() - NumItemsInOnePage
   if l_7_6 > 0 then
      l_7_0.MaxOffset = l_7_6 * ItemSizeHeight + NumItemsInOnePage
   else
      l_7_0.MaxOffset = 0
   end
   l_7_0.CurrentOffset = l_7_0.ListView:GetVerticalScrollOffset()
   ConfigListView.Opacity.value = 50
   trace("mouse down end")
end

ReArrangePages.OnMouseMove = function(l_8_0, l_8_1)
   local l_8_2 = FakeMovingObjHitArea._visible
   if l_8_2 == true then
      l_8_2 = l_8_1._ymouse
      if l_8_2 < UpLimit then
         return 
      end
      l_8_2 = l_8_1._ymouse
      if DownLimit < l_8_2 then
         return 
      end
      l_8_2 = l_8_0.MovingObj
      l_8_2 = l_8_2.Position
      l_8_2.y = -l_8_1._ymouse + MovingObjPosDiffY + CenterY
   end
end

ReArrangePages.OnMouseUp = function(l_9_0, l_9_1)
   trace("[ReArrangePages] OnMouseUp")
   local l_9_2 = l_9_0.ListView:GetIndexAtMousePoint(l_9_1._xmouse, l_9_1._ymouse)
   if l_9_2 == 0 then
      l_9_2 = 1
   end
   if l_9_1._ymouse <= 60 and l_9_1._ymouse > 0 then
      l_9_2 = 1
   end
   EndMovedIndex = l_9_2
   if not FakeMovingObjHitArea._visible then
      trace("[ReArrangePages] Fake Obj visible false")
      EndMovedIndex = nil
      StartMovedIndex = nil
   else
      if StartMovedIndex == EndMovedIndex then
         trace("[ReArrangePages] StartMovedIndex == EndMovedIndex")
         EndMovedIndex = nil
         StartMovedIndex = nil
         ListPhysics:ConnectMouseEvents()
      end
   end
   l_9_0.StartMovedIndex = StartMovedIndex
   l_9_0.EndMovedIndex = EndMovedIndex
   if l_9_0.StartMovedIndex ~= nil and l_9_0.EndMovedIndex ~= nil then
      trace("[ReArrangePages] MoveItem")
      l_9_0.ConfiguredManager:MoveItem(l_9_0.StartMovedIndex, l_9_0.EndMovedIndex)
      g_bRearrangeFlag = true
   end
   l_9_0.MovingObj._visible = true
   FakeMovingObjHitArea._visible = false
   ControlListViewGroup._visible = false
   ConfigListView.Opacity.value = 100
   l_9_0.StartMovedIndex = nil
   l_9_0.EndMovedIndex = nil
end

ReArrangePages.OnCheckBoxRelease = function(l_10_0, l_10_1)
   local l_10_2 = l_10_1.Namespace:FindName("CheckboxHitArea")
   local l_10_3 = l_10_1.Namespace:FindName("CheckboxComponent")
   ToggleCheckbox(l_10_3)
   l_10_2.Tag.nEnable = l_10_3.Tag.Value and 1 or 0
end


⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -