diff options
Diffstat (limited to 'src/widgets/widgets/qtoolbutton.cpp')
-rw-r--r-- | src/widgets/widgets/qtoolbutton.cpp | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/src/widgets/widgets/qtoolbutton.cpp b/src/widgets/widgets/qtoolbutton.cpp index 93f0b60058..69432761e6 100644 --- a/src/widgets/widgets/qtoolbutton.cpp +++ b/src/widgets/widgets/qtoolbutton.cpp @@ -897,7 +897,12 @@ void QToolButton::setDefaultAction(QAction *action) return; if (!actions().contains(action)) addAction(action); - setText(action->text()); + QString buttonText = action->iconText(); + // If iconText() is generated from text(), we need to escape any '&'s so they + // don't turn into shortcuts + if (QActionPrivate::get(action)->iconText.isEmpty()) + buttonText.replace(QLatin1String("&"), QLatin1String("&&")); + setText(buttonText); setIcon(action->icon()); #ifndef QT_NO_TOOLTIP setToolTip(action->toolTip()); |