Exemple #1
0
        private void _ButtonDefault_Click(object sender, EventArgs e)
        {
            _ButtonDefault.Enabled = false;

            var accountPanels = this.Parent.Controls.All().Where(o => o is AccountPanel);

            Account      defaultAccount      = Config.Current.Accounts.Where(o => o.Default).FirstOrDefault();
            AccountPanel defaultAccountPanel = accountPanels.Where(o => (o as AccountPanel).Account.Default).FirstOrDefault() as AccountPanel;

            Forms.Preferences form = this.ParentForm as Forms.Preferences;

            PreferencesButton buttonAccounts = form._ButtonGroup.Controls.Find("_ButtonAccounts", true)[0] as PreferencesButton;

            PreferencesButtonItem thisItem    = buttonAccounts.ButtonItems.All().Where(o => o.AssociatedPanel == this).FirstOrDefault();
            PreferencesButtonItem defaultItem = buttonAccounts.ButtonItems.All().Where(o => o.ButtonText == defaultAccount.FullAddress).FirstOrDefault();

            defaultAccount.Default = false;
            Account.Default        = true;

            _ButtonDefault.Enabled = false;
            defaultAccountPanel.DefaultButton.Enabled = true;

            thisItem.Font    = new Font(thisItem.Font, FontStyle.Bold);
            defaultItem.Font = new Font(defaultItem.Font, FontStyle.Regular);
        }
Exemple #2
0
        private void SetMailtoState()
        {
            if (_CheckMailto.Checked)
            {
                Account defaultAccount = Config.Current.Accounts.Where(o => o.HandlesMailto).FirstOrDefault();

                if (defaultAccount != null)
                {
                    defaultAccount.HandlesMailto = false;
                }

                Account.HandlesMailto = true;

                foreach (Control control in this.Parent.Controls)
                {
                    if (!(control is AccountPanel))
                    {
                        continue;
                    }

                    AccountPanel panel = (AccountPanel)control;

                    if (panel == this)
                    {
                        continue;
                    }

                    // really stupid flag hack so that unchecking the other checkboxes for other accounts doesn't trigger the (un/)register process.
                    panel._CheckMailto.Enabled = false;
                    panel._CheckMailto.Checked = false;
                    panel._CheckMailto.Enabled = true;
                }
            }
            else
            {
                Account.HandlesMailto = false;
            }
        }