IDE: codeexplorer: fixed updating when categories changed

git-svn-id: trunk@13600 -
This commit is contained in:
mattias 2008-01-03 01:24:36 +00:00
parent 8a7cad8815
commit b0ca749b11
3 changed files with 11 additions and 5 deletions

View File

@ -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;

View File

@ -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

View File

@ -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;