X-Git-Url: https://git-public.kairo.at/?p=lantea.git;a=blobdiff_plain;f=js%2Fui.js;h=7ed15e286fe8cabe54dd1c92cbb46a1a1cb78e5c;hp=65992f77411bb1b0e1608514a15ea04f6bf2b2ab;hb=5a358ac266e0b83657b6aaf9347148745ce51106;hpb=7a54914850a97c86e9fb4a550a88ce5744d3e7eb diff --git a/js/ui.js b/js/ui.js index 65992f7..7ed15e2 100644 --- a/js/ui.js +++ b/js/ui.js @@ -3,10 +3,11 @@ * You can obtain one at http://mozilla.org/MPL/2.0/. */ // Get the best-available indexedDB object. -var iDB = window.indexedDB || window.webkitIndexedDB || window.mozIndexedDB || window.msIndexedDB; +window.indexedDB = window.indexedDB || window.webkitIndexedDB || window.mozIndexedDB || window.msIndexedDB; 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() { @@ -43,7 +66,7 @@ window.onresize = function() { function initDB() { // Open DB. - var request = iDB.open("MainDB", 1); + var request = window.indexedDB.open("MainDB", 1); request.onerror = function(event) { // Errors can be handled here. Error codes explain in: // https://developer.mozilla.org/en/IndexedDB/IDBDatabaseException#Constants @@ -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;