mirror of
https://github.com/IgorTimofeev/MineOS.git
synced 2025-12-20 02:59:20 +01:00
63 lines
1.8 KiB
Lua
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
|
|
} |