mirror of
				https://github.com/saitohirga/WSJT-X.git
				synced 2025-10-31 13:10:19 -04:00 
			
		
		
		
	Fix the updateRate() logic, and the logic for "ProcessMsgNormally". (Is it right, yet??)
This commit is contained in:
		
							parent
							
								
									cf27347656
								
							
						
					
					
						commit
						ab72238132
					
				| @ -3450,6 +3450,7 @@ void MainWindow::ARRL_Digi_Update(DecodedText dt) | ||||
|     m_recentCall[deCall]=rc; | ||||
|     m_points=m_activeCall.value(deCall).points; | ||||
|   } | ||||
|   updateRate(); | ||||
| } | ||||
| 
 | ||||
| void MainWindow::ARRL_Digi_Display() | ||||
| @ -3755,18 +3756,18 @@ void MainWindow::readFromStdout()                             //readFromStdout | ||||
|             } | ||||
|           } | ||||
|           if(m_bCallingCQ && !m_bAutoReply && for_us && SpecOp::FOX > m_config.special_op_id()) { | ||||
|             bool bActiveStations=false; | ||||
|             if(ui->respondComboBox->currentText()=="CQ: First") bActiveStations=true; | ||||
| 
 | ||||
|             if(ui->respondComboBox->currentText()=="CQ: Max Dist" and m_ActiveStationsWidget==NULL) bActiveStations=true; | ||||
|             if(m_ActiveStationsWidget!=NULL and !m_ActiveStationsWidget->isVisible()) bActiveStations=true; | ||||
|             if(bActiveStations) { | ||||
|             bool bProcessMsgNormally=ui->respondComboBox->currentText()=="CQ: First" or | ||||
|                 (ui->respondComboBox->currentText()=="CQ: Max Dist" and m_ActiveStationsWidget==NULL) or | ||||
|                 (m_ActiveStationsWidget!=NULL and !m_ActiveStationsWidget->isVisible()); | ||||
|             QString t=decodedtext.messageWords()[4]; | ||||
|             if(t.contains("R+") or t.contains("R-") or t.contains("R ")) bProcessMsgNormally=true; | ||||
|             if(bProcessMsgNormally) { | ||||
|               m_bDoubleClicked=true; | ||||
|               m_bAutoReply = true; | ||||
|               processMessage (decodedtext); | ||||
|             } | ||||
| 
 | ||||
|             if(!bActiveStations and m_ActiveStationsWidget and ui->respondComboBox->currentText()=="CQ: Max Dist") { | ||||
|             if(!bProcessMsgNormally and m_ActiveStationsWidget and ui->respondComboBox->currentText()=="CQ: Max Dist") { | ||||
|               QString deCall; | ||||
|               QString deGrid; | ||||
|               decodedtext.deCallAndGrid(/*out*/deCall,deGrid); | ||||
| @ -6322,20 +6323,7 @@ void MainWindow::acceptQSO (QDateTime const& QSO_date_off, QString const& call, | ||||
|     al.band=band; | ||||
|     al.points=points; | ||||
|     m_arrl_log.append(al); | ||||
|     int iz=m_arrl_log.size(); | ||||
|     int rate=0; | ||||
|     int nbc=0; | ||||
| 
 | ||||
|     for(int i=iz-1; i>=0; i--) { | ||||
|       double hrDiff = m_arrl_log[i].time.msecsTo(al.time)/3600000.0; | ||||
|       if(hrDiff > 1.0) break; | ||||
|       rate += m_arrl_log[i].points; | ||||
|       if(i<iz-1 and m_arrl_log[i].band != m_arrl_log[i+1].band) nbc += 1; | ||||
|     } | ||||
| 
 | ||||
|     m_ActiveStationsWidget->setRate(rate); | ||||
|     m_ActiveStationsWidget->setScore(m_score); | ||||
|     m_ActiveStationsWidget->setBandChanges(nbc); | ||||
|     updateRate(); | ||||
|   } | ||||
| 
 | ||||
|   m_xSent.clear (); | ||||
| @ -6344,6 +6332,24 @@ void MainWindow::acceptQSO (QDateTime const& QSO_date_off, QString const& call, | ||||
|   if (m_config.clear_DXgrid ()) ui->dxGridEntry->clear (); | ||||
| } | ||||
| 
 | ||||
| void MainWindow::updateRate() | ||||
| { | ||||
|   int iz=m_arrl_log.size(); | ||||
|   int rate=0; | ||||
|   int nbc=0; | ||||
|   double hrDiff; | ||||
| 
 | ||||
|   for(int i=iz-1; i>=0; i--) { | ||||
|     hrDiff = m_arrl_log[i].time.msecsTo(QDateTime::currentDateTimeUtc())/3600000.0; | ||||
|     if(hrDiff > 1.0) break; | ||||
|     rate += m_arrl_log[i].points; | ||||
|     if(i<iz-1 and m_arrl_log[i].band != m_arrl_log[i+1].band) nbc += 1; | ||||
|   } | ||||
|   m_ActiveStationsWidget->setRate(rate); | ||||
|   m_ActiveStationsWidget->setScore(m_score); | ||||
|   m_ActiveStationsWidget->setBandChanges(nbc); | ||||
| } | ||||
| 
 | ||||
| qint64 MainWindow::nWidgets(QString t) | ||||
| { | ||||
|   Q_ASSERT(t.length()==N_WIDGETS); | ||||
|  | ||||
| @ -785,6 +785,7 @@ private: | ||||
|   void CQTxFreq(); | ||||
|   void useNextCall(); | ||||
|   void abortQSO(); | ||||
|   void updateRate(); | ||||
|   void write_all(QString txRx, QString message); | ||||
|   bool isWorked(int itype, QString key, float fMHz=0, QString=""); | ||||
| 
 | ||||
|  | ||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user