Skip to content

Commit 21262fd

Browse files
committed
Version 1.0
Initial stable release with gallery browsing, metadata sorting and full-resolution viewer
1 parent e78b112 commit 21262fd

45 files changed

Lines changed: 5622 additions & 1 deletion

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.gitignore

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
build/
2+
.vscode/
3+
*.user
4+
*.exe
5+
**/.qmlls.ini

CMakeLists.txt

Lines changed: 61 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,61 @@
1+
cmake_minimum_required(VERSION 3.16)
2+
project(lysa LANGUAGES CXX)
3+
4+
set(CMAKE_CXX_STANDARD 17)
5+
set(CMAKE_CXX_STANDARD_REQUIRED ON)
6+
7+
# Enable Qt automatic features
8+
set(CMAKE_AUTOMOC ON)
9+
set(CMAKE_AUTORCC ON)
10+
set(CMAKE_AUTOUIC ON)
11+
12+
# Qt6 Library
13+
find_package(Qt6 REQUIRED COMPONENTS Core Gui Qml Quick QuickControls2 Widgets Concurrent)
14+
15+
# Exiv2 Library
16+
find_package(Exiv2 CONFIG REQUIRED)
17+
18+
qt_standard_project_setup()
19+
20+
# Add the executable
21+
qt_add_executable(lysa WIN32
22+
src/main.cpp
23+
src/structs.h
24+
src/appsettings.cpp
25+
src/appsettings.h
26+
src/photocontroller.cpp
27+
src/photocontroller.h
28+
src/photomodel.cpp
29+
src/photomodel.h
30+
src/exifregistry.cpp
31+
src/exifregistry.h
32+
src/thumbnailworker.cpp
33+
src/thumbnailworker.h
34+
src/photoprovider.cpp
35+
src/photoprovider.h
36+
src/gallerymodel.cpp
37+
src/gallerymodel.h
38+
src/directorymodel.cpp
39+
src/directorymodel.h
40+
src/fileservice.h
41+
qml/qml.qrc
42+
)
43+
44+
if(WIN32)
45+
# Add the icon resource to the executable
46+
set(ICON_RC "${CMAKE_CURRENT_SOURCE_DIR}/resources/icon.rc")
47+
target_sources(lysa PRIVATE ${ICON_RC})
48+
endif()
49+
50+
# Link libraries
51+
target_link_libraries(lysa
52+
PRIVATE
53+
Qt6::Core
54+
Qt6::Gui
55+
Qt6::Qml
56+
Qt6::Quick
57+
Qt6::QuickControls2
58+
Qt6::Widgets
59+
Qt6::Concurrent
60+
Exiv2::exiv2lib
61+
)

CMakePresets.json

Lines changed: 45 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,45 @@
1+
{
2+
"version": 10,
3+
"cmakeMinimumRequired": {
4+
"major": 3,
5+
"minor": 31
6+
},
7+
"configurePresets": [
8+
{
9+
"name": "ninja-debug",
10+
"displayName": "Ninja Debug",
11+
"generator": "Ninja",
12+
"binaryDir": "${sourceDir}/build/${presetName}",
13+
"cacheVariables": {
14+
"CMAKE_BUILD_TYPE": "Debug",
15+
"CMAKE_PREFIX_PATH": "C:/Qt/6.9.2/mingw_64/lib/cmake",
16+
"CMAKE_C_COMPILER": "C:/Qt/Tools/mingw1310_64/bin/x86_64-w64-mingw32-gcc.exe",
17+
"CMAKE_CXX_COMPILER": "C:/Qt/Tools/mingw1310_64/bin/x86_64-w64-mingw32-g++.exe",
18+
"CMAKE_EXPORT_COMPILE_COMMANDS": "YES"
19+
}
20+
},
21+
{
22+
"name": "ninja-release",
23+
"displayName": "Ninja Release",
24+
"generator": "Ninja",
25+
"binaryDir": "${sourceDir}/build/${presetName}",
26+
"cacheVariables": {
27+
"CMAKE_BUILD_TYPE": "Release",
28+
"CMAKE_PREFIX_PATH": "C:/Qt/6.9.2/mingw_64/lib/cmake;C:/dev/exiv2-install/lib/cmake",
29+
"CMAKE_C_COMPILER": "C:/Qt/Tools/mingw1310_64/bin/x86_64-w64-mingw32-gcc.exe",
30+
"CMAKE_CXX_COMPILER": "C:/Qt/Tools/mingw1310_64/bin/x86_64-w64-mingw32-g++.exe",
31+
"CMAKE_EXPORT_COMPILE_COMMANDS": "YES"
32+
}
33+
}
34+
],
35+
"buildPresets": [
36+
{
37+
"name": "ninja-debug",
38+
"configurePreset": "ninja-debug"
39+
},
40+
{
41+
"name": "ninja-release",
42+
"configurePreset": "ninja-release"
43+
}
44+
]
45+
}

EULA.txt

Lines changed: 40 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,40 @@
1+
End-User License Agreement (EULA) for “Lysa - Photo Organizer”
2+
3+
Version: 1.0
4+
Author: vorks. DEV (Jeremy Voß)
5+
6+
1. License of the Software
7+
The Software is distributed under the terms of the GNU General Public License Version 3 (GPL-3).
8+
In case of any conflict between this EULA and the GPL3, the GPL-3 prevails.
9+
You can find the full GPL-3 text in the file “LICENSE.txt”.
10+
11+
2. Third-Party Components
12+
The Software uses third-party libraries (Qt6, Exiv2, expat, Brotli, zlib, inih).
13+
These components are licensed under their respective licenses, which are included in the “licenses” directory.
14+
15+
3. Intended Use
16+
The Software is provided for organizing and browsing images stored locally on your device.
17+
The user remains solely responsible for compliance with applicable law when using the Software.
18+
19+
4. No Warranty
20+
The Software is provided “as is”, without any express or implied warranty.
21+
In particular, no warranty is given for:
22+
- correctness of metadata or processing results,
23+
- uninterrupted or error-free operation,
24+
- fitness for a particular purpose,
25+
- preservation or safety of user data.
26+
27+
5. Limitation of Liability
28+
The developer is liable only in accordance with mandatory German law:
29+
- unlimited liability for intent (Vorsatz),
30+
- unlimited liability for gross negligence (grobe Fahrlässigkeit),
31+
- unlimited liability for injury to life, body, or health.
32+
33+
For ordinary negligence (einfache Fahrlässigkeit), liability is limited to damages that are foreseeable and typical for this type of software.
34+
Liability for indirect damages, loss of data, lost profits, or consequential damages is excluded to the extent permitted by law.
35+
36+
6. Updates and Data Processing
37+
If future versions include update mechanisms or usage statistics, these will be documented in a separate Privacy Policy.
38+
39+
7. Applicable Law
40+
This Agreement is governed by the laws of the Federal Republic of Germany.

0 commit comments

Comments
 (0)