X-Git-Url: https://git-public.kairo.at/?a=blobdiff_plain;f=js%2Fui.js;h=9d55c6bae1427b9ae789d24a3aa1d2473e326df8;hb=b03d17285cb1c18bb7871bbcdf46255883605262;hp=65992f77411bb1b0e1608514a15ea04f6bf2b2ab;hpb=7a54914850a97c86e9fb4a550a88ce5744d3e7eb;p=lantea.git diff --git a/js/ui.js b/js/ui.js index 65992f7..9d55c6b 100644 --- a/js/ui.js +++ b/js/ui.js @@ -7,6 +7,7 @@ var iDB = window.indexedDB || window.webkitIndexedDB || window.mozIndexedDB || w var mainDB; var gUIHideCountdown = 0; +var gWaitCounter = 0; window.onload = function() { var mSel = document.getElementById("mapSelector"); @@ -31,10 +32,32 @@ window.onload = function() { areas[i].addEventListener("touchleave", uiEvHandler, false); } + if (navigator.platform.length == "") { + // For Firefox OS, don't display the "save" button. + // Do this by setting the debugHide class for testing in debug mode. + document.getElementById("saveTrackButton").classList.add("debugHide"); + } initDB(); initMap(); - resizeAndDraw(); + + var loopCnt = 0; + var waitForInitAndDraw = function() { + if ((gWaitCounter <= 0) || (loopCnt > 100)) { + if (gWaitCounter <= 0) + gWaitCounter = 0; + else + document.getElementById("debug").textContent = "Loading failed (waiting for init)."; + + gMapPrefsLoaded = true; + resizeAndDraw(); + setTracking(document.getElementById("trackCheckbox")); + } + else + setTimeout(waitForInitAndDraw, 100); + loopCnt++; + }; + waitForInitAndDraw(); } window.onresize = function() { @@ -115,6 +138,30 @@ function toggleSettings() { } } +function toggleFullscreen() { + if ((document.fullScreenElement && document.fullScreenElement !== null) || + (document.mozFullScreenElement && document.mozFullScreenElement !== null) || + (document.webkitFullScreenElement && document.webkitFullScreenElement !== null)) { + if (document.cancelFullScreen) { + document.cancelFullScreen(); + } else if (document.mozCancelFullScreen) { + document.mozCancelFullScreen(); + } else if (document.webkitCancelFullScreen) { + document.webkitCancelFullScreen(); + } + } + else { + var elem = document.getElementById("body"); + if (elem.requestFullScreen) { + elem.requestFullScreen(); + } else if (elem.mozRequestFullScreen) { + elem.mozRequestFullScreen(); + } else if (elem.webkitRequestFullScreen) { + elem.webkitRequestFullScreen(); + } + } +} + var uiEvHandler = { handleEvent: function(aEvent) { var touchEvent = aEvent.type.indexOf('touch') != -1;