X-Git-Url: https://git-public.kairo.at/?p=lantea.git;a=blobdiff_plain;f=js%2Fui.js;h=5e4869c5d2862128f7a1cbd12bd4985d69e5333e;hp=921b952bb6aa12ea14a283882eeb0722d771584e;hb=7a076538678eb75b90e066df5e2d51346067927d;hpb=362a6833c5e41dc0d006667b4ef8bb15d898dc4b diff --git a/js/ui.js b/js/ui.js index 921b952..5e4869c 100644 --- a/js/ui.js +++ b/js/ui.js @@ -2,10 +2,12 @@ * License, v. 2.0. If a copy of the MPL was not distributed with this file, * You can obtain one at http://mozilla.org/MPL/2.0/. */ -// Get the best-available indexedDB object. +// Get the best-available objects for indexedDB and requestAnimationFrame. window.indexedDB = window.indexedDB || window.webkitIndexedDB || window.mozIndexedDB || window.msIndexedDB; -var mainDB; +window.requestAnimationFrame = window.requestAnimationFrame || window.mozRequestAnimationFrame || window.webkitRequestAnimationFrame || window.msRequestAnimationFrame; +var mainDB; +var gAppInitDone = false; var gUIHideCountdown = 0; var gWaitCounter = 0; var gAction, gActionLabel; @@ -23,7 +25,7 @@ window.onload = function() { mSel.add(opt, null); } - var areas = document.getElementsByClassName('overlayArea'); + var areas = document.getElementsByClassName("overlayArea"); for (var i = 0; i <= areas.length - 1; i++) { areas[i].addEventListener("mouseup", uiEvHandler, false); areas[i].addEventListener("mousemove", uiEvHandler, false); @@ -65,7 +67,9 @@ function postInit(aEvent) { gAction.removeEventListener(aEvent.type, postInit, false); console.log("init done, draw map."); gMapPrefsLoaded = true; - resizeAndDraw(); + gAppInitDone = true; + //gMap.resizeAndDraw(); <-- HACK: This triggers bug 1001853, work around with a delay. + window.setTimeout(gMap.resizeAndDraw, 100); gActionLabel.textContent = ""; gAction.style.display = "none"; setTracking(document.getElementById("trackCheckbox")); @@ -83,7 +87,7 @@ function postInit(aEvent) { } window.onresize = function() { - resizeAndDraw(); + gMap.resizeAndDraw(); } function initDB(aEvent) { @@ -140,6 +144,11 @@ function showUI() { function maybeHideUI() { gUIHideCountdown--; + if (document.getElementById("trackArea").style.display == "block") { + // If track area is visible, update track data. + document.getElementById("trackLength").textContent = calcTrackLength().toFixed(1); + document.getElementById("trackDuration").textContent = Math.round(calcTrackDuration()/60); + } if (gUIHideCountdown <= 0) { var areas = document.getElementsByClassName('overlayArea'); for (var i = 0; i <= areas.length - 1; i++) { @@ -208,6 +217,16 @@ function showUploadDialog() { dia.classList.remove("hidden"); } +function showGLWarningDialog() { + var dia = document.getElementById("dialogArea"); + var areas = dia.children; + for (var i = 0; i <= areas.length - 1; i++) { + areas[i].style.display = "none"; + } + document.getElementById("noGLwarning").style.display = "block"; + dia.classList.remove("hidden"); +} + function cancelDialog() { document.getElementById("dialogArea").classList.add("hidden"); document.getElementById("uploadTrackButton").disabled = false; @@ -318,8 +337,9 @@ function uploadTrack() { document.getElementById("uploadStatusCloseButton").disabled = true; document.getElementById("uploadInProgress").style.display = "block"; document.getElementById("uploadSuccess").style.display = "none"; - document.getElementById("uploadErrorMsg").textContent = ""; + document.getElementById("uploadFailed").style.display = "none"; document.getElementById("uploadError").style.display = "none"; + document.getElementById("uploadErrorMsg").textContent = ""; // Now show the status area. document.getElementById("uploadStatus").style.display = "block";