From dbfb5eaba17ea2ce6223167437b7ac25b9a985cc Mon Sep 17 00:00:00 2001 From: Jarek Kobus Date: Thu, 24 Nov 2016 11:49:02 +0100 Subject: Fix showing/hiding context lines spinbox in diff editor Widgets which were added to a toolbar can only be shown or hidden by calling setVisible() on their respective action, which was created while addWidget() was called. Change-Id: If09257abf5a7a054513fe01b2a1c69d584865dfa Reviewed-by: Eike Ziller --- src/plugins/diffeditor/diffeditor.cpp | 15 +++++++-------- src/plugins/diffeditor/diffeditor.h | 4 ++-- 2 files changed, 9 insertions(+), 10 deletions(-) (limited to 'src/plugins/diffeditor') diff --git a/src/plugins/diffeditor/diffeditor.cpp b/src/plugins/diffeditor/diffeditor.cpp index 0e9d7fc318..15fd745007 100644 --- a/src/plugins/diffeditor/diffeditor.cpp +++ b/src/plugins/diffeditor/diffeditor.cpp @@ -250,17 +250,16 @@ DiffEditor::DiffEditor() this, &DiffEditor::setCurrentDiffFileIndex); m_toolBar->addWidget(m_entriesComboBox); - m_contextLabel = new QLabel(m_toolBar); - - m_contextLabel->setText(tr("Context lines:")); - m_contextLabel->setContentsMargins(6, 0, 6, 0); - m_toolBar->addWidget(m_contextLabel); + QLabel *contextLabel = new QLabel(m_toolBar); + contextLabel->setText(tr("Context lines:")); + contextLabel->setContentsMargins(6, 0, 6, 0); + m_contextLabelAction = m_toolBar->addWidget(contextLabel); m_contextSpinBox = new QSpinBox(m_toolBar); m_contextSpinBox->setRange(1, 100); m_contextSpinBox->setFrame(false); m_contextSpinBox->setSizePolicy(QSizePolicy::Minimum, QSizePolicy::Expanding); // Mac Qt5 - m_toolBar->addWidget(m_contextSpinBox); + m_contextSpinBoxAction = m_toolBar->addWidget(m_contextSpinBox); m_whitespaceButtonAction = m_toolBar->addAction(tr("Ignore Whitespace")); m_whitespaceButtonAction->setCheckable(true); @@ -544,8 +543,8 @@ void DiffEditor::documentStateChanged() const bool contextVisible = !m_document->isContextLineCountForced(); m_whitespaceButtonAction->setVisible(canReload); - m_contextLabel->setVisible(canReload && contextVisible); - m_contextSpinBox->setVisible(canReload && contextVisible); + m_contextLabelAction->setVisible(canReload && contextVisible); + m_contextSpinBoxAction->setVisible(canReload && contextVisible); m_reloadAction->setVisible(canReload); } diff --git a/src/plugins/diffeditor/diffeditor.h b/src/plugins/diffeditor/diffeditor.h index bb8363187e..57541d009e 100644 --- a/src/plugins/diffeditor/diffeditor.h +++ b/src/plugins/diffeditor/diffeditor.h @@ -33,7 +33,6 @@ QT_BEGIN_NAMESPACE class QComboBox; -class QLabel; class QSpinBox; class QToolBar; class QToolButton; @@ -95,11 +94,12 @@ private: QToolBar *m_toolBar; QComboBox *m_entriesComboBox; QSpinBox *m_contextSpinBox; + QAction *m_contextSpinBoxAction = nullptr; QAction *m_toggleSyncAction; QAction *m_whitespaceButtonAction; QAction *m_toggleDescriptionAction; QAction *m_reloadAction; - QLabel *m_contextLabel; + QAction *m_contextLabelAction = nullptr; QAction *m_viewSwitcherAction; QPair m_currentFileChunk; int m_currentViewIndex; -- cgit v1.2.1