Added duplicate tile group

This commit is contained in:
Ray 2024-07-06 00:30:02 +01:00
parent 2098cdf061
commit 3b16677a7b
3 changed files with 82 additions and 57 deletions

31
MainForm.Designer.cs generated
View File

@ -77,6 +77,7 @@ namespace FizzyLauncher
removeToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); removeToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
flowLayoutPanel1 = new System.Windows.Forms.FlowLayoutPanel(); flowLayoutPanel1 = new System.Windows.Forms.FlowLayoutPanel();
panel1 = new System.Windows.Forms.Panel(); panel1 = new System.Windows.Forms.Panel();
toolStripMenuItem5 = new System.Windows.Forms.ToolStripMenuItem();
contextMenuStrip2.SuspendLayout(); contextMenuStrip2.SuspendLayout();
menuStrip1.SuspendLayout(); menuStrip1.SuspendLayout();
tileContainerMenu1.SuspendLayout(); tileContainerMenu1.SuspendLayout();
@ -274,41 +275,41 @@ namespace FizzyLauncher
// //
// tileContainerMenu1 // tileContainerMenu1
// //
tileContainerMenu1.Items.AddRange(new System.Windows.Forms.ToolStripItem[] { addGroupToolStripMenuItem1, toolStripMenuItem4, editToolStripMenuItem, toolStripSeparator1, toolStripMenuItem2, toolStripSeparator2, toolStripMenuItem3, toolStripSeparator3, removeToolStripMenuItem }); tileContainerMenu1.Items.AddRange(new System.Windows.Forms.ToolStripItem[] { addGroupToolStripMenuItem1, toolStripMenuItem4, editToolStripMenuItem, toolStripMenuItem5, toolStripSeparator1, toolStripMenuItem2, toolStripSeparator2, toolStripMenuItem3, toolStripSeparator3, removeToolStripMenuItem });
tileContainerMenu1.Name = "tileContainerMenu1"; tileContainerMenu1.Name = "tileContainerMenu1";
tileContainerMenu1.Size = new System.Drawing.Size(133, 154); tileContainerMenu1.Size = new System.Drawing.Size(181, 198);
// //
// addGroupToolStripMenuItem1 // addGroupToolStripMenuItem1
// //
addGroupToolStripMenuItem1.Name = "addGroupToolStripMenuItem1"; addGroupToolStripMenuItem1.Name = "addGroupToolStripMenuItem1";
addGroupToolStripMenuItem1.Size = new System.Drawing.Size(132, 22); addGroupToolStripMenuItem1.Size = new System.Drawing.Size(180, 22);
addGroupToolStripMenuItem1.Text = "&Add Tile"; addGroupToolStripMenuItem1.Text = "&Add Tile";
addGroupToolStripMenuItem1.Click += addGroupToolStripMenuItem1_Click; addGroupToolStripMenuItem1.Click += addGroupToolStripMenuItem1_Click;
// //
// toolStripMenuItem4 // toolStripMenuItem4
// //
toolStripMenuItem4.Name = "toolStripMenuItem4"; toolStripMenuItem4.Name = "toolStripMenuItem4";
toolStripMenuItem4.Size = new System.Drawing.Size(132, 22); toolStripMenuItem4.Size = new System.Drawing.Size(180, 22);
toolStripMenuItem4.Text = "Add &Group"; toolStripMenuItem4.Text = "Add &Group";
toolStripMenuItem4.Click += toolStripMenuItem4_Click; toolStripMenuItem4.Click += toolStripMenuItem4_Click;
// //
// editToolStripMenuItem // editToolStripMenuItem
// //
editToolStripMenuItem.Name = "editToolStripMenuItem"; editToolStripMenuItem.Name = "editToolStripMenuItem";
editToolStripMenuItem.Size = new System.Drawing.Size(132, 22); editToolStripMenuItem.Size = new System.Drawing.Size(180, 22);
editToolStripMenuItem.Text = "&Edit"; editToolStripMenuItem.Text = "&Edit";
editToolStripMenuItem.Click += editToolStripMenuItem_Click; editToolStripMenuItem.Click += editToolStripMenuItem_Click;
// //
// toolStripSeparator1 // toolStripSeparator1
// //
toolStripSeparator1.Name = "toolStripSeparator1"; toolStripSeparator1.Name = "toolStripSeparator1";
toolStripSeparator1.Size = new System.Drawing.Size(129, 6); toolStripSeparator1.Size = new System.Drawing.Size(177, 6);
// //
// toolStripMenuItem2 // toolStripMenuItem2
// //
toolStripMenuItem2.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] { addRowToolStripMenuItem, removeRowToolStripMenuItem }); toolStripMenuItem2.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] { addRowToolStripMenuItem, removeRowToolStripMenuItem });
toolStripMenuItem2.Name = "toolStripMenuItem2"; toolStripMenuItem2.Name = "toolStripMenuItem2";
toolStripMenuItem2.Size = new System.Drawing.Size(132, 22); toolStripMenuItem2.Size = new System.Drawing.Size(180, 22);
toolStripMenuItem2.Text = "Ro&w"; toolStripMenuItem2.Text = "Ro&w";
// //
// addRowToolStripMenuItem // addRowToolStripMenuItem
@ -328,13 +329,13 @@ namespace FizzyLauncher
// toolStripSeparator2 // toolStripSeparator2
// //
toolStripSeparator2.Name = "toolStripSeparator2"; toolStripSeparator2.Name = "toolStripSeparator2";
toolStripSeparator2.Size = new System.Drawing.Size(129, 6); toolStripSeparator2.Size = new System.Drawing.Size(177, 6);
// //
// toolStripMenuItem3 // toolStripMenuItem3
// //
toolStripMenuItem3.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] { topToolStripMenuItem, upToolStripMenuItem, downToolStripMenuItem, bottomToolStripMenuItem }); toolStripMenuItem3.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] { topToolStripMenuItem, upToolStripMenuItem, downToolStripMenuItem, bottomToolStripMenuItem });
toolStripMenuItem3.Name = "toolStripMenuItem3"; toolStripMenuItem3.Name = "toolStripMenuItem3";
toolStripMenuItem3.Size = new System.Drawing.Size(132, 22); toolStripMenuItem3.Size = new System.Drawing.Size(180, 22);
toolStripMenuItem3.Text = "&Move"; toolStripMenuItem3.Text = "&Move";
// //
// topToolStripMenuItem // topToolStripMenuItem
@ -368,12 +369,12 @@ namespace FizzyLauncher
// toolStripSeparator3 // toolStripSeparator3
// //
toolStripSeparator3.Name = "toolStripSeparator3"; toolStripSeparator3.Name = "toolStripSeparator3";
toolStripSeparator3.Size = new System.Drawing.Size(129, 6); toolStripSeparator3.Size = new System.Drawing.Size(177, 6);
// //
// removeToolStripMenuItem // removeToolStripMenuItem
// //
removeToolStripMenuItem.Name = "removeToolStripMenuItem"; removeToolStripMenuItem.Name = "removeToolStripMenuItem";
removeToolStripMenuItem.Size = new System.Drawing.Size(132, 22); removeToolStripMenuItem.Size = new System.Drawing.Size(180, 22);
removeToolStripMenuItem.Text = "&Remove"; removeToolStripMenuItem.Text = "&Remove";
removeToolStripMenuItem.Click += removeToolStripMenuItem_Click; removeToolStripMenuItem.Click += removeToolStripMenuItem_Click;
// //
@ -402,6 +403,13 @@ namespace FizzyLauncher
panel1.Size = new System.Drawing.Size(404, 417); panel1.Size = new System.Drawing.Size(404, 417);
panel1.TabIndex = 9; panel1.TabIndex = 9;
// //
// toolStripMenuItem5
//
toolStripMenuItem5.Name = "toolStripMenuItem5";
toolStripMenuItem5.Size = new System.Drawing.Size(180, 22);
toolStripMenuItem5.Text = "&Duplicate";
toolStripMenuItem5.Click += toolStripMenuItem5_Click;
//
// MainForm // MainForm
// //
AutoScaleMode = System.Windows.Forms.AutoScaleMode.None; AutoScaleMode = System.Windows.Forms.AutoScaleMode.None;
@ -474,6 +482,7 @@ namespace FizzyLauncher
private System.Windows.Forms.ToolStripMenuItem downToolStripMenuItem; private System.Windows.Forms.ToolStripMenuItem downToolStripMenuItem;
private System.Windows.Forms.ToolStripMenuItem bottomToolStripMenuItem; private System.Windows.Forms.ToolStripMenuItem bottomToolStripMenuItem;
private System.Windows.Forms.Panel panel1; private System.Windows.Forms.Panel panel1;
private System.Windows.Forms.ToolStripMenuItem toolStripMenuItem5;
} }
} }

View File

@ -1,7 +1,6 @@
using System; using System;
using System.Collections.Generic; using System.Collections.Generic;
using System.ComponentModel; using System.ComponentModel;
using System.Drawing;
using System.IO; using System.IO;
using System.Linq; using System.Linq;
using System.Threading.Tasks; using System.Threading.Tasks;
@ -256,9 +255,9 @@ namespace FizzyLauncher
/// </summary> /// </summary>
/// <param name="sender"></param> /// <param name="sender"></param>
/// <param name="e"></param> /// <param name="e"></param>
private void addGroupToolStripMenuItem_Click(object sender, EventArgs e) private async void addGroupToolStripMenuItem_Click(object sender, EventArgs e)
{ {
AddNewTileGroup(); await AddNewTileGroup();
} }
@ -358,7 +357,7 @@ namespace FizzyLauncher
private async Task<bool> fileSessionManager_OnNewSession(FileSessionManager sender) private async Task<bool> fileSessionManager_OnNewSession(FileSessionManager sender)
{ {
return await Task.Run(() => return await Task.Run(async () =>
{ {
var form = new NewForm(); var form = new NewForm();
if (form.ShowDialog() == DialogResult.OK) if (form.ShowDialog() == DialogResult.OK)
@ -371,7 +370,7 @@ namespace FizzyLauncher
for (var i = 0; i < result.GroupCount; i++) for (var i = 0; i < result.GroupCount; i++)
{ {
AddNewTileGroup(); await AddNewTileGroup();
} }
} }
@ -601,6 +600,28 @@ namespace FizzyLauncher
}; };
} }
/// <summary>
/// Duplicate
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private async void toolStripMenuItem5_Click(object sender, EventArgs e)
{
var container = UIControl.GetOwner<RyzStudio.Windows.TileForms.TileContainer>((ToolStripMenuItem)sender);
if (container == null)
{
return;
}
var model = UIControl.GetTag<TileGroupModel>(container);
model.IsExpanded = true;
await AddTileGroups(model);
_fileSessionManager.HasChanged = true;
}
/// <summary> /// <summary>
/// Row - Add Row /// Row - Add Row
/// </summary> /// </summary>
@ -730,28 +751,44 @@ namespace FizzyLauncher
#endregion #endregion
private void AddNewTileGroup() private async Task AddNewTileGroup()
{ {
var group = new TileGroupModel(); var group = new TileGroupModel();
group.Title = "New Group"; group.Title = "New Group";
group.IsExpanded = true; group.IsExpanded = true;
group.GridSize = new System.Drawing.Size(this.CurrentSession.TilesPerRow, 1); group.GridSize = new System.Drawing.Size(this.CurrentSession.TilesPerRow, 1);
var container = new RyzStudio.Windows.TileForms.TileContainer(); await AddTileGroups(group);
container.Title = group.Title;
container.IsOpen = group.IsExpanded;
container.TitleContextMenuStrip = tileContainerMenu1;
container.AutoSizeHeight = true;
container.Tag = group;
container.BackColor = Color.Orange;
UIControl.Add(flowLayoutPanel1, container);
container.AutoSize(group.GridSize.Width, group.GridSize.Height);
_fileSessionManager.HasChanged = true; _fileSessionManager.HasChanged = true;
} }
private async Task AddTileGroups(TileGroupModel model)
{
await Task.Run(() =>
{
var panel = new RyzStudio.Windows.TileForms.TileContainer();
panel.Title = model.Title;
panel.IsOpen = model.IsExpanded;
panel.TitleContextMenuStrip = tileContainerMenu1;
panel.AutoSizeHeight = true;
panel.Tag = model;
panel.AutoSize(model.GridSize.Width, model.GridSize.Height);
UIControl.Add(flowLayoutPanel1, panel);
// Load tiles
foreach (var item2 in model.Items ?? new List<TileModel>())
{
var tile = new FizzyLauncher.Windows.Forms.TilePanel();
tile.LoadInfo(item2);
panel.Add(tile, item2.Position.X, item2.Position.Y);
}
});
}
private void AutoResize() private void AutoResize()
{ {
if (flowLayoutPanel1.Controls.Count <= 0) if (flowLayoutPanel1.Controls.Count <= 0)
@ -770,35 +807,12 @@ namespace FizzyLauncher
private async Task LoadTileGroups(List<TileGroupModel> groupList) private async Task LoadTileGroups(List<TileGroupModel> groupList)
{ {
await Task.Run(() => UIControl.Clear(flowLayoutPanel1);
foreach (var item in groupList ?? new List<TileGroupModel>())
{ {
UIControl.Clear(flowLayoutPanel1); await AddTileGroups(item);
}
// Load groups
foreach (var item in groupList ?? new List<TileGroupModel>())
{
var panel = new RyzStudio.Windows.TileForms.TileContainer();
panel.Title = item.Title;
panel.IsOpen = item.IsExpanded;
panel.TitleContextMenuStrip = tileContainerMenu1;
panel.AutoSizeHeight = true;
panel.Tag = item;
panel.AutoSize(item.GridSize.Width, item.GridSize.Height);
UIControl.Add(flowLayoutPanel1, panel);
// Load tiles
foreach (var item2 in item.Items ?? new List<TileModel>())
{
var tile = new FizzyLauncher.Windows.Forms.TilePanel();
tile.LoadInfo(item2);
panel.Add(tile, item2.Position.X, item2.Position.Y);
}
}
});
} }
} }

View File

@ -9,3 +9,5 @@ dotnet publish skye.sln -r win-x64 -c Release /p:PublishSingleFile=true /p:SelfC
cd "bin\Release\64\" cd "bin\Release\64\"
"C:\B\Portable Files\PeaZip (Portable)\v6.5.1\App\PeaZip\res\7z\7z.exe" a -t7z "..\fizzy-launcher.7z" "*" -mx9 "C:\B\Portable Files\PeaZip (Portable)\v6.5.1\App\PeaZip\res\7z\7z.exe" a -t7z "..\fizzy-launcher.7z" "*" -mx9
PAUSE