diff options
-rw-r--r-- | src/distancefieldgenerator/mainwindow.cpp | 21 | ||||
-rw-r--r-- | src/linguist/lupdate/qdeclarative.cpp | 4 |
2 files changed, 18 insertions, 7 deletions
diff --git a/src/distancefieldgenerator/mainwindow.cpp b/src/distancefieldgenerator/mainwindow.cpp index ee4475ada..6bc793ede 100644 --- a/src/distancefieldgenerator/mainwindow.cpp +++ b/src/distancefieldgenerator/mainwindow.cpp @@ -693,18 +693,25 @@ void MainWindow::updateUnicodeRanges() this, &MainWindow::updateSelection); + QItemSelection selectedItems; + for (int i = 0; i < ui->lwUnicodeRanges->count(); ++i) { QListWidgetItem *item = ui->lwUnicodeRanges->item(i); - DistanceFieldModel::UnicodeRange unicodeRange = item->data(Qt::UserRole).value<DistanceFieldModel::UnicodeRange>(); - QList<glyph_t> glyphIndexes = m_model->glyphIndexesForUnicodeRange(unicodeRange); - for (glyph_t glyphIndex : glyphIndexes) { - QModelIndex index = m_model->index(glyphIndex); - ui->lvGlyphs->selectionModel()->select(index, item->isSelected() - ? QItemSelectionModel::Select - : QItemSelectionModel::Deselect); + if (item->isSelected()) { + DistanceFieldModel::UnicodeRange unicodeRange = item->data(Qt::UserRole).value<DistanceFieldModel::UnicodeRange>(); + QList<glyph_t> glyphIndexes = m_model->glyphIndexesForUnicodeRange(unicodeRange); + + for (glyph_t glyphIndex : glyphIndexes) { + QModelIndex index = m_model->index(glyphIndex); + selectedItems.select(index, index); + } } } + ui->lvGlyphs->selectionModel()->clearSelection(); + if (!selectedItems.isEmpty()) + ui->lvGlyphs->selectionModel()->select(selectedItems, QItemSelectionModel::Select); + connect(ui->lvGlyphs->selectionModel(), &QItemSelectionModel::selectionChanged, this, diff --git a/src/linguist/lupdate/qdeclarative.cpp b/src/linguist/lupdate/qdeclarative.cpp index fa8ad260e..707ea0b79 100644 --- a/src/linguist/lupdate/qdeclarative.cpp +++ b/src/linguist/lupdate/qdeclarative.cpp @@ -112,6 +112,10 @@ protected: yyMsg(identLineNo) << qPrintable(LU::tr("%1() requires at least one argument.\n").arg(name)); return; } + if (AST::cast<AST::TemplateLiteral *>(node->arguments->expression)) { + yyMsg(identLineNo) << qPrintable(LU::tr("%1() cannot be used with template literals. Ignoring\n").arg(name)); + return; + } QString source; if (!createString(node->arguments->expression, &source)) |