From 0f23cadbca7abeedcb493d0612e250a0259ca33e Mon Sep 17 00:00:00 2001 From: William Wilgus Date: Fri, 25 Sep 2020 23:07:30 -0400 Subject: lua -- add sort by name, size, date to filebrowse include I had previously added the fuctionality to luadir but I didn't update the examples also breaks out the file_browser function to be a bit more accessible Change-Id: I14067256b9d76a757f732840cbee1cf84d775b1b --- apps/plugins/lua_scripts/file_browser.lua | 77 +++++++++++++++++++++++++++++++ 1 file changed, 77 insertions(+) create mode 100644 apps/plugins/lua_scripts/file_browser.lua (limited to 'apps/plugins/lua_scripts/file_browser.lua') diff --git a/apps/plugins/lua_scripts/file_browser.lua b/apps/plugins/lua_scripts/file_browser.lua new file mode 100644 index 0000000000..19f475acf3 --- /dev/null +++ b/apps/plugins/lua_scripts/file_browser.lua @@ -0,0 +1,77 @@ +--[[ + __________ __ ___. + Open \______ \ ____ ____ | | _\_ |__ _______ ___ + Source | _// _ \_/ ___\| |/ /| __ \ / _ \ \/ / + Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < < + Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \ + \/ \/ \/ \/ \/ + $Id$ + Example Lua File Viewer script + Copyright (C) 2020 William Wilgus + This program is free software; you can redistribute it and/or + modify it under the terms of the GNU General Public License + as published by the Free Software Foundation; either version 2 + of the License, or (at your option) any later version. + This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY + KIND, either express or implied. +]]-- + +require("actions") -- Contains rb.actions & rb.contexts +-- require("buttons") -- Contains rb.buttons -- not needed for this example + +--local _timer = require("timer") +--local _clr = require("color") -- clrset, clrinc provides device independent colors +local _lcd = require("lcd") -- lcd helper functions +--local _print = require("print") -- advanced text printing +--local _img = require("image") -- image manipulation save, rotate, resize, tile, new, load +--local _blit = require("blit") -- handy list of blit operations +--local _draw = require("draw") -- draw all the things (primitives) +--local _math = require("math_ex") -- missing math sine cosine, sqrt, clamp functions + + +local scrpath = rb.current_path()--rb.PLUGIN_DIR .. "/demos/lua_scripts/" + +package.path = scrpath .. "/?.lua;" .. package.path --add lua_scripts directory to path + +require("printmenu") --menu +require("filebrowse") -- file browser + +rb.actions = nil +package.loaded["actions"] = nil + +-- uses print_table to display a menu +function main_menu() + local mt = { + [1] = "Rocklua File Browser Example", + [2] = "Sort by Name", + [3] = "Sort by Size", + [4] = "Sort by Date", + [5] = "Exit" + } + + local ft = { + [0] = exit_now, --if user cancels do this function + [1] = function(TITLE) return true end, -- shouldn't happen title occupies this slot + [2] = function(SBNAME) + _lcd:splashf(rb.HZ, "%s", file_choose("/", "", "name", false) or "None") + end, + [3] = function(SBSIZE) + _lcd:splashf(rb.HZ, "%s", file_choose("/", "", "size", true) or "None") + end, + [4] = function(SBDATE) + _lcd:splashf(rb.HZ, "%s", file_choose("/", "", "date") or "None") + end, + [5] = function(EXIT_) return true end + } + + print_menu(mt, ft) + +end + +function exit_now() + _lcd:update() + os.exit() +end -- exit_now + +main_menu() +exit_now() -- cgit v1.2.3