diff options
author | hjk <hjk@qt.io> | 2017-11-29 11:23:46 +0100 |
---|---|---|
committer | hjk <hjk@qt.io> | 2017-11-30 09:33:49 +0000 |
commit | edcce9c1f3d0bb26002a0d8ab8e21103a1ad3102 (patch) | |
tree | 06ee0c465fa1e887832ae6daff0a893b9672399e | |
parent | 9488b7e604d081552a97f66fe08bbdd38be38e6b (diff) |
Do not show accelerators in dock window titles
The dock widget's togglViewActions text is tied to the widget title,
but the view headers should not display a potential "&" accelerator.
So stash the &'d string away when setting up the title and retrieve
it when re-creating the view menu.
Task-number: QTCREATORBUG-19378
Change-Id: I6bf49ca526d12ddd57dfa33a94327a83baeaa6b4
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
-rw-r--r-- | src/libs/utils/fancymainwindow.cpp | 12 |
1 files changed, 9 insertions, 3 deletions
diff --git a/src/libs/utils/fancymainwindow.cpp b/src/libs/utils/fancymainwindow.cpp index 06fe65fb36..5ce2c25b36 100644 --- a/src/libs/utils/fancymainwindow.cpp +++ b/src/libs/utils/fancymainwindow.cpp @@ -251,13 +251,17 @@ DockWidget::DockWidget(QWidget *inner, FancyMainWindow *parent, bool immutable) setWidget(inner); setFeatures(QDockWidget::DockWidgetMovable | QDockWidget::DockWidgetClosable | QDockWidget::DockWidgetFloatable); setObjectName(inner->objectName() + QLatin1String("DockWidget")); - setWindowTitle(inner->windowTitle()); setMouseTracking(true); + QString title = inner->windowTitle(); + toggleViewAction()->setProperty("original_title", title); + title = Utils::stripAccelerator(title); + setWindowTitle(title); + QStyleOptionDockWidget opt; initStyleOption(&opt); m_titleBar = new TitleBarWidget(this, opt); - m_titleBar->m_titleLabel->setText(inner->windowTitle()); + m_titleBar->m_titleLabel->setText(title); setTitleBarWidget(m_titleBar); if (immutable) @@ -527,7 +531,9 @@ void FancyMainWindow::addDockActionsToMenu(QMenu *menu) QDockWidget *dockWidget = dockwidgets.at(i); if (dockWidget->property("managed_dockwidget").isNull() && dockWidget->parentWidget() == this) { - actions.append(dockwidgets.at(i)->toggleViewAction()); + QAction *action = dockWidget->toggleViewAction(); + action->setText(action->property("original_title").toString()); + actions.append(action); } } Utils::sort(actions, [](const QAction *action1, const QAction *action2) { |