mirror of https://gitlab.com/basile.b/dexed.git
minor optimization to the message widget
This commit is contained in:
parent
2ab76e07d3
commit
b65e38f23f
|
@ -943,8 +943,10 @@ begin
|
||||||
(sender as TDexedProcess).getFullLines(lst)
|
(sender as TDexedProcess).getFullLines(lst)
|
||||||
else
|
else
|
||||||
processOutputToStrings(TProcess(sender), lst);
|
processOutputToStrings(TProcess(sender), lst);
|
||||||
|
fMsgs.beginMessageCall();
|
||||||
for str in lst do
|
for str in lst do
|
||||||
fMsgs.message(str, fAsProjectItf, amcProj, amkBub);
|
fMsgs.message(str, fAsProjectItf, amcProj, amkBub);
|
||||||
|
fMsgs.endMessageCall();
|
||||||
finally
|
finally
|
||||||
lst.Free;
|
lst.Free;
|
||||||
end;
|
end;
|
||||||
|
@ -974,8 +976,10 @@ begin
|
||||||
lst := TStringList.Create;
|
lst := TStringList.Create;
|
||||||
try
|
try
|
||||||
fCompilProc.getFullLines(lst);
|
fCompilProc.getFullLines(lst);
|
||||||
|
fMsgs.beginMessageCall();
|
||||||
for str in lst do
|
for str in lst do
|
||||||
fMsgs.message(str, fAsProjectItf, amcProj, amkAuto);
|
fMsgs.message(str, fAsProjectItf, amcProj, amkAuto);
|
||||||
|
fMsgs.endMessageCall();
|
||||||
finally
|
finally
|
||||||
lst.Free;
|
lst.Free;
|
||||||
end;
|
end;
|
||||||
|
|
|
@ -1066,8 +1066,10 @@ begin
|
||||||
lst := TStringList.Create;
|
lst := TStringList.Create;
|
||||||
try
|
try
|
||||||
fDubProc.getFullLines(lst);
|
fDubProc.getFullLines(lst);
|
||||||
|
fMsgs.beginMessageCall();
|
||||||
for str in lst do
|
for str in lst do
|
||||||
fMsgs.message(str, fAsProjectItf, amcProj, amkAuto);
|
fMsgs.message(str, fAsProjectItf, amcProj, amkAuto);
|
||||||
|
fMsgs.endMessageCall();
|
||||||
finally
|
finally
|
||||||
lst.Free;
|
lst.Free;
|
||||||
end;
|
end;
|
||||||
|
|
|
@ -271,6 +271,10 @@ type
|
||||||
* Single service provided by the messages widget.
|
* Single service provided by the messages widget.
|
||||||
*)
|
*)
|
||||||
IMessagesDisplay = interface(ISingleService)
|
IMessagesDisplay = interface(ISingleService)
|
||||||
|
// begins several calls to message()
|
||||||
|
procedure beginMessageCall();
|
||||||
|
// ends several calls to message()
|
||||||
|
procedure endMessageCall();
|
||||||
// displays a message.
|
// displays a message.
|
||||||
procedure message(const value: string; aData: Pointer; aCtxt: TAppMessageCtxt; aKind: TAppMessageKind);
|
procedure message(const value: string; aData: Pointer; aCtxt: TAppMessageCtxt; aKind: TAppMessageKind);
|
||||||
// clears the messages related to the context aCtxt.
|
// clears the messages related to the context aCtxt.
|
||||||
|
|
|
@ -2931,12 +2931,14 @@ begin
|
||||||
lst := TStringList.Create;
|
lst := TStringList.Create;
|
||||||
try
|
try
|
||||||
proc.getFullLines(lst);
|
proc.getFullLines(lst);
|
||||||
|
fMsgs.beginMessageCall();
|
||||||
if proc = fRunProc then
|
if proc = fRunProc then
|
||||||
for str in lst do
|
for str in lst do
|
||||||
fMsgs.message(str, fDoc, amcEdit, amkBub)
|
fMsgs.message(str, fDoc, amcEdit, amkBub)
|
||||||
else // dmd used to compile runnable
|
else // dmd used to compile runnable
|
||||||
for str in lst do
|
for str in lst do
|
||||||
fMsgs.message(str, fDoc, amcEdit, amkAuto);
|
fMsgs.message(str, fDoc, amcEdit, amkAuto);
|
||||||
|
fMsgs.endMessageCall();
|
||||||
finally
|
finally
|
||||||
lst.Free;
|
lst.Free;
|
||||||
end;
|
end;
|
||||||
|
|
|
@ -164,6 +164,8 @@ type
|
||||||
//
|
//
|
||||||
function singleServiceName: string;
|
function singleServiceName: string;
|
||||||
procedure message(const value: string; aData: Pointer; aCtxt: TAppMessageCtxt; aKind: TAppMessageKind);
|
procedure message(const value: string; aData: Pointer; aCtxt: TAppMessageCtxt; aKind: TAppMessageKind);
|
||||||
|
procedure beginMessageCall();
|
||||||
|
procedure endMessageCall();
|
||||||
procedure clearbyContext(aCtxt: TAppMessageCtxt);
|
procedure clearbyContext(aCtxt: TAppMessageCtxt);
|
||||||
procedure clearbyData(data: Pointer);
|
procedure clearbyData(data: Pointer);
|
||||||
procedure scrollToBack;
|
procedure scrollToBack;
|
||||||
|
@ -942,6 +944,16 @@ begin
|
||||||
exit('IMessagesDisplay');
|
exit('IMessagesDisplay');
|
||||||
end;
|
end;
|
||||||
|
|
||||||
|
procedure TMessagesWidget.beginMessageCall();
|
||||||
|
begin
|
||||||
|
list.BeginUpdate;
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure TMessagesWidget.endMessageCall();
|
||||||
|
begin
|
||||||
|
list.EndUpdate;
|
||||||
|
end;
|
||||||
|
|
||||||
procedure TMessagesWidget.message(const value: string; aData: Pointer;
|
procedure TMessagesWidget.message(const value: string; aData: Pointer;
|
||||||
aCtxt: TAppMessageCtxt; aKind: TAppMessageKind);
|
aCtxt: TAppMessageCtxt; aKind: TAppMessageKind);
|
||||||
var
|
var
|
||||||
|
@ -952,7 +964,7 @@ begin
|
||||||
showWidget;
|
showWidget;
|
||||||
if not fAlwaysFilter then
|
if not fAlwaysFilter then
|
||||||
TreeFilterEdit1.Filter:='';
|
TreeFilterEdit1.Filter:='';
|
||||||
if (value.length > fOptions.maxLineLength) and (fOptions.maxLineLength > 0) then
|
if (fOptions.maxLineLength > 0) and (value.length > fOptions.maxLineLength) then
|
||||||
msg := value[1..fOptions.maxLineLength]
|
msg := value[1..fOptions.maxLineLength]
|
||||||
else
|
else
|
||||||
msg := value;
|
msg := value;
|
||||||
|
|
|
@ -279,8 +279,10 @@ begin
|
||||||
lst := TStringList.Create;
|
lst := TStringList.Create;
|
||||||
try
|
try
|
||||||
fProcess.getFullLines(lst);
|
fProcess.getFullLines(lst);
|
||||||
|
fMsgs.beginMessageCall();
|
||||||
for str in lst do
|
for str in lst do
|
||||||
fMsgs.message(str, nil, amcMisc, amkAuto);
|
fMsgs.message(str, nil, amcMisc, amkAuto);
|
||||||
|
fMsgs.endMessageCall();
|
||||||
finally
|
finally
|
||||||
lst.Free;
|
lst.Free;
|
||||||
end;
|
end;
|
||||||
|
|
Loading…
Reference in New Issue