From 6f1a6dbc280280023160ddd6641c2ccdda08b2a0 Mon Sep 17 00:00:00 2001 From: Dyllan McCreary Date: Tue, 24 Apr 2018 23:34:25 -0700 Subject: [PATCH] + recieve updated settings messages from pop-up window and handle them --- js/YouTube/youtube.js | 40 +++++++++++++++++++++++++++++++--------- js/global.js | 24 +++++++++++++++++++++--- 2 files changed, 52 insertions(+), 12 deletions(-) diff --git a/js/YouTube/youtube.js b/js/YouTube/youtube.js index a912b47..0466ecc 100644 --- a/js/YouTube/youtube.js +++ b/js/YouTube/youtube.js @@ -1,8 +1,28 @@ var selectedClickable; var sideBarIndex = -1; var deselectTimeout; +var deselectTiming; const topBarHeight = 55; +updateSettings(); + +function updateSettings() { + chrome.storage.sync.get( ["select-time"], function( results ) { + if ( results["select-time"] === "never" ) { + deselectTiming = "never"; + return; + } + + deselectTiming = results["select-time"] ? results["select-time"] * 1000 : deselectTiming; + } ); +} + +chrome.runtime.onMessage.addListener( function( req ) { + if ( req.type === "settings-updated" ) { + updateSettings(); + } +} ); + // A Button "clicks" on the video window.addEventListener( "abuttonpressed", function() { if ( !selectedClickable ) { @@ -157,17 +177,19 @@ function scheduleDeselectTimeout() { window.clearTimeout( deselectTimeout ); } - deselectTimeout = setTimeout( function() { - if ( selectedClickable ) { - deselectVideo( selectedClickable ); - } + if ( deselectTiming !== "never" ) { + deselectTimeout = setTimeout( function() { + if ( selectedClickable ) { + deselectVideo( selectedClickable ); + } - if ( isSidebarOpen() ) { - toggleSidebarView(); - } + if ( isSidebarOpen() ) { + toggleSidebarView(); + } - deselectTimeout = undefined; - }, 20000 ); + deselectTimeout = undefined; + }, deselectTiming ); + } } function isValidElement( elem ) { diff --git a/js/global.js b/js/global.js index c8b3f75..09bc547 100644 --- a/js/global.js +++ b/js/global.js @@ -2,9 +2,27 @@ * Contains all features that are not site-specific. */ -// TODO make these options changeable in the extension button drop-down -let scrollMultiplier = 13; -let scrollSprintMultiplier = 2; +var scrollMultiplier; +var scrollSprintMultiplier; + +updateSettings(); + +function updateSettings() { + chrome.storage.sync.get( ["scroll-sensitivity", "scroll-sprint"], function( results ) { + scrollMultiplier = results["scroll-sensitivity"] ? results["scroll-sensitivity"] : scrollMultiplier; + scrollSprintMultiplier = results["scroll-sprint"] ? results["scroll-sprint"] : scrollSprintMultiplier; + } ); +}; + +chrome.runtime.onMessage.addListener( function( req ) { + // Repeat code because updateSettings can't be used. + if ( req.type === "settings-updated" ) { + chrome.storage.sync.get( ["scroll-sensitivity", "scroll-sprint"], function( results ) { + scrollMultiplier = results["scroll-sensitivity"] ? results["scroll-sensitivity"] : scrollMultiplier; + scrollSprintMultiplier = results["scroll-sprint"] ? results["scroll-sprint"] : scrollSprintMultiplier; + } ); + } +} ); // Scrolling window.addEventListener( "rightanalogverticalpoll", function( e ) {