Add recent files to file menu

This commit is contained in:
Skyler Lehmkuhl 2024-12-24 17:14:13 -05:00
parent 265e309e40
commit 9e9135f895
2 changed files with 27 additions and 7 deletions

View File

@ -2700,6 +2700,7 @@ async function saveAs() {
} }
async function _open(path) { async function _open(path) {
closeDialog()
try { try {
const contents = await readTextFile(path) const contents = await readTextFile(path)
let file = JSON.parse(contents) let file = JSON.parse(contents)
@ -2746,7 +2747,6 @@ async function _open(path) {
} }
async function open() { async function open() {
closeDialog()
const path = await openFileDialog({ const path = await openFileDialog({
multiple: false, multiple: false,
directory: false, directory: false,
@ -4957,6 +4957,15 @@ async function updateMenu() {
let newFrameMenuItem; let newFrameMenuItem;
let newKeyframeMenuItem; let newKeyframeMenuItem;
let deleteFrameMenuItem; let deleteFrameMenuItem;
let recentFilesList = []
config.recentFiles.forEach((file) => {
recentFilesList.push({
text: file,
enabled: true,
action: () => { _open(file) }
})
})
activeKeyframe = false activeKeyframe = false
if (context.activeObject.activeLayer.frames[context.activeObject.currentFrameNum]) { if (context.activeObject.activeLayer.frames[context.activeObject.currentFrameNum]) {
@ -5008,6 +5017,10 @@ async function updateMenu() {
action: saveAs, action: saveAs,
accelerator: getShortcut("saveAs") accelerator: getShortcut("saveAs")
}, },
await Submenu.new({
text: "Open Recent",
items: recentFilesList
}),
{ {
text: 'Open File...', text: 'Open File...',
enabled: true, enabled: true,

View File

@ -230,12 +230,19 @@ if (!window.__TAURI__) {
menu = new Menu() menu = new Menu()
for (let i in items) { for (let i in items) {
let item = items[i] let item = items[i]
menuItem = new MenuItem({ if (item instanceof Menu) {
label: item.text, menuItem = new MenuItem({
enabled: item.enabled, label: item.text,
click: item.action, submenu: item
accelerator: item.accelerator })
}) } else {
menuItem = new MenuItem({
label: item.text,
enabled: item.enabled,
click: item.action,
accelerator: item.accelerator
})
}
menu.append(menuItem) menu.append(menuItem)
} }
menu.text = params.text menu.text = params.text