private async void PinFileAsync(FileObjectViewItem fileObjectViewItem) { // Show Uploading message and file for good UX base.SetProgressRing(uiPinPivotProgressRing, true); await this.Dispatcher.RunAsync(CoreDispatcherPriority.Normal, () => { fileObjectViewItem.SelectFileImage = FileObjectViewModel.ING_IMAGE_URI; }); try { string blobId = await this.CurrentSpot.AddFileObjectAsync(this.GetCloudStorageFileObjectById(fileObjectViewItem.Id)); await this.Dispatcher.RunAsync(CoreDispatcherPriority.Normal, () => { this.PickFileObjectViewModel.IsDataLoaded = false; fileObjectViewItem.SelectFileImage = FileObjectViewModel.CHECK_NOT_IMAGE_URI; }); } catch { fileObjectViewItem.SelectFileImage = FileObjectViewModel.FAIL_IMAGE_URI; } // Hide progress message base.SetProgressRing(uiPinPivotProgressRing, false); }
private async void LaunchFileAsync(FileObjectViewItem fileObjectViewItem) { // Show Downloading message base.SetProgressRing(uiFileListProgressRing, true); await this.Dispatcher.RunAsync(CoreDispatcherPriority.Normal, () => { fileObjectViewItem.SelectFileImage = FileObjectViewModel.DOWNLOAD_IMAGE_URI; fileObjectViewItem.SelectFileImagePress = false; }); try { // Download file and Launch files to other reader app. await this.CurrentSpot.PreviewFileObjectAsync(this.CurrentSpot.GetFileObject(fileObjectViewItem.Id)); await this.Dispatcher.RunAsync(CoreDispatcherPriority.Normal, () => { fileObjectViewItem.SelectFileImagePress = true; }); } catch { fileObjectViewItem.SelectFileImage = FileObjectViewModel.FAIL_IMAGE_URI; } // Hide Progress Indicator base.SetProgressRing(uiFileListProgressRing, false); }
private async void DeleteFileAsync(FileObjectViewItem fileObjectViewItem) { // Show Deleting message base.SetProgressRing(uiPickPivotFileListProgressRing, true); await this.Dispatcher.RunAsync(CoreDispatcherPriority.Normal, () => { fileObjectViewItem.SelectFileImage = FileObjectViewModel.ING_IMAGE_URI; }); // Delete try { await App.BlobStorageManager.DeleteFileAsync(fileObjectViewItem.Id); await this.Dispatcher.RunAsync(CoreDispatcherPriority.Normal, () => { this.PickFileObjectViewModel.Items.Remove(fileObjectViewItem); if (this.PickFileObjectViewModel.Items.Count < 1) { uiPickFileListEditViewButton.Visibility = Visibility.Collapsed; uiPickFileList.Visibility = Visibility.Collapsed; uiPickFileListMessage.Text = AppResources.NoFileInSpotMessage; uiPickFileListMessage.Visibility = Visibility.Visible; } }); } catch { fileObjectViewItem.SelectFileImage = FileObjectViewModel.FAIL_IMAGE_URI; } // Hide Progress Indicator base.SetProgressRing(uiPickPivotFileListProgressRing, false); }
// Pin file selection event. private void uiPinFileList_ItemClick(object sender, Windows.UI.Xaml.Controls.ItemClickEventArgs e) { // Get Selected File Obejct FileObjectViewItem fileObjectViewItem = e.ClickedItem as FileObjectViewItem; // If user select folder, go in. // Otherwise, add it to list. if (fileObjectViewItem.ThumnailType.Equals(FileObjectViewModel.FOLDER)) // If folder, get files it the folder { this.SetPinFileListAsync(Switcher.GetCurrentStorage(), AppResources.Loading, fileObjectViewItem); } else // If file, Do selection { if (fileObjectViewItem.SelectFileImage.Equals(FileObjectViewModel.CHECK_NOT_IMAGE_URI)) { this.PinSelectedFileList.Add(fileObjectViewItem); fileObjectViewItem.SelectFileImage = FileObjectViewModel.CHECK_IMAGE_URI; this.uiPinAppBarButton.IsEnabled = true; } else if (fileObjectViewItem.SelectFileImage.Equals(FileObjectViewModel.CHECK_IMAGE_URI)) { this.PinSelectedFileList.Remove(fileObjectViewItem); fileObjectViewItem.SelectFileImage = FileObjectViewModel.CHECK_NOT_IMAGE_URI; if (this.PinSelectedFileList.Count < 1) { this.uiPinAppBarButton.IsEnabled = false; } } } }
private void uiFileListView_ItemClick(object sender, Windows.UI.Xaml.Controls.ItemClickEventArgs e) { // Get Selected File Obejct FileObjectViewItem fileObjectViewItem = e.ClickedItem as FileObjectViewItem; // Launch files to other reader app. if (NetworkInterface.GetIsNetworkAvailable()) { this.LaunchFileAsync(fileObjectViewItem); } else { base.ShowMessageDialog(AppResources.InternetUnavailableMessage, OK_MODE); } }
private void uiPickFileList_ItemClick(object sender, Windows.UI.Xaml.Controls.ItemClickEventArgs e) { // Get Selected File Obejct FileObjectViewItem fileObjectViewItem = e.ClickedItem as FileObjectViewItem; // If it is view mode, click is preview. // If it is edit mode, click is selection. BitmapImage currentEditViewModeBitmapImage = (BitmapImage)uiPickFileListEditViewButtonImage.Source; string currentEditViewMode = currentEditViewModeBitmapImage.UriSource.ToString(); if (currentEditViewMode.Equals(EDIT_IMAGE_URI)) // View mode { if (fileObjectViewItem.SelectFileImage.Equals(FileObjectViewModel.DOWNLOAD_IMAGE_URI)) { // Launch files to other reader app. if (NetworkInterface.GetIsNetworkAvailable()) { this.LaunchFileAsync(fileObjectViewItem); } else { base.ShowMessageDialog(AppResources.InternetUnavailableMessage, OK_MODE); } } } else if (currentEditViewMode.Equals(VIEW_IMAGE_URI)) // Edit mode { if (fileObjectViewItem.SelectFileImage.Equals(FileObjectViewModel.CHECK_NOT_IMAGE_URI)) { this.PickSelectedFileList.Add(fileObjectViewItem); fileObjectViewItem.SelectFileImage = FileObjectViewModel.CHECK_IMAGE_URI; uiPickDeleteAppBarButton.IsEnabled = true; } else if (fileObjectViewItem.SelectFileImage.Equals(FileObjectViewModel.CHECK_IMAGE_URI)) { this.PickSelectedFileList.Remove(fileObjectViewItem); fileObjectViewItem.SelectFileImage = FileObjectViewModel.CHECK_NOT_IMAGE_URI; if (this.PickSelectedFileList.Count < 1) { uiPickDeleteAppBarButton.IsEnabled = false; } } } }
private async void PickFileAsync(IStorageManager storageManager, FileObjectViewItem fileObjectViewItem) { // Show Downloading message base.SetProgressRing(uiPickPivotFileListProgressRing, true); await this.Dispatcher.RunAsync(CoreDispatcherPriority.Normal, () => { fileObjectViewItem.SelectFileImage = FileObjectViewModel.ING_IMAGE_URI; fileObjectViewItem.SelectFileImagePress = false; }); try { // Download await TaskHelper.WaitSignInTask(storageManager.GetStorageName()); await this.CurrentSpot.DownloadFileObjectAsync(storageManager, this.CurrentSpot.GetFileObject(fileObjectViewItem.Id)); await this.Dispatcher.RunAsync(CoreDispatcherPriority.Normal, () => { this.PinFileObjectViewModel.IsDataLoaded = false; BitmapImage currentEditViewModeBitmapImage = (BitmapImage)uiPickFileListEditViewButtonImage.Source; string currentEditViewMode = currentEditViewModeBitmapImage.UriSource.ToString(); if (currentEditViewMode.Equals(EDIT_IMAGE_URI)) // View Mode { fileObjectViewItem.SelectFileImage = FileObjectViewModel.DOWNLOAD_IMAGE_URI; fileObjectViewItem.SelectFileImagePress = true; } else if (currentEditViewMode.Equals(VIEW_IMAGE_URI)) // Edit Mode { fileObjectViewItem.SelectFileImage = FileObjectViewModel.CHECK_NOT_IMAGE_URI; } }); } catch { fileObjectViewItem.SelectFileImage = FileObjectViewModel.FAIL_IMAGE_URI; } // Hide Progress Indicator base.SetProgressRing(uiPickPivotFileListProgressRing, false); }
private async void SetPinFileListAsync(IStorageManager iStorageManager, string message, FileObjectViewItem folder) { // Set Mutex true and Show Process Indicator // Clear selected file and set pin button false. base.SetProgressRing(uiFileListProgressRing, true); await this.Dispatcher.RunAsync(CoreDispatcherPriority.Normal, () => { uiPinFileListGridView.Visibility = Visibility.Collapsed; uiPinFileMessage.Text = message; uiPinFileMessage.Visibility = Visibility.Visible; }); this.PinSelectedFileList.Clear(); try { // Wait Signin and Sync task await TaskHelper.WaitSignInTask(iStorageManager.GetStorageName()); await TaskHelper.WaitTask(TaskHelper.STORAGE_EXPLORER_SYNC + Switcher.GetCurrentStorage().GetStorageName()); // Get files from current folder in the cloud. // If it is not null, set items. // Otherwise, show message if (folder == null) { this.CurrentFileObjectList = StorageExplorer.GetFilesFromRootFolder(); } else { this.CurrentFileObjectList = StorageExplorer.GetTreeForFolder(this.GetCloudStorageFileObjectById(folder.Id)); } if (this.CurrentFileObjectList != null) { // If didn't change cloud mode while loading, set it to list. // Set file list visible and current path. await this.Dispatcher.RunAsync(CoreDispatcherPriority.Normal, () => { this.PinFileObjectViewModel.IsDataLoaded = true; uiPinFileListGridView.Visibility = Visibility.Visible; uiPinFileCurrentPath.Text = StorageExplorer.GetCurrentPath(); this.PinFileObjectViewModel.SetItems(this.CurrentFileObjectList, true); }); // If there exists file, show it. // Otherwise, show no file message. if (this.CurrentFileObjectList.Count > 0) { await this.Dispatcher.RunAsync(CoreDispatcherPriority.Normal, () => { uiPinFileMessage.Visibility = Visibility.Collapsed; }); } else { await this.Dispatcher.RunAsync(CoreDispatcherPriority.Normal, () => { uiPinFileMessage.Text = AppResources.NoFileInFolderMessage; }); } } else { await this.Dispatcher.RunAsync(CoreDispatcherPriority.Normal, () => { uiPinFileListGridView.Visibility = Visibility.Collapsed; uiPinFileMessage.Text = AppResources.BadLoadingFileMessage; uiPinFileMessage.Visibility = Visibility.Visible; }); } } catch { uiPinFileListGridView.Visibility = Visibility.Collapsed; uiPinFileMessage.Text = AppResources.BadLoadingFileMessage; uiPinFileMessage.Visibility = Visibility.Visible; } base.SetProgressRing(uiFileListProgressRing, false); }