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.
This commit is contained in:
Ilya Grigorik
2016-07-28 14:09:34 +02:00
parent fce4d611b8
commit 3cadcb5463
4 changed files with 23 additions and 0 deletions

View File

@@ -17,6 +17,12 @@
opacity: 1.0; opacity: 1.0;
} }
.vsc-hidden { display: none !important; }
.vsc-manual {
visibility: visible !important;
opacity: 1.0 !important;
}
/* YouTube embedded player */ /* YouTube embedded player */
/* e.g. https://www.igvita.com/2012/09/12/web-fonts-performance-making-pretty-fast/ */ /* 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 { .full-frame .html5-video-player:not(.ytp-fullscreen) .vsc-controller {

View File

@@ -10,6 +10,7 @@ chrome.extension.sendMessage({}, function(response) {
fasterKeyCode: 68, // default: D fasterKeyCode: 68, // default: D
rewindKeyCode: 90, // default: Z rewindKeyCode: 90, // default: Z
advanceKeyCode: 88, // default: X advanceKeyCode: 88, // default: X
displayKeyCode: 86, // default: V
rememberSpeed: false, // default: false rememberSpeed: false, // default: false
blacklist: ` blacklist: `
www.instagram.com www.instagram.com
@@ -29,6 +30,7 @@ chrome.extension.sendMessage({}, function(response) {
tc.settings.rewindKeyCode = Number(storage.rewindKeyCode); tc.settings.rewindKeyCode = Number(storage.rewindKeyCode);
tc.settings.slowerKeyCode = Number(storage.slowerKeyCode); tc.settings.slowerKeyCode = Number(storage.slowerKeyCode);
tc.settings.fasterKeyCode = Number(storage.fasterKeyCode); tc.settings.fasterKeyCode = Number(storage.fasterKeyCode);
tc.settings.displayKeyCode = Number(storage.displayKeyCode);
tc.settings.advanceKeyCode = Number(storage.advanceKeyCode); tc.settings.advanceKeyCode = Number(storage.advanceKeyCode);
tc.settings.rememberSpeed = Boolean(storage.rememberSpeed); tc.settings.rememberSpeed = Boolean(storage.rememberSpeed);
tc.settings.blacklist = String(storage.blacklist); tc.settings.blacklist = String(storage.blacklist);
@@ -192,6 +194,8 @@ chrome.extension.sendMessage({}, function(response) {
runAction('slower', document, true) runAction('slower', document, true)
} else if (keyCode == tc.settings.resetKeyCode) { } else if (keyCode == tc.settings.resetKeyCode) {
runAction('reset', document, true) runAction('reset', document, true)
} else if (keyCode == tc.settings.displayKeyCode) {
runAction('display', document, true)
} }
return false; return false;
@@ -277,6 +281,9 @@ chrome.extension.sendMessage({}, function(response) {
} else if (action === 'close') { } else if (action === 'close') {
v.classList.add('vsc-cancelled'); v.classList.add('vsc-cancelled');
controller.remove(); controller.remove();
} else if (action === 'display') {
controller.classList.add('vsc-manual');
controller.classList.toggle('vsc-hidden');
} }
} }
}); });

View File

@@ -32,6 +32,10 @@
<label for="fasterKeyInput">Increase speed</label> <label for="fasterKeyInput">Increase speed</label>
<input id="fasterKeyInput" placeholder="press a key" type="text" value=""/> <input id="fasterKeyInput" placeholder="press a key" type="text" value=""/>
</div> </div>
<div class="row">
<label for="displayKeyInput">Show/hide controller</label>
<input id="displayKeyInput" placeholder="press a key" type="text" value=""/>
</div>
</section> </section>
<section> <section>

View File

@@ -8,6 +8,7 @@ var tcDefaults = {
fasterKeyCode: 68, // default: D fasterKeyCode: 68, // default: D
rewindKeyCode: 90, // default: Z rewindKeyCode: 90, // default: Z
advanceKeyCode: 88, // default: X advanceKeyCode: 88, // default: X
displayKeyCode: 86, // default: V
rememberSpeed: false, // default: false rememberSpeed: false, // default: false
blacklist: ` blacklist: `
www.instagram.com www.instagram.com
@@ -95,6 +96,7 @@ function save_options() {
var advanceKeyCode = document.getElementById('advanceKeyInput').keyCode; var advanceKeyCode = document.getElementById('advanceKeyInput').keyCode;
var slowerKeyCode = document.getElementById('slowerKeyInput').keyCode; var slowerKeyCode = document.getElementById('slowerKeyInput').keyCode;
var fasterKeyCode = document.getElementById('fasterKeyInput').keyCode; var fasterKeyCode = document.getElementById('fasterKeyInput').keyCode;
var displayKeyCode = document.getElementById('displayKeyInput').keyCode;
var rememberSpeed = document.getElementById('rememberSpeed').checked; var rememberSpeed = document.getElementById('rememberSpeed').checked;
var blacklist = document.getElementById('blacklist').value; var blacklist = document.getElementById('blacklist').value;
@@ -106,6 +108,7 @@ function save_options() {
advanceKeyCode = isNaN(advanceKeyCode) ? tcDefaults.advanceKeyCode : advanceKeyCode; advanceKeyCode = isNaN(advanceKeyCode) ? tcDefaults.advanceKeyCode : advanceKeyCode;
slowerKeyCode = isNaN(slowerKeyCode) ? tcDefaults.slowerKeyCode : slowerKeyCode; slowerKeyCode = isNaN(slowerKeyCode) ? tcDefaults.slowerKeyCode : slowerKeyCode;
fasterKeyCode = isNaN(fasterKeyCode) ? tcDefaults.fasterKeyCode : fasterKeyCode; fasterKeyCode = isNaN(fasterKeyCode) ? tcDefaults.fasterKeyCode : fasterKeyCode;
displayKeyCode = isNaN(displayKeyCode) ? tcDefaults.displayKeyCode : displayKeyCode;
chrome.storage.sync.set({ chrome.storage.sync.set({
speedStep: speedStep, speedStep: speedStep,
@@ -116,6 +119,7 @@ function save_options() {
advanceKeyCode: advanceKeyCode, advanceKeyCode: advanceKeyCode,
slowerKeyCode: slowerKeyCode, slowerKeyCode: slowerKeyCode,
fasterKeyCode: fasterKeyCode, fasterKeyCode: fasterKeyCode,
displayKeyCode: displayKeyCode,
rememberSpeed: rememberSpeed, rememberSpeed: rememberSpeed,
blacklist: blacklist.replace(/^\s+|\s+$/gm,'') blacklist: blacklist.replace(/^\s+|\s+$/gm,'')
}, function() { }, function() {
@@ -139,6 +143,7 @@ function restore_options() {
updateShortcutInputText('advanceKeyInput', storage.advanceKeyCode); updateShortcutInputText('advanceKeyInput', storage.advanceKeyCode);
updateShortcutInputText('slowerKeyInput', storage.slowerKeyCode); updateShortcutInputText('slowerKeyInput', storage.slowerKeyCode);
updateShortcutInputText('fasterKeyInput', storage.fasterKeyCode); updateShortcutInputText('fasterKeyInput', storage.fasterKeyCode);
updateShortcutInputText('displayKeyInput', storage.displayKeyCode);
document.getElementById('rememberSpeed').checked = storage.rememberSpeed; document.getElementById('rememberSpeed').checked = storage.rememberSpeed;
document.getElementById('blacklist').value = storage.blacklist; document.getElementById('blacklist').value = storage.blacklist;
}); });
@@ -173,6 +178,7 @@ document.addEventListener('DOMContentLoaded', function () {
initShortcutInput('advanceKeyInput'); initShortcutInput('advanceKeyInput');
initShortcutInput('slowerKeyInput'); initShortcutInput('slowerKeyInput');
initShortcutInput('fasterKeyInput'); initShortcutInput('fasterKeyInput');
initShortcutInput('displayKeyInput');
document.getElementById('rewindTime').addEventListener('keypress', inputFilterNumbersOnly); document.getElementById('rewindTime').addEventListener('keypress', inputFilterNumbersOnly);
document.getElementById('advanceTime').addEventListener('keypress', inputFilterNumbersOnly); document.getElementById('advanceTime').addEventListener('keypress', inputFilterNumbersOnly);