diff --git a/ide/lazarusidestrconsts.pas b/ide/lazarusidestrconsts.pas index c34d329e44..0a72f12386 100644 --- a/ide/lazarusidestrconsts.pas +++ b/ide/lazarusidestrconsts.pas @@ -240,7 +240,8 @@ resourcestring lisPLDShowUserLinks = 'Show user links'; lisPLDGlobal = 'Global'; lisCTDefDefineTemplates = 'Define templates'; - lisMenuCloseAll = 'Close A&ll Editor Files'; + lisMenuCloseAll = 'Close A&ll'; + lisMenuCloseEditorFile = '&Close Editor File'; lisMenuCleanDirectory = 'Clean Directory ...'; lisMenuIndentSelection = 'Indent Selection'; diff --git a/ide/mainbase.pas b/ide/mainbase.pas index 453e309b29..9b1b803ddf 100644 --- a/ide/mainbase.pas +++ b/ide/mainbase.pas @@ -545,7 +545,7 @@ begin CreateMenuItem(ParentMI,itmFileSaveAs,'itmFileSaveAs',lisMenuSaveAs,'menu_saveas'); CreateMenuItem(ParentMI,itmFileSaveAll,'itmFileSaveAll',lisSaveAll,'menu_save_all'); CreateMenuItem(ParentMI,itmFileExportHtml,'itmFileExportHtml',lisExportHtml); - CreateMenuItem(ParentMI,itmFileClose,'itmFileClose',lisClose,'menu_close',false); + CreateMenuItem(ParentMI,itmFileClose,'itmFileClose',lisMenuCloseEditorFile,'menu_close',false); CreateMenuItem(ParentMI,itmFileCloseAll,'itmFileCloseAll',lisMenuCloseAll,'menu_close_all',false); CreateMenuSeparatorSection(mnuFile,itmFileDirectories,'itmFileDirectories'); diff --git a/ide/sourcefilemanager.pas b/ide/sourcefilemanager.pas index 05ccac5e4a..4684fbc083 100644 --- a/ide/sourcefilemanager.pas +++ b/ide/sourcefilemanager.pas @@ -2208,6 +2208,7 @@ var r: TModalResult; Ed: TSourceEditor; begin + // Close editor files NeedSave := 0; for i := 0 to SourceEditorManager.UniqueSourceEditorCount - 1 do begin if CheckEditorNeedsSave(SourceEditorManager.UniqueSourceEditors[i], False) then begin @@ -2226,7 +2227,6 @@ begin mrNo: ; // don't save mrAbort: exit; end; - end else if NeedSave > 1 then begin for i := 0 to SourceEditorManager.UniqueSourceEditorCount - 1 do begin @@ -2252,7 +2252,6 @@ begin end; end; end; - SourceEditorManager.IncUpdateLock; try while (SourceEditorManager.SourceEditorCount > 0) and @@ -2261,6 +2260,9 @@ begin finally SourceEditorManager.DecUpdateLock; end; + + // Close packages + PkgBoss.DoCloseAllPackageEditors; end; function TLazSourceFileManager.CreateNewCodeBuffer(Descriptor: TProjectFileDescriptor;