Skip to content

Commit a52cf30

Browse files
author
javiercordero
committed
RC-1 Improved jump to anchor and quickfixes.
Former-commit-id: f78ebc5 [formerly 5951149f9aa796b7b478ac1e235d95d320c91887] [formerly b3f2bb1220d2ef2709b59b8dfd7a50444c624a29 [formerly f360cb9f867cde1dd2c6526cda918ae8260a550c]] [formerly 690757dfaf6ce4635feb5fba5219930a37e2fab2 [formerly 1490360db414ec8874cc0abb2cd9306c4f7c4e90] [formerly f1d0a31cbdb3080e20088b0f795e177100b0cf34 [formerly d818709]]] Former-commit-id: 63ece8e27db2db64e06f848e4c77c7d418599104 [formerly 8b99d2f379f9f69002028edc6f9c46f074e5e6f1] [formerly fca0cb6afd21df354dbf4a1809c4f7df120f8028 [formerly ec7fd4f]] Former-commit-id: 409fbdceda589b1e6cbcbd91d50d5e170d5b069f [formerly 29f97efc2a8a380e09ce0a1efb8da217b8b59986] Former-commit-id: f12a958759b74af356f1424c5b5577a63fb50d80
1 parent 32c8cb1 commit a52cf30

File tree

5 files changed

+137
-107
lines changed

5 files changed

+137
-107
lines changed

CHANGELOG.txt

+4
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,9 @@
11
CHANGELOG
22

3+
v2.0b RC-1 (16.04.02.0)
4+
> Fix: Jump to non-numerical anchors not working in Webkit.
5+
> Partial-Fix: iFrame and Flash plug-ins don't suport units outside of px and %. Changed 50vh to 50%.
6+
37
v2.0b RC-0 (16.03.27.0)
48
> Fix: Absolute pixel based Font-sizes bugs. Font-size was not enough on some screens and it broke multi-window mode when used. Using em now instead.
59
> Updated download link and footer credit links.

index.html

+5-7
Original file line numberDiff line numberDiff line change
@@ -175,7 +175,7 @@ <h4>How to use anchor shortcuts:</h4>
175175
<a class="external" href="https://twitter.com/Va2ron1" target="_blank">Victor Ortiz</a>, <a class="external" href="https://github.com/keyvanp">Keyvan Pérez</a> &amp; <a class="external" href="https://www.facebook.com/rafael.jose.7737">Rafael Sierra</a>.</p>
176176

177177
<ul class="bs-docs-footer-links">
178-
<li>Currently v2.0b RC-0</li>
178+
<li>Currently v2.0b RC-1</li>
179179
<li>&middot;</li>
180180
<li>Licensed under <a rel="license" href="LICENSE" target="_blank">GPL3</a>, assets under <a class="external" rel="license" href="https://creativecommons.org/licenses/by/4.0/" target="_blank">CC BY 4.0</a></li>
181181
<br>
@@ -224,12 +224,10 @@ <h4>How to use anchor shortcuts:</h4>
224224

225225
// Remove the redundant buttons from toolbar groups defined above.
226226
removeButtons: 'Save,Smiley,ShowBlocks,Unlink,Link,Blockquote,CreateDiv,PageBreak,Language,Styles',/*,Styles,Specialchar*/
227-
228227
// Font sizes
229-
// fontSize_sizes: '36/36px;48/48px;50/50px;55/55px;60/60px;65/65px;72/72px;80/80px;85/85px;90/90px;95/95px;100/100px',
230228
fontSize_sizes: '0.7 em/0.7em;0.8 em/0.8em;0.9 em/0,9em;1.0 em/1em;1.1 em/1.1em;1.2 em/1.2em;1.3 em/1.3em;1.4 em/1.4em;1.5 em/1.5em;1.6 em/1.6em;1.7 em/1.7em;1.8 em/1.8em;1.9 em/1.9em;2.0 em/2em;2.1 em/2.1em;2.2 em/2.2em;2.3 em/2.3em;2.4 em/2.4em;2.5 em/2.5em;2.6 em/2.6em;2.7 em/2.7em;2.8 em/2.8em;2.9 em/2.9em;3.0 em/3em',
231-
// fontSize_sizes: '3/3vw;4/4vw;5/5vw',
232-
229+
// Font sizes
230+
line_height: '1 em/1em;1.1 em/1.1em;1.2 em/1.2em;1.3 em/1.3em;1.4 em/1.4em;1.5 em/1.5em;1.6 em/1.6em;1.7 em/1.7em;1.8 em/1.8em;1.9 em/1.9em;2.0 em/2.0em',
233231
// Quick tables
234232
qtRows: 10, // Count of rows
235233
qtColumns: 10, // Count of columns
@@ -257,13 +255,13 @@ <h4>How to use anchor shortcuts:</h4>
257255
var info = dialogDefinition.getContents( 'info' );
258256
console.log(info);
259257
info.get( 'width' )[ 'default' ] = '100%';
260-
info.get( 'height' )[ 'default' ] = '50vh';
258+
info.get( 'height' )[ 'default' ] = '50%';
261259
}
262260
if ( dialogName == 'flash' ) {
263261
var info = dialogDefinition.getContents( 'info' );
264262
console.log(info);
265263
info.get( 'width' )[ 'default' ] = '100%';
266-
info.get( 'height' )[ 'default' ] = '50vh';
264+
info.get( 'height' )[ 'default' ] = '50%';
267265
info.get( 'hSpace' )[ 'default' ] = '0';
268266
info.get( 'vSpace' )[ 'default' ] = '0';
269267
}

js/editor.js

+27-7
Original file line numberDiff line numberDiff line change
@@ -431,6 +431,7 @@ var debug;
431431
}
432432

433433
document.onkeydown = function( event ) {
434+
var key;
434435
// keyCode is announced to be deprecated but not all browsers support key as of 2016.
435436
if (event.key === undefined)
436437
event.key = event.keyCode;
@@ -467,10 +468,12 @@ var debug;
467468
listener( {data:{request:command.decVelocity}} );
468469
break;
469470
case " ":
471+
case "Space": // Spacebar
470472
case 32: // Spacebar
471473
listener( {data:{request:command.togglePlay}} );
472474
break;
473475
case ".":
476+
case "Period": // Numpad dot
474477
case 110: // Numpad dot
475478
case 190: // Dot
476479
listener( {data:{request:command.sync}} );
@@ -490,6 +493,7 @@ var debug;
490493
restoreEditor();
491494
break;
492495
// Electron Commands
496+
/*
493497
case 17, 91, 70:
494498
case "ctrl" + "" + "f":
495499
if(inElectron()){
@@ -499,16 +503,32 @@ var debug;
499503
} else{
500504
break;
501505
}
506+
*/
502507
default:
503-
// If pressed any number from 0 to 9.
504-
if ( event.key>=48 && event.key<=57 )
505-
event.key-=48;
506-
else if ( event.key>=96 && event.key<=105 )
507-
event.key-=96;
508-
// Or if pressed any other key.
509-
listener( {data:{request:command.anchor, data:event.key}} );
508+
// If key is not a string
509+
if ( !isFunction(event.key.indexOf) )
510+
key = String.fromCharCode(event.key);
511+
else
512+
key = event.key;
513+
//if ( key.indexOf("Key")===0 || key.indexOf("Digit")===0 )
514+
// key = key.charAt(key.length-1);
515+
if ( !is_int(key) )
516+
key = key.toLowerCase();
517+
if (debug) console.log(key);
518+
listener( {data:{request:command.anchor, data:key}} );
510519
}
511520
};
521+
522+
function isFunction( possibleFunction ) {
523+
return typeof(possibleFunction)===typeof(Function)
524+
}
525+
526+
function is_int(value){
527+
if (parseFloat(value) == parseInt(value) && !isNaN(value))
528+
return true;
529+
else
530+
return false;
531+
}
512532

513533
// Initialize objects after DOM is loaded
514534
if (document.readyState === "interactive" || document.readyState === "complete")

js/teleprompter.js

+92-85
Original file line numberDiff line numberDiff line change
@@ -548,12 +548,10 @@ https://developer.mozilla.org/en-US/docs/Web/API/IDBDatabase/onversionchange
548548

549549
function internalMoveToAnchor( theAnchor ) {
550550
// Proceed to anchor only if anchor is valid.
551-
if (theAnchor!=-1) {
552-
if ( document.getElementById( theAnchor ) )
553-
moveToCSSAnchor( theAnchor );
554-
else
555-
if (debug) console.log("Invalid Anchor") && false;
556-
}
551+
if ( document.getElementById( theAnchor ) )
552+
moveToCSSAnchor( theAnchor );
553+
else
554+
if (debug) console.log("Invalid Anchor") && false;
557555
}
558556

559557
function moveToAnchor( theAnchor ) {
@@ -616,10 +614,6 @@ https://developer.mozilla.org/en-US/docs/Web/API/IDBDatabase/onversionchange
616614
if (percentage===undefined)
617615
percentage = getProgress();
618616
// Solve
619-
// if (flipV)
620-
// updatedPos = -((-percentage*(promptHeight-screenHeight*2))+promptHeight-screenHeight-valToCenterAtFocusArea);
621-
// else
622-
// updatedPos = (-percentage*(promptHeight-screenHeight*2))-screenHeight+valToCenterAtFocusArea;
623617
if (flipV)
624618
updatedPos = -(-percentage*(promptHeight-screenHeight*2)+valToCenterAtFocusArea-screenHeight)-promptHeight+screenHeight;
625619
else
@@ -666,20 +660,17 @@ https://developer.mozilla.org/en-US/docs/Web/API/IDBDatabase/onversionchange
666660
}, false);
667661

668662
window.addEventListener("wheel", function(event) {
669-
if (!cap) {
670-
setCap();
671-
if (invertedWheel) {
672-
if (event.deltaY>0)
673-
increaseVelocity();
674-
else
675-
decreaseVelocity();
676-
}
677-
else {
678-
if (event.deltaY>0)
679-
decreaseVelocity();
680-
else
681-
increaseVelocity();
682-
}
663+
if (invertedWheel) {
664+
if (event.deltaY>0)
665+
increaseVelocity();
666+
else
667+
decreaseVelocity();
668+
}
669+
else {
670+
if (event.deltaY>0)
671+
decreaseVelocity();
672+
else
673+
increaseVelocity();
683674
}
684675
event.preventDefault();
685676
}, false);
@@ -874,71 +865,87 @@ https://developer.mozilla.org/en-US/docs/Web/API/IDBDatabase/onversionchange
874865
}
875866

876867
document.onkeydown = function( event ) {
868+
var key;
877869
// keyCode is announced to be deprecated but not all browsers support key as of 2016.
878-
setTimeout( function() {
879-
if (event.key === undefined)
880-
event.key = event.keyCode;
881-
if (debug) console.log("Key: "+event.key) && false;
882-
switch ( event.key ) {
883-
case "s":
884-
case "S":
885-
case "ArrowDown":
886-
case 40: // Down
887-
case 68: // S
888-
increaseVelocity();
889-
break;
890-
case "w":
891-
case "W":
892-
case "ArrowUp":
893-
case 38: // Up
894-
case 87: // W
895-
decreaseVelocity();
896-
break;
897-
case "d":
898-
case "D":
899-
case "ArrowRight":
900-
case 83: // S
901-
case 39: // Right
902-
increaseFontSize();
903-
break;
904-
case "a":
905-
case "A":
906-
case "ArrowLeft":
907-
case 37: // Left
908-
case 65: // A
909-
decreaseFontSize();
910-
break;
911-
case " ":
912-
case 32: // Spacebar
913-
toggleAnimation();
914-
break;
915-
case ".":
916-
case 110: // Numpad dot
917-
case 190: // Dot
918-
syncPrompters();
919-
break;
920-
case "Escape":
921-
case 27: // ESC
922-
closeInstance();
923-
break;
924-
case "F8":
925-
case 119:
926-
event.preventDefault();
927-
debug=!debug;
928-
break;
929-
default: // Move to anchor.
930-
// If pressed any number from 0 to 9.
931-
if ( event.key>=48 && event.key<=57 )
932-
event.key-=48;
933-
else if ( event.key>=96 && event.key<=105 )
934-
event.key-=96;
935-
moveToAnchor( event.key );
936-
}
937-
}, 0);
870+
if (event.key === undefined)
871+
event.key = event.keyCode;
872+
if (debug) console.log("Key: "+event.key) && false;
873+
switch ( event.key ) {
874+
case "s":
875+
case "S":
876+
case "ArrowDown":
877+
case 40: // Down
878+
case 68: // S
879+
increaseVelocity();
880+
break;
881+
case "w":
882+
case "W":
883+
case "ArrowUp":
884+
case 38: // Up
885+
case 87: // W
886+
decreaseVelocity();
887+
break;
888+
case "d":
889+
case "D":
890+
case "ArrowRight":
891+
case 83: // S
892+
case 39: // Right
893+
increaseFontSize();
894+
break;
895+
case "a":
896+
case "A":
897+
case "ArrowLeft":
898+
case 37: // Left
899+
case 65: // A
900+
decreaseFontSize();
901+
break;
902+
case " ":
903+
case 32: // Spacebar
904+
toggleAnimation();
905+
break;
906+
case ".":
907+
case 110: // Numpad dot
908+
case 190: // Dot
909+
syncPrompters();
910+
break;
911+
case "Escape":
912+
case 27: // ESC
913+
closeInstance();
914+
break;
915+
case "F8":
916+
case 119:
917+
event.preventDefault();
918+
debug=!debug;
919+
break;
920+
default: // Move to anchor.
921+
// If key is not a string
922+
if ( !isFunction(event.key.indexOf) )
923+
key = String.fromCharCode(event.key);
924+
else
925+
key = event.key;
926+
//if ( key.indexOf("Key")===0 || key.indexOf("Digit")===0 )
927+
// key = key.charAt(key.length-1);
928+
if ( !is_int(key) )
929+
key = key.toLowerCase();
930+
if (debug) console.log(key);
931+
moveToAnchor( key );
932+
}
938933
// Prevent arrow and spacebar scroll bug.
939-
if ([" ","ArrowUp","ArrowDown","ArrowLeft","ArrowRight",32,37,38,39,40].indexOf(event.key) > -1) event.preventDefault();
934+
if ([" ","ArrowUp","ArrowDown","ArrowLeft","ArrowRight"].indexOf(event.key) > -1)
935+
event.preventDefault();
940936
};
941937

938+
function isFunction( possibleFunction ) {
939+
return typeof(possibleFunction)===typeof(Function)
940+
}
941+
942+
function is_int(value){
943+
if (parseFloat(value) == parseInt(value) && !isNaN(value))
944+
return true;
945+
else
946+
return false;
947+
}
948+
942949
function inElectron() {
943950
return navigator.userAgent.indexOf("Electron")!=-1;
944951
}

package.json

+9-8
Original file line numberDiff line numberDiff line change
@@ -2,12 +2,13 @@
22
"name": "Teleprompter",
33
"version": "2.0.16.03.24.0",
44
"description": "The most complete and professional free software teleprompter app on the web.",
5-
"main": "main.js",
6-
"scripts": {
7-
"start": "electron main.js"
8-
},
9-
"homepage": "https://github.com/imaginaryfilms/Teleprompter",
10-
"devDependencies": {
11-
"electron-prebuilt": "^0.36.0"
12-
}
5+
//"main": "main.js",
6+
"main": "index.html",
7+
//"scripts": {
8+
// "start": "electron main.js"
9+
//},
10+
"homepage": "https://github.com/imaginaryfilms/Teleprompter"//,
11+
//"devDependencies": {
12+
// "electron-prebuilt": "^0.36.0"
13+
//}
1314
}

0 commit comments

Comments
 (0)