private async void OnClosing(object sender, CancelEventArgs cancelEventArgs)
        {
            var languageSelection = (ILateBindable)LanguageSelection.DataContext;

            languageSelection.AcceptChanges();
            var subtitleLanguagesSelection = (ILateBindable)SubtitleLanguagesSelection.DataContext;

            subtitleLanguagesSelection.AcceptChanges();

            // ReSharper disable PossibleNullReferenceException
            MovieDirectorySelection.GetBindingExpression(DirectorySelectUserControl.TextProperty).UpdateSource();
            TvShowDirectorySelection.GetBindingExpression(DirectorySelectUserControl.TextProperty).UpdateSource();
            UserNameTextBox.GetBindingExpression(TextBox.TextProperty).UpdateSource();
            PasswordTextBox.GetBindingExpression(TextBox.TextProperty).UpdateSource();
            PortTextBox.GetBindingExpression(NumericUpDown.ValueProperty).UpdateSource();
            // ReSharper restore PossibleNullReferenceException

            await _engine.SaveSettings(_configurableEngine.SettingName, _configurableEngine.SerializeSettings());

            if (_downloader != null)
            {
                await _engine.SaveSettings(_downloader.SettingName, _downloader.SerializeSettings());
            }

            await AddDirectories(_engine.MovieDirectory, _initialMovieDir);
            await AddDirectories(_engine.TvShowDirectory, _initialTvShowDir);
        }
示例#2
0
        public SettingsViewModel(INovaromaEngine engine, IDialogService dialogService, IConfigurable configurable): base(dialogService) {
            _engine = engine;
            _configurable = configurable;
            _settings = configurable.Settings;
            _initialValues = configurable.SerializeSettings();

            _editServiceSettingsCommand = new RelayCommand(EditServiceSettings);
        }
示例#3
0
        public SettingsViewModel(INovaromaEngine engine, IDialogService dialogService, IConfigurable configurable) : base(dialogService)
        {
            _engine        = engine;
            _configurable  = configurable;
            _settings      = configurable.Settings;
            _initialValues = configurable.SerializeSettings();

            _editServiceSettingsCommand = new RelayCommand(EditServiceSettings);
        }
示例#4
0
        public async Task <bool> Save()
        {
            var idei = _settings as IDataErrorInfo;

            if (idei != null)
            {
                var error = idei.Error;
                if (!string.IsNullOrEmpty(error))
                {
                    await DialogService.Error(Resources.MontyNi, error);

                    return(false);
                }
            }

            await _engine.SaveSettings(_configurable.SettingName, _configurable.SerializeSettings());

            return(true);
        }