/// <summary>
        /// Sets the controls.
        /// </summary>
        private void SetControls()
        {
            IEmailProvider provider = EmailProviders.GetByKey((string)cbbEMailServerProvider.SelectedItem);

            if (provider != null && provider != m_defaultProvider)
            {
                tbEmailServerAddress.Text       = provider.ServerAddress;
                tbEmailPort.Text                = provider.ServerPort.ToString(CultureConstants.DefaultCulture);
                cbEmailServerRequireSsl.Checked = provider.RequiresSsl;
                cbEmailAuthRequired.Checked     = provider.RequiresAuthentication;
                tlpEmailServerSettings.Enabled  = false;
            }
            else
            {
                tlpEmailServerSettings.Enabled = true;
                tbEmailServerAddress.Text      = m_settings.EmailSmtpServerAddress;
                tbEmailPort.Text = m_settings.EmailPortNumber.ToString(CultureConstants.DefaultCulture);
                cbEmailServerRequireSsl.Checked = m_settings.EmailServerRequiresSsl;
                cbEmailAuthRequired.Checked     = m_settings.EmailAuthenticationRequired;
            }

            tbEmailUsername.Text = m_settings.EmailAuthenticationUserName;
            tbEmailPassword.Text = Util.Decrypt(m_settings.EmailAuthenticationPassword, m_settings.EmailAuthenticationUserName);
            tbFromAddress.Text   = m_settings.EmailFromAddress;
            tbToAddress.Text     = m_settings.EmailToAddress;
        }
        /// <summary>
        /// Initializes the controls.
        /// </summary>
        private void InitializeControls()
        {
            EmailProviders.Initialize();

            // Place default provider at the end
            List <IEmailProvider> providers = EmailProviders.Providers.ToList();

            m_defaultProvider = EmailProviders.Providers.First(provider => provider is DefaultProvider);
            int index = providers.IndexOf(m_defaultProvider);

            providers.RemoveAt(index);
            providers.Insert(providers.Count, m_defaultProvider);

            cbbEMailServerProvider.Items.AddRange(providers.Select(provider => provider.Name).ToArray <Object>());
            tlpEmailAuthTable.Enabled = false;

            IEmailProvider emailProvider;

            // Backwards compatibility condition
            if (string.IsNullOrEmpty(m_settings.EmailSmtpServerProvider) && EmailProviders.Providers.Any(
                    provider => provider.ServerAddress == m_settings.EmailSmtpServerAddress))
            {
                emailProvider = EmailProviders.Providers.First(
                    provider => provider.ServerAddress == m_settings.EmailSmtpServerAddress);
                cbbEMailServerProvider.SelectedIndex = cbbEMailServerProvider.Items.IndexOf(emailProvider.Name);
            }
            // Backwards compatibility condition
            else if (string.IsNullOrEmpty(m_settings.EmailSmtpServerProvider))
            {
                cbbEMailServerProvider.SelectedIndex = cbbEMailServerProvider.Items.IndexOf(m_defaultProvider.Name);
            }
            // Regular condition
            else
            {
                emailProvider = EmailProviders.GetByKey(m_settings.EmailSmtpServerProvider);
                cbbEMailServerProvider.SelectedIndex = cbbEMailServerProvider.Items.IndexOf(emailProvider.Name);
            }
        }