diff --git a/src/libs/utils/utils-lib.pri b/src/libs/utils/utils-lib.pri index c2ba531e508..9b7e25b88bf 100644 --- a/src/libs/utils/utils-lib.pri +++ b/src/libs/utils/utils-lib.pri @@ -93,8 +93,7 @@ SOURCES += $$PWD/environment.cpp \ $$PWD/treeviewcombobox.cpp \ $$PWD/proxycredentialsdialog.cpp \ $$PWD/macroexpander.cpp \ - $$PWD/theme/theme.cpp \ - $$PWD/messagebox.cpp + $$PWD/theme/theme.cpp win32:SOURCES += $$PWD/consoleprocess_win.cpp else:SOURCES += $$PWD/consoleprocess_unix.cpp @@ -193,8 +192,7 @@ HEADERS += \ $$PWD/proxycredentialsdialog.h \ $$PWD/macroexpander.h \ $$PWD/theme/theme.h \ - $$PWD/theme/theme_p.h \ - $$PWD/ messagebox.h + $$PWD/theme/theme_p.h FORMS += $$PWD/filewizardpage.ui \ $$PWD/projectintropage.ui \ diff --git a/src/libs/utils/utils.qbs b/src/libs/utils/utils.qbs index fd919053c0c..4a79fa9b4f7 100644 --- a/src/libs/utils/utils.qbs +++ b/src/libs/utils/utils.qbs @@ -106,8 +106,6 @@ QtcLibrary { "listutils.h", "macroexpander.cpp", "macroexpander.h", - "messagebox.cpp", - "messagebox.h", "multitask.h", "navigationtreeview.cpp", "navigationtreeview.h", diff --git a/src/plugins/coreplugin/coreplugin.pro b/src/plugins/coreplugin/coreplugin.pro index 40877656315..4fcdf8c14c2 100644 --- a/src/plugins/coreplugin/coreplugin.pro +++ b/src/plugins/coreplugin/coreplugin.pro @@ -110,7 +110,8 @@ SOURCES += corejsextensions.cpp \ themeeditor/colorrole.cpp \ themeeditor/themesettingstablemodel.cpp \ themeeditor/sectionedtablemodel.cpp \ - themeeditor/themesettingsitemdelegate.cpp + themeeditor/themesettingsitemdelegate.cpp \ + messagebox.cpp HEADERS += corejsextensions.h \ mainwindow.h \ @@ -226,6 +227,7 @@ HEADERS += corejsextensions.h \ themeeditor/themesettingstablemodel.h \ themeeditor/sectionedtablemodel.h \ themeeditor/themesettingsitemdelegate.h \ + messagebox.h FORMS += dialogs/newdialog.ui \ dialogs/saveitemsdialog.ui \ diff --git a/src/plugins/coreplugin/coreplugin.qbs b/src/plugins/coreplugin/coreplugin.qbs index cd7c2bd9c65..4c50a1223f1 100644 --- a/src/plugins/coreplugin/coreplugin.qbs +++ b/src/plugins/coreplugin/coreplugin.qbs @@ -71,6 +71,7 @@ QtcPlugin { "jsexpander.cpp", "jsexpander.h", "mainwindow.cpp", "mainwindow.h", "manhattanstyle.cpp", "manhattanstyle.h", + "messagebox.cpp", "messagebox.h", "messagemanager.cpp", "messagemanager.h", "messageoutputwindow.cpp", "messageoutputwindow.h", "mimedatabase.cpp", "mimedatabase.h", diff --git a/src/libs/utils/messagebox.cpp b/src/plugins/coreplugin/messagebox.cpp similarity index 78% rename from src/libs/utils/messagebox.cpp rename to src/plugins/coreplugin/messagebox.cpp index 6ba3fb1a1b6..2fbc0da573e 100644 --- a/src/libs/utils/messagebox.cpp +++ b/src/plugins/coreplugin/messagebox.cpp @@ -31,37 +31,42 @@ #include "messagebox.h" #include -#include -namespace Utils { +#include "icore.h" + +namespace Core { namespace AsynchronousMessageBox { namespace { -QWidget *dialogParent() -{ - QWidget *active = QApplication::activeModalWidget(); - if (!active) { - QList topLevelWidgets = QApplication::topLevelWidgets(); - if (!topLevelWidgets.isEmpty()) - return topLevelWidgets.first(); - } - - return nullptr; -} -} -void warning(const QString &title, const QString &desciption) +void message(QMessageBox::Icon icon, const QString &title, const QString &desciption) { - QMessageBox *messageBox = new QMessageBox(QMessageBox::Warning, + QMessageBox *messageBox = new QMessageBox(icon, title, desciption, QMessageBox::Ok, - dialogParent()); + Core::ICore::dialogParent()); messageBox->setAttribute(Qt::WA_DeleteOnClose); messageBox->setModal(true); messageBox->show(); } +} + +void warning(const QString &title, const QString &desciption) +{ + message(QMessageBox::Warning, title, desciption); +} + +void information(const QString &title, const QString &desciption) +{ + message(QMessageBox::Information, title, desciption); +} + +void critical(const QString &title, const QString &desciption) +{ + message(QMessageBox::Critical, title, desciption); +} +} } -} diff --git a/src/libs/utils/messagebox.h b/src/plugins/coreplugin/messagebox.h similarity index 85% rename from src/libs/utils/messagebox.h rename to src/plugins/coreplugin/messagebox.h index 9a1ad76a764..2452943f20a 100644 --- a/src/libs/utils/messagebox.h +++ b/src/plugins/coreplugin/messagebox.h @@ -31,16 +31,18 @@ #ifndef MESSAGEBOX_H #define MESSAGEBOX_H -#include "utils_global.h" +#include "core_global.h" QT_BEGIN_NAMESPACE class QString; QT_END_NAMESPACE -namespace Utils { +namespace Core { namespace AsynchronousMessageBox { - QTCREATOR_UTILS_EXPORT void warning(const QString &title, const QString &desciption); + CORE_EXPORT void warning(const QString &title, const QString &desciption); + CORE_EXPORT void information(const QString &title, const QString &desciption); + CORE_EXPORT void critical(const QString &title, const QString &desciption); } }