summaryrefslogtreecommitdiffstats
path: root/src/distancefieldgenerator
diff options
context:
space:
mode:
authorQt Forward Merge Bot <qt_forward_merge_bot@qt-project.org>2019-09-08 11:30:28 +0200
committerQt Forward Merge Bot <qt_forward_merge_bot@qt-project.org>2019-09-08 11:30:28 +0200
commit636bf4a38283fde099869e7767222e3477def0ea (patch)
tree982f0f0931490814bb87eb9b00e5a5288b5567eb /src/distancefieldgenerator
parent1a858d32fef239bca95b72b8fd2186b30983a2af (diff)
parent647a9f29035add2b50ac510f0ddc06cb34122435 (diff)
Merge remote-tracking branch 'origin/5.12' into 5.13
Diffstat (limited to 'src/distancefieldgenerator')
-rw-r--r--src/distancefieldgenerator/mainwindow.cpp21
1 files changed, 14 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,