mirror of
https://gitlab.com/freepascal.org/lazarus/lazarus.git
synced 2025-12-05 09:57:04 +01:00
IDE: Allow ComponentList to unselect a component. Issue #29348, patch from Anthony Walter.
git-svn-id: trunk@51213 -
This commit is contained in:
parent
d5272def5e
commit
2e3b9429b8
@ -84,6 +84,8 @@ type
|
||||
// List for Component inheritence view
|
||||
FClassList: TStringList;
|
||||
FKeepSelected: Boolean;
|
||||
FFixedSelection: Boolean;
|
||||
FPriorSelection: TTreeNode;
|
||||
procedure ClearSelection;
|
||||
procedure SelectionWasChanged;
|
||||
procedure ComponentWasAdded({%H-}ALookupRoot, {%H-}AComponent: TComponent;
|
||||
@ -200,6 +202,8 @@ end;
|
||||
|
||||
procedure TComponentListForm.SelectionWasChanged;
|
||||
begin
|
||||
if FFixedSelection then
|
||||
Exit;
|
||||
// ToDo: Select the component in active treeview.
|
||||
if ListTree.IsVisible then
|
||||
SelectTreeComp(ListTree)
|
||||
@ -372,6 +376,9 @@ end;
|
||||
|
||||
procedure TComponentListForm.TreeFilterEdAfterFilter(Sender: TObject);
|
||||
begin
|
||||
if TreeFilterEd.Text = '' then
|
||||
TreeFilterEd.FilteredTreeview.Selected := FPriorSelection;
|
||||
FPriorSelection := nil;
|
||||
UpdateButtonState;
|
||||
end;
|
||||
|
||||
@ -386,10 +393,15 @@ procedure TComponentListForm.ComponentsChange(Sender: TObject; Node: TTreeNode);
|
||||
var
|
||||
AComponent: TRegisteredComponent;
|
||||
begin
|
||||
AComponent:=GetSelectedComponent;
|
||||
if AComponent<>nil then
|
||||
FFixedSelection := True;
|
||||
try
|
||||
AComponent:=GetSelectedComponent;
|
||||
// Allow the selected component to be cleared
|
||||
IDEComponentPalette.SetSelectedComp(AComponent, ssShift in GetKeyShiftState);
|
||||
UpdateButtonState;
|
||||
UpdateButtonState;
|
||||
finally
|
||||
FFixedSelection := False;
|
||||
end;
|
||||
end;
|
||||
|
||||
procedure TComponentListForm.TreeKeyPress(Sender: TObject; var Key: char);
|
||||
@ -409,6 +421,7 @@ begin
|
||||
1: TreeFilterEd.FilteredTreeview := PalletteTree;
|
||||
2: TreeFilterEd.FilteredTreeview := InheritanceTree;
|
||||
end;
|
||||
FPriorSelection := TreeFilterEd.FilteredTreeview.Selected;
|
||||
TreeFilterEd.InvalidateFilter;
|
||||
PrevPageIndex := PageControl.PageIndex;
|
||||
end;
|
||||
|
||||
Loading…
Reference in New Issue
Block a user