using System;
using System.Windows.Forms;
using FastReport.Utils;
namespace FastReport.Messaging.Xmpp
{
///
/// Represents the form of the XMPP messenger.
///
public partial class XmppMessengerForm : MessengerForm
{
#region Fields
private XmppMessenger messenger;
#endregion // Fields
#region Constructors
///
/// Initializes a new instance of the class.
///
public XmppMessengerForm() : base()
{
messenger = new XmppMessenger();
InitializeComponent();
Localize();
Init();
UIUtils.CheckRTL(this);
UpdateDpiDependencies();
}
///
/// Initializes a new instance of the class with specified parameters.
///
/// User's JID without resource.
/// User's password.
/// Send to user's JID.
/// Report template.
public XmppMessengerForm(string jidFrom, string password, string jidTo, Report report)// : base(report)
{
Report = report;
messenger = new XmppMessenger(jidFrom, password, jidTo);
InitializeComponent();
Localize();
Init();
tbJidFrom.Text = jidFrom;
tbPassword.Text = password;
tbJidTo.Text = jidTo;
pageControl1.Height += this.LogicalToDevice(40);
UIUtils.CheckRTL(this);
UpdateDpiDependencies();
}
#endregion // Constructors
#region Protected Methods
///
protected override void Init()
{
base.Init();
if (messenger == null)
{
messenger = new XmppMessenger();
}
XmlItem xi = Config.Root.FindItem("XmppMessenger").FindItem("MessengerSettings");
string jidFrom = xi.GetProp("JidFrom");
string password = xi.GetProp("Password");
string jidTo = xi.GetProp("JidTo");
if (!String.IsNullOrEmpty(jidFrom) && !String.IsNullOrEmpty(password) && !String.IsNullOrEmpty(jidTo))
{
messenger.JidFrom = jidFrom;
messenger.Password = password;
messenger.JidTo = jidTo;
}
tbProxyServer.Text = xi.GetProp("ProxyServer");
tbProxyPort.Text = xi.GetProp("ProxyPort");
tbProxyUsername.Text = xi.GetProp("ProxyUsername");
tbProxyPassword.Text = xi.GetProp("ProxyPassword");
}
///
protected override bool Done()
{
if (base.Done())
{
XmlItem xi = Config.Root.FindItem("XmppMessenger").FindItem("MessengerSettings");
xi.SetProp("JidFrom", tbJidFrom.Text);
xi.SetProp("Password", tbPassword.Text);
xi.SetProp("JidTo", tbJidTo.Text);
xi.SetProp("ProxyServer", tbProxyServer.Text);
xi.SetProp("ProxyPort", tbProxyPort.Text);
xi.SetProp("ProxyUsername", tbProxyUsername.Text);
xi.SetProp("ProxyPassword", tbProxyPassword.Text);
return true;
}
return false;
}
#endregion // Protected Methods
#region Public Methods
///
public override void Localize()
{
base.Localize();
if (labelJidFrom == null)
return;
MyRes res = new MyRes("Messaging,Xmpp");
this.Text = res.Get("");
labelJidFrom.Text = res.Get("JidFrom");
labelPassword.Text = res.Get("Password");
labelJidTo.Text = res.Get("JidTo");
labelCloudWarning.Text = res.Get("CloudWarning");
}
#endregion // Public Methods
#region Events Handlers
///
protected override void btnOk_Click(object sender, EventArgs e)
{
Cursor = Cursors.WaitCursor;
DialogResult = DialogResult.OK;
messenger.JidFrom = tbJidFrom.Text;
messenger.Password = tbPassword.Text;
messenger.JidTo = tbJidTo.Text;
messenger.ProxySettings = GetProxySettings();
//messenger.SendReport(Report, Exports[cbFileType.SelectedIndex]);
messenger.SendReport(Report, null);
Close();
}
#endregion // Events Handlers
}
}