Changed: separate tile container to its own control

This commit is contained in:
Ray 2021-07-31 20:27:29 +01:00
parent 453f302c68
commit d8af3d4279
5 changed files with 303 additions and 77 deletions

102
MainForm.Designer.cs generated
View File

@ -1,4 +1,6 @@
namespace FizzyLauncher using FizzyLauncher.Windows.Forms;
namespace FizzyLauncher
{ {
partial class MainForm partial class MainForm
{ {
@ -46,6 +48,8 @@
this.saveAsToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.saveAsToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.toolStripMenuItem15 = new System.Windows.Forms.ToolStripSeparator(); this.toolStripMenuItem15 = new System.Windows.Forms.ToolStripSeparator();
this.exitToolStripMenuItem2 = new System.Windows.Forms.ToolStripMenuItem(); this.exitToolStripMenuItem2 = new System.Windows.Forms.ToolStripMenuItem();
this.toolStripMenuItem1 = new System.Windows.Forms.ToolStripMenuItem();
this.addGroupToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.viewToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.viewToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.showBigIconsToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.showBigIconsToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.enableAnimationsToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.enableAnimationsToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
@ -56,11 +60,9 @@
this.viewHelpToolStripMenuItem1 = new System.Windows.Forms.ToolStripMenuItem(); this.viewHelpToolStripMenuItem1 = new System.Windows.Forms.ToolStripMenuItem();
this.toolStripMenuItem16 = new System.Windows.Forms.ToolStripSeparator(); this.toolStripMenuItem16 = new System.Windows.Forms.ToolStripSeparator();
this.aboutToolStripMenuItem1 = new System.Windows.Forms.ToolStripMenuItem(); this.aboutToolStripMenuItem1 = new System.Windows.Forms.ToolStripMenuItem();
this.panel1 = new System.Windows.Forms.Panel(); this.tileContainer1 = new FizzyLauncher.Windows.Forms.TileContainer();
this.flowLayoutPanel1 = new System.Windows.Forms.FlowLayoutPanel();
this.contextMenuStrip2.SuspendLayout(); this.contextMenuStrip2.SuspendLayout();
this.menuStrip1.SuspendLayout(); this.menuStrip1.SuspendLayout();
this.panel1.SuspendLayout();
this.SuspendLayout(); this.SuspendLayout();
// //
// saveFileDialog1 // saveFileDialog1
@ -99,6 +101,7 @@
// //
this.menuStrip1.Items.AddRange(new System.Windows.Forms.ToolStripItem[] { this.menuStrip1.Items.AddRange(new System.Windows.Forms.ToolStripItem[] {
this.fileToolStripMenuItem, this.fileToolStripMenuItem,
this.toolStripMenuItem1,
this.viewToolStripMenuItem, this.viewToolStripMenuItem,
this.toolsToolStripMenuItem, this.toolsToolStripMenuItem,
this.helpToolStripMenuItem1}); this.helpToolStripMenuItem1});
@ -129,7 +132,7 @@
this.newToolStripMenuItem.Image = global::FizzyLauncher.UIResource.file2; this.newToolStripMenuItem.Image = global::FizzyLauncher.UIResource.file2;
this.newToolStripMenuItem.Name = "newToolStripMenuItem"; this.newToolStripMenuItem.Name = "newToolStripMenuItem";
this.newToolStripMenuItem.ShortcutKeys = ((System.Windows.Forms.Keys)((System.Windows.Forms.Keys.Control | System.Windows.Forms.Keys.N))); this.newToolStripMenuItem.ShortcutKeys = ((System.Windows.Forms.Keys)((System.Windows.Forms.Keys.Control | System.Windows.Forms.Keys.N)));
this.newToolStripMenuItem.Size = new System.Drawing.Size(180, 22); this.newToolStripMenuItem.Size = new System.Drawing.Size(146, 22);
this.newToolStripMenuItem.Text = "&New"; this.newToolStripMenuItem.Text = "&New";
this.newToolStripMenuItem.Click += new System.EventHandler(this.newToolStripMenuItem_Click); this.newToolStripMenuItem.Click += new System.EventHandler(this.newToolStripMenuItem_Click);
// //
@ -138,55 +141,70 @@
this.openToolStripMenuItem.Image = global::FizzyLauncher.UIResource.folder2; this.openToolStripMenuItem.Image = global::FizzyLauncher.UIResource.folder2;
this.openToolStripMenuItem.Name = "openToolStripMenuItem"; this.openToolStripMenuItem.Name = "openToolStripMenuItem";
this.openToolStripMenuItem.ShortcutKeys = ((System.Windows.Forms.Keys)((System.Windows.Forms.Keys.Control | System.Windows.Forms.Keys.O))); this.openToolStripMenuItem.ShortcutKeys = ((System.Windows.Forms.Keys)((System.Windows.Forms.Keys.Control | System.Windows.Forms.Keys.O)));
this.openToolStripMenuItem.Size = new System.Drawing.Size(180, 22); this.openToolStripMenuItem.Size = new System.Drawing.Size(146, 22);
this.openToolStripMenuItem.Text = "&Open"; this.openToolStripMenuItem.Text = "&Open";
this.openToolStripMenuItem.Click += new System.EventHandler(this.openToolStripMenuItem_Click); this.openToolStripMenuItem.Click += new System.EventHandler(this.openToolStripMenuItem_Click);
// //
// toolStripMenuItem13 // toolStripMenuItem13
// //
this.toolStripMenuItem13.Name = "toolStripMenuItem13"; this.toolStripMenuItem13.Name = "toolStripMenuItem13";
this.toolStripMenuItem13.Size = new System.Drawing.Size(177, 6); this.toolStripMenuItem13.Size = new System.Drawing.Size(143, 6);
// //
// closeToolStripMenuItem // closeToolStripMenuItem
// //
this.closeToolStripMenuItem.Name = "closeToolStripMenuItem"; this.closeToolStripMenuItem.Name = "closeToolStripMenuItem";
this.closeToolStripMenuItem.Size = new System.Drawing.Size(180, 22); this.closeToolStripMenuItem.Size = new System.Drawing.Size(146, 22);
this.closeToolStripMenuItem.Text = "&Close"; this.closeToolStripMenuItem.Text = "&Close";
this.closeToolStripMenuItem.Click += new System.EventHandler(this.closeToolStripMenuItem_Click); this.closeToolStripMenuItem.Click += new System.EventHandler(this.closeToolStripMenuItem_Click);
// //
// toolStripMenuItem14 // toolStripMenuItem14
// //
this.toolStripMenuItem14.Name = "toolStripMenuItem14"; this.toolStripMenuItem14.Name = "toolStripMenuItem14";
this.toolStripMenuItem14.Size = new System.Drawing.Size(177, 6); this.toolStripMenuItem14.Size = new System.Drawing.Size(143, 6);
// //
// saveToolStripMenuItem // saveToolStripMenuItem
// //
this.saveToolStripMenuItem.Image = global::FizzyLauncher.UIResource.disk2; this.saveToolStripMenuItem.Image = global::FizzyLauncher.UIResource.disk2;
this.saveToolStripMenuItem.Name = "saveToolStripMenuItem"; this.saveToolStripMenuItem.Name = "saveToolStripMenuItem";
this.saveToolStripMenuItem.ShortcutKeys = ((System.Windows.Forms.Keys)((System.Windows.Forms.Keys.Control | System.Windows.Forms.Keys.S))); this.saveToolStripMenuItem.ShortcutKeys = ((System.Windows.Forms.Keys)((System.Windows.Forms.Keys.Control | System.Windows.Forms.Keys.S)));
this.saveToolStripMenuItem.Size = new System.Drawing.Size(180, 22); this.saveToolStripMenuItem.Size = new System.Drawing.Size(146, 22);
this.saveToolStripMenuItem.Text = "&Save"; this.saveToolStripMenuItem.Text = "&Save";
this.saveToolStripMenuItem.Click += new System.EventHandler(this.saveToolStripMenuItem_Click); this.saveToolStripMenuItem.Click += new System.EventHandler(this.saveToolStripMenuItem_Click);
// //
// saveAsToolStripMenuItem // saveAsToolStripMenuItem
// //
this.saveAsToolStripMenuItem.Name = "saveAsToolStripMenuItem"; this.saveAsToolStripMenuItem.Name = "saveAsToolStripMenuItem";
this.saveAsToolStripMenuItem.Size = new System.Drawing.Size(180, 22); this.saveAsToolStripMenuItem.Size = new System.Drawing.Size(146, 22);
this.saveAsToolStripMenuItem.Text = "Save &As..."; this.saveAsToolStripMenuItem.Text = "Save &As...";
this.saveAsToolStripMenuItem.Click += new System.EventHandler(this.saveAsToolStripMenuItem_Click); this.saveAsToolStripMenuItem.Click += new System.EventHandler(this.saveAsToolStripMenuItem_Click);
// //
// toolStripMenuItem15 // toolStripMenuItem15
// //
this.toolStripMenuItem15.Name = "toolStripMenuItem15"; this.toolStripMenuItem15.Name = "toolStripMenuItem15";
this.toolStripMenuItem15.Size = new System.Drawing.Size(177, 6); this.toolStripMenuItem15.Size = new System.Drawing.Size(143, 6);
// //
// exitToolStripMenuItem2 // exitToolStripMenuItem2
// //
this.exitToolStripMenuItem2.Name = "exitToolStripMenuItem2"; this.exitToolStripMenuItem2.Name = "exitToolStripMenuItem2";
this.exitToolStripMenuItem2.Size = new System.Drawing.Size(180, 22); this.exitToolStripMenuItem2.Size = new System.Drawing.Size(146, 22);
this.exitToolStripMenuItem2.Text = "E&xit"; this.exitToolStripMenuItem2.Text = "E&xit";
this.exitToolStripMenuItem2.Click += new System.EventHandler(this.exitToolStripMenuItem2_Click); this.exitToolStripMenuItem2.Click += new System.EventHandler(this.exitToolStripMenuItem2_Click);
// //
// toolStripMenuItem1
//
this.toolStripMenuItem1.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] {
this.addGroupToolStripMenuItem});
this.toolStripMenuItem1.Name = "toolStripMenuItem1";
this.toolStripMenuItem1.Size = new System.Drawing.Size(39, 20);
this.toolStripMenuItem1.Text = "&Edit";
//
// addGroupToolStripMenuItem
//
this.addGroupToolStripMenuItem.Name = "addGroupToolStripMenuItem";
this.addGroupToolStripMenuItem.Size = new System.Drawing.Size(132, 22);
this.addGroupToolStripMenuItem.Text = "&Add Group";
this.addGroupToolStripMenuItem.Click += new System.EventHandler(this.addGroupToolStripMenuItem_Click);
//
// viewToolStripMenuItem // viewToolStripMenuItem
// //
this.viewToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] { this.viewToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] {
@ -200,21 +218,21 @@
// showBigIconsToolStripMenuItem // showBigIconsToolStripMenuItem
// //
this.showBigIconsToolStripMenuItem.Name = "showBigIconsToolStripMenuItem"; this.showBigIconsToolStripMenuItem.Name = "showBigIconsToolStripMenuItem";
this.showBigIconsToolStripMenuItem.Size = new System.Drawing.Size(180, 22); this.showBigIconsToolStripMenuItem.Size = new System.Drawing.Size(173, 22);
this.showBigIconsToolStripMenuItem.Text = "Show &Big Icons"; this.showBigIconsToolStripMenuItem.Text = "Show &Big Icons";
this.showBigIconsToolStripMenuItem.Click += new System.EventHandler(this.showBigIconsToolStripMenuItem_Click); this.showBigIconsToolStripMenuItem.Click += new System.EventHandler(this.showBigIconsToolStripMenuItem_Click);
// //
// enableAnimationsToolStripMenuItem // enableAnimationsToolStripMenuItem
// //
this.enableAnimationsToolStripMenuItem.Name = "enableAnimationsToolStripMenuItem"; this.enableAnimationsToolStripMenuItem.Name = "enableAnimationsToolStripMenuItem";
this.enableAnimationsToolStripMenuItem.Size = new System.Drawing.Size(180, 22); this.enableAnimationsToolStripMenuItem.Size = new System.Drawing.Size(173, 22);
this.enableAnimationsToolStripMenuItem.Text = "Enable &Animations"; this.enableAnimationsToolStripMenuItem.Text = "Enable &Animations";
this.enableAnimationsToolStripMenuItem.Click += new System.EventHandler(this.enableAnimationsToolStripMenuItem_Click); this.enableAnimationsToolStripMenuItem.Click += new System.EventHandler(this.enableAnimationsToolStripMenuItem_Click);
// //
// alwaysOnTopToolStripMenuItem // alwaysOnTopToolStripMenuItem
// //
this.alwaysOnTopToolStripMenuItem.Name = "alwaysOnTopToolStripMenuItem"; this.alwaysOnTopToolStripMenuItem.Name = "alwaysOnTopToolStripMenuItem";
this.alwaysOnTopToolStripMenuItem.Size = new System.Drawing.Size(180, 22); this.alwaysOnTopToolStripMenuItem.Size = new System.Drawing.Size(173, 22);
this.alwaysOnTopToolStripMenuItem.Text = "Always On &Top"; this.alwaysOnTopToolStripMenuItem.Text = "Always On &Top";
this.alwaysOnTopToolStripMenuItem.Click += new System.EventHandler(this.alwaysOnTopToolStripMenuItem_Click); this.alwaysOnTopToolStripMenuItem.Click += new System.EventHandler(this.alwaysOnTopToolStripMenuItem_Click);
// //
@ -231,7 +249,7 @@
this.optionsToolStripMenuItem.Image = global::FizzyLauncher.UIResource.cog2; this.optionsToolStripMenuItem.Image = global::FizzyLauncher.UIResource.cog2;
this.optionsToolStripMenuItem.Name = "optionsToolStripMenuItem"; this.optionsToolStripMenuItem.Name = "optionsToolStripMenuItem";
this.optionsToolStripMenuItem.ShortcutKeys = ((System.Windows.Forms.Keys)((System.Windows.Forms.Keys.Control | System.Windows.Forms.Keys.F12))); this.optionsToolStripMenuItem.ShortcutKeys = ((System.Windows.Forms.Keys)((System.Windows.Forms.Keys.Control | System.Windows.Forms.Keys.F12)));
this.optionsToolStripMenuItem.Size = new System.Drawing.Size(180, 22); this.optionsToolStripMenuItem.Size = new System.Drawing.Size(168, 22);
this.optionsToolStripMenuItem.Text = "&Options"; this.optionsToolStripMenuItem.Text = "&Options";
this.optionsToolStripMenuItem.Click += new System.EventHandler(this.optionsToolStripMenuItem_Click); this.optionsToolStripMenuItem.Click += new System.EventHandler(this.optionsToolStripMenuItem_Click);
// //
@ -250,49 +268,34 @@
this.viewHelpToolStripMenuItem1.Image = global::FizzyLauncher.UIResource.help2; this.viewHelpToolStripMenuItem1.Image = global::FizzyLauncher.UIResource.help2;
this.viewHelpToolStripMenuItem1.Name = "viewHelpToolStripMenuItem1"; this.viewHelpToolStripMenuItem1.Name = "viewHelpToolStripMenuItem1";
this.viewHelpToolStripMenuItem1.ShortcutKeys = System.Windows.Forms.Keys.F1; this.viewHelpToolStripMenuItem1.ShortcutKeys = System.Windows.Forms.Keys.F1;
this.viewHelpToolStripMenuItem1.Size = new System.Drawing.Size(180, 22); this.viewHelpToolStripMenuItem1.Size = new System.Drawing.Size(146, 22);
this.viewHelpToolStripMenuItem1.Text = "&View Help"; this.viewHelpToolStripMenuItem1.Text = "&View Help";
this.viewHelpToolStripMenuItem1.Click += new System.EventHandler(this.viewHelpToolStripMenuItem1_Click); this.viewHelpToolStripMenuItem1.Click += new System.EventHandler(this.viewHelpToolStripMenuItem1_Click);
// //
// toolStripMenuItem16 // toolStripMenuItem16
// //
this.toolStripMenuItem16.Name = "toolStripMenuItem16"; this.toolStripMenuItem16.Name = "toolStripMenuItem16";
this.toolStripMenuItem16.Size = new System.Drawing.Size(177, 6); this.toolStripMenuItem16.Size = new System.Drawing.Size(143, 6);
// //
// aboutToolStripMenuItem1 // aboutToolStripMenuItem1
// //
this.aboutToolStripMenuItem1.Name = "aboutToolStripMenuItem1"; this.aboutToolStripMenuItem1.Name = "aboutToolStripMenuItem1";
this.aboutToolStripMenuItem1.Size = new System.Drawing.Size(180, 22); this.aboutToolStripMenuItem1.Size = new System.Drawing.Size(146, 22);
this.aboutToolStripMenuItem1.Text = "&About"; this.aboutToolStripMenuItem1.Text = "&About";
this.aboutToolStripMenuItem1.Click += new System.EventHandler(this.aboutToolStripMenuItem1_Click); this.aboutToolStripMenuItem1.Click += new System.EventHandler(this.aboutToolStripMenuItem1_Click);
// //
// panel1 // panel1
// //
this.panel1.AutoScroll = true; this.tileContainer1.AutoScroll = true;
this.panel1.AutoSizeMode = System.Windows.Forms.AutoSizeMode.GrowAndShrink; this.tileContainer1.AutoSizeMode = System.Windows.Forms.AutoSizeMode.GrowAndShrink;
this.panel1.BackColor = System.Drawing.Color.Transparent; this.tileContainer1.BackColor = System.Drawing.Color.Transparent;
this.panel1.Controls.Add(this.flowLayoutPanel1); this.tileContainer1.Dock = System.Windows.Forms.DockStyle.Fill;
this.panel1.Dock = System.Windows.Forms.DockStyle.Fill; this.tileContainer1.Location = new System.Drawing.Point(0, 24);
this.panel1.Location = new System.Drawing.Point(0, 24); this.tileContainer1.Margin = new System.Windows.Forms.Padding(0);
this.panel1.Margin = new System.Windows.Forms.Padding(0); this.tileContainer1.Name = "panel1";
this.panel1.Name = "panel1"; this.tileContainer1.Padding = new System.Windows.Forms.Padding(10, 10, 10, 20);
this.panel1.Padding = new System.Windows.Forms.Padding(10, 10, 10, 20); this.tileContainer1.Size = new System.Drawing.Size(633, 376);
this.panel1.Size = new System.Drawing.Size(633, 376); this.tileContainer1.TabIndex = 3;
this.panel1.TabIndex = 3;
//
// flowLayoutPanel1
//
this.flowLayoutPanel1.AutoSize = true;
this.flowLayoutPanel1.AutoSizeMode = System.Windows.Forms.AutoSizeMode.GrowAndShrink;
this.flowLayoutPanel1.BackColor = System.Drawing.Color.Transparent;
this.flowLayoutPanel1.FlowDirection = System.Windows.Forms.FlowDirection.TopDown;
this.flowLayoutPanel1.Location = new System.Drawing.Point(10, 10);
this.flowLayoutPanel1.Margin = new System.Windows.Forms.Padding(0);
this.flowLayoutPanel1.Name = "flowLayoutPanel1";
this.flowLayoutPanel1.Padding = new System.Windows.Forms.Padding(0, 0, 0, 20);
this.flowLayoutPanel1.Size = new System.Drawing.Size(0, 20);
this.flowLayoutPanel1.TabIndex = 29;
this.flowLayoutPanel1.WrapContents = false;
// //
// MainForm // MainForm
// //
@ -301,7 +304,7 @@
this.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(250)))), ((int)(((byte)(250)))), ((int)(((byte)(250))))); this.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(250)))), ((int)(((byte)(250)))), ((int)(((byte)(250)))));
this.BackgroundImageLayout = System.Windows.Forms.ImageLayout.None; this.BackgroundImageLayout = System.Windows.Forms.ImageLayout.None;
this.ClientSize = new System.Drawing.Size(633, 400); this.ClientSize = new System.Drawing.Size(633, 400);
this.Controls.Add(this.panel1); this.Controls.Add(this.tileContainer1);
this.Controls.Add(this.menuStrip1); this.Controls.Add(this.menuStrip1);
this.DoubleBuffered = true; this.DoubleBuffered = true;
this.ForeColor = System.Drawing.SystemColors.ControlText; this.ForeColor = System.Drawing.SystemColors.ControlText;
@ -315,8 +318,6 @@
this.contextMenuStrip2.ResumeLayout(false); this.contextMenuStrip2.ResumeLayout(false);
this.menuStrip1.ResumeLayout(false); this.menuStrip1.ResumeLayout(false);
this.menuStrip1.PerformLayout(); this.menuStrip1.PerformLayout();
this.panel1.ResumeLayout(false);
this.panel1.PerformLayout();
this.ResumeLayout(false); this.ResumeLayout(false);
this.PerformLayout(); this.PerformLayout();
@ -333,8 +334,7 @@
private System.Windows.Forms.ToolStripMenuItem viewToolStripMenuItem; private System.Windows.Forms.ToolStripMenuItem viewToolStripMenuItem;
private System.Windows.Forms.ToolStripMenuItem toolsToolStripMenuItem; private System.Windows.Forms.ToolStripMenuItem toolsToolStripMenuItem;
private System.Windows.Forms.ToolStripMenuItem helpToolStripMenuItem1; private System.Windows.Forms.ToolStripMenuItem helpToolStripMenuItem1;
private System.Windows.Forms.Panel panel1; private TileContainer tileContainer1;
private System.Windows.Forms.FlowLayoutPanel flowLayoutPanel1;
private System.Windows.Forms.ToolStripMenuItem newToolStripMenuItem; private System.Windows.Forms.ToolStripMenuItem newToolStripMenuItem;
private System.Windows.Forms.ToolStripMenuItem openToolStripMenuItem; private System.Windows.Forms.ToolStripMenuItem openToolStripMenuItem;
private System.Windows.Forms.ToolStripSeparator toolStripMenuItem13; private System.Windows.Forms.ToolStripSeparator toolStripMenuItem13;
@ -351,6 +351,8 @@
private System.Windows.Forms.ToolStripMenuItem viewHelpToolStripMenuItem1; private System.Windows.Forms.ToolStripMenuItem viewHelpToolStripMenuItem1;
private System.Windows.Forms.ToolStripSeparator toolStripMenuItem16; private System.Windows.Forms.ToolStripSeparator toolStripMenuItem16;
private System.Windows.Forms.ToolStripMenuItem aboutToolStripMenuItem1; private System.Windows.Forms.ToolStripMenuItem aboutToolStripMenuItem1;
private System.Windows.Forms.ToolStripMenuItem toolStripMenuItem1;
private System.Windows.Forms.ToolStripMenuItem addGroupToolStripMenuItem;
} }
} }

View File

@ -230,13 +230,14 @@ namespace FizzyLauncher
protected void newSession() protected void newSession()
{ {
flowLayoutPanel1.Controls.Clear(); tileContainer1.Clear(true);
flowLayoutPanel1.Controls.Add(new TilePanelLayout(new TileGroupModel() //flowLayoutPanel1.Controls.Clear();
{ //flowLayoutPanel1.Controls.Add(new TilePanelLayout(new TileGroupModel()
Title = "New Group", //{
IsExpanded = true, // Title = "New Group",
GridSize = new Size(6, 1) // IsExpanded = true,
})); // GridSize = new Size(6, 1)
//}));
InvalidateWidth(6); InvalidateWidth(6);
} }
@ -301,7 +302,7 @@ namespace FizzyLauncher
// load tiles // load tiles
int maxTileWidth = 0; int maxTileWidth = 0;
ThreadControl.Clear(flowLayoutPanel1); tileContainer1.Clear();
if (this.CurrentSession.Groups != null) if (this.CurrentSession.Groups != null)
{ {
@ -311,7 +312,7 @@ namespace FizzyLauncher
TilePanelLayout panel = new TilePanelLayout(item); TilePanelLayout panel = new TilePanelLayout(item);
ThreadControl.Add(flowLayoutPanel1, panel); tileContainer1.Add(panel);
} }
} }
@ -347,7 +348,7 @@ namespace FizzyLauncher
return false; return false;
} }
if (flowLayoutPanel1.Controls.Count <= 0) if (tileContainer1.GroupCount <= 0)
{ {
return true; return true;
} }
@ -366,15 +367,10 @@ namespace FizzyLauncher
// save // save
this.CurrentSession.Groups = new List<TileGroupModel>(); this.CurrentSession.Groups = new List<TileGroupModel>();
for (int i = 0; i < flowLayoutPanel1.Controls.Count; i++)
{
if (flowLayoutPanel1.Controls[i].GetType() != typeof(TilePanelLayout))
{
continue;
}
TilePanelLayout container = flowLayoutPanel1.Controls[i] as TilePanelLayout; foreach (TilePanelLayout item in tileContainer1.Groups)
this.CurrentSession.Groups.Add(container.Model); {
this.CurrentSession.Groups.Add(item.Model);
} }
var options = new JsonSerializerOptions(); var options = new JsonSerializerOptions();
@ -428,8 +424,7 @@ namespace FizzyLauncher
{ {
int newWidth = TilePanelLayout.CalcWidth(columnWidth); int newWidth = TilePanelLayout.CalcWidth(columnWidth);
newWidth += SystemInformation.VerticalScrollBarWidth; newWidth += SystemInformation.VerticalScrollBarWidth;
newWidth += flowLayoutPanel1.Padding.Horizontal + flowLayoutPanel1.Margin.Horizontal; newWidth += tileContainer1.CalcWidth;
newWidth += panel1.Left + panel1.Padding.Horizontal + panel1.Margin.Horizontal;
newWidth += this.Padding.Horizontal; newWidth += this.Padding.Horizontal;
ThreadControl.ClientSize(this, newWidth, this.CurrentSession.DefaultHeight); ThreadControl.ClientSize(this, newWidth, this.CurrentSession.DefaultHeight);
@ -439,7 +434,8 @@ namespace FizzyLauncher
{ {
int newWidth = TilePanelLayout.CalcWidth(columnWidth); int newWidth = TilePanelLayout.CalcWidth(columnWidth);
newWidth += SystemInformation.VerticalScrollBarWidth; newWidth += SystemInformation.VerticalScrollBarWidth;
newWidth += panel1.Left + panel1.Padding.Horizontal + this.Padding.Horizontal + flowLayoutPanel1.Padding.Horizontal + flowLayoutPanel1.Left; newWidth += tileContainer1.CalcWidth;
newWidth += this.Padding.Horizontal;
ThreadControl.SetClientWidth(this, newWidth); ThreadControl.SetClientWidth(this, newWidth);
} }
@ -520,7 +516,7 @@ namespace FizzyLauncher
{ {
if (string.IsNullOrWhiteSpace(sessionFilename)) if (string.IsNullOrWhiteSpace(sessionFilename))
{ {
flowLayoutPanel1.Controls.Clear(); tileContainer1.Clear();
} }
else else
{ {
@ -530,14 +526,14 @@ namespace FizzyLauncher
bool rv = saveFile(sessionFilename, false); bool rv = saveFile(sessionFilename, false);
if (rv) if (rv)
{ {
flowLayoutPanel1.Controls.Clear(); tileContainer1.Clear();
sessionFilename = null; sessionFilename = null;
} }
} }
else if (dr == DialogResult.No) else if (dr == DialogResult.No)
{ {
flowLayoutPanel1.Controls.Clear(); tileContainer1.Clear();
sessionFilename = null; sessionFilename = null;
} }
@ -573,6 +569,23 @@ namespace FizzyLauncher
} }
/// <summary>
/// Add group
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void addGroupToolStripMenuItem_Click(object sender, EventArgs e)
{
if (string.IsNullOrWhiteSpace(sessionFilename))
{
return;
}
}
private void showBigIconsToolStripMenuItem_Click(object sender, EventArgs e) private void showBigIconsToolStripMenuItem_Click(object sender, EventArgs e)
{ {
if (this.CurrentSession == null) if (this.CurrentSession == null)
@ -657,8 +670,8 @@ namespace FizzyLauncher
} }
#endregion #endregion
} }
} }

View File

@ -0,0 +1,91 @@
using FizzyLauncher.Models;
using RyzStudio.Windows.Forms;
using System;
using System.Collections.Generic;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
namespace FizzyLauncher.Windows.Forms
{
public class TileContainer : Panel
{
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);
}
public int CalcWidth
{
get => flowLayoutPanel1.Padding.Horizontal + flowLayoutPanel1.Margin.Horizontal + this.Left + this.Padding.Horizontal + this.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 void Add(TilePanelLayout tilePanelLayout)
{
ThreadControl.Add(flowLayoutPanel1, tilePanelLayout);
}
public void Clear(bool addDefault = false)
{
ThreadControl.Clear(flowLayoutPanel1);
if (addDefault)
{
flowLayoutPanel1.Controls.Add(new TilePanelLayout(new TileGroupModel()
{
Title = "New Group",
IsExpanded = true,
GridSize = new Size(6, 1)
}));
}
}
}
}

View File

@ -0,0 +1,120 @@
<?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>

View File

@ -58,7 +58,7 @@
this.removeToolStripMenuItem.Text = "&Remove"; this.removeToolStripMenuItem.Text = "&Remove";
this.removeToolStripMenuItem.Click += new System.EventHandler(this.removeToolStripMenuItem_Click); this.removeToolStripMenuItem.Click += new System.EventHandler(this.removeToolStripMenuItem_Click);
// //
// TTilePanel // TilePanel
// //
this.AutoScaleDimensions = new System.Drawing.SizeF(7F, 15F); this.AutoScaleDimensions = new System.Drawing.SizeF(7F, 15F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
@ -66,7 +66,7 @@
this.Margin = new System.Windows.Forms.Padding(4, 3, 0, 0); this.Margin = new System.Windows.Forms.Padding(4, 3, 0, 0);
this.MaximumSize = new System.Drawing.Size(82, 81); this.MaximumSize = new System.Drawing.Size(82, 81);
this.MinimumSize = new System.Drawing.Size(82, 81); this.MinimumSize = new System.Drawing.Size(82, 81);
this.Name = "TTilePanel"; this.Name = "TilePanel";
this.Size = new System.Drawing.Size(82, 81); this.Size = new System.Drawing.Size(82, 81);
this.contextMenuStrip1.ResumeLayout(false); this.contextMenuStrip1.ResumeLayout(false);
this.ResumeLayout(false); this.ResumeLayout(false);