Rearranged the main view
This commit is contained in:
abdelkader
2021-01-31 10:37:07 -05:00
parent fe018dd2e7
commit 2d864d7c00
5 changed files with 456 additions and 206 deletions

View File

@@ -6,6 +6,7 @@ using Thought.vCards;
using VCFEditor.Model;
using System.ComponentModel;
using vCardEditor.Repository;
using System.Collections.Generic;
namespace VCFEditor.Repository
{
@@ -190,39 +191,93 @@ namespace VCFEditor.Repository
vCard card = _contacts[index].card;
card.FormattedName = NewCard.FormattedName;
//HomePhone
if (card.Phones.GetFirstChoice(vCardPhoneTypes.Home) != null)
card.Phones.GetFirstChoice(vCardPhoneTypes.Home).FullNumber = NewCard.Phones.GetFirstChoice(vCardPhoneTypes.Home).FullNumber;
else
{
if (NewCard.Phones.GetFirstChoice(vCardPhoneTypes.Home) != null
&& !string.IsNullOrEmpty(NewCard.Phones.GetFirstChoice(vCardPhoneTypes.Home).FullNumber))
card.Phones.Add(new vCardPhone(NewCard.Phones.GetFirstChoice(vCardPhoneTypes.Home).FullNumber, vCardPhoneTypes.Home));
}
//Cellular
if (card.Phones.GetFirstChoice(vCardPhoneTypes.Cellular) != null)
card.Phones.GetFirstChoice(vCardPhoneTypes.Cellular).FullNumber = NewCard.Phones.GetFirstChoice(vCardPhoneTypes.Cellular).FullNumber;
else
{
if (NewCard.Phones.GetFirstChoice(vCardPhoneTypes.Cellular) != null
&& !string.IsNullOrEmpty(NewCard.Phones.GetFirstChoice(vCardPhoneTypes.Cellular).FullNumber))
card.Phones.Add(new vCardPhone(NewCard.Phones.GetFirstChoice(vCardPhoneTypes.Cellular).FullNumber, vCardPhoneTypes.Cellular));
}
if (card.EmailAddresses.GetFirstChoice(vCardEmailAddressType.Internet) != null)
card.EmailAddresses.GetFirstChoice(vCardEmailAddressType.Internet).Address = NewCard.EmailAddresses.GetFirstChoice(vCardEmailAddressType.Internet).Address;
if (card.Websites.GetFirstChoice(vCardWebsiteTypes.Personal) != null)
card.Websites.GetFirstChoice(vCardWebsiteTypes.Personal).Url = NewCard.Websites.GetFirstChoice(vCardWebsiteTypes.Personal).Url;
SavePhone(NewCard, card);
SaveEmail(NewCard, card);
SaveWebUrl(NewCard, card);
_contacts[index].isDirty = false;
_dirty = false;
}
}
private void SaveWebUrl(vCard NewCard, vCard card)
{
var type = typeof(vCardWebsiteTypes);
var names = Enum.GetNames(type);
foreach (var name in names)
{
var urlType = (vCardWebsiteTypes)Enum.Parse(type, name);
if (NewCard.Websites.GetFirstChoice(urlType) != null)
{
if (card.Websites.GetFirstChoice(urlType) != null)
card.Websites.GetFirstChoice(urlType).Url = NewCard.Websites.GetFirstChoice(urlType).Url;
else
card.Websites.Add(new vCardWebsite(NewCard.Websites.GetFirstChoice(urlType).Url, urlType));
}
else
{
if (card.Websites.GetFirstChoice(urlType) != null)
card.Websites.GetFirstChoice(urlType).Url = string.Empty;
}
}
}
private void SavePhone(vCard NewCard, vCard card)
{
var type = typeof(vCardPhoneTypes);
var names = Enum.GetNames(type);
foreach (var name in names)
{
var phoneType = (vCardPhoneTypes)Enum.Parse(type, name);
if (NewCard.Phones.GetFirstChoice(phoneType) != null)
{
if (card.Phones.GetFirstChoice(phoneType) != null)
card.Phones.GetFirstChoice(phoneType).FullNumber = NewCard.Phones.GetFirstChoice(phoneType).FullNumber;
else
card.Phones.Add(new vCardPhone(NewCard.Phones.GetFirstChoice(phoneType).FullNumber, phoneType));
}
else
{
if (card.Phones.GetFirstChoice(phoneType) != null)
card.Phones.GetFirstChoice(phoneType).FullNumber = string.Empty;
}
}
}
private void SaveEmail(vCard NewCard, vCard card)
{
var type = typeof(vCardEmailAddressType);
var names = Enum.GetNames(type);
foreach (var name in names)
{
var emailType = (vCardEmailAddressType)Enum.Parse(type, name);
if (NewCard.EmailAddresses.GetFirstChoice(emailType) != null)
{
if (card.EmailAddresses.GetFirstChoice(emailType) != null)
card.EmailAddresses.GetFirstChoice(emailType).Address = NewCard.EmailAddresses.GetFirstChoice(emailType).Address;
else
card.EmailAddresses.Add(new vCardEmailAddress(NewCard.EmailAddresses.GetFirstChoice(emailType).Address,
emailType));
}
else
{
if (card.EmailAddresses.GetFirstChoice(emailType) != null)
card.EmailAddresses.GetFirstChoice(emailType).Address = string.Empty;
}
}
}
/// <summary>
/// Generate a VCard class from a string.
/// </summary>

View File

@@ -35,6 +35,7 @@
this.fileToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.miOpen = new System.Windows.Forms.ToolStripMenuItem();
this.toolStripMenuItem1 = new System.Windows.Forms.ToolStripSeparator();
this.miConfig = new System.Windows.Forms.ToolStripMenuItem();
this.recentFilesMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.miQuit = new System.Windows.Forms.ToolStripMenuItem();
this.helpToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
@@ -47,20 +48,15 @@
this.toolStripSeparator1 = new System.Windows.Forms.ToolStripSeparator();
this.tbsAbout = new System.Windows.Forms.ToolStripButton();
this.openFileDialog = new System.Windows.Forms.OpenFileDialog();
this.FormattedNameLabel = new System.Windows.Forms.Label();
this.HomePhoneLabel = new System.Windows.Forms.Label();
this.CellularPhoneLabel = new System.Windows.Forms.Label();
this.PersonalWebSiteLabel = new System.Windows.Forms.Label();
this.WorkPhoneLabel = new System.Windows.Forms.Label();
this.gbContactDetail = new System.Windows.Forms.GroupBox();
this.EmailAddressValue = new vCardEditor.View.StateTextBox();
this.groupBox2 = new System.Windows.Forms.GroupBox();
this.EmailAddressLabel = new System.Windows.Forms.Label();
this.WorkPhoneValue = new vCardEditor.View.StateTextBox();
this.PersonalWebSiteValue = new vCardEditor.View.StateTextBox();
this.PersonalWebSiteLabel = new System.Windows.Forms.Label();
this.groupBox1 = new System.Windows.Forms.GroupBox();
this.PhotoBox = new System.Windows.Forms.PictureBox();
this.CellularPhoneValue = new vCardEditor.View.StateTextBox();
this.HomePhoneValue = new vCardEditor.View.StateTextBox();
this.FormattedNameValue = new vCardEditor.View.StateTextBox();
this.bsContacts = new System.Windows.Forms.BindingSource(this.components);
this.gbNameList = new System.Windows.Forms.GroupBox();
this.btnClearFilter = new System.Windows.Forms.Button();
@@ -68,14 +64,24 @@
this.dgContacts = new System.Windows.Forms.DataGridView();
this.Column1 = new System.Windows.Forms.DataGridViewCheckBoxColumn();
this.Column2 = new System.Windows.Forms.DataGridViewTextBoxColumn();
this.miConfig = new System.Windows.Forms.ToolStripMenuItem();
this.groupBox3 = new System.Windows.Forms.GroupBox();
this.FormattedNameLabel = new System.Windows.Forms.Label();
this.FormattedNameValue = new vCardEditor.View.StateTextBox();
this.EmailAddressValue = new vCardEditor.View.StateTextBox();
this.PersonalWebSiteValue = new vCardEditor.View.StateTextBox();
this.HomePhoneValue = new vCardEditor.View.StateTextBox();
this.WorkPhoneValue = new vCardEditor.View.StateTextBox();
this.CellularPhoneValue = new vCardEditor.View.StateTextBox();
this.menuStrip1.SuspendLayout();
this.toolStrip1.SuspendLayout();
this.gbContactDetail.SuspendLayout();
this.groupBox2.SuspendLayout();
this.groupBox1.SuspendLayout();
((System.ComponentModel.ISupportInitialize)(this.PhotoBox)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.bsContacts)).BeginInit();
this.gbNameList.SuspendLayout();
((System.ComponentModel.ISupportInitialize)(this.dgContacts)).BeginInit();
this.groupBox3.SuspendLayout();
this.SuspendLayout();
//
// menuStrip1
@@ -106,26 +112,33 @@
this.miOpen.Image = ((System.Drawing.Image)(resources.GetObject("miOpen.Image")));
this.miOpen.ImageTransparentColor = System.Drawing.Color.Fuchsia;
this.miOpen.Name = "miOpen";
this.miOpen.Size = new System.Drawing.Size(152, 22);
this.miOpen.Size = new System.Drawing.Size(130, 22);
this.miOpen.Text = "&Open";
this.miOpen.Click += new System.EventHandler(this.tbsOpen_Click);
//
// toolStripMenuItem1
//
this.toolStripMenuItem1.Name = "toolStripMenuItem1";
this.toolStripMenuItem1.Size = new System.Drawing.Size(149, 6);
this.toolStripMenuItem1.Size = new System.Drawing.Size(127, 6);
//
// miConfig
//
this.miConfig.Name = "miConfig";
this.miConfig.Size = new System.Drawing.Size(130, 22);
this.miConfig.Text = "Preference";
this.miConfig.Click += new System.EventHandler(this.miConfig_Click);
//
// recentFilesMenuItem
//
this.recentFilesMenuItem.Name = "recentFilesMenuItem";
this.recentFilesMenuItem.Size = new System.Drawing.Size(152, 22);
this.recentFilesMenuItem.Size = new System.Drawing.Size(130, 22);
this.recentFilesMenuItem.Text = "Recent";
//
// miQuit
//
this.miQuit.Image = ((System.Drawing.Image)(resources.GetObject("miQuit.Image")));
this.miQuit.Name = "miQuit";
this.miQuit.Size = new System.Drawing.Size(152, 22);
this.miQuit.Size = new System.Drawing.Size(130, 22);
this.miQuit.Text = "&Quit";
this.miQuit.Click += new System.EventHandler(this.miQuit_Click);
//
@@ -218,18 +231,9 @@
this.openFileDialog.Filter = "vCard Files|*.vcf";
this.openFileDialog.Title = "Open vCard File";
//
// FormattedNameLabel
//
this.FormattedNameLabel.Location = new System.Drawing.Point(15, 25);
this.FormattedNameLabel.Name = "FormattedNameLabel";
this.FormattedNameLabel.Size = new System.Drawing.Size(102, 19);
this.FormattedNameLabel.TabIndex = 42;
this.FormattedNameLabel.Text = "Name:";
this.FormattedNameLabel.TextAlign = System.Drawing.ContentAlignment.MiddleRight;
//
// HomePhoneLabel
//
this.HomePhoneLabel.Location = new System.Drawing.Point(34, 50);
this.HomePhoneLabel.Location = new System.Drawing.Point(25, 21);
this.HomePhoneLabel.Name = "HomePhoneLabel";
this.HomePhoneLabel.Size = new System.Drawing.Size(83, 19);
this.HomePhoneLabel.TabIndex = 43;
@@ -238,29 +242,20 @@
//
// CellularPhoneLabel
//
this.CellularPhoneLabel.Location = new System.Drawing.Point(25, 75);
this.CellularPhoneLabel.Location = new System.Drawing.Point(16, 46);
this.CellularPhoneLabel.Name = "CellularPhoneLabel";
this.CellularPhoneLabel.Size = new System.Drawing.Size(92, 19);
this.CellularPhoneLabel.TabIndex = 46;
this.CellularPhoneLabel.Text = "Mobile:";
this.CellularPhoneLabel.TextAlign = System.Drawing.ContentAlignment.MiddleRight;
//
// PersonalWebSiteLabel
//
this.PersonalWebSiteLabel.Location = new System.Drawing.Point(34, 150);
this.PersonalWebSiteLabel.Name = "PersonalWebSiteLabel";
this.PersonalWebSiteLabel.Size = new System.Drawing.Size(83, 19);
this.PersonalWebSiteLabel.TabIndex = 54;
this.PersonalWebSiteLabel.Text = "Personal Web Page:";
this.PersonalWebSiteLabel.TextAlign = System.Drawing.ContentAlignment.MiddleRight;
//
// WorkPhoneLabel
//
this.WorkPhoneLabel.Location = new System.Drawing.Point(25, 125);
this.WorkPhoneLabel.Location = new System.Drawing.Point(16, 75);
this.WorkPhoneLabel.Name = "WorkPhoneLabel";
this.WorkPhoneLabel.Size = new System.Drawing.Size(92, 19);
this.WorkPhoneLabel.TabIndex = 55;
this.WorkPhoneLabel.Text = "Business Phone:";
this.WorkPhoneLabel.Text = "Work Phone:";
this.WorkPhoneLabel.TextAlign = System.Drawing.ContentAlignment.MiddleRight;
//
// gbContactDetail
@@ -268,19 +263,10 @@
this.gbContactDetail.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
| System.Windows.Forms.AnchorStyles.Left)
| System.Windows.Forms.AnchorStyles.Right)));
this.gbContactDetail.Controls.Add(this.EmailAddressValue);
this.gbContactDetail.Controls.Add(this.EmailAddressLabel);
this.gbContactDetail.Controls.Add(this.WorkPhoneValue);
this.gbContactDetail.Controls.Add(this.PersonalWebSiteValue);
this.gbContactDetail.Controls.Add(this.WorkPhoneLabel);
this.gbContactDetail.Controls.Add(this.PersonalWebSiteLabel);
this.gbContactDetail.Controls.Add(this.groupBox3);
this.gbContactDetail.Controls.Add(this.groupBox2);
this.gbContactDetail.Controls.Add(this.groupBox1);
this.gbContactDetail.Controls.Add(this.PhotoBox);
this.gbContactDetail.Controls.Add(this.CellularPhoneValue);
this.gbContactDetail.Controls.Add(this.CellularPhoneLabel);
this.gbContactDetail.Controls.Add(this.HomePhoneValue);
this.gbContactDetail.Controls.Add(this.FormattedNameValue);
this.gbContactDetail.Controls.Add(this.HomePhoneLabel);
this.gbContactDetail.Controls.Add(this.FormattedNameLabel);
this.gbContactDetail.Enabled = false;
this.gbContactDetail.Location = new System.Drawing.Point(250, 52);
this.gbContactDetail.Name = "gbContactDetail";
@@ -289,47 +275,51 @@
this.gbContactDetail.TabStop = false;
this.gbContactDetail.Text = "Contact Detail :";
//
// EmailAddressValue
// groupBox2
//
this.EmailAddressValue.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
| System.Windows.Forms.AnchorStyles.Right)));
this.EmailAddressValue.Location = new System.Drawing.Point(123, 99);
this.EmailAddressValue.Name = "EmailAddressValue";
this.EmailAddressValue.Size = new System.Drawing.Size(272, 20);
this.EmailAddressValue.TabIndex = 59;
this.EmailAddressValue.LostFocus += new System.EventHandler(this.Value_TextChanged);
this.EmailAddressValue.Validated += new System.EventHandler(this.Value_TextChanged);
this.groupBox2.Controls.Add(this.EmailAddressLabel);
this.groupBox2.Controls.Add(this.EmailAddressValue);
this.groupBox2.Controls.Add(this.PersonalWebSiteLabel);
this.groupBox2.Controls.Add(this.PersonalWebSiteValue);
this.groupBox2.Location = new System.Drawing.Point(18, 191);
this.groupBox2.Name = "groupBox2";
this.groupBox2.Size = new System.Drawing.Size(377, 100);
this.groupBox2.TabIndex = 65;
this.groupBox2.TabStop = false;
this.groupBox2.Text = "Web : ";
//
// EmailAddressLabel
//
this.EmailAddressLabel.Location = new System.Drawing.Point(-7, 100);
this.EmailAddressLabel.Location = new System.Drawing.Point(-16, 29);
this.EmailAddressLabel.Name = "EmailAddressLabel";
this.EmailAddressLabel.Size = new System.Drawing.Size(124, 19);
this.EmailAddressLabel.TabIndex = 58;
this.EmailAddressLabel.TabIndex = 63;
this.EmailAddressLabel.Text = "Email Address:";
this.EmailAddressLabel.TextAlign = System.Drawing.ContentAlignment.MiddleRight;
//
// WorkPhoneValue
// PersonalWebSiteLabel
//
this.WorkPhoneValue.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
| System.Windows.Forms.AnchorStyles.Right)));
this.WorkPhoneValue.Location = new System.Drawing.Point(123, 124);
this.WorkPhoneValue.Name = "WorkPhoneValue";
this.WorkPhoneValue.Size = new System.Drawing.Size(272, 20);
this.WorkPhoneValue.TabIndex = 57;
this.WorkPhoneValue.LostFocus += new System.EventHandler(this.Value_TextChanged);
this.WorkPhoneValue.Validated += new System.EventHandler(this.Value_TextChanged);
this.PersonalWebSiteLabel.Location = new System.Drawing.Point(25, 56);
this.PersonalWebSiteLabel.Name = "PersonalWebSiteLabel";
this.PersonalWebSiteLabel.Size = new System.Drawing.Size(83, 19);
this.PersonalWebSiteLabel.TabIndex = 61;
this.PersonalWebSiteLabel.Text = "Personal Web Page:";
this.PersonalWebSiteLabel.TextAlign = System.Drawing.ContentAlignment.MiddleRight;
//
// PersonalWebSiteValue
// groupBox1
//
this.PersonalWebSiteValue.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
| System.Windows.Forms.AnchorStyles.Right)));
this.PersonalWebSiteValue.Location = new System.Drawing.Point(123, 149);
this.PersonalWebSiteValue.Name = "PersonalWebSiteValue";
this.PersonalWebSiteValue.Size = new System.Drawing.Size(272, 20);
this.PersonalWebSiteValue.TabIndex = 56;
this.PersonalWebSiteValue.LostFocus += new System.EventHandler(this.Value_TextChanged);
this.PersonalWebSiteValue.Validated += new System.EventHandler(this.Value_TextChanged);
this.groupBox1.Controls.Add(this.WorkPhoneLabel);
this.groupBox1.Controls.Add(this.HomePhoneLabel);
this.groupBox1.Controls.Add(this.HomePhoneValue);
this.groupBox1.Controls.Add(this.WorkPhoneValue);
this.groupBox1.Controls.Add(this.CellularPhoneLabel);
this.groupBox1.Controls.Add(this.CellularPhoneValue);
this.groupBox1.Location = new System.Drawing.Point(18, 72);
this.groupBox1.Name = "groupBox1";
this.groupBox1.Size = new System.Drawing.Size(377, 113);
this.groupBox1.TabIndex = 60;
this.groupBox1.TabStop = false;
this.groupBox1.Text = "Phones : ";
//
// PhotoBox
//
@@ -337,44 +327,11 @@
this.PhotoBox.Image = ((System.Drawing.Image)(resources.GetObject("PhotoBox.Image")));
this.PhotoBox.Location = new System.Drawing.Point(412, 25);
this.PhotoBox.Name = "PhotoBox";
this.PhotoBox.Size = new System.Drawing.Size(128, 144);
this.PhotoBox.Size = new System.Drawing.Size(128, 123);
this.PhotoBox.SizeMode = System.Windows.Forms.PictureBoxSizeMode.Zoom;
this.PhotoBox.TabIndex = 53;
this.PhotoBox.TabStop = false;
//
// CellularPhoneValue
//
this.CellularPhoneValue.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
| System.Windows.Forms.AnchorStyles.Right)));
this.CellularPhoneValue.Location = new System.Drawing.Point(123, 74);
this.CellularPhoneValue.Name = "CellularPhoneValue";
this.CellularPhoneValue.Size = new System.Drawing.Size(272, 20);
this.CellularPhoneValue.TabIndex = 47;
this.CellularPhoneValue.LostFocus += new System.EventHandler(this.Value_TextChanged);
this.CellularPhoneValue.Validated += new System.EventHandler(this.Value_TextChanged);
//
// HomePhoneValue
//
this.HomePhoneValue.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
| System.Windows.Forms.AnchorStyles.Right)));
this.HomePhoneValue.Location = new System.Drawing.Point(123, 49);
this.HomePhoneValue.Name = "HomePhoneValue";
this.HomePhoneValue.Size = new System.Drawing.Size(272, 20);
this.HomePhoneValue.TabIndex = 45;
this.HomePhoneValue.LostFocus += new System.EventHandler(this.Value_TextChanged);
this.HomePhoneValue.Validated += new System.EventHandler(this.Value_TextChanged);
//
// FormattedNameValue
//
this.FormattedNameValue.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
| System.Windows.Forms.AnchorStyles.Right)));
this.FormattedNameValue.Location = new System.Drawing.Point(123, 24);
this.FormattedNameValue.Name = "FormattedNameValue";
this.FormattedNameValue.Size = new System.Drawing.Size(272, 20);
this.FormattedNameValue.TabIndex = 44;
this.FormattedNameValue.LostFocus += new System.EventHandler(this.Value_TextChanged);
this.FormattedNameValue.Validated += new System.EventHandler(this.Value_TextChanged);
//
// gbNameList
//
this.gbNameList.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
@@ -450,12 +407,91 @@
this.Column2.Name = "Column2";
this.Column2.ReadOnly = true;
//
// miConfig
// groupBox3
//
this.miConfig.Name = "miConfig";
this.miConfig.Size = new System.Drawing.Size(152, 22);
this.miConfig.Text = "Preference";
this.miConfig.Click += new System.EventHandler(this.miConfig_Click);
this.groupBox3.Controls.Add(this.FormattedNameValue);
this.groupBox3.Controls.Add(this.FormattedNameLabel);
this.groupBox3.Location = new System.Drawing.Point(18, 14);
this.groupBox3.Name = "groupBox3";
this.groupBox3.Size = new System.Drawing.Size(377, 52);
this.groupBox3.TabIndex = 66;
this.groupBox3.TabStop = false;
this.groupBox3.Text = "Name";
//
// FormattedNameLabel
//
this.FormattedNameLabel.Location = new System.Drawing.Point(6, 17);
this.FormattedNameLabel.Name = "FormattedNameLabel";
this.FormattedNameLabel.Size = new System.Drawing.Size(102, 19);
this.FormattedNameLabel.TabIndex = 45;
this.FormattedNameLabel.Text = "Name:";
this.FormattedNameLabel.TextAlign = System.Drawing.ContentAlignment.MiddleRight;
//
// FormattedNameValue
//
this.FormattedNameValue.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
| System.Windows.Forms.AnchorStyles.Right)));
this.FormattedNameValue.Location = new System.Drawing.Point(114, 17);
this.FormattedNameValue.Name = "FormattedNameValue";
this.FormattedNameValue.oldText = null;
this.FormattedNameValue.Size = new System.Drawing.Size(225, 20);
this.FormattedNameValue.TabIndex = 46;
//
// EmailAddressValue
//
this.EmailAddressValue.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
| System.Windows.Forms.AnchorStyles.Right)));
this.EmailAddressValue.Location = new System.Drawing.Point(114, 28);
this.EmailAddressValue.Name = "EmailAddressValue";
this.EmailAddressValue.oldText = null;
this.EmailAddressValue.Size = new System.Drawing.Size(225, 20);
this.EmailAddressValue.TabIndex = 64;
//
// PersonalWebSiteValue
//
this.PersonalWebSiteValue.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
| System.Windows.Forms.AnchorStyles.Right)));
this.PersonalWebSiteValue.Location = new System.Drawing.Point(114, 54);
this.PersonalWebSiteValue.Name = "PersonalWebSiteValue";
this.PersonalWebSiteValue.oldText = null;
this.PersonalWebSiteValue.Size = new System.Drawing.Size(225, 20);
this.PersonalWebSiteValue.TabIndex = 62;
//
// HomePhoneValue
//
this.HomePhoneValue.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
| System.Windows.Forms.AnchorStyles.Right)));
this.HomePhoneValue.Location = new System.Drawing.Point(114, 20);
this.HomePhoneValue.Name = "HomePhoneValue";
this.HomePhoneValue.oldText = null;
this.HomePhoneValue.Size = new System.Drawing.Size(225, 20);
this.HomePhoneValue.TabIndex = 45;
this.HomePhoneValue.LostFocus += new System.EventHandler(this.Value_TextChanged);
this.HomePhoneValue.Validated += new System.EventHandler(this.Value_TextChanged);
//
// WorkPhoneValue
//
this.WorkPhoneValue.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
| System.Windows.Forms.AnchorStyles.Right)));
this.WorkPhoneValue.Location = new System.Drawing.Point(114, 74);
this.WorkPhoneValue.Name = "WorkPhoneValue";
this.WorkPhoneValue.oldText = null;
this.WorkPhoneValue.Size = new System.Drawing.Size(225, 20);
this.WorkPhoneValue.TabIndex = 57;
this.WorkPhoneValue.LostFocus += new System.EventHandler(this.Value_TextChanged);
this.WorkPhoneValue.Validated += new System.EventHandler(this.Value_TextChanged);
//
// CellularPhoneValue
//
this.CellularPhoneValue.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
| System.Windows.Forms.AnchorStyles.Right)));
this.CellularPhoneValue.Location = new System.Drawing.Point(114, 45);
this.CellularPhoneValue.Name = "CellularPhoneValue";
this.CellularPhoneValue.oldText = null;
this.CellularPhoneValue.Size = new System.Drawing.Size(225, 20);
this.CellularPhoneValue.TabIndex = 47;
this.CellularPhoneValue.LostFocus += new System.EventHandler(this.Value_TextChanged);
this.CellularPhoneValue.Validated += new System.EventHandler(this.Value_TextChanged);
//
// MainForm
//
@@ -480,12 +516,17 @@
this.toolStrip1.ResumeLayout(false);
this.toolStrip1.PerformLayout();
this.gbContactDetail.ResumeLayout(false);
this.gbContactDetail.PerformLayout();
this.groupBox2.ResumeLayout(false);
this.groupBox2.PerformLayout();
this.groupBox1.ResumeLayout(false);
this.groupBox1.PerformLayout();
((System.ComponentModel.ISupportInitialize)(this.PhotoBox)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.bsContacts)).EndInit();
this.gbNameList.ResumeLayout(false);
this.gbNameList.PerformLayout();
((System.ComponentModel.ISupportInitialize)(this.dgContacts)).EndInit();
this.groupBox3.ResumeLayout(false);
this.groupBox3.PerformLayout();
this.ResumeLayout(false);
this.PerformLayout();
@@ -509,18 +550,13 @@
private System.Windows.Forms.ToolStripButton tbsAbout;
private System.Windows.Forms.OpenFileDialog openFileDialog;
private System.Windows.Forms.BindingSource bsContacts;
internal System.Windows.Forms.Label FormattedNameLabel;
internal System.Windows.Forms.Label HomePhoneLabel;
internal StateTextBox HomePhoneValue;
internal System.Windows.Forms.Label CellularPhoneLabel;
internal StateTextBox CellularPhoneValue;
internal System.Windows.Forms.Label PersonalWebSiteLabel;
internal System.Windows.Forms.Label WorkPhoneLabel;
internal StateTextBox PersonalWebSiteValue;
internal StateTextBox WorkPhoneValue;
private System.Windows.Forms.GroupBox gbContactDetail;
internal StateTextBox EmailAddressValue;
internal System.Windows.Forms.Label EmailAddressLabel;
private System.Windows.Forms.GroupBox gbNameList;
private System.Windows.Forms.TextBox textBoxFilter;
private System.Windows.Forms.DataGridView dgContacts;
@@ -529,7 +565,15 @@
private System.Windows.Forms.Button btnClearFilter;
internal System.Windows.Forms.PictureBox PhotoBox;
private System.Windows.Forms.ToolStripMenuItem recentFilesMenuItem;
internal StateTextBox FormattedNameValue;
private System.Windows.Forms.ToolStripMenuItem miConfig;
private System.Windows.Forms.GroupBox groupBox2;
internal System.Windows.Forms.Label EmailAddressLabel;
internal StateTextBox EmailAddressValue;
internal System.Windows.Forms.Label PersonalWebSiteLabel;
internal StateTextBox PersonalWebSiteValue;
private System.Windows.Forms.GroupBox groupBox1;
private System.Windows.Forms.GroupBox groupBox3;
internal StateTextBox FormattedNameValue;
internal System.Windows.Forms.Label FormattedNameLabel;
}
}

View File

@@ -112,15 +112,15 @@
<value>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<metadata name="menuStrip1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<metadata name="menuStrip1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>17, 17</value>
</metadata>
<assembly alias="System.Drawing" name="System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
<assembly alias="System.Drawing" name="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
<data name="miOpen.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
@@ -139,16 +139,16 @@
</data>
<data name="miQuit.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
YQUAAAH9SURBVDhPpZLdS1NhHMcfCMFuvOj9wrQ5S5a62TKdKSZpu5CVowbzjc1srZh6nDp3EF8YQ8XI
G0EEQWqCaHgT1kCJ5aYDmQt1IAYhSN11lX/Ct9+ziXrmEQS/8DkP/J7n++FwnsPOnR+iFmfloCIN39ga
NSDkfbKXcoHpOTTWEWoim7hBXDxVEHXfQ8h1H3+/iAh/6AieJjCMXgKbZCcl7912LDs1+DXyCP+C7zDR
rAnSWCoYZzPxspwg4ipAQFDjp1eHP76XeFN0hR86Egyydl4cjg0mBMmsdWrwrTUf255i/PbZpIJeJvJD
3i0PXNEOOCOt6NsQ4Y0NQFh/C9ZFgrAzH4uOXMT6C7E72SgVUNmzOQD90mOU+otQtVQOQ0AP84oRQtSe
EKy05cFvV2GjR4udMZPsGzSEzKgJVMMSroV9zRov98e6E4Jlx118fpWDiEuDCXc9ROsz2W/gXG9JFJIZ
6bJh3pKN1fY8zAkVaK4ukQqO3wIVKPxxCFu03cZsnQLfHSqsiqV4/eDySQH9B1VDafKCr01K+EwZ4KKA
oIVDl3SNBwJ+jlZJOS7g+fg8fXvBooDfpkJbyVU+5WUVoSQyCC5JIeQFU8b0rE+1mfsLViU6y67xaSVR
Tjwk7hCpRDyyAp7pFzeN83W30FNxnU/NxFNCwfeORyoA+w+MrWMTrGDAJwAAAABJRU5ErkJggg==
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAf1JREFUOE+l
kt1LU2Ecxx8IwW686P3CtDlLlrrZMp0pJmm7kJWjBvONzWytmHqcOncQXxhDxcgbQQRBaoJoeBPWQInl
pgOZC3UgBiFI3XWVf8K337OJeuYRBL/wOQ/8nuf74XCew86dH6IWZ+WgIg3f2Bo1IOR9spdygek5NNYR
aiKbuEFcPFUQdd9DyHUff7+ICH/oCJ4mMIxeAptkJyXv3XYsOzX4NfII/4LvMNGsCdJYKhhnM/GynCDi
KkBAUOOnV4c/vpd4U3SFHzoSDLJ2XhyODSYEyax1avCtNR/bnmL89tmkgl4m8kPeLQ9c0Q44I63o2xDh
jQ1AWH8L1kWCsDMfi45cxPoLsTvZKBVQ2bM5AP3SY5T6i1C1VA5DQA/zihFC1J4QrLTlwW9XYaNHi50x
k+wbNITMqAlUwxKuhX3NGi/3x7oTgmXHXXx+lYOIS4MJdz1E6zPZb+Bcb0kUkhnpsmHeko3V9jzMCRVo
ri6RCo7fAhUo/HEIW7TdxmydAt8dKqyKpXj94PJJAf0HVUNp8oKvTUr4TBngooCghUOXdI0HAn6OVkk5
LuD5+Dx9e8GigN+mQlvJVT7lZRWhJDIILkkh5AVTxvSsT7WZ+wtWJTrLrvFpJVFOPCTuEKlEPLICnukX
N43zdbfQU3GdT83EU0LB945HKgD7D4ytYxOsYMAnAAAAAElFTkSuQmCC
</value>
</data>
<data name="miAbout.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
@@ -166,10 +166,10 @@
E9ew//AVxE8OItv/9O/Cf0ck8gud2vKswuxNZgAAAABJRU5ErkJggg==
</value>
</data>
<metadata name="statusStrip1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<metadata name="statusStrip1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>132, 17</value>
</metadata>
<metadata name="toolStrip1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<metadata name="toolStrip1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>248, 17</value>
</metadata>
<data name="tbsOpen.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
@@ -238,60 +238,60 @@
E9ew//AVxE8OItv/9O/Cf0ck8gud2vKswuxNZgAAAABJRU5ErkJggg==
</value>
</data>
<metadata name="openFileDialog.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<metadata name="openFileDialog.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>353, 17</value>
</metadata>
<data name="PhotoBox.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
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
XvxneHv7DU8zWBta5VGXAAAAAElFTkSuQmCC
</value>
</data>
<metadata name="bsContacts.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<metadata name="bsContacts.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>486, 17</value>
</metadata>
<data name="btnClearFilter.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
YQUAAAAJcEhZcwAADrwAAA68AZW8ckkAAAJ4SURBVDhPbZNfSFNxFMdPrdYf18TKNEEo//XUTEqb9kcC
NXqTRASH5Z9AVvjQpkv7Y2qUZOq0qHSrUFrDxiJS6GEg6EPP5SDouYcC96DTuT8O+XbO3TWSduDDOfd7
zvdw7+/eS//GGNFpB9GEZFX6G6yfYEZeER1Tpa0xTtQ6oUvBj24bJMu12hJz/4f8HPgtN/7rKbFpXhwf
xsb8DALOEbgzD0GMgjf3CCIzbmzMTSPgsG9dophT9mLxWT/iHifWXw8h/t6BsOcNvHk5CuEpJ+Lul1h3
Digzi6P9EI+TqE6ee+G3pRWx4R7E7L2IDXYjNnSfF41i7e2YgtSiKT2Z4fqn+arcxTyNErV5M9Kx0m5G
tNuKaK8tQd8tRB90JZBatJ4OnrEos+KxE12Rp9g1SPTcm34AK+ZGRKzXEbG1Jcdqxi9TDWRWPOzVyoJt
zJ4nRC/c+3QI1NcibG5JSsBUiwmtFn1EXeJRvewkMvI612xRIcI2C0KNDQg11G+FtXBnO2YNx8Hz/HJU
s3w0fBiT3+tqEbl3B2vXWrBaXZ0U6UXu3sbsqZNygJPKByeF31iKUFMTVi/XYKXyYoKKKqZShWtVD9Wb
eLYZ/rIzyhI5CddCbgGCxnMIlp5HsKyc4Ww8i4XcPAWpFU16MsPXc4ez8JSogx4SlQ8RffySkYVlQzGW
C0s4l+Bb9lE8IvosSC1aolcMX9pBsMdVQZQqx6Ax8Q8yQDTl06dhKd+Ar5nZeEw0bSW6JEgt2lKBAT79
fvCsm316ZrsskNAwqdJ4t2Mn+JV+6iSqUnWN1KJ5tLuTmjdDhJRmoiLOMiDmzZBaf5PoAmcdo5qJ/gBC
SbPSrCTkJAAAAABJRU5ErkJggg==
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO
vAAADrwBlbxySQAAAnhJREFUOE9tk19IU3EUx0+t1h/XxMo0QSj/9dRMSpv2RwI1epNEBIfln0BW+NCm
S/tjapRk6rSodKtQWsPGIlLoYSDoQ8/lIOi5hwL3oNO5Pw75ds7dNZJ24MM593vO93Dv795L/8YY0WkH
0YRkVfobrJ9gRl4RHVOlrTFO1DqhS8GPbhsky7XaEnP/h/wc+C03/uspsWleHB/GxvwMAs4RuDMPQYyC
N/cIIjNubMxNI+Cwb12imFP2YvFZP+IeJ9ZfDyH+3oGw5w28eTkK4Skn4u6XWHcOKDOLo/0Qj5OoTp57
4belFbHhHsTsvYgNdiM2dJ8XjWLt7ZiC1KIpPZnh+qf5qtzFPI0StXkz0rHSbka024pory1B3y1EH3Ql
kFq0ng6esSiz4rETXZGn2DVI9NybfgAr5kZErNcRsbUlx2rGL1MNZFY87NXKgm3MnidEL9z7dAjU1yJs
bklKwFSLCa0WfURd4lG97CQy8jrXbFEhwjYLQo0NCDXUb4W1cGc7Zg3HwfP8clSzfDR8GJPf62oRuXcH
a9dasFpdnRTpRe7exuypk3KAk8oHJ4XfWIpQUxNWL9dgpfJigooqplKFa1UP1Zt4thn+sjPKEjkJ10Ju
AYLGcwiWnkewrJzhbDyLhdw8BakVTXoyw9dzh7PwlKiDHhKVDxF9/JKRhWVDMZYLSziX4Fv2UTwi+ixI
LVqiVwxf2kGwx1VBlCrHoDHxDzJANOXTp2Ep34Cvmdl4TDRtJbokSC3aUoEBPv1+8KybfXpmuyyQ0DCp
0ni3Yyf4lX7qJKpSdY3Uonm0u5OaN0OElGaiIs4yIObNkFp/k+gCZx2jmon+AEJJs9KsJOQkAAAAAElF
TkSuQmCC
</value>
</data>
<metadata name="Column1.UserAddedColumn" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<metadata name="Column1.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="Column2.UserAddedColumn" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<metadata name="Column2.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<data name="$this.Icon" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">

View File

@@ -5,6 +5,7 @@ using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Thought.vCards;
using vCardEditor.Repository;
using VCFEditor.Repository;
@@ -22,5 +23,92 @@ namespace vCardEditor_Test
Assert.AreEqual(repo.LoadContacts("name")[0].Name, "Oum Alaâ");
}
[TestMethod]
public void NewFileOpened_SaveDirtyCellPhone_NotNullWithNotNull_Test()
{
var fileHandler = Substitute.For<IFileHandler>();
fileHandler.ReadAllLines(Arg.Any<string>()).Returns(Entries.vcfFourEntry);
var repo = Substitute.For<ContactRepository>(fileHandler);
repo.LoadContacts("name");
repo.Contacts[0].isDirty=true;
string phone = "0011223344";
var newCard = new vCard();
newCard.Phones.Add(new vCardPhone(phone, vCardPhoneTypes.Cellular));
repo.SaveDirtyVCard(0, newCard);
var card = repo.Contacts[0].card;
Assert.AreEqual(card.Phones.GetFirstChoice(vCardPhoneTypes.Cellular).FullNumber, phone);
}
[TestMethod]
public void NewFileOpened_SaveDirtyCellPhone_NotNullWithNull_Test()
{
var fileHandler = Substitute.For<IFileHandler>();
fileHandler.ReadAllLines(Arg.Any<string>()).Returns(Entries.vcfFourEntry);
var repo = Substitute.For<ContactRepository>(fileHandler);
repo.LoadContacts("name");
repo.Contacts[0].isDirty = true;
repo.SaveDirtyVCard(0, new vCard());
var card = repo.Contacts[0].card;
Assert.AreEqual(card.Phones.GetFirstChoice(vCardPhoneTypes.Cellular).FullNumber, string.Empty);
}
[TestMethod]
public void NewFileOpened_SaveDirtyCellPhone_NullWithNotNull_Test()
{
var fileHandler = Substitute.For<IFileHandler>();
fileHandler.ReadAllLines(Arg.Any<string>()).Returns(Entries.vcfFourEntry);
var repo = Substitute.For<ContactRepository>(fileHandler);
repo.LoadContacts("name");
repo.Contacts[2].isDirty = true;
string phone = "0011223344";
var newCard = new vCard();
newCard.Phones.Add(new vCardPhone(phone, vCardPhoneTypes.Cellular));
repo.SaveDirtyVCard(2, newCard);
var card = repo.Contacts[2].card;
Assert.AreEqual(card.Phones.GetFirstChoice(vCardPhoneTypes.Cellular).FullNumber, phone);
}
[TestMethod]
public void NewFileOpened_SaveDirtyCellPhone_NullWithNull_Test()
{
var fileHandler = Substitute.For<IFileHandler>();
fileHandler.ReadAllLines(Arg.Any<string>()).Returns(Entries.vcfFourEntry);
var repo = Substitute.For<ContactRepository>(fileHandler);
repo.LoadContacts("name");
repo.Contacts[3].isDirty = true;
repo.SaveDirtyVCard(3, new vCard());
var card = repo.Contacts[2].card;
Assert.IsNull(card.Phones.GetFirstChoice(vCardPhoneTypes.Cellular));
}
[TestMethod]
public void NewFileOpened_v21_Test()
{
var fileHandler = Substitute.For<IFileHandler>();
fileHandler.ReadAllLines(Arg.Any<string>()).Returns(Entries.vcfWikiv21);
var repo = Substitute.For<ContactRepository>(fileHandler);
repo.LoadContacts("name");
repo.Contacts[0].isDirty = true;
repo.SaveDirtyVCard(0, new vCard());
//var card = repo.Contacts[2].card;
//Assert.IsNull(card.Phones.GetFirstChoice(vCardPhoneTypes.Cellular));
}
}
}

View File

@@ -39,7 +39,7 @@ namespace vCardEditor_Test
"END:VCARD\n" +
"BEGIN:VCARD\n" +
"VERSION:2.1\n" +
"FN:Jean Dupont1\n" +
"FN:Jean Dupont2\n" +
"N:Dupont;Jean\n" +
"ADR;WORK;PREF;QUOTED-PRINTABLE:;Bruxelles 1200=Belgique;6A Rue Th. Decuyper\n" +
"TEL;CELL:+1234 56789\n" +
@@ -56,6 +56,43 @@ namespace vCardEditor_Test
return s.Split('\n');
}
}
public static string[] vcfFourEntry
{
get
{
string s = "BEGIN:VCARD\n" +
"VERSION:2.1\n" +
"FN:Jean Dupont1\n" +
"N:Dupont;Jean1\n" +
"ADR;WORK;PREF;QUOTED-PRINTABLE:;Bruxelles 1200=Belgique;6A Rue Th. Decuyper\n" +
"TEL;CELL:+1234 56789\n" +
"EMAIL;INTERNET:jean.dupont@example.com\n" +
"END:VCARD\n" +
"BEGIN:VCARD\n" +
"VERSION:2.1\n" +
"FN:Jean Dupont2\n" +
"N:Dupont;Jean\n" +
"ADR;WORK;PREF;QUOTED-PRINTABLE:;Bruxelles 1200=Belgique;6A Rue Th. Decuyper\n" +
"TEL;CELL:+1234 56789\n" +
"EMAIL;INTERNET:jean.dupont@example.com\n" +
"END:VCARD\n" +
"BEGIN:VCARD\n" +
"VERSION:2.1\n" +
"FN:Jean Dupont3\n" +
"N:Dupont;Jean\n" +
"ADR;WORK;PREF;QUOTED-PRINTABLE:;Bruxelles 1200=Belgique;6A Rue Th. Decuyper\n" +
"EMAIL;INTERNET:jean.dupont@example.com\n" +
"END:VCARD\n" +
"BEGIN:VCARD\n" +
"VERSION:2.1\n" +
"FN:Jean Dupont4\n" +
"N:Dupont;Jean\n" +
"ADR;WORK;PREF;QUOTED-PRINTABLE:;Bruxelles 1200=Belgique;6A Rue Th. Decuyper\n" +
"EMAIL;INTERNET:jean.dupont@example.com\n" +
"END:VCARD";
return s.Split('\n');
}
}
public static string[] vcfUtf8Entry
{
get
@@ -68,5 +105,31 @@ namespace vCardEditor_Test
return s.Split('\n');
}
}
public static string[] vcfWikiv21
{
get
{
string s = "BEGIN:VCARD" +
"VERSION:2.1\n" +
"N:Gump;Forrest;;Mr.\n" +
"FN:Forrest Gump\n" +
"ORG:Bubba Gump Shrimp Co.\n" +
"TITLE:Shrimp Man\n" +
"PHOTO;GIF:http://www.example.com/dir_photos/my_photo.gif\n" +
"TEL;WORK;VOICE:(111) 555-1212\n" +
"TEL;HOME;VOICE:(404) 555-1212\n" +
"ADR;WORK;PREF:;;100 Waters Edge;Baytown;LA;30314;United States of America\n" +
"LABEL;WORK;PREF;ENCODING=QUOTED-PRINTABLE;CHARSET=UTF-8:100 Waters Edge=0D=\n" +
" =0ABaytown\\, LA 30314=0D=0AUnited States of America\n" +
"ADR;HOME:;;42 Plantation St.;Baytown;LA;30314;United States of America\n" +
"LABEL;HOME;ENCODING=QUOTED-PRINTABLE;CHARSET=UTF-8:42 Plantation St.=0D=0A=\n" +
" Baytown, LA 30314=0D=0AUnited States of America\n" +
"EMAIL:forrestgump@example.com\n" +
"REV:20080424T195243Z\n" +
"END:VCARD";
return s.Split('\n');
}
}
}
}