Desktop-Gallery

a powerful image management tool for Linux, MacOS and Windows

Installation


Getting Started

Prerequisites


  • CMake (3.16+)
  • C++ Compiler supporting C++23 (GCC 13+, Clang 16+, MSVC 2022)
  • Qt6 (Core, Gui, Widgets, Sql, Concurrent, Network, WebEngineWidgets, LinguistTools)
  • Exiv2 (Library for image metadata)

Project Structure


├── CMakeLists.txt # Main build configuration
├── LICENSE # MIT License
├── README.md # Project documentation
├── configure
│   └── rz_config.hpp.in # Version and Project defines
├── i18n # Translation files (.ts and .qm)
│   ├── gallery_de.ts
│   └── gallery_en.ts
├── include # Header files (.hpp)
│   ├── DatabaseManager.hpp # SQLite encapsulation
│   ├── LoginDialog.hpp # Server Auth UI
│   ├── MapWindow.hpp # QWebEngine Map View
│   ├── MainWindow.hpp # Main GUI Logic
│   ├── UploadManager.hpp # Network/Upload Logic
│   ├── rz_metadata.hpp # Metadata Definitions & Mappings
│   └── rz_photo.hpp # Image & Exiv2 Wrapper
├── resources # Icons and Assets
│   └── img
├── src # Source files (.cpp)
│   ├── DatabaseManager.cpp
│   ├── ImageIndexer.cpp # Multithreaded Scanner
│   ├── MainWindow.cpp
│   ├── MapWindow.cpp
│   ├── ThumbnailDelegate.cpp # Custom Grid Rendering
│   ├── UploadManager.cpp
│   ├── main.cpp # Entry Point
│   ├── picture_widget.cpp # Detail View
│   └── rz_photo.cpp # Exiv2 Implementation
        

Build Instructions


1. Clone the repository:
git clone https://github.com/Zheng-Bote/web-gallery_desktop-gallery.git

2. Build the project:
cd web-gallery_desktop-gallery
mkdir build
cd build
cmake ..
make

3. Run the application:
./Desktop-Gallery