Procedure DoProject(Sender : TObject);
Var
I : Integer;
Desc : TTemplateProjectDescriptor;
fn: string;
EditorForm: TCustomForm;
begin
I:=MenuList.count-1;
Desc:=Nil;
While (Desc=Nil) and (I>=0) do
begin
With TIDEObject(MenuList[i]) do
if FProjMenu=Sender then
Desc:=FProjDesc;
Dec(i);
end;
If Desc=Nil then
exit;
If Desc.ShowOptionsDialog<>mrOk then
exit;
Desc.Template.CreateProject(Desc.FProjectDirectory,Desc.FVariables);
fn:=Desc.FProjectDirectory+Desc.FProjectName;
// FileReplaceText(fn+'.lpi',Desc.FTemplate.ProjectFile,Desc.FProjectName);
FileReplaceText(fn+'.lpr',Desc.FTemplate.ProjectFile,Desc.FProjectName);
FileReplaceText(fn+'.lps',Desc.FTemplate.ProjectFile,Desc.FProjectName);
LazarusIDE.DoOpenProjectFile(Desc.FProjectDirectory+Desc.FProjectName+'.lpr',
[ofProjectLoading,ofOnlyIfExists,ofConvertMacros,ofDoLoadResource]);
if SourceEditorManagerIntf.ActiveEditor <> nil then
begin
SourceEditorManagerIntf.ActiveSourceWindow.Show;
SourceEditorManagerIntf.ActiveSourceWindow.BringToFront;
LazarusIDE.DoShowDesignerFormOfSrc(SourceEditorManagerIntf.ActiveEditor, EditorForm);
if EditorForm <> nil then
begin
EditorForm.Show;
EditorForm.BringToFront;
end;
end;
end;