예제 #1
0
        public override void Download(String dirPath)
        {
            String downloadFolder = String.Format("{0}//{1}", dirPath, Name);

            if (!Directory.Exists(downloadFolder))
            {
                Directory.CreateDirectory(downloadFolder);
            }
            IDictionary <String, String> elements = CloudWorker.GetChildElements(ID);

            foreach (KeyValuePair <String, String> keys in elements)
            {
                if (CloudWorker.IsFile(keys.Key))
                {
                    File file = new File()
                    {
                        ID = keys.Key, CloudWorker = CloudWorker, Name = keys.Value
                    };
                    file.Download(downloadFolder);
                }
                //DownloadFile(keys.Key, downloadFolder);
                else
                {
                    Folder folder = new Folder()
                    {
                        ID = keys.Key, CloudWorker = CloudWorker, Name = keys.Value
                    };
                    folder.Download(downloadFolder);
                    //DownloadFolder(keys.Key, downloadFolder, keys.Value);
                }
            }
        }
예제 #2
0
        private Popup CreateRightClickPopup()
        {
            Popup popup = new Popup()
            {
                Margin = new Thickness(10, 0, 0, 13),
                HorizontalAlignment = HorizontalAlignment.Center,
                VerticalAlignment   = VerticalAlignment.Center,
                Width     = 150,
                Height    = 150,
                IsOpen    = false,
                Placement = PlacementMode.Center
            };
            var point = Mouse.GetPosition(Application.Current.MainWindow);

            popup.HorizontalOffset = point.X;
            popup.VerticalOffset   = point.Y;
            Grid    grid     = new Grid();
            TextBox textBox  = new TextBox();
            Button  download = new Button()
            {
                Content = "Download"
            };

            //todo after actions update the grid
            download.Click += ((Object sender, RoutedEventArgs e) =>
            {
                popup.IsOpen = false;
                Element element = null;
                Button actualButton = sender as Button;
                using (var dialog = new System.Windows.Forms.FolderBrowserDialog())
                {
                    System.Windows.Forms.DialogResult result = dialog.ShowDialog();
                    String id = CloudsWorker.GetId(lastRightClickedButton);
                    element = !CloudWorker.IsFile(id) ?
                              element = new Folder()
                    {
                        ID = id, CloudWorker = this.CloudWorker, Name = lastRightClickedButton.Content as String
                    } :
                    element = new File()
                    {
                        ID = id, CloudWorker = this.CloudWorker, Name = lastRightClickedButton.Content as String
                    };
                    element.Download(dialog.SelectedPath);
                }
            });
            Button moveToOtherCloud = new Button()
            {
                Content = "Move to another cloud"
            };

            moveToOtherCloud.Click += ((Object sender, RoutedEventArgs e) =>
            {
                popup.IsOpen = false;
            });
            Button share = new Button()
            {
                Content = "Share"
            };

            share.Click += ((Object sender, RoutedEventArgs e) =>
            {
                popup.IsOpen = false;
            });
            Button rename = new Button()
            {
                Content = "Rename"
            };

            rename.Click += ((Object sender, RoutedEventArgs e) =>
            {
                popup.IsOpen = false;
            });
            Button delete = new Button()
            {
                Content = "Delete"
            };

            delete.Click += ((Object sender, RoutedEventArgs e) =>
            {
                popup.IsOpen = false;
                Element element = null;
                Button actualButton = sender as Button;
                String id = CloudsWorker.GetId(lastRightClickedButton);
                element = !CloudWorker.IsFile(id) ?
                          element = new Folder()
                {
                    ID = id, CloudWorker = this.CloudWorker, Name = lastRightClickedButton.Content as String
                } :
                element = new File()
                {
                    ID = id, CloudWorker = this.CloudWorker, Name = lastRightClickedButton.Content as String
                };
                element.Remove();
            });
            grid.RowDefinitions.Add(new RowDefinition());
            grid.RowDefinitions.Add(new RowDefinition());
            grid.RowDefinitions.Add(new RowDefinition());
            grid.RowDefinitions.Add(new RowDefinition());
            grid.Children.Add(textBox);
            grid.Children.Add(download);
            grid.Children.Add(moveToOtherCloud);
            grid.Children.Add(delete);
            Grid.SetRow(textBox, 0);
            Grid.SetRow(download, 1);//mainWindow.GRID_CLOUD_CONTENT.RowDefinitions.Count - 1
            Grid.SetRow(moveToOtherCloud, 2);
            Grid.SetRow(delete, 3);
            Grid.SetColumn(textBox, 0);
            Grid.SetColumn(download, 0);
            Grid.SetColumn(moveToOtherCloud, 0);
            Grid.SetColumn(delete, 0);
            popup.Child = grid;
            return(popup);
        }