* 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>
This commit is contained in:
2025-05-31 15:55:52 +07:00
parent 76398ae2c4
commit 8392f0c273
5 changed files with 23 additions and 39 deletions

View File

@@ -1,7 +1,6 @@
using System; using System;
using System.Collections.Generic; using System.Collections.Generic;
using System.Linq; using System.Linq;
using System.Text;
namespace vCardEditor.Model namespace vCardEditor.Model
{ {
@@ -17,7 +16,7 @@ namespace vCardEditor.Model
set { _size = value; } set { _size = value; }
} }
public FixedList() : this(5) { } public FixedList() { }
public FixedList(int size) public FixedList(int size)
{ {

View File

@@ -211,7 +211,7 @@ namespace VCFEditor.Presenter
var contact = _repository.Contacts[_view.SelectedContactIndex]; var contact = _repository.Contacts[_view.SelectedContactIndex];
_repository.SetDirtyFlag(_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<List<vCardDeliveryAddressTypes>> e) private void AddressModifiedHandler(object sender, EventArg<List<vCardDeliveryAddressTypes>> e)
@@ -274,7 +274,7 @@ namespace VCFEditor.Presenter
void CloseFormHandler(object sender, EventArg<bool> e) void CloseFormHandler(object sender, EventArg<bool> e)
{ {
if (_repository.dirty && _view.AskMessage("Exit without saving?", "Exit")) if (_repository.dirty && !_view.AskMessage("Exit without saving?", "Exit"))
e.Data = true; e.Data = true;
if (!e.Data) if (!e.Data)
@@ -347,7 +347,7 @@ namespace VCFEditor.Presenter
{ {
if (_repository.Contacts != null && _repository.dirty) 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); SaveContactsHandler(null, null);
//_repository.SaveContactsToFile(_repository.fileName); //_repository.SaveContactsToFile(_repository.fileName);
} }

View File

@@ -148,7 +148,6 @@ namespace VCFEditor.Repository
//Clean the flag for every contact, even the deleted ones. //Clean the flag for every contact, even the deleted ones.
entry.isDirty = false; entry.isDirty = false;
} }
_dirty = false; _dirty = false;
_fileHandler.WriteAllText(fileName, sb.ToString()); _fileHandler.WriteAllText(fileName, sb.ToString());
@@ -272,7 +271,6 @@ namespace VCFEditor.Repository
card.Phones.GetFirstChoice(vCardPhoneTypes.Home).FullNumber = string.Empty; card.Phones.GetFirstChoice(vCardPhoneTypes.Home).FullNumber = string.Empty;
} }
//Cellular //Cellular
if (NewCard.Phones.GetFirstChoice(vCardPhoneTypes.Cellular) != null) if (NewCard.Phones.GetFirstChoice(vCardPhoneTypes.Cellular) != null)
{ {
@@ -323,7 +321,6 @@ namespace VCFEditor.Repository
private void SaveWebUrl(vCard NewCard, vCard card) private void SaveWebUrl(vCard NewCard, vCard card)
{ {
if (NewCard.Websites.GetFirstChoice(vCardWebsiteTypes.Personal) != null) if (NewCard.Websites.GetFirstChoice(vCardWebsiteTypes.Personal) != null)
{ {
if (card.Websites.GetFirstChoice(vCardWebsiteTypes.Personal) != null) if (card.Websites.GetFirstChoice(vCardWebsiteTypes.Personal) != null)

View File

@@ -11,9 +11,9 @@ namespace vCardEditor.View.Customs
public ExtendedPanel() public ExtendedPanel()
{ {
InitializeComponent(); InitializeComponent();
miCell.Click += MenuItemClickHandlers;
miCell.Tag = new vCardPhone(string.Empty, vCardPhoneTypes.Cellular); miCell.Tag = new vCardPhone(string.Empty, vCardPhoneTypes.Cellular);
miCell.Click += MenuItemClickHandlers;
miHome.Tag = new vCardPhone(string.Empty, vCardPhoneTypes.Home); miHome.Tag = new vCardPhone(string.Empty, vCardPhoneTypes.Home);
miHome.Click += MenuItemClickHandlers; miHome.Click += MenuItemClickHandlers;
@@ -46,6 +46,7 @@ namespace vCardEditor.View.Customs
} }
public PanelType panelType { get; set; } public PanelType panelType { get; set; }
private void MenuItemClickHandlers(object sender, EventArgs e) private void MenuItemClickHandlers(object sender, EventArgs e)
{ {
object tag = (sender as ToolStripMenuItem).Tag; 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) if (MessageBox.Show("Are you sure?", "Question", MessageBoxButtons.YesNo) == DialogResult.Yes)
{ {
var par = (sender as Control).Parent; PanelContent.Controls.Remove((sender as Control).Parent);
PanelContent.Controls.Remove(par); for (int i = 0; i < PanelContent.Controls.Count; i++)
{
ReplaceControls(); PanelContent.Controls[i].Location = new Point(5, (i * 30) + 10);
}
CardInfoRemoved?.Invoke(sender, e); 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() private Point GetCoordinatesForNewControl()
{ {
Point pt; Point pt;
if (PanelContent.Controls.Count > 0) if (PanelContent.Controls.Count > 0)
{ {
Control LastControl = PanelContent.Controls[PanelContent.Controls.Count - 1]; pt = PanelContent.Controls[PanelContent.Controls.Count - 1].Location;
pt = LastControl.Location;
pt.Y += 30; pt.Y += 30;
} }
else else
pt = new Point(5, 10); pt = new Point(5, 10);
return pt; return pt;
} }
} }

View File

@@ -194,17 +194,19 @@ namespace vCardEditor.View
public void AddExtraTextGroup(vCardPropeties type, string content) public void AddExtraTextGroup(vCardPropeties type, string content)
{ {
ExtraTextGroup etg = new ExtraTextGroup(); ExtraTextGroup etg = new ExtraTextGroup
etg.Content = content; {
etg.Caption = type.ToString() + " :"; Content = content,
etg.CardProp = type; Caption = type.ToString() + ":",
CardProp = type,
Dock = DockStyle.Top
};
etg.TextChangedEvent += (sender, e) => TextBoxValueChanged?.Invoke(sender, e); etg.TextChangedEvent += (sender, e) => TextBoxValueChanged?.Invoke(sender, e);
etg.ControlDeleted += (sender, e) => etg.ControlDeleted += (sender, e) =>
{ {
Control send = sender as Control; if (AskMessage("Are you sure?", "Question"))
panelTabExtra.Controls.Remove(send.Parent); panelTabExtra.Controls.Remove((sender as Control).Parent);
}; };
etg.Dock = DockStyle.Top;
panelTabExtra.Controls.Add(etg); panelTabExtra.Controls.Add(etg);
} }
@@ -418,14 +420,8 @@ namespace vCardEditor.View
public bool AskMessage(string msg, string caption) public bool AskMessage(string msg, string caption)
{ {
bool result = true; // true == yes
DialogResult window = MessageBox.Show(msg, caption, MessageBoxButtons.YesNo); DialogResult window = MessageBox.Show(msg, caption, MessageBoxButtons.YesNo);
return window == DialogResult.Yes;
if (window != DialogResult.No)
result = false;
return result;
} }
private void miConfig_Click(object sender, EventArgs e) private void miConfig_Click(object sender, EventArgs e)