From 8392f0c2734a3bfe83c70e7b414de179e4758acd Mon Sep 17 00:00:00 2001 From: Lev Rusanov <30170278+JDM170@users.noreply.github.com> Date: Sat, 31 May 2025 15:55:52 +0700 Subject: [PATCH 1/2] Update * Added question when deleting data from the Extras tab * ReplaceControls function merged with RemoveControl in ExtendedPanel * Fixed strange logic of working with AskMessage * Removed extra lines and spaces (again:D) Signed-off-by: Lev Rusanov <30170278+JDM170@users.noreply.github.com> --- vCardEditor/Model/FixedList.cs | 3 +-- vCardEditor/Presenter/MainPresenter.cs | 6 ++--- vCardEditor/Repository/ContactRepository.cs | 3 --- vCardEditor/View/Customs/ExtendedPanel.cs | 26 +++++++-------------- vCardEditor/View/MainForm.cs | 24 ++++++++----------- 5 files changed, 23 insertions(+), 39 deletions(-) diff --git a/vCardEditor/Model/FixedList.cs b/vCardEditor/Model/FixedList.cs index e7f4161..339b3ef 100644 --- a/vCardEditor/Model/FixedList.cs +++ b/vCardEditor/Model/FixedList.cs @@ -1,7 +1,6 @@ using System; using System.Collections.Generic; using System.Linq; -using System.Text; namespace vCardEditor.Model { @@ -17,7 +16,7 @@ namespace vCardEditor.Model set { _size = value; } } - public FixedList() : this(5) { } + public FixedList() { } public FixedList(int size) { diff --git a/vCardEditor/Presenter/MainPresenter.cs b/vCardEditor/Presenter/MainPresenter.cs index 8a979dd..fa9ec95 100644 --- a/vCardEditor/Presenter/MainPresenter.cs +++ b/vCardEditor/Presenter/MainPresenter.cs @@ -211,7 +211,7 @@ namespace VCFEditor.Presenter var contact = _repository.Contacts[_view.SelectedContactIndex]; _repository.SetDirtyFlag(_view.SelectedContactIndex); - contact.card.DeliveryAddresses.Add(new vCardDeliveryAddress( e.Data)); + contact.card.DeliveryAddresses.Add(new vCardDeliveryAddress(e.Data)); } private void AddressModifiedHandler(object sender, EventArg> e) @@ -274,7 +274,7 @@ namespace VCFEditor.Presenter void CloseFormHandler(object sender, EventArg e) { - if (_repository.dirty && _view.AskMessage("Exit without saving?", "Exit")) + if (_repository.dirty && !_view.AskMessage("Exit without saving?", "Exit")) e.Data = true; if (!e.Data) @@ -347,7 +347,7 @@ namespace VCFEditor.Presenter { if (_repository.Contacts != null && _repository.dirty) { - if (!_view.AskMessage("Save current file before?", "Load")) + if (_view.AskMessage("Save current file before?", "Load")) SaveContactsHandler(null, null); //_repository.SaveContactsToFile(_repository.fileName); } diff --git a/vCardEditor/Repository/ContactRepository.cs b/vCardEditor/Repository/ContactRepository.cs index 414b638..4dbeac3 100644 --- a/vCardEditor/Repository/ContactRepository.cs +++ b/vCardEditor/Repository/ContactRepository.cs @@ -148,7 +148,6 @@ namespace VCFEditor.Repository //Clean the flag for every contact, even the deleted ones. entry.isDirty = false; - } _dirty = false; _fileHandler.WriteAllText(fileName, sb.ToString()); @@ -272,7 +271,6 @@ namespace VCFEditor.Repository card.Phones.GetFirstChoice(vCardPhoneTypes.Home).FullNumber = string.Empty; } - //Cellular if (NewCard.Phones.GetFirstChoice(vCardPhoneTypes.Cellular) != null) { @@ -323,7 +321,6 @@ namespace VCFEditor.Repository private void SaveWebUrl(vCard NewCard, vCard card) { - if (NewCard.Websites.GetFirstChoice(vCardWebsiteTypes.Personal) != null) { if (card.Websites.GetFirstChoice(vCardWebsiteTypes.Personal) != null) diff --git a/vCardEditor/View/Customs/ExtendedPanel.cs b/vCardEditor/View/Customs/ExtendedPanel.cs index 75a4b99..ff116cf 100644 --- a/vCardEditor/View/Customs/ExtendedPanel.cs +++ b/vCardEditor/View/Customs/ExtendedPanel.cs @@ -11,9 +11,9 @@ namespace vCardEditor.View.Customs public ExtendedPanel() { InitializeComponent(); - - miCell.Click += MenuItemClickHandlers; + miCell.Tag = new vCardPhone(string.Empty, vCardPhoneTypes.Cellular); + miCell.Click += MenuItemClickHandlers; miHome.Tag = new vCardPhone(string.Empty, vCardPhoneTypes.Home); miHome.Click += MenuItemClickHandlers; @@ -46,6 +46,7 @@ namespace vCardEditor.View.Customs } public PanelType panelType { get; set; } + private void MenuItemClickHandlers(object sender, EventArgs e) { object tag = (sender as ToolStripMenuItem).Tag; @@ -110,34 +111,25 @@ namespace vCardEditor.View.Customs { if (MessageBox.Show("Are you sure?", "Question", MessageBoxButtons.YesNo) == DialogResult.Yes) { - var par = (sender as Control).Parent; - PanelContent.Controls.Remove(par); - - ReplaceControls(); + PanelContent.Controls.Remove((sender as Control).Parent); + for (int i = 0; i < PanelContent.Controls.Count; i++) + { + PanelContent.Controls[i].Location = new Point(5, (i * 30) + 10); + } CardInfoRemoved?.Invoke(sender, e); } } - private void ReplaceControls() - { - for (int i = 0; i < PanelContent.Controls.Count; i++) - { - PanelContent.Controls[i].Location = new Point(5, (i * 30) + 10); - } - } - private Point GetCoordinatesForNewControl() { Point pt; if (PanelContent.Controls.Count > 0) { - Control LastControl = PanelContent.Controls[PanelContent.Controls.Count - 1]; - pt = LastControl.Location; + pt = PanelContent.Controls[PanelContent.Controls.Count - 1].Location; pt.Y += 30; } else pt = new Point(5, 10); - return pt; } } diff --git a/vCardEditor/View/MainForm.cs b/vCardEditor/View/MainForm.cs index 470acab..5a2b40a 100644 --- a/vCardEditor/View/MainForm.cs +++ b/vCardEditor/View/MainForm.cs @@ -194,17 +194,19 @@ namespace vCardEditor.View public void AddExtraTextGroup(vCardPropeties type, string content) { - ExtraTextGroup etg = new ExtraTextGroup(); - etg.Content = content; - etg.Caption = type.ToString() + " :"; - etg.CardProp = type; + ExtraTextGroup etg = new ExtraTextGroup + { + Content = content, + Caption = type.ToString() + ":", + CardProp = type, + Dock = DockStyle.Top + }; etg.TextChangedEvent += (sender, e) => TextBoxValueChanged?.Invoke(sender, e); etg.ControlDeleted += (sender, e) => { - Control send = sender as Control; - panelTabExtra.Controls.Remove(send.Parent); + if (AskMessage("Are you sure?", "Question")) + panelTabExtra.Controls.Remove((sender as Control).Parent); }; - etg.Dock = DockStyle.Top; panelTabExtra.Controls.Add(etg); } @@ -418,14 +420,8 @@ namespace vCardEditor.View public bool AskMessage(string msg, string caption) { - bool result = true; // true == yes - DialogResult window = MessageBox.Show(msg, caption, MessageBoxButtons.YesNo); - - if (window != DialogResult.No) - result = false; - - return result; + return window == DialogResult.Yes; } private void miConfig_Click(object sender, EventArgs e) From a37ceee7f2a2f23afbd1834f69763d2509ddae8e Mon Sep 17 00:00:00 2001 From: Lev Rusanov <30170278+JDM170@users.noreply.github.com> Date: Wed, 4 Jun 2025 18:23:38 +0700 Subject: [PATCH 2/2] Update * Aligning buttons on the About dialog and removing an extra line in tableLayoutPanel * Removed unnecessary cancel button Signed-off-by: Lev Rusanov <30170278+JDM170@users.noreply.github.com> --- vCardEditor/View/AboutDialog.Designer.cs | 80 +++++++++++------------ vCardEditor/View/ConfigDialog.Designer.cs | 30 ++------- 2 files changed, 45 insertions(+), 65 deletions(-) diff --git a/vCardEditor/View/AboutDialog.Designer.cs b/vCardEditor/View/AboutDialog.Designer.cs index 4a7d96a..2247859 100644 --- a/vCardEditor/View/AboutDialog.Designer.cs +++ b/vCardEditor/View/AboutDialog.Designer.cs @@ -46,7 +46,7 @@ this.tableLayoutPanel.ColumnCount = 3; this.tableLayoutPanel.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 32.31441F)); this.tableLayoutPanel.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 67.68559F)); - this.tableLayoutPanel.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Absolute, 119F)); + this.tableLayoutPanel.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Absolute, 90F)); this.tableLayoutPanel.Controls.Add(this.logoPictureBox, 0, 0); this.tableLayoutPanel.Controls.Add(this.labelProductName, 1, 0); this.tableLayoutPanel.Controls.Add(this.labelVersion, 1, 1); @@ -56,33 +56,30 @@ this.tableLayoutPanel.Controls.Add(this.okButton, 2, 5); this.tableLayoutPanel.Controls.Add(this.updateButton, 1, 5); this.tableLayoutPanel.Dock = System.Windows.Forms.DockStyle.Fill; - this.tableLayoutPanel.Location = new System.Drawing.Point(12, 11); - this.tableLayoutPanel.Margin = new System.Windows.Forms.Padding(4); + this.tableLayoutPanel.Location = new System.Drawing.Point(9, 9); this.tableLayoutPanel.Name = "tableLayoutPanel"; - this.tableLayoutPanel.RowCount = 7; + this.tableLayoutPanel.RowCount = 6; this.tableLayoutPanel.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 10F)); this.tableLayoutPanel.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 10F)); this.tableLayoutPanel.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 10F)); this.tableLayoutPanel.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 10F)); this.tableLayoutPanel.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 47.93651F)); this.tableLayoutPanel.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 12.69841F)); - this.tableLayoutPanel.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 8F)); - this.tableLayoutPanel.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 25F)); - this.tableLayoutPanel.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 25F)); this.tableLayoutPanel.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 20F)); this.tableLayoutPanel.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 20F)); - this.tableLayoutPanel.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 20F)); - this.tableLayoutPanel.Size = new System.Drawing.Size(556, 326); + this.tableLayoutPanel.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 16F)); + this.tableLayoutPanel.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 16F)); + this.tableLayoutPanel.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 16F)); + this.tableLayoutPanel.Size = new System.Drawing.Size(417, 265); this.tableLayoutPanel.TabIndex = 0; // // logoPictureBox // this.logoPictureBox.Image = ((System.Drawing.Image)(resources.GetObject("logoPictureBox.Image"))); - this.logoPictureBox.Location = new System.Drawing.Point(4, 4); - this.logoPictureBox.Margin = new System.Windows.Forms.Padding(4); + this.logoPictureBox.Location = new System.Drawing.Point(3, 3); this.logoPictureBox.Name = "logoPictureBox"; this.tableLayoutPanel.SetRowSpan(this.logoPictureBox, 6); - this.logoPictureBox.Size = new System.Drawing.Size(133, 121); + this.logoPictureBox.Size = new System.Drawing.Size(99, 98); this.logoPictureBox.SizeMode = System.Windows.Forms.PictureBoxSizeMode.StretchImage; this.logoPictureBox.TabIndex = 12; this.logoPictureBox.TabStop = false; @@ -91,11 +88,11 @@ // this.tableLayoutPanel.SetColumnSpan(this.labelProductName, 2); this.labelProductName.Dock = System.Windows.Forms.DockStyle.Fill; - this.labelProductName.Location = new System.Drawing.Point(149, 0); - this.labelProductName.Margin = new System.Windows.Forms.Padding(8, 0, 4, 0); - this.labelProductName.MaximumSize = new System.Drawing.Size(0, 21); + this.labelProductName.Location = new System.Drawing.Point(111, 0); + this.labelProductName.Margin = new System.Windows.Forms.Padding(6, 0, 3, 0); + this.labelProductName.MaximumSize = new System.Drawing.Size(0, 17); this.labelProductName.Name = "labelProductName"; - this.labelProductName.Size = new System.Drawing.Size(403, 21); + this.labelProductName.Size = new System.Drawing.Size(303, 17); this.labelProductName.TabIndex = 19; this.labelProductName.Text = "Nom du produit"; this.labelProductName.TextAlign = System.Drawing.ContentAlignment.MiddleLeft; @@ -104,11 +101,11 @@ // this.tableLayoutPanel.SetColumnSpan(this.labelVersion, 2); this.labelVersion.Dock = System.Windows.Forms.DockStyle.Fill; - this.labelVersion.Location = new System.Drawing.Point(149, 31); - this.labelVersion.Margin = new System.Windows.Forms.Padding(8, 0, 4, 0); - this.labelVersion.MaximumSize = new System.Drawing.Size(0, 21); + this.labelVersion.Location = new System.Drawing.Point(111, 26); + this.labelVersion.Margin = new System.Windows.Forms.Padding(6, 0, 3, 0); + this.labelVersion.MaximumSize = new System.Drawing.Size(0, 17); this.labelVersion.Name = "labelVersion"; - this.labelVersion.Size = new System.Drawing.Size(403, 21); + this.labelVersion.Size = new System.Drawing.Size(303, 17); this.labelVersion.TabIndex = 0; this.labelVersion.Text = "Version"; this.labelVersion.TextAlign = System.Drawing.ContentAlignment.MiddleLeft; @@ -117,11 +114,11 @@ // this.tableLayoutPanel.SetColumnSpan(this.labelCopyright, 2); this.labelCopyright.Dock = System.Windows.Forms.DockStyle.Fill; - this.labelCopyright.Location = new System.Drawing.Point(149, 62); - this.labelCopyright.Margin = new System.Windows.Forms.Padding(8, 0, 4, 0); - this.labelCopyright.MaximumSize = new System.Drawing.Size(0, 21); + this.labelCopyright.Location = new System.Drawing.Point(111, 52); + this.labelCopyright.Margin = new System.Windows.Forms.Padding(6, 0, 3, 0); + this.labelCopyright.MaximumSize = new System.Drawing.Size(0, 17); this.labelCopyright.Name = "labelCopyright"; - this.labelCopyright.Size = new System.Drawing.Size(403, 21); + this.labelCopyright.Size = new System.Drawing.Size(303, 17); this.labelCopyright.TabIndex = 21; this.labelCopyright.Text = "Copyright"; this.labelCopyright.TextAlign = System.Drawing.ContentAlignment.MiddleLeft; @@ -130,11 +127,11 @@ // this.tableLayoutPanel.SetColumnSpan(this.labelCompanyName, 2); this.labelCompanyName.Dock = System.Windows.Forms.DockStyle.Fill; - this.labelCompanyName.Location = new System.Drawing.Point(149, 93); - this.labelCompanyName.Margin = new System.Windows.Forms.Padding(8, 0, 4, 0); - this.labelCompanyName.MaximumSize = new System.Drawing.Size(0, 21); + this.labelCompanyName.Location = new System.Drawing.Point(111, 78); + this.labelCompanyName.Margin = new System.Windows.Forms.Padding(6, 0, 3, 0); + this.labelCompanyName.MaximumSize = new System.Drawing.Size(0, 17); this.labelCompanyName.Name = "labelCompanyName"; - this.labelCompanyName.Size = new System.Drawing.Size(403, 21); + this.labelCompanyName.Size = new System.Drawing.Size(303, 17); this.labelCompanyName.TabIndex = 22; this.labelCompanyName.Text = "Nom de la société"; this.labelCompanyName.TextAlign = System.Drawing.ContentAlignment.MiddleLeft; @@ -143,34 +140,34 @@ // this.tableLayoutPanel.SetColumnSpan(this.textBoxDescription, 2); this.textBoxDescription.Dock = System.Windows.Forms.DockStyle.Fill; - this.textBoxDescription.Location = new System.Drawing.Point(149, 128); - this.textBoxDescription.Margin = new System.Windows.Forms.Padding(8, 4, 4, 4); + this.textBoxDescription.Location = new System.Drawing.Point(111, 107); + this.textBoxDescription.Margin = new System.Windows.Forms.Padding(6, 3, 3, 3); this.textBoxDescription.Multiline = true; this.textBoxDescription.Name = "textBoxDescription"; this.textBoxDescription.ReadOnly = true; this.textBoxDescription.ScrollBars = System.Windows.Forms.ScrollBars.Both; - this.textBoxDescription.Size = new System.Drawing.Size(403, 143); + this.textBoxDescription.Size = new System.Drawing.Size(303, 120); this.textBoxDescription.TabIndex = 23; this.textBoxDescription.TabStop = false; this.textBoxDescription.Text = "Description"; // // okButton // - this.okButton.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right))); + this.okButton.Anchor = System.Windows.Forms.AnchorStyles.Right; this.okButton.DialogResult = System.Windows.Forms.DialogResult.Cancel; - this.okButton.Location = new System.Drawing.Point(442, 282); - this.okButton.Margin = new System.Windows.Forms.Padding(4); + this.okButton.Location = new System.Drawing.Point(332, 235); this.okButton.Name = "okButton"; - this.okButton.Size = new System.Drawing.Size(110, 29); + this.okButton.Size = new System.Drawing.Size(82, 24); this.okButton.TabIndex = 24; this.okButton.Text = "&OK"; // // updateButton // - this.updateButton.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right))); - this.updateButton.Location = new System.Drawing.Point(312, 283); + this.updateButton.Anchor = System.Windows.Forms.AnchorStyles.Right; + this.updateButton.Location = new System.Drawing.Point(233, 235); + this.updateButton.Margin = new System.Windows.Forms.Padding(2, 2, 2, 2); this.updateButton.Name = "updateButton"; - this.updateButton.Size = new System.Drawing.Size(121, 29); + this.updateButton.Size = new System.Drawing.Size(91, 24); this.updateButton.TabIndex = 25; this.updateButton.Text = "Check update..."; this.updateButton.Click += new System.EventHandler(this.updateButton_Click); @@ -178,16 +175,15 @@ // AboutDialog // this.AcceptButton = this.okButton; - this.AutoScaleDimensions = new System.Drawing.SizeF(8F, 16F); + this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F); this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; - this.ClientSize = new System.Drawing.Size(580, 348); + this.ClientSize = new System.Drawing.Size(435, 283); this.Controls.Add(this.tableLayoutPanel); this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedDialog; - this.Margin = new System.Windows.Forms.Padding(4); this.MaximizeBox = false; this.MinimizeBox = false; this.Name = "AboutDialog"; - this.Padding = new System.Windows.Forms.Padding(12, 11, 12, 11); + this.Padding = new System.Windows.Forms.Padding(9, 9, 9, 9); this.ShowIcon = false; this.ShowInTaskbar = false; this.StartPosition = System.Windows.Forms.FormStartPosition.CenterParent; diff --git a/vCardEditor/View/ConfigDialog.Designer.cs b/vCardEditor/View/ConfigDialog.Designer.cs index a977a49..c39bf39 100644 --- a/vCardEditor/View/ConfigDialog.Designer.cs +++ b/vCardEditor/View/ConfigDialog.Designer.cs @@ -30,48 +30,33 @@ { this.btnClose = new System.Windows.Forms.Button(); this.pgConfig = new System.Windows.Forms.PropertyGrid(); - this.btnCancel = new System.Windows.Forms.Button(); this.SuspendLayout(); // // btnClose // this.btnClose.DialogResult = System.Windows.Forms.DialogResult.OK; - this.btnClose.Location = new System.Drawing.Point(337, 427); - this.btnClose.Margin = new System.Windows.Forms.Padding(4); + this.btnClose.Location = new System.Drawing.Point(253, 347); this.btnClose.Name = "btnClose"; - this.btnClose.Size = new System.Drawing.Size(100, 28); + this.btnClose.Size = new System.Drawing.Size(75, 23); this.btnClose.TabIndex = 0; this.btnClose.Text = "Close"; this.btnClose.UseVisualStyleBackColor = true; // // pgConfig // - this.pgConfig.Location = new System.Drawing.Point(16, 15); - this.pgConfig.Margin = new System.Windows.Forms.Padding(4); + this.pgConfig.Location = new System.Drawing.Point(12, 12); this.pgConfig.Name = "pgConfig"; - this.pgConfig.Size = new System.Drawing.Size(421, 405); + this.pgConfig.Size = new System.Drawing.Size(316, 329); this.pgConfig.TabIndex = 1; // - // btnCancel - // - this.btnCancel.DialogResult = System.Windows.Forms.DialogResult.Cancel; - this.btnCancel.Location = new System.Drawing.Point(229, 427); - this.btnCancel.Margin = new System.Windows.Forms.Padding(4); - this.btnCancel.Name = "btnCancel"; - this.btnCancel.Size = new System.Drawing.Size(100, 28); - this.btnCancel.TabIndex = 0; - this.btnCancel.Text = "Cancel"; - this.btnCancel.UseVisualStyleBackColor = true; - // // ConfigDialog // - this.AutoScaleDimensions = new System.Drawing.SizeF(8F, 16F); + this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F); this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; - this.ClientSize = new System.Drawing.Size(449, 470); + this.ClientSize = new System.Drawing.Size(337, 382); this.Controls.Add(this.pgConfig); - this.Controls.Add(this.btnCancel); this.Controls.Add(this.btnClose); - this.Margin = new System.Windows.Forms.Padding(4); + this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedDialog; this.Name = "ConfigDialog"; this.Text = "Configuration Dialog"; this.ResumeLayout(false); @@ -82,6 +67,5 @@ private System.Windows.Forms.Button btnClose; private System.Windows.Forms.PropertyGrid pgConfig; - private System.Windows.Forms.Button btnCancel; } } \ No newline at end of file