private async void AppBarButton_Click_AddLocalDirectory(object sender, RoutedEventArgs e)
        {
            var picker = new Windows.Storage.Pickers.FolderPicker();

            foreach (var ext in Books.BookManager.AvailableExtensionsArchive)
            {
                picker.FileTypeFilter.Add(ext);
            }
            var folder = await picker.PickSingleFolderAsync();

            if (folder != null)
            {
                var rl = new Windows.ApplicationModel.Resources.ResourceLoader();

                var dialog = new Windows.UI.Popups.MessageDialog(rl.GetString("LoadingFolder/Started/Message"), rl.GetString("LoadingFolder/Title"));
                await dialog.ShowAsync();

                var storage = await BookShelfStorage.GetBookShelves();

                CurrentOperationCount++;
                storage.Add(BookShelfStorage.GetFlatBookShelf(await BookShelfStorage.GetFromStorageFolder(folder)));
                CurrentOperationCount--;
                Refresh();
                if (BookShelfList.Items != null)
                {
                    BookShelfList.SelectedIndex = BookShelfList.Items.Count - 1;
                }

                dialog = new Windows.UI.Popups.MessageDialog(rl.GetString("LoadingFolder/Completed/Message"), rl.GetString("LoadingFolder/Title"));
                await dialog.ShowAsync();
            }
            await BookShelfStorage.SaveAsync();
        }
        private async void AppBarButton_Click_SetThisBookShelfSecret(object sender, RoutedEventArgs e)
        {
            var bs = (await GetCurrentBookShelf());

            if (bs != null)
            {
                bs.Secret = !bs.Secret;
                await BookShelfStorage.SaveAsync();
            }
        }
Exemplo n.º 3
0
        /// <summary>
        /// アプリケーションの実行が中断されたときに呼び出されます。
        /// アプリケーションが終了されるか、メモリの内容がそのままで再開されるかに
        /// かかわらず、アプリケーションの状態が保存されます。
        /// </summary>
        /// <param name="sender">中断要求の送信元。</param>
        /// <param name="e">中断要求の詳細。</param>
        private async void OnSuspending(object sender, SuspendingEventArgs e)
        {
            var deferral = e.SuspendingOperation.GetDeferral();

            await BookInfoStorage.SaveAsync();

            await BookShelfStorage.SaveAsync();

            //TODO: アプリケーションの状態を保存してバックグラウンドの動作があれば停止します
            deferral.Complete();
        }
        private async void AppBarButton_Click_AppBarButton_Click_ClearBookShelfStorageSingle(object sender, RoutedEventArgs e)
        {
            var storage = await BookShelfStorage.GetBookShelves();

            if (storage.Count > 0 && BookShelfList.SelectedIndex > -1)
            {
                storage.RemoveAt(await GetActualCurrentIndex());
                await BookShelfStorage.SaveAsync();
            }
            Refresh();
        }
 private async void AppBarButton_Click_ClearBookShelfStorage(object sender, RoutedEventArgs e)
 {
     BookShelfStorage.Clear();
     Refresh();
     await BookShelfStorage.SaveAsync();
 }