예제 #1
0
        private async void DeleteAppBarButton_Click(object sender, RoutedEventArgs e)
        {
            LoadingRing.Visibility = Visibility.Visible;
            GridView collectionGridView = VisualTreeHelperExtensions.GetFirstDescendantOfType <GridView>(CollectionsHubSection);

            foreach (CollectionView collectionView in collectionGridView.SelectedItems)
            {
                CollectionTile collectionTile = collectionView.Tile;
                CollectionTiles.Remove(collectionTile);
                CollectionViews.Remove(collectionView);
                StorageFolder localFolder       = Windows.Storage.ApplicationData.Current.LocalFolder;
                StorageFolder collectionsFolder = (StorageFolder)await localFolder.TryGetItemAsync("Collections");

                if (null != collectionsFolder)
                {
                    StorageFolder collectionFolder = await collectionsFolder.TryGetItemAsync(collectionTile.Title) as StorageFolder;

                    await collectionFolder.DeleteAsync();
                }
            }

            GridView recentlyOpenedGridView = VisualTreeHelperExtensions.GetFirstDescendantOfType <GridView>(RecentlyOpenedHubSection);

            foreach (ComicTile comicTile in recentlyOpenedGridView.SelectedItems)
            {
                ComicTiles.Remove(comicTile);
                await comicTile.Folder.DeleteAsync();
            }
            LoadingRing.Visibility = Visibility.Collapsed;
        }
예제 #2
0
        private async void OpenComicCollection(StorageFolder chosenFolder, StorageFolder collections)
        {
            LoadingGridVisible(true);
            List <StorageFile> files = await RecursivelySearchForFiles(chosenFolder);

            StorageFolder collectionFolder = (StorageFolder)await collections.TryGetItemAsync(chosenFolder.Name);

            if (collectionFolder == null)
            {
                collectionFolder = await collections.CreateFolderAsync(chosenFolder.Name);
            }
            else
            {
                ShowWarning("Collection already exist!", "Adding new comics");
            }

            foreach (StorageFile sourceFile in files)
            {
                StorageFolder destFolder = (StorageFolder)await collectionFolder.TryGetItemAsync(sourceFile.Name);

                if (destFolder == null)
                {
                    destFolder = await collectionFolder.CreateFolderAsync(sourceFile.Name);

                    try
                    {
                        DefaultViewModel["LoadingFile"] = sourceFile.Name;
                        if (sourceFile.FileType.Equals("cbz") || sourceFile.FileType.Equals(".cbz"))
                        {
                            await FolderZip.UnZipFile(sourceFile, destFolder);
                        }
                        else if (sourceFile.FileType.Equals("cbr") || sourceFile.FileType.Equals(".cbr"))
                        {
                            await FolderZip.UnRarFile(sourceFile, destFolder);
                        }
                    }
                    catch (InvalidFormatException exception)
                    {
                        ShowWarning("Error opening file:" + sourceFile.Name, "Please try again");
                    }
                }
                LoadingBar.Value += (1.0 / files.Count()) * 100;
            }

            await CreateCollectionTiles();

            CollectionViews.Clear();
            foreach (CollectionTile tile in CollectionTiles)
            {
                CollectionViews.Add(new CollectionView(tile));
            }
            defaultViewModel["ComicTiles"]      = ComicTiles;
            defaultViewModel["CollectionViews"] = CollectionViews;
            LoadingGridVisible(false);
        }
예제 #3
0
        protected async override void OnNavigatedTo(NavigationEventArgs e)
        {
            LoadingRing.Visibility = Visibility.Visible;
            await CreateComicTiles();
            await CreateCollectionTiles();

            foreach (CollectionTile tile in CollectionTiles)
            {
                CollectionViews.Add(new CollectionView(tile));
            }
            defaultViewModel["ComicTiles"]      = ComicTiles;
            defaultViewModel["CollectionViews"] = CollectionViews;
            LoadingRing.Visibility = Visibility.Collapsed;
        }