\o Qt.RightToLeft - Text and graphics elements should be positioned
from right to left.
\endlist
+
+ \row
+ \o \c application.inputPanel
+ \o
+ This read-only property allows access to application's QInputPanel object
+ and all its properties and slots. See the QInputPanel documentation for
+ further details.
\endtable
The following example uses the \c application object to indicate
#include "qdeclarativeapplication_p.h"
#include <private/qobject_p.h>
#include <QtGui/QGuiApplication>
+#include <QtGui/QInputPanel>
QT_BEGIN_NAMESPACE
return d->layoutDirection;
}
+QObject *QDeclarativeApplication::inputPanel() const
+{
+ return qApp ? qApp->inputPanel() : 0;
+}
+
bool QDeclarativeApplication::eventFilter(QObject *obj, QEvent *event)
{
Q_UNUSED(obj)
Q_OBJECT
Q_PROPERTY(bool active READ active NOTIFY activeChanged)
Q_PROPERTY(Qt::LayoutDirection layoutDirection READ layoutDirection NOTIFY layoutDirectionChanged)
+ Q_PROPERTY(QObject *inputPanel READ inputPanel CONSTANT)
public:
explicit QDeclarativeApplication(QObject *parent = 0);
virtual ~QDeclarativeApplication();
bool active() const;
Qt::LayoutDirection layoutDirection() const;
+ QObject *inputPanel() const;
protected:
bool eventFilter(QObject *obj, QEvent *event);
#include "private/qdeclarativexmllistmodel_p.h"
#endif
#include <QtCore/qcoreapplication.h>
+#include <QtGui/QInputPanel>
void QDeclarativeUtilModule::registerBaseTypes(const char *uri, int versionMajor, int versionMinor)
{
void QDeclarativeUtilModule::defineModule()
{
qmlRegisterUncreatableType<QDeclarativeApplication>("QtQuick",2,0,"Application", QDeclarativeApplication::tr("Application is an abstract class"));
-
+ qmlRegisterUncreatableType<QInputPanel>("QtQuick",2,0,"InputPanel", QInputPanel::tr("InputPanel is an abstract class"));
qmlRegisterUncreatableType<QDeclarativeAbstractAnimation>("QtQuick",2,0,"Animation",QDeclarativeAbstractAnimation::tr("Animation is an abstract class"));
qmlRegisterType<QDeclarativeBehavior>("QtQuick",2,0,"Behavior");
#include <QtDeclarative/qdeclarativeengine.h>
#include <QtDeclarative/qsgitem.h>
#include <QtDeclarative/qsgview.h>
+#include <QtGui/qinputpanel.h>
class tst_qdeclarativeapplication : public QObject
{
private slots:
void active();
void layoutDirection();
+ void inputPanel();
private:
QDeclarativeEngine engine;
QCOMPARE(Qt::LayoutDirection(item->property("layoutDirection").toInt()), Qt::LeftToRight);
}
+void tst_qdeclarativeapplication::inputPanel()
+{
+ QDeclarativeComponent component(&engine);
+ component.setData("import QtQuick 2.0; Item { property variant inputPanel: Qt.application.inputPanel }", QUrl::fromLocalFile(""));
+ QSGItem *item = qobject_cast<QSGItem *>(component.create());
+ QVERIFY(item);
+ QSGView view;
+ item->setParentItem(view.rootObject());
+
+ // check that the inputPanel property maches with application's input panel
+ QCOMPARE(qvariant_cast<QObject*>(item->property("inputPanel")), qApp->inputPanel());
+}
+
QTEST_MAIN(tst_qdeclarativeapplication)
#include "tst_qdeclarativeapplication.moc"