X-Git-Url: https://git.piment-noir.org/?a=blobdiff_plain;f=src%2FLibCecTray%2Fcontroller%2Fapplications%2FCecButtonConfig.cs;h=2afa257cf8f2365e67f0b22d960333bdeadc92fc;hb=bd7729effaee0b3736f82cfb091e4e00e61c9e04;hp=63aba6c84616971c5206bf1142d7eccd59059294;hpb=f017f3c49b9136fbffe49fa3eaf372c51617140d;p=deb_libcec.git diff --git a/src/LibCecTray/controller/applications/CecButtonConfig.cs b/src/LibCecTray/controller/applications/CecButtonConfig.cs index 63aba6c..2afa257 100644 --- a/src/LibCecTray/controller/applications/CecButtonConfig.cs +++ b/src/LibCecTray/controller/applications/CecButtonConfig.cs @@ -1,7 +1,7 @@ /* * This file is part of the libCEC(R) library. * - * libCEC(R) is Copyright (C) 2011-2012 Pulse-Eight Limited. All rights reserved. + * libCEC(R) is Copyright (C) 2011-2013 Pulse-Eight Limited. All rights reserved. * libCEC(R) is an original work, containing original code. * * libCEC(R) is a trademark of Pulse-Eight Limited. @@ -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()