From b98a4f39fd9e70e4ab3af63c1f41521f7fbd2375 Mon Sep 17 00:00:00 2001 From: Igor Timofeev Date: Thu, 12 Apr 2018 14:24:29 +0300 Subject: [PATCH] =?UTF-8?q?=D0=A4=D0=B8=D1=87=D0=B0=20=D0=BD=D0=B5=D0=B4?= =?UTF-8?q?=D0=B0=D0=B2=D0=BD=D0=B8=D1=85=20=D1=84=D0=B0=D0=B9=D0=BB=D0=BE?= =?UTF-8?q?=D0=B2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Applications/PictureEdit/Main.lua | 26 ++++++++++++++++++++++++-- lib/GUI.lua | 4 ++-- 2 files changed, 26 insertions(+), 4 deletions(-) diff --git a/Applications/PictureEdit/Main.lua b/Applications/PictureEdit/Main.lua index a2682a21..ee8ab47c 100644 --- a/Applications/PictureEdit/Main.lua +++ b/Applications/PictureEdit/Main.lua @@ -13,11 +13,12 @@ local MineOSInterface = require("MineOSInterface") local resourcesPath = MineOSCore.getCurrentScriptDirectory() local toolsPath = resourcesPath .. "Tools/" -local configPath = MineOSPaths.applicationData .. "Picture Edit/Config.cfg" +local configPath = MineOSPaths.applicationData .. "Picture Edit/Config2.cfg" local savePath local config = { recentColors = {}, + recentFiles = {}, transparencyBackground = 0xFFFFFF, transparencyForeground = 0xD2D2D2, } @@ -51,6 +52,17 @@ local function loadConfig() end end +local function addRecentFile(path) + for i = 1, #config.recentFiles do + if config.recentFiles[i] == path then + return + end + end + + table.insert(config.recentFiles, 1, path) + saveConfig() +end + loadConfig() local mainContainer = GUI.fullScreenContainer() @@ -318,6 +330,7 @@ local function loadImage(path) local result, reason = image.load(path) if result then savePath = path + addRecentFile(path) mainContainer.image.data = result mainContainer.image.reposition() else @@ -329,12 +342,12 @@ local function saveImage(path) local result, reason = image.save(path, mainContainer.image.data, 6) if result then savePath = path + addRecentFile(path) else GUI.error(reason) end end - mainContainer.menu:addItem("PE", 0x00B6FF) local fileItem = mainContainer.menu:addItem("File") @@ -358,6 +371,15 @@ fileItem.onTouch = function() end end + local subMenu = menu:addSubMenu("Open recent", #config.recentFiles == 0) + for i = 1, #config.recentFiles do + subMenu:addItem(string.limit(config.recentFiles[i], 32, "left")).onTouch = function() + loadImage(config.recentFiles[i]) + end + end + + menu:addSeparator() + menu:addItem("Save", not savePath).onTouch = function() saveImage(savePath) end diff --git a/lib/GUI.lua b/lib/GUI.lua index 62006d0f..69d396b1 100755 --- a/lib/GUI.lua +++ b/lib/GUI.lua @@ -1482,8 +1482,8 @@ local function contextMenuAddSeparator(menu, ...) return dropDownMenuAddSeparator(menu, ...) end -local function contextMenuAddSubMenu(menu, text) - local item = menu:addItem(text, false, "►") +local function contextMenuAddSubMenu(menu, text, disabled) + local item = menu:addItem(text, disabled, "►") item.subMenu = GUI.contextMenu(1, 1) item.subMenu.colors = menu.colors