summaryrefslogtreecommitdiffstats
path: root/src/gui
diff options
context:
space:
mode:
authorThierry Bastian <thierry.bastian@nokia.com>2009-06-25 14:41:26 (GMT)
committerThierry Bastian <thierry.bastian@nokia.com>2009-06-25 14:42:44 (GMT)
commitb393abc9ce2e2a5396e655895fe653f9e06e355f (patch)
tree18d7097c936f6db6fb71eb9fbefe96c124a7acc3 /src/gui
parent3e36b311710009039e8ffdfa46702e012f25785b (diff)
downloadQt-b393abc9ce2e2a5396e655895fe653f9e06e355f.zip
Qt-b393abc9ce2e2a5396e655895fe653f9e06e355f.tar.gz
Qt-b393abc9ce2e2a5396e655895fe653f9e06e355f.tar.bz2
QMenu: Fixed geometry for actions with specific font
Task-number: 256918
Diffstat (limited to 'src/gui')
-rw-r--r--src/gui/widgets/qmenu.cpp10
1 files changed, 5 insertions, 5 deletions
diff --git a/src/gui/widgets/qmenu.cpp b/src/gui/widgets/qmenu.cpp
index fc55a2c..15eeb09 100644
--- a/src/gui/widgets/qmenu.cpp
+++ b/src/gui/widgets/qmenu.cpp
@@ -235,16 +235,15 @@ void QMenuPrivate::calcActionRects(QMap<QAction*, QRect> &actionRects, QList<QAc
for(int i = 0; i < items.count(); i++) {
QAction *action = items.at(i);
- QFontMetrics fm(action->font().resolve(q->font()));
- QSize sz;
-
//let the style modify the above size..
QStyleOptionMenuItem opt;
q->initStyleOption(&opt, action);
opt.rect = q->rect();
+ const QFontMetrics &fm = opt.fontMetrics;
+ QSize sz;
if (QWidget *w = widgetItems.value(action)) {
- sz=w->sizeHint().expandedTo(w->minimumSize()).expandedTo(w->minimumSizeHint()).boundedTo(w->maximumSize());
+ sz = w->sizeHint().expandedTo(w->minimumSize()).expandedTo(w->minimumSizeHint()).boundedTo(w->maximumSize());
} else {
//calc what I think the size is..
if (action->isSeparator()) {
@@ -1178,7 +1177,8 @@ void QMenu::initStyleOption(QStyleOptionMenuItem *option, const QAction *action)
else
option->palette.setCurrentColorGroup(QPalette::Disabled);
- option->font = action->font();
+ option->font = action->font().resolve(font());
+ option->fontMetrics = QFontMetrics(option->font);
if (d->currentAction && d->currentAction == action && !d->currentAction->isSeparator()) {
option->state |= QStyle::State_Selected