sPhone/src/apps/home.spk
2016-12-29 19:35:48 +01:00

128 lines
4 KiB
Text

--
-- sPhone Application Package
-- Built with SPK builder 1.2
--
{
files = "{\
[ \"home.lua\" ] = \"local buttonsInHome = {\\\
{\\\"sphone.header\\\",23,1,25,1,sPhone.theme[\\\"header\\\"],sPhone.theme[\\\"headerText\\\"],\\\"vvv\\\"},\\\
{\\\"sphone.appList\\\",12,20,14,20,sPhone.theme[\\\"backgroundColor\\\"],sPhone.theme[\\\"header\\\"],\\\"===\\\"},\\\
{\\\"sphone.shell\\\",2,3,8,5,colors.black,colors.yellow,\\\" Shell\\\",2},\\\
{\\\"sphone.explorer\\\",11,3,17,5,colors.blue,colors.white,\\\" Files\\\",2},\\\
{\\\"sphone.lock\\\",20,3,25,5,colors.lightGray,colors.black,\\\" Lock\\\",2},\\\
{\\\"sphone.gps\\\",11,7,15,9,colors.red,colors.black,\\\" GPS\\\",2},\\\
{\\\"sphone.info\\\",18,7,23,9,colors.lightGray,colors.black,\\\" Info\\\",2},\\\
{\\\"sphone.store\\\",2,7,8,9,colors.green,colors.white,\\\" Store\\\",2},\\\
}\\\
\\\
local function clear()\\\
term.setBackgroundColor(sPhone.theme[\\\"backgroundColor\\\"])\\\
term.clear()\\\
term.setCursorPos(1,1)\\\
term.setTextColor(sPhone.theme[\\\"text\\\"])\\\
end\\\
\\\
local function drawHome()\\\
clear()\\\
visum.buttons(buttonsInHome,true)\\\
\\\
local w, h = term.getSize()\\\
paintutils.drawLine(1,1,w,1, sPhone.theme[\\\"header\\\"])\\\
term.setTextColor(sPhone.theme[\\\"headerText\\\"])\\\
visum.align(\\\"right\\\",\\\"vvv \\\",false,1)\\\
end\\\
local function footerMenu()\\\
sPhone.isFooterMenuOpen = true\\\
function redraw()\\\
drawHome()\\\
local w, h = term.getSize()\\\
paintutils.drawFilledBox(1,2,w,4,sPhone.theme[\\\"header\\\"])\\\
term.setTextColor(sPhone.theme[\\\"headerText\\\"])\\\
term.setBackgroundColor(sPhone.theme[\\\"header\\\"])\\\
visum.align(\\\"right\\\",\\\"^^^ \\\",false,1)\\\
visum.align(\\\"right\\\", \\\"Reboot \\\",false,3)\\\
term.setCursorPos(11,3)\\\
write(\\\"Settings\\\")\\\
term.setCursorPos(2,3)\\\
write(\\\"Shutdown\\\")\\\
end\\\
while true do\\\
term.redirect(sPhone.mainTerm)\\\
drawHome()\\\
redraw()\\\
local _,_,x,y = os.pullEvent(\\\"mouse_click\\\")\\\
if y == 3 then\\\
if x > 1 and x < 10 then\\\
os.shutdown()\\\
sPhone.inHome = true\\\
elseif x > 19 and x < 26 then\\\
os.reboot()\\\
sPhone.inHome = true\\\
elseif x > 10 and x < 19 then\\\
sPhone.inHome = false\\\
sPhone.launch(\\\"sphone.settings\\\")\\\
sPhone.inHome = true\\\
drawHome()\\\
end\\\
elseif y == 1 then\\\
if x < 26 and x > 22 then\\\
sPhone.isFooterMenuOpen = false\\\
return\\\
end\\\
end\\\
end\\\
end\\\
local function buttonHomeLoop()\\\
while true do\\\
drawHome()\\\
term.setCursorBlink(false)\\\
local autoLockTimer = os.startTimer(10)\\\
local id = visum.buttons(buttonsInHome)\\\
\\\
if id == \\\"sphone.header\\\" then\\\
footerMenu()\\\
elseif id == \\\"sphone.lock\\\" then\\\
sPhone.inHome = false\\\
sPhone.login()\\\
sPhone.inHome = true\\\
else\\\
sPhone.inHome = false\\\
os.pullEvent = os.oldPullEvent\\\
sPhone.launch(id)\\\
os.pullEvent = os.pullEventRaw\\\
sPhone.inHome = true\\\
end\\\
end\\\
\\\
sPhone.inHome = false\\\
\\\
end\\\
\\\
local function updateClock()\\\
while true do\\\
if sPhone.inHome then\\\
term.setCursorPos(1,1)\\\
term.setBackgroundColor(sPhone.theme[\\\"header\\\"])\\\
term.setTextColor(sPhone.theme[\\\"headerText\\\"])\\\
term.setCursorPos(1,1)\\\
write(\\\" \\\")\\\
term.setCursorPos(1,1)\\\
write(\\\" \\\"..textutils.formatTime(os.time(), not config.read(\\\"/.sPhone/config/sPhone\\\",\\\"format12time\\\")))\\\
end\\\
sleep(0)\\\
end\\\
end\\\
\\\
parallel.waitForAll(buttonHomeLoop, updateClock)\\\
\",\
}",
config = "{\
type = \"home\",\
main = \"home.lua\",\
name = \"sPhone Home\",\
version = 1,\
id = \"sphone.home\",\
author = \"BeaconNet\",\
hidden = true,\
}",
}