From d4868f05fc0e91165748f267222769f58e104dd0 Mon Sep 17 00:00:00 2001 From: "Albert S." Date: Thu, 23 May 2024 18:18:23 +0200 Subject: [PATCH] sqlitedbservice: Only add non-empty outline entries --- shared/sqlitedbservice.cpp | 27 +++++++++++++++++---------- 1 file changed, 17 insertions(+), 10 deletions(-) diff --git a/shared/sqlitedbservice.cpp b/shared/sqlitedbservice.cpp index b7c41c3..1c8d53a 100644 --- a/shared/sqlitedbservice.cpp +++ b/shared/sqlitedbservice.cpp @@ -260,17 +260,24 @@ bool SqliteDbService::insertOutline(QSqlDatabase &db, int fileid, const QVector< outlineQuery.addBindValue(fileid); for(const DocumentOutlineEntry &outline : outlines) { - outlineQuery.bindValue(1, outline.text.toLower()); - outlineQuery.bindValue(2, outline.destinationPage); - if(!outlineQuery.exec()) + QString text = outline.text.trimmed(); + if(text.length() > 0) { - Logger::error() << "Failed outline insertion " << outlineQuery.lastError() << Qt::endl; - return false; - } - if(!insertOutline(db, fileid, outline.children)) - { - Logger::error() << "Failed outline insertion (children)) " << outlineQuery.lastError() << Qt::endl; - return false; + text = text.toLower(); + + outlineQuery.bindValue(1, text); + outlineQuery.bindValue(2, outline.destinationPage); + if(!outlineQuery.exec()) + { + Logger::error() << "Failed outline insertion " << outlineQuery.lastError() << Qt::endl; + return false; + } + outlineQuery.finish(); + if(!insertOutline(db, fileid, outline.children)) + { + Logger::error() << "Failed outline insertion (children)) " << outlineQuery.lastError() << Qt::endl; + return false; + } } } return true;