mirror of
https://github.com/IgorTimofeev/MineOS.git
synced 2026-01-06 11:12:40 +01:00
НИТРОГАЙТИ МОЙ ФАЙНДЕР
This commit is contained in:
parent
6404672f23
commit
a6219cd4c5
@ -13,46 +13,98 @@ local args, options = require("shell").parse(...)
|
||||
|
||||
------------------------------------------------------------------------------------------------------
|
||||
|
||||
local mainContainer, window = MineOSInterface.addWindow(MineOSInterface.filledWindow(1, 1, 88, 26, 0xF0F0F0))
|
||||
|
||||
local iconFieldYOffset = 2
|
||||
local scrollTimerID
|
||||
|
||||
local favourites = {
|
||||
{text = "Root", path = "/"},
|
||||
{text = "Desktop", path = MineOSPaths.desktop},
|
||||
{text = "Applications", path = MineOSPaths.applications},
|
||||
{text = "Pictures", path = MineOSPaths.pictures},
|
||||
{text = "System", path = MineOSPaths.system},
|
||||
{text = "Libraries", path = "/lib/"},
|
||||
{text = "Trash", path = MineOSPaths.trash},
|
||||
}
|
||||
local resourcesPath = MineOSCore.getCurrentScriptDirectory()
|
||||
local favouritesPath = MineOSPaths.applicationData .. "Finder/Favourites.cfg"
|
||||
local favouritesPath = MineOSPaths.applicationData .. "Finder/Favourites2.cfg"
|
||||
|
||||
local iconFieldYOffset = 2
|
||||
local scrollTimerID
|
||||
|
||||
local workpathHistory = {}
|
||||
local workpathHistoryCurrent = 0
|
||||
|
||||
------------------------------------------------------------------------------------------------------
|
||||
|
||||
local mainContainer, window = MineOSInterface.addWindow(MineOSInterface.filledWindow(1, 1, 88, 26, 0xF0F0F0))
|
||||
|
||||
local titlePanel = window:addChild(GUI.panel(1, 1, 1, 3, 0xE1E1E1))
|
||||
|
||||
local prevButton = window:addChild(GUI.adaptiveRoundedButton(9, 2, 1, 0, 0xFFFFFF, 0x3C3C3C, 0x3C3C3C, 0xFFFFFF, "<"))
|
||||
prevButton.onTouch = function()
|
||||
prevOrNextWorkpath(false)
|
||||
end
|
||||
prevButton.colors.disabled.background = prevButton.colors.default.background
|
||||
prevButton.colors.disabled.text = 0xC3C3C3
|
||||
|
||||
local nextButton = window:addChild(GUI.adaptiveRoundedButton(14, 2, 1, 0, 0xFFFFFF, 0x3C3C3C, 0x3C3C3C, 0xFFFFFF, ">"))
|
||||
nextButton.onTouch = function()
|
||||
prevOrNextWorkpath(true)
|
||||
end
|
||||
nextButton.colors.disabled = prevButton.colors.disabled
|
||||
|
||||
local sidebarContainer = window:addChild(GUI.container(1, 4, 20, 1))
|
||||
sidebarContainer.panel = sidebarContainer:addChild(GUI.panel(1, 1, sidebarContainer.width, 1, 0xFFFFFF, MineOSCore.properties.transparencyEnabled and 0.24))
|
||||
sidebarContainer.itemsContainer = sidebarContainer:addChild(GUI.container(1, 1, sidebarContainer.width, 1))
|
||||
|
||||
local searchInput = window:addChild(GUI.input(1, 2, 36, 1, 0xFFFFFF, 0x696969, 0xA5A5A5, 0xFFFFFF, 0x2D2D2D, nil, MineOSCore.localization.search, true))
|
||||
searchInput.onInputFinished = function()
|
||||
iconField.filenameMatcher = searchInput.text
|
||||
iconField.fromFile = 1
|
||||
iconField.yOffset = iconFieldYOffset
|
||||
|
||||
updateFileListAndDraw()
|
||||
end
|
||||
|
||||
local iconField = window:addChild(
|
||||
MineOSInterface.iconField(
|
||||
1, 4, 1, 1, 2, 2, 0x3C3C3C, 0x3C3C3C,
|
||||
MineOSPaths.desktop
|
||||
)
|
||||
)
|
||||
|
||||
local scrollBar = window:addChild(GUI.scrollBar(1, 4, 1, 1, 0xC3C3C3, 0x444444, iconFieldYOffset, 1, 1, 1, 1, true))
|
||||
|
||||
local statusBar = window:addChild(GUI.object(1, 1, 1, 1))
|
||||
statusBar.draw = function(object)
|
||||
buffer.square(object.x, object.y, object.width, object.height, 0xFFFFFF, 0x3C3C3C, " ")
|
||||
buffer.text(object.x + 1, object.y, 0x3C3C3C, string.limit(("root/" .. iconField.workpath):gsub("/+$", ""):gsub("%/+", " ► "), object.width - 1, "start"))
|
||||
end
|
||||
statusBar.eventHandler = function(mainContainer, object, eventData)
|
||||
if (eventData[1] == "component_added" or eventData[1] == "component_removed") and eventData[3] == "filesystem" then
|
||||
updateSidebar()
|
||||
MineOSInterface.OSDraw()
|
||||
elseif eventData[1] == "MineOSNetwork" then
|
||||
if eventData[2] == "updateProxyList" or eventData[2] == "timeout" then
|
||||
updateSidebar()
|
||||
MineOSInterface.OSDraw()
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
local sidebarResizer = window:addChild(GUI.resizer(1, 4, 3, 5, 0xFFFFFF, 0x0))
|
||||
|
||||
------------------------------------------------------------------------------------------------------
|
||||
|
||||
local function saveFavourites()
|
||||
table.toFile(favouritesPath, favourites)
|
||||
end
|
||||
|
||||
if fs.exists(favouritesPath) then
|
||||
favourites = table.fromFile(favouritesPath)
|
||||
else
|
||||
saveFavourites()
|
||||
end
|
||||
|
||||
------------------------------------------------------------------------------------------------------
|
||||
|
||||
local workpathHistory = {}
|
||||
local workpathHistoryCurrent = 0
|
||||
|
||||
local function updateFileListAndDraw()
|
||||
window.iconField:updateFileList()
|
||||
mainContainer:draw()
|
||||
buffer.draw()
|
||||
iconField:updateFileList()
|
||||
MineOSInterface.OSDraw()
|
||||
end
|
||||
|
||||
local function workpathHistoryButtonsUpdate()
|
||||
window.prevButton.disabled = workpathHistoryCurrent <= 1
|
||||
window.nextButton.disabled = workpathHistoryCurrent >= #workpathHistory
|
||||
prevButton.disabled = workpathHistoryCurrent <= 1
|
||||
nextButton.disabled = workpathHistoryCurrent >= #workpathHistory
|
||||
end
|
||||
|
||||
local function addWorkpath(path)
|
||||
@ -63,9 +115,9 @@ local function addWorkpath(path)
|
||||
end
|
||||
|
||||
workpathHistoryButtonsUpdate()
|
||||
window.searchInput.text = ""
|
||||
window.iconField.yOffset = iconFieldYOffset
|
||||
window.iconField:setWorkpath(path)
|
||||
searchInput.text = ""
|
||||
iconField.yOffset = iconFieldYOffset
|
||||
iconField:setWorkpath(path)
|
||||
end
|
||||
|
||||
local function prevOrNextWorkpath(next)
|
||||
@ -80,8 +132,8 @@ local function prevOrNextWorkpath(next)
|
||||
end
|
||||
|
||||
workpathHistoryButtonsUpdate()
|
||||
window.iconField.yOffset = iconFieldYOffset
|
||||
window.iconField:setWorkpath(workpathHistory[workpathHistoryCurrent])
|
||||
iconField.yOffset = iconFieldYOffset
|
||||
iconField:setWorkpath(workpathHistory[workpathHistoryCurrent])
|
||||
|
||||
updateFileListAndDraw()
|
||||
end
|
||||
@ -89,10 +141,10 @@ end
|
||||
------------------------------------------------------------------------------------------------------
|
||||
|
||||
local function newSidebarItem(textColor, text, path)
|
||||
local object = window.sidebarContainer.itemsContainer:addChild(
|
||||
local object = sidebarContainer.itemsContainer:addChild(
|
||||
GUI.object(
|
||||
1,
|
||||
#window.sidebarContainer.itemsContainer.children > 0 and window.sidebarContainer.itemsContainer.children[#window.sidebarContainer.itemsContainer.children].localY + 1 or 1,
|
||||
#sidebarContainer.itemsContainer.children > 0 and sidebarContainer.itemsContainer.children[#sidebarContainer.itemsContainer.children].localY + 1 or 1,
|
||||
1,
|
||||
1
|
||||
)
|
||||
@ -104,12 +156,14 @@ local function newSidebarItem(textColor, text, path)
|
||||
object.path = path
|
||||
|
||||
object.draw = function(object)
|
||||
object.width = window.sidebarContainer.itemsContainer.width
|
||||
object.width = sidebarContainer.itemsContainer.width
|
||||
|
||||
if object.path == window.iconField.workpath then
|
||||
if object.path == iconField.workpath then
|
||||
buffer.square(object.x, object.y, object.width, 1, 0x3366CC, 0xFFFFFF, " ")
|
||||
buffer.text(object.x + 1, object.y, 0xFFFFFF, string.limit(object.text, object.width - 4, "center"))
|
||||
buffer.text(object.x + object.width - 2, object.y, 0xCCFFFF, "x")
|
||||
if object.favouriteIndex and object.favouriteIndex > 1 then
|
||||
buffer.text(object.x + object.width - 2, object.y, 0xCCFFFF, "x")
|
||||
end
|
||||
else
|
||||
buffer.text(object.x + 1, object.y, object.textColor, string.limit(object.text, object.width - 2, "center"))
|
||||
end
|
||||
@ -118,16 +172,14 @@ local function newSidebarItem(textColor, text, path)
|
||||
|
||||
object.eventHandler = function(mainContainer, object, eventData)
|
||||
if eventData[1] == "touch" then
|
||||
if eventData[3] == object.x + object.width - 2 and object.favouriteIndex then
|
||||
if object.favouriteIndex and object.favouriteIndex > 1 and eventData[3] == object.x + object.width - 2 then
|
||||
table.remove(favourites, object.favouriteIndex)
|
||||
saveFavourites()
|
||||
|
||||
computer.pushSignal("Finder", "updateFavourites")
|
||||
elseif fs.isDirectory(object.path) then
|
||||
addWorkpath(object.path)
|
||||
|
||||
mainContainer:draw()
|
||||
buffer.draw()
|
||||
MineOSInterface.OSDraw()
|
||||
|
||||
updateFileListAndDraw()
|
||||
end
|
||||
@ -139,107 +191,82 @@ local function newSidebarItem(textColor, text, path)
|
||||
end
|
||||
|
||||
local function updateSidebar()
|
||||
window.sidebarContainer.itemsContainer:deleteChildren()
|
||||
sidebarContainer.itemsContainer:deleteChildren()
|
||||
|
||||
window.sidebarContainer.itemsContainer:addChild(newSidebarItem(0x3C3C3C, MineOSCore.localization.favourite))
|
||||
sidebarContainer.itemsContainer:addChild(newSidebarItem(0x3C3C3C, MineOSCore.localization.favourite))
|
||||
for i = 1, #favourites do
|
||||
local object = window.sidebarContainer.itemsContainer:addChild(newSidebarItem(0x555555, " " .. fs.name(favourites[i].text), favourites[i].path))
|
||||
local object = sidebarContainer.itemsContainer:addChild(newSidebarItem(0x555555, " " .. fs.name(favourites[i].text), favourites[i].path))
|
||||
object.favouriteIndex = i
|
||||
end
|
||||
|
||||
if MineOSCore.properties.network.enabled and MineOSNetwork.getProxyCount() > 0 then
|
||||
window.sidebarContainer.itemsContainer:addChild(newSidebarItem(0x3C3C3C))
|
||||
window.sidebarContainer.itemsContainer:addChild(newSidebarItem(0x3C3C3C, MineOSCore.localization.network))
|
||||
sidebarContainer.itemsContainer:addChild(newSidebarItem(0x3C3C3C))
|
||||
sidebarContainer.itemsContainer:addChild(newSidebarItem(0x3C3C3C, MineOSCore.localization.network))
|
||||
|
||||
for proxy, path in fs.mounts() do
|
||||
if proxy.network then
|
||||
window.sidebarContainer.itemsContainer:addChild(newSidebarItem(0x555555, " " .. MineOSNetwork.getProxyName(proxy), path .. "/"))
|
||||
sidebarContainer.itemsContainer:addChild(newSidebarItem(0x555555, " " .. MineOSNetwork.getProxyName(proxy), path .. "/"))
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
window.sidebarContainer.itemsContainer:addChild(newSidebarItem(0x3C3C3C))
|
||||
sidebarContainer.itemsContainer:addChild(newSidebarItem(0x3C3C3C))
|
||||
|
||||
window.sidebarContainer.itemsContainer:addChild(newSidebarItem(0x3C3C3C, MineOSCore.localization.mounts))
|
||||
sidebarContainer.itemsContainer:addChild(newSidebarItem(0x3C3C3C, MineOSCore.localization.mounts))
|
||||
for proxy, path in fs.mounts() do
|
||||
if path ~= "/" and not proxy.network then
|
||||
window.sidebarContainer.itemsContainer:addChild(newSidebarItem(0x555555, " " .. (proxy.getLabel() or fs.name(path)), path .. "/"))
|
||||
sidebarContainer.itemsContainer:addChild(newSidebarItem(0x555555, " " .. (proxy.getLabel() or fs.name(path)), path .. "/"))
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
window.titlePanel = window:addChild(GUI.panel(1, 1, 1, 3, 0xE1E1E1))
|
||||
|
||||
window.prevButton = window:addChild(GUI.adaptiveRoundedButton(9, 2, 1, 0, 0xFFFFFF, 0x3C3C3C, 0x3C3C3C, 0xFFFFFF, "<"))
|
||||
window.prevButton.onTouch = function()
|
||||
prevOrNextWorkpath(false)
|
||||
end
|
||||
window.prevButton.colors.disabled.background = window.prevButton.colors.default.background
|
||||
window.prevButton.colors.disabled.text = 0xC3C3C3
|
||||
|
||||
window.nextButton = window:addChild(GUI.adaptiveRoundedButton(14, 2, 1, 0, 0xFFFFFF, 0x3C3C3C, 0x3C3C3C, 0xFFFFFF, ">"))
|
||||
window.nextButton.onTouch = function()
|
||||
prevOrNextWorkpath(true)
|
||||
end
|
||||
window.nextButton.colors.disabled = window.prevButton.colors.disabled
|
||||
|
||||
window.sidebarContainer = window:addChild(GUI.container(1, 4, 20, 1))
|
||||
window.sidebarContainer.panel = window.sidebarContainer:addChild(GUI.panel(1, 1, window.sidebarContainer.width, 1, 0xFFFFFF, MineOSCore.properties.transparencyEnabled and 0.24))
|
||||
window.sidebarContainer.itemsContainer = window.sidebarContainer:addChild(GUI.container(1, 1, window.sidebarContainer.width, 1))
|
||||
|
||||
window.iconField = window:addChild(
|
||||
MineOSInterface.iconField(
|
||||
1, 4, 1, 1, 2, 2, 0x3C3C3C, 0x3C3C3C,
|
||||
MineOSPaths.desktop
|
||||
)
|
||||
)
|
||||
|
||||
local function updateScrollBar()
|
||||
local shownFilesCount = #window.iconField.fileList - window.iconField.fromFile + 1
|
||||
local shownFilesCount = #iconField.fileList - iconField.fromFile + 1
|
||||
|
||||
local horizontalLines = math.ceil(shownFilesCount / window.iconField.iconCount.horizontal)
|
||||
local horizontalLines = math.ceil(shownFilesCount / iconField.iconCount.horizontal)
|
||||
local minimumOffset = 3 - (horizontalLines - 1) * (MineOSCore.properties.iconHeight + MineOSCore.properties.iconVerticalSpaceBetween) - MineOSCore.properties.iconVerticalSpaceBetween
|
||||
|
||||
if window.iconField.yOffset > iconFieldYOffset then
|
||||
window.iconField.yOffset = iconFieldYOffset
|
||||
elseif window.iconField.yOffset < minimumOffset then
|
||||
window.iconField.yOffset = minimumOffset
|
||||
if iconField.yOffset > iconFieldYOffset then
|
||||
iconField.yOffset = iconFieldYOffset
|
||||
elseif iconField.yOffset < minimumOffset then
|
||||
iconField.yOffset = minimumOffset
|
||||
end
|
||||
|
||||
if shownFilesCount > window.iconField.iconCount.total then
|
||||
window.scrollBar.hidden = false
|
||||
window.scrollBar.maximumValue = math.abs(minimumOffset)
|
||||
window.scrollBar.value = math.abs(window.iconField.yOffset - iconFieldYOffset)
|
||||
if shownFilesCount > iconField.iconCount.total then
|
||||
scrollBar.hidden = false
|
||||
scrollBar.maximumValue = math.abs(minimumOffset)
|
||||
scrollBar.value = math.abs(iconField.yOffset - iconFieldYOffset)
|
||||
else
|
||||
window.scrollBar.hidden = true
|
||||
scrollBar.hidden = true
|
||||
end
|
||||
end
|
||||
|
||||
window.iconField.eventHandler = function(mainContainer, object, eventData)
|
||||
iconField.eventHandler = function(mainContainer, object, eventData)
|
||||
if eventData[1] == "scroll" then
|
||||
window.iconField.yOffset = window.iconField.yOffset + eventData[5] * 2
|
||||
iconField.yOffset = iconField.yOffset + eventData[5] * 2
|
||||
|
||||
updateScrollBar()
|
||||
|
||||
local delta = window.iconField.yOffset - window.iconField.iconsContainer.children[1].localY
|
||||
for i = 1, #window.iconField.iconsContainer.children do
|
||||
window.iconField.iconsContainer.children[i].localY = window.iconField.iconsContainer.children[i].localY + delta
|
||||
local delta = iconField.yOffset - iconField.iconsContainer.children[1].localY
|
||||
for i = 1, #iconField.iconsContainer.children do
|
||||
iconField.iconsContainer.children[i].localY = iconField.iconsContainer.children[i].localY + delta
|
||||
end
|
||||
|
||||
mainContainer:draw()
|
||||
buffer.draw()
|
||||
MineOSInterface.OSDraw()
|
||||
|
||||
if scrollTimerID then
|
||||
event.cancel(scrollTimerID)
|
||||
scrollTimerID = nil
|
||||
end
|
||||
|
||||
scrollTimerID = event.timer(0.3, function()
|
||||
computer.pushSignal("Finder", "updateFileList")
|
||||
end, 1)
|
||||
scrollTimerID = event.timer(0.3, function()
|
||||
computer.pushSignal("Finder", "updateFileList")
|
||||
end, 1)
|
||||
elseif eventData[1] == "MineOSCore" or eventData[1] == "Finder" then
|
||||
if eventData[2] == "updateFileList" then
|
||||
window.iconField.yOffset = iconFieldYOffset
|
||||
if eventData[1] == "MineOSCore" then
|
||||
iconField.yOffset = iconFieldYOffset
|
||||
end
|
||||
updateFileListAndDraw()
|
||||
elseif eventData[2] == "updateFavourites" then
|
||||
if eventData[3] then
|
||||
@ -248,120 +275,87 @@ window.iconField.eventHandler = function(mainContainer, object, eventData)
|
||||
saveFavourites()
|
||||
updateSidebar()
|
||||
|
||||
mainContainer:draw()
|
||||
buffer.draw()
|
||||
MineOSInterface.OSDraw()
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
window.iconField.launchers.directory = function(icon)
|
||||
iconField.launchers.directory = function(icon)
|
||||
addWorkpath(icon.path)
|
||||
updateFileListAndDraw()
|
||||
end
|
||||
|
||||
window.iconField.launchers.showPackageContent = function(icon)
|
||||
iconField.launchers.showPackageContent = function(icon)
|
||||
addWorkpath(icon.path)
|
||||
updateFileListAndDraw()
|
||||
end
|
||||
|
||||
window.iconField.launchers.showContainingFolder = function(icon)
|
||||
iconField.launchers.showContainingFolder = function(icon)
|
||||
addWorkpath(fs.path(MineOSCore.readShortcut(icon.path)))
|
||||
updateFileListAndDraw()
|
||||
end
|
||||
|
||||
window.scrollBar = window:addChild(GUI.scrollBar(1, 4, 1, 1, 0xC3C3C3, 0x444444, iconFieldYOffset, 1, 1, 1, 1, true))
|
||||
|
||||
window.searchInput = window:addChild(GUI.input(1, 2, 36, 1, 0xFFFFFF, 0x696969, 0xA5A5A5, 0xFFFFFF, 0x2D2D2D, nil, MineOSCore.localization.search, true))
|
||||
window.searchInput.onInputFinished = function()
|
||||
window.iconField.filenameMatcher = window.searchInput.text
|
||||
window.iconField.fromFile = 1
|
||||
window.iconField.yOffset = iconFieldYOffset
|
||||
|
||||
updateFileListAndDraw()
|
||||
end
|
||||
|
||||
local overrideUpdateFileList = window.iconField.updateFileList
|
||||
window.iconField.updateFileList = function(...)
|
||||
local overrideUpdateFileList = iconField.updateFileList
|
||||
iconField.updateFileList = function(...)
|
||||
overrideUpdateFileList(...)
|
||||
updateScrollBar()
|
||||
end
|
||||
|
||||
window.statusBar = window:addChild(GUI.object(1, 1, 1, 1))
|
||||
window.statusBar.draw = function(object)
|
||||
buffer.square(object.x, object.y, object.width, object.height, 0xFFFFFF, 0x3C3C3C, " ")
|
||||
buffer.text(object.x + 1, object.y, 0x3C3C3C, string.limit(("root/" .. window.iconField.workpath):gsub("/+$", ""):gsub("%/+", " ► "), object.width - 1, "start"))
|
||||
end
|
||||
window.statusBar.eventHandler = function(mainContainer, object, eventData)
|
||||
if (eventData[1] == "component_added" or eventData[1] == "component_removed") and eventData[3] == "filesystem" then
|
||||
updateSidebar()
|
||||
|
||||
mainContainer:draw()
|
||||
buffer.draw()
|
||||
elseif eventData[1] == "MineOSNetwork" then
|
||||
if eventData[2] == "updateProxyList" or eventData[2] == "timeout" then
|
||||
updateSidebar()
|
||||
|
||||
mainContainer:draw()
|
||||
buffer.draw()
|
||||
end
|
||||
end
|
||||
end
|
||||
window.sidebarResizer = window:addChild(GUI.resizer(1, 4, 3, 5, 0xFFFFFF, 0x0))
|
||||
|
||||
local function calculateSizes(width, height)
|
||||
window.sidebarContainer.height = height - 3
|
||||
sidebarContainer.height = height - 3
|
||||
|
||||
window.sidebarContainer.panel.width = window.sidebarContainer.width
|
||||
window.sidebarContainer.panel.height = window.sidebarContainer.height
|
||||
sidebarContainer.panel.width = sidebarContainer.width
|
||||
sidebarContainer.panel.height = sidebarContainer.height
|
||||
|
||||
window.sidebarContainer.itemsContainer.width = window.sidebarContainer.width
|
||||
window.sidebarContainer.itemsContainer.height = window.sidebarContainer.height
|
||||
sidebarContainer.itemsContainer.width = sidebarContainer.width
|
||||
sidebarContainer.itemsContainer.height = sidebarContainer.height
|
||||
|
||||
window.sidebarResizer.localX = window.sidebarContainer.width - 1
|
||||
window.sidebarResizer.localY = math.floor(window.sidebarContainer.localY + window.sidebarContainer.height / 2 - window.sidebarResizer.height / 2 - 1)
|
||||
sidebarResizer.localX = sidebarContainer.width - 1
|
||||
sidebarResizer.localY = math.floor(sidebarContainer.localY + sidebarContainer.height / 2 - sidebarResizer.height / 2 - 1)
|
||||
|
||||
window.backgroundPanel.width = width - window.sidebarContainer.width
|
||||
window.backgroundPanel.width = width - sidebarContainer.width
|
||||
window.backgroundPanel.height = height - 4
|
||||
window.backgroundPanel.localX = window.sidebarContainer.width + 1
|
||||
window.backgroundPanel.localX = sidebarContainer.width + 1
|
||||
window.backgroundPanel.localY = 4
|
||||
|
||||
window.statusBar.localX = window.sidebarContainer.width + 1
|
||||
window.statusBar.localY = height
|
||||
window.statusBar.width = window.backgroundPanel.width
|
||||
statusBar.localX = sidebarContainer.width + 1
|
||||
statusBar.localY = height
|
||||
statusBar.width = window.backgroundPanel.width
|
||||
|
||||
window.titlePanel.width = width
|
||||
window.searchInput.width = math.floor(width * 0.25)
|
||||
window.searchInput.localX = width - window.searchInput.width - 1
|
||||
titlePanel.width = width
|
||||
searchInput.width = math.floor(width * 0.25)
|
||||
searchInput.localX = width - searchInput.width - 1
|
||||
|
||||
window.iconField.width = window.backgroundPanel.width
|
||||
window.iconField.height = height + 4
|
||||
window.iconField.localX = window.backgroundPanel.localX
|
||||
iconField.width = window.backgroundPanel.width
|
||||
iconField.height = height + 4
|
||||
iconField.localX = window.backgroundPanel.localX
|
||||
|
||||
window.scrollBar.localX = window.width
|
||||
window.scrollBar.height = window.backgroundPanel.height
|
||||
window.scrollBar.shownValueCount = window.scrollBar.height - 1
|
||||
scrollBar.localX = window.width
|
||||
scrollBar.height = window.backgroundPanel.height
|
||||
scrollBar.shownValueCount = scrollBar.height - 1
|
||||
|
||||
window.actionButtons:moveToFront()
|
||||
end
|
||||
|
||||
window.onResize = function(width, height)
|
||||
calculateSizes(width, height)
|
||||
window.iconField:updateFileList()
|
||||
MineOSInterface.OSDraw()
|
||||
updateFileListAndDraw()
|
||||
end
|
||||
|
||||
window.sidebarResizer.onResize = function(mainContainer, object, eventData, dragWidth, dragHeight)
|
||||
window.sidebarContainer.width = window.sidebarContainer.width + dragWidth
|
||||
window.sidebarContainer.width = window.sidebarContainer.width >= 5 and window.sidebarContainer.width or 5
|
||||
sidebarResizer.onResize = function(mainContainer, object, eventData, dragWidth, dragHeight)
|
||||
sidebarContainer.width = sidebarContainer.width + dragWidth
|
||||
sidebarContainer.width = sidebarContainer.width >= 5 and sidebarContainer.width or 5
|
||||
calculateSizes(window.width, window.height)
|
||||
end
|
||||
|
||||
window.sidebarResizer.onResizeFinished = function()
|
||||
window.iconField:updateFileList()
|
||||
sidebarResizer.onResizeFinished = function()
|
||||
updateFileListAndDraw()
|
||||
end
|
||||
|
||||
local overrideMaximize = window.actionButtons.maximize.onTouch
|
||||
window.actionButtons.maximize.onTouch = function()
|
||||
window.iconField.yOffset = iconFieldYOffset
|
||||
iconField.yOffset = iconFieldYOffset
|
||||
overrideMaximize()
|
||||
end
|
||||
|
||||
@ -371,7 +365,13 @@ end
|
||||
|
||||
------------------------------------------------------------------------------------------------------
|
||||
|
||||
if options.o and args[1] and fs.isDirectory(args[1]) then
|
||||
if fs.exists(favouritesPath) then
|
||||
favourites = table.fromFile(favouritesPath)
|
||||
else
|
||||
saveFavourites()
|
||||
end
|
||||
|
||||
if (options.o or options.open) and args[1] and fs.isDirectory(args[1]) then
|
||||
addWorkpath(args[1])
|
||||
else
|
||||
addWorkpath("/")
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user