X-Git-Url: https://git-public.kairo.at/?p=lantea.git;a=blobdiff_plain;f=js%2Fui.js;h=f451fbe52932ec53f900bcd15943431e99b49d76;hp=22e46a16eb8e729f67cbb1d19f5051f13706131b;hb=e1c3d337e88cb06b988d97e060938466a9815634;hpb=65946832e590639a6e540122c679c683920254ee diff --git a/js/ui.js b/js/ui.js index 22e46a1..f451fbe 100644 --- a/js/ui.js +++ b/js/ui.js @@ -8,6 +8,7 @@ window.requestAnimationFrame = window.requestAnimationFrame || window.mozRequest var mainDB; var gAppInitDone = false; +var firstRun = false; var gUIHideCountdown = 0; var gWaitCounter = 0; var gTrackUpdateInterval; @@ -32,7 +33,7 @@ window.onload = function() { mSel.add(opt, null); } - var areas = document.getElementsByClassName("overlayArea"); + var areas = document.getElementsByClassName("autoFade"); for (var i = 0; i <= areas.length - 1; i++) { areas[i].addEventListener("mouseup", uiEvHandler, false); areas[i].addEventListener("mousemove", uiEvHandler, false); @@ -67,6 +68,8 @@ window.onload = function() { gAuthClientID += "-dev"; } + document.getElementById("libCloseButton").onclick = hideLibrary; + // Set up the login area. document.getElementById("loginbtn").onclick = startLogin; document.getElementById("logoutbtn").onclick = doLogout; @@ -99,6 +102,17 @@ function postInit(aEvent) { document.getElementById("uploadDevName").value = aValue; } }); + if (firstRun) { + showFirstRunDialog(); + } + else { + gPrefs.get("lastInfoShown", function(aValue) { + if (!aValue || !parseInt(aValue) || parseInt(aValue) < 1) { + showInfoDialog(); + } + }); + } + gPrefs.set("lastInfoShown", 1); } window.onresize = function() { @@ -201,6 +215,7 @@ function displayLogin() { document.getElementById("username").classList.remove("hidden"); document.getElementById("username").textContent = userData.email; document.getElementById("uploadTrackButton").disabled = false; + document.getElementById("libraryShowLine").classList.remove("hidden"); document.getElementById("logoutbtn").classList.remove("hidden"); } @@ -209,6 +224,7 @@ function displayLogout() { document.getElementById("username").classList.add("hidden"); document.getElementById("username").textContent = ""; document.getElementById("uploadTrackButton").disabled = true; + document.getElementById("libraryShowLine").classList.add("hidden"); document.getElementById("loginbtn").classList.remove("hidden"); document.getElementById("logindesc").classList.remove("hidden"); } @@ -237,6 +253,7 @@ function initDB(aEvent) { if (!mainDB.objectStoreNames.contains("prefs")) { // Create a "prefs" objectStore. var prefsStore = mainDB.createObjectStore("prefs"); + firstRun = true; } if (!mainDB.objectStoreNames.contains("track")) { // Create a "track" objectStore. @@ -256,7 +273,7 @@ function initDB(aEvent) { function showUI() { if (gUIHideCountdown <= 0) { - var areas = document.getElementsByClassName('overlayArea'); + var areas = document.getElementsByClassName('autoFade'); for (var i = 0; i <= areas.length - 1; i++) { areas[i].classList.remove("hidden"); } @@ -268,7 +285,7 @@ function showUI() { function maybeHideUI() { gUIHideCountdown--; if (gUIHideCountdown <= 0) { - var areas = document.getElementsByClassName('overlayArea'); + var areas = document.getElementsByClassName('autoFade'); for (var i = 0; i <= areas.length - 1; i++) { areas[i].classList.add("hidden"); } @@ -291,6 +308,7 @@ function updateTrackInfo() { function toggleTrackArea() { var fs = document.getElementById("trackArea"); if (fs.classList.contains("hidden")) { + prepareLoginButton(); fs.classList.remove("hidden"); showUI(); gTrackUpdateInterval = setInterval(updateTrackInfo, 1000); @@ -347,6 +365,11 @@ function showUploadDialog() { dia.classList.remove("hidden"); } +function cancelTrackDialog() { + document.getElementById("trackDialogArea").classList.add("hidden"); + document.getElementById("uploadTrackButton").disabled = false; +} + function showGLWarningDialog() { var dia = document.getElementById("dialogArea"); var areas = dia.children; @@ -357,9 +380,28 @@ function showGLWarningDialog() { dia.classList.remove("hidden"); } -function cancelTrackDialog() { - document.getElementById("trackDialogArea").classList.add("hidden"); - document.getElementById("uploadTrackButton").disabled = false; +function showFirstRunDialog() { + 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("firstRunIntro").style.display = "block"; + dia.classList.remove("hidden"); +} + +function closeDialog() { + document.getElementById("dialogArea").classList.add("hidden"); +} + +function showInfoDialog() { + 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("infoDialog").style.display = "block"; + dia.classList.remove("hidden"); } var uiEvHandler = {