kopia lustrzana https://gitlab.com/gridtracker.org/gridtracker
Merge branch 'lotw-diff-fetch' into 'master'
Lotw diff fetch Closes #101 See merge request gridtracker.org/gridtracker!125rich-presence
commit
eb2d6dacf6
|
@ -86,6 +86,36 @@ function onAdiLoadComplete(adiBuffer, saveAdifFile, adifFileName, newFile)
|
||||||
{
|
{
|
||||||
let finalMode = "";
|
let finalMode = "";
|
||||||
|
|
||||||
|
let appLoTW_RXQSO = findAdiField(
|
||||||
|
activeAdifArray[x],
|
||||||
|
"APP_LoTW_RXQSO"
|
||||||
|
);
|
||||||
|
|
||||||
|
if (appLoTW_RXQSO != "")
|
||||||
|
{
|
||||||
|
let dRXQSO = Date.parse(appLoTW_RXQSO);
|
||||||
|
let dLastLOTW_QSO = Date.parse(g_adifLogSettings.lastFetch.lotw_qso);
|
||||||
|
if ((isNaN(dRXQSO) == false) && (isNaN(dLastLOTW_QSO) == false) && (dRXQSO > dLastLOTW_QSO))
|
||||||
|
{
|
||||||
|
g_adifLogSettings.lastFetch.lotw_qso = appLoTW_RXQSO;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
let appLoTW_RXQSL = findAdiField(
|
||||||
|
activeAdifArray[x],
|
||||||
|
"APP_LoTW_RXQSL"
|
||||||
|
);
|
||||||
|
|
||||||
|
if (appLoTW_RXQSL != "")
|
||||||
|
{
|
||||||
|
let dRXQSL = Date.parse(appLoTW_RXQSL);
|
||||||
|
let dLastLOTW_QSL = Date.parse(g_adifLogSettings.lastFetch.lotw_qsl);
|
||||||
|
if ((isNaN(dRXQSL) == false) && (isNaN(dLastLOTW_QSL) == false) && (dRXQSL > dLastLOTW_QSL))
|
||||||
|
{
|
||||||
|
g_adifLogSettings.lastFetch.lotw_qsl = appLoTW_RXQSL;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
if (activeAdifArray[x].length > 3)
|
if (activeAdifArray[x].length > 3)
|
||||||
{
|
{
|
||||||
if (activeAdifLogMode)
|
if (activeAdifLogMode)
|
||||||
|
@ -572,6 +602,20 @@ function lotwCallback(buffer, flag)
|
||||||
var shouldAppend = false;
|
var shouldAppend = false;
|
||||||
g_fromDirectCallNoFileDialog = true;
|
g_fromDirectCallNoFileDialog = true;
|
||||||
|
|
||||||
|
// Extract header showing last fetched date from call
|
||||||
|
var lotwQSHeader = rawAdiBuffer.match(/^<APP_LoTW_LAST(QSL|QSORX):\d+>(\d{4}-\d{2}-\d{2}\s+\d{2}:\d{2}:\d{2})/m);
|
||||||
|
if (lotwQSHeader !== null)
|
||||||
|
{
|
||||||
|
if (lotwQSHeader[1].toUpperCase() == "QSORX")
|
||||||
|
{
|
||||||
|
g_adifLogSettings.lastFetch.lotw_qso = lotwQSHeader[2]
|
||||||
|
}
|
||||||
|
else if (lotwQSHeader[1].toUpperCase() == "QSL")
|
||||||
|
{
|
||||||
|
g_adifLogSettings.lastFetch.lotw_qsl = lotwQSHeader[2];
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
rawAdiBuffer = cleanAndPrepADIF(
|
rawAdiBuffer = cleanAndPrepADIF(
|
||||||
"lotw.adif",
|
"lotw.adif",
|
||||||
rawAdiBuffer,
|
rawAdiBuffer,
|
||||||
|
@ -623,29 +667,86 @@ var g_isGettingLOTW = false;
|
||||||
|
|
||||||
function grabLOtWLog(test)
|
function grabLOtWLog(test)
|
||||||
{
|
{
|
||||||
if (g_isGettingLOTW == false)
|
var lastQSLDateString = "";
|
||||||
{
|
|
||||||
var lastQSLDateString =
|
|
||||||
"&qso_qsorxsince=1945-01-01&qso_qslsince=1945-01-01";
|
|
||||||
if (test == true)
|
|
||||||
{
|
|
||||||
lotwTestResult.innerHTML = "Testing";
|
|
||||||
lastQSLDateString = "&qso_qsosince=2100-01-01";
|
|
||||||
}
|
|
||||||
|
|
||||||
|
if (test == true && g_isGettingLOTW == false)
|
||||||
|
{
|
||||||
|
lotwTestResult.innerHTML = "Testing";
|
||||||
|
lastQSLDateString = "&qso_qsosince=2100-01-01";
|
||||||
|
|
||||||
|
// Fetch Test Results
|
||||||
getABuffer(
|
getABuffer(
|
||||||
"https://lotw.arrl.org/lotwuser/lotwreport.adi?login=" +
|
"https://lotw.arrl.org/lotwuser/lotwreport.adi?login=" +
|
||||||
lotwLogin.value +
|
lotwLogin.value +
|
||||||
"&password=" +
|
"&password=" +
|
||||||
encodeURIComponent(lotwPassword.value) +
|
encodeURIComponent(lotwPassword.value) +
|
||||||
"&qso_query=1&qso_qsl=no&qso_qsldetail=yes&qso_withown=yes" +
|
"&qso_query=1&qso_qsl=no&qso_qsldetail=yes&qso_withown=yes" +
|
||||||
lastQSLDateString,
|
lastQSLDateString,
|
||||||
lotwCallback,
|
lotwCallback,
|
||||||
test,
|
test,
|
||||||
"https",
|
"https",
|
||||||
443,
|
443,
|
||||||
lotwLogImg,
|
lotwLogImg,
|
||||||
"g_isGettingLOTW",
|
"g_isGettingLOTW",
|
||||||
|
150000
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (test == false)
|
||||||
|
{
|
||||||
|
setTimeout(grabLoTWQSO, 500);
|
||||||
|
setTimeout(grabLoTWQSL, 10000);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
function grabLoTWQSO()
|
||||||
|
{
|
||||||
|
var dLoTWQSO = Date.parse(dateToISO8601(g_adifLogSettings.lastFetch.lotw_qso, "Z"));
|
||||||
|
var tmpDate = ((new Date().getTime()) - 300);
|
||||||
|
|
||||||
|
if ((g_isGettingLOTW == false) && ((isNaN(dLoTWQSO) == false) && (dLoTWQSO < tmpDate)))
|
||||||
|
{
|
||||||
|
// Fetch QSOs
|
||||||
|
lastQSLDateString = "&qso_qsorxsince=" + g_adifLogSettings.lastFetch.lotw_qso;
|
||||||
|
getABuffer(
|
||||||
|
"https://lotw.arrl.org/lotwuser/lotwreport.adi?login=" +
|
||||||
|
lotwLogin.value +
|
||||||
|
"&password=" +
|
||||||
|
encodeURIComponent(lotwPassword.value) +
|
||||||
|
"&qso_query=1&qso_qsl=no&qso_qsldetail=yes&qso_withown=yes" +
|
||||||
|
lastQSLDateString,
|
||||||
|
lotwCallback,
|
||||||
|
false,
|
||||||
|
"https",
|
||||||
|
443,
|
||||||
|
lotwLogImg,
|
||||||
|
"g_isGettingLOTW",
|
||||||
|
120000
|
||||||
|
);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
function grabLoTWQSL()
|
||||||
|
{
|
||||||
|
var dLoTWQSL = Date.parse(dateToISO8601(g_adifLogSettings.lastFetch.lotw_qsl, "Z"));
|
||||||
|
var tmpDate = ((new Date().getTime()) - 300);
|
||||||
|
|
||||||
|
if ((g_isGettingLOTW == false) && ((isNaN(dLoTWQSL) == false) && (dLoTWQSL < tmpDate)))
|
||||||
|
{
|
||||||
|
lastQSLDateString = "&qso_qslsince=" + g_adifLogSettings.lastFetch.lotw_qsl;
|
||||||
|
getABuffer(
|
||||||
|
"https://lotw.arrl.org/lotwuser/lotwreport.adi?login=" +
|
||||||
|
lotwLogin.value +
|
||||||
|
"&password=" +
|
||||||
|
encodeURIComponent(lotwPassword.value) +
|
||||||
|
"&qso_query=1&qso_qsl=yes&qso_qsldetail=yes&qso_withown=yes" +
|
||||||
|
lastQSLDateString,
|
||||||
|
lotwCallback,
|
||||||
|
false,
|
||||||
|
"https",
|
||||||
|
443,
|
||||||
|
lotwLogImg,
|
||||||
|
"g_isGettingLOTW",
|
||||||
120000
|
120000
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
@ -1005,6 +1106,22 @@ function loadGtQSOLogFile()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
var lotwLogLoaded = false;
|
||||||
|
function loadLoTWLogFile()
|
||||||
|
{
|
||||||
|
var fs = require("fs");
|
||||||
|
|
||||||
|
if (fs.existsSync(g_LoTWLogFile))
|
||||||
|
{
|
||||||
|
var rawAdiBuffer = fs.readFileSync(g_LoTWLogFile);
|
||||||
|
|
||||||
|
g_fromDirectCallNoFileDialog = true;
|
||||||
|
|
||||||
|
onAdiLoadComplete(rawAdiBuffer, false);
|
||||||
|
lotwLogLoaded = true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
function loadWsjtLogFile()
|
function loadWsjtLogFile()
|
||||||
{
|
{
|
||||||
var fs = require("fs");
|
var fs = require("fs");
|
||||||
|
@ -1297,8 +1414,11 @@ function startupAdifLoadCheck()
|
||||||
{
|
{
|
||||||
if (g_appSettings.gtFlagImgSrc == 1) showGtFlags();
|
if (g_appSettings.gtFlagImgSrc == 1) showGtFlags();
|
||||||
|
|
||||||
// Commented out to stop execution on startup
|
if (loadLOTWCheckBox.checked == true)
|
||||||
// if (loadLOTWCheckBox.checked == true) grabLOtWLog(false);
|
{
|
||||||
|
loadLoTWLogFile();
|
||||||
|
grabLOtWLog(false);
|
||||||
|
}
|
||||||
|
|
||||||
if (loadQRZCheckBox.checked == true) grabQrzComLog(false);
|
if (loadQRZCheckBox.checked == true) grabQrzComLog(false);
|
||||||
|
|
||||||
|
@ -1367,11 +1487,6 @@ function getABuffer(
|
||||||
})
|
})
|
||||||
.on("end", function ()
|
.on("end", function ()
|
||||||
{
|
{
|
||||||
if (typeof callback === "function")
|
|
||||||
{
|
|
||||||
// Call it, since we have confirmed it is callable
|
|
||||||
callback(fileBuffer, flag, cookies);
|
|
||||||
}
|
|
||||||
if (typeof stringOfFlag != "undefined")
|
if (typeof stringOfFlag != "undefined")
|
||||||
{
|
{
|
||||||
window[stringOfFlag] = false;
|
window[stringOfFlag] = false;
|
||||||
|
@ -1381,6 +1496,11 @@ function getABuffer(
|
||||||
imgToGray.parentNode.style.background = "";
|
imgToGray.parentNode.style.background = "";
|
||||||
imgToGray.style.webkitFilter = "";
|
imgToGray.style.webkitFilter = "";
|
||||||
}
|
}
|
||||||
|
if (typeof callback === "function")
|
||||||
|
{
|
||||||
|
// Call it, since we have confirmed it is callable
|
||||||
|
callback(fileBuffer, flag, cookies);
|
||||||
|
}
|
||||||
})
|
})
|
||||||
.on("error", function ()
|
.on("error", function ()
|
||||||
{
|
{
|
||||||
|
|
|
@ -1,261 +1,265 @@
|
||||||
var validSettings = [
|
var validSettings = [
|
||||||
"HRDLogbookLogSettings",
|
"HRDLogbookLogSettings",
|
||||||
"N1MMSettings",
|
"N1MMSettings",
|
||||||
"acLogSettings",
|
"acLogSettings",
|
||||||
"adifLogSettings",
|
"adifLogSettings",
|
||||||
"alertSettings",
|
"alertSettings",
|
||||||
"appSettings",
|
"appSettings",
|
||||||
"audioSettings",
|
"audioSettings",
|
||||||
"awardTracker",
|
"awardTracker",
|
||||||
"bandActivity",
|
"bandActivity",
|
||||||
"blockedCQ",
|
"blockedCQ",
|
||||||
"blockedCalls",
|
"blockedCalls",
|
||||||
"blockedDxcc",
|
"blockedDxcc",
|
||||||
"callsignLookups",
|
"callsignLookups",
|
||||||
"classicAlerts",
|
"classicAlerts",
|
||||||
"classicAlertsVersion",
|
"classicAlertsVersion",
|
||||||
"currentVersion",
|
"currentVersion",
|
||||||
"dxkLogSettings",
|
"dxkLogSettings",
|
||||||
"log4OMSettings",
|
"log4OMSettings",
|
||||||
"mapMemory",
|
"mapMemory",
|
||||||
"mapSettings",
|
"mapSettings",
|
||||||
"msgSettings",
|
"msgSettings",
|
||||||
"receptionSettings",
|
"receptionSettings",
|
||||||
"rosterSettings",
|
"rosterSettings",
|
||||||
"savedAlerts",
|
"savedAlerts",
|
||||||
"speechSettings",
|
"speechSettings",
|
||||||
"startupLogs",
|
"startupLogs",
|
||||||
"trustedQslSettings",
|
"trustedQslSettings",
|
||||||
"screenSettings",
|
"screenSettings",
|
||||||
"legendColors"
|
"legendColors"
|
||||||
];
|
];
|
||||||
|
|
||||||
var def_appSettings = {
|
var def_appSettings = {
|
||||||
alertMute: 0,
|
alertMute: 0,
|
||||||
rosterAlwaysOnTop: false,
|
rosterAlwaysOnTop: false,
|
||||||
centerGridsquare: "",
|
centerGridsquare: "",
|
||||||
chatUUID: "",
|
chatUUID: "",
|
||||||
crScript: 0,
|
crScript: 0,
|
||||||
distanceUnit: "MI",
|
distanceUnit: "MI",
|
||||||
earthImgSrc: 0,
|
earthImgSrc: 0,
|
||||||
gridViewMode: 3,
|
gridViewMode: 3,
|
||||||
gridsquareDecayTime: 300,
|
gridsquareDecayTime: 300,
|
||||||
gtAgree: "",
|
gtAgree: "",
|
||||||
gtBandFilter: "",
|
gtBandFilter: "",
|
||||||
gtFlagImgSrc: 0,
|
gtFlagImgSrc: 0,
|
||||||
gtModeFilter: "",
|
gtModeFilter: "",
|
||||||
gtPropFilter: "mixed",
|
gtPropFilter: "mixed",
|
||||||
gtMsgEnable: true,
|
gtMsgEnable: true,
|
||||||
gtShareEnable: true,
|
gtShareEnable: true,
|
||||||
heatEnabled: 0,
|
heatEnabled: 0,
|
||||||
loadAdifAtStartup: false,
|
loadAdifAtStartup: false,
|
||||||
lookupLoginCq: "",
|
lookupLoginCq: "",
|
||||||
lookupLoginQrz: "",
|
lookupLoginQrz: "",
|
||||||
lookupLoginQth: "",
|
lookupLoginQth: "",
|
||||||
lookupOnTx: false,
|
lookupOnTx: false,
|
||||||
lookupCloseLog: false,
|
lookupCloseLog: false,
|
||||||
lookupMerge: true,
|
lookupMerge: true,
|
||||||
lookupMissingGrid: false,
|
lookupMissingGrid: false,
|
||||||
lookupPasswordCq: "",
|
lookupPasswordCq: "",
|
||||||
lookupPasswordQrz: "",
|
lookupPasswordQrz: "",
|
||||||
lookupPasswordQth: "",
|
lookupPasswordQth: "",
|
||||||
lookupService: "CALLOOK",
|
lookupService: "CALLOOK",
|
||||||
lookupCallookPreferred: false,
|
lookupCallookPreferred: false,
|
||||||
moonPath: 0,
|
moonPath: 0,
|
||||||
moonTrack: 0,
|
moonTrack: 0,
|
||||||
mouseTrack: 0,
|
mouseTrack: 0,
|
||||||
multicast: false,
|
multicast: false,
|
||||||
myBand: "OOB",
|
myBand: "OOB",
|
||||||
myDEGrid: "",
|
myDEGrid: "",
|
||||||
myDEcall: "NOCALL",
|
myDEcall: "NOCALL",
|
||||||
myMode: "",
|
myMode: "",
|
||||||
myRawCall: "NOCALL",
|
myRawCall: "NOCALL",
|
||||||
myRawFreq: "",
|
myRawFreq: "",
|
||||||
myRawGrid: "",
|
myRawGrid: "",
|
||||||
pathWidthWeight: 1.0,
|
pathWidthWeight: 1.0,
|
||||||
pushPinMode: false,
|
pushPinMode: false,
|
||||||
qrzPathWidthWeight: 1.2,
|
qrzPathWidthWeight: 1.2,
|
||||||
sixWideMode: 0,
|
sixWideMode: 0,
|
||||||
savedAppData: null,
|
savedAppData: null,
|
||||||
soundCard: "default",
|
soundCard: "default",
|
||||||
spotsEnabled: 0,
|
spotsEnabled: 0,
|
||||||
stopAskingVersion: false,
|
stopAskingVersion: false,
|
||||||
useLocalTime: 0,
|
useLocalTime: 0,
|
||||||
wsjtForwardUdpEnable: false,
|
wsjtForwardUdpEnable: false,
|
||||||
wsjtForwardUdpIp: "127.0.0.1",
|
wsjtForwardUdpIp: "127.0.0.1",
|
||||||
wsjtForwardUdpPort: 2238,
|
wsjtForwardUdpPort: 2238,
|
||||||
wsjtIP: "",
|
wsjtIP: "",
|
||||||
wsjtUdpPort: 0,
|
wsjtUdpPort: 0,
|
||||||
workingCallsignEnable: false,
|
workingCallsignEnable: false,
|
||||||
workingCallsigns: {},
|
workingCallsigns: {},
|
||||||
workingDateEnable: false,
|
workingDateEnable: false,
|
||||||
workingDate: 0,
|
workingDate: 0,
|
||||||
gtSpotEnable: true
|
gtSpotEnable: true
|
||||||
};
|
};
|
||||||
|
|
||||||
var def_mapSettings = {
|
var def_mapSettings = {
|
||||||
animate: true,
|
animate: true,
|
||||||
animateSpeed: 4,
|
animateSpeed: 4,
|
||||||
CQhilite: true,
|
CQhilite: true,
|
||||||
fitQRZ: false,
|
fitQRZ: false,
|
||||||
focusRig: true,
|
focusRig: true,
|
||||||
gridAlpha: 136,
|
gridAlpha: 136,
|
||||||
haltAllOnTx: true,
|
haltAllOnTx: true,
|
||||||
legend: true,
|
legend: true,
|
||||||
longitude: 0.0,
|
longitude: 0.0,
|
||||||
latitude: 0.0,
|
latitude: 0.0,
|
||||||
loudness: 1,
|
loudness: 1,
|
||||||
mapIndex: 19,
|
mapIndex: 19,
|
||||||
mergeOverlay: false,
|
mergeOverlay: false,
|
||||||
mouseOver: true,
|
mouseOver: true,
|
||||||
nightLoudness: 0.8,
|
nightLoudness: 0.8,
|
||||||
nightMapEnable: false,
|
nightMapEnable: false,
|
||||||
nightMapIndex: 20,
|
nightMapIndex: 20,
|
||||||
nightPathColor: 361,
|
nightPathColor: 361,
|
||||||
nightQrzPathColor: 1,
|
nightQrzPathColor: 1,
|
||||||
offlineMode: false,
|
offlineMode: false,
|
||||||
pathColor: 0,
|
pathColor: 0,
|
||||||
qrzDxccFallback: false,
|
qrzDxccFallback: false,
|
||||||
qrzPathColor: 1,
|
qrzPathColor: 1,
|
||||||
rosterTime: 120,
|
rosterTime: 120,
|
||||||
shadow: 0.1,
|
shadow: 0.1,
|
||||||
splitQSL: true,
|
splitQSL: true,
|
||||||
strikes: false,
|
strikes: false,
|
||||||
strikesAlert: 2,
|
strikesAlert: 2,
|
||||||
strikesGlobal: false,
|
strikesGlobal: false,
|
||||||
strikesNotify: false,
|
strikesNotify: false,
|
||||||
trafficDecode: true,
|
trafficDecode: true,
|
||||||
usNexrad: false,
|
usNexrad: false,
|
||||||
zoom: 4,
|
zoom: 4,
|
||||||
mapTrans: 0.5
|
mapTrans: 0.5
|
||||||
};
|
};
|
||||||
|
|
||||||
var def_adifLogSettings = {
|
var def_adifLogSettings = {
|
||||||
menu: {
|
menu: {
|
||||||
buttonAdifCheckBox: false,
|
buttonAdifCheckBox: false,
|
||||||
buttonClubCheckBox: false,
|
buttonClubCheckBox: false,
|
||||||
buttonLOTWCheckBox: false,
|
buttonLOTWCheckBox: false,
|
||||||
buttonQRZCheckBox: false,
|
buttonQRZCheckBox: false,
|
||||||
buttonPsk24CheckBox: true
|
buttonPsk24CheckBox: true
|
||||||
},
|
},
|
||||||
startup: {
|
startup: {
|
||||||
loadAdifCheckBox: false,
|
loadAdifCheckBox: false,
|
||||||
loadPsk24CheckBox: false,
|
loadPsk24CheckBox: false,
|
||||||
loadQRZCheckBox: false,
|
loadQRZCheckBox: false,
|
||||||
loadLOTWCheckBox: false,
|
loadLOTWCheckBox: false,
|
||||||
loadClubCheckBox: false,
|
loadClubCheckBox: false,
|
||||||
loadGTCheckBox: true
|
loadGTCheckBox: true
|
||||||
},
|
},
|
||||||
qsolog: {
|
qsolog: {
|
||||||
logQRZqsoCheckBox: false,
|
logQRZqsoCheckBox: false,
|
||||||
logGTqsoCheckBox: true,
|
logGTqsoCheckBox: true,
|
||||||
logLOTWqsoCheckBox: false,
|
logLOTWqsoCheckBox: false,
|
||||||
logHRDLOGqsoCheckBox: false,
|
logHRDLOGqsoCheckBox: false,
|
||||||
logClubqsoCheckBox: false,
|
logClubqsoCheckBox: false,
|
||||||
logCloudlogQSOCheckBox: false,
|
logCloudlogQSOCheckBox: false,
|
||||||
logeQSLQSOCheckBox: false
|
logeQSLQSOCheckBox: false
|
||||||
},
|
},
|
||||||
nickname: {
|
nickname: {
|
||||||
nicknameeQSLCheckBox: false
|
nicknameeQSLCheckBox: false
|
||||||
},
|
},
|
||||||
text: {
|
text: {
|
||||||
lotwLogin: "",
|
lotwLogin: "",
|
||||||
clubCall: "",
|
clubCall: "",
|
||||||
clubEmail: "",
|
clubEmail: "",
|
||||||
clubPassword: "",
|
clubPassword: "",
|
||||||
lotwPassword: "",
|
lotwPassword: "",
|
||||||
lotwTrusted: "",
|
lotwTrusted: "",
|
||||||
lotwStation: "",
|
lotwStation: "",
|
||||||
qrzApiKey: "",
|
qrzApiKey: "",
|
||||||
HRDLOGCallsign: "",
|
HRDLOGCallsign: "",
|
||||||
HRDLOGUploadCode: "",
|
HRDLOGUploadCode: "",
|
||||||
CloudlogURL: "http://127.0.0.1/index.php/api/qso",
|
CloudlogURL: "http://127.0.0.1/index.php/api/qso",
|
||||||
CloudlogAPI: "",
|
CloudlogAPI: "",
|
||||||
eQSLUser: "",
|
eQSLUser: "",
|
||||||
eQSLPassword: "",
|
eQSLPassword: "",
|
||||||
eQSLNickname: ""
|
eQSLNickname: ""
|
||||||
},
|
},
|
||||||
downloads: {}
|
downloads: {},
|
||||||
};
|
lastFetch: {
|
||||||
|
lotw_qso: "1970-01-01",
|
||||||
var def_msgSettings = {
|
lotw_qsl: "1970-01-01"
|
||||||
msgAlertSelect: 1,
|
}
|
||||||
msgAlertWord: "New chat message",
|
};
|
||||||
msgAlertMedia: "none",
|
|
||||||
msgFrequencySelect: 0,
|
var def_msgSettings = {
|
||||||
msgActionSelect: 1,
|
msgAlertSelect: 1,
|
||||||
msgAwaySelect: 0,
|
msgAlertWord: "New chat message",
|
||||||
msgAwayText: "I am away from the shack at the moment"
|
msgAlertMedia: "none",
|
||||||
};
|
msgFrequencySelect: 0,
|
||||||
|
msgActionSelect: 1,
|
||||||
var def_receptionSettings = {
|
msgAwaySelect: 0,
|
||||||
lastSequenceNumber: "0", // Treat as a string, it's friggin big
|
msgAwayText: "I am away from the shack at the moment"
|
||||||
lastDownloadTimeSec: 0,
|
};
|
||||||
viewHistoryTimeSec: 900,
|
|
||||||
viewPaths: false,
|
var def_receptionSettings = {
|
||||||
pathColor: -1,
|
lastSequenceNumber: "0", // Treat as a string, it's friggin big
|
||||||
pathNightColor: 361,
|
lastDownloadTimeSec: 0,
|
||||||
spotWidth: 0.8,
|
viewHistoryTimeSec: 900,
|
||||||
mergeSpots: true
|
viewPaths: false,
|
||||||
};
|
pathColor: -1,
|
||||||
|
pathNightColor: 361,
|
||||||
var def_N1MMSettings = {
|
spotWidth: 0.8,
|
||||||
enable: false,
|
mergeSpots: true
|
||||||
port: 2333,
|
};
|
||||||
ip: "127.0.0.1"
|
|
||||||
};
|
var def_N1MMSettings = {
|
||||||
var def_log4OMSettings = {
|
enable: false,
|
||||||
enable: false,
|
port: 2333,
|
||||||
port: 2236,
|
ip: "127.0.0.1"
|
||||||
ip: "127.0.0.1"
|
};
|
||||||
};
|
var def_log4OMSettings = {
|
||||||
var def_dxkLogSettings = {
|
enable: false,
|
||||||
enable: false,
|
port: 2236,
|
||||||
port: 52000,
|
ip: "127.0.0.1"
|
||||||
ip: "127.0.0.1"
|
};
|
||||||
};
|
var def_dxkLogSettings = {
|
||||||
var def_HRDLogbookLogSettings = {
|
enable: false,
|
||||||
enable: false,
|
port: 52000,
|
||||||
port: 7826,
|
ip: "127.0.0.1"
|
||||||
ip: "127.0.0.1"
|
};
|
||||||
};
|
var def_HRDLogbookLogSettings = {
|
||||||
var def_acLogSettings = {
|
enable: false,
|
||||||
enable: false,
|
port: 7826,
|
||||||
port: 1100,
|
ip: "127.0.0.1"
|
||||||
ip: "127.0.0.1"
|
};
|
||||||
};
|
var def_acLogSettings = {
|
||||||
var def_trustedQslSettings = {
|
enable: false,
|
||||||
stationFile: "",
|
port: 1100,
|
||||||
stationFileValid: false,
|
ip: "127.0.0.1"
|
||||||
binaryFile: "",
|
};
|
||||||
binaryFileValid: false
|
var def_trustedQslSettings = {
|
||||||
};
|
stationFile: "",
|
||||||
var def_callsignLookups = {
|
stationFileValid: false,
|
||||||
lotwUseEnable: true,
|
binaryFile: "",
|
||||||
lotwWeeklyEnable: true,
|
binaryFileValid: false
|
||||||
lotwLastUpdate: 0,
|
};
|
||||||
eqslUseEnable: true,
|
var def_callsignLookups = {
|
||||||
eqslWeeklyEnable: true,
|
lotwUseEnable: true,
|
||||||
eqslLastUpdate: 0,
|
lotwWeeklyEnable: true,
|
||||||
ulsUseEnable: true,
|
lotwLastUpdate: 0,
|
||||||
ulsWeeklyEnable: true,
|
eqslUseEnable: true,
|
||||||
ulsLastUpdate: 0,
|
eqslWeeklyEnable: true,
|
||||||
oqrsUseEnable: false,
|
eqslLastUpdate: 0,
|
||||||
oqrsWeeklyEnable: false,
|
ulsUseEnable: true,
|
||||||
oqrsLastUpdate: 0
|
ulsWeeklyEnable: true,
|
||||||
};
|
ulsLastUpdate: 0,
|
||||||
|
oqrsUseEnable: false,
|
||||||
var def_bandActivity = {
|
oqrsWeeklyEnable: false,
|
||||||
lastUpdate: {},
|
oqrsLastUpdate: 0
|
||||||
lines: {}
|
};
|
||||||
};
|
|
||||||
|
var def_bandActivity = {
|
||||||
var def_legendColors = {
|
lastUpdate: {},
|
||||||
QSO: "#EEEE00",
|
lines: {}
|
||||||
QSL: "#EE0000",
|
};
|
||||||
QSX: "#1111EE",
|
|
||||||
CQ: "#00FF00",
|
var def_legendColors = {
|
||||||
CQDX: "#00FFFF",
|
QSO: "#EEEE00",
|
||||||
QRZ: "#FFFF00",
|
QSL: "#EE0000",
|
||||||
QTH: "#FFA600"
|
QSX: "#1111EE",
|
||||||
};
|
CQ: "#00FF00",
|
||||||
|
CQDX: "#00FFFF",
|
||||||
|
QRZ: "#FFFF00",
|
||||||
|
QTH: "#FFA600"
|
||||||
|
};
|
||||||
|
|
|
@ -237,6 +237,11 @@ function saveLegendColors()
|
||||||
localStorage.legendColors = JSON.stringify(g_legendColors);
|
localStorage.legendColors = JSON.stringify(g_legendColors);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function saveAdifSettings()
|
||||||
|
{
|
||||||
|
localStorage.adifLogSettings = JSON.stringify(g_adifLogSettings);
|
||||||
|
}
|
||||||
|
|
||||||
function saveStartupLogs()
|
function saveStartupLogs()
|
||||||
{
|
{
|
||||||
localStorage.startupLogs = JSON.stringify(g_startupLogs);
|
localStorage.startupLogs = JSON.stringify(g_startupLogs);
|
||||||
|
@ -306,6 +311,7 @@ function saveAndCloseApp()
|
||||||
}
|
}
|
||||||
|
|
||||||
saveAppSettings();
|
saveAppSettings();
|
||||||
|
saveAdifSettings();
|
||||||
saveMapSettings();
|
saveMapSettings();
|
||||||
saveLegendColors();
|
saveLegendColors();
|
||||||
|
|
||||||
|
@ -504,6 +510,7 @@ var g_NWappData = "";
|
||||||
var g_screenshotDir = "";
|
var g_screenshotDir = "";
|
||||||
var g_scriptDir = "";
|
var g_scriptDir = "";
|
||||||
var g_qsoLogFile = "";
|
var g_qsoLogFile = "";
|
||||||
|
var g_LoTWLogFile = "";
|
||||||
var g_userMediaDir = "";
|
var g_userMediaDir = "";
|
||||||
var g_gtMediaDir = path.resolve("./media");
|
var g_gtMediaDir = path.resolve("./media");
|
||||||
var g_localeString = navigator.language;
|
var g_localeString = navigator.language;
|
||||||
|
@ -903,6 +910,28 @@ function userTimeString(Msec)
|
||||||
return dateToString(dateTime);
|
return dateToString(dateTime);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function dateToISO8601(dString, tZone)
|
||||||
|
{
|
||||||
|
var retDate = "";
|
||||||
|
var tZone = (typeof tZone !== "undefined") ? tZone : "Z";
|
||||||
|
var dateParts = dString.match(/(\d{4}-\d{2}-\d{2})(\s+(\d{2}:\d{2}:\d{2}))?/);
|
||||||
|
|
||||||
|
if (dateParts !== null)
|
||||||
|
{
|
||||||
|
retDate = dateParts[1]
|
||||||
|
if ((typeof dateParts[3]) !== "undefined")
|
||||||
|
{
|
||||||
|
retDate += "T" + dateParts[3] + ".000" + tZone;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
retDate += "T00:00:00.000" + tZone;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return retDate;
|
||||||
|
}
|
||||||
|
|
||||||
function getWpx(callsign)
|
function getWpx(callsign)
|
||||||
{
|
{
|
||||||
var prefix = null;
|
var prefix = null;
|
||||||
|
@ -5130,7 +5159,9 @@ function clearLogFilesAndCounts()
|
||||||
tryToDeleteLog("qrz.adif");
|
tryToDeleteLog("qrz.adif");
|
||||||
tryToDeleteLog("clublog.adif");
|
tryToDeleteLog("clublog.adif");
|
||||||
g_adifLogSettings.downloads = {};
|
g_adifLogSettings.downloads = {};
|
||||||
localStorage.adifLogSettings = JSON.stringify(g_adifLogSettings);
|
g_adifLogSettings.lastFetch.lotw_qso = "1940-01-01";
|
||||||
|
g_adifLogSettings.lastFetch.lotw_qsl = "1940-01-01";
|
||||||
|
saveAdifSettings();
|
||||||
}
|
}
|
||||||
|
|
||||||
function getCurrentBandModeHTML()
|
function getCurrentBandModeHTML()
|
||||||
|
@ -12174,7 +12205,8 @@ function callsignToDxcc(insign)
|
||||||
var end = parts.length - 1;
|
var end = parts.length - 1;
|
||||||
if (ancPrefixes.includes(parts[end]))
|
if (ancPrefixes.includes(parts[end]))
|
||||||
{
|
{
|
||||||
if (parts[end].toUpperCase() == "MM") {
|
if (parts[end].toUpperCase() == "MM")
|
||||||
|
{
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
parts.pop();
|
parts.pop();
|
||||||
|
@ -15852,6 +15884,7 @@ function mediaCheck()
|
||||||
g_scriptDir += g_dirSeperator;
|
g_scriptDir += g_dirSeperator;
|
||||||
|
|
||||||
g_qsoLogFile = path.join(g_appData, "GridTracker_QSO.adif");
|
g_qsoLogFile = path.join(g_appData, "GridTracker_QSO.adif");
|
||||||
|
g_LoTWLogFile = path.join(g_appData, "lotw.adif");
|
||||||
|
|
||||||
logEventMedia.appendChild(newOption("none", "None"));
|
logEventMedia.appendChild(newOption("none", "None"));
|
||||||
msgAlertMedia.appendChild(newOption("none", "Select File"));
|
msgAlertMedia.appendChild(newOption("none", "Select File"));
|
||||||
|
|
Ładowanie…
Reference in New Issue