XmppMessengerForm.cs 4.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143
  1. using System;
  2. using System.Windows.Forms;
  3. using FastReport.Utils;
  4. namespace FastReport.Messaging.Xmpp
  5. {
  6. /// <summary>
  7. /// Represents the form of the XMPP messenger.
  8. /// </summary>
  9. public partial class XmppMessengerForm : MessengerForm
  10. {
  11. #region Fields
  12. private XmppMessenger messenger;
  13. #endregion // Fields
  14. #region Constructors
  15. /// <summary>
  16. /// Initializes a new instance of the <see cref="XmppMessengerForm"/> class.
  17. /// </summary>
  18. public XmppMessengerForm() : base()
  19. {
  20. messenger = new XmppMessenger();
  21. InitializeComponent();
  22. Localize();
  23. Init();
  24. UIUtils.CheckRTL(this);
  25. UpdateDpiDependencies();
  26. }
  27. /// <summary>
  28. /// Initializes a new instance of the <see cref="XmppMessengerForm"/> class with specified parameters.
  29. /// </summary>
  30. /// <param name="jidFrom">User's JID without resource.</param>
  31. /// <param name="password">User's password.</param>
  32. /// <param name="jidTo">Send to user's JID.</param>
  33. /// <param name="report">Report template.</param>
  34. public XmppMessengerForm(string jidFrom, string password, string jidTo, Report report)// : base(report)
  35. {
  36. Report = report;
  37. messenger = new XmppMessenger(jidFrom, password, jidTo);
  38. InitializeComponent();
  39. Localize();
  40. Init();
  41. tbJidFrom.Text = jidFrom;
  42. tbPassword.Text = password;
  43. tbJidTo.Text = jidTo;
  44. pageControl1.Height += this.LogicalToDevice(40);
  45. UIUtils.CheckRTL(this);
  46. UpdateDpiDependencies();
  47. }
  48. #endregion // Constructors
  49. #region Protected Methods
  50. /// <inheritdoc/>
  51. protected override void Init()
  52. {
  53. base.Init();
  54. if (messenger == null)
  55. {
  56. messenger = new XmppMessenger();
  57. }
  58. XmlItem xi = Config.Root.FindItem("XmppMessenger").FindItem("MessengerSettings");
  59. string jidFrom = xi.GetProp("JidFrom");
  60. string password = xi.GetProp("Password");
  61. string jidTo = xi.GetProp("JidTo");
  62. if (!String.IsNullOrEmpty(jidFrom) && !String.IsNullOrEmpty(password) && !String.IsNullOrEmpty(jidTo))
  63. {
  64. messenger.JidFrom = jidFrom;
  65. messenger.Password = password;
  66. messenger.JidTo = jidTo;
  67. }
  68. tbProxyServer.Text = xi.GetProp("ProxyServer");
  69. tbProxyPort.Text = xi.GetProp("ProxyPort");
  70. tbProxyUsername.Text = xi.GetProp("ProxyUsername");
  71. tbProxyPassword.Text = xi.GetProp("ProxyPassword");
  72. }
  73. /// <inheritdoc/>
  74. protected override bool Done()
  75. {
  76. if (base.Done())
  77. {
  78. XmlItem xi = Config.Root.FindItem("XmppMessenger").FindItem("MessengerSettings");
  79. xi.SetProp("JidFrom", tbJidFrom.Text);
  80. xi.SetProp("Password", tbPassword.Text);
  81. xi.SetProp("JidTo", tbJidTo.Text);
  82. xi.SetProp("ProxyServer", tbProxyServer.Text);
  83. xi.SetProp("ProxyPort", tbProxyPort.Text);
  84. xi.SetProp("ProxyUsername", tbProxyUsername.Text);
  85. xi.SetProp("ProxyPassword", tbProxyPassword.Text);
  86. return true;
  87. }
  88. return false;
  89. }
  90. #endregion // Protected Methods
  91. #region Public Methods
  92. /// <inheritdoc/>
  93. public override void Localize()
  94. {
  95. base.Localize();
  96. if (labelJidFrom == null)
  97. return;
  98. MyRes res = new MyRes("Messaging,Xmpp");
  99. this.Text = res.Get("");
  100. labelJidFrom.Text = res.Get("JidFrom");
  101. labelPassword.Text = res.Get("Password");
  102. labelJidTo.Text = res.Get("JidTo");
  103. labelCloudWarning.Text = res.Get("CloudWarning");
  104. }
  105. #endregion // Public Methods
  106. #region Events Handlers
  107. /// <inheritdoc/>
  108. protected override void btnOk_Click(object sender, EventArgs e)
  109. {
  110. Cursor = Cursors.WaitCursor;
  111. DialogResult = DialogResult.OK;
  112. messenger.JidFrom = tbJidFrom.Text;
  113. messenger.Password = tbPassword.Text;
  114. messenger.JidTo = tbJidTo.Text;
  115. messenger.ProxySettings = GetProxySettings();
  116. //messenger.SendReport(Report, Exports[cbFileType.SelectedIndex]);
  117. messenger.SendReport(Report, null);
  118. Close();
  119. }
  120. #endregion // Events Handlers
  121. }
  122. }