mirror of
https://gitlab.com/freepascal.org/lazarus/lazarus.git
synced 2025-08-08 09:36:42 +02:00
IDE: codeexplorer: fixed updating when categories changed
git-svn-id: trunk@13600 -
This commit is contained in:
parent
8a7cad8815
commit
b0ca749b11
@ -237,6 +237,7 @@ begin
|
|||||||
FRefresh:=Src.Refresh;
|
FRefresh:=Src.Refresh;
|
||||||
FMode:=Src.Mode;
|
FMode:=Src.Mode;
|
||||||
FFollowCursor:=Src.FollowCursor;
|
FFollowCursor:=Src.FollowCursor;
|
||||||
|
FCategories:=Src.Categories;
|
||||||
end else
|
end else
|
||||||
inherited Assign(Source);
|
inherited Assign(Source);
|
||||||
end;
|
end;
|
||||||
@ -379,7 +380,7 @@ begin
|
|||||||
NewCategories:=[];
|
NewCategories:=[];
|
||||||
for c:=FirstCodeExplorerCategory to high(TCodeExplorerCategory) do
|
for c:=FirstCodeExplorerCategory to high(TCodeExplorerCategory) do
|
||||||
if CategoriesCheckGroup.Checked[ord(c)-1] then
|
if CategoriesCheckGroup.Checked[ord(c)-1] then
|
||||||
include(NewCategories,c);
|
Include(NewCategories,c);
|
||||||
Options.Categories:=NewCategories;
|
Options.Categories:=NewCategories;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
|
@ -123,6 +123,7 @@ type
|
|||||||
FLastDirectivesChangeStep: integer;
|
FLastDirectivesChangeStep: integer;
|
||||||
FMode: TCodeExplorerMode;
|
FMode: TCodeExplorerMode;
|
||||||
FLastMode: TCodeExplorerMode;
|
FLastMode: TCodeExplorerMode;
|
||||||
|
FLastCodeValid: boolean;
|
||||||
FOnGetCodeTree: TOnGetCodeTree;
|
FOnGetCodeTree: TOnGetCodeTree;
|
||||||
FOnGetDirectivesTree: TOnGetDirectivesTree;
|
FOnGetDirectivesTree: TOnGetDirectivesTree;
|
||||||
FOnJumpToCode: TOnJumpToCode;
|
FOnJumpToCode: TOnJumpToCode;
|
||||||
@ -418,8 +419,11 @@ end;
|
|||||||
|
|
||||||
procedure TCodeExplorerView.OptionsSpeedButtonClick(Sender: TObject);
|
procedure TCodeExplorerView.OptionsSpeedButtonClick(Sender: TObject);
|
||||||
begin
|
begin
|
||||||
if ShowCodeExplorerOptions=mrOk then
|
if ShowCodeExplorerOptions=mrOk then begin
|
||||||
SaveCodeExplorerOptions;
|
SaveCodeExplorerOptions;
|
||||||
|
FLastCodeValid:=false;
|
||||||
|
Refresh(true);
|
||||||
|
end;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
procedure TCodeExplorerView.RefreshMenuitemCLICK(Sender: TObject);
|
procedure TCodeExplorerView.RefreshMenuitemCLICK(Sender: TObject);
|
||||||
@ -630,7 +634,7 @@ begin
|
|||||||
end;
|
end;
|
||||||
if Category<>cecNone then begin
|
if Category<>cecNone then begin
|
||||||
ShowNode:=Category in CodeExplorerOptions.Categories;
|
ShowNode:=Category in CodeExplorerOptions.Categories;
|
||||||
ShowChilds:=CodeNode.Desc in [ctnTypeDefinition,ctnGenericType];
|
ShowChilds:=false;
|
||||||
if ShowNode then begin
|
if ShowNode then begin
|
||||||
if fCategoryNodes[Category]=nil then begin
|
if fCategoryNodes[Category]=nil then begin
|
||||||
NodeData:=TViewNodeData.Create(CodeNode.Parent);
|
NodeData:=TViewNodeData.Create(CodeNode.Parent);
|
||||||
@ -885,7 +889,8 @@ begin
|
|||||||
exit;
|
exit;
|
||||||
end;
|
end;
|
||||||
end else begin
|
end else begin
|
||||||
if (ACodeTool.MainFilename=FCodeFilename)
|
if FLastCodeValid
|
||||||
|
and (ACodeTool.MainFilename=FCodeFilename)
|
||||||
and (ACodeTool.Scanner<>nil)
|
and (ACodeTool.Scanner<>nil)
|
||||||
and (ACodeTool.Scanner.ChangeStep=FLastCodeChangeStep)
|
and (ACodeTool.Scanner.ChangeStep=FLastCodeChangeStep)
|
||||||
and (Mode=FLastMode) then begin
|
and (Mode=FLastMode) then begin
|
||||||
@ -894,6 +899,7 @@ begin
|
|||||||
end;
|
end;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
|
FLastCodeValid:=true;
|
||||||
FLastMode:=Mode;
|
FLastMode:=Mode;
|
||||||
// remember the codetools ChangeStep
|
// remember the codetools ChangeStep
|
||||||
if ACodeTool<>nil then begin
|
if ACodeTool<>nil then begin
|
||||||
|
@ -5501,7 +5501,6 @@ var
|
|||||||
LFMType: string;
|
LFMType: string;
|
||||||
CurUnitInfo: TUnitInfo;
|
CurUnitInfo: TUnitInfo;
|
||||||
UnitCode: TCodeBuffer;
|
UnitCode: TCodeBuffer;
|
||||||
i: Integer;
|
|
||||||
begin
|
begin
|
||||||
Result:=false;
|
Result:=false;
|
||||||
TheModalResult:=mrCancel;
|
TheModalResult:=mrCancel;
|
||||||
|
Loading…
Reference in New Issue
Block a user