mirror of
https://gitlab.com/freepascal.org/lazarus/lazarus.git
synced 2025-08-24 16:19:21 +02:00
IDE: Custom IDE title, skip interactive macros
(cherry picked from commit 01d301d685
)
This commit is contained in:
parent
31faf1e79e
commit
3ab65737f6
@ -9029,7 +9029,7 @@ begin
|
|||||||
if CustomnCaption <> '' then begin
|
if CustomnCaption <> '' then begin
|
||||||
OldMarkUnhandledMacros := GlobalMacroList.MarkUnhandledMacros;
|
OldMarkUnhandledMacros := GlobalMacroList.MarkUnhandledMacros;
|
||||||
GlobalMacroList.MarkUnhandledMacros := false;
|
GlobalMacroList.MarkUnhandledMacros := false;
|
||||||
GlobalMacroList.SubstituteStr(CustomnCaption);
|
GlobalMacroList.SubstituteStr(CustomnCaption, 0, 0, True);
|
||||||
if CustomnCaption <> '' then begin
|
if CustomnCaption <> '' then begin
|
||||||
NewCaption := AddToCaption(NewCaption, CustomnCaption);
|
NewCaption := AddToCaption(NewCaption, CustomnCaption);
|
||||||
end;
|
end;
|
||||||
|
@ -85,10 +85,10 @@ type
|
|||||||
procedure Add(NewMacro: TTransferMacro);
|
procedure Add(NewMacro: TTransferMacro);
|
||||||
function FindByName(const MacroName: string): TTransferMacro;
|
function FindByName(const MacroName: string): TTransferMacro;
|
||||||
function SubstituteStr(var s: string; const Data: PtrInt = 0;
|
function SubstituteStr(var s: string; const Data: PtrInt = 0;
|
||||||
Depth: integer = 0): boolean;
|
Depth: integer = 0; SkipInteractive: Boolean = False): boolean;
|
||||||
procedure ExecuteMacro(const MacroName: string;
|
procedure ExecuteMacro(const MacroName: string;
|
||||||
var MacroParam: string; const Data: PtrInt; out Handled, Abort: boolean;
|
var MacroParam: string; const Data: PtrInt; out Handled, Abort: boolean;
|
||||||
Depth: integer);
|
Depth: integer; SkipInteractive: boolean = False);
|
||||||
class function StrHasMacros(const s: string): boolean;
|
class function StrHasMacros(const s: string): boolean;
|
||||||
property OnSubstitution: TOnSubstitution read fOnSubstitution write fOnSubstitution;
|
property OnSubstitution: TOnSubstitution read fOnSubstitution write fOnSubstitution;
|
||||||
// error handling and loop detection
|
// error handling and loop detection
|
||||||
@ -247,8 +247,8 @@ begin
|
|||||||
// debugln('TTransferMacroList.Add A ',NewMacro.Name);
|
// debugln('TTransferMacroList.Add A ',NewMacro.Name);
|
||||||
end;
|
end;
|
||||||
|
|
||||||
function TTransferMacroList.SubstituteStr(var s:string; const Data: PtrInt;
|
function TTransferMacroList.SubstituteStr(var s: string; const Data: PtrInt; Depth: integer;
|
||||||
Depth: integer): boolean;
|
SkipInteractive: Boolean): boolean;
|
||||||
|
|
||||||
function SearchBracketClose(Position: integer): integer;
|
function SearchBracketClose(Position: integer): integer;
|
||||||
var BracketClose: char;
|
var BracketClose: char;
|
||||||
@ -324,7 +324,7 @@ begin
|
|||||||
// find macro and get value
|
// find macro and get value
|
||||||
Handled:=false;
|
Handled:=false;
|
||||||
Abort:=false;
|
Abort:=false;
|
||||||
ExecuteMacro(MacroName,MacroParam,Data,Handled,Abort,Depth+1);
|
ExecuteMacro(MacroName,MacroParam,Data,Handled,Abort,Depth+1, SkipInteractive);
|
||||||
if Abort then
|
if Abort then
|
||||||
exit(false);
|
exit(false);
|
||||||
if not Handled then
|
if not Handled then
|
||||||
@ -362,15 +362,16 @@ begin
|
|||||||
end;
|
end;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
procedure TTransferMacroList.ExecuteMacro(const MacroName: string;
|
procedure TTransferMacroList.ExecuteMacro(const MacroName: string; var MacroParam: string;
|
||||||
var MacroParam: string; const Data: PtrInt; out Handled, Abort: boolean;
|
const Data: PtrInt; out Handled, Abort: boolean; Depth: integer; SkipInteractive: boolean);
|
||||||
Depth: integer);
|
|
||||||
var
|
var
|
||||||
Macro: TTransferMacro;
|
Macro: TTransferMacro;
|
||||||
begin
|
begin
|
||||||
Handled:=false;
|
Handled:=false;
|
||||||
Abort:=false;
|
Abort:=false;
|
||||||
Macro:=FindByName(MacroName);
|
Macro:=FindByName(MacroName);
|
||||||
|
if SkipInteractive and (Macro <> nil) and (tmfInteractive in Macro.Flags) then
|
||||||
|
exit;
|
||||||
DoSubstitution(Macro,MacroName,MacroParam,Data,Handled,Abort,Depth);
|
DoSubstitution(Macro,MacroName,MacroParam,Data,Handled,Abort,Depth);
|
||||||
if Abort or Handled then exit;
|
if Abort or Handled then exit;
|
||||||
if Macro=nil then exit;
|
if Macro=nil then exit;
|
||||||
|
Loading…
Reference in New Issue
Block a user