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");
            }
        }
Beispiel #2
0
        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;
            }
        }