private void ConfirmButton_Click(object sender, RoutedEventArgs e) { if (NameText == null) { return; } var bookmark = new BookmarkNode { IsFolder = false, Name = NameText, URL = AppCore.CurrentURL, Children = new ObservableCollection <BookmarkNode>() }; var parent = Tree.SelectedItem; if (parent == null) { Bookmarks.Add(bookmark); } else { ((BookmarkNode)parent).Children.Add(bookmark); } WriteBookmarks(); }
protected ObservableCollection <BookmarkNode> FindParent(BookmarkNode node, ObservableCollection <BookmarkNode> root) { foreach (var n in root) { if (n == node) { return(root); } var p = FindParent(node, n.Children); if (p != null) { return(p); } } return(null); }
private async void CreateNewFolder() { var dialog = new TextInputDialog(LocalizationHelper.Localize("Folder name")); var result = await dialog.ShowAsync(); if (result == ContentDialogResult.Primary) { var bookmark = new BookmarkNode { IsFolder = true, Name = dialog.Text, Children = new ObservableCollection <BookmarkNode>() }; Bookmarks.Add(bookmark); WriteBookmarks(); } }
private async void RenameItem(BookmarkNode bookmark) { var dialog = new TextInputDialog(LocalizationHelper.Localize("New name")); var result = await dialog.ShowAsync(); if (result == ContentDialogResult.Primary) { var parent = FindParent(bookmark, Bookmarks); if (parent != null) { for (int i = 0; i < parent.Count; i++) { if (parent[i] == bookmark) { bookmark.Name = dialog.Text; parent[i] = bookmark; WriteBookmarks(); } } } } }