From 2d3302bb20cdd22f7df891d258bbb66a7144472d Mon Sep 17 00:00:00 2001 From: Tag Loomis Date: Sun, 18 Feb 2024 14:22:41 -0800 Subject: [PATCH] Award layer drop down and layout update POTA now tracks offline mode as it should timezone and all grids state saved Move nexrad to after offline mode button trophy layer saved/restored some cleaning Lint --- package.nw/GridTracker.html | 115 +++++---- package.nw/lib/defaults.js | 3 + package.nw/lib/gt.js | 233 +++++++----------- package.nw/lib/pota.js | 2 +- package.nw/lib/roster/processRosterHunting.js | 2 +- package.nw/lib/roster/renderRoster.js | 2 +- 6 files changed, 161 insertions(+), 196 deletions(-) diff --git a/package.nw/GridTracker.html b/package.nw/GridTracker.html index 650b58da..88439675 100644 --- a/package.nw/GridTracker.html +++ b/package.nw/GridTracker.html @@ -389,9 +389,7 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - Band - + Band @@ -447,9 +443,7 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - Prop - + Prop + + + + + + + + + + + +
-
- -
-
- -
-
- -
-
- -
-
- -
-
- +
+
-
- +
+
-
- +
+
-
- +
+ +
+
+
-
- + +
+
@@ -545,24 +542,34 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
-
- -
-
- -
-
- -
-
- +
+
@@ -578,13 +585,13 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. title="Download log from ClubLog">
-
- -
+
+ +
diff --git a/package.nw/lib/defaults.js b/package.nw/lib/defaults.js index 246f764a..e59225a8 100644 --- a/package.nw/lib/defaults.js +++ b/package.nw/lib/defaults.js @@ -134,6 +134,9 @@ var def_mapSettings = { splitQSL: true, trafficDecode: true, usNexrad: false, + timezonesEnable: 0, + showAllGrids: false, + trophyOverlay: 0, zoom: 4, mapTrans: 0.5 }; diff --git a/package.nw/lib/gt.js b/package.nw/lib/gt.js index a0efdb43..30d458bc 100644 --- a/package.nw/lib/gt.js +++ b/package.nw/lib/gt.js @@ -133,10 +133,7 @@ function loadAllSettings() GT.appSettings = loadDefaultsAndMerge("appSettings", def_appSettings); GT.mapSettings = loadDefaultsAndMerge("mapSettings", def_mapSettings); GT.legendColors = loadDefaultsAndMerge("legendColors", def_legendColors); - GT.adifLogSettings = loadDefaultsAndMerge( - "adifLogSettings", - def_adifLogSettings - ); + GT.adifLogSettings = loadDefaultsAndMerge("adifLogSettings", def_adifLogSettings); if (typeof GT.adifLogSettings.lastFetch.lotw_qso == "string") { // covnert to int! @@ -145,31 +142,15 @@ function loadAllSettings() saveAdifSettings(); } GT.msgSettings = loadDefaultsAndMerge("msgSettings", def_msgSettings); - GT.receptionSettings = loadDefaultsAndMerge( - "receptionSettings", - def_receptionSettings - ); + GT.receptionSettings = loadDefaultsAndMerge("receptionSettings", def_receptionSettings); GT.N1MMSettings = loadDefaultsAndMerge("N1MMSettings", def_N1MMSettings); GT.log4OMSettings = loadDefaultsAndMerge("log4OMSettings", def_log4OMSettings); GT.dxkLogSettings = loadDefaultsAndMerge("dxkLogSettings", def_dxkLogSettings); - GT.HRDLogbookLogSettings = loadDefaultsAndMerge( - "HRDLogbookLogSettings", - def_HRDLogbookLogSettings - ); - GT.pstrotatorSettings = loadDefaultsAndMerge( - "pstrotatorSettings", - def_pstrotatorSettings - ); + GT.HRDLogbookLogSettings = loadDefaultsAndMerge("HRDLogbookLogSettings", def_HRDLogbookLogSettings); + GT.pstrotatorSettings = loadDefaultsAndMerge("pstrotatorSettings", def_pstrotatorSettings); GT.acLogSettings = loadDefaultsAndMerge("acLogSettings", def_acLogSettings); - GT.trustedQslSettings = loadDefaultsAndMerge( - "trustedQslSettings", - def_trustedQslSettings - ); - - GT.callsignLookups = loadDefaultsAndMerge( - "callsignLookups", - def_callsignLookups - ); + GT.trustedQslSettings = loadDefaultsAndMerge("trustedQslSettings", def_trustedQslSettings); + GT.callsignLookups = loadDefaultsAndMerge("callsignLookups", def_callsignLookups); GT.bandActivity = loadDefaultsAndMerge("bandActivity", def_bandActivity); GT.startupLogs = loadArrayIfExists("startupLogs"); @@ -197,6 +178,7 @@ GT.crScript = GT.appSettings.crScript; GT.spotView = GT.appSettings.spotView; GT.myLat = GT.mapSettings.latitude; GT.myLon = GT.mapSettings.longitude; +GT.currentOverlay = GT.mapSettings.trophyOverlay; function loadDefaultsAndMerge(key, def) { @@ -413,7 +395,7 @@ GT.flightPathTotal = (9 + 3 + 3) * 2; GT.lastMessages = Array(); GT.lastTraffic = Array(); -GT.showAllGrids = false; + GT.maps = Array(); GT.modes = {}; GT.modes_phone = {}; @@ -646,7 +628,7 @@ GT.gridViewArray[1] = "Live"; GT.gridViewArray[2] = "Logbook"; GT.gridViewArray[3] = "Logbook & Live"; -GT.trophyImageArray = Array(); +/* GT.trophyImageArray = Array(); GT.trophyImageArray[0] = "./img/blank_trophy.png"; GT.trophyImageArray[1] = "./img/cq_trophy.png"; GT.trophyImageArray[2] = "./img/itu_trophy.png"; @@ -655,7 +637,7 @@ GT.trophyImageArray[4] = "./img/was_trophy.png"; GT.trophyImageArray[5] = "./img/dxcc_trophy.png"; GT.trophyImageArray[6] = "./img/usc_trophy.png"; GT.trophyImageArray[7] = "./img/us48_trophy.png"; -GT.trophyImageArray[8] = "./img/wacp_trophy.png"; +GT.trophyImageArray[8] = "./img/wacp_trophy.png"; */ GT.viewInfo = {}; GT.viewInfo[0] = ["qsoGrids", "Grids", 0, 0, 0]; @@ -712,8 +694,7 @@ function gtPropFilterChanged(selector) function setBandAndModeToAuto() { - GT.appSettings.gtModeFilter = GT.appSettings.gtBandFilter = gtBandFilter.value = gtModeFilter.value = - "auto"; + GT.appSettings.gtModeFilter = GT.appSettings.gtBandFilter = gtBandFilter.value = gtModeFilter.value = "auto"; redrawGrids(); redrawPins(); redrawSpots(); @@ -807,9 +788,10 @@ function toggleOffline() conditionsButton.style.display = "inline-block"; gtFlagButton.style.display = "inline-block"; gtShareButton.style.display = "inline-block"; - + lookupButton.style.display = "inline-block"; buttonSpotsBoxDiv.style.display = "inline-block"; donateButton.style.display = "inline-block"; + radarButton.style.display = "inline-block"; potaButton.style.display = (GT.appSettings.potaEnabled == 1 && GT.appSettings.potaShowMenu) ? "inline-block" : "none"; @@ -840,9 +822,14 @@ function toggleOffline() } } bandActivityDiv.style.display = "block"; + if (GT.lookupWindowInitialized == false) + { + openLookupWindow(false); + } } else { + openLookupWindow(false); GT.mapSettings.offlineMode = true; offlineImg.src = GT.mapImageArray[0]; conditionsButton.style.display = "none"; @@ -857,10 +844,14 @@ function toggleOffline() donateButton.style.display = "none"; potaButton.style.display = "none"; buttonSpotsBoxDiv.style.display = "none"; + lookupButton.style.display = "none"; + radarButton.style.display = "none"; setGtShareButtons(); } + displayNexrad(); loadMapSettings(); changeMapValues(); + goProcessRoster(); } // from GridTracker.html @@ -1250,9 +1241,7 @@ function changePathWidth() var featureStroke = featureStyle.getStroke(); var color = GT.flightPaths[i].isQRZ ? getQrzPathColor() : getPathColor(); - var width = GT.flightPaths[i].isQRZ - ? qrzPathWidthValue.value - : pathWidthValue.value; + var width = GT.flightPaths[i].isQRZ ? qrzPathWidthValue.value : pathWidthValue.value; if (width == 0) { @@ -1525,11 +1514,7 @@ function createTooltTipTable(toolElement) newCallList.push(GT.QSOhash[KeyIsHash]); } } - if ( - toolElement.qth in GT.liveGrids && - GT.liveGrids[toolElement.qth].rectangle != null && - GT.liveGrids[toolElement.qth].isTriangle == false - ) + if (toolElement.qth in GT.liveGrids && GT.liveGrids[toolElement.qth].rectangle != null && GT.liveGrids[toolElement.qth].isTriangle == false) { for (var KeyIsCall in GT.liveGrids[toolElement.qth].rectangle.liveHash) { @@ -1666,9 +1651,7 @@ function renderTooltipWindow(feature) try { createTooltTipTable(feature); - var adif = GT.popupWindowHandle.window.document.getElementById( - "adifTable" - ); + var adif = GT.popupWindowHandle.window.document.getElementById("adifTable"); adif.innerHTML = GT.passingToolTipTableString; var positionInfo = myTooltip.getBoundingClientRect(); GT.popupWindowHandle.show(); @@ -2355,8 +2338,6 @@ function toggleHelp() function onMyKeyUp(event) { } -GT.currentOverlay = 0; - function cycleTrophyOverlay() { GT.currentOverlay++; @@ -2377,18 +2358,8 @@ function didConfirm(testObj) function makeTitleInfo(mapWindow) { - var band = - GT.appSettings.gtBandFilter.length == 0 - ? "Mixed" - : GT.appSettings.gtBandFilter == "auto" - ? GT.appSettings.myBand - : GT.appSettings.gtBandFilter; - var mode = - GT.appSettings.gtModeFilter.length == 0 - ? "Mixed" - : GT.appSettings.gtModeFilter == "auto" - ? GT.appSettings.myMode - : GT.appSettings.gtModeFilter; + var band = GT.appSettings.gtBandFilter.length == 0 ? "Mixed" : GT.appSettings.gtBandFilter == "auto" ? GT.appSettings.myBand : GT.appSettings.gtBandFilter; + var mode = GT.appSettings.gtModeFilter.length == 0 ? "Mixed" : GT.appSettings.gtModeFilter == "auto" ? GT.appSettings.myMode : GT.appSettings.gtModeFilter; var news = `GridTracker ${gtVersionStr} [Band: ${band} Mode: ${mode}`; var end = "]"; @@ -2400,22 +2371,25 @@ function makeTitleInfo(mapWindow) if (GT.currentOverlay == 0 && GT.appSettings.gridViewMode == 1) { return news + end; } - var workline = ` - Worked ${GT.viewInfo[GT.currentOverlay][2]} Confirmed ${GT.viewInfo[GT.currentOverlay][3]}` - if ( - GT.viewInfo[GT.currentOverlay][2] <= GT.viewInfo[GT.currentOverlay][4] && - GT.viewInfo[GT.currentOverlay][4] > 0 - ) + var workline = ` - Worked ${GT.viewInfo[GT.currentOverlay][2]} Confirmed ${GT.viewInfo[GT.currentOverlay][3]}`; + if (GT.viewInfo[GT.currentOverlay][2] <= GT.viewInfo[GT.currentOverlay][4] && GT.viewInfo[GT.currentOverlay][4] > 0) { end = ` Needed ${(GT.viewInfo[GT.currentOverlay][4] - GT.viewInfo[GT.currentOverlay][2])}]`; } return news + workline + end; } +function gtTrophyLayerChanged(element) +{ + setTrophyOverlay(element.value); + saveMapSettings(); +} + function setTrophyOverlay(which) { - GT.currentOverlay = which; + gtTrophyLayer.value = GT.currentOverlay = GT.mapSettings.trophyOverlay = which; window.document.title = makeTitleInfo(true); - trophyImg.src = GT.trophyImageArray[which]; + // trophyImg.src = GT.trophyImageArray[which]; myTrophyTooltip.style.zIndex = -1; clearCurrentShapes(); // set the scope of key @@ -2427,11 +2401,7 @@ function setTrophyOverlay(which) { GT.layerVectors[key].setVisible(true); } - if ( - GT.appSettings.gtFlagImgSrc > 0 && - GT.appSettings.gtShareEnable == true && - GT.mapSettings.offlineMode == false - ) + if (GT.appSettings.gtFlagImgSrc > 0 && GT.appSettings.gtShareEnable == true && GT.mapSettings.offlineMode == false) { GT.layerVectors.gtflags.setVisible(true); } @@ -2440,7 +2410,7 @@ function setTrophyOverlay(which) GT.layerVectors.gtflags.setVisible(false); } GT.layerVectors.award.setVisible(false); - if (GT.showAllGrids == false) + if (GT.mapSettings.showAllGrids == false) { GT.layerVectors.lineGrids.setVisible(false); GT.layerVectors.bigGrids.setVisible(false); @@ -2448,14 +2418,7 @@ function setTrophyOverlay(which) } if (GT.timezoneLayer) { - if (GT.timezonesEnable == 1) - { - GT.timezoneLayer.setVisible(true); - } - else - { - GT.timezoneLayer.setVisible(false); - } + GT.timezoneLayer.setVisible(true); } } else @@ -2473,11 +2436,7 @@ function setTrophyOverlay(which) { GT.layerVectors[key].setVisible(true); } - if ( - GT.appSettings.gtFlagImgSrc > 0 && - GT.appSettings.gtShareEnable == true && - GT.mapSettings.offlineMode == false - ) + if (GT.appSettings.gtFlagImgSrc > 0 && GT.appSettings.gtShareEnable == true && GT.mapSettings.offlineMode == false) { GT.layerVectors.gtflags.setVisible(true); } @@ -2736,14 +2695,7 @@ function setTrophyOverlay(which) updateSpotView(true); } -function gridFeature( - key, - objectData, - propname, - fillColor, - borderColor, - borderWidth -) +function gridFeature(key, objectData, propname, fillColor, borderColor, borderWidth) { var style = new ol.style.Style({ stroke: new ol.style.Stroke({ @@ -2978,9 +2930,7 @@ function mouseDownGrid(longlat) GT.MyCurrentGrid = grid.substr(0, 4); var worker = ""; worker += ""; - var bearing = parseInt( - MyCircle.bearing(GT.myLat, GT.myLon, longlat[1], longlat[0]) - ); + var bearing = parseInt(MyCircle.bearing(GT.myLat, GT.myLon, longlat[1], longlat[0])); worker += "
Dist" + parseInt( MyCircle.distance( @@ -3799,7 +3749,7 @@ function trafficDecodeView() if (GT.mapSettings.trafficDecode == false) { trafficDiv.innerHTML = ""; - GT.lastTraffic = Array(); + GT.lastTraffic = []; } } @@ -3855,15 +3805,15 @@ function setAnimateView() function toggleAnimate() { - animateValue.checked = animateValue.checked != true; + animateValue.checked = !animateValue.checked; changeAnimate(); } function toggleAllGrids() { - GT.showAllGrids = !GT.showAllGrids; + GT.mapSettings.showAllGrids = !GT.mapSettings.showAllGrids; setTrophyOverlay(GT.currentOverlay); - gridOverlayImg.style.filter = GT.showAllGrids ? "" : "grayscale(1)"; + gridOverlayImg.style.filter = GT.mapSettings.showAllGrids ? "" : "grayscale(1)"; } function changeAnimate() @@ -4777,8 +4727,6 @@ GT.lasttimezone = null; GT.nexradInterval = null; -GT.nexradEnable = 0; - function createNexRad() { var layerSource = new ol.source.TileWMS({ @@ -4799,16 +4747,20 @@ function createNexRad() function toggleNexrad() { - GT.nexradEnable ^= 1; - if (GT.nexradEnable == 1) - { - if (GT.Nexrad != null) - { - GT.map.removeLayer(GT.Nexrad); - } + GT.mapSettings.usNexrad = !GT.mapSettings.usNexrad; + displayNexrad(); + saveMapSettings(); +} - GT.Nexrad = createNexRad(); - GT.map.addLayer(GT.Nexrad); +function displayNexrad() +{ + if (GT.mapSettings.usNexrad && GT.mapSettings.offlineMode == false) + { + if (GT.Nexrad == null) + { + GT.Nexrad = createNexRad(); + GT.map.addLayer(GT.Nexrad); + } if (GT.nexradInterval == null) { GT.nexradInterval = nodeTimers.setInterval(nexradRefresh, 600000); } } @@ -4826,14 +4778,12 @@ function toggleNexrad() } } - GT.mapSettings.usNexrad = GT.nexradEnable == 1; radarImg.style.filter = GT.mapSettings.usNexrad ? "" : "grayscale(1)"; - saveMapSettings(); } function nexradRefresh() { - if (GT.Nexrad != null) + if (GT.Nexrad != null && GT.mapSettings.offlineMode == false) { GT.Nexrad.getSource().updateParams({ ol3_salt: Math.random() }); GT.Nexrad.getSource().refresh(); @@ -5923,7 +5873,7 @@ function finalWsjtxDecode(newMessage, isFox = false, foxMessage) canPath = true; } - if (theirQTH in GT.liveGrids) + if (theirQTH in GT.liveGrids) { GT.liveGrids[theirQTH].age = GT.timeNow; } @@ -8064,6 +8014,8 @@ function openAlertWindow(show = true) function openLookupWindow(show = false) { + if (GT.mapSettings.offlineMode == true) return; + if (GT.lookupWindowHandle == null) { popupNewWindows(); @@ -11137,34 +11089,35 @@ function loadMaidenHeadData() initAdifWorker(); } -GT.timezonesEnable = 0; GT.timezoneLayer = null; -function createZoneLayer() -{ - GT.timezoneLayer = createGeoJsonLayer( - "tz", - "./data/combined-with-oceans.json", - "#000088FF", - 0.5 - ); - GT.map.addLayer(GT.timezoneLayer); - GT.timezoneLayer.setVisible(false); -} - function toggleTimezones() { - if (GT.currentOverlay != 0) return; + GT.mapSettings.timezonesEnable ^= 1; + displayTimezones(); +} - GT.timezonesEnable ^= 1; +function displayTimezones() +{ + timezoneImg.style.filter = GT.mapSettings.timezonesEnable == 1 ? "" : "grayscale(1)"; - if (GT.timezonesEnable == 1) + if (GT.mapSettings.timezonesEnable == 1) { if (GT.timezoneLayer == null) { - createZoneLayer(); + GT.timezoneLayer = createGeoJsonLayer( + "tz", + "./data/combined-with-oceans.json", + "#000088FF", + 0.5 + ); + GT.map.addLayer(GT.timezoneLayer); + GT.timezoneLayer.setVisible(false); + } + if (GT.currentOverlay == 0) + { + GT.timezoneLayer.setVisible(true); } - GT.timezoneLayer.setVisible(true); } else { @@ -11174,8 +11127,6 @@ function toggleTimezones() GT.timezoneLayer = null; } } - - timezoneImg.style.filter = GT.timezonesEnable == 1 ? "" : "grayscale(1)"; } function drawAllGrids() @@ -11577,9 +11528,9 @@ function loadMapSettings() setSpotImage(); - timezoneImg.style.filter = GT.timezonesEnable == 1 ? "" : "grayscale(1)"; + timezoneImg.style.filter = GT.mapSettings.timezonesEnable == 1 ? "" : "grayscale(1)"; radarImg.style.filter = GT.mapSettings.usNexrad ? "" : "grayscale(1)"; - gridOverlayImg.style.filter = GT.showAllGrids ? "" : "grayscale(1)"; + gridOverlayImg.style.filter = GT.mapSettings.showAllGrids ? "" : "grayscale(1)"; GT.bandToColor = JSON.parse(JSON.stringify(GT.pskColors)); @@ -12187,6 +12138,10 @@ function loadAdifSettings() document.getElementById(where).style.display = "none"; } } + else + { + delete GT.adifLogSettings.menu[key]; + } } for (var key in GT.adifLogSettings.startup) { @@ -12318,6 +12273,8 @@ function startupButtonsAndInputs() bandActivityDiv.style.display = "none"; buttonSpotsBoxDiv.style.display = "none"; potaButton.style.display = "none"; + lookupButton.style.display = "none"; + radarButton.style.display = "none"; } setGtShareButtons(); @@ -12348,18 +12305,16 @@ function postInit() updateForwardListener(); addLastTraffic("GridTracker
" + gtShortVersion); - GT.nexradEnable = GT.mapSettings.usNexrad ? 0 : 1; - toggleNexrad(); + displayNexrad(); + displayTimezones(); if (String(gtVersion) != String(GT.startVersion)) { - // generalbut.className = "settingsTablinks"; showSettingsBox(); - openSettingsTab(updatebut, "updateSettingsDiv"); } GT.finishedLoading = true; - // tagme + var x = document.querySelectorAll("input[type='range']"); for (var i = 0; i < x.length; i++) { diff --git a/package.nw/lib/pota.js b/package.nw/lib/pota.js index 5fe3236e..7b8af7f3 100644 --- a/package.nw/lib/pota.js +++ b/package.nw/lib/pota.js @@ -143,7 +143,7 @@ function redrawParks() { GT.layerSources.pota.clear(); - if (GT.appSettings.potaEnabled == 1 && GT.appSettings.potaMapEnabled) + if (GT.appSettings.potaEnabled == 1 && GT.appSettings.potaMapEnabled && GT.mapSettings.offlineMode == false) { GT.pota.mapParks = {}; makeParkFeatures(); diff --git a/package.nw/lib/roster/processRosterHunting.js b/package.nw/lib/roster/processRosterHunting.js index 5000a31a..60609c9a 100644 --- a/package.nw/lib/roster/processRosterHunting.js +++ b/package.nw/lib/roster/processRosterHunting.js @@ -14,7 +14,7 @@ function processRosterHunting(callRoster, rosterSettings, awardTracker) const currentYear = new Date().getFullYear(); const currentYearSuffix = `’${currentYear - 2000}`; - const potaEnabled = (window.opener.GT.appSettings.potaEnabled == 1); + const potaEnabled = (window.opener.GT.appSettings.potaEnabled == 1 && window.opener.GT.mapSettings.offlineMode == false); // TODO: Hunting results might be used to filter, based on the "Callsigns: Only Wanted" option, // so maybe we can move this loop first, and add a check to the filtering loop? diff --git a/package.nw/lib/roster/renderRoster.js b/package.nw/lib/roster/renderRoster.js index 446ea04a..738ccc9e 100644 --- a/package.nw/lib/roster/renderRoster.js +++ b/package.nw/lib/roster/renderRoster.js @@ -44,7 +44,7 @@ function renderRoster(callRoster, rosterSettings) columnOverrides.OAMS = false; } - if (window.opener.GT.appSettings.potaEnabled == 1) + if (window.opener.GT.appSettings.potaEnabled == 1 && window.opener.GT.mapSettings.offlineMode == false) { huntingMatrixPotaDiv.style.display = ""; }