mirror of https://gitlab.com/basile.b/dexed.git
prevent cases of superfluous indirections on `Items[i]`
This commit is contained in:
parent
c9fac84dab
commit
6750020d16
|
@ -903,7 +903,7 @@ begin
|
||||||
end;
|
end;
|
||||||
{$ENDREGION --------------------------------------------------------------------}
|
{$ENDREGION --------------------------------------------------------------------}
|
||||||
|
|
||||||
{$REGION ICommonProject: sources ---------------------------------------------}
|
{$REGION ICommonProject: sources -----------------------------------------------}
|
||||||
function TDubProject.isSource(const fname: string): boolean;
|
function TDubProject.isSource(const fname: string): boolean;
|
||||||
var
|
var
|
||||||
str: string;
|
str: string;
|
||||||
|
|
|
@ -481,7 +481,8 @@ end;
|
||||||
procedure TMessagesWidget.ListKeyDown(Sender: TObject; var Key: Word;
|
procedure TMessagesWidget.ListKeyDown(Sender: TObject; var Key: Word;
|
||||||
Shift: TShiftState);
|
Shift: TShiftState);
|
||||||
var
|
var
|
||||||
i: Integer;
|
i: integer;
|
||||||
|
n: TTreeNode;
|
||||||
begin
|
begin
|
||||||
case Key of
|
case Key of
|
||||||
VK_BACK, VK_DELETE:
|
VK_BACK, VK_DELETE:
|
||||||
|
@ -489,8 +490,11 @@ begin
|
||||||
if List.SelectionCount > 0 then
|
if List.SelectionCount > 0 then
|
||||||
begin
|
begin
|
||||||
for i := List.Items.Count-1 downto 0 do
|
for i := List.Items.Count-1 downto 0 do
|
||||||
if List.Items[i].MultiSelected then
|
begin
|
||||||
List.Items.Delete(List.Items[i]);
|
n := List.Items[i];
|
||||||
|
if n.MultiSelected then
|
||||||
|
List.Items.Delete(n);
|
||||||
|
end;
|
||||||
end
|
end
|
||||||
else clearbyContext(amcAll);
|
else clearbyContext(amcAll);
|
||||||
end;
|
end;
|
||||||
|
@ -720,23 +724,31 @@ end;
|
||||||
|
|
||||||
procedure TMessagesWidget.actCopyMsgExecute(Sender: TObject);
|
procedure TMessagesWidget.actCopyMsgExecute(Sender: TObject);
|
||||||
var
|
var
|
||||||
i: Integer;
|
i: integer;
|
||||||
str: string = '';
|
s: string = '';
|
||||||
|
n: TTreeNode;
|
||||||
begin
|
begin
|
||||||
for i := 0 to List.Items.Count-1 do
|
for i := 0 to List.Items.Count-1 do
|
||||||
if List.Items[i].MultiSelected then
|
begin
|
||||||
str += List.Items[i].Text + LineEnding;
|
n := List.Items[i];
|
||||||
Clipboard.AsText := str;
|
if n.MultiSelected then
|
||||||
|
s += n.Text + LineEnding;
|
||||||
|
end;
|
||||||
|
Clipboard.AsText := s;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
procedure TMessagesWidget.actSelAllExecute(Sender: TObject);
|
procedure TMessagesWidget.actSelAllExecute(Sender: TObject);
|
||||||
var
|
var
|
||||||
i: Integer;
|
i: integer;
|
||||||
|
n: TTreeNode;
|
||||||
begin
|
begin
|
||||||
List.BeginUpdate;
|
List.BeginUpdate;
|
||||||
for i := 0 to List.Items.Count-1 do
|
for i := 0 to List.Items.Count-1 do
|
||||||
if List.Items[i].Visible then
|
begin
|
||||||
List.Items[i].MultiSelected := true;
|
n := List.Items[i];
|
||||||
|
if n.Visible then
|
||||||
|
n.MultiSelected := true;
|
||||||
|
end;
|
||||||
List.EndUpdate;
|
List.EndUpdate;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
|
@ -933,8 +945,9 @@ end;
|
||||||
|
|
||||||
procedure TMessagesWidget.clearByContext(aCtxt: TAppMessageCtxt);
|
procedure TMessagesWidget.clearByContext(aCtxt: TAppMessageCtxt);
|
||||||
var
|
var
|
||||||
i: Integer;
|
i: integer;
|
||||||
msgdt: PMessageData;
|
d: PMessageData;
|
||||||
|
n: TTreeNode;
|
||||||
begin
|
begin
|
||||||
list.BeginUpdate;
|
list.BeginUpdate;
|
||||||
TreeFilterEdit1.Filter := '';
|
TreeFilterEdit1.Filter := '';
|
||||||
|
@ -942,17 +955,19 @@ begin
|
||||||
List.Items.Clear
|
List.Items.Clear
|
||||||
else for i := List.Items.Count-1 downto 0 do
|
else for i := List.Items.Count-1 downto 0 do
|
||||||
begin
|
begin
|
||||||
msgdt := PMessageData(List.Items[i].Data);
|
n := List.Items[i];
|
||||||
if msgdt^.ctxt = aCtxt then
|
d := PMessageData(n.Data);
|
||||||
List.Items.Delete(List.Items[i]);
|
if d^.ctxt = aCtxt then
|
||||||
|
List.Items.Delete(n);
|
||||||
end;
|
end;
|
||||||
list.EndUpdate;
|
list.EndUpdate;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
procedure TMessagesWidget.clearByData(data: Pointer);
|
procedure TMessagesWidget.clearByData(data: Pointer);
|
||||||
var
|
var
|
||||||
i: Integer;
|
i: integer;
|
||||||
msgdt: PMessageData;
|
d: PMessageData;
|
||||||
|
n: TTreeNode;
|
||||||
begin
|
begin
|
||||||
if data.isNil then
|
if data.isNil then
|
||||||
exit;
|
exit;
|
||||||
|
@ -962,9 +977,10 @@ begin
|
||||||
TreeFilterEdit1.Filter := '';
|
TreeFilterEdit1.Filter := '';
|
||||||
for i := List.Items.Count-1 downto 0 do
|
for i := List.Items.Count-1 downto 0 do
|
||||||
begin
|
begin
|
||||||
msgdt := PMessageData(List.Items[i].Data);
|
n := List.Items[i];
|
||||||
if (msgdt^.data = data) then
|
d := PMessageData(n.Data);
|
||||||
List.Items.Delete(List.Items[i]);
|
if (d^.data = data) then
|
||||||
|
List.Items.Delete(n);
|
||||||
end;
|
end;
|
||||||
list.EndUpdate;
|
list.EndUpdate;
|
||||||
end;
|
end;
|
||||||
|
|
|
@ -850,7 +850,8 @@ procedure TSymbolListWidget.toolTerminated(sender: TObject);
|
||||||
|
|
||||||
var
|
var
|
||||||
i: Integer;
|
i: Integer;
|
||||||
flt: string;
|
f: string;
|
||||||
|
n: TTreeNode;
|
||||||
begin
|
begin
|
||||||
if ndAlias.isNil then
|
if ndAlias.isNil then
|
||||||
exit;
|
exit;
|
||||||
|
@ -866,7 +867,7 @@ begin
|
||||||
exit;
|
exit;
|
||||||
fSyms.LoadFromTool(fToolProc.StdoutEx);
|
fSyms.LoadFromTool(fToolProc.StdoutEx);
|
||||||
|
|
||||||
flt := TreeFilterEdit1.Filter;
|
f := TreeFilterEdit1.Filter;
|
||||||
TreeFilterEdit1.Text := '';
|
TreeFilterEdit1.Text := '';
|
||||||
tree.BeginUpdate;
|
tree.BeginUpdate;
|
||||||
for i := 0 to fSyms.symbols.Count-1 do
|
for i := 0 to fSyms.symbols.Count-1 do
|
||||||
|
@ -880,18 +881,22 @@ begin
|
||||||
end;
|
end;
|
||||||
if fSortSymbols then
|
if fSortSymbols then
|
||||||
for i:= 0 to tree.Items.Count-1 do
|
for i:= 0 to tree.Items.Count-1 do
|
||||||
if Tree.Items[i].Count > 0 then
|
begin
|
||||||
tree.Items[i].CustomSort(nil);
|
n := Tree.Items[i];
|
||||||
|
if n.Count > 0 then
|
||||||
|
n.CustomSort(nil);
|
||||||
|
end;
|
||||||
if fSmartExpander then
|
if fSmartExpander then
|
||||||
smartExpand;
|
smartExpand;
|
||||||
tree.EndUpdate;
|
tree.EndUpdate;
|
||||||
if flt.isNotEmpty then
|
if f.isNotEmpty then
|
||||||
TreeFilterEdit1.Text := flt;
|
TreeFilterEdit1.Text := f;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
procedure TSymbolListWidget.smartExpand;
|
procedure TSymbolListWidget.smartExpand;
|
||||||
var
|
var
|
||||||
i: integer;
|
i: integer;
|
||||||
|
n: TTreeNode;
|
||||||
target: NativeUint;
|
target: NativeUint;
|
||||||
nearest: NativeUint = 0;
|
nearest: NativeUint = 0;
|
||||||
toExpand: TTreeNode = nil;
|
toExpand: TTreeNode = nil;
|
||||||
|
@ -903,23 +908,24 @@ var
|
||||||
begin
|
begin
|
||||||
for i := 0 to root.Count-1 do
|
for i := 0 to root.Count-1 do
|
||||||
begin
|
begin
|
||||||
if root.Items[i].Data.isNil then
|
n := root.Items[i];
|
||||||
|
if n.Data.isNil then
|
||||||
continue;
|
continue;
|
||||||
if root.Items[i].Parent.isNil then
|
if n.Parent.isNil then
|
||||||
continue;
|
continue;
|
||||||
case root.Items[i].Parent.Text of
|
case n.Parent.Text of
|
||||||
'Alias', 'Enum', 'Import', 'Variable':
|
'Alias', 'Enum', 'Import', 'Variable':
|
||||||
continue;
|
continue;
|
||||||
end;
|
end;
|
||||||
{$PUSH}{$WARNINGS OFF}{$HINTS OFF}
|
{$PUSH}{$WARNINGS OFF}{$HINTS OFF}
|
||||||
line := NativeUInt(root.Items[i].Data);
|
line := NativeUInt(n.Data);
|
||||||
{$POP}
|
{$POP}
|
||||||
if line > target then
|
if line > target then
|
||||||
continue;
|
continue;
|
||||||
if line > nearest then
|
if line > nearest then
|
||||||
begin
|
begin
|
||||||
nearest := line;
|
nearest := line;
|
||||||
toExpand := root.Items[i];
|
toExpand := n;
|
||||||
end;
|
end;
|
||||||
end;
|
end;
|
||||||
end;
|
end;
|
||||||
|
|
|
@ -3056,12 +3056,14 @@ begin
|
||||||
IncPaintLock;
|
IncPaintLock;
|
||||||
fDscannerResults.clear;
|
fDscannerResults.clear;
|
||||||
for i:= Marks.Count-1 downto 0 do
|
for i:= Marks.Count-1 downto 0 do
|
||||||
if marks.Items[i].ImageIndex = longint(giWarn) then
|
|
||||||
begin
|
begin
|
||||||
n := marks.Items[i];
|
n := marks.Items[i];
|
||||||
|
if n.ImageIndex = longint(giWarn) then
|
||||||
|
begin
|
||||||
marks.Delete(i);
|
marks.Delete(i);
|
||||||
FreeAndNil(n);
|
FreeAndNil(n);
|
||||||
end;
|
end;
|
||||||
|
end;
|
||||||
DecPaintLock;
|
DecPaintLock;
|
||||||
repaint;
|
repaint;
|
||||||
end;
|
end;
|
||||||
|
@ -3851,10 +3853,14 @@ end;
|
||||||
procedure TDexedMemo.removeDebugTimeMarks;
|
procedure TDexedMemo.removeDebugTimeMarks;
|
||||||
var
|
var
|
||||||
i: integer;
|
i: integer;
|
||||||
|
n: TSynEditMark;
|
||||||
begin
|
begin
|
||||||
IncPaintLock;
|
IncPaintLock;
|
||||||
for i:= marks.Count-1 downto 0 do
|
for i:= marks.Count-1 downto 0 do
|
||||||
Marks.Items[i].Visible := not (TGutterIcon(Marks.Items[i].ImageIndex) in debugTimeGutterIcons);
|
begin
|
||||||
|
n := Marks.Items[i];
|
||||||
|
n.Visible := not (TGutterIcon(n.ImageIndex) in debugTimeGutterIcons);
|
||||||
|
end;
|
||||||
DecPaintLock;
|
DecPaintLock;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
|
@ -3898,8 +3904,9 @@ begin
|
||||||
if m.isNotNil then
|
if m.isNotNil then
|
||||||
for i := 0 to m.Count-1 do
|
for i := 0 to m.Count-1 do
|
||||||
begin
|
begin
|
||||||
s := m.Items[i].ImageIndex = longint(value);
|
n := m.Items[i];
|
||||||
m.Items[i].Visible := s;
|
s := n.ImageIndex = longint(value);
|
||||||
|
n.Visible := s;
|
||||||
end;
|
end;
|
||||||
if not s then
|
if not s then
|
||||||
begin
|
begin
|
||||||
|
|
Loading…
Reference in New Issue