anchor.diff:    GProject.MainUnit := 'empty.pas';
     OpenEditorPage(GProject.MainUnit);
     miProjectSaveAs(nil);
  +end;
  +
  +procedure TMainForm.miProjectNewFromTemplate(Sender: TObject);
  +var
  +  dlg: TfpgFileDialog;
  +  lFilename: TfpgString;
  +begin
  +  CloseAllTabs;
  +  FreeProject;
  +  dlg := TfpgFileDialog.Create(nil);
  +  try
  +    dlg.InitialDir := GMacroList.ExpandMacro(cMacro_TemplateDir);
  +    dlg.Filter := Format(cFileFilterTemplate, ['Project Files', cProjectFiles, cProjectFiles])
  +                  + '|' + rsAllFiles+' ('+AllFilesMask+')'+'|'+AllFilesMask;
  +    if dlg.RunOpenFile then
  +    begin
  +      lFilename := dlg.FileName;
  +      GProject.Load(lFilename);
  +    end;
  +  finally
  +    dlg.Free;
  +  end;
   end;
   
   procedure TMainForm.miProjectOptions(Sender: TObject);
  
positive.code:     procedure   miConfigureIDE(Sender: TObject);
      procedure   miViewDebug(Sender: TObject);
      procedure   miProjectNew(Sender: TObject);
      procedure   miProjectOptions(Sender: TObject);
      procedure   miProjectOpen(Sender: TObject);
      procedure   miProjectSave(Sender: TObject);
  
negative.code:   ,fpg_iniutils
    ,fpg_dialogs
    ,fpg_utils
    ,fpg_constants
    ,frm_configureide
    ,frm_projectoptions
    ,frm_debug
  