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.
|
||||
|
||||
|
|
|
@ -7092,11 +7092,13 @@ function handleWsjtxDecode(newMessage)
|
|||
|
||||
if (g_appSettings.gtSpotEnable === true && callsign.DEcall in g_gtCallsigns)
|
||||
{
|
||||
var key = g_gtCallsigns[callsign.DEcall];
|
||||
if (key in g_gtFlagPins && g_gtFlagPins[key].o == 1)
|
||||
for (const cid in g_gtCallsigns[callsign.DEcall])
|
||||
{
|
||||
g_spotCollector[key] = callsign.RSTsent;
|
||||
g_spotDetailsCollector[key] = [callsign.delta + newMessage.OF, callsign.mode];
|
||||
if (cid in g_gtFlagPins && g_gtFlagPins[cid].o == 1)
|
||||
{
|
||||
g_spotCollector[cid] = callsign.RSTsent;
|
||||
g_spotDetailsCollector[cid] = [callsign.delta + newMessage.OF, callsign.mode];
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -10641,7 +10643,6 @@ function setGtShareButtons()
|
|||
g_gtFlagPins = Object()
|
||||
g_gtMessages = Object();
|
||||
g_gtUnread = Object();
|
||||
g_gtIdToCid = Object();
|
||||
g_gtCallsigns = Object();
|
||||
g_gtSentAwayToCid = Object();
|
||||
|
||||
|
|
|
@ -282,13 +282,15 @@ function gtChatRemoveCall(jsmesg)
|
|||
}
|
||||
else
|
||||
{
|
||||
console.log("drop: No such id in gtCall:");
|
||||
console.log("drop: No such id in g_gtFlagPins.ids:");
|
||||
console.log(jsmesg);
|
||||
console.log(g_gtFlagPins[cid].ids);
|
||||
}
|
||||
|
||||
|
||||
if (Object.keys(g_gtFlagPins[cid].ids).length == 0)
|
||||
{
|
||||
delete g_gtCallsigns[g_gtFlagPins[cid].call][cid];
|
||||
|
||||
if (g_gtFlagPins[cid].pin != null)
|
||||
{
|
||||
// remove pin from map here
|
||||
|
@ -301,18 +303,16 @@ function gtChatRemoveCall(jsmesg)
|
|||
notifyNoChat(cid);
|
||||
if (!(cid in g_gtMessages))
|
||||
{
|
||||
delete g_gtCallsigns[g_gtFlagPins[cid].call];
|
||||
if (Object.keys(g_gtCallsigns[g_gtFlagPins[cid].call]).length == 0)
|
||||
{
|
||||
delete g_gtCallsigns[g_gtFlagPins[cid].call];
|
||||
}
|
||||
delete g_gtFlagPins[cid];
|
||||
}
|
||||
|
||||
updateChatWindow(cid);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
console.log("drop: No such cid in gtCall");
|
||||
console.log(jsmesg);
|
||||
}
|
||||
}
|
||||
|
||||
function gtChatUpdateCall(jsmesg)
|
||||
|
@ -332,6 +332,11 @@ function gtChatUpdateCall(jsmesg)
|
|||
delete g_gtFlagPins[cid].pin;
|
||||
g_gtFlagPins[cid].pin = null;
|
||||
}
|
||||
// Changed callsign?
|
||||
if (g_gtFlagPins[cid].call != jsmesg.call)
|
||||
{
|
||||
delete g_gtCallsigns[g_gtFlagPins[cid].call][cid];
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
|
@ -362,7 +367,14 @@ function gtChatUpdateCall(jsmesg)
|
|||
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);
|
||||
}
|
||||
|
||||
|
@ -472,7 +484,13 @@ function gtChatNewList(jsmesg)
|
|||
g_gtFlagPins[cid].o = jsmesg.data.o[key];
|
||||
g_gtFlagPins[cid].dxcc = callsignToDxcc(g_gtFlagPins[cid].call);
|
||||
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]);
|
||||
|
||||
|
|
|
@ -117,16 +117,20 @@ function processRosterHunting(callRoster, rosterSettings, awardTracker)
|
|||
}
|
||||
|
||||
// Calls that have OAMS chat support
|
||||
if (
|
||||
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
|
||||
)
|
||||
if (callsign in window.opener.g_gtCallsigns)
|
||||
{
|
||||
callObj.callFlags.oams = true;
|
||||
// grab the CID
|
||||
callObj.gt = window.opener.g_gtCallsigns[callsign];
|
||||
hasGtPin = 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.gt = cid;
|
||||
hasGtPin = true;
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
|
|
Ładowanie…
Reference in New Issue