private void AddPluginEntry(PluginDescription pluginDescription)
        {
            var entry = new PluginEntryListItem(pluginDescription);

            entry.Changed += OnEntryChanged;
            pluginList.Items.Add(entry);
        }
        public PluginEntryListItem(PluginDescription pluginDescription)
        {
            _pluginDescription = pluginDescription;
            InitializeComponent();

            MapImageState();
            TextName.Text          = _pluginDescription.Name;
            CheckEnabled.IsChecked = _pluginDescription.Enabled;
        }
        private void UpdatePluginList()
        {
            BuildConfigPluginList();
            var availablePlugins = ScanFolder();

            pluginList.Items.Clear();
            foreach (var name in _autoPluginListNames)
            {
                availablePlugins.Remove(name.Key);
                var pluginDescription = new PluginDescription
                {
                    Name = name.Key, State = PluginState.Removable, Enabled = name.Value
                };
                AddPluginEntry(pluginDescription);
            }
            foreach (var availableName in availablePlugins)
            {
                var pluginDescription = new PluginDescription
                {
                    Name = availableName, State = PluginState.Available, Enabled = true
                };
                AddPluginEntry(pluginDescription);
            }
        }