Example #1
0
        public override void ApplyPendingSettingsChanges(IElevationContext elevationContext, IProgressMonitor progressMonitor)
        {
            base.ApplyPendingSettingsChanges(elevationContext, progressMonitor);

            optionsController.AutoSaveProject = autoSave.Checked;
            optionsController.Save();
        }
        private static bool InstallOrUninstallWithElevationContext(IEnumerable<ComponentHandle<IInstaller, InstallerTraits>> installerHandles,
            IElevationContext elevationContext, IProgressMonitor progressMonitor,
            InstallerOperation operation)
        {
            foreach (var installerHandle in installerHandles)
            {
                if (progressMonitor.IsCanceled)
                    return false;

                IProgressMonitor subProgressMonitor = progressMonitor.CreateSubProgressMonitor(1);
                if (elevationContext != null && installerHandle.GetTraits().RequiresElevation)
                {
                    elevationContext.Execute(InstallerElevatedCommand.ElevatedCommandId,
                        new InstallerElevatedCommand.Arguments(installerHandle.Id, operation),
                        subProgressMonitor);
                }
                else
                {
                    IInstaller installer = installerHandle.GetComponent();

                    if (operation == InstallerOperation.Install)
                        installer.Install(progressMonitor.CreateSubProgressMonitor(1));
                    else
                        installer.Uninstall(progressMonitor.CreateSubProgressMonitor(1));
                }
            }

            return true;
        }
        /// <inheritdoc />
        public override void ApplyPendingSettingsChanges(IElevationContext elevationContext, IProgressMonitor progressMonitor)
        {
            using (progressMonitor.BeginTask("Saving preferences.", 1))
            {
                var preferencePanes = new List <PreferencePane>(GetPreferencePanes());
                if (preferencePanes.Count == 0)
                {
                    return;
                }

                double workPerPreferencePane = 1.0 / preferencePanes.Count;

                foreach (PreferencePane preferencePane in preferencePanes)
                {
                    if (progressMonitor.IsCanceled)
                    {
                        return;
                    }

                    if (preferencePane.PendingSettingsChanges)
                    {
                        preferencePane.ApplyPendingSettingsChanges(
                            preferencePane.RequiresElevation ? elevationContext : null,
                            progressMonitor.CreateSubProgressMonitor(workPerPreferencePane));
                    }
                    else
                    {
                        progressMonitor.Worked(workPerPreferencePane);
                    }
                }
            }
        }
        /// <inheritdoc />
        public override void ApplyPendingSettingsChanges(IElevationContext elevationContext, IProgressMonitor progressMonitor)
        {
            using (progressMonitor.BeginTask("Saving preferences.", 1))
            {
                var preferencePanes = new List<PreferencePane>(GetPreferencePanes());
                if (preferencePanes.Count == 0)
                    return;

                double workPerPreferencePane = 1.0 / preferencePanes.Count;

                foreach (PreferencePane preferencePane in preferencePanes)
                {
                    if (progressMonitor.IsCanceled)
                        return;

                    if (preferencePane.PendingSettingsChanges)
                    {
                        preferencePane.ApplyPendingSettingsChanges(
                            preferencePane.RequiresElevation ? elevationContext : null,
                            progressMonitor.CreateSubProgressMonitor(workPerPreferencePane));
                    }
                    else
                    {
                        progressMonitor.Worked(workPerPreferencePane);
                    }
                }
            }
        }
Example #5
0
        public override void ApplyPendingSettingsChanges(IElevationContext elevationContext, IProgressMonitor progressMonitor)
        {
            base.ApplyPendingSettingsChanges(elevationContext, progressMonitor);

            optionsController.RestorePreviousSettings = restorePreviousSession.Checked;
            optionsController.Save();
        }
Example #6
0
        private bool ApplySettingsChanges(IElevationContext elevationContext, IProgressMonitor progressMonitor)
        {
            using (progressMonitor.BeginTask("Applying changes.", 1))
            {
                var tabs = new List <ControlPanelTab>(GetControlPanelTabs());
                if (tabs.Count == 0)
                {
                    return(true);
                }

                double workPerTab = 1.0 / tabs.Count;

                foreach (ControlPanelTab tab in tabs)
                {
                    if (progressMonitor.IsCanceled)
                    {
                        return(false);
                    }

                    if (tab.PendingSettingsChanges)
                    {
                        tab.ApplyPendingSettingsChanges(tab.RequiresElevation ? elevationContext : null, progressMonitor.CreateSubProgressMonitor(workPerTab));
                    }
                    else
                    {
                        progressMonitor.Worked(workPerTab);
                    }
                }
            }

            return(true);
        }
Example #7
0
        public override void ApplyPendingSettingsChanges(IElevationContext elevationContext, IProgressMonitor progressMonitor)
        {
            base.ApplyPendingSettingsChanges(elevationContext, progressMonitor);

            optionsController.AutoSaveProject = autoSave.Checked;
            optionsController.Save();
        }
        private bool InstallOrUninstall(IList <string> installerIds, IElevationContext elevationContext, IProgressMonitor progressMonitor,
                                        InstallerOperation operation)
        {
            if (progressMonitor == null)
            {
                throw new ArgumentNullException("progressMonitor");
            }

            var filteredInstallerHandles = FilterInstallers(installerIds);

            using (progressMonitor.BeginTask(operation == InstallerOperation.Install ? "Installing components." : "Uninstalling components.",
                                             filteredInstallerHandles.Count + 1))
            {
                if (progressMonitor.IsCanceled)
                {
                    return(false);
                }

                if (elevationContext != null ||
                    elevationManager.HasElevatedPrivileges ||
                    !IsElevationRequired(filteredInstallerHandles))
                {
                    return(InstallOrUninstallWithElevationContext(filteredInstallerHandles, elevationContext, progressMonitor, operation));
                }

                return(elevationManager.TryElevate(
                           newElevationContext => InstallOrUninstallWithElevationContext(filteredInstallerHandles, newElevationContext, progressMonitor, operation),
                           "Administrative access required to install or uninstall certain components."));
            }
        }
Example #9
0
        public override void ApplyPendingSettingsChanges(IElevationContext elevationContext, IProgressMonitor progressMonitor)
        {
            base.ApplyPendingSettingsChanges(elevationContext, progressMonitor);

            optionsController.RestorePreviousSettings = restorePreviousSession.Checked;
            optionsController.Save();
        }
        private static bool InstallOrUninstallWithElevationContext(IEnumerable <ComponentHandle <IInstaller, InstallerTraits> > installerHandles,
                                                                   IElevationContext elevationContext, IProgressMonitor progressMonitor,
                                                                   InstallerOperation operation)
        {
            foreach (var installerHandle in installerHandles)
            {
                if (progressMonitor.IsCanceled)
                {
                    return(false);
                }

                IProgressMonitor subProgressMonitor = progressMonitor.CreateSubProgressMonitor(1);
                if (elevationContext != null && installerHandle.GetTraits().RequiresElevation)
                {
                    elevationContext.Execute(InstallerElevatedCommand.ElevatedCommandId,
                                             new InstallerElevatedCommand.Arguments(installerHandle.Id, operation),
                                             subProgressMonitor);
                }
                else
                {
                    IInstaller installer = installerHandle.GetComponent();

                    if (operation == InstallerOperation.Install)
                    {
                        installer.Install(progressMonitor.CreateSubProgressMonitor(1));
                    }
                    else
                    {
                        installer.Uninstall(progressMonitor.CreateSubProgressMonitor(1));
                    }
                }
            }

            return(true);
        }
Example #11
0
        public override void ApplyPendingSettingsChanges(IElevationContext elevationContext, IProgressMonitor progressMonitor)
        {
            optionsController.GenerateReportAfterTestRun = generateReportAfterTestRun.Checked;

            optionsController.Save();

            base.ApplyPendingSettingsChanges(elevationContext, progressMonitor);
        }
        public override void ApplyPendingSettingsChanges(IElevationContext elevationContext, IProgressMonitor progressMonitor)
        {
            optionsController.RecursiveExecutionLog = recursivelyDisplayChildrenCheckBox.Checked;

            optionsController.Save();

            base.ApplyPendingSettingsChanges(elevationContext, progressMonitor);
        }
        public override void ApplyPendingSettingsChanges(IElevationContext elevationContext, IProgressMonitor progressMonitor)
        {
            optionsController.RecursiveExecutionLog = recursivelyDisplayChildrenCheckBox.Checked;
            
            optionsController.Save();

            base.ApplyPendingSettingsChanges(elevationContext, progressMonitor);
        }
        public override void ApplyPendingSettingsChanges(IElevationContext elevationContext,
                                                         IProgressMonitor progressMonitor)
        {
            optionsController.SelectedTreeViewCategories.Value = selectedCategories;
            optionsController.Save();

            base.ApplyPendingSettingsChanges(elevationContext, progressMonitor);
        }
        public override void ApplyPendingSettingsChanges(IElevationContext elevationContext, IProgressMonitor progressMonitor)
        {
            optionsController.ShowProgressDialogs = showProgressDialogs.Checked;

            optionsController.Save();

            base.ApplyPendingSettingsChanges(elevationContext, progressMonitor);
        }
        public override void ApplyPendingSettingsChanges(IElevationContext elevationContext, IProgressMonitor progressMonitor)
        {
            optionsController.ShowProgressDialogs = showProgressDialogs.Checked;

            optionsController.Save();

            base.ApplyPendingSettingsChanges(elevationContext, progressMonitor);
        }
Example #17
0
        public override void ApplyPendingSettingsChanges(IElevationContext elevationContext, IProgressMonitor progressMonitor)
        {
            optionsController.GenerateReportAfterTestRun = generateReportAfterTestRun.Checked;

            optionsController.Save();

            base.ApplyPendingSettingsChanges(elevationContext, progressMonitor);
        }
        public override void ApplyPendingSettingsChanges(IElevationContext elevationContext, 
            IProgressMonitor progressMonitor)
        {
            optionsController.SelectedTreeViewCategories.Value = selectedCategories;
            optionsController.Save();

            base.ApplyPendingSettingsChanges(elevationContext, progressMonitor);
        }
        /// <inheritdoc/>
        public override void ApplyPendingSettingsChanges(IElevationContext elevationContext, IProgressMonitor progressMonitor)
        {
            preferenceManager.CommandLineArguments = arguments.Text;
            preferenceManager.StartupAction = SelectedStartupAction;
            preferenceManager.UserSpecifiedExecutable = executable.Text;
            preferenceManager.WorkingDirectory = workingDir.Text;

            base.ApplyPendingSettingsChanges(elevationContext, progressMonitor);
        }
Example #20
0
        /// <inheritdoc/>
        public override void ApplyPendingSettingsChanges(IElevationContext elevationContext, IProgressMonitor progressMonitor)
        {
            preferenceManager.CommandLineArguments    = arguments.Text;
            preferenceManager.StartupAction           = SelectedStartupAction;
            preferenceManager.UserSpecifiedExecutable = executable.Text;
            preferenceManager.WorkingDirectory        = workingDir.Text;

            base.ApplyPendingSettingsChanges(elevationContext, progressMonitor);
        }
        public override void ApplyPendingSettingsChanges(IElevationContext elevationContext, IProgressMonitor progressMonitor)
        {
            optionsController.AlwaysReloadFiles = alwaysReloadFilesCheckBox.Checked;
            optionsController.RunTestsAfterReload = runTestsAfterReloadCheckBox.Checked;
            optionsController.NamespaceHierarchy = (NamespaceHierarchy)namespaceHierarchyComboBox.SelectedItem;
            
            optionsController.Save();

            base.ApplyPendingSettingsChanges(elevationContext, progressMonitor);
        }
        public override void ApplyPendingSettingsChanges(IElevationContext elevationContext, IProgressMonitor progressMonitor)
        {
            optionsController.AlwaysReloadFiles   = alwaysReloadFilesCheckBox.Checked;
            optionsController.RunTestsAfterReload = runTestsAfterReloadCheckBox.Checked;
            optionsController.NamespaceHierarchy  = (NamespaceHierarchy)namespaceHierarchyComboBox.SelectedItem;

            optionsController.Save();

            base.ApplyPendingSettingsChanges(elevationContext, progressMonitor);
        }
Example #23
0
        public override void ApplyPendingSettingsChanges(IElevationContext elevationContext, IProgressMonitor progressMonitor)
        {
            optionsController.PassedColor = passedColor.BackColor;
            optionsController.FailedColor = failedColor.BackColor;
            optionsController.InconclusiveColor = inconclusiveColor.BackColor;
            optionsController.SkippedColor = skippedColor.BackColor;

            optionsController.TestStatusBarStyle = testProgressBarStyle.Text;

            optionsController.Save();

            base.ApplyPendingSettingsChanges(elevationContext, progressMonitor);
        }
Example #24
0
        public override void ApplyPendingSettingsChanges(IElevationContext elevationContext, IProgressMonitor progressMonitor)
        {
            optionsController.PassedColor       = passedColor.BackColor;
            optionsController.FailedColor       = failedColor.BackColor;
            optionsController.InconclusiveColor = inconclusiveColor.BackColor;
            optionsController.SkippedColor      = skippedColor.BackColor;

            optionsController.TestStatusBarStyle = testProgressBarStyle.Text;

            optionsController.Save();

            base.ApplyPendingSettingsChanges(elevationContext, progressMonitor);
        }
Example #25
0
        public override void ApplyPendingSettingsChanges(IElevationContext elevationContext, IProgressMonitor progressMonitor)
        {
            using (progressMonitor.BeginTask("Saving TestDriven.Net preferences.", 2))
            {
                base.ApplyPendingSettingsChanges(elevationContext, progressMonitor);

                foreach (DataGridViewRow row in frameworkGridView.Rows)
                {
                    var installationMode = InstallationModeFromString((string)row.Cells[1].Value);
                    var frameworkId      = (string)row.Tag;

                    PreferenceManager.SetInstallationModeForFramework(frameworkId, installationMode);
                }
                progressMonitor.Worked(1);

                InstallerManager.Install(new[] { TDNetRunnerInstaller.InstallerId }, elevationContext, progressMonitor.CreateSubProgressMonitor(1));
            }
        }
        public override void ApplyPendingSettingsChanges(IElevationContext elevationContext, IProgressMonitor progressMonitor)
        {
            using (progressMonitor.BeginTask("Saving TestDriven.Net preferences.", 2))
            {
                base.ApplyPendingSettingsChanges(elevationContext, progressMonitor);

                foreach (DataGridViewRow row in frameworkGridView.Rows)
                {
                    var installationMode = InstallationModeFromString((string)row.Cells[1].Value);
                    var frameworkId = (string)row.Tag;

                    PreferenceManager.SetInstallationModeForFramework(frameworkId, installationMode);
                }
                progressMonitor.Worked(1);

                InstallerManager.Install(new[] {TDNetRunnerInstaller.InstallerId}, elevationContext, progressMonitor.CreateSubProgressMonitor(1));
            }
        }
 /// <inheritdoc />
 public bool Uninstall(IList <string> installerIds, IElevationContext elevationContext, IProgressMonitor progressMonitor)
 {
     return(InstallOrUninstall(installerIds, elevationContext, progressMonitor, InstallerOperation.Uninstall));
 }
        private bool InstallOrUninstall(IList<string> installerIds, IElevationContext elevationContext, IProgressMonitor progressMonitor,
            InstallerOperation operation)
        {
            if (progressMonitor == null)
                throw new ArgumentNullException("progressMonitor");

            var filteredInstallerHandles = FilterInstallers(installerIds);

            using (progressMonitor.BeginTask(operation == InstallerOperation.Install ? "Installing components." : "Uninstalling components.",
                filteredInstallerHandles.Count + 1))
            {
                if (progressMonitor.IsCanceled)
                    return false;

                if (elevationContext != null
                    || elevationManager.HasElevatedPrivileges
                    || ! IsElevationRequired(filteredInstallerHandles))
                {
                    return InstallOrUninstallWithElevationContext(filteredInstallerHandles, elevationContext, progressMonitor, operation);
                }

                return elevationManager.TryElevate(
                    newElevationContext => InstallOrUninstallWithElevationContext(filteredInstallerHandles, newElevationContext, progressMonitor, operation),
                    "Administrative access required to install or uninstall certain components.");
            }
        }
 public override void ApplyPendingSettingsChanges(IElevationContext elevationContext, IProgressMonitor progressMonitor)
 {
     base.ApplyPendingSettingsChanges(elevationContext, progressMonitor);
     optionsController.TestRunnerFactory.Value = testRunnerFactories.Text;
     optionsController.Save();
 }
Example #30
0
 /// <summary>
 /// Applies pending settings changes.
 /// </summary>
 /// <param name="elevationContext">An elevation context when <see cref="RequiresElevation" />
 /// is true, otherwise null.</param>
 /// <param name="progressMonitor">The progress monitor, not null.</param>
 /// <remarks>
 /// The default implementation simply sets <see cref="PendingSettingsChanges" /> to false.
 /// </remarks>
 public virtual void ApplyPendingSettingsChanges(IElevationContext elevationContext, IProgressMonitor progressMonitor)
 {
     PendingSettingsChanges = false;
 }
 /// <inheritdoc />
 public bool Uninstall(IList<string> installerIds, IElevationContext elevationContext, IProgressMonitor progressMonitor)
 {
     return InstallOrUninstall(installerIds, elevationContext, progressMonitor, InstallerOperation.Uninstall);
 }
 public override void ApplyPendingSettingsChanges(IElevationContext elevationContext, IProgressMonitor progressMonitor)
 {
     base.ApplyPendingSettingsChanges(elevationContext, progressMonitor);
     optionsController.TestRunnerFactory.Value = testRunnerFactories.Text;
     optionsController.Save();
 }
Example #33
0
 /// <inheritdoc />
 public override void ApplyPendingSettingsChanges(IElevationContext elevationContext, IProgressMonitor progressMonitor)
 {
     PreferenceManager.HtmlReportSplitSettings = CurrentSettings;
     base.ApplyPendingSettingsChanges(elevationContext, progressMonitor);
 }
        public override void ApplyPendingSettingsChanges(IElevationContext elevationContext, IProgressMonitor progressMonitor)
        {
            elevationContext.Execute(CommitterId, configuration, progressMonitor);

            PendingSettingsChanges = false;
        }
 /// <inheritdoc />
 public override void ApplyPendingSettingsChanges(IElevationContext elevationContext, IProgressMonitor progressMonitor)
 {
     PreferenceManager.HtmlReportSplitSettings = CurrentSettings;
     base.ApplyPendingSettingsChanges(elevationContext, progressMonitor);
 }
        public override void ApplyPendingSettingsChanges(IElevationContext elevationContext, IProgressMonitor progressMonitor)
        {
            elevationContext.Execute(CommitterId, configuration, progressMonitor);

            PendingSettingsChanges = false;
        }
        private bool ApplySettingsChanges(IElevationContext elevationContext, IProgressMonitor progressMonitor)
        {
            using (progressMonitor.BeginTask("Applying changes.", 1))
            {
                var tabs = new List<ControlPanelTab>(GetControlPanelTabs());
                if (tabs.Count == 0)
                    return true;

                double workPerTab = 1.0 / tabs.Count;

                foreach (ControlPanelTab tab in tabs)
                {
                    if (progressMonitor.IsCanceled)
                        return false;

                    if (tab.PendingSettingsChanges)
                    {
                        tab.ApplyPendingSettingsChanges(tab.RequiresElevation ? elevationContext : null, progressMonitor.CreateSubProgressMonitor(workPerTab));
                    }
                    else
                    {
                        progressMonitor.Worked(workPerTab);
                    }
                }
            }

            return true;
        }
Example #38
0
 /// <summary>
 /// Applies pending settings changes.
 /// </summary>
 /// <param name="elevationContext">An elevation context when <see cref="RequiresElevation" />
 /// is true, otherwise null.</param>
 /// <param name="progressMonitor">The progress monitor, not null.</param>
 /// <remarks>
 /// The default implementation simply sets <see cref="PendingSettingsChanges" /> to false.
 /// </remarks>
 public virtual void ApplyPendingSettingsChanges(IElevationContext elevationContext, IProgressMonitor progressMonitor)
 {
     PendingSettingsChanges = false;
 }