123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129 |
- using Microsoft.Win32;
- using PDF_Office.Model.CloudDrive;
- using PDF_Office.ViewModels.HomePanel.CloudDrive;
- using PDF_Office.ViewModels.HomePanel.CloudDrive.CloudDriveType;
- using System;
- using System.Collections.Generic;
- using System.Collections.ObjectModel;
- using System.Linq;
- using System.Text;
- using System.Threading.Tasks;
- using System.Windows;
- using System.Windows.Controls;
- using System.Windows.Data;
- using System.Windows.Documents;
- using System.Windows.Input;
- using System.Windows.Media;
- using System.Windows.Media.Imaging;
- using System.Windows.Navigation;
- using System.Windows.Shapes;
- namespace PDF_Office.Views.HomePanel.CloudDrive
- {
- /// <summary>
- /// CloudFilesContent.xaml 的交互逻辑
- /// </summary>
- public partial class CloudFilesContent : UserControl
- {
-
- private CloudFilesContentViewModel ViewModel => DataContext as CloudFilesContentViewModel;
- private List<CloudDriveItem> CloudeDrives = new List<CloudDriveItem>();
- private CloudType cloudType;
- public CloudFilesContent()
- {
- InitializeComponent();
- InitCloudDrive();
- this.Loaded += usercontrol_Loaded;
- }
- private void InitCloudDrive()
- {
- var cloudDriveItem = new CloudDriveItem(CloudType.Box);
- CloudeDrives.Add(cloudDriveItem);
- cloudDriveItem = new CloudDriveItem(CloudType.DropBox);
- CloudeDrives.Add(cloudDriveItem);
- cloudDriveItem = new CloudDriveItem(CloudType.GoogleDrive);
- CloudeDrives.Add(cloudDriveItem);
- cloudDriveItem = new CloudDriveItem(CloudType.OneDrive);
- CloudeDrives.Add(cloudDriveItem);
- combCloudDisk.ItemsSource = CloudeDrives;
- combCloudDisk.SelectedIndex = 0;
- }
- private void usercontrol_Loaded(object sender, RoutedEventArgs e)
- {
- if(ViewModel != null)
- {
- ViewModel.CheckDriveUsers();
- if (Listusers.ItemsSource == null)
- Listusers.ItemsSource = CloudFilesContentViewModel.CloudFileUserLists;
- }
- }
- public void SelectCloudTye(CloudType cloudType)
- {
- switch (cloudType)
- {
- case CloudType.GoogleDrive:
- cloudType = CloudType.GoogleDrive;
- break;
- }
- }
- private void Button_Click(object sender, RoutedEventArgs e)
- {
- // SelectCloudTye(CloudType.GoogleDrive);
- }
- private CloudFileUser CurrentUser;
-
- private async void Listusers_SelectionChanged(object sender, SelectionChangedEventArgs e)
- {
- var cloudFileUser = Listusers.SelectedItem as CloudFileUser;
- if(cloudFileUser != null)
- {
- CurrentUser = cloudFileUser;
- if ((CurrentUser.driveItem as GoogleDriveUserItem) != null)
- {
- var item = CurrentUser.driveItem as GoogleDriveUserItem;
- var files = await item.GetDriveFiles(item.Service);
- ObservableCollection<GoogleDriveFiles> filesList = new ObservableCollection<GoogleDriveFiles>();
- foreach (var file in files)
- {
- if(file.Name.EndsWith(".pdf") == true)
- {
- filesList.Add(file);
- }
- }
- ListvmFiles.ItemsSource = filesList;
- }
- }
- }
- private async void OpenDocMenuItem_Click(object sender, RoutedEventArgs e)
- {
- var menuItem = sender as MenuItem;
- var item = menuItem.DataContext as GoogleDriveFiles;
- var googleItem = CurrentUser.driveItem as GoogleDriveUserItem;
- string docPath = Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments);
- var filename = await googleItem.DownloadGoogleFile(item, docPath);
- if (filename != null)
- {
- string[] filePaths = { filename };
- await Task.Delay(3);
- MainWindow parentWindow = Window.GetWindow(this) as MainWindow;
- parentWindow.LoadPdfViewer(filePaths);
- }
- }
- }
- }
|