mirror of
https://github.com/IgorTimofeev/MineOS.git
synced 2025-12-20 02:59:20 +01:00
77 lines
2.4 KiB
Lua
77 lines
2.4 KiB
Lua
|
|
local GUI = require("GUI")
|
|
local paths = require("Paths")
|
|
local system = require("System")
|
|
|
|
local module = {}
|
|
|
|
local workspace, window, localization = table.unpack({...})
|
|
local userSettings = system.getUserSettings()
|
|
|
|
--------------------------------------------------------------------------------
|
|
|
|
module.name = localization.system
|
|
module.margin = 3
|
|
module.onTouch = function()
|
|
window.contentLayout:addChild(GUI.text(1, 1, 0x2D2D2D, localization.systemArchitecture))
|
|
|
|
local CPUComboBox = window.contentLayout:addChild(GUI.comboBox(1, 1, 36, 3, 0xE1E1E1, 0x696969, 0xD2D2D2, 0xA5A5A5))
|
|
local architectures, architecture = computer.getArchitectures(), computer.getArchitecture()
|
|
for i = 1, #architectures do
|
|
CPUComboBox:addItem(architectures[i]).onTouch = function()
|
|
computer.setArchitecture(architectures[i])
|
|
computer.shutdown(true)
|
|
end
|
|
|
|
if architecture == architectures[i] then
|
|
CPUComboBox.selectedItem = i
|
|
end
|
|
end
|
|
|
|
window.contentLayout:addChild(GUI.text(1, 1, 0x2D2D2D, localization.systemRAM))
|
|
|
|
local RAMComboBox = window.contentLayout:addChild(GUI.comboBox(1, 1, 36, 3, 0xE1E1E1, 0x696969, 0xD2D2D2, 0xA5A5A5))
|
|
RAMComboBox.dropDownMenu.itemHeight = 1
|
|
|
|
local function update()
|
|
local libraries = {}
|
|
for key, value in pairs(package.loaded) do
|
|
if _G[key] ~= value then
|
|
table.insert(libraries, key)
|
|
end
|
|
end
|
|
|
|
table.sort(libraries, function(a, b) return unicode.lower(a) < unicode.lower(b) end)
|
|
|
|
RAMComboBox:clear()
|
|
for i = 1, #libraries do
|
|
RAMComboBox:addItem(libraries[i])
|
|
end
|
|
|
|
workspace:draw()
|
|
end
|
|
|
|
window.contentLayout:addChild(GUI.button(1, 1, 36, 3, 0xE1E1E1, 0x696969, 0x696969, 0xE1E1E1, localization.systemUnload)).onTouch = function()
|
|
package.loaded[RAMComboBox:getItem(RAMComboBox.selectedItem).text] = nil
|
|
update()
|
|
end
|
|
|
|
local switch = window.contentLayout:addChild(GUI.switchAndLabel(1, 1, 36, 8, 0x66DB80, 0xE1E1E1, 0xFFFFFF, 0xA5A5A5, localization.systemUnloading .. ":", userSettings.packageUnloading)).switch
|
|
switch.onStateChanged = function()
|
|
userSettings.packageUnloading = switch.state
|
|
system.setPackageUnloading(userSettings.packageUnloading)
|
|
system.saveUserSettings()
|
|
end
|
|
|
|
window.contentLayout:addChild(GUI.textBox(1, 1, 36, 1, nil, 0xA5A5A5, {localization.systemInfo}, 1, 0, 0, true, true))
|
|
|
|
update()
|
|
|
|
workspace:draw()
|
|
end
|
|
|
|
--------------------------------------------------------------------------------
|
|
|
|
return module
|
|
|