Files
Liberium-1.8-Source-Code/Server.Forms/FormUpload.cs
T

213 lines
7.2 KiB
C#
Raw Normal View History

2026-08-27 11:21:58 -06:00
using System;
using System.ComponentModel;
using System.Drawing;
using System.IO;
using System.Windows.Forms;
using MaterialSkin;
using MaterialSkin.Controls;
using Server.Connectings;
using Server.Helper;
namespace Server.Forms;
public class FormUpload : FormMaterial
{
public string path;
public string pathto;
public byte[] bytes;
public long sends;
public long Secound;
public Clients client;
public Clients parrent;
private IContainer components;
private MaterialProgressBar materialProgressBar1;
private MaterialLabel materialLabel1;
private MaterialLabel materialLabel2;
private MaterialLabel materialLabel3;
private MaterialLabel materialLabel4;
public Timer timer2;
private MaterialLabel materialLabel5;
public Timer timer1;
public FormUpload()
{
InitializeComponent();
base.FormClosing += Closing1;
}
private void Closing1(object sender, EventArgs e)
{
if (client != null)
{
client.Disconnect();
}
}
private void FormUpload_Load(object sender, EventArgs e)
{
timer1.Start();
bytes = File.ReadAllBytes(path);
materialProgressBar1.Maximum = bytes.Length;
materialLabel3.Text = "File: " + Path.GetFileName(path);
materialLabel4.Text = "Size: " + Methods.BytesToString(bytes.LongLength);
}
public void Connected()
{
timer2.Start();
Clients clients = client;
clients.Sents = (Clients.Delegate)Delegate.Combine(clients.Sents, (Clients.Delegate)delegate(long item)
{
Program.form.Invoke((MethodInvoker)delegate
{
sends += item;
Secound += item;
if (sends <= bytes.Length)
{
materialProgressBar1.Value = (int)sends;
materialLabel5.Text = "Size Sents: " + Methods.BytesToString(sends);
client.lastPing.Last();
}
});
});
}
private void timer2_Tick(object sender, EventArgs e)
{
materialLabel2.Text = Methods.BytesToString(Secound) + "\\sec";
Secound = 0L;
materialLabel1.Text = GetPercent(bytes.Length, sends) + "% done";
}
public static long GetPercent(long b, long a)
{
if (b == 0L)
{
return 0L;
}
return (long)((decimal)a / ((decimal)b / 100m));
}
private void timer1_Tick(object sender, EventArgs e)
{
if (!parrent.itsConnect)
{
Close();
}
if (client != null && !client.itsConnect)
{
Close();
}
}
protected override void Dispose(bool disposing)
{
if (disposing && components != null)
{
components.Dispose();
}
base.Dispose(disposing);
}
private void InitializeComponent()
{
this.components = new System.ComponentModel.Container();
this.materialProgressBar1 = new MaterialSkin.Controls.MaterialProgressBar();
this.materialLabel1 = new MaterialSkin.Controls.MaterialLabel();
this.materialLabel2 = new MaterialSkin.Controls.MaterialLabel();
this.materialLabel3 = new MaterialSkin.Controls.MaterialLabel();
this.materialLabel4 = new MaterialSkin.Controls.MaterialLabel();
this.timer2 = new System.Windows.Forms.Timer(this.components);
this.materialLabel5 = new MaterialSkin.Controls.MaterialLabel();
this.timer1 = new System.Windows.Forms.Timer(this.components);
base.SuspendLayout();
this.materialProgressBar1.Anchor = System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left | System.Windows.Forms.AnchorStyles.Right;
this.materialProgressBar1.Depth = 0;
this.materialProgressBar1.Location = new System.Drawing.Point(6, 121);
this.materialProgressBar1.MouseState = MaterialSkin.MouseState.HOVER;
this.materialProgressBar1.Name = "materialProgressBar1";
this.materialProgressBar1.Size = new System.Drawing.Size(323, 5);
this.materialProgressBar1.TabIndex = 0;
this.materialLabel1.AutoSize = true;
this.materialLabel1.Depth = 0;
this.materialLabel1.Font = new System.Drawing.Font("Roboto", 14f, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Pixel);
this.materialLabel1.Location = new System.Drawing.Point(6, 129);
this.materialLabel1.MouseState = MaterialSkin.MouseState.HOVER;
this.materialLabel1.Name = "materialLabel1";
this.materialLabel1.Size = new System.Drawing.Size(61, 19);
this.materialLabel1.TabIndex = 1;
this.materialLabel1.Text = "0% done";
this.materialLabel2.AutoSize = true;
this.materialLabel2.Depth = 0;
this.materialLabel2.Font = new System.Drawing.Font("Roboto", 14f, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Pixel);
this.materialLabel2.Location = new System.Drawing.Point(243, 129);
this.materialLabel2.MouseState = MaterialSkin.MouseState.HOVER;
this.materialLabel2.Name = "materialLabel2";
this.materialLabel2.Size = new System.Drawing.Size(50, 19);
this.materialLabel2.TabIndex = 2;
this.materialLabel2.Text = "0b/sec";
this.materialLabel3.AutoSize = true;
this.materialLabel3.Depth = 0;
this.materialLabel3.Font = new System.Drawing.Font("Roboto", 14f, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Pixel);
this.materialLabel3.Location = new System.Drawing.Point(6, 95);
this.materialLabel3.MouseState = MaterialSkin.MouseState.HOVER;
this.materialLabel3.Name = "materialLabel3";
this.materialLabel3.Size = new System.Drawing.Size(91, 19);
this.materialLabel3.TabIndex = 3;
this.materialLabel3.Text = "File: none.txt";
this.materialLabel4.AutoSize = true;
this.materialLabel4.Depth = 0;
this.materialLabel4.Font = new System.Drawing.Font("Roboto", 14f, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Pixel);
this.materialLabel4.Location = new System.Drawing.Point(6, 73);
this.materialLabel4.MouseState = MaterialSkin.MouseState.HOVER;
this.materialLabel4.Name = "materialLabel4";
this.materialLabel4.Size = new System.Drawing.Size(71, 19);
this.materialLabel4.TabIndex = 4;
this.materialLabel4.Text = "Size: 0mb";
this.timer2.Interval = 1000;
this.timer2.Tick += new System.EventHandler(timer2_Tick);
this.materialLabel5.AutoSize = true;
this.materialLabel5.Depth = 0;
this.materialLabel5.Font = new System.Drawing.Font("Roboto", 14f, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Pixel);
this.materialLabel5.Location = new System.Drawing.Point(119, 73);
this.materialLabel5.MouseState = MaterialSkin.MouseState.HOVER;
this.materialLabel5.Name = "materialLabel5";
this.materialLabel5.Size = new System.Drawing.Size(115, 19);
this.materialLabel5.TabIndex = 5;
this.materialLabel5.Text = "Size Sents: 0mb";
this.timer1.Interval = 1000;
this.timer1.Tick += new System.EventHandler(timer1_Tick);
base.AutoScaleDimensions = new System.Drawing.SizeF(6f, 13f);
base.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
base.ClientSize = new System.Drawing.Size(335, 162);
base.Controls.Add(this.materialLabel5);
base.Controls.Add(this.materialLabel4);
base.Controls.Add(this.materialLabel3);
base.Controls.Add(this.materialLabel2);
base.Controls.Add(this.materialLabel1);
base.Controls.Add(this.materialProgressBar1);
this.MaximumSize = new System.Drawing.Size(335, 162);
this.MinimumSize = new System.Drawing.Size(335, 162);
base.Name = "FormUpload";
this.Text = "Upload";
base.Load += new System.EventHandler(FormUpload_Load);
base.ResumeLayout(false);
base.PerformLayout();
}
}