2024-01-30 03:00:35 +03:00

63 lines
1.8 KiB
Lua

local GUI = require("GUI")
local system = require("System")
local filesystem = require("Filesystem")
local paths = require("Paths")
--------------------------------------------------------------------------------
local workspace, window, localization = table.unpack({...})
local userSettings = system.getUserSettings()
local configureFrom, configureTo
local function configure()
-- Remove previously added controls from layout
if configureFrom then
window.contentLayout:removeChildren(configureFrom, configureTo)
configureFrom, configureTo = nil, nil
end
-- Add new controls if needed
local wallpaper = system.getWallpaper()
if wallpaper.configure then
configureFrom = #window.contentLayout.children + 1
wallpaper.configure(window.contentLayout)
configureTo = #window.contentLayout.children
end
end
--------------------------------------------------------------------------------
return {
name = localization.wallpaper,
margin = 0,
onTouch = function()
window.contentLayout:addChild(GUI.text(1, 1, 0x2D2D2D, localization.wallpaperWallpaper))
local comboBox = window.contentLayout:addChild(GUI.comboBox(1, 1, 36, 3, 0xE1E1E1, 0x696969, 0xD2D2D2, 0xA5A5A5))
local files = filesystem.list(paths.system.wallpapers)
for i = 1, #files do
local file = files[i]
local path = paths.system.wallpapers .. file
if filesystem.isDirectory(path) and filesystem.extension(path) == ".wlp" then
comboBox:addItem(filesystem.hideExtension(file))
if userSettings.interfaceWallpaperPath == path then
comboBox.selectedItem = i
end
end
end
comboBox.onItemSelected = function(index)
userSettings.interfaceWallpaperPath = paths.system.wallpapers .. files[index]
system.updateWallpaper()
configure(window.contentLayout)
workspace:draw()
system.saveUserSettings()
end
configure()
end
}