Implement resource searching and directory items.

This commit is contained in:
2023-11-29 22:22:57 +08:00
parent aebce25f3b
commit 8af5e772d6
3 changed files with 51 additions and 16 deletions

View File

@@ -99,18 +99,34 @@ namespace Cryville.Crtr.Browsing.UI {
}
public override void OnItemClicked(int id) {
foreach (var item in _selectedItems) _items[item].OnDeselect();
_selectedItems.Clear();
_items[id].OnSelect();
_selectedItems.Add(id);
var res = _manager[id];
m_detailPanel.Load(res);
m_actionBar.Load(this, Master.Actions.GetActions(res.GetType()).Except(_importActionArray));
if (_manager.IsDirectory(id)) {
_manager.OpenDirectory(id);
}
else {
foreach (var item in _selectedItems) _items[item].OnDeselect();
_selectedItems.Clear();
_items[id].OnSelect();
_selectedItems.Add(id);
var res = _manager[id];
m_detailPanel.Load(res);
m_actionBar.Load(this, Master.Actions.GetActions(res.GetType()).Except(_importActionArray));
}
}
public void OnPathClicked(int index) {
_manager.ReturnToDirectory(index);
}
public void OnHomeClicked() {
_manager.ChangeDirectory(Enumerable.Empty<string>());
}
public void OnParentClicked() {
var depth = _manager.CurrentDirectory.Count;
if (depth <= 0) return;
_manager.ReturnToDirectory(_manager.CurrentDirectory.Count - 2);
}
public void OnSearch(string value) {
_manager.ApplyFilter(value);
}
public void OnDeleteClicked() {
if (_selectedItems.Count == 0) {