mirror of https://gitlab.com/basile.b/dexed.git
shortcut editor, the filter works with the key combinations
This commit is contained in:
parent
200b43662c
commit
078f9e9d06
|
@ -20,21 +20,23 @@ object CEShortcutEditor: TCEShortcutEditor
|
|||
TabOrder = 0
|
||||
object fltItems: TTreeFilterEdit
|
||||
Left = 2
|
||||
Height = 20
|
||||
Height = 24
|
||||
Top = 2
|
||||
Width = 420
|
||||
OnFilterItem = fltItemsFilterItem
|
||||
ButtonWidth = 28
|
||||
NumGlyphs = 1
|
||||
Align = alTop
|
||||
BorderSpacing.Around = 2
|
||||
AutoSize = False
|
||||
MaxLength = 0
|
||||
TabOrder = 0
|
||||
FilteredTreeview = tree
|
||||
end
|
||||
object tree: TTreeView
|
||||
Left = 2
|
||||
Height = 407
|
||||
Top = 26
|
||||
Height = 403
|
||||
Top = 30
|
||||
Width = 420
|
||||
Align = alClient
|
||||
AutoExpand = True
|
||||
|
|
|
@ -6,9 +6,9 @@ interface
|
|||
|
||||
uses
|
||||
Classes, SysUtils, FileUtil, TreeFilterEdit, Forms, Controls, Menus, Graphics,
|
||||
ExtCtrls, LCLProc, ComCtrls, StdCtrls, Buttons, LCLType, PropEdits,
|
||||
ExtCtrls, LCLProc, ComCtrls, StdCtrls, Buttons, LCLType, PropEdits, strutils,
|
||||
ce_sharedres, ce_observer, ce_interfaces, ce_common, ce_writableComponent,
|
||||
ce_dialogs;
|
||||
ce_dialogs, EditBtn;
|
||||
|
||||
type
|
||||
|
||||
|
@ -59,6 +59,7 @@ type
|
|||
tree: TTreeView;
|
||||
procedure btnActivateClick(Sender: TObject);
|
||||
procedure btnClearClick(Sender: TObject);
|
||||
function fltItemsFilterItem(Item: TObject; out Done: Boolean): Boolean;
|
||||
procedure LabeledEdit1KeyDown(Sender: TObject; var Key: Word;Shift: TShiftState);
|
||||
procedure shortcutCatcherExit(Sender: TObject);
|
||||
procedure shortcutCatcherMouseLeave(Sender: TObject);
|
||||
|
@ -283,6 +284,28 @@ begin
|
|||
updateEditCtrls;
|
||||
end;
|
||||
|
||||
function TCEShortcutEditor.fltItemsFilterItem(Item: TObject; out Done: Boolean): Boolean;
|
||||
var
|
||||
shc: TShortcutItem;
|
||||
begin
|
||||
if fltItems.Filter.isBlank then
|
||||
begin
|
||||
result := true;
|
||||
done := true;
|
||||
end
|
||||
else
|
||||
begin
|
||||
result := false;
|
||||
done := false;
|
||||
// see TTreeFilterEdit: they pass TObject(TTreeNode.Data) and not a TTreeNode
|
||||
if Pointer(item).isNil then
|
||||
exit;
|
||||
shc := TShortcutItem(item);
|
||||
result := AnsiContainsText(shc.combination, fltItems.Filter);
|
||||
done := true;
|
||||
end;
|
||||
end;
|
||||
|
||||
procedure TCEShortcutEditor.LabeledEdit1KeyDown(Sender: TObject; var Key: Word; Shift: TShiftState);
|
||||
var
|
||||
i: integer;
|
||||
|
|
Loading…
Reference in New Issue