From 2e2aad85d3a01d6783b9f656518279070104ebc6 Mon Sep 17 00:00:00 2001 From: Isarhamster Date: Wed, 3 Jul 2024 23:39:45 +0200 Subject: [PATCH] Fix annotations losing time and adding blanks --- src/database/gamex.cpp | 8 ++++++-- src/dialogs/preferences.ui | 2 +- src/gui/annotationwidget.cpp | 4 ++-- src/gui/mainwindowactions.cpp | 9 +++++---- 4 files changed, 14 insertions(+), 9 deletions(-) diff --git a/src/database/gamex.cpp b/src/database/gamex.cpp index 2378e787..2550e3fa 100644 --- a/src/database/gamex.cpp +++ b/src/database/gamex.cpp @@ -51,7 +51,11 @@ static const char strSquareNames[64][3] = "a8", "b8", "c8", "d8", "e8", "f8", "g8", "h8" }; -const QList GameX::s_specList = QList() << SquareAnnotation().filter() << ArrowAnnotation().filter() << EvalAnnotation().filter(); +const QList GameX::s_specList = QList() + << SquareAnnotation().filter() + << ArrowAnnotation().filter() + << EvalAnnotation().filter() + << TimeAnnotation().filter(); GameX::GameX() : QObject() @@ -1021,7 +1025,7 @@ bool GameX::dbAppendAnnotation(QString a, MoveId moveId, Position position) bool GameX::dbPrependAnnotation(QString a, char delimiter, MoveId moveId, Position position) { QString s = annotation(); - if (s.length()) + if (s.length() && delimiter) { a.append(delimiter); } diff --git a/src/dialogs/preferences.ui b/src/dialogs/preferences.ui index b98570ba..bf6566c4 100644 --- a/src/dialogs/preferences.ui +++ b/src/dialogs/preferences.ui @@ -67,7 +67,7 @@ false - 2 + 1 diff --git a/src/gui/annotationwidget.cpp b/src/gui/annotationwidget.cpp index 0964d13b..a0ae8956 100644 --- a/src/gui/annotationwidget.cpp +++ b/src/gui/annotationwidget.cpp @@ -29,7 +29,7 @@ void AnnotationWidget::variationClicked(QModelIndex index) QString AnnotationWidget::getComment() const { QString s = ui->editComment->toPlainText(); - if (AppSettings->getValue("HTMLComments").toBool()) + if (AppSettings->getValue("/GameText/HTMLComments").toBool()) { s.replace("\n","
"); } @@ -39,7 +39,7 @@ QString AnnotationWidget::getComment() const void AnnotationWidget::setComment(const QString &value) { QString s = value; - if (AppSettings->getValue("HTMLComments").toBool()) + if (AppSettings->getValue("/GameText/HTMLComments").toBool()) { s.replace("
","\n"); } diff --git a/src/gui/mainwindowactions.cpp b/src/gui/mainwindowactions.cpp index 3fefb994..4da9e781 100644 --- a/src/gui/mainwindowactions.cpp +++ b/src/gui/mainwindowactions.cpp @@ -2029,7 +2029,7 @@ bool MainWindow::gameAddAnalysis(const Analysis& analysis, QString annotation, b annotation += scoreText(analysis); if (AppSettings->getValue("/Board/AnnotateScore").toBool()) { - game().dbPrependAnnotation(scoreText(analysis)); + game().dbPrependAnnotation(scoreText(analysis), 0); UpdateGameText(); } if (game().atLineEnd()) @@ -2649,7 +2649,7 @@ void MainWindow::slotEngineTimeout(const Analysis& analysis) { if (AppSettings->getValue("/Board/AnnotateScore").toBool()) { - game().prependAnnotation(scoreText(a)); + game().prependAnnotation(scoreText(a), 0); UpdateGameText(); } } @@ -2661,14 +2661,14 @@ void MainWindow::slotEngineTimeout(const Analysis& analysis) addAutoNag(m.color(), score, lastScore, threashold, lastNode); if (AppSettings->getValue("/Board/AnnotateScore").toBool()) { - game().prependAnnotation(scoreText(a)); + game().prependAnnotation(scoreText(a), 0); } UpdateGameText(); } } else if (AppSettings->getValue("/Board/AnnotateScore").toBool()) { - game().prependAnnotation(scoreText(a)); + game().prependAnnotation(scoreText(a), 0); UpdateGameText(); } lastScore = score; @@ -2895,6 +2895,7 @@ void MainWindow::AutoMoveAtEndOfGame() { QString engineAnnotation = tr("Engine %1").arg(m_mainAnalysis->displayName()); game().dbSetAnnotation(engineAnnotation, game().lastMove()); + UpdateGameText(); if (AppSettings->getValue("/Board/AutoSaveAndContinue").toBool()) {