aboutsummaryrefslogtreecommitdiffstats
path: root/src/plugins
diff options
context:
space:
mode:
authorNikolai Kosjar <nikolai.kosjar@qt.io>2017-02-03 11:38:15 +0100
committerNikolai Kosjar <nikolai.kosjar@qt.io>2017-02-03 12:00:36 +0000
commit93fe64e78914b7d13b6b30093955f0a998c43b21 (patch)
tree5fef20a7edc12ed33310e6fd4f648164c26928eb /src/plugins
parentdd3ba874b4538c698c6e8c43145bd196452a57a8 (diff)
CppEditor: Fix highlight of '#' Button for duplication case
Change-Id: Ib97f31912c9b2d619e3b92287ca8b192604f3831 Reviewed-by: David Schulz <david.schulz@qt.io>
Diffstat (limited to 'src/plugins')
-rw-r--r--src/plugins/cppeditor/cppeditor.cpp17
-rw-r--r--src/plugins/cppeditor/cppeditor.h3
-rw-r--r--src/plugins/cppeditor/cppparsecontext.cpp4
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