From fe8f048571b3386117880b85adab9c43704d9b56 Mon Sep 17 00:00:00 2001 From: Araxeus <78568641+Araxeus@users.noreply.github.com> Date: Fri, 26 Mar 2021 04:07:45 +0300 Subject: [PATCH 1/2] add Download Folder Chooser --- plugins/downloader/menu.js | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/plugins/downloader/menu.js b/plugins/downloader/menu.js index 4eda01a5..14419e0c 100644 --- a/plugins/downloader/menu.js +++ b/plugins/downloader/menu.js @@ -9,6 +9,8 @@ const ytpl = require("ytpl"); const { sendError } = require("./back"); const { defaultMenuDownloadLabel, getFolder } = require("./utils"); +const { setOptions } = require('../../config/plugins') +const { dialog } = require('electron'); let downloadLabel = defaultMenuDownloadLabel; module.exports = (win, options, refreshMenu) => [ @@ -60,4 +62,17 @@ module.exports = (win, options, refreshMenu) => [ }); }, }, + { + label: 'Choose download folder:', + click: () => { + let result = dialog.showOpenDialogSync({ + properties: ['openDirectory', 'createDirectory'], + defaultPath: Array.isArray(options.downloadFolder) ? options.downloadFolder[0] : undefined, + }) + if(result) { + options.downloadFolder = result + setOptions("downloader", options) + } //else = user pressed cancel + } + }, ]; From 33fa9f8f5073857d0bc3dc52a3b557b7f6ed145e Mon Sep 17 00:00:00 2001 From: Araxeus <78568641+Araxeus@users.noreply.github.com> Date: Fri, 26 Mar 2021 17:52:23 +0300 Subject: [PATCH 2/2] fix array input + use getFolder() --- plugins/downloader/menu.js | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/plugins/downloader/menu.js b/plugins/downloader/menu.js index 14419e0c..b9d39292 100644 --- a/plugins/downloader/menu.js +++ b/plugins/downloader/menu.js @@ -67,11 +67,11 @@ module.exports = (win, options, refreshMenu) => [ click: () => { let result = dialog.showOpenDialogSync({ properties: ['openDirectory', 'createDirectory'], - defaultPath: Array.isArray(options.downloadFolder) ? options.downloadFolder[0] : undefined, + defaultPath: getFolder(options.downloadFolder), }) if(result) { - options.downloadFolder = result - setOptions("downloader", options) + options.downloadFolder = result[0]; + setOptions("downloader", options); } //else = user pressed cancel } },