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

📄 alarmedit.luac.lua

📁 htc manila 2 sourcecode
💻 LUA
字号:
-- Decompiled using luadec 0.6 by sztupy (http://winmo.sztupy.hu)
-- Command line was: -l ;;12,14;;;;;;;0,192;;;0,0,4,8;0,5;0,4,8;;;;;1,2;;0,6,9,12,15,16,47;; 11b8059d_manila.luac 

trace("Alarm Edit")
require("scrollphysics")
require("machine_status_svc")
require("OnOffButtonControl")
require("worldclock_svc")
require("transitions")
require("./WorldClock/TimeComponentUI")
FALSE = 0
TRUE = 1
IDOK = 1000
IDCANCEL = 1001
gMachineStatus = MachineStatus()
Now = gMachineStatus.CurrentTime.Value
RepeatWeekDay = {[0] = "S", [1] = "M", [2] = "T", [3] = "W", [4] = "T", [5] = "F", [6] = "S"}
FlagBitsToNumber = function()
   local l_1_0 = 0
   local l_1_1 = 1
   for i = 0, 6 do
      if Flag[i] then
         l_1_0 = l_1_0 + l_1_1
      end
      l_1_1 = l_1_1 * 2
   end
   return l_1_0
end

OnLeftSoftKeyPress = function()
   Pa_Repeat = FlagBitsToNumber()
   Pa_Description = InputBox.WindowText
   Pa_Hour = TimePicker_Hour
   Pa_Minute = TimePicker_Minute
   local l_2_0 = WorldClockManager()
   local l_2_1 = l_2_0:GetAlarms()
   if Pa_Index == -1 then
      NewAlarm = AlarmItem()
      NewAlarm.Enabled = Pa_Enable
      NewAlarm.AlarmTime:SetHour(Pa_Hour)
      NewAlarm.AlarmTime:SetMinute(Pa_Minute)
      NewAlarm.Description = Pa_Description
      NewAlarm.Days = Pa_Repeat
      NewAlarm.RingtoneName = Pa_RingtoneName
      NewAlarm.RingtoneFile = Pa_RingtoneFile
      NewAlarm.Vibration = Pa_Vibrate
      l_2_1:AddItem(NewAlarm)
   else
      AlarmData = l_2_1:GetItem(Pa_Index)
      AlarmData.Enabled = Pa_Enable
      AlarmData.AlarmTime:SetHour(Pa_Hour)
      AlarmData.AlarmTime:SetMinute(Pa_Minute)
      AlarmData.Description = Pa_Description
      AlarmData.Days = Pa_Repeat
      AlarmData.RingtoneName = Pa_RingtoneName
      AlarmData.RingtoneFile = Pa_RingtoneFile
      AlarmData.Vibration = Pa_Vibrate
   end
   l_2_0:SetAlarms(l_2_1)
   AlarmEditForm_CleanStoreMemory()
   _application.Navigation:NavigateBack()
end

OnRightSoftKeyPress = function()
   AlarmEditForm_CleanStoreMemory()
   _application.Navigation:NavigateBack()
end

AlarmEditForm_init = function()
   _application:SetLeftSoftkey(Softkey(Locale:GetString("IDS_DONE"), OnLeftSoftKeyPress))
   _application:SetRightSoftkey(Softkey(Locale:GetString("IDS_CANCEL"), OnRightSoftKeyPress))
   SipFlag = false
   _request.NavigateInFrom:connect(AlarmEditForm_OnNavigateIn)
   _request.NavigateOutTo:connect(AlarmEditForm_OnNavigateOut)
end

AlarmEditForm_OnNavigateIn = function(l_5_0)
   trace("function AlarmEditForm_OnNavigateIn(ObjSelf)")
   AlarmEditForm_FakeCollection = VectorNotifyint()
   AlarmEditForm_FakeCollection:push_back(0)
   AlarmEditForm_SetInitValue(AlarmEditComp)
   _application.OnSipPanelChanged:connect(OnSipEvent)
   AlarmVibrateSender.String = Locale:GetString("IDS_VIBRATE")
   AlarmRingtoneSender.String = Locale:GetString("IDS_RINGTONE")
   AlarmVibrateHitArea.onRelease:connect(VibrateOnRelease)
   AlarmRingtoneHitArea.onRelease:connect(RingtoneOnRelease)
   DescriptionHitArea.onPress:connect(DescriptionOnPress)
   InputBox.onFocusOut:connect(DescriptionOnFocusOut)
   TimeUI_ConnectTimeUI()
   if _application.Store:GetStringValue(Lifetime_Permanent, "EnableLandscape") == "true" then
      trace("[AlarmView] : EnableLandscape")
      require("WorldClock\\AlarmEdit_Landscape")
      AlarmEdit_Landscape = AlarmEdit_ScreenRotation(Camera2D_AlarmEdit, AlarmEdit_Mask, RepeatListView, AlarmEditGroup)
   end
   Transition(l_5_0, "In")
end

AlarmEditForm_OnItemCreated = function(l_6_0, l_6_1)
end

AlarmEditForm_OnItemDestroyed = function(l_7_0)
end

AlarmEditForm_OnNavigateOut = function(l_8_0)
   _application.OnSipPanelChanged:disconnect(OnSipEvent)
   AlarmVibrateHitArea.onRelease:disconnect(VibrateOnRelease)
   AlarmRingtoneHitArea.onRelease:disconnect(RingtoneOnRelease)
   DescriptionHitArea.onPress:disconnect(DescriptionOnPress)
   InputBox.onFocusOut:disconnect(DescriptionOnFocusOut)
   AlarmEditSprite:Focus()
   TimeUI_DisconnectTimeUI()
   _request.NavigateInFrom:disconnect(AlarmEditForm_OnNavigateIn)
   _request.NavigateOutTo:disconnect(AlarmEditForm_OnNavigateOut)
   InputBox:SetShowWindowFlag(false)
   Transition(l_8_0, "Out")
   _application:HideInputPanel()
end

AlarmEditForm_SetInitValue = function(l_9_0)
   Pa_Index = tonumber(_request.URL.Parameters:GetParameter("Index"))
   trace("AlarmEditForm_SPa_Index is: \"" .. Pa_Index .. "\"")
   if _application.Store:GetStringValue(Lifetime_Application, "WorldClock.AlarmEdit.RingtoneName") ~= "" then
      Pa_Hour = _application.Store:GetIntValue(Lifetime_Application, "WorldClock.AlarmEdit.Hour")
      Pa_Minute = _application.Store:GetIntValue(Lifetime_Application, "WorldClock.AlarmEdit.Minute")
      Pa_Description = _application.Store:GetStringValue(Lifetime_Application, "WorldClock.AlarmEdit.Description")
      Pa_Repeat = _application.Store:GetIntValue(Lifetime_Application, "WorldClock.AlarmEdit.Repeat")
      Pa_RingtoneName = _application.Store:GetStringValue(Lifetime_Application, "WorldClock.AlarmEdit.RingtoneName")
      Pa_RingtoneFile = _application.Store:GetStringValue(Lifetime_Application, "WorldClock.AlarmEdit.RingtoneFile")
      Pa_Vibrate = _application.Store:GetIntValue(Lifetime_Application, "WorldClock.AlarmEdit.Vibrate") == TRUE
      Pa_Enable = _application.Store:GetIntValue(Lifetime_Application, "WorldClock.AlarmEdit.Enable") == TRUE
   elseif Pa_Index == -1 then
      trace("AlarmEditForm_SetInitValue Pa_Index == -1 ")
      Pa_Hour = tonumber(Now:GetTimeString("HH"))
      Pa_Minute = Now.Minute
      Pa_Description = ""
      Pa_Repeat = 0
      Pa_RingtoneName = "Alarm-Beeps"
      Pa_RingtoneFile = "\\Windows\\Rings\\Alarm-Beeps.wav"
      Pa_Vibrate = false
      Pa_Enable = true
   else
      local wc = WorldClockManager()
      local ga = wc:GetAlarms()
      local item = ga:GetItem(Pa_Index) 
      Pa_Hour = item.AlarmTime:GetActualHour()
      Pa_Minute = item.AlarmTime:GetMinute()
      Pa_Description = item.Description
      Pa_Repeat = item.Days
      if item.RingtoneName ~= "" then
         Pa_RingtoneName = item.RingtoneName
         Pa_RingtoneFile = item.RingtoneFile
      else
         Pa_RingtoneName = "Alarm5"
         Pa_RingtoneFile = "\\Windows\\Alarm5.wav"
      end
      Pa_Vibrate = item.Vibration
      Pa_Enable = item.Enabled
   end
   TimeUI_init(Pa_Hour, Pa_Minute, l_9_0)
   InputBox.WindowText = Pa_Description
   if Pa_Description == "" then
      DiscriptNoteText._visible = true
   else
      DiscriptNoteText._visible = false
   end
   AlarmRingtone.String = Pa_RingtoneName
   OnOffButton_Initialize(OnOffComponent, Pa_Vibrate)
   Flag = {}
   for i = 0, 6 do
      Flag[i] = TestBit(Pa_Repeat, i)
   end
   local l_9_1 = VectorNotifyint()
   for i = 0, 6 do
      l_9_1:push_back(i)
   end
   RepeatList_init(RepeatListView, l_9_1)
end

AlarmEditForm_CleanStoreMemory = function()
   _application.Store:SetIntValue(Lifetime_Application, "WorldClock.AlarmEdit.Hour", 0)
   _application.Store:SetIntValue(Lifetime_Application, "WorldClock.AlarmEdit.Minute", 0)
   _application.Store:SetStringValue(Lifetime_Application, "WorldClock.AlarmEdit.Description", "")
   _application.Store:SetIntValue(Lifetime_Application, "WorldClock.AlarmEdit.Repeat", 0)
   _application.Store:SetStringValue(Lifetime_Application, "WorldClock.AlarmEdit.RingtoneFile", "")
   _application.Store:SetStringValue(Lifetime_Application, "WorldClock.AlarmEdit.RingtoneName", "")
   _application.Store:SetIntValue(Lifetime_Application, "WorldClock.AlarmEdit.Vibrate", 0)
   _application.Store:SetIntValue(Lifetime_Application, "WorldClock.AlarmEdit.Enable", 0)
end

RepeatList_init = function(l_11_0, l_11_1)
   RepeatList_Collection = l_11_1
   RepeatList_ListView = l_11_0
   RepeatList_ItemListLayout = TileLayout()
   RepeatList_ItemListLayout:SetItemSize(64, 55, 0)
   RepeatList_ListView:SetLayout(RepeatList_ItemListLayout)
   RepeatList_ItemListGenerator = LibraryGeneratorint(RepeatList_Collection, RepeatList_ListView:GetMovie(), RepeatList_ListView.ComponentLibraryName, RepeatList_ListView.ComponentLibraryID)
   RepeatList_ItemListGenerator.ItemCreated:connect(RepeatList_OnItemCreated, self)
   l_11_0:SetGenerator(RepeatList_ItemListGenerator)
   if AlarmEdit_Landscape ~= nil then
      AlarmEdit_Landscape._generator = RepeatList_ItemListGenerator
   end
   RepeatList_ListView.onMouseDown:connect(RepeatList_OnRepeatMouseDown, self)
end

RepeatList_OnItemCreated = function(l_12_0, l_12_1)
   local l_12_2 = l_12_1.Namespace:FindName("AlarmRepeatBg")
   local l_12_3 = l_12_1.Namespace:FindName("AlarmRepeatText")
   l_12_3.String = RepeatWeekDay[l_12_0]
   if l_12_0 == 0 then
      l_12_2.Position.x = l_12_2.Position.x - 3
   end
   RepeatList_RepeatListGetBg(l_12_0)
end

RepeatList_OnRepeatMouseDown = function(l_13_0)
   local l_13_1 = RepeatList_ListView:GetIndexAtMousePoint(l_13_0._xmouse, l_13_0._ymouse)
   if l_13_1 ~= -1 then
      Flag[l_13_1] = not Flag[l_13_1]
      RepeatList_RepeatListGetBg(l_13_1)
   end
end

RepeatList_RepeatListGetBg = function(l_14_0)
   local l_14_1 = RepeatList_ItemListGenerator:GetItem(l_14_0)
   local l_14_2 = l_14_1.Namespace:FindName("AlarmRepeatBg")
   local l_14_3 = l_14_1.Namespace:FindName("AlarmRepeatText")
   if l_14_0 == 0 then
      if Flag[l_14_0] then
         l_14_2:SetTexture("\\windows\\HTC\\Assets\\Images\\WorldClock\\date_left_press.qtc")
         l_14_3.Color = Color(255, 255, 255, 255)
      else
         l_14_2:SetTexture("\\windows\\HTC\\Assets\\Images\\WorldClock\\date_left_rest.qtc")
         l_14_3.Color = Color(0, 0, 0, 255)
      end
   elseif l_14_0 == 6 then
      if Flag[l_14_0] then
         l_14_2:SetTexture("\\windows\\HTC\\Assets\\Images\\WorldClock\\date_right_press.qtc")
         l_14_3.Color = Color(255, 255, 255, 255)
      else
         l_14_2:SetTexture("\\windows\\HTC\\Assets\\Images\\WorldClock\\date_right_rest.qtc")
         l_14_3.Color = Color(0, 0, 0, 255)
      end
   else
      if Flag[l_14_0] then
         l_14_2:SetTexture("\\windows\\HTC\\Assets\\Images\\WorldClock\\date_center_press.qtc")
         l_14_3.Color = Color(255, 255, 255, 255)
      else
         l_14_2:SetTexture("\\windows\\HTC\\Assets\\Images\\WorldClock\\date_center_rest.qtc")
         l_14_3.Color = Color(0, 0, 0, 255)
      end
   end
end

VibrateOnRelease = function()
   Pa_Vibrate = not Pa_Vibrate
   OnOffButton_ToggleValue(OnOffComponent)
end

DescriptionOnPress = function()
   _application:ShowInputPanel(0)
   InputBox:SetShowWindowFlag(true)
   DiscriptNoteText._visible = false
end

DescriptionOnFocusOut = function()
   _application:HideInputPanel()
   InputBox:SetShowWindowFlag(false)
   if InputBox.WindowText == "" then
      DiscriptNoteText._visible = true
   end
end

OnSipEvent = function(l_18_0, l_18_1)
   if l_18_0 then
     if not SipFlag then
       SipFlag = true
       Camera2D_AlarmEdit.Position.y = Camera2D_AlarmEdit.Position.y + (l_18_1 - 170)
     end
   else
     if SipFlag then
       SipFlag = false
       Camera2D_AlarmEdit.Position.y = Camera2D_AlarmEdit.Position.y - (l_18_1 - 170)
     end
   end
end

RingtoneOnRelease = function()
   local l_19_0 = FALSE
   local l_19_1 = FALSE
   if Pa_Vibrate then
      l_19_0 = TRUE
   end
   if Pa_Enable then
      l_19_1 = TRUE
   end
   Pa_Description = InputBox.WindowText
   Pa_Repeat = FlagBitsToNumber()
   Pa_Minute = TimePicker_Minute
   Pa_Hour = TimePicker_Hour
   _application.Store:SetIntValue(Lifetime_Application, "WorldClock.AlarmEdit.Hour", Pa_Hour)
   _application.Store:SetIntValue(Lifetime_Application, "WorldClock.AlarmEdit.Minute", Pa_Minute)
   _application.Store:SetStringValue(Lifetime_Application, "WorldClock.AlarmEdit.Description", Pa_Description)
   _application.Store:SetIntValue(Lifetime_Application, "WorldClock.AlarmEdit.Repeat", Pa_Repeat)
   _application.Store:SetStringValue(Lifetime_Application, "WorldClock.AlarmEdit.RingtoneFile", Pa_RingtoneFile)
   _application.Store:SetStringValue(Lifetime_Application, "WorldClock.AlarmEdit.RingtoneName", Pa_RingtoneName)
   _application.Store:SetIntValue(Lifetime_Application, "WorldClock.AlarmEdit.Vibrate", l_19_0)
   _application.Store:SetIntValue(Lifetime_Application, "WorldClock.AlarmEdit.Enable", l_19_1)
   _application.Store:SetIntValue(Lifetime_Application, "Component.Ringtone.Source", 2000)
   _application.Navigation:Navigate(URL("Manila://WorldClock/SelectRingtone/selectringtone.page"))
end

OnPressArea = function(l_20_0)
   PressLocation = l_20_0._ymouse
end

OnMouseMoveArea = function(l_21_0)
   trace("+++++++[AlarmEdit] : OnMouseMoveArea")
   local l_21_1 = AlarmEditSprite.Position.y
   local l_21_2 = InputBox.Position.y
   local l_21_3 = DescriptionBg.Position.y
   local l_21_4 = DescriptionHitArea.Position.y
   local l_21_5 = l_21_0._ymouse
   l_21_5 = l_21_5 - PressLocation
   if l_21_5 > -70 and l_21_5 < 70 then
      l_21_5 = 0
   end
   AlarmEditSprite.Position.y = l_21_1 - l_21_5
   if AlarmEditSprite.Position.y <= 0 then
      AlarmEditSprite.Position.y = 0
   end
   if AlarmEditSprite.Position.y >= 270 then
      AlarmEditSprite.Position.y = 270
   end
   local l_21_6 = AlarmEditSprite.Position.y - l_21_1
   InputBox.Position.y = l_21_2 + l_21_6
   DiscriptNoteText.Position.y = InputBox.Position.y - 4
   trace("+++++++[AlarmEdit] : DiscriptNoteText.Position.y is " .. DiscriptNoteText.Position.y)
   trace("+++++++[AlarmEdit] : InputBox.Position.y is " .. InputBox.Position.y)
end

main = function()
   objs3D = {}
   objs3D[1] = Camera2D_AlarmEdit
   setOffScreen()
   AlarmEditForm_init()
end

main()

⌨️ 快捷键说明

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