summaryrefslogtreecommitdiffstats
path: root/examples/widgets/widgets/charactermap/characterwidget.cpp
diff options
context:
space:
mode:
authorFriedemann Kleint <Friedemann.Kleint@qt.io>2016-07-22 09:21:42 +0200
committerFriedemann Kleint <Friedemann.Kleint@qt.io>2016-08-02 18:57:49 +0000
commit9b1db44c2a94a8d4d56c85e97c391c5bdf762a95 (patch)
tree4c4a7b47ef45bca4d689ac4b3c67ee26b7a7f4db /examples/widgets/widgets/charactermap/characterwidget.cpp
parent879fd5bb5ce94d9d98b966448029c030832eb582 (diff)
Polish charactermap example
- Use Qt 5 connection syntax. - Introduce helper function to calculate the square size, remove the existing 24 pixel limitation since that makes it impossible to render 20pt fonts. - Add filter chooser for font filters. - Add menu and info dialog showing DPI and default fonts. - Streamline code Change-Id: I0cd4d0475b5a7ed3c475de7a413abebbe688dfe2 Reviewed-by: Topi Reiniƶ <topi.reinio@theqtcompany.com>
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
{