Skip to content

Commit

Permalink
Freq enter and freq by mouse wheel works
Browse files Browse the repository at this point in the history
  • Loading branch information
OH1KH committed Feb 3, 2022
1 parent 525c3b3 commit 38f3a38
Show file tree
Hide file tree
Showing 2 changed files with 24 additions and 7 deletions.
2 changes: 2 additions & 0 deletions src/fTRXControl.lfm
Expand Up @@ -350,8 +350,10 @@ object frmTRXControl: TfrmTRXControl
Anchors = [akTop, akLeft, akRight, akBottom]
AutoSize = False
AutoSelect = False
Color = clYellow
OnKeyPress = edtFreqInputKeyPress
OnKeyUp = edtFreqInputKeyUp
OnMouseLeave = edtFreqInputMouseLeave
OnMouseUp = edtFreqInputMouseUp
OnMouseWheel = edtFreqInputMouseWheel
TabOrder = 0
Expand Down
29 changes: 22 additions & 7 deletions src/fTRXControl.pas
Expand Up @@ -98,6 +98,7 @@ TfrmTRXControl = class(TForm)
procedure edtFreqInputKeyPress(Sender: TObject; var Key: char);
procedure edtFreqInputKeyUp(Sender: TObject; var Key: Word;
Shift: TShiftState);
procedure edtFreqInputMouseLeave(Sender: TObject);
procedure edtFreqInputMouseUp(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
procedure edtFreqInputMouseWheel(Sender: TObject; Shift: TShiftState;
Expand Down Expand Up @@ -136,6 +137,7 @@ TfrmTRXControl = class(TForm)
procedure rbRadio2Click(Sender: TObject);
procedure tmrRadioTimer(Sender : TObject);
private
MouseWheelUsed : Boolean;
radio : TRigControl;
old_mode : String;

Expand Down Expand Up @@ -567,6 +569,7 @@ procedure TfrmTRXControl.FormShow(Sender: TObject);
pnlUsr.Visible := cqrini.ReadBool('TRX','ShowUsr',pnlUsr.Visible);
mnuShowVfo.Checked := gbVfo.Visible;
mnuShowUsr.Checked := pnlUsr.Visible;
MouseWheelUsed:=false;
end;

procedure TfrmTRXControl.btn10mClick(Sender: TObject);
Expand Down Expand Up @@ -1057,6 +1060,7 @@ procedure TfrmTRXControl.edtFreqInputKeyUp(Sender: TObject; var Key: Word;
begin
if Key = VK_Return then
Begin
MouseWheelUsed:=false;
s:= edtFreqInput.Text;
mode := GetActualMode;
try
Expand All @@ -1072,13 +1076,18 @@ procedure TfrmTRXControl.edtFreqInputKeyUp(Sender: TObject; var Key: Word;
end;
end;

procedure TfrmTRXControl.edtFreqInputMouseLeave(Sender: TObject);
begin
if MouseWheelUsed then
edtFreqInputMouseUp(nil,mbMiddle,[ssCtrl],0,0);
end;

procedure TfrmTRXControl.edtFreqInputMouseUp(Sender: TObject;
Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
var
Key : word = VK_Return;
begin
if Button = mbMiddle then
edtFreqInputKeyUp(nil,Key,Shift);
edtFreqInputKeyUp(nil,Key,Shift);
end;

procedure TfrmTRXControl.edtFreqInputMouseWheel(Sender: TObject;
Expand All @@ -1089,18 +1098,24 @@ procedure TfrmTRXControl.edtFreqInputMouseWheel(Sender: TObject;
f : currency;
m : currency;
begin
MouseWheelUsed:=true;
m:=0.0001; //base 10Hz step
if Shift = [ssShift] then m:=0.001;
if Shift = [ssCtrl] then m:=0.01;
if Shift = [ssShift]+[ssCtrl] then m:=1;
if Shift = [ssShift] then
m:=0.001;
if Shift = [ssCtrl] then
m:=0.01;
if Shift = [ssShift]+[ssCtrl] then
m:=1;
if WheelDelta<0 then
m:=m*-1;
m:=m*-1;

s:= edtFreqInput.Text;
try
f:= StrToFloat(s);
f:=f+m;
edtFreqInput.Text:=FloatToStr(f);
edtFreqInput.Text:=FormatFloat(empty_freq+';;',f);
if Assigned(radio) then
radio.SetFreqKHz(f*1000);
except
On E : Exception do
edtFreqInput.Text:=s;
Expand Down

0 comments on commit 38f3a38

Please sign in to comment.