Ejemplo n.º 1
0
        public void AddButton(StreamDeckButton streamDeckButton, bool silently = false)
        {
            streamDeckButton.RegisterButtonToStaticList();
            streamDeckButton.IsVisible = _isVisible;

            var found = false;

            foreach (var button in _streamDeckButtons)
            {
                if (button.StreamDeckButtonName == streamDeckButton.StreamDeckButtonName)
                {
                    button.Consume(streamDeckButton);
                    found = true;
                    break;
                }
            }

            if (!found)
            {
                _streamDeckButtons.Add(streamDeckButton);
            }

            if (!silently)
            {
                NotifyChanges();
            }
        }
        public bool CheckIfWouldOverwrite(StreamDeckButton newStreamDeckButton)
        {
            var result = _buttonFace != null && newStreamDeckButton.Face != null ||
                         _buttonActionForPress != null && newStreamDeckButton.ActionForPress != null ||
                         _buttonActionForRelease != null && newStreamDeckButton.ActionForRelease != null;

            return(result);
        }
        public bool Consume(bool overwrite, StreamDeckButton streamDeckButton)
        {
            var result = false;

            if (_buttonFace != null && streamDeckButton.Face != null)
            {
                if (overwrite)
                {
                    Face?.Dispose();
                    Face = streamDeckButton.Face;
                    Face.StreamDeckButtonName = _streamDeckButtonName;
                    result = true;
                }
            }
            else if (_buttonFace == null && streamDeckButton.Face != null)
            {
                Face = streamDeckButton.Face;
                Face.StreamDeckButtonName = _streamDeckButtonName;
                result = true;
            }

            if (_buttonActionForPress != null && streamDeckButton.ActionForPress != null)
            {
                if (overwrite)
                {
                    _buttonActionForPress = streamDeckButton.ActionForPress;
                    result = true;
                }
            }
            else if (_buttonActionForPress == null && streamDeckButton.ActionForPress != null)
            {
                _buttonActionForPress = streamDeckButton.ActionForPress;
                result = true;
            }


            if (_buttonActionForRelease != null && streamDeckButton.ActionForRelease != null)
            {
                if (overwrite)
                {
                    _buttonActionForRelease = streamDeckButton.ActionForRelease;
                    result = true;
                }
            }
            else if (_buttonActionForRelease == null && streamDeckButton.ActionForRelease != null)
            {
                _buttonActionForRelease = streamDeckButton.ActionForRelease;
                result = true;
            }

            return(result);
        }
Ejemplo n.º 4
0
        public string GetKeyPressForLoggingPurposes(StreamDeckButton streamDeckButton)
        {
            var result = "";

            /*foreach (var keyBinding in _keyBindings)
             * {
             *  if (keyBinding.OSKeyPress != null && keyBinding.EnumStreamDeckButtonName == enumStreamDeckButton.EnumStreamDeckButtonName && keyBinding.WhenTurnedOn == enumStreamDeckButton.IsPressed)
             *  {
             *      result = keyBinding.OSKeyPress.GetNonFunctioningVirtualKeyCodesAsString();
             *  }
             * }*/
            return(result);
        }
Ejemplo n.º 5
0
 private void Dispose(bool disposing)
 {
     ReleaseUnmanagedResources();
     if (disposing)
     {
         StreamDeckButton.DisposeAll();
         _streamDeckBoard.KeyStateChanged -= StreamDeckKeyListener;
         _streamDeckBoard?.Dispose();
         StreamDeckPanels.Remove(this);
         EventHandlers.DetachStreamDeckListener(this);
         EventHandlers.DetachStreamDeckConfigListener(this);
         Closed = true;
     }
 }
Ejemplo n.º 6
0
 public void Consume(StreamDeckButton newStreamDeckButton)
 {
     if (!this.Equals(newStreamDeckButton))
     {
         ClearConfiguration();
     }
     ActionForPress   = newStreamDeckButton.ActionForPress;
     ActionForRelease = newStreamDeckButton.ActionForRelease;
     Face             = newStreamDeckButton.Face;
     if (Face != null)
     {
         Face.StreamDeckButtonName = _streamDeckButtonName;
     }
 }
        public void ImportJSONSettings(string jsonText)
        {
            if (string.IsNullOrEmpty(jsonText))
            {
                return;
            }

            _jsonSettings.MissingMemberHandling = MissingMemberHandling.Error;

            Debug.WriteLine("Count #1 is " + StreamDeckButton.WarningGetStaticButtons().Count);
            _layerList = JsonConvert.DeserializeObject <List <StreamDeckLayer> >(jsonText, _jsonSettings);
            RegisterButtons();
            Debug.WriteLine("Count #2 is " + StreamDeckButton.WarningGetStaticButtons().Count);
            _layerList.SetPanel(_streamDeckPanel);
            _jsonImported = true;
            SetStreamDeckPanelInstance(_streamDeckPanel);
            CheckHomeLayerExists();
        }
Ejemplo n.º 8
0
 public void RemoveButton(StreamDeckButton streamDeckButton)
 {
     streamDeckButton.Dispose();
     _streamDeckButtons.Remove(streamDeckButton);
     NotifyChanges();
 }
Ejemplo n.º 9
0
 public void AddStreamDeckButtonToActiveLayer(StreamDeckButton streamDeckButton)
 {
     _streamDeckLayerHandler.AddStreamDeckButtonToActiveLayer(streamDeckButton);
     SetIsDirty();
 }
Ejemplo n.º 10
0
 public void AddButton(StreamDeckButton streamDeckButton)
 {
     _streamDeckButtons.Add(streamDeckButton);
 }
Ejemplo n.º 11
0
 public ButtonExport(string layerName, StreamDeckButton button)
 {
     LayerName = layerName;
     Button    = button;
 }