using System;
using System.Drawing;
using System.Collections;
using System.ComponentModel;
using System.Windows.Forms;
using agsXMPP;
namespace BotSuite.MyMessenger
{
/// <summary>
/// Summary description for frmAddGroup.
/// </summary>
public class frmAddGroup : System.Windows.Forms.Form
{
private System.Windows.Forms.Label label1;
private System.Windows.Forms.Label label2;
private System.Windows.Forms.TextBox txtContact;
private System.Windows.Forms.TextBox txtGroup;
private System.Windows.Forms.Button cmdAdd;
private System.Windows.Forms.Button cmdCancel;
private System.Windows.Forms.Label label3;
/// <summary>
/// Required designer variable.
/// </summary>
private System.ComponentModel.Container components = null;
XmppClientConnection _connection;
Hashtable Contacts, Groups;
public frmAddGroup(XmppClientConnection XmppCon, Hashtable Contacts, Hashtable Groups)
{
InitializeComponent();
_connection = XmppCon;
this.Contacts = Contacts;
this.Groups = Groups;
}
/// <summary>
/// Clean up any resources being used.
/// </summary>
protected override void Dispose( bool disposing )
{
if( disposing )
{
if(components != null)
{
components.Dispose();
}
}
base.Dispose( disposing );
}
#region Windows Form Designer generated code
/// <summary>
/// Required method for Designer support - do not modify
/// the contents of this method with the code editor.
/// </summary>
private void InitializeComponent()
{
this.label1 = new System.Windows.Forms.Label();
this.label2 = new System.Windows.Forms.Label();
this.txtContact = new System.Windows.Forms.TextBox();
this.txtGroup = new System.Windows.Forms.TextBox();
this.cmdAdd = new System.Windows.Forms.Button();
this.cmdCancel = new System.Windows.Forms.Button();
this.label3 = new System.Windows.Forms.Label();
this.SuspendLayout();
//
// label1
//
this.label1.Font = new System.Drawing.Font("Tahoma", 8.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((System.Byte)(0)));
this.label1.Location = new System.Drawing.Point(8, 58);
this.label1.Name = "label1";
this.label1.Size = new System.Drawing.Size(100, 16);
this.label1.TabIndex = 0;
this.label1.Text = "Group Name";
//
// label2
//
this.label2.Font = new System.Drawing.Font("Tahoma", 8.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((System.Byte)(0)));
this.label2.Location = new System.Drawing.Point(8, 90);
this.label2.Name = "label2";
this.label2.Size = new System.Drawing.Size(100, 16);
this.label2.TabIndex = 1;
this.label2.Text = "Contact Jid";
//
// txtContact
//
this.txtContact.Location = new System.Drawing.Point(96, 88);
this.txtContact.Name = "txtContact";
this.txtContact.Size = new System.Drawing.Size(184, 20);
this.txtContact.TabIndex = 1;
this.txtContact.Text = "";
//
// txtGroup
//
this.txtGroup.Location = new System.Drawing.Point(96, 56);
this.txtGroup.Name = "txtGroup";
this.txtGroup.Size = new System.Drawing.Size(184, 20);
this.txtGroup.TabIndex = 0;
this.txtGroup.Text = "";
//
// cmdAdd
//
this.cmdAdd.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
this.cmdAdd.Font = new System.Drawing.Font("Tahoma", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((System.Byte)(0)));
this.cmdAdd.Location = new System.Drawing.Point(41, 128);
this.cmdAdd.Name = "cmdAdd";
this.cmdAdd.TabIndex = 2;
this.cmdAdd.Text = "&Add";
this.cmdAdd.Click += new System.EventHandler(this.cmdAdd_Click);
//
// cmdCancel
//
this.cmdCancel.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
this.cmdCancel.Font = new System.Drawing.Font("Tahoma", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((System.Byte)(0)));
this.cmdCancel.Location = new System.Drawing.Point(177, 128);
this.cmdCancel.Name = "cmdCancel";
this.cmdCancel.TabIndex = 3;
this.cmdCancel.Text = "&Cancel";
this.cmdCancel.Click += new System.EventHandler(this.cmdCancel_Click);
//
// label3
//
this.label3.Font = new System.Drawing.Font("Tahoma", 8.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((System.Byte)(0)));
this.label3.Location = new System.Drawing.Point(0, 8);
this.label3.Name = "label3";
this.label3.Size = new System.Drawing.Size(280, 32);
this.label3.TabIndex = 6;
this.label3.Text = "Please Specify the Group Name to Add and a Contact Jid.";
//
// frmAddGroup
//
this.AcceptButton = this.cmdAdd;
this.AutoScaleBaseSize = new System.Drawing.Size(5, 13);
this.BackColor = System.Drawing.Color.Lavender;
this.ClientSize = new System.Drawing.Size(292, 165);
this.Controls.Add(this.label3);
this.Controls.Add(this.cmdCancel);
this.Controls.Add(this.cmdAdd);
this.Controls.Add(this.txtGroup);
this.Controls.Add(this.txtContact);
this.Controls.Add(this.label2);
this.Controls.Add(this.label1);
this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedDialog;
this.MaximizeBox = false;
this.Name = "frmAddGroup";
this.StartPosition = System.Windows.Forms.FormStartPosition.CenterParent;
this.Text = "Add a Group";
this.ResumeLayout(false);
}
#endregion
private void cmdAdd_Click(object sender, System.EventArgs e)
{
string groupName = txtGroup.Text;
string contact = txtContact.Text;
if(groupName == "" || contact == "")
MessageBox.Show(this,"Please Specify all fields.",Application.Name);
if( Groups[groupName] != null)
{
MessageBox.Show(this,"Group already exist.",Application.Name);
return;
}
if( Contacts[contact] == null)
{
MessageBox.Show(this,"You have no subscription for this contact. \n Please add the contact first.",Application.Name);
return;
}
ArrayList groups = (ArrayList)Contacts[contact];
groups.Add(groupName);
_connection.RosterManager.AddRosterItem(new Jid(contact), "", (string[])groups.ToArray(typeof(System.String)));
this.Close();
}
private void cmdCancel_Click(object sender, System.EventArgs e)
{
this.Close();
}
}
}