www.pudn.com > lphant-v1.00-src.zip > FormCategory.cs
using System;
using System.Drawing;
using System.Collections;
using System.ComponentModel;
using System.Windows.Forms;
using eLePhant.eDonkey;
namespace eLePhant.Client
{
///
/// Summary description for FormCategory.
///
public class FormCategory : System.Windows.Forms.Form
{
private System.Windows.Forms.Button buttonAccept;
private System.Windows.Forms.Button buttonCancel;
private CkernelGateway krnGateway;
private System.Windows.Forms.GroupBox groupBox1;
private System.Windows.Forms.Panel panel1;
private System.Windows.Forms.Label label1;
private System.Windows.Forms.TextBox textBoxAutoAssign;
private System.Windows.Forms.TextBox textBoxName;
private System.Windows.Forms.Label labelAutoSelect;
private System.Windows.Forms.Label labelName;
private System.Windows.Forms.ListBox listBoxCategories;
private System.Windows.Forms.Label labelID;
private System.Windows.Forms.Button buttonRemove;
private string m_AntName;
private System.Windows.Forms.ColorDialog colorDialog1;
///
/// Required designer variable.
///
private System.ComponentModel.Container components = null;
public FormCategory()
{
//
// Required for Windows Form Designer support
//
InitializeComponent();
//
// TODO: Add any constructor code after InitializeComponent call
//
}
public void Initilize(CkernelGateway in_krnGateway)
{
krnGateway=in_krnGateway;
RefreshList();
labelID.Visible=false;
labelID.Text="0";
buttonRemove.Text=eLePhantForm.Globalization["LBL_REMOVECATEGORY"];
buttonAccept.Text=eLePhantForm.Globalization["LBL_ACCEPT"];
buttonCancel.Text=eLePhantForm.Globalization["LBL_CANCEL"];
labelName.Text=eLePhantForm.Globalization["LBL_NAME"]+":";
labelAutoSelect.Text=eLePhantForm.Globalization["LBL_AUTOSELECTCAT"]+":";
label1.Text=eLePhantForm.Globalization["LBL_COLOR"]+":";
m_ApplySkin();
}
private void RefreshList()
{
listBoxCategories.Items.Clear();
ArrayList categories=krnGateway.GetCategories();
listBoxCategories.Items.Add("*"+eLePhantForm.Globalization["LBL_NEWCATEGORY"]);
foreach (CCategory category in categories)
{
this.listBoxCategories.Items.Add(category.Name);
}
listBoxCategories.SelectedIndex=0;
}
private void m_ApplySkin()
{
BackColor=eLePhantForm.Skin.GetColor("defaultBackColor");
m_DoSkin(this);
}
private void m_DoSkin(Control parentControl)
{
// tabControl1.BackColor=eLePhantForm.Skin.GetColor("panelsBackColor");
// tabControl1.ForeColor=eLePhantForm.Skin.GetColor("labelsForeColor");
// tabControl1.TextInactiveColor=eLePhantForm.Skin.GetColor("tabsInactiveForeColor");
groupBox1.BackColor=eLePhantForm.Skin.GetColor("panelsBackColor");
foreach (Control c in parentControl.Controls)
{
if (c.GetType()==typeof(Label))
{
((Label)c).ForeColor=eLePhantForm.Skin.GetColor("labelsForeColor");
((Label)c).BackColor=eLePhantForm.Skin.GetColor("labelsBackColor");
}
else if (c.GetType()==typeof(Button))
{
((Button)c).BackColor=eLePhantForm.Skin.GetColor("ButtonBackColor");
((Button)c).ForeColor=eLePhantForm.Skin.GetColor("ButtonForeColor");
}
else if (c.GetType()==typeof(TextBox))
{
((TextBox)c).ForeColor=eLePhantForm.Skin.GetColor("TextBoxForeColor");
((TextBox)c).BackColor=eLePhantForm.Skin.GetColor("TextBoxBackColor");
}
else if (c.GetType()==typeof(ListBox))
{
((ListBox)c).ForeColor=eLePhantForm.Skin.GetColor("TextBoxForeColor");
((ListBox)c).BackColor=eLePhantForm.Skin.GetColor("TextBoxBackColor");
}
else if (c.GetType()==typeof(GroupBox))
{
((GroupBox)c).ForeColor=eLePhantForm.Skin.GetColor("labelsForeColor");
if ((c.Controls!=null)&&(c.Controls.Count>0)) m_DoSkin(c);
}
else if ((c.Controls!=null)&&(c.Controls.Count>0)) m_DoSkin(c);
}
}
///
/// Clean up any resources being used.
///
protected override void Dispose( bool disposing )
{
if( disposing )
{
if(components != null)
{
components.Dispose();
}
}
base.Dispose( disposing );
}
#region Windows Form Designer generated code
///
/// Required method for Designer support - do not modify
/// the contents of this method with the code editor.
///
private void InitializeComponent()
{
this.buttonAccept = new System.Windows.Forms.Button();
this.buttonCancel = new System.Windows.Forms.Button();
this.groupBox1 = new System.Windows.Forms.GroupBox();
this.buttonRemove = new System.Windows.Forms.Button();
this.labelID = new System.Windows.Forms.Label();
this.panel1 = new System.Windows.Forms.Panel();
this.label1 = new System.Windows.Forms.Label();
this.textBoxAutoAssign = new System.Windows.Forms.TextBox();
this.textBoxName = new System.Windows.Forms.TextBox();
this.labelAutoSelect = new System.Windows.Forms.Label();
this.labelName = new System.Windows.Forms.Label();
this.listBoxCategories = new System.Windows.Forms.ListBox();
this.colorDialog1 = new System.Windows.Forms.ColorDialog();
this.groupBox1.SuspendLayout();
this.SuspendLayout();
//
// buttonAccept
//
this.buttonAccept.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right)));
this.buttonAccept.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
this.buttonAccept.Location = new System.Drawing.Point(375, 159);
this.buttonAccept.Name = "buttonAccept";
this.buttonAccept.Size = new System.Drawing.Size(98, 24);
this.buttonAccept.TabIndex = 7;
this.buttonAccept.Text = "Accept";
this.buttonAccept.Click += new System.EventHandler(this.buttonAccept_Click);
//
// buttonCancel
//
this.buttonCancel.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right)));
this.buttonCancel.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
this.buttonCancel.Location = new System.Drawing.Point(477, 159);
this.buttonCancel.Name = "buttonCancel";
this.buttonCancel.Size = new System.Drawing.Size(98, 24);
this.buttonCancel.TabIndex = 6;
this.buttonCancel.Text = "Cancel";
this.buttonCancel.Click += new System.EventHandler(this.buttonCancel_Click);
//
// groupBox1
//
this.groupBox1.Controls.Add(this.buttonRemove);
this.groupBox1.Controls.Add(this.labelID);
this.groupBox1.Controls.Add(this.panel1);
this.groupBox1.Controls.Add(this.label1);
this.groupBox1.Controls.Add(this.textBoxAutoAssign);
this.groupBox1.Controls.Add(this.textBoxName);
this.groupBox1.Controls.Add(this.labelAutoSelect);
this.groupBox1.Controls.Add(this.labelName);
this.groupBox1.Location = new System.Drawing.Point(140, 4);
this.groupBox1.Name = "groupBox1";
this.groupBox1.Size = new System.Drawing.Size(436, 149);
this.groupBox1.TabIndex = 8;
this.groupBox1.TabStop = false;
//
// buttonRemove
//
this.buttonRemove.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right)));
this.buttonRemove.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
this.buttonRemove.Location = new System.Drawing.Point(30, 118);
this.buttonRemove.Name = "buttonRemove";
this.buttonRemove.Size = new System.Drawing.Size(188, 24);
this.buttonRemove.TabIndex = 13;
this.buttonRemove.Text = "Remove this category";
this.buttonRemove.Click += new System.EventHandler(this.buttonRemove_Click);
//
// labelID
//
this.labelID.Location = new System.Drawing.Point(261, 28);
this.labelID.Name = "labelID";
this.labelID.Size = new System.Drawing.Size(18, 15);
this.labelID.TabIndex = 12;
this.labelID.Text = "ID";
//
// panel1
//
this.panel1.BackColor = System.Drawing.SystemColors.Desktop;
this.panel1.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
this.panel1.Cursor = System.Windows.Forms.Cursors.Hand;
this.panel1.Location = new System.Drawing.Point(321, 110);
this.panel1.Name = "panel1";
this.panel1.Size = new System.Drawing.Size(75, 18);
this.panel1.TabIndex = 11;
this.panel1.Visible = false;
this.panel1.Click += new System.EventHandler(this.panel1_Click);
//
// label1
//
this.label1.AutoSize = true;
this.label1.Location = new System.Drawing.Point(307, 92);
this.label1.Name = "label1";
this.label1.Size = new System.Drawing.Size(34, 16);
this.label1.TabIndex = 10;
this.label1.Text = "Color:";
this.label1.Visible = false;
//
// textBoxAutoAssign
//
this.textBoxAutoAssign.Location = new System.Drawing.Point(31, 86);
this.textBoxAutoAssign.Name = "textBoxAutoAssign";
this.textBoxAutoAssign.Size = new System.Drawing.Size(187, 20);
this.textBoxAutoAssign.TabIndex = 9;
this.textBoxAutoAssign.Text = "";
//
// textBoxName
//
this.textBoxName.Location = new System.Drawing.Point(29, 30);
this.textBoxName.Name = "textBoxName";
this.textBoxName.Size = new System.Drawing.Size(190, 20);
this.textBoxName.TabIndex = 8;
this.textBoxName.Text = "";
//
// labelAutoSelect
//
this.labelAutoSelect.Location = new System.Drawing.Point(15, 52);
this.labelAutoSelect.Name = "labelAutoSelect";
this.labelAutoSelect.Size = new System.Drawing.Size(417, 32);
this.labelAutoSelect.TabIndex = 7;
this.labelAutoSelect.Text = "Files with any of these words in the name will be auto-assigned to this category:" +
"";
this.labelAutoSelect.TextAlign = System.Drawing.ContentAlignment.BottomLeft;
//
// labelName
//
this.labelName.AutoSize = true;
this.labelName.Location = new System.Drawing.Point(15, 14);
this.labelName.Name = "labelName";
this.labelName.Size = new System.Drawing.Size(38, 16);
this.labelName.TabIndex = 6;
this.labelName.Text = "Name:";
//
// listBoxCategories
//
this.listBoxCategories.Location = new System.Drawing.Point(6, 7);
this.listBoxCategories.Name = "listBoxCategories";
this.listBoxCategories.Size = new System.Drawing.Size(127, 147);
this.listBoxCategories.TabIndex = 9;
this.listBoxCategories.SelectedIndexChanged += new System.EventHandler(this.listBoxCategories_SelectedIndexChanged);
//
// FormCategory
//
this.AutoScaleBaseSize = new System.Drawing.Size(5, 13);
this.ClientSize = new System.Drawing.Size(578, 184);
this.Controls.Add(this.listBoxCategories);
this.Controls.Add(this.groupBox1);
this.Controls.Add(this.buttonAccept);
this.Controls.Add(this.buttonCancel);
this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedDialog;
this.Name = "FormCategory";
this.StartPosition = System.Windows.Forms.FormStartPosition.CenterParent;
this.Text = "Category";
this.groupBox1.ResumeLayout(false);
this.ResumeLayout(false);
}
#endregion
private void buttonAccept_Click(object sender, System.EventArgs e)
{
if (textBoxName.Text.Length>0)
krnGateway.AddorUpdateCategory(uint.Parse(labelID.Text),this.textBoxName.Text,this.textBoxAutoAssign.Text,(uint)panel1.BackColor.ToArgb());
this.Close();
}
private void buttonCancel_Click(object sender, System.EventArgs e)
{
this.Close();
}
private void buttonRemove_Click(object sender, System.EventArgs e)
{
krnGateway.RemoveCategory(uint.Parse(labelID.Text));
labelID.Text="0";
textBoxName.Text="";
textBoxAutoAssign.Text="";
m_AntName="";
RefreshList();
buttonRemove.Enabled=false;
}
private void listBoxCategories_SelectedIndexChanged(object sender, System.EventArgs e)
{
if (listBoxCategories.SelectedIndex<0) return;
int selected=listBoxCategories.SelectedIndex;
if (textBoxName.Text.Length>0)
{
krnGateway.AddorUpdateCategory(uint.Parse(labelID.Text),this.textBoxName.Text,this.textBoxAutoAssign.Text,(uint)panel1.BackColor.ToArgb());
//RefreshList();
if (m_AntName.Length>0)
{
if (m_AntName!=textBoxName.Text) listBoxCategories.Items[listBoxCategories.Items.IndexOf(m_AntName)]=textBoxName.Text;
}
else
listBoxCategories.Items.Add(textBoxName.Text);
}
if (listBoxCategories.SelectedIndex==0)
{
labelID.Text="0";
textBoxName.Text="";
textBoxAutoAssign.Text="";
m_AntName="";
buttonRemove.Enabled=false;
panel1.BackColor=Color.Black;
}
else
{
ArrayList categories=krnGateway.GetCategories();
foreach (CCategory category in categories)
{
if (category.Name==listBoxCategories.Items[listBoxCategories.SelectedIndex].ToString())
{
labelID.Text=category.ID.ToString();;
textBoxName.Text=category.Name;
m_AntName=category.Name;
textBoxAutoAssign.Text=category.AutoString;
panel1.BackColor=Color.FromArgb((int)category.Color);
buttonRemove.Enabled=true;
break;
}
}
}
}
private void panel1_Click(object sender, System.EventArgs e)
{
colorDialog1.Color=panel1.BackColor;
if (colorDialog1.ShowDialog()==DialogResult.OK)
panel1.BackColor=colorDialog1.Color;
}
}
}