Index: Radegast/GUI/Consoles/Assets/Notecard.cs =================================================================== --- Radegast/GUI/Consoles/Assets/Notecard.cs (revision 520) +++ Radegast/GUI/Consoles/Assets/Notecard.cs (working copy) @@ -41,7 +41,7 @@ private RadegastInstance instance; private GridClient client { get { return instance.Client; } } private InventoryNotecard notecard; - private AssetNotecard recievedNotecard; + private AssetNotecard receivedNotecard; private Primitive prim; public Notecard(RadegastInstance instance, InventoryNotecard notecard) @@ -103,7 +103,7 @@ { AssetNotecard n = (AssetNotecard)asset; n.Decode(); - recievedNotecard = n; + receivedNotecard = n; string noteText = string.Empty; rtbContent.Clear(); @@ -159,10 +159,31 @@ else { UpdateStatus("Failed"); - rtbContent.Text = "Failed to download notecard."; + rtbContent.Text = "Failed to download notecard. " + transfer.Status; } } + private void Inventory_OnInventoryItemCopied(InventoryBase item) + { + if (InvokeRequired) + { + BeginInvoke(new MethodInvoker(delegate() + { + Inventory_OnInventoryItemCopied(item); + } + )); + return; + } + + if (null == item) return; + + if (item is InventoryNotecard) + { + Notecard nc = new Notecard(instance, (InventoryNotecard)item); + nc.ShowDetached(); + } + } + void attachmentMenuItem_Click(object sender, EventArgs e) { if (sender is ToolStripMenuItem) @@ -182,6 +203,14 @@ Landmark ln = new Landmark(instance, (InventoryLandmark)item); ln.ShowDetached(); break; + + case AssetType.Notecard: + client.Inventory.RequestCopyItemFromNotecard(UUID.Zero, + notecard.UUID, + notecard.ParentUUID, + item.UUID, + Inventory_OnInventoryItemCopied); + break; } } } @@ -249,11 +278,11 @@ n.BodyText = rtbContent.Text; n.EmbeddedItems = new List(); - if (recievedNotecard != null) + if (receivedNotecard != null) { - for (int i = 0; i < recievedNotecard.EmbeddedItems.Count; i++) + for (int i = 0; i < receivedNotecard.EmbeddedItems.Count; i++) { - n.EmbeddedItems.Add(recievedNotecard.EmbeddedItems[i]); + n.EmbeddedItems.Add(receivedNotecard.EmbeddedItems[i]); int indexChar = 0xdc00 + i; n.BodyText += (char)0xdbc0; n.BodyText += (char)indexChar; @@ -325,5 +354,14 @@ instance.TabConsole.DisplayNotificationInChat("Editing notecard", ChatBufferTextStyle.Invisible); } + private void btnKeep_Click(object sender, EventArgs e) + { + client.Inventory.MoveItem(notecard.UUID, client.Inventory.FindFolderForType(AssetType.Notecard), notecard.Name); + } + + private void btnDiscard_Click(object sender, EventArgs e) + { + client.Inventory.MoveItem(notecard.UUID, client.Inventory.FindFolderForType(AssetType.TrashFolder), notecard.Name); + } } } Index: Radegast/GUI/Consoles/Assets/Notecard.Designer.cs =================================================================== --- Radegast/GUI/Consoles/Assets/Notecard.Designer.cs (revision 520) +++ Radegast/GUI/Consoles/Assets/Notecard.Designer.cs (working copy) @@ -69,6 +69,8 @@ this.tbtnAttachments = new System.Windows.Forms.ToolStripDropDownButton(); this.tbtnAttach = new System.Windows.Forms.ToolStripButton(); this.tlblStatus = new System.Windows.Forms.ToolStripLabel(); + this.btnKeep = new System.Windows.Forms.Button(); + this.btnDiscard = new System.Windows.Forms.Button(); this.toolStrip1.SuspendLayout(); this.SuspendLayout(); // @@ -76,11 +78,11 @@ // this.rtbContent.AcceptsTab = true; this.rtbContent.DetectUrls = false; - this.rtbContent.Dock = System.Windows.Forms.DockStyle.Fill; + this.rtbContent.Dock = System.Windows.Forms.DockStyle.Top; this.rtbContent.HideSelection = false; this.rtbContent.Location = new System.Drawing.Point(0, 25); this.rtbContent.Name = "rtbContent"; - this.rtbContent.Size = new System.Drawing.Size(382, 339); + this.rtbContent.Size = new System.Drawing.Size(382, 309); this.rtbContent.TabIndex = 3; this.rtbContent.Text = ""; this.rtbContent.KeyDown += new System.Windows.Forms.KeyEventHandler(this.rtbContent_KeyDown); @@ -172,10 +174,32 @@ this.tlblStatus.Size = new System.Drawing.Size(38, 22); this.tlblStatus.Text = "status"; // + // btnKeep + // + this.btnKeep.Location = new System.Drawing.Point(3, 338); + this.btnKeep.Name = "btnKeep"; + this.btnKeep.Size = new System.Drawing.Size(75, 23); + this.btnKeep.TabIndex = 4; + this.btnKeep.Text = "Keep"; + this.btnKeep.UseVisualStyleBackColor = true; + this.btnKeep.Click += new System.EventHandler(this.btnKeep_Click); + // + // btnDiscard + // + this.btnDiscard.Location = new System.Drawing.Point(84, 338); + this.btnDiscard.Name = "btnDiscard"; + this.btnDiscard.Size = new System.Drawing.Size(75, 23); + this.btnDiscard.TabIndex = 5; + this.btnDiscard.Text = "Discard"; + this.btnDiscard.UseVisualStyleBackColor = true; + this.btnDiscard.Click += new System.EventHandler(this.btnDiscard_Click); + // // Notecard // this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F); this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; + this.Controls.Add(this.btnDiscard); + this.Controls.Add(this.btnKeep); this.Controls.Add(this.rtbContent); this.Controls.Add(this.toolStrip1); this.Name = "Notecard"; @@ -199,6 +223,8 @@ public System.Windows.Forms.ToolStripDropDownButton tbtnAttachments; public System.Windows.Forms.ToolStripButton tbtnAttach; public System.Windows.Forms.ToolStripLabel tlblStatus; + public System.Windows.Forms.Button btnKeep; + public System.Windows.Forms.Button btnDiscard; } } Index: Radegast/GUI/Consoles/Assets/Notecard.resx =================================================================== --- Radegast/GUI/Consoles/Assets/Notecard.resx (revision 520) +++ Radegast/GUI/Consoles/Assets/Notecard.resx (working copy) @@ -124,46 +124,46 @@ iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 - YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAIISURBVDhPpZP7S1NxGMbPPxKaXVUkMEq8IpKUCoY/hGgI - ymqkDYYXcCjDZOANURSjCNGFQUTsl4GXVMxKk62YU4fXQpaIlygHQxBRH8/zwvyaIAYe+HLgnPN8nue9 - HA3nvDTq63oW/jm13XOwvPTB3DYFY5MH+bXfcN8ygfTSMSSXfESicQDxBqdYHwH29g9w2tnZ3UcguIvN - rR3417exuBJE5N1n/wfwLgXEOc38Bc6xNRHb+/y4nm49G0Bnit2zf9H6bkliE/jKuYxrd6oVgDWfjB+K - TWeKMyrGEVfowITvD9re/9ABVQrAhh0HHK+ZselMMaN/mvwtDb+aVqkA7HYIwIj3ysfluPTorJnP6Ezx - oHsD1s5ZXEktUwCOioB5f1CEPR9+wTG6iuiserTo8dkwng7HT/R+XUPF8xlcTjErAOdMcW6NW8STiwG8 - 7vej8oUPN/PsEv3t8Ao0TZP3T1u8uJRkUgAuSYHtO97oLxmXd5t9Ho8aPTK+GzntqNfrLm2fFoihwYOI - xGIF4KjoGBLzY1OrF9k6OOFxnwDC4wxIMX1G0pMhgVyMNyoA13PAtS7OrJk1PrC69LUdQWxuF6IybHrX - LRI7JrtZdoDAo1XmbjMyD+tjSXxGcXRmnYg5ttD9QuxDhN0uUgDOmbvNTpPOJaGAo2K36cyaGZvOFIfd - KlSA8/zRh9ABIDUG+1JpAAAAAElFTkSuQmCC + YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAgxJREFUOE+lkvtL + U2EYx+0PEbtpFwnBKPGKiJImGP0gYhIYs1E5GF5gIxkpA00JRSmMEF0ohMh+GaRWYlqabMVcNdS2QpaI + VqiDIYhk397vA6fXhCjyhYdzeM/5fp7vczkAdeL2cwho7v/wWzT1zcN+Pwhr51uY2/y41PQaF+wzKKiZ + QvaN58g0jyLd5KEUcQbg+84P/Cm2tncQjW3j68YWIqubCC3FcOJc478BAuGoZM6zvoRnakXEruEIjhc4 + /g5gZop9c+voGAyLbQIfeBZxLL9BA1jzXvuGbWamuKh+GmmVbswE19A59FEBbmoAG7YbsLtm2mZmiml9 + cvabNDwpz6YB7LYBoMXCumkJr7LOmnnHzBQ/9X2Bo2cOibm1GsBREbAQiYmw/8lnuCeWkVzcgnZlnw1j + 3HV/wuNXK6i/9x5Hc6wawDlTXHbLJ+LZUBQPRyKwdQdxutwl1h+NLXHh5Ht1ewBHsiwawCW57HyDAfWR + dvl0uhZQ1eqX8aVc7EKLqrum651ATLf9OJx5XQM4KmY0xPzZ0hFAiQJnXB0WwME0E3IsL5B17ZlADqWb + NYDrOepdlcysmTWWOrxqbceRWtaLk0VO1XW72D5Vckd2gMBfq8zdpmUG62NJvKM4+XyziDk24xmfWoGE + s1c0gHPmbrPTpHNJKOCo2G1mZs20zcwUJ5yp1AB5+8/zEwgF5GMVDxh4AAAAAElFTkSuQmCC iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 - YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAIISURBVDhPpZP7S1NxGMbPPxKaXVUkMEq8IpKUCoY/hGgI - ymqkDYYXcCjDZOANURSjCNGFQUTsl4GXVMxKk62YU4fXQpaIlygHQxBRH8/zwvyaIAYe+HLgnPN8nue9 - HA3nvDTq63oW/jm13XOwvPTB3DYFY5MH+bXfcN8ygfTSMSSXfESicQDxBqdYHwH29g9w2tnZ3UcguIvN - rR3417exuBJE5N1n/wfwLgXEOc38Bc6xNRHb+/y4nm49G0Bnit2zf9H6bkliE/jKuYxrd6oVgDWfjB+K - TWeKMyrGEVfowITvD9re/9ABVQrAhh0HHK+ZselMMaN/mvwtDb+aVqkA7HYIwIj3ysfluPTorJnP6Ezx - oHsD1s5ZXEktUwCOioB5f1CEPR9+wTG6iuiserTo8dkwng7HT/R+XUPF8xlcTjErAOdMcW6NW8STiwG8 - 7vej8oUPN/PsEv3t8Ao0TZP3T1u8uJRkUgAuSYHtO97oLxmXd5t9Ho8aPTK+GzntqNfrLm2fFoihwYOI - xGIF4KjoGBLzY1OrF9k6OOFxnwDC4wxIMX1G0pMhgVyMNyoA13PAtS7OrJk1PrC69LUdQWxuF6IybHrX - LRI7JrtZdoDAo1XmbjMyD+tjSXxGcXRmnYg5ttD9QuxDhN0uUgDOmbvNTpPOJaGAo2K36cyaGZvOFIfd - KlSA8/zRh9ABIDUG+1JpAAAAAElFTkSuQmCC + YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAgxJREFUOE+lkvtL + U2EYx+0PEbtpFwnBKPGKiJImGP0gYhIYs1E5GF5gIxkpA00JRSmMEF0ohMh+GaRWYlqabMVcNdS2QpaI + VqiDIYhk397vA6fXhCjyhYdzeM/5fp7vczkAdeL2cwho7v/wWzT1zcN+Pwhr51uY2/y41PQaF+wzKKiZ + QvaN58g0jyLd5KEUcQbg+84P/Cm2tncQjW3j68YWIqubCC3FcOJc478BAuGoZM6zvoRnakXEruEIjhc4 + /g5gZop9c+voGAyLbQIfeBZxLL9BA1jzXvuGbWamuKh+GmmVbswE19A59FEBbmoAG7YbsLtm2mZmiml9 + cvabNDwpz6YB7LYBoMXCumkJr7LOmnnHzBQ/9X2Bo2cOibm1GsBREbAQiYmw/8lnuCeWkVzcgnZlnw1j + 3HV/wuNXK6i/9x5Hc6wawDlTXHbLJ+LZUBQPRyKwdQdxutwl1h+NLXHh5Ht1ewBHsiwawCW57HyDAfWR + dvl0uhZQ1eqX8aVc7EKLqrum651ATLf9OJx5XQM4KmY0xPzZ0hFAiQJnXB0WwME0E3IsL5B17ZlADqWb + NYDrOepdlcysmTWWOrxqbceRWtaLk0VO1XW72D5Vckd2gMBfq8zdpmUG62NJvKM4+XyziDk24xmfWoGE + s1c0gHPmbrPTpHNJKOCo2G1mZs20zcwUJ5yp1AB5+8/zEwgF5GMVDxh4AAAAAElFTkSuQmCC iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 - YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAIISURBVDhPpZP7S1NxGMbPPxKaXVUkMEq8IpKUCoY/hGgI - ymqkDYYXcCjDZOANURSjCNGFQUTsl4GXVMxKk62YU4fXQpaIlygHQxBRH8/zwvyaIAYe+HLgnPN8nue9 - HA3nvDTq63oW/jm13XOwvPTB3DYFY5MH+bXfcN8ygfTSMSSXfESicQDxBqdYHwH29g9w2tnZ3UcguIvN - rR3417exuBJE5N1n/wfwLgXEOc38Bc6xNRHb+/y4nm49G0Bnit2zf9H6bkliE/jKuYxrd6oVgDWfjB+K - TWeKMyrGEVfowITvD9re/9ABVQrAhh0HHK+ZselMMaN/mvwtDb+aVqkA7HYIwIj3ysfluPTorJnP6Ezx - oHsD1s5ZXEktUwCOioB5f1CEPR9+wTG6iuiserTo8dkwng7HT/R+XUPF8xlcTjErAOdMcW6NW8STiwG8 - 7vej8oUPN/PsEv3t8Ao0TZP3T1u8uJRkUgAuSYHtO97oLxmXd5t9Ho8aPTK+GzntqNfrLm2fFoihwYOI - xGIF4KjoGBLzY1OrF9k6OOFxnwDC4wxIMX1G0pMhgVyMNyoA13PAtS7OrJk1PrC69LUdQWxuF6IybHrX - LRI7JrtZdoDAo1XmbjMyD+tjSXxGcXRmnYg5ttD9QuxDhN0uUgDOmbvNTpPOJaGAo2K36cyaGZvOFIfd - KlSA8/zRh9ABIDUG+1JpAAAAAElFTkSuQmCC + YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAgxJREFUOE+lkvtL + U2EYx+0PEbtpFwnBKPGKiJImGP0gYhIYs1E5GF5gIxkpA00JRSmMEF0ohMh+GaRWYlqabMVcNdS2QpaI + VqiDIYhk397vA6fXhCjyhYdzeM/5fp7vczkAdeL2cwho7v/wWzT1zcN+Pwhr51uY2/y41PQaF+wzKKiZ + QvaN58g0jyLd5KEUcQbg+84P/Cm2tncQjW3j68YWIqubCC3FcOJc478BAuGoZM6zvoRnakXEruEIjhc4 + /g5gZop9c+voGAyLbQIfeBZxLL9BA1jzXvuGbWamuKh+GmmVbswE19A59FEBbmoAG7YbsLtm2mZmiml9 + cvabNDwpz6YB7LYBoMXCumkJr7LOmnnHzBQ/9X2Bo2cOibm1GsBREbAQiYmw/8lnuCeWkVzcgnZlnw1j + 3HV/wuNXK6i/9x5Hc6wawDlTXHbLJ+LZUBQPRyKwdQdxutwl1h+NLXHh5Ht1ewBHsiwawCW57HyDAfWR + dvl0uhZQ1eqX8aVc7EKLqrum651ATLf9OJx5XQM4KmY0xPzZ0hFAiQJnXB0WwME0E3IsL5B17ZlADqWb + NYDrOepdlcysmTWWOrxqbceRWtaLk0VO1XW72D5Vckd2gMBfq8zdpmUG62NJvKM4+XyziDk24xmfWoGE + s1c0gHPmbrPTpHNJKOCo2G1mZs20zcwUJ5yp1AB5+8/zEwgF5GMVDxh4AAAAAElFTkSuQmCC \ No newline at end of file