public static void ExecuteDuplicateAction()
 {
     if (Current.Active && !CameraControler.IsInputFieldFocused())
     {
         DuplicateAction?.Invoke();
     }
 }
        void Update()
        {
            if (!Active)
            {
                return;
            }

            if (!CameraControler.IsInputFieldFocused())
            {
                if (AllowRemove && Input.GetKeyDown(KeyCode.Delete))
                {
                    DestroySelectedObjects();
                }

                if (Input.GetKeyDown(KeyCode.C) && Input.GetKey(KeyCode.LeftControl))
                {
                    //Copy
                    CopyAction?.Invoke();
                }
                else if (Input.GetKeyDown(KeyCode.V) && Input.GetKey(KeyCode.LeftControl))
                {
                    //Paste
                    PasteAction?.Invoke();
                }
                else if (Input.GetKeyDown(KeyCode.D) && Input.GetKey(KeyCode.LeftControl))
                {
                    //Duplicate
                    DuplicateAction?.Invoke();
                }
            }
        }
 /// <summary>
 /// Fire Duplicate Action Event
 /// </summary>
 protected virtual void OnDuplicateAction(object sender, ActionEditorControlEventArgs args)
 {
     try
     {
         DuplicateAction?.Invoke(sender, args);
     }
     catch (Exception caught)
     {
         logger.Error("Unexpected Error Firing Duplicate Action Event", caught);
         throw;
     }
 }
        private void Do(DuplicateAction action)
        {
            action.Do();

            if (action.Successful)
            {
                model.DoneActions.Push(action);
            }

            model.UndoneActions.Clear();

            model.NotifyPropertyChanged(nameof(model.EnableRedoButton));
            model.NotifyPropertyChanged(nameof(model.EnableUndoButton));
        }
Exemple #5
0
        private void HandleDuplicateGroup(IGrouping <ushort, SceneEntity> duplicateGroup)
        {
            ushort id             = duplicateGroup.Key;
            int    duplicateCount = duplicateGroup.Count();

            Console.Write("There are ");
            ColorConsole.Write(duplicateCount.ToString(), ConsoleColor.Cyan);
            Console.Write(" entities with the id: ");
            ColorConsole.Write(id.ToString(), ConsoleColor.Cyan);
            Console.WriteLine(".");

            for (int i = 0; i < duplicateCount; i++)
            {
                PrintEntitySummary(duplicateGroup.ElementAt(i), i);
            }

            bool handled = false;

            while (!handled)
            {
                DuplicateAction duplicateAction = GetAction();
                switch (duplicateAction)
                {
                case DuplicateAction.Info:
                    PrintExtendedInfo(duplicateGroup);
                    break;

                case DuplicateAction.Keep:
                    PerformKeep(duplicateGroup);
                    handled = true;
                    break;

                default:
                    Console.WriteLine("All changes aborted!");
                    CloseConsole(-2);
                    break;
                }
            }
        }
        /// <summary>
        /// Pop an action from the doneActions stack and exeucutes it. Returns false if there was no action on the stack to undo.
        /// </summary>
        public bool Undo()
        {
            bool ret = false;

            if (model.DoneActions.Count > 0)
            {
                DuplicateAction action = model.DoneActions.Pop();

                action.Undo();

                if (action.Successful)
                {
                    model.UndoneActions.Push(action);
                }

                ret = true;
            }

            model.NotifyPropertyChanged(nameof(model.EnableRedoButton));
            model.NotifyPropertyChanged(nameof(model.EnableUndoButton));
            return(ret);
        }
 private void uploadButton_Click(object sender, EventArgs e)
 {
     _action = DuplicateAction.Upload;
     this.Close ();
 }
 private void skipButton_Click(object sender, EventArgs e)
 {
     _action = DuplicateAction.Skip;
     this.Close ();
 }
 private void replaceButton_Click(object sender, EventArgs e)
 {
     _action = DuplicateAction.Replace;
     this.Close ();
 }
 public void ShowDialog(string photoTitle, string albumTitle)
 {
     textLabel.Text = String.Format (_formatString, photoTitle, albumTitle);
     _action = DuplicateAction.Cancel;
     base.ShowDialog();
 }
 public DuplicateActionDialog()
 {
     InitializeComponent ();
     _formatString = textLabel.Text;
     _action = DuplicateAction.Cancel;
 }
Exemple #12
0
 private void ResetDuplicateActionPrompt()
 {
     _doNotPromptForDuplicateAction = false;
     _duplicateAction = DuplicateAction.Cancel;
 }
Exemple #13
0
        private DuplicateAction HandleDuplicateFileDuringUpload(string fileName)
        {
            if (_doNotPromptForDuplicateAction)
                return _duplicateAction;

            using (DuplicateActionDialog duplicateActionDialog = new DuplicateActionDialog()) {
                duplicateActionDialog.ShowDialog(fileName, ViewModel.SelectedAlbum.Title);
                DuplicateAction action = duplicateActionDialog.DuplicateAction;

                // If "All" action is selected we do not want to prompt each time
                if (action == DuplicateAction.ReplaceAll ||
                    action == DuplicateAction.SkipAll ||
                    action == DuplicateAction.UploadAll) {

                    _doNotPromptForDuplicateAction = true;
                    _duplicateAction = action;
                }

                return duplicateActionDialog.DuplicateAction;
            }
        }