public void OpenAddFromCodeDialog(object sender, RoutedEventArgs e)
        {
            var editor = new ScriptEditor();

            editor.SaveAndClose += (object s, ScriptEditor.ScriptSaveEventArgs scriptData) =>
            {
                var scriptCode = scriptData.Script.Code.Replace("\r", "");
                //var scriptHash = ScriptManagerPlugin.GetMD5Hash(scriptCode);
                var scriptEntry = new ScriptEntry()
                {
                    Name    = scriptData.Script.Name,
                    Enabled = false
                };
                scriptEntry.Code = scriptCode;
                (DataContext as ScriptManagerConfig).Whitelist.Add(scriptEntry);
            };

            editor.Show();
        }
        private void EditSelectedScript(object sender, RoutedEventArgs e)
        {
            var editor = new ScriptEditor();
            var script = WhitelistTable.SelectedItem as ScriptEntry;

            editor.LoadScript(script);

            editor.SaveAndClose += (object s, ScriptEditor.ScriptSaveEventArgs scriptData) =>
            {
                var scriptCode = scriptData.Script.Code.Replace("\r", "");
                //var scriptHash = ScriptManagerPlugin.GetMD5Hash(scriptCode);
                script.Name        = scriptData.Script.Name;
                script.Code        = scriptCode;
                script.KeepUpdated = scriptData.Script.KeepUpdated;
                //script.MD5Hash = scriptHash;
                WhitelistUpdated(this, null);
            };

            editor.Show();
        }