private void RemoveWorkspace()
        {
            if ((SelectedWorkspaceIndex > Workspaces.Count - 1) || (SelectedWorkspaceIndex < 0))
            {
                return;
            }

            if (Workspaces[SelectedWorkspaceIndex] == null)
            {
                return;
            }

            var dialogSettings = new MetroDialogSettings()
            {
                AffirmativeButtonText    = "Yes",
                NegativeButtonText       = "No",
                FirstAuxiliaryButtonText = "Cancel"
            };

            Messenger.Default.Send(new ShowMessageDialogMessage($"Delete workspace {Workspaces[SelectedWorkspaceIndex].Name}", Resources.MainViewModel_RemoveWorkspace_Description, MessageDialogStyle.AffirmativeAndNegativeAndSingleAuxiliary,
                                                                result =>
            {
                if (result == MessageDialogResult.FirstAuxiliary)
                {
                    return;
                }

                var deleteMode = result == MessageDialogResult.Affirmative
                        ? DeleteMode.DeleteWorkspace
                        : DeleteMode.KeepWorkspace;

                if ((SelectedWorkspace != null) && SelectedWorkspace.Workspace.Equals(Workspaces[SelectedWorkspaceIndex].Workspace))
                {
                    SelectedWorkspace = null;
                }

                var workspace = Workspaces[SelectedWorkspaceIndex].Workspace;

                WorkspaceManagement.RemoveWorkspace(workspace, deleteMode);
                Workspaces.RemoveAt(SelectedWorkspaceIndex);

                Logger.Debug("Removed workspace {0} - deleteMode: {1}", workspace.Name, deleteMode);
            }, dialogSettings));
        }
        private void RemoveWorkspace(WorkspaceViewModel workspaceViewModel)
        {
            var dialogSettings = new MetroDialogSettings
            {
                AffirmativeButtonText    = Resources.Yes,
                NegativeButtonText       = Resources.No,
                FirstAuxiliaryButtonText = Resources.Cancel
            };

            Messenger.Default.Send(
                new ShowMessageDialogMessage(
                    string.Format(Resources.MainViewModel_RemoveWorkspace_Title, workspaceViewModel.Name),
                    Resources.MainViewModel_RemoveWorkspace_Description,
                    MessageDialogStyle.AffirmativeAndNegativeAndSingleAuxiliary,
                    result =>
            {
                if (result == MessageDialogResult.FirstAuxiliary)
                {
                    return;
                }

                var deleteMode = result == MessageDialogResult.Affirmative
                            ? DeleteMode.DeleteWorkspace
                            : DeleteMode.KeepWorkspace;

                var workspace = workspaceViewModel.Workspace;

                if ((SelectedWorkspace != null) &&
                    SelectedWorkspace.Workspace.Equals(workspace))
                {
                    SelectedWorkspace = null;
                }

                WorkspaceManagement.RemoveWorkspace(workspace, deleteMode);
                Workspaces.Remove(workspaceViewModel);

                Logger.Debug("Removed workspace {0} - deleteMode: {1}", workspace.Name, deleteMode);
            }, dialogSettings));
        }
Example #3
0
        private void AddWorkspace()
        {
            if (string.IsNullOrEmpty(AddWorkspacePath))
            {
                return;
            }

            try
            {
                var workspace = WorkspaceManagement.AddWorkspace(AddWorkspacePath);
                if (workspace == null)
                {
                    return;
                }

                Messenger.Default.Send(new AddWorkspaceMessage(workspace));
                Messenger.Default.Send(new CloseAddWorkspaceFlyoutMessage());
                AddWorkspacePath = default(string);
            }
            catch
            {
                // ignored
            }
        }
 protected override void OnClosing(CancelEventArgs e)
 {
     WorkspaceManagement.SaveWorkspaces();
     base.OnClosing(e);
     Environment.Exit(0);
 }