diff --git a/Applications/Lua.app/Icon.pic b/Applications/Lua.app/Icon.pic index eada71e8..bb31ea33 100644 Binary files a/Applications/Lua.app/Icon.pic and b/Applications/Lua.app/Icon.pic differ diff --git a/Applications/Lua.app/Main.lua b/Applications/Lua.app/Main.lua index bf33099a..d95a4407 100644 --- a/Applications/Lua.app/Main.lua +++ b/Applications/Lua.app/Main.lua @@ -18,7 +18,7 @@ local lines = { } local treePanel = window:addChild(GUI.panel(1, 1, 22, 3, 0x2D2D2D)) -local tree = window:addChild(GUI.tree(1, 4, treePanel.width, 1, 0x2D2D2D, 0xE1E1E1, 0x969696, 0x696969, 0xE1E1E1, 0x2D2D2D, 0x696969, 0x696969, 0x4B4B4B, 0x696969, GUI.IO_MODE_BOTH, GUI.IO_MODE_BOTH)) +local tree = window:addChild(GUI.tree(1, 4, treePanel.width, 1, 0x2D2D2D, 0xD2D2D2, 0x878787, 0x696969, 0xE1E1E1, 0x2D2D2D, 0x696969, 0x696969, 0x4B4B4B, 0x696969, GUI.IO_MODE_BOTH, GUI.IO_MODE_BOTH)) local textBox = window:addChild(GUI.textBox(1, 2, 1, 1, nil, 0x3C3C3C, lines, 1, 0, 0, true)) textBox.passScreenEvents = true diff --git a/Applications/VK.app/Main.lua b/Applications/VK.app/Main.lua index f289a092..b6a2b1ee 100644 --- a/Applications/VK.app/Main.lua +++ b/Applications/VK.app/Main.lua @@ -120,7 +120,7 @@ local function request(url, postData, headers) return data else - GUI.alert("Failed to perform internet request: ") + GUI.alert("Failed to perform internet request: " .. tostring(reason)) end end @@ -1661,7 +1661,7 @@ local function login() passwordInput.onInputFinished = usernameInput.onInputFinished loginButton.onTouch = function() - local result, reason = request("https://oauth.vk.com/token?grant_type=password&client_id=3697615&client_secret=AlVXZFMUqyrnABp8ncuU&username=" .. usernameInput.text .. "&password=" .. passwordInput.text .. "&v=" .. VKAPIVersion) + local result, reason = request("https://oauth.vk.com/token?grant_type=password&client_id=3697615&client_secret=AlVXZFMUqyrnABp8ncuU&username=" .. internet.encode(usernameInput.text) .. "&password=" .. internet.encode(passwordInput.text) .. "&v=" .. VKAPIVersion) if result then if result.access_token then currentAccessToken = result.access_token diff --git a/Libraries/GUI.lua b/Libraries/GUI.lua index 537e422e..12d99eaf 100755 --- a/Libraries/GUI.lua +++ b/Libraries/GUI.lua @@ -4206,30 +4206,32 @@ local function windowCheck(window, x, y) end local function windowEventHandler(workspace, window, e1, e2, e3, e4, ...) - if e1 == "touch" then - if not windowCheck(window, e3, e4) then - window.lastTouchX, window.lastTouchY = e3, e4 - end - - if window ~= window.parent.children[#window.parent.children] then - window:moveToFront() - - if window.onFocus then - window.onFocus(workspace, window, e1, e2, e3, e4, ...) + if window.movingEnabled then + if e1 == "touch" then + if not windowCheck(window, e3, e4) then + window.lastTouchX, window.lastTouchY = e3, e4 end - workspace:draw() + if window ~= window.parent.children[#window.parent.children] then + window:moveToFront() + + if window.onFocus then + window.onFocus(workspace, window, e1, e2, e3, e4, ...) + end + + workspace:draw() + end + elseif e1 == "drag" and window.lastTouchX and not windowCheck(window, e3, e4) then + local xOffset, yOffset = e3 - window.lastTouchX, e4 - window.lastTouchY + if xOffset ~= 0 or yOffset ~= 0 then + window.localX, window.localY = window.localX + xOffset, window.localY + yOffset + window.lastTouchX, window.lastTouchY = e3, e4 + + workspace:draw() + end + elseif e1 == "drop" then + window.lastTouchX, window.lastTouchY = nil, nil end - elseif e1 == "drag" and window.lastTouchX and not windowCheck(window, e3, e4) then - local xOffset, yOffset = e3 - window.lastTouchX, e4 - window.lastTouchY - if xOffset ~= 0 or yOffset ~= 0 then - window.localX, window.localY = window.localX + xOffset, window.localY + yOffset - window.lastTouchX, window.lastTouchY = e3, e4 - - workspace:draw() - end - elseif e1 == "drop" then - window.lastTouchX, window.lastTouchY = nil, nil end end @@ -4242,7 +4244,7 @@ local function windowResize(window, width, height) return window end -local function windowMaximize(window) +function GUI.windowMaximize(window) if window.maximized then window.localX, window.localY = window.oldGeometryX, window.oldGeometryY window:resize(window.oldGeometryWidth, window.oldGeometryHeight) @@ -4255,7 +4257,7 @@ local function windowMaximize(window) window.maximized = not window.maximized end -local function windowMinimize(window) +function GUI.windowMinimize(window) window.hidden = not window.hidden end @@ -4265,10 +4267,11 @@ function GUI.window(x, y, width, height) window.passScreenEvents = false window.resize = windowResize - window.maximize = windowMaximize - window.minimize = windowMinimize + window.maximize = GUI.windowMaximize + window.minimize = GUI.windowMinimize window.eventHandler = windowEventHandler window.draw = windowDraw + window.movingEnabled = true return window end diff --git a/Libraries/System.lua b/Libraries/System.lua index 988d30bf..b6d7b50f 100755 --- a/Libraries/System.lua +++ b/Libraries/System.lua @@ -1485,7 +1485,26 @@ local function updateMenu() desktopMenu.children = focusedWindow and focusedWindow.menu.children or system.menuInitialChildren end +local function setWorkspaceHidden(state) + dockContainer.hidden = state + desktopIconField.hidden = state + desktopBackground.hidden = state +end + +local function windowMaximize(window, ...) + window.movingEnabled = window.maximized + setWorkspaceHidden(not window.maximized) + GUI.windowMaximize(window, ...) +end + +local function windowMinimize(...) + setWorkspaceHidden(false) + GUI.windowMinimize(...) +end + local function windowRemove(window) + setWorkspaceHidden(false) + if window.dockIcon then -- Удаляем ссылку на окно из докиконки window.dockIcon.windows[window] = nil @@ -1582,6 +1601,8 @@ function system.addWindow(window, dontAddToDock, preserveCoordinates) -- "Закрытие" акошычка window.remove = windowRemove + window.maximize = windowMaximize + window.minimize = windowMinimize -- Кнопочкам тоже эту хуйню пихаем if window.actionButtons then