Add quick USB MSC access to the main menu
This commit is contained in:
@@ -16,6 +16,7 @@ local img = {
|
|||||||
files = lvgl.ImgData("//lua/img/files.png"),
|
files = lvgl.ImgData("//lua/img/files.png"),
|
||||||
settings = lvgl.ImgData("//lua/img/settings.png"),
|
settings = lvgl.ImgData("//lua/img/settings.png"),
|
||||||
chevron = lvgl.ImgData("//lua/img/chevron.png"),
|
chevron = lvgl.ImgData("//lua/img/chevron.png"),
|
||||||
|
usb = lvgl.ImgData("//lua/img/usb.png"),
|
||||||
}
|
}
|
||||||
|
|
||||||
return img
|
return img
|
||||||
|
|||||||
Binary file not shown.
|
After Width: | Height: | Size: 8.9 KiB |
+19
-1
@@ -147,6 +147,24 @@ return widgets.MenuScreen:new {
|
|||||||
-- queue_btn:Image { src = img.queue }
|
-- queue_btn:Image { src = img.queue }
|
||||||
-- theme.set_subject(queue_btn, "icon_enabled")
|
-- theme.set_subject(queue_btn, "icon_enabled")
|
||||||
|
|
||||||
|
local usb_btn = bottom_bar:Button {}
|
||||||
|
usb_btn:onClicked(function()
|
||||||
|
backstack.push(require("settings").MassStorageSettings:new())
|
||||||
|
end)
|
||||||
|
usb_btn:Image { src = img.usb }
|
||||||
|
widgets.Description(usb_btn, "USB Settings")
|
||||||
|
theme.set_subject(usb_btn, "menu_icon")
|
||||||
|
|
||||||
|
self.bindings = self.bindings + {
|
||||||
|
require("power").plugged_in:bind(function(attached)
|
||||||
|
if (attached) then
|
||||||
|
usb_btn:clear_flag(lvgl.FLAG.HIDDEN)
|
||||||
|
else
|
||||||
|
usb_btn:add_flag(lvgl.FLAG.HIDDEN)
|
||||||
|
end
|
||||||
|
end)
|
||||||
|
}
|
||||||
|
|
||||||
local files_btn = bottom_bar:Button {}
|
local files_btn = bottom_bar:Button {}
|
||||||
files_btn:onClicked(function()
|
files_btn:onClicked(function()
|
||||||
backstack.push(require("file_browser"):new {
|
backstack.push(require("file_browser"):new {
|
||||||
@@ -160,7 +178,7 @@ return widgets.MenuScreen:new {
|
|||||||
|
|
||||||
local settings_btn = bottom_bar:Button {}
|
local settings_btn = bottom_bar:Button {}
|
||||||
settings_btn:onClicked(function()
|
settings_btn:onClicked(function()
|
||||||
backstack.push(require("settings"):new())
|
backstack.push(require("settings").Root:new())
|
||||||
end)
|
end)
|
||||||
settings_btn:Image { src = img.settings }
|
settings_btn:Image { src = img.settings }
|
||||||
widgets.Description(settings_btn, "Settings")
|
widgets.Description(settings_btn, "Settings")
|
||||||
|
|||||||
+29
-25
@@ -14,6 +14,8 @@ local font = require("font")
|
|||||||
local main_menu = require("main_menu")
|
local main_menu = require("main_menu")
|
||||||
local img = require("images")
|
local img = require("images")
|
||||||
|
|
||||||
|
local settings = {}
|
||||||
|
|
||||||
local SettingsScreen = widgets.MenuScreen:new {
|
local SettingsScreen = widgets.MenuScreen:new {
|
||||||
show_back = true,
|
show_back = true,
|
||||||
create_ui = function(self)
|
create_ui = function(self)
|
||||||
@@ -60,7 +62,7 @@ local BluetoothPairing = SettingsScreen:new {
|
|||||||
on_hide = function() bluetooth.discovering:set(false) end,
|
on_hide = function() bluetooth.discovering:set(false) end,
|
||||||
}
|
}
|
||||||
|
|
||||||
local BluetoothSettings = SettingsScreen:new {
|
settings.BluetoothSettings = SettingsScreen:new {
|
||||||
title = "Bluetooth",
|
title = "Bluetooth",
|
||||||
create_ui = function(self)
|
create_ui = function(self)
|
||||||
SettingsScreen.create_ui(self)
|
SettingsScreen.create_ui(self)
|
||||||
@@ -202,7 +204,7 @@ local BluetoothSettings = SettingsScreen:new {
|
|||||||
end
|
end
|
||||||
}
|
}
|
||||||
|
|
||||||
local HeadphonesSettings = SettingsScreen:new {
|
settings.HeadphonesSettings = SettingsScreen:new {
|
||||||
title = "Headphones",
|
title = "Headphones",
|
||||||
create_ui = function(self)
|
create_ui = function(self)
|
||||||
SettingsScreen.create_ui(self)
|
SettingsScreen.create_ui(self)
|
||||||
@@ -266,7 +268,7 @@ local HeadphonesSettings = SettingsScreen:new {
|
|||||||
end
|
end
|
||||||
}
|
}
|
||||||
|
|
||||||
local DisplaySettings = SettingsScreen:new {
|
settings.DisplaySettings = SettingsScreen:new {
|
||||||
title = "Display",
|
title = "Display",
|
||||||
create_ui = function(self)
|
create_ui = function(self)
|
||||||
SettingsScreen.create_ui(self)
|
SettingsScreen.create_ui(self)
|
||||||
@@ -303,7 +305,7 @@ local DisplaySettings = SettingsScreen:new {
|
|||||||
end
|
end
|
||||||
}
|
}
|
||||||
|
|
||||||
local ThemeSettings = SettingsScreen:new {
|
settings.ThemeSettings = SettingsScreen:new {
|
||||||
title = "Theme",
|
title = "Theme",
|
||||||
create_ui = function(self)
|
create_ui = function(self)
|
||||||
SettingsScreen.create_ui(self)
|
SettingsScreen.create_ui(self)
|
||||||
@@ -339,7 +341,7 @@ local ThemeSettings = SettingsScreen:new {
|
|||||||
if idx > 0 then
|
if idx > 0 then
|
||||||
options = options .. "\n"
|
options = options .. "\n"
|
||||||
end
|
end
|
||||||
options = options .. i
|
options = options .. i
|
||||||
idx = idx + 1
|
idx = idx + 1
|
||||||
end
|
end
|
||||||
|
|
||||||
@@ -358,14 +360,14 @@ local ThemeSettings = SettingsScreen:new {
|
|||||||
local option = theme_chooser:get('selected_str')
|
local option = theme_chooser:get('selected_str')
|
||||||
local selectedTheme = themeOptions[option]
|
local selectedTheme = themeOptions[option]
|
||||||
if (selectedTheme) then
|
if (selectedTheme) then
|
||||||
theme.load_theme(tostring(selectedTheme))
|
theme.load_theme(tostring(selectedTheme))
|
||||||
backstack.reset(main_menu:new())
|
backstack.reset(main_menu:new())
|
||||||
end
|
end
|
||||||
end)
|
end)
|
||||||
end
|
end
|
||||||
}
|
}
|
||||||
|
|
||||||
local InputSettings = SettingsScreen:new {
|
settings.InputSettings = SettingsScreen:new {
|
||||||
title = "Input Method",
|
title = "Input Method",
|
||||||
create_ui = function(self)
|
create_ui = function(self)
|
||||||
SettingsScreen.create_ui(self)
|
SettingsScreen.create_ui(self)
|
||||||
@@ -425,7 +427,7 @@ local InputSettings = SettingsScreen:new {
|
|||||||
end
|
end
|
||||||
}
|
}
|
||||||
|
|
||||||
local MassStorageSettings = SettingsScreen:new {
|
settings.MassStorageSettings = SettingsScreen:new {
|
||||||
title = "USB Storage",
|
title = "USB Storage",
|
||||||
create_ui = function(self)
|
create_ui = function(self)
|
||||||
SettingsScreen.create_ui(self)
|
SettingsScreen.create_ui(self)
|
||||||
@@ -490,7 +492,7 @@ local MassStorageSettings = SettingsScreen:new {
|
|||||||
end
|
end
|
||||||
}
|
}
|
||||||
|
|
||||||
local DatabaseSettings = SettingsScreen:new {
|
settings.DatabaseSettings = SettingsScreen:new {
|
||||||
title = "Database",
|
title = "Database",
|
||||||
create_ui = function(self)
|
create_ui = function(self)
|
||||||
SettingsScreen.create_ui(self)
|
SettingsScreen.create_ui(self)
|
||||||
@@ -550,7 +552,7 @@ local DatabaseSettings = SettingsScreen:new {
|
|||||||
end
|
end
|
||||||
}
|
}
|
||||||
|
|
||||||
local PowerSettings = SettingsScreen:new {
|
settings.PowerSettings = SettingsScreen:new {
|
||||||
title = "Power",
|
title = "Power",
|
||||||
create_ui = function(self)
|
create_ui = function(self)
|
||||||
SettingsScreen.create_ui(self)
|
SettingsScreen.create_ui(self)
|
||||||
@@ -635,7 +637,7 @@ local SamdConfirmation = SettingsScreen:new {
|
|||||||
end
|
end
|
||||||
}
|
}
|
||||||
|
|
||||||
local FirmwareSettings = SettingsScreen:new {
|
settings.FirmwareSettings = SettingsScreen:new {
|
||||||
title = "Firmware",
|
title = "Firmware",
|
||||||
create_ui = function(self)
|
create_ui = function(self)
|
||||||
SettingsScreen.create_ui(self)
|
SettingsScreen.create_ui(self)
|
||||||
@@ -666,7 +668,7 @@ local FirmwareSettings = SettingsScreen:new {
|
|||||||
end
|
end
|
||||||
}
|
}
|
||||||
|
|
||||||
local LicensesScreen = SettingsScreen:new {
|
settings.LicensesScreen = SettingsScreen:new {
|
||||||
title = "Licenses",
|
title = "Licenses",
|
||||||
create_ui = function(self)
|
create_ui = function(self)
|
||||||
SettingsScreen.create_ui(self)
|
SettingsScreen.create_ui(self)
|
||||||
@@ -703,7 +705,7 @@ local FccStatementScreen = SettingsScreen:new {
|
|||||||
end
|
end
|
||||||
}
|
}
|
||||||
|
|
||||||
local RegulatoryScreen = SettingsScreen:new {
|
settings.RegulatoryScreen = SettingsScreen:new {
|
||||||
title = "Regulatory",
|
title = "Regulatory",
|
||||||
create_ui = function(self)
|
create_ui = function(self)
|
||||||
SettingsScreen.create_ui(self)
|
SettingsScreen.create_ui(self)
|
||||||
@@ -775,7 +777,7 @@ local RegulatoryScreen = SettingsScreen:new {
|
|||||||
end
|
end
|
||||||
}
|
}
|
||||||
|
|
||||||
return widgets.MenuScreen:new {
|
settings.Root = widgets.MenuScreen:new {
|
||||||
show_back = true,
|
show_back = true,
|
||||||
title = "Settings",
|
title = "Settings",
|
||||||
create_ui = function(self)
|
create_ui = function(self)
|
||||||
@@ -803,24 +805,26 @@ return widgets.MenuScreen:new {
|
|||||||
end
|
end
|
||||||
|
|
||||||
section("Audio")
|
section("Audio")
|
||||||
submenu("Bluetooth", BluetoothSettings)
|
submenu("Bluetooth", settings.BluetoothSettings)
|
||||||
submenu("Headphones", HeadphonesSettings)
|
submenu("Headphones", settings.HeadphonesSettings)
|
||||||
|
|
||||||
section("Interface")
|
section("Interface")
|
||||||
submenu("Display", DisplaySettings)
|
submenu("Display", settings.DisplaySettings)
|
||||||
submenu("Theme", ThemeSettings)
|
submenu("Theme", settings.ThemeSettings)
|
||||||
submenu("Input Method", InputSettings)
|
submenu("Input Method", settings.InputSettings)
|
||||||
|
|
||||||
section("USB")
|
section("USB")
|
||||||
submenu("Storage", MassStorageSettings)
|
submenu("Storage", settings.MassStorageSettings)
|
||||||
|
|
||||||
section("System")
|
section("System")
|
||||||
submenu("Database", DatabaseSettings)
|
submenu("Database", settings.DatabaseSettings)
|
||||||
submenu("Power", PowerSettings)
|
submenu("Power", settings.PowerSettings)
|
||||||
|
|
||||||
section("About")
|
section("About")
|
||||||
submenu("Firmware", FirmwareSettings)
|
submenu("Firmware", settings.FirmwareSettings)
|
||||||
submenu("Licenses", LicensesScreen)
|
submenu("Licenses", settings.LicensesScreen)
|
||||||
submenu("Regulatory", RegulatoryScreen)
|
submenu("Regulatory", settings.RegulatoryScreen)
|
||||||
end
|
end
|
||||||
}
|
}
|
||||||
|
|
||||||
|
return settings
|
||||||
|
|||||||
Reference in New Issue
Block a user