From a0425c4e9a2955f92b95eeb52ed9b4fd26d7e63b Mon Sep 17 00:00:00 2001 From: Basile Burg Date: Thu, 26 Jan 2017 02:28:16 +0100 Subject: [PATCH] shortcut editor, replace the shortcut catcher by the one used in an object inspector --- docs/img/options_shortcuts.png | Bin 0 -> 82856 bytes docs/options_shortcuts_editor.md | 19 +++- src/ce_shortcutseditor.lfm | 68 ++++++-------- src/ce_shortcutseditor.pas | 149 +++++++++++++++---------------- 4 files changed, 116 insertions(+), 120 deletions(-) create mode 100644 docs/img/options_shortcuts.png diff --git a/docs/img/options_shortcuts.png b/docs/img/options_shortcuts.png new file mode 100644 index 0000000000000000000000000000000000000000..7bbc558356db2481f8989c713c6782fa66c17843 GIT binary patch literal 82856 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

-pk~0fIAIX=p93fj8kx}V8Spaq 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: Deletes the current assignation. +- : Displays the editor. The shortcut can also be selected in the combo menu. + +After an assignation attempt and if the selected combination is already used the new shortcut is not validated and a warning is displayed. \ No newline at end of file diff --git a/src/ce_shortcutseditor.lfm b/src/ce_shortcutseditor.lfm index 1c4468df..24ed950a 100644 --- a/src/ce_shortcutseditor.lfm +++ b/src/ce_shortcutseditor.lfm @@ -62,54 +62,42 @@ object CEShortcutEditor: TCEShortcutEditor ClientHeight = 26 ClientWidth = 420 TabOrder = 2 - object schrtText: TStaticText - Left = 0 - Height = 22 - Top = 2 - Width = 247 - Align = alClient - Alignment = taCenter - BorderSpacing.Top = 2 - BorderSpacing.Bottom = 2 - BorderStyle = sbsSunken - TabOrder = 0 - end - object shortcutCatcher: TEdit - Left = 299 - Height = 22 - Hint = 'type a key combination while active' - Top = 2 - Width = 120 - Align = alRight - BorderSpacing.Top = 1 - BorderSpacing.Bottom = 1 - BorderSpacing.Around = 1 - Enabled = False - OnExit = shortcutCatcherExit - OnKeyDown = LabeledEdit1KeyDown - OnMouseLeave = shortcutCatcherMouseLeave - TabOrder = 1 - end - object btnActivate: TSpeedButton - Left = 274 - Height = 22 - Hint = 'enable shortcut capture' - Top = 2 - Width = 23 - Align = alRight - BorderSpacing.Around = 2 - OnClick = btnActivateClick - end object btnClear: TSpeedButton - Left = 249 + Left = 2 Height = 22 Hint = 'clear shortcut' Top = 2 Width = 23 - Align = alRight + Align = alLeft BorderSpacing.Around = 2 + Flat = True OnClick = btnClearClick end + object propedit: TTIPropertyGrid + Left = 52 + Height = 26 + Top = 0 + Width = 368 + Align = alClient + CheckboxForBoolean = False + DefaultValueFont.Color = clWindowText + Filter = [tkInteger, tkChar, tkEnumeration, tkFloat, tkSet, tkMethod, tkSString, tkLString, tkAString, tkWString, tkVariant, tkArray, tkRecord, tkInterface, tkClass, tkObject, tkWChar, tkBool, tkInt64, tkQWord, tkDynArray, tkInterfaceRaw, tkProcVar, tkUString, tkUChar, tkHelper, tkFile, tkClassRef, tkPointer] + Indent = 10 + NameFont.Color = clWindowText + OnModified = propeditModified + ValueFont.Color = clMaroon + end + object btnEdit: TSpeedButton + Left = 27 + Height = 22 + Hint = 'edit selected shortcut' + Top = 2 + Width = 23 + Align = alLeft + BorderSpacing.Around = 2 + Flat = True + OnClick = btnEditClick + end end end end diff --git a/src/ce_shortcutseditor.pas b/src/ce_shortcutseditor.pas index 9b0a1e76..f47e7888 100644 --- a/src/ce_shortcutseditor.pas +++ b/src/ce_shortcutseditor.pas @@ -6,9 +6,9 @@ interface uses Classes, SysUtils, FileUtil, TreeFilterEdit, Forms, Controls, Menus, Graphics, - ExtCtrls, LCLProc, ComCtrls, StdCtrls, Buttons, LCLType, PropEdits, strutils, - ce_sharedres, ce_observer, ce_interfaces, ce_common, ce_writableComponent, - ce_dialogs, EditBtn; + ExtCtrls, LCLProc, ComCtrls, Buttons, LCLType, PropEdits, RTTIGrids, + strutils, ce_sharedres, ce_observer, ce_interfaces, ce_common, + ce_writableComponent, ce_dialogs, EditBtn; type @@ -46,29 +46,36 @@ type property item[index: Integer]: TShortcutItem read getItem; default; end; + TEditableShortcut = class(TPersistent) + public + value: TShortCut; + published + property shortcut: TShortCut read value write value; + end; + { TCEShortcutEditor } TCEShortcutEditor = class(TFrame, ICEEditableOptions) btnClear: TSpeedButton; - shortcutCatcher: TEdit; + btnEdit: TSpeedButton; Panel1: TPanel; fltItems: TTreeFilterEdit; Panel2: TPanel; - schrtText: TStaticText; - btnActivate: TSpeedButton; + propedit: TTIPropertyGrid; tree: TTreeView; - procedure btnActivateClick(Sender: TObject); procedure btnClearClick(Sender: TObject); + procedure btnEditClick(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); + procedure propeditModified(Sender: TObject); procedure treeSelectionChanged(Sender: TObject); private fObservers: TCEEditableShortCutSubject; fShortcuts: TShortCutCollection; fBackup: TShortCutCollection; fHasChanged: boolean; + propvalue: TEditableShortcut; // function optionedWantCategory(): string; function optionedWantEditorKind: TOptionEditorKind; @@ -82,8 +89,7 @@ type procedure receiveShortcuts; procedure updateEditCtrls; procedure sendShortcuts; - protected - procedure UpdateShowing; override; + function anItemIsSelected: boolean; public constructor create(TheOwner: TComponent); override; destructor destroy; override; @@ -175,25 +181,29 @@ end; constructor TCEShortcutEditor.create(TheOwner: TComponent); begin inherited; + propvalue := TEditableShortcut.Create; fObservers := TCEEditableShortCutSubject.create; fShortcuts := TShortCutCollection.create(self); fBackup := TShortCutCollection.create(self); AssignPng(btnClear, 'CLEAN'); + AssignPng(btnEdit, 'KEYBOARD_PENCIL'); EntitiesConnector.addObserver(self); + propedit.TIObject := propvalue; + propedit.PropertyEditorHook.AddHandlerModified(@propeditModified); end; destructor TCEShortcutEditor.destroy; begin + propvalue.Free; fObservers.Free; inherited; end; -procedure TCEShortcutEditor.UpdateShowing; +function TCEShortcutEditor.anItemIsSelected: boolean; begin - inherited; - if not visible then exit; - // - AssignPng(btnActivate, 'KEYBOARD_PENCIL'); + result := true; + if tree.Selected.isNil or (tree.Selected.Level = 0) or tree.Selected.Data.isNil then + result := false; end; {$ENDREGION} @@ -247,43 +257,62 @@ end; procedure TCEShortcutEditor.shortcutCatcherExit(Sender: TObject); begin - shortcutCatcher.Enabled := false; updateEditCtrls; end; procedure TCEShortcutEditor.shortcutCatcherMouseLeave(Sender: TObject); begin - shortcutCatcher.Enabled := false; updateEditCtrls; end; -procedure TCEShortcutEditor.btnActivateClick(Sender: TObject); +procedure TCEShortcutEditor.propeditModified(Sender: TObject); +var + i: integer; + sh: TShortCut; + sht: string; + dup: TShortcutItem = nil; +const + msg = '"%s" is already assigned in the same category by "%s". The new shortcut will be ignored'; begin - if tree.Selected.isNil then exit; - if tree.Selected.Level = 0 then exit; - if tree.Selected.Data.isNil then exit; - // - shortcutCatcher.Enabled := not shortcutCatcher.Enabled; - if shortcutCatcher.Enabled then - shortcutCatcher.SetFocus; + if not anItemIsSelected then + exit; + sh := propvalue.value; + sht := shortCutToText(sh); + if sht.isEmpty then + exit; + for i:= 0 to tree.Selected.Parent.Count-1 do + if i <> tree.Selected.Index then + if TShortcutItem(tree.Selected.Parent.Items[i].Data).data = sh then + dup := TShortcutItem(tree.Selected.Parent.Items[i].Data); + if dup.isNotNil then + dlgOkInfo(format(msg,[ShortCutToText(sh), dup.identifier])) + else if TShortcutItem(tree.Selected.Data).data <> sh then + begin + TShortcutItem(tree.Selected.Data).data := sh; + fHasChanged := true; + end; + updateEditCtrls; end; procedure TCEShortcutEditor.btnClearClick(Sender: TObject); begin - if tree.Selected.isNil then exit; - if tree.Selected.Level = 0 then exit; - if tree.Selected.Data.isNil then exit; - // + if not anItemIsSelected then + exit; if TShortcutItem(tree.Selected.Data).data <> 0 then begin TShortcutItem(tree.Selected.Data).data := 0; fHasChanged := true; end; - // - shortcutCatcher.Enabled := false; updateEditCtrls; end; +procedure TCEShortcutEditor.btnEditClick(Sender: TObject); +begin + if not anItemIsSelected then + exit; + propedit.Rows[0].Editor.Edit; +end; + function TCEShortcutEditor.fltItemsFilterItem(Item: TObject; out Done: Boolean): Boolean; var shc: TShortcutItem; @@ -306,56 +335,18 @@ begin end; end; -procedure TCEShortcutEditor.LabeledEdit1KeyDown(Sender: TObject; var Key: Word; Shift: TShiftState); -var - i: integer; - sh: TShortCut; - sht: string; - dup: TShortcutItem = nil; -const - msg = '"%s" is already assigned in the same category by "%s". The new shortcut will be ignored'; -begin - if tree.Selected.isNil then exit; - if tree.Selected.Level = 0 then exit; - if tree.Selected.Data.isNil then exit; - // - if Key = VK_RETURN then - shortcutCatcher.Enabled := false - else - begin - sh := Shortcut(Key, Shift); - sht := shortCutToText(sh); - if sht.isEmpty then - exit; - for i:= 0 to tree.Selected.Parent.Count-1 do - if i <> tree.Selected.Index then - if TShortcutItem(tree.Selected.Parent.Items[i].Data).data = sh then - dup := TShortcutItem(tree.Selected.Parent.Items[i].Data); - if dup.isNotNil then - dlgOkInfo(format(msg,[ShortCutToText(sh), dup.identifier])) - else if TShortcutItem(tree.Selected.Data).data <> sh then - begin - TShortcutItem(tree.Selected.Data).data := sh; - fHasChanged := true; - end; - end; - // - updateEditCtrls; -end; - procedure TCEShortcutEditor.updateEditCtrls; +var + shc: TShortcutItem; begin - schrtText.Caption := ''; - shortcutCatcher.TextHint := '(Enter shortcut)'; - // - if tree.Selected.isNil then exit; - if tree.Selected.Level = 0 then exit; - if tree.Selected.Data.isNil then exit; - // - schrtText.Caption := TShortcutItem(tree.Selected.Data).combination; - shortcutCatcher.Text := ''; - if schrtText.Caption <> '' then - shortcutCatcher.TextHint := '(' + schrtText.Caption + ')'; + if not anItemIsSelected then + exit; + shc := TShortcutItem(tree.Selected.Data); + if propvalue.value <> shc.data then + begin + propvalue.value := shc.data; + propedit.Update; + end; end; function TCEShortcutEditor.findCategory(const aName: string; aData: Pointer): TTreeNode;