summaryrefslogtreecommitdiff
path: root/src/plugins/coreplugin
diff options
context:
space:
mode:
authorMarco Bubke <marco.bubke@theqtcompany.com>2014-11-25 11:26:56 +0100
committerMarco Bubke <marco.bubke@theqtcompany.com>2014-11-25 12:07:13 +0100
commite5c16c796e458f0117a2f024d50d9c21c1c8ddb8 (patch)
treee72d8e191a8f750fee38a9111c64522025b242d0 /src/plugins/coreplugin
parent2efc022be80785d51a044a06efb79efd23f75d89 (diff)
downloadqt-creator-e5c16c796e458f0117a2f024d50d9c21c1c8ddb8.tar.gz
Move Utils::AsynchronousMessageBox to Core::AsynchronousMessageBox
The MainWindow was not always the first window and active has to returned instead of a nullptr. Using dialogParent should fix it. Change-Id: If78edb5e9567111aa998bbe5da70b3f148a3fd16 Reviewed-by: Eike Ziller <eike.ziller@theqtcompany.com>
Diffstat (limited to 'src/plugins/coreplugin')
-rw-r--r--src/plugins/coreplugin/coreplugin.pro4
-rw-r--r--src/plugins/coreplugin/coreplugin.qbs1
-rw-r--r--src/plugins/coreplugin/messagebox.cpp72
-rw-r--r--src/plugins/coreplugin/messagebox.h50
4 files changed, 126 insertions, 1 deletions
diff --git a/src/plugins/coreplugin/coreplugin.pro b/src/plugins/coreplugin/coreplugin.pro
index 4087765631..4fcdf8c14c 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 cd7c2bd9c6..4c50a1223f 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/plugins/coreplugin/messagebox.cpp b/src/plugins/coreplugin/messagebox.cpp
new file mode 100644
index 0000000000..2fbc0da573
--- /dev/null
+++ b/src/plugins/coreplugin/messagebox.cpp
@@ -0,0 +1,72 @@
+/****************************************************************************
+**
+** Copyright (C) 2014 Digia Plc and/or its subsidiary(-ies).
+** Contact: http://www.qt-project.org/legal
+**
+** This file is part of Qt Creator.
+**
+** Commercial License Usage
+** Licensees holding valid commercial Qt licenses may use this file in
+** accordance with the commercial license agreement provided with the
+** Software or, alternatively, in accordance with the terms contained in
+** a written agreement between you and Digia. For licensing terms and
+** conditions see http://www.qt.io/licensing. For further information
+** use the contact form at http://www.qt.io/contact-us.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 or version 3 as published by the Free
+** Software Foundation and appearing in the file LICENSE.LGPLv21 and
+** LICENSE.LGPLv3 included in the packaging of this file. Please review the
+** following information to ensure the GNU Lesser General Public License
+** requirements will be met: https://www.gnu.org/licenses/lgpl.html and
+** http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Digia gives you certain additional
+** rights. These rights are described in the Digia Qt LGPL Exception
+** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
+**
+****************************************************************************/
+
+#include "messagebox.h"
+
+#include <QMessageBox>
+
+#include "icore.h"
+
+namespace Core {
+namespace AsynchronousMessageBox {
+
+namespace {
+
+void message(QMessageBox::Icon icon, const QString &title, const QString &desciption)
+{
+ QMessageBox *messageBox = new QMessageBox(icon,
+ title,
+ desciption,
+ QMessageBox::Ok,
+ 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/plugins/coreplugin/messagebox.h b/src/plugins/coreplugin/messagebox.h
new file mode 100644
index 0000000000..2452943f20
--- /dev/null
+++ b/src/plugins/coreplugin/messagebox.h
@@ -0,0 +1,50 @@
+/****************************************************************************
+**
+** Copyright (C) 2014 Digia Plc and/or its subsidiary(-ies).
+** Contact: http://www.qt-project.org/legal
+**
+** This file is part of Qt Creator.
+**
+** Commercial License Usage
+** Licensees holding valid commercial Qt licenses may use this file in
+** accordance with the commercial license agreement provided with the
+** Software or, alternatively, in accordance with the terms contained in
+** a written agreement between you and Digia. For licensing terms and
+** conditions see http://www.qt.io/licensing. For further information
+** use the contact form at http://www.qt.io/contact-us.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 or version 3 as published by the Free
+** Software Foundation and appearing in the file LICENSE.LGPLv21 and
+** LICENSE.LGPLv3 included in the packaging of this file. Please review the
+** following information to ensure the GNU Lesser General Public License
+** requirements will be met: https://www.gnu.org/licenses/lgpl.html and
+** http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Digia gives you certain additional
+** rights. These rights are described in the Digia Qt LGPL Exception
+** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
+**
+****************************************************************************/
+
+#ifndef MESSAGEBOX_H
+#define MESSAGEBOX_H
+
+#include "core_global.h"
+
+QT_BEGIN_NAMESPACE
+class QString;
+QT_END_NAMESPACE
+
+namespace Core {
+namespace AsynchronousMessageBox {
+
+ 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);
+}
+}
+
+#endif // MESSAGEBOX_H
+