mirror of https://gitlab.com/basile.b/dexed.git
fix, prevent corrupted history to slow down the app on start/exit
This commit is contained in:
parent
efebfaca6b
commit
2202283ec4
|
@ -286,6 +286,7 @@ type
|
||||||
procedure setIgnoredSignals(value: TStringList);
|
procedure setIgnoredSignals(value: TStringList);
|
||||||
procedure setCommandsHistory(value: TStringList);
|
procedure setCommandsHistory(value: TStringList);
|
||||||
procedure setShortcuts(value: TCEDebugShortcuts);
|
procedure setShortcuts(value: TCEDebugShortcuts);
|
||||||
|
procedure cleanInvalidHistoryEntries;
|
||||||
published
|
published
|
||||||
property asmSyntax: TAsmSyntax read fAsmSyntax write fAsmSyntax;
|
property asmSyntax: TAsmSyntax read fAsmSyntax write fAsmSyntax;
|
||||||
property autoDisassemble: boolean read fAutoDisassemble write fAutoDisassemble;
|
property autoDisassemble: boolean read fAutoDisassemble write fAutoDisassemble;
|
||||||
|
@ -302,6 +303,9 @@ type
|
||||||
property showRawMiOutput: boolean read fShowRawMiOutput write fShowRawMiOutput;
|
property showRawMiOutput: boolean read fShowRawMiOutput write fShowRawMiOutput;
|
||||||
property showOutput: boolean read fShowOutput write fShowOutput;
|
property showOutput: boolean read fShowOutput write fShowOutput;
|
||||||
property stopAllThreadsOnBreak: boolean read fStopAllThreadsOnBreak write fStopAllThreadsOnBreak;
|
property stopAllThreadsOnBreak: boolean read fStopAllThreadsOnBreak write fStopAllThreadsOnBreak;
|
||||||
|
protected
|
||||||
|
procedure beforeSave; override;
|
||||||
|
procedure afterLoad; override;
|
||||||
public
|
public
|
||||||
constructor create(aOwner: TComponent); override;
|
constructor create(aOwner: TComponent); override;
|
||||||
destructor destroy; override;
|
destructor destroy; override;
|
||||||
|
@ -637,6 +641,25 @@ begin
|
||||||
inherited;
|
inherited;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
|
procedure TCEDebugOptionsBase.cleanInvalidHistoryEntries;
|
||||||
|
var
|
||||||
|
i: integer;
|
||||||
|
begin
|
||||||
|
for i := fCommandsHistory.Count-1 downto 0 do
|
||||||
|
if fCommandsHistory[i].length > 128 then
|
||||||
|
fCommandsHistory.Delete(i);
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure TCEDebugOptionsBase.beforeSave;
|
||||||
|
begin
|
||||||
|
cleanInvalidHistoryEntries;
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure TCEDebugOptionsBase.afterLoad;
|
||||||
|
begin
|
||||||
|
cleanInvalidHistoryEntries;
|
||||||
|
end;
|
||||||
|
|
||||||
procedure TCEDebugOptionsBase.setIgnoredSignals(value: TStringList);
|
procedure TCEDebugOptionsBase.setIgnoredSignals(value: TStringList);
|
||||||
begin
|
begin
|
||||||
fIgnoredSignals.Assign(value);
|
fIgnoredSignals.Assign(value);
|
||||||
|
|
|
@ -23,8 +23,12 @@ type
|
||||||
fWholeWord: boolean;
|
fWholeWord: boolean;
|
||||||
fMrSearches: TStringList;
|
fMrSearches: TStringList;
|
||||||
fMrReplacements: TStringList;
|
fMrReplacements: TStringList;
|
||||||
|
procedure cleanIvnalidHistoryItems;
|
||||||
procedure setMrSearches(value: TStringList);
|
procedure setMrSearches(value: TStringList);
|
||||||
procedure setMrReplacements(value: TStringList);
|
procedure setMrReplacements(value: TStringList);
|
||||||
|
protected
|
||||||
|
procedure afterLoad; override;
|
||||||
|
procedure beforeSave; override;
|
||||||
published
|
published
|
||||||
property prompt: boolean read fPrompt write fPrompt;
|
property prompt: boolean read fPrompt write fPrompt;
|
||||||
property fromCursor: boolean read fFromCur write fFromCur;
|
property fromCursor: boolean read fFromCur write fFromCur;
|
||||||
|
@ -35,7 +39,6 @@ type
|
||||||
property recentSearches: TStringList read fMrSearches write setMrSearches;
|
property recentSearches: TStringList read fMrSearches write setMrSearches;
|
||||||
property recentReplacements: TStringList read fMrReplacements write setMrReplacements;
|
property recentReplacements: TStringList read fMrReplacements write setMrReplacements;
|
||||||
public
|
public
|
||||||
procedure afterLoad; override;
|
|
||||||
constructor create(aOwner: TComponent); override;
|
constructor create(aOwner: TComponent); override;
|
||||||
destructor destroy; override;
|
destructor destroy; override;
|
||||||
procedure assign(source: TPersistent); override;
|
procedure assign(source: TPersistent); override;
|
||||||
|
@ -175,16 +178,10 @@ begin
|
||||||
fMrSearches.Assign(value);
|
fMrSearches.Assign(value);
|
||||||
end;
|
end;
|
||||||
|
|
||||||
procedure TCESearchOptions.setMrReplacements(value: TStringList);
|
procedure TCESearchOptions.cleanIvnalidHistoryItems;
|
||||||
begin
|
|
||||||
fMrReplacements.Assign(value);
|
|
||||||
end;
|
|
||||||
|
|
||||||
procedure TCESearchOptions.afterLoad;
|
|
||||||
var
|
var
|
||||||
i: integer;
|
i: integer;
|
||||||
begin
|
begin
|
||||||
inherited;
|
|
||||||
for i := fMrReplacements.Count-1 downto 0 do
|
for i := fMrReplacements.Count-1 downto 0 do
|
||||||
if fMrReplacements[i].length > 128 then
|
if fMrReplacements[i].length > 128 then
|
||||||
fMrReplacements.Delete(i);
|
fMrReplacements.Delete(i);
|
||||||
|
@ -192,6 +189,21 @@ begin
|
||||||
if fMrSearches[i].length > 128 then
|
if fMrSearches[i].length > 128 then
|
||||||
fMrSearches.Delete(i);
|
fMrSearches.Delete(i);
|
||||||
end;
|
end;
|
||||||
|
|
||||||
|
procedure TCESearchOptions.setMrReplacements(value: TStringList);
|
||||||
|
begin
|
||||||
|
fMrReplacements.Assign(value);
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure TCESearchOptions.afterLoad;
|
||||||
|
begin
|
||||||
|
cleanIvnalidHistoryItems;
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure TCESearchOptions.beforeSave;
|
||||||
|
begin
|
||||||
|
cleanIvnalidHistoryItems;
|
||||||
|
end;
|
||||||
{$ENDREGION}
|
{$ENDREGION}
|
||||||
|
|
||||||
{$REGION Standard Comp/Obj------------------------------------------------------}
|
{$REGION Standard Comp/Obj------------------------------------------------------}
|
||||||
|
|
Loading…
Reference in New Issue