added repository managment app
This commit is contained in:
3
.gitignore
vendored
3
.gitignore
vendored
@@ -1,3 +1,4 @@
|
|||||||
.containerizer
|
.containerizer
|
||||||
/Launcher/build
|
/Launcher/build
|
||||||
/Software/build
|
/Software/build
|
||||||
|
/Repos/build
|
||||||
25
Repos/build.lua
Normal file
25
Repos/build.lua
Normal file
@@ -0,0 +1,25 @@
|
|||||||
|
--Default build.lua Script
|
||||||
|
|
||||||
|
local appid = "org.ruffles.repos"
|
||||||
|
|
||||||
|
local project_name = "Repos"
|
||||||
|
|
||||||
|
|
||||||
|
local package_data = build.optimize(build.package("src"))
|
||||||
|
|
||||||
|
build.writePackage(package_data,"build/"..appid)
|
||||||
|
|
||||||
|
local meta = {
|
||||||
|
perms = {
|
||||||
|
repo = true,
|
||||||
|
network = false,
|
||||||
|
app = false,
|
||||||
|
http = false,
|
||||||
|
},
|
||||||
|
author = "Ruffles",
|
||||||
|
name = project_name,
|
||||||
|
appid = appid,
|
||||||
|
}
|
||||||
|
|
||||||
|
build.writeMeta(meta,"build/"..project_name..".meta")
|
||||||
|
build.merge("build/"..appid,"build/"..project_name..".meta","build/"..project_name..".app")
|
||||||
66
Repos/src/startup.lua
Normal file
66
Repos/src/startup.lua
Normal file
@@ -0,0 +1,66 @@
|
|||||||
|
local w,h = term.getSize()
|
||||||
|
local scroll = 0
|
||||||
|
local selected = 1
|
||||||
|
local do_render = true
|
||||||
|
local map_to_id = {}
|
||||||
|
local function render()
|
||||||
|
while true do
|
||||||
|
if do_render then
|
||||||
|
term.setBackgroundColor(colors.black)
|
||||||
|
term.setTextColor(colors.white)
|
||||||
|
term.clear()
|
||||||
|
local repos = repo.getRepos()
|
||||||
|
local ypos = 1
|
||||||
|
map_to_id = {}
|
||||||
|
for k,v in pairs(repos) do
|
||||||
|
map_to_id[ypos] = k
|
||||||
|
term.setCursorPos(1,ypos+scroll)
|
||||||
|
if ypos == selected then
|
||||||
|
term.setBackgroundColor(colors.white)
|
||||||
|
term.setTextColor(colors.black)
|
||||||
|
else
|
||||||
|
term.setBackgroundColor(colors.black)
|
||||||
|
term.setTextColor(colors.white)
|
||||||
|
end
|
||||||
|
term.clearLine()
|
||||||
|
term.write(tostring(k).." "..tostring(v))
|
||||||
|
ypos = ypos + 1
|
||||||
|
end
|
||||||
|
end
|
||||||
|
sleep(1/20)
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
local function input()
|
||||||
|
while true do
|
||||||
|
local event = {os.pullEvent()}
|
||||||
|
if event[1] == "mouse_scroll" then
|
||||||
|
scroll = math.max(math.min(0,scroll-event[2]),-math.max(0,#map_to_id-1))
|
||||||
|
elseif event[1] == "key_up" then
|
||||||
|
if event[2] == keys["a"] then
|
||||||
|
do_render = false
|
||||||
|
term.setBackgroundColor(colors.lightGray)
|
||||||
|
term.setCursorPos(1,(h/2)+1)
|
||||||
|
term.clearLine()
|
||||||
|
term.setCursorPos(1,(h/2)-1)
|
||||||
|
term.clearLine()
|
||||||
|
term.setBackgroundColor(colors.gray)
|
||||||
|
term.setCursorPos(1,h/2)
|
||||||
|
term.clearLine()
|
||||||
|
local id = tonumber(read())
|
||||||
|
if id and id >= 0 then
|
||||||
|
repo.addRepo(id)
|
||||||
|
end
|
||||||
|
term.setBackgroundColor(colors.black)
|
||||||
|
do_render = true
|
||||||
|
elseif event[2] == keys["d"] then
|
||||||
|
if map_to_id[selected] then
|
||||||
|
repo.rmRepo(map_to_id[selected])
|
||||||
|
end
|
||||||
|
end
|
||||||
|
elseif event[1] == "mouse_click" then
|
||||||
|
selected = event[4]-scroll
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
parallel.waitForAny(input,render)
|
||||||
Reference in New Issue
Block a user