@@ -425,13 +425,102 @@
Callsign, CQ and DXCC Ignores
-
Close
+
+ X
+
+
diff --git a/package.nw/gt_update.odt b/package.nw/gt_update.odt
index 1745e72..05dce2c 100644
Binary files a/package.nw/gt_update.odt and b/package.nw/gt_update.odt differ
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 += "