77 lines
2.8 KiB
C#
77 lines
2.8 KiB
C#
using ApplicationServices;
|
|
using LibationFileManager;
|
|
using LibationWinForms.ProcessQueue;
|
|
using System;
|
|
using System.Linq;
|
|
using System.Threading.Tasks;
|
|
using System.Windows.Forms;
|
|
|
|
namespace LibationWinForms
|
|
{
|
|
public partial class Form1
|
|
{
|
|
private void Configure_ProcessQueue()
|
|
{
|
|
productsGrid.LiberateClicked += (_, lb) => processBookQueue1.AddDownloadDecrypt(lb);
|
|
processBookQueue1.popoutBtn.Click += ProcessBookQueue1_PopOut;
|
|
}
|
|
|
|
int WidthChange = 0;
|
|
private void HideQueueBtn_Click(object sender, EventArgs e)
|
|
{
|
|
if (splitContainer1.Panel2Collapsed)
|
|
{
|
|
WidthChange = WidthChange == 0 ? splitContainer1.Panel2.Width + splitContainer1.SplitterWidth : WidthChange;
|
|
Width += WidthChange;
|
|
splitContainer1.Panel2.Controls.Add(processBookQueue1);
|
|
splitContainer1.Panel2Collapsed = false;
|
|
processBookQueue1.popoutBtn.Visible = true;
|
|
hideQueueBtn.Text = "❰❰❰";
|
|
}
|
|
else
|
|
{
|
|
WidthChange = splitContainer1.Panel2.Width + splitContainer1.SplitterWidth;
|
|
splitContainer1.Panel2.Controls.Remove(processBookQueue1);
|
|
splitContainer1.Panel2Collapsed = true;
|
|
Width -= WidthChange;
|
|
hideQueueBtn.Text = "❱❱❱";
|
|
}
|
|
}
|
|
|
|
private void ProcessBookQueue1_PopOut(object sender, EventArgs e)
|
|
{
|
|
ProcessBookForm dockForm = new();
|
|
dockForm.WidthChange = splitContainer1.Panel2.Width + splitContainer1.SplitterWidth;
|
|
dockForm.RestoreSizeAndLocation(Configuration.Instance);
|
|
dockForm.FormClosing += DockForm_FormClosing;
|
|
splitContainer1.Panel2.Controls.Remove(processBookQueue1);
|
|
splitContainer1.Panel2Collapsed = true;
|
|
processBookQueue1.popoutBtn.Visible = false;
|
|
dockForm.PassControl(processBookQueue1);
|
|
dockForm.Show();
|
|
this.Width -= dockForm.WidthChange;
|
|
hideQueueBtn.Visible = false;
|
|
int deltax = filterBtn.Margin.Right + hideQueueBtn.Width + hideQueueBtn.Margin.Left;
|
|
filterBtn.Location= new System.Drawing.Point(filterBtn.Location.X + deltax, filterBtn.Location.Y);
|
|
filterSearchTb.Location = new System.Drawing.Point(filterSearchTb.Location.X + deltax, filterSearchTb.Location.Y);
|
|
}
|
|
|
|
private void DockForm_FormClosing(object sender, FormClosingEventArgs e)
|
|
{
|
|
if (sender is ProcessBookForm dockForm)
|
|
{
|
|
this.Width += dockForm.WidthChange;
|
|
splitContainer1.Panel2.Controls.Add(dockForm.RegainControl());
|
|
splitContainer1.Panel2Collapsed = false;
|
|
processBookQueue1.popoutBtn.Visible = true;
|
|
dockForm.SaveSizeAndLocation(Configuration.Instance);
|
|
this.Focus();
|
|
hideQueueBtn.Visible = true;
|
|
int deltax = filterBtn.Margin.Right + hideQueueBtn.Width + hideQueueBtn.Margin.Left;
|
|
filterBtn.Location = new System.Drawing.Point(filterBtn.Location.X - deltax, filterBtn.Location.Y);
|
|
filterSearchTb.Location = new System.Drawing.Point(filterSearchTb.Location.X - deltax, filterSearchTb.Location.Y);
|
|
}
|
|
}
|
|
}
|
|
}
|