示例#1
0
        public EditScriptWindow(Script script, Dictionary <string, Script> scripts)
        {
            InitializeComponent();
            DataContext = this;
            SearchPanel.Install(scriptView);

            this._scripts = scripts;
            this.script   = script;

            if (script == null)
            {
                // This is a new script
                editorScript = new Script("New script", null, false, null);
            }
            else
            {
                // This is an existing script
                editorScript = script.Copy();
            }

            // See if there is the default value for this script is empty
            if (string.IsNullOrWhiteSpace(editorScript.defaultValue))
            {
                // No default; disable reset and show
                showDiffButton.IsEnabled       = false;
                resetToDefaultButton.IsEnabled = false;
            }

            scriptView.Text       = editorScript.Value;
            ScriptRecoveryService = new ScriptRecoveryService(this);
            ScriptRecoveryService.BeginScriptRecovery();
            scriptView.TextChanged += ScriptView_TextChanged;
        }
        public ConfigurationWindow()
        {
            InitializeComponent();
            DataContext = this;

            ObservableCollection <Personality> personalities = new ObservableCollection <Personality>
            {
                // Add our default personality
                Personality.Default()
            };

            // Add local personalities
            foreach (Personality personality in Personality.AllFromDirectory())
            {
                if (personality != null)
                {
                    personalities.Add(personality);
                }
            }
            Personalities = personalities;

            SpeechResponderConfiguration configuration = SpeechResponderConfiguration.FromFile();

            subtitlesCheckbox.IsChecked     = configuration.Subtitles;
            subtitlesOnlyCheckbox.IsChecked = configuration.SubtitlesOnly;

            foreach (Personality personality in Personalities)
            {
                if (personality.Name == configuration.Personality)
                {
                    Personality = personality;
                    break;
                }
            }

            Dispatcher.BeginInvoke(new Action(() =>
            {
                var recoveredScript = ScriptRecoveryService.GetRecoveredScript();
                if (recoveredScript != null)
                {
                    var messageBoxResult = MessageBox.Show(Properties.SpeechResponder.messagebox_recoveredScript,
                                                           Properties.SpeechResponder.messagebox_recoveredScript_title,
                                                           MessageBoxButton.YesNo, MessageBoxImage.Warning, MessageBoxResult.Yes,
                                                           MessageBoxOptions.DefaultDesktopOnly);
                    if (messageBoxResult == MessageBoxResult.Yes)
                    {
                        Personality.Scripts[recoveredScript.Name] = recoveredScript;
                        OpenEditScriptWindow(recoveredScript);
                    }
                }
            }), DispatcherPriority.ApplicationIdle);
        }
示例#3
0
        public EditScriptWindow(Dictionary <string, Script> scripts, string name)
        {
            InitializeComponent();
            DataContext = this;
            SearchPanel.Install(scriptView);

            this._scripts     = scripts;
            this.originalName = name;

            scripts.TryGetValue(name, out _script);
            if (_script == null)
            {
                // This is a new script
                ScriptName        = "New script";
                ScriptDescription = null;
                ScriptValue       = null;
                Responder         = false;
                Priority          = 3;
            }
            else
            {
                // This is an existing script
                ScriptName         = _script.Name;
                ScriptDescription  = _script.Description;
                ScriptValue        = _script.Value;
                ScriptDefaultValue = _script.defaultValue;
                Responder          = _script.Responder;
                Priority           = _script.Priority;
            }

            // See if there is the default value for this script is empty
            if (string.IsNullOrWhiteSpace(ScriptDefaultValue))
            {
                // No default; disable reset and show
                showDiffButton.IsEnabled       = false;
                resetToDefaultButton.IsEnabled = false;
            }

            scriptView.Text       = scriptValue;
            ScriptRecoveryService = new ScriptRecoveryService(this);
            ScriptRecoveryService.BeginScriptRecovery();
            scriptView.TextChanged += ScriptView_TextChanged;
        }