public void ChangeMenu(OfflineFolderViewModel currentFolderViewModel, IList iconButtons, IList menuItems) { switch (currentFolderViewModel.CurrentDisplayMode) { case DriveDisplayMode.SavedForOffline: { this.TranslateAppBarItems( iconButtons.Cast <ApplicationBarIconButton>().ToList(), menuItems.Cast <ApplicationBarMenuItem>().ToList(), null, new[] { UiResources.Refresh, UiResources.Sort, UiResources.MultiSelect }); break; } case DriveDisplayMode.MultiSelect: { this.TranslateAppBarItems( iconButtons.Cast <ApplicationBarIconButton>().ToList(), menuItems.Cast <ApplicationBarMenuItem>().ToList(), new[] { UiResources.Share, UiResources.Remove }, new[] { UiResources.SelectAll, UiResources.DeselectAll, UiResources.Cancel }); break; } default: throw new ArgumentOutOfRangeException("currentFolderViewModel"); } }
public void Create(OfflineFolderViewModel folder) { this.Items.Clear(); // Top root nodes have no breadcrumbs if (folder.FolderRootNode == null || FolderService.IsOfflineRootFolder(folder.FolderRootNode.NodePath)) { return; } this.Items.Add(folder.FolderRootNode); DirectoryInfo parentNode = (new DirectoryInfo(folder.FolderRootNode.NodePath)).Parent; while (parentNode != null && !FolderService.IsOfflineRootFolder(parentNode.FullName)) { this.Items.Insert(0, new OfflineFolderNodeViewModel(parentNode, folder)); parentNode = (new DirectoryInfo(parentNode.FullName)).Parent; } }