mirror of
https://github.com/ok2cqr/cqrlog.git
synced 2024-09-21 10:27:17 +00:00
Satellite and/or propagation clear
Satellite and/or propagation selection is cleared only from clear-button (at tab) or band change. Either manual, CAT driven (change from rig knobs), wsjtx or fldigi-xmlrpc remotes. Having set propagation for example ES it was keeping there when logging qsos but as soon as one qso was cancelled (2xESC or new try with wsjtx) propagation was always cleared. Now it is not and I think it is better this way. You can not always get qso that you have started to log in. I do not work satellite qsos at the moment, but I believe that clearing satellite name has the same rules: only if band changes (then usually satellite changes too, I think). Fldigi-xmlrpc and wsjtx remote frequency conversion is cleaned a bit. Found interesting bug (cosmetic). If you have just one radio and the other is undefined then change from TRXControl radio buttons from radio to not defined radio causes NewQSO frequency column content to be copied to NewQSO mode column! Fixed. Squashed commit of the following: commit d368846148694c02264245d9f9d26f1c6df755b4 Author: OH1KH <oh1kh@sral.fi> Date: Thu May 28 08:47:52 2020 +0300 Band change in fldigiXMLRPC and wsjtx clears satellite and propagation commit c5c1b38a14802d9744c3e2a1612b657cab8f2826 Author: OH1KH <oh1kh@sral.fi> Date: Thu May 28 07:43:27 2020 +0300 Sat and Prop clears only from button or band change. Fix of (cosmetic) bug when radio change
This commit is contained in:
parent
4ce9bdebf1
commit
5476dcf1f4
@ -39,7 +39,7 @@
|
||||
</PublishOptions>
|
||||
<RunParams>
|
||||
<local>
|
||||
<CommandLineParams Value="--DEBUG=-8"/>
|
||||
<CommandLineParams Value="--DEBUG=0"/>
|
||||
<LaunchingApplication PathPlusParams="/usr/X11R6/bin/xterm -T 'Lazarus Run Output' -e $(LazarusDir)/tools/runwait.sh $(TargetCmdLine)"/>
|
||||
</local>
|
||||
<environment>
|
||||
@ -52,7 +52,7 @@
|
||||
<Modes Count="1">
|
||||
<Mode0 Name="default">
|
||||
<local>
|
||||
<CommandLineParams Value="--DEBUG=-8"/>
|
||||
<CommandLineParams Value="--DEBUG=0"/>
|
||||
<LaunchingApplication PathPlusParams="/usr/X11R6/bin/xterm -T 'Lazarus Run Output' -e $(LazarusDir)/tools/runwait.sh $(TargetCmdLine)"/>
|
||||
</local>
|
||||
<environment>
|
||||
|
@ -30,7 +30,9 @@ type
|
||||
|
||||
procedure LoadSatellitesFromFile;
|
||||
procedure LoadPropModesFromFile;
|
||||
procedure SetListOfSatellites(cmbSatellite : TComboBox);
|
||||
procedure GetListOfSatellites(cmbSatellite : TComboBox; Selected : String = '');
|
||||
procedure SetListOfPropModes(cmbPropMode : TComboBox);
|
||||
procedure GetListOfPropModes(cmbPropMode : TComboBox; Selected : String = '');
|
||||
end;
|
||||
|
||||
@ -66,16 +68,20 @@ begin
|
||||
if FileExists(dmData.HomeDir + C_PROP_MODE_LIST) then
|
||||
ListOfPropModes.LoadFromFile(dmData.HomeDir + C_PROP_MODE_LIST)
|
||||
end;
|
||||
|
||||
procedure TdmSatellite.GetListOfSatellites(cmbSatellite : TComboBox; Selected : String = '');
|
||||
var
|
||||
i : Integer;
|
||||
begin
|
||||
procedure TdmSatellite.SetListOfSatellites(cmbSatellite : TComboBox);
|
||||
Begin
|
||||
cmbSatellite.Clear;
|
||||
cmbSatellite.Items.Add('');
|
||||
cmbSatellite.ItemIndex := 0;
|
||||
|
||||
cmbSatellite.Items.AddStrings(ListOfSatellites);
|
||||
end;
|
||||
|
||||
procedure TdmSatellite.GetListOfSatellites(cmbSatellite : TComboBox; Selected : String = '');
|
||||
var
|
||||
i : Integer;
|
||||
begin
|
||||
|
||||
for i:=0 to cmbSatellite.Items.Count -1 do
|
||||
begin
|
||||
if (GetSatShortName(cmbSatellite.Items.Strings[i]) = Selected) then
|
||||
@ -85,16 +91,20 @@ begin
|
||||
end
|
||||
end
|
||||
end;
|
||||
procedure TdmSatellite.SetListOfPropModes(cmbPropMode : TComboBox);
|
||||
Begin
|
||||
cmbPropMode.Clear;
|
||||
cmbPropMode.Items.Add('');
|
||||
cmbPropMode.ItemIndex := 0;
|
||||
|
||||
cmbPropMode.Items.AddStrings(ListOfPropModes);
|
||||
end;
|
||||
|
||||
procedure TdmSatellite.GetListOfPropModes(cmbPropMode : TComboBox; Selected : String);
|
||||
var
|
||||
i : Integer;
|
||||
begin
|
||||
cmbPropMode.Clear;
|
||||
cmbPropMode.Items.Add('');
|
||||
cmbPropMode.ItemIndex := 0;
|
||||
|
||||
cmbPropMode.Items.AddStrings(ListOfPropModes);
|
||||
for i:=0 to cmbPropMode.Items.Count - 1 do
|
||||
begin
|
||||
if (GetPropShortName(cmbPropMode.Items.Strings[i]) = Selected) then
|
||||
|
@ -2138,7 +2138,7 @@ object frmNewQSO: TfrmNewQSO
|
||||
OnKeyUp = FormKeyUp
|
||||
OnShow = FormShow
|
||||
OnWindowStateChange = FormWindowStateChange
|
||||
LCLVersion = '2.0.4.0'
|
||||
LCLVersion = '2.0.8.0'
|
||||
object sbNewQSO: TStatusBar
|
||||
AnchorSideBottom.Side = asrBottom
|
||||
Left = 0
|
||||
@ -3557,11 +3557,11 @@ object frmNewQSO: TfrmNewQSO
|
||||
Height = 135
|
||||
Top = 376
|
||||
Width = 938
|
||||
ActivePage = tabDXCCStat
|
||||
ActivePage = tabSatellite
|
||||
Align = alBottom
|
||||
Anchors = [akTop, akLeft, akRight, akBottom]
|
||||
BorderSpacing.Top = 40
|
||||
TabIndex = 0
|
||||
TabIndex = 1
|
||||
TabOrder = 28
|
||||
object tabDXCCStat: TTabSheet
|
||||
Caption = 'DXCC statistic'
|
||||
@ -3703,8 +3703,8 @@ object frmNewQSO: TfrmNewQSO
|
||||
Left = 8
|
||||
Height = 23
|
||||
Hint = 'Use RX frequency from the Satellite tab instead of Frequency for DX spots'
|
||||
Top = 106
|
||||
Width = 233
|
||||
Top = 114
|
||||
Width = 226
|
||||
BorderSpacing.Top = 35
|
||||
Caption = 'Use RX frequency for DX spots'
|
||||
Color = clNone
|
||||
|
@ -593,7 +593,6 @@ type
|
||||
Running : Boolean;
|
||||
idcall : String;
|
||||
old_t_mode : String;
|
||||
old_t_band : String;
|
||||
lotw_qslr : String;
|
||||
fromNewQSO : Boolean;
|
||||
FreqBefChange : Double;
|
||||
@ -655,6 +654,7 @@ type
|
||||
CWint : TCWDevice;
|
||||
ShowWin : Boolean;
|
||||
LastFkey : Word;
|
||||
old_t_band : String;
|
||||
|
||||
WsjtxSock : TUDPBlockSocket;
|
||||
N1MMSock : TUDPBlockSocket;
|
||||
@ -1170,7 +1170,6 @@ begin
|
||||
end;
|
||||
dmUtils.InsertModes(cmbMode);
|
||||
dmUtils.InsertFreq(cmbFreq);
|
||||
|
||||
dmSatellite.GetListOfSatellites(cmbSatellite, old_sat);
|
||||
dmSatellite.GetListOfPropModes(cmbPropagation, old_prop);
|
||||
edtRXFreq.Text := old_rxfreq;
|
||||
@ -1602,18 +1601,22 @@ var
|
||||
|
||||
begin
|
||||
with TfrmDBConnect.Create(self) do
|
||||
try
|
||||
ShowModal;
|
||||
if ModalResult <> mrOK then
|
||||
begin
|
||||
Application.Terminate;
|
||||
exit
|
||||
end
|
||||
else
|
||||
frmNewQSO.Caption := dmUtils.GetNewQSOCaption('New QSO')
|
||||
finally
|
||||
Free
|
||||
end;
|
||||
Begin
|
||||
try
|
||||
ShowModal;
|
||||
if ModalResult <> mrOK then
|
||||
begin
|
||||
Application.Terminate;
|
||||
exit
|
||||
end
|
||||
else
|
||||
frmNewQSO.Caption := dmUtils.GetNewQSOCaption('New QSO')
|
||||
finally
|
||||
Free
|
||||
end;
|
||||
end; //without this begin-end editor offers "finally; end" for every new line entered until end of procedure
|
||||
|
||||
|
||||
|
||||
ini := TIniFile.Create(GetAppConfigDir(False)+'cqrlog_login.cfg');
|
||||
try
|
||||
@ -1655,6 +1658,9 @@ begin
|
||||
tmrStart.Enabled := True;
|
||||
|
||||
dmUtils.UpdateHelpBrowser;
|
||||
dmSatellite.SetListOfSatellites(cmbSatellite); //load combo box lists
|
||||
dmSatellite.SetListOfPropModes(cmbPropagation);
|
||||
|
||||
end;
|
||||
|
||||
procedure TfrmNewQSO.tmrEndStartTimer(Sender: TObject);
|
||||
@ -2112,11 +2118,12 @@ begin
|
||||
if (mode <> '') and (freq <> empty_freq) then
|
||||
begin
|
||||
band := dmUtils.GetBandFromFreq(freq);
|
||||
if (band <> old_t_band) then btnClearSatelliteClick(nil); //if band changes sat and prop cleared
|
||||
if (mode <> old_t_mode) or (band <> old_t_band) then
|
||||
begin
|
||||
old_t_mode := mode;
|
||||
old_t_band := band
|
||||
end
|
||||
end;
|
||||
end
|
||||
end
|
||||
end
|
||||
@ -2249,7 +2256,7 @@ const
|
||||
var
|
||||
|
||||
Buf : String;
|
||||
Fdes : String;
|
||||
Fdes : Currency;
|
||||
ParStr : String;
|
||||
Par2Str : String;
|
||||
Fox2Line: integer;
|
||||
@ -2471,9 +2478,11 @@ begin
|
||||
mhz := ''
|
||||
end;
|
||||
1 : begin
|
||||
Fdes := copy(mhz,length(mhz)-5,3); //decimal part of MHz
|
||||
mhz := copy(mhz,1,length(mhz)-6); //integer part here
|
||||
mhz := mhz+'.'+Fdes;
|
||||
if TryStrToCurr(mhz,Fdes) then
|
||||
Begin
|
||||
Fdes :=Fdes/1000000.0;
|
||||
mhz:=FloatToStrF(Fdes,ffFixed,8,5);
|
||||
end;
|
||||
if dmData.DebugLevel>=1 then Writeln('Qrg :', mhz);
|
||||
mhz := Trim(mhz)
|
||||
end;
|
||||
@ -2579,7 +2588,17 @@ begin
|
||||
old_ccall := '';
|
||||
old_cfreq := '';
|
||||
old_cmode := '';
|
||||
if (frmMonWsjtx <> nil) and frmMonWsjtx.Showing then frmMonWsjtx.NewBandMode(WsjtxBand,WsjtxMode)
|
||||
if (frmMonWsjtx <> nil) and frmMonWsjtx.Showing then
|
||||
Begin
|
||||
frmMonWsjtx.NewBandMode(WsjtxBand,WsjtxMode);
|
||||
cmbFreq.Text :=mhz;
|
||||
cmbMode.Text := WsjtxMode;
|
||||
if (dmUtils.GetBandFromFreq(cmbFreq.Text) <> old_t_band) then
|
||||
Begin
|
||||
old_t_band := dmUtils.GetBandFromFreq(cmbFreq.Text);
|
||||
btnClearSatelliteClick(nil); //if band changes sat and prop cleared
|
||||
end;
|
||||
end;
|
||||
end
|
||||
end; //Status
|
||||
|
||||
@ -2754,9 +2773,11 @@ begin
|
||||
cmbFreq.Text := mhz
|
||||
end;
|
||||
1 : begin
|
||||
Fdes := copy(mhz,length(mhz)-5,3); //decimal part of MHz
|
||||
mhz := copy(mhz,1,length(mhz)-6); //integer part here
|
||||
mhz := mhz+'.'+Fdes;
|
||||
if TryStrToCurr(mhz,Fdes) then
|
||||
Begin
|
||||
Fdes :=Fdes/1000000;
|
||||
mhz:=FloatToStrF(Fdes,ffFixed,8,5);
|
||||
end;
|
||||
if dmData.DebugLevel>=1 then Writeln('Qrg :', mhz);
|
||||
mhz := Trim(mhz);
|
||||
if dmUtils.GetBandFromFreq(mhz) <> '' then
|
||||
@ -4351,6 +4372,8 @@ begin
|
||||
cmbPropagation.ItemIndex := 0;
|
||||
cmbSatellite.ItemIndex := 0;
|
||||
edtRXFreq.Clear;
|
||||
old_sat:='';
|
||||
old_prop:='';
|
||||
cmbSatelliteChange(nil)
|
||||
end;
|
||||
|
||||
@ -4473,6 +4496,8 @@ end;
|
||||
|
||||
|
||||
procedure TfrmNewQSO.cmbFreqExit(Sender: TObject);
|
||||
var
|
||||
band :String;
|
||||
begin
|
||||
if (not (fViewQSO or fEditQSO)) then
|
||||
cmbQSL_S.Text := dmData.SendQSL(edtCall.Text,cmbMode.Text,cmbFreq.Text,adif);
|
||||
@ -4480,7 +4505,14 @@ begin
|
||||
CheckQTHClub;
|
||||
CheckAwardClub;
|
||||
CheckCountyClub;
|
||||
CheckStateClub
|
||||
CheckStateClub;
|
||||
|
||||
band := dmUtils.GetBandFromFreq(cmbFreq.Text);
|
||||
if (band <> old_t_band) then
|
||||
Begin
|
||||
btnClearSatelliteClick(nil); //if band changes sat and prop cleared
|
||||
old_t_band := band;
|
||||
end;
|
||||
end;
|
||||
|
||||
procedure TfrmNewQSO.cmbIOTAEnter(Sender: TObject);
|
||||
@ -4493,7 +4525,9 @@ begin
|
||||
if (cmbPropagation.Text <> '') or (cmbSatellite.Text <> '') or (edtRXFreq.Text <> '') then
|
||||
tabSatellite.Font.Color := clRed
|
||||
else
|
||||
tabSatellite.Font.Color := clDefault
|
||||
tabSatellite.Font.Color := clDefault;
|
||||
|
||||
old_prop := dmSatellite.GetPropShortName(cmbPropagation.Text); //old_prop is now selected value
|
||||
end;
|
||||
|
||||
procedure TfrmNewQSO.cmbQSL_REnter(Sender: TObject);
|
||||
@ -4518,9 +4552,11 @@ end;
|
||||
|
||||
procedure TfrmNewQSO.cmbSatelliteChange(Sender : TObject);
|
||||
begin
|
||||
cmbPropagationChange(nil);
|
||||
if ((cmbSatellite.Text <> '') and (cmbPropagation.Text = '')) then
|
||||
cmbPropagation.Text := 'SAT|Satellite'
|
||||
cmbPropagation.Text := 'SAT|Satellite';
|
||||
|
||||
old_sat := dmSatellite.GetSatShortName(cmbSatellite.Text); //old_sat is now selected value
|
||||
cmbPropagationChange(nil);
|
||||
end;
|
||||
|
||||
procedure TfrmNewQSO.dbgrdQSOBeforeColumnSized(Sender: TObject);
|
||||
@ -4870,7 +4906,8 @@ begin
|
||||
end;
|
||||
|
||||
procedure TfrmNewQSO.cmbFreqChange(Sender: TObject);
|
||||
begin
|
||||
Begin
|
||||
//note this procedure does NOT run if rig CAT changes cmbFreq text value !! (why?)
|
||||
cmbFreq.Text := CheckFreq(cmbFreq.Text);
|
||||
ShowCountryInfo;
|
||||
ChangeReports
|
||||
|
@ -153,7 +153,7 @@ object frmTRXControl: TfrmTRXControl
|
||||
OnKeyDown = FormKeyDown
|
||||
OnKeyUp = FormKeyUp
|
||||
OnShow = FormShow
|
||||
LCLVersion = '2.0.4.0'
|
||||
LCLVersion = '2.0.8.0'
|
||||
object gbMode: TGroupBox
|
||||
AnchorSideLeft.Control = gbVfo
|
||||
AnchorSideTop.Control = gbVfo
|
||||
|
@ -1308,6 +1308,7 @@ end;
|
||||
function TfrmTRXControl.GetModeFreqNewQSO(var mode,freq : String) : Boolean;
|
||||
begin
|
||||
Result := False;
|
||||
if not Assigned(radio) then exit; //without this sets old freq as mode (!) if switched from radio to non existing radio
|
||||
if not ((lblFreq.Caption = empty_freq) or (lblFreq.Caption = '')) then
|
||||
Result := True
|
||||
else
|
||||
|
@ -1,7 +1,7 @@
|
||||
object frmxfldigi: Tfrmxfldigi
|
||||
Left = 39
|
||||
Left = 57
|
||||
Height = 193
|
||||
Top = 15
|
||||
Top = 39
|
||||
Width = 347
|
||||
Caption = 'fldigi xmlrpc'
|
||||
ClientHeight = 193
|
||||
@ -10,7 +10,7 @@ object frmxfldigi: Tfrmxfldigi
|
||||
OnCreate = FormCreate
|
||||
OnHide = FormHide
|
||||
OnShow = FormShow
|
||||
LCLVersion = '2.0.4.0'
|
||||
LCLVersion = '2.0.8.0'
|
||||
object lbCall: TLabel
|
||||
Left = 8
|
||||
Height = 15
|
||||
@ -26,7 +26,7 @@ object frmxfldigi: Tfrmxfldigi
|
||||
Left = 88
|
||||
Height = 15
|
||||
Top = 32
|
||||
Width = 56
|
||||
Width = 67
|
||||
AutoSize = False
|
||||
Caption = '-Freq'
|
||||
Color = clDefault
|
||||
|
@ -222,7 +222,7 @@ var
|
||||
opmode :string;
|
||||
SockOK :Boolean;
|
||||
Drop :integer;
|
||||
tmp :Currency;
|
||||
tmp :extended;
|
||||
|
||||
begin
|
||||
frmNewQSO.tmrFldigi.Enabled := false;
|
||||
@ -242,13 +242,18 @@ begin
|
||||
if pos(',', mhz) > 0 then mhz[pos(',', mhz)] := FormatSettings.DecimalSeparator;
|
||||
if dmDXCluster.GetBandFromFreq(mhz,True) <> '' then
|
||||
Begin
|
||||
if TryStrToCurr(mhz,tmp) then
|
||||
if TryStrToFloat(mhz,tmp) then
|
||||
begin
|
||||
tmp := tmp/1000;
|
||||
frequency := CurrToStr(tmp);
|
||||
frequency :=FloatToStrF(tmp,ffFixed,8,5);
|
||||
if (dmUtils.GetBandFromFreq(frequency) <> frmNewQSO.old_t_band) then
|
||||
Begin
|
||||
frmNewQSO.old_t_band := dmUtils.GetBandFromFreq(frequency);
|
||||
frmNewQSO.btnClearSatelliteClick(nil); //if band changes sat and prop cleared
|
||||
end;
|
||||
end;
|
||||
end;
|
||||
end;
|
||||
end;
|
||||
2 : frequency := cqrini.ReadString('fldigi','deffreq','3.600')
|
||||
end;
|
||||
if dmData.DebugLevel>=1 then Writeln('Qrg :', frequency);
|
||||
|
Loading…
Reference in New Issue
Block a user