diff options
author | Nikolai Kosjar <nikolai.kosjar@qt.io> | 2017-02-03 11:38:15 +0100 |
---|---|---|
committer | Nikolai Kosjar <nikolai.kosjar@qt.io> | 2017-02-03 12:00:36 +0000 |
commit | 93fe64e78914b7d13b6b30093955f0a998c43b21 (patch) | |
tree | 5fef20a7edc12ed33310e6fd4f648164c26928eb | |
parent | dd3ba874b4538c698c6e8c43145bd196452a57a8 (diff) |
CppEditor: Fix highlight of '#' Button for duplication case
Change-Id: Ib97f31912c9b2d619e3b92287ca8b192604f3831
Reviewed-by: David Schulz <david.schulz@qt.io>
-rw-r--r-- | src/plugins/cppeditor/cppeditor.cpp | 17 | ||||
-rw-r--r-- | src/plugins/cppeditor/cppeditor.h | 3 | ||||
-rw-r--r-- | src/plugins/cppeditor/cppparsecontext.cpp | 4 |
3 files changed, 21 insertions, 3 deletions
diff --git a/src/plugins/cppeditor/cppeditor.cpp b/src/plugins/cppeditor/cppeditor.cpp index 54b3d5fa3ef..f12d92fbdd4 100644 --- a/src/plugins/cppeditor/cppeditor.cpp +++ b/src/plugins/cppeditor/cppeditor.cpp @@ -203,8 +203,7 @@ void CppEditorWidget::finalizeInitialization() connect(cppEditorDocument(), &CppEditorDocument::preprocessorSettingsChanged, this, [this](bool customSettings) { - d->m_preprocessorButton->setProperty("highlightWidget", customSettings); - d->m_preprocessorButton->update(); + updateWidgetHighlighting(d->m_preprocessorButton, customSettings); }); // set up function declaration - definition link @@ -267,6 +266,9 @@ void CppEditorWidget::finalizeInitializationAfterDuplication(TextEditorWidget *o const Id selectionKind = CodeWarningsSelection; setExtraSelections(selectionKind, cppEditorWidget->extraSelections(selectionKind)); + if (isWidgetHighlighted(cppEditorWidget->d->m_preprocessorButton)) + updateWidgetHighlighting(d->m_preprocessorButton, true); + d->m_parseContextWidget->syncToModel(); d->m_parseContextAction->setVisible( d->m_cppEditorDocument->parseContextModel().areMultipleAvailable()); @@ -418,6 +420,17 @@ bool CppEditorWidget::selectBlockDown() return changed; } +void CppEditorWidget::updateWidgetHighlighting(QWidget *widget, bool highlight) +{ + widget->setProperty("highlightWidget", highlight); + widget->update(); +} + +bool CppEditorWidget::isWidgetHighlighted(QWidget *widget) +{ + return widget->property("highlightWidget").toBool(); +} + void CppEditorWidget::renameSymbolUnderCursor() { if (refactoringEngine()) diff --git a/src/plugins/cppeditor/cppeditor.h b/src/plugins/cppeditor/cppeditor.h index afedecbf458..90ad0e603ca 100644 --- a/src/plugins/cppeditor/cppeditor.h +++ b/src/plugins/cppeditor/cppeditor.h @@ -95,6 +95,9 @@ public: bool selectBlockUp() override; bool selectBlockDown() override; + static void updateWidgetHighlighting(QWidget *widget, bool highlight); + static bool isWidgetHighlighted(QWidget *widget); + protected: bool event(QEvent *e) override; void contextMenuEvent(QContextMenuEvent *) override; diff --git a/src/plugins/cppeditor/cppparsecontext.cpp b/src/plugins/cppeditor/cppparsecontext.cpp index 7be8b5beb10..1519f0e71af 100644 --- a/src/plugins/cppeditor/cppparsecontext.cpp +++ b/src/plugins/cppeditor/cppparsecontext.cpp @@ -25,6 +25,8 @@ #include "cppparsecontext.h" +#include "cppeditor.h" + #include <QAction> #include <QDir> #include <QDebug> @@ -165,7 +167,7 @@ void ParseContextWidget::syncToModel() const bool isPreferred = m_parseContextModel.isCurrentPreferred(); m_clearPreferredAction->setEnabled(isPreferred); - QComboBox::setProperty("highlightWidget", isPreferred); + CppEditorWidget::updateWidgetHighlighting(this, isPreferred); } } // namespace Internal |