this.txtCreator = new System.Windows.Forms.TextBox();\r
this.txtAssetID = new System.Windows.Forms.TextBox();\r
this.txtItemName = new System.Windows.Forms.TextBox();\r
- this.label3 = new System.Windows.Forms.Label();\r
- this.label2 = new System.Windows.Forms.Label();\r
- this.label1 = new System.Windows.Forms.Label();\r
+ this.lblAsset = new System.Windows.Forms.Label();\r
+ this.lblCreator = new System.Windows.Forms.Label();\r
+ this.lblItemName = new System.Windows.Forms.Label();\r
this.folderContext = new System.Windows.Forms.ContextMenuStrip(this.components);\r
this.folderContextTitle = new System.Windows.Forms.ToolStripTextBox();\r
this.toolStripSeparator1 = new System.Windows.Forms.ToolStripSeparator();\r
this.refreshToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();\r
this.folderContextDelete = new System.Windows.Forms.ToolStripMenuItem();\r
+ this.lblCreated = new System.Windows.Forms.Label();\r
+ this.txtCreated = new System.Windows.Forms.TextBox();\r
this.splitContainer1.Panel1.SuspendLayout();\r
this.splitContainer1.Panel2.SuspendLayout();\r
this.splitContainer1.SuspendLayout();\r
// \r
this.panel1.Controls.Add(this.btnProfile);\r
this.panel1.Controls.Add(this.txtCreator);\r
+ this.panel1.Controls.Add(this.txtCreated);\r
this.panel1.Controls.Add(this.txtAssetID);\r
+ this.panel1.Controls.Add(this.lblCreated);\r
this.panel1.Controls.Add(this.txtItemName);\r
- this.panel1.Controls.Add(this.label3);\r
- this.panel1.Controls.Add(this.label2);\r
- this.panel1.Controls.Add(this.label1);\r
+ this.panel1.Controls.Add(this.lblAsset);\r
+ this.panel1.Controls.Add(this.lblCreator);\r
+ this.panel1.Controls.Add(this.lblItemName);\r
this.panel1.Dock = System.Windows.Forms.DockStyle.Bottom;\r
this.panel1.Location = new System.Drawing.Point(0, 336);\r
this.panel1.Name = "panel1";\r
// \r
// txtAssetID\r
// \r
- this.txtAssetID.Location = new System.Drawing.Point(80, 62);\r
+ this.txtAssetID.Location = new System.Drawing.Point(80, 88);\r
this.txtAssetID.Name = "txtAssetID";\r
+ this.txtAssetID.ReadOnly = true;\r
this.txtAssetID.Size = new System.Drawing.Size(338, 20);\r
this.txtAssetID.TabIndex = 1;\r
// \r
this.txtItemName.Size = new System.Drawing.Size(338, 20);\r
this.txtItemName.TabIndex = 1;\r
// \r
- // label3\r
+ // lblAsset\r
// \r
- this.label3.AutoSize = true;\r
- this.label3.Location = new System.Drawing.Point(3, 62);\r
- this.label3.Name = "label3";\r
- this.label3.Size = new System.Drawing.Size(47, 13);\r
- this.label3.TabIndex = 0;\r
- this.label3.Text = "Asset ID";\r
+ this.lblAsset.AutoSize = true;\r
+ this.lblAsset.Location = new System.Drawing.Point(3, 88);\r
+ this.lblAsset.Name = "lblAsset";\r
+ this.lblAsset.Size = new System.Drawing.Size(47, 13);\r
+ this.lblAsset.TabIndex = 0;\r
+ this.lblAsset.Text = "Asset ID";\r
// \r
- // label2\r
+ // lblCreator\r
// \r
- this.label2.AutoSize = true;\r
- this.label2.Location = new System.Drawing.Point(3, 36);\r
- this.label2.Name = "label2";\r
- this.label2.Size = new System.Drawing.Size(41, 13);\r
- this.label2.TabIndex = 0;\r
- this.label2.Text = "Creator";\r
+ this.lblCreator.AutoSize = true;\r
+ this.lblCreator.Location = new System.Drawing.Point(3, 36);\r
+ this.lblCreator.Name = "lblCreator";\r
+ this.lblCreator.Size = new System.Drawing.Size(41, 13);\r
+ this.lblCreator.TabIndex = 0;\r
+ this.lblCreator.Text = "Creator";\r
// \r
- // label1\r
+ // lblItemName\r
// \r
- this.label1.AutoSize = true;\r
- this.label1.Location = new System.Drawing.Point(3, 10);\r
- this.label1.Name = "label1";\r
- this.label1.Size = new System.Drawing.Size(27, 13);\r
- this.label1.TabIndex = 0;\r
- this.label1.Text = "Item";\r
+ this.lblItemName.AutoSize = true;\r
+ this.lblItemName.Location = new System.Drawing.Point(3, 10);\r
+ this.lblItemName.Name = "lblItemName";\r
+ this.lblItemName.Size = new System.Drawing.Size(27, 13);\r
+ this.lblItemName.TabIndex = 0;\r
+ this.lblItemName.Text = "Item";\r
// \r
// folderContext\r
// \r
this.folderContextDelete.Size = new System.Drawing.Size(135, 22);\r
this.folderContextDelete.Text = "Delete";\r
// \r
+ // lblCreated\r
+ // \r
+ this.lblCreated.AutoSize = true;\r
+ this.lblCreated.Location = new System.Drawing.Point(3, 62);\r
+ this.lblCreated.Name = "lblCreated";\r
+ this.lblCreated.Size = new System.Drawing.Size(44, 13);\r
+ this.lblCreated.TabIndex = 0;\r
+ this.lblCreated.Text = "Created";\r
+ // \r
+ // txtCreated\r
+ // \r
+ this.txtCreated.Location = new System.Drawing.Point(80, 62);\r
+ this.txtCreated.Name = "txtCreated";\r
+ this.txtCreated.ReadOnly = true;\r
+ this.txtCreated.Size = new System.Drawing.Size(144, 20);\r
+ this.txtCreated.TabIndex = 1;\r
+ // \r
// InventoryConsole\r
// \r
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);\r
private System.Windows.Forms.ToolStripMenuItem refreshToolStripMenuItem;\r
private System.Windows.Forms.Panel panel1;\r
private System.Windows.Forms.TextBox txtItemName;\r
- private System.Windows.Forms.Label label2;\r
- private System.Windows.Forms.Label label1;\r
+ private System.Windows.Forms.Label lblCreator;\r
+ private System.Windows.Forms.Label lblItemName;\r
private System.Windows.Forms.TextBox txtCreator;\r
private System.Windows.Forms.TextBox txtAssetID;\r
- private System.Windows.Forms.Label label3;\r
+ private System.Windows.Forms.Label lblAsset;\r
private System.Windows.Forms.Panel pnlDetail;\r
private System.Windows.Forms.Button btnProfile;\r
+ private System.Windows.Forms.TextBox txtCreated;\r
+ private System.Windows.Forms.Label lblCreated;\r
}\r
}\r
txtItemName.Text = item.Name;\r
txtCreator.Text = instance.getAvatarName(item.CreatorID);\r
txtCreator.Tag = item.CreatorID;\r
- if (item.AssetUUID != null)\r
+ txtCreated.Text = item.CreationDate.ToString();\r
+\r
+ if (item.AssetUUID != null && item.AssetUUID != UUID.Zero)\r
{\r
txtAssetID.Text = item.AssetUUID.ToString();\r
}\r
image.Dock = DockStyle.Fill;\r
pnlDetail.Controls.Add(image);\r
break;\r
+ \r
+ case AssetType.Notecard:\r
+ Notecard note = new Notecard(instance, (InventoryNotecard)item);\r
+ note.Dock = DockStyle.Fill;\r
+ pnlDetail.Controls.Add(note);\r
+ break;\r
}\r
}\r
\r
{\r
return CompareFolders(tx.Tag as InventoryFolder, ty.Tag as InventoryFolder);\r
}\r
- return string.Compare(tx.Text, ty.Text);\r
+ else if (tx.Tag is InventoryFolder && ty.Tag is InventoryItem)\r
+ {\r
+ return -1;\r
+ }\r
+ else if (tx.Tag is InventoryItem && ty.Tag is InventoryFolder)\r
+ {\r
+ return 1;\r
+ }\r
+\r
+ // Two items\r
+ InventoryItem item1 = (InventoryItem)tx.Tag;\r
+ InventoryItem item2 = (InventoryItem)ty.Tag;\r
+ System.Console.WriteLine("Item1: {0}, created {1}", item1.Name, item1.CreationDate.ToString());\r
+ System.Console.WriteLine("Item2: {0}, created {1}", item2.Name, item2.CreationDate.ToString());\r
+ if (item1.CreationDate < item2.CreationDate)\r
+ {\r
+ return 1;\r
+ }\r
+ else if (item1.CreationDate > item2.CreationDate)\r
+ {\r
+ return -1;\r
+ }\r
+ return string.Compare(item1.Name, item2.Name);\r
}\r
}\r
\r
--- /dev/null
+namespace Radegast\r
+{\r
+ partial class Notecard\r
+ {\r
+ /// <summary> \r
+ /// Required designer variable.\r
+ /// </summary>\r
+ private System.ComponentModel.IContainer components = null;\r
+\r
+ /// <summary> \r
+ /// Clean up any resources being used.\r
+ /// </summary>\r
+ /// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>\r
+ protected override void Dispose(bool disposing)\r
+ {\r
+ if (disposing && (components != null))\r
+ {\r
+ components.Dispose();\r
+ }\r
+ base.Dispose(disposing);\r
+ }\r
+\r
+ #region Component Designer generated code\r
+\r
+ /// <summary> \r
+ /// Required method for Designer support - do not modify \r
+ /// the contents of this method with the code editor.\r
+ /// </summary>\r
+ private void InitializeComponent()\r
+ {\r
+ this.txtName = new System.Windows.Forms.TextBox();\r
+ this.txtDesc = new System.Windows.Forms.TextBox();\r
+ this.pnlControls = new System.Windows.Forms.Panel();\r
+ this.lblStatus = new System.Windows.Forms.Label();\r
+ this.btnRefresh = new System.Windows.Forms.Button();\r
+ this.btnSave = new System.Windows.Forms.Button();\r
+ this.rtbContent = new System.Windows.Forms.RichTextBox();\r
+ this.pnlControls.SuspendLayout();\r
+ this.SuspendLayout();\r
+ // \r
+ // txtName\r
+ // \r
+ this.txtName.Dock = System.Windows.Forms.DockStyle.Top;\r
+ this.txtName.Location = new System.Drawing.Point(0, 0);\r
+ this.txtName.Name = "txtName";\r
+ this.txtName.ReadOnly = true;\r
+ this.txtName.Size = new System.Drawing.Size(382, 20);\r
+ this.txtName.TabIndex = 0;\r
+ // \r
+ // txtDesc\r
+ // \r
+ this.txtDesc.Dock = System.Windows.Forms.DockStyle.Top;\r
+ this.txtDesc.Location = new System.Drawing.Point(0, 20);\r
+ this.txtDesc.Name = "txtDesc";\r
+ this.txtDesc.ReadOnly = true;\r
+ this.txtDesc.Size = new System.Drawing.Size(382, 20);\r
+ this.txtDesc.TabIndex = 1;\r
+ // \r
+ // pnlControls\r
+ // \r
+ this.pnlControls.Controls.Add(this.btnSave);\r
+ this.pnlControls.Controls.Add(this.btnRefresh);\r
+ this.pnlControls.Controls.Add(this.lblStatus);\r
+ this.pnlControls.Dock = System.Windows.Forms.DockStyle.Bottom;\r
+ this.pnlControls.Location = new System.Drawing.Point(0, 330);\r
+ this.pnlControls.Name = "pnlControls";\r
+ this.pnlControls.Size = new System.Drawing.Size(382, 34);\r
+ this.pnlControls.TabIndex = 2;\r
+ // \r
+ // lblStatus\r
+ // \r
+ this.lblStatus.AutoSize = true;\r
+ this.lblStatus.Location = new System.Drawing.Point(247, 10);\r
+ this.lblStatus.Name = "lblStatus";\r
+ this.lblStatus.Size = new System.Drawing.Size(37, 13);\r
+ this.lblStatus.TabIndex = 0;\r
+ this.lblStatus.Text = "Status";\r
+ // \r
+ // btnRefresh\r
+ // \r
+ this.btnRefresh.Location = new System.Drawing.Point(3, 5);\r
+ this.btnRefresh.Name = "btnRefresh";\r
+ this.btnRefresh.Size = new System.Drawing.Size(75, 23);\r
+ this.btnRefresh.TabIndex = 1;\r
+ this.btnRefresh.Text = "Refresh";\r
+ this.btnRefresh.UseVisualStyleBackColor = true;\r
+ this.btnRefresh.Click += new System.EventHandler(this.btnRefresh_Click);\r
+ // \r
+ // btnSave\r
+ // \r
+ this.btnSave.Enabled = false;\r
+ this.btnSave.Location = new System.Drawing.Point(84, 5);\r
+ this.btnSave.Name = "btnSave";\r
+ this.btnSave.Size = new System.Drawing.Size(75, 23);\r
+ this.btnSave.TabIndex = 1;\r
+ this.btnSave.Text = "Save";\r
+ this.btnSave.UseVisualStyleBackColor = true;\r
+ // \r
+ // rtbContent\r
+ // \r
+ this.rtbContent.Dock = System.Windows.Forms.DockStyle.Fill;\r
+ this.rtbContent.Location = new System.Drawing.Point(0, 40);\r
+ this.rtbContent.Name = "rtbContent";\r
+ this.rtbContent.Size = new System.Drawing.Size(382, 290);\r
+ this.rtbContent.TabIndex = 3;\r
+ this.rtbContent.Text = "";\r
+ // \r
+ // Notecard\r
+ // \r
+ this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);\r
+ this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;\r
+ this.Controls.Add(this.rtbContent);\r
+ this.Controls.Add(this.pnlControls);\r
+ this.Controls.Add(this.txtDesc);\r
+ this.Controls.Add(this.txtName);\r
+ this.Name = "Notecard";\r
+ this.Size = new System.Drawing.Size(382, 364);\r
+ this.pnlControls.ResumeLayout(false);\r
+ this.pnlControls.PerformLayout();\r
+ this.ResumeLayout(false);\r
+ this.PerformLayout();\r
+\r
+ }\r
+\r
+ #endregion\r
+\r
+ private System.Windows.Forms.TextBox txtName;\r
+ private System.Windows.Forms.TextBox txtDesc;\r
+ private System.Windows.Forms.Panel pnlControls;\r
+ private System.Windows.Forms.Button btnRefresh;\r
+ private System.Windows.Forms.Label lblStatus;\r
+ private System.Windows.Forms.Button btnSave;\r
+ private System.Windows.Forms.RichTextBox rtbContent;\r
+ }\r
+}\r
--- /dev/null
+using System;\r
+using System.Collections.Generic;\r
+using System.ComponentModel;\r
+using System.Drawing;\r
+using System.Data;\r
+using System.Linq;\r
+using System.Text;\r
+using System.Windows.Forms;\r
+using OpenMetaverse;\r
+using OpenMetaverse.Assets;\r
+\r
+namespace Radegast\r
+{\r
+ public partial class Notecard : UserControl\r
+ {\r
+ private RadegastInstance instance;\r
+ private GridClient client { get { return instance.Client; } }\r
+ private InventoryNotecard notecard;\r
+\r
+ public Notecard(RadegastInstance instance, InventoryNotecard notecard)\r
+ {\r
+ InitializeComponent();\r
+ Disposed += new EventHandler(Notecard_Disposed);\r
+\r
+ this.instance = instance;\r
+ this.notecard = notecard;\r
+\r
+ txtName.Text = notecard.Name;\r
+ txtDesc.Text = notecard.Description;\r
+ lblStatus.Text = "Downloading";\r
+\r
+ // Callbacks\r
+ client.Assets.OnAssetReceived += new AssetManager.AssetReceivedCallback(Assets_OnAssetReceived);\r
+\r
+ client.Assets.RequestInventoryAsset(notecard, true);\r
+ }\r
+\r
+ void Notecard_Disposed(object sender, EventArgs e)\r
+ {\r
+ client.Assets.OnAssetReceived += new AssetManager.AssetReceivedCallback(Assets_OnAssetReceived);\r
+ }\r
+\r
+ void Assets_OnAssetReceived(AssetDownload transfer, Asset asset)\r
+ {\r
+ if (InvokeRequired)\r
+ {\r
+ BeginInvoke(new MethodInvoker(delegate()\r
+ {\r
+ Assets_OnAssetReceived(transfer, asset);\r
+ }\r
+ ));\r
+ return;\r
+ }\r
+\r
+ if (transfer.Success && asset.AssetType == AssetType.Notecard)\r
+ {\r
+ lblStatus.Text = "Done";\r
+ AssetNotecard n = (AssetNotecard)asset;\r
+ n.Decode();\r
+ rtbContent.Text = n.BodyText;\r
+ }\r
+ else\r
+ {\r
+ lblStatus.Text = "Failed";\r
+ }\r
+ }\r
+\r
+ private void btnRefresh_Click(object sender, EventArgs e)\r
+ {\r
+ lblStatus.Text = "Downloading";\r
+ client.Assets.RequestInventoryAsset(notecard, true);\r
+ }\r
+ }\r
+}\r
--- /dev/null
+<?xml version="1.0" encoding="utf-8"?>\r
+<root>\r
+ <!-- \r
+ Microsoft ResX Schema \r
+ \r
+ Version 2.0\r
+ \r
+ The primary goals of this format is to allow a simple XML format \r
+ that is mostly human readable. The generation and parsing of the \r
+ various data types are done through the TypeConverter classes \r
+ associated with the data types.\r
+ \r
+ Example:\r
+ \r
+ ... ado.net/XML headers & schema ...\r
+ <resheader name="resmimetype">text/microsoft-resx</resheader>\r
+ <resheader name="version">2.0</resheader>\r
+ <resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>\r
+ <resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>\r
+ <data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>\r
+ <data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>\r
+ <data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">\r
+ <value>[base64 mime encoded serialized .NET Framework object]</value>\r
+ </data>\r
+ <data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">\r
+ <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>\r
+ <comment>This is a comment</comment>\r
+ </data>\r
+ \r
+ There are any number of "resheader" rows that contain simple \r
+ name/value pairs.\r
+ \r
+ Each data row contains a name, and value. The row also contains a \r
+ type or mimetype. Type corresponds to a .NET class that support \r
+ text/value conversion through the TypeConverter architecture. \r
+ Classes that don't support this are serialized and stored with the \r
+ mimetype set.\r
+ \r
+ The mimetype is used for serialized objects, and tells the \r
+ ResXResourceReader how to depersist the object. This is currently not \r
+ extensible. For a given mimetype the value must be set accordingly:\r
+ \r
+ Note - application/x-microsoft.net.object.binary.base64 is the format \r
+ that the ResXResourceWriter will generate, however the reader can \r
+ read any of the formats listed below.\r
+ \r
+ mimetype: application/x-microsoft.net.object.binary.base64\r
+ value : The object must be serialized with \r
+ : System.Runtime.Serialization.Formatters.Binary.BinaryFormatter\r
+ : and then encoded with base64 encoding.\r
+ \r
+ mimetype: application/x-microsoft.net.object.soap.base64\r
+ value : The object must be serialized with \r
+ : System.Runtime.Serialization.Formatters.Soap.SoapFormatter\r
+ : and then encoded with base64 encoding.\r
+\r
+ mimetype: application/x-microsoft.net.object.bytearray.base64\r
+ value : The object must be serialized into a byte array \r
+ : using a System.ComponentModel.TypeConverter\r
+ : and then encoded with base64 encoding.\r
+ -->\r
+ <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">\r
+ <xsd:import namespace="http://www.w3.org/XML/1998/namespace" />\r
+ <xsd:element name="root" msdata:IsDataSet="true">\r
+ <xsd:complexType>\r
+ <xsd:choice maxOccurs="unbounded">\r
+ <xsd:element name="metadata">\r
+ <xsd:complexType>\r
+ <xsd:sequence>\r
+ <xsd:element name="value" type="xsd:string" minOccurs="0" />\r
+ </xsd:sequence>\r
+ <xsd:attribute name="name" use="required" type="xsd:string" />\r
+ <xsd:attribute name="type" type="xsd:string" />\r
+ <xsd:attribute name="mimetype" type="xsd:string" />\r
+ <xsd:attribute ref="xml:space" />\r
+ </xsd:complexType>\r
+ </xsd:element>\r
+ <xsd:element name="assembly">\r
+ <xsd:complexType>\r
+ <xsd:attribute name="alias" type="xsd:string" />\r
+ <xsd:attribute name="name" type="xsd:string" />\r
+ </xsd:complexType>\r
+ </xsd:element>\r
+ <xsd:element name="data">\r
+ <xsd:complexType>\r
+ <xsd:sequence>\r
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />\r
+ <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />\r
+ </xsd:sequence>\r
+ <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />\r
+ <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />\r
+ <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />\r
+ <xsd:attribute ref="xml:space" />\r
+ </xsd:complexType>\r
+ </xsd:element>\r
+ <xsd:element name="resheader">\r
+ <xsd:complexType>\r
+ <xsd:sequence>\r
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />\r
+ </xsd:sequence>\r
+ <xsd:attribute name="name" type="xsd:string" use="required" />\r
+ </xsd:complexType>\r
+ </xsd:element>\r
+ </xsd:choice>\r
+ </xsd:complexType>\r
+ </xsd:element>\r
+ </xsd:schema>\r
+ <resheader name="resmimetype">\r
+ <value>text/microsoft-resx</value>\r
+ </resheader>\r
+ <resheader name="version">\r
+ <value>2.0</value>\r
+ </resheader>\r
+ <resheader name="reader">\r
+ <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>\r
+ </resheader>\r
+ <resheader name="writer">\r
+ <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>\r
+ </resheader>\r
+</root>
\ No newline at end of file
break;\r
}\r
\r
- if (type != ImageType.Baked && face.TextureID != AppearanceManager.DEFAULT_AVATAR_TEXTURE) {\r
+ if (face.TextureID != AppearanceManager.DEFAULT_AVATAR_TEXTURE) {\r
SLImageHandler img = new SLImageHandler(instance, face.TextureID, ((AppearanceManager.TextureIndex)j).ToString());\r
img.Location = new Point(0, nTextures++ * img.Height);\r
img.Dock = DockStyle.Top;\r
<Compile Include="GUI\Consoles\MasterTab.Designer.cs">\r
<DependentUpon>MasterTab.cs</DependentUpon>\r
</Compile>\r
+ <Compile Include="GUI\Consoles\Notecard.cs">\r
+ <SubType>UserControl</SubType>\r
+ </Compile>\r
+ <Compile Include="GUI\Consoles\Notecard.Designer.cs">\r
+ <DependentUpon>Notecard.cs</DependentUpon>\r
+ </Compile>\r
<Compile Include="GUI\Consoles\OutfitTextures.cs">\r
<SubType>UserControl</SubType>\r
</Compile>\r
<DependentUpon>MasterTab.cs</DependentUpon>\r
<SubType>Designer</SubType>\r
</EmbeddedResource>\r
+ <EmbeddedResource Include="GUI\Consoles\Notecard.resx">\r
+ <DependentUpon>Notecard.cs</DependentUpon>\r
+ <SubType>Designer</SubType>\r
+ </EmbeddedResource>\r
<EmbeddedResource Include="GUI\Consoles\OutfitTextures.resx">\r
<DependentUpon>OutfitTextures.cs</DependentUpon>\r
<SubType>Designer</SubType>\r