private void file_CloseAllButThisWorkflowFileClicked(object sender, WorkflowFileCloseEventArgs e)
        {
            var workflowsInfos =
                files
                .Where(f => f != e.WorkflowFile && !f.IsSaved)
                .Select(f => new WorkflowFileInfo(f))
                .ToArray();

            var saveMessage = new SaveBeforeCloseMessage(
                workflowsInfos,
                null,
                result =>
            {
                if (result == QuestionResult.Cancel)
                {
                    return;
                }

                if (result == QuestionResult.Yes)
                {
                    //file.Save();
                }

                //files.Remove(file);
            });

            MessengerInstance.Send(saveMessage);
        }
        private void file_CloseWorkflowFileClicked(object sender, WorkflowFileCloseEventArgs e)
        {
            var index = files.IndexOf(e.WorkflowFile);

            if (index == -1)
            {
                return;
            }

            var fileToClose = files[index];

            if (!fileToClose.IsSaved)
            {
                var saveResult = QuestionResult.Yes;

                var saveMessage = new SaveBeforeCloseMessage(
                    new List <WorkflowFileInfo> {
                    new WorkflowFileInfo(fileToClose)
                },
                    null,
                    result =>
                {
                    saveResult = result;
                });

                MessengerInstance.Send(saveMessage);

                if (saveResult == QuestionResult.Cancel)
                {
                    return;
                }

                if (saveResult == QuestionResult.Yes)
                {
                    if (!fileToClose.Save())
                    {
                        return;
                    }
                }
            }

            files.Remove(fileToClose);

            if (files.Count == 0)
            {
                ActiveWorkflowFile = null;
            }
        }
Example #3
0
        private static void OnSaveBeforeCloseMessage(SaveBeforeCloseMessage saveBeforeCloseMessage)
        {
            var msg = new StringBuilder("Save changes to the following workflows?");

            msg.AppendLine();
            msg.AppendLine();

            foreach (var workflowInfo in saveBeforeCloseMessage.WorkflowsInfos)
            {
                var never = workflowInfo.IsDirty
                    ? " (never saved before)"
                    : string.Empty;

                msg.AppendLine(string.Concat(workflowInfo.Title, never));
            }

            var result = MessageBox.Show(
                msg.ToString(),
                "Save Confirmation - FlowStudio",
                MessageBoxButton.YesNoCancel,
                MessageBoxImage.Question,
                MessageBoxResult.Cancel);

            var questionResult = QuestionResult.Cancel;

            if (result == MessageBoxResult.Yes)
            {
                questionResult = QuestionResult.Yes;
            }
            else if (result == MessageBoxResult.No)
            {
                questionResult = QuestionResult.No;
            }

            saveBeforeCloseMessage.Execute(questionResult);
        }
Example #4
0
        private static void OnSaveBeforeCloseMessage(SaveBeforeCloseMessage saveBeforeCloseMessage)
        {
            var msg = new StringBuilder("Save changes to the following workflows?");

            msg.AppendLine();
            msg.AppendLine();

            foreach (var workflowInfo in saveBeforeCloseMessage.WorkflowsInfos)
            {
                var never = workflowInfo.IsDirty
                    ? " (never saved before)"
                    : string.Empty;

                msg.AppendLine(string.Concat(workflowInfo.Title, never));
            }

            var result = MessageBox.Show(
                msg.ToString(),
                "Save Confirmation - FlowStudio",
                MessageBoxButton.YesNoCancel,
                MessageBoxImage.Question,
                MessageBoxResult.Cancel);

            var questionResult = QuestionResult.Cancel;

            if (result == MessageBoxResult.Yes)
            {
                questionResult = QuestionResult.Yes;
            }
            else if (result == MessageBoxResult.No)
            {
                questionResult = QuestionResult.No;
            }

            saveBeforeCloseMessage.Execute(questionResult);
        }
Example #5
0
        private void file_CloseWorkflowFileClicked(object sender, WorkflowFileCloseEventArgs e)
        {
            var index = files.IndexOf(e.WorkflowFile);

            if (index == -1)
            {
                return;
            }

            var fileToClose = files[index];

            if (!fileToClose.IsSaved)
            {
                var saveResult = QuestionResult.Yes;

                var saveMessage = new SaveBeforeCloseMessage(
                    new List<WorkflowFileInfo> { new WorkflowFileInfo(fileToClose) },
                    null,
                    result =>
                        {
                            saveResult = result;
                        });

                MessengerInstance.Send(saveMessage);

                if (saveResult == QuestionResult.Cancel)
                {
                    return;
                }

                if (saveResult == QuestionResult.Yes)
                {
                    if (!fileToClose.Save())
                    {
                        return;
                    }
                }
            }

            files.Remove(fileToClose);

            if (files.Count == 0)
            {
                ActiveWorkflowFile = null;
            }
        }
Example #6
0
        private void file_CloseAllButThisWorkflowFileClicked(object sender, WorkflowFileCloseEventArgs e)
        {
            var workflowsInfos =
                files
                .Where(f => f != e.WorkflowFile && !f.IsSaved)
                .Select(f => new WorkflowFileInfo(f))
                .ToArray();

            var saveMessage = new SaveBeforeCloseMessage(
                workflowsInfos,
                null,
                result =>
                {
                    if (result == QuestionResult.Cancel)
                    {
                        return;
                    }

                    if (result == QuestionResult.Yes)
                    {
                        //file.Save();
                    }

                    //files.Remove(file);
                });

            MessengerInstance.Send(saveMessage);
        }