Skip to content

IamSRC12/Quick-Convert-Pro

Repository files navigation

QuickConvertPro

Overview

QuickConvertPro is a powerful file conversion and utility application designed to help users quickly convert, process, and manage various file types. Built with Python and modern desktop technologies, QuickConvertPro provides a comprehensive solution for file management with advanced conversion capabilities, system utilities, and automation features.

Key Features

  • File Conversion: Convert between various file formats (PDF, DOCX, XLSX, JPG, PNG, etc.)
  • System Utilities: Built-in system utilities (clipboard, screenshot, file organizer)
  • Context Menu Integration: Right-click context menu integration for quick access
  • Batch Processing: Process multiple files simultaneously
  • Cross-Platform: Works on Windows, macOS, and Linux
  • Automation: Automate repetitive file operations
  • Customization: Customizable conversion rules and settings
  • Preview Support: Preview converted files before saving

Technology Stack

Layer Technology
Runtime Python 3.8+, Tkinter (GUI)
File Processing pathlib, shutil, os
Conversion PIL, pdf2image, docx2txt
System Integration ctypes, platform, subprocess
Context Menu pywin32 (Windows), quartz (macOS), X11 (Linux)
Build Tools PyInstaller, setuptools
Configuration JSON, configparser

Project Structure

QuickConvertPro/
├── src/
│   ├── core/           # Core application logic
│   ├── gui/            # Graphical user interface
│   ├── converters/     # File conversion modules
│   ├── utils/          # Utility functions
│   ├── services/       # Background services
│   └── models/         # Data models
├── assets/             # Icons, images, and other assets
├── config/             # Configuration files
├── tests/             # Test files
├── docs/              # Documentation
├── dist/              # Build output (installers)
└── README.md          # This file

Installation

System Requirements

  • Windows 10 or later (64-bit)
  • macOS 10.14 or later
  • Linux (Ubuntu, Fedora, Arch Linux)
  • Minimum RAM: 2 GB
  • Minimum Storage: 200 MB free space

Installation Steps

Windows (Recommended)

# Clone the repository
# Navigate to the project directory

# Install dependencies
pip install -r requirements.txt

# Run in development mode
python -m src.gui.main

# Build for distribution
pip install pyinstaller
pyinstaller src/gui/main.py --onefile

Linux/macOS

# Clone the repository
# Navigate to the project directory

# Install dependencies
pip install -r requirements.txt

# Run in development mode
python -m src.gui.main

# Build for distribution
pip install pyinstaller
pyinstaller src/gui/main.py --onefile

Usage

Basic Usage

  1. Launch the Application

    • Double-click the installer or run python -m src.gui.main
    • Wait for the application to load
  2. File Conversion

    • Select "Convert" from the main menu
    • Choose source and destination file formats
    • Select files to convert
    • Configure conversion options
    • Click "Convert" to start processing
  3. System Utilities

    • Select "Utilities" from the main menu
    • Choose desired utility (clipboard, screenshot, file organizer)
    • Configure utility settings
    • Execute utility functions
  4. Context Menu

    • Right-click on files to access context menu options
    • Use "Quick Convert" for fast file conversion
    • Use "System Tools" for utility access

Advanced Features

  • Batch Processing: Convert multiple files simultaneously
  • Custom Conversions: Define custom conversion rules
  • Preset Configurations: Save and load preset configurations
  • Progress Monitoring: Monitor conversion progress with progress bars
  • Error Handling: Comprehensive error handling and recovery
  • Logging: Detailed logging of all operations
  • Export/Import: Export settings to file or import from another configuration

Configuration

Configuration File

Create a config.json file in the project root:

{
  "default_output_path": "C:\\Converted\\",
  "supported_formats": {
    "image": ["jpg", "jpeg", "png", "gif", "bmp", "tiff"],
    "document": ["pdf", "docx", "txt", "rtf"],
    "spreadsheet": ["xlsx", "xls", "csv"],
    "audio": ["mp3", "wav", "flac", "aac"],
    "video": ["mp4", "avi", "mkv", "mov"]
  },
  "conversion_settings": {
    "quality": 90,
    "compression": true,
    "preserve_metadata": true
  },
  "system_settings": {
    "auto_start": false,
    "minimize_on_start": false,
    "close_to_tray": true
  },
  "context_menu": {
    "enable_right_click": true,
    "show_preview": true,
    "show_advanced_options": true
  }
}

Configuration Options

QuickConvertPro supports various configuration options:

  • Conversion Settings: Default quality, compression, metadata preservation
  • System Settings: Auto-start, minimize behavior, tray integration
  • Context Menu Settings: Right-click integration, preview options
  • File Management: Default output paths, organization patterns
  • Performance Settings: Quality vs. speed trade-offs, memory usage

Build Targets

Windows

Build Type Output Description
Installer dist/QuickConvertPro_Setup.exe Standard Windows installer
Portable dist/QuickConvertPro_Portable.exe Portable version without installation

Linux/macOS

Build Type Output Description
AppImage dist/QuickConvertPro.AppImage Linux AppImage format
DMG dist/QuickConvertPro.dmg macOS disk image
Tar.gz dist/QuickConvertPro.tar.gz Source tarball

Development

Running in Development Mode

# Install dependencies
pip install -r requirements.txt

# Run the development server
python -m src.gui.main

# Open GUI application

Building for Production

# Install build tools
pip install pyinstaller

# Build for production
pyinstaller src/gui/main.py --onefile

# Create installer
pyinstaller src/gui/main.py --noconsole

Testing

# Run unit tests
python -m pytest tests/

# Run integration tests
python -m pytest tests/integration/

# Run e2e tests
python -m pytest tests/e2e/

Deployment

Production Deployment

QuickConvertPro can be deployed to various platforms:

  • Windows: Use PyInstaller for Windows executables
  • macOS: Deploy to Mac App Store or direct download
  • Linux: Package for distribution platforms
  • Enterprise: Deploy via SCCM or other deployment tools

Docker Deployment

# Build the Docker image
docker build -t quickconvertpro .

# Run the container
docker run -v "$(pwd)/converted:/converted" quickconvertpro

Contributing

Contribution Guidelines

  1. Fork the repository
  2. Create a feature branch
  3. Make your changes
  4. Add tests
  5. Commit your changes
  6. Push to your branch
  7. Create a pull request

Code Quality

  • Follow PEP 8 for Python code style
  • Write comprehensive unit and integration tests
  • Keep commit messages clear and descriptive
  • Update documentation as needed
  • Follow TypeScript best practices

Troubleshooting

Common Issues

Application Won't Start

  1. Check dependencies

    pip install -r requirements.txt
  2. Check Python version Ensure Python 3.8+ is installed

  3. Check permissions Ensure the application has permission to access files

Build Errors

  1. Clean pip cache

    pip cache purge
    pip install -r requirements.txt
  2. Check dependencies Ensure all required Python packages are installed

Performance Issues

  1. Clear cache Delete temporary files and cache

  2. Check for memory leaks Monitor memory usage during long operations

Support

Getting Help

  • GitHub Issues: Report bugs and request features
  • Documentation: Check the official documentation
  • Community: Join the community forums

Reporting Issues

When reporting an issue, please include:

  • Description of the problem
  • Steps to reproduce
  • Expected behavior
  • Actual behavior
  • Environment details (OS version, Python version, etc.)

License

QuickConvertPro is licensed under the MIT License. See the LICENSE file for more details.

Acknowledgements

  • Python: For providing a powerful programming language
  • Tkinter: For GUI development
  • PIL: For image processing
  • pdf2image: For PDF conversion
  • docx2txt: For document conversion
  • All contributors: For making this project better

Contact


QuickConvertPro - Your Ultimate File Conversion Solution

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors