Skip to content

Latest commit

 

History

History
102 lines (74 loc) · 2.93 KB

File metadata and controls

102 lines (74 loc) · 2.93 KB

Qt Diff Studio

A visual file and directory comparison tool with change tracking. Desktop GUI powered by Python and PyQt5.

Features

  • Side-by-Side File Comparison: View differences between two files in a synchronized, side-by-side layout
  • Syntax Highlighting: Automatic syntax highlighting for various programming languages using Pygments
  • Directory Comparison: Compare entire directory trees and identify added, removed, modified, and identical files
  • Change Summaries: View detailed statistics about file and directory changes
  • Patch Export: Export differences as unified diff patches
  • Responsive Qt Interface: Modern, user-friendly interface with menus, toolbars, and keyboard shortcuts

Installation

Prerequisites

  • Python 3.6 or higher
  • PyQt5
  • Pygments

Install Dependencies

pip install -r requirements.txt

Usage

Running the Application

You can run the application in several ways:

Option 1: Direct execution

python main.py

Option 2: As a Python module

python -m qt_diff_studio

Option 3: After installation

pip install .
qt-diff-studio

Comparing Files

  1. Click "Compare Files" from the toolbar or press Ctrl+F
  2. Select the first file (left/original)
  3. Select the second file (right/modified)
  4. View the side-by-side comparison with highlighted changes

Comparing Directories

  1. Click "Compare Directories" from the toolbar or press Ctrl+D
  2. Select the first directory (left/original)
  3. Select the second directory (right/modified)
  4. Browse the directory tree to see added, removed, modified, and identical files
  5. Double-click any modified file to view its detailed diff

Exporting Patches

  1. After comparing files, click "Export Patch" or press Ctrl+E
  2. Choose a location to save the unified diff patch file
  3. The patch can be applied using standard tools like patch or git apply

Viewing Summaries

Press Ctrl+S or click "Show Summary" to view detailed statistics about the current comparison.

Keyboard Shortcuts

  • Ctrl+F: Compare Files
  • Ctrl+D: Compare Directories
  • Ctrl+E: Export Patch
  • Ctrl+S: Show Summary
  • Ctrl+L: Clear Views
  • Ctrl+Q: Exit Application

Project Structure

qt-diff-studio/
├── main.py                          # Application entry point
├── qt_diff_studio/
│   ├── __init__.py                  # Package initialization
│   ├── main_window.py               # Main application window
│   ├── diff_engine.py               # Core diff comparison logic
│   ├── diff_viewer.py               # Side-by-side file diff viewer
│   ├── directory_viewer.py          # Directory comparison tree view
│   └── syntax_highlighter.py        # Syntax highlighting support
├── requirements.txt                 # Python dependencies
└── README.md                        # This file

License

See LICENSE file for details.