diff options
author | Shawn Rutledge <shawn.rutledge@digia.com> | 2013-08-29 09:30:32 +0200 |
---|---|---|
committer | The Qt Project <gerrit-noreply@qt-project.org> | 2013-09-13 11:47:06 +0200 |
commit | 209a5f1e8dc3e2275f225823ad9edfee09ba756c (patch) | |
tree | 22614b82f0ffce796964f526507e681153bff76e /src/gui/kernel/qplatformdialoghelper.cpp | |
parent | 060b862b614285aae88540895736a57eb8563102 (diff) |
Adding QPlatformMessageDialogHelper and QMessageDialogOptions
We plan to add support for native message/alert dialogs on Android
and iOS because it's otherwise impossible to have a true popup window.
Then we might as well have native message/alert dialogs on other
platforms too. It will become an alternative implementation behind
QMessageBox and perhaps QErrorMessage.
Task-number: QTBUG-30883
Task-number: QTBUG-29462
Change-Id: I73dcfc6438e696189b6d37091874c7ad69b4ec68
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@digia.com>
Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@digia.com>
Diffstat (limited to 'src/gui/kernel/qplatformdialoghelper.cpp')
-rw-r--r-- | src/gui/kernel/qplatformdialoghelper.cpp | 117 |
1 files changed, 117 insertions, 0 deletions
diff --git a/src/gui/kernel/qplatformdialoghelper.cpp b/src/gui/kernel/qplatformdialoghelper.cpp index f297236655..fe5db27117 100644 --- a/src/gui/kernel/qplatformdialoghelper.cpp +++ b/src/gui/kernel/qplatformdialoghelper.cpp @@ -596,4 +596,121 @@ QStringList QPlatformFileDialogHelper::cleanFilterList(const QString &filter) return f.split(QLatin1Char(' '), QString::SkipEmptyParts); } +// Message dialog + +class QMessageDialogOptionsPrivate : public QSharedData +{ +public: + QMessageDialogOptionsPrivate() : + icon(QMessageDialogOptions::NoIcon), + buttons(QMessageDialogOptions::Ok) + {} + + QString windowTitle; + QMessageDialogOptions::Icon icon; + QString text; + QString informativeText; + QString detailedText; + QMessageDialogOptions::StandardButtons buttons; +}; + +QMessageDialogOptions::QMessageDialogOptions() : d(new QMessageDialogOptionsPrivate) +{ +} + +QMessageDialogOptions::QMessageDialogOptions(const QMessageDialogOptions &rhs) : d(rhs.d) +{ +} + +QMessageDialogOptions &QMessageDialogOptions::operator=(const QMessageDialogOptions &rhs) +{ + if (this != &rhs) + d = rhs.d; + return *this; +} + +QMessageDialogOptions::~QMessageDialogOptions() +{ +} + +QString QMessageDialogOptions::windowTitle() const +{ + return d->windowTitle; +} + +void QMessageDialogOptions::setWindowTitle(const QString &title) +{ + d->windowTitle = title; +} + +QMessageDialogOptions::Icon QMessageDialogOptions::icon() const +{ + return d->icon; +} + +void QMessageDialogOptions::setIcon(Icon icon) +{ + d->icon = icon; +} + +QString QMessageDialogOptions::text() const +{ + return d->text; +} + +void QMessageDialogOptions::setText(const QString &text) +{ + d->text = text; +} + +QString QMessageDialogOptions::informativeText() const +{ + return d->informativeText; +} + +void QMessageDialogOptions::setInformativeText(const QString &informativeText) +{ + d->informativeText = informativeText; +} + +QString QMessageDialogOptions::detailedText() const +{ + return d->detailedText; +} + +void QMessageDialogOptions::setDetailedText(const QString &detailedText) +{ + d->detailedText = detailedText; +} + +void QMessageDialogOptions::setStandardButtons(StandardButtons buttons) +{ + d->buttons = buttons; +} + +QMessageDialogOptions::StandardButtons QMessageDialogOptions::standardButtons() const +{ + return d->buttons; +} + + +/*! + \class QPlatformMessageDialogHelper + \since 5.0 + \internal + \ingroup qpa + + \brief The QPlatformMessageDialogHelper class allows for platform-specific customization of Message dialogs. + +*/ +const QSharedPointer<QMessageDialogOptions> &QPlatformMessageDialogHelper::options() const +{ + return m_options; +} + +void QPlatformMessageDialogHelper::setOptions(const QSharedPointer<QMessageDialogOptions> &options) +{ + m_options = options; +} + QT_END_NAMESPACE |