From 17a24cbb04fee48975b917f8393a3088e227460e Mon Sep 17 00:00:00 2001 From: Araxeus <78568641+Araxeus@users.noreply.github.com> Date: Wed, 12 Jan 2022 14:29:56 +0200 Subject: [PATCH 1/2] set badge on downloader playlist --- plugins/downloader/menu.js | 16 +++++++++------- plugins/downloader/utils.js | 7 +++++++ 2 files changed, 16 insertions(+), 7 deletions(-) diff --git a/plugins/downloader/menu.js b/plugins/downloader/menu.js index a1ae503a6..c9c21313b 100644 --- a/plugins/downloader/menu.js +++ b/plugins/downloader/menu.js @@ -8,7 +8,7 @@ const chokidar = require('chokidar'); const { setOptions } = require("../../config/plugins"); const { sendError } = require("./back"); -const { defaultMenuDownloadLabel, getFolder, presets } = require("./utils"); +const { defaultMenuDownloadLabel, getFolder, presets, setBadge } = require("./utils"); let downloadLabel = defaultMenuDownloadLabel; let playingPlaylistId = undefined; @@ -70,19 +70,21 @@ module.exports = (win, options) => { ); } - const steps = 1 / playlist.items.length; - let progress = 0; - win.setProgressBar(2); // starts with indefinite bar + let downloadCount = 0; + setBadge(playlist.items.length); + let dirWatcher = chokidar.watch(playlistFolder); dirWatcher.on('add', () => { - progress += steps; - if (progress >= 0.9999) { + downloadCount += 1; + if (downloadCount >= playlist.items.length) { win.setProgressBar(-1); // close progress bar + setBadge(0); // close badge counter dirWatcher.close().then(() => dirWatcher = null); } else { - win.setProgressBar(progress); + win.setProgressBar(downloadCount / playlist.items.length); + setBadge(playlist.items.length - downloadCount); } }); diff --git a/plugins/downloader/utils.js b/plugins/downloader/utils.js index 9e17c04d4..a716c891e 100644 --- a/plugins/downloader/utils.js +++ b/plugins/downloader/utils.js @@ -1,4 +1,5 @@ const electron = require("electron"); +const is = require('electron-is'); module.exports.getFolder = customFolder => customFolder || electron.app.getPath("downloads"); module.exports.defaultMenuDownloadLabel = "Download playlist"; @@ -37,3 +38,9 @@ module.exports.presets = { ffmpegArgs: ["-acodec", "libopus"], }, }; + +module.exports.setBadge = num => { + if (is.linux() || is.macOS()) { + electron.app.badgeCount = num; + } +} From 57ace9d504e473448c92d4001084328acbe06856 Mon Sep 17 00:00:00 2001 From: Araxeus <78568641+Araxeus@users.noreply.github.com> Date: Fri, 14 Jan 2022 00:08:43 +0200 Subject: [PATCH 2/2] lint --- plugins/downloader/menu.js | 2 +- plugins/downloader/utils.js | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/plugins/downloader/menu.js b/plugins/downloader/menu.js index c9c21313b..6f3bfa5e6 100644 --- a/plugins/downloader/menu.js +++ b/plugins/downloader/menu.js @@ -77,7 +77,7 @@ module.exports = (win, options) => { let dirWatcher = chokidar.watch(playlistFolder); dirWatcher.on('add', () => { - downloadCount += 1; + downloadCount++; if (downloadCount >= playlist.items.length) { win.setProgressBar(-1); // close progress bar setBadge(0); // close badge counter diff --git a/plugins/downloader/utils.js b/plugins/downloader/utils.js index a716c891e..701601889 100644 --- a/plugins/downloader/utils.js +++ b/plugins/downloader/utils.js @@ -39,8 +39,8 @@ module.exports.presets = { }, }; -module.exports.setBadge = num => { +module.exports.setBadge = n => { if (is.linux() || is.macOS()) { - electron.app.badgeCount = num; + electron.app.setBadgeCount(n); } }