Added ability to spot ssids with compound callsigns ala, KN4CRD/7
This commit is contained in:
		
							parent
							
								
									859a40da5c
								
							
						
					
					
						commit
						640ce756c0
					
				@ -190,14 +190,11 @@ QString APRSISClient::stripSSID(QString call){
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
QString APRSISClient::replaceCallsignSuffixWithSSID(QString call, QString base){
 | 
					QString APRSISClient::replaceCallsignSuffixWithSSID(QString call, QString base){
 | 
				
			||||||
    if(call != base){
 | 
					    if(call != base){
 | 
				
			||||||
        QRegularExpression re("[/](?<ssid>(P|\\d+))");
 | 
					        QRegularExpression re("[/](?<ssid>(\\d+))");
 | 
				
			||||||
        auto matcher = re.globalMatch(call);
 | 
					        auto matcher = re.globalMatch(call);
 | 
				
			||||||
        if(matcher.hasNext()){
 | 
					        if(matcher.hasNext()){
 | 
				
			||||||
            auto match = matcher.next();
 | 
					            auto match = matcher.next();
 | 
				
			||||||
            auto ssid = match.captured("ssid");
 | 
					            auto ssid = match.captured("ssid");
 | 
				
			||||||
            if(ssid == "P"){
 | 
					 | 
				
			||||||
                ssid = "16";
 | 
					 | 
				
			||||||
            }
 | 
					 | 
				
			||||||
            call = base + "-" + ssid;
 | 
					            call = base + "-" + ssid;
 | 
				
			||||||
        } else {
 | 
					        } else {
 | 
				
			||||||
            call = base;
 | 
					            call = base;
 | 
				
			||||||
 | 
				
			|||||||
@ -5254,8 +5254,9 @@ void MainWindow::spotAprsCmd(CommandDetail cmd){
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
    qDebug() << "APRSISClient Enqueueing Third Party Text" << cmd.from << cmd.text;
 | 
					    qDebug() << "APRSISClient Enqueueing Third Party Text" << cmd.from << cmd.text;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    auto by_call = Radio::base_callsign(m_config.my_callsign());
 | 
					    auto callsign = cmd.from;
 | 
				
			||||||
    auto from_call = Radio::base_callsign(cmd.from);
 | 
					    auto by_call = APRSISClient::replaceCallsignSuffixWithSSID(m_config.my_callsign(), Radio::base_callsign(m_config.my_callsign()));
 | 
				
			||||||
 | 
					    auto from_call = APRSISClient::replaceCallsignSuffixWithSSID(callsign, Radio::base_callsign(callsign));
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    // we use a queued signal here so we can process these spots in a network thread
 | 
					    // we use a queued signal here so we can process these spots in a network thread
 | 
				
			||||||
    // to prevent blocking the gui/decoder while waiting on TCP
 | 
					    // to prevent blocking the gui/decoder while waiting on TCP
 | 
				
			||||||
@ -5274,8 +5275,8 @@ void MainWindow::spotAprsGrid(int offset, int snr, QString callsign, QString gri
 | 
				
			|||||||
        comment = QString("%1 %2").arg(callsign).arg(comment);
 | 
					        comment = QString("%1 %2").arg(callsign).arg(comment);
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    auto by_call = Radio::base_callsign(m_config.my_callsign());
 | 
					    auto by_call = APRSISClient::replaceCallsignSuffixWithSSID(m_config.my_callsign(), Radio::base_callsign(m_config.my_callsign()));
 | 
				
			||||||
    auto from_call = Radio::base_callsign(callsign);
 | 
					    auto from_call = APRSISClient::replaceCallsignSuffixWithSSID(callsign, Radio::base_callsign(callsign));
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    // we use a queued signal here so we can process these spots in a network thread
 | 
					    // we use a queued signal here so we can process these spots in a network thread
 | 
				
			||||||
    // to prevent blocking the gui/decoder while waiting on TCP
 | 
					    // to prevent blocking the gui/decoder while waiting on TCP
 | 
				
			||||||
 | 
				
			|||||||
		Loading…
	
		Reference in New Issue
	
	Block a user