From 07a60fe544c46f1ab1bc5513cdbed732312d548e Mon Sep 17 00:00:00 2001 From: Paul Traina Date: Fri, 4 Sep 2020 16:14:05 -0700 Subject: [PATCH] Import vendor v.1.20.0903 --- package.nw/GridTracker.html | 1 + package.nw/gt_bandactivity.html | 1 + package.nw/gt_chat.html | 33 +++++++++++- package.nw/gt_conditions.html | 1 + package.nw/gt_lookup.html | 32 ++++++++++++ package.nw/gt_popup.html | 1 + package.nw/gt_roster.html | 3 +- package.nw/gt_stats.html | 1 + package.nw/gt_update.html | 50 +++++++++++------- package.nw/img/energy-star.svg | 2 + package.nw/lib/callsigns.js | 2 + package.nw/lib/gt.js | 58 ++++++++++++++------- package.nw/lib/roster.js | 54 +++++++++----------- package.nw/lib/screens.js | 89 +++++++++++++++++++++++++++++++++ 14 files changed, 261 insertions(+), 67 deletions(-) create mode 100644 package.nw/img/energy-star.svg create mode 100644 package.nw/lib/screens.js diff --git a/package.nw/GridTracker.html b/package.nw/GridTracker.html index 441c78a2..c38bf7c1 100644 --- a/package.nw/GridTracker.html +++ b/package.nw/GridTracker.html @@ -20,6 +20,7 @@ +
diff --git a/package.nw/gt_bandactivity.html b/package.nw/gt_bandactivity.html index 286ab260..5776978f 100644 --- a/package.nw/gt_bandactivity.html +++ b/package.nw/gt_bandactivity.html @@ -38,6 +38,7 @@ document.body.addEventListener('contextmenu', function(ev) { }); + diff --git a/package.nw/gt_chat.html b/package.nw/gt_chat.html index 3ea48790..558aadfe 100644 --- a/package.nw/gt_chat.html +++ b/package.nw/gt_chat.html @@ -106,6 +106,7 @@ tr:hover td{ box-shadow: inset 0px 11px 6px -8px #888, + diff --git a/package.nw/gt_conditions.html b/package.nw/gt_conditions.html index 1c6ea056..92984347 100644 --- a/package.nw/gt_conditions.html +++ b/package.nw/gt_conditions.html @@ -128,6 +128,7 @@ function onMyKeyDown(event) window.opener.onMyKeyDown(event); } +
diff --git a/package.nw/gt_lookup.html b/package.nw/gt_lookup.html index 4a4228b1..c088dc0d 100644 --- a/package.nw/gt_lookup.html +++ b/package.nw/gt_lookup.html @@ -5,6 +5,7 @@ GridTracker Callsign Lookup + diff --git a/package.nw/gt_popup.html b/package.nw/gt_popup.html index f5ed6e96..e237f60f 100644 --- a/package.nw/gt_popup.html +++ b/package.nw/gt_popup.html @@ -56,6 +56,7 @@ document.oncontextmenu = function() { } +
diff --git a/package.nw/gt_roster.html b/package.nw/gt_roster.html index 820de2b1..ad9964d0 100644 --- a/package.nw/gt_roster.html +++ b/package.nw/gt_roster.html @@ -7,6 +7,7 @@ +
@@ -47,7 +48,7 @@ - + diff --git a/package.nw/gt_stats.html b/package.nw/gt_stats.html index 904b2ec1..272d9ab0 100644 --- a/package.nw/gt_stats.html +++ b/package.nw/gt_stats.html @@ -6,6 +6,7 @@ + diff --git a/package.nw/gt_update.html b/package.nw/gt_update.html index b612fa6c..e7c5214e 100644 --- a/package.nw/gt_update.html +++ b/package.nw/gt_update.html @@ -1,5 +1,5 @@
- +

This is a bug fix and look-and-feel update.

@@ -14,24 +14,30 @@ Here is a link to our Discord server.

 Fixes:
-  QSO Log Event:
-    When a QSO was completed in WSJT-X:
-      the map was not updating with the new QSO data
-	    fixed again
+  Right-click on empty grid flickering
   
-  Lookups:
-    Open lookup window on transmit working properly when enabled
-	  fixed again
-	
-  Close Lookup window after QSO working correctly
-  
-  US Callsign Database:
-	truncation of incomplete loads due to program restart, revisted
-	
-  630m band properly recognized and added to "Band Activity Graph"
-    
 Update:
-  "All Grid Overlay" hotkey "B" has a new panel button
+  Call Roster:
+    Band and Mode columns added to the right-click menu
+     when enabled columns remain sticky
+     when not enabled columns appear automatically as needed 
+
+    US Counties:
+      Counties are "best guess" based on the zipcode of the station
+       the roster will rotate in unworked then unconfirmed counties as needed
+        until I can get a database of US Callsigns with county info
+   
+  Window(s):
+    For "Energy Star" complaint monitors that shutdown to save power
+      position of window(s) restored on return of display
+        does not work if you close GridTracker when a display is off
+
+  Lookups:
+    Added "DXCC" worked/confirmed status by band below last "QSO" date
+  
+  Lookup and Chat windows now scale too!
+    ctrl-minus / ctrl-plus / reset with ctrl-zero
+  
 
 
 
@@ -48,7 +54,7 @@ Update:
 
 
 
-Thank you for reading the entire update! limbo-fish
+Thank you for reading the entire update! 
 
 
 
@@ -56,6 +62,14 @@ Thank you for reading the entire update! limbo-fish
 
 
 
+
+
+
+
+
+
+
+crab-pot
 
diff --git a/package.nw/img/energy-star.svg b/package.nw/img/energy-star.svg new file mode 100644 index 00000000..503be8a5 --- /dev/null +++ b/package.nw/img/energy-star.svg @@ -0,0 +1,2 @@ + + diff --git a/package.nw/lib/callsigns.js b/package.nw/lib/callsigns.js index bdfa1c50..5d63ee4d 100644 --- a/package.nw/lib/callsigns.js +++ b/package.nw/lib/callsigns.js @@ -705,6 +705,8 @@ function lookupUsCallsign( object , writeState = false) cntyString = g_countyData[counties[county]].geo["properties"]["st"]+","+ g_countyData[counties[county]].geo["properties"]["n"].toUpperCase(); if ( !(cntyString in g_tracker.worked.cnty) ) break; + if ( !(cntyString in g_tracker.confirmed.cnty) ) + break; } object.cnty = cntyString; } diff --git a/package.nw/lib/gt.js b/package.nw/lib/gt.js index 43a8e866..c8c65195 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 = 1200831; +var gtVersion = 1200903; var gtBeta = ""; var g_startVersion = 0; @@ -294,6 +294,7 @@ function saveAndCloseApp() if ( g_statsWindowHandle ) g_statsWindowHandle.close(true); if ( g_lookupWindowHandle ) g_lookupWindowHandle.close(true); if ( g_baWindowHandle ) g_baWindowHandle.close(true); + nw.App.closeAllWindows(); } catch (e) { console.log(e); @@ -3967,8 +3968,13 @@ function dimGridsquare() { function updateCountStats() { - callsignCount.innerHTML = Object.keys(g_liveCallsigns).length; - + var count = Object.keys(g_liveCallsigns).length; + + if ( myDEcall in g_liveCallsigns ) + count--; + + callsignCount.innerHTML = count; + qsoCount.innerHTML = g_QSOcount; qslCount.innerHTML = g_QSLcount; @@ -4002,7 +4008,7 @@ function clearGrids() { g_liveGrids = {}; - updateCountStats(); + } function clearQsoGrids() { @@ -4085,7 +4091,7 @@ function clearCalls() { g_liveCallsigns = {}; g_dxccCount = {}; redrawGrids(); - updateCountStats(); + } function clearLive() { @@ -4105,7 +4111,7 @@ function clearLive() { clearTempGrids(); setHomeGridsquare(); redrawGrids(); - updateCountStats(); + updateRosterWorked(); goProcessRoster(); } @@ -4124,7 +4130,7 @@ function clearAll() { redrawGrids(); - updateCountStats(); + g_callRoster = {}; updateRosterWorked(); goProcessRoster(); @@ -4151,11 +4157,11 @@ function clearAndLoadQSOs() g_QSOcount = 0; setTrophyOverlay(g_currentOverlay); redrawGrids(); - updateCountStats(); + updateLogbook(); updateRosterWorked(); goProcessRoster(); - updateCountStats(); + startupAdifLoadCheck(); } @@ -4167,7 +4173,7 @@ function clearQSOs() { g_QSOcount = 0; setTrophyOverlay(g_currentOverlay); redrawGrids(); - updateCountStats(); + updateLogbook(); updateRosterWorked(); goProcessRoster(); @@ -4798,7 +4804,7 @@ function initMap() { }); - mapDiv.addEventListener('mouseout', mapLoseFocus, false); + //mapDiv.addEventListener('mouseout', mapLoseFocus, false); mapDiv.addEventListener('mouseleave', mapLoseFocus, false); g_map.on('pointerdown', function (event) { @@ -11171,6 +11177,11 @@ function loadAdifSettings() } function startupVersionInit() { + + document.body.addEventListener('contextmenu', function(ev) { + ev.preventDefault(); + }); + imSureCheck.checked = false; stopAskingCheckbox.checked = g_appSettings.stopAskingVersion; if (stopAskingCheckbox.checked == false) { @@ -11234,8 +11245,6 @@ function startupEventsAndTimers() { document.addEventListener('keydown', onMyKeyDown, true); document.addEventListener('keyup', onMyKeyUp, false); - mapDiv.addEventListener('mouseleave', mapLoseFocus, false); - displayTimeInterval = setInterval(displayTime, 1000); } @@ -12606,6 +12615,7 @@ function searchLogForCallsign( call ) var conf = {}; var lastTime = 0; var lastRow = null; + var dxcc = list[0].dxcc; for ( row in list ) { @@ -12652,7 +12662,20 @@ function searchLogForCallsign( call ) worker += ""; } - worker += "
"; + worker += ""+ g_dxccToAltName[dxcc] + " (" + g_worldGeoData[g_dxccToGeoData[dxcc]].pp +")"; + for ( var band in g_colorBands ) + { + if ( String(dxcc) + g_colorBands[band] in g_tracker.worked.dxcc ) + { + var strike = ""; + if ( String(dxcc) + g_colorBands[band] in g_tracker.confirmed.dxcc ) + strike = "text-decoration: line-through;"; + worker += "
" + g_colorBands[band] + "
 " ; + } + + } + + worker += "
"; setLookupDiv("lookupLocalDiv", worker); } @@ -13420,8 +13443,9 @@ window.addEventListener("load", function(){ }); }); -process.on('uncaughtException', function (e) { - console.error('uncaughtException:', e); - console.error(e.stack); +var g_process = require('process'); + +g_process.on('uncaughtException', function (e) { }); + diff --git a/package.nw/lib/roster.js b/package.nw/lib/roster.js index 59806ea6..64241b8f 100644 --- a/package.nw/lib/roster.js +++ b/package.nw/lib/roster.js @@ -99,6 +99,8 @@ var g_defaultSettings = "huntOAMS":false }, "columns":{ + "Band": false, + "Mode" : false, "Calling":true, "Msg":false, "DXCC":true, @@ -125,7 +127,8 @@ var g_defaultSettings = "reference":0, "controls":true, "compact": false, - "fontSize":12, + "screenScale":12, + "screenScale":0.0, "settingProfiles":false, "lastSortIndex":6, "lastSortReverse":1 @@ -1279,8 +1282,8 @@ function viewRoster() } - var showBands = (Object.keys(bands).length > 1?true:false); - var showModes = (Object.keys(modes).length > 1?true:false); + var showBands = (Object.keys(bands).length > 1?true:false)||g_rosterSettings.columns.Band; + var showModes = (Object.keys(modes).length > 1?true:false)||g_rosterSettings.columns.Mode; @@ -2598,45 +2601,30 @@ function openIgnoreEdit() } -function setFontSize() +function setScreenScale() { - if ( g_styleFont ) - { - g_styleFont.parentNode.removeChild(g_styleFont); - g_styleFont = null; - } - g_styleFont = document.createElement('style'); - g_styleFont.innerHTML = "table, th, td, select, .compact {font-size: "+g_rosterSettings.fontSize+"px;}"; - document.body.appendChild(g_styleFont); - resize(); + nw.Window.get().zoomLevel = g_rosterSettings.screenScale; } function reduceFont() { - if ( g_rosterSettings.fontSize > 10 ) - { - g_rosterSettings.fontSize--; - writeRosterSettings(); - setFontSize(); - } + g_rosterSettings.screenScale-=0.1; + writeRosterSettings(); + setScreenScale(); } function increaseFont() { - if ( g_rosterSettings.fontSize < 50 ) - { - g_rosterSettings.fontSize++; - writeRosterSettings(); - setFontSize(); - } + g_rosterSettings.screenScale+= 0.1; + writeRosterSettings(); + setScreenScale(); } function resetFont() { - - g_rosterSettings.fontSize = g_defaultSettings.fontSize; + g_rosterSettings.screenScale = g_defaultSettings.screenScale; writeRosterSettings(); - setFontSize(); + setScreenScale(); } function onMyKeyDown(event) @@ -3209,7 +3197,7 @@ function init() g_timerInterval = setInterval(realtimeRoster,1000); updateInstances(); - setFontSize(); + setScreenScale(); } @@ -4300,4 +4288,10 @@ function doubleCompile(award, firstLevel) } return singleCompile(award,firstLevel); -} \ No newline at end of file +} + +var g_process = require('process'); + +g_process.on('uncaughtException', function (e) { + console.error(e.stack); +}); diff --git a/package.nw/lib/screens.js b/package.nw/lib/screens.js new file mode 100644 index 00000000..25d793a4 --- /dev/null +++ b/package.nw/lib/screens.js @@ -0,0 +1,89 @@ + +nw.Screen.Init(); + +var g_screenLost = false; +var g_windowInfo = {}; +var g_initialScreenCount = nw.Screen.screens.length; + +function setWindowInfo() +{ + // if we've lost a screen, stop saving our info + if ( g_screenLost ) + return; + var win = nw.Window.get(); + var windowInfo = {}; + windowInfo.x = win.x; + windowInfo.y = win.y; + windowInfo.width = win.width; + windowInfo.height = win.height; + g_windowInfo = windowInfo; + +} + +function clearAllScreenTimers() +{ + if ( g_windowMoveTimer != null ) + { + clearTimeout(g_windowMoveTimer); + g_windowMoveTimer = null; + } + if ( g_windowResizeTimer != null ) + { + clearTimeout(g_windowResizeTimer); + g_windowResizeTimer = null; + } +} + + +var screenCB = { + + onDisplayAdded: function(screen) { + clearAllScreenTimers(); + if ( g_screenLost == true && g_initialScreenCount == nw.Screen.screens.length) + { + // Lets restore the position now + var win = nw.Window.get(); + win.x = g_windowInfo.x; + win.y = g_windowInfo.y; + win.width = g_windowInfo.width; + win.height = g_windowInfo.height; + g_screenLost = false; + } + }, + + onDisplayRemoved: function(screen) { + clearAllScreenTimers(); + if ( g_initialScreenCount != nw.Screen.screens.length ) + { + g_screenLost = true; + } + } +}; + +// listen to screen events +nw.Screen.on('displayAdded', screenCB.onDisplayAdded); +nw.Screen.on('displayRemoved', screenCB.onDisplayRemoved); + +nw.Window.get().on('loaded', function () { + g_initialScreenCount = nw.Screen.screens.length; + setWindowInfo(); + }); + +var g_windowMoveTimer = null; +nw.Window.get().on('move', function (x,y) { + if ( g_windowMoveTimer != null ) + { + clearTimeout(g_windowMoveTimer); + } + g_windowMoveTimer = setTimeout(setWindowInfo,1000); + }); + +var g_windowResizeTimer = null; +nw.Window.get().on('resize', function (w,h) { + if ( g_windowResizeTimer != null ) + { + clearTimeout(g_windowResizeTimer); + } + g_windowResizeTimer = setTimeout(setWindowInfo,1000); + }); + \ No newline at end of file