Skip to content

A modern file manager built with WPF, featuring an intuitive interface and powerful file preview capabilities.

License

Notifications You must be signed in to change notification settings

caojiachen1/FileSpace

Repository files navigation

FileSpace - Modern File Manager

A modern file manager built with WPF, featuring an intuitive interface and powerful file preview capabilities.

πŸš€ Features

πŸ“ File Browsing

  • Three-panel layout: Directory tree, file list, file preview
  • Smart navigation: Back/forward/up directory navigation
  • Address bar: Direct path input for quick navigation
  • Live refresh: Dynamic file and directory updates

πŸ‘οΈ File Preview

  • Text files: .txt, .cs, .xml, .json, .md and more
  • Images: .jpg, .png, .gif, .bmp, .webp and more
  • HTML files: Source code preview
  • CSV files: Table data preview
  • PDF files: File info display (opens externally)
  • Directory info: Folder statistics and size calculation

πŸ“Š Folder Size Calculation

  • Background calculation: Multi-threaded async directory size calculation
  • Progress display: Real-time calculation progress
  • Smart caching: Avoids redundant calculations
  • Access control: Graceful handling of permission restrictions

🎨 Modern Interface

  • Fluent Design: Modern design based on WPF-UI
  • Dark theme: Default dark theme for comfortable viewing
  • Colorful icons: Rich, colorful file type icons for better visual distinction
  • Responsive layout: Supports window resizing
  • Color-coded navigation: Intuitive color scheme for different UI elements

πŸš€ Installation

Requires .NET 8.0 Runtime and Windows 10 or higher.

git clone https://github.com/caojiachen1/FileSpace
cd FileSpace
dotnet run

πŸ“– Usage

Basic Operations

  1. Browse files: Select folders in the left tree, view files in center panel
  2. Preview files: Click files to view preview in right panel
  3. Open files: Double-click to open with default program
  4. Enter directories: Double-click folders to navigate

Navigation

  • Back: Return to previous directory
  • Up: Enter parent directory
  • Refresh: Reload current directory contents

Folder Size

  • Select a folder to view basic info in preview panel
  • System automatically calculates folder size in background
  • Progress information displayed during calculation
  • Results are cached for improved performance

πŸ“‹ TODO List

πŸš€ Priority Features (Core Functionality)

πŸ“ File Operations

  • βœ… Copy/Cut/Paste: Basic file operations with clipboard support (Ctrl+C, Ctrl+X, Ctrl+V)
  • βœ… Delete Files/Folders: Support both recycle bin (Delete) and permanent deletion (Shift+Delete)
  • βœ… Rename: In-place file/folder renaming functionality (F2)
  • βœ… Multi-File Selection: Ctrl/Shift multi-selection support
  • βœ… Batch Operations: Bulk copy, delete, move operations with progress tracking
  • βœ… Selection Tools: Select all (Ctrl+A), invert selection, and clear selection
  • ⏳ Create New Folder: Directory creation with input validation
  • ⏳ File Drag & Drop: Support drag and drop for move/copy operations

🎯 Multi-Selection & Batch Operations βœ…

  • Multi-File Selection: Full Ctrl/Shift multi-selection support
  • Batch Copy/Cut/Paste: Copy or move multiple files simultaneously
  • Batch Delete: Delete multiple files to recycle bin or permanently
  • Selection Utilities:
    • Select All (Ctrl+A)
    • Invert Selection
    • Visual selection count in toolbar and context menu
  • Progress Tracking: Real-time progress for batch operations
  • Smart UI: Toolbar buttons and context menu adapt to selection count

⌨️ Keyboard Shortcuts βœ…

  • Ctrl+C: Copy selected files
  • Ctrl+X: Cut selected files
  • Ctrl+V: Paste files
  • Delete: Delete selected files to recycle bin
  • Shift+Delete: Permanently delete selected files
  • F2: Rename selected file
  • Ctrl+A: Select all files
  • Escape: Cancel current operation/close dialog
  • Backspace: Navigate to parent directory

🎨 UI/UX Enhancements

πŸ“‹ View Modes

  • ⏳ Icon View: Large icon display with customizable sizes
  • βœ… List Details: Customizable columns (name, size, date, type)
  • ⏳ Thumbnail View: Image file thumbnail previews
  • βœ… Tree View: Hierarchical folder structure

πŸ–ΌοΈ Layout & Interface

  • ⏳ Resizable Panels: Drag to adjust panel sizes
  • ⏳ Layout Persistence: Remember user layout preferences
  • ⏳ Fullscreen Mode: Hide toolbars for maximum viewing area
  • βœ… Responsive Design: Adapt to different window sizes

βš™οΈ Advanced Features

πŸ–±οΈ Context & Interaction

  • βœ… Right-Click Context Menu: Comprehensive context operations
  • βœ… Keyboard Shortcuts: Standard file manager hotkeys
  • ⏳ File Properties Dialog: Detailed file information and editing
  • βœ… Quick Actions Toolbar: Customizable quick access buttons
  • βœ… Explorer Integration: "View in Explorer" context menu option

⭐ Bookmarks & Navigation

  • ⏳ Favorite Paths: Bookmark frequently used directories
  • ⏳ Quick Access: Recent folders and files
  • ⏳ Workspaces: Save different working environments
  • βœ… Breadcrumb Navigation: Click-to-navigate path bar

πŸ‘οΈ Enhanced Preview

  • βœ… File Preview Panel: Preview files without opening
  • ⏳ Image Gallery Mode: Navigate through images
  • βœ… Text File Preview: Syntax highlighting for code files
  • ⏳ Video/Audio Preview: Media file thumbnails and info

πŸ”§ System Integration

πŸͺŸ Windows Integration

  • ⏳ Explorer Integration: Option to set as default file manager
  • ⏳ System Tray: Minimize to system tray
  • ⏳ Startup Options: Auto-start with Windows
  • ⏳ Shell Extensions: Right-click menu in Windows Explorer

πŸš€ Performance & Technical

⚑ Performance Optimization

  • ⏳ Virtual Scrolling: Handle large directories efficiently
  • βœ… Caching System: Cache file info and thumbnails
  • βœ… Background Threading: Move heavy operations to background
  • βœ… Memory Management: Optimize memory usage for large file sets

πŸ’Ύ Data Persistence

  • ⏳ Settings Storage: Save user preferences and settings
  • ⏳ History Tracking: Access and search history
  • ⏳ Session Recovery: Restore tabs and state on startup
  • ⏳ Configuration Export/Import: Backup and share settings

🧩 Extensibility

  • ⏳ Plugin System: Support for third-party extensions
  • ⏳ Theme System: Switchable UI themes and color schemes
  • ⏳ Custom Toolbar: User-configurable toolbar buttons
  • ⏳ Script Integration: PowerShell/batch script integration

πŸ“Š Utility Tools

πŸ“ˆ File Analysis

  • βœ… Disk Usage Analyzer: Visual disk space usage analysis
  • ⏳ Duplicate File Finder: Find and clean duplicate files
  • ⏳ File Type Statistics: Analyze file type distribution
  • ⏳ Large File Finder: Locate space-consuming files

πŸ”„ Batch Processing

  • ⏳ Batch Rename: Rule-based bulk file renaming
  • ⏳ Format Conversion: Image and document format conversion
  • ⏳ File Synchronization: Folder sync functionality
  • βœ… Bulk Operations: Mass file operations with progress tracking

πŸ›‘οΈ Security & Reliability

πŸ”’ Error Handling & Recovery

  • ⏳ Crash Recovery: Recover from unexpected shutdowns
  • ⏳ Operation Undo: Undo file operations (when possible)
  • ⏳ Backup Mechanism: Auto-backup before destructive operations
  • βœ… Error Logging: Comprehensive error logging and reporting

πŸ” Security Features

  • ⏳ File Permissions: View and edit file permissions
  • ⏳ Secure Delete: Secure file deletion options
  • ⏳ Checksum Verification: File integrity checking
  • ⏳ Access Control: Restrict access to sensitive operations

🌟 Future Enhancements

🌐 Advanced Features

  • ⏳ Cloud Integration: Support for cloud storage services
  • ⏳ Remote File Access: FTP/SFTP/SSH support
  • ⏳ Archive Support: Built-in zip/rar handling
  • ⏳ Version Control: Basic Git integration for developers
  • ⏳ File Comparison: Compare files and directories
  • ⏳ Network Drive Management: Enhanced network location handling

✨ Latest Enhancements - Folder Analysis UI Beautification

🎨 Enhanced Folder Analysis Interface

The folder analysis window has been completely redesigned with modern aesthetics and improved usability:

Visual Improvements

  • Enhanced Progress Indicator: Beautiful progress card with gradient background and improved typography
  • Gradient Statistics Cards: Eye-catching cards with color gradients and icons for key metrics
  • Icon Integration: Added meaningful icons throughout the interface for better visual guidance
  • Improved Typography: Enhanced text hierarchy with better font weights and sizes
  • Modern Tab Design: Redesigned tabs with icons and rounded corners for better navigation
  • Enhanced Data Grids: Improved table layouts with better spacing and visual hierarchy

Color Scheme Enhancements

  • Rich Color Palette: Added new accent colors (red, cyan, etc.) for better categorization
  • Gradient Backgrounds: Beautiful gradient backgrounds for statistic cards
  • Improved Contrast: Enhanced text contrast for better readability
  • Shadow Effects: Subtle drop shadows for card depth and modern appearance

User Experience Improvements

  • Better Layout: Improved spacing and margins throughout the interface
  • Visual Hierarchy: Clear information hierarchy with proper sizing and colors
  • Icon-Based Navigation: Added emoji and icons to tabs for quick identification
  • Enhanced Buttons: Improved button styling with better padding and typography
  • Modern Card Design: Rounded corners and elevation effects for a contemporary look

Technical Enhancements

  • Enhanced Styles: Comprehensive style system with reusable components
  • Improved DataGrid: Better column headers and row styling
  • Responsive Design: Better handling of different window sizes
  • Accessibility: Improved color contrast and visual indicators

πŸ™ Acknowledgments

Special thanks to the following projects that made FileSpace possible:


Legend:

  • βœ… Completed
  • ⏳ In Progress / Partially Implemented
  • ❌ Not Started / Blocked
  • πŸš€ High Priority
  • ⭐ Medium Priority
  • 🌟 Future/Low Priority

About

A modern file manager built with WPF, featuring an intuitive interface and powerful file preview capabilities.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages