mirror of
https://gitlab.com/freepascal.org/lazarus/lazarus.git
synced 2025-05-30 18:22:40 +02:00
IDE: package editor: added menu item More / View ToDo list
git-svn-id: trunk@13793 -
This commit is contained in:
parent
15dbc2fceb
commit
cb16ea3d75
@ -3087,6 +3087,7 @@ resourcestring
|
||||
lisPckEditInstall = 'Install';
|
||||
lisPckEditUninstall = 'Uninstall';
|
||||
lisPckEditViewPackgeSource = 'View Package Source';
|
||||
lisPEViewToDoList = 'View ToDo list';
|
||||
lisPckEditGeneralOptions = 'General Options';
|
||||
lisPckEditSaveChanges = 'Save Changes?';
|
||||
lisPckEditPackageHasChangedSavePackage = 'Package %s%s%s has changed.%sSave '
|
||||
|
11
ide/main.pp
11
ide/main.pp
@ -471,10 +471,6 @@ type
|
||||
procedure OnCodeExplorerJumpToCode(Sender: TObject; const Filename: string;
|
||||
const Caret: TPoint; TopLine: integer);
|
||||
|
||||
// view project ToDo list events
|
||||
procedure ViewProjectTodosOpenFile(Sender: TObject;
|
||||
const Filename: string; const LineNumber: integer);
|
||||
|
||||
// CodeToolBoss events
|
||||
procedure OnCodeToolNeedsExternalChanges(Manager: TCodeToolManager;
|
||||
var Abort: boolean);
|
||||
@ -8376,7 +8372,6 @@ function TMainIDE.DoShowToDoList: TModalResult;
|
||||
begin
|
||||
if not Assigned(frmToDo) then begin
|
||||
frmToDo:=TfrmToDo.Create(OwningComponent);
|
||||
frmToDo.OnOpenFile:=@ViewProjectTodosOpenFile;
|
||||
end;
|
||||
|
||||
if Project1.MainUnitInfo<>nil then
|
||||
@ -10762,12 +10757,6 @@ begin
|
||||
DoJumpToSourcePosition(Filename,Caret.X,Caret.Y,TopLine,true);
|
||||
end;
|
||||
|
||||
procedure TMainIDE.ViewProjectTodosOpenFile(Sender: TObject;
|
||||
const Filename: string; const LineNumber: integer);
|
||||
begin
|
||||
DoJumpToSourcePosition(Filename,1,LineNumber,-1,true);
|
||||
end;
|
||||
|
||||
procedure TMainIDE.OnCodeToolNeedsExternalChanges(Manager: TCodeToolManager;
|
||||
var Abort: boolean);
|
||||
var
|
||||
|
@ -77,8 +77,6 @@ type
|
||||
private
|
||||
FToolStatus: TIDEToolStatus;
|
||||
protected
|
||||
OwningComponent: TComponent;
|
||||
|
||||
function GetMainBar: TComponent; override;
|
||||
|
||||
function CreateMenuSeparator : TMenuItem;
|
||||
@ -217,7 +215,7 @@ begin
|
||||
MainIDE:=Self;
|
||||
// Do not own everything in one big component hierachy. Otherwise the
|
||||
// notifications slow down everything
|
||||
OwningComponent:=TComponent.Create(nil);
|
||||
fOwningComponent:=TComponent.Create(nil);
|
||||
inherited Create(TheOwner);
|
||||
end;
|
||||
|
||||
|
@ -59,7 +59,7 @@ uses
|
||||
// Codetools
|
||||
CodeAtom, CodeCache, CodeToolManager, BasicCodeTools, FileProcs,
|
||||
// IDEIntf
|
||||
IDEImagesIntf, PackageIntf, ProjectIntf,
|
||||
LazIDEIntf, IDEImagesIntf, PackageIntf, ProjectIntf,
|
||||
// IDE
|
||||
LazarusIDEStrConsts, PackageDefs;
|
||||
|
||||
@ -214,6 +214,7 @@ procedure TfrmTodo.SetMainSourceFilename(const AValue: String);
|
||||
begin
|
||||
if fMainSourceFilename=AValue then exit;
|
||||
fMainSourceFilename:=AValue;
|
||||
Caption:=lisTodoListCaption+' '+fMainSourceFilename;
|
||||
acRefresh.Execute;
|
||||
end;
|
||||
|
||||
@ -451,7 +452,11 @@ begin
|
||||
end;
|
||||
end;
|
||||
end;
|
||||
if Assigned(OnOpenFile) then OnOpenFile(Self,CurFilename,TheLine);
|
||||
if Assigned(OnOpenFile) then
|
||||
OnOpenFile(Self,CurFilename,TheLine)
|
||||
else
|
||||
LazarusIDE.DoOpenFileAndJumpToPos(CurFilename,Point(1,TheLine),-1,-1,
|
||||
[ofOnlyIfExists,ofRegularFile,ofVirtualFile,ofDoNotLoadResource]);
|
||||
end;
|
||||
end;
|
||||
|
||||
@ -533,8 +538,10 @@ begin
|
||||
end;
|
||||
if CurPackage<>nil then begin
|
||||
// scan all units of package
|
||||
DebugLn(['TfrmTodo.acRefreshExecute AAA1 ',CurPackage.Filename]);
|
||||
for i:=0 to CurPackage.FileCount-1 do begin
|
||||
CurPkgFile:=CurPackage.Files[i];
|
||||
DebugLn(['TfrmTodo.acRefreshExecute AAA2 ',i,' ',CurPkgFile.Filename]);
|
||||
if FilenameIsPascalUnit(CurPkgFile.Filename) then
|
||||
ScanFile(CurPkgFile.Filename);
|
||||
end;
|
||||
@ -582,7 +589,7 @@ var
|
||||
CodeXYPosition: TCodeXYPosition;
|
||||
i: Integer;
|
||||
begin
|
||||
DebugLn(['TfrmTodo.LoadFile ',aFileName]);
|
||||
DebugLn(['TfrmTodo.ScanFile ',aFileName]);
|
||||
ExpandedFilename:=TrimFilename(aFileName);
|
||||
if not FilenameIsPascalUnit(ExpandedFilename) then exit;
|
||||
|
||||
|
@ -133,6 +133,8 @@ type
|
||||
procedure RemoveHandler(HandlerType: TLazarusIDEHandlerType;
|
||||
const AMethod: TMethod);
|
||||
protected
|
||||
fOwningComponent: TComponent;
|
||||
|
||||
function GetActiveProject: TLazProject; virtual; abstract;
|
||||
procedure DoCallNotifyHandler(HandlerType: TLazarusIDEHandlerType);
|
||||
function DoCallModalFunctionHandler(HandlerType: TLazarusIDEHandlerType
|
||||
@ -141,6 +143,7 @@ type
|
||||
public
|
||||
constructor Create(TheOwner: TComponent); override;
|
||||
destructor Destroy; override;
|
||||
property OwningComponent: TComponent read fOwningComponent;
|
||||
|
||||
// the main window with the IDE menu
|
||||
function GetMainBar: TComponent; virtual; abstract;
|
||||
|
@ -74,6 +74,8 @@ type
|
||||
function(Sender: TObject; APackage: TLazPackage): TModalResult of object;
|
||||
TOnViewPackageSource =
|
||||
function(Sender: TObject; APackage: TLazPackage): TModalResult of object;
|
||||
TOnViewPackageToDos =
|
||||
function(Sender: TObject; APackage: TLazPackage): TModalResult of object;
|
||||
TOnCreateNewPkgFile =
|
||||
function(Sender: TObject; Params: TAddToPkgResult): TModalResult of object;
|
||||
TOnDeleteAmbiguousFiles =
|
||||
@ -173,6 +175,7 @@ type
|
||||
procedure UseMaxVersionCheckBoxChange(Sender: TObject);
|
||||
procedure UseMinVersionCheckBoxChange(Sender: TObject);
|
||||
procedure ViewPkgSourceClick(Sender: TObject);
|
||||
procedure ViewPkgTodosClick(Sender: TObject);
|
||||
private
|
||||
FLazPackage: TLazPackage;
|
||||
FilesNode: TTreeNode;
|
||||
@ -238,6 +241,7 @@ type
|
||||
FOnSavePackage: TOnSavePackage;
|
||||
FOnUninstallPackage: TOnUninstallPackage;
|
||||
FOnViewPackageSource: TOnViewPackageSource;
|
||||
FOnViewPackageToDos: TOnViewPackageToDos;
|
||||
function GetEditors(Index: integer): TPackageEditorForm;
|
||||
procedure ApplyLayout(AnEditor: TPackageEditorForm);
|
||||
procedure SaveLayout(AnEditor: TPackageEditorForm);
|
||||
@ -267,7 +271,8 @@ type
|
||||
procedure UpdateAllEditors;
|
||||
function InstallPackage(APackage: TLazPackage): TModalResult;
|
||||
function UninstallPackage(APackage: TLazPackage): TModalResult;
|
||||
function ViewPkgSourcePackage(APackage: TLazPackage): TModalResult;
|
||||
function ViewPkgSource(APackage: TLazPackage): TModalResult;
|
||||
function ViewPkgToDos(APackage: TLazPackage): TModalResult;
|
||||
function DeleteAmbiguousFiles(APackage: TLazPackage;
|
||||
const Filename: string): TModalResult;
|
||||
function AddToProject(APackage: TLazPackage;
|
||||
@ -302,6 +307,8 @@ type
|
||||
write FOnUninstallPackage;
|
||||
property OnViewPackageSource: TOnViewPackageSource read FOnViewPackageSource
|
||||
write FOnViewPackageSource;
|
||||
property OnViewPackageToDos: TOnViewPackageToDos read FOnViewPackageToDos
|
||||
write FOnViewPackageToDos;
|
||||
property OnDeleteAmbiguousFiles: TOnDeleteAmbiguousFiles
|
||||
read FOnDeleteAmbiguousFiles write FOnDeleteAmbiguousFiles;
|
||||
property OnImExportCompilerOptions: TNotifyEvent
|
||||
@ -588,6 +595,7 @@ begin
|
||||
AddPopupMenuItem(dlgCompilerOptions, @CompilerOptionsBitBtnClick,
|
||||
CompilerOptionsBitBtn.Enabled);
|
||||
AddPopupMenuItem(lisPckEditViewPackgeSource, @ViewPkgSourceClick,true);
|
||||
AddPopupMenuItem(lisPEViewToDoList, @ViewPkgTodosClick, true);
|
||||
|
||||
// remove unneeded menu items
|
||||
while FilesPopupMenu.Items.Count>ItemCnt do
|
||||
@ -895,7 +903,12 @@ end;
|
||||
|
||||
procedure TPackageEditorForm.ViewPkgSourceClick(Sender: TObject);
|
||||
begin
|
||||
PackageEditors.ViewPkgSourcePackage(LazPackage);
|
||||
PackageEditors.ViewPkgSource(LazPackage);
|
||||
end;
|
||||
|
||||
procedure TPackageEditorForm.ViewPkgTodosClick(Sender: TObject);
|
||||
begin
|
||||
PackageEditors.ViewPkgToDos(LazPackage);
|
||||
end;
|
||||
|
||||
procedure TPackageEditorForm.UseMaxVersionCheckBoxChange(Sender: TObject);
|
||||
@ -2362,7 +2375,7 @@ begin
|
||||
Result:=mrCancel;
|
||||
end;
|
||||
|
||||
function TPackageEditors.ViewPkgSourcePackage(APackage: TLazPackage
|
||||
function TPackageEditors.ViewPkgSource(APackage: TLazPackage
|
||||
): TModalResult;
|
||||
begin
|
||||
if Assigned(OnViewPackageSource) then
|
||||
@ -2371,6 +2384,14 @@ begin
|
||||
Result:=mrCancel;
|
||||
end;
|
||||
|
||||
function TPackageEditors.ViewPkgToDos(APackage: TLazPackage): TModalResult;
|
||||
begin
|
||||
if Assigned(OnViewPackageToDos) then
|
||||
Result:=OnViewPackageToDos(Self,APackage)
|
||||
else
|
||||
Result:=mrCancel;
|
||||
end;
|
||||
|
||||
function TPackageEditors.DeleteAmbiguousFiles(APackage: TLazPackage;
|
||||
const Filename: string): TModalResult;
|
||||
begin
|
||||
|
@ -59,7 +59,7 @@ uses
|
||||
ComponentReg, UComponentManMain, PackageEditor, AddToPackageDlg, PackageDefs,
|
||||
PackageLinks, PackageSystem, OpenInstalledPkgDlg, PkgGraphExplorer,
|
||||
BrokenDependenciesDlg, CompilerOptions, ExtToolEditDlg, IDETranslations,
|
||||
TransferMacros, MsgView, BuildLazDialog, NewDialog, IDEDialogs,
|
||||
TransferMacros, MsgView, BuildLazDialog, NewDialog, IDEDialogs, TodoList,
|
||||
ProjectInspector, ComponentPalette, UnitEditor, AddFileToAPackageDlg,
|
||||
LazarusPackageIntf, PublishProjectDlg, PkgLinksDlg, InstallPkgSetDlg,
|
||||
// bosses
|
||||
@ -97,8 +97,10 @@ type
|
||||
): TModalResult;
|
||||
function OnPackageEditorSavePackage(Sender: TObject; APackage: TLazPackage;
|
||||
SaveAs: boolean): TModalResult;
|
||||
function OnPackageEditorViewPkgSourcePackage(Sender: TObject;
|
||||
APackage: TLazPackage): TModalResult;
|
||||
function OnPackageEditorViewPkgSource(Sender: TObject;
|
||||
APackage: TLazPackage): TModalResult;
|
||||
function OnPackageEditorViewPkgToDos(Sender: TObject;
|
||||
APackage: TLazPackage): TModalResult;
|
||||
procedure OnPackageEditorFreeEditor(APackage: TLazPackage);
|
||||
procedure OnPackageEditorGetUnitRegisterInfo(Sender: TObject;
|
||||
const AFilename: string; var TheUnitName: string;
|
||||
@ -284,6 +286,7 @@ type
|
||||
Flags: TPkgUninstallFlags): TModalResult;
|
||||
procedure DoTranslatePackage(APackage: TLazPackage);
|
||||
function DoOpenPackageSource(APackage: TLazPackage): TModalResult;
|
||||
function DoViewPackageToDos(APackage: TLazPackage): TModalResult;
|
||||
function DoCompileAutoInstallPackages(Flags: TPkgCompileFlags
|
||||
): TModalResult; override;
|
||||
function DoSaveAutoInstallConfig: TModalResult; override;
|
||||
@ -849,12 +852,18 @@ begin
|
||||
Result:=DoSavePackage(APackage,[]);
|
||||
end;
|
||||
|
||||
function TPkgManager.OnPackageEditorViewPkgSourcePackage(Sender: TObject;
|
||||
function TPkgManager.OnPackageEditorViewPkgSource(Sender: TObject;
|
||||
APackage: TLazPackage): TModalResult;
|
||||
begin
|
||||
Result:=DoOpenPackageSource(APackage);
|
||||
end;
|
||||
|
||||
function TPkgManager.OnPackageEditorViewPkgToDos(Sender: TObject;
|
||||
APackage: TLazPackage): TModalResult;
|
||||
begin
|
||||
Result:=DoViewPackageToDos(APackage);
|
||||
end;
|
||||
|
||||
procedure TPkgManager.PackageGraphBeginUpdate(Sender: TObject);
|
||||
begin
|
||||
if PackageGraphExplorer<>nil then PackageGraphExplorer.BeginUpdate;
|
||||
@ -1765,7 +1774,8 @@ begin
|
||||
PackageEditors.OnAddToProject:=@OnPackageEditorAddToProject;
|
||||
PackageEditors.OnInstallPackage:=@OnPackageEditorInstallPackage;
|
||||
PackageEditors.OnUninstallPackage:=@OnPackageEditorUninstallPackage;
|
||||
PackageEditors.OnViewPackageSource:=@OnPackageEditorViewPkgSourcePackage;
|
||||
PackageEditors.OnViewPackageSource:=@OnPackageEditorViewPkgSource;
|
||||
PackageEditors.OnViewPackageToDos:=@OnPackageEditorViewPkgToDos;
|
||||
PackageEditors.OnDeleteAmbiguousFiles:=@OnPackageEditorDeleteAmbiguousFiles;
|
||||
PackageEditors.OnImExportCompilerOptions:=@OnPackageEditorImExportCompilerOptions;
|
||||
PackageEditors.OnCreateMakefile:=@OnPackageEditorCreateMakefile;
|
||||
@ -3117,6 +3127,8 @@ var
|
||||
|
||||
var
|
||||
PkgFile: TPkgFile;
|
||||
CurPackage: TLazPackage;
|
||||
i: Integer;
|
||||
begin
|
||||
//DebugLn(['TPkgManager.GetPossibleOwnersOfUnit ',UnitFilename]);
|
||||
Result:=TFPList.Create;
|
||||
@ -3132,6 +3144,13 @@ begin
|
||||
PkgFile:=PackageGraph.FindFileInAllPackages(UnitFilename,false,true,true);
|
||||
if (PkgFile<>nil) and (PkgFile.LazPackage<>nil) then
|
||||
Result.Add(PkgFile.LazPackage);
|
||||
// check package source files (they usually do not have a TPkgFile)
|
||||
for i:=0 to PackageGraph.Count-1 do begin
|
||||
CurPackage:=PackageGraph.Packages[i];
|
||||
if (CompareFilenames(UnitFilename,CurPackage.GetSrcFilename)=0)
|
||||
and (Result.IndexOf(CurPackage)<0) then
|
||||
Result.Add(CurPackage);
|
||||
end;
|
||||
end;
|
||||
|
||||
// clean up
|
||||
@ -3608,6 +3627,21 @@ begin
|
||||
Result:=MainIDE.DoOpenEditorFile(Filename,-1,[ofRegularFile]);
|
||||
end;
|
||||
|
||||
function TPkgManager.DoViewPackageToDos(APackage: TLazPackage): TModalResult;
|
||||
begin
|
||||
Result:=mrOk;
|
||||
if not Assigned(frmToDo) then begin
|
||||
frmToDo:=TfrmToDo.Create(LazarusIDE.OwningComponent);
|
||||
end;
|
||||
if APackage.GetSrcFilename<>'' then
|
||||
frmToDo.MainSourceFilename:=APackage.GetSrcFilename
|
||||
else
|
||||
frmToDo.MainSourceFilename:='';
|
||||
|
||||
frmToDo.ShowOnTop;
|
||||
Result:=mrOk;
|
||||
end;
|
||||
|
||||
function TPkgManager.DoCompileAutoInstallPackages(
|
||||
Flags: TPkgCompileFlags): TModalResult;
|
||||
var
|
||||
|
Loading…
Reference in New Issue
Block a user