Example #1
0
        public void InitializeActions()
        {
            // Create actions dictionary
            ActionsDict = new Dictionary <string, QuickMediaSorterProjectTriggerAction>();

            // Create default actions
            ActionsDict["Delete"] = new QuickMediaSorterProjectTriggerAction(ActionType.Delete);
            ActionsDict["Left"]   = new QuickMediaSorterProjectTriggerAction(ActionType.Previous);
            ActionsDict["Right"]  = new QuickMediaSorterProjectTriggerAction(ActionType.Next);

            // Merge the existing actions
            foreach (QuickMediaSorterProjectTrigger trigger in Trigger)
            {
                ActionsDict[trigger.Key] = trigger.Action;
            }

            // Set actions folders (also build them if necessary)
            foreach (var action in ActionsDict.Values.Where(action => !String.IsNullOrEmpty(action.Folder)))
            {
                action.FullPathFolder = PathHelper.GetFullPath(this.Folder, action.Folder, true);
            }

            if (Extentions == null)
            {
                Extentions = "*.jpg";
            }
        }
Example #2
0
        public static int Execute(QuickMediaSorterProjectTriggerAction action, FileInfo fileInfo)
        {
            QuickMediaSorterProjectTriggerAction rolebackAction = new QuickMediaSorterProjectTriggerAction();
            int step = 0;

            switch (action.ActionTypeEnum)
            {
            case ObjectModel.ActionType.None:
                break;

            case ObjectModel.ActionType.Next:
                step = 1;
                break;

            case ObjectModel.ActionType.Previous:
                step = -1;
                break;

            case ObjectModel.ActionType.Delete:
                step = 1;
                fileInfo.Delete();
                break;

            case ObjectModel.ActionType.Copy:
                List <string> l = new List <string>()
                {
                    fileInfo.FullName
                };
                ShellFileOperation.CopyItems(l, action.FullPathFolder);
                //fileInfo.CopyTo(PathHelper.GetFullPath(action.FullPathFolder, fileInfo.Name));
                step = 1;
                break;

            case ObjectModel.ActionType.Move:
                List <string> l1 = new List <string>()
                {
                    fileInfo.FullName
                };
                ShellFileOperation.MoveItems(l1, action.FullPathFolder);
                //fileInfo.MoveTo(PathHelper.GetFullPath(action.FullPathFolder, fileInfo.Name));
                step = 1;
                break;

            default:
                throw new ArgumentOutOfRangeException();
            }


            return(step);
        }
Example #3
0
        internal static QuickMediaSorterProject GetDefault()
        {
            QuickMediaSorterProject qms = new QuickMediaSorterProject();

            var trigger = new QuickMediaSorterProjectTrigger();

            trigger.Key = "ControlKey";

            var act = new QuickMediaSorterProjectTriggerAction(ActionType.Copy, "Album");

            trigger.Action = act;

            qms.Trigger = new[] { trigger };

            qms.Extentions = "*.jpg";

            return(qms);
        }