SQLite-база хранилища: свойства, ~sql-блоки, настройки хранилища

- Frontmatter: шапка --- ключ: значение (источник правды свойств)
- VaultSettings: .flora/settings.json (журнал, sqlEnabled, sqlMaxRows)
- Database: files/tags/file_tags/links/properties, только SELECT/WITH
  на read-only соединении (mode=ro + query_only + зонд), лимит строк
- MdParser: ~sql-блоки таблицей (parseBlocks + Renderer), шапка скрыта в просмотре
- Окно: per-window Database/VaultSettings, sync при сохранении, дебаунс reindex
- QML: VaultSettingsDialog, FilePropertiesDialog, меню, автообновление ~sql
- FileStore.journalDir, DocumentManager.reloadDocument
- Тест flora_db_test (23/23 зелёных)
This commit is contained in:
2026-09-07 16:30:06 +03:00
parent 0a46471cc6
commit fdf59f5b39
26 changed files with 1972 additions and 17 deletions
+38 -2
View File
@@ -64,6 +64,12 @@ add_test(NAME flora_docmgr_test COMMAND flora_docmgr_test)
add_executable(flora_mdparser_test mdparser_test.cpp
../src/markdown/MdParser.cpp
../src/markdown/MdParser.h
../src/db/Database.cpp
../src/db/Database.h
../src/core/Frontmatter.cpp
../src/core/Frontmatter.h
../src/core/VaultIndex.cpp
../src/core/VaultIndex.h
)
target_include_directories(flora_mdparser_test PRIVATE ../src)
target_compile_definitions(flora_mdparser_test PRIVATE
@@ -72,6 +78,7 @@ target_compile_definitions(flora_mdparser_test PRIVATE
target_link_libraries(flora_mdparser_test PRIVATE
Qt6::Core
Qt6::Gui
Qt6::Sql
Qt6::Concurrent
cmark::cmark
cmark::cmark_extensions
@@ -117,6 +124,10 @@ add_executable(flora_extended_test extended_test.cpp
../src/core/DocumentManager.h
../src/core/VaultIndex.cpp
../src/core/VaultIndex.h
../src/core/Frontmatter.cpp
../src/core/Frontmatter.h
../src/db/Database.cpp
../src/db/Database.h
../src/markdown/MdParser.cpp
../src/markdown/MdParser.h
../src/git/GitManager.cpp
@@ -124,7 +135,7 @@ add_executable(flora_extended_test extended_test.cpp
)
target_include_directories(flora_extended_test PRIVATE ../src)
target_compile_definitions(flora_extended_test PRIVATE CMARK_GFM_STATIC_DEFINE CMARK_GFM_EXTENSIONS_STATIC_DEFINE)
target_link_libraries(flora_extended_test PRIVATE Qt6::Core Qt6::Gui Qt6::Concurrent cmark::cmark cmark::cmark_extensions Flora_libgit2_static)
target_link_libraries(flora_extended_test PRIVATE Qt6::Core Qt6::Gui Qt6::Sql Qt6::Concurrent cmark::cmark cmark::cmark_extensions Flora_libgit2_static)
if(TARGET KF6SyntaxHighlighting)
target_link_libraries(flora_extended_test PRIVATE KF6SyntaxHighlighting)
endif()
@@ -145,6 +156,10 @@ add_executable(flora_integration_test integration_test.cpp
../src/core/DocumentManager.h
../src/core/VaultIndex.cpp
../src/core/VaultIndex.h
../src/core/Frontmatter.cpp
../src/core/Frontmatter.h
../src/db/Database.cpp
../src/db/Database.h
../src/markdown/MdParser.cpp
../src/markdown/MdParser.h
../src/git/GitManager.cpp
@@ -152,7 +167,7 @@ add_executable(flora_integration_test integration_test.cpp
)
target_include_directories(flora_integration_test PRIVATE ../src)
target_compile_definitions(flora_integration_test PRIVATE CMARK_GFM_STATIC_DEFINE CMARK_GFM_EXTENSIONS_STATIC_DEFINE)
target_link_libraries(flora_integration_test PRIVATE Qt6::Core Qt6::Gui Qt6::Concurrent cmark::cmark cmark::cmark_extensions Flora_libgit2_static)
target_link_libraries(flora_integration_test PRIVATE Qt6::Core Qt6::Gui Qt6::Sql Qt6::Concurrent cmark::cmark cmark::cmark_extensions Flora_libgit2_static)
if(TARGET KF6SyntaxHighlighting)
target_link_libraries(flora_integration_test PRIVATE KF6SyntaxHighlighting)
endif()
@@ -169,6 +184,27 @@ target_include_directories(flora_git_history_test PRIVATE ../src)
target_link_libraries(flora_git_history_test PRIVATE Qt6::Core Flora_libgit2_static)
add_test(NAME flora_git_history_test COMMAND flora_git_history_test)
# Тест SQLite-слоя (Frontmatter, VaultSettings, Database, ~sql-блоки)
add_executable(flora_db_test db_test.cpp
../src/core/Frontmatter.cpp
../src/core/Frontmatter.h
../src/core/VaultSettings.cpp
../src/core/VaultSettings.h
../src/core/VaultIndex.cpp
../src/core/VaultIndex.h
../src/db/Database.cpp
../src/db/Database.h
../src/markdown/MdParser.cpp
../src/markdown/MdParser.h
)
target_include_directories(flora_db_test PRIVATE ../src)
target_compile_definitions(flora_db_test PRIVATE CMARK_GFM_STATIC_DEFINE CMARK_GFM_EXTENSIONS_STATIC_DEFINE)
target_link_libraries(flora_db_test PRIVATE Qt6::Core Qt6::Gui Qt6::Sql Qt6::Concurrent cmark::cmark cmark::cmark_extensions)
if(TARGET KF6SyntaxHighlighting)
target_link_libraries(flora_db_test PRIVATE KF6SyntaxHighlighting)
endif()
add_test(NAME flora_db_test COMMAND flora_db_test)
# Тест выбора хранилища (последнее выбранное, а не добавленное)
add_executable(flora_vault_select_test vault_select_test.cpp
../src/app/VaultManager.cpp