/// <summary>
        /// Shows the tool window when the menu item is clicked.
        /// </summary>
        /// <param name="sender">The event sender.</param>
        /// <param name="e">The event args.</param>
        private void ShowWindow(object sender, EventArgs e)
        {
            if (!EntitasVsPackage.IsSolutionLoaded)
            {
                MessageBox.Show("Solution not loaded. Load a solution to see settings.");
                return;
            }

            string solutionDirectory = DTE.Solution.GetDirectory();

            string[]   uniqueProjectNames = DTE.Solution.GetAllProjects().UniqueNames().ToArray();
            ConfigData configData         = Config.Load(solutionDirectory);
            var        settingsViewModel  = new SettingsViewModel(configData, solutionDirectory);
            var        generalTab         = new GeneralTabViewModel(settingsViewModel, solutionDirectory);
            var        triggersTab        = new TriggersTabViewModel(settingsViewModel, solutionDirectory, uniqueProjectNames);

            settingsViewModel.AddChild(generalTab);
            settingsViewModel.AddChild(triggersTab);
            settingsViewModel.CurrentTabViewModel = generalTab;

            var settingsView = new SettingsView {
                DataContext = settingsViewModel, Title = "Entitas VS Settings"
            };

            settingsViewModel.PropertyChanged += (self, args) => { if ((self as SettingsViewModel).WindowClosed)
                                                                   {
                                                                       settingsView.Close();
                                                                   }
            };
            settingsView.ShowDialog();
        }
Exemple #2
0
        static void Main(string[] arguments)
        {
            string solutionDirectory = @"D:\GitHub\entitas-vs\Entitas-vs.View\bin\Debug";

            string[]   uniqueProjectNames = { "adwd/awda.csproj", "awidjqqwe.csproj" };
            ConfigData configData         = Config.Load(solutionDirectory);
            var        settingsViewModel  = new SettingsViewModel(configData, solutionDirectory);
            var        generalTab         = new GeneralTabViewModel(settingsViewModel, solutionDirectory);
            var        triggersTab        = new TriggersTabViewModel(settingsViewModel, solutionDirectory, uniqueProjectNames);

            settingsViewModel.AddChild(generalTab);
            settingsViewModel.AddChild(triggersTab);
            settingsViewModel.CurrentTabViewModel = generalTab;

            var settingsView = new SettingsView {
                DataContext = settingsViewModel, Title = "Entitas VS Settings"
            };

            settingsViewModel.PropertyChanged += (self, args) => { if ((self as SettingsViewModel).WindowClosed)
                                                                   {
                                                                       settingsView.Close();
                                                                   }
            };
            settingsView.ShowDialog();
        }
        private void CloseSettings(object obj)
        {
            foreach (var tab in Tabs)
            {
                tab.SaveSettings();
                tab.Dispose();
            }

            _window.Close();
        }
Exemple #4
0
 private void OnSettingsClick()
 {
     //if settings window wasn't created or was created but isn't open- create and show it.
     if (settingsWindow != null)
     {
         settingsWindow.Close();
     }
     settingsWindow = new SettingsView();
     settingsWindow.Show();
 }
Exemple #5
0
        private void SettingsViewModel_SettingsSaved(object sender, SettingsEventArgs e)
        {
            foreach (var setting in e.Settings)
            {
                UserSettings.ChangeSetting(setting.Key, setting.Value);
            }

            UserSettings.SaveSettings();

            _settingsView.Close();
            _mainView.Close();
        }
Exemple #6
0
        /// <summary>Defines the method to be called when the command is invoked.</summary>
        /// <param name="parameter">Data used by the command.  If the command does not require data to be passed, this object can be set to null.</param>
        public void Execute(object parameter)
        {
            var oldBuildAdapters = mainWindowViewModel.BuildAdapters.ToList();

            MonitorSettingsContainer.BuildServers.Clear();
            mainWindowViewModel.BuildAdapters.Clear();
            foreach (var buildServerAdapter in settingsViewModel.BuildServers)
            {
                var buildServer = new BuildServer
                {
                    ServerName     = buildServerAdapter.ServerName,
                    DomainName     = buildServerAdapter.Domain,
                    Login          = buildServerAdapter.Login,
                    PasswordBytes  = buildServerAdapter.CryptedPassword,
                    Url            = buildServerAdapter.TfsUrl,
                    DetailBuildUrl = buildServerAdapter.DetailBuildUrl,
                    TfsVersion     = buildServerAdapter.TfsVersion
                };
                MonitorSettingsContainer.BuildServers.Add(buildServer);

                foreach (var buildDefinitionResult in buildServerAdapter.BuildDefinitionResults.Where(x => x.Selected))
                {
                    var buildDefinition = new BuildDefinition
                    {
                        Id        = buildDefinitionResult.Id,
                        Name      = buildDefinitionResult.Name,
                        Uri       = buildDefinitionResult.Uri,
                        Url       = buildDefinitionResult.Url,
                        ProjectId = buildDefinitionResult.ProjectId
                    };

                    var existingAdapter = oldBuildAdapters.FirstOrDefault(x => x.BuildInformation.BuildDefinitionId == buildDefinition.Id);
                    if (existingAdapter != null)
                    {
                        buildDefinition.Tags = existingAdapter.Tags.ToArray();
                    }

                    buildServer.BuildDefinitions.Add(buildDefinition);
                }

                foreach (var build in buildServer.GetBuilds())
                {
                    mainWindowViewModel.BuildAdapters.Add(new BuildAdapter(mainWindowViewModel, build, false));
                }
            }

            mainWindowViewModel.Refresh();
            MonitorSettingsContainer.SaveBuildServers();

            settingsView.Close();
        }
Exemple #7
0
        private void OnLaunchCommand()
        {
            SettingsView      view      = new SettingsView();
            SettingsViewModel viewModel = new SettingsViewModel();

            viewModel.SettingsCollection = SettingsCollection;
            view.DataContext             = viewModel;
            viewModel.OnRequestClose    += (t, e) => view.Close();
            view.ShowDialog();

            if (viewModel.OkayClicked)
            {
                UpdateDisplay();
            }
        }
 private void Close(SettingsView settingsWindow)
 {
     settingsWindow.Close();
 }
Exemple #9
0
 private void Cancel()
 {
     mView.DialogResult = false;
     mView.Close();
 }
 private void SetSettings()
 {
     Settings.Current.ListCount = ListCount;
     window.Close();
 }