|
|
@ -18,6 +18,7 @@ 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 nvs = require("nvs") |
|
|
|
local nvs = require("nvs") |
|
|
|
|
|
|
|
local sd_card = require("sd_card") |
|
|
|
|
|
|
|
|
|
|
|
local settings = {} |
|
|
|
local settings = {} |
|
|
|
|
|
|
|
|
|
|
@ -512,6 +513,77 @@ settings.InputSettings = SettingsScreen:new { |
|
|
|
end |
|
|
|
end |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
settings.SDSettings = SettingsScreen:new { |
|
|
|
|
|
|
|
title = "SD Card", |
|
|
|
|
|
|
|
create_ui = function(self) |
|
|
|
|
|
|
|
SettingsScreen.create_ui(self) |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
local actions_container = self.content:Object { |
|
|
|
|
|
|
|
w = lvgl.PCT(100), |
|
|
|
|
|
|
|
h = lvgl.SIZE_CONTENT, |
|
|
|
|
|
|
|
flex = { |
|
|
|
|
|
|
|
flex_direction = "row", |
|
|
|
|
|
|
|
justify_content = "center", |
|
|
|
|
|
|
|
align_items = "space-evenly", |
|
|
|
|
|
|
|
align_content = "center", |
|
|
|
|
|
|
|
}, |
|
|
|
|
|
|
|
pad_top = 4, |
|
|
|
|
|
|
|
pad_column = 4, |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
actions_container:add_style(styles.list_item) |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
local busy_text = self.content:Label { |
|
|
|
|
|
|
|
w = lvgl.PCT(100), |
|
|
|
|
|
|
|
text = "", |
|
|
|
|
|
|
|
long_mode = lvgl.LABEL.LONG_WRAP, |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
local busy_text_bind = function() |
|
|
|
|
|
|
|
if database.updating:get() then |
|
|
|
|
|
|
|
busy_text:clear_flag(lvgl.FLAG.HIDDEN) |
|
|
|
|
|
|
|
busy_text:set { |
|
|
|
|
|
|
|
text = "Your database is currently updating. Please wait." |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
elseif usb.msc_enabled:get() then |
|
|
|
|
|
|
|
busy_text:clear_flag(lvgl.FLAG.HIDDEN) |
|
|
|
|
|
|
|
busy_text:set { |
|
|
|
|
|
|
|
text = "USB Mass Storage is currently enabled. Please disable it before unmounting." |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
elseif not sd_card.mounted:get() then |
|
|
|
|
|
|
|
busy_text:clear_flag(lvgl.FLAG.HIDDEN) |
|
|
|
|
|
|
|
busy_text:set { |
|
|
|
|
|
|
|
text = "No SD card is currently mounted." |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
else |
|
|
|
|
|
|
|
busy_text:add_flag(lvgl.FLAG.HIDDEN) |
|
|
|
|
|
|
|
end |
|
|
|
|
|
|
|
end |
|
|
|
|
|
|
|
self.bindings = self.bindings + { |
|
|
|
|
|
|
|
sd_card.mounted:bind(busy_text_bind), |
|
|
|
|
|
|
|
database.updating:bind(busy_text_bind), |
|
|
|
|
|
|
|
usb.msc_enabled:bind(busy_text_bind) |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
local unmount_btn = actions_container:Button {} |
|
|
|
|
|
|
|
unmount_btn:Label { text = "Unmount" } |
|
|
|
|
|
|
|
unmount_btn:onClicked(function() |
|
|
|
|
|
|
|
sd_card.unmount() |
|
|
|
|
|
|
|
end) |
|
|
|
|
|
|
|
local unmount_btn_bind = function() |
|
|
|
|
|
|
|
if sd_card.mounted:get() and not database.updating:get() and not usb.msc_enabled:get() then |
|
|
|
|
|
|
|
unmount_btn:clear_flag(lvgl.FLAG.HIDDEN) |
|
|
|
|
|
|
|
else |
|
|
|
|
|
|
|
unmount_btn:add_flag(lvgl.FLAG.HIDDEN) |
|
|
|
|
|
|
|
end |
|
|
|
|
|
|
|
end |
|
|
|
|
|
|
|
self.bindings = self.bindings + { |
|
|
|
|
|
|
|
sd_card.mounted:bind(unmount_btn_bind), |
|
|
|
|
|
|
|
database.updating:bind(unmount_btn_bind), |
|
|
|
|
|
|
|
usb.msc_enabled:bind(unmount_btn_bind) |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
unmount_btn:focus() |
|
|
|
|
|
|
|
end |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
settings.MassStorageSettings = SettingsScreen:new { |
|
|
|
settings.MassStorageSettings = SettingsScreen:new { |
|
|
|
title = "USB Storage", |
|
|
|
title = "USB Storage", |
|
|
|
create_ui = function(self) |
|
|
|
create_ui = function(self) |
|
|
@ -944,8 +1016,9 @@ settings.Root = widgets.MenuScreen:new { |
|
|
|
submenu("Theme", settings.ThemeSettings) |
|
|
|
submenu("Theme", settings.ThemeSettings) |
|
|
|
submenu("Input Method", settings.InputSettings) |
|
|
|
submenu("Input Method", settings.InputSettings) |
|
|
|
|
|
|
|
|
|
|
|
section("USB") |
|
|
|
section("Storage") |
|
|
|
submenu("Storage", settings.MassStorageSettings) |
|
|
|
submenu("SD Card", settings.SDSettings) |
|
|
|
|
|
|
|
submenu("USB", settings.MassStorageSettings) |
|
|
|
|
|
|
|
|
|
|
|
section("System") |
|
|
|
section("System") |
|
|
|
submenu("Database", settings.DatabaseSettings) |
|
|
|
submenu("Database", settings.DatabaseSettings) |
|
|
|