Qt
Internal/Contributor docs for the Qt SDK. Note: These are NOT official API docs; those are found at https://doc.qt.io/
Loading...
Searching...
No Matches
qwidgetplatformmessagedialog.cpp
Go to the documentation of this file.
1// Copyright (C) 2017 The Qt Company Ltd.
2// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
3
6
7#include <QtWidgets/qmessagebox.h>
8#include <QtWidgets/qabstractbutton.h>
9
11
13 : m_dialog(new QMessageBox)
14{
15 setParent(parent);
16
17 connect(m_dialog.data(), &QMessageBox::accepted, this, &QPlatformDialogHelper::accept);
18 connect(m_dialog.data(), &QMessageBox::rejected, this, &QPlatformDialogHelper::reject);
19 connect(m_dialog.data(), &QMessageBox::buttonClicked, this, [this](QAbstractButton *button) {
20 QMessageBox::ButtonRole role = m_dialog->buttonRole(button);
21 QMessageBox::StandardButton standardButton = m_dialog->standardButton(button);
22 emit clicked(static_cast<StandardButton>(standardButton), static_cast<ButtonRole>(role));
23 });
24}
25
30{
31 m_dialog->exec();
32}
33
34bool QWidgetPlatformMessageDialog::show(Qt::WindowFlags flags, Qt::WindowModality modality, QWindow *parent)
35{
36 QSharedPointer<QMessageDialogOptions> options = QPlatformMessageDialogHelper::options();
37 m_dialog->setWindowTitle(options->windowTitle());
38 m_dialog->setIcon(static_cast<QMessageBox::Icon>(options->standardIcon()));
39 m_dialog->setText(options->text());
40 m_dialog->setInformativeText(options->informativeText());
41#if QT_CONFIG(textedit)
42 m_dialog->setDetailedText(options->detailedText());
43#endif
44 m_dialog->setStandardButtons(static_cast<QMessageBox::StandardButtons>(int(options->standardButtons())));
45
46 return QWidgetPlatformDialog::show(m_dialog.data(), flags, modality, parent);
47}
48
50{
51 m_dialog->hide();
52}
53
54QT_END_NAMESPACE
55
56#include "moc_qwidgetplatformmessagedialog_p.cpp"
\inmodule QtCore
Definition qobject.h:105