Exemplo n.º 1
0
        public override void ExecuteEventHandler(object sender, SimPe.Events.ResourceEventArgs es)
        {
            if (!ChangeEnabledStateEventHandler(null, es))
            {
                return;
            }

            bool   multi  = es.Count > 1;
            string flname = SetupSaveDialog(es[0].Resource.FileDescriptor.ExportFileName, multi);

            if (flname == null)
            {
                return;
            }

#if !DEBUG
            try
#endif
            {
                if (!multi)                 //extract one File
                {
                    SimPe.Packages.PackedFileDescriptor pfd = (SimPe.Packages.PackedFileDescriptor)es[0].Resource.FileDescriptor;

                    ToolLoaderItemExt.SavePackedFile(flname, true, pfd, es.LoadedPackage.Package);
                    pfd.Path = null;
                }
                else                 //extract multiple Files
                {
                    SimPe.Collections.PackedFileDescriptors pfds = new SimPe.Collections.PackedFileDescriptors();
                    foreach (SimPe.Events.ResourceContainer e in es)
                    {
                        if (e.HasFileDescriptor)
                        {
                            pfds.Add(e.Resource.FileDescriptor);
                        }
                    }

                    SimPe.Interfaces.Files.IPackedFileDescriptor[] ar = new SimPe.Interfaces.Files.IPackedFileDescriptor[pfds.Length];
                    pfds.CopyTo(ar);
                    ExtractAllFiles(flname, ar, es.LoadedPackage.Package);
                }
            }
#if !DEBUG
            catch (Exception ex)
            {
                Helper.ExceptionMessage(Localization.Manager.GetString("err002") + flname, ex);
            }
#endif
        }
Exemplo n.º 2
0
 public StartExternalToolAction(ToolLoaderItemExt item)
 {
     this.item = item;
 }