summaryrefslogtreecommitdiffstats
path: root/examples/widgets/widgets/charactermap/characterwidget.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'examples/widgets/widgets/charactermap/characterwidget.cpp')
-rw-r--r--examples/widgets/widgets/charactermap/characterwidget.cpp17
1 files changed, 10 insertions, 7 deletions
diff --git a/examples/widgets/widgets/charactermap/characterwidget.cpp b/examples/widgets/widgets/charactermap/characterwidget.cpp
index 1b8cb226f7..47aff4f5be 100644
--- a/examples/widgets/widgets/charactermap/characterwidget.cpp
+++ b/examples/widgets/widgets/charactermap/characterwidget.cpp
@@ -44,11 +44,9 @@
//! [0]
CharacterWidget::CharacterWidget(QWidget *parent)
- : QWidget(parent)
+ : QWidget(parent), columns(16), lastKey(-1)
{
- squareSize = 24;
- columns = 16;
- lastKey = -1;
+ calculateSquareSize();
setMouseTracking(true);
}
//! [0]
@@ -57,7 +55,7 @@ CharacterWidget::CharacterWidget(QWidget *parent)
void CharacterWidget::updateFont(const QFont &font)
{
displayFont.setFamily(font.family());
- squareSize = qMax(24, QFontMetrics(displayFont).xHeight() * 3);
+ calculateSquareSize();
adjustSize();
update();
}
@@ -67,7 +65,7 @@ void CharacterWidget::updateFont(const QFont &font)
void CharacterWidget::updateSize(const QString &fontSize)
{
displayFont.setPointSize(fontSize.toInt());
- squareSize = qMax(24, QFontMetrics(displayFont).xHeight() * 3);
+ calculateSquareSize();
adjustSize();
update();
}
@@ -79,7 +77,7 @@ void CharacterWidget::updateStyle(const QString &fontStyle)
const QFont::StyleStrategy oldStrategy = displayFont.styleStrategy();
displayFont = fontDatabase.font(displayFont.family(), fontStyle, displayFont.pointSize());
displayFont.setStyleStrategy(oldStrategy);
- squareSize = qMax(24, QFontMetrics(displayFont).xHeight() * 3);
+ calculateSquareSize();
adjustSize();
update();
}
@@ -94,6 +92,11 @@ void CharacterWidget::updateFontMerging(bool enable)
update();
}
+void CharacterWidget::calculateSquareSize()
+{
+ squareSize = qMax(16, 4 + QFontMetrics(displayFont, this).height());
+}
+
//! [3]
QSize CharacterWidget::sizeHint() const
{