From 3cadcb546396cb390b806908876ef87e0252abf4 Mon Sep 17 00:00:00 2001 From: Ilya Grigorik Date: Thu, 28 Jul 2016 14:09:34 +0200 Subject: [PATCH] shortcut to hide/show controller If manual control is used we override default youtube autohide behavior and yield control to the user. Closes #104, #123. --- inject.css | 6 ++++++ inject.js | 7 +++++++ options.html | 4 ++++ options.js | 6 ++++++ 4 files changed, 23 insertions(+) diff --git a/inject.css b/inject.css index 8764a5e..6fe45da 100644 --- a/inject.css +++ b/inject.css @@ -17,6 +17,12 @@ opacity: 1.0; } +.vsc-hidden { display: none !important; } +.vsc-manual { + visibility: visible !important; + opacity: 1.0 !important; +} + /* YouTube embedded player */ /* e.g. https://www.igvita.com/2012/09/12/web-fonts-performance-making-pretty-fast/ */ .full-frame .html5-video-player:not(.ytp-fullscreen) .vsc-controller { diff --git a/inject.js b/inject.js index 810f8e5..503996a 100644 --- a/inject.js +++ b/inject.js @@ -10,6 +10,7 @@ chrome.extension.sendMessage({}, function(response) { fasterKeyCode: 68, // default: D rewindKeyCode: 90, // default: Z advanceKeyCode: 88, // default: X + displayKeyCode: 86, // default: V rememberSpeed: false, // default: false blacklist: ` www.instagram.com @@ -29,6 +30,7 @@ chrome.extension.sendMessage({}, function(response) { tc.settings.rewindKeyCode = Number(storage.rewindKeyCode); tc.settings.slowerKeyCode = Number(storage.slowerKeyCode); tc.settings.fasterKeyCode = Number(storage.fasterKeyCode); + tc.settings.displayKeyCode = Number(storage.displayKeyCode); tc.settings.advanceKeyCode = Number(storage.advanceKeyCode); tc.settings.rememberSpeed = Boolean(storage.rememberSpeed); tc.settings.blacklist = String(storage.blacklist); @@ -192,6 +194,8 @@ chrome.extension.sendMessage({}, function(response) { runAction('slower', document, true) } else if (keyCode == tc.settings.resetKeyCode) { runAction('reset', document, true) + } else if (keyCode == tc.settings.displayKeyCode) { + runAction('display', document, true) } return false; @@ -277,6 +281,9 @@ chrome.extension.sendMessage({}, function(response) { } else if (action === 'close') { v.classList.add('vsc-cancelled'); controller.remove(); + } else if (action === 'display') { + controller.classList.add('vsc-manual'); + controller.classList.toggle('vsc-hidden'); } } }); diff --git a/options.html b/options.html index 9faf344..3a1d84b 100644 --- a/options.html +++ b/options.html @@ -32,6 +32,10 @@ +
+ + +
diff --git a/options.js b/options.js index 7823e02..841ab60 100644 --- a/options.js +++ b/options.js @@ -8,6 +8,7 @@ var tcDefaults = { fasterKeyCode: 68, // default: D rewindKeyCode: 90, // default: Z advanceKeyCode: 88, // default: X + displayKeyCode: 86, // default: V rememberSpeed: false, // default: false blacklist: ` www.instagram.com @@ -95,6 +96,7 @@ function save_options() { var advanceKeyCode = document.getElementById('advanceKeyInput').keyCode; var slowerKeyCode = document.getElementById('slowerKeyInput').keyCode; var fasterKeyCode = document.getElementById('fasterKeyInput').keyCode; + var displayKeyCode = document.getElementById('displayKeyInput').keyCode; var rememberSpeed = document.getElementById('rememberSpeed').checked; var blacklist = document.getElementById('blacklist').value; @@ -106,6 +108,7 @@ function save_options() { advanceKeyCode = isNaN(advanceKeyCode) ? tcDefaults.advanceKeyCode : advanceKeyCode; slowerKeyCode = isNaN(slowerKeyCode) ? tcDefaults.slowerKeyCode : slowerKeyCode; fasterKeyCode = isNaN(fasterKeyCode) ? tcDefaults.fasterKeyCode : fasterKeyCode; + displayKeyCode = isNaN(displayKeyCode) ? tcDefaults.displayKeyCode : displayKeyCode; chrome.storage.sync.set({ speedStep: speedStep, @@ -116,6 +119,7 @@ function save_options() { advanceKeyCode: advanceKeyCode, slowerKeyCode: slowerKeyCode, fasterKeyCode: fasterKeyCode, + displayKeyCode: displayKeyCode, rememberSpeed: rememberSpeed, blacklist: blacklist.replace(/^\s+|\s+$/gm,'') }, function() { @@ -139,6 +143,7 @@ function restore_options() { updateShortcutInputText('advanceKeyInput', storage.advanceKeyCode); updateShortcutInputText('slowerKeyInput', storage.slowerKeyCode); updateShortcutInputText('fasterKeyInput', storage.fasterKeyCode); + updateShortcutInputText('displayKeyInput', storage.displayKeyCode); document.getElementById('rememberSpeed').checked = storage.rememberSpeed; document.getElementById('blacklist').value = storage.blacklist; }); @@ -173,6 +178,7 @@ document.addEventListener('DOMContentLoaded', function () { initShortcutInput('advanceKeyInput'); initShortcutInput('slowerKeyInput'); initShortcutInput('fasterKeyInput'); + initShortcutInput('displayKeyInput'); document.getElementById('rewindTime').addEventListener('keypress', inputFilterNumbersOnly); document.getElementById('advanceTime').addEventListener('keypress', inputFilterNumbersOnly);