From 8f766bcbaad8da0ea3ec6f22e56fb9f893f27867 Mon Sep 17 00:00:00 2001 From: Araxeus Date: Sun, 2 May 2021 23:41:16 +0300 Subject: [PATCH] resolve merge conflict --- plugins/taskbar-mediacontrol/back.js | 86 +++++++++++++--------------- 1 file changed, 41 insertions(+), 45 deletions(-) diff --git a/plugins/taskbar-mediacontrol/back.js b/plugins/taskbar-mediacontrol/back.js index a8133539..46cb399e 100644 --- a/plugins/taskbar-mediacontrol/back.js +++ b/plugins/taskbar-mediacontrol/back.js @@ -2,57 +2,53 @@ const getSongControls = require('../../providers/song-controls'); const getSongInfo = require('../../providers/song-info'); const path = require('path'); +let controls; +let currentSongInfo; + module.exports = win => { - win.hide = function () { - win.minimize(); - win.setSkipTaskbar(true); - }; - - const show = win.show; - win.show = function () { - win.restore(); - win.focus(); - win.setSkipTaskbar(false); - show.apply(win); - }; - - win.isVisible = function () { - return !win.isMinimized(); - }; - const registerCallback = getSongInfo(win); - const {playPause, next, previous} = getSongControls(win); + const { playPause, next, previous } = getSongControls(win); + controls = { playPause, next, previous }; - // If the page is ready, register the callback - win.once('ready-to-show', () => { - registerCallback(songInfo => { - // Wait for song to start before setting thumbar - if (songInfo.title === '') { - return; - } - - // Win32 require full rewrite of components - win.setThumbarButtons([ - { - tooltip: 'Previous', - icon: get('backward.png'), - click() {previous(win.webContents);} - }, { - tooltip: 'Play/Pause', - // Update icon based on play state - icon: songInfo.isPaused ? get('play.png') : get('pause.png'), - click() {playPause(win.webContents);} - }, { - tooltip: 'Next', - icon: get('forward.png'), - click() {next(win.webContents);} - } - ]); - }); + registerCallback(songInfo => { + //update currentsonginfo for win.on('show') + currentSongInfo = songInfo; + // update thumbar + setThumbar(win, songInfo); }); + + // need to set thumbar again after win.show + win.on("show", () => { + setThumbar(win, currentSongInfo) + }) }; +function setThumbar(win, songInfo) { + // Wait for song to start before setting thumbar + if (!songInfo?.title) { + return; + } + + // Win32 require full rewrite of components + win.setThumbarButtons([ + { + tooltip: 'Previous', + icon: get('backward.png'), + click() { controls.previous(win.webContents); } + }, { + tooltip: 'Play/Pause', + // Update icon based on play state + icon: songInfo.isPaused ? get('play.png') : get('pause.png'), + click() { controls.playPause(win.webContents); } + }, { + tooltip: 'Next', + icon: get('forward.png'), + click() { controls.next(win.webContents); } + } + ]); +} + // Util function get(file) { - return path.join(__dirname,"assets", file); + return path.join(__dirname, "assets", file); }