66using Files . Filesystem ;
77using System . Collections . ObjectModel ;
88using System . Threading . Tasks ;
9+ using Microsoft . Toolkit . Uwp . UI . Controls ;
10+ using Windows . UI . Xaml . Navigation ;
911
1012namespace Files
1113{
1214
1315 public sealed partial class AddItem : Page
1416 {
17+ public ListView addItemsChoices ;
18+ public ItemViewModel < AddItem > instanceViewModel ;
1519 public AddItem ( )
1620 {
1721 this . InitializeComponent ( ) ;
22+
23+ addItemsChoices = AddItemsListView ;
1824 AddItemsToList ( ) ;
1925 }
2026
27+ protected override void OnNavigatedTo ( NavigationEventArgs eventArgs )
28+ {
29+ base . OnNavigatedTo ( eventArgs ) ;
30+ var parameters = eventArgs . Parameter ;
31+ if ( parameters . GetType ( ) == typeof ( GenericFileBrowser ) )
32+ {
33+ instanceViewModel = new ItemViewModel < AddItem > ( ) ;
34+ }
35+ else if ( parameters . GetType ( ) == typeof ( PhotoAlbum ) )
36+ {
37+ instanceViewModel = new ItemViewModel < AddItem > ( ) ;
38+ }
39+ }
40+
2141 public static List < AddListItem > AddItemsList = new List < AddListItem > ( ) ;
2242
2343 public static void AddItemsToList ( )
@@ -29,41 +49,62 @@ public static void AddItemsToList()
2949
3050 }
3151
32-
52+ public T GetCurrentSelectedTabInstance < T > ( )
53+ {
54+ Frame rootFrame = Window . Current . Content as Frame ;
55+ var instanceTabsView = rootFrame . Content as InstanceTabsView ;
56+ var selectedTabContent = ( ( instanceTabsView . tabView . SelectedItem as TabViewItem ) . Content as Grid ) ;
57+ foreach ( UIElement uiElement in selectedTabContent . Children )
58+ {
59+ if ( uiElement . GetType ( ) == typeof ( Frame ) )
60+ {
61+ return ( T ) ( ( uiElement as Frame ) . Content ) ;
62+ }
63+ }
64+ return default ;
65+ }
3366 private async void ListView_ItemClick ( object sender , ItemClickEventArgs e )
3467 {
35-
36- GenericFileBrowser . AddItemBox . Hide ( ) ;
37- var currentPath = App . ViewModel . Universal . path ;
68+ var TabInstance = GetCurrentSelectedTabInstance < ProHome > ( ) ;
69+ TabInstance . AddItemBox . Hide ( ) ;
70+ string currentPath = null ;
71+ if ( TabInstance . accessibleContentFrame . SourcePageType == typeof ( GenericFileBrowser ) )
72+ {
73+ currentPath = ( TabInstance . accessibleContentFrame . Content as GenericFileBrowser ) . instanceViewModel . Universal . path ;
74+ }
75+ else if ( TabInstance . accessibleContentFrame . SourcePageType == typeof ( PhotoAlbum ) )
76+ {
77+ currentPath = ( TabInstance . accessibleContentFrame . Content as PhotoAlbum ) . instanceViewModel . Universal . path ;
78+ }
3879 StorageFolder folderToCreateItem = await StorageFolder . GetFolderFromPathAsync ( currentPath ) ;
3980 if ( ( e . ClickedItem as AddListItem ) . Header == "Folder" )
4081 {
41- await GenericFileBrowser . NameBox . ShowAsync ( ) ;
42- var userInput = GenericFileBrowser . inputForRename ;
82+ await TabInstance . NameBox . ShowAsync ( ) ;
83+ var userInput = TabInstance . inputForRename ;
4384 if ( userInput != null )
4485 {
4586 var folder = await folderToCreateItem . CreateFolderAsync ( userInput , CreationCollisionOption . FailIfExists ) ;
46- App . ViewModel . AddFileOrFolder ( new ListedItem ( folder . FolderRelativeId ) { FileName = userInput , FileDateReal = DateTimeOffset . Now , EmptyImgVis = Visibility . Collapsed , FolderImg = Visibility . Visible , FileIconVis = Visibility . Collapsed , FileType = "Folder" , FileImg = null , FilePath = ( App . ViewModel . Universal . path + "\\ " + userInput ) } ) ;
87+ instanceViewModel . AddFileOrFolder ( new ListedItem ( folder . FolderRelativeId ) { FileName = userInput , FileDateReal = DateTimeOffset . Now , EmptyImgVis = Visibility . Collapsed , FolderImg = Visibility . Visible , FileIconVis = Visibility . Collapsed , FileType = "Folder" , FileImg = null , FilePath = ( instanceViewModel . Universal . path + "\\ " + userInput ) } ) ;
4788 }
4889 }
4990 else if ( ( e . ClickedItem as AddListItem ) . Header == "Text Document" )
5091 {
51- await GenericFileBrowser . NameBox . ShowAsync ( ) ;
52- var userInput = GenericFileBrowser . inputForRename ;
92+ await TabInstance . NameBox . ShowAsync ( ) ;
93+ var userInput = TabInstance . inputForRename ;
5394 if ( userInput != null )
5495 {
5596 var folder = await folderToCreateItem . CreateFileAsync ( userInput + ".txt" , CreationCollisionOption . FailIfExists ) ;
56- App . ViewModel . AddFileOrFolder ( new ListedItem ( folder . FolderRelativeId ) { FileName = userInput , FileDateReal = DateTimeOffset . Now , EmptyImgVis = Visibility . Visible , FolderImg = Visibility . Collapsed , FileIconVis = Visibility . Collapsed , FileType = "Text Document" , FileImg = null , FilePath = ( App . ViewModel . Universal . path + "\\ " + userInput + ".txt" ) , DotFileExtension = ".txt" } ) ;
97+ instanceViewModel . AddFileOrFolder ( new ListedItem ( folder . FolderRelativeId ) { FileName = userInput , FileDateReal = DateTimeOffset . Now , EmptyImgVis = Visibility . Visible , FolderImg = Visibility . Collapsed , FileIconVis = Visibility . Collapsed , FileType = "Text Document" , FileImg = null , FilePath = ( instanceViewModel . Universal . path + "\\ " + userInput + ".txt" ) , DotFileExtension = ".txt" } ) ;
5798 }
5899 }
59100 else if ( ( e . ClickedItem as AddListItem ) . Header == "Bitmap Image" )
60101 {
61- await GenericFileBrowser . NameBox . ShowAsync ( ) ;
62- var userInput = GenericFileBrowser . inputForRename ;
102+ await GetCurrentSelectedTabInstance < ProHome > ( ) . NameBox . ShowAsync ( ) ;
103+ var userInput = GetCurrentSelectedTabInstance < ProHome > ( ) . inputForRename ;
63104 if ( userInput != null )
64105 {
65106 var folder = await folderToCreateItem . CreateFileAsync ( userInput + ".bmp" , CreationCollisionOption . FailIfExists ) ;
66- App . ViewModel . AddFileOrFolder ( new ListedItem ( folder . FolderRelativeId ) { FileName = userInput , FileDateReal = DateTimeOffset . Now , EmptyImgVis = Visibility . Visible , FolderImg = Visibility . Collapsed , FileIconVis = Visibility . Collapsed , FileType = "BMP File" , FileImg = null , FilePath = ( App . ViewModel . Universal . path + "\\ " + userInput + ".bmp" ) , DotFileExtension = ".bmp" } ) ;
107+ instanceViewModel . AddFileOrFolder ( new ListedItem ( folder . FolderRelativeId ) { FileName = userInput , FileDateReal = DateTimeOffset . Now , EmptyImgVis = Visibility . Visible , FolderImg = Visibility . Collapsed , FileIconVis = Visibility . Collapsed , FileType = "BMP File" , FileImg = null , FilePath = ( instanceViewModel . Universal . path + "\\ " + userInput + ".bmp" ) , DotFileExtension = ".bmp" } ) ;
67108 }
68109 }
69110 }
0 commit comments