Archived
Fixed file session manager
Added has-changed detection flag Fixed dialog result null-value Changed session manager event names
This commit is contained in:
1 parent
f06d311f40
commit
2e3b2998e7
29 files changed
+662
-3257
No files matched your search
@@ -1,164 +0,0 @@
|
||||
using System.Windows.Forms;
|
||||
using FizzyLauncher.Models;
|
||||
using RyzStudio.Windows.Forms;
|
||||
using RyzStudio.Windows.ThemedForms;
|
||||
|
||||
namespace FizzyLauncher.Windows.Forms
|
||||
{
|
||||
public class EditGroupForm : TDialog
|
||||
{
|
||||
private System.Windows.Forms.Label label2;
|
||||
private System.Windows.Forms.Label label1;
|
||||
private ThButton button1;
|
||||
private ThPickerBox pickerBox1;
|
||||
private RyzStudio.Windows.Forms.THorizontalSeparator horizontalSeparator2;
|
||||
private ThTextBox textBox1;
|
||||
|
||||
|
||||
public EditGroupForm(TileGroupModel model = null)
|
||||
{
|
||||
InitializeComponent();
|
||||
|
||||
this.StartPosition = FormStartPosition.WindowsDefaultLocation;
|
||||
this.Text = ((model == null) ? "Add Group" : "Edit Group");
|
||||
this.OkButton = button1;
|
||||
|
||||
pickerBox1.ComboBox.Items.Clear();
|
||||
pickerBox1.ComboBox.Items.AddRange(new string[] { "No", "Yes" });
|
||||
if (pickerBox1.ComboBox.Items.Count > 0)
|
||||
{
|
||||
pickerBox1.ComboBox.SelectedIndex = 0;
|
||||
}
|
||||
|
||||
if (model != null)
|
||||
{
|
||||
textBox1.Text = model.Title?.Trim() ?? string.Empty;
|
||||
pickerBox1.ComboBox.SelectedIndex = (model.IsExclusive ? 1 : 0);
|
||||
}
|
||||
}
|
||||
|
||||
private void InitializeComponent()
|
||||
{
|
||||
this.textBox1 = new ThTextBox();
|
||||
this.label2 = new System.Windows.Forms.Label();
|
||||
this.label1 = new System.Windows.Forms.Label();
|
||||
this.button1 = new ThButton();
|
||||
this.pickerBox1 = new ThPickerBox();
|
||||
this.horizontalSeparator2 = new RyzStudio.Windows.Forms.THorizontalSeparator();
|
||||
this.SuspendLayout();
|
||||
//
|
||||
// textBox1
|
||||
//
|
||||
this.textBox1.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
|
||||
| System.Windows.Forms.AnchorStyles.Right)));
|
||||
this.textBox1.BackColor = System.Drawing.Color.Transparent;
|
||||
this.textBox1.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point);
|
||||
this.textBox1.Location = new System.Drawing.Point(192, 20);
|
||||
this.textBox1.Margin = new System.Windows.Forms.Padding(10, 6, 10, 6);
|
||||
this.textBox1.Name = "textBox1";
|
||||
this.textBox1.Padding = new System.Windows.Forms.Padding(10, 10, 9, 9);
|
||||
this.textBox1.Size = new System.Drawing.Size(177, 35);
|
||||
this.textBox1.AcceptButton = null;
|
||||
this.textBox1.TabIndex = 152;
|
||||
this.textBox1.UseSystemPasswordChar = false;
|
||||
//
|
||||
// label2
|
||||
//
|
||||
this.label2.AutoSize = true;
|
||||
this.label2.BackColor = System.Drawing.Color.Transparent;
|
||||
this.label2.ForeColor = System.Drawing.SystemColors.ControlText;
|
||||
this.label2.Location = new System.Drawing.Point(10, 62);
|
||||
this.label2.Name = "label2";
|
||||
this.label2.Padding = new System.Windows.Forms.Padding(0, 9, 0, 10);
|
||||
this.label2.Size = new System.Drawing.Size(119, 34);
|
||||
this.label2.TabIndex = 155;
|
||||
this.label2.Text = "Show Only Expanded";
|
||||
this.label2.TextAlign = System.Drawing.ContentAlignment.MiddleLeft;
|
||||
//
|
||||
// label1
|
||||
//
|
||||
this.label1.AutoSize = true;
|
||||
this.label1.BackColor = System.Drawing.Color.Transparent;
|
||||
this.label1.ForeColor = System.Drawing.SystemColors.ControlText;
|
||||
this.label1.Location = new System.Drawing.Point(10, 21);
|
||||
this.label1.Margin = new System.Windows.Forms.Padding(0);
|
||||
this.label1.Name = "label1";
|
||||
this.label1.Padding = new System.Windows.Forms.Padding(0, 9, 0, 10);
|
||||
this.label1.Size = new System.Drawing.Size(29, 34);
|
||||
this.label1.TabIndex = 153;
|
||||
this.label1.Text = "Title";
|
||||
this.label1.TextAlign = System.Drawing.ContentAlignment.MiddleLeft;
|
||||
//
|
||||
// button1
|
||||
//
|
||||
this.button1.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right)));
|
||||
this.button1.BackColor = System.Drawing.Color.Transparent;
|
||||
this.button1.IdleImage = null;
|
||||
this.button1.ActiveImage = null;
|
||||
this.button1.LabelText = "&Save";
|
||||
this.button1.Location = new System.Drawing.Point(241, 469);
|
||||
this.button1.Margin = new System.Windows.Forms.Padding(10);
|
||||
this.button1.Name = "button1";
|
||||
this.button1.HoverImage = null;
|
||||
this.button1.Padding = new System.Windows.Forms.Padding(4, 4, 3, 3);
|
||||
this.button1.Size = new System.Drawing.Size(128, 32);
|
||||
this.button1.TabIndex = 173;
|
||||
//
|
||||
// pickerBox1
|
||||
//
|
||||
this.pickerBox1.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));
|
||||
this.pickerBox1.BackColor = System.Drawing.Color.Transparent;
|
||||
this.pickerBox1.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point);
|
||||
this.pickerBox1.Location = new System.Drawing.Point(285, 62);
|
||||
this.pickerBox1.Margin = new System.Windows.Forms.Padding(10, 6, 10, 6);
|
||||
this.pickerBox1.Name = "pickerBox1";
|
||||
this.pickerBox1.Padding = new System.Windows.Forms.Padding(10, 6, 7, 5);
|
||||
this.pickerBox1.Size = new System.Drawing.Size(84, 34);
|
||||
this.pickerBox1.AcceptButton = null;
|
||||
this.pickerBox1.TabIndex = 174;
|
||||
//
|
||||
// horizontalSeparator2
|
||||
//
|
||||
this.horizontalSeparator2.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left)
|
||||
| System.Windows.Forms.AnchorStyles.Right)));
|
||||
this.horizontalSeparator2.AutoScrollMargin = new System.Drawing.Size(0, 0);
|
||||
this.horizontalSeparator2.AutoScrollMinSize = new System.Drawing.Size(0, 0);
|
||||
this.horizontalSeparator2.BackColor = System.Drawing.Color.Transparent;
|
||||
this.horizontalSeparator2.Location = new System.Drawing.Point(10, 437);
|
||||
this.horizontalSeparator2.Margin = new System.Windows.Forms.Padding(10, 0, 10, 0);
|
||||
this.horizontalSeparator2.MaximumSize = new System.Drawing.Size(4920, 2);
|
||||
this.horizontalSeparator2.MinimumSize = new System.Drawing.Size(0, 22);
|
||||
this.horizontalSeparator2.Name = "horizontalSeparator2";
|
||||
this.horizontalSeparator2.Padding = new System.Windows.Forms.Padding(0, 10, 0, 10);
|
||||
this.horizontalSeparator2.Size = new System.Drawing.Size(364, 22);
|
||||
this.horizontalSeparator2.TabIndex = 182;
|
||||
//
|
||||
// EditGroupForm
|
||||
//
|
||||
this.ClientSize = new System.Drawing.Size(384, 521);
|
||||
this.Controls.Add(this.horizontalSeparator2);
|
||||
this.Controls.Add(this.pickerBox1);
|
||||
this.Controls.Add(this.button1);
|
||||
this.Controls.Add(this.label2);
|
||||
this.Controls.Add(this.label1);
|
||||
this.Controls.Add(this.textBox1);
|
||||
this.MinimumSize = new System.Drawing.Size(400, 560);
|
||||
this.Name = "EditGroupForm";
|
||||
this.Text = "Edit Group";
|
||||
this.ResumeLayout(false);
|
||||
this.PerformLayout();
|
||||
|
||||
}
|
||||
|
||||
|
||||
public TileGroupModel Result
|
||||
{
|
||||
get => new TileGroupModel()
|
||||
{
|
||||
Title = textBox1.Text?.Trim() ?? string.Empty,
|
||||
IsExclusive = (pickerBox1.ComboBox.SelectedIndex == 1)
|
||||
};
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
@@ -1,60 +0,0 @@
|
||||
<root>
|
||||
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
|
||||
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
|
||||
<xsd:element name="root" msdata:IsDataSet="true">
|
||||
<xsd:complexType>
|
||||
<xsd:choice maxOccurs="unbounded">
|
||||
<xsd:element name="metadata">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" use="required" type="xsd:string" />
|
||||
<xsd:attribute name="type" type="xsd:string" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" />
|
||||
<xsd:attribute ref="xml:space" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="assembly">
|
||||
<xsd:complexType>
|
||||
<xsd:attribute name="alias" type="xsd:string" />
|
||||
<xsd:attribute name="name" type="xsd:string" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="data">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
|
||||
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
|
||||
<xsd:attribute ref="xml:space" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="resheader">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:choice>
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:schema>
|
||||
<resheader name="resmimetype">
|
||||
<value>text/microsoft-resx</value>
|
||||
</resheader>
|
||||
<resheader name="version">
|
||||
<value>2.0</value>
|
||||
</resheader>
|
||||
<resheader name="reader">
|
||||
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<resheader name="writer">
|
||||
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
</root>
|
||||
@@ -1,322 +0,0 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Diagnostics;
|
||||
using System.Drawing;
|
||||
using System.IO;
|
||||
using System.Linq;
|
||||
using System.Windows.Forms;
|
||||
using FizzyLauncher.Models;
|
||||
using RyzStudio.Windows.Forms;
|
||||
using RyzStudio.Windows.ThemedForms;
|
||||
|
||||
namespace FizzyLauncher.Windows.Forms
|
||||
{
|
||||
public class EditTileFolderForm : TDialog
|
||||
{
|
||||
private System.Windows.Forms.Label label1;
|
||||
private ThButton button1;
|
||||
private RyzStudio.Windows.Forms.THorizontalSeparator horizontalSeparator2;
|
||||
private ThTextBox textBox1;
|
||||
private ThListBox listBox1;
|
||||
private RyzStudio.Windows.Forms.THorizontalSeparator tHorizontalSeparator1;
|
||||
private System.Windows.Forms.Label label2;
|
||||
|
||||
|
||||
public EditTileFolderForm(TileModel model = null)
|
||||
{
|
||||
InitializeComponent();
|
||||
|
||||
this.StartPosition = FormStartPosition.WindowsDefaultLocation;
|
||||
this.OkButton = button1;
|
||||
|
||||
if (model != null)
|
||||
{
|
||||
this.Text = "Edit Folder";
|
||||
|
||||
textBox1.Text = model?.Title ?? string.Empty;
|
||||
|
||||
foreach (TileModel item in model.Items ?? new System.Collections.Generic.List<TileModel>())
|
||||
{
|
||||
if (item.IsGroup)
|
||||
{
|
||||
continue;
|
||||
}
|
||||
|
||||
listBox1.ListBox.Items.Add(item);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
this.Text = "Add Folder";
|
||||
}
|
||||
}
|
||||
|
||||
private void InitializeComponent()
|
||||
{
|
||||
textBox1 = new ThTextBox();
|
||||
label1 = new Label();
|
||||
button1 = new ThButton();
|
||||
horizontalSeparator2 = new RyzStudio.Windows.Forms.THorizontalSeparator();
|
||||
listBox1 = new ThListBox();
|
||||
label2 = new Label();
|
||||
tHorizontalSeparator1 = new RyzStudio.Windows.Forms.THorizontalSeparator();
|
||||
SuspendLayout();
|
||||
//
|
||||
// textBox1
|
||||
//
|
||||
textBox1.AcceptButton = null;
|
||||
textBox1.Anchor = AnchorStyles.Top | AnchorStyles.Left | AnchorStyles.Right;
|
||||
textBox1.BackColor = Color.Transparent;
|
||||
textBox1.EnableReactiveVisual = true;
|
||||
textBox1.Font = new Font("Microsoft Sans Serif", 8.25F);
|
||||
textBox1.Location = new Point(109, 20);
|
||||
textBox1.Margin = new Padding(10, 10, 10, 0);
|
||||
textBox1.Name = "textBox1";
|
||||
textBox1.Padding = new Padding(4, 4, 3, 3);
|
||||
textBox1.ReadOnly = false;
|
||||
textBox1.Size = new Size(260, 35);
|
||||
textBox1.TabIndex = 152;
|
||||
textBox1.TabStop = false;
|
||||
textBox1.UseSystemPasswordChar = false;
|
||||
//
|
||||
// label1
|
||||
//
|
||||
label1.AutoSize = true;
|
||||
label1.BackColor = Color.Transparent;
|
||||
label1.ForeColor = SystemColors.ControlText;
|
||||
label1.Location = new Point(10, 21);
|
||||
label1.Margin = new Padding(0);
|
||||
label1.Name = "label1";
|
||||
label1.Padding = new Padding(0, 9, 0, 10);
|
||||
label1.Size = new Size(29, 34);
|
||||
label1.TabIndex = 153;
|
||||
label1.Text = "Title";
|
||||
label1.TextAlign = ContentAlignment.MiddleLeft;
|
||||
//
|
||||
// button1
|
||||
//
|
||||
button1.AcceptButton = null;
|
||||
button1.ActiveImage = null;
|
||||
button1.Anchor = AnchorStyles.Bottom | AnchorStyles.Right;
|
||||
button1.BackColor = Color.Transparent;
|
||||
button1.EnableMenuOnClick = false;
|
||||
button1.EnableReactiveVisual = true;
|
||||
button1.HoverImage = null;
|
||||
button1.IdleImage = null;
|
||||
button1.LabelText = "&Save";
|
||||
button1.Location = new Point(241, 469);
|
||||
button1.Margin = new Padding(10, 10, 10, 0);
|
||||
button1.Name = "button1";
|
||||
button1.Padding = new Padding(4, 4, 3, 3);
|
||||
button1.Size = new Size(128, 32);
|
||||
button1.TabIndex = 173;
|
||||
button1.TabStop = false;
|
||||
//
|
||||
// horizontalSeparator2
|
||||
//
|
||||
horizontalSeparator2.Anchor = AnchorStyles.Top | AnchorStyles.Left | AnchorStyles.Right;
|
||||
horizontalSeparator2.AutoScrollMargin = new Size(0, 0);
|
||||
horizontalSeparator2.AutoScrollMinSize = new Size(0, 0);
|
||||
horizontalSeparator2.BackColor = Color.Transparent;
|
||||
horizontalSeparator2.Location = new Point(10, 61);
|
||||
horizontalSeparator2.Margin = new Padding(0, 10, 0, 0);
|
||||
horizontalSeparator2.MaximumSize = new Size(4920, 2);
|
||||
horizontalSeparator2.MinimumSize = new Size(0, 22);
|
||||
horizontalSeparator2.Name = "horizontalSeparator2";
|
||||
horizontalSeparator2.Size = new Size(364, 22);
|
||||
horizontalSeparator2.TabIndex = 177;
|
||||
horizontalSeparator2.TabStop = false;
|
||||
//
|
||||
// listBox1
|
||||
//
|
||||
listBox1.AcceptButton = null;
|
||||
listBox1.AllowDrop = true;
|
||||
listBox1.Anchor = AnchorStyles.Top | AnchorStyles.Bottom | AnchorStyles.Left | AnchorStyles.Right;
|
||||
listBox1.BackColor = Color.Transparent;
|
||||
listBox1.EnableReactiveVisual = true;
|
||||
listBox1.Font = new Font("Microsoft Sans Serif", 8.25F);
|
||||
listBox1.Location = new Point(109, 87);
|
||||
listBox1.Margin = new Padding(10, 10, 10, 0);
|
||||
listBox1.Name = "listBox1";
|
||||
listBox1.Padding = new Padding(4, 4, 3, 3);
|
||||
listBox1.Size = new Size(260, 346);
|
||||
listBox1.TabIndex = 180;
|
||||
listBox1.OnAdd += listBox1_OnAdd;
|
||||
listBox1.OnEdit += listBox1_OnEdit;
|
||||
listBox1.DragDrop += listBox1_DragDrop;
|
||||
listBox1.DragOver += listBox1_DragOver;
|
||||
//
|
||||
// label2
|
||||
//
|
||||
label2.AutoSize = true;
|
||||
label2.BackColor = Color.Transparent;
|
||||
label2.ForeColor = SystemColors.ControlText;
|
||||
label2.Location = new Point(8, 87);
|
||||
label2.Name = "label2";
|
||||
label2.Padding = new Padding(0, 9, 0, 10);
|
||||
label2.Size = new Size(30, 34);
|
||||
label2.TabIndex = 181;
|
||||
label2.Text = "Tiles";
|
||||
label2.TextAlign = ContentAlignment.MiddleLeft;
|
||||
//
|
||||
// tHorizontalSeparator1
|
||||
//
|
||||
tHorizontalSeparator1.Anchor = AnchorStyles.Bottom | AnchorStyles.Left | AnchorStyles.Right;
|
||||
tHorizontalSeparator1.AutoScrollMargin = new Size(0, 0);
|
||||
tHorizontalSeparator1.AutoScrollMinSize = new Size(0, 0);
|
||||
tHorizontalSeparator1.BackColor = Color.Transparent;
|
||||
tHorizontalSeparator1.Location = new Point(10, 437);
|
||||
tHorizontalSeparator1.Margin = new Padding(0, 10, 0, 0);
|
||||
tHorizontalSeparator1.MaximumSize = new Size(4920, 2);
|
||||
tHorizontalSeparator1.MinimumSize = new Size(0, 22);
|
||||
tHorizontalSeparator1.Name = "tHorizontalSeparator1";
|
||||
tHorizontalSeparator1.Size = new Size(364, 22);
|
||||
tHorizontalSeparator1.TabIndex = 182;
|
||||
tHorizontalSeparator1.TabStop = false;
|
||||
//
|
||||
// EditTileFolderForm
|
||||
//
|
||||
ClientSize = new Size(384, 521);
|
||||
Controls.Add(tHorizontalSeparator1);
|
||||
Controls.Add(label2);
|
||||
Controls.Add(listBox1);
|
||||
Controls.Add(horizontalSeparator2);
|
||||
Controls.Add(button1);
|
||||
Controls.Add(label1);
|
||||
Controls.Add(textBox1);
|
||||
MinimumSize = new Size(400, 560);
|
||||
Name = "EditTileFolderForm";
|
||||
Text = "Add List Tile";
|
||||
ResumeLayout(false);
|
||||
PerformLayout();
|
||||
}
|
||||
|
||||
|
||||
public TileModel Result
|
||||
{
|
||||
get
|
||||
{
|
||||
var result = new TileModel()
|
||||
{
|
||||
Title = textBox1.Text?.Trim() ?? string.Empty,
|
||||
IsGroup = true,
|
||||
Items = new List<TileModel>()
|
||||
};
|
||||
|
||||
foreach (TileModel item in listBox1.ListBox.Items.OfType<TileModel>())
|
||||
{
|
||||
if (item.IsGroup)
|
||||
{
|
||||
continue;
|
||||
}
|
||||
|
||||
result.Items.Add(item);
|
||||
}
|
||||
|
||||
return result;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
private void listBox1_OnAdd(object sender, EventArgs e)
|
||||
{
|
||||
var form = new EditTileForm();
|
||||
if (form.ShowDialog() == DialogResult.OK)
|
||||
{
|
||||
listBox1.ListBox.Items.Add(form.Result);
|
||||
};
|
||||
}
|
||||
|
||||
private void listBox1_OnEdit(object sender, EventArgs e)
|
||||
{
|
||||
if (listBox1.ListBox.Items.Count <= 0)
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
var n = listBox1.ListBox.SelectedIndex;
|
||||
if (n < 0)
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
if (listBox1.ListBox.SelectedItem == null)
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
var form = new EditTileForm((TileModel)listBox1.ListBox.SelectedItem);
|
||||
if (form.ShowDialog() == DialogResult.OK)
|
||||
{
|
||||
listBox1.ListBox.Items.RemoveAt(n);
|
||||
listBox1.ListBox.Items.Insert(n, form.Result);
|
||||
};
|
||||
}
|
||||
|
||||
private void listBox1_DragOver(object sender, System.Windows.Forms.DragEventArgs e)
|
||||
{
|
||||
if (e.Data.GetDataPresent(DataFormats.FileDrop))
|
||||
{
|
||||
e.Effect = DragDropEffects.Link;
|
||||
}
|
||||
else
|
||||
{
|
||||
e.Effect = DragDropEffects.None;
|
||||
}
|
||||
}
|
||||
|
||||
private void listBox1_DragDrop(object sender, DragEventArgs e)
|
||||
{
|
||||
var fileList = e.Data.GetData(DataFormats.FileDrop) as string[];
|
||||
if (fileList == null)
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
if (fileList.Length <= 0)
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
if (string.IsNullOrWhiteSpace(fileList[0]))
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
var model = new TileModel()
|
||||
{
|
||||
ProcessFilename = fileList[0],
|
||||
Title = Path.GetFileName(fileList[0])
|
||||
};
|
||||
|
||||
// exe
|
||||
if (Path.GetExtension(fileList[0]).Equals(".exe", StringComparison.CurrentCultureIgnoreCase))
|
||||
{
|
||||
if (File.Exists(fileList[0]))
|
||||
{
|
||||
try
|
||||
{
|
||||
FileVersionInfo fvi = FileVersionInfo.GetVersionInfo(fileList[0]);
|
||||
if (fvi != null)
|
||||
{
|
||||
model.Title = fvi.ProductName;
|
||||
}
|
||||
}
|
||||
catch
|
||||
{
|
||||
// do nothing
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
if (string.IsNullOrWhiteSpace(model.Title))
|
||||
{
|
||||
model.Title = Path.GetFileNameWithoutExtension(fileList[0]);
|
||||
}
|
||||
}
|
||||
|
||||
listBox1.ListBox.Items.Add(model);
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
@@ -1,120 +0,0 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<root>
|
||||
<!--
|
||||
Microsoft ResX Schema
|
||||
|
||||
Version 2.0
|
||||
|
||||
The primary goals of this format is to allow a simple XML format
|
||||
that is mostly human readable. The generation and parsing of the
|
||||
various data types are done through the TypeConverter classes
|
||||
associated with the data types.
|
||||
|
||||
Example:
|
||||
|
||||
... ado.net/XML headers & schema ...
|
||||
<resheader name="resmimetype">text/microsoft-resx</resheader>
|
||||
<resheader name="version">2.0</resheader>
|
||||
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
|
||||
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
|
||||
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
|
||||
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
|
||||
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
|
||||
<value>[base64 mime encoded serialized .NET Framework object]</value>
|
||||
</data>
|
||||
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
|
||||
<comment>This is a comment</comment>
|
||||
</data>
|
||||
|
||||
There are any number of "resheader" rows that contain simple
|
||||
name/value pairs.
|
||||
|
||||
Each data row contains a name, and value. The row also contains a
|
||||
type or mimetype. Type corresponds to a .NET class that support
|
||||
text/value conversion through the TypeConverter architecture.
|
||||
Classes that don't support this are serialized and stored with the
|
||||
mimetype set.
|
||||
|
||||
The mimetype is used for serialized objects, and tells the
|
||||
ResXResourceReader how to depersist the object. This is currently not
|
||||
extensible. For a given mimetype the value must be set accordingly:
|
||||
|
||||
Note - application/x-microsoft.net.object.binary.base64 is the format
|
||||
that the ResXResourceWriter will generate, however the reader can
|
||||
read any of the formats listed below.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.binary.base64
|
||||
value : The object must be serialized with
|
||||
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.soap.base64
|
||||
value : The object must be serialized with
|
||||
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.bytearray.base64
|
||||
value : The object must be serialized into a byte array
|
||||
: using a System.ComponentModel.TypeConverter
|
||||
: and then encoded with base64 encoding.
|
||||
-->
|
||||
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
|
||||
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
|
||||
<xsd:element name="root" msdata:IsDataSet="true">
|
||||
<xsd:complexType>
|
||||
<xsd:choice maxOccurs="unbounded">
|
||||
<xsd:element name="metadata">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" use="required" type="xsd:string" />
|
||||
<xsd:attribute name="type" type="xsd:string" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" />
|
||||
<xsd:attribute ref="xml:space" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="assembly">
|
||||
<xsd:complexType>
|
||||
<xsd:attribute name="alias" type="xsd:string" />
|
||||
<xsd:attribute name="name" type="xsd:string" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="data">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
|
||||
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
|
||||
<xsd:attribute ref="xml:space" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="resheader">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:choice>
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:schema>
|
||||
<resheader name="resmimetype">
|
||||
<value>text/microsoft-resx</value>
|
||||
</resheader>
|
||||
<resheader name="version">
|
||||
<value>2.0</value>
|
||||
</resheader>
|
||||
<resheader name="reader">
|
||||
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<resheader name="writer">
|
||||
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
</root>
|
||||
@@ -1,364 +0,0 @@
|
||||
using System.Drawing;
|
||||
using System.Windows.Forms;
|
||||
using FizzyLauncher.Models;
|
||||
using RyzStudio.Windows.Forms;
|
||||
using RyzStudio.Windows.ThemedForms;
|
||||
using RyzStudio.Windows.ThemedForms.ButtonTextBox;
|
||||
|
||||
namespace FizzyLauncher.Windows.Forms
|
||||
{
|
||||
public class EditTileForm : TDialog
|
||||
{
|
||||
private System.Windows.Forms.Label label6;
|
||||
private System.Windows.Forms.Label label7;
|
||||
private System.Windows.Forms.Label label4;
|
||||
private System.Windows.Forms.Label label3;
|
||||
private System.Windows.Forms.Label label2;
|
||||
private System.Windows.Forms.Label label1;
|
||||
private ThPathDialogTextBox textBox2;
|
||||
private ThTextBox textBox3;
|
||||
private ThPathDialogTextBox textBox4;
|
||||
private ThButton button1;
|
||||
private ThPickerBox pickerBox1;
|
||||
private ThPickerBox pickerBox2;
|
||||
private RyzStudio.Windows.Forms.THorizontalSeparator horizontalSeparator1;
|
||||
private RyzStudio.Windows.Forms.THorizontalSeparator horizontalSeparator2;
|
||||
private ThTextBox textBox1;
|
||||
|
||||
|
||||
public EditTileForm(TileModel model = null)
|
||||
{
|
||||
InitializeComponent();
|
||||
|
||||
this.StartPosition = FormStartPosition.WindowsDefaultLocation;
|
||||
this.OkButton = button1;
|
||||
|
||||
pickerBox1.ComboBox.Items.Clear();
|
||||
pickerBox1.ComboBox.Items.AddRange(new string[] { "Normal", "Hidden", "Minimized", "Maximized" });
|
||||
if (pickerBox1.ComboBox.Items.Count > 0)
|
||||
{
|
||||
pickerBox1.ComboBox.SelectedIndex = 0;
|
||||
}
|
||||
|
||||
pickerBox2.ComboBox.Items.Clear();
|
||||
pickerBox2.ComboBox.Items.AddRange(new string[] { "No", "Yes" });
|
||||
if (pickerBox2.ComboBox.Items.Count > 0)
|
||||
{
|
||||
pickerBox2.ComboBox.SelectedIndex = 0;
|
||||
}
|
||||
|
||||
if (model != null)
|
||||
{
|
||||
this.Text = "Edit Tile";
|
||||
|
||||
textBox1.Text = model?.Title ?? string.Empty;
|
||||
textBox2.Text = model?.ProcessFilename ?? string.Empty;
|
||||
textBox3.Text = model?.ProcessArgument ?? string.Empty;
|
||||
textBox4.Text = model?.ProcessWorkingDirectory ?? string.Empty;
|
||||
pickerBox1.ComboBox.SelectedIndex = (int)model.ProcessWindowStyle;
|
||||
pickerBox2.ComboBox.SelectedIndex = (model.ProcessAsAdmin ? 1 : 0);
|
||||
}
|
||||
else
|
||||
{
|
||||
this.Text = "Add Tile";
|
||||
}
|
||||
}
|
||||
|
||||
private void InitializeComponent()
|
||||
{
|
||||
textBox1 = new ThTextBox();
|
||||
label6 = new Label();
|
||||
label7 = new Label();
|
||||
label4 = new Label();
|
||||
label3 = new Label();
|
||||
label2 = new Label();
|
||||
label1 = new Label();
|
||||
textBox2 = new ThPathDialogTextBox();
|
||||
textBox3 = new ThTextBox();
|
||||
textBox4 = new ThPathDialogTextBox();
|
||||
button1 = new ThButton();
|
||||
pickerBox1 = new ThPickerBox();
|
||||
pickerBox2 = new ThPickerBox();
|
||||
horizontalSeparator1 = new RyzStudio.Windows.Forms.THorizontalSeparator();
|
||||
horizontalSeparator2 = new RyzStudio.Windows.Forms.THorizontalSeparator();
|
||||
SuspendLayout();
|
||||
//
|
||||
// textBox1
|
||||
//
|
||||
textBox1.AcceptButton = null;
|
||||
textBox1.Anchor = AnchorStyles.Top | AnchorStyles.Left | AnchorStyles.Right;
|
||||
textBox1.BackColor = Color.Transparent;
|
||||
textBox1.EnableReactiveVisual = true;
|
||||
textBox1.Font = new Font("Segoe UI", 9F);
|
||||
textBox1.Location = new Point(126, 20);
|
||||
textBox1.Margin = new Padding(10, 10, 10, 0);
|
||||
textBox1.Name = "textBox1";
|
||||
textBox1.Padding = new Padding(4, 4, 3, 3);
|
||||
textBox1.ReadOnly = false;
|
||||
textBox1.Size = new Size(243, 35);
|
||||
textBox1.TabIndex = 152;
|
||||
textBox1.TabStop = false;
|
||||
textBox1.UseSystemPasswordChar = false;
|
||||
//
|
||||
// label6
|
||||
//
|
||||
label6.AutoSize = true;
|
||||
label6.BackColor = Color.Transparent;
|
||||
label6.ForeColor = SystemColors.ControlText;
|
||||
label6.Location = new Point(10, 250);
|
||||
label6.Name = "label6";
|
||||
label6.Padding = new Padding(0, 9, 0, 10);
|
||||
label6.Size = new Size(83, 34);
|
||||
label6.TabIndex = 163;
|
||||
label6.Text = "Run As Admin";
|
||||
label6.TextAlign = ContentAlignment.MiddleLeft;
|
||||
//
|
||||
// label7
|
||||
//
|
||||
label7.AutoSize = true;
|
||||
label7.BackColor = Color.Transparent;
|
||||
label7.ForeColor = SystemColors.ControlText;
|
||||
label7.Location = new Point(10, 209);
|
||||
label7.Name = "label7";
|
||||
label7.Padding = new Padding(0, 9, 0, 10);
|
||||
label7.Size = new Size(79, 34);
|
||||
label7.TabIndex = 161;
|
||||
label7.Text = "Window Style";
|
||||
label7.TextAlign = ContentAlignment.MiddleLeft;
|
||||
//
|
||||
// label4
|
||||
//
|
||||
label4.AutoSize = true;
|
||||
label4.BackColor = Color.Transparent;
|
||||
label4.ForeColor = SystemColors.ControlText;
|
||||
label4.Location = new Point(10, 144);
|
||||
label4.Name = "label4";
|
||||
label4.Padding = new Padding(0, 9, 0, 10);
|
||||
label4.Size = new Size(103, 34);
|
||||
label4.TabIndex = 159;
|
||||
label4.Text = "Working Directory";
|
||||
label4.TextAlign = ContentAlignment.MiddleLeft;
|
||||
//
|
||||
// label3
|
||||
//
|
||||
label3.AutoSize = true;
|
||||
label3.BackColor = Color.Transparent;
|
||||
label3.ForeColor = SystemColors.ControlText;
|
||||
label3.Location = new Point(10, 103);
|
||||
label3.Name = "label3";
|
||||
label3.Padding = new Padding(0, 9, 0, 10);
|
||||
label3.Size = new Size(61, 34);
|
||||
label3.TabIndex = 157;
|
||||
label3.Text = "Argument";
|
||||
label3.TextAlign = ContentAlignment.MiddleLeft;
|
||||
//
|
||||
// label2
|
||||
//
|
||||
label2.AutoSize = true;
|
||||
label2.BackColor = Color.Transparent;
|
||||
label2.ForeColor = SystemColors.ControlText;
|
||||
label2.Location = new Point(10, 62);
|
||||
label2.Name = "label2";
|
||||
label2.Padding = new Padding(0, 9, 0, 10);
|
||||
label2.Size = new Size(55, 34);
|
||||
label2.TabIndex = 155;
|
||||
label2.Text = "Filename";
|
||||
label2.TextAlign = ContentAlignment.MiddleLeft;
|
||||
//
|
||||
// label1
|
||||
//
|
||||
label1.AutoSize = true;
|
||||
label1.BackColor = Color.Transparent;
|
||||
label1.ForeColor = SystemColors.ControlText;
|
||||
label1.Location = new Point(10, 21);
|
||||
label1.Margin = new Padding(0);
|
||||
label1.Name = "label1";
|
||||
label1.Padding = new Padding(0, 9, 0, 10);
|
||||
label1.Size = new Size(29, 34);
|
||||
label1.TabIndex = 153;
|
||||
label1.Text = "Title";
|
||||
label1.TextAlign = ContentAlignment.MiddleLeft;
|
||||
//
|
||||
// textBox2
|
||||
//
|
||||
textBox2.AcceptButton = null;
|
||||
textBox2.Anchor = AnchorStyles.Top | AnchorStyles.Left | AnchorStyles.Right;
|
||||
textBox2.BackColor = Color.Transparent;
|
||||
textBox2.DialogMode = ThPathDialogTextBox.DialogType.OpenFile;
|
||||
textBox2.EnableReactiveVisual = true;
|
||||
textBox2.FolderBrowserDialog = null;
|
||||
textBox2.Font = new Font("Segoe UI", 9F);
|
||||
textBox2.HighlightImage = null;
|
||||
textBox2.Location = new Point(126, 61);
|
||||
textBox2.Margin = new Padding(10, 10, 10, 0);
|
||||
textBox2.Name = "textBox2";
|
||||
textBox2.NormalImage = null;
|
||||
textBox2.OpenFileDialog = null;
|
||||
textBox2.Padding = new Padding(4, 4, 3, 3);
|
||||
textBox2.SaveFileDialog = null;
|
||||
textBox2.Size = new Size(243, 32);
|
||||
textBox2.TabIndex = 170;
|
||||
textBox2.TabStop = false;
|
||||
textBox2.UseSystemPasswordChar = false;
|
||||
//
|
||||
// textBox3
|
||||
//
|
||||
textBox3.AcceptButton = null;
|
||||
textBox3.Anchor = AnchorStyles.Top | AnchorStyles.Left | AnchorStyles.Right;
|
||||
textBox3.BackColor = Color.Transparent;
|
||||
textBox3.EnableReactiveVisual = true;
|
||||
textBox3.Font = new Font("Segoe UI", 9F);
|
||||
textBox3.Location = new Point(147, 102);
|
||||
textBox3.Margin = new Padding(10, 10, 10, 0);
|
||||
textBox3.Name = "textBox3";
|
||||
textBox3.Padding = new Padding(4, 4, 3, 3);
|
||||
textBox3.ReadOnly = false;
|
||||
textBox3.Size = new Size(222, 35);
|
||||
textBox3.TabIndex = 171;
|
||||
textBox3.TabStop = false;
|
||||
textBox3.UseSystemPasswordChar = false;
|
||||
//
|
||||
// textBox4
|
||||
//
|
||||
textBox4.AcceptButton = null;
|
||||
textBox4.Anchor = AnchorStyles.Top | AnchorStyles.Left | AnchorStyles.Right;
|
||||
textBox4.BackColor = Color.Transparent;
|
||||
textBox4.DialogMode = ThPathDialogTextBox.DialogType.FolderBrowser;
|
||||
textBox4.EnableReactiveVisual = true;
|
||||
textBox4.FolderBrowserDialog = null;
|
||||
textBox4.Font = new Font("Segoe UI", 9F);
|
||||
textBox4.HighlightImage = null;
|
||||
textBox4.Location = new Point(147, 143);
|
||||
textBox4.Margin = new Padding(10, 10, 10, 0);
|
||||
textBox4.Name = "textBox4";
|
||||
textBox4.NormalImage = null;
|
||||
textBox4.OpenFileDialog = null;
|
||||
textBox4.Padding = new Padding(4, 4, 3, 3);
|
||||
textBox4.SaveFileDialog = null;
|
||||
textBox4.Size = new Size(222, 32);
|
||||
textBox4.TabIndex = 172;
|
||||
textBox4.TabStop = false;
|
||||
textBox4.UseSystemPasswordChar = false;
|
||||
//
|
||||
// button1
|
||||
//
|
||||
button1.AcceptButton = null;
|
||||
button1.ActiveImage = null;
|
||||
button1.Anchor = AnchorStyles.Bottom | AnchorStyles.Right;
|
||||
button1.BackColor = Color.Transparent;
|
||||
button1.EnableMenuOnClick = false;
|
||||
button1.EnableReactiveVisual = true;
|
||||
button1.HoverImage = null;
|
||||
button1.IdleImage = null;
|
||||
button1.LabelText = "&Save";
|
||||
button1.Location = new Point(241, 469);
|
||||
button1.Margin = new Padding(10, 10, 10, 0);
|
||||
button1.Name = "button1";
|
||||
button1.Padding = new Padding(4, 4, 3, 3);
|
||||
button1.Size = new Size(128, 32);
|
||||
button1.TabIndex = 173;
|
||||
button1.TabStop = false;
|
||||
//
|
||||
// pickerBox1
|
||||
//
|
||||
pickerBox1.AcceptButton = null;
|
||||
pickerBox1.Anchor = AnchorStyles.Top | AnchorStyles.Right;
|
||||
pickerBox1.BackColor = Color.Transparent;
|
||||
pickerBox1.EnableReactiveVisual = true;
|
||||
pickerBox1.Font = new Font("Segoe UI", 9F);
|
||||
pickerBox1.Location = new Point(241, 209);
|
||||
pickerBox1.Margin = new Padding(10, 10, 10, 0);
|
||||
pickerBox1.Name = "pickerBox1";
|
||||
pickerBox1.Padding = new Padding(4, 4, 3, 3);
|
||||
pickerBox1.SelectedIndex = -1;
|
||||
pickerBox1.Size = new Size(128, 34);
|
||||
pickerBox1.TabIndex = 174;
|
||||
pickerBox1.TabStop = false;
|
||||
//
|
||||
// pickerBox2
|
||||
//
|
||||
pickerBox2.AcceptButton = null;
|
||||
pickerBox2.Anchor = AnchorStyles.Top | AnchorStyles.Right;
|
||||
pickerBox2.BackColor = Color.Transparent;
|
||||
pickerBox2.EnableReactiveVisual = true;
|
||||
pickerBox2.Font = new Font("Segoe UI", 9F);
|
||||
pickerBox2.Location = new Point(285, 250);
|
||||
pickerBox2.Margin = new Padding(10, 10, 10, 0);
|
||||
pickerBox2.Name = "pickerBox2";
|
||||
pickerBox2.Padding = new Padding(4, 4, 3, 3);
|
||||
pickerBox2.SelectedIndex = -1;
|
||||
pickerBox2.Size = new Size(84, 34);
|
||||
pickerBox2.TabIndex = 175;
|
||||
pickerBox2.TabStop = false;
|
||||
//
|
||||
// horizontalSeparator1
|
||||
//
|
||||
horizontalSeparator1.Anchor = AnchorStyles.Top | AnchorStyles.Left | AnchorStyles.Right;
|
||||
horizontalSeparator1.AutoScrollMargin = new Size(0, 0);
|
||||
horizontalSeparator1.AutoScrollMinSize = new Size(0, 0);
|
||||
horizontalSeparator1.BackColor = Color.Transparent;
|
||||
horizontalSeparator1.Location = new Point(10, 181);
|
||||
horizontalSeparator1.Margin = new Padding(0, 10, 0, 0);
|
||||
horizontalSeparator1.MaximumSize = new Size(4920, 2);
|
||||
horizontalSeparator1.MinimumSize = new Size(0, 22);
|
||||
horizontalSeparator1.Name = "horizontalSeparator1";
|
||||
horizontalSeparator1.Size = new Size(364, 22);
|
||||
horizontalSeparator1.TabIndex = 176;
|
||||
horizontalSeparator1.TabStop = false;
|
||||
//
|
||||
// horizontalSeparator2
|
||||
//
|
||||
horizontalSeparator2.Anchor = AnchorStyles.Bottom | AnchorStyles.Left | AnchorStyles.Right;
|
||||
horizontalSeparator2.AutoScrollMargin = new Size(0, 0);
|
||||
horizontalSeparator2.AutoScrollMinSize = new Size(0, 0);
|
||||
horizontalSeparator2.BackColor = Color.Transparent;
|
||||
horizontalSeparator2.Location = new Point(10, 437);
|
||||
horizontalSeparator2.Margin = new Padding(0, 10, 0, 0);
|
||||
horizontalSeparator2.MaximumSize = new Size(4920, 2);
|
||||
horizontalSeparator2.MinimumSize = new Size(0, 22);
|
||||
horizontalSeparator2.Name = "horizontalSeparator2";
|
||||
horizontalSeparator2.Size = new Size(364, 22);
|
||||
horizontalSeparator2.TabIndex = 177;
|
||||
horizontalSeparator2.TabStop = false;
|
||||
//
|
||||
// EditTileForm
|
||||
//
|
||||
ClientSize = new Size(384, 521);
|
||||
Controls.Add(horizontalSeparator2);
|
||||
Controls.Add(horizontalSeparator1);
|
||||
Controls.Add(pickerBox2);
|
||||
Controls.Add(pickerBox1);
|
||||
Controls.Add(button1);
|
||||
Controls.Add(textBox4);
|
||||
Controls.Add(textBox3);
|
||||
Controls.Add(textBox2);
|
||||
Controls.Add(label6);
|
||||
Controls.Add(label7);
|
||||
Controls.Add(label4);
|
||||
Controls.Add(label3);
|
||||
Controls.Add(label2);
|
||||
Controls.Add(label1);
|
||||
Controls.Add(textBox1);
|
||||
MinimumSize = new Size(400, 560);
|
||||
Name = "EditTileForm";
|
||||
Text = "Add Tile";
|
||||
ResumeLayout(false);
|
||||
PerformLayout();
|
||||
}
|
||||
|
||||
|
||||
public TileModel Result
|
||||
{
|
||||
get => new TileModel()
|
||||
{
|
||||
Title = textBox1.Text?.Trim() ?? string.Empty,
|
||||
ProcessFilename = textBox2.Text?.Trim() ?? string.Empty,
|
||||
ProcessArgument = textBox3.Text?.Trim() ?? string.Empty,
|
||||
ProcessWorkingDirectory = textBox4.Text?.Trim(),
|
||||
ProcessWindowStyle = (System.Diagnostics.ProcessWindowStyle)pickerBox1.ComboBox.SelectedIndex,
|
||||
ProcessAsAdmin = (pickerBox2.ComboBox.SelectedIndex == 1)
|
||||
};
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
@@ -1,120 +0,0 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<root>
|
||||
<!--
|
||||
Microsoft ResX Schema
|
||||
|
||||
Version 2.0
|
||||
|
||||
The primary goals of this format is to allow a simple XML format
|
||||
that is mostly human readable. The generation and parsing of the
|
||||
various data types are done through the TypeConverter classes
|
||||
associated with the data types.
|
||||
|
||||
Example:
|
||||
|
||||
... ado.net/XML headers & schema ...
|
||||
<resheader name="resmimetype">text/microsoft-resx</resheader>
|
||||
<resheader name="version">2.0</resheader>
|
||||
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
|
||||
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
|
||||
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
|
||||
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
|
||||
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
|
||||
<value>[base64 mime encoded serialized .NET Framework object]</value>
|
||||
</data>
|
||||
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
|
||||
<comment>This is a comment</comment>
|
||||
</data>
|
||||
|
||||
There are any number of "resheader" rows that contain simple
|
||||
name/value pairs.
|
||||
|
||||
Each data row contains a name, and value. The row also contains a
|
||||
type or mimetype. Type corresponds to a .NET class that support
|
||||
text/value conversion through the TypeConverter architecture.
|
||||
Classes that don't support this are serialized and stored with the
|
||||
mimetype set.
|
||||
|
||||
The mimetype is used for serialized objects, and tells the
|
||||
ResXResourceReader how to depersist the object. This is currently not
|
||||
extensible. For a given mimetype the value must be set accordingly:
|
||||
|
||||
Note - application/x-microsoft.net.object.binary.base64 is the format
|
||||
that the ResXResourceWriter will generate, however the reader can
|
||||
read any of the formats listed below.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.binary.base64
|
||||
value : The object must be serialized with
|
||||
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.soap.base64
|
||||
value : The object must be serialized with
|
||||
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.bytearray.base64
|
||||
value : The object must be serialized into a byte array
|
||||
: using a System.ComponentModel.TypeConverter
|
||||
: and then encoded with base64 encoding.
|
||||
-->
|
||||
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
|
||||
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
|
||||
<xsd:element name="root" msdata:IsDataSet="true">
|
||||
<xsd:complexType>
|
||||
<xsd:choice maxOccurs="unbounded">
|
||||
<xsd:element name="metadata">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" use="required" type="xsd:string" />
|
||||
<xsd:attribute name="type" type="xsd:string" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" />
|
||||
<xsd:attribute ref="xml:space" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="assembly">
|
||||
<xsd:complexType>
|
||||
<xsd:attribute name="alias" type="xsd:string" />
|
||||
<xsd:attribute name="name" type="xsd:string" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="data">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
|
||||
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
|
||||
<xsd:attribute ref="xml:space" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="resheader">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:choice>
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:schema>
|
||||
<resheader name="resmimetype">
|
||||
<value>text/microsoft-resx</value>
|
||||
</resheader>
|
||||
<resheader name="version">
|
||||
<value>2.0</value>
|
||||
</resheader>
|
||||
<resheader name="reader">
|
||||
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<resheader name="writer">
|
||||
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
</root>
|
||||
@@ -1,149 +0,0 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.ComponentModel;
|
||||
using System.Drawing;
|
||||
using System.Windows.Forms;
|
||||
using FizzyLauncher.Models;
|
||||
using RyzStudio.Windows.Forms;
|
||||
|
||||
namespace FizzyLauncher.Windows.Forms
|
||||
{
|
||||
public class TileContainer : Panel
|
||||
{
|
||||
protected const int DEFAULT_COLUMN = 6;
|
||||
|
||||
protected FlowLayoutPanel flowLayoutPanel1 = null;
|
||||
|
||||
|
||||
public TileContainer()
|
||||
{
|
||||
flowLayoutPanel1 = new FlowLayoutPanel();
|
||||
flowLayoutPanel1.AutoSize = true;
|
||||
flowLayoutPanel1.AutoSizeMode = AutoSizeMode.GrowAndShrink;
|
||||
flowLayoutPanel1.BackColor = Color.Transparent;
|
||||
flowLayoutPanel1.FlowDirection = FlowDirection.TopDown;
|
||||
flowLayoutPanel1.Location = new Point(10, 10);
|
||||
flowLayoutPanel1.Margin = new Padding(0);
|
||||
flowLayoutPanel1.Padding = new Padding(0, 0, 0, 20);
|
||||
flowLayoutPanel1.Size = new Size(0, 20);
|
||||
flowLayoutPanel1.WrapContents = false;
|
||||
|
||||
this.AutoScroll = true;
|
||||
this.AutoSizeMode = AutoSizeMode.GrowAndShrink;
|
||||
this.BackColor = System.Drawing.Color.Transparent;
|
||||
this.Margin = new Padding(0);
|
||||
this.Name = "tileContainer1";
|
||||
this.Padding = new Padding(10, 10, 10, 20);
|
||||
this.Controls.Add(flowLayoutPanel1);
|
||||
}
|
||||
|
||||
|
||||
[Browsable(false)]
|
||||
public event EventHandler OnColumnSizeChanged;
|
||||
|
||||
|
||||
public int CalcWidth
|
||||
{
|
||||
get =>
|
||||
TilePanelLayout.CalcWidth(this.TileWidthCount) +
|
||||
this.Left + this.Padding.Horizontal + this.Margin.Horizontal +
|
||||
flowLayoutPanel1.Padding.Horizontal + flowLayoutPanel1.Margin.Horizontal;
|
||||
}
|
||||
|
||||
public int GroupCount
|
||||
{
|
||||
get => flowLayoutPanel1.Controls.Count;
|
||||
}
|
||||
|
||||
public IEnumerable<TilePanelLayout> Groups
|
||||
{
|
||||
get
|
||||
{
|
||||
for (int i = 0; i < flowLayoutPanel1.Controls.Count; i++)
|
||||
{
|
||||
if (flowLayoutPanel1.Controls[i].GetType() != typeof(TilePanelLayout))
|
||||
{
|
||||
continue;
|
||||
}
|
||||
|
||||
TilePanelLayout container = flowLayoutPanel1.Controls[i] as TilePanelLayout;
|
||||
yield return container;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public IEnumerable<TileGroupModel> GroupModels
|
||||
{
|
||||
get
|
||||
{
|
||||
foreach (TilePanelLayout item in this.Groups)
|
||||
{
|
||||
yield return item.Model;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public int TileWidthCount { get; private set; } = DEFAULT_COLUMN;
|
||||
|
||||
|
||||
public void Add()
|
||||
{
|
||||
this.Add(new TilePanelLayout(new TileGroupModel()
|
||||
{
|
||||
Title = "New Group",
|
||||
IsExpanded = true,
|
||||
GridSize = new Size(this.TileWidthCount, 1)
|
||||
}));
|
||||
}
|
||||
|
||||
public void Add(TilePanelLayout tilePanelLayout)
|
||||
{
|
||||
UIControl.Add(flowLayoutPanel1, tilePanelLayout);
|
||||
|
||||
this.InvalidateColumnSize();
|
||||
}
|
||||
|
||||
public void Add(int columnCount)
|
||||
{
|
||||
this.TileWidthCount = ((columnCount <= 0) ? DEFAULT_COLUMN : columnCount);
|
||||
|
||||
this.Add();
|
||||
}
|
||||
|
||||
public void Clear()
|
||||
{
|
||||
UIControl.Clear(flowLayoutPanel1);
|
||||
|
||||
this.TileWidthCount = DEFAULT_COLUMN;
|
||||
|
||||
InvalidateColumnSize();
|
||||
}
|
||||
|
||||
public void InvalidateColumnSize()
|
||||
{
|
||||
this.OnColumnSizeChanged?.Invoke(this, null);
|
||||
}
|
||||
|
||||
public void Load(List<TileGroupModel> groupList)
|
||||
{
|
||||
this.Clear();
|
||||
|
||||
if (groupList == null)
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
foreach (TileGroupModel item in groupList)
|
||||
{
|
||||
this.TileWidthCount = Math.Max(this.TileWidthCount, item.GridSize.Width);
|
||||
|
||||
TilePanelLayout panel = new TilePanelLayout(item);
|
||||
|
||||
this.Add(panel);
|
||||
}
|
||||
|
||||
InvalidateColumnSize();
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
@@ -1,120 +0,0 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<root>
|
||||
<!--
|
||||
Microsoft ResX Schema
|
||||
|
||||
Version 2.0
|
||||
|
||||
The primary goals of this format is to allow a simple XML format
|
||||
that is mostly human readable. The generation and parsing of the
|
||||
various data types are done through the TypeConverter classes
|
||||
associated with the data types.
|
||||
|
||||
Example:
|
||||
|
||||
... ado.net/XML headers & schema ...
|
||||
<resheader name="resmimetype">text/microsoft-resx</resheader>
|
||||
<resheader name="version">2.0</resheader>
|
||||
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
|
||||
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
|
||||
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
|
||||
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
|
||||
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
|
||||
<value>[base64 mime encoded serialized .NET Framework object]</value>
|
||||
</data>
|
||||
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
|
||||
<comment>This is a comment</comment>
|
||||
</data>
|
||||
|
||||
There are any number of "resheader" rows that contain simple
|
||||
name/value pairs.
|
||||
|
||||
Each data row contains a name, and value. The row also contains a
|
||||
type or mimetype. Type corresponds to a .NET class that support
|
||||
text/value conversion through the TypeConverter architecture.
|
||||
Classes that don't support this are serialized and stored with the
|
||||
mimetype set.
|
||||
|
||||
The mimetype is used for serialized objects, and tells the
|
||||
ResXResourceReader how to depersist the object. This is currently not
|
||||
extensible. For a given mimetype the value must be set accordingly:
|
||||
|
||||
Note - application/x-microsoft.net.object.binary.base64 is the format
|
||||
that the ResXResourceWriter will generate, however the reader can
|
||||
read any of the formats listed below.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.binary.base64
|
||||
value : The object must be serialized with
|
||||
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.soap.base64
|
||||
value : The object must be serialized with
|
||||
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.bytearray.base64
|
||||
value : The object must be serialized into a byte array
|
||||
: using a System.ComponentModel.TypeConverter
|
||||
: and then encoded with base64 encoding.
|
||||
-->
|
||||
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
|
||||
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
|
||||
<xsd:element name="root" msdata:IsDataSet="true">
|
||||
<xsd:complexType>
|
||||
<xsd:choice maxOccurs="unbounded">
|
||||
<xsd:element name="metadata">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" use="required" type="xsd:string" />
|
||||
<xsd:attribute name="type" type="xsd:string" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" />
|
||||
<xsd:attribute ref="xml:space" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="assembly">
|
||||
<xsd:complexType>
|
||||
<xsd:attribute name="alias" type="xsd:string" />
|
||||
<xsd:attribute name="name" type="xsd:string" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="data">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
|
||||
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
|
||||
<xsd:attribute ref="xml:space" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="resheader">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:choice>
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:schema>
|
||||
<resheader name="resmimetype">
|
||||
<value>text/microsoft-resx</value>
|
||||
</resheader>
|
||||
<resheader name="version">
|
||||
<value>2.0</value>
|
||||
</resheader>
|
||||
<resheader name="reader">
|
||||
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<resheader name="writer">
|
||||
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
</root>
|
||||
-241
@@ -1,241 +0,0 @@
|
||||
namespace FizzyLauncher.Windows.Forms
|
||||
{
|
||||
partial class TilePanelLayout
|
||||
{
|
||||
/// <summary>
|
||||
/// Required designer variable.
|
||||
/// </summary>
|
||||
private System.ComponentModel.IContainer components = null;
|
||||
|
||||
/// <summary>
|
||||
/// Clean up any resources being used.
|
||||
/// </summary>
|
||||
/// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
|
||||
protected override void Dispose(bool disposing)
|
||||
{
|
||||
if (disposing && (components != null))
|
||||
{
|
||||
components.Dispose();
|
||||
}
|
||||
base.Dispose(disposing);
|
||||
}
|
||||
|
||||
#region Component Designer generated code
|
||||
|
||||
/// <summary>
|
||||
/// Required method for Designer support - do not modify
|
||||
/// the contents of this method with the code editor.
|
||||
/// </summary>
|
||||
private void InitializeComponent()
|
||||
{
|
||||
this.components = new System.ComponentModel.Container();
|
||||
this.contextMenuStrip1 = new System.Windows.Forms.ContextMenuStrip(this.components);
|
||||
this.addToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
|
||||
this.addListToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
|
||||
this.toolStripMenuItem6 = new System.Windows.Forms.ToolStripSeparator();
|
||||
this.removeRowToolStripMenuItem1 = new System.Windows.Forms.ToolStripMenuItem();
|
||||
this.contextMenuStrip2 = new System.Windows.Forms.ContextMenuStrip(this.components);
|
||||
this.toolStripMenuItem2 = new System.Windows.Forms.ToolStripMenuItem();
|
||||
this.toolStripMenuItem1 = new System.Windows.Forms.ToolStripMenuItem();
|
||||
this.toolStripSeparator2 = new System.Windows.Forms.ToolStripSeparator();
|
||||
this.toolStripMenuItem4 = new System.Windows.Forms.ToolStripMenuItem();
|
||||
this.topToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
|
||||
this.upToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
|
||||
this.downToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
|
||||
this.bottomToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
|
||||
this.toolStripSeparator1 = new System.Windows.Forms.ToolStripSeparator();
|
||||
this.toolStripMenuItem3 = new System.Windows.Forms.ToolStripMenuItem();
|
||||
this.toolStripSeparator3 = new System.Windows.Forms.ToolStripSeparator();
|
||||
this.toolStripMenuItem7 = new System.Windows.Forms.ToolStripMenuItem();
|
||||
this.toolStripMenuItem5 = new System.Windows.Forms.ToolStripMenuItem();
|
||||
this.removeRowToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
|
||||
this.contextMenuStrip1.SuspendLayout();
|
||||
this.contextMenuStrip2.SuspendLayout();
|
||||
this.SuspendLayout();
|
||||
//
|
||||
// contextMenuStrip1
|
||||
//
|
||||
this.contextMenuStrip1.Items.AddRange(new System.Windows.Forms.ToolStripItem[] {
|
||||
this.addToolStripMenuItem,
|
||||
this.addListToolStripMenuItem,
|
||||
this.toolStripMenuItem6,
|
||||
this.removeRowToolStripMenuItem1});
|
||||
this.contextMenuStrip1.Name = "contextMenuStrip1";
|
||||
this.contextMenuStrip1.Size = new System.Drawing.Size(144, 76);
|
||||
//
|
||||
// addToolStripMenuItem
|
||||
//
|
||||
this.addToolStripMenuItem.Name = "addToolStripMenuItem";
|
||||
this.addToolStripMenuItem.Size = new System.Drawing.Size(143, 22);
|
||||
this.addToolStripMenuItem.Text = "&Add Tile";
|
||||
this.addToolStripMenuItem.Click += new System.EventHandler(this.addTileMenuItem_Click);
|
||||
//
|
||||
// addListToolStripMenuItem
|
||||
//
|
||||
this.addListToolStripMenuItem.Name = "addListToolStripMenuItem";
|
||||
this.addListToolStripMenuItem.Size = new System.Drawing.Size(143, 22);
|
||||
this.addListToolStripMenuItem.Text = "Add &Folder";
|
||||
this.addListToolStripMenuItem.Click += new System.EventHandler(this.addListTileMenuItem_Click);
|
||||
//
|
||||
// toolStripMenuItem6
|
||||
//
|
||||
this.toolStripMenuItem6.Name = "toolStripMenuItem6";
|
||||
this.toolStripMenuItem6.Size = new System.Drawing.Size(140, 6);
|
||||
//
|
||||
// removeRowToolStripMenuItem1
|
||||
//
|
||||
this.removeRowToolStripMenuItem1.Name = "removeRowToolStripMenuItem1";
|
||||
this.removeRowToolStripMenuItem1.Size = new System.Drawing.Size(143, 22);
|
||||
this.removeRowToolStripMenuItem1.Text = "&Remove Row";
|
||||
this.removeRowToolStripMenuItem1.Click += new System.EventHandler(this.removeRowToolStripMenuItem_Click_1);
|
||||
//
|
||||
// contextMenuStrip2
|
||||
//
|
||||
this.contextMenuStrip2.Items.AddRange(new System.Windows.Forms.ToolStripItem[] {
|
||||
this.toolStripMenuItem2,
|
||||
this.toolStripMenuItem1,
|
||||
this.toolStripSeparator3,
|
||||
this.toolStripMenuItem7,
|
||||
this.toolStripSeparator2,
|
||||
this.toolStripMenuItem4,
|
||||
this.toolStripSeparator1,
|
||||
this.toolStripMenuItem3});
|
||||
this.contextMenuStrip2.Name = "contextMenuStrip1";
|
||||
this.contextMenuStrip2.Size = new System.Drawing.Size(181, 154);
|
||||
//
|
||||
// toolStripMenuItem2
|
||||
//
|
||||
this.toolStripMenuItem2.Name = "toolStripMenuItem2";
|
||||
this.toolStripMenuItem2.Size = new System.Drawing.Size(180, 22);
|
||||
this.toolStripMenuItem2.Text = "&Add Group";
|
||||
this.toolStripMenuItem2.Click += new System.EventHandler(this.addGroupMenuItem_Click);
|
||||
//
|
||||
// toolStripMenuItem1
|
||||
//
|
||||
this.toolStripMenuItem1.Name = "toolStripMenuItem1";
|
||||
this.toolStripMenuItem1.Size = new System.Drawing.Size(180, 22);
|
||||
this.toolStripMenuItem1.Text = "&Edit";
|
||||
this.toolStripMenuItem1.Click += new System.EventHandler(this.editGroupMenuItem_Click);
|
||||
//
|
||||
// toolStripSeparator2
|
||||
//
|
||||
this.toolStripSeparator2.Name = "toolStripSeparator2";
|
||||
this.toolStripSeparator2.Size = new System.Drawing.Size(177, 6);
|
||||
//
|
||||
// toolStripMenuItem4
|
||||
//
|
||||
this.toolStripMenuItem4.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] {
|
||||
this.topToolStripMenuItem,
|
||||
this.upToolStripMenuItem,
|
||||
this.downToolStripMenuItem,
|
||||
this.bottomToolStripMenuItem});
|
||||
this.toolStripMenuItem4.Name = "toolStripMenuItem4";
|
||||
this.toolStripMenuItem4.Size = new System.Drawing.Size(180, 22);
|
||||
this.toolStripMenuItem4.Text = "&Move";
|
||||
//
|
||||
// topToolStripMenuItem
|
||||
//
|
||||
this.topToolStripMenuItem.Name = "topToolStripMenuItem";
|
||||
this.topToolStripMenuItem.Size = new System.Drawing.Size(114, 22);
|
||||
this.topToolStripMenuItem.Text = "&Top";
|
||||
this.topToolStripMenuItem.Click += new System.EventHandler(this.moveTopMenuItem_Click);
|
||||
//
|
||||
// upToolStripMenuItem
|
||||
//
|
||||
this.upToolStripMenuItem.Name = "upToolStripMenuItem";
|
||||
this.upToolStripMenuItem.Size = new System.Drawing.Size(114, 22);
|
||||
this.upToolStripMenuItem.Text = "&Up";
|
||||
this.upToolStripMenuItem.Click += new System.EventHandler(this.moveUpMenuItem_Click);
|
||||
//
|
||||
// downToolStripMenuItem
|
||||
//
|
||||
this.downToolStripMenuItem.Name = "downToolStripMenuItem";
|
||||
this.downToolStripMenuItem.Size = new System.Drawing.Size(114, 22);
|
||||
this.downToolStripMenuItem.Text = "&Down";
|
||||
this.downToolStripMenuItem.Click += new System.EventHandler(this.moveDownMenuItem_Click);
|
||||
//
|
||||
// bottomToolStripMenuItem
|
||||
//
|
||||
this.bottomToolStripMenuItem.Name = "bottomToolStripMenuItem";
|
||||
this.bottomToolStripMenuItem.Size = new System.Drawing.Size(114, 22);
|
||||
this.bottomToolStripMenuItem.Text = "&Bottom";
|
||||
this.bottomToolStripMenuItem.Click += new System.EventHandler(this.moveBottomMenuItem_Click);
|
||||
//
|
||||
// toolStripSeparator1
|
||||
//
|
||||
this.toolStripSeparator1.Name = "toolStripSeparator1";
|
||||
this.toolStripSeparator1.Size = new System.Drawing.Size(177, 6);
|
||||
//
|
||||
// toolStripMenuItem3
|
||||
//
|
||||
this.toolStripMenuItem3.Name = "toolStripMenuItem3";
|
||||
this.toolStripMenuItem3.Size = new System.Drawing.Size(180, 22);
|
||||
this.toolStripMenuItem3.Text = "&Remove";
|
||||
this.toolStripMenuItem3.Click += new System.EventHandler(this.removeGroupMenuItem3_Click);
|
||||
//
|
||||
// toolStripSeparator3
|
||||
//
|
||||
this.toolStripSeparator3.Name = "toolStripSeparator3";
|
||||
this.toolStripSeparator3.Size = new System.Drawing.Size(177, 6);
|
||||
//
|
||||
// toolStripMenuItem7
|
||||
//
|
||||
this.toolStripMenuItem7.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] {
|
||||
this.toolStripMenuItem5,
|
||||
this.removeRowToolStripMenuItem});
|
||||
this.toolStripMenuItem7.Name = "toolStripMenuItem7";
|
||||
this.toolStripMenuItem7.Size = new System.Drawing.Size(180, 22);
|
||||
this.toolStripMenuItem7.Text = "Ro&w";
|
||||
//
|
||||
// toolStripMenuItem5
|
||||
//
|
||||
this.toolStripMenuItem5.Name = "toolStripMenuItem5";
|
||||
this.toolStripMenuItem5.Size = new System.Drawing.Size(180, 22);
|
||||
this.toolStripMenuItem5.Text = "Add &Row";
|
||||
this.toolStripMenuItem5.Click += new System.EventHandler(this.toolStripMenuItem5_Click);
|
||||
//
|
||||
// removeRowToolStripMenuItem
|
||||
//
|
||||
this.removeRowToolStripMenuItem.Name = "removeRowToolStripMenuItem";
|
||||
this.removeRowToolStripMenuItem.Size = new System.Drawing.Size(180, 22);
|
||||
this.removeRowToolStripMenuItem.Text = "Remo&ve Row";
|
||||
this.removeRowToolStripMenuItem.Click += new System.EventHandler(this.removeRowToolStripMenuItem_Click_1);
|
||||
//
|
||||
// TilePanelLayout
|
||||
//
|
||||
this.AutoScaleDimensions = new System.Drawing.SizeF(7F, 15F);
|
||||
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
|
||||
this.BackColor = System.Drawing.Color.Transparent;
|
||||
this.Margin = new System.Windows.Forms.Padding(4, 3, 4, 3);
|
||||
this.Name = "TilePanelLayout";
|
||||
this.Size = new System.Drawing.Size(432, 173);
|
||||
this.contextMenuStrip1.ResumeLayout(false);
|
||||
this.contextMenuStrip2.ResumeLayout(false);
|
||||
this.ResumeLayout(false);
|
||||
this.PerformLayout();
|
||||
|
||||
}
|
||||
|
||||
#endregion
|
||||
private System.Windows.Forms.ContextMenuStrip contextMenuStrip1;
|
||||
private System.Windows.Forms.ToolStripMenuItem addToolStripMenuItem;
|
||||
private System.Windows.Forms.ToolStripMenuItem addListToolStripMenuItem;
|
||||
private System.Windows.Forms.ContextMenuStrip contextMenuStrip2;
|
||||
private System.Windows.Forms.ToolStripMenuItem toolStripMenuItem2;
|
||||
private System.Windows.Forms.ToolStripMenuItem toolStripMenuItem1;
|
||||
private System.Windows.Forms.ToolStripSeparator toolStripSeparator2;
|
||||
private System.Windows.Forms.ToolStripMenuItem toolStripMenuItem4;
|
||||
private System.Windows.Forms.ToolStripMenuItem topToolStripMenuItem;
|
||||
private System.Windows.Forms.ToolStripMenuItem upToolStripMenuItem;
|
||||
private System.Windows.Forms.ToolStripMenuItem downToolStripMenuItem;
|
||||
private System.Windows.Forms.ToolStripMenuItem bottomToolStripMenuItem;
|
||||
private System.Windows.Forms.ToolStripSeparator toolStripSeparator1;
|
||||
private System.Windows.Forms.ToolStripMenuItem toolStripMenuItem3;
|
||||
private System.Windows.Forms.ToolStripSeparator toolStripMenuItem6;
|
||||
private System.Windows.Forms.ToolStripMenuItem removeRowToolStripMenuItem1;
|
||||
private System.Windows.Forms.ToolStripSeparator toolStripSeparator3;
|
||||
private System.Windows.Forms.ToolStripMenuItem toolStripMenuItem7;
|
||||
private System.Windows.Forms.ToolStripMenuItem toolStripMenuItem5;
|
||||
private System.Windows.Forms.ToolStripMenuItem removeRowToolStripMenuItem;
|
||||
}
|
||||
}
|
||||
@@ -1,438 +0,0 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Diagnostics;
|
||||
using System.Drawing;
|
||||
using System.IO;
|
||||
using System.Linq;
|
||||
using System.Windows.Forms;
|
||||
using FizzyLauncher.Models;
|
||||
using RyzStudio.Windows.Forms;
|
||||
|
||||
namespace FizzyLauncher.Windows.Forms
|
||||
{
|
||||
public partial class TilePanelLayout : TileGridPanelLayout<TilePanel>
|
||||
{
|
||||
protected TileGroupModel groupModel = null;
|
||||
|
||||
|
||||
public TilePanelLayout(TileGroupModel model) : base()
|
||||
{
|
||||
InitializeComponent();
|
||||
|
||||
this.TitleContextMenuStrip = contextMenuStrip2;
|
||||
this.ContainerContextMenuStrip = contextMenuStrip1;
|
||||
|
||||
this.LoadModel(model);
|
||||
}
|
||||
|
||||
protected override void OnDragDrop(DragEventArgs e)
|
||||
{
|
||||
string[] fileList = e.Data.GetData(DataFormats.FileDrop) as string[];
|
||||
|
||||
this.LoadShortcuts(fileList);
|
||||
}
|
||||
|
||||
public new bool EnableAnimation
|
||||
{
|
||||
get
|
||||
{
|
||||
MainForm mainForm = this.MainForm;
|
||||
if (mainForm == null)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
if (mainForm.CurrentSession == null)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
base.EnableAnimation = mainForm.CurrentSession.EnableAnimation;
|
||||
|
||||
return base.EnableAnimation;
|
||||
}
|
||||
set => base.EnableAnimation = value;
|
||||
}
|
||||
|
||||
public void LoadShortcuts(string[] fileList)
|
||||
{
|
||||
if (fileList == null)
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
if (fileList.Length <= 0)
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
if (string.IsNullOrWhiteSpace(fileList[0]))
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
TileModel model = new TileModel()
|
||||
{
|
||||
ProcessFilename = fileList[0],
|
||||
Title = Path.GetFileName(fileList[0])
|
||||
};
|
||||
|
||||
// exe
|
||||
if (Path.GetExtension(fileList[0]).Equals(".exe", StringComparison.CurrentCultureIgnoreCase))
|
||||
{
|
||||
if (File.Exists(fileList[0]))
|
||||
{
|
||||
try
|
||||
{
|
||||
FileVersionInfo fvi = FileVersionInfo.GetVersionInfo(fileList[0]);
|
||||
if (fvi != null)
|
||||
{
|
||||
model.Title = fvi.ProductName;
|
||||
}
|
||||
}
|
||||
catch
|
||||
{
|
||||
// do nothing
|
||||
}
|
||||
}
|
||||
|
||||
if (string.IsNullOrWhiteSpace(model.Title))
|
||||
{
|
||||
model.Title = Path.GetFileNameWithoutExtension(fileList[0]);
|
||||
}
|
||||
}
|
||||
|
||||
this.AddTile(model);
|
||||
}
|
||||
|
||||
public TileGroupModel Model
|
||||
{
|
||||
get
|
||||
{
|
||||
TileGroupModel rs = new TileGroupModel()
|
||||
{
|
||||
Title = groupModel.Title,
|
||||
GridSize = new Size(this.GridSize.X, this.GridSize.Y),
|
||||
IsExpanded = this.IsExpanded,
|
||||
IsExclusive = groupModel.IsExclusive,
|
||||
Items = this.Tiles
|
||||
};
|
||||
|
||||
return rs;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
public MainForm MainForm { get => UIControl.GetParentsUntil<MainForm>(this.Parent); }
|
||||
|
||||
public List<TileModel> Tiles
|
||||
{
|
||||
get
|
||||
{
|
||||
List<TileModel> result = new List<TileModel>();
|
||||
foreach (GridTileItem item in this.GridTileItems.Where(x => x.Tile.GetType() == typeof(TilePanel)))
|
||||
{
|
||||
TileModel model = (item.Tile as TilePanel).ModelInfo;
|
||||
model.Position = item.Coord;
|
||||
|
||||
result.Add(model);
|
||||
}
|
||||
|
||||
return result;
|
||||
}
|
||||
}
|
||||
|
||||
public void AddTile(TileModel tile)
|
||||
{
|
||||
Point gridSize = this.GridSize;
|
||||
|
||||
if (GridTileItems.Count >= (gridSize.X * gridSize.Y))
|
||||
{
|
||||
this.SetGridSize(gridSize.X, (gridSize.Y + 1));
|
||||
}
|
||||
|
||||
Point? newCoord = tile.Position;
|
||||
if ((newCoord == null) || HasTile(tile.Position))
|
||||
{
|
||||
newCoord = FindLastFreeCoord();
|
||||
}
|
||||
|
||||
if (newCoord == null)
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
tile.Position = newCoord.Value;
|
||||
|
||||
TilePanel panel = new TilePanel();
|
||||
panel.LoadInfo(tile);
|
||||
panel.Location = ConvertCoordToLocation(tile.Position);
|
||||
|
||||
GridTileItems.Add(new GridTileItem()
|
||||
{
|
||||
Tile = panel,
|
||||
Coord = tile.Position
|
||||
});
|
||||
|
||||
this.Controls.Add(panel);
|
||||
}
|
||||
|
||||
public void AddGroup()
|
||||
{
|
||||
if (this.FlowLayoutPanel == null)
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
this.FlowLayoutPanel.Controls.Add(new TilePanelLayout(new TileGroupModel()
|
||||
{
|
||||
Title = "New Group",
|
||||
GridSize = new Size(8, 1)
|
||||
}));
|
||||
}
|
||||
|
||||
public void AddRow() => this.SetGridSize(this.GridSize.X, (this.GridSize.Y + 1));
|
||||
|
||||
public void EditGroup()
|
||||
{
|
||||
//EditGroupForm.ShowDialog(this);
|
||||
}
|
||||
|
||||
public async void LoadModel(TileGroupModel model)
|
||||
{
|
||||
groupModel = model;
|
||||
|
||||
this.Title = groupModel?.Title ?? string.Empty;
|
||||
this.IsExpanded = groupModel.IsExpanded;
|
||||
|
||||
//label1.Image = (isExpanded ? AppResource.toggle_right_ea_16 : AppResource.toggle_left_ea_16);
|
||||
|
||||
this.SetGridSize(groupModel.GridSize.Width, groupModel.GridSize.Height);
|
||||
this.LoadTiles(model.Items);
|
||||
this.SetGridSize(groupModel.GridSize.Width, groupModel.GridSize.Height);
|
||||
|
||||
await this.Invalidate();
|
||||
}
|
||||
|
||||
public async void UpdateModel(TileGroupModel model)
|
||||
{
|
||||
groupModel = model;
|
||||
|
||||
this.Title = groupModel?.Title ?? string.Empty;
|
||||
this.IsExpanded = groupModel.IsExpanded;
|
||||
|
||||
await this.Invalidate();
|
||||
}
|
||||
|
||||
public void LoadTiles(List<TileModel> tiles)
|
||||
{
|
||||
if (tiles == null)
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
if (tiles.Count() <= 0)
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
foreach (TileModel item in tiles)
|
||||
{
|
||||
// resolve final grid position
|
||||
Point? confirmedPosition = ResolveCoord(item.Position);
|
||||
if (confirmedPosition == null)
|
||||
{
|
||||
continue;
|
||||
}
|
||||
|
||||
// place control
|
||||
TilePanel panel = new TilePanel();
|
||||
panel.LoadInfo(item);
|
||||
panel.Location = ConvertCoordToLocation(confirmedPosition.Value);
|
||||
|
||||
GridTileItems.Add(new GridTileItem()
|
||||
{
|
||||
Tile = panel,
|
||||
Coord = confirmedPosition.Value
|
||||
});
|
||||
|
||||
this.Controls.Add(panel);
|
||||
}
|
||||
}
|
||||
|
||||
private void SetGridSize(int width, int height)
|
||||
{
|
||||
this.GridSize = new Point(width, height);
|
||||
|
||||
groupModel.GridSize = new Size(groupModel.GridSize.Width, height);
|
||||
}
|
||||
|
||||
protected override async void label1_MouseClick(object sender, MouseEventArgs e)
|
||||
{
|
||||
base.label1_MouseClick(sender, e);
|
||||
|
||||
if (isAnimating)
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
if (e.Button == MouseButtons.Left)
|
||||
{
|
||||
// exclusivity
|
||||
if (this.IsExpanded)
|
||||
{
|
||||
if (this.Model.IsExclusive)
|
||||
{
|
||||
if (this.FlowLayoutPanel != null)
|
||||
{
|
||||
foreach (TilePanelLayout item in this.FlowLayoutPanel.Controls.OfType<TilePanelLayout>())
|
||||
{
|
||||
if (item.Equals(this))
|
||||
{
|
||||
continue;
|
||||
}
|
||||
|
||||
await item.Collapse();
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
#region tile context menu
|
||||
|
||||
/// <summary>
|
||||
/// Add tile
|
||||
/// </summary>
|
||||
/// <param name="sender"></param>
|
||||
/// <param name="e"></param>
|
||||
private void addTileMenuItem_Click(object sender, EventArgs e)
|
||||
{
|
||||
Point coord = ConvertLocationToCoord(lastMousePosition.X, lastMousePosition.Y);
|
||||
|
||||
//EditTileForm.ShowAddDialog(this, coord);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Add folder
|
||||
/// </summary>
|
||||
/// <param name="sender"></param>
|
||||
/// <param name="e"></param>
|
||||
private void addListTileMenuItem_Click(object sender, EventArgs e)
|
||||
{
|
||||
Point coord = ConvertLocationToCoord(lastMousePosition.X, lastMousePosition.Y);
|
||||
|
||||
//EditTileFolderForm.ShowAddDialog(this, coord);
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#region group context menu
|
||||
|
||||
/// <summary>
|
||||
/// Add group
|
||||
/// </summary>
|
||||
/// <param name="sender"></param>
|
||||
/// <param name="e"></param>
|
||||
private void addGroupMenuItem_Click(object sender, EventArgs e)
|
||||
{
|
||||
this.AddGroup();
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Edit group
|
||||
/// </summary>
|
||||
/// <param name="sender"></param>
|
||||
/// <param name="e"></param>
|
||||
private void editGroupMenuItem_Click(object sender, EventArgs e)
|
||||
{
|
||||
this.EditGroup();
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Add row
|
||||
/// </summary>
|
||||
/// <param name="sender"></param>
|
||||
/// <param name="e"></param>
|
||||
private void toolStripMenuItem5_Click(object sender, EventArgs e)
|
||||
{
|
||||
this.AddRow();
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Remove row
|
||||
/// </summary>
|
||||
/// <param name="sender"></param>
|
||||
/// <param name="e"></param>
|
||||
private void removeRowToolStripMenuItem_Click_1(object sender, EventArgs e)
|
||||
{
|
||||
if (this.GridSize.Y <= 1)
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
bool rs = GridTileItems.Exists(x => x.Coord.Y.Equals(this.GridSize.Y - 1));
|
||||
if (rs)
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
this.SetGridSize(this.GridSize.X, (this.GridSize.Y - 1));
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Move to top
|
||||
/// </summary>
|
||||
/// <param name="sender"></param>
|
||||
/// <param name="e"></param>
|
||||
private void moveTopMenuItem_Click(object sender, EventArgs e)
|
||||
{
|
||||
this.MoveTop();
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Move up
|
||||
/// </summary>
|
||||
/// <param name="sender"></param>
|
||||
/// <param name="e"></param>
|
||||
private void moveUpMenuItem_Click(object sender, EventArgs e)
|
||||
{
|
||||
this.MoveUp();
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Move down
|
||||
/// </summary>
|
||||
/// <param name="sender"></param>
|
||||
/// <param name="e"></param>
|
||||
private void moveDownMenuItem_Click(object sender, EventArgs e)
|
||||
{
|
||||
this.MoveDown();
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Move to bottom
|
||||
/// </summary>
|
||||
/// <param name="sender"></param>
|
||||
/// <param name="e"></param>
|
||||
private void moveBottomMenuItem_Click(object sender, EventArgs e)
|
||||
{
|
||||
this.MoveBottom();
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Remove group
|
||||
/// </summary>
|
||||
/// <param name="sender"></param>
|
||||
/// <param name="e"></param>
|
||||
private void removeGroupMenuItem3_Click(object sender, EventArgs e)
|
||||
{
|
||||
this.Remove();
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
@@ -1,66 +0,0 @@
|
||||
<root>
|
||||
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
|
||||
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
|
||||
<xsd:element name="root" msdata:IsDataSet="true">
|
||||
<xsd:complexType>
|
||||
<xsd:choice maxOccurs="unbounded">
|
||||
<xsd:element name="metadata">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" use="required" type="xsd:string" />
|
||||
<xsd:attribute name="type" type="xsd:string" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" />
|
||||
<xsd:attribute ref="xml:space" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="assembly">
|
||||
<xsd:complexType>
|
||||
<xsd:attribute name="alias" type="xsd:string" />
|
||||
<xsd:attribute name="name" type="xsd:string" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="data">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
|
||||
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
|
||||
<xsd:attribute ref="xml:space" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="resheader">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:choice>
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:schema>
|
||||
<resheader name="resmimetype">
|
||||
<value>text/microsoft-resx</value>
|
||||
</resheader>
|
||||
<resheader name="version">
|
||||
<value>2.0</value>
|
||||
</resheader>
|
||||
<resheader name="reader">
|
||||
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<resheader name="writer">
|
||||
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<metadata name="contextMenuStrip1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
||||
<value>17, 17</value>
|
||||
</metadata>
|
||||
<metadata name="contextMenuStrip2.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
||||
<value>172, 17</value>
|
||||
</metadata>
|
||||
</root>
|
||||
Reference in new issue
Block a user