diff --git a/package.nw/lib/roster/processRosterFiltering.js b/package.nw/lib/roster/processRosterFiltering.js index 4fa4355..d2c6dd1 100644 --- a/package.nw/lib/roster/processRosterFiltering.js +++ b/package.nw/lib/roster/processRosterFiltering.js @@ -182,42 +182,50 @@ function processRosterFiltering(callRoster, rosterSettings) continue; } + let usesOneOf = 0; + let checkUses = 0; + if (window.opener.GT.callsignLookups.lotwUseEnable == true && CR.rosterSettings.usesLoTW == true) { - if (!(call in window.opener.GT.lotwCallsigns)) + checkUses++; + if (call in window.opener.GT.lotwCallsigns) { - entry.tx = false; - continue; - } - if (CR.rosterSettings.maxLoTW < 27) - { - let months = (CR.day - window.opener.GT.lotwCallsigns[call]) / 30; - if (months > CR.rosterSettings.maxLoTW) + usesOneOf++; + if (CR.rosterSettings.maxLoTW < 27) { - entry.tx = false; - continue; + let months = (CR.day - window.opener.GT.lotwCallsigns[call]) / 30; + if (months > CR.rosterSettings.maxLoTW) + { + usesOneOf--; + } } } } if (window.opener.GT.callsignLookups.eqslUseEnable == true && CR.rosterSettings.useseQSL == true) { - if (!(call in window.opener.GT.eqslCallsigns)) + checkUses++; + if (call in window.opener.GT.eqslCallsigns) { - entry.tx = false; - continue; + usesOneOf++; } } if (window.opener.GT.callsignLookups.oqrsUseEnable == true && CR.rosterSettings.usesOQRS == true) { - if (!(call in window.opener.GT.oqrsCallsigns)) + checkUses++; + if (call in window.opener.GT.oqrsCallsigns) { - entry.tx = false; - continue; + usesOneOf++; } } + if (checkUses > 0 && usesOneOf == 0) + { + entry.tx = false; + continue; + } + if (rosterSettings.callMode != "all") { if (entry.DXcall == "CQ DX" && callObj.dxcc == window.opener.GT.myDXCC)