Add delete commands to ManageUsersDisplay
This commit is contained in:
@@ -79,6 +79,19 @@ namespace Akari.Provider.WaveshareUART.Users
|
||||
return false;
|
||||
}
|
||||
|
||||
public bool Remove(IEnumerable<User> users)
|
||||
{
|
||||
foreach (var user in users)
|
||||
{
|
||||
if (!Remove(user))
|
||||
{
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
public bool Clear()
|
||||
{
|
||||
_users.Clear();
|
||||
|
||||
@@ -54,7 +54,7 @@ namespace Akari.Provider.WaveshareUART.Views
|
||||
};
|
||||
_listView.OpenSelectedItem += ListView_OpenSelectedItem;
|
||||
|
||||
_listView.SetSource(UsersManager.Users.ToList());
|
||||
UpdateList();
|
||||
|
||||
var addButton = new Button("_Add")
|
||||
{
|
||||
@@ -87,6 +87,13 @@ namespace Akari.Provider.WaveshareUART.Views
|
||||
win.Add(_listView, addButton, deleteButton, deleteAllButton, quitButton);
|
||||
}
|
||||
|
||||
private void UpdateList()
|
||||
{
|
||||
_listView.SetSource(UsersManager.Users.ToList());
|
||||
|
||||
_listView.SetFocus();
|
||||
}
|
||||
|
||||
private void ListView_OpenSelectedItem(ListViewItemEventArgs item)
|
||||
{
|
||||
|
||||
@@ -99,14 +106,32 @@ namespace Akari.Provider.WaveshareUART.Views
|
||||
|
||||
private void DeleteButton_Clicked()
|
||||
{
|
||||
var marked = UsersManager.Users.Where((item, index) => _listView.Source.IsMarked(index));
|
||||
var marked = UsersManager.Users.Where((_, index) => _listView.Source.IsMarked(index)).ToHashSet();
|
||||
|
||||
MessageBox.Query("Selected", string.Join(", ", marked), "Ok");
|
||||
if (UsersManager.Remove(marked))
|
||||
{
|
||||
MessageBox.Query("Delete Users", $"Successfully deleted {marked.Count} user{(marked.Count > 1 ? "s" : "")}", "Ok");
|
||||
}
|
||||
else
|
||||
{
|
||||
MessageBox.ErrorQuery("Delete Users", "Can't delete all selected users", "Ok");
|
||||
}
|
||||
|
||||
UpdateList();
|
||||
}
|
||||
|
||||
private void DeleteAllButton_Clicked()
|
||||
{
|
||||
if (UsersManager.Clear())
|
||||
{
|
||||
MessageBox.Query("Delete Users", $"Successfully deleted all users", "Ok");
|
||||
}
|
||||
else
|
||||
{
|
||||
MessageBox.Query("Delete Users", $"Can't delete all users", "Ok");
|
||||
}
|
||||
|
||||
UpdateList();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -208,6 +208,8 @@ namespace Akari.Provider.WaveshareUART.Views
|
||||
private void ManageUsersButton_Clicked()
|
||||
{
|
||||
Application.Run(new ManageUsersDisplay());
|
||||
|
||||
UpdateUserCount();
|
||||
}
|
||||
|
||||
private void ChangeConfig()
|
||||
|
||||
Reference in New Issue
Block a user