From 66a353067dede13587e91fc29d4931cd9b644605 Mon Sep 17 00:00:00 2001 From: Roberto Raggi <roberto.raggi@nokia.com> Date: Thu, 5 Nov 2009 16:50:24 +0100 Subject: [PATCH] Don't show the warning message (about the dangerous world of code refactoring) if the user pressed the "Yes, I know I am doing" button. --- src/plugins/cppeditor/cppeditor.cpp | 35 +++++++++++++++++++++++++---- src/plugins/cppeditor/cppeditor.h | 3 +++ 2 files changed, 34 insertions(+), 4 deletions(-) diff --git a/src/plugins/cppeditor/cppeditor.cpp b/src/plugins/cppeditor/cppeditor.cpp index dcec76f3673..53a471bae0a 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 c0c323a93d9..9518e27a21e 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); -- GitLab