mirror of
				https://gitlab.com/freepascal.org/lazarus/lazarus.git
				synced 2025-11-04 06:59:48 +01:00 
			
		
		
		
	fixed makros in componentpalette
git-svn-id: trunk@7885 -
This commit is contained in:
		
							parent
							
								
									cca423b1d7
								
							
						
					
					
						commit
						0b40ab4bb7
					
				@ -163,6 +163,7 @@ var
 | 
			
		||||
  PkgComponent: TPkgComponent;
 | 
			
		||||
  APackage: TLazPackage;
 | 
			
		||||
  UnitFilename: String;
 | 
			
		||||
  ShownFilename: String;
 | 
			
		||||
begin
 | 
			
		||||
  PkgComponent:=TPkgComponent(FindButton(PopupMenu.PopupComponent));
 | 
			
		||||
  APackage:=nil;
 | 
			
		||||
@ -174,11 +175,16 @@ begin
 | 
			
		||||
  end else begin
 | 
			
		||||
    OpenPackageMenuItem.Caption:='Open Package '+APackage.IDAsString;
 | 
			
		||||
    OpenPackageMenuItem.Visible:=true;
 | 
			
		||||
    UnitFilename:=PkgComponent.PkgFile.Filename;
 | 
			
		||||
    if not FileExists(UnitFilename) then
 | 
			
		||||
    ShownFilename:=PkgComponent.PkgFile.Filename;
 | 
			
		||||
    UnitFilename:=APackage.SubstitutePkgMacro(ShownFilename);
 | 
			
		||||
    LazarusIDE.SubstituteMakros(UnitFilename);
 | 
			
		||||
    if not FileExists(UnitFilename) then begin
 | 
			
		||||
      UnitFilename:=LazarusIDE.FindSourceFile(ExtractFilename(UnitFilename),
 | 
			
		||||
                                              APackage.Directory,[]);
 | 
			
		||||
    OpenUnitMenuItem.Caption:='Open Unit '+UnitFilename;
 | 
			
		||||
      if FileExists(UnitFilename) then
 | 
			
		||||
        UnitFilename:=ShownFilename;
 | 
			
		||||
    end;
 | 
			
		||||
    OpenUnitMenuItem.Caption:='Open Unit '+ShownFilename;
 | 
			
		||||
    OpenUnitMenuItem.Visible:=true;
 | 
			
		||||
    OpenUnitMenuItem.Enabled:=FileExists(UnitFilename);
 | 
			
		||||
  end;
 | 
			
		||||
 | 
			
		||||
@ -804,6 +804,9 @@ type
 | 
			
		||||
    procedure SaveEnvironment; override;
 | 
			
		||||
    procedure LoadDesktopSettings(TheEnvironmentOptions: TEnvironmentOptions);
 | 
			
		||||
    procedure SaveDesktopSettings(TheEnvironmentOptions: TEnvironmentOptions);
 | 
			
		||||
    
 | 
			
		||||
    // makros
 | 
			
		||||
    function SubstituteMakros(var s: string): boolean; override;
 | 
			
		||||
  end;
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@ -3157,6 +3160,11 @@ begin
 | 
			
		||||
  end;
 | 
			
		||||
end;
 | 
			
		||||
 | 
			
		||||
function TMainIDE.SubstituteMakros(var s: string): boolean;
 | 
			
		||||
begin
 | 
			
		||||
  Result:=MacroList.SubstituteStr(s);
 | 
			
		||||
end;
 | 
			
		||||
 | 
			
		||||
procedure TMainIDE.LoadDesktopSettings(
 | 
			
		||||
  TheEnvironmentOptions: TEnvironmentOptions);
 | 
			
		||||
begin
 | 
			
		||||
 | 
			
		||||
@ -123,6 +123,8 @@ type
 | 
			
		||||
    function CreateNewUniqueFilename(const Prefix, Ext: string;
 | 
			
		||||
       NewOwner: TObject; Flags: TSearchIDEFileFlags;
 | 
			
		||||
       TryWithoutNumber: boolean): string; virtual; abstract;
 | 
			
		||||
       
 | 
			
		||||
    function SubstituteMakros(var s: string): boolean; virtual; abstract;
 | 
			
		||||
  public
 | 
			
		||||
    property ActiveProject: TLazProject read GetActiveProject;
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@ -748,6 +748,9 @@ const
 | 
			
		||||
    );
 | 
			
		||||
 | 
			
		||||
type
 | 
			
		||||
 | 
			
		||||
  { TDBCustomNavigator }
 | 
			
		||||
 | 
			
		||||
  TDBCustomNavigator = class(TCustomPanel)
 | 
			
		||||
  private
 | 
			
		||||
    FBeforeAction: TDBNavClickEvent;
 | 
			
		||||
@ -762,6 +765,8 @@ type
 | 
			
		||||
    FHints: TStrings;
 | 
			
		||||
    FUpdateButtonsNeeded: boolean;
 | 
			
		||||
    FUpdateButtonsLock: integer;
 | 
			
		||||
    FOriginalHints: String;
 | 
			
		||||
    procedure DefaultHintsChanged(Sender: TObject);
 | 
			
		||||
    function GetDataSource: TDataSource;
 | 
			
		||||
    function GetHints: TStrings;
 | 
			
		||||
    procedure SetDataSource(const AValue: TDataSource);
 | 
			
		||||
 | 
			
		||||
@ -53,6 +53,26 @@ end;
 | 
			
		||||
 | 
			
		||||
{ TDBCustomNavigator }
 | 
			
		||||
 | 
			
		||||
procedure TDBCustomNavigator.DefaultHintsChanged(Sender: TObject);
 | 
			
		||||
var
 | 
			
		||||
  OldNotify: TNotifyEvent;
 | 
			
		||||
begin
 | 
			
		||||
  if FDefaultHints.Text = FOriginalHints then
 | 
			
		||||
    exit;
 | 
			
		||||
  
 | 
			
		||||
  OldNotify := TStringList(FHints).OnChange;
 | 
			
		||||
  TStringlist(FHints).OnChange := nil;
 | 
			
		||||
  TStringList(FDefaultHints).OnChange := nil;
 | 
			
		||||
  try
 | 
			
		||||
    FHints.Assign(FDefaultHints);
 | 
			
		||||
    FDefaultHints.Clear;
 | 
			
		||||
    UpdateHints;
 | 
			
		||||
  finally
 | 
			
		||||
    TStringlist(FHints).OnChange := OldNotify;
 | 
			
		||||
  end;
 | 
			
		||||
  
 | 
			
		||||
end;
 | 
			
		||||
 | 
			
		||||
function TDBCustomNavigator.GetDataSource: TDataSource;
 | 
			
		||||
begin
 | 
			
		||||
  Result:=FDataLink.DataSource;
 | 
			
		||||
@ -282,8 +302,11 @@ var
 | 
			
		||||
  i: Integer;
 | 
			
		||||
begin
 | 
			
		||||
  if (FDefaultHints.Count=0) then begin
 | 
			
		||||
    TStringList(FDefaultHints).OnChange:=nil;
 | 
			
		||||
    for CurButton:=Low(Buttons) to High(Buttons) do
 | 
			
		||||
      FDefaultHints.Add(GetDBNavButtonHint(CurButton));
 | 
			
		||||
    FOriginalHints := FDefaultHints.Text;
 | 
			
		||||
    TStringList(FDefaultHints).OnChange:=@DefaultHintsChanged;
 | 
			
		||||
  end;
 | 
			
		||||
  i:=0;
 | 
			
		||||
  for CurButton:=Low(Buttons) to High(Buttons) do begin
 | 
			
		||||
 | 
			
		||||
		Loading…
	
		Reference in New Issue
	
	Block a user