提交 fbb07820 authored 作者: Mitch Capper's avatar Mitch Capper

Added option to delete contacts

上级 a7d96a39
...@@ -23,6 +23,12 @@ namespace FSClient ...@@ -23,6 +23,12 @@ namespace FSClient
{ {
return number; return number;
} }
protected virtual void DeleteNumber(string number){
number_to_alias.Remove(number);
}
protected virtual bool CanDeleteContact(){
return true;
}
protected virtual string IsValidAlias(String str)//return null to abort updating, otherwire return string protected virtual string IsValidAlias(String str)//return null to abort updating, otherwire return string
{ {
return str; return str;
...@@ -49,14 +55,34 @@ namespace FSClient ...@@ -49,14 +55,34 @@ namespace FSClient
MenuItem item = new MenuItem(); MenuItem item = new MenuItem();
item.Click += item_Click; item.Click += item_Click;
item.Header = "Edit Contact"; item.Header = "Edit Contact";
items.Add(item); items.Add(item);
if (CanDeleteContact()){
item = new MenuItem();
item.Click += delete_item_click;
item.Header = "Delete Contact";
items.Add(item);
}
item = new MenuItem(); item = new MenuItem();
item.Click +=contact_call_click; item.Click +=contact_call_click;
item.Header = "Call"; item.Header = "Call";
items.Add(item); items.Add(item);
return items; return items;
} }
private void delete_item_click(object sender, RoutedEventArgs e){
MenuItem item = sender as MenuItem;
if (item == null)
return;
SearchAutoCompleteEntry entry = item.DataContext as SearchAutoCompleteEntry ?? search_box.SelectedItem as SearchAutoCompleteEntry;
if (entry == null)
return;
String number = entry.number;
number = NormalizeNumber(number);
DeleteNumber(number);
refresh_search_box();
}
private void contact_call_click(object sender, RoutedEventArgs e){ private void contact_call_click(object sender, RoutedEventArgs e){
MenuItem item = sender as MenuItem; MenuItem item = sender as MenuItem;
if (item == null) if (item == null)
......
...@@ -88,6 +88,10 @@ namespace SimpleXmlContactPlugin { ...@@ -88,6 +88,10 @@ namespace SimpleXmlContactPlugin {
protected override void UpdateDatabase(string number, string alias){ protected override void UpdateDatabase(string number, string alias){
SaveDatabase(); SaveDatabase();
}
protected override void DeleteNumber(string number) {
base.DeleteNumber(number);
SaveDatabase();
} }
} }
......
Markdown 格式
0% 或
您添加了 0 人 到此讨论。请谨慎行事。
请先完成此评论的编辑!
请 注册 或者 后发表评论