public IConfiguration Read(XmlReader reader)
        {
            ITaskTimeTrackerConfiguration result = new TaskTimeTrackerConfiguration();

            ReadShortCutSection(result, reader);
            ReadSetStampOnStartupSection(result, reader);
            ReadSetStampOnLockScreen(result, reader);
            return(result);
        }
        public override IConfiguration CreateDefaultConfiguration()
        {
            TaskTimeTrackerConfiguration result = new TaskTimeTrackerConfiguration();

            result.ControlIsChecked = true;
            result.WindowsIsChecked = true;
            result.AltIsChecked     = false;
            result.KeyOne           = Key.N;

            result.ScreenLockedText   = "Away";
            result.ScreenUnlockedText = "Back";
            return(result);
        }
        public override void CreateFromViewModel(IConfigurationWindowViewModel viewModel)
        {
            ITaskTimeTrackerConfiguration config = new TaskTimeTrackerConfiguration();

            config.KeyOne           = viewModel.KeyOne;
            config.AltIsChecked     = viewModel.AltIsChecked;
            config.ControlIsChecked = viewModel.ControlIsChecked;
            config.WindowsIsChecked = viewModel.WindowsIsChecked;

            config.StartupStampText           = viewModel.StartupStampText;
            config.SetStampOnStartupIsChecked = viewModel.SetStampOnStartupIsChecked;

            config.SetStampOnLockIsChecked = viewModel.SetStampOnLockIsChecked;
            config.ScreenLockedText        = viewModel.ScreenLockedText;
            config.ScreenUnlockedText      = viewModel.ScreenUnlockedText;

            this.Configuration = config;
        }