diff --git a/src/plugins/coreplugin/generalsettings.cpp b/src/plugins/coreplugin/generalsettings.cpp index e57403a459e..0f0e1fd8e3f 100644 --- a/src/plugins/coreplugin/generalsettings.cpp +++ b/src/plugins/coreplugin/generalsettings.cpp @@ -29,13 +29,14 @@ #include "generalsettings.h" #include "coreconstants.h" +#include "icore.h" +#include "infobar.h" +#include "editormanager/editormanager.h" #include #include #include #include -#include -#include #include @@ -139,6 +140,8 @@ QWidget *GeneralSettings::createPage(QWidget *parent) connect(m_page->resetColorButton, SIGNAL(clicked()), this, SLOT(resetInterfaceColor())); + connect(m_page->resetWarningsButton, SIGNAL(clicked()), + this, SLOT(resetWarnings())); #ifdef Q_OS_UNIX connect(m_page->resetTerminalButton, SIGNAL(clicked()), this, SLOT(resetTerminal())); @@ -202,6 +205,12 @@ void GeneralSettings::resetInterfaceColor() m_page->colorButton->setColor(StyleHelper::DEFAULT_BASE_COLOR); } +void GeneralSettings::resetWarnings() +{ + Core::InfoBar::clearGloballySuppressed(); + QMessageBox::information(0, tr("Reset warnings"), tr("Done")); +} + void GeneralSettings::resetTerminal() { #if defined(Q_OS_UNIX) diff --git a/src/plugins/coreplugin/generalsettings.h b/src/plugins/coreplugin/generalsettings.h index c49ed593aac..e0c593288eb 100644 --- a/src/plugins/coreplugin/generalsettings.h +++ b/src/plugins/coreplugin/generalsettings.h @@ -58,6 +58,7 @@ public: private slots: void resetInterfaceColor(); + void resetWarnings(); void resetLanguage(); void showHelpForFileBrowser(); void resetFileBrowser(); diff --git a/src/plugins/coreplugin/generalsettings.ui b/src/plugins/coreplugin/generalsettings.ui index a0a838abb99..a36954345cc 100644 --- a/src/plugins/coreplugin/generalsettings.ui +++ b/src/plugins/coreplugin/generalsettings.ui @@ -107,6 +107,13 @@ + + + + Reset warnings + + + diff --git a/src/plugins/coreplugin/infobar.cpp b/src/plugins/coreplugin/infobar.cpp index 8f1ffedd527..50257f03f68 100644 --- a/src/plugins/coreplugin/infobar.cpp +++ b/src/plugins/coreplugin/infobar.cpp @@ -146,6 +146,12 @@ void InfoBar::initializeGloballySuppressed() globallySuppressed.insert(Id(id.toLatin1())); } +void InfoBar::clearGloballySuppressed() +{ + globallySuppressed.clear(); + ICore::settings()->setValue(QLatin1String(C_SUPPRESSED_WARNINGS), QStringList()); +} + InfoBarDisplay::InfoBarDisplay(QObject *parent) : QObject(parent) diff --git a/src/plugins/coreplugin/infobar.h b/src/plugins/coreplugin/infobar.h index 0d55d72070a..0232fc67a73 100644 --- a/src/plugins/coreplugin/infobar.h +++ b/src/plugins/coreplugin/infobar.h @@ -88,6 +88,7 @@ public: void clear(); static void globallySuppressInfo(Id id); static void initializeGloballySuppressed(); + static void clearGloballySuppressed(); signals: void changed();