summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/distancefieldgenerator/mainwindow.cpp21
-rw-r--r--src/linguist/lupdate/qdeclarative.cpp4
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))