From 7046890bcc2eff9b513292ce8782845cc2a9e9aa Mon Sep 17 00:00:00 2001 From: David Schulz Date: Wed, 29 Mar 2023 14:48:34 +0200 Subject: [PATCH] Editor: ensure that the outline is the left most toolbar widget Fixes: QTCREATORBUG-28765 Change-Id: Ifc43ed64ab4906af2d669ff372d8b66d59203048 Reviewed-by: Eike Ziller --- src/plugins/texteditor/texteditor.cpp | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/src/plugins/texteditor/texteditor.cpp b/src/plugins/texteditor/texteditor.cpp index 9089f592351..326be45d7fc 100644 --- a/src/plugins/texteditor/texteditor.cpp +++ b/src/plugins/texteditor/texteditor.cpp @@ -8144,11 +8144,14 @@ QAction * TextEditorWidget::insertExtraToolBarWidget(TextEditorWidget::Side side d->m_stretchAction->setVisible(false); if (side == Left) { + auto findLeftMostAction = [this](QAction *action) { + if (d->m_toolbarOutlineAction && action == d->m_toolbarOutlineAction) + return false; + return d->m_toolBar->widgetForAction(action) != nullptr; + }; QAction *before = Utils::findOr(d->m_toolBar->actions(), d->m_fileEncodingLabelAction, - [this](QAction *action) { - return d->m_toolBar->widgetForAction(action) != nullptr; - }); + findLeftMostAction); return d->m_toolBar->insertWidget(before, widget); } else { return d->m_toolBar->insertWidget(d->m_fileEncodingLabelAction, widget); @@ -8171,7 +8174,7 @@ void TextEditorWidget::setToolbarOutline(QWidget *widget) if (widget->sizePolicy().horizontalPolicy() & QSizePolicy::ExpandFlag) d->m_stretchAction->setVisible(false); - d->m_toolbarOutlineAction = d->m_toolBar->insertWidget(d->m_stretchAction, widget); + d->m_toolbarOutlineAction = insertExtraToolBarWidget(Left, widget); } else { // check for a widget with an expanding size policy otherwise re-enable the stretcher for (auto action : d->m_toolBar->actions()) {