diff --git a/package.nw/GridTracker.html b/package.nw/GridTracker.html index f776bbc..50bbda4 100644 --- a/package.nw/GridTracker.html +++ b/package.nw/GridTracker.html @@ -175,7 +175,7 @@
+
+This is a bug fix and look-and-feel update.
+ +Documentation starting with a quick-start guide is being created right now by the document team!
+ All feature requests will be added to the backlog.
We will prioritize them in our public #Round-Table room on our Discord server.
Here is a link to our Discord server. Link
@@ -9,96 +13,37 @@ Here is a link to our Discord server. We recommend downloading the Discord app instead of using the browser.
-GridTracker: - I have improved the UI/UX (User interface/User Experience) in this release - I have moved buttons around & items are labeled for clarity - Most items/buttons that you can interact with have a tooltip - Simply hover your mouse-pointer over an item/field/button & it will describe it - -Main Window: - Update: - "Call Roster + Award Tracker" Text button now a - "Call Roster + Award" Icon button - - "Lookup" Icon button less creepy - - New: - "?" Icon button toggles the Hotkey List - In the next release it will open documentation - - "Timezone" Icon button toggles Timezone layer - - "Radar" Icon button toggles US Nexrad Weather layer - -Hotkey List: - Ordered by Key for clarity - Added Version to header +Fixes: + QSO Log Event: + When a QSO was completed in WSJT-X: + The map was not updating with the new QSO data -Map: - Fixed: - "Timezone" layer very slow to react + US Nexrad Layer: + Always on top regardless of other layers, it's clouds after all + + Off-Air Message Service: + Sometimes not sending a message when "Enter" key pressed -Settings: - Update: - Merged Spots Tab with Map Tab to make room for Logbook Tab - - Logbook: - New Tab!: - "Working Callsign(s)" - When enabled, filter your logbooks by callsigns - (eg:"N0TTL,N0OAW,KE0PEA") only those callsigns will be loaded - - "Working Date" - When enabled, filter your logbooks by date - (Only QSO on or after date will be loaded) - (Dates are 00:00:00 UTC/Zulu) - - When "Apply Changes" is pressed, GridTracker will re-import logs - (it may take a while) - Lookups: - Update: - Callsign Database now list instead of boxes - Making room for more callsign databases - NR0Q found the Canadian call-db and will be in a future release - - Downloads are now automatic and weekly when enabled - The US Database is only 10mb - - US Callsign Database: - Fixed: - Corrupt/Incomplete database due to program close while downloading + Open lookup window on transmit working properly when enabled + + Call Roster: + Roster mode header now sticky, thank you VE2ESF -Call Roster: - Fixed: - Hide Controls/Show Controls getting out of sync when switching views + Multiple Rig Instances: + Lookups: + Where active rig in main window was the only one doing lookups + + Call Roster: + Band column not going away properly + +Update: + A few panel buttons have been updated for quality and clarity of purpose -Below is the backlog of features that have been prioritized for the next -release *after* we get our first update to documentation in over 2 years! - -Output from the most recent Round-Table discussion on new features... - -Ordered by priority: - -DX Logbook, HRD Logbook , N3FJP ACLog, Log4OM.. QSL Import and Synchronization - -Create Award Tracker Stats Tab - -Add Settings Window To Call Roster - -Add New Ignores in "new settings window" in Call Roster - -Add Callsign and DXCC right-click "Add Call/DXCC Watcher" + "Edit Watcher" - -Add Lighting alert volume .. and mute override and media selector - -Audio Alerts fix up - - diff --git a/package.nw/img/arrow.png b/package.nw/img/arrow.png deleted file mode 100644 index 821396c..0000000 Binary files a/package.nw/img/arrow.png and /dev/null differ diff --git a/package.nw/img/c_queue.png b/package.nw/img/c_queue.png deleted file mode 100644 index 4ea396f..0000000 Binary files a/package.nw/img/c_queue.png and /dev/null differ diff --git a/package.nw/img/conditions.svg b/package.nw/img/conditions.svg new file mode 100644 index 0000000..6b4df50 --- /dev/null +++ b/package.nw/img/conditions.svg @@ -0,0 +1,27 @@ + + \ No newline at end of file diff --git a/package.nw/img/eye.png b/package.nw/img/eye.png deleted file mode 100644 index 94a6675..0000000 Binary files a/package.nw/img/eye.png and /dev/null differ diff --git a/package.nw/img/eye2.png b/package.nw/img/eye2.png deleted file mode 100644 index 71b8be8..0000000 Binary files a/package.nw/img/eye2.png and /dev/null differ diff --git a/package.nw/img/grid_both.png b/package.nw/img/grid_both.png deleted file mode 100644 index 9e38673..0000000 Binary files a/package.nw/img/grid_both.png and /dev/null differ diff --git a/package.nw/img/grid_live.png b/package.nw/img/grid_live.png deleted file mode 100644 index 102ab6f..0000000 Binary files a/package.nw/img/grid_live.png and /dev/null differ diff --git a/package.nw/img/grid_qso.png b/package.nw/img/grid_qso.png deleted file mode 100644 index 2e59383..0000000 Binary files a/package.nw/img/grid_qso.png and /dev/null differ diff --git a/package.nw/img/gt_msg.png b/package.nw/img/gt_msg.png deleted file mode 100644 index d76c1a4..0000000 Binary files a/package.nw/img/gt_msg.png and /dev/null differ diff --git a/package.nw/img/icon-fullscreen-2x.png b/package.nw/img/icon-fullscreen-2x.png deleted file mode 100644 index efc0dfb..0000000 Binary files a/package.nw/img/icon-fullscreen-2x.png and /dev/null differ diff --git a/package.nw/img/icon-fullscreen.png b/package.nw/img/icon-fullscreen.png deleted file mode 100644 index 8ee2447..0000000 Binary files a/package.nw/img/icon-fullscreen.png and /dev/null differ diff --git a/package.nw/img/icon_sdr#_off.png b/package.nw/img/icon_sdr#_off.png deleted file mode 100644 index 5c18a3a..0000000 Binary files a/package.nw/img/icon_sdr#_off.png and /dev/null differ diff --git a/package.nw/img/icon_sdr#_on.png b/package.nw/img/icon_sdr#_on.png deleted file mode 100644 index a15ffc4..0000000 Binary files a/package.nw/img/icon_sdr#_on.png and /dev/null differ diff --git a/package.nw/img/l1.png b/package.nw/img/l1.png deleted file mode 100644 index d3963ad..0000000 Binary files a/package.nw/img/l1.png and /dev/null differ diff --git a/package.nw/img/l6.png b/package.nw/img/l6.png deleted file mode 100644 index 462eb4f..0000000 Binary files a/package.nw/img/l6.png and /dev/null differ diff --git a/package.nw/img/log_settings.png b/package.nw/img/log_settings.png deleted file mode 100644 index 425a97e..0000000 Binary files a/package.nw/img/log_settings.png and /dev/null differ diff --git a/package.nw/img/map3.png b/package.nw/img/map3.png deleted file mode 100644 index 27ab505..0000000 Binary files a/package.nw/img/map3.png and /dev/null differ diff --git a/package.nw/img/msg.png b/package.nw/img/msg.png deleted file mode 100644 index a9d669b..0000000 Binary files a/package.nw/img/msg.png and /dev/null differ diff --git a/package.nw/img/msg_bell.png b/package.nw/img/msg_bell.png deleted file mode 100644 index b46793c..0000000 Binary files a/package.nw/img/msg_bell.png and /dev/null differ diff --git a/package.nw/img/muted-button.svg b/package.nw/img/muted-button.svg new file mode 100644 index 0000000..da98b4a --- /dev/null +++ b/package.nw/img/muted-button.svg @@ -0,0 +1,12 @@ + + \ No newline at end of file diff --git a/package.nw/img/no_image4.jpg b/package.nw/img/no_image4.jpg deleted file mode 100644 index f93e428..0000000 Binary files a/package.nw/img/no_image4.jpg and /dev/null differ diff --git a/package.nw/img/no_image5.jpg b/package.nw/img/no_image5.jpg deleted file mode 100644 index 8da48a4..0000000 Binary files a/package.nw/img/no_image5.jpg and /dev/null differ diff --git a/package.nw/img/offline_map.svg b/package.nw/img/offline_map.svg new file mode 100644 index 0000000..5f36f45 --- /dev/null +++ b/package.nw/img/offline_map.svg @@ -0,0 +1,39 @@ + + \ No newline at end of file diff --git a/package.nw/img/offline_map_32.png b/package.nw/img/offline_map_32.png deleted file mode 100644 index 9f0b389..0000000 Binary files a/package.nw/img/offline_map_32.png and /dev/null differ diff --git a/package.nw/img/online_map.svg b/package.nw/img/online_map.svg new file mode 100644 index 0000000..05f3a01 --- /dev/null +++ b/package.nw/img/online_map.svg @@ -0,0 +1,12 @@ + + \ No newline at end of file diff --git a/package.nw/img/online_map2_32.png b/package.nw/img/online_map2_32.png deleted file mode 100644 index 77ea46e..0000000 Binary files a/package.nw/img/online_map2_32.png and /dev/null differ diff --git a/package.nw/img/online_map3_32.png b/package.nw/img/online_map3_32.png deleted file mode 100644 index 28afc7e..0000000 Binary files a/package.nw/img/online_map3_32.png and /dev/null differ diff --git a/package.nw/img/plane.png b/package.nw/img/plane.png deleted file mode 100644 index ddfb432..0000000 Binary files a/package.nw/img/plane.png and /dev/null differ diff --git a/package.nw/img/psk_7D_32.png b/package.nw/img/psk_7D_32.png deleted file mode 100644 index dd06b08..0000000 Binary files a/package.nw/img/psk_7D_32.png and /dev/null differ diff --git a/package.nw/img/qsl_locked_32.png b/package.nw/img/qsl_locked_32.png deleted file mode 100644 index eee29d1..0000000 Binary files a/package.nw/img/qsl_locked_32.png and /dev/null differ diff --git a/package.nw/img/qsl_unlocked_32.png b/package.nw/img/qsl_unlocked_32.png deleted file mode 100644 index 93ba153..0000000 Binary files a/package.nw/img/qsl_unlocked_32.png and /dev/null differ diff --git a/package.nw/img/qso_locked_32.png b/package.nw/img/qso_locked_32.png deleted file mode 100644 index 542a55d..0000000 Binary files a/package.nw/img/qso_locked_32.png and /dev/null differ diff --git a/package.nw/img/qso_unlocked_32.png b/package.nw/img/qso_unlocked_32.png deleted file mode 100644 index bfe5827..0000000 Binary files a/package.nw/img/qso_unlocked_32.png and /dev/null differ diff --git a/package.nw/img/reset_map.png b/package.nw/img/reset_map.png deleted file mode 100644 index 4117422..0000000 Binary files a/package.nw/img/reset_map.png and /dev/null differ diff --git a/package.nw/img/settings-button.svg b/package.nw/img/settings-button.svg new file mode 100644 index 0000000..f7afe1f --- /dev/null +++ b/package.nw/img/settings-button.svg @@ -0,0 +1,7 @@ + + \ No newline at end of file diff --git a/package.nw/img/settings_32.png b/package.nw/img/settings_32.png deleted file mode 100644 index 437dd6a..0000000 Binary files a/package.nw/img/settings_32.png and /dev/null differ diff --git a/package.nw/img/share.png b/package.nw/img/share.png deleted file mode 100644 index 950b779..0000000 Binary files a/package.nw/img/share.png and /dev/null differ diff --git a/package.nw/img/solar.png b/package.nw/img/solar.png deleted file mode 100644 index a481fa0..0000000 Binary files a/package.nw/img/solar.png and /dev/null differ diff --git a/package.nw/img/stats-button.svg b/package.nw/img/stats-button.svg new file mode 100644 index 0000000..9df2bad --- /dev/null +++ b/package.nw/img/stats-button.svg @@ -0,0 +1,16 @@ + + \ No newline at end of file diff --git a/package.nw/img/sun.png b/package.nw/img/sun.png deleted file mode 100644 index 2be15e6..0000000 Binary files a/package.nw/img/sun.png and /dev/null differ diff --git a/package.nw/img/sun_bolt.png b/package.nw/img/sun_bolt.png deleted file mode 100644 index 193186b..0000000 Binary files a/package.nw/img/sun_bolt.png and /dev/null differ diff --git a/package.nw/img/sun_info.png b/package.nw/img/sun_info.png deleted file mode 100644 index 2da1db4..0000000 Binary files a/package.nw/img/sun_info.png and /dev/null differ diff --git a/package.nw/img/trophy_blank.png b/package.nw/img/trophy_blank.png deleted file mode 100644 index f01111c..0000000 Binary files a/package.nw/img/trophy_blank.png and /dev/null differ diff --git a/package.nw/img/trophy_cq.png b/package.nw/img/trophy_cq.png deleted file mode 100644 index 0554c10..0000000 Binary files a/package.nw/img/trophy_cq.png and /dev/null differ diff --git a/package.nw/img/trophy_itu.png b/package.nw/img/trophy_itu.png deleted file mode 100644 index d6fe386..0000000 Binary files a/package.nw/img/trophy_itu.png and /dev/null differ diff --git a/package.nw/img/trophy_wac.png b/package.nw/img/trophy_wac.png deleted file mode 100644 index 30cc42b..0000000 Binary files a/package.nw/img/trophy_wac.png and /dev/null differ diff --git a/package.nw/img/trophy_was.png b/package.nw/img/trophy_was.png deleted file mode 100644 index b6e4c3e..0000000 Binary files a/package.nw/img/trophy_was.png and /dev/null differ diff --git a/package.nw/img/unmuted-button.svg b/package.nw/img/unmuted-button.svg new file mode 100644 index 0000000..60f4dfd --- /dev/null +++ b/package.nw/img/unmuted-button.svg @@ -0,0 +1,17 @@ + + \ No newline at end of file diff --git a/package.nw/lib/adif.js b/package.nw/lib/adif.js index ccc63b4..3faa095 100644 --- a/package.nw/lib/adif.js +++ b/package.nw/lib/adif.js @@ -1602,9 +1602,7 @@ function oldSendToLogger() sendToLogger(report); - if (g_ignoreMessages == 0) { - onAdiLoadComplete(report); - } + updateCountStats(); } @@ -1714,6 +1712,8 @@ function sendToLogger(ADIF) if ( reportHash != lastReportHash ) { + onAdiLoadComplete(report); + // Log worthy if ( logGTqsoCheckBox.checked == true ) { diff --git a/package.nw/lib/alerts.js b/package.nw/lib/alerts.js index 28d2338..a2f4dc5 100644 --- a/package.nw/lib/alerts.js +++ b/package.nw/lib/alerts.js @@ -104,7 +104,21 @@ function loadAlerts() if ( typeof localStorage.savedAlerts == 'undefined' ) { - g_alerts = Object(); + g_alerts = { + "popup" : { + "value": "QRZ", + "type": "4", + "notify": "2", + "repeat": "2", + "filename": "", + "shortname": "", + "lastMessage": "", + "lastTime": 0, + "fired": 0, + "needAck": 0 + } + }; + g_speechSettings = Object(); g_audioSettings = Object(); g_speechSettings.rate = 1; @@ -530,7 +544,7 @@ function checkAlerts( DEcallsign, grid, originalMessage, callsignRecord, band, } else if ( nalert.type == 4 ) // QRZ { - if ( originalMessage.indexOf(nalert.value + " ") == 0 ) + if ( myDEcall.length > 0 && originalMessage.indexOf(myDEcall + " ") == 0 ) { handleAlert(nalert, DEcallsign, originalMessage, callsignRecord); hadAlert = true; @@ -615,7 +629,7 @@ function handleAlert( nAlert, target, lastMessage , callsignRecord, grid) if ( nAlert.notify == 0 ) playAlertMediaFile( nAlert.filename ); if ( nAlert.notify == 1 ) - speakQRZString( target, "Calling", nAlert.value ); + speakQRZString( target, "Calling", myDEcall ); if ( nAlert.notify == 2 ) displayAlertPopUp( "QRZ", null , null ); } @@ -755,7 +769,7 @@ function unflashAlertPopUp() if ( g_alerts[key].type == 2 ) worker += "" + g_alerts[key].value + " "; if ( g_alerts[key].type == 4 ) - worker += "" + g_alerts[key].value + " "; + worker += "" + myDEcall + " "; if ( g_alerts[key].type == 5 ) worker += "" + g_alerts[key].value + "* "; if ( g_alerts[key].type == 6 ) @@ -905,7 +919,7 @@ function displayAlerts() if ( g_alerts[key].type == 2 ) worker += "" + g_alerts[key].value + " "; if ( g_alerts[key].type == 4 ) - worker += "" + g_alerts[key].value + " "; + worker += "" + myDEcall + " "; if ( g_alerts[key].type == 5 ) worker += "" + g_alerts[key].value + "* "; if ( g_alerts[key].type == 6 ) diff --git a/package.nw/lib/defaults.js b/package.nw/lib/defaults.js index b678a71..2da9a9c 100644 --- a/package.nw/lib/defaults.js +++ b/package.nw/lib/defaults.js @@ -105,7 +105,7 @@ var def_mapSettings = "longitude" : 0.0, "latitude" : 0.0, "loudness" : 1, - "mapIndex" : 0, + "mapIndex" : 19, "mergeOverlay" : false, "mouseOver" : true, "nightLoudness" : 0.8, diff --git a/package.nw/lib/dp-dark.css b/package.nw/lib/dp-dark.css index 60257f9..0ae82bc 100644 --- a/package.nw/lib/dp-dark.css +++ b/package.nw/lib/dp-dark.css @@ -21,18 +21,25 @@ /* [CONTAINER] */ .picker { - max-width: 300px; - border: 1px solid #000; + max-width: 200px; + border: 1px solid #444; + -webkit-border-radius:6px; background: #444; - padding: 10px; + border-style:outset; + padding: 5px; +} + +.picker:hover +{ + border: 1px solid #888; } /* [MONTH + YEAR] */ .picker-m, .picker-y { - width: 50%; + width: 25%; padding: 5px; box-sizing: border-box; - font-size: 16px; + /*font-size: 16px;*/ } /* [DAY] */ @@ -40,11 +47,11 @@ color: #fff; border-collapse: separate; width: 100%; - margin-top: 10px; + margin-top: 5px; } .picker-d table td { - width: 14.28%; /* 7 equal columns */ - padding: 5px; + width: 2em; /* 7 equal columns */ + padding: 2px; text-align: center; } /* Header cells */ diff --git a/package.nw/lib/dp-light.css b/package.nw/lib/dp-light.css deleted file mode 100644 index edeb632..0000000 --- a/package.nw/lib/dp-light.css +++ /dev/null @@ -1,68 +0,0 @@ -/* [POPUP] */ -.picker-wrap { - position: fixed; - top: 0; - left: 0; - width: 100vw; - height: 100vh; - background: rgba(0,0,0,0.5); - opacity: 0; - visibility: hidden; - transition: opacity 0.2s; -} -.picker-wrap.show { - opacity: 1; - visibility: visible; -} -.picker-wrap .picker{ - margin: 50vh auto 0 auto; - transform: translateY(-50%) -} - -/* [CONTAINER] */ -.picker { - max-width: 300px; - border: 1px solid #eee; - background: #fafafa; - padding: 10px; -} - -/* [MONTH + YEAR] */ -.picker-m, .picker-y { - width: 50%; - padding: 5px; - box-sizing: border-box; - font-size: 16px; -} - -/* [DAY] */ -.picker-d table { - color: #333; - border-collapse: separate; - width: 100%; - margin-top: 10px; -} -.picker-d table td { - width: 14.28%; /* 7 equal columns */ - padding: 5px; - text-align: center; -} -/* Header */ -.picker-d-h td { - font-weight: bold; -} -/* Blank dates */ -.picker-d-b { - background: #ddd; -} -/* Pickable Dates */ -.picker-d-d:hover { - cursor: pointer; - background: #2d68c4; - color: #fff; -} -/* Unpickable Dates */ -.picker-d-dd { - color: #aaa; - background: #ddd; -} \ No newline at end of file diff --git a/package.nw/lib/gt.js b/package.nw/lib/gt.js index ec9d50b..40ce13d 100644 --- a/package.nw/lib/gt.js +++ b/package.nw/lib/gt.js @@ -1,7 +1,7 @@ // GridTracker ©2020 N0TTL var gtComment1 = "GridTracker is not open source, you may not change, modify or 'borrow' code for your needs that is redistributed in any form without first asking and receiving permission from N0TTL *and* N2VFL"; var gtComment2 = "Third party libraries and functions used are seperated to third-party.js or their respective lib .js files, the GT close-source directive does not apply to these files of course"; -var gtVersion = 1200826; +var gtVersion = 1200830; var gtBeta = ""; var g_startVersion = 0; @@ -21,9 +21,6 @@ var vers = String(gtVersion); var gtShortVersion = "v" + vers.substr(0,1) + "." + vers.substr(1,2) + "." + vers.substr(3,4) + " " + gtBeta; var gtVersionString = "GridTracker ©2020 N0TTL " + gtShortVersion; -document.oncontextmenu = function() { - return false; -}; var g_windowName = "GT-main"; var os = require('os'); @@ -140,7 +137,7 @@ var myBand = g_appSettings.myBand; var myRawFreq = g_appSettings.myRawFreq; var myRawCall = g_appSettings.myRawCall; var myRawGrid = g_appSettings.myRawGrid; -var myDXcall = ""; + var g_flightDuration = 30; @@ -540,8 +537,8 @@ var g_gtShareFlagImageArray = Array(); g_gtShareFlagImageArray[1] = "./img/share-on.png"; g_gtShareFlagImageArray[0] = "./img/share-off.png"; var g_mapImageArray = Array(); -g_mapImageArray[1] = "./img/online_map3_32.png"; -g_mapImageArray[0] = "./img/offline_map_32.png"; +g_mapImageArray[1] = "./img/online_map.svg"; +g_mapImageArray[0] = "./img/offline_map.svg"; var g_pinImageArray = Array(); g_pinImageArray[1] = "./img/red_pin_32.png"; g_pinImageArray[0] = "./img/gt_grid.png"; @@ -552,8 +549,8 @@ var g_qslLockImageArray = Array(); g_qslLockImageArray[0] = "./img/qsl_unlocked_32.png"; g_qslLockImageArray[1] = "./img/qsl_locked_32.png"; var g_alertImageArray = Array(); -g_alertImageArray[0] = "./img/audio_alerts_32.png"; -g_alertImageArray[1] = "./img/audio_alerts_off_32.png"; +g_alertImageArray[0] = "./img/unmuted-button.svg"; +g_alertImageArray[1] = "./img/muted-button.svg"; var g_maidenheadModeImageArray = Array(); g_maidenheadModeImageArray[0] = "./img/mh4_32.png"; g_maidenheadModeImageArray[1] = "./img/mh6_32.png"; @@ -4299,9 +4296,12 @@ function createGlobalMapLayer(name, maxResolution, minResolution) { g_layerSources[name] = new ol.source.Vector({}); if ( typeof maxResolution == "undefined" && typeof minResolution == "undefined" ) { + var zIndex = Object.keys(g_layerVectors).length + 1; + if ( name == "strikes" ) + zIndex = 2000; g_layerVectors[name] = new ol.layer.Vector({ source: g_layerSources[name], - zIndex: Object.keys(g_layerVectors).length + 1 + zIndex: zIndex }); } else if ( typeof minResolution == "undefined" ) @@ -4345,7 +4345,7 @@ function createGeoJsonLayer(name, url, color, stroke) { source: layerSource, style: style, visible: true, - Index: 1000 + zIndex: 1 }); layerVector.set("name", name); @@ -4575,7 +4575,6 @@ function loadStrikes () } - function toggleMouseTrack() { g_appSettings.mouseTrack ^= 1; @@ -4583,7 +4582,6 @@ function toggleMouseTrack() mouseTrackDiv.style.display = "none"; } - function myGmapNameCompare(a, b) { return g_maps[a].name.localeCompare(g_maps[b].name); } @@ -4664,10 +4662,11 @@ function initMap() { createGlobalMapLayer("flight"); createGlobalMapLayer("transmit"); createGlobalMapLayer("gtflags"); - createGlobalMapLayer("temp"); - createGlobalMapLayer("strikes"); createGlobalMapLayer("tz"); + createGlobalMapLayer("radar"); + createGlobalMapLayer("strikes"); + g_mapView = new ol.View({ center: [g_myLon, g_myLat], @@ -4697,9 +4696,9 @@ function initMap() { g_layerVectors["transmit"], g_layerVectors["gtflags"], g_layerVectors["temp"], - g_layerVectors["strikes"], - g_layerVectors["tz"] - + g_layerVectors["tz"], + g_layerVectors["radar"], + g_layerVectors["strikes"] ], controls: g_mapControl, loadTilesWhileInteracting: false, @@ -4905,42 +4904,28 @@ var g_nexradEnable = 0; function createNexRad() { - -//http://kmi.dpaw.wa.gov.au/geoserver/gwc/service/wms?SERVICE=WMS& - - - /*g_Nexrad = new ol.layer.Tile({ - source: new ol.source.TileWMS({ - url: 'http://kmi.dpaw.wa.gov.au/geoserver/gwc/service/wms', - params: {'LAYERS': 'bom:IDR00006'} - }) - });*/ - - /*g_Nexrad = new ol.layer.Tile({ - source: new ol.source.TileWMS({ - url: 'http://openwms.fmi.fi/geoserver/wms', - params: {'LAYERS': 'Radar:suomi_dbz_eureffin'} - }) - });*/ - - /*g_Nexrad = new ol.layer.Image({ - source: new ol.source.ImageWMS({ - format: 'image/png', - url: 'https://geo.weather.gc.ca/geomet/', - params: {'LAYERS': 'RADAR_1KM_RRAI', 'TILED': true}, - }) - });*/ - - g_Nexrad = new ol.layer.Tile({ - source: new ol.source.TileWMS({ + var layerSource = new ol.source.TileWMS({ url: 'http://mesonet.agron.iastate.edu/cgi-bin/wms/nexrad/n0q.cgi', - params: {'LAYERS': 'nexrad-n0q'} - }) - }); - - g_map.addLayer(g_Nexrad); + params: {'LAYERS': 'nexrad-n0q'}, + transition: 0 + }); + + var layerVector = new ol.layer.Tile({ + source: layerSource, + visible: true, + zIndex: 900 + + }); + + layerVector.set("name", "radar"); + + return layerVector; + } + + + function toggleNexrad() { g_nexradEnable ^= 1; @@ -4948,11 +4933,14 @@ function toggleNexrad() { if ( g_Nexrad != null ) { + g_map.removeLayer(g_Nexrad); delete g_Nexrad; - g_Nexrad = null; + } - - createNexRad(); + + + g_Nexrad = createNexRad(); + g_map.addLayer(g_Nexrad); if ( g_nexradInterval == null ) g_nexradInterval = setInterval(nexradRefresh,600000); @@ -4984,9 +4972,9 @@ function nexradRefresh() { g_map.removeLayer(g_Nexrad); delete g_Nexrad; - g_Nexrad = null; - createNexRad(); + + g_Nexrad = createNexRad();; } } @@ -5421,7 +5409,7 @@ function activeRig( instance ) } var g_lastDecodeCallsign = ""; -var g_lastTranmitCallsign = ""; +var g_lastTranmitCallsign = {}; function handleWsjtxStatus(newMessage) { @@ -5450,7 +5438,25 @@ function handleWsjtxStatus(newMessage) { { rigWrap.style.display= "none"; } + + var DXcall = newMessage.DXcall.trim(); + if ( DXcall.length > 1 ) + { + if ( !(newMessage.instance in g_lastTranmitCallsign ) ) + g_lastTranmitCallsign[newMessage.instance] = ""; + + if ( lookupOnTx.checked == true && newMessage.Transmitting == 1 ) + { + openLookupWindow(true); + } + if ( g_lastTranmitCallsign[newMessage.instance] != DXcall ) + { + lookupCallsign(DXcall, newMessage.DXgrid.trim() ); + g_lastTranmitCallsign[newMessage.instance] = DXcall; + } + } + if ( g_activeInstance == newMessage.instance ) { var sp = newMessage.Id.split(" - "); @@ -5501,7 +5507,8 @@ function handleWsjtxStatus(newMessage) { " Hz (" + myBand + ")"; myRawCall = newMessage.DEcall.trim(); - myRawGrid = theDEGrid = newMessage.DEgrid.trim().substr(0, 6); + myRawGrid = newMessage.DEgrid.trim().substr(0, 6); + var LL = squareToLatLongAll(myRawGrid); g_mapSettings.latitude = g_myLat = LL.la2 - ((LL.la2 - LL.la1) / 2); g_mapSettings.longitude = g_myLon = LL.lo2 - ((LL.lo2 - LL.lo1) / 2); @@ -5510,8 +5517,6 @@ function handleWsjtxStatus(newMessage) { g_lastRawGrid = myRawGrid; } - - myDXcall = DXcall = newMessage.DXcall.trim(); dxCallBoxDiv.className = "DXCallBox"; @@ -5533,19 +5538,7 @@ function handleWsjtxStatus(newMessage) { } localDXGrid.innerHTML = myDXGrid = newMessage.DXgrid.trim(); - if ( myDXcall.length > 1 ) - { - if ( lookupOnTx.checked == true && newMessage.Transmitting == 1 && g_lastTranmitCallsign != myDXcall ) - { - openLookupWindow(true); - g_lastTranmitCallsign = myDXcall; - } - if ( g_lastDecodeCallsign != myDXcall ) - { - lookupCallsign(DXcall, myDXGrid); - g_lastDecodeCallsign = myDXcall; - } - } + if (myDXGrid.length == 0 && hash in g_liveCallsigns) { localDXGrid.innerHTML = myDXGrid = g_liveCallsigns[hash].grid.substr(0, 4); @@ -6253,15 +6246,22 @@ function shapeFeature(key, geoJsonData, propname, fillColor, borderColor, border return feature; } -function handleWsjtxClear(newMessage) { - g_lastMessages = Array(); - g_lastTraffic = Array(); - clearGrids(); - clearCalls(); - setHomeGridsquare(); +function handleWsjtxClear(newMessage) +{ + for ( var hash in g_liveCallsigns ) + { + if ( g_liveCallsigns[hash].instance == newMessage.instance ) + delete g_liveCallsigns[hash]; + } + for (var call in g_callRoster) { + if ( g_callRoster[call].callObj.instance == newMessage.instance ) + delete g_callRoster[call]; + } + + redrawGrids(); + redrawPins(); + updateCountStats(); - trafficDiv.innerHTML = ""; - g_callRoster = {}; goProcessRoster(); } @@ -9518,7 +9518,6 @@ function validateNumAndLetter( input ) function validCallsignsKeys( value ) { - console.log(value); if (value == 44) return true; if ( value >= 47 && value <= 57 ) @@ -11583,8 +11582,9 @@ function updateWsjtxListener(port) { g_wsjtUdpSocketError = true; }); g_wsjtUdpServer.on('message', function (message, remote) { - - if (udpForwardEnable.checked == true) { + if ( g_closing == true ) + true; + if (typeof udpForwardEnable != "undefined" && udpForwardEnable.checked == true) { sendForwardUdpMessage(message, message.length, udpForwardPortInput.value, udpForwardIpInput.value); } diff --git a/package.nw/lib/icon-fullscreen-2x.png b/package.nw/lib/icon-fullscreen-2x.png deleted file mode 100644 index efc0dfb..0000000 Binary files a/package.nw/lib/icon-fullscreen-2x.png and /dev/null differ diff --git a/package.nw/lib/icon-fullscreen.png b/package.nw/lib/icon-fullscreen.png deleted file mode 100644 index 8ee2447..0000000 Binary files a/package.nw/lib/icon-fullscreen.png and /dev/null differ diff --git a/package.nw/lib/roster.js b/package.nw/lib/roster.js index e80f0b2..21ccd7b 100644 --- a/package.nw/lib/roster.js +++ b/package.nw/lib/roster.js @@ -1273,7 +1273,7 @@ function viewRoster() } - var showBands = (window.opener.g_instancesIndex.length > 1?true:false); + var showBands = (Object.keys(bands).length > 1?true:false); var showModes = (Object.keys(modes).length > 1?true:false); @@ -1282,18 +1282,18 @@ function viewRoster() if ( g_rosterSettings.compact == false ) { - worker = "
Callsign | "; + worker += "Callsign | "; if ( showBands ) { - worker += "Band | "; + worker += "Band | "; } if ( showModes ) { - worker += "Mode | "; + worker += "Mode | "; } worker += "Grid | "; @@ -1345,7 +1345,7 @@ function viewRoster() worker += "OAM | "; if ( g_rosterSettings.columns.Age ) - worker += "Age | "; + worker += "Age | "; } else { @@ -1397,7 +1397,7 @@ function viewRoster() - worker += "
---|---|
" + thisCall.formatCallsign() + " | "; @@ -1503,7 +1503,7 @@ function viewRoster() if ( g_rosterSettings.columns.Age ) worker += ""+ (timeNowSec() - newCallList[x].age).toDHMS() +" | "; - worker += "