examples: use QSignalBlocker
Examples should show idiomatic Qt, and QSignalBlocker is idiomatic since it's inception in Qt 5.3. Just updating the examples was forgotten. This commit makes good for that. Fix coding-style issues as a drive-by. Change-Id: If138e87ea2ab7a444599734113f7cc6df11fb42d Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
This commit is contained in:
parent
4790ccfa7a
commit
10d4969966
@ -44,6 +44,7 @@
|
||||
#include <QDialog>
|
||||
#include <QDialogButtonBox>
|
||||
#include <QGridLayout>
|
||||
#include <QSignalBlocker>
|
||||
#include <QSpinBox>
|
||||
#include <QLabel>
|
||||
#include <QPainterPath>
|
||||
@ -409,20 +410,22 @@ void ColorSwatch::updateContextMenu()
|
||||
allowBottomAction->setEnabled(area != Qt::BottomDockWidgetArea);
|
||||
}
|
||||
|
||||
leftAction->blockSignals(true);
|
||||
rightAction->blockSignals(true);
|
||||
topAction->blockSignals(true);
|
||||
bottomAction->blockSignals(true);
|
||||
|
||||
leftAction->setChecked(area == Qt::LeftDockWidgetArea);
|
||||
rightAction->setChecked(area == Qt::RightDockWidgetArea);
|
||||
topAction->setChecked(area == Qt::TopDockWidgetArea);
|
||||
bottomAction->setChecked(area == Qt::BottomDockWidgetArea);
|
||||
|
||||
leftAction->blockSignals(false);
|
||||
rightAction->blockSignals(false);
|
||||
topAction->blockSignals(false);
|
||||
bottomAction->blockSignals(false);
|
||||
{
|
||||
const QSignalBlocker blocker(leftAction);
|
||||
leftAction->setChecked(area == Qt::LeftDockWidgetArea);
|
||||
}
|
||||
{
|
||||
const QSignalBlocker blocker(rightAction);
|
||||
rightAction->setChecked(area == Qt::RightDockWidgetArea);
|
||||
}
|
||||
{
|
||||
const QSignalBlocker blocker(topAction);
|
||||
topAction->setChecked(area == Qt::TopDockWidgetArea);
|
||||
}
|
||||
{
|
||||
const QSignalBlocker blocker(bottomAction);
|
||||
bottomAction->setChecked(area == Qt::BottomDockWidgetArea);
|
||||
}
|
||||
|
||||
if (areaActions->isEnabled()) {
|
||||
leftAction->setEnabled(areas & Qt::LeftDockWidgetArea);
|
||||
|
@ -157,25 +157,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);
|
||||
}
|
||||
{
|
||||
const QSignalBlocker blocker(sizeCombo);
|
||||
// sizeCombo signals are now blocked until end of scope
|
||||
sizeCombo->clear();
|
||||
|
||||
} else {
|
||||
foreach(size, fontDatabase.smoothSizes(font.family(), fontDatabase.styleString(font))) {
|
||||
sizeCombo->addItem(QVariant(size).toString());
|
||||
sizeCombo->setEditable(false);
|
||||
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)
|
||||
|
Loading…
x
Reference in New Issue
Block a user