Example #1
0
        public override void Receive(ReceiveCommandArgs args)
        {
            base.Receive(args);
            bool hasSauce = args.Message.ReadBoolean();

            if (hasSauce)
            {
                var sauce = new SauceInfo();
                sauce.Receive(args);
                main.Document.Sauce = sauce;
            }
            else
            {
                main.Document.Sauce = null;
            }

            if (!args.IsMe)
            {
                var client = args.Network as Client;
                if (client != null)
                {
                    client.OnMessage(new ClientMessageArgs(string.Format("{0} edited sauce metadata", args.User)));
                }
            }
        }
Example #2
0
        public SauceInfoDialog(EtoFileInfo file, Document document, bool readOnly = false, bool directSave = true)
        {
            this.directSave = directSave;
            this.file       = file;
            this.document   = document;
            //DisplayMode = DialogDisplayMode.Attached;
            MinimumSize = new Size(400, 500);
            if (file == null && document == null)
            {
                throw new ArgumentException("Must specify either file or document argument");
            }
            Resizable = true;
            Title     = "Sauce Metadata";

            allowRemove = !readOnly;
            allowSave   = !readOnly;
            if (document != null)
            {
                if (document.Sauce != null)
                {
                    sauce = new SauceInfo(document.Sauce);
                }
            }
            else if (file != null)
            {
                using (var stream = file.OpenRead())
                {
                    sauce = SauceInfo.GetSauce(stream);
                }
                if (file.ReadOnly)
                {
                    allowRemove = false;
                    allowSave   = false;
                }
            }

            if (sauce == null)
            {
                sauce = new SauceInfo();
                if (document != null)
                {
                    document.FillSauce(sauce, document.LoadedFormat);
                }
                allowRemove = false;
            }

            CreateControls();
            UpdateDataType();
        }
Example #3
0
        public override IEnumerable <FormatParameter> GetParameters(SauceInfo sauce)
        {
            foreach (var value in base.GetParameters(sauce))
            {
                yield return(value);
            }

            if (sauce != null && sauce.ByteFileType > 1)
            {
                BinaryWidth           = sauce.ByteFileType * 2;
                fpBinaryWidth.Enabled = false;                 // not needed
            }
            else
            {
                fpBinaryWidth.Enabled = true;
            }
            yield return(fpBinaryWidth);
        }
Example #4
0
 void RemoveSauce()
 {
     sauce = null;
     if (!directSave)
     {
         return;
     }
     if (document != null)
     {
         document.Sauce      = null;
         document.IsModified = true;
     }
     else
     {
         bool hasSauce;
         using (var ms = new MemoryStream())
         {
             using (var stream = file.Open(FileMode.Open))
             {
                 var ss = new SauceStream(stream);
                 hasSauce = ss.Sauce != null;
                 if (hasSauce)
                 {
                     ss.WriteTo(ms);
                 }
             }
             if (hasSauce)
             {
                 file.Delete();
                 ms.Flush();
                 ms.Seek(0, SeekOrigin.Begin);
                 using (var newfile = file.Open(FileMode.CreateNew))
                 {
                     ms.WriteTo(newfile);
                 }
             }
         }
     }
 }
Example #5
0
 protected override void FillSauce(SauceInfo sauce, CharacterDocument document)
 {
     base.FillSauce(sauce, document);
     sauce.ByteFileType = (byte)(document.Pages[0].Canvas.Size.Width / 2);
     FillFlags(sauce, document);
 }
Example #6
0
 public override IEnumerable <FormatParameter> GetParameters(SauceInfo sauce)
 {
     yield return(fpEnableCompression);
 }
Example #7
0
 public virtual IEnumerable <FormatParameter> GetParameters(SauceInfo sauce)
 {
     yield break;
 }
Example #8
0
 public virtual void FillSauce(SauceInfo sauce, Format format)
 {
 }