From f7bd1277f4b1fcf005dfeed24f19bb09548a64db Mon Sep 17 00:00:00 2001 From: Daniel Teske Date: Wed, 27 Jul 2011 13:41:30 +0200 Subject: [PATCH] Only show the infobar once Change-Id: I274627999649d00efead89222bbdc325e55932b7 Reviewed-on: http://codereview.qt.nokia.com/2281 Reviewed-by: Qt Sanity Bot Reviewed-by: Oswald Buddenhagen --- src/plugins/cmakeprojectmanager/cmakeeditor.cpp | 8 +++++++- src/plugins/cmakeprojectmanager/cmakeeditor.h | 2 ++ 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/src/plugins/cmakeprojectmanager/cmakeeditor.cpp b/src/plugins/cmakeprojectmanager/cmakeeditor.cpp index c00beae44f..e21c752b55 100644 --- a/src/plugins/cmakeprojectmanager/cmakeeditor.cpp +++ b/src/plugins/cmakeprojectmanager/cmakeeditor.cpp @@ -55,7 +55,8 @@ using namespace CMakeProjectManager::Internal; // CMakeEditor::CMakeEditor(CMakeEditorWidget *editor) - : BaseTextEditor(editor) + : BaseTextEditor(editor), + m_infoBarShown(false) { setContext(Core::Context(CMakeProjectManager::Constants::C_CMAKEEDITOR, TextEditor::Constants::C_TEXTEDITOR)); @@ -78,6 +79,11 @@ QString CMakeEditor::id() const void CMakeEditor::markAsChanged() { + if (!file()->isModified()) + return; + if (m_infoBarShown) + return; + m_infoBarShown = true; Core::InfoBarEntry info(QLatin1String("CMakeEditor.RunCMake"), tr("Changes to cmake files are shown in the project tree after building.")); info.setCustomButtonInfo(tr("Build now"), this, SLOT(build())); diff --git a/src/plugins/cmakeprojectmanager/cmakeeditor.h b/src/plugins/cmakeprojectmanager/cmakeeditor.h index b0cb039efc..3b328b3262 100644 --- a/src/plugins/cmakeprojectmanager/cmakeeditor.h +++ b/src/plugins/cmakeprojectmanager/cmakeeditor.h @@ -65,6 +65,8 @@ public: private slots: void markAsChanged(); void build(); +private: + bool m_infoBarShown; }; class CMakeEditorWidget : public TextEditor::BaseTextEditorWidget -- GitLab