From 84b6f94c2d4d284bea6b339e981f9dfe04fd6a3a Mon Sep 17 00:00:00 2001 From: Tag Date: Tue, 17 Jan 2023 04:42:36 -0800 Subject: [PATCH] Safety commit --- package.nw/GridTracker.html | 199 ++++++------------ package.nw/gt_roster.html | 97 ++++++++- package.nw/gt_update.odt | Bin 74976 -> 90140 bytes package.nw/i18n/cn-t.json | 1 + package.nw/i18n/cn.json | 1 + package.nw/i18n/en.json | 1 + package.nw/lib/defaults.js | 5 - package.nw/lib/gt.js | 63 +----- package.nw/lib/roster.js | 114 +++++++++- .../lib/roster/processRosterFiltering.js | 2 +- 10 files changed, 267 insertions(+), 216 deletions(-) diff --git a/package.nw/GridTracker.html b/package.nw/GridTracker.html index 908683f..1ca8ee9 100644 --- a/package.nw/GridTracker.html +++ b/package.nw/GridTracker.html @@ -977,8 +977,6 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. onclick="openSettingsTab(event, 'logSettingsDiv')">Logging - + + diff --git a/package.nw/gt_update.odt b/package.nw/gt_update.odt index 1745e72654982427d1f8a807135912e0a428ec34..05dce2cf83059e41885eec1012f01901a0eccd64 100644 GIT binary patch delta 37867 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

++iIsSr;6cK<3ny;HUDd)7TLK!S9M+fI( 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 delta 22594 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 diff --git a/package.nw/i18n/cn-t.json b/package.nw/i18n/cn-t.json index 3f57f32..e476fef 100644 --- a/package.nw/i18n/cn-t.json +++ b/package.nw/i18n/cn-t.json @@ -995,6 +995,7 @@ "roster.ignore.DXCCs": "DXCCs", "roster.ignore.CQZones": "CQ 分區", "roster.ignore.ITUZones": "ITU 分區", + "roster.menu.Settings": "Settings", "roster.menu.HideControls": "隱藏控件", "roster.menu.ShowControls": "顯示控件", "roster.menu.CompactMode": "緊密模式", diff --git a/package.nw/i18n/cn.json b/package.nw/i18n/cn.json index f5b22c8..9e638d4 100644 --- a/package.nw/i18n/cn.json +++ b/package.nw/i18n/cn.json @@ -995,6 +995,7 @@ "roster.ignore.DXCCs": "DXCCs", "roster.ignore.CQZones": "CQ分区", "roster.ignore.ITUZones": "ITU分区", + "roster.menu.Settings": "Settings", "roster.menu.HideControls": "隐藏控件栏", "roster.menu.ShowControls": "显示控件栏", "roster.menu.CompactMode": "紧凑模式", diff --git a/package.nw/i18n/en.json b/package.nw/i18n/en.json index 9c61e42..d573ab7 100644 --- a/package.nw/i18n/en.json +++ b/package.nw/i18n/en.json @@ -995,6 +995,7 @@ "roster.ignore.DXCCs": "DXCCs", "roster.ignore.CQZones": "CQ Zones", "roster.ignore.ITUZones": "ITU Zones", + "roster.menu.Settings": "Settings", "roster.menu.HideControls": "Hide Controls", "roster.menu.ShowControls": "Show Controls", "roster.menu.CompactMode": "Compact Mode", diff --git a/package.nw/lib/defaults.js b/package.nw/lib/defaults.js index 5da8f9a..63e124a 100644 --- a/package.nw/lib/defaults.js +++ b/package.nw/lib/defaults.js @@ -33,7 +33,6 @@ var validSettings = [ var def_appSettings = { alertMute: 0, - rosterAlwaysOnTop: false, centerGridsquare: "", chatUUID: "", clearOnCQ: false, @@ -64,9 +63,6 @@ var def_appSettings = { lookupPasswordQth: "", lookupService: "CALLOOK", lookupCallookPreferred: false, - clearRosterOnBandChange: false, - rosterDelayOnFocus: false, - rosterDelayTime: 1500, moonPath: 0, moonTrack: 0, mouseTrack: 0, @@ -125,7 +121,6 @@ var def_mapSettings = { pathColor: 0, qrzDxccFallback: false, qrzPathColor: 1, - rosterTime: 120, shadow: 0.1, splitQSL: true, trafficDecode: true, diff --git a/package.nw/lib/gt.js b/package.nw/lib/gt.js index 77b6dbf..67cfc98 100644 --- a/package.nw/lib/gt.js +++ b/package.nw/lib/gt.js @@ -2507,7 +2507,6 @@ function openCallRosterWindow(show = true) { g_callRosterWindowHandle.setMinimumSize(390, 250); g_callRosterWindowHandle.setResizable(true); - setRosterTop(); }); new_win.on("close", function () { @@ -6182,7 +6181,7 @@ function handleWsjtxStatus(newMessage) } } - if (g_appSettings.clearRosterOnBandChange && g_instances[newMessage.instance].oldStatus) + if (g_rosterInitialized && g_callRosterWindowHandle.window.g_rosterSettings.clearRosterOnBandChange && g_instances[newMessage.instance].oldStatus) { if (g_instances[newMessage.instance].oldStatus.Band != newMessage.Band || g_instances[newMessage.instance].oldStatus.MO != newMessage.MO) { @@ -12315,10 +12314,6 @@ function loadMapSettings() focusRigValue.checked = g_mapSettings.focusRig; haltAllOnTxValue.checked = g_mapSettings.haltAllOnTx; - clearRosterOnBandChange.checked = g_appSettings.clearRosterOnBandChange; - rosterDelayOnFocus.checked = g_appSettings.rosterDelayOnFocus; - rosterDelayTime.value = g_appSettings.rosterDelayTime; - rosterDelayTimeTd.innerHTML = rosterDelayTime.value + "ms"; trafficDecode.checked = g_mapSettings.trafficDecode; setSpotImage(); @@ -12834,7 +12829,6 @@ function loadViewSettings() } spotPathChange(); - setRosterTimeView(); setLegendAndGridSettings(); } @@ -13030,8 +13024,6 @@ function startupButtonsAndInputs() alertMuteImg.src = g_alertImageArray[g_appSettings.alertMute]; modeImg.src = g_maidenheadModeImageArray[g_appSettings.sixWideMode]; - rosterAlwaysOnTop.checked = g_appSettings.rosterAlwaysOnTop; - if (g_appSettings.centerGridsquare.length > 0) { homeQTHInput.value = g_appSettings.centerGridsquare.substr(0, 6); @@ -13792,24 +13784,6 @@ function loadLookupDetails() else lookupCredentials.style.display = "block"; } -function clearRosterOnBandChangeValueChanged(what) -{ - g_appSettings.clearRosterOnBandChange = clearRosterOnBandChange.checked; - saveAppSettings(); -} - -function rosterDelayOnFocusValueChanged(what) -{ - g_appSettings.rosterDelayOnFocus = rosterDelayOnFocus.checked; - saveAppSettings(); -} - -function changeRosterDelayTime() -{ - g_appSettings.rosterDelayTime = rosterDelayTime.value; - rosterDelayTimeTd.innerHTML = rosterDelayTime.value + "ms"; -} - function lookupValueChanged(what) { if (g_appSettings.lookupService != lookupService.value) @@ -15931,41 +15905,6 @@ function gotoDonate() gui.Shell.openExternal("https://gridtracker.org/donations/"); } -function changeRosterTime() -{ - g_mapSettings.rosterTime = rosterTime.value; - setRosterTimeView(); - saveMapSettings(); - goProcessRoster(); -} - -function changeRosterTop(butt) -{ - g_appSettings.rosterAlwaysOnTop = butt.checked; - setRosterTop(); -} - -function setRosterTop() -{ - if (g_rosterInitialized) - { - try - { - g_callRosterWindowHandle.setAlwaysOnTop(g_appSettings.rosterAlwaysOnTop); - } - catch (e) - { - console.error(e); - } - } -} - -function setRosterTimeView() -{ - rosterTime.value = g_mapSettings.rosterTime; - rosterTimeTd.innerHTML = Number(rosterTime.value).toDHMS(); -} - function getSpotTime(hash) { if (hash in g_receptionReports.spots) diff --git a/package.nw/lib/roster.js b/package.nw/lib/roster.js index 54fb92a..8f30981 100644 --- a/package.nw/lib/roster.js +++ b/package.nw/lib/roster.js @@ -146,9 +146,13 @@ var g_defaultSettings = { controlsExtended: true, compact: false, settingProfiles: false, - sortColumn: "Age", - sortReverse: true + sortReverse: true, + clearRosterOnBandChange: false, + rosterAlwaysOnTop: false, + rosterDelayOnFocus: false, + rosterDelayTime: 1500, + rosterTime: 120 }; const LOGBOOK_LIVE_BAND_LIVE_MODE = "0"; @@ -1406,6 +1410,20 @@ function clearAllITUzIgnores() window.opener.goProcessRoster(); } +function openSettings() +{ + MainCallRoster.style.display = "block"; + settingsDiv.style.display = "block"; + editView.style.display = "none"; +} + +function closeSettings() +{ + MainCallRoster.style.display = "block"; + settingsDiv.style.display = "none"; + editView.style.display = "none"; +} + function closeEditIgnores() { MainCallRoster.style.display = "block"; @@ -1544,14 +1562,21 @@ function openIgnoreEdit() worker += ""; editTables.innerHTML = worker; - editView.style.height = (window.innerHeight - 50) + "px"; + editView.style.height = (window.innerHeight - 45) + "px"; } function onMyKeyDown(event) { if (!g_typingInRoster) { - window.opener.onMyKeyDown(event); + if (event.code == "KeyS" && event.ctrlKey == true) + { + openSettings(); + } + else + { + window.opener.onMyKeyDown(event); + } } } @@ -1600,6 +1625,8 @@ function init() // callback to addControls(); loadRosteri18n(); + + setRosterTop(); } // From i18n.js @@ -1649,9 +1676,7 @@ function addControls() this.label = hideControlsText; g_rosterSettings.controls = true; } - g_compactMenu.items[0].label = g_rosterSettings.controls - ? hideControlsText - : showControlsText; + g_compactMenu.items[0].label = g_rosterSettings.controls ? hideControlsText : showControlsText; localStorage.rosterSettings = JSON.stringify(g_rosterSettings); setVisual(); } @@ -1673,15 +1698,33 @@ function addControls() this.label = hideControlsText; g_rosterSettings.controls = true; } - g_menu.items[0].label = g_rosterSettings.controls - ? hideControlsText - : showControlsText; + g_menu.items[0].label = g_rosterSettings.controls ? hideControlsText : showControlsText; localStorage.rosterSettings = JSON.stringify(g_rosterSettings); setVisual(); } }); g_compactMenu.append(item); + item = new nw.MenuItem({ + type: "normal", + label: $.i18n("roster.menu.Settings"), + click: function () + { + openSettings(); + } + }); + g_menu.append(item); + + item = new nw.MenuItem({ + type: "normal", + label: $.i18n("roster.menu.Settings"), + click: function () + { + openSettings(); + } + }); + g_compactMenu.append(item); + item = new nw.MenuItem({ type: "normal", label: $.i18n("roster.menu.CompactMode"), @@ -2181,6 +2224,13 @@ function addControls() noUnknownDXCC.checked = g_rosterSettings.noUnknownDXCC; + clearRosterOnBandChange.checked = g_rosterSettings.clearRosterOnBandChange; + rosterDelayOnFocus.checked = g_rosterSettings.rosterDelayOnFocus; + rosterDelayTime.value = g_rosterSettings.rosterDelayTime; + rosterDelayTimeTd.innerHTML = rosterDelayTime.value + "ms"; + + setRosterTimeView(); + setVisual(); document.addEventListener("keydown", onMyKeyDown, false); @@ -2190,6 +2240,50 @@ function addControls() updateInstances(); } +function clearRosterOnBandChangeValueChanged(what) +{ + g_rosterSettings.clearRosterOnBandChange = clearRosterOnBandChange.checked; + writeRosterSettings(); +} + +function rosterDelayOnFocusValueChanged(what) +{ + g_rosterSettings.rosterDelayOnFocus = rosterDelayOnFocus.checked; + writeRosterSettings(); +} + +function changeRosterDelayTime() +{ + g_rosterSettings.rosterDelayTime = rosterDelayTime.value; + rosterDelayTimeTd.innerHTML = rosterDelayTime.value + "ms"; + writeRosterSettings(); +} + +function changeRosterTime() +{ + g_rosterSettings.rosterTime = rosterTime.value; + setRosterTimeView(); + writeRosterSettings(); + viewRoster(); +} + +function changeRosterTop(butt) +{ + g_rosterSettings.rosterAlwaysOnTop = butt.checked; + setRosterTop(); +} + +function setRosterTop() +{ + nw.Window.get().setAlwaysOnTop(g_rosterSettings.rosterAlwaysOnTop); +} + +function setRosterTimeView() +{ + rosterTime.value = g_rosterSettings.rosterTime; + rosterTimeTd.innerHTML = Number(rosterTime.value).toDHMS(); +} + function handleContextMenu(ev) { if (editView.style.display == "inline-block") return false; diff --git a/package.nw/lib/roster/processRosterFiltering.js b/package.nw/lib/roster/processRosterFiltering.js index 5e0364f..95c0b28 100644 --- a/package.nw/lib/roster/processRosterFiltering.js +++ b/package.nw/lib/roster/processRosterFiltering.js @@ -40,7 +40,7 @@ function processRosterFiltering(callRoster, rosterSettings) continue; } - if (rosterSettings.now - callObj.age > window.opener.g_mapSettings.rosterTime) + if (rosterSettings.now - callObj.age > g_rosterSettings.rosterTime) { entry.tx = false; entry.alerted = false;