private void AddParser(EmailUrlParserConfiguration settings) { if (_parsers.ContainsKey(settings)) { return; } Parser parser; parser = settings.IsPath ? new ListParser() { Settings = settings } : new Parser() { Settings = settings }; parser.ImapEvent += ParserOnImapEvent; _parsers.Add(settings, parser); var newNode = new TreeNode(settings.Username) { Tag = settings, Name = settings.Username }; treeViewEmails.Nodes.Add(newNode); }
private void RemoveParser(EmailUrlParserConfiguration settings) { var parser = _parsers[settings]; parser.Stop(); parser.ImapEvent -= ParserOnImapEvent; _parsers.Remove(settings); var nodeToRemove = treeViewEmails.Nodes.Find(settings.Username, false).First(); treeViewEmails.Nodes.Remove(nodeToRemove); }
public AddEditForm(EmailUrlParserConfiguration settings) { InitializeComponent(); this.Icon = Icon.ExtractAssociatedIcon(Application.ExecutablePath); this.Text = "Edit"; textBoxUsername.Text = settings.Username; textBoxPassword.Text = settings.Password; textBoxImapHostName.Text = settings.ServerHostName; textBoxPort.Text = settings.Port.ToString(); checkBoxSsl.Checked = settings.IsSsl; }
private void EditSetting(EmailUrlParserConfiguration settings) { var addEditDialog = new AddEditForm(settings); addEditDialog.ShowDialog(this); if (addEditDialog.DialogResult == DialogResult.OK && addEditDialog.Settings != null) { RemoveParser(settings); AddParser(addEditDialog.Settings); } addEditDialog.Dispose(); }
private void buttonSave_Click(object sender, EventArgs e) { int port; if (IsValidEmail(textBoxUsername.Text) && Int32.TryParse(textBoxPort.Text, out port)) { Settings = new EmailUrlParserConfiguration() { Username = textBoxUsername.Text, Password = textBoxPassword.Text, ServerHostName = textBoxImapHostName.Text, Port = port, IsSsl = checkBoxSsl.Checked }; this.DialogResult = DialogResult.OK; } else { MessageBox.Show("Invalid email address or port."); } }