summaryrefslogtreecommitdiffstats
path: root/examples/widgets/widgets/charactermap/mainwindow.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'examples/widgets/widgets/charactermap/mainwindow.cpp')
-rw-r--r--examples/widgets/widgets/charactermap/mainwindow.cpp32
1 files changed, 17 insertions, 15 deletions
diff --git a/examples/widgets/widgets/charactermap/mainwindow.cpp b/examples/widgets/widgets/charactermap/mainwindow.cpp
index 160b77a945..2141850f16 100644
--- a/examples/widgets/widgets/charactermap/mainwindow.cpp
+++ b/examples/widgets/widgets/charactermap/mainwindow.cpp
@@ -167,25 +167,27 @@ void MainWindow::findSizes(const QFont &font)
{
QFontDatabase fontDatabase;
QString currentSize = sizeCombo->currentText();
- sizeCombo->blockSignals(true);
- sizeCombo->clear();
-
- int size;
- if(fontDatabase.isSmoothlyScalable(font.family(), fontDatabase.styleString(font))) {
- foreach(size, QFontDatabase::standardSizes()) {
- sizeCombo->addItem(QVariant(size).toString());
- sizeCombo->setEditable(true);
- }
- } else {
- foreach(size, fontDatabase.smoothSizes(font.family(), fontDatabase.styleString(font))) {
- sizeCombo->addItem(QVariant(size).toString());
- sizeCombo->setEditable(false);
+ {
+ const QSignalBlocker blocker(sizeCombo);
+ // sizeCombo signals are now blocked until end of scope
+ sizeCombo->clear();
+
+ int size;
+ if (fontDatabase.isSmoothlyScalable(font.family(), fontDatabase.styleString(font))) {
+ foreach (size, QFontDatabase::standardSizes()) {
+ sizeCombo->addItem(QVariant(size).toString());
+ sizeCombo->setEditable(true);
+ }
+
+ } else {
+ foreach (size, fontDatabase.smoothSizes(font.family(), fontDatabase.styleString(font))) {
+ sizeCombo->addItem(QVariant(size).toString());
+ sizeCombo->setEditable(false);
+ }
}
}
- sizeCombo->blockSignals(false);
-
int sizeIndex = sizeCombo->findText(currentSize);
if(sizeIndex == -1)