kopia lustrzana https://gitlab.com/gridtracker.org/gridtracker
Fixed issue with multiple same callsigns
rodzic
c113e37e47
commit
6a7046af50
|
@ -1,3 +1,4 @@
|
||||||
|
<!DOCTYPE html>
|
||||||
<!--
|
<!--
|
||||||
This file is part of GridTracker.
|
This file is part of GridTracker.
|
||||||
|
|
||||||
|
|
|
@ -7092,11 +7092,13 @@ function handleWsjtxDecode(newMessage)
|
||||||
|
|
||||||
if (g_appSettings.gtSpotEnable === true && callsign.DEcall in g_gtCallsigns)
|
if (g_appSettings.gtSpotEnable === true && callsign.DEcall in g_gtCallsigns)
|
||||||
{
|
{
|
||||||
var key = g_gtCallsigns[callsign.DEcall];
|
for (const cid in g_gtCallsigns[callsign.DEcall])
|
||||||
if (key in g_gtFlagPins && g_gtFlagPins[key].o == 1)
|
|
||||||
{
|
{
|
||||||
g_spotCollector[key] = callsign.RSTsent;
|
if (cid in g_gtFlagPins && g_gtFlagPins[cid].o == 1)
|
||||||
g_spotDetailsCollector[key] = [callsign.delta + newMessage.OF, callsign.mode];
|
{
|
||||||
|
g_spotCollector[cid] = callsign.RSTsent;
|
||||||
|
g_spotDetailsCollector[cid] = [callsign.delta + newMessage.OF, callsign.mode];
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -10641,7 +10643,6 @@ function setGtShareButtons()
|
||||||
g_gtFlagPins = Object()
|
g_gtFlagPins = Object()
|
||||||
g_gtMessages = Object();
|
g_gtMessages = Object();
|
||||||
g_gtUnread = Object();
|
g_gtUnread = Object();
|
||||||
g_gtIdToCid = Object();
|
|
||||||
g_gtCallsigns = Object();
|
g_gtCallsigns = Object();
|
||||||
g_gtSentAwayToCid = Object();
|
g_gtSentAwayToCid = Object();
|
||||||
|
|
||||||
|
|
|
@ -282,13 +282,15 @@ function gtChatRemoveCall(jsmesg)
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
console.log("drop: No such id in gtCall:");
|
console.log("drop: No such id in g_gtFlagPins.ids:");
|
||||||
console.log(jsmesg);
|
console.log(jsmesg);
|
||||||
console.log(g_gtFlagPins[cid].ids);
|
console.log(g_gtFlagPins[cid].ids);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (Object.keys(g_gtFlagPins[cid].ids).length == 0)
|
if (Object.keys(g_gtFlagPins[cid].ids).length == 0)
|
||||||
{
|
{
|
||||||
|
delete g_gtCallsigns[g_gtFlagPins[cid].call][cid];
|
||||||
|
|
||||||
if (g_gtFlagPins[cid].pin != null)
|
if (g_gtFlagPins[cid].pin != null)
|
||||||
{
|
{
|
||||||
// remove pin from map here
|
// remove pin from map here
|
||||||
|
@ -300,19 +302,17 @@ function gtChatRemoveCall(jsmesg)
|
||||||
g_gtFlagPins[cid].live = false;
|
g_gtFlagPins[cid].live = false;
|
||||||
notifyNoChat(cid);
|
notifyNoChat(cid);
|
||||||
if (!(cid in g_gtMessages))
|
if (!(cid in g_gtMessages))
|
||||||
|
{
|
||||||
|
if (Object.keys(g_gtCallsigns[g_gtFlagPins[cid].call]).length == 0)
|
||||||
{
|
{
|
||||||
delete g_gtCallsigns[g_gtFlagPins[cid].call];
|
delete g_gtCallsigns[g_gtFlagPins[cid].call];
|
||||||
|
}
|
||||||
delete g_gtFlagPins[cid];
|
delete g_gtFlagPins[cid];
|
||||||
}
|
}
|
||||||
|
|
||||||
updateChatWindow(cid);
|
updateChatWindow(cid);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else
|
|
||||||
{
|
|
||||||
console.log("drop: No such cid in gtCall");
|
|
||||||
console.log(jsmesg);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
function gtChatUpdateCall(jsmesg)
|
function gtChatUpdateCall(jsmesg)
|
||||||
|
@ -332,6 +332,11 @@ function gtChatUpdateCall(jsmesg)
|
||||||
delete g_gtFlagPins[cid].pin;
|
delete g_gtFlagPins[cid].pin;
|
||||||
g_gtFlagPins[cid].pin = null;
|
g_gtFlagPins[cid].pin = null;
|
||||||
}
|
}
|
||||||
|
// Changed callsign?
|
||||||
|
if (g_gtFlagPins[cid].call != jsmesg.call)
|
||||||
|
{
|
||||||
|
delete g_gtCallsigns[g_gtFlagPins[cid].call][cid];
|
||||||
|
}
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
@ -362,7 +367,14 @@ function gtChatUpdateCall(jsmesg)
|
||||||
g_layerSources.gtflags.addFeature(g_gtFlagPins[cid].pin);
|
g_layerSources.gtflags.addFeature(g_gtFlagPins[cid].pin);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
g_gtCallsigns[g_gtFlagPins[cid].call] = cid;
|
|
||||||
|
if (!(g_gtFlagPins[cid].call in g_gtCallsigns))
|
||||||
|
{
|
||||||
|
// Can happen when a user changes callsign
|
||||||
|
g_gtCallsigns[g_gtFlagPins[cid].call] = Object();
|
||||||
|
}
|
||||||
|
g_gtCallsigns[g_gtFlagPins[cid].call][cid] = true;
|
||||||
|
|
||||||
updateChatWindow(cid);
|
updateChatWindow(cid);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -472,7 +484,13 @@ function gtChatNewList(jsmesg)
|
||||||
g_gtFlagPins[cid].o = jsmesg.data.o[key];
|
g_gtFlagPins[cid].o = jsmesg.data.o[key];
|
||||||
g_gtFlagPins[cid].dxcc = callsignToDxcc(g_gtFlagPins[cid].call);
|
g_gtFlagPins[cid].dxcc = callsignToDxcc(g_gtFlagPins[cid].call);
|
||||||
g_gtFlagPins[cid].live = true;
|
g_gtFlagPins[cid].live = true;
|
||||||
g_gtCallsigns[g_gtFlagPins[cid].call] = cid;
|
|
||||||
|
if (!(g_gtFlagPins[cid].call in g_gtCallsigns))
|
||||||
|
{
|
||||||
|
g_gtCallsigns[g_gtFlagPins[cid].call] = Object();
|
||||||
|
}
|
||||||
|
|
||||||
|
g_gtCallsigns[g_gtFlagPins[cid].call][cid] = true;
|
||||||
|
|
||||||
makeGtPin(g_gtFlagPins[cid]);
|
makeGtPin(g_gtFlagPins[cid]);
|
||||||
|
|
||||||
|
|
|
@ -117,16 +117,20 @@ function processRosterHunting(callRoster, rosterSettings, awardTracker)
|
||||||
}
|
}
|
||||||
|
|
||||||
// Calls that have OAMS chat support
|
// Calls that have OAMS chat support
|
||||||
if (
|
if (callsign in window.opener.g_gtCallsigns)
|
||||||
callsign in window.opener.g_gtCallsigns &&
|
|
||||||
window.opener.g_gtCallsigns[callsign] in window.opener.g_gtFlagPins &&
|
|
||||||
window.opener.g_gtFlagPins[window.opener.g_gtCallsigns[callsign]].canmsg == true
|
|
||||||
)
|
|
||||||
{
|
{
|
||||||
|
callObj.gt = 0;
|
||||||
|
for (const cid in window.opener.g_gtCallsigns[callsign])
|
||||||
|
{
|
||||||
|
if (cid in window.opener.g_gtFlagPins && window.opener.g_gtFlagPins[cid].canmsg == true)
|
||||||
|
{
|
||||||
|
// found the first one we can message, break now
|
||||||
callObj.callFlags.oams = true;
|
callObj.callFlags.oams = true;
|
||||||
// grab the CID
|
callObj.gt = cid;
|
||||||
callObj.gt = window.opener.g_gtCallsigns[callsign];
|
|
||||||
hasGtPin = true;
|
hasGtPin = true;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
|
Ładowanie…
Reference in New Issue