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