FileSurfer 1.1.4
Modern Windows File Explorer
Loading...
Searching...
No Matches
FileSurfer.Views.MainWindow Class Reference

Represents the main FileSurfer window. More...

Inheritance diagram for FileSurfer.Views.MainWindow:
Collaboration diagram for FileSurfer.Views.MainWindow:

Public Member Functions

 MainWindow ()
 Initializes a new MainWindow.

Private Member Functions

void ViewModelLoaded (object? sender, EventArgs e)
void SpecialFoldersLoaded (MainWindowViewModel viewModel)
 Determines if SpecialsListBox should be visible after it has been loaded.
void WrapPanelLoaded (object sender, RoutedEventArgs e)
 Determines the current view mode based on FileSurferSettings.DisplayMode after the WrapPanel holding current directory contents has been loaded.
WrapPanel? FindWrapPanel (Control parent)
 Recursively finds WrapPanel within the visual elements.
void OnQuickAccessChanged (object sender, AvaloniaPropertyChangedEventArgs e)
 Determines the visibility of QuickAccessListBox based on its number of items.
void FilesDoubleTapped (object sender, TappedEventArgs e)
 Opens the item that was double tapped or goes to the parent directory of the current directory.
void OpenClicked (object sender, RoutedEventArgs e)
void OpenInNotepad (object sender, RoutedEventArgs e)
void PinToQuickAccess (object sender, RoutedEventArgs e)
void MoveUp (object sender, RoutedEventArgs e)
void MoveDown (object sender, RoutedEventArgs e)
void RemoveFromQuickAccess (object sender, RoutedEventArgs e)
void AddToArchive (object sender, RoutedEventArgs e)
void ExtractArchive (object sender, RoutedEventArgs e)
void CopyPath (object sender, RoutedEventArgs e)
void Cut (object sender, RoutedEventArgs e)
void Copy (object sender, RoutedEventArgs e)
void CreateShortcut (object sender, RoutedEventArgs e)
void FlattenFolder (object sender, RoutedEventArgs e)
void Delete (object sender, RoutedEventArgs e)
void DeletePermanently (object sender, RoutedEventArgs e)
void ShowProperties (object sender, RoutedEventArgs e)
void OpenAs (object sender, RoutedEventArgs e)
void FilesTapped (object sender, TappedEventArgs e)
 Clears the selection if the user clicks on empty space.
void SideBarEntryClicked (object sender, TappedEventArgs e)
 Clears the selection if any SideBar item has been clicked.
void MouseButtonPressed (object sender, PointerPressedEventArgs e)
 Handles Middle and Side button interactions with FileSurfer.
void TextBoxGotFocus (object? sender=null, GotFocusEventArgs? e=null)
 Unbinds interfering keybindings when the user starts typing.
void TextBoxLostFocus (object? sender=null, RoutedEventArgs? e=null)
 Rebinds interfering keybindings when the user stops typing.
void SearchBoxLostFocus (object sender, RoutedEventArgs e)
 Clears SearchBox when it looses focus.
void OnRenameClicked (object sender, RoutedEventArgs e)
 Shows NewNameBar and sets NameInputBox properties.
void OnCommitClicked (object sender, RoutedEventArgs e)
 Shows CommitMessageBar and focuses CommitInputBox.
void InputBoxLostFocus (object sender, RoutedEventArgs e)
 Hides NewNameBar and CommitMessageBar when either loose focus.
void PathBoxLostFocus (object sender, RoutedEventArgs e)
 Resets text in PathBox.
void NameEntered ()
 Relays the new name to _viewModel and hides NewNameBar.
void CommitMessageEntered ()
 Relays the commit message to _viewModel, hides CommitMessageBar, and clears CommitInputBox text.
void StagedToggle (object sender, RoutedEventArgs e)
 Invoked after the checkbox is toggled.
void ListView (object? sender=null, RoutedEventArgs? e=null)
 Switches the display mode to DisplayMode.ListView.
void IconView (object? sender=null, RoutedEventArgs? e=null)
 Switches the display mode to DisplayMode.IconView.
void OpenSettings (object sender, RoutedEventArgs e)
 Opens the SettingsWindow in a dialog mode with MainWindow as the owner.
void KeyPressed (object sender, KeyEventArgs e)
 Handles key presses without keybindings.
void OnCtrlFPressed (KeyEventArgs e)
 Toggles focus on SearchBox.
void ClearFocus ()
void OnEnterPressed (KeyEventArgs e)
 Processes currently focused elements and invokes their respective actions.
void OnEscapePressed (KeyEventArgs e)
 Empties selection, cancels searching and clears focus.
void OnClosing (object sender, WindowClosingEventArgs e)
 Invokes FileSurferSettings.UpdateQuickAccess(System.Collections.Generic.IEnumerable<FileSystemEntryViewModel>) and FileSurferSettings.SaveSettings,.

Private Attributes

MainWindowViewModel_viewModel
WrapPanel? _filePanel
readonly DataTemplate _iconViewTemplate
readonly DataTemplate _listViewTemplate
readonly KeyBinding _selectAllKB
readonly KeyBinding _invertSelection
readonly KeyGesture _deleteGesture = KeyGesture.Parse("Delete")
readonly KeyGesture _cutGesture = KeyGesture.Parse("Ctrl+X")
readonly KeyGesture _copyGesture = KeyGesture.Parse("Ctrl+C")
readonly KeyGesture _pasteGesture = KeyGesture.Parse("Ctrl+V")

Detailed Description

Represents the main FileSurfer window.

Handles various tasks such as resolving key presses and element focus withing the FileSurfer app.

Constructor & Destructor Documentation

◆ MainWindow()

FileSurfer.Views.MainWindow.MainWindow ( )
inline

Initializes a new MainWindow.

Member Function Documentation

◆ AddToArchive()

void FileSurfer.Views.MainWindow.AddToArchive ( object sender,
RoutedEventArgs e )
private

◆ ClearFocus()

void FileSurfer.Views.MainWindow.ClearFocus ( )
inlineprivate
Here is the caller graph for this function:

◆ CommitMessageEntered()

void FileSurfer.Views.MainWindow.CommitMessageEntered ( )
inlineprivate

Relays the commit message to _viewModel, hides CommitMessageBar, and clears CommitInputBox text.

Here is the caller graph for this function:

◆ Copy()

void FileSurfer.Views.MainWindow.Copy ( object sender,
RoutedEventArgs e )
private

◆ CopyPath()

void FileSurfer.Views.MainWindow.CopyPath ( object sender,
RoutedEventArgs e )
inlineprivate
Here is the call graph for this function:
Here is the caller graph for this function:

◆ CreateShortcut()

void FileSurfer.Views.MainWindow.CreateShortcut ( object sender,
RoutedEventArgs e )
inlineprivate
Here is the call graph for this function:
Here is the caller graph for this function:

◆ Cut()

void FileSurfer.Views.MainWindow.Cut ( object sender,
RoutedEventArgs e )
private

◆ Delete()

void FileSurfer.Views.MainWindow.Delete ( object sender,
RoutedEventArgs e )
private

◆ DeletePermanently()

void FileSurfer.Views.MainWindow.DeletePermanently ( object sender,
RoutedEventArgs e )
private

◆ ExtractArchive()

void FileSurfer.Views.MainWindow.ExtractArchive ( object sender,
RoutedEventArgs e )
private

◆ FilesDoubleTapped()

void FileSurfer.Views.MainWindow.FilesDoubleTapped ( object sender,
TappedEventArgs e )
inlineprivate

Opens the item that was double tapped or goes to the parent directory of the current directory.

◆ FilesTapped()

void FileSurfer.Views.MainWindow.FilesTapped ( object sender,
TappedEventArgs e )
inlineprivate

Clears the selection if the user clicks on empty space.

◆ FindWrapPanel()

WrapPanel? FileSurfer.Views.MainWindow.FindWrapPanel ( Control parent)
inlineprivate

Recursively finds WrapPanel within the visual elements.

This function is necessary because _filePanel can't be accessed via x:Name.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ FlattenFolder()

void FileSurfer.Views.MainWindow.FlattenFolder ( object sender,
RoutedEventArgs e )
inlineprivate
Here is the call graph for this function:
Here is the caller graph for this function:

◆ IconView()

void FileSurfer.Views.MainWindow.IconView ( object? sender = null,
RoutedEventArgs? e = null )
inlineprivate

Switches the display mode to DisplayMode.IconView.

Here is the call graph for this function:

◆ InputBoxLostFocus()

void FileSurfer.Views.MainWindow.InputBoxLostFocus ( object sender,
RoutedEventArgs e )
inlineprivate

Hides NewNameBar and CommitMessageBar when either loose focus.

Invokes TextBoxLostFocus(object?, RoutedEventArgs?).

Here is the call graph for this function:

◆ KeyPressed()

void FileSurfer.Views.MainWindow.KeyPressed ( object sender,
KeyEventArgs e )
inlineprivate

Handles key presses without keybindings.

Here is the call graph for this function:

◆ ListView()

void FileSurfer.Views.MainWindow.ListView ( object? sender = null,
RoutedEventArgs? e = null )
inlineprivate

Switches the display mode to DisplayMode.ListView.

Here is the call graph for this function:

◆ MouseButtonPressed()

void FileSurfer.Views.MainWindow.MouseButtonPressed ( object sender,
PointerPressedEventArgs e )
inlineprivate

Handles Middle and Side button interactions with FileSurfer.

◆ MoveDown()

void FileSurfer.Views.MainWindow.MoveDown ( object sender,
RoutedEventArgs e )
private

◆ MoveUp()

void FileSurfer.Views.MainWindow.MoveUp ( object sender,
RoutedEventArgs e )
private

◆ NameEntered()

void FileSurfer.Views.MainWindow.NameEntered ( )
inlineprivate

Relays the new name to _viewModel and hides NewNameBar.

Here is the caller graph for this function:

◆ OnClosing()

void FileSurfer.Views.MainWindow.OnClosing ( object sender,
WindowClosingEventArgs e )
inlineprivate

Invokes FileSurferSettings.UpdateQuickAccess(System.Collections.Generic.IEnumerable<FileSystemEntryViewModel>) and FileSurferSettings.SaveSettings,.

and also disposes of _viewModel's resources after the app closes.

Here is the call graph for this function:

◆ OnCommitClicked()

void FileSurfer.Views.MainWindow.OnCommitClicked ( object sender,
RoutedEventArgs e )
inlineprivate

Shows CommitMessageBar and focuses CommitInputBox.

◆ OnCtrlFPressed()

void FileSurfer.Views.MainWindow.OnCtrlFPressed ( KeyEventArgs e)
inlineprivate

Toggles focus on SearchBox.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ OnEnterPressed()

void FileSurfer.Views.MainWindow.OnEnterPressed ( KeyEventArgs e)
inlineprivate

Processes currently focused elements and invokes their respective actions.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ OnEscapePressed()

void FileSurfer.Views.MainWindow.OnEscapePressed ( KeyEventArgs e)
inlineprivate

Empties selection, cancels searching and clears focus.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ OnQuickAccessChanged()

void FileSurfer.Views.MainWindow.OnQuickAccessChanged ( object sender,
AvaloniaPropertyChangedEventArgs e )
inlineprivate

Determines the visibility of QuickAccessListBox based on its number of items.

◆ OnRenameClicked()

void FileSurfer.Views.MainWindow.OnRenameClicked ( object sender,
RoutedEventArgs e )
inlineprivate

Shows NewNameBar and sets NameInputBox properties.

◆ OpenAs()

void FileSurfer.Views.MainWindow.OpenAs ( object sender,
RoutedEventArgs e )
inlineprivate
Here is the call graph for this function:
Here is the caller graph for this function:

◆ OpenClicked()

void FileSurfer.Views.MainWindow.OpenClicked ( object sender,
RoutedEventArgs e )
private

◆ OpenInNotepad()

void FileSurfer.Views.MainWindow.OpenInNotepad ( object sender,
RoutedEventArgs e )
private

◆ OpenSettings()

void FileSurfer.Views.MainWindow.OpenSettings ( object sender,
RoutedEventArgs e )
inlineprivate

Opens the SettingsWindow in a dialog mode with MainWindow as the owner.

◆ PathBoxLostFocus()

void FileSurfer.Views.MainWindow.PathBoxLostFocus ( object sender,
RoutedEventArgs e )
inlineprivate

Resets text in PathBox.

Invokes TextBoxLostFocus(object?, RoutedEventArgs?).

Here is the call graph for this function:

◆ PinToQuickAccess()

void FileSurfer.Views.MainWindow.PinToQuickAccess ( object sender,
RoutedEventArgs e )
inlineprivate

◆ RemoveFromQuickAccess()

void FileSurfer.Views.MainWindow.RemoveFromQuickAccess ( object sender,
RoutedEventArgs e )
private

◆ SearchBoxLostFocus()

void FileSurfer.Views.MainWindow.SearchBoxLostFocus ( object sender,
RoutedEventArgs e )
inlineprivate

Clears SearchBox when it looses focus.

Here is the call graph for this function:

◆ ShowProperties()

void FileSurfer.Views.MainWindow.ShowProperties ( object sender,
RoutedEventArgs e )
inlineprivate
Here is the call graph for this function:
Here is the caller graph for this function:

◆ SideBarEntryClicked()

void FileSurfer.Views.MainWindow.SideBarEntryClicked ( object sender,
TappedEventArgs e )
inlineprivate

Clears the selection if any SideBar item has been clicked.

◆ SpecialFoldersLoaded()

void FileSurfer.Views.MainWindow.SpecialFoldersLoaded ( MainWindowViewModel viewModel)
inlineprivate

Determines if SpecialsListBox should be visible after it has been loaded.

Here is the caller graph for this function:

◆ StagedToggle()

void FileSurfer.Views.MainWindow.StagedToggle ( object sender,
RoutedEventArgs e )
inlineprivate

Invoked after the checkbox is toggled.

Relays the action to _viewModel.

◆ TextBoxGotFocus()

void FileSurfer.Views.MainWindow.TextBoxGotFocus ( object? sender = null,
GotFocusEventArgs? e = null )
inlineprivate

Unbinds interfering keybindings when the user starts typing.

◆ TextBoxLostFocus()

void FileSurfer.Views.MainWindow.TextBoxLostFocus ( object? sender = null,
RoutedEventArgs? e = null )
inlineprivate

Rebinds interfering keybindings when the user stops typing.

Here is the caller graph for this function:

◆ ViewModelLoaded()

void FileSurfer.Views.MainWindow.ViewModelLoaded ( object? sender,
EventArgs e )
inlineprivate
Here is the call graph for this function:

◆ WrapPanelLoaded()

void FileSurfer.Views.MainWindow.WrapPanelLoaded ( object sender,
RoutedEventArgs e )
inlineprivate

Determines the current view mode based on FileSurferSettings.DisplayMode after the WrapPanel holding current directory contents has been loaded.

Member Data Documentation

◆ _copyGesture

readonly KeyGesture FileSurfer.Views.MainWindow._copyGesture = KeyGesture.Parse("Ctrl+C")
private

◆ _cutGesture

readonly KeyGesture FileSurfer.Views.MainWindow._cutGesture = KeyGesture.Parse("Ctrl+X")
private

◆ _deleteGesture

readonly KeyGesture FileSurfer.Views.MainWindow._deleteGesture = KeyGesture.Parse("Delete")
private

◆ _filePanel

WrapPanel? FileSurfer.Views.MainWindow._filePanel
private

◆ _iconViewTemplate

readonly DataTemplate FileSurfer.Views.MainWindow._iconViewTemplate
private

◆ _invertSelection

readonly KeyBinding FileSurfer.Views.MainWindow._invertSelection
private

◆ _listViewTemplate

readonly DataTemplate FileSurfer.Views.MainWindow._listViewTemplate
private

◆ _pasteGesture

readonly KeyGesture FileSurfer.Views.MainWindow._pasteGesture = KeyGesture.Parse("Ctrl+V")
private

◆ _selectAllKB

readonly KeyBinding FileSurfer.Views.MainWindow._selectAllKB
private

◆ _viewModel

MainWindowViewModel? FileSurfer.Views.MainWindow._viewModel
private

The documentation for this class was generated from the following file: