Files

WizardMerge Qt6 Frontend

Native desktop frontend for WizardMerge built with Qt6 and C++.

Features

  • Native desktop application for Linux, Windows, and macOS
  • Qt6 Widgets/QML-based UI
  • Direct integration with C++ backend
  • Offline capability
  • High performance

Prerequisites

  • Qt6 (6.2+)
  • CMake 3.16+
  • C++17 compiler (GCC 7+, Clang 6+, MSVC 2017+)
  • Ninja (recommended)

Building

Install Qt6

Ubuntu/Debian:

sudo apt-get install qt6-base-dev qt6-declarative-dev

macOS (Homebrew):

brew install qt@6

Windows: Download and install Qt6 from https://www.qt.io/download

Build the Application

mkdir build && cd build
cmake .. -G Ninja -DCMAKE_BUILD_TYPE=Release
ninja

Run

./wizardmerge-qt6

Project Structure

qt6/
├── CMakeLists.txt       # CMake build configuration
├── README.md            # This file
├── src/                 # C++ source files
│   └── main.cpp         # Application entry point
├── qml/                 # QML UI files
│   └── main.qml         # Main window UI
└── include/             # Header files

Development

Architecture

The Qt6 frontend communicates with the WizardMerge C++ backend via:

  • Direct library linking (for standalone mode)
  • HTTP API calls (for client-server mode)

UI Components

The UI is built using QML for declarative UI design:

  • Three-panel diff viewer
  • Conflict resolution controls
  • Syntax highlighting
  • File navigation

Configuration

The application can be configured via command-line arguments:

# Open a specific file
./wizardmerge-qt6 /path/to/conflicted/file

# Connect to remote backend
./wizardmerge-qt6 --backend-url http://localhost:8080

# Use standalone mode (embedded backend)
./wizardmerge-qt6 --standalone

Dependencies

  • Qt6 Core
  • Qt6 Widgets
  • Qt6 Quick (QML)
  • Qt6 Network (for HTTP client)

License

See LICENSE for details.