X-Git-Url: https://git.piment-noir.org/?a=blobdiff_plain;f=src%2FLibCecTray%2Fcontroller%2Fapplications%2FCecButtonConfig.cs;h=35300bd7688adc6150ca875c0f4c1c1abb9f8da0;hb=324a4cb1d256252a4cd506e90e158828e160b0ed;hp=63aba6c84616971c5206bf1142d7eccd59059294;hpb=177e3a7bd4b27cd89d1bebde78e9dbbd804e0f71;p=deb_libcec.git diff --git a/src/LibCecTray/controller/applications/CecButtonConfig.cs b/src/LibCecTray/controller/applications/CecButtonConfig.cs index 63aba6c..35300bd 100644 --- a/src/LibCecTray/controller/applications/CecButtonConfig.cs +++ b/src/LibCecTray/controller/applications/CecButtonConfig.cs @@ -33,6 +33,7 @@ using System.Collections.Generic; using CecSharp; using LibCECTray.settings; +using System; namespace LibCECTray.controller.applications { @@ -269,6 +270,27 @@ namespace LibCECTray.controller.applications public CecButtonConfig(ApplicationController controller) { _controller = controller; + + foreach (CecUserControlCode key in Enum.GetValues(typeof(CecUserControlCode))) + AddConfigItem(new CecButtonConfigItem(controller, (new CecKeypress { Keycode = key }))); + + Load(); + } + + private void AddConfigItem(CecButtonConfigItem item) + { + if (!HasItem(item) && item.Key.Keycode != CecUserControlCode.Unknown) + Add(item); + } + + public bool HasItem(CecButtonConfigItem item) + { + foreach (var entry in this) + { + if (item.Key.Keycode == entry.Key.Keycode) + return true; + } + return false; } public void Load()