summaryrefslogtreecommitdiffstats
path: root/src/gui/kernel/qplatformdialoghelper.cpp
diff options
context:
space:
mode:
authorShawn Rutledge <shawn.rutledge@digia.com>2013-08-29 09:30:32 +0200
committerThe Qt Project <gerrit-noreply@qt-project.org>2013-09-13 11:47:06 +0200
commit209a5f1e8dc3e2275f225823ad9edfee09ba756c (patch)
tree22614b82f0ffce796964f526507e681153bff76e /src/gui/kernel/qplatformdialoghelper.cpp
parent060b862b614285aae88540895736a57eb8563102 (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.cpp117
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