12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364 |
- using System.Linq;
- using System.Windows.Forms;
- using FastReport.Utils;
- namespace FastReport.Forms
- {
- public partial class ShortcutEditorForm : BaseDialogForm
- {
- private Keys keys;
- public Keys Keys
- {
- get { return keys; }
- set { keys = value; lblKeybinding.Text = Converter.ShortcutKeysToStr(Keys); }
- }
- /// <inheritdoc/>
- protected override bool ProcessDialogKey(Keys keyData)
- {
- if (IsValidKeys(keyData))
- {
- lblKeybinding.Text = Converter.ShortcutKeysToStr(keyData);
- Keys = keyData;
- }
- else
- {
- lblKeybinding.Text = Res.Get("Forms,ShortcutEditor,UnsupportedShortcut");
- keys = Keys.None;
- }
- if (keyData == Keys.Enter || keyData == Keys.Escape)
- return base.ProcessDialogKey(keyData);
- return true;
- }
- private bool IsValidKeys(Keys keyData)
- {
- var keys = Converter.ValidShortcutKeys.Keys.ToList();
- keys.Sort();
- keys.Reverse();
- foreach (var k in keys)
- {
- if (keyData.HasFlag(k))
- keyData &= ~k;
- }
- return keyData == Keys.None;
- }
- public ShortcutEditorForm()
- {
- InitializeComponent();
- Localize();
- }
- /// <inheritdoc/>
- public override void Localize()
- {
- base.Localize();
- MyRes res = new MyRes("Forms,ShortcutEditor");
- Text = res.Get("");
- lblNeedInput.Text = res.Get("NeedInputShortcut");
- }
- }
- }
|