mirror of
				https://gitlab.com/freepascal.org/lazarus/lazarus.git
				synced 2025-11-04 05:39:34 +01:00 
			
		
		
		
	
		
			
				
	
	
		
			71 lines
		
	
	
		
			1.4 KiB
		
	
	
	
		
			ObjectPascal
		
	
	
	
	
	
			
		
		
	
	
			71 lines
		
	
	
		
			1.4 KiB
		
	
	
	
		
			ObjectPascal
		
	
	
	
	
	
unit fEditor;
 | 
						|
 | 
						|
{$mode objfpc}{$H+}
 | 
						|
 | 
						|
interface
 | 
						|
 | 
						|
uses
 | 
						|
  Classes, SysUtils, FileUtil, Forms, Controls, Graphics, Dialogs,
 | 
						|
  FrmMain;
 | 
						|
 | 
						|
type
 | 
						|
 | 
						|
  { TModuleEditor }
 | 
						|
 | 
						|
  TModuleEditor = class(TMainForm)
 | 
						|
    procedure NewCreate(Sender: TObject);
 | 
						|
  private
 | 
						|
    procedure BuildRecent(const AUnit: string);
 | 
						|
  public
 | 
						|
    constructor CreateFor(const AUnit: string; TheOwner: TComponent);
 | 
						|
  end;
 | 
						|
 | 
						|
var
 | 
						|
  ModuleEditor: TModuleEditor;
 | 
						|
 | 
						|
implementation
 | 
						|
 | 
						|
uses
 | 
						|
  LazDEOpts, IniFiles;
 | 
						|
 | 
						|
{$R *.lfm}
 | 
						|
 | 
						|
{ TModuleEditor }
 | 
						|
 | 
						|
procedure TModuleEditor.NewCreate(Sender: TObject);
 | 
						|
begin
 | 
						|
(* New OnCreate handler - do adjustments before calling the inherited handler.
 | 
						|
*)
 | 
						|
//set Recent to current unit
 | 
						|
  //what, how?
 | 
						|
  MainFormCreate(Sender);
 | 
						|
end;
 | 
						|
 | 
						|
procedure TModuleEditor.BuildRecent(const AUnit: string);
 | 
						|
const
 | 
						|
  SecPrefs            = 'Preferences';
 | 
						|
begin
 | 
						|
  With TInifile.Create(UTF8ToSys(GetoptionFileName)) do
 | 
						|
    try
 | 
						|
      EraseSection('Recent');
 | 
						|
      WriteInteger('Recent','Count',1);
 | 
						|
      WriteString('Recent','File1',AUnit);
 | 
						|
    //for LoadOptions
 | 
						|
      WriteBool(SecPrefs, 'StartMaximized', False);
 | 
						|
      WriteBool(SecPrefs, 'ReopenLast', True);
 | 
						|
      UpdateFile;
 | 
						|
    Finally
 | 
						|
      Free;
 | 
						|
    end;
 | 
						|
end;
 | 
						|
 | 
						|
constructor TModuleEditor.CreateFor(const AUnit: string; TheOwner: TComponent);
 | 
						|
begin
 | 
						|
  MainForm := Self; //referenced in editor units
 | 
						|
  BuildRecent(AUnit); //force loading of AUnit
 | 
						|
  Create(TheOwner);
 | 
						|
end;
 | 
						|
 | 
						|
end.
 | 
						|
 |