Ejemplo n.º 1
0
        /// <summary>
        /// Button forward event handler.
        /// </summary>
        /// <param name="sender">The sender object.</param>
        /// <param name="e">The event arguments.</param>
        public void toolStripButtonForward_Click(object sender, EventArgs e)
        {
            MailSenderForm frm          = new MailSenderForm();
            Facade         facade       = Facade.GetInstance();
            MessageStore   messageStore = facade.GetMessageStore();
            MailMessage    mailMessage  = messageStore.SelectedMessage;

            frm.LoadMessage(mailMessage, MailSenderType.Forward);
            frm.Show();
        }
Ejemplo n.º 2
0
        /// <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();
                }
            }
        }
Ejemplo n.º 3
0
        /// <summary>
        /// Event for refresh the mailbox and messages.
        /// </summary>
        /// <param name="sender">The sender object.</param>
        /// <param name="e">The event arguments.</param>
        private void refreshToolStripMenuItem_Click(object sender, EventArgs e)
        {
            Facade facade = Facade.GetInstance();

            // Retrieve messages from inbox mailbox.
            facade.LoadMessageStore(Constants.Inbox, facade.GetMessageStore());
            facade.RetrieveMessages(Constants.Inbox);

            // Retrieve messages from sent item mailbox.
            facade.LoadMessageStore(Constants.SentItems, facade.GetMessageStoreSent());

            // Retrieve messages from deleted item mailbox.
            facade.LoadMessageStore(Constants.DeletedItems, facade.GetMessageStoreDelete());

            // Retrieve messages from custom items mailbox.
            facade.LoadMessageStore(Constants.CustomFolders, facade.GetMessageStoreCustom());

            // Setup Message Server
            MessageStore messageStore = facade.GetMessageStore();

            // load the selected message
            this.LoadSelectedMessage(facade.GetMessageStore());
        }
Ejemplo n.º 4
0
        /// <summary>
        /// Method for load messages.
        /// </summary>
        /// <param name="messageListType">The Message List Type.</param>
        public void LoadMessages(MessageListType messageListType)
        {
            Facade facade         = Facade.GetInstance();
            string selectedFolder = string.Empty;

            if (messageListType == MessageListType.Inbox ||
                messageListType == MessageListType.Unread ||
                messageListType == MessageListType.Read)
            {
                // Attach to Message Store
                this._store = facade.GetMessageStore();
            }
            else if (messageListType == MessageListType.SentItems)
            {
                // Attach to Message Store Sent items
                this._store = facade.GetMessageStoreSent();
            }
            else if (messageListType == MessageListType.DeletedItems)
            {
                // Attach to Message Store Sent items
                this._store = facade.GetMessageStoreDelete();
            }
            else if (messageListType == MessageListType.Custom)
            {
                // Attach to Message Store Sent items
                this._store    = facade.GetMessageStoreCustom();
                selectedFolder = MainForm.GetInstance().GetSelectedFolder();
            }
            else
            {
                this._store = new MessageStore();
            }

            // Reset DataSource
            this.messageBS.DataSource    = this._store.Messages;
            this.dataGridView.DataSource = this.messageBS;

            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 (messageListType == MessageListType.Unread && mailMessage.Read)
                {
                    row.Visible = false;
                }
                else if (messageListType == MessageListType.Read && !mailMessage.Read)
                {
                    row.Visible = false;
                }
                else if (messageListType == MessageListType.Custom &&
                         !mailMessage.ParentFolder.Equals(selectedFolder))
                {
                    row.Visible = false;
                }
                else
                {
                    row.Visible = true;
                }
            }

            cm.ResumeBinding();

            if (this.messageBS.Count > 0)
            {
                this.dataGridView.Sort(this.dataGridView.Columns[2], ListSortDirection.Descending);
            }

            MainForm mainForm = this.ParentForm as MainForm;

            mainForm.LoadSelectedMessage(this._store);

            this.Invalidate(true);
        }