From f3effb50dcf8bf1530eedf6cbe62f1fb99f24e1e Mon Sep 17 00:00:00 2001 From: Kevin Krammer Date: Wed, 16 Jan 2013 15:17:44 +0100 Subject: [PATCH] Ported message box --- lib/declarativemessagebox.cpp | 8 ++++---- lib/declarativemessagebox_p.h | 9 ++++----- lib/declarativewidgetsdocument.cpp | 3 +-- 3 files changed, 9 insertions(+), 11 deletions(-) diff --git a/lib/declarativemessagebox.cpp b/lib/declarativemessagebox.cpp index 0e2559d..30e3aa7 100644 --- a/lib/declarativemessagebox.cpp +++ b/lib/declarativemessagebox.cpp @@ -103,14 +103,14 @@ int DeclarativeMessageBoxAttached::warning(const QString &title, const QString & return QMessageBox::warning(bestParentWindow(), title, text, d->buttons, d->defaultButton); } -DeclarativeMessageBox::DeclarativeMessageBox(QObject *parent) : DeclarativeObjectProxy(parent) +Q_DECLARE_METATYPE(Qt::WindowFlags) + +DeclarativeMessageBox::DeclarativeMessageBox(QWidget *parent) : QMessageBox(parent) { - connectAllSignals(m_proxiedObject, this); + setProperty("originalWindowFlags", QVariant::fromValue(windowFlags())); } DeclarativeMessageBoxAttached *DeclarativeMessageBox::qmlAttachedProperties(QObject *parent) { return new DeclarativeMessageBoxAttached(parent); } - -CUSTOM_METAOBJECT(DeclarativeMessageBox, QMessageBox) diff --git a/lib/declarativemessagebox_p.h b/lib/declarativemessagebox_p.h index 1534070..0becb91 100644 --- a/lib/declarativemessagebox_p.h +++ b/lib/declarativemessagebox_p.h @@ -21,10 +21,9 @@ #ifndef DECLARATIVEMESSAGEBOX_P_H #define DECLARATIVEMESSAGEBOX_P_H -#include "declarativeobjectproxy_p.h" - #include "staticdialogmethodattached_p.h" +#include #include class DeclarativeMessageBoxAttached : public StaticDialogMethodAttached @@ -60,12 +59,12 @@ class DeclarativeMessageBoxAttached : public StaticDialogMethodAttached Private *const d; }; -class DeclarativeMessageBox : public DeclarativeObjectProxy +class DeclarativeMessageBox : public QMessageBox { - DECLARATIVE_OBJECT + Q_OBJECT public: - explicit DeclarativeMessageBox(QObject *parent = 0); + explicit DeclarativeMessageBox(QWidget *parent = 0); static DeclarativeMessageBoxAttached *qmlAttachedProperties(QObject *parent); }; diff --git a/lib/declarativewidgetsdocument.cpp b/lib/declarativewidgetsdocument.cpp index cacdf20..94182df 100644 --- a/lib/declarativewidgetsdocument.cpp +++ b/lib/declarativewidgetsdocument.cpp @@ -131,8 +131,6 @@ DeclarativeWidgetsDocument::DeclarativeWidgetsDocument(const QUrl &url, QObject qmlRegisterType("QtGui", 1, 0, "Label"); qmlRegisterType("QtGui", 1, 0, "LCDNumber"); qmlRegisterType("QtGui", 1, 0, "ListView"); - qmlRegisterType(); - qmlRegisterType("QtGui", 1, 0, "MessageBox"); qmlRegisterType("QtGui", 1, 0, "PlainTextEdit"); qmlRegisterType("QtGui", 1, 0, "ProgressBar"); qmlRegisterType("QtGui", 1, 0, "ScrollArea"); @@ -176,6 +174,7 @@ DeclarativeWidgetsDocument::DeclarativeWidgetsDocument(const QUrl &url, QObject qmlRegisterExtendedType("QtGui", 1, 0, "MainWindow"); qmlRegisterExtendedType("QtGui", 1, 0, "Menu"); qmlRegisterExtendedType("QtGui", 1, 0, "MenuBar"); + qmlRegisterExtendedType("QtGui", 1, 0, "MessageBox"); qmlRegisterExtendedType("QtGui", 1, 0, "PushButton"); qmlRegisterExtendedType("QtGui", 1, 0, "RadioButton"); qmlRegisterExtendedType("QtGui", 1, 0, "StatusBar"); -- 1.7.2.5