public void SetUp()
        {
            hkcu.DeleteSubKeyTree(TestKeyPath, false);
            var baseKey = hkcu.CreateSubKey(TestKeyPath);

            this.settingsRepository = new TerminalSettingsRepository(baseKey);
        }
        public TerminalOptionsViewModel(
            TerminalSettingsRepository settingsRepository)
        {
            this.settingsRepository = settingsRepository;

            //
            // Read current settings.
            //
            // NB. Do not hold on to the settings object because other tabs
            // might apply changes to other application settings.
            //
            var settings = this.settingsRepository.GetSettings();

            this.IsCopyPasteUsingCtrlCAndCtrlVEnabled =
                settings.IsCopyPasteUsingCtrlCAndCtrlVEnabled.BoolValue;
            this.IsCopyPasteUsingShiftInsertAndCtrlInsertEnabled =
                settings.IsCopyPasteUsingShiftInsertAndCtrlInsertEnabled.BoolValue;
            this.IsSelectAllUsingCtrlAEnabled =
                settings.IsSelectAllUsingCtrlAEnabled.BoolValue;
            this.IsSelectUsingShiftArrrowEnabled =
                settings.IsSelectUsingShiftArrrowEnabled.BoolValue;
            this.IsQuoteConvertionOnPasteEnabled =
                settings.IsQuoteConvertionOnPasteEnabled.BoolValue;
            this.IsNavigationUsingControlArrrowEnabled =
                settings.IsNavigationUsingControlArrrowEnabled.BoolValue;

            this.isDirty = false;
        }
        public TerminalOptionsViewModel(
            TerminalSettingsRepository settingsRepository)
        {
            this.settingsRepository = settingsRepository;

            //
            // Read current settings.
            //
            // NB. Do not hold on to the settings object because other tabs
            // might apply changes to other application settings.
            //
            var settings = this.settingsRepository.GetSettings();

            this.IsCopyPasteUsingCtrlCAndCtrlVEnabled =
                settings.IsCopyPasteUsingCtrlCAndCtrlVEnabled.BoolValue;
            this.IsCopyPasteUsingShiftInsertAndCtrlInsertEnabled =
                settings.IsCopyPasteUsingShiftInsertAndCtrlInsertEnabled.BoolValue;
            this.IsSelectAllUsingCtrlAEnabled =
                settings.IsSelectAllUsingCtrlAEnabled.BoolValue;
            this.IsSelectUsingShiftArrrowEnabled =
                settings.IsSelectUsingShiftArrrowEnabled.BoolValue;
            this.IsQuoteConvertionOnPasteEnabled =
                settings.IsQuoteConvertionOnPasteEnabled.BoolValue;
            this.IsNavigationUsingControlArrrowEnabled =
                settings.IsNavigationUsingControlArrrowEnabled.BoolValue;
            this.IsScrollingUsingCtrlUpDownEnabled =
                settings.IsScrollingUsingCtrlUpDownEnabled.BoolValue;
            this.IsScrollingUsingCtrlHomeEndEnabled =
                settings.IsScrollingUsingCtrlHomeEndEnabled.BoolValue;
            this.terminalFont = new Font(
                settings.FontFamily.StringValue,
                TerminalSettings.FontSizeFromDword(settings.FontSizeAsDword.IntValue));

            this.isDirty = false;
        }
        public void WhenKeyEmpty_ThenDefaultsAreProvided()
        {
            var baseKey    = hkcu.CreateSubKey(TestKeyPath);
            var repository = new TerminalSettingsRepository(baseKey);

            var settings = repository.GetSettings();

            Assert.IsTrue(settings.IsCopyPasteUsingCtrlCAndCtrlVEnabled.BoolValue);
            Assert.IsFalse(settings.IsSelectAllUsingCtrlAEnabled.BoolValue);
            Assert.IsTrue(settings.IsCopyPasteUsingShiftInsertAndCtrlInsertEnabled.BoolValue);
            Assert.IsTrue(settings.IsSelectUsingShiftArrrowEnabled.BoolValue);
            Assert.IsTrue(settings.IsQuoteConvertionOnPasteEnabled.BoolValue);
            Assert.IsTrue(settings.IsNavigationUsingControlArrrowEnabled.BoolValue);
        }
예제 #5
0
        public void WhenKeyEmpty_ThenDefaultsAreProvided()
        {
            var baseKey    = hkcu.CreateSubKey(TestKeyPath);
            var repository = new TerminalSettingsRepository(baseKey);

            var settings = repository.GetSettings();

            Assert.IsTrue(settings.IsCopyPasteUsingCtrlCAndCtrlVEnabled.BoolValue);
            Assert.IsFalse(settings.IsSelectAllUsingCtrlAEnabled.BoolValue);
            Assert.IsTrue(settings.IsCopyPasteUsingShiftInsertAndCtrlInsertEnabled.BoolValue);
            Assert.IsTrue(settings.IsSelectUsingShiftArrrowEnabled.BoolValue);
            Assert.IsTrue(settings.IsQuoteConvertionOnPasteEnabled.BoolValue);
            Assert.IsTrue(settings.IsNavigationUsingControlArrrowEnabled.BoolValue);
            Assert.IsTrue(settings.IsScrollingUsingCtrlUpDownEnabled.BoolValue);
            Assert.IsTrue(settings.IsScrollingUsingCtrlHomeEndEnabled.BoolValue);
            Assert.AreEqual(TerminalFont.DefaultFontFamily, settings.FontFamily.StringValue);
            Assert.AreEqual(TerminalFont.DefaultSize,
                            TerminalSettings.FontSizeFromDword(settings.FontSizeAsDword.IntValue));
        }
        public void WhenSettingsChanged_ThenEventIsFired()
        {
            var baseKey    = hkcu.CreateSubKey(TestKeyPath);
            var repository = new TerminalSettingsRepository(baseKey);

            bool eventFired = false;

            repository.SettingsChanged += (sender, args) =>
            {
                Assert.AreSame(repository, sender);
                Assert.IsTrue(args.Data.IsSelectAllUsingCtrlAEnabled.BoolValue);
                eventFired = true;
            };

            var settings = repository.GetSettings();

            Assert.IsFalse(settings.IsSelectAllUsingCtrlAEnabled.BoolValue);
            settings.IsSelectAllUsingCtrlAEnabled.BoolValue = true;

            repository.SetSettings(settings);

            Assert.IsTrue(eventFired);
        }