Beispiel #1
0
        public SettingsWindow(Configuration currentConfig)
        {
            Config = CloneUtils.DeepCopy(currentConfig);
            Config.StartTrackingChanges();
            InitializeComponent();
            DataContext = Config;

            if (currentConfig.PromptForFileName)
            {
                promptFileNameRadioButton.IsChecked = true;
            }
            else
            {
                generateFileNameRadioButton.IsChecked = true;
            }

            _presetValues = LAMEPresetWrapper.GetPresetValues();
            _abrValues    = LAMEPresetWrapper.GetAbrValues();
            _vbrValues    = LAMEPresetWrapper.GetVbrValues();

            if (_presetValues.Any(x => x.LamePreset == Config.MP3EncodingPreset))
            {
                Config.MP3EncodingPresets          = _presetValues;
                presetBitrateRadioButton.IsChecked = true;
            }
            else if (_abrValues.Any(x => x.LamePreset == Config.MP3EncodingPreset))
            {
                Config.MP3EncodingPresets           = _abrValues;
                averageBitRateRadioButton.IsChecked = true;
            }
            else if (_vbrValues.Any(x => x.LamePreset == Config.MP3EncodingPreset))
            {
                Config.MP3EncodingPresets            = _vbrValues;
                variableBitRateRadioButton.IsChecked = true;
            }

            foreach (KeyValuePair <HotkeyType, Tuple <Key, ModifierKeys> > hotkey in currentConfig.GlobalHotkeys)
            {
                FillHotkeyField(hotkey.Key, hotkey.Value.Item1, hotkey.Value.Item2);
            }

            SetPreview();

            SourceInitialized += delegate { this.HideMinimizeAndMaximizeButtons(); };
        }