public PomodoroEngineSettingWindow(PomodoroEngineSettings settings, IPomodoroEngine engine, PomodoroProfileSettings profileSettings)
        {
            settings.DeferChanges();
            InitializeComponent();

            var counterValues = new List <CounterListItem>
            {
                new CounterListItem {
                    Item = CounterEnum.CompletedThisSession, Title = "Completed this session"
                },
                new CounterListItem {
                    Item = CounterEnum.CompletedToday, Title = "Competed today"
                },
                new CounterListItem {
                    Item = CounterEnum.PomodoroIndex, Title = "Pomodoro index"
                },
            };

            CounterList.ItemsSource = counterValues;

            Settings    = settings;
            Engine      = engine;
            DataContext = this;

            ProfileSetting.Children.Clear();
            ProfileSetting.Children.Add(profileSettings);
        }
        public SoundSettingWindow(SoundNotificationSettingWindow soundNotification, MusicPlayerPluginSettingWindow musicPlayer, PomodoroEngineSettings engineSettings)
        {
            InitializeComponent();
            Container.Children.Add(soundNotification);
            Container.Children.Add(musicPlayer);

            engineSettings.DeferChanges();

            DataContext = engineSettings;
        }
        public PomodoroProfileSettings(PomodoroEngineSettings settings, IPomodoroEngine engine)
        {
            settings.DeferChanges();

            InitializeComponent();

            var oneHour = Enumerable.Range(1, 60).Reverse().ToList();

            WorkTimeSelect.ItemsSource      = oneHour;
            BreakTimeSelect.ItemsSource     = oneHour;
            LongBreakTimeSelect.ItemsSource = oneHour;
            Settings = settings;
            Engine   = engine;

            Engine.PropertyChanged += Engine_PropertyChanged;

            Unloaded   += PomodoroProfileSettings_Unloaded;
            DataContext = this;
            ActiveProfileSelect.ItemsSource       = Profiles;
            ActiveProfileSelect.SelectionChanged += ActiveProfile_SelectectionChanged;
            RefreshProfilesList();
        }