/// <summary> /// Button find envent handler. /// </summary> /// <param name="sender">The sender object.</param> /// <param name="e">The event arguments.</param> private void btnFind_Click(object sender, EventArgs e) { string from = this.txtFrom.Text; string to = this.txtTo.Text; string message = this.txtMessage.Text; string subject = this.txtSubject.Text; bool attachemnt = this.chkAttachments.Checked; string dateFrom = string.Empty; if (this.chkFromDate.Checked) { dateFrom = this.datePickerFrom.Text; } string dateTo = string.Empty; if (this.chkToDate.Checked) { dateTo = this.datePickerTo.Text; } this._findSettings = new FindSettings(from, to, subject, message, dateFrom, dateTo, attachemnt); this.DialogResult = DialogResult.OK; }
/// <summary> /// Load the fields according the find settings. /// </summary> /// <param name="findSettings">The FindSettings object.</param> public void LoadFindSettings(FindSettings findSettings) { this.txtFrom.Text = findSettings.From; this.txtTo.Text = findSettings.To; this.txtMessage.Text = findSettings.Message; this.txtSubject.Text = findSettings.Subject; this.chkAttachments.Checked = findSettings.Attachemnt; if (findSettings.DateFrom.Equals(string.Empty)) { this.chkFromDate.Checked = false; } else { this.chkFromDate.Checked = true; this.datePickerFrom.Text = findSettings.DateFrom; } if (findSettings.DateTo.Equals(string.Empty)) { this.chkToDate.Checked = false; } else { this.chkToDate.Checked = true; this.datePickerTo.Text = findSettings.DateTo; } }
/// <summary> /// Method for filter the messages. /// </summary> /// <param name="findSettings">The filter settings.</param> public void FilterMessages(FindSettings findSettings) { this.dataGridView.CurrentCell = null; CurrencyManager cm = (CurrencyManager)this.dataGridView.BindingContext[this.dataGridView.DataSource]; cm.SuspendBinding(); foreach (DataGridViewRow row in this.dataGridView.Rows) { MailMessage mailMessage = (MailMessage)row.DataBoundItem; if (findSettings.IsMessageFiltered(mailMessage)) { row.Visible = false; } else { row.Visible = true; } } cm.ResumeBinding(); this.Invalidate(true); }
/// <summary> /// MainForm constructor. /// </summary> private MainForm() { SplashForm splash = new SplashForm(); splash.ShowSplashScreen(); Facade facade = Facade.GetInstance(); // Retrieve messages from inbox mailbox. facade.LoadMessageStore(Constants.Inbox, facade.GetMessageStore()); // Retrieve messages from sent item mailbox. facade.LoadMessageStore(Constants.SentItems, facade.GetMessageStoreSent()); // Retrieve messages from delete item mailbox. facade.LoadMessageStore(Constants.DeletedItems, facade.GetMessageStoreDelete()); // Retrieve messages from custom items mailbox. facade.LoadMessageStore(Constants.CustomFolders, facade.GetMessageStoreCustom()); // retrieve the messages from inbox mailbox. facade.RetrieveMessages(Constants.Inbox); // set the flag for load first message. loadFirstMessageFlag = true; // Use system fonts this.Font = SystemFonts.IconTitleFont; this._findSettings = new FindSettings(); // Designer Generated Code this.InitializeComponent(); // select the mail button. this.leftSpine1.toolStripButtonMail_Click(this, EventArgs.Empty); // closes the splash. splash.CloseSplashScreen(); // if there is no mail accounts. if (Facade.GetInstance().GetDefaultAccountInfo() == null) { SettingsReminderForm settingsReminderForm = new SettingsReminderForm(); DialogResult dr = settingsReminderForm.ShowDialog(); if (dr == DialogResult.OK) { AccountSettingsForm frm = new AccountSettingsForm(); frm.ShowDialog(); } } }
/// <summary> /// Button find event handler /// </summary> /// <param name="sender">The sender object.</param> /// <param name="e">The event arguments.</param> private void toolStripButtonFind_Click(object sender, EventArgs e) { FindForm frm = new FindForm(); frm.LoadFindSettings(this._findSettings); DialogResult dr = frm.ShowDialog(); if (dr == DialogResult.OK) { this._findSettings = frm.FindSettings; this.messageArea1.MessageList.FilterMessages(this._findSettings); } }
/// <summary> /// Button cancel envent handler. /// Reset the filter. /// </summary> /// <param name="sender">The sender object.</param> /// <param name="e">The event arguments.</param> private void btnCancel_Click(object sender, EventArgs e) { this._findSettings = new FindSettings(); this.DialogResult = DialogResult.OK; }