diff options
author | Qt Forward Merge Bot <qt_forward_merge_bot@qt-project.org> | 2019-09-08 11:30:28 +0200 |
---|---|---|
committer | Qt Forward Merge Bot <qt_forward_merge_bot@qt-project.org> | 2019-09-08 11:30:28 +0200 |
commit | 636bf4a38283fde099869e7767222e3477def0ea (patch) | |
tree | 982f0f0931490814bb87eb9b00e5a5288b5567eb /src/distancefieldgenerator | |
parent | 1a858d32fef239bca95b72b8fd2186b30983a2af (diff) | |
parent | 647a9f29035add2b50ac510f0ddc06cb34122435 (diff) |
Merge remote-tracking branch 'origin/5.12' into 5.13
Change-Id: I0015980f763599ca60f28dd3408531d2a532cd6a
Diffstat (limited to 'src/distancefieldgenerator')
-rw-r--r-- | src/distancefieldgenerator/mainwindow.cpp | 21 |
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, |