@@ -494,9 +494,10 @@ private void Ft4Sender_AfterTransmit(object? sender, EventArgs e)
494494 TxCountdown = 0 ;
495495 Sender . Stop ( ) ;
496496 QsoInfo qso = GetQsoInfo ( ) ;
497+ bool newQso = Sequencer . LastHisCall != Sequencer . HisCall ;
498+ if ( newQso ) ctx . LoqFt4QsoDialog . PopUp ( ctx , qso ) ;
497499 Sequencer . Reset ( ) ;
498500 Sender . SetMessage ( Sequencer . Message ! ) ;
499- ctx . LoqFt4QsoDialog . PopUp ( ctx , qso ) ;
500501 }
501502 }
502503
@@ -537,6 +538,7 @@ private QsoInfo GetQsoInfo()
537538 //--------------------------------------------------------------------------------------------------------------
538539 // sequencer
539540 //--------------------------------------------------------------------------------------------------------------
541+ // any received message
540542 private void RxMessageToSequencer ( DecodedItem message )
541543 {
542544 if ( Sender . Mode != SenderMode . Sending ) return ;
@@ -545,6 +547,7 @@ private void RxMessageToSequencer(DecodedItem message)
545547 if ( Sequencer . ProcessMessage ( message , false ) ) SetTxMessage ( Sender . TxOdd ) ;
546548 }
547549
550+ // click on someone's message
548551 private void MessageListWidget_MessageClick ( object sender , Ft4MessageEventArgs e )
549552 {
550553 if ( e . Item . FromMe && ModifierKeys == Keys . Control )
@@ -555,6 +558,7 @@ private void MessageListWidget_MessageClick(object sender, Ft4MessageEventArgs e
555558 SetTxMessage ( ! e . Item . Odd ) ;
556559 }
557560
561+ // message selection buttons
558562 private void MessageBtn_Click ( object sender , EventArgs e )
559563 {
560564 if ( ! CheckTxEnabled ( ) ) return ;
@@ -566,6 +570,7 @@ private void MessageBtn_Click(object sender, EventArgs e)
566570 private void SetTxMessage ( bool odd )
567571 {
568572 bool wasSending = Sender . SenderPhase == SendingStage . Sending ;
573+ bool oddChanged = Sender . TxOdd != odd ;
569574
570575 Sender . TxOdd = odd ;
571576
@@ -582,45 +587,47 @@ private void SetTxMessage(bool odd)
582587 }
583588
584589 Sender . SetMessage ( Sequencer . Message ! ) ;
590+ if ( wasSending && oddChanged ) Sender . Stop ( ) ;
585591 Sender . StartSending ( ) ;
586- TxCountdown = ctx . Settings . Ft4Console . Transmit . TxWatchDog * 4 ;
592+ TxCountdown = ctx . Settings . Ft4Console . Transmit . TxWatchDog * NativeFT4Coder . TIME_SLOTS_PER_MINUTE ;
587593
588594 TxMessageLabel . Text = Sequencer . Message ! ;
589595 UpdateTxButtons ( ) ;
590596 UpdateMessageButtons ( ) ;
591597 UpdateControls ( ) ;
592598 ctx . MainForm . FrequencyWidget . SetXit ( Sender . XitOffset ) ;
593599
594- if ( wasSending )
600+ // changing the message on the fiy, show it in the list
601+ if ( wasSending && ! oddChanged )
595602 {
596603 var item = MakeTxItem ( ) ;
597604 AddTxMessageToList ( item ) ;
598605 SaveMessageToFile ( item ) ;
599606 }
600607 }
601608
602- public void TestQDateTime ( )
603- {
604- for ( int h = 0 ; h < 48 ; h += 6 )
605- {
606- var utc = DateTime . UtcNow . Date + TimeSpan . FromHours ( h ) ;
609+ // public void TestQDateTime()
610+ // {
611+ // for (int h = 0; h < 48; h += 6)
612+ // {
613+ // var utc = DateTime.UtcNow.Date + TimeSpan.FromHours(h);
607614
608- // c# write
609- long julianDay = ( long ) Math . Floor ( utc . ToOADate ( ) ) + 2415019 ;
610- uint milliseconds = ( uint ) ( utc . TimeOfDay . TotalMilliseconds ) ;
615+ // // c# write
616+ // long julianDay = (long)Math.Floor(utc.ToOADate()) + 2415019;
617+ // uint milliseconds = (uint)(utc.TimeOfDay.TotalMilliseconds);
611618
612- // c# original read
613- var date = DateTime . FromOADate ( julianDay - 2415018.5 ) . Date ;
614- DateTime outUtc = date . AddMilliseconds ( milliseconds ) ;
619+ // // c# original read
620+ // var date = DateTime.FromOADate(julianDay - 2415018.5).Date;
621+ // DateTime outUtc = date.AddMilliseconds(milliseconds);
615622
616- // Delphi read
617- double delphiDouble = julianDay - 2415019 + milliseconds / 86400000d ;
618- DateTime delphiUtc = DateTime . SpecifyKind ( DateTime . FromOADate ( delphiDouble ) , DateTimeKind . Unspecified ) ;
623+ // // Delphi read
624+ // double delphiDouble = julianDay - 2415019 + milliseconds / 86400000d;
625+ // DateTime delphiUtc = DateTime.SpecifyKind(DateTime.FromOADate(delphiDouble), DateTimeKind.Unspecified);
619626
620627
621- Debug . WriteLine ( $ "{ utc : yyyy-MM-dd HH:mm} { julianDay , 10 } { milliseconds / 86400000d : F3} c#: { outUtc : yyyy-MM-dd HH:mm} Delphi: { delphiDouble : F3} { delphiUtc : yyyy-MM-dd HH:mm} ") ;
622- }
623- }
628+ // Debug.WriteLine($"{utc:yyyy-MM-dd HH:mm} {julianDay,10} {milliseconds / 86400000d:F3} c#: {outUtc:yyyy-MM-dd HH:mm} Delphi: {delphiDouble:F3} {delphiUtc:yyyy-MM-dd HH:mm}");
629+ // }
630+ // }
624631
625632
626633
0 commit comments