diff --git a/src/plugins/cppeditor/cppeditor.cpp b/src/plugins/cppeditor/cppeditor.cpp index dcec76f36735a6532bb6267b303f73be42c823fd..53a471bae0a6d5131f35df071abb3bd141195d5a 100644 --- a/src/plugins/cppeditor/cppeditor.cpp +++ b/src/plugins/cppeditor/cppeditor.cpp @@ -81,6 +81,7 @@ #include <QtCore/QTime> #include <QtCore/QTimer> #include <QtCore/QStack> +#include <QtCore/QSettings> #include <QtGui/QAction> #include <QtGui/QApplication> #include <QtGui/QHeaderView> @@ -765,8 +766,32 @@ void CPPEditor::renameUsages() renameUsagesNow(); } +bool CPPEditor::showWarningMessage() const +{ + // Restore settings + QSettings *settings = Core::ICore::instance()->settings(); + settings->beginGroup(QLatin1String("CppEditor")); + settings->beginGroup(QLatin1String("Rename")); + const bool showWarningMessage = settings->value(QLatin1String("ShowWarningMessage"), true).toBool(); + settings->endGroup(); + settings->endGroup(); + return showWarningMessage; +} + +void CPPEditor::setShowWarningMessage(bool showWarningMessage) +{ + // Restore settings + QSettings *settings = Core::ICore::instance()->settings(); + settings->beginGroup(QLatin1String("CppEditor")); + settings->beginGroup(QLatin1String("Rename")); + settings->setValue(QLatin1String("ShowWarningMessage"), showWarningMessage); + settings->endGroup(); + settings->endGroup(); +} + void CPPEditor::hideRenameNotification() { + setShowWarningMessage(false); Core::EditorManager::instance()->hideEditorInfoBar(QLatin1String("CppEditor.Rename")); } @@ -774,10 +799,12 @@ void CPPEditor::renameUsagesNow() { if (Symbol *canonicalSymbol = markSymbols()) { if (canonicalSymbol->identifier() != 0) { - Core::EditorManager::instance()->showEditorInfoBar(QLatin1String("CppEditor.Rename"), - tr("This change cannot be undone."), - tr("Yes, I know what I am doing."), - this, SLOT(hideRenameNotification())); + if (showWarningMessage()) { + Core::EditorManager::instance()->showEditorInfoBar(QLatin1String("CppEditor.Rename"), + tr("This change cannot be undone."), + tr("Yes, I know what I am doing."), + this, SLOT(hideRenameNotification())); + } m_modelManager->renameUsages(canonicalSymbol); } diff --git a/src/plugins/cppeditor/cppeditor.h b/src/plugins/cppeditor/cppeditor.h index c0c323a93d9c644cb79ad57a59c85b7da3b1703f..9518e27a21e67d98998d4d8435571123a6272937 100644 --- a/src/plugins/cppeditor/cppeditor.h +++ b/src/plugins/cppeditor/cppeditor.h @@ -235,6 +235,9 @@ private Q_SLOTS: void updateSemanticInfo(const SemanticInfo &semanticInfo); private: + bool showWarningMessage() const; + void setShowWarningMessage(bool showWarningMessage); + CPlusPlus::Symbol *markSymbols(); bool sortedMethodOverview() const; CPlusPlus::Symbol *findDefinition(CPlusPlus::Symbol *symbol);