git repos / SagoImageBrowser

blame: README.md

normal view · raw

c0882fd1 Poul Sander 2026-02-23 19:00 1
# SagoImageBrowser
c0882fd1 Poul Sander 2026-02-23 19:00 2
c0882fd1 Poul Sander 2026-02-23 19:00 3
A Qt6-based image browser application for viewing and managing image collections.
c0882fd1 Poul Sander 2026-02-23 19:00 4
c0882fd1 Poul Sander 2026-02-23 19:00 5
## Features
c0882fd1 Poul Sander 2026-02-23 19:00 6
c0882fd1 Poul Sander 2026-02-23 19:00 7
- Browse images in a directory tree
c0882fd1 Poul Sander 2026-02-23 19:00 8
- Thumbnail preview of images
c0882fd1 Poul Sander 2026-02-23 19:00 9
- Single image view mode with keyboard navigation
c0882fd1 Poul Sander 2026-02-23 19:00 10
- File system navigation
c0882fd1 Poul Sander 2026-02-23 19:00 11
- Multi-threaded thumbnail generation for responsive UI
c0882fd1 Poul Sander 2026-02-23 19:00 12
c0882fd1 Poul Sander 2026-02-23 19:00 13
## Requirements
c0882fd1 Poul Sander 2026-02-23 19:00 14
c0882fd1 Poul Sander 2026-02-23 19:00 15
- C++17 or later
c0882fd1 Poul Sander 2026-02-23 19:00 16
- CMake 3.21+
c0882fd1 Poul Sander 2026-02-23 19:00 17
- Qt6 (Widgets component)
c0882fd1 Poul Sander 2026-02-23 19:00 18
c0882fd1 Poul Sander 2026-02-23 19:00 19
## Building
c0882fd1 Poul Sander 2026-02-23 19:00 20
c0882fd1 Poul Sander 2026-02-23 19:00 21
### Prerequisites
c0882fd1 Poul Sander 2026-02-23 19:00 22
c0882fd1 Poul Sander 2026-02-23 19:00 23
Install Qt6 development files:
c0882fd1 Poul Sander 2026-02-23 19:00 24
c0882fd1 Poul Sander 2026-02-23 19:00 25
```bash
c0882fd1 Poul Sander 2026-02-23 19:00 26
# On Ubuntu/Debian
c0882fd1 Poul Sander 2026-02-23 19:00 27
sudo apt-get install qt6-base-dev
c0882fd1 Poul Sander 2026-02-23 19:00 28
c0882fd1 Poul Sander 2026-02-23 19:00 29
# On macOS with Homebrew
c0882fd1 Poul Sander 2026-02-23 19:00 30
brew install qt6
c0882fd1 Poul Sander 2026-02-23 19:00 31
```
c0882fd1 Poul Sander 2026-02-23 19:00 32
c0882fd1 Poul Sander 2026-02-23 19:00 33
### Build Steps
c0882fd1 Poul Sander 2026-02-23 19:00 34
c0882fd1 Poul Sander 2026-02-23 19:00 35
```bash
c0882fd1 Poul Sander 2026-02-23 19:00 36
cd SagoImageBrowser
c0882fd1 Poul Sander 2026-02-23 19:00 37
mkdir build
c0882fd1 Poul Sander 2026-02-23 19:00 38
cd build
c0882fd1 Poul Sander 2026-02-23 19:00 39
cmake ..
c0882fd1 Poul Sander 2026-02-23 19:00 40
make
c0882fd1 Poul Sander 2026-02-23 19:00 41
```
c0882fd1 Poul Sander 2026-02-23 19:00 42
c0882fd1 Poul Sander 2026-02-23 19:00 43
The compiled executable will be at `./build/ImageBrowser`
c0882fd1 Poul Sander 2026-02-23 19:00 44
c0882fd1 Poul Sander 2026-02-23 19:00 45
## Running
c0882fd1 Poul Sander 2026-02-23 19:00 46
c0882fd1 Poul Sander 2026-02-23 19:00 47
```bash
c0882fd1 Poul Sander 2026-02-23 19:00 48
./build/ImageBrowser
c0882fd1 Poul Sander 2026-02-23 19:00 49
```
c0882fd1 Poul Sander 2026-02-23 19:00 50
c0882fd1 Poul Sander 2026-02-23 19:00 51
## Project Structure
c0882fd1 Poul Sander 2026-02-23 19:00 52
c0882fd1 Poul Sander 2026-02-23 19:00 53
```
c0882fd1 Poul Sander 2026-02-23 19:00 54
src/
c0882fd1 Poul Sander 2026-02-23 19:00 55
  ├── main.cpp                 # Application entry point
c0882fd1 Poul Sander 2026-02-23 19:00 56
  ├── mainwindow.h/cpp         # Main application window
c0882fd1 Poul Sander 2026-02-23 19:00 57
  ├── imagemodel.h/cpp         # Image data model
c0882fd1 Poul Sander 2026-02-23 19:00 58
  ├── imageviewwidget.h/cpp    # Image display widget
c0882fd1 Poul Sander 2026-02-23 19:00 59
  └── thumbnailworker.h/cpp    # Background thumbnail generation
c0882fd1 Poul Sander 2026-02-23 19:00 60
CMakeLists.txt                 # Build configuration
c0882fd1 Poul Sander 2026-02-23 19:00 61
```
c0882fd1 Poul Sander 2026-02-23 19:00 62
c0882fd1 Poul Sander 2026-02-23 19:00 63
## License
c0882fd1 Poul Sander 2026-02-23 19:00 64
c0882fd1 Poul Sander 2026-02-23 19:00 65
MIT Expat License
c0882fd1 Poul Sander 2026-02-23 19:00 66
c0882fd1 Poul Sander 2026-02-23 19:00 67
Copyright (c) 2026
c0882fd1 Poul Sander 2026-02-23 19:00 68
c0882fd1 Poul Sander 2026-02-23 19:00 69
Permission is hereby granted, free of charge, to any person obtaining a copy
c0882fd1 Poul Sander 2026-02-23 19:00 70
of this software and associated documentation files (the "Software"), to deal
c0882fd1 Poul Sander 2026-02-23 19:00 71
in the Software without restriction, including without limitation the rights
c0882fd1 Poul Sander 2026-02-23 19:00 72
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
c0882fd1 Poul Sander 2026-02-23 19:00 73
copies of the Software, and to permit persons to whom the Software is
c0882fd1 Poul Sander 2026-02-23 19:00 74
furnished to do so, subject to the following conditions:
c0882fd1 Poul Sander 2026-02-23 19:00 75
c0882fd1 Poul Sander 2026-02-23 19:00 76
The above copyright notice and this permission notice shall be included in all
c0882fd1 Poul Sander 2026-02-23 19:00 77
copies or substantial portions of the Software.
c0882fd1 Poul Sander 2026-02-23 19:00 78
c0882fd1 Poul Sander 2026-02-23 19:00 79
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
c0882fd1 Poul Sander 2026-02-23 19:00 80
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
c0882fd1 Poul Sander 2026-02-23 19:00 81
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
c0882fd1 Poul Sander 2026-02-23 19:00 82
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
c0882fd1 Poul Sander 2026-02-23 19:00 83
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
c0882fd1 Poul Sander 2026-02-23 19:00 84
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
c0882fd1 Poul Sander 2026-02-23 19:00 85
SOFTWARE.
1970-01-01 00:00 86