rebrand to orc-gallery and optimise search/thumbnail responsiveness

Rebrand:
- Rename project, binary, desktop file, and icons from screenshot-gallery/orcs-gallery to orc-gallery
- Update display name to "ORC Gallery" throughout (window title, .desktop, README, plan.md)
- Config dir changed from ScreenshotOCRGallery to OrcGallery

Performance:
- cancelSearch() is now non-blocking; new searches start immediately instead of waiting for the previous thread to drain
- Remove double-emit from QFutureWatcher::finished handler; results emitted once directly from background thread
- SQLite WAL mode + NORMAL sync + 20 MB page cache + memory temp store + 256 MB mmap applied on init and per-thread connections
- Typing inactivity timer reduced from 500 ms to 150 ms
- COUNT(*) OVER() window function folds total-count into the main SELECT, eliminating a separate COUNT round-trip per search
- ImageThumbnail::paintEvent draws the filename overlay; removes 3 child QObjects (QFrame + QLabel + QHBoxLayout) per thumbnail
- loadThumbnailAsync posts QImage load+scale to QThreadPool; QPixmap::fromImage called on main thread via Qt::QueuedConnection invokeMethod; QPointer guards against use-after-free on gallery clear

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
yzinchuk
2026-07-03 03:53:07 -04:00
parent 3fb8d7e507
commit 55454d7ef6
23 changed files with 231 additions and 315 deletions
+13 -13
View File
@@ -1,5 +1,5 @@
cmake_minimum_required(VERSION 3.16)
project(screenshot-gallery VERSION 1.0.0 LANGUAGES CXX)
project(orc-gallery VERSION 1.0.0 LANGUAGES CXX)
set(CMAKE_CXX_STANDARD 17)
set(CMAKE_CXX_STANDARD_REQUIRED ON)
@@ -29,23 +29,23 @@ set(PROJECT_SOURCES
src/updatedatabasedialog.h
)
add_executable(screenshot-gallery ${PROJECT_SOURCES} ${RESOURCE_FILES})
add_executable(orc-gallery ${PROJECT_SOURCES} ${RESOURCE_FILES})
# Install icons to standard system locations
install(FILES "${CMAKE_CURRENT_SOURCE_DIR}/icons/orcs-gallery-64.png"
install(FILES "${CMAKE_CURRENT_SOURCE_DIR}/icons/orc-gallery-64.png"
DESTINATION "${CMAKE_INSTALL_PREFIX}/share/icons/hicolor/64x64/apps"
RENAME "orcs-gallery.png")
install(FILES "${CMAKE_CURRENT_SOURCE_DIR}/icons/orcs-gallery-128.png"
RENAME "orc-gallery.png")
install(FILES "${CMAKE_CURRENT_SOURCE_DIR}/icons/orc-gallery-128.png"
DESTINATION "${CMAKE_INSTALL_PREFIX}/share/icons/hicolor/128x128/apps"
RENAME "orcs-gallery.png")
install(FILES "${CMAKE_CURRENT_SOURCE_DIR}/icons/orcs-gallery-256.png"
RENAME "orc-gallery.png")
install(FILES "${CMAKE_CURRENT_SOURCE_DIR}/icons/orc-gallery-256.png"
DESTINATION "${CMAKE_INSTALL_PREFIX}/share/icons/hicolor/256x256/apps"
RENAME "orcs-gallery.png")
install(FILES "${CMAKE_CURRENT_SOURCE_DIR}/icons/orcs-gallery-512.png"
RENAME "orc-gallery.png")
install(FILES "${CMAKE_CURRENT_SOURCE_DIR}/icons/orc-gallery-512.png"
DESTINATION "${CMAKE_INSTALL_PREFIX}/share/icons/hicolor/512x512/apps"
RENAME "orcs-gallery.png")
RENAME "orc-gallery.png")
target_link_libraries(screenshot-gallery PRIVATE
target_link_libraries(orc-gallery PRIVATE
Qt6::Core
Qt6::Gui
Qt6::Widgets
@@ -53,11 +53,11 @@ target_link_libraries(screenshot-gallery PRIVATE
Qt6::Concurrent
)
install(TARGETS screenshot-gallery
install(TARGETS orc-gallery
BUNDLE DESTINATION .
RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}
)
# Install desktop file
install(FILES "${CMAKE_CURRENT_SOURCE_DIR}/screenshot-gallery.desktop"
install(FILES "${CMAKE_CURRENT_SOURCE_DIR}/orc-gallery.desktop"
DESTINATION "${CMAKE_INSTALL_PREFIX}/share/applications")