diff --git a/src/plugins/cppeditor/cppeditorwidget.cpp b/src/plugins/cppeditor/cppeditorwidget.cpp index d495af6c2af..c66ec3b284c 100644 --- a/src/plugins/cppeditor/cppeditorwidget.cpp +++ b/src/plugins/cppeditor/cppeditorwidget.cpp @@ -220,9 +220,6 @@ void CppEditorWidget::finalizeInitialization() d->m_cppSelectionChanger.onCursorPositionChanged(textCursor()); }); - // Toolbar: Outline/Overview combo box - insertExtraToolBarWidget(TextEditorWidget::Left, d->m_cppEditorOutline->widget()); - // Toolbar: Parse context ParseContextModel &parseContextModel = cppEditorDocument()->parseContextModel(); d->m_parseContextWidget = new ParseContextWidget(parseContextModel, this); @@ -233,6 +230,10 @@ void CppEditorWidget::finalizeInitialization() this, [this](bool areMultipleAvailable) { d->m_parseContextAction->setVisible(areMultipleAvailable); }); + + // Toolbar: Outline/Overview combo box + insertExtraToolBarWidget(TextEditorWidget::Left, d->m_cppEditorOutline->widget()); + // clang-format on // Toolbar: '#' Button // TODO: Make "Additional Preprocessor Directives" also useful with Clang Code Model. diff --git a/src/plugins/cpptools/cppeditoroutline.cpp b/src/plugins/cpptools/cppeditoroutline.cpp index b3a751e6642..a71e027cdc3 100644 --- a/src/plugins/cpptools/cppeditoroutline.cpp +++ b/src/plugins/cpptools/cppeditoroutline.cpp @@ -109,10 +109,9 @@ CppEditorOutline::CppEditorOutline(TextEditor::TextEditorWidget *editorWidget) // Set up combo box m_combo->setModel(m_proxyModel); - m_combo->setMinimumContentsLength(22); + m_combo->setMinimumContentsLength(13); QSizePolicy policy = m_combo->sizePolicy(); policy.setHorizontalPolicy(QSizePolicy::Expanding); - policy.setHorizontalStretch(2); m_combo->setSizePolicy(policy); m_combo->setMaxVisibleItems(40); diff --git a/src/plugins/texteditor/texteditor.cpp b/src/plugins/texteditor/texteditor.cpp index 4fde5868b94..9d3b58f9b09 100644 --- a/src/plugins/texteditor/texteditor.cpp +++ b/src/plugins/texteditor/texteditor.cpp @@ -607,11 +607,11 @@ public: public: TextEditorWidget *q; + QWidget *m_toolBarWidget = nullptr; QToolBar *m_toolBar = nullptr; QWidget *m_stretchWidget = nullptr; LineColumnLabel *m_cursorPositionLabel = nullptr; FixedSizeClickLabel *m_fileEncodingLabel = nullptr; - QAction *m_cursorPositionLabelAction = nullptr; QAction *m_fileEncodingLabelAction = nullptr; bool m_contentsChanged = false; @@ -799,21 +799,27 @@ TextEditorWidgetPrivate::TextEditorWidgetPrivate(TextEditorWidget *parent) m_extraArea = new TextEditExtraArea(q); m_extraArea->setMouseTracking(true); + auto toolBarLayout = new QHBoxLayout; + toolBarLayout->setContentsMargins(0, 0, 0, 0); + toolBarLayout->setSpacing(0); + m_toolBarWidget = new QWidget; + m_toolBarWidget->setLayout(toolBarLayout); m_stretchWidget = new QWidget; m_stretchWidget->setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Preferred); m_toolBar = new QToolBar; m_toolBar->setSizePolicy(QSizePolicy::MinimumExpanding, QSizePolicy::Minimum); m_toolBar->addWidget(m_stretchWidget); + m_toolBarWidget->layout()->addWidget(m_toolBar); m_cursorPositionLabel = new LineColumnLabel(q); const int spacing = q->style()->pixelMetric(QStyle::PM_LayoutHorizontalSpacing) / 2; m_cursorPositionLabel->setContentsMargins(spacing, 0, spacing, 0); + m_toolBarWidget->layout()->addWidget(m_cursorPositionLabel); m_fileEncodingLabel = new FixedSizeClickLabel; m_fileEncodingLabel->setContentsMargins(spacing, 0, spacing, 0); - - m_cursorPositionLabelAction = m_toolBar->addWidget(m_cursorPositionLabel); m_fileEncodingLabelAction = m_toolBar->addWidget(m_fileEncodingLabel); + m_extraSelections.reserve(NExtraSelectionKinds); } @@ -822,7 +828,7 @@ TextEditorWidgetPrivate::~TextEditorWidgetPrivate() QObject::disconnect(m_document.data(), &TextDocument::markRemoved, this, &TextEditorWidgetPrivate::markRemoved); q->disconnect(this); - delete m_toolBar; + delete m_toolBarWidget; delete m_highlightScrollBarController; } @@ -7808,7 +7814,7 @@ IDocument *BaseTextEditor::document() QWidget *BaseTextEditor::toolBar() { - return editorWidget()->d->m_toolBar; + return editorWidget()->d->m_toolBarWidget; } QAction * TextEditorWidget::insertExtraToolBarWidget(TextEditorWidget::Side side, @@ -7821,7 +7827,7 @@ QAction * TextEditorWidget::insertExtraToolBarWidget(TextEditorWidget::Side side } if (side == Right) - return d->m_toolBar->insertWidget(d->m_cursorPositionLabelAction, widget); + return d->m_toolBar->insertWidget(d->m_fileEncodingLabelAction, widget); else return d->m_toolBar->insertWidget(d->m_toolBar->actions().constFirst(), widget); }