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))); } } }
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(); }
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); }
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); } } } } }
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); }
public override IEnumerable <FormatParameter> GetParameters(SauceInfo sauce) { yield return(fpEnableCompression); }
public virtual IEnumerable <FormatParameter> GetParameters(SauceInfo sauce) { yield break; }
public virtual void FillSauce(SauceInfo sauce, Format format) { }