private async void AllView_ItemPress(object sender, PointerRoutedEventArgs e) { var ctrlPressed = Window.Current.CoreWindow.GetKeyState(VirtualKey.Control).HasFlag(CoreVirtualKeyStates.Down); var shiftPressed = Window.Current.CoreWindow.GetKeyState(VirtualKey.Shift).HasFlag(CoreVirtualKeyStates.Down); var cp = e.GetCurrentPoint((UIElement)sender); if (cp.Position.Y <= AllView.ColumnHeaderHeight || // Return if click is on the header cp.Properties.IsLeftButtonPressed || // Return if dragging an item cp.Properties.IsRightButtonPressed || // Return if the user right clicks an item ctrlPressed || shiftPressed) // Allow for Ctrl+Shift selection { return; } if (IsRenamingItem) { return; } // Check if the setting to open items with a single click is turned on if (AppSettings.OpenItemsWithOneclick) { tapDebounceTimer.Stop(); await Task.Delay(200); // The delay gives time for the item to be selected NavigationHelpers.OpenSelectedItems(ParentShellPageInstance, false); } }
private async void FileList_DoubleTapped(object sender, DoubleTappedRoutedEventArgs e) { DismissColumn?.Invoke(sender as ListView, EventArgs.Empty); await Task.Delay(200); if (listViewItem != null) { listViewItem.Style = (Style)this.Resources["NormalStyle"]; } if ((e.OriginalSource as FrameworkElement)?.DataContext is ListedItem && !AppSettings.OpenItemsWithOneclick) { if (listViewItem != null) { listViewItem.Style = (Style)this.Resources["NormalStyle"]; } var item = (e.OriginalSource as FrameworkElement).DataContext as ListedItem; if (item.ItemType == "File folder") { if (item.ContainsFilesOrFolders) { listViewItem = (FileList.ContainerFromItem(item) as ListViewItem); ItemInvoked?.Invoke(new ColumnParam { Path = item.ItemPath, ListView = FileList }, EventArgs.Empty); } } // The delay gives time for the item to be selected else { NavigationHelpers.OpenSelectedItems(ParentShellPageInstance, false); } } }
private void FileList_ItemTapped(object sender, TappedRoutedEventArgs e) { var ctrlPressed = Window.Current.CoreWindow.GetKeyState(VirtualKey.Control).HasFlag(CoreVirtualKeyStates.Down); var shiftPressed = Window.Current.CoreWindow.GetKeyState(VirtualKey.Shift).HasFlag(CoreVirtualKeyStates.Down); var item = (e.OriginalSource as FrameworkElement)?.DataContext as ListedItem; if (item == null) { return; } // Skip code if the control or shift key is pressed or if the user is using multiselect if (ctrlPressed || shiftPressed || MainViewModel.MultiselectEnabled) { return; } // Check if the setting to open items with a single click is turned on if (item != null && ((UserSettingsService.PreferencesSettingsService.OpenFoldersWithOneClick && item.PrimaryItemAttribute == StorageItemTypes.Folder) || (UserSettingsService.PreferencesSettingsService.OpenFilesWithOneClick && item.PrimaryItemAttribute == StorageItemTypes.File))) { ResetRenameDoubleClick(); NavigationHelpers.OpenSelectedItems(ParentShellPageInstance, false); } else { var clickedItem = e.OriginalSource as FrameworkElement; if (clickedItem is TextBlock textBlock && textBlock.Name == "ItemName") { CheckRenameDoubleClick(clickedItem?.DataContext); }
private void FileList_DoubleTapped(object sender, DoubleTappedRoutedEventArgs e) { if ((e.OriginalSource as FrameworkElement)?.DataContext is ListedItem item && ((!UserSettingsService.FilesAndFoldersSettingsService.OpenFilesWithOneClick && item.PrimaryItemAttribute == StorageItemTypes.File) || (!UserSettingsService.FilesAndFoldersSettingsService.OpenFoldersWithOneClick && item.PrimaryItemAttribute == StorageItemTypes.Folder))) { if (item.PrimaryItemAttribute == Windows.Storage.StorageItemTypes.Folder) { DismissOtherBlades(sender as ListView); listViewItem = (FileList.ContainerFromItem(item) as ListViewItem); var frame = new Frame(); frame.Navigated += Frame_Navigated; var blade = new BladeItem(); blade.Content = frame; ColumnHost.Items.Add(blade); frame.Navigate(typeof(ColumnShellPage), new ColumnParam { Column = 1, Path = item.ItemPath }); } else { NavigationHelpers.OpenSelectedItems(ParentShellPageInstance, false); } } ResetRenameDoubleClick(); }
private async void FileList_ItemTapped(object sender, TappedRoutedEventArgs e) { if (listViewItem != null) { //_ = VisualStateManager.GoToState(listViewItem, "CurrentItem", true); } var ctrlPressed = Window.Current.CoreWindow.GetKeyState(VirtualKey.Control).HasFlag(CoreVirtualKeyStates.Down); var shiftPressed = Window.Current.CoreWindow.GetKeyState(VirtualKey.Shift).HasFlag(CoreVirtualKeyStates.Down); var item = (e.OriginalSource as FrameworkElement)?.DataContext as ListedItem; if (ctrlPressed || shiftPressed) // Allow for Ctrl+Shift selection { return; } // Check if the setting to open items with a single click is turned on if (item != null && ((UserSettingsService.FilesAndFoldersSettingsService.OpenFoldersWithOneClick && item.PrimaryItemAttribute == StorageItemTypes.Folder) || (UserSettingsService.FilesAndFoldersSettingsService.OpenFilesWithOneClick && item.PrimaryItemAttribute == StorageItemTypes.File))) { ResetRenameDoubleClick(); if (item.PrimaryItemAttribute == StorageItemTypes.Folder) { DismissOtherBlades(sender as ListView); listViewItem = (FileList.ContainerFromItem(item) as ListViewItem); var frame = new Frame(); frame.Navigated += Frame_Navigated; var blade = new BladeItem(); blade.Content = frame; ColumnHost.Items.Add(blade); frame.Navigate(typeof(ColumnShellPage), new ColumnParam { Column = 1, Path = item.ItemPath }); } else { NavigationHelpers.OpenSelectedItems(ParentShellPageInstance, false); } } else { var clickedItem = e.OriginalSource as FrameworkElement; if (clickedItem is TextBlock && ((TextBlock)clickedItem).Name == "ItemName") { CheckRenameDoubleClick(clickedItem?.DataContext); } else if (IsRenamingItem) { ListViewItem listViewItem = FileList.ContainerFromItem(RenamingItem) as ListViewItem; if (listViewItem != null) { var textBox = listViewItem.FindDescendant("ListViewTextBoxItemName") as TextBox; CommitRename(textBox); } } } }
private void FileList_DoubleTapped(object sender, DoubleTappedRoutedEventArgs e) { // Skip opening selected items if the double tap doesn't capture an item if ((e.OriginalSource as FrameworkElement)?.DataContext is ListedItem && !AppSettings.OpenItemsWithOneclick) { NavigationHelpers.OpenSelectedItems(ParentShellPageInstance, false); } }
private async void FileList_DoubleTapped(object sender, DoubleTappedRoutedEventArgs e) { DismissOtherBlades(sender as ListView); await Task.Delay(200); if ((e.OriginalSource as FrameworkElement)?.DataContext is ListedItem && !AppSettings.OpenItemsWithOneclick) { if (listViewItem != null) { listViewItem.Style = (Style)this.Resources["NormalStyle"]; } var item = (e.OriginalSource as FrameworkElement).DataContext as ListedItem; if (item.PrimaryItemAttribute == Windows.Storage.StorageItemTypes.Folder) { //var pane = new ModernShellPage(); //pane.FilesystemViewModel = new ItemViewModel(InstanceViewModel?.FolderSettings); //await pane.FilesystemViewModel.SetWorkingDirectoryAsync(item.ItemPath); //pane.IsPageMainPane = false; //pane.NavParams = item.ItemPath; try { while (ColumnHost.ActiveBlades.Count > 1) { ColumnHost.Items.RemoveAt(1); ColumnHost.ActiveBlades.RemoveAt(1); } } catch { } if (item.ContainsFilesOrFolders) { listViewItem = (FileList.ContainerFromItem(item) as ListViewItem); var frame = new Frame(); var blade = new BladeItem(); blade.Content = frame; ColumnHost.Items.Add(blade); //pane.NavigateWithArguments(typeof(ColumnViewBase), new NavigationArguments() //{ // NavPathParam = item.ItemPath, // AssociatedTabInstance = ParentShellPageInstance //}); frame.Navigate(typeof(ColumnShellPage), new ColumnParam { Column = 1, Path = item.ItemPath }); } } // The delay gives time for the item to be selected else { NavigationHelpers.OpenSelectedItems(ParentShellPageInstance, false); } } }
private void AllView_DoubleTapped(object sender, DoubleTappedRoutedEventArgs e) { tapDebounceTimer.Stop(); if (AppSettings.OpenFoldersNewTab) { NavigationHelpers.OpenPathInNewTab(((e.OriginalSource as FrameworkElement)?.DataContext as ListedItem).ItemPath); } else { NavigationHelpers.OpenSelectedItems(ParentShellPageInstance, false); } }
private async void FileList_PreviewKeyDown(object sender, KeyRoutedEventArgs e) { var ctrlPressed = Window.Current.CoreWindow.GetKeyState(VirtualKey.Control).HasFlag(CoreVirtualKeyStates.Down); var shiftPressed = Window.Current.CoreWindow.GetKeyState(VirtualKey.Shift).HasFlag(CoreVirtualKeyStates.Down); var focusedElement = FocusManager.GetFocusedElement() as FrameworkElement; var isFooterFocused = focusedElement is HyperlinkButton; if (e.Key == VirtualKey.Enter && !isFooterFocused && !e.KeyStatus.IsMenuKeyDown) { if (!IsRenamingItem) { NavigationHelpers.OpenSelectedItems(ParentShellPageInstance, false); e.Handled = true; } } else if (e.Key == VirtualKey.Enter && e.KeyStatus.IsMenuKeyDown) { FilePropertiesHelpers.ShowProperties(ParentShellPageInstance); e.Handled = true; } else if (e.Key == VirtualKey.Space) { if (!IsRenamingItem && !isFooterFocused && !ParentShellPageInstance.NavToolbarViewModel.IsEditModeEnabled) { e.Handled = true; await QuickLookHelpers.ToggleQuickLook(ParentShellPageInstance); } } else if (e.KeyStatus.IsMenuKeyDown && (e.Key == VirtualKey.Left || e.Key == VirtualKey.Right || e.Key == VirtualKey.Up)) { // Unfocus the GridView so keyboard shortcut can be handled NavToolbar?.Focus(FocusState.Pointer); } else if (e.KeyStatus.IsMenuKeyDown && shiftPressed && e.Key == VirtualKey.Add) { // Unfocus the ListView so keyboard shortcut can be handled (alt + shift + "+") NavToolbar?.Focus(FocusState.Pointer); } else if (e.Key == VirtualKey.Up || e.Key == VirtualKey.Down) { // If list has only one item, select it on arrow down/up (#5681) if (!IsItemSelected) { FileList.SelectedIndex = 0; e.Handled = true; } } }
private async void FileList_ItemClick(object sender, ItemClickEventArgs e) { DismissColumn?.Invoke(sender as ListView, EventArgs.Empty); await Task.Delay(200); if (listViewItem != null) { listViewItem.Style = (Style)this.Resources["NormalStyle"]; } var ctrlPressed = Window.Current.CoreWindow.GetKeyState(VirtualKey.Control).HasFlag(CoreVirtualKeyStates.Down); var shiftPressed = Window.Current.CoreWindow.GetKeyState(VirtualKey.Shift).HasFlag(CoreVirtualKeyStates.Down); if (ctrlPressed || shiftPressed) // Allow for Ctrl+Shift selection { return; } if (IsRenamingItem) { return; } var item = (e.ClickedItem as ListedItem); // Check if the setting to open items with a single click is turned on if (AppSettings.OpenItemsWithOneclick) { tapDebounceTimer.Stop(); await Task.Delay(200); if (item.ItemType == "File folder") { if (item.ContainsFilesOrFolders) { listViewItem = (FileList.ContainerFromItem(item) as ListViewItem); ItemInvoked?.Invoke(new ColumnParam { Path = item.ItemPath, ListView = FileList }, EventArgs.Empty); } } // The delay gives time for the item to be selected else { NavigationHelpers.OpenSelectedItems(ParentShellPageInstance, false); } } }
private void FileList_PreviewKeyDown(object sender, KeyRoutedEventArgs e) { var ctrlPressed = Window.Current.CoreWindow.GetKeyState(VirtualKey.Control).HasFlag(CoreVirtualKeyStates.Down); var shiftPressed = Window.Current.CoreWindow.GetKeyState(VirtualKey.Shift).HasFlag(CoreVirtualKeyStates.Down); if (e.Key == VirtualKey.Enter && !e.KeyStatus.IsMenuKeyDown) { if (!IsRenamingItem) { NavigationHelpers.OpenSelectedItems(ParentShellPageInstance, false); e.Handled = true; } } else if (e.Key == VirtualKey.Enter && e.KeyStatus.IsMenuKeyDown) { FilePropertiesHelpers.ShowProperties(ParentShellPageInstance); e.Handled = true; } else if (e.Key == VirtualKey.Space) { if (!IsRenamingItem && !ParentShellPageInstance.NavigationToolbar.IsEditModeEnabled) { if (App.MainViewModel.IsQuickLookEnabled) { QuickLookHelpers.ToggleQuickLook(ParentShellPageInstance); } e.Handled = true; } } else if (e.KeyStatus.IsMenuKeyDown && (e.Key == VirtualKey.Left || e.Key == VirtualKey.Right || e.Key == VirtualKey.Up)) { // Unfocus the GridView so keyboard shortcut can be handled (ParentShellPageInstance.NavigationToolbar as Control)?.Focus(FocusState.Pointer); } else if (ctrlPressed && shiftPressed && (e.Key == VirtualKey.Left || e.Key == VirtualKey.Right || e.Key == VirtualKey.W)) { // Unfocus the ListView so keyboard shortcut can be handled (ctrl + shift + W/"->"/"<-") (ParentShellPageInstance.NavigationToolbar as Control)?.Focus(FocusState.Pointer); } else if (e.KeyStatus.IsMenuKeyDown && shiftPressed && e.Key == VirtualKey.Add) { // Unfocus the ListView so keyboard shortcut can be handled (alt + shift + "+") (ParentShellPageInstance.NavigationToolbar as Control)?.Focus(FocusState.Pointer); } }
private async void FileList_ItemClick(object sender, ItemClickEventArgs e) { var ctrlPressed = Window.Current.CoreWindow.GetKeyState(VirtualKey.Control).HasFlag(CoreVirtualKeyStates.Down); var shiftPressed = Window.Current.CoreWindow.GetKeyState(VirtualKey.Shift).HasFlag(CoreVirtualKeyStates.Down); // Skip code if the control or shift key is pressed or if the user is using multiselect if (ctrlPressed || shiftPressed || InteractionViewModel.MultiselectEnabled) { return; } // Check if the setting to open items with a single click is turned on if (AppSettings.OpenItemsWithOneclick) { await Task.Delay(200); // The delay gives time for the item to be selected NavigationHelpers.OpenSelectedItems(ParentShellPageInstance, false); } }
private void FileList_DoubleTapped(object sender, DoubleTappedRoutedEventArgs e) { var clickedItem = e.OriginalSource as FrameworkElement; if (clickedItem?.DataContext is ListedItem item && ((!UserSettingsService.FilesAndFoldersSettingsService.OpenFilesWithOneClick && item.PrimaryItemAttribute == StorageItemTypes.File) || (!UserSettingsService.FilesAndFoldersSettingsService.OpenFoldersWithOneClick && item.PrimaryItemAttribute == StorageItemTypes.Folder))) { if (item.PrimaryItemAttribute == StorageItemTypes.Folder) { DismissColumn?.Invoke(sender as ListView, EventArgs.Empty); listViewItem = FileList.ContainerFromItem(item) as ListViewItem; ItemInvoked?.Invoke(new ColumnParam { Path = item.ItemPath, ListView = FileList }, EventArgs.Empty); } else { NavigationHelpers.OpenSelectedItems(ParentShellPageInstance, false); } } ResetRenameDoubleClick(); }
private async void FileList_ItemTapped(object sender, TappedRoutedEventArgs e) { var ctrlPressed = Window.Current.CoreWindow.GetKeyState(VirtualKey.Control).HasFlag(CoreVirtualKeyStates.Down); var shiftPressed = Window.Current.CoreWindow.GetKeyState(VirtualKey.Shift).HasFlag(CoreVirtualKeyStates.Down); var item = (e.OriginalSource as FrameworkElement)?.DataContext as ListedItem; if (ctrlPressed || shiftPressed) // Allow for Ctrl+Shift selection { return; } // Check if the setting to open items with a single click is turned on if (item != null && ((UserSettingsService.FilesAndFoldersSettingsService.OpenFoldersWithOneClick && item.PrimaryItemAttribute == StorageItemTypes.Folder) || (UserSettingsService.FilesAndFoldersSettingsService.OpenFilesWithOneClick && item.PrimaryItemAttribute == StorageItemTypes.File))) { ResetRenameDoubleClick(); if (item.PrimaryItemAttribute == StorageItemTypes.Folder) { DismissColumn?.Invoke(sender as ListView, EventArgs.Empty); listViewItem = FileList.ContainerFromItem(item) as ListViewItem; ItemInvoked?.Invoke(new ColumnParam { Path = item.ItemPath, ListView = FileList }, EventArgs.Empty); } else { NavigationHelpers.OpenSelectedItems(ParentShellPageInstance, false); } } else { var clickedItem = e.OriginalSource as FrameworkElement; if (clickedItem is TextBlock textBlock && textBlock.Name == "ItemName") { CheckRenameDoubleClick(clickedItem.DataContext); }
private async void FileList_ItemClick(object sender, ItemClickEventArgs e) { DismissOtherBlades(sender as ListView); await Task.Delay(200); if (listViewItem != null) { listViewItem.Style = (Style)this.Resources["NormalStyle"]; } var ctrlPressed = Window.Current.CoreWindow.GetKeyState(VirtualKey.Control).HasFlag(CoreVirtualKeyStates.Down); var shiftPressed = Window.Current.CoreWindow.GetKeyState(VirtualKey.Shift).HasFlag(CoreVirtualKeyStates.Down); if (ctrlPressed || shiftPressed) // Allow for Ctrl+Shift selection { return; } if (IsRenamingItem) { return; } var item = (e.ClickedItem as ListedItem); // Check if the setting to open items with a single click is turned on if (AppSettings.OpenItemsWithOneclick) { tapDebounceTimer.Stop(); await Task.Delay(200); if (item.PrimaryItemAttribute == Windows.Storage.StorageItemTypes.Folder) { //var pane = new ModernShellPage(); //pane.FilesystemViewModel = new ItemViewModel(InstanceViewModel?.FolderSettings); //await pane.FilesystemViewModel.SetWorkingDirectoryAsync(item.ItemPath); //pane.IsPageMainPane = false; //pane.NavParams = item.ItemPath; if (item.ContainsFilesOrFolders) { listViewItem = (FileList.ContainerFromItem(item) as ListViewItem); var frame = new Frame(); var blade = new BladeItem(); blade.Content = frame; ColumnHost.Items.Add(blade); //pane.NavigateWithArguments(typeof(ColumnViewBase), new NavigationArguments() //{ // NavPathParam = item.ItemPath, // AssociatedTabInstance = ParentShellPageInstance //}); frame.Navigate(typeof(ColumnShellPage), new ColumnParam { Column = 1, Path = item.ItemPath }); } } // The delay gives time for the item to be selected else { NavigationHelpers.OpenSelectedItems(ParentShellPageInstance, false); } } }
private void AllView_DoubleTapped(object sender, DoubleTappedRoutedEventArgs e) { tapDebounceTimer.Stop(); NavigationHelpers.OpenSelectedItems(ParentShellPageInstance, false); }
public virtual void OpenItemWithApplicationPicker(RoutedEventArgs e) { NavigationHelpers.OpenSelectedItems(associatedInstance, true); }
public virtual void OpenItem(RoutedEventArgs e) { NavigationHelpers.OpenSelectedItems(associatedInstance, false); }