mirror of https://gitlab.com/basile.b/dexed.git
added messages option, autoselect category
This commit is contained in:
parent
a449f8c922
commit
a4e18c1bb8
|
|
@ -39,6 +39,7 @@ type
|
||||||
procedure ListDblClick(Sender: TObject);
|
procedure ListDblClick(Sender: TObject);
|
||||||
procedure ListKeyDown(Sender: TObject; var Key: Word; Shift: TShiftState);
|
procedure ListKeyDown(Sender: TObject; var Key: Word; Shift: TShiftState);
|
||||||
private
|
private
|
||||||
|
fActAutoSel: TAction;
|
||||||
fActClearAll: TAction;
|
fActClearAll: TAction;
|
||||||
fActClearCurCat: TAction;
|
fActClearCurCat: TAction;
|
||||||
fActSaveMsg: TAction;
|
fActSaveMsg: TAction;
|
||||||
|
|
@ -48,8 +49,11 @@ type
|
||||||
fProj: TCEProject;
|
fProj: TCEProject;
|
||||||
fDoc: TCESynMemo;
|
fDoc: TCESynMemo;
|
||||||
fCtxt: TCEAppMessageCtxt;
|
fCtxt: TCEAppMessageCtxt;
|
||||||
|
fAutoSelect: boolean;
|
||||||
|
fBtns: array[TCEAppMessageCtxt] of TToolButton;
|
||||||
procedure filterMessages(aCtxt: TCEAppMessageCtxt);
|
procedure filterMessages(aCtxt: TCEAppMessageCtxt);
|
||||||
procedure clearOutOfRangeMessg;
|
procedure clearOutOfRangeMessg;
|
||||||
|
procedure actAutoSelExecute(Sender: TObject);
|
||||||
procedure actClearCurCatExecute(Sender: TObject);
|
procedure actClearCurCatExecute(Sender: TObject);
|
||||||
procedure actClearAllExecute(Sender: TObject);
|
procedure actClearAllExecute(Sender: TObject);
|
||||||
procedure actSaveMsgExecute(Sender: TObject);
|
procedure actSaveMsgExecute(Sender: TObject);
|
||||||
|
|
@ -62,6 +66,8 @@ type
|
||||||
//
|
//
|
||||||
procedure optset_MaxMessageCount(aReader: TReader);
|
procedure optset_MaxMessageCount(aReader: TReader);
|
||||||
procedure optget_MaxMessageCount(awriter: TWriter);
|
procedure optget_MaxMessageCount(awriter: TWriter);
|
||||||
|
procedure optset_AutoSelect(aReader: TReader);
|
||||||
|
procedure optget_AutoSelect(awriter: TWriter);
|
||||||
published
|
published
|
||||||
property maxMessageCount: Integer read fMaxMessCnt write setMaxMessageCount default 125;
|
property maxMessageCount: Integer read fMaxMessCnt write setMaxMessageCount default 125;
|
||||||
public
|
public
|
||||||
|
|
@ -107,6 +113,10 @@ begin
|
||||||
fMaxMessCnt := 125;
|
fMaxMessCnt := 125;
|
||||||
fCtxt := amcAll;
|
fCtxt := amcAll;
|
||||||
//
|
//
|
||||||
|
fActAutoSel := TAction.Create(self);
|
||||||
|
fActAutoSel.Caption := 'Auto select message category';
|
||||||
|
fActAutoSel.AutoCheck := true;
|
||||||
|
fActAutoSel.OnExecute := @actAutoSelExecute;
|
||||||
fActClearAll := TAction.Create(self);
|
fActClearAll := TAction.Create(self);
|
||||||
fActClearAll.OnExecute := @actClearAllExecute;
|
fActClearAll.OnExecute := @actClearAllExecute;
|
||||||
fActClearAll.caption := 'Clear all messages';
|
fActClearAll.caption := 'Clear all messages';
|
||||||
|
|
@ -133,6 +143,11 @@ begin
|
||||||
btnSelEdit.OnClick := @selCtxtClick;
|
btnSelEdit.OnClick := @selCtxtClick;
|
||||||
btnSelApp.OnClick := @selCtxtClick;
|
btnSelApp.OnClick := @selCtxtClick;
|
||||||
btnSelAll.OnClick := @selCtxtClick;
|
btnSelAll.OnClick := @selCtxtClick;
|
||||||
|
fBtns[amcAll] := btnSelAll;
|
||||||
|
fBtns[amcApp] := btnSelApp;
|
||||||
|
fBtns[amcEdit]:= btnSelEdit;
|
||||||
|
fBtns[amcMisc]:= btnSelMisc;
|
||||||
|
fBtns[amcProj]:= btnSelProj;
|
||||||
//
|
//
|
||||||
btnClearCat.OnClick := @actClearCurCatExecute;
|
btnClearCat.OnClick := @actClearCurCatExecute;
|
||||||
//
|
//
|
||||||
|
|
@ -218,11 +233,24 @@ begin
|
||||||
aWriter.WriteInteger(fMaxMessCnt);
|
aWriter.WriteInteger(fMaxMessCnt);
|
||||||
end;
|
end;
|
||||||
|
|
||||||
|
procedure TCEMessagesWidget.optset_AutoSelect(aReader: TReader);
|
||||||
|
begin
|
||||||
|
fAutoSelect := aReader.ReadBoolean;
|
||||||
|
fActAutoSel.Checked := fAutoSelect;
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure TCEMessagesWidget.optget_AutoSelect(awriter: TWriter);
|
||||||
|
begin
|
||||||
|
awriter.WriteBoolean(fAutoSelect);
|
||||||
|
end;
|
||||||
|
|
||||||
procedure TCEMessagesWidget.sesoptDeclareProperties(aFiler: TFiler);
|
procedure TCEMessagesWidget.sesoptDeclareProperties(aFiler: TFiler);
|
||||||
begin
|
begin
|
||||||
inherited;
|
inherited;
|
||||||
aFiler.DefineProperty(Name + '_MaxMessageCount', @optset_MaxMessageCount,
|
aFiler.DefineProperty(Name + '_MaxMessageCount', @optset_MaxMessageCount,
|
||||||
@optget_MaxMessageCount, true);
|
@optget_MaxMessageCount, true);
|
||||||
|
aFiler.DefineProperty(Name + '_AutoSelectCategory', @optset_AutoSelect,
|
||||||
|
@optget_AutoSelect, true);
|
||||||
end;
|
end;
|
||||||
{$ENDREGION}
|
{$ENDREGION}
|
||||||
|
|
||||||
|
|
@ -234,21 +262,27 @@ end;
|
||||||
|
|
||||||
function TCEMessagesWidget.contextActionCount: integer;
|
function TCEMessagesWidget.contextActionCount: integer;
|
||||||
begin
|
begin
|
||||||
result := 5;
|
result := 6;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
function TCEMessagesWidget.contextAction(index: integer): TAction;
|
function TCEMessagesWidget.contextAction(index: integer): TAction;
|
||||||
begin
|
begin
|
||||||
case index of
|
case index of
|
||||||
0: result := fActClearAll;
|
0: result := fActAutoSel;
|
||||||
1: result := fActClearCurCat;
|
1: result := fActClearAll;
|
||||||
2: result := fActCopyMsg;
|
2: result := fActClearCurCat;
|
||||||
3: result := fActSelAll;
|
3: result := fActCopyMsg;
|
||||||
4: result := fActSaveMsg;
|
4: result := fActSelAll;
|
||||||
|
5: result := fActSaveMsg;
|
||||||
else result := nil;
|
else result := nil;
|
||||||
end;
|
end;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
|
procedure TCEMessagesWidget.actAutoSelExecute(Sender: TObject);
|
||||||
|
begin
|
||||||
|
fAutoSelect := fActAutoSel.Checked;
|
||||||
|
end;
|
||||||
|
|
||||||
procedure TCEMessagesWidget.actClearAllExecute(Sender: TObject);
|
procedure TCEMessagesWidget.actClearAllExecute(Sender: TObject);
|
||||||
begin
|
begin
|
||||||
lmClearbyContext(amcAll);
|
lmClearbyContext(amcAll);
|
||||||
|
|
@ -378,6 +412,8 @@ begin
|
||||||
clearOutOfRangeMessg;
|
clearOutOfRangeMessg;
|
||||||
scrollToBack;
|
scrollToBack;
|
||||||
Application.ProcessMessages;
|
Application.ProcessMessages;
|
||||||
|
if fAutoSelect then if fCtxt <> aCtxt then
|
||||||
|
fBtns[aCtxt].Click;
|
||||||
filterMessages(fCtxt);
|
filterMessages(fCtxt);
|
||||||
end;
|
end;
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue