Exemplo n.º 1
0
        private void Init()
        {
            CheckForUpdates();

            CheckForSettingsUpgrades();

            LoadApplicationData();

            _settingsManager = new SettingsManager(_applicationData);

            _menu = new VagrantSystemTrayMenu();

            _menu.SettingsClicked += (sender, args) => _settingsManager.ShowSettingsWindow();
            _menu.ExitClicked     += (sender, args) => TerminateApplication();
            _menu.TrayIconClicked += (sender, args) =>
            {
                string message;
                if (_applicationData.Bookmarks.Select(b => b.VagrantInstance).Count(i => i.CurrentProcess != null) == 0)
                {
                    message = "No processes running.";
                    _menu.ShowMessageBalloon(message);
                }
                else
                {
                    var activeBookmarks = _applicationData.Bookmarks.Where(b => b.VagrantInstance.CurrentProcess != null).ToList();

                    message = "Running processes:" + Environment.NewLine + Environment.NewLine +
                              String.Join(Environment.NewLine,
                                          activeBookmarks.Select(b => b.Name + ": " + b.VagrantInstance.CurrentProcess.Command)) +
                              Environment.NewLine + Environment.NewLine + "Click for full output popup.";

                    _menu.ShowMessageBalloon(message, () =>
                    {
                        if (_processesWindow == null)
                        {
                            var viewModel = new ProcessesViewModel(_applicationData)
                            {
                                CloseCommand = new RelayCommand(() => _processesWindow.Hide())
                            };

                            if (activeBookmarks.Any())
                            {
                                viewModel.SelectedBookmark = activeBookmarks.First().Name;
                            }

                            _processesWindow = new ProcessesWindow
                            {
                                DataContext = viewModel
                            };
                        }

                        _processesWindow.Show();
                    });
                }
            };

            RebuildList();

            _applicationData.Bookmarks.CollectionChanged += (sender, args) => RebuildList();
        }
Exemplo n.º 2
0
 public void OnLowerPriorityClick(object sender, RoutedEventArgs e)
 {
     ProcessesViewModel.SetProcessPriorityToLow(((ProcessInfo)ProcessListBox.SelectedItem).Id);
     ProcessListBox.Items.Refresh();
 }
Exemplo n.º 3
0
 public void OnClickKill(object sender, RoutedEventArgs e)
 {
     ProcessesViewModel.KillProcess(((ProcessInfo)ProcessListBox.SelectedItem).Id);
 }
Exemplo n.º 4
0
 public void OnClickStart(object sender, RoutedEventArgs e)
 {
     ProcessesViewModel.StartProcess(((ProcessInfo)ProcessListBox.SelectedItem).StartInfo);
 }
Exemplo n.º 5
0
 public MainWindow()
 {
     InitializeComponent();
     DataContext = new ProcessesViewModel();
 }