mirror of
				https://gitlab.com/freepascal.org/lazarus/lazarus.git
				synced 2025-11-04 06:39:31 +01:00 
			
		
		
		
	IDE: add method "DoSaveEditorFile(const Filename: string; ..." to IDE interface. Analogous to DoCloseEditorFile method with Filename param.
git-svn-id: trunk@40566 -
This commit is contained in:
		
							parent
							
								
									c16cec36c1
								
							
						
					
					
						commit
						950bdb1d35
					
				
							
								
								
									
										10
									
								
								ide/main.pp
									
									
									
									
									
								
							
							
						
						
									
										10
									
								
								ide/main.pp
									
									
									
									
									
								
							@ -738,6 +738,8 @@ type
 | 
			
		||||
                              deprecated 'use method with EditorObject';   // deprecated in 0.9.29 March 2010
 | 
			
		||||
    function DoSaveEditorFile(AEditor: TSourceEditorInterface;
 | 
			
		||||
                              Flags: TSaveFlags): TModalResult; override;
 | 
			
		||||
    function DoSaveEditorFile(const Filename: string;
 | 
			
		||||
                              Flags: TSaveFlags): TModalResult; override;
 | 
			
		||||
 | 
			
		||||
    function DoCloseEditorFile(PageIndex:integer;
 | 
			
		||||
                               Flags: TCloseFlags):TModalResult; override;
 | 
			
		||||
@ -746,6 +748,7 @@ type
 | 
			
		||||
                               Flags: TCloseFlags):TModalResult; override;
 | 
			
		||||
    function DoCloseEditorFile(const Filename: string;
 | 
			
		||||
                               Flags: TCloseFlags): TModalResult; override;
 | 
			
		||||
 | 
			
		||||
    function DoSaveAll(Flags: TSaveFlags): TModalResult; override;
 | 
			
		||||
    function DoOpenEditorFile(AFileName: string; PageIndex: integer;
 | 
			
		||||
                              Flags: TOpenFlags): TModalResult; override;
 | 
			
		||||
@ -5473,7 +5476,7 @@ begin
 | 
			
		||||
  SourceFileMgr.CreateFileDialogFilterForSourceEditorFiles(Filter, AllEditorMask, AllMask);
 | 
			
		||||
end;
 | 
			
		||||
 | 
			
		||||
function TMainIDE.DoSaveEditorFile(PageIndex:integer; Flags: TSaveFlags):TModalResult;
 | 
			
		||||
function TMainIDE.DoSaveEditorFile(PageIndex:integer; Flags: TSaveFlags): TModalResult;
 | 
			
		||||
begin
 | 
			
		||||
  Result := DoSaveEditorFile(
 | 
			
		||||
    SourceEditorManager.ActiveSourceWindow.FindSourceEditorWithPageIndex(PageIndex),Flags);
 | 
			
		||||
@ -5484,6 +5487,11 @@ begin
 | 
			
		||||
  Result:=SourceFileMgr.SaveEditorFile(AEditor, Flags);
 | 
			
		||||
end;
 | 
			
		||||
 | 
			
		||||
function TMainIDE.DoSaveEditorFile(const Filename: string; Flags: TSaveFlags): TModalResult;
 | 
			
		||||
begin
 | 
			
		||||
  Result:=SourceFileMgr.SaveEditorFile(Filename, Flags);
 | 
			
		||||
end;
 | 
			
		||||
 | 
			
		||||
function TMainIDE.DoCloseEditorFile(PageIndex:integer; Flags: TCloseFlags): TModalResult;
 | 
			
		||||
begin
 | 
			
		||||
  Result := DoCloseEditorFile(
 | 
			
		||||
 | 
			
		||||
@ -78,10 +78,10 @@ type
 | 
			
		||||
        out AllEditorMask, AllMask: string);
 | 
			
		||||
    function SaveEditorFile(AEditor: TSourceEditorInterface;
 | 
			
		||||
                              Flags: TSaveFlags): TModalResult;
 | 
			
		||||
    function SaveEditorFile(const Filename: string; Flags: TSaveFlags): TModalResult;
 | 
			
		||||
    function CloseEditorFile(AEditor: TSourceEditorInterface;
 | 
			
		||||
                               Flags: TCloseFlags):TModalResult;
 | 
			
		||||
    function CloseEditorFile(const Filename: string;
 | 
			
		||||
                               Flags: TCloseFlags): TModalResult;
 | 
			
		||||
    function CloseEditorFile(const Filename: string; Flags: TCloseFlags): TModalResult;
 | 
			
		||||
    function OpenEditorFile(AFileName:string; PageIndex, WindowIndex: integer;
 | 
			
		||||
                              AEditorInfo: TUnitEditorInfo;
 | 
			
		||||
                              Flags: TOpenFlags;
 | 
			
		||||
@ -980,6 +980,24 @@ begin
 | 
			
		||||
  Result:=mrOk;
 | 
			
		||||
end;
 | 
			
		||||
 | 
			
		||||
function TLazSourceFileManager.SaveEditorFile(const Filename: string;
 | 
			
		||||
  Flags: TSaveFlags): TModalResult;
 | 
			
		||||
var
 | 
			
		||||
  UnitIndex: Integer;
 | 
			
		||||
  AnUnitInfo: TUnitInfo;
 | 
			
		||||
  i: Integer;
 | 
			
		||||
begin
 | 
			
		||||
  Result:=mrOk;
 | 
			
		||||
  if Filename='' then exit;
 | 
			
		||||
  UnitIndex:=Project1.IndexOfFilename(TrimFilename(Filename),[pfsfOnlyEditorFiles]);
 | 
			
		||||
  if UnitIndex<0 then exit;
 | 
			
		||||
  AnUnitInfo:=Project1.Units[UnitIndex];
 | 
			
		||||
  for i := 0 to AnUnitInfo.OpenEditorInfoCount-1 do begin
 | 
			
		||||
    Result:=SaveEditorFile(AnUnitInfo.OpenEditorInfo[i].EditorComponent, Flags);
 | 
			
		||||
    if Result <> mrOK then Break;
 | 
			
		||||
  end;
 | 
			
		||||
end;
 | 
			
		||||
 | 
			
		||||
function TLazSourceFileManager.CloseEditorFile(AEditor: TSourceEditorInterface;
 | 
			
		||||
  Flags: TCloseFlags): TModalResult;
 | 
			
		||||
var
 | 
			
		||||
@ -1113,11 +1131,9 @@ var
 | 
			
		||||
begin
 | 
			
		||||
  Result:=mrOk;
 | 
			
		||||
  if Filename='' then exit;
 | 
			
		||||
  UnitIndex:=Project1.IndexOfFilename(TrimFilename(Filename),
 | 
			
		||||
                                      [pfsfOnlyEditorFiles]);
 | 
			
		||||
  UnitIndex:=Project1.IndexOfFilename(TrimFilename(Filename),[pfsfOnlyEditorFiles]);
 | 
			
		||||
  if UnitIndex<0 then exit;
 | 
			
		||||
  AnUnitInfo:=Project1.Units[UnitIndex];
 | 
			
		||||
  Result:=mrOk;
 | 
			
		||||
  while (AnUnitInfo.OpenEditorInfoCount > 0) and (Result = mrOK) do
 | 
			
		||||
    Result:=CloseEditorFile(AnUnitInfo.OpenEditorInfo[0].EditorComponent, Flags);
 | 
			
		||||
end;
 | 
			
		||||
@ -2047,8 +2063,7 @@ begin
 | 
			
		||||
      and AnUnitInfo.IsPartOfProject
 | 
			
		||||
      and (Project1.MainUnitID<>i)
 | 
			
		||||
      and (AnUnitInfo.OpenEditorInfoCount > 0) then begin
 | 
			
		||||
        SaveFileFlags:=[sfSaveAs,sfProjectSaving]
 | 
			
		||||
                       +[sfCheckAmbiguousFiles]*Flags;
 | 
			
		||||
        SaveFileFlags:=[sfSaveAs,sfProjectSaving]+[sfCheckAmbiguousFiles]*Flags;
 | 
			
		||||
        if sfSaveToTestDir in Flags then begin
 | 
			
		||||
          if AnUnitInfo.IsPartOfProject or AnUnitInfo.IsVirtual then
 | 
			
		||||
            Include(SaveFileFlags,sfSaveToTestDir);
 | 
			
		||||
@ -2068,8 +2083,7 @@ begin
 | 
			
		||||
    AnUnitInfo:=Project1.UnitWithEditorComponent(SrcEdit);
 | 
			
		||||
    if (Project1.MainUnitID>=0) and (Project1.MainUnitInfo = AnUnitInfo) then
 | 
			
		||||
      continue;
 | 
			
		||||
    SaveFileFlags:=[sfProjectSaving]
 | 
			
		||||
                   +Flags*[sfCheckAmbiguousFiles];
 | 
			
		||||
    SaveFileFlags:=[sfProjectSaving]+Flags*[sfCheckAmbiguousFiles];
 | 
			
		||||
    if AnUnitInfo = nil
 | 
			
		||||
    then begin
 | 
			
		||||
      // consistency check
 | 
			
		||||
 | 
			
		||||
@ -206,6 +206,8 @@ type
 | 
			
		||||
                              deprecated 'use method with EditorObject';   // deprecated in 0.9.29 March 2010
 | 
			
		||||
    function DoSaveEditorFile(AEditor: TSourceEditorInterface;
 | 
			
		||||
                              Flags: TSaveFlags): TModalResult; virtual; abstract;
 | 
			
		||||
    function DoSaveEditorFile(const Filename: string;
 | 
			
		||||
                              Flags: TSaveFlags): TModalResult; virtual; abstract;
 | 
			
		||||
    function DoSaveAll(Flags: TSaveFlags): TModalResult; virtual; abstract;
 | 
			
		||||
    function DoCloseEditorFile(PageIndex:integer;
 | 
			
		||||
                               Flags: TCloseFlags):TModalResult; virtual; abstract;
 | 
			
		||||
 | 
			
		||||
		Loading…
	
		Reference in New Issue
	
	Block a user