@@ -474,19 +474,39 @@ private async static void Manager_DataRequested(DataTransferManager sender, Data
474
474
{
475
475
DataRequestDeferral dataRequestDeferral = args . Request . GetDeferral ( ) ;
476
476
List < IStorageItem > items = new List < IStorageItem > ( ) ;
477
- foreach ( ListedItem li in dataGrid . SelectedItems )
477
+ if ( page . Name == "GenericItemView" )
478
478
{
479
- if ( li . FileExtension == "Folder" )
479
+ foreach ( ListedItem li in dataGrid . SelectedItems )
480
480
{
481
- var folderAsItem = await StorageFolder . GetFolderFromPathAsync ( li . FilePath ) ;
482
- items . Add ( folderAsItem ) ;
481
+ if ( li . FileExtension == "Folder" )
482
+ {
483
+ var folderAsItem = await StorageFolder . GetFolderFromPathAsync ( li . FilePath ) ;
484
+ items . Add ( folderAsItem ) ;
485
+ }
486
+ else
487
+ {
488
+ var fileAsItem = await StorageFile . GetFileFromPathAsync ( li . FilePath ) ;
489
+ items . Add ( fileAsItem ) ;
490
+ }
483
491
}
484
- else
492
+ }
493
+ else if ( page . Name == "PhotoAlbumViewer" )
494
+ {
495
+ foreach ( ListedItem li in PhotoAlbum . gv . SelectedItems )
485
496
{
486
- var fileAsItem = await StorageFile . GetFileFromPathAsync ( li . FilePath ) ;
487
- items . Add ( fileAsItem ) ;
497
+ if ( li . FileExtension == "Folder" )
498
+ {
499
+ var folderAsItem = await StorageFolder . GetFolderFromPathAsync ( li . FilePath ) ;
500
+ items . Add ( folderAsItem ) ;
501
+ }
502
+ else
503
+ {
504
+ var fileAsItem = await StorageFile . GetFileFromPathAsync ( li . FilePath ) ;
505
+ items . Add ( fileAsItem ) ;
506
+ }
488
507
}
489
508
}
509
+
490
510
DataRequest dataRequest = args . Request ;
491
511
dataRequest . Data . SetStorageItems ( items ) ;
492
512
dataRequest . Data . Properties . Title = "Data Shared From Files" ;
@@ -563,38 +583,74 @@ public static async void DeleteItem_Click(object sender, RoutedEventArgs e)
563
583
564
584
public static async void RenameItem_Click ( object sender , RoutedEventArgs e )
565
585
{
566
- try
586
+ if ( page . Name == "GenericItemView" )
567
587
{
568
- var ItemSelected = GenericFileBrowser . data . SelectedIndex ;
569
- var RowData = ItemViewModel . FilesAndFolders [ ItemSelected ] ;
570
- await GenericFileBrowser . NameBox . ShowAsync ( ) ;
571
- var input = GenericFileBrowser . inputForRename ;
572
- if ( input != null )
588
+ try
573
589
{
574
- if ( RowData . FileExtension == "Folder" )
575
- {
576
- var item = await StorageFolder . GetFolderFromPathAsync ( RowData . FilePath ) ;
577
- await item . RenameAsync ( input , NameCollisionOption . FailIfExists ) ;
578
- ItemViewModel . FilesAndFolders . Remove ( RowData ) ;
579
- ItemViewModel . FilesAndFolders . Add ( new ListedItem ( ) { FileName = input , FileDate = "Now" , EmptyImgVis = Visibility . Collapsed , FolderImg = Visibility . Visible , FileIconVis = Visibility . Collapsed , FileExtension = "Folder" , FileImg = null , FilePath = ( ItemViewModel . PUIP . Path + "\\ " + input ) } ) ;
580
- }
581
- else
590
+ var ItemSelected = GenericFileBrowser . data . SelectedIndex ;
591
+ var RowData = ItemViewModel . FilesAndFolders [ ItemSelected ] ;
592
+ await GenericFileBrowser . NameBox . ShowAsync ( ) ;
593
+ var input = GenericFileBrowser . inputForRename ;
594
+ if ( input != null )
582
595
{
583
- var item = await StorageFile . GetFileFromPathAsync ( RowData . FilePath ) ;
584
- await item . RenameAsync ( input + RowData . DotFileExtension , NameCollisionOption . FailIfExists ) ;
585
- ItemViewModel . FilesAndFolders . Remove ( RowData ) ;
586
- ItemViewModel . FilesAndFolders . Add ( new ListedItem ( ) { FileName = input , FileDate = "Now" , EmptyImgVis = Visibility . Visible , FolderImg = Visibility . Collapsed , FileIconVis = Visibility . Collapsed , FileExtension = RowData . FileExtension , FileImg = null , FilePath = ( ItemViewModel . PUIP . Path + "\\ " + input + RowData . DotFileExtension ) , DotFileExtension = RowData . DotFileExtension } ) ;
596
+ if ( RowData . FileExtension == "Folder" )
597
+ {
598
+ var item = await StorageFolder . GetFolderFromPathAsync ( RowData . FilePath ) ;
599
+ await item . RenameAsync ( input , NameCollisionOption . FailIfExists ) ;
600
+ ItemViewModel . FilesAndFolders . Remove ( RowData ) ;
601
+ ItemViewModel . FilesAndFolders . Add ( new ListedItem ( ) { FileName = input , FileDate = "Now" , EmptyImgVis = Visibility . Collapsed , FolderImg = Visibility . Visible , FileIconVis = Visibility . Collapsed , FileExtension = "Folder" , FileImg = null , FilePath = ( ItemViewModel . PUIP . Path + "\\ " + input ) } ) ;
602
+ }
603
+ else
604
+ {
605
+ var item = await StorageFile . GetFileFromPathAsync ( RowData . FilePath ) ;
606
+ await item . RenameAsync ( input + RowData . DotFileExtension , NameCollisionOption . FailIfExists ) ;
607
+ ItemViewModel . FilesAndFolders . Remove ( RowData ) ;
608
+ ItemViewModel . FilesAndFolders . Add ( new ListedItem ( ) { FileName = input , FileDate = "Now" , EmptyImgVis = Visibility . Visible , FolderImg = Visibility . Collapsed , FileIconVis = Visibility . Collapsed , FileExtension = RowData . FileExtension , FileImg = null , FilePath = ( ItemViewModel . PUIP . Path + "\\ " + input + RowData . DotFileExtension ) , DotFileExtension = RowData . DotFileExtension } ) ;
587
609
610
+ }
588
611
}
612
+
613
+ }
614
+ catch ( Exception )
615
+ {
616
+ MessageDialog itemAlreadyExistsDialog = new MessageDialog ( "An item with this name already exists in this folder" , "Try again" ) ;
617
+ await itemAlreadyExistsDialog . ShowAsync ( ) ;
589
618
}
590
-
591
619
}
592
- catch ( Exception )
620
+ else if ( page . Name == "PhotoAlbumViewer" )
593
621
{
594
- MessageDialog itemAlreadyExistsDialog = new MessageDialog ( "An item with this name already exists in this folder" , "Try again" ) ;
595
- await itemAlreadyExistsDialog . ShowAsync ( ) ;
596
- }
622
+ try
623
+ {
624
+ var ItemSelected = PhotoAlbum . gv . SelectedIndex ;
625
+ var BoxData = ItemViewModel . FilesAndFolders [ ItemSelected ] ;
626
+ await PhotoAlbum . NameBox . ShowAsync ( ) ;
627
+ var input = PhotoAlbum . inputForRename ;
628
+ if ( input != null )
629
+ {
630
+ if ( BoxData . FileExtension == "Folder" )
631
+ {
632
+ var item = await StorageFolder . GetFolderFromPathAsync ( BoxData . FilePath ) ;
633
+ await item . RenameAsync ( input , NameCollisionOption . FailIfExists ) ;
634
+ ItemViewModel . FilesAndFolders . Remove ( BoxData ) ;
635
+ ItemViewModel . FilesAndFolders . Add ( new ListedItem ( ) { FileName = input , FileDate = "Now" , EmptyImgVis = Visibility . Collapsed , FolderImg = Visibility . Visible , FileIconVis = Visibility . Collapsed , FileExtension = "Folder" , FileImg = null , FilePath = ( ItemViewModel . PUIP . Path + "\\ " + input ) } ) ;
636
+ }
637
+ else
638
+ {
639
+ var item = await StorageFile . GetFileFromPathAsync ( BoxData . FilePath ) ;
640
+ await item . RenameAsync ( input + BoxData . DotFileExtension , NameCollisionOption . FailIfExists ) ;
641
+ ItemViewModel . FilesAndFolders . Remove ( BoxData ) ;
642
+ ItemViewModel . FilesAndFolders . Add ( new ListedItem ( ) { FileName = input , FileDate = "Now" , EmptyImgVis = Visibility . Visible , FolderImg = Visibility . Collapsed , FileIconVis = Visibility . Collapsed , FileExtension = BoxData . FileExtension , FileImg = null , FilePath = ( ItemViewModel . PUIP . Path + "\\ " + input + BoxData . DotFileExtension ) , DotFileExtension = BoxData . DotFileExtension } ) ;
597
643
644
+ }
645
+ }
646
+
647
+ }
648
+ catch ( Exception )
649
+ {
650
+ MessageDialog itemAlreadyExistsDialog = new MessageDialog ( "An item with this name already exists in this folder" , "Try again" ) ;
651
+ await itemAlreadyExistsDialog . ShowAsync ( ) ;
652
+ }
653
+ }
598
654
History . ForwardList . Clear ( ) ;
599
655
ItemViewModel . FS . isEnabled = false ;
600
656
}
@@ -606,11 +662,11 @@ public async static void CutItem_Click(object sender, RoutedEventArgs e)
606
662
DataPackage dataPackage = new DataPackage ( ) ;
607
663
dataPackage . RequestedOperation = DataPackageOperation . Move ;
608
664
pathsToDeleteAfterPaste . Clear ( ) ;
665
+ List < IStorageItem > items = new List < IStorageItem > ( ) ;
609
666
if ( page . Name == "GenericItemView" )
610
667
{
611
668
if ( GenericFileBrowser . data . SelectedItems . Count != 0 )
612
669
{
613
- List < IStorageItem > items = new List < IStorageItem > ( ) ;
614
670
foreach ( ListedItem StorItem in GenericFileBrowser . data . SelectedItems )
615
671
{
616
672
pathsToDeleteAfterPaste . Add ( StorItem . FilePath ) ;
@@ -625,25 +681,43 @@ public async static void CutItem_Click(object sender, RoutedEventArgs e)
625
681
items . Add ( item ) ;
626
682
}
627
683
}
628
-
629
- IEnumerable < IStorageItem > EnumerableOfItems = items ;
630
- dataPackage . SetStorageItems ( EnumerableOfItems ) ;
631
- Clipboard . SetContent ( dataPackage ) ;
632
-
633
-
634
684
}
635
685
}
686
+ else if ( page . Name == "PhotoAlbumViewer" )
687
+ {
688
+ if ( PhotoAlbum . gv . SelectedItems . Count != 0 )
689
+ {
690
+ foreach ( ListedItem StorItem in PhotoAlbum . gv . SelectedItems )
691
+ {
692
+ pathsToDeleteAfterPaste . Add ( StorItem . FilePath ) ;
693
+ if ( StorItem . FileExtension != "Folder" )
694
+ {
695
+ var item = await StorageFile . GetFileFromPathAsync ( StorItem . FilePath ) ;
696
+ items . Add ( item ) ;
697
+ }
698
+ else
699
+ {
700
+ var item = await StorageFolder . GetFolderFromPathAsync ( StorItem . FilePath ) ;
701
+ items . Add ( item ) ;
702
+ }
703
+ }
704
+ }
705
+ }
706
+ IEnumerable < IStorageItem > EnumerableOfItems = items ;
707
+ dataPackage . SetStorageItems ( EnumerableOfItems ) ;
708
+ Clipboard . SetContent ( dataPackage ) ;
636
709
}
637
-
710
+ public static string CopySourcePath ;
638
711
public static async void CopyItem_ClickAsync ( object sender , RoutedEventArgs e )
639
712
{
713
+ CopySourcePath = ItemViewModel . PUIP . Path ;
640
714
DataPackage dataPackage = new DataPackage ( ) ;
641
715
dataPackage . RequestedOperation = DataPackageOperation . Copy ;
716
+ List < IStorageItem > items = new List < IStorageItem > ( ) ;
642
717
if ( page . Name == "GenericItemView" )
643
718
{
644
719
if ( GenericFileBrowser . data . SelectedItems . Count != 0 )
645
720
{
646
- List < IStorageItem > items = new List < IStorageItem > ( ) ;
647
721
foreach ( ListedItem StorItem in GenericFileBrowser . data . SelectedItems )
648
722
{
649
723
if ( StorItem . FileExtension != "Folder" )
@@ -657,18 +731,12 @@ public static async void CopyItem_ClickAsync(object sender, RoutedEventArgs e)
657
731
items . Add ( item ) ;
658
732
}
659
733
}
660
-
661
- IEnumerable < IStorageItem > EnumerableOfItems = items ;
662
- dataPackage . SetStorageItems ( EnumerableOfItems ) ;
663
- Clipboard . SetContent ( dataPackage ) ;
664
-
665
734
}
666
735
}
667
736
else if ( page . Name == "PhotoAlbumViewer" )
668
737
{
669
738
if ( PhotoAlbum . gv . SelectedItems . Count != 0 )
670
739
{
671
- List < IStorageItem > items = new List < IStorageItem > ( ) ;
672
740
foreach ( ListedItem StorItem in PhotoAlbum . gv . SelectedItems )
673
741
{
674
742
if ( StorItem . FileExtension != "Folder" )
@@ -682,22 +750,19 @@ public static async void CopyItem_ClickAsync(object sender, RoutedEventArgs e)
682
750
items . Add ( item ) ;
683
751
}
684
752
}
685
-
686
- IEnumerable < IStorageItem > EnumerableOfItems = items ;
687
- dataPackage . SetStorageItems ( EnumerableOfItems ) ;
688
- Clipboard . SetContent ( dataPackage ) ;
689
-
690
753
}
691
754
}
692
-
755
+ IEnumerable < IStorageItem > EnumerableOfItems = items ;
756
+ dataPackage . SetStorageItems ( EnumerableOfItems ) ;
757
+ Clipboard . SetContent ( dataPackage ) ;
758
+
693
759
}
694
760
695
761
public static async void PasteItem_ClickAsync ( object sender , RoutedEventArgs e )
696
762
{
697
- // TODO: Add progress box and collision options for this operation
698
763
var DestinationPath = ItemViewModel . PUIP . Path ;
699
764
DataPackageView packageView = Clipboard . GetContent ( ) ;
700
-
765
+ var oldCount = ItemViewModel . FilesAndFolders . Count ;
701
766
var ItemsToPaste = await packageView . GetStorageItemsAsync ( ) ;
702
767
foreach ( IStorageItem item in ItemsToPaste )
703
768
{
@@ -711,7 +776,7 @@ public static async void PasteItem_ClickAsync(object sender, RoutedEventArgs e)
711
776
await ClipboardFile . CopyAsync ( await StorageFolder . GetFolderFromPathAsync ( DestinationPath ) , item . Name , NameCollisionOption . GenerateUniqueName ) ;
712
777
}
713
778
}
714
- NavigationActions . Refresh_Click ( null , null ) ;
779
+
715
780
if ( packageView . RequestedOperation == DataPackageOperation . Move )
716
781
{
717
782
foreach ( string path in pathsToDeleteAfterPaste )
@@ -728,6 +793,16 @@ public static async void PasteItem_ClickAsync(object sender, RoutedEventArgs e)
728
793
}
729
794
}
730
795
}
796
+ if ( page . Name == "GenericItemView" )
797
+ {
798
+ NavigationActions . Refresh_Click ( null , null ) ;
799
+ }
800
+ else if ( page . Name == "PhotoAlbumViewer" )
801
+ {
802
+ PhotoAlbumNavActions . Refresh_Click ( null , null ) ;
803
+ }
804
+
805
+
731
806
}
732
807
733
808
public static async void CloneDirectoryAsync ( string SourcePath , string DestinationPath , string sourceRootName )
0 commit comments