public SettingsWindow(List<ITracker> trackers, SettingsDto dto, string version)
 {
     InitializeComponent();
     _trackers = trackers;
     TbVersion.Text = "Version: " + version;
     SetDefaultValues(dto);
 }
        private SettingsDto GetCurrentSettings()
        {
            var dto = new SettingsDto();

            try
            {
                var userEfficiencyTracker = GetUserEfficiencyTracker();
                if (userEfficiencyTracker != null)
                {
                    dto.PopUpEnabled = userEfficiencyTracker.PopUpEnabled;
                }
                if (userEfficiencyTracker != null)
                {
                    dto.PopUpInterval = (int)userEfficiencyTracker.PopUpIntervalInMins.TotalMinutes;
                }

                var userInputTracker = GetUserInputTracker();
                if (userInputTracker != null)
                {
                    dto.UserInputTrackerEnabled = userInputTracker.UserInputTrackerEnabled;
                }

                var timeSpentVisualizer = GetTimeSpentVisualizerVisualizer();
                if (timeSpentVisualizer != null)
                {
                    dto.TimeSpentShowEmailsEnabled = timeSpentVisualizer.TimeSpentShowEmailsEnabled;
                    dto.TimeSpentHideMeetingsWithoutAttendeesEnabled = timeSpentVisualizer.TimeSpentHideMeetingsWithoutAttendeesEnabled;
                    dto.TimeSpentShowProgramsEnabled = timeSpentVisualizer.TimeSpentShowProgramsEnabled;
                }

                dto.OpenRetrospectionInFullScreen = Retrospection.Handler.GetInstance().OpenRetrospectionInFullScreen;

                //var peopleVisualizer = GetPeopleVisualizer();
                var msOfficeTracker = GetMSOfficeTracker();
                dto.Office365ApiEnabled = msOfficeTracker.MsOfficeTrackerEnabled;
                //if (peopleVisualizer != null && msOfficeTracker != null) dto.Office365ApiEnabled = (peopleVisualizer.PeopleVisualizerEnabled || msOfficeTracker.MsOfficeTrackerEnabled);
                //else if (peopleVisualizer == null && msOfficeTracker != null) dto.Office365ApiEnabled = msOfficeTracker.MsOfficeTrackerEnabled;
                //else if (peopleVisualizer != null && msOfficeTracker == null) dto.Office365ApiEnabled = peopleVisualizer.PeopleVisualizerEnabled;
                //else dto.Office365ApiEnabled = false;

                var polarTracker = GetPolarTracker();
                dto.PolarTrackerEnabled = polarTracker.IsEnabled();

                var fitbitTracker = GetFitbitTracker();
                dto.FitbitTrackerEnabled    = fitbitTracker.IsEnabled();
                dto.FitbitTokenRevokEnabled = SecretStorage.GetAccessToken() != null && fitbitTracker.IsEnabled();
                dto.FitbitTokenRevoked      = dto.FitbitTokenRevokEnabled;
            }
            catch { }

            return(dto);
        }
Esempio n. 3
0
        public SettingsDto OpenSettings(SettingsDto currentSettings)
        {
            var updatedSettings = new SettingsDto();

            Application.Current.Dispatcher.Invoke(DispatcherPriority.Normal, new Action(
            () =>
            {
                _settingsWindow = new SettingsWindow(_trackers, currentSettings, _publishedAppVersion);
                //_settings.Show();
                Database.GetInstance().LogInfo("The participant opened the settings.");

                if (_settingsWindow.ShowDialog() == true)
                {
                    updatedSettings = _settingsWindow.UpdatedSettingsDto;
                }
            }));

            return updatedSettings;
        }
        private SettingsDto GetCurrentSettings()
        {
            var dto = new SettingsDto();

            try
            {
                var userEfficiencyTracker = GetUserEfficiencyTracker();
                if (userEfficiencyTracker != null) dto.PopUpEnabled = userEfficiencyTracker.PopUpEnabled;
                if (userEfficiencyTracker != null) dto.PopUpInterval = (int)userEfficiencyTracker.PopUpIntervalInMins.TotalMinutes;

                var userInputTracker = GetUserInputTracker();
                if (userInputTracker != null) dto.UserInputTrackerEnabled = userInputTracker.UserInputTrackerEnabled;

                var timeSpentVisualizer = GetTimeSpentVisualizerVisualizer();
                if (timeSpentVisualizer != null)
                {
                    dto.TimeSpentShowEmailsEnabled = timeSpentVisualizer.TimeSpentShowEmailsEnabled;
                    dto.TimeSpentShowProgramsEnabled = timeSpentVisualizer.TimeSpentShowProgramsEnabled;
                }

                dto.OpenRetrospectionInFullScreen = Retrospection.Handler.GetInstance().OpenRetrospectionInFullScreen;

                //var peopleVisualizer = GetPeopleVisualizer();
                var msOfficeTracker = GetMSOfficeTracker();
                dto.Office365ApiEnabled = msOfficeTracker.MsOfficeTrackerEnabled;
                //if (peopleVisualizer != null && msOfficeTracker != null) dto.Office365ApiEnabled = (peopleVisualizer.PeopleVisualizerEnabled || msOfficeTracker.MsOfficeTrackerEnabled);
                //else if (peopleVisualizer == null && msOfficeTracker != null) dto.Office365ApiEnabled = msOfficeTracker.MsOfficeTrackerEnabled;
                //else if (peopleVisualizer != null && msOfficeTracker == null) dto.Office365ApiEnabled = peopleVisualizer.PeopleVisualizerEnabled;
                //else dto.Office365ApiEnabled = false;
            }
            catch { }

            return dto;
        }
        private SettingsDto GetCurrentSettings()
        {
            var dto = new SettingsDto();

            try
            {
                var userEfficiencyTracker = GetUserEfficiencyTracker();
                if (userEfficiencyTracker != null)
                {
                    dto.PopUpEnabled = userEfficiencyTracker.PopUpEnabled;
                }
                if (userEfficiencyTracker != null)
                {
                    dto.PopUpInterval = (int)userEfficiencyTracker.PopUpIntervalInMins.TotalMinutes;
                }

                var userInputTracker = GetUserInputTracker();
                if (userInputTracker != null)
                {
                    dto.UserInputTrackerEnabled = userInputTracker.UserInputTrackerEnabled;
                }

                var timeSpentVisualizer = GetTimeSpentVisualizerVisualizer();
                if (timeSpentVisualizer != null)
                {
                    dto.TimeSpentShowEmailsEnabled   = timeSpentVisualizer.TimeSpentShowEmailsEnabled;
                    dto.TimeSpentShowProgramsEnabled = timeSpentVisualizer.TimeSpentShowProgramsEnabled;
                }

                dto.OpenRetrospectionInFullScreen = Retrospection.Handler.GetInstance().OpenRetrospectionInFullScreen;

                //var peopleVisualizer = GetPeopleVisualizer();
                var msOfficeTracker = GetMSOfficeTracker();
                dto.Office365ApiEnabled = msOfficeTracker.MsOfficeTrackerEnabled;
                //if (peopleVisualizer != null && msOfficeTracker != null) dto.Office365ApiEnabled = (peopleVisualizer.PeopleVisualizerEnabled || msOfficeTracker.MsOfficeTrackerEnabled);
                //else if (peopleVisualizer == null && msOfficeTracker != null) dto.Office365ApiEnabled = msOfficeTracker.MsOfficeTrackerEnabled;
                //else if (peopleVisualizer != null && msOfficeTracker == null) dto.Office365ApiEnabled = peopleVisualizer.PeopleVisualizerEnabled;
                //else dto.Office365ApiEnabled = false;

                var polarTracker = GetPolarTracker();
                dto.PolarTrackerEnabled = polarTracker.IsEnabled();

                var fitbitTracker = GetFitbitTracker();
                dto.FitbitTrackerEnabled    = fitbitTracker.IsEnabled();
                dto.FitbitTokenRevokEnabled = SecretStorage.GetAccessToken() != null && fitbitTracker.IsEnabled();
                dto.FitbitTokenRevoked      = dto.FitbitTokenRevokEnabled;

                var flowLight = FlowLight.Handler.GetInstance();
                if (flowLight != null)
                {
                    dto.FlowLightAvailable = FlowLight.Settings.IsEnabledByDefault;
                    dto.FlowLightEnabled   = flowLight.FlowLightEnabled;
                    dto.FlowLightSkypeForBusinessEnabled = flowLight.SkypeForBusinessEnabled;
                    dto.FlowLightAutomaticEnabled        = flowLight.AutomaticEnabled;
                    dto.FlowLightDnDEnabled       = flowLight.DnDEnabled;
                    dto.FlowLightSensitivityLevel = flowLight.SensitivityLevel;
                }

                var flowLightTracker = GetFlowTracker();
                if (flowLightTracker != null)
                {
                    dto.FlowLightBlacklist = flowLightTracker.GetSetting_Application_Blacklist();
                }
            }
            catch { }

            return(dto);
        }
        private void SaveClicked(object sender, RoutedEventArgs e)
        {
            var dto = new SettingsDto();

            try
            {
                if ((defaultPopUpIsEnabled != CbPopUpsEnabled.IsChecked.Value))
                {
                    dto.PopUpEnabled = CbPopUpsEnabled.IsChecked.Value;
                }
                else { dto.PopUpEnabled = null;  }

                if (defaultPopUpInterval + minutesStr != CbPopUpInterval.SelectedValue.ToString())
                {
                    var intervalString = CbPopUpInterval.SelectedValue.ToString().Replace(minutesStr, "");
                    dto.PopUpInterval = int.Parse(intervalString, CultureInfo.InvariantCulture);
                }
                else { dto.PopUpInterval = null; }

                if (defaultOffice365ApiEnabled != CbOfficeApiEnabled.IsChecked.Value)
                {
                    dto.Office365ApiEnabled = CbOfficeApiEnabled.IsChecked.Value;
                }
                else { dto.Office365ApiEnabled = null; }

                if (defaultOpenRetrospectionInFullScreen != CbOpenRetrospectionInFullScreen.IsChecked.Value)
                {
                    dto.OpenRetrospectionInFullScreen = CbOpenRetrospectionInFullScreen.IsChecked.Value;
                }
                else { dto.OpenRetrospectionInFullScreen = null; }

                if (defaultTimeSpentShowEmailsEnabled != CbTimeSpentShowEmailsEnabled.IsChecked.Value)
                {
                    dto.TimeSpentShowEmailsEnabled = CbTimeSpentShowEmailsEnabled.IsChecked.Value;
                }
                else { dto.TimeSpentShowEmailsEnabled = null; }

                if (defaultTimeSpentShowProgramsEnabled != CbTimeSpentShowProgramsEnabled.IsChecked.Value)
                {
                    dto.TimeSpentShowProgramsEnabled = CbTimeSpentShowProgramsEnabled.IsChecked.Value;
                }
                else { dto.TimeSpentShowProgramsEnabled = null; }

                if (defaultUserInputTrackerEnabled != CbUserInputTrackerEnabled.IsChecked.Value)
                {
                    dto.UserInputTrackerEnabled = CbUserInputTrackerEnabled.IsChecked.Value;
                }
                else { dto.UserInputTrackerEnabled = null; }
            }
            catch { }

            UpdatedSettingsDto = dto;
            DialogResult = true;
            this.Close();
        }
        private void SetDefaultValues(SettingsDto dto)
        {
            // get defaults
            defaultPopUpIsEnabled = dto.PopUpEnabled.Value;
            defaultPopUpInterval = dto.PopUpInterval.Value;
            defaultOffice365ApiEnabled = dto.Office365ApiEnabled.Value;
            defaultUserInputTrackerEnabled = dto.UserInputTrackerEnabled.Value;
            defaultOpenRetrospectionInFullScreen = dto.OpenRetrospectionInFullScreen.Value;
            defaultTimeSpentShowProgramsEnabled = dto.TimeSpentShowProgramsEnabled.Value;
            defaultTimeSpentShowEmailsEnabled = dto.TimeSpentShowEmailsEnabled.Value;

            // no changes yet, disable buttons by default
            SaveButtonsEnabled(false);

            // set previous values & add event handlers
            CbPopUpsEnabled.IsChecked = defaultPopUpIsEnabled;
            CbPopUpsEnabled.Checked += CbPopUpsEnabled_Checked;
            CbPopUpsEnabled.Unchecked += CbPopUpsEnabled_Checked;

            CbPopUpInterval.SelectedValue = defaultPopUpInterval + minutesStr;

            CbOfficeApiEnabled.IsChecked = defaultOffice365ApiEnabled;
            CbOfficeApiEnabled.Checked += CbChecked_Update;
            CbOfficeApiEnabled.Unchecked += CbChecked_Update;

            CbOpenRetrospectionInFullScreen.IsChecked = defaultOpenRetrospectionInFullScreen;
            CbOpenRetrospectionInFullScreen.Checked += CbChecked_Update;
            CbOpenRetrospectionInFullScreen.Unchecked += CbChecked_Update;

            CbTimeSpentShowProgramsEnabled.IsChecked = defaultTimeSpentShowProgramsEnabled;
            CbTimeSpentShowProgramsEnabled.Checked += CbChecked_Update;
            CbTimeSpentShowProgramsEnabled.Unchecked += CbChecked_Update;

            CbTimeSpentShowEmailsEnabled.IsChecked = defaultTimeSpentShowEmailsEnabled;
            CbTimeSpentShowEmailsEnabled.Checked += CbChecked_Update;
            CbTimeSpentShowEmailsEnabled.Unchecked += CbChecked_Update;

            CbUserInputTrackerEnabled.IsChecked = defaultUserInputTrackerEnabled;
            CbUserInputTrackerEnabled.Checked += CbChecked_Update;
            CbUserInputTrackerEnabled.Unchecked += CbChecked_Update;

            if (CbPopUpsEnabled.IsChecked.Value)
            {
                CbPopUpInterval.IsEnabled = true;
            }
            CbPopUpInterval.SelectionChanged += CbPopUpInterval_SelectionChanged;
        }