mirror of
https://github.com/ok2cqr/cqrlog.git
synced 2024-09-21 02:17:19 +00:00
Fix to QSO offline input
When Offline checkbox is checked and first qso typed in and saved focus will return to QsoDate column instead of Callsign column. Then when date, start time and end time are set and then TAB pressed focus will move to callsign column. This happens only if callsign cloumn is empty (not when in edit qso) This makes qso manual feed from paper log easier as things start from date and tabulation continues in chronological order: date,start,end,call,freq, mode .. etc and when qso is saved focus returns again to date column. When typing in Date and times in Offline Cqrlog will add punctuation marks ('-' or ':') automatic. This way only number keys need to be typed. When not valid locator is entered (usually odd number of characters) NewQSO/GRID label will turn bold red as warning sign when exit from grid column. Tested ok with GTK2 and QT5 using Lazarus Ver 2.2.2 Squashed commit of the following: commit 8157d01e220b63bf9bf42d0e2d8576fb40b00b56 Author: OH1KH <oh1kh@sral.fi> Date: Wed Aug 24 12:43:00 2022 +0300 Added auto '-' and ':' when typing in date and times in Offline mode. Grid label changes to bold red if gird is not valid (odd number of chars) commit 51e1c90bb51ab5b4626dd6c54b37cc22d8468420 Author: OH1KH <oh1kh@sral.fi> Date: Mon Aug 22 10:25:11 2022 +0300 Fix remote situation commit 896479695797e88de0abd9dc4436c960b96451b4 Author: OH1KH <oh1kh@sral.fi> Date: Sun Aug 21 15:56:41 2022 +0300 Fix to QSO offline input
This commit is contained in:
parent
98a8ba5d0d
commit
b289669d3b
@ -2964,6 +2964,7 @@ object frmNewQSO: TfrmNewQSO
|
||||
Width = 100
|
||||
BorderSpacing.Top = 2
|
||||
MaxLength = 10
|
||||
OnChange = edtDateChange
|
||||
OnEnter = edtDateEnter
|
||||
OnExit = edtDateExit
|
||||
OnKeyDown = edtDateKeyDown
|
||||
@ -2983,6 +2984,7 @@ object frmNewQSO: TfrmNewQSO
|
||||
BorderSpacing.Left = 6
|
||||
BorderSpacing.Top = 2
|
||||
MaxLength = 5
|
||||
OnChange = edtStartTimeChange
|
||||
OnEnter = edtStartTimeEnter
|
||||
OnExit = edtStartTimeExit
|
||||
OnKeyDown = edtStartTimeKeyDown
|
||||
@ -3002,6 +3004,7 @@ object frmNewQSO: TfrmNewQSO
|
||||
BorderSpacing.Left = 6
|
||||
BorderSpacing.Top = 2
|
||||
MaxLength = 5
|
||||
OnChange = edtEndTimeChange
|
||||
OnEnter = edtEndTimeEnter
|
||||
OnExit = edtEndTimeExit
|
||||
OnKeyDown = edtEndTimeKeyDown
|
||||
|
@ -418,8 +418,10 @@ type
|
||||
procedure dbgrdQSOBeforeColumnSized(Sender: TObject);
|
||||
procedure edtAwardEnter(Sender: TObject);
|
||||
procedure edtCallChange(Sender: TObject);
|
||||
procedure edtDateChange(Sender: TObject);
|
||||
procedure edtDateEnter(Sender: TObject);
|
||||
procedure edtDXCCRefEnter(Sender: TObject);
|
||||
procedure edtEndTimeChange(Sender: TObject);
|
||||
procedure edtEndTimeEnter(Sender: TObject);
|
||||
procedure edtGridChange(Sender: TObject);
|
||||
procedure edtGridEnter(Sender: TObject);
|
||||
@ -437,6 +439,7 @@ type
|
||||
procedure edtRXFreqChange(Sender: TObject);
|
||||
procedure edtRXFreqExit(Sender: TObject);
|
||||
procedure edtRXLOExit(Sender: TObject);
|
||||
procedure edtStartTimeChange(Sender: TObject);
|
||||
procedure edtStartTimeEnter(Sender: TObject);
|
||||
procedure edtStateEnter(Sender: TObject);
|
||||
procedure edtTXLOExit(Sender: TObject);
|
||||
@ -3435,7 +3438,10 @@ begin
|
||||
frmMain.dbgrdMain.SetFocus
|
||||
end
|
||||
else
|
||||
edtCall.SetFocus;
|
||||
Begin
|
||||
if cbOffline.Checked then edtDate.SetFocus
|
||||
else edtCall.SetFocus;
|
||||
end;
|
||||
end;
|
||||
|
||||
end;
|
||||
@ -3632,7 +3638,14 @@ begin
|
||||
begin
|
||||
edtStartTime.SetFocus;
|
||||
key := 0
|
||||
end
|
||||
end;
|
||||
if ( ((length(edtDate.Text)=5) or (length(edtDate.Text)=8))
|
||||
and ((key = VK_BACK) or (key = VK_DELETE))
|
||||
and (not AnyRemoteOn and cbOffline.Checked) ) then //auto del "-"
|
||||
begin
|
||||
edtDate.Text:=copy(edtDate.Text,1,length(edtDate.Text)-2);
|
||||
key := 0
|
||||
end;
|
||||
end;
|
||||
|
||||
|
||||
@ -3711,6 +3724,18 @@ begin
|
||||
mComment.SetFocus;
|
||||
key := 0
|
||||
end;
|
||||
if ((key = VK_TAB) and cbOffline.Checked and (edtCall.Text='') and (not AnyRemoteOn)) then
|
||||
Begin
|
||||
edtCall.SetFocus;
|
||||
key := 0
|
||||
end;
|
||||
if ((length(edtEndTime.Text)=3)
|
||||
and ((key = VK_BACK) or (key = VK_DELETE))
|
||||
and (not AnyRemoteOn and cbOffline.Checked) ) then //aute del ":"
|
||||
begin
|
||||
edtEndTime.Text:=copy(edtEndTime.Text,1,length(edtEndTime.Text)-2);
|
||||
key := 0
|
||||
end;
|
||||
end;
|
||||
|
||||
|
||||
@ -3965,7 +3990,14 @@ begin
|
||||
begin
|
||||
edtEndTime.SetFocus;
|
||||
key := 0
|
||||
end
|
||||
end;
|
||||
if ((length(edtStartTime.Text)=3)
|
||||
and ((key = VK_BACK) or (key = VK_DELETE))
|
||||
and (not AnyRemoteOn and cbOffline.Checked) ) then //aute del ":"
|
||||
begin
|
||||
edtStartTime.Text:=copy(edtStartTime.Text,1,length(edtStartTime.Text)-2);
|
||||
key := 0
|
||||
end;
|
||||
end;
|
||||
|
||||
procedure TfrmNewQSO.FormClose(Sender: TObject; var CloseAction: TCloseAction);
|
||||
@ -4408,7 +4440,20 @@ begin
|
||||
if frmSCP.Showing and (Length(edtCall.Text)>2) then
|
||||
frmSCP.mSCP.Text := dmData.GetSCPCalls(edtCall.Text)
|
||||
else
|
||||
frmSCP.mSCP.Clear
|
||||
frmSCP.mSCP.Clear;
|
||||
lblGrid.Font.Style:=[];
|
||||
lblGrid.Font.Color:=clDefault;
|
||||
end;
|
||||
|
||||
procedure TfrmNewQSO.edtDateChange(Sender: TObject);
|
||||
begin
|
||||
if cbOffline.Checked and not AnyRemoteOn then
|
||||
begin
|
||||
if (length(edtDate.Text)=4) or (length(edtDate.Text)=7) then //auto "-"
|
||||
edtDate.Text:=edtDate.Text+'-';
|
||||
edtDate.SelStart:=length(edtDate.Text);
|
||||
edtDate.SelLength:=0;
|
||||
end;
|
||||
end;
|
||||
|
||||
procedure TfrmNewQSO.edtDateEnter(Sender: TObject);
|
||||
@ -4421,6 +4466,17 @@ begin
|
||||
edtDXCCRef.SelectAll
|
||||
end;
|
||||
|
||||
procedure TfrmNewQSO.edtEndTimeChange(Sender: TObject);
|
||||
begin
|
||||
if cbOffline.Checked and not AnyRemoteOn then
|
||||
begin
|
||||
if (length(edtEndTime.Text)=2) then //auto ":"
|
||||
edtEndTime.Text:=edtEndTime.Text+':';
|
||||
edtEndTime.SelStart:=length(edtEndTime.Text);
|
||||
edtEndTime.SelLength:=0;
|
||||
end;
|
||||
end;
|
||||
|
||||
procedure TfrmNewQSO.edtEndTimeEnter(Sender: TObject);
|
||||
begin
|
||||
edtEndTime.SelectAll
|
||||
@ -4432,6 +4488,7 @@ begin
|
||||
// keying has own checking
|
||||
edtGrid.Text := dmUtils.StdFormatLocator(edtGrid.Text);
|
||||
edtGrid.SelStart := Length(edtGrid.Text);
|
||||
edtGrid.SelLength:=0;
|
||||
end;
|
||||
|
||||
procedure TfrmNewQSO.edtGridEnter(Sender: TObject);
|
||||
@ -4445,7 +4502,14 @@ begin
|
||||
begin
|
||||
CalculateDistanceEtc;
|
||||
sbtnLocatorMap.Visible := True;
|
||||
lblGrid.Font.Style:=[];
|
||||
lblGrid.Font.Color:=clDefault;
|
||||
end
|
||||
else
|
||||
Begin
|
||||
lblGrid.Font.Style:=[fsBold];
|
||||
lblGrid.Font.Color:=clRed;
|
||||
end;
|
||||
end;
|
||||
|
||||
procedure TfrmNewQSO.edtGridKeyDown(Sender: TObject; var Key: Word;
|
||||
@ -4894,6 +4958,17 @@ begin
|
||||
cqrini.WriteString('NewQSO', 'RXLO', edtRXLO.Text);
|
||||
end;
|
||||
|
||||
procedure TfrmNewQSO.edtStartTimeChange(Sender: TObject);
|
||||
begin
|
||||
if cbOffline.Checked and not AnyRemoteOn then
|
||||
begin
|
||||
if (length(edtStartTime.Text)=2) then //auto ":"
|
||||
edtStartTime.Text:=edtStartTime.Text+':';
|
||||
edtStartTime.SelStart:=length(edtStartTime.Text);
|
||||
edtStartTime.SelLength:=0;
|
||||
end;
|
||||
end;
|
||||
|
||||
procedure TfrmNewQSO.edtStartTimeEnter(Sender: TObject);
|
||||
begin
|
||||
edtStartTime.SelectAll
|
||||
@ -5816,8 +5891,11 @@ end;
|
||||
procedure TfrmNewQSO.mCommentKeyDown(Sender: TObject; var Key: Word;
|
||||
Shift: TShiftState);
|
||||
begin
|
||||
if key = VK_TAB then
|
||||
edtCall.SetFocus;
|
||||
if ((key = VK_TAB) and (not AnyRemoteOn)) then
|
||||
Begin
|
||||
edtCall.SetFocus;
|
||||
key := 0
|
||||
end;
|
||||
end;
|
||||
|
||||
procedure TfrmNewQSO.mCommentKeyUp(Sender: TObject; var Key: Word;
|
||||
|
@ -21,7 +21,7 @@ const
|
||||
cRELEAS = 0;
|
||||
cBUILD = 1;
|
||||
|
||||
cBUILD_DATE = '2022-07-05';
|
||||
cBUILD_DATE = '2022-08-24';
|
||||
|
||||
implementation
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user