From e98161b0062169b533eb2e11567ba28165a1141c Mon Sep 17 00:00:00 2001 From: Roland Wolf Date: Mon, 6 Sep 2010 12:30:07 +0200 Subject: compilation with namespaces was broken. fixed --- examples/tutorials/modelview/3_changingmodel/mymodel.cpp | 2 -- examples/tutorials/modelview/3_changingmodel/mymodel.h | 2 +- 2 files changed, 1 insertion(+), 3 deletions(-) diff --git a/examples/tutorials/modelview/3_changingmodel/mymodel.cpp b/examples/tutorials/modelview/3_changingmodel/mymodel.cpp index 42915b0..d82f00d 100755 --- a/examples/tutorials/modelview/3_changingmodel/mymodel.cpp +++ b/examples/tutorials/modelview/3_changingmodel/mymodel.cpp @@ -38,8 +38,6 @@ ** ****************************************************************************/ -#include -#include #include #include "mymodel.h" diff --git a/examples/tutorials/modelview/3_changingmodel/mymodel.h b/examples/tutorials/modelview/3_changingmodel/mymodel.h index 47b026e..29e28c8 100755 --- a/examples/tutorials/modelview/3_changingmodel/mymodel.h +++ b/examples/tutorials/modelview/3_changingmodel/mymodel.h @@ -42,8 +42,8 @@ #define MYMODEL_H #include +#include -class QTimer; // forward declaration class MyModel : public QAbstractTableModel { -- cgit v0.12 From 461c27265a812ccadb707151afbf22a1874cce04 Mon Sep 17 00:00:00 2001 From: Roland Wolf Date: Mon, 6 Sep 2010 16:23:27 +0200 Subject: fix for compilation with namespace --- examples/tutorials/modelview/3_changingmodel/mymodel.h | 6 +++++- examples/tutorials/modelview/5_edit/mainwindow.h | 6 +++++- examples/tutorials/modelview/6_treeview/mainwindow.h | 8 ++++++-- examples/tutorials/modelview/7_selections/mainwindow.h | 8 ++++++-- 4 files changed, 22 insertions(+), 6 deletions(-) diff --git a/examples/tutorials/modelview/3_changingmodel/mymodel.h b/examples/tutorials/modelview/3_changingmodel/mymodel.h index 87c3dba..91e3cb9 100755 --- a/examples/tutorials/modelview/3_changingmodel/mymodel.h +++ b/examples/tutorials/modelview/3_changingmodel/mymodel.h @@ -42,7 +42,11 @@ #define MYMODEL_H #include -#include + +QT_BEGIN_NAMESPACE // QT_BEGIN_NAMESPACE / QT_END_NAMESPACE are not needed in Qt user code +class QTimer; // forward declaration +QT_END_NAMESPACE + class MyModel : public QAbstractTableModel { diff --git a/examples/tutorials/modelview/5_edit/mainwindow.h b/examples/tutorials/modelview/5_edit/mainwindow.h index ac5b77b..41b15d1 100755 --- a/examples/tutorials/modelview/5_edit/mainwindow.h +++ b/examples/tutorials/modelview/5_edit/mainwindow.h @@ -42,7 +42,11 @@ #define MAINWINDOW_H #include -#include + +QT_BEGIN_NAMESPACE // QT_BEGIN_NAMESPACE / QT_END_NAMESPACE are not needed in Qt user code +class QTableView; //forward declaration +QT_END_NAMESPACE + class MainWindow : public QMainWindow { diff --git a/examples/tutorials/modelview/6_treeview/mainwindow.h b/examples/tutorials/modelview/6_treeview/mainwindow.h index 4c4ddb0..dcc9284 100755 --- a/examples/tutorials/modelview/6_treeview/mainwindow.h +++ b/examples/tutorials/modelview/6_treeview/mainwindow.h @@ -42,8 +42,12 @@ #define MAINWINDOW_H #include -#include -#include + +QT_BEGIN_NAMESPACE // QT_BEGIN_NAMESPACE / QT_END_NAMESPACE are not needed in Qt user code +class QTreeView; //forward declarations +class QStandardItemModel; +class QStandardItem; +QT_END_NAMESPACE class MainWindow : public QMainWindow diff --git a/examples/tutorials/modelview/7_selections/mainwindow.h b/examples/tutorials/modelview/7_selections/mainwindow.h index a8f8488..5dc973c 100755 --- a/examples/tutorials/modelview/7_selections/mainwindow.h +++ b/examples/tutorials/modelview/7_selections/mainwindow.h @@ -42,8 +42,12 @@ #define MAINWINDOW_H #include -#include -#include + +QT_BEGIN_NAMESPACE // QT_BEGIN_NAMESPACE / QT_END_NAMESPACE are not needed in Qt user code +class QTreeView; //forward declarations +class QStandardItemModel; +class QItemSelection; +QT_END_NAMESPACE class MainWindow : public QMainWindow -- cgit v0.12 From c5a7645007947e6ef00f69d2984e4ee6203cd60d Mon Sep 17 00:00:00 2001 From: Roland Wolf Date: Tue, 7 Sep 2010 11:32:16 +0200 Subject: minor formatting fix --- examples/tutorials/modelview/6_treeview/mainwindow.h | 2 +- examples/tutorials/modelview/7_selections/mainwindow.h | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/examples/tutorials/modelview/6_treeview/mainwindow.h b/examples/tutorials/modelview/6_treeview/mainwindow.h index dcc9284..16d3140 100755 --- a/examples/tutorials/modelview/6_treeview/mainwindow.h +++ b/examples/tutorials/modelview/6_treeview/mainwindow.h @@ -43,7 +43,7 @@ #include -QT_BEGIN_NAMESPACE // QT_BEGIN_NAMESPACE / QT_END_NAMESPACE are not needed in Qt user code +QT_BEGIN_NAMESPACE // QT_BEGIN_NAMESPACE / QT_END_NAMESPACE are not needed in Qt user code class QTreeView; //forward declarations class QStandardItemModel; class QStandardItem; diff --git a/examples/tutorials/modelview/7_selections/mainwindow.h b/examples/tutorials/modelview/7_selections/mainwindow.h index 5dc973c..0d2dd0e 100755 --- a/examples/tutorials/modelview/7_selections/mainwindow.h +++ b/examples/tutorials/modelview/7_selections/mainwindow.h @@ -43,7 +43,7 @@ #include -QT_BEGIN_NAMESPACE // QT_BEGIN_NAMESPACE / QT_END_NAMESPACE are not needed in Qt user code +QT_BEGIN_NAMESPACE // QT_BEGIN_NAMESPACE / QT_END_NAMESPACE are not needed in Qt user code class QTreeView; //forward declarations class QStandardItemModel; class QItemSelection; -- cgit v0.12 From 2f50f7e98413a375c843dba174e8a7b92906a117 Mon Sep 17 00:00:00 2001 From: Roland Wolf Date: Mon, 6 Sep 2010 16:23:27 +0200 Subject: fix for compilation with namespace --- examples/tutorials/modelview/6_treeview/mainwindow.h | 2 +- examples/tutorials/modelview/7_selections/mainwindow.h | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/examples/tutorials/modelview/6_treeview/mainwindow.h b/examples/tutorials/modelview/6_treeview/mainwindow.h index 16d3140..dcc9284 100755 --- a/examples/tutorials/modelview/6_treeview/mainwindow.h +++ b/examples/tutorials/modelview/6_treeview/mainwindow.h @@ -43,7 +43,7 @@ #include -QT_BEGIN_NAMESPACE // QT_BEGIN_NAMESPACE / QT_END_NAMESPACE are not needed in Qt user code +QT_BEGIN_NAMESPACE // QT_BEGIN_NAMESPACE / QT_END_NAMESPACE are not needed in Qt user code class QTreeView; //forward declarations class QStandardItemModel; class QStandardItem; diff --git a/examples/tutorials/modelview/7_selections/mainwindow.h b/examples/tutorials/modelview/7_selections/mainwindow.h index 0d2dd0e..5dc973c 100755 --- a/examples/tutorials/modelview/7_selections/mainwindow.h +++ b/examples/tutorials/modelview/7_selections/mainwindow.h @@ -43,7 +43,7 @@ #include -QT_BEGIN_NAMESPACE // QT_BEGIN_NAMESPACE / QT_END_NAMESPACE are not needed in Qt user code +QT_BEGIN_NAMESPACE // QT_BEGIN_NAMESPACE / QT_END_NAMESPACE are not needed in Qt user code class QTreeView; //forward declarations class QStandardItemModel; class QItemSelection; -- cgit v0.12 From dea1c74bfe9006ee23ff08d0f99614bfdddb42a8 Mon Sep 17 00:00:00 2001 From: Roland Wolf Date: Tue, 7 Sep 2010 11:32:16 +0200 Subject: minor formatting fix --- examples/tutorials/modelview/6_treeview/mainwindow.h | 2 +- examples/tutorials/modelview/7_selections/mainwindow.h | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/examples/tutorials/modelview/6_treeview/mainwindow.h b/examples/tutorials/modelview/6_treeview/mainwindow.h index dcc9284..16d3140 100755 --- a/examples/tutorials/modelview/6_treeview/mainwindow.h +++ b/examples/tutorials/modelview/6_treeview/mainwindow.h @@ -43,7 +43,7 @@ #include -QT_BEGIN_NAMESPACE // QT_BEGIN_NAMESPACE / QT_END_NAMESPACE are not needed in Qt user code +QT_BEGIN_NAMESPACE // QT_BEGIN_NAMESPACE / QT_END_NAMESPACE are not needed in Qt user code class QTreeView; //forward declarations class QStandardItemModel; class QStandardItem; diff --git a/examples/tutorials/modelview/7_selections/mainwindow.h b/examples/tutorials/modelview/7_selections/mainwindow.h index 5dc973c..0d2dd0e 100755 --- a/examples/tutorials/modelview/7_selections/mainwindow.h +++ b/examples/tutorials/modelview/7_selections/mainwindow.h @@ -43,7 +43,7 @@ #include -QT_BEGIN_NAMESPACE // QT_BEGIN_NAMESPACE / QT_END_NAMESPACE are not needed in Qt user code +QT_BEGIN_NAMESPACE // QT_BEGIN_NAMESPACE / QT_END_NAMESPACE are not needed in Qt user code class QTreeView; //forward declarations class QStandardItemModel; class QItemSelection; -- cgit v0.12 From f0845337d687d86061eb0b894c0954559c772ec6 Mon Sep 17 00:00:00 2001 From: Roland Wolf Date: Wed, 8 Sep 2010 10:43:24 +0200 Subject: small fixes on the modelview tutorial --- doc/src/tutorials/modelview.qdoc | 30 +++++++++++++++++++----------- 1 file changed, 19 insertions(+), 11 deletions(-) diff --git a/doc/src/tutorials/modelview.qdoc b/doc/src/tutorials/modelview.qdoc index 65f6674..e47fe83 100644 --- a/doc/src/tutorials/modelview.qdoc +++ b/doc/src/tutorials/modelview.qdoc @@ -30,7 +30,7 @@ \startpage {index.html}{Qt Reference Documentation} - \title Model/View Contents + \title Model/View Tutorial \brief An introduction to ModelView programming Every UI developer should know about ModelView programming and the goal of @@ -103,13 +103,13 @@ Let's have a closer look at a standard table widget. A table widget is a 2D array of the data elements that the user can change. The table widget can be integrated into a program flow by reading and writing the data elements that - the table widget provides. This method is very intuitive and useful in many - applications. - - Displaying and editing a database table with a standard table widget can be - problematic. Two copies of the data have to be coordinated: one outside the + the table widget provides. + + This method is very intuitive and useful in many applications, but displaying + and editing a database table with a standard table widget can be problematic. + Two copies of the data have to be coordinated: one outside the widget; one inside the widget. The developer is responsible for - synchronizing both versions. The tight coupling of presentation and data + synchronizing both versions. Besides this, the tight coupling of presentation and data makes it harder to write unit tests. \section2 1.2 Model/View to the Rescue @@ -184,7 +184,13 @@ \section1 2. A Simple Model/View Application - If you want to develop a model/view application, where should you start? We recommend starting with a simple example and extending it step-by-step. This makes understanding the architecture a lot easier. Trying to understand the model/view architecture in detail before invoking the IDE has proven to be less convenient for many developers. It is substantially easier to start with a simple model/view application that has demo data. Give it a try! Simply replace the data in the examples below with your own. + If you want to develop a model/view application, where should you start? + We recommend starting with a simple example and extending it step-by-step. + This makes understanding the architecture a lot easier. Trying to understand + the model/view architecture in detail before invoking the IDE has proven + to be less convenient for many developers. It is substantially easier to + start with a simple model/view application that has demo data. Give it a + try! Simply replace the data in the examples below with your own. Below are 7 very simple and independent applications that show different sides of model/view programming. The source code can be found inside the @@ -596,20 +602,22 @@ \list 1 \o \bold{C++ GUI Programming with Qt 4} / Jasmin Blanchette, Mark Summerfield, \e{Prentice Hall, 2nd edition}, ISBN 0-13-235416-0. Also available in - German: C++ GUI Programmierung mit Qt 4: Die offizielle Einführung, + German: \bold{C++ GUI Programmierung mit Qt 4: Die offizielle Einführung}, \e{Addison-Wesley}, ISBN 3-827327-29-6 \o \bold{The Book of Qt4, The Art of Building Qt Applications} / Daniel Molkentin, \e{Open Source Press}, ISBN 1-59327-147-6. Translated from \bold{Qt 4, Einführung in die Applikationsentwicklung}, \e{Open Source Press}, ISBN 3-937514-12-0. \o \bold{Foundations of Qt Development} / Johan Thelin, \e{Apress}, ISBN 1-59059-831-8. + \o \bold{Advanced Qt Programming} / Mark Summerfield, \e{Prentice Hall}, ISBN 0-321-63590-6. + This book covers Model/View programming on more than 150 pages. \endlist More information about these books is available on the \l{Books about Qt Programming}{Qt Web site}. - The following list provides an overview of example programs contained in the - books above. Some of them make very good templates for developing similar + The following list provides an overview of example programs contained in the first three + books listed above. Some of them make very good templates for developing similar applications. \table -- cgit v0.12 From dfb50fd81e3dfb721cd60635c781125dbe42bfb1 Mon Sep 17 00:00:00 2001 From: Roland Wolf Date: Wed, 8 Sep 2010 12:11:04 +0200 Subject: moving tutorials out of gitignore. Reviewed by Robert Griebl --- .gitignore | 1 + 1 file changed, 1 insertion(+) diff --git a/.gitignore b/.gitignore index 4d5aa9b..7bacc11 100644 --- a/.gitignore +++ b/.gitignore @@ -6,6 +6,7 @@ examples/*/*/* !examples/*/*/README examples/*/*/*[.]app !examples/declarative/* +!examples/tutorials/* !examples/ja_JP/*/* demos/*/* !demos/spectrum/* -- cgit v0.12 From 101a63a6fd53e00eaa7e7a56d1ece33327a19bf8 Mon Sep 17 00:00:00 2001 From: Morten Engvoldsen Date: Fri, 10 Sep 2010 10:07:39 +0200 Subject: Revert "Doc: fixing page name bug caused by 07bbace404078dcfd82eff717daa97299b8ba52c changing qml elements page" Doc: pulling back redundant fix that is breaking links - qmlelements.html/declarativeelements.html This reverts commit 064b7fe6f97bcf214f749794c5ccab3b4cf0bcc7. --- doc/src/index.qdoc | 2 +- tools/qdoc3/test/qt-html-templates.qdocconf | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/doc/src/index.qdoc b/doc/src/index.qdoc index edb4d1e..77856ec 100644 --- a/doc/src/index.qdoc +++ b/doc/src/index.qdoc @@ -77,7 +77,7 @@ diff --git a/tools/qdoc3/test/qt-html-templates.qdocconf b/tools/qdoc3/test/qt-html-templates.qdocconf index dc56ac9..1203357 100644 --- a/tools/qdoc3/test/qt-html-templates.qdocconf +++ b/tools/qdoc3/test/qt-html-templates.qdocconf @@ -89,7 +89,7 @@ HTML.postheader = "
\n" \ "
  • Modules
  • \n" \ "
  • Namespaces
  • \n" \ "
  • Global Declarations
  • \n" \ - "
  • QML elements
  • \n" \ + "
  • QML elements
  • \n" \ " \n" \ "
    \n" \ " \n" \ -- cgit v0.12 From 0b0aa7603b27447a5abe55c55d0514bc56b35f9e Mon Sep 17 00:00:00 2001 From: Thiago Macieira Date: Thu, 9 Sep 2010 10:10:30 +0200 Subject: Properly implement qobject_cast for const pointers. Instead of using ugly const_cast in public headers and Q_UNUSED (which expands to nothing in release builds), use a properly-const method. Reviewed-By: Bradley T. Hughes --- src/corelib/kernel/qmetaobject.cpp | 20 +++++++++++++++++++- src/corelib/kernel/qobject.h | 6 +----- src/corelib/kernel/qobjectdefs.h | 1 + 3 files changed, 21 insertions(+), 6 deletions(-) diff --git a/src/corelib/kernel/qmetaobject.cpp b/src/corelib/kernel/qmetaobject.cpp index 9854e68..3b9b04a 100644 --- a/src/corelib/kernel/qmetaobject.cpp +++ b/src/corelib/kernel/qmetaobject.cpp @@ -266,7 +266,25 @@ QObject *QMetaObject::cast(QObject *obj) const const QMetaObject *m = obj->metaObject(); do { if (m == this) - return const_cast(obj); + return obj; + } while ((m = m->d.superdata)); + } + return 0; +} + +/*! + \internal + + Returns \a obj if object \a obj inherits from this + meta-object; otherwise returns 0. +*/ +const QObject *QMetaObject::cast(const QObject *obj) const +{ + if (obj) { + const QMetaObject *m = obj->metaObject(); + do { + if (m == this) + return obj; } while ((m = m->d.superdata)); } return 0; diff --git a/src/corelib/kernel/qobject.h b/src/corelib/kernel/qobject.h index 1b613a6..c533fa1 100644 --- a/src/corelib/kernel/qobject.h +++ b/src/corelib/kernel/qobject.h @@ -458,14 +458,10 @@ inline T qobject_cast(QObject *object) template inline T qobject_cast(const QObject *object) { - // this will cause a compilation error if T is not const - register T ptr = static_cast(object); - Q_UNUSED(ptr); - #if !defined(QT_NO_MEMBER_TEMPLATES) && !defined(QT_NO_QOBJECT_CHECK) reinterpret_cast(0)->qt_check_for_QOBJECT_macro(*reinterpret_cast(const_cast(object))); #endif - return static_cast(const_cast(reinterpret_cast(0)->staticMetaObject.cast(const_cast(object)))); + return static_cast(reinterpret_cast(0)->staticMetaObject.cast(object)); } diff --git a/src/corelib/kernel/qobjectdefs.h b/src/corelib/kernel/qobjectdefs.h index 555a1f5..0d045dc 100644 --- a/src/corelib/kernel/qobjectdefs.h +++ b/src/corelib/kernel/qobjectdefs.h @@ -298,6 +298,7 @@ struct Q_CORE_EXPORT QMetaObject const QMetaObject *superClass() const; QObject *cast(QObject *obj) const; + const QObject *cast(const QObject *obj) const; #ifndef QT_NO_TRANSLATION // ### Qt 4: Merge overloads -- cgit v0.12 From 16aeed255560b5e9479efe9b74517fb647922694 Mon Sep 17 00:00:00 2001 From: Thiago Macieira Date: Thu, 9 Sep 2010 10:51:23 +0200 Subject: Remove unsupported code from qobject.h for MSVC < .NET 2003 Reviewed-By: Joerg Bornemann --- src/corelib/kernel/qobject.h | 91 -------------------------------------------- 1 file changed, 91 deletions(-) diff --git a/src/corelib/kernel/qobject.h b/src/corelib/kernel/qobject.h index c533fa1..b5c772e 100644 --- a/src/corelib/kernel/qobject.h +++ b/src/corelib/kernel/qobject.h @@ -325,95 +325,6 @@ Q_CORE_EXPORT void qt_qFindChildren_helper(const QObject *parent, const QString const QMetaObject &mo, QList *list); Q_CORE_EXPORT QObject *qt_qFindChild_helper(const QObject *parent, const QString &name, const QMetaObject &mo); -#if defined Q_CC_MSVC && _MSC_VER < 1300 - -template -inline T qFindChild(const QObject *o, const QString &name, T) -{ return static_cast(qt_qFindChild_helper(o, name, ((T)0)->staticMetaObject)); } - -template -inline QList qFindChildren(const QObject *o, const QString &name, T) -{ - QList list; - union { - QList *typedList; - QList *voidList; - } u; - u.typedList = &list; - qt_qFindChildren_helper(o, name, 0, ((T)0)->staticMetaObject, u.voidList); - return list; -} - -template -inline T qFindChild(const QObject *o, const QString &name) -{ return qFindChild(o, name, T(0)); } - -template -inline T qFindChild(const QObject *o) -{ return qFindChild(o, QString(), T(0)); } - -template -inline QList qFindChildren(const QObject *o, const QString &name) -{ return qFindChildren(o, name, T(0)); } - -template -inline QList qFindChildren(const QObject *o) -{ return qFindChildren(o, QString(), T(0)); } - -#ifndef QT_NO_REGEXP -template -inline QList qFindChildren(const QObject *o, const QRegExp &re, T) -{ - QList list; - union { - QList *typedList; - QList *voidList; - } u; - u.typedList = &list; - qt_qFindChildren_helper(o, 0, &re, ((T)0)->staticMetaObject, u.voidList); - return list; -} - -template -inline QList qFindChildren(const QObject *o, const QRegExp &re) -{ return qFindChildren(o, re, T(0)); } - -#endif - -#ifdef Q_MOC_RUN -# define Q_DECLARE_INTERFACE(IFace, IId) Q_DECLARE_INTERFACE(IFace, IId) -#endif // Q_MOC_RUN - - -template inline const char * qobject_interface_iid() -{ return 0; } - -template inline T qobject_cast_helper(QObject *object, T) -{ return static_cast(((T)0)->staticMetaObject.cast(object)); } - -template inline T qobject_cast_helper(const QObject *object, T) -{ return static_cast(const_cast(((T)0)->staticMetaObject.cast(const_cast(object)))); } - -template -inline T qobject_cast(QObject *object) -{ return qobject_cast_helper(object, T(0)); } - -template -inline T qobject_cast(const QObject *object) -{ return qobject_cast_helper(object, T(0)); } - -#ifndef Q_MOC_RUN -# define Q_DECLARE_INTERFACE(IFace, IId) \ - template <> inline const char *qobject_interface_iid() \ - { return IId; } \ - template <> inline IFace *qobject_cast_helper(QObject *object, IFace *) \ - { return (IFace *)(object ? object->qt_metacast(IId) : 0); } \ - template <> inline IFace *qobject_cast_helper(const QObject *object, IFace *) \ - { return (IFace *)(object ? const_cast(object)->qt_metacast(IId) : 0); } -#endif // Q_MOC_RUN - -#else - template inline T qFindChild(const QObject *o, const QString &name) { return static_cast(qt_qFindChild_helper(o, name, reinterpret_cast(0)->staticMetaObject)); } @@ -478,8 +389,6 @@ template inline const char * qobject_interface_iid() { return reinterpret_cast((object ? const_cast(object)->qt_metacast(IId) : 0)); } #endif // Q_MOC_RUN -#endif - #ifndef QT_NO_DEBUG_STREAM Q_CORE_EXPORT QDebug operator<<(QDebug, const QObject *); #endif -- cgit v0.12 From ecac806359a092e2e09adb027e5a45d2cd993a9f Mon Sep 17 00:00:00 2001 From: Thiago Macieira Date: Tue, 7 Sep 2010 19:00:10 +0200 Subject: Update the error handling of invalid hostnames in QUrl. This should let QUrl::errorString() show the original, invalid hostname in the URL it reports to be invalid. There may be a side-effect that QUrl::toEncoded() may include the broken hostname on the first call, then miss it in the next calls. But since QUrl::isValid() is returning false, we can consider that the result of toEncoded() is undefined, so anything goes. Reviewed-by: Olivier Goffart --- src/corelib/io/qurl.cpp | 25 +++++++++++++++++++------ tests/auto/qurl/tst_qurl.cpp | 10 ++++++++++ 2 files changed, 29 insertions(+), 6 deletions(-) diff --git a/src/corelib/io/qurl.cpp b/src/corelib/io/qurl.cpp index 74c24b5..d1fab2d 100644 --- a/src/corelib/io/qurl.cpp +++ b/src/corelib/io/qurl.cpp @@ -3417,9 +3417,8 @@ QString QUrlPrivate::canonicalHost() const that->host = host.toLower(); } else { that->host = qt_ACE_do(host, NormalizeAce); - if (that->host.isNull()) - that->isHostValid = false; } + that->isHostValid = !that->host.isNull(); return that->host; } @@ -3734,6 +3733,10 @@ void QUrlPrivate::validate() const QString auth = authority(); // causes the non-encoded forms to be valid + // authority() calls canonicalHost() which sets this + if (!isHostValid) + return; + if (scheme == QLatin1String("mailto")) { if (!host.isEmpty() || port != -1 || !userName.isEmpty() || !password.isEmpty()) { that->isValid = false; @@ -3907,9 +3910,10 @@ QByteArray QUrlPrivate::toEncoded(QUrl::FormattingOptions options) const url += scheme.toLatin1(); url += ':'; } + QString savedHost = host; // pre-validation, may be invalid! QString auth = authority(); bool doFileScheme = scheme == QLatin1String("file") && encodedPath.startsWith('/'); - if ((options & QUrl::RemoveAuthority) != QUrl::RemoveAuthority && (!auth.isEmpty() || doFileScheme)) { + if ((options & QUrl::RemoveAuthority) != QUrl::RemoveAuthority && (!auth.isEmpty() || doFileScheme || !savedHost.isEmpty())) { if (doFileScheme && !encodedPath.startsWith('/')) url += '/'; url += "//"; @@ -3935,6 +3939,12 @@ QByteArray QUrlPrivate::toEncoded(QUrl::FormattingOptions options) const url += '['; url += host.toLatin1(); url += ']'; + } else if (host.isEmpty() && !savedHost.isEmpty()) { + // this case is only possible with an invalid URL + // it's here only so that we can keep the original, invalid hostname + // in encodedOriginal. + // QUrl::isValid() will return false, so toEncoded() can be anything (it's not valid) + url += savedHost.toUtf8(); } else { url += QUrl::toAce(host); } @@ -4054,7 +4064,7 @@ const QByteArray &QUrlPrivate::normalized() const QString QUrlPrivate::createErrorString() { - if (isValid) + if (isValid && isHostValid) return QString(); QString errorString(QLatin1String(QT_TRANSLATE_NOOP(QUrl, "Invalid URL \""))); @@ -4078,7 +4088,10 @@ QString QUrlPrivate::createErrorString() errorString += QLatin1String(QT_TRANSLATE_NOOP(QUrl, "\'")); } else { errorString += QLatin1String(QT_TRANSLATE_NOOP(QUrl, ": ")); - errorString += QLatin1String(errorInfo._message); + if (isHostValid) + errorString += QLatin1String(errorInfo._message); + else + errorString += QLatin1String(QT_TRANSLATE_NOOP(QUrl, "invalid hostname")); } if (errorInfo._found) { errorString += QLatin1String(QT_TRANSLATE_NOOP(QUrl, ", but found \'")); @@ -4441,7 +4454,7 @@ void QUrl::setAuthority(const QString &authority) if (!QURL_HASFLAG(d->stateFlags, QUrlPrivate::Parsed)) d->parse(); detach(); - QURL_UNSETFLAG(d->stateFlags, QUrlPrivate::Validated | QUrlPrivate::Normalized); + QURL_UNSETFLAG(d->stateFlags, QUrlPrivate::Validated | QUrlPrivate::Normalized | QUrlPrivate::HostCanonicalized); d->setAuthority(authority); } diff --git a/tests/auto/qurl/tst_qurl.cpp b/tests/auto/qurl/tst_qurl.cpp index b5236e5..63f9721 100644 --- a/tests/auto/qurl/tst_qurl.cpp +++ b/tests/auto/qurl/tst_qurl.cpp @@ -2478,16 +2478,26 @@ void tst_QUrl::isValid() QUrl url = QUrl::fromEncoded("http://strange;hostname/here"); QVERIFY(!url.isValid()); QCOMPARE(url.path(), QString("/here")); + url.setAuthority("strange;hostname"); + QVERIFY(!url.isValid()); url.setAuthority("foobar@bar"); QVERIFY(url.isValid()); + url.setAuthority("strange;hostname"); + QVERIFY(!url.isValid()); + QVERIFY(url.errorString().contains("invalid hostname")); } { QUrl url = QUrl::fromEncoded("foo://stuff;1/g"); QVERIFY(!url.isValid()); QCOMPARE(url.path(), QString("/g")); + url.setHost("stuff;1"); + QVERIFY(!url.isValid()); url.setHost("stuff-1"); QVERIFY(url.isValid()); + url.setHost("stuff;1"); + QVERIFY(!url.isValid()); + QVERIFY(url.errorString().contains("invalid hostname")); } } -- cgit v0.12 From 759c3c2a2a62648b0fc4b2970a1fdb3a52c488a7 Mon Sep 17 00:00:00 2001 From: Markus Goetz Date: Fri, 10 Sep 2010 10:53:41 +0200 Subject: NTLM code: Save domain in different variable Reviewed-by: Markus Goetz --- src/network/kernel/qauthenticator.cpp | 39 +++++++++++++++++++++++++++-------- src/network/kernel/qauthenticator_p.h | 1 + 2 files changed, 31 insertions(+), 9 deletions(-) diff --git a/src/network/kernel/qauthenticator.cpp b/src/network/kernel/qauthenticator.cpp index 18cc14e..f97d833 100644 --- a/src/network/kernel/qauthenticator.cpp +++ b/src/network/kernel/qauthenticator.cpp @@ -210,19 +210,38 @@ void QAuthenticator::setUser(const QString &user) switch(d->method) { case QAuthenticatorPrivate::DigestMd5: - case QAuthenticatorPrivate::Ntlm: - if((separatorPosn = user.indexOf(QLatin1String("\\"))) != -1) - { + if((separatorPosn = user.indexOf(QLatin1String("\\"))) != -1) { //domain name is present + d->userDomain.clear(); d->realm = user.left(separatorPosn); d->user = user.mid(separatorPosn + 1); } else if((separatorPosn = user.indexOf(QLatin1String("@"))) != -1) { //domain name is present + d->userDomain.clear(); d->realm = user.mid(separatorPosn + 1); d->user = user.left(separatorPosn); } else { d->user = user; d->realm.clear(); + d->userDomain.clear(); + } + break; + + case QAuthenticatorPrivate::Ntlm: + if((separatorPosn = user.indexOf(QLatin1String("\\"))) != -1) { + //domain name is present + d->realm.clear(); + d->userDomain = user.left(separatorPosn); + d->user = user.mid(separatorPosn + 1); + } else if((separatorPosn = user.indexOf(QLatin1String("@"))) != -1) { + //domain name is present + d->realm.clear(); + d->userDomain = user.left(separatorPosn); + d->user = user.left(separatorPosn); + } else { + d->user = user; + d->realm.clear(); + d->userDomain.clear(); } break; // For other auth mechanisms, domain name will be part of username @@ -1178,7 +1197,7 @@ static QByteArray qCreatev2Hash(const QAuthenticatorPrivate *ctx, // Assuming the user and domain is always unicode in challenge QByteArray message = qStringAsUcs2Le(ctx->user.toUpper()) + - qStringAsUcs2Le(ctx->realm); + qStringAsUcs2Le(phase3->domainStr); phase3->v2Hash = qEncodeHmacMd5(hashKey, message); } @@ -1364,9 +1383,6 @@ static QByteArray qNtlmPhase3(QAuthenticatorPrivate *ctx, const QByteArray& phas bool unicode = ch.flags & NTLMSSP_NEGOTIATE_UNICODE; - if(ctx->realm.isEmpty()) - ctx->realm = ch.targetNameStr; - pb.flags = NTLMSSP_NEGOTIATE_NTLM; if (unicode) pb.flags |= NTLMSSP_NEGOTIATE_UNICODE; @@ -1377,8 +1393,13 @@ static QByteArray qNtlmPhase3(QAuthenticatorPrivate *ctx, const QByteArray& phas int offset = QNtlmPhase3BlockBase::Size; Q_ASSERT(QNtlmPhase3BlockBase::Size == sizeof(QNtlmPhase3BlockBase)); - offset = qEncodeNtlmString(pb.domain, offset, ctx->realm, unicode); - pb.domainStr = ctx->realm; + if(ctx->userDomain.isEmpty()) { + offset = qEncodeNtlmString(pb.domain, offset, ch.targetNameStr, unicode); + pb.domainStr = ch.targetNameStr; + } else { + offset = qEncodeNtlmString(pb.domain, offset, ctx->userDomain, unicode); + pb.domainStr = ctx->userDomain; + } offset = qEncodeNtlmString(pb.user, offset, ctx->user, unicode); pb.userStr = ctx->user; diff --git a/src/network/kernel/qauthenticator_p.h b/src/network/kernel/qauthenticator_p.h index 1096601..4e09360 100644 --- a/src/network/kernel/qauthenticator_p.h +++ b/src/network/kernel/qauthenticator_p.h @@ -91,6 +91,7 @@ public: // ntlm specific QString workstation; + QString userDomain; QByteArray calculateResponse(const QByteArray &method, const QByteArray &path); -- cgit v0.12 From 839e2ed4746d748df67570934a0be9e0a9cd0c3d Mon Sep 17 00:00:00 2001 From: Harald Fernengel Date: Thu, 9 Sep 2010 16:03:45 +0200 Subject: Added private API to install an x11EventFilter Some libs need to intercept X11 events without actually being able to subclass QApplication, so add a private API to allow setting event filter functions. Reviewed By: Robert Griebl --- src/gui/kernel/qapplication_x11.cpp | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) diff --git a/src/gui/kernel/qapplication_x11.cpp b/src/gui/kernel/qapplication_x11.cpp index 7495f6d..e7b7ed8 100644 --- a/src/gui/kernel/qapplication_x11.cpp +++ b/src/gui/kernel/qapplication_x11.cpp @@ -400,11 +400,39 @@ QTabletDeviceDataList *qt_tablet_devices() extern bool qt_tabletChokeMouse; #endif +typedef bool(*QX11FilterFunction)(XEvent *event); + +Q_GLOBAL_STATIC(QList, x11Filters) + +Q_GUI_EXPORT void qt_installX11EventFilter(QX11FilterFunction func) +{ + Q_ASSERT(func); + + if (QList *list = x11Filters()) + list->append(func); +} + +Q_GUI_EXPORT void qt_removeX11EventFilter(QX11FilterFunction func) +{ + Q_ASSERT(func); + + if (QList *list = x11Filters()) + list->removeOne(func); +} + + static bool qt_x11EventFilter(XEvent* ev) { long unused; if (qApp->filterEvent(ev, &unused)) return true; + if (const QList *list = x11Filters()) { + for (QList::const_iterator it = list->constBegin(); it != list->constEnd(); ++it) { + if ((*it)(ev)) + return true; + } + } + return qApp->x11EventFilter(ev); } -- cgit v0.12 From 60bfb40e3c398163fe17834c26cdf97579946cc2 Mon Sep 17 00:00:00 2001 From: Harald Fernengel Date: Fri, 10 Sep 2010 11:01:44 +0200 Subject: fix CRLF --- tests/auto/qlineedit/tst_qlineedit.cpp | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/tests/auto/qlineedit/tst_qlineedit.cpp b/tests/auto/qlineedit/tst_qlineedit.cpp index bfa9406..93bd447 100644 --- a/tests/auto/qlineedit/tst_qlineedit.cpp +++ b/tests/auto/qlineedit/tst_qlineedit.cpp @@ -3747,15 +3747,15 @@ void tst_QLineEdit::QTBUG697_paletteCurrentColorGroup() void tst_QLineEdit::QTBUG13520_textNotVisible() { LineEdit le; - le.setAlignment( Qt::AlignRight | Qt::AlignVCenter); - le.show(); - QTest::qWaitForWindowShown(&le); - le.setText("01-ST16-01SIL-MPL001wfgsdfgsdgsdfgsdfgsdfgsdfgsdfg"); - le.setCursorPosition(0); - QTest::qWait(100); //just make sure we get he lineedit correcly painted - - QVERIFY(le.cursorRect().center().x() < le.width() / 2); - + le.setAlignment( Qt::AlignRight | Qt::AlignVCenter); + le.show(); + QTest::qWaitForWindowShown(&le); + le.setText("01-ST16-01SIL-MPL001wfgsdfgsdgsdfgsdfgsdfgsdfgsdfg"); + le.setCursorPosition(0); + QTest::qWait(100); //just make sure we get he lineedit correcly painted + + QVERIFY(le.cursorRect().center().x() < le.width() / 2); + } -- cgit v0.12 From 7e05bf257d589e97e54b36cb112f96ae17cbd6f2 Mon Sep 17 00:00:00 2001 From: Liang Qi Date: Fri, 10 Sep 2010 14:06:59 +0200 Subject: Fix the bug for QSettings on Windows, to store qint32/quint32, qint64/quint64 in Windows registry. Reviewed-by: Prasanth Ullattil Reviewed-by: Joerg Bornemann Task: QTBUT-13249 AutoTest: Included --- src/corelib/io/qsettings_win.cpp | 24 +++++++++++-- tests/auto/qsettings/tst_qsettings.cpp | 63 ++++++++++++++++++++++++++++++++++ 2 files changed, 84 insertions(+), 3 deletions(-) diff --git a/src/corelib/io/qsettings_win.cpp b/src/corelib/io/qsettings_win.cpp index de96e06..b3fe734 100644 --- a/src/corelib/io/qsettings_win.cpp +++ b/src/corelib/io/qsettings_win.cpp @@ -535,6 +535,15 @@ bool QWinSettingsPrivate::readKey(HKEY parentHandle, const QString &rSubKey, QVa break; } + case REG_QWORD: { + Q_ASSERT(data.size() == sizeof(qint64)); + qint64 i; + memcpy((char*)&i, data.constData(), sizeof(qint64)); + if (value != 0) + *value = i; + break; + } + default: qWarning("QSettings: Unknown data %d type in Windows registry", static_cast(dataType)); if (value != 0) @@ -683,10 +692,19 @@ void QWinSettingsPrivate::set(const QString &uKey, const QVariant &value) break; } - case QVariant::Int: { + case QVariant::Int: + case QVariant::UInt: { type = REG_DWORD; - int i = value.toInt(); - regValueBuff = QByteArray((const char*)&i, sizeof(int)); + qint32 i = value.toInt(); + regValueBuff = QByteArray((const char*)&i, sizeof(qint32)); + break; + } + + case QVariant::LongLong: + case QVariant::ULongLong: { + type = REG_QWORD; + qint64 i = value.toLongLong(); + regValueBuff = QByteArray((const char*)&i, sizeof(qint64)); break; } diff --git a/tests/auto/qsettings/tst_qsettings.cpp b/tests/auto/qsettings/tst_qsettings.cpp index 058a750..0395eff 100644 --- a/tests/auto/qsettings/tst_qsettings.cpp +++ b/tests/auto/qsettings/tst_qsettings.cpp @@ -60,6 +60,10 @@ #include #endif +#if defined(Q_OS_WIN) +#include +#endif + #ifndef QSETTINGS_P_H_VERSION #define QSETTINGS_P_H_VERSION 1 #endif @@ -127,6 +131,9 @@ private slots: #if !defined(Q_OS_WIN) && !defined(Q_OS_SYMBIAN) void dontReorderIniKeysNeedlessly(); #endif +#if defined(Q_OS_WIN) + void qtbug_13249(); +#endif /* These tests were developed for the Qt 3 QSettings class. @@ -3801,6 +3808,62 @@ void tst_QSettings::setPathBug() } #endif +#if defined(Q_OS_WIN) + +static DWORD readKeyType(HKEY handle, const QString &rSubKey) +{ + DWORD dataType; + DWORD dataSize; + LONG res = RegQueryValueEx(handle, reinterpret_cast(rSubKey.utf16()), 0, &dataType, 0, &dataSize); + + if (res == ERROR_SUCCESS) + return dataType; + + return 0; +} + +void tst_QSettings::qtbug_13249() +{ + QSettings settings1(QSettings::UserScope, "software.org", "KillerAPP"); + + qint32 x = 1024; + settings1.setValue("qtbug_13249_a", (qint32)x); + QCOMPARE(settings1.value("qtbug_13249_a").toInt(), (qint32)1024); + settings1.setValue("qtbug_13249_b", (quint32)x); + QCOMPARE(settings1.value("qtbug_13249_b").toUInt(), (quint32)1024); + settings1.setValue("qtbug_13249_c", (qint64)x); + QCOMPARE(settings1.value("qtbug_13249_c").toLongLong(), (qint64)1024); + settings1.setValue("qtbug_13249_d", (quint64)x); + QCOMPARE(settings1.value("qtbug_13249_d").toULongLong(), (quint64)1024); + settings1.sync(); + + HKEY handle; + LONG res; + QString keyName = "Software\\software.org\\KillerAPP"; + res = RegOpenKeyEx(HKEY_CURRENT_USER, reinterpret_cast(keyName.utf16()), 0, KEY_READ, &handle); + if (res == ERROR_SUCCESS) + { + DWORD dataType; + dataType = readKeyType(handle, QString("qtbug_13249_a")); + if (dataType != 0) { + QCOMPARE((int)REG_DWORD, (int)dataType); + } + dataType = readKeyType(handle, QString("qtbug_13249_b")); + if (dataType != 0) { + QCOMPARE((int)REG_DWORD, (int)dataType); + } + dataType = readKeyType(handle, QString("qtbug_13249_c")); + if (dataType != 0) { + QCOMPARE((int)REG_QWORD, (int)dataType); + } + dataType = readKeyType(handle, QString("qtbug_13249_d")); + if (dataType != 0) { + QCOMPARE((int)REG_QWORD, (int)dataType); + } + RegCloseKey(handle); + } +} +#endif /* // Not tested at the moment. void tst_QSettings::oldSubkeyList() -- cgit v0.12 From 0b78630df897864feb3e3ec5f1da0b21dd13f7b0 Mon Sep 17 00:00:00 2001 From: Harald Fernengel Date: Fri, 10 Sep 2010 15:13:00 +0200 Subject: Implement a private API for setting title widgets Meego and Orbit use client side decorations, so implement a top-level layout in QMainWindow that allows us to set title widgets. To prevent regressions on other platforms, the API is disabled by default. Rev-By: Robert Griebl Rev-By: Thierry Bastian --- src/gui/kernel/qwidget_mac.mm | 9 ++-- src/gui/widgets/qdockarealayout.cpp | 10 +++-- src/gui/widgets/qdockwidget.cpp | 37 +++++++--------- src/gui/widgets/qmainwindow.cpp | 71 +++++++++++++++++++++++++++--- src/gui/widgets/qmainwindowlayout.cpp | 11 +++-- src/gui/widgets/qmainwindowlayout_p.h | 2 +- src/gui/widgets/qtoolbar.cpp | 20 +++++---- src/gui/widgets/qtoolbararealayout.cpp | 5 ++- src/gui/widgets/qtoolbarlayout.cpp | 7 ++- tests/auto/qmainwindow/tst_qmainwindow.cpp | 3 +- 10 files changed, 123 insertions(+), 52 deletions(-) diff --git a/src/gui/kernel/qwidget_mac.mm b/src/gui/kernel/qwidget_mac.mm index 1979c84..159c45d 100644 --- a/src/gui/kernel/qwidget_mac.mm +++ b/src/gui/kernel/qwidget_mac.mm @@ -2375,7 +2375,8 @@ void QWidgetPrivate::recreateMacWindow() HIViewRemoveFromSuperview(myView); determineWindowClass(); createWindow_sys(); - if (QMainWindowLayout *mwl = qobject_cast(q->layout())) { + + if (QMainWindowLayout *mwl = qt_mainwindow_layout(qobject_cast(q))) { mwl->updateHIToolBarStatus(); } @@ -2912,7 +2913,7 @@ void QWidgetPrivate::setParent_sys(QWidget *parent, Qt::WindowFlags f) // We do this down below for wasCreated, so avoid doing this twice // (only for performance, it gets called a lot anyway). if (!wasCreated) { - if (QMainWindowLayout *mwl = qobject_cast(q->layout())) { + if (QMainWindowLayout *mwl = qt_mainwindow_layout(qobject_cast(q))) { mwl->updateHIToolBarStatus(); } } @@ -2937,7 +2938,7 @@ void QWidgetPrivate::setParent_sys(QWidget *parent, Qt::WindowFlags f) // If we were a unified window, We just transfered our toolbars out of the unified toolbar. // So redo the status one more time. It apparently is not an issue with Cocoa. if (q->isWindow()) { - if (QMainWindowLayout *mwl = qobject_cast(q->layout())) { + if (QMainWindowLayout *mwl = qt_mainwindow_layout(qobject_cast(q))) { mwl->updateHIToolBarStatus(); } } @@ -5138,7 +5139,7 @@ void QWidgetPrivate::macUpdateMetalAttribute() return; recreateMacWindow(); #else - QMainWindowLayout *layout = qobject_cast(q->layout()); + QMainWindowLayout *layout = qt_mainwindow_layout(qobject_cast(q)); if (q->testAttribute(Qt::WA_MacBrushedMetal)) { if (layout) layout->updateHIToolBarStatus(); diff --git a/src/gui/widgets/qdockarealayout.cpp b/src/gui/widgets/qdockarealayout.cpp index 171000b..b540e76 100644 --- a/src/gui/widgets/qdockarealayout.cpp +++ b/src/gui/widgets/qdockarealayout.cpp @@ -60,6 +60,9 @@ QT_BEGIN_NAMESPACE +// qmainwindow.cpp +extern QMainWindowLayout *qt_mainwindow_layout(const QMainWindow *window); + enum { StateFlagVisible = 1, StateFlagFloating = 2 }; /****************************************************************************** @@ -1480,7 +1483,7 @@ QList QDockAreaLayoutInfo::indexOf(QWidget *widget) const QMainWindowLayout *QDockAreaLayoutInfo::mainWindowLayout() const { - QMainWindowLayout *result = qobject_cast(mainWindow->layout()); + QMainWindowLayout *result = qt_mainwindow_layout(mainWindow); Q_ASSERT(result != 0); return result; } @@ -3070,8 +3073,7 @@ void QDockAreaLayout::splitDockWidget(QDockWidget *after, void QDockAreaLayout::apply(bool animate) { - QWidgetAnimator &widgetAnimator - = qobject_cast(mainWindow->layout())->widgetAnimator; + QWidgetAnimator &widgetAnimator = qt_mainwindow_layout(mainWindow)->widgetAnimator; for (int i = 0; i < QInternal::DockCount; ++i) docks[i].apply(animate); @@ -3176,7 +3178,7 @@ void QDockAreaLayout::updateSeparatorWidgets() const if (j < separatorWidgets.size()) { sepWidget = separatorWidgets.at(j); } else { - sepWidget = qobject_cast(mainWindow->layout())->getSeparatorWidget(); + sepWidget = qt_mainwindow_layout(mainWindow)->getSeparatorWidget(); separatorWidgets.append(sepWidget); } j++; diff --git a/src/gui/widgets/qdockwidget.cpp b/src/gui/widgets/qdockwidget.cpp index 11f0a94..df9b171 100644 --- a/src/gui/widgets/qdockwidget.cpp +++ b/src/gui/widgets/qdockwidget.cpp @@ -68,6 +68,9 @@ QT_BEGIN_NAMESPACE extern QString qt_setWindowTitle_helperHelper(const QString&, const QWidget*); // qwidget.cpp +// qmainwindow.cpp +extern QMainWindowLayout *qt_mainwindow_layout(const QMainWindow *window); + static inline bool hasFeature(const QDockWidgetPrivate *priv, QDockWidget::DockWidgetFeature feature) { return (priv->features & feature) == feature; } @@ -690,7 +693,7 @@ void QDockWidgetPrivate::initDrag(const QPoint &pos, bool nca) QMainWindow *win = qobject_cast(parent); Q_ASSERT(win != 0); - QMainWindowLayout *layout = qobject_cast(win->layout()); + QMainWindowLayout *layout = qt_mainwindow_layout(win); Q_ASSERT(layout != 0); if (layout->pluggingWidget != 0) // the main window is animating a docking operation return; @@ -711,8 +714,7 @@ void QDockWidgetPrivate::startDrag() if (state == 0 || state->dragging) return; - QMainWindowLayout *layout - = qobject_cast(q->parentWidget()->layout()); + QMainWindowLayout *layout = qt_mainwindow_layout(qobject_cast(q->parentWidget())); Q_ASSERT(layout != 0); state->widgetItem = layout->unplug(q); @@ -739,8 +741,7 @@ void QDockWidgetPrivate::endDrag(bool abort) q->releaseMouse(); if (state->dragging) { - QMainWindowLayout *mwLayout = - qobject_cast(q->parentWidget()->layout()); + QMainWindowLayout *mwLayout = qt_mainwindow_layout(qobject_cast(q->parentWidget())); Q_ASSERT(mwLayout != 0); if (abort || !mwLayout->plug(state->widgetItem)) { @@ -780,8 +781,7 @@ bool QDockWidgetPrivate::isAnimating() const if (mainWin == 0) return false; - QMainWindowLayout *mainWinLayout - = qobject_cast(mainWin->layout()); + QMainWindowLayout *mainWinLayout = qt_mainwindow_layout(mainWin); if (mainWinLayout == 0) return false; @@ -847,9 +847,8 @@ bool QDockWidgetPrivate::mouseMoveEvent(QMouseEvent *event) return ret; QDockWidgetLayout *dwlayout - = qobject_cast(layout); - QMainWindowLayout *mwlayout - = qobject_cast(q->parentWidget()->layout()); + = qobject_cast(layout); + QMainWindowLayout *mwlayout = qt_mainwindow_layout(qobject_cast(q->parentWidget())); if (!dwlayout->nativeWindowDeco()) { if (!state->dragging && mwlayout->pluggingWidget == 0 @@ -943,8 +942,7 @@ void QDockWidgetPrivate::nonClientAreaMouseEvent(QMouseEvent *event) } #ifdef Q_OS_MAC else { // workaround for lack of mouse-grab on Mac - QMainWindowLayout *layout - = qobject_cast(q->parentWidget()->layout()); + QMainWindowLayout *layout = qt_mainwindow_layout(qobject_cast(q->parentWidget())); Q_ASSERT(layout != 0); q->move(event->globalPos() - state->pressPos); @@ -980,8 +978,7 @@ void QDockWidgetPrivate::moveEvent(QMoveEvent *event) if (state->ctrlDrag) return; - QMainWindowLayout *layout - = qobject_cast(q->parentWidget()->layout()); + QMainWindowLayout *layout = qt_mainwindow_layout(qobject_cast(q->parentWidget())); Q_ASSERT(layout != 0); QPoint globalMousePos = event->pos() + state->pressPos; @@ -1009,7 +1006,7 @@ void QDockWidgetPrivate::setWindowState(bool floating, bool unplug, const QRect Q_Q(QDockWidget); if (!floating && parent) { - QMainWindowLayout *mwlayout = qobject_cast(q->parentWidget()->layout()); + QMainWindowLayout *mwlayout = qt_mainwindow_layout(qobject_cast(q->parentWidget())); if (mwlayout && mwlayout->dockWidgetArea(q) == Qt::NoDockWidgetArea) return; // this dockwidget can't be redocked } @@ -1055,7 +1052,7 @@ void QDockWidgetPrivate::setWindowState(bool floating, bool unplug, const QRect if (floating != wasFloating) { emit q->topLevelChanged(floating); if (!floating && parent) { - QMainWindowLayout *mwlayout = qobject_cast(q->parentWidget()->layout()); + QMainWindowLayout *mwlayout = qt_mainwindow_layout(qobject_cast(q->parentWidget())); if (mwlayout) emit q->dockLocationChanged(mwlayout->dockWidgetArea(q)); } @@ -1326,10 +1323,10 @@ void QDockWidget::changeEvent(QEvent *event) #ifndef QT_NO_TABBAR { QMainWindow *win = qobject_cast(parentWidget()); - if (QMainWindowLayout *winLayout = - (win ? qobject_cast(win->layout()) : 0)) + if (QMainWindowLayout *winLayout = qt_mainwindow_layout(win)) { if (QDockAreaLayoutInfo *info = winLayout->layoutState.dockAreaLayout.info(this)) info->updateTabBar(); + } } #endif // QT_NO_TABBAR break; @@ -1382,9 +1379,7 @@ bool QDockWidget::event(QEvent *event) Q_D(QDockWidget); QMainWindow *win = qobject_cast(parentWidget()); - QMainWindowLayout *layout = 0; - if (win != 0) - layout = qobject_cast(win->layout()); + QMainWindowLayout *layout = qt_mainwindow_layout(win); switch (event->type()) { #ifndef QT_NO_ACTION diff --git a/src/gui/widgets/qmainwindow.cpp b/src/gui/widgets/qmainwindow.cpp index 44483ea..1183be6 100644 --- a/src/gui/widgets/qmainwindow.cpp +++ b/src/gui/widgets/qmainwindow.cpp @@ -39,6 +39,8 @@ ** ****************************************************************************/ +//#define QT_EXPERIMENTAL_CLIENT_DECORATIONS + #include "qmainwindow.h" #include "qmainwindowlayout_p.h" @@ -99,12 +101,70 @@ public: uint hasOldCursor : 1; uint cursorAdjusted : 1; #endif + + static inline QMainWindowLayout *mainWindowLayout(const QMainWindow *mainWindow) + { + return mainWindow ? mainWindow->d_func()->layout : static_cast(0); + } }; +QMainWindowLayout *qt_mainwindow_layout(const QMainWindow *mainWindow) +{ + return QMainWindowPrivate::mainWindowLayout(mainWindow); +} + +#ifdef QT_EXPERIMENTAL_CLIENT_DECORATIONS +Q_GUI_EXPORT void qt_setMainWindowTitleWidget(QMainWindow *mainWindow, Qt::DockWidgetArea area, QWidget *widget) +{ + QGridLayout *topLayout = qobject_cast(mainWindow->layout()); + Q_ASSERT(topLayout); + + int row = 0; + int column = 0; + + switch (area) { + case Qt::LeftDockWidgetArea: + row = 1; + column = 0; + break; + case Qt::TopDockWidgetArea: + row = 0; + column = 1; + break; + case Qt::BottomDockWidgetArea: + row = 2; + column = 1; + break; + case Qt::RightDockWidgetArea: + row = 1; + column = 2; + break; + default: + Q_ASSERT_X(false, "qt_setMainWindowTitleWidget", "Unknown area"); + return; + } + + if (QLayoutItem *oldItem = topLayout->itemAtPosition(row, column)) + delete oldItem->widget(); + topLayout->addWidget(widget, row, column); +} +#endif + void QMainWindowPrivate::init() { Q_Q(QMainWindow); - layout = new QMainWindowLayout(q); + +#ifdef QT_EXPERIMENTAL_CLIENT_DECORATIONS + QGridLayout *topLayout = new QGridLayout(q); + topLayout->setContentsMargins(0, 0, 0, 0); + + layout = new QMainWindowLayout(q, topLayout); + + topLayout->addItem(layout, 1, 1); +#else + layout = new QMainWindowLayout(q, 0); +#endif + const int metric = q->style()->pixelMetric(QStyle::PM_ToolBarIconSize, 0, q); iconSize = QSize(metric, metric); q->setAttribute(Qt::WA_Hover); @@ -461,10 +521,11 @@ QMenuBar *QMainWindow::menuBar() const */ void QMainWindow::setMenuBar(QMenuBar *menuBar) { - Q_D(QMainWindow); - if (d->layout->menuBar() && d->layout->menuBar() != menuBar) { + QLayout *topLayout = layout(); + + if (topLayout->menuBar() && topLayout->menuBar() != menuBar) { // Reparent corner widgets before we delete the old menu bar. - QMenuBar *oldMenuBar = qobject_cast(d->layout->menuBar()); + QMenuBar *oldMenuBar = qobject_cast(topLayout->menuBar()); if (menuBar) { // TopLeftCorner widget. QWidget *cornerWidget = oldMenuBar->cornerWidget(Qt::TopLeftCorner); @@ -478,7 +539,7 @@ void QMainWindow::setMenuBar(QMenuBar *menuBar) oldMenuBar->hide(); oldMenuBar->deleteLater(); } - d->layout->setMenuBar(menuBar); + topLayout->setMenuBar(menuBar); } /*! diff --git a/src/gui/widgets/qmainwindowlayout.cpp b/src/gui/widgets/qmainwindowlayout.cpp index 62ee398..4dd5208 100644 --- a/src/gui/widgets/qmainwindowlayout.cpp +++ b/src/gui/widgets/qmainwindowlayout.cpp @@ -160,7 +160,7 @@ static void dumpLayout(QTextStream &qout, const QDockAreaLayout &layout, QString void qt_dumpLayout(QTextStream &qout, QMainWindow *window) { - QMainWindowLayout *layout = qobject_cast(window->layout()); + QMainWindowLayout *layout = qt_mainwindow_layout(window); dumpLayout(qout, layout->layoutState.dockAreaLayout, QString()); } @@ -235,7 +235,7 @@ void QMainWindowLayoutState::apply(bool animated) dockAreaLayout.apply(animated); #else if (centralWidgetItem != 0) { - QMainWindowLayout *layout = qobject_cast(mainWindow->layout()); + QMainWindowLayout *layout = qt_mainwindow_layout(mainWindow); Q_ASSERT(layout != 0); layout->widgetAnimator.animate(centralWidgetItem->widget(), centralWidgetRect, animated); } @@ -1674,8 +1674,8 @@ void QMainWindowLayout::restore(bool keepSavedState) updateGapIndicator(); } -QMainWindowLayout::QMainWindowLayout(QMainWindow *mainwindow) - : QLayout(mainwindow) +QMainWindowLayout::QMainWindowLayout(QMainWindow *mainwindow, QLayout *parentLayout) + : QLayout(parentLayout ? static_cast(0) : mainwindow) , layoutState(mainwindow) , savedState(mainwindow) , dockOptions(QMainWindow::AnimatedDocks | QMainWindow::AllowTabbedDocks) @@ -1698,6 +1698,9 @@ QMainWindowLayout::QMainWindowLayout(QMainWindow *mainwindow) , blockVisiblityCheck(false) #endif { + if (parentLayout) + setParent(parentLayout); + #ifndef QT_NO_DOCKWIDGET #ifndef QT_NO_TABBAR sep = mainwindow->style()->pixelMetric(QStyle::PM_DockWidgetSeparatorExtent, 0, mainwindow); diff --git a/src/gui/widgets/qmainwindowlayout_p.h b/src/gui/widgets/qmainwindowlayout_p.h index 955693d..e1b981c 100644 --- a/src/gui/widgets/qmainwindowlayout_p.h +++ b/src/gui/widgets/qmainwindowlayout_p.h @@ -159,7 +159,7 @@ class Q_AUTOTEST_EXPORT QMainWindowLayout : public QLayout public: QMainWindowLayoutState layoutState, savedState; - explicit QMainWindowLayout(QMainWindow *mainwindow); + QMainWindowLayout(QMainWindow *mainwindow, QLayout *parentLayout); ~QMainWindowLayout(); QMainWindow::DockOptions dockOptions; diff --git a/src/gui/widgets/qtoolbar.cpp b/src/gui/widgets/qtoolbar.cpp index 7ed27ea..316bb44 100644 --- a/src/gui/widgets/qtoolbar.cpp +++ b/src/gui/widgets/qtoolbar.cpp @@ -82,6 +82,9 @@ static void qt_mac_updateToolBarButtonHint(QWidget *parentWidget) } #endif +// qmainwindow.cpp +extern QMainWindowLayout *qt_mainwindow_layout(const QMainWindow *window); + /****************************************************************************** ** QToolBarPrivate */ @@ -197,7 +200,7 @@ void QToolBarPrivate::initDrag(const QPoint &pos) QMainWindow *win = qobject_cast(parent); Q_ASSERT(win != 0); - QMainWindowLayout *layout = qobject_cast(win->layout()); + QMainWindowLayout *layout = qt_mainwindow_layout(win); Q_ASSERT(layout != 0); if (layout->pluggingWidget != 0) // the main window is animating a docking operation return; @@ -223,7 +226,7 @@ void QToolBarPrivate::startDrag(bool moving) QMainWindow *win = qobject_cast(parent); Q_ASSERT(win != 0); - QMainWindowLayout *layout = qobject_cast(win->layout()); + QMainWindowLayout *layout = qt_mainwindow_layout(win); Q_ASSERT(layout != 0); if (!moving) { @@ -247,8 +250,7 @@ void QToolBarPrivate::endDrag() q->releaseMouse(); if (state->dragging) { - QMainWindowLayout *layout = - qobject_cast(q->parentWidget()->layout()); + QMainWindowLayout *layout = qt_mainwindow_layout(qobject_cast(q->parentWidget())); Q_ASSERT(layout != 0); if (!layout->plug(state->widgetItem)) { @@ -340,7 +342,7 @@ bool QToolBarPrivate::mouseMoveEvent(QMouseEvent *event) if (win == 0) return true; - QMainWindowLayout *layout = qobject_cast(win->layout()); + QMainWindowLayout *layout = qt_mainwindow_layout(win); Q_ASSERT(layout != 0); if (layout->pluggingWidget == 0 @@ -588,7 +590,7 @@ QToolBar::~QToolBar() QMainWindow *mainwindow = qobject_cast(parentWidget()); if (mainwindow) { #ifdef Q_WS_MAC - QMainWindowLayout *mainwin_layout = qobject_cast(mainwindow->layout()); + QMainWindowLayout *mainwin_layout = qt_mainwindow_layout(mainwindow); if (mainwin_layout && mainwin_layout->layoutState.toolBarAreaLayout.isEmpty() && mainwindow->testAttribute(Qt::WA_WState_Created)) macWindowToolbarShow(mainwindow, false); @@ -1135,7 +1137,7 @@ bool QToolBar::event(QEvent *event) if (toolbarInUnifiedToolBar(this)) { // I can static_cast because I did the qobject_cast in the if above, therefore // we must have a QMainWindowLayout here. - QMainWindowLayout *mwLayout = static_cast(parentWidget()->layout()); + QMainWindowLayout *mwLayout = qt_mainwindow_layout(qobject_cast(parentWidget())); mwLayout->fixSizeInUnifiedToolbar(this); mwLayout->syncUnifiedToolbarVisibility(); } @@ -1289,6 +1291,8 @@ QWidget *QToolBar::widgetForAction(QAction *action) const return d->layout->itemAt(index)->widget(); } +extern QMainWindowLayout *qt_mainwindow_layout(const QMainWindow *window); + /*! \internal */ @@ -1315,7 +1319,7 @@ void QToolBar::initStyleOption(QStyleOptionToolBar *option) const if (!mainWindow) return; - QMainWindowLayout *layout = qobject_cast(mainWindow->layout()); + QMainWindowLayout *layout = qt_mainwindow_layout(mainWindow); Q_ASSERT_X(layout != 0, "QToolBar::initStyleOption()", "QMainWindow->layout() != QMainWindowLayout"); diff --git a/src/gui/widgets/qtoolbararealayout.cpp b/src/gui/widgets/qtoolbararealayout.cpp index 8327af5..b312751 100644 --- a/src/gui/widgets/qtoolbararealayout.cpp +++ b/src/gui/widgets/qtoolbararealayout.cpp @@ -59,6 +59,9 @@ QT_BEGIN_NAMESPACE +// qmainwindow.cpp +extern QMainWindowLayout *qt_mainwindow_layout(const QMainWindow *mainWindow); + QSize QToolBarAreaLayoutItem::minimumSize() const { if (skip()) @@ -872,7 +875,7 @@ void QToolBarAreaLayout::insertItem(QToolBar *before, QLayoutItem *item) void QToolBarAreaLayout::apply(bool animate) { - QMainWindowLayout *layout = qobject_cast(mainWindow->layout()); + QMainWindowLayout *layout = qt_mainwindow_layout(mainWindow); Q_ASSERT(layout != 0); Qt::LayoutDirection dir = mainWindow->layoutDirection(); diff --git a/src/gui/widgets/qtoolbarlayout.cpp b/src/gui/widgets/qtoolbarlayout.cpp index f87510f..59b027e 100644 --- a/src/gui/widgets/qtoolbarlayout.cpp +++ b/src/gui/widgets/qtoolbarlayout.cpp @@ -57,6 +57,9 @@ QT_BEGIN_NAMESPACE +// qmainwindow.cpp +extern QMainWindowLayout *qt_mainwindow_layout(const QMainWindow *window); + /****************************************************************************** ** QToolBarItem */ @@ -404,7 +407,7 @@ void QToolBarLayout::setGeometry(const QRect &rect) if (QMainWindow *win = qobject_cast(tb->parentWidget())) { Qt::ToolBarArea area = win->toolBarArea(tb); if (win->unifiedTitleAndToolBarOnMac() && area == Qt::TopToolBarArea) { - static_cast(win->layout())->fixSizeInUnifiedToolbar(tb); + qt_mainwindow_layout(win)->fixSizeInUnifiedToolbar(tb); } } # endif @@ -659,7 +662,7 @@ void QToolBarLayout::setExpanded(bool exp) #else animating = !tb->isWindow() && win->isAnimated(); #endif - QMainWindowLayout *layout = qobject_cast(win->layout()); + QMainWindowLayout *layout = qt_mainwindow_layout(win); if (expanded) { tb->raise(); } else { diff --git a/tests/auto/qmainwindow/tst_qmainwindow.cpp b/tests/auto/qmainwindow/tst_qmainwindow.cpp index 1273e85..6f95672 100644 --- a/tests/auto/qmainwindow/tst_qmainwindow.cpp +++ b/tests/auto/qmainwindow/tst_qmainwindow.cpp @@ -1449,8 +1449,7 @@ Q_DECLARE_METATYPE(MoveList) void MoveSeparator::apply(QMainWindow *mw) const { - - QMainWindowLayout *l = qobject_cast(mw->layout()); + QMainWindowLayout *l = qFindChild(mw->layout()); QVERIFY(l); QList path; -- cgit v0.12 From ec1b3016c26eadbb7b7392c9faab8fbbb77d7b69 Mon Sep 17 00:00:00 2001 From: axis Date: Fri, 10 Sep 2010 15:54:14 +0200 Subject: Moved the sis_targets feature profile to the correct directory. RevBy: Trust me --- mkspecs/features/sis_targets.prf | 201 ------------------------------- mkspecs/features/symbian/sis_targets.prf | 201 +++++++++++++++++++++++++++++++ 2 files changed, 201 insertions(+), 201 deletions(-) delete mode 100644 mkspecs/features/sis_targets.prf create mode 100644 mkspecs/features/symbian/sis_targets.prf diff --git a/mkspecs/features/sis_targets.prf b/mkspecs/features/sis_targets.prf deleted file mode 100644 index 800a04c..0000000 --- a/mkspecs/features/sis_targets.prf +++ /dev/null @@ -1,201 +0,0 @@ -# Sis file creation -GENERATE_SIS_TARGETS = false - -contains(TEMPLATE, app): GENERATE_SIS_TARGETS = true -else:!equals(DEPLOYMENT, default_deployment) { - for(dep_item, $$list($$DEPLOYMENT)) { - dep_item_sources = $$eval($${dep_item}.sources) - !isEmpty(dep_item_sources): GENERATE_SIS_TARGETS = true - } -} - -equals(GENERATE_SIS_TARGETS, true) { - - baseTarget = $$symbianRemoveSpecialCharacters($$basename(TARGET)) - - symbian-abld|symbian-sbsv2 { - symbian-sbsv2 { - CONVERT_GCCE_PARAM = -g - } else { - CONVERT_GCCE_PARAM = - } - - make_cache_name = .make.cache - sis_target.target = sis - sis_target.commands = $(if $(wildcard $${baseTarget}_template.pkg), \ - $(if $(wildcard $$make_cache_name), \ - $(MAKE) -f $(MAKEFILE) ok_sis MAKEFILES=$$make_cache_name \ - , \ - $(if $(QT_SIS_TARGET), \ - $(MAKE) -f $(MAKEFILE) ok_sis \ - , \ - $(MAKE) -f $(MAKEFILE) fail_sis_nocache \ - ) \ - ) \ - , \ - $(MAKE) -f $(MAKEFILE) fail_sis_nopkg \ - ) - - ok_sis_target.target = ok_sis - ok_sis_target.commands = createpackage.bat $$CONVERT_GCCE_PARAM $(QT_SIS_OPTIONS) $${baseTarget}_template.pkg \ - $(QT_SIS_TARGET) $(QT_SIS_CERTIFICATE) $(QT_SIS_KEY) $(QT_SIS_PASSPHRASE) - - unsigned_sis_target.target = unsigned_sis - unsigned_sis_target.commands = $(if $(wildcard $${baseTarget}_template.pkg), \ - $(if $(wildcard $$make_cache_name), \ - $(MAKE) -f $(MAKEFILE) ok_unsigned_sis MAKEFILES=$$make_cache_name \ - , \ - $(if $(QT_SIS_TARGET), \ - $(MAKE) -f $(MAKEFILE) ok_unsigned_sis \ - , \ - $(MAKE) -f $(MAKEFILE) fail_sis_nocache \ - ) \ - ) \ - , \ - $(MAKE) -f $(MAKEFILE) fail_sis_nopkg \ - ) - - ok_unsigned_sis_target.target = ok_unsigned_sis - ok_unsigned_sis_target.commands = createpackage.bat $$CONVERT_GCCE_PARAM $(QT_SIS_OPTIONS) -o $${baseTarget}_template.pkg $(QT_SIS_TARGET) - - target_sis_target.target = $${baseTarget}.sis - target_sis_target.commands = $(MAKE) -f $(MAKEFILE) sis - - installer_sis_target.target = installer_sis - installer_sis_target.commands = $(if $(wildcard $${baseTarget}_installer.pkg), \ - $(MAKE) -f $(MAKEFILE) ok_installer_sis \ - , \ - $(MAKE) -f $(MAKEFILE) fail_sis_nopkg \ - ) - installer_sis_target.depends = $${baseTarget}.sis - - ok_installer_sis_target.target = ok_installer_sis - ok_installer_sis_target.commands = createpackage.bat $(QT_SIS_OPTIONS) $${baseTarget}_installer.pkg - \ - $(QT_SIS_CERTIFICATE) $(QT_SIS_KEY) $(QT_SIS_PASSPHRASE) - - fail_sis_nopkg_target.target = fail_sis_nopkg - fail_sis_nopkg_target.commands = "$(error PKG file does not exist, 'sis' and 'installer_sis' target are only supported for executables or projects with DEPLOYMENT statement)" - - fail_sis_nocache_target.target = fail_sis_nocache - fail_sis_nocache_target.commands = "$(error Project has to be built or QT_SIS_TARGET environment variable has to be set before calling 'SIS' target)" - - stub_sis_target.target = stub_sis - stub_sis_target.commands = $(if $(wildcard $${baseTarget}_template.pkg), \ - $(if $(wildcard $$make_cache_name), \ - $(MAKE) -f $(MAKEFILE) ok_stub_sis MAKEFILES=$$make_cache_name \ - , \ - $(if $(QT_SIS_TARGET), \ - $(MAKE) -f $(MAKEFILE) ok_stub_sis \ - , \ - $(MAKE) -f $(MAKEFILE) fail_sis_nocache \ - ) \ - ) \ - , \ - $(MAKE) -f $(MAKEFILE) fail_sis_nopkg \ - ) - - ok_stub_sis_target.target = ok_stub_sis - ok_stub_sis_target.commands = createpackage.bat -s $(QT_SIS_OPTIONS) $${baseTarget}_stub.pkg \ - $(QT_SIS_TARGET) $(QT_SIS_CERTIFICATE) $(QT_SIS_KEY) $(QT_SIS_PASSPHRASE) - - QMAKE_EXTRA_TARGETS += sis_target \ - ok_sis_target \ - unsigned_sis_target \ - ok_unsigned_sis_target \ - target_sis_target \ - installer_sis_target \ - ok_installer_sis_target \ - fail_sis_nopkg_target \ - fail_sis_nocache_target \ - stub_sis_target \ - ok_stub_sis_target - # Sbsv2 has its own store_build target which is using flms. - !symbian-sbsv2 { - contains(QMAKE_HOST.os, "Windows") { - shellFixedHash = $${LITERAL_HASH} - } else { - shellFixedHash = \\$${LITERAL_HASH} - } - store_build_target.target = store_build - store_build_target.commands = \ - @echo $${shellFixedHash} ============================================================================== > $$make_cache_name \ - && echo $${shellFixedHash} This file is generated by make and should not be modified by the user >> $$make_cache_name \ - && echo $${shellFixedHash} Name : $$make_cache_name >> $$make_cache_name \ - && echo $${shellFixedHash} Part of : lineedits >> $$make_cache_name \ - && echo $${shellFixedHash} Description : This file is used to cache last build target for >> $$make_cache_name \ - && echo $${shellFixedHash} make sis target. >> $$make_cache_name \ - && echo $${shellFixedHash} Version : >> $$make_cache_name \ - && echo $${shellFixedHash} >> $$make_cache_name \ - && echo $${shellFixedHash} ============================================================================== >> $$make_cache_name \ - && echo. >> $$make_cache_name \ - && echo QT_SIS_TARGET ?= $(QT_SIS_TARGET) >> $$make_cache_name - - QMAKE_EXTRA_TARGETS += store_build_target - } - } else { - qtPrepareTool(QMAKE_CREATEPACKAGE, createpackage) - - sis_destdir = $$DESTDIR - isEmpty(sis_destdir):sis_destdir = . - !equals(TARGET, "$$baseTarget"):sis_destdir = $$sis_destdir/$$dirname(TARGET) - - sis_target.target = sis - sis_target.commands = $$QMAKE_CREATEPACKAGE $(QT_SIS_OPTIONS) $${baseTarget}_template.pkg \ - - $(QT_SIS_CERTIFICATE) $(QT_SIS_KEY) $(QT_SIS_PASSPHRASE) - sis_target.depends = first - - unsigned_sis_target.target = unsigned_sis - unsigned_sis_target.commands = $$QMAKE_CREATEPACKAGE $(QT_SIS_OPTIONS) -o $${baseTarget}_template.pkg - unsigned_sis_target.depends = first - - target_sis_target.target = $${sis_destdir}/$${baseTarget}.sis - target_sis_target.commands = $(MAKE) -f $(MAKEFILE) sis - - installer_sis_target.target = installer_sis - installer_sis_target.commands = $$QMAKE_CREATEPACKAGE $(QT_SIS_OPTIONS) $${baseTarget}_installer.pkg - \ - $(QT_SIS_CERTIFICATE) $(QT_SIS_KEY) $(QT_SIS_PASSPHRASE) - installer_sis_target.depends = $${sis_destdir}/$${baseTarget}.sis - - !isEmpty(sis_destdir):!equals(sis_destdir, "."):!equals(sis_destdir, "./") { - sis_target.commands += && $$QMAKE_MOVE $${baseTarget}.sis $$sis_destdir - installer_sis_target.commands += && $$QMAKE_MOVE $${baseTarget}.sis $$sis_destdir - } - - QMAKE_EXTRA_TARGETS += sis_target \ - unsigned_sis_target \ - target_sis_target \ - installer_sis_target - - QMAKE_DISTCLEAN += $${sis_destdir}/$${baseTarget}.sis - } - - deploy_target.target = deploy - contains(QMAKE_HOST.os, "Windows") { - deploy_target.depends = sis - deploy_target.commands = call $$target_sis_target.target - } else { - deploy_target.commands = @echo Deployment not supported in this environment - } - QMAKE_EXTRA_TARGETS += deploy_target - -} else { - contains(TEMPLATE, subdirs) { - # Enable recursive sis target. - sis_target.CONFIG = recursive - sis_target.recurse = $$SUBDIRS - } else { - # Make sure we build everything, since other sis targets in a recursive invocation - # may depend on them, even if this one is empty. - # In abld/sbsv2, we assume that subdir has been built already, as all builds are recursive. - !symbian-abld:!symbian-sbsv2: sis_target.depends = first - } - sis_target.commands = - sis_target.target = sis - QMAKE_EXTRA_TARGETS += sis_target - - symbian-abld { - # Create dummy store_build target to avoid errors from .mk callbacks during build - store_build_target.target = store_build - QMAKE_EXTRA_TARGETS += store_build_target - } -} diff --git a/mkspecs/features/symbian/sis_targets.prf b/mkspecs/features/symbian/sis_targets.prf new file mode 100644 index 0000000..800a04c --- /dev/null +++ b/mkspecs/features/symbian/sis_targets.prf @@ -0,0 +1,201 @@ +# Sis file creation +GENERATE_SIS_TARGETS = false + +contains(TEMPLATE, app): GENERATE_SIS_TARGETS = true +else:!equals(DEPLOYMENT, default_deployment) { + for(dep_item, $$list($$DEPLOYMENT)) { + dep_item_sources = $$eval($${dep_item}.sources) + !isEmpty(dep_item_sources): GENERATE_SIS_TARGETS = true + } +} + +equals(GENERATE_SIS_TARGETS, true) { + + baseTarget = $$symbianRemoveSpecialCharacters($$basename(TARGET)) + + symbian-abld|symbian-sbsv2 { + symbian-sbsv2 { + CONVERT_GCCE_PARAM = -g + } else { + CONVERT_GCCE_PARAM = + } + + make_cache_name = .make.cache + sis_target.target = sis + sis_target.commands = $(if $(wildcard $${baseTarget}_template.pkg), \ + $(if $(wildcard $$make_cache_name), \ + $(MAKE) -f $(MAKEFILE) ok_sis MAKEFILES=$$make_cache_name \ + , \ + $(if $(QT_SIS_TARGET), \ + $(MAKE) -f $(MAKEFILE) ok_sis \ + , \ + $(MAKE) -f $(MAKEFILE) fail_sis_nocache \ + ) \ + ) \ + , \ + $(MAKE) -f $(MAKEFILE) fail_sis_nopkg \ + ) + + ok_sis_target.target = ok_sis + ok_sis_target.commands = createpackage.bat $$CONVERT_GCCE_PARAM $(QT_SIS_OPTIONS) $${baseTarget}_template.pkg \ + $(QT_SIS_TARGET) $(QT_SIS_CERTIFICATE) $(QT_SIS_KEY) $(QT_SIS_PASSPHRASE) + + unsigned_sis_target.target = unsigned_sis + unsigned_sis_target.commands = $(if $(wildcard $${baseTarget}_template.pkg), \ + $(if $(wildcard $$make_cache_name), \ + $(MAKE) -f $(MAKEFILE) ok_unsigned_sis MAKEFILES=$$make_cache_name \ + , \ + $(if $(QT_SIS_TARGET), \ + $(MAKE) -f $(MAKEFILE) ok_unsigned_sis \ + , \ + $(MAKE) -f $(MAKEFILE) fail_sis_nocache \ + ) \ + ) \ + , \ + $(MAKE) -f $(MAKEFILE) fail_sis_nopkg \ + ) + + ok_unsigned_sis_target.target = ok_unsigned_sis + ok_unsigned_sis_target.commands = createpackage.bat $$CONVERT_GCCE_PARAM $(QT_SIS_OPTIONS) -o $${baseTarget}_template.pkg $(QT_SIS_TARGET) + + target_sis_target.target = $${baseTarget}.sis + target_sis_target.commands = $(MAKE) -f $(MAKEFILE) sis + + installer_sis_target.target = installer_sis + installer_sis_target.commands = $(if $(wildcard $${baseTarget}_installer.pkg), \ + $(MAKE) -f $(MAKEFILE) ok_installer_sis \ + , \ + $(MAKE) -f $(MAKEFILE) fail_sis_nopkg \ + ) + installer_sis_target.depends = $${baseTarget}.sis + + ok_installer_sis_target.target = ok_installer_sis + ok_installer_sis_target.commands = createpackage.bat $(QT_SIS_OPTIONS) $${baseTarget}_installer.pkg - \ + $(QT_SIS_CERTIFICATE) $(QT_SIS_KEY) $(QT_SIS_PASSPHRASE) + + fail_sis_nopkg_target.target = fail_sis_nopkg + fail_sis_nopkg_target.commands = "$(error PKG file does not exist, 'sis' and 'installer_sis' target are only supported for executables or projects with DEPLOYMENT statement)" + + fail_sis_nocache_target.target = fail_sis_nocache + fail_sis_nocache_target.commands = "$(error Project has to be built or QT_SIS_TARGET environment variable has to be set before calling 'SIS' target)" + + stub_sis_target.target = stub_sis + stub_sis_target.commands = $(if $(wildcard $${baseTarget}_template.pkg), \ + $(if $(wildcard $$make_cache_name), \ + $(MAKE) -f $(MAKEFILE) ok_stub_sis MAKEFILES=$$make_cache_name \ + , \ + $(if $(QT_SIS_TARGET), \ + $(MAKE) -f $(MAKEFILE) ok_stub_sis \ + , \ + $(MAKE) -f $(MAKEFILE) fail_sis_nocache \ + ) \ + ) \ + , \ + $(MAKE) -f $(MAKEFILE) fail_sis_nopkg \ + ) + + ok_stub_sis_target.target = ok_stub_sis + ok_stub_sis_target.commands = createpackage.bat -s $(QT_SIS_OPTIONS) $${baseTarget}_stub.pkg \ + $(QT_SIS_TARGET) $(QT_SIS_CERTIFICATE) $(QT_SIS_KEY) $(QT_SIS_PASSPHRASE) + + QMAKE_EXTRA_TARGETS += sis_target \ + ok_sis_target \ + unsigned_sis_target \ + ok_unsigned_sis_target \ + target_sis_target \ + installer_sis_target \ + ok_installer_sis_target \ + fail_sis_nopkg_target \ + fail_sis_nocache_target \ + stub_sis_target \ + ok_stub_sis_target + # Sbsv2 has its own store_build target which is using flms. + !symbian-sbsv2 { + contains(QMAKE_HOST.os, "Windows") { + shellFixedHash = $${LITERAL_HASH} + } else { + shellFixedHash = \\$${LITERAL_HASH} + } + store_build_target.target = store_build + store_build_target.commands = \ + @echo $${shellFixedHash} ============================================================================== > $$make_cache_name \ + && echo $${shellFixedHash} This file is generated by make and should not be modified by the user >> $$make_cache_name \ + && echo $${shellFixedHash} Name : $$make_cache_name >> $$make_cache_name \ + && echo $${shellFixedHash} Part of : lineedits >> $$make_cache_name \ + && echo $${shellFixedHash} Description : This file is used to cache last build target for >> $$make_cache_name \ + && echo $${shellFixedHash} make sis target. >> $$make_cache_name \ + && echo $${shellFixedHash} Version : >> $$make_cache_name \ + && echo $${shellFixedHash} >> $$make_cache_name \ + && echo $${shellFixedHash} ============================================================================== >> $$make_cache_name \ + && echo. >> $$make_cache_name \ + && echo QT_SIS_TARGET ?= $(QT_SIS_TARGET) >> $$make_cache_name + + QMAKE_EXTRA_TARGETS += store_build_target + } + } else { + qtPrepareTool(QMAKE_CREATEPACKAGE, createpackage) + + sis_destdir = $$DESTDIR + isEmpty(sis_destdir):sis_destdir = . + !equals(TARGET, "$$baseTarget"):sis_destdir = $$sis_destdir/$$dirname(TARGET) + + sis_target.target = sis + sis_target.commands = $$QMAKE_CREATEPACKAGE $(QT_SIS_OPTIONS) $${baseTarget}_template.pkg \ + - $(QT_SIS_CERTIFICATE) $(QT_SIS_KEY) $(QT_SIS_PASSPHRASE) + sis_target.depends = first + + unsigned_sis_target.target = unsigned_sis + unsigned_sis_target.commands = $$QMAKE_CREATEPACKAGE $(QT_SIS_OPTIONS) -o $${baseTarget}_template.pkg + unsigned_sis_target.depends = first + + target_sis_target.target = $${sis_destdir}/$${baseTarget}.sis + target_sis_target.commands = $(MAKE) -f $(MAKEFILE) sis + + installer_sis_target.target = installer_sis + installer_sis_target.commands = $$QMAKE_CREATEPACKAGE $(QT_SIS_OPTIONS) $${baseTarget}_installer.pkg - \ + $(QT_SIS_CERTIFICATE) $(QT_SIS_KEY) $(QT_SIS_PASSPHRASE) + installer_sis_target.depends = $${sis_destdir}/$${baseTarget}.sis + + !isEmpty(sis_destdir):!equals(sis_destdir, "."):!equals(sis_destdir, "./") { + sis_target.commands += && $$QMAKE_MOVE $${baseTarget}.sis $$sis_destdir + installer_sis_target.commands += && $$QMAKE_MOVE $${baseTarget}.sis $$sis_destdir + } + + QMAKE_EXTRA_TARGETS += sis_target \ + unsigned_sis_target \ + target_sis_target \ + installer_sis_target + + QMAKE_DISTCLEAN += $${sis_destdir}/$${baseTarget}.sis + } + + deploy_target.target = deploy + contains(QMAKE_HOST.os, "Windows") { + deploy_target.depends = sis + deploy_target.commands = call $$target_sis_target.target + } else { + deploy_target.commands = @echo Deployment not supported in this environment + } + QMAKE_EXTRA_TARGETS += deploy_target + +} else { + contains(TEMPLATE, subdirs) { + # Enable recursive sis target. + sis_target.CONFIG = recursive + sis_target.recurse = $$SUBDIRS + } else { + # Make sure we build everything, since other sis targets in a recursive invocation + # may depend on them, even if this one is empty. + # In abld/sbsv2, we assume that subdir has been built already, as all builds are recursive. + !symbian-abld:!symbian-sbsv2: sis_target.depends = first + } + sis_target.commands = + sis_target.target = sis + QMAKE_EXTRA_TARGETS += sis_target + + symbian-abld { + # Create dummy store_build target to avoid errors from .mk callbacks during build + store_build_target.target = store_build + QMAKE_EXTRA_TARGETS += store_build_target + } +} -- cgit v0.12 From 94584dcdd02e2c08e05ca75f6f8b460c0c320947 Mon Sep 17 00:00:00 2001 From: Oswald Buddenhagen Date: Thu, 9 Sep 2010 13:25:55 +0200 Subject: don't try to show source when no locations are given Task-number: QTBUG-13466 --- tools/linguist/linguist/mainwindow.cpp | 6 +++--- tools/linguist/linguist/sourcecodeview.cpp | 2 +- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/tools/linguist/linguist/mainwindow.cpp b/tools/linguist/linguist/mainwindow.cpp index 265df05..18baa24 100644 --- a/tools/linguist/linguist/mainwindow.cpp +++ b/tools/linguist/linguist/mainwindow.cpp @@ -1522,7 +1522,7 @@ void MainWindow::selectedMessageChanged(const QModelIndex &sortedIndex, const QM } m_phraseView->setSourceText(-1, QString()); } - if (m) { + if (m && !m->fileName().isEmpty()) { if (hasFormPreview(m->fileName())) { m_sourceAndFormView->setCurrentWidget(m_formPreviewView); m_formPreviewView->setSourceContext(model, m); @@ -1577,7 +1577,7 @@ void MainWindow::updateTranslation(const QStringList &translations) return; m->setTranslations(translations); - if (hasFormPreview(m->fileName())) + if (!m->fileName().isEmpty() && hasFormPreview(m->fileName())) m_formPreviewView->setSourceContext(m_currentIndex.model(), m); updateDanger(m_currentIndex, true); @@ -1996,7 +1996,7 @@ void MainWindow::updateLatestModel(int model) if (m_currentIndex.isValid()) { if (MessageItem *item = m_dataModel->messageItem(m_currentIndex)) { - if (hasFormPreview(item->fileName())) + if (!item->fileName().isEmpty() && hasFormPreview(item->fileName())) m_formPreviewView->setSourceContext(model, item); if (enableRw && !item->isObsolete()) m_phraseView->setSourceText(model, item->text()); diff --git a/tools/linguist/linguist/sourcecodeview.cpp b/tools/linguist/linguist/sourcecodeview.cpp index b8dd9c0..d2eef56 100644 --- a/tools/linguist/linguist/sourcecodeview.cpp +++ b/tools/linguist/linguist/sourcecodeview.cpp @@ -64,7 +64,7 @@ void SourceCodeView::setSourceContext(const QString &fileName, const int lineNum m_fileToLoad.clear(); setToolTip(fileName); - if (fileName.isNull()) { + if (fileName.isEmpty()) { clear(); m_currentFileName.clear(); appendHtml(tr("Source code not available")); -- cgit v0.12 From c2d6eb9dca7546bbe8d9c6c62db683615e4b23a7 Mon Sep 17 00:00:00 2001 From: Oswald Buddenhagen Date: Thu, 9 Sep 2010 18:34:18 +0200 Subject: don't let operator overloads confuse us Task-number: QTBUG-11426 --- .../linguist/lupdate/testdata/good/parsecpp/main.cpp | 16 ++++++++++++++++ .../lupdate/testdata/good/parsecpp/project.ts.result | 8 ++++++++ tools/linguist/lupdate/cpp.cpp | 15 +++++++++++++++ 3 files changed, 39 insertions(+) diff --git a/tests/auto/linguist/lupdate/testdata/good/parsecpp/main.cpp b/tests/auto/linguist/lupdate/testdata/good/parsecpp/main.cpp index f58f932..c56ba7c 100644 --- a/tests/auto/linguist/lupdate/testdata/good/parsecpp/main.cpp +++ b/tests/auto/linguist/lupdate/testdata/good/parsecpp/main.cpp @@ -302,3 +302,19 @@ static inline QString message2() } } + + + +// QTBUG-11426: operator overloads +class LotsaFun : public QObject +{ + Q_OBJECT +public: + int operator<<(int left, int right); +}; + +int LotsaFun::operator<<(int left, int right) +{ + tr("this is inside operator<<"); + return left << right; +} diff --git a/tests/auto/linguist/lupdate/testdata/good/parsecpp/project.ts.result b/tests/auto/linguist/lupdate/testdata/good/parsecpp/project.ts.result index 7ac318e..1a6d551 100644 --- a/tests/auto/linguist/lupdate/testdata/good/parsecpp/project.ts.result +++ b/tests/auto/linguist/lupdate/testdata/good/parsecpp/project.ts.result @@ -141,6 +141,14 @@ backslashed \ stuff. + LotsaFun + + + this is inside operator<< + + + + Plurals, QCoreApplication diff --git a/tools/linguist/lupdate/cpp.cpp b/tools/linguist/lupdate/cpp.cpp index 970d44b..009d5a7 100644 --- a/tools/linguist/lupdate/cpp.cpp +++ b/tools/linguist/lupdate/cpp.cpp @@ -489,6 +489,7 @@ STRING(class); STRING(findMessage); STRING(friend); STRING(namespace); +STRING(operator); STRING(qtTrId); STRING(return); STRING(struct); @@ -753,6 +754,20 @@ uint CppParser::getToken() if (yyWord == strnamespace) return Tok_namespace; break; + case 'o': + if (yyWord == stroperator) { + // Operator overload declaration/definition. + // We need to prevent those characters from confusing the followup + // parsing. Actually using them does not add value, so just eat them. + while (isspace(yyCh)) + yyCh = getChar(); + while (yyCh == '+' || yyCh == '-' || yyCh == '*' || yyCh == '/' || yyCh == '%' + || yyCh == '=' || yyCh == '<' || yyCh == '>' || yyCh == '!' + || yyCh == '&' || yyCh == '|' || yyCh == '~' || yyCh == '^' + || yyCh == '[' || yyCh == ']') + yyCh = getChar(); + } + break; case 'q': if (yyWord == strqtTrId) return Tok_trid; -- cgit v0.12 From f7db9a602a83b05ccad6ac33a2ab63acf3367481 Mon Sep 17 00:00:00 2001 From: Oswald Buddenhagen Date: Fri, 10 Sep 2010 09:34:43 +0200 Subject: delay next token fetching when opening namespace otherwise, if the next token to be fetched is a non-empty #define, it would save the context before entering the namespace, and thus the post-define context restore would just discard the namespace entry. Task-number: QTBUG-12683 --- .../lupdate/testdata/good/parsecpp/main.cpp | 25 ++++++++++++++++++++++ .../testdata/good/parsecpp/project.ts.result | 8 +++++++ tools/linguist/lupdate/cpp.cpp | 2 +- 3 files changed, 34 insertions(+), 1 deletion(-) diff --git a/tests/auto/linguist/lupdate/testdata/good/parsecpp/main.cpp b/tests/auto/linguist/lupdate/testdata/good/parsecpp/main.cpp index c56ba7c..706e8d0 100644 --- a/tests/auto/linguist/lupdate/testdata/good/parsecpp/main.cpp +++ b/tests/auto/linguist/lupdate/testdata/good/parsecpp/main.cpp @@ -318,3 +318,28 @@ int LotsaFun::operator<<(int left, int right) tr("this is inside operator<<"); return left << right; } + + + +// QTBUG-12683: define in re-opened namespace +namespace NameSchpace { + +class YetMoreFun : public QObject +{ + Q_OBJECT +public: + void funStuff(); +}; + +} + +namespace NameSchpace { + +#define somevar 1 + +void YetMoreFun::funStuff() +{ + tr("funStuff!"); +} + +} diff --git a/tests/auto/linguist/lupdate/testdata/good/parsecpp/project.ts.result b/tests/auto/linguist/lupdate/testdata/good/parsecpp/project.ts.result index 1a6d551..f73fc64 100644 --- a/tests/auto/linguist/lupdate/testdata/good/parsecpp/project.ts.result +++ b/tests/auto/linguist/lupdate/testdata/good/parsecpp/project.ts.result @@ -149,6 +149,14 @@ backslashed \ stuff. + NameSchpace::YetMoreFun + + + funStuff! + + + + Plurals, QCoreApplication diff --git a/tools/linguist/lupdate/cpp.cpp b/tools/linguist/lupdate/cpp.cpp index 009d5a7..d701d7f 100644 --- a/tools/linguist/lupdate/cpp.cpp +++ b/tools/linguist/lupdate/cpp.cpp @@ -1704,7 +1704,6 @@ void CppParser::parseInternal(ConversionData &cd, QSet &inclusions) HashString ns = HashString(text); yyTok = getToken(); if (yyTok == Tok_LeftBrace) { - yyTok = getToken(); namespaceDepths.push(namespaces.count()); enterNamespace(&namespaces, ns); @@ -1712,6 +1711,7 @@ void CppParser::parseInternal(ConversionData &cd, QSet &inclusions) functionContextUnresolved.clear(); prospectiveContext.clear(); pendingContext.clear(); + yyTok = getToken(); } else if (yyTok == Tok_Equals) { // e.g. namespace Is = OuterSpace::InnerSpace; QList fullName; -- cgit v0.12 From b7ae28f8abcf591d8897c8e47a096aabb2c36a2b Mon Sep 17 00:00:00 2001 From: Oswald Buddenhagen Date: Fri, 10 Sep 2010 16:25:18 +0200 Subject: fetch next token after class definition opening this makes no real difference, as at this point the token is known to be an opening brace which will be handled without side effects in the next iteration, but this is a tad more efficient and simply cleaner. --- tools/linguist/lupdate/cpp.cpp | 2 ++ 1 file changed, 2 insertions(+) diff --git a/tools/linguist/lupdate/cpp.cpp b/tools/linguist/lupdate/cpp.cpp index d701d7f..6ea7299 100644 --- a/tools/linguist/lupdate/cpp.cpp +++ b/tools/linguist/lupdate/cpp.cpp @@ -1693,6 +1693,8 @@ void CppParser::parseInternal(ConversionData &cd, QSet &inclusions) functionContextUnresolved.clear(); // Pointless prospectiveContext.clear(); pendingContext.clear(); + + yyTok = getToken(); } break; case Tok_namespace: -- cgit v0.12 From e26cba5c15ae02ae0fba9b73ed90c9b1f7b5286b Mon Sep 17 00:00:00 2001 From: Christian Kandeler Date: Fri, 10 Sep 2010 17:55:06 +0200 Subject: Bearer management: Fix compilation with namespace. --- src/plugins/bearer/connman/qofonoservice_linux_p.h | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/plugins/bearer/connman/qofonoservice_linux_p.h b/src/plugins/bearer/connman/qofonoservice_linux_p.h index 4892666..0ac1e4a 100644 --- a/src/plugins/bearer/connman/qofonoservice_linux_p.h +++ b/src/plugins/bearer/connman/qofonoservice_linux_p.h @@ -329,4 +329,6 @@ Q_SIGNALS: void incomingMessage(const QString &message, const QVariantMap &info); }; +QT_END_NAMESPACE + #endif //QOFONOSERVICE_H -- cgit v0.12 From 288244c528ca169d1a3b015e27fc9561d7094563 Mon Sep 17 00:00:00 2001 From: Thiago Macieira Date: Sat, 11 Sep 2010 09:58:43 +0200 Subject: Revert "Properly implement qobject_cast for const pointers." This commit added new symbols to the 4.7 branch after 4.7.0 was frozen. This reverts commit 0b0aa7603b27447a5abe55c55d0514bc56b35f9e. --- src/corelib/kernel/qmetaobject.cpp | 20 +------------------- src/corelib/kernel/qobject.h | 6 +++++- src/corelib/kernel/qobjectdefs.h | 1 - 3 files changed, 6 insertions(+), 21 deletions(-) diff --git a/src/corelib/kernel/qmetaobject.cpp b/src/corelib/kernel/qmetaobject.cpp index 3b9b04a..9854e68 100644 --- a/src/corelib/kernel/qmetaobject.cpp +++ b/src/corelib/kernel/qmetaobject.cpp @@ -266,25 +266,7 @@ QObject *QMetaObject::cast(QObject *obj) const const QMetaObject *m = obj->metaObject(); do { if (m == this) - return obj; - } while ((m = m->d.superdata)); - } - return 0; -} - -/*! - \internal - - Returns \a obj if object \a obj inherits from this - meta-object; otherwise returns 0. -*/ -const QObject *QMetaObject::cast(const QObject *obj) const -{ - if (obj) { - const QMetaObject *m = obj->metaObject(); - do { - if (m == this) - return obj; + return const_cast(obj); } while ((m = m->d.superdata)); } return 0; diff --git a/src/corelib/kernel/qobject.h b/src/corelib/kernel/qobject.h index b5c772e..d98d1f0 100644 --- a/src/corelib/kernel/qobject.h +++ b/src/corelib/kernel/qobject.h @@ -369,10 +369,14 @@ inline T qobject_cast(QObject *object) template inline T qobject_cast(const QObject *object) { + // this will cause a compilation error if T is not const + register T ptr = static_cast(object); + Q_UNUSED(ptr); + #if !defined(QT_NO_MEMBER_TEMPLATES) && !defined(QT_NO_QOBJECT_CHECK) reinterpret_cast(0)->qt_check_for_QOBJECT_macro(*reinterpret_cast(const_cast(object))); #endif - return static_cast(reinterpret_cast(0)->staticMetaObject.cast(object)); + return static_cast(const_cast(reinterpret_cast(0)->staticMetaObject.cast(const_cast(object)))); } diff --git a/src/corelib/kernel/qobjectdefs.h b/src/corelib/kernel/qobjectdefs.h index 0d045dc..555a1f5 100644 --- a/src/corelib/kernel/qobjectdefs.h +++ b/src/corelib/kernel/qobjectdefs.h @@ -298,7 +298,6 @@ struct Q_CORE_EXPORT QMetaObject const QMetaObject *superClass() const; QObject *cast(QObject *obj) const; - const QObject *cast(const QObject *obj) const; #ifndef QT_NO_TRANSLATION // ### Qt 4: Merge overloads -- cgit v0.12 From d9f5115eb7f7ba78db245ff9e66ae638317f5b70 Mon Sep 17 00:00:00 2001 From: Andreas Kling Date: Sun, 12 Sep 2010 19:19:52 +0200 Subject: QStroker: Fix erroneous SvgMiterJoin behavior for parallel lines QLineF::intersect() yields an undefined intersectionPoint for parallel lines. Thus if the distance to 0,0 is shorter than the current miter limit, we would draw a triangle to 0,0. Handle this by not drawing the triangle for parallel lines. This matches the behavior of Qt::MiterJoin. --- src/gui/painting/qstroker.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/gui/painting/qstroker.cpp b/src/gui/painting/qstroker.cpp index eabbd8a..9cff339 100644 --- a/src/gui/painting/qstroker.cpp +++ b/src/gui/painting/qstroker.cpp @@ -609,7 +609,7 @@ void QStroker::joinPoints(qfixed focal_x, qfixed focal_y, const QLineF &nextLine } QLineF miterLine(QPointF(qt_fixed_to_real(focal_x), qt_fixed_to_real(focal_y)), isect); - if (miterLine.length() > qt_fixed_to_real(m_strokeWidth * m_miterLimit) / 2) { + if (type == QLineF::NoIntersection || miterLine.length() > qt_fixed_to_real(m_strokeWidth * m_miterLimit) / 2) { emitLineTo(qt_real_to_fixed(nextLine.x1()), qt_real_to_fixed(nextLine.y1())); } else { -- cgit v0.12 From 8545436476497cf8aa9e7af46000f283cbbfb3d9 Mon Sep 17 00:00:00 2001 From: Simon Hausmann Date: Sun, 12 Sep 2010 23:22:20 +0200 Subject: Updated WebKit to 715b53069911a31a559aa0b3d94ffc6a5ac20988 Sync with qtwebkit-2.0 branch * Includes Thiago's intel compiler fixes * Girish' Maemo5 local rendering fixes --- src/3rdparty/webkit/.tag | 2 +- src/3rdparty/webkit/JavaScriptCore/ChangeLog | 57 +++++++++++ .../webkit/JavaScriptCore/bytecode/Opcode.h | 2 +- .../webkit/JavaScriptCore/jit/JITStubs.cpp | 97 +++++++++--------- src/3rdparty/webkit/JavaScriptCore/wtf/Platform.h | 5 +- src/3rdparty/webkit/JavaScriptCore/wtf/Vector.h | 2 +- src/3rdparty/webkit/VERSION | 2 +- src/3rdparty/webkit/WebCore/ChangeLog | 102 +++++++++++++++++++ src/3rdparty/webkit/WebCore/WebCore.pro | 11 ++- src/3rdparty/webkit/WebCore/bridge/npapi.h | 31 ++++++ .../webkit/WebCore/plugins/PluginPackage.cpp | 2 +- src/3rdparty/webkit/WebCore/plugins/PluginView.cpp | 10 ++ src/3rdparty/webkit/WebCore/plugins/PluginView.h | 10 ++ .../webkit/WebCore/plugins/qt/PluginViewQt.cpp | 109 +++++++++++++++++++-- src/3rdparty/webkit/WebKit/qt/Api/qwebkitglobal.h | 4 +- src/3rdparty/webkit/WebKit/qt/ChangeLog | 77 +++++++++++++++ .../qt/WebCoreSupport/FrameLoaderClientQt.cpp | 17 +++- .../webkit/WebKit/qt/qt_webkit_version.pri | 4 +- 18 files changed, 473 insertions(+), 71 deletions(-) diff --git a/src/3rdparty/webkit/.tag b/src/3rdparty/webkit/.tag index 1148320..ae33228 100644 --- a/src/3rdparty/webkit/.tag +++ b/src/3rdparty/webkit/.tag @@ -1 +1 @@ -460b651cbe4f6994b492ff08614e57b0e31a24c8 +715b53069911a31a559aa0b3d94ffc6a5ac20988 diff --git a/src/3rdparty/webkit/JavaScriptCore/ChangeLog b/src/3rdparty/webkit/JavaScriptCore/ChangeLog index 2be6f5a..9922da6 100644 --- a/src/3rdparty/webkit/JavaScriptCore/ChangeLog +++ b/src/3rdparty/webkit/JavaScriptCore/ChangeLog @@ -1,3 +1,60 @@ +2010-06-16 Thiago Macieira + + Reviewed by NOBODY (OOPS!). + + Reindent the asm code I've moved to inside the function + (previous commit) + + * jit/JITStubs.cpp: + +2010-06-16 Thiago Macieira + + Reviewed by NOBODY (OOPS!). + + Fix the JIT compilation with the Intel 32-bit C++ compiler. + + ICC doesn't understand the use of "asm" statements outside of + function bodies, so move the assembly code inside a dummy + function (and mark it so that the compiler doesn't remove it + altogether). + + Also removed the ".text" entry that I had added because now + the assembly code is properly inside a code section (fixes + compilation with -ffunction-sections). + + * jit/JITStubs.cpp: + +2010-06-16 Thiago Macieira + + Reviewed by NOBODY (OOPS!). + + Don't use __attribute__((may_alias)) with the Intel compiler, + as it doesn't understand it. + + * wtf/Vector.h: + +2010-06-16 Thiago Macieira + + Reviewed by NOBODY (OOPS!). + + Fix compilation with the Intel C++ compiler (11.1.072). + + Like RVCT, label pointers must be void*, not const void*. + + * bytecode/Opcode.h: + +2010-06-16 Thiago Macieira + + Reviewed by NOBODY (OOPS!). + + Add the WTF_COMPILER_INTEL for when the Intel compiler is used + for building. Usually, the Intel compiler masquerades as + another compiler in the system and gets away with it, but some + times specific fixes are required (such as when using language + extensions). + + * wtf/Platform.h: + 2010-07-08 Andreas Kling Reviewed by Oliver Hunt. diff --git a/src/3rdparty/webkit/JavaScriptCore/bytecode/Opcode.h b/src/3rdparty/webkit/JavaScriptCore/bytecode/Opcode.h index 509daeb..f7f53fd 100644 --- a/src/3rdparty/webkit/JavaScriptCore/bytecode/Opcode.h +++ b/src/3rdparty/webkit/JavaScriptCore/bytecode/Opcode.h @@ -206,7 +206,7 @@ namespace JSC { #undef VERIFY_OPCODE_ID #if HAVE(COMPUTED_GOTO) -#if COMPILER(RVCT) +#if COMPILER(RVCT) || COMPILER(INTEL) typedef void* Opcode; #else typedef const void* Opcode; diff --git a/src/3rdparty/webkit/JavaScriptCore/jit/JITStubs.cpp b/src/3rdparty/webkit/JavaScriptCore/jit/JITStubs.cpp index e5fcdc4..23fcb96 100644 --- a/src/3rdparty/webkit/JavaScriptCore/jit/JITStubs.cpp +++ b/src/3rdparty/webkit/JavaScriptCore/jit/JITStubs.cpp @@ -113,56 +113,59 @@ COMPILE_ASSERT(offsetof(struct JITStackFrame, savedEBX) == 0x3c, JITStackFrame_s COMPILE_ASSERT(offsetof(struct JITStackFrame, callFrame) == 0x58, JITStackFrame_callFrame_offset_matches_ctiTrampoline); COMPILE_ASSERT(offsetof(struct JITStackFrame, code) == 0x50, JITStackFrame_code_offset_matches_ctiTrampoline); -asm volatile ( -".text\n" -".globl " SYMBOL_STRING(ctiTrampoline) "\n" -HIDE_SYMBOL(ctiTrampoline) "\n" -SYMBOL_STRING(ctiTrampoline) ":" "\n" - "pushl %ebp" "\n" - "movl %esp, %ebp" "\n" - "pushl %esi" "\n" - "pushl %edi" "\n" - "pushl %ebx" "\n" - "subl $0x3c, %esp" "\n" - "movl $512, %esi" "\n" - "movl 0x58(%esp), %edi" "\n" - "call *0x50(%esp)" "\n" - "addl $0x3c, %esp" "\n" - "popl %ebx" "\n" - "popl %edi" "\n" - "popl %esi" "\n" - "popl %ebp" "\n" - "ret" "\n" -); - -asm volatile ( -".globl " SYMBOL_STRING(ctiVMThrowTrampoline) "\n" -HIDE_SYMBOL(ctiVMThrowTrampoline) "\n" -SYMBOL_STRING(ctiVMThrowTrampoline) ":" "\n" +static void __attribute__((used)) asm_wrapper() +{ + asm volatile ( + ".text\n" + ".globl " SYMBOL_STRING(ctiTrampoline) "\n" + HIDE_SYMBOL(ctiTrampoline) "\n" + SYMBOL_STRING(ctiTrampoline) ":" "\n" + "pushl %ebp" "\n" + "movl %esp, %ebp" "\n" + "pushl %esi" "\n" + "pushl %edi" "\n" + "pushl %ebx" "\n" + "subl $0x3c, %esp" "\n" + "movl $512, %esi" "\n" + "movl 0x58(%esp), %edi" "\n" + "call *0x50(%esp)" "\n" + "addl $0x3c, %esp" "\n" + "popl %ebx" "\n" + "popl %edi" "\n" + "popl %esi" "\n" + "popl %ebp" "\n" + "ret" "\n" + ); + + asm volatile ( + ".globl " SYMBOL_STRING(ctiVMThrowTrampoline) "\n" + HIDE_SYMBOL(ctiVMThrowTrampoline) "\n" + SYMBOL_STRING(ctiVMThrowTrampoline) ":" "\n" #if !USE(JIT_STUB_ARGUMENT_VA_LIST) - "movl %esp, %ecx" "\n" + "movl %esp, %ecx" "\n" #endif - "call " SYMBOL_STRING_RELOCATION(cti_vm_throw) "\n" - "addl $0x3c, %esp" "\n" - "popl %ebx" "\n" - "popl %edi" "\n" - "popl %esi" "\n" - "popl %ebp" "\n" - "ret" "\n" -); - -asm volatile ( -".globl " SYMBOL_STRING(ctiOpThrowNotCaught) "\n" -HIDE_SYMBOL(ctiOpThrowNotCaught) "\n" -SYMBOL_STRING(ctiOpThrowNotCaught) ":" "\n" - "addl $0x3c, %esp" "\n" - "popl %ebx" "\n" - "popl %edi" "\n" - "popl %esi" "\n" - "popl %ebp" "\n" - "ret" "\n" -); + "call " SYMBOL_STRING_RELOCATION(cti_vm_throw) "\n" + "addl $0x3c, %esp" "\n" + "popl %ebx" "\n" + "popl %edi" "\n" + "popl %esi" "\n" + "popl %ebp" "\n" + "ret" "\n" + ); + asm volatile ( + ".globl " SYMBOL_STRING(ctiOpThrowNotCaught) "\n" + HIDE_SYMBOL(ctiOpThrowNotCaught) "\n" + SYMBOL_STRING(ctiOpThrowNotCaught) ":" "\n" + "addl $0x3c, %esp" "\n" + "popl %ebx" "\n" + "popl %edi" "\n" + "popl %esi" "\n" + "popl %ebp" "\n" + "ret" "\n" + ); +} + #elif COMPILER(GCC) && CPU(X86_64) #if USE(JIT_STUB_ARGUMENT_VA_LIST) diff --git a/src/3rdparty/webkit/JavaScriptCore/wtf/Platform.h b/src/3rdparty/webkit/JavaScriptCore/wtf/Platform.h index 84b6153..15f0ffc 100644 --- a/src/3rdparty/webkit/JavaScriptCore/wtf/Platform.h +++ b/src/3rdparty/webkit/JavaScriptCore/wtf/Platform.h @@ -99,7 +99,10 @@ #undef _WIN32 #endif - +/* COMPILER(INTEL) - Intel C++ Compiler */ +#if defined(__INTEL_COMPILER) +#define WTF_COMPILER_INTEL 1 +#endif /* ==== CPU() - the target CPU architecture ==== */ diff --git a/src/3rdparty/webkit/JavaScriptCore/wtf/Vector.h b/src/3rdparty/webkit/JavaScriptCore/wtf/Vector.h index 4d9ea61..c267050 100644 --- a/src/3rdparty/webkit/JavaScriptCore/wtf/Vector.h +++ b/src/3rdparty/webkit/JavaScriptCore/wtf/Vector.h @@ -49,7 +49,7 @@ namespace WTF { #error WTF_ALIGN macros need alignment control. #endif - #if COMPILER(GCC) && (((__GNUC__ * 100) + __GNUC_MINOR__) >= 303) + #if COMPILER(GCC) && !COMPILER(INTEL) && (((__GNUC__ * 100) + __GNUC_MINOR__) >= 303) typedef char __attribute__((__may_alias__)) AlignedBufferChar; #else typedef char AlignedBufferChar; diff --git a/src/3rdparty/webkit/VERSION b/src/3rdparty/webkit/VERSION index aff3f2a..f919bdf 100644 --- a/src/3rdparty/webkit/VERSION +++ b/src/3rdparty/webkit/VERSION @@ -4,4 +4,4 @@ This is a snapshot of the Qt port of WebKit from and has the sha1 checksum - 460b651cbe4f6994b492ff08614e57b0e31a24c8 + 715b53069911a31a559aa0b3d94ffc6a5ac20988 diff --git a/src/3rdparty/webkit/WebCore/ChangeLog b/src/3rdparty/webkit/WebCore/ChangeLog index 98d4d51..2d20cbd 100644 --- a/src/3rdparty/webkit/WebCore/ChangeLog +++ b/src/3rdparty/webkit/WebCore/ChangeLog @@ -1,3 +1,105 @@ +2010-09-09 Kristian Amlie + + Reviewed by Andreas Kling. + + [Qt] Fixed incorrect Symbian scoping. + + The missing install functionality is only true for mmp based systems. + + https://bugs.webkit.org/show_bug.cgi?id=45268 + + * WebCore.pro: + +2010-09-12 Oswald Buddenhagen + + Reviewed by Simon Hausmann. + + [Qt] fix qt_webkit_version.pri install for in-Qt builds + + Always add the target, even if building inside Qt - as opposed to the + headers and libraries, there are no rules for that coming from + qbase.pri. + + Task-number: QTBUG-13306 + + * WebCore.pro: + +2010-09-12 Oswald Buddenhagen + + Reviewed by Simon Hausmann. + + [Qt] Let QtWebKit inject itself into the qt configuration + + i.e., don't explicitly deal with qt_webkit_version.pri outside of the + webkit source directory. + + Task-number: QTBUG-12379 + + * WebCore.pro: + +2010-08-20 Girish Ramakrishnan + + Reviewed by Ariya Hidayat. + + [Qt] When using the raster graphics system on Maemo5, allow + Flash to render directly into the raster window surface. + wmode=transparent is now supported as a result of this change. + + https://bugs.webkit.org/show_bug.cgi?id=44043 + + * plugins/qt/PluginViewQt.cpp: + (WebCore::PluginView::paintUsingImageSurfaceExtension): + +2010-08-18 Girish Ramakrishnan + + Reviewed by Kenneth Rohde Christiansen. + + [Qt] Implement Maemo5 local rendering NPAPI extension. See + https://wiki.mozilla.org/Plugins:NokiaMaemoImageSurface for details. + + With the local rendering extension, Flash will paint into a 16-bit surface. + For wmode=transparent, Flash expects the surface to contain the contents + beneath it. As it is tricky to implement the content propagation across all + graphics systems, transparent Flash is not supported. We just fill the surface + with white and wmode=transparent behaves the same as wmode=opaque with a white + background. + + https://bugs.webkit.org/show_bug.cgi?id=44043 + + * WebCore.pro: + * plugins/PluginView.cpp: + (WebCore::PluginView::setValue): + (WebCore::PluginView::PluginView): + * plugins/PluginView.h: + * plugins/qt/PluginViewQt.cpp: + (WebCore::PluginView::updatePluginWidget): + (WebCore::PluginView::paintUsingImageSurfaceExtension): + (WebCore::PluginView::paint): + (WebCore::PluginView::platformGetValueStatic): + +2010-08-17 Girish Ramakrishnan + + Reviewed by Antonio Gomes. + + [Qt] On Maemo5, there is no libgdk-x11-2.0.so symlink. Look for + libgdk-x11-2.0.so.0 instead on X11 and Maemo5. + + https://bugs.webkit.org/show_bug.cgi?id=44043 + + * plugins/qt/PluginViewQt.cpp: + (WebCore::getPluginDisplay): + +2010-08-17 Girish Ramakrishnan + + Reviewed by Kenneth Rohde Christiansen. + Set PluginQuirkRequiresDefaultScreenDepth for all Flash versions and not + just Flash 10. + + https://bugs.webkit.org/show_bug.cgi?id=44043 + + * plugins/PluginPackage.cpp: + (WebCore::PluginPackage::determineQuirks): + 2010-08-10 Tor Arne Vestbø Reviewed by Simon Hausmann. diff --git a/src/3rdparty/webkit/WebCore/WebCore.pro b/src/3rdparty/webkit/WebCore/WebCore.pro index 5ea1e77..87638a0 100644 --- a/src/3rdparty/webkit/WebCore/WebCore.pro +++ b/src/3rdparty/webkit/WebCore/WebCore.pro @@ -2192,6 +2192,9 @@ contains(DEFINES, ENABLE_NETSCAPE_PLUGIN_API=1) { CONFIG += x11 LIBS += -lXrender } + maemo5 { + DEFINES += MOZ_PLATFORM_MAEMO=5 + } SOURCES += \ plugins/qt/PluginContainerQt.cpp \ plugins/qt/PluginPackageQt.cpp \ @@ -2857,13 +2860,13 @@ contains(DEFINES, ENABLE_SYMBIAN_DIALOG_PROVIDERS) { } } -!symbian-abld:!symbian-sbsv2 { +!symbian { modfile.files = $$moduleFile modfile.path = $$[QMAKE_MKSPECS]/modules INSTALLS += modfile } else { - # INSTALLS is not implemented in qmake's mmp generators, copy headers manually + # INSTALLS is not implemented in qmake's s60 generators, copy headers manually inst_modfile.commands = $$QMAKE_COPY ${QMAKE_FILE_NAME} ${QMAKE_FILE_OUT} inst_modfile.input = moduleFile @@ -2883,7 +2886,7 @@ HEADERS += $$WEBKIT_API_HEADERS exists($$OUTPUT_DIR/include/QtWebKit/classheaders.pri): include($$OUTPUT_DIR/include/QtWebKit/classheaders.pri) WEBKIT_INSTALL_HEADERS = $$WEBKIT_API_HEADERS $$WEBKIT_CLASS_HEADERS - !symbian { + !symbian-abld:!symbian-sbsv2 { headers.files = $$WEBKIT_INSTALL_HEADERS !isEmpty(INSTALL_HEADERS): headers.path = $$INSTALL_HEADERS/QtWebKit @@ -2894,7 +2897,7 @@ HEADERS += $$WEBKIT_API_HEADERS INSTALLS += target headers } else { - # INSTALLS is not implemented in qmake's s60 generators, copy headers manually + # INSTALLS is not implemented in qmake's mmp generators, copy headers manually inst_headers.commands = $$QMAKE_COPY ${QMAKE_FILE_NAME} ${QMAKE_FILE_OUT} inst_headers.input = WEBKIT_INSTALL_HEADERS inst_headers.CONFIG = no_clean diff --git a/src/3rdparty/webkit/WebCore/bridge/npapi.h b/src/3rdparty/webkit/WebCore/bridge/npapi.h index 533fcba..daa3a36 100644 --- a/src/3rdparty/webkit/WebCore/bridge/npapi.h +++ b/src/3rdparty/webkit/WebCore/bridge/npapi.h @@ -247,6 +247,12 @@ typedef struct _NPRect } NPRect; +typedef struct _NPSize +{ + int32 width; + int32 height; +} NPSize; + #ifdef XP_UNIX /* * Unix specific structures and definitions @@ -373,6 +379,11 @@ typedef enum { /* In the NPDrawingModelCoreAnimation drawing model, the browser asks the plug-in for a Core Animation layer. */ NPPVpluginCoreAnimationLayer = 1003 #endif + + +#if defined(MOZ_PLATFORM_MAEMO) && (MOZ_PLATFORM_MAEMO == 5) + NPPVpluginWindowlessLocalBool = 2002 +#endif } NPPVariable; /* @@ -419,6 +430,9 @@ typedef enum { , NPNVsupportsCocoaBool = 3001 /* TRUE if the browser supports the Cocoa event model */ #endif /* XP_MACOSX */ +#if defined(MOZ_PLATFORM_MAEMO) && (MOZ_PLATFORM_MAEMO == 5) + , NPNVSupportsWindowlessLocal = 2002 +#endif } NPNVariable; typedef enum { @@ -539,6 +553,23 @@ typedef struct _NPWindow } NPWindow; +typedef struct _NPImageExpose +{ + char* data; /* image pointer */ + int32 stride; /* Stride of data image pointer */ + int32 depth; /* Depth of image pointer */ + int32 x; /* Expose x */ + int32 y; /* Expose y */ + uint32 width; /* Expose width */ + uint32 height; /* Expose height */ + NPSize dataSize; /* Data buffer size */ + float translateX; /* translate X matrix value */ + float translateY; /* translate Y matrix value */ + float scaleX; /* scale X matrix value */ + float scaleY; /* scale Y matrix value */ +} NPImageExpose; + + typedef struct _NPFullPrint { NPBool pluginPrinted; /* Set TRUE if plugin handled fullscreen */ diff --git a/src/3rdparty/webkit/WebCore/plugins/PluginPackage.cpp b/src/3rdparty/webkit/WebCore/plugins/PluginPackage.cpp index ad03ecd..3881f54 100644 --- a/src/3rdparty/webkit/WebCore/plugins/PluginPackage.cpp +++ b/src/3rdparty/webkit/WebCore/plugins/PluginPackage.cpp @@ -185,12 +185,12 @@ void PluginPackage::determineQuirks(const String& mimeType) #if PLATFORM(QT) m_quirks.add(PluginQuirkRequiresGtkToolKit); #endif - m_quirks.add(PluginQuirkRequiresDefaultScreenDepth); } else { // Flash 9 and older requests windowless plugins if we return a mozilla user agent m_quirks.add(PluginQuirkWantsMozillaUserAgent); } + m_quirks.add(PluginQuirkRequiresDefaultScreenDepth); m_quirks.add(PluginQuirkThrottleInvalidate); m_quirks.add(PluginQuirkThrottleWMUserPlusOneMessages); m_quirks.add(PluginQuirkFlashURLNotifyBug); diff --git a/src/3rdparty/webkit/WebCore/plugins/PluginView.cpp b/src/3rdparty/webkit/WebCore/plugins/PluginView.cpp index df9a29b..b8b2f2f 100644 --- a/src/3rdparty/webkit/WebCore/plugins/PluginView.cpp +++ b/src/3rdparty/webkit/WebCore/plugins/PluginView.cpp @@ -1,6 +1,7 @@ /* * Copyright (C) 2006, 2007, 2008, 2009, 2010 Apple Inc. All rights reserved. * Copyright (C) 2008 Collabora Ltd. All rights reserved. + * Copyright (C) 2010 Girish Ramakrishnan * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions @@ -679,6 +680,12 @@ NPError PluginView::setValue(NPPVariable variable, void* value) } #endif // defined(XP_MACOSX) +#if PLATFORM(QT) && defined(MOZ_PLATFORM_MAEMO) && (MOZ_PLATFORM_MAEMO == 5) + case NPPVpluginWindowlessLocalBool: + m_renderToImage = true; + return NPERR_NO_ERROR; +#endif + default: notImplemented(); return NPERR_GENERIC_ERROR; @@ -852,6 +859,9 @@ PluginView::PluginView(Frame* parentFrame, const IntSize& size, PluginPackage* p , m_colormap(0) , m_pluginDisplay(0) #endif +#if PLATFORM(QT) && defined(MOZ_PLATFORM_MAEMO) && (MOZ_PLATFORM_MAEMO == 5) + , m_renderToImage(false) +#endif , m_loadManually(loadManually) , m_manualStream(0) , m_isJavaScriptPaused(false) diff --git a/src/3rdparty/webkit/WebCore/plugins/PluginView.h b/src/3rdparty/webkit/WebCore/plugins/PluginView.h index 51b2127..f346134 100644 --- a/src/3rdparty/webkit/WebCore/plugins/PluginView.h +++ b/src/3rdparty/webkit/WebCore/plugins/PluginView.h @@ -54,6 +54,10 @@ typedef PlatformWidget PlatformPluginWidget; #include #endif #endif +#if PLATFORM(QT) && defined(MOZ_PLATFORM_MAEMO) && (MOZ_PLATFORM_MAEMO == 5) +#include +class QPainter; +#endif namespace JSC { namespace Bindings { @@ -371,6 +375,12 @@ private: void initXEvent(XEvent* event); #endif +#if PLATFORM(QT) && defined(MOZ_PLATFORM_MAEMO) && (MOZ_PLATFORM_MAEMO == 5) + QImage m_image; + bool m_renderToImage; + void paintUsingImageSurfaceExtension(QPainter* painter, const IntRect& exposedRect); +#endif + IntRect m_clipRect; // The clip rect to apply to a windowed plug-in IntRect m_windowRect; // Our window rect. diff --git a/src/3rdparty/webkit/WebCore/plugins/qt/PluginViewQt.cpp b/src/3rdparty/webkit/WebCore/plugins/qt/PluginViewQt.cpp index fb88b87..8dadc11 100644 --- a/src/3rdparty/webkit/WebCore/plugins/qt/PluginViewQt.cpp +++ b/src/3rdparty/webkit/WebCore/plugins/qt/PluginViewQt.cpp @@ -110,12 +110,20 @@ void PluginView::updatePluginWidget() return; if (!m_isWindowed && m_windowRect.size() != oldWindowRect.size()) { - if (m_drawable) - XFreePixmap(QX11Info::display(), m_drawable); +#if defined(MOZ_PLATFORM_MAEMO) && (MOZ_PLATFORM_MAEMO == 5) + // On Maemo5, Flash always renders to 16-bit buffer + if (m_renderToImage) + m_image = QImage(m_windowRect.width(), m_windowRect.height(), QImage::Format_RGB16); + else +#endif + { + if (m_drawable) + XFreePixmap(QX11Info::display(), m_drawable); - m_drawable = XCreatePixmap(QX11Info::display(), QX11Info::appRootWindow(), m_windowRect.width(), m_windowRect.height(), - ((NPSetWindowCallbackStruct*)m_npWindow.ws_info)->depth); - QApplication::syncX(); // make sure that the server knows about the Drawable + m_drawable = XCreatePixmap(QX11Info::display(), QX11Info::appRootWindow(), m_windowRect.width(), m_windowRect.height(), + ((NPSetWindowCallbackStruct*)m_npWindow.ws_info)->depth); + QApplication::syncX(); // make sure that the server knows about the Drawable + } } // do not call setNPWindowIfNeeded immediately, will be called on paint() @@ -154,6 +162,71 @@ void PluginView::hide() Widget::hide(); } +#if defined(MOZ_PLATFORM_MAEMO) && (MOZ_PLATFORM_MAEMO == 5) +void PluginView::paintUsingImageSurfaceExtension(QPainter* painter, const IntRect& exposedRect) +{ + NPImageExpose imageExpose; + QPoint offset; + QWebPageClient* client = m_parentFrame->view()->hostWindow()->platformPageClient(); + const bool surfaceHasUntransformedContents = client && qobject_cast(client->pluginParent()); + + QPaintDevice* surface = QPainter::redirected(painter->device(), &offset); + + // If the surface is a QImage, we can render directly into it + if (surfaceHasUntransformedContents && surface && surface->devType() == QInternal::Image) { + QImage* image = static_cast(surface); + offset = -offset; // negating the offset gives us the offset of the view within the surface + imageExpose.data = reinterpret_cast(image->bits()); + imageExpose.dataSize.width = image->width(); + imageExpose.dataSize.height = image->height(); + imageExpose.stride = image->bytesPerLine(); + imageExpose.depth = image->depth(); // this is guaranteed to be 16 on Maemo5 + imageExpose.translateX = offset.x() + m_windowRect.x(); + imageExpose.translateY = offset.y() + m_windowRect.y(); + imageExpose.scaleX = 1; + imageExpose.scaleY = 1; + } else { + if (m_isTransparent) { + // On Maemo5, Flash expects the buffer to contain the contents that are below it. + // We don't support transparency for non-raster graphicssystem, so clean the image + // before giving to Flash. + QPainter imagePainter(&m_image); + imagePainter.fillRect(exposedRect, Qt::white); + } + + imageExpose.data = reinterpret_cast(m_image.bits()); + imageExpose.dataSize.width = m_image.width(); + imageExpose.dataSize.height = m_image.height(); + imageExpose.stride = m_image.bytesPerLine(); + imageExpose.depth = m_image.depth(); + imageExpose.translateX = 0; + imageExpose.translateY = 0; + imageExpose.scaleX = 1; + imageExpose.scaleY = 1; + } + imageExpose.x = exposedRect.x(); + imageExpose.y = exposedRect.y(); + imageExpose.width = exposedRect.width(); + imageExpose.height = exposedRect.height(); + + XEvent xevent; + memset(&xevent, 0, sizeof(XEvent)); + XGraphicsExposeEvent& exposeEvent = xevent.xgraphicsexpose; + exposeEvent.type = GraphicsExpose; + exposeEvent.display = 0; + exposeEvent.drawable = reinterpret_cast(&imageExpose); + exposeEvent.x = exposedRect.x(); + exposeEvent.y = exposedRect.y(); + exposeEvent.width = exposedRect.width(); + exposeEvent.height = exposedRect.height(); + + dispatchNPEvent(xevent); + + if (!surfaceHasUntransformedContents || !surface || surface->devType() != QInternal::Image) + painter->drawImage(QPoint(frameRect().x() + exposedRect.x(), frameRect().y() + exposedRect.y()), m_image, exposedRect); +} +#endif + void PluginView::paint(GraphicsContext* context, const IntRect& rect) { if (!m_isStarted) { @@ -166,19 +239,32 @@ void PluginView::paint(GraphicsContext* context, const IntRect& rect) setNPWindowIfNeeded(); - if (m_isWindowed || !m_drawable) + if (m_isWindowed) return; - const bool syncX = m_pluginDisplay && m_pluginDisplay != QX11Info::display(); + if (!m_drawable +#if defined(MOZ_PLATFORM_MAEMO) && (MOZ_PLATFORM_MAEMO == 5) + && m_image.isNull() +#endif + ) + return; QPainter* painter = context->platformContext(); IntRect exposedRect(rect); exposedRect.intersect(frameRect()); exposedRect.move(-frameRect().x(), -frameRect().y()); +#if defined(MOZ_PLATFORM_MAEMO) && (MOZ_PLATFORM_MAEMO == 5) + if (!m_image.isNull()) { + paintUsingImageSurfaceExtension(painter, exposedRect); + return; + } +#endif + QPixmap qtDrawable = QPixmap::fromX11Pixmap(m_drawable, QPixmap::ExplicitlyShared); const int drawableDepth = ((NPSetWindowCallbackStruct*)m_npWindow.ws_info)->depth; ASSERT(drawableDepth == qtDrawable.depth()); + const bool syncX = m_pluginDisplay && m_pluginDisplay != QX11Info::display(); // When printing, Qt uses a QPicture to capture the output in preview mode. The // QPicture holds a reference to the X Pixmap. As a result, the print preview would @@ -576,6 +662,13 @@ bool PluginView::platformGetValueStatic(NPNVariable variable, void* value, NPErr *result = NPERR_NO_ERROR; return true; +#if defined(MOZ_PLATFORM_MAEMO) && (MOZ_PLATFORM_MAEMO == 5) + case NPNVSupportsWindowlessLocal: + *static_cast(value) = true; + *result = NPERR_NO_ERROR; + return true; +#endif + default: return false; } @@ -651,7 +744,7 @@ static Display *getPluginDisplay() // support gdk based plugins (like flash) that use a different X connection. // The code below has the same effect as this one: // Display *gdkDisplay = gdk_x11_display_get_xdisplay(gdk_display_get_default()); - QLibrary library("libgdk-x11-2.0"); + QLibrary library("libgdk-x11-2.0.so.0"); if (!library.load()) return 0; diff --git a/src/3rdparty/webkit/WebKit/qt/Api/qwebkitglobal.h b/src/3rdparty/webkit/WebKit/qt/Api/qwebkitglobal.h index 665bf1b..63d9e55 100644 --- a/src/3rdparty/webkit/WebKit/qt/Api/qwebkitglobal.h +++ b/src/3rdparty/webkit/WebKit/qt/Api/qwebkitglobal.h @@ -22,9 +22,9 @@ #include -#define QTWEBKIT_VERSION_STR "2.0.0" +#define QTWEBKIT_VERSION_STR "2.0.1" // QTWEBKIT_VERSION is (major << 16) + (minor << 8) + patch. Similar to Qt. -#define QTWEBKIT_VERSION 0x020000 +#define QTWEBKIT_VERSION 0x020001 // Use: #if (QTWEBKIT_VERSION >= QTWEBKIT_VERSION_CHECK(2, 0, 0)). Similar to Qt. #define QTWEBKIT_VERSION_CHECK(major, minor, patch) ((major<<16)|(minor<<8)|(patch)) diff --git a/src/3rdparty/webkit/WebKit/qt/ChangeLog b/src/3rdparty/webkit/WebKit/qt/ChangeLog index 5083ba5..c6c3d72 100644 --- a/src/3rdparty/webkit/WebKit/qt/ChangeLog +++ b/src/3rdparty/webkit/WebKit/qt/ChangeLog @@ -1,3 +1,80 @@ +2010-09-12 Martin Smith + + Reviewed by Simon Hausmann. + + doc: Changed the title so lists of contents sort better. + + * docs/qtwebkit.qdoc: + +2010-09-12 David Boddie + + Reviewed by Simon Hausmann. + + Doc: More work on the QML documentation. + + * declarative/qdeclarativewebview.cpp: + +2010-09-12 Martin Jones + + Reviewed by Simon Hausmann. + + [Qml] Ensure WebView gets focus when an editable node is clicked on. + + Task-number: QTBUG-13342 + + * declarative/qdeclarativewebview.cpp: + (GraphicsWebView::mousePressEvent): + +2010-09-12 David Boddie + + Reviewed by Simon Hausmann. + + Doc: qdoc fixes. + + * declarative/qdeclarativewebview.cpp: + +2010-09-12 Oswald Buddenhagen + + Reviewed by Simon Hausmann. + + [Qt] let WebKit inject itself into the qt configuration + + Task-number: QTBUG-12379 + + * qt_webkit_version.pri: Use the faster + instead of * + operator to add webkit to the config. + +2010-09-12 Martin Smith + + Reviewed by Simon Hausmann. + + [Qt] Fix group of declarative web view in QML docs. + + * declarative/qdeclarativewebview.cpp: + +2010-08-20 Girish Ramakrishnan + + Reviewed by Ariya Hidayat. + + [Qt] Allow wmode=transparent in QWebView on Maemo5 after r65775. + + https://bugs.webkit.org/show_bug.cgi?id=44043 + + * WebCoreSupport/FrameLoaderClientQt.cpp: + (WebCore::FrameLoaderClientQt::createPlugin): + +2010-08-19 Girish Ramakrishnan + + Reviewed by Kenneth Christiansen. + + [Qt] Inject wmode=opaque for both QWebView and QGraphicsWebView on Maemo5 + as Flash XEmbed support is flaky. + + https://bugs.webkit.org/show_bug.cgi?id=44043 + + * WebCoreSupport/FrameLoaderClientQt.cpp: + (WebCore::FrameLoaderClientQt::createPlugin): + 2010-08-05 David Leong Reviewed by Simon Hausmann. diff --git a/src/3rdparty/webkit/WebKit/qt/WebCoreSupport/FrameLoaderClientQt.cpp b/src/3rdparty/webkit/WebKit/qt/WebCoreSupport/FrameLoaderClientQt.cpp index 713fa39..dcbf614 100644 --- a/src/3rdparty/webkit/WebKit/qt/WebCoreSupport/FrameLoaderClientQt.cpp +++ b/src/3rdparty/webkit/WebKit/qt/WebCoreSupport/FrameLoaderClientQt.cpp @@ -4,7 +4,7 @@ * Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies) * Copyright (C) 2008 Collabora Ltd. All rights reserved. * Coypright (C) 2008 Holger Hans Peter Freyther - * Coypright (C) 2009 Girish Ramakrishnan + * Coypright (C) 2009, 2010 Girish Ramakrishnan * * All rights reserved. * @@ -1349,7 +1349,19 @@ PassRefPtr FrameLoaderClientQt::createPlugin(const IntSize& pluginSize, Vector values = paramValues; if (mimeType == "application/x-shockwave-flash") { QWebPageClient* client = m_webFrame->page()->d->client; - if (!client || !qobject_cast(client->pluginParent())) { + const bool isQWebView = client && qobject_cast(client->pluginParent()); +#if defined(MOZ_PLATFORM_MAEMO) && (MOZ_PLATFORM_MAEMO == 5) + size_t wmodeIndex = params.find("wmode"); + if (wmodeIndex == -1) { + // Disable XEmbed mode and force it to opaque mode + params.append("wmode"); + values.append("opaque"); + } else if (!isQWebView) { + // Disable transparency if client is not a QWebView + values[wmodeIndex] = "opaque"; + } +#else + if (!isQWebView) { // inject wmode=opaque when there is no client or the client is not a QWebView size_t wmodeIndex = params.find("wmode"); if (wmodeIndex == -1) { @@ -1358,6 +1370,7 @@ PassRefPtr FrameLoaderClientQt::createPlugin(const IntSize& pluginSize, } else values[wmodeIndex] = "opaque"; } +#endif } RefPtr pluginView = PluginView::create(m_frame, pluginSize, element, url, diff --git a/src/3rdparty/webkit/WebKit/qt/qt_webkit_version.pri b/src/3rdparty/webkit/WebKit/qt/qt_webkit_version.pri index 4594d1e..f2282f8 100644 --- a/src/3rdparty/webkit/WebKit/qt/qt_webkit_version.pri +++ b/src/3rdparty/webkit/WebKit/qt/qt_webkit_version.pri @@ -1,5 +1,5 @@ -QT_WEBKIT_VERSION = 4.7.0 +QT_WEBKIT_VERSION = 4.7.1 QT_WEBKIT_MAJOR_VERSION = 4 QT_WEBKIT_MINOR_VERSION = 7 -QT_WEBKIT_PATCH_VERSION = 0 +QT_WEBKIT_PATCH_VERSION = 1 QT_CONFIG += webkit -- cgit v0.12 From b04672e479ae245063e641c77d43e311c0851dc0 Mon Sep 17 00:00:00 2001 From: Martin Jones Date: Mon, 13 Sep 2010 09:32:42 +1000 Subject: Fix slot naming clash Reviewed-by: David Boddie --- src/imports/folderlistmodel/qdeclarativefolderlistmodel.cpp | 4 ++-- src/imports/folderlistmodel/qdeclarativefolderlistmodel.h | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/imports/folderlistmodel/qdeclarativefolderlistmodel.cpp b/src/imports/folderlistmodel/qdeclarativefolderlistmodel.cpp index 4983840..abab33c 100644 --- a/src/imports/folderlistmodel/qdeclarativefolderlistmodel.cpp +++ b/src/imports/folderlistmodel/qdeclarativefolderlistmodel.cpp @@ -167,7 +167,7 @@ QDeclarativeFolderListModel::QDeclarativeFolderListModel(QObject *parent) connect(&d->model, SIGNAL(rowsRemoved(const QModelIndex&,int,int)) , this, SLOT(removed(const QModelIndex&,int,int))); connect(&d->model, SIGNAL(dataChanged(const QModelIndex&,const QModelIndex&)) - , this, SLOT(dataChanged(const QModelIndex&,const QModelIndex&))); + , this, SLOT(handleDataChanged(const QModelIndex&,const QModelIndex&))); connect(&d->model, SIGNAL(modelReset()), this, SLOT(refresh())); connect(&d->model, SIGNAL(layoutChanged()), this, SLOT(refresh())); } @@ -363,7 +363,7 @@ void QDeclarativeFolderListModel::removed(const QModelIndex &index, int start, i } } -void QDeclarativeFolderListModel::dataChanged(const QModelIndex &start, const QModelIndex &end) +void QDeclarativeFolderListModel::handleDataChanged(const QModelIndex &start, const QModelIndex &end) { if (start.parent() == d->folderIndex) emit dataChanged(index(start.row(),0), index(end.row(),0)); diff --git a/src/imports/folderlistmodel/qdeclarativefolderlistmodel.h b/src/imports/folderlistmodel/qdeclarativefolderlistmodel.h index 1bab5f84..24edecd 100644 --- a/src/imports/folderlistmodel/qdeclarativefolderlistmodel.h +++ b/src/imports/folderlistmodel/qdeclarativefolderlistmodel.h @@ -138,7 +138,7 @@ private Q_SLOTS: void refresh(); void inserted(const QModelIndex &index, int start, int end); void removed(const QModelIndex &index, int start, int end); - void dataChanged(const QModelIndex &start, const QModelIndex &end); + void handleDataChanged(const QModelIndex &start, const QModelIndex &end); private: Q_DISABLE_COPY(QDeclarativeFolderListModel) -- cgit v0.12 From a39285f6f5c3355d48810851a7215b951f1aaa4c Mon Sep 17 00:00:00 2001 From: Rhys Weatherley Date: Mon, 13 Sep 2010 09:44:06 +1000 Subject: Fix compilation of QEgl with EGL 1.1 and older. Reviewed-by: Sarah Smith --- src/gui/egl/qegl.cpp | 2 +- src/gui/egl/qegl_p.h | 4 ++++ src/gui/egl/qeglproperties.cpp | 2 ++ 3 files changed, 7 insertions(+), 1 deletion(-) diff --git a/src/gui/egl/qegl.cpp b/src/gui/egl/qegl.cpp index 605b1e6..af3b79a 100644 --- a/src/gui/egl/qegl.cpp +++ b/src/gui/egl/qegl.cpp @@ -259,7 +259,7 @@ EGLConfig QEgl::defaultConfig(int devType, API api, ConfigOptions options) // Add paint engine requirements if (api == OpenVG) { -#ifndef QVG_SCISSOR_CLIP +#if !defined(QVG_SCISSOR_CLIP) && defined(EGL_ALPHA_MASK_SIZE) configAttribs.setValue(EGL_ALPHA_MASK_SIZE, 1); #endif } else { diff --git a/src/gui/egl/qegl_p.h b/src/gui/egl/qegl_p.h index c214e88..aa08934 100644 --- a/src/gui/egl/qegl_p.h +++ b/src/gui/egl/qegl_p.h @@ -65,6 +65,10 @@ QT_BEGIN_INCLUDE_NAMESPACE #else # include #endif +#if !defined(EGL_VERSION_1_2) +typedef unsigned int EGLenum; +typedef void *EGLClientBuffer; +#endif #else //types from egltypes.h for compiling stub without EGL headers diff --git a/src/gui/egl/qeglproperties.cpp b/src/gui/egl/qeglproperties.cpp index 3638de5..eeae06d 100644 --- a/src/gui/egl/qeglproperties.cpp +++ b/src/gui/egl/qeglproperties.cpp @@ -241,8 +241,10 @@ void QEglProperties::setRenderableType(QEgl::API api) // reductions in complexity are possible. bool QEglProperties::reduceConfiguration() { +#ifdef EGL_SWAP_BEHAVIOR if (value(EGL_SWAP_BEHAVIOR) != EGL_DONT_CARE) removeValue(EGL_SWAP_BEHAVIOR); +#endif #ifdef EGL_VG_ALPHA_FORMAT_PRE_BIT // For OpenVG, we sometimes try to create a surface using a pre-multiplied format. If we can't -- cgit v0.12 From 90c8a68eef4a87209279f4c528c540efe6525384 Mon Sep 17 00:00:00 2001 From: Martin Jones Date: Mon, 13 Sep 2010 10:54:25 +1000 Subject: Ensure flickable velocity is updated when view is moved by setCurrentIndex Task-number: QTBUG-13543 --- src/declarative/graphicsitems/qdeclarativeflickable.cpp | 6 +++--- src/declarative/graphicsitems/qdeclarativeflickable_p_p.h | 1 + src/declarative/graphicsitems/qdeclarativegridview.cpp | 2 ++ src/declarative/graphicsitems/qdeclarativelistview.cpp | 2 ++ 4 files changed, 8 insertions(+), 3 deletions(-) diff --git a/src/declarative/graphicsitems/qdeclarativeflickable.cpp b/src/declarative/graphicsitems/qdeclarativeflickable.cpp index 062bbfb..c0b664f 100644 --- a/src/declarative/graphicsitems/qdeclarativeflickable.cpp +++ b/src/declarative/graphicsitems/qdeclarativeflickable.cpp @@ -128,8 +128,8 @@ QDeclarativeFlickablePrivate::QDeclarativeFlickablePrivate() , flickingHorizontally(false), flickingVertically(false) , hMoved(false), vMoved(false) , movingHorizontally(false), movingVertically(false) - , stealMouse(false), pressed(false) - , interactive(true), deceleration(500), maxVelocity(2000), reportedVelocitySmoothing(100) + , stealMouse(false), pressed(false), interactive(true), calcVelocity(false) + , deceleration(500), maxVelocity(2000), reportedVelocitySmoothing(100) , delayedPressEvent(0), delayedPressTarget(0), pressDelay(0), fixupDuration(600) , vTime(0), visibleArea(0) , flickableDirection(QDeclarativeFlickable::AutoFlickDirection) @@ -981,7 +981,7 @@ void QDeclarativeFlickable::viewportMoved() qreal prevY = d->lastFlickablePosition.x(); qreal prevX = d->lastFlickablePosition.y(); d->velocityTimeline.clear(); - if (d->pressed) { + if (d->pressed || d->calcVelocity) { int elapsed = QDeclarativeItemPrivate::restart(d->velocityTime); if (elapsed > 0) { qreal horizontalVelocity = (prevX - d->hData.move.value()) * 1000 / elapsed; diff --git a/src/declarative/graphicsitems/qdeclarativeflickable_p_p.h b/src/declarative/graphicsitems/qdeclarativeflickable_p_p.h index c398faa..2da034c 100644 --- a/src/declarative/graphicsitems/qdeclarativeflickable_p_p.h +++ b/src/declarative/graphicsitems/qdeclarativeflickable_p_p.h @@ -141,6 +141,7 @@ public: bool stealMouse : 1; bool pressed : 1; bool interactive : 1; + bool calcVelocity : 1; QElapsedTimer lastPosTime; QPointF lastPos; QPointF pressPos; diff --git a/src/declarative/graphicsitems/qdeclarativegridview.cpp b/src/declarative/graphicsitems/qdeclarativegridview.cpp index a0faf14..6a99733 100644 --- a/src/declarative/graphicsitems/qdeclarativegridview.cpp +++ b/src/declarative/graphicsitems/qdeclarativegridview.cpp @@ -2241,7 +2241,9 @@ void QDeclarativeGridView::trackedPositionChanged() } if (viewPos != pos) { cancelFlick(); + d->calcVelocity = true; d->setPosition(pos); + d->calcVelocity = false; } } } diff --git a/src/declarative/graphicsitems/qdeclarativelistview.cpp b/src/declarative/graphicsitems/qdeclarativelistview.cpp index 177c5b3..ae504aa 100644 --- a/src/declarative/graphicsitems/qdeclarativelistview.cpp +++ b/src/declarative/graphicsitems/qdeclarativelistview.cpp @@ -2732,7 +2732,9 @@ void QDeclarativeListView::trackedPositionChanged() } if (viewPos != pos) { cancelFlick(); + d->calcVelocity = true; d->setPosition(pos); + d->calcVelocity = false; } } } -- cgit v0.12 From 491f5f9cc6da171155c613295018b9d54bb683c9 Mon Sep 17 00:00:00 2001 From: Martin Jones Date: Mon, 13 Sep 2010 11:02:24 +1000 Subject: Add test for view velocity update on setCurrentIndex() Task-number: QTBUG-13543 --- .../auto/declarative/qdeclarativegridview/tst_qdeclarativegridview.cpp | 2 ++ .../auto/declarative/qdeclarativelistview/tst_qdeclarativelistview.cpp | 2 ++ 2 files changed, 4 insertions(+) diff --git a/tests/auto/declarative/qdeclarativegridview/tst_qdeclarativegridview.cpp b/tests/auto/declarative/qdeclarativegridview/tst_qdeclarativegridview.cpp index d4d8bf6..5fd373c 100644 --- a/tests/auto/declarative/qdeclarativegridview/tst_qdeclarativegridview.cpp +++ b/tests/auto/declarative/qdeclarativegridview/tst_qdeclarativegridview.cpp @@ -604,6 +604,8 @@ void tst_QDeclarativeGridView::currentIndex() // no wrap gridview->setCurrentIndex(0); QCOMPARE(gridview->currentIndex(), 0); + // confirm that the velocity is updated + QTRY_VERIFY(gridview->verticalVelocity() != 0.0); gridview->moveCurrentIndexUp(); QCOMPARE(gridview->currentIndex(), 0); diff --git a/tests/auto/declarative/qdeclarativelistview/tst_qdeclarativelistview.cpp b/tests/auto/declarative/qdeclarativelistview/tst_qdeclarativelistview.cpp index e4b59a7..cd17fad 100644 --- a/tests/auto/declarative/qdeclarativelistview/tst_qdeclarativelistview.cpp +++ b/tests/auto/declarative/qdeclarativelistview/tst_qdeclarativelistview.cpp @@ -1016,6 +1016,8 @@ void tst_QDeclarativeListView::currentIndex() // no wrap listview->setCurrentIndex(0); QCOMPARE(listview->currentIndex(), 0); + // confirm that the velocity is updated + QTRY_VERIFY(listview->verticalVelocity() != 0.0); listview->incrementCurrentIndex(); QCOMPARE(listview->currentIndex(), 1); -- cgit v0.12 From b7d98cb89889032d7fc7b7e16b5183305dfb714b Mon Sep 17 00:00:00 2001 From: Aaron McCarthy Date: Mon, 13 Sep 2010 12:08:22 +1000 Subject: Fix memory leaks and valgrind errors. --- src/network/bearer/qbearerengine.cpp | 3 +++ src/plugins/bearer/networkmanager/qnetworkmanagerengine.cpp | 11 +++++++++-- 2 files changed, 12 insertions(+), 2 deletions(-) diff --git a/src/network/bearer/qbearerengine.cpp b/src/network/bearer/qbearerengine.cpp index 2f8624a..b074924 100644 --- a/src/network/bearer/qbearerengine.cpp +++ b/src/network/bearer/qbearerengine.cpp @@ -58,18 +58,21 @@ QBearerEngine::~QBearerEngine() it.value()->isValid = false; it.value()->id.clear(); } + snapConfigurations.clear(); for (it = accessPointConfigurations.begin(), end = accessPointConfigurations.end(); it != end; ++it) { it.value()->isValid = false; it.value()->id.clear(); } + accessPointConfigurations.clear(); for (it = userChoiceConfigurations.begin(), end = userChoiceConfigurations.end(); it != end; ++it) { it.value()->isValid = false; it.value()->id.clear(); } + userChoiceConfigurations.clear(); } bool QBearerEngine::requiresPolling() const diff --git a/src/plugins/bearer/networkmanager/qnetworkmanagerengine.cpp b/src/plugins/bearer/networkmanager/qnetworkmanagerengine.cpp index 29445ce..554f9b7 100644 --- a/src/plugins/bearer/networkmanager/qnetworkmanagerengine.cpp +++ b/src/plugins/bearer/networkmanager/qnetworkmanagerengine.cpp @@ -97,6 +97,10 @@ QNetworkManagerEngine::QNetworkManagerEngine(QObject *parent) QNetworkManagerEngine::~QNetworkManagerEngine() { + qDeleteAll(connections); + qDeleteAll(accessPoints); + qDeleteAll(wirelessDevices); + qDeleteAll(activeConnections); } void QNetworkManagerEngine::initialize() @@ -389,7 +393,7 @@ void QNetworkManagerEngine::deviceRemoved(const QDBusObjectPath &path) { QMutexLocker locker(&mutex); - delete wirelessDevices.value(path.path()); + delete wirelessDevices.take(path.path()); } void QNetworkManagerEngine::newConnection(const QDBusObjectPath &path, @@ -455,6 +459,8 @@ void QNetworkManagerEngine::removeConnection(const QString &path) QNetworkConfigurationPrivatePointer ptr = accessPointConfigurations.take(id); + connection->deleteLater(); + locker.unlock(); emit configurationRemoved(ptr); } @@ -631,7 +637,8 @@ void QNetworkManagerEngine::removeAccessPoint(const QString &path, locker.unlock(); emit configurationChanged(ptr); - return; + locker.relock(); + break; } } } else { -- cgit v0.12 From d1b522c76eb1132254f195c2f59bd5d55cd2f525 Mon Sep 17 00:00:00 2001 From: Aaron McCarthy Date: Mon, 13 Sep 2010 13:26:22 +1000 Subject: Remove debug, quiet warnings. --- examples/network/bearermonitor/sessionwidget.cpp | 2 +- src/plugins/bearer/networkmanager/qnetworkmanagerservice.cpp | 2 -- 2 files changed, 1 insertion(+), 3 deletions(-) diff --git a/examples/network/bearermonitor/sessionwidget.cpp b/examples/network/bearermonitor/sessionwidget.cpp index ecc2a93..5ec9d53 100644 --- a/examples/network/bearermonitor/sessionwidget.cpp +++ b/examples/network/bearermonitor/sessionwidget.cpp @@ -107,7 +107,7 @@ void SessionWidget::updateSession() if (session->state() == QNetworkSession::Connected) statsTimer = startTimer(1000); - else + else if (statsTimer != -1) killTimer(statsTimer); if (session->configuration().type() == QNetworkConfiguration::InternetAccessPoint) diff --git a/src/plugins/bearer/networkmanager/qnetworkmanagerservice.cpp b/src/plugins/bearer/networkmanager/qnetworkmanagerservice.cpp index f47c97c..499fe5a 100644 --- a/src/plugins/bearer/networkmanager/qnetworkmanagerservice.cpp +++ b/src/plugins/bearer/networkmanager/qnetworkmanagerservice.cpp @@ -743,8 +743,6 @@ bool QNetworkManagerSettingsConnection::isAutoConnect() quint64 QNetworkManagerSettingsConnection::getTimestamp() { - qDebug() << d->settingsMap.value(QLatin1String("connection")); - return d->settingsMap.value(QLatin1String("connection")) .value(QLatin1String("timestamp")).toUInt(); } -- cgit v0.12 From b8c1712988f00d7bb2e9ca02b598a77fb2a6ff01 Mon Sep 17 00:00:00 2001 From: Aaron McCarthy Date: Mon, 13 Sep 2010 14:26:00 +1000 Subject: Don't add generic subdirs project twice. Task-number: QTBUG-13519 --- src/plugins/bearer/bearer.pro | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/plugins/bearer/bearer.pro b/src/plugins/bearer/bearer.pro index bbe8ab1..d1d75f0 100644 --- a/src/plugins/bearer/bearer.pro +++ b/src/plugins/bearer/bearer.pro @@ -3,9 +3,9 @@ TEMPLATE = subdirs contains(QT_CONFIG, dbus) { contains(QT_CONFIG, icd) { SUBDIRS += icd - } else { + } else:linux* { SUBDIRS += generic - linux*:SUBDIRS += connman networkmanager + SUBDIRS += connman networkmanager } } @@ -16,4 +16,4 @@ macx:contains(QT_CONFIG, corewlan):SUBDIRS += corewlan macx:SUBDIRS += generic symbian:SUBDIRS += symbian -isEmpty(SUBDIRS):SUBDIRS += generic +isEmpty(SUBDIRS):SUBDIRS = generic -- cgit v0.12 From ca36badc8925788e06910fab5200633d40e0f328 Mon Sep 17 00:00:00 2001 From: Martin Jones Date: Mon, 13 Sep 2010 15:16:57 +1000 Subject: When onDoubleClicked: is handled don't emit a second onPressed/onClicked Task-number: QTBUG-12250 Reviewed-by: Michael Brasser --- .../graphicsitems/qdeclarativemousearea.cpp | 17 +++++++----- .../graphicsitems/qdeclarativemousearea_p_p.h | 6 ++++ .../qdeclarativemousearea/data/doubleclick.qml | 14 ++++++++++ .../tst_qdeclarativemousearea.cpp | 32 ++++++++++++++++++++++ 4 files changed, 62 insertions(+), 7 deletions(-) create mode 100644 tests/auto/declarative/qdeclarativemousearea/data/doubleclick.qml diff --git a/src/declarative/graphicsitems/qdeclarativemousearea.cpp b/src/declarative/graphicsitems/qdeclarativemousearea.cpp index 5516611..4685e65 100644 --- a/src/declarative/graphicsitems/qdeclarativemousearea.cpp +++ b/src/declarative/graphicsitems/qdeclarativemousearea.cpp @@ -303,7 +303,9 @@ QDeclarativeMouseAreaPrivate::~QDeclarativeMouseAreaPrivate() The \l {MouseEvent}{mouse} parameter provides information about the click, including the x and y position of the release of the click, and whether the click was held. - The \e accepted property of the MouseEvent parameter is ignored in this handler. + If the \e accepted property of the \l {MouseEvent}{mouse} parameter is set to false + in the handler, the onPressed/onReleased/onClicked handlers will be called for the second + click; otherwise they are supressed. The accepted property defaults to true. */ /*! @@ -525,12 +527,13 @@ void QDeclarativeMouseArea::mouseDoubleClickEvent(QGraphicsSceneMouseEvent *even if (!d->absorb) { QDeclarativeItem::mouseDoubleClickEvent(event); } else { - QDeclarativeItem::mouseDoubleClickEvent(event); - if (event->isAccepted()) { - // Only deliver the event if we have accepted the press. - d->saveEvent(event); - QDeclarativeMouseEvent me(d->lastPos.x(), d->lastPos.y(), d->lastButton, d->lastButtons, d->lastModifiers, true, false); - emit this->doubleClicked(&me); + d->saveEvent(event); + QDeclarativeMouseEvent me(d->lastPos.x(), d->lastPos.y(), d->lastButton, d->lastButtons, d->lastModifiers, true, false); + me.setAccepted(d->isDoubleClickConnected()); + emit this->doubleClicked(&me); + if (!me.isAccepted()) { + // Only deliver the press event if we haven't accepted the double click. + QDeclarativeItem::mouseDoubleClickEvent(event); } } } diff --git a/src/declarative/graphicsitems/qdeclarativemousearea_p_p.h b/src/declarative/graphicsitems/qdeclarativemousearea_p_p.h index cf9dc18..48a56d9 100644 --- a/src/declarative/graphicsitems/qdeclarativemousearea_p_p.h +++ b/src/declarative/graphicsitems/qdeclarativemousearea_p_p.h @@ -95,6 +95,12 @@ public: return QObjectPrivate::get(q)->isSignalConnected(idx); } + bool isDoubleClickConnected() { + Q_Q(QDeclarativeMouseArea); + static int idx = QObjectPrivate::get(q)->signalIndex("doubleClicked(QDeclarativeMouseEvent*)"); + return QObjectPrivate::get(q)->isSignalConnected(idx); + } + bool absorb : 1; bool hovered : 1; bool pressed : 1; diff --git a/tests/auto/declarative/qdeclarativemousearea/data/doubleclick.qml b/tests/auto/declarative/qdeclarativemousearea/data/doubleclick.qml new file mode 100644 index 0000000..9cddf1b --- /dev/null +++ b/tests/auto/declarative/qdeclarativemousearea/data/doubleclick.qml @@ -0,0 +1,14 @@ +import Qt 4.7 + +Item { + id: root + property int clicked: 0 + property int doubleClicked: 0 + + MouseArea { + width: 200; height: 200 + onClicked: { root.clicked++ } + onDoubleClicked: { root.doubleClicked++ } + } +} + diff --git a/tests/auto/declarative/qdeclarativemousearea/tst_qdeclarativemousearea.cpp b/tests/auto/declarative/qdeclarativemousearea/tst_qdeclarativemousearea.cpp index c9bb467..e4ec01f 100644 --- a/tests/auto/declarative/qdeclarativemousearea/tst_qdeclarativemousearea.cpp +++ b/tests/auto/declarative/qdeclarativemousearea/tst_qdeclarativemousearea.cpp @@ -62,6 +62,7 @@ private slots: void updateMouseAreaPosOnResize(); void noOnClickedWithPressAndHold(); void onMousePressRejected(); + void doubleClick(); private: QDeclarativeView *createView(); @@ -390,6 +391,37 @@ void tst_QDeclarativeMouseArea::onMousePressRejected() QVERIFY(!canvas->rootObject()->property("mr2_released").toBool()); } +void tst_QDeclarativeMouseArea::doubleClick() +{ + QDeclarativeView *canvas = createView(); + canvas->setSource(QUrl::fromLocalFile(SRCDIR "/data/doubleclick.qml")); + canvas->show(); + canvas->setFocus(); + QVERIFY(canvas->rootObject() != 0); + + QGraphicsScene *scene = canvas->scene(); + QGraphicsSceneMouseEvent pressEvent(QEvent::GraphicsSceneMousePress); + pressEvent.setScenePos(QPointF(100, 100)); + pressEvent.setButton(Qt::LeftButton); + pressEvent.setButtons(Qt::LeftButton); + QApplication::sendEvent(scene, &pressEvent); + + QGraphicsSceneMouseEvent releaseEvent(QEvent::GraphicsSceneMouseRelease); + releaseEvent.setScenePos(QPointF(100, 100)); + releaseEvent.setButton(Qt::LeftButton); + releaseEvent.setButtons(Qt::LeftButton); + QApplication::sendEvent(scene, &releaseEvent); + + QGraphicsSceneMouseEvent dblClickEvent(QEvent::GraphicsSceneMouseDoubleClick); + dblClickEvent.setScenePos(QPointF(100, 100)); + dblClickEvent.setButton(Qt::LeftButton); + dblClickEvent.setButtons(Qt::LeftButton); + QApplication::sendEvent(scene, &dblClickEvent); + + QCOMPARE(canvas->rootObject()->property("clicked").toInt(), 1); + QCOMPARE(canvas->rootObject()->property("doubleClicked").toInt(), 1); +} + QTEST_MAIN(tst_QDeclarativeMouseArea) #include "tst_qdeclarativemousearea.moc" -- cgit v0.12 From 7275dc27b1bbdb897a94caaf31da2c78c5abfa8c Mon Sep 17 00:00:00 2001 From: Jason Barron Date: Mon, 13 Sep 2010 11:40:24 +0200 Subject: Remove compiler warning in qapplication.cpp. Fix a warning since we were deleting the graphics_system instance, but the type was only forward declared. Reviewed-by: Samuel --- src/gui/kernel/qapplication.cpp | 1 + 1 file changed, 1 insertion(+) diff --git a/src/gui/kernel/qapplication.cpp b/src/gui/kernel/qapplication.cpp index d6fb630..caeeeb9 100644 --- a/src/gui/kernel/qapplication.cpp +++ b/src/gui/kernel/qapplication.cpp @@ -65,6 +65,7 @@ #include "qcolormap.h" #include "qdebug.h" #include "private/qgraphicssystemfactory_p.h" +#include "private/qgraphicssystem_p.h" #include "private/qstylesheetstyle_p.h" #include "private/qstyle_p.h" #include "qmessagebox.h" -- cgit v0.12 From c69469ff12eeed23584b5c3b15978a7e75d01df1 Mon Sep 17 00:00:00 2001 From: Eskil Abrahamsen Blomfeldt Date: Mon, 13 Sep 2010 14:05:54 +0200 Subject: Linux: Fix mispositioned, misclipped glyphs in large fonts (QStaticText) While drawText() will use the path fallback for large fonts, and never hit this problem, QStaticText will draw the large fonts into the glyph cache. This broke when the freetype (or any other font engine) falls back to the generic implementation of alphaMapForGlyph() which uses path drawing. The problem was that alphaMapForGlyph() is not supposed to contain the bearing of the glyph, only the actual pixels. Since QFontEngine did not honor this contract, we would sample the wrong area in the glyph cache to get the glyph image. Task-number: QTBUG-12540 Reviewed-by: Gunnar --- src/gui/text/qfontengine.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/gui/text/qfontengine.cpp b/src/gui/text/qfontengine.cpp index 1e8461f..a3f4d8a 100644 --- a/src/gui/text/qfontengine.cpp +++ b/src/gui/text/qfontengine.cpp @@ -631,10 +631,10 @@ QImage QFontEngine::alphaMapForGlyph(glyph_t glyph) if (glyph_width <= 0 || glyph_height <= 0) return QImage(); QFixedPoint pt; - pt.x = 0; + pt.x = -glyph_x; pt.y = -glyph_y; // the baseline QPainterPath path; - QImage im(glyph_width + qAbs(glyph_x) + 4, glyph_height, QImage::Format_ARGB32_Premultiplied); + QImage im(glyph_width + 4, glyph_height, QImage::Format_ARGB32_Premultiplied); im.fill(Qt::transparent); QPainter p(&im); p.setRenderHint(QPainter::Antialiasing); -- cgit v0.12 From 2acdc634ee895af4a9738c0f6c2496e388afba38 Mon Sep 17 00:00:00 2001 From: Jani Hautakangas Date: Mon, 13 Sep 2010 13:13:01 +0300 Subject: When using complex transformations rendering goes easily off by one pixel. This happens because of differences in OpenVG and Qt pixel center point handling. Currently there is no easy generic way to adjust Qt pixels to match OpenVG. This patch adjusts pixels for simple affine transformations by rounding them. Task-number: QT-3791 Reviewed-by: Jason Barron --- src/openvg/qpaintengine_vg.cpp | 158 ++++++++++++++++++++++++----------------- 1 file changed, 92 insertions(+), 66 deletions(-) diff --git a/src/openvg/qpaintengine_vg.cpp b/src/openvg/qpaintengine_vg.cpp index 75e5a60..1b0c5e8 100644 --- a/src/openvg/qpaintengine_vg.cpp +++ b/src/openvg/qpaintengine_vg.cpp @@ -196,7 +196,9 @@ public: #endif QTransform transform; // Currently active transform. - bool simpleTransform; // True if the transform is simple (non-projective). + bool affineTransform; // True if the transform is non-projective. + bool simpleTransform; // True if the transform is simple translate + // or 0, 90, 180, and 270 degree rotation qreal penScale; // Pen scaling factor from "transform". QTransform pathTransform; // Calculated VG path transformation. @@ -372,6 +374,7 @@ void QVGPaintEnginePrivate::init() roundRectPath = 0; #endif + affineTransform = true; simpleTransform = true; pathTransformSet = false; penScale = 1.0; @@ -524,12 +527,59 @@ void QVGPaintEnginePrivate::setTransform vgLoadMatrix(mat); } +// Determine if a co-ordinate transform is simple enough to allow +// rectangle-based clipping with vgMask() and rounding translation +// to integers. Simple transforms most often result from origin translations. +static inline bool transformIsSimple(const QTransform& transform) +{ + QTransform::TransformationType type = transform.type(); + if (type == QTransform::TxNone || type == QTransform::TxTranslate) { + return true; + } else if (type == QTransform::TxScale) { + // Check for 0 and 180 degree rotations. + // (0 might happen after 4 rotations of 90 degrees). + qreal m11 = transform.m11(); + qreal m12 = transform.m12(); + qreal m21 = transform.m21(); + qreal m22 = transform.m22(); + if (m12 == 0.0f && m21 == 0.0f) { + if (m11 == 1.0f && m22 == 1.0f) + return true; // 0 degrees + else if (m11 == -1.0f && m22 == -1.0f) + return true; // 180 degrees. + if(m11 == 1.0f && m22 == -1.0f) + return true; // 0 degrees inverted y. + else if(m11 == -1.0f && m22 == 1.0f) + return true; // 180 degrees inverted y. + } + } else if (type == QTransform::TxRotate) { + // Check for 90, and 270 degree rotations. + qreal m11 = transform.m11(); + qreal m12 = transform.m12(); + qreal m21 = transform.m21(); + qreal m22 = transform.m22(); + if (m11 == 0.0f && m22 == 0.0f) { + if (m12 == 1.0f && m21 == -1.0f) + return true; // 90 degrees. + else if (m12 == -1.0f && m21 == 1.0f) + return true; // 270 degrees. + else if (m12 == -1.0f && m21 == -1.0f) + return true; // 90 degrees inverted y. + else if (m12 == 1.0f && m21 == 1.0f) + return true; // 270 degrees inverted y. + } + } + return false; +} + Q_DECL_IMPORT extern bool qt_scaleForTransform(const QTransform &transform, qreal *scale); void QVGPaintEnginePrivate::updateTransform(QPaintDevice *pdev) { VGfloat devh = pdev->height(); + simpleTransform = transformIsSimple(transform); + // Construct the VG transform by combining the Qt transform with // the following viewport transformation: // | 1 0 0 | @@ -552,9 +602,9 @@ void QVGPaintEnginePrivate::updateTransform(QPaintDevice *pdev) // so we will have to convert the co-ordinates ourselves. // Change the matrix to just the viewport transformation. pathTransform = viewport; - simpleTransform = false; + affineTransform = false; } else { - simpleTransform = true; + affineTransform = true; } pathTransformSet = false; @@ -583,7 +633,7 @@ VGPath QVGPaintEnginePrivate::vectorPathToVGPath(const QVectorPath& path) // Size is sufficient segments for drawRoundedRect() paths. QVarLengthArray segments; - if (sizeof(qreal) == sizeof(VGfloat) && elements && simpleTransform) { + if (sizeof(qreal) == sizeof(VGfloat) && elements && affineTransform) { // If Qt was compiled with qreal the same size as VGfloat, // then convert the segment types and use the incoming // points array directly. @@ -618,7 +668,7 @@ VGPath QVGPaintEnginePrivate::vectorPathToVGPath(const QVectorPath& path) int curvePos = 0; QPointF temp; - if (elements && simpleTransform) { + if (elements && affineTransform) { // Convert the members of the element array. for (int i = 0; i < count; ++i) { switch (elements[i]) { @@ -662,7 +712,7 @@ VGPath QVGPaintEnginePrivate::vectorPathToVGPath(const QVectorPath& path) } points += 2; } - } else if (elements && !simpleTransform) { + } else if (elements && !affineTransform) { // Convert the members of the element array after applying the // current transform to the path locally. for (int i = 0; i < count; ++i) { @@ -711,7 +761,7 @@ VGPath QVGPaintEnginePrivate::vectorPathToVGPath(const QVectorPath& path) } points += 2; } - } else if (count > 0 && simpleTransform) { + } else if (count > 0 && affineTransform) { // If there is no element array, then the path is assumed // to be a MoveTo followed by several LineTo's. coords.append(points[0]); @@ -724,7 +774,7 @@ VGPath QVGPaintEnginePrivate::vectorPathToVGPath(const QVectorPath& path) segments.append(VG_LINE_TO_ABS); --count; } - } else if (count > 0 && !simpleTransform) { + } else if (count > 0 && !affineTransform) { // Convert a simple path, and apply the transform locally. temp = transform.map(QPointF(points[0], points[1])); coords.append(temp.x()); @@ -785,7 +835,7 @@ VGPath QVGPaintEnginePrivate::painterPathToVGPath(const QPainterPath& path) bool haveStart = false; bool haveEnd = false; - if (simpleTransform) { + if (affineTransform) { // Convert the members of the element array. for (int i = 0; i < count; ++i) { switch (elements[i].type) { @@ -1560,36 +1610,6 @@ void QVGPaintEngine::stroke(const QVectorPath &path, const QPen &pen) vgDestroyPath(vgpath); } -// Determine if a co-ordinate transform is simple enough to allow -// rectangle-based clipping with vgMask(). Simple transforms most -// often result from origin translations. -static inline bool clipTransformIsSimple(const QTransform& transform) -{ - QTransform::TransformationType type = transform.type(); - if (type == QTransform::TxNone || type == QTransform::TxTranslate) - return true; - if (type == QTransform::TxRotate) { - // Check for 0, 90, 180, and 270 degree rotations. - // (0 might happen after 4 rotations of 90 degrees). - qreal m11 = transform.m11(); - qreal m12 = transform.m12(); - qreal m21 = transform.m21(); - qreal m22 = transform.m22(); - if (m11 == 0.0f && m22 == 0.0f) { - if (m12 == 1.0f && m21 == -1.0f) - return true; // 90 degrees. - else if (m12 == -1.0f && m21 == 1.0f) - return true; // 270 degrees. - } else if (m12 == 0.0f && m21 == 0.0f) { - if (m11 == -1.0f && m22 == -1.0f) - return true; // 180 degrees. - else if (m11 == 1.0f && m22 == 1.0f) - return true; // 0 degrees. - } - } - return false; -} - #if defined(QVG_SCISSOR_CLIP) void QVGPaintEngine::clip(const QVectorPath &path, Qt::ClipOperation op) @@ -1607,7 +1627,7 @@ void QVGPaintEngine::clip(const QVectorPath &path, Qt::ClipOperation op) // We aren't using masking, so handle simple QRectF's only. if (path.shape() == QVectorPath::RectangleHint && - path.elementCount() == 4 && clipTransformIsSimple(d->transform)) { + path.elementCount() == 4 && d->simpleTransform) { // Clipping region that resulted from QPainter::setClipRect(QRectF). // Convert it into a QRect and apply. const qreal *points = path.points(); @@ -1757,7 +1777,7 @@ void QVGPaintEngine::clip(const QVectorPath &path, Qt::ClipOperation op) // We don't have vgRenderToMask(), so handle simple QRectF's only. if (path.shape() == QVectorPath::RectangleHint && - path.elementCount() == 4 && clipTransformIsSimple(d->transform)) { + path.elementCount() == 4 && d->simpleTransform) { // Clipping region that resulted from QPainter::setClipRect(QRectF). // Convert it into a QRect and apply. const qreal *points = path.points(); @@ -1809,7 +1829,7 @@ void QVGPaintEngine::clip(const QRect &rect, Qt::ClipOperation op) d->dirty |= QPaintEngine::DirtyClipRegion; // If we have a non-simple transform, then use path-based clipping. - if (op != Qt::NoClip && !clipTransformIsSimple(d->transform)) { + if (op != Qt::NoClip && !d->simpleTransform) { QPaintEngineEx::clip(rect, op); return; } @@ -1928,7 +1948,7 @@ void QVGPaintEngine::clip(const QRegion ®ion, Qt::ClipOperation op) d->dirty |= QPaintEngine::DirtyClipRegion; // If we have a non-simple transform, then use path-based clipping. - if (op != Qt::NoClip && !clipTransformIsSimple(d->transform)) { + if (op != Qt::NoClip && !d->simpleTransform) { QPaintEngineEx::clip(region, op); return; } @@ -2505,14 +2525,14 @@ void QVGPaintEngine::fillRect(const QRectF &rect, const QBrush &brush) // Check to see if we can use vgClear() for faster filling. if (brush.style() == Qt::SolidPattern && brush.isOpaque() && - clipTransformIsSimple(d->transform) && d->opacity == 1.0f && + d->simpleTransform && d->opacity == 1.0f && clearRect(rect, brush.color())) { return; } #if !defined(QVG_NO_MODIFY_PATH) VGfloat coords[8]; - if (d->simpleTransform) { + if (d->affineTransform) { coords[0] = rect.x(); coords[1] = rect.y(); coords[2] = rect.x() + rect.width(); @@ -2547,14 +2567,14 @@ void QVGPaintEngine::fillRect(const QRectF &rect, const QColor &color) Q_D(QVGPaintEngine); // Check to see if we can use vgClear() for faster filling. - if (clipTransformIsSimple(d->transform) && d->opacity == 1.0f && color.alpha() == 255 && + if (d->simpleTransform && d->opacity == 1.0f && color.alpha() == 255 && clearRect(rect, color)) { return; } #if !defined(QVG_NO_MODIFY_PATH) VGfloat coords[8]; - if (d->simpleTransform) { + if (d->affineTransform) { coords[0] = rect.x(); coords[1] = rect.y(); coords[2] = rect.x() + rect.width(); @@ -2587,7 +2607,7 @@ void QVGPaintEngine::fillRect(const QRectF &rect, const QColor &color) void QVGPaintEngine::drawRoundedRect(const QRectF &rect, qreal xrad, qreal yrad, Qt::SizeMode mode) { Q_D(QVGPaintEngine); - if (d->simpleTransform) { + if (d->affineTransform) { QVGPainterState *s = state(); VGPath vgpath = d->roundedRectPath(rect, xrad, yrad, mode); d->draw(vgpath, s->pen, s->brush); @@ -2606,7 +2626,7 @@ void QVGPaintEngine::drawRects(const QRect *rects, int rectCount) QVGPainterState *s = state(); for (int i = 0; i < rectCount; ++i, ++rects) { VGfloat coords[8]; - if (d->simpleTransform) { + if (d->affineTransform) { coords[0] = rects->x(); coords[1] = rects->y(); coords[2] = rects->x() + rects->width(); @@ -2647,7 +2667,7 @@ void QVGPaintEngine::drawRects(const QRectF *rects, int rectCount) QVGPainterState *s = state(); for (int i = 0; i < rectCount; ++i, ++rects) { VGfloat coords[8]; - if (d->simpleTransform) { + if (d->affineTransform) { coords[0] = rects->x(); coords[1] = rects->y(); coords[2] = rects->x() + rects->width(); @@ -2685,7 +2705,7 @@ void QVGPaintEngine::drawLines(const QLine *lines, int lineCount) QVGPainterState *s = state(); for (int i = 0; i < lineCount; ++i, ++lines) { VGfloat coords[4]; - if (d->simpleTransform) { + if (d->affineTransform) { coords[0] = lines->x1(); coords[1] = lines->y1(); coords[2] = lines->x2(); @@ -2713,7 +2733,7 @@ void QVGPaintEngine::drawLines(const QLineF *lines, int lineCount) QVGPainterState *s = state(); for (int i = 0; i < lineCount; ++i, ++lines) { VGfloat coords[4]; - if (d->simpleTransform) { + if (d->affineTransform) { coords[0] = lines->x1(); coords[1] = lines->y1(); coords[2] = lines->x2(); @@ -2739,7 +2759,7 @@ void QVGPaintEngine::drawEllipse(const QRectF &r) // Based on the description of vguEllipse() in the OpenVG specification. // We don't use vguEllipse(), to avoid unnecessary library dependencies. Q_D(QVGPaintEngine); - if (d->simpleTransform) { + if (d->affineTransform) { QVGPainterState *s = state(); VGPath path = vgCreatePath(VG_PATH_FORMAT_STANDARD, VG_PATH_DATATYPE_F, @@ -2812,7 +2832,7 @@ void QVGPaintEngine::drawPoints(const QPointF *points, int pointCount) for (int i = 0; i < pointCount; ++i, ++points) { VGfloat coords[4]; - if (d->simpleTransform) { + if (d->affineTransform) { coords[0] = points->x(); coords[1] = points->y(); coords[2] = coords[0]; @@ -2846,7 +2866,7 @@ void QVGPaintEngine::drawPoints(const QPoint *points, int pointCount) for (int i = 0; i < pointCount; ++i, ++points) { VGfloat coords[4]; - if (d->simpleTransform) { + if (d->affineTransform) { coords[0] = points->x(); coords[1] = points->y(); coords[2] = coords[0]; @@ -2880,7 +2900,7 @@ void QVGPaintEngine::drawPolygon(const QPointF *points, int pointCount, PolygonD QVarLengthArray coords; QVarLengthArray segments; for (int i = 0; i < pointCount; ++i, ++points) { - if (d->simpleTransform) { + if (d->affineTransform) { coords.append(points->x()); coords.append(points->y()); } else { @@ -2927,7 +2947,7 @@ void QVGPaintEngine::drawPolygon(const QPoint *points, int pointCount, PolygonDr QVarLengthArray coords; QVarLengthArray segments; for (int i = 0; i < pointCount; ++i, ++points) { - if (d->simpleTransform) { + if (d->affineTransform) { coords.append(points->x()); coords.append(points->y()); } else { @@ -2962,7 +2982,7 @@ void QVGPaintEngine::drawPolygon(const QPoint *points, int pointCount, PolygonDr void QVGPaintEnginePrivate::setImageOptions() { - if (opacity != 1.0f && simpleTransform) { + if (opacity != 1.0f && affineTransform) { if (opacity != paintOpacity) { VGfloat values[4]; values[0] = 1.0f; @@ -3009,7 +3029,10 @@ static void drawVGImage(QVGPaintEnginePrivate *d, QTransform transform(d->imageTransform); VGfloat scaleX = sr.width() == 0.0f ? 0.0f : r.width() / sr.width(); VGfloat scaleY = sr.height() == 0.0f ? 0.0f : r.height() / sr.height(); - transform.translate(r.x(), r.y()); + if (d->simpleTransform) + transform.translate(qRound(r.x()), qRound(r.y())); + else + transform.translate(r.x(), r.y()); transform.scale(scaleX, scaleY); d->setTransform(VG_MATRIX_IMAGE_USER_TO_SURFACE, transform); @@ -3027,7 +3050,10 @@ static void drawVGImage(QVGPaintEnginePrivate *d, return; QTransform transform(d->imageTransform); - transform.translate(pos.x(), pos.y()); + if(d->simpleTransform) + transform.translate(qRound(pos.x()), qRound(pos.y())); + else + transform.translate(pos.x(), pos.y()); d->setTransform(VG_MATRIX_IMAGE_USER_TO_SURFACE, transform); d->setImageOptions(); @@ -3070,7 +3096,7 @@ void QVGPaintEngine::drawPixmap(const QRectF &r, const QPixmap &pm, const QRectF QVGPixmapData *vgpd = static_cast(pd); if (!vgpd->isValid()) return; - if (d->simpleTransform) + if (d->affineTransform) drawVGImage(d, r, vgpd->toVGImage(), vgpd->size(), sr); else drawVGImage(d, r, vgpd->toVGImage(d->opacity), vgpd->size(), sr); @@ -3089,7 +3115,7 @@ void QVGPaintEngine::drawPixmap(const QPointF &pos, const QPixmap &pm) QVGPixmapData *vgpd = static_cast(pd); if (!vgpd->isValid()) return; - if (d->simpleTransform) + if (d->affineTransform) drawVGImage(d, pos, vgpd->toVGImage()); else drawVGImage(d, pos, vgpd->toVGImage(d->opacity)); @@ -3104,7 +3130,7 @@ void QVGPaintEngine::drawImage { Q_D(QVGPaintEngine); VGImage vgImg; - if (d->simpleTransform || d->opacity == 1.0f) + if (d->affineTransform || d->opacity == 1.0f) vgImg = toVGImageSubRect(image, sr.toRect(), flags); else vgImg = toVGImageWithOpacitySubRect(image, d->opacity, sr.toRect()); @@ -3127,7 +3153,7 @@ void QVGPaintEngine::drawImage(const QPointF &pos, const QImage &image) { Q_D(QVGPaintEngine); VGImage vgImg; - if (d->simpleTransform || d->opacity == 1.0f) + if (d->affineTransform || d->opacity == 1.0f) vgImg = toVGImage(image); else vgImg = toVGImageWithOpacity(image, d->opacity); @@ -3160,7 +3186,7 @@ void QVGPaintEngine::drawPixmapFragments(const QPainter::PixmapFragment *drawing QPixmapData *pd = pixmap.pixmapData(); if (!pd) return; // null QPixmap - if (pd->classId() != QPixmapData::OpenVGClass || !d->simpleTransform) { + if (pd->classId() != QPixmapData::OpenVGClass || !d->affineTransform) { QPaintEngineEx::drawPixmapFragments(drawingData, dataCount, pixmap, hints); return; } @@ -3385,7 +3411,7 @@ void QVGPaintEngine::drawTextItem(const QPointF &p, const QTextItem &textItem) // If we are not using a simple transform, then fall back // to the default Qt path stroking algorithm. - if (!d->simpleTransform) { + if (!d->affineTransform) { QPaintEngineEx::drawTextItem(p, textItem); return; } -- cgit v0.12 From f295b0bbbf4967c5933cebff106880f9931d34ed Mon Sep 17 00:00:00 2001 From: Harald Fernengel Date: Mon, 13 Sep 2010 14:46:02 +0200 Subject: unbreak test --- tests/auto/qmainwindow/tst_qmainwindow.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/auto/qmainwindow/tst_qmainwindow.cpp b/tests/auto/qmainwindow/tst_qmainwindow.cpp index 6f95672..5a69d9c 100644 --- a/tests/auto/qmainwindow/tst_qmainwindow.cpp +++ b/tests/auto/qmainwindow/tst_qmainwindow.cpp @@ -1449,7 +1449,7 @@ Q_DECLARE_METATYPE(MoveList) void MoveSeparator::apply(QMainWindow *mw) const { - QMainWindowLayout *l = qFindChild(mw->layout()); + QMainWindowLayout *l = qFindChild(mw); QVERIFY(l); QList path; -- cgit v0.12 From cee61fe9e164265bff3ba72753576add8264f26e Mon Sep 17 00:00:00 2001 From: David Boddie Date: Mon, 13 Sep 2010 14:58:26 +0200 Subject: Doc: Fixed text in license headers. --- .../animation/basics/color-animation.qml | 2 +- .../animation/basics/property-animation.qml | 2 +- .../declarative/animation/behaviors/SideRect.qml | 2 +- .../animation/behaviors/behavior-example.qml | 2 +- .../animation/easing/content/QuitButton.qml | 2 +- examples/declarative/animation/easing/easing.qml | 2 +- examples/declarative/animation/states/states.qml | 2 +- .../declarative/animation/states/transitions.qml | 2 +- .../imageprovider/imageprovider-example.qml | 2 +- .../networkaccessmanagerfactory/view.qml | 2 +- .../plugins/com/nokia/TimeExample/Clock.qml | 2 +- .../declarative/cppextensions/plugins/plugins.qml | 2 +- .../qgraphicslayouts/layoutitem/layoutitem.qml | 2 +- .../qgraphicsgridlayout/gridlayout.cpp | 2 +- .../qgraphicsgridlayout/gridlayout.h | 2 +- .../qgraphicsgridlayout/qgraphicsgridlayout.qml | 2 +- .../qgraphicslinearlayout/linearlayout.cpp | 2 +- .../qgraphicslinearlayout/linearlayout.h | 2 +- .../qgraphicslinearlayout.qml | 2 +- .../cppextensions/qwidgets/qwidgets.qml | 2 +- .../referenceexamples/adding/example.qml | 2 +- .../referenceexamples/attached/example.qml | 2 +- .../referenceexamples/binding/example.qml | 2 +- .../referenceexamples/coercion/example.qml | 2 +- .../referenceexamples/default/example.qml | 2 +- .../referenceexamples/extended/example.qml | 2 +- .../referenceexamples/grouped/example.qml | 2 +- .../referenceexamples/methods/example.qml | 2 +- .../referenceexamples/properties/example.qml | 2 +- .../referenceexamples/signal/example.qml | 2 +- .../referenceexamples/valuesource/example.qml | 2 +- examples/declarative/i18n/i18n.qml | 2 +- .../imageelements/borderimage/borderimage.qml | 2 +- .../borderimage/content/MyBorderImage.qml | 2 +- .../borderimage/content/ShadowRectangle.qml | 2 +- .../imageelements/borderimage/shadows.qml | 2 +- .../declarative/imageelements/image/ImageCell.qml | 2 +- examples/declarative/imageelements/image/image.qml | 2 +- .../keyinteraction/focus/Core/ContextMenu.qml | 2 +- .../keyinteraction/focus/Core/GridMenu.qml | 2 +- .../keyinteraction/focus/Core/ListMenu.qml | 2 +- .../keyinteraction/focus/Core/ListViewDelegate.qml | 2 +- .../declarative/keyinteraction/focus/focus.qml | 2 +- .../modelviews/abstractitemmodel/main.cpp | 2 +- .../modelviews/abstractitemmodel/model.cpp | 2 +- .../modelviews/abstractitemmodel/model.h | 2 +- .../modelviews/abstractitemmodel/view.qml | 2 +- .../modelviews/gridview/gridview-example.qml | 2 +- .../modelviews/listview/content/PetsModel.qml | 2 +- .../listview/content/PressAndHoldButton.qml | 2 +- .../modelviews/listview/content/RecipesModel.qml | 2 +- .../modelviews/listview/content/TextButton.qml | 2 +- .../modelviews/listview/dynamiclist.qml | 2 +- .../modelviews/listview/expandingdelegates.qml | 2 +- .../declarative/modelviews/listview/highlight.qml | 2 +- .../modelviews/listview/highlightranges.qml | 2 +- .../declarative/modelviews/listview/sections.qml | 2 +- .../modelviews/objectlistmodel/dataobject.cpp | 2 +- .../modelviews/objectlistmodel/dataobject.h | 2 +- .../modelviews/objectlistmodel/view.qml | 2 +- .../declarative/modelviews/package/Delegate.qml | 2 +- examples/declarative/modelviews/package/view.qml | 2 +- .../declarative/modelviews/parallax/parallax.qml | 2 +- .../modelviews/parallax/qml/ParallaxView.qml | 2 +- .../declarative/modelviews/parallax/qml/Smiley.qml | 2 +- .../modelviews/pathview/pathview-example.qml | 2 +- .../modelviews/stringlistmodel/view.qml | 2 +- .../modelviews/visualitemmodel/visualitemmodel.qml | 2 +- examples/declarative/modelviews/webview/alerts.qml | 2 +- .../declarative/modelviews/webview/autosize.qml | 2 +- .../modelviews/webview/content/Mapping/Map.qml | 2 +- .../declarative/modelviews/webview/googlemaps.qml | 2 +- .../declarative/modelviews/webview/inlinehtml.qml | 2 +- .../declarative/modelviews/webview/newwindows.qml | 2 +- examples/declarative/positioners/Button.qml | 2 +- examples/declarative/positioners/positioners.qml | 2 +- .../declarative/screenorientation/Core/Bubble.qml | 2 +- .../declarative/screenorientation/Core/Button.qml | 2 +- .../screenorientation/Core/screenorientation.js | 2 +- .../screenorientation/screenorientation.qml | 2 +- examples/declarative/sqllocalstorage/hello.qml | 2 +- examples/declarative/text/fonts/availableFonts.qml | 2 +- examples/declarative/text/fonts/banner.qml | 2 +- examples/declarative/text/fonts/fonts.qml | 2 +- examples/declarative/text/fonts/hello.qml | 2 +- .../text/textselection/textselection.qml | 2 +- .../threading/threadedlistmodel/dataloader.js | 40 ++++++++++++++++++++++ .../threadedlistmodel/threadedlistmodel.qmlproject | 40 ++++++++++++++++++++++ .../threading/threadedlistmodel/timedisplay.qml | 2 +- .../threading/workerscript/workerscript.qml | 2 +- .../gestures/experimental-gestures.qml | 2 +- .../mousearea/mousearea-example.qml | 2 +- examples/declarative/toys/clocks/clocks.qml | 2 +- examples/declarative/toys/clocks/content/Clock.qml | 2 +- .../declarative/toys/clocks/content/QuitButton.qml | 2 +- examples/declarative/toys/corkboards/Day.qml | 2 +- .../declarative/toys/corkboards/corkboards.qml | 2 +- .../declarative/toys/dynamicscene/dynamicscene.qml | 2 +- .../declarative/toys/dynamicscene/qml/Button.qml | 2 +- .../toys/dynamicscene/qml/GenericSceneItem.qml | 2 +- .../toys/dynamicscene/qml/PaletteItem.qml | 2 +- .../toys/dynamicscene/qml/PerspectiveItem.qml | 2 +- examples/declarative/toys/dynamicscene/qml/Sun.qml | 2 +- .../toys/tic-tac-toe/content/Button.qml | 2 +- .../toys/tic-tac-toe/content/TicTac.qml | 2 +- .../declarative/toys/tic-tac-toe/tic-tac-toe.qml | 2 +- examples/declarative/toys/tvtennis/tvtennis.qml | 2 +- .../tutorials/extending/chapter1-basics/app.qml | 2 +- .../tutorials/extending/chapter2-methods/app.qml | 2 +- .../tutorials/extending/chapter3-bindings/app.qml | 2 +- .../extending/chapter4-customPropertyTypes/app.qml | 2 +- .../extending/chapter5-listproperties/app.qml | 2 +- .../tutorials/extending/chapter6-plugins/app.qml | 2 +- examples/declarative/tutorials/helloworld/Cell.qml | 2 +- .../declarative/tutorials/helloworld/tutorial1.qml | 2 +- .../declarative/tutorials/helloworld/tutorial2.qml | 2 +- .../declarative/tutorials/helloworld/tutorial3.qml | 2 +- .../tutorials/samegame/samegame1/Block.qml | 2 +- .../tutorials/samegame/samegame1/Button.qml | 2 +- .../tutorials/samegame/samegame1/samegame.qml | 2 +- .../tutorials/samegame/samegame2/Block.qml | 2 +- .../tutorials/samegame/samegame2/Button.qml | 2 +- .../tutorials/samegame/samegame2/samegame.qml | 2 +- .../tutorials/samegame/samegame3/Block.qml | 2 +- .../tutorials/samegame/samegame3/Button.qml | 2 +- .../tutorials/samegame/samegame3/Dialog.qml | 2 +- .../tutorials/samegame/samegame3/samegame.qml | 2 +- .../samegame/samegame4/content/BoomBlock.qml | 2 +- .../samegame/samegame4/content/Button.qml | 2 +- .../samegame/samegame4/content/Dialog.qml | 2 +- .../tutorials/samegame/samegame4/samegame.qml | 2 +- .../ui-components/dialcontrol/content/Dial.qml | 2 +- .../dialcontrol/content/QuitButton.qml | 2 +- .../ui-components/dialcontrol/dialcontrol.qml | 2 +- .../ui-components/flipable/content/Card.qml | 2 +- .../ui-components/flipable/flipable.qml | 2 +- .../progressbar/content/ProgressBar.qml | 2 +- .../declarative/ui-components/progressbar/main.qml | 2 +- .../ui-components/scrollbar/ScrollBar.qml | 2 +- .../declarative/ui-components/scrollbar/main.qml | 2 +- .../ui-components/searchbox/SearchBox.qml | 2 +- .../declarative/ui-components/searchbox/main.qml | 2 +- .../ui-components/slideswitch/content/Switch.qml | 2 +- .../ui-components/slideswitch/slideswitch.qml | 2 +- .../ui-components/spinner/content/Spinner.qml | 2 +- .../declarative/ui-components/spinner/main.qml | 2 +- .../ui-components/tabwidget/TabWidget.qml | 2 +- .../declarative/ui-components/tabwidget/main.qml | 2 +- .../xml/xmlhttprequest/xmlhttprequest-example.qml | 2 +- 149 files changed, 227 insertions(+), 147 deletions(-) diff --git a/examples/declarative/animation/basics/color-animation.qml b/examples/declarative/animation/basics/color-animation.qml index 6d8b46c..182bb54 100644 --- a/examples/declarative/animation/basics/color-animation.qml +++ b/examples/declarative/animation/basics/color-animation.qml @@ -4,7 +4,7 @@ ** All rights reserved. ** Contact: Nokia Corporation (qt-info@nokia.com) ** -** This file is part of the QtDeclarative module of the Qt Toolkit. +** This file is part of the examples of the Qt Toolkit. ** ** $QT_BEGIN_LICENSE:BSD$ ** You may use this file under the terms of the BSD license as follows: diff --git a/examples/declarative/animation/basics/property-animation.qml b/examples/declarative/animation/basics/property-animation.qml index 69d166a..5149f5b 100644 --- a/examples/declarative/animation/basics/property-animation.qml +++ b/examples/declarative/animation/basics/property-animation.qml @@ -4,7 +4,7 @@ ** All rights reserved. ** Contact: Nokia Corporation (qt-info@nokia.com) ** -** This file is part of the QtDeclarative module of the Qt Toolkit. +** This file is part of the examples of the Qt Toolkit. ** ** $QT_BEGIN_LICENSE:BSD$ ** You may use this file under the terms of the BSD license as follows: diff --git a/examples/declarative/animation/behaviors/SideRect.qml b/examples/declarative/animation/behaviors/SideRect.qml index 76cb3f5..eba0817 100644 --- a/examples/declarative/animation/behaviors/SideRect.qml +++ b/examples/declarative/animation/behaviors/SideRect.qml @@ -4,7 +4,7 @@ ** All rights reserved. ** Contact: Nokia Corporation (qt-info@nokia.com) ** -** This file is part of the QtDeclarative module of the Qt Toolkit. +** This file is part of the examples of the Qt Toolkit. ** ** $QT_BEGIN_LICENSE:BSD$ ** You may use this file under the terms of the BSD license as follows: diff --git a/examples/declarative/animation/behaviors/behavior-example.qml b/examples/declarative/animation/behaviors/behavior-example.qml index adefb9e..268d6e5 100644 --- a/examples/declarative/animation/behaviors/behavior-example.qml +++ b/examples/declarative/animation/behaviors/behavior-example.qml @@ -4,7 +4,7 @@ ** All rights reserved. ** Contact: Nokia Corporation (qt-info@nokia.com) ** -** This file is part of the QtDeclarative module of the Qt Toolkit. +** This file is part of the examples of the Qt Toolkit. ** ** $QT_BEGIN_LICENSE:BSD$ ** You may use this file under the terms of the BSD license as follows: diff --git a/examples/declarative/animation/easing/content/QuitButton.qml b/examples/declarative/animation/easing/content/QuitButton.qml index 039694d..9dfe9bd 100644 --- a/examples/declarative/animation/easing/content/QuitButton.qml +++ b/examples/declarative/animation/easing/content/QuitButton.qml @@ -4,7 +4,7 @@ ** All rights reserved. ** Contact: Nokia Corporation (qt-info@nokia.com) ** -** This file is part of the QtDeclarative module of the Qt Toolkit. +** This file is part of the examples of the Qt Toolkit. ** ** $QT_BEGIN_LICENSE:BSD$ ** You may use this file under the terms of the BSD license as follows: diff --git a/examples/declarative/animation/easing/easing.qml b/examples/declarative/animation/easing/easing.qml index b53cb98..0089452 100644 --- a/examples/declarative/animation/easing/easing.qml +++ b/examples/declarative/animation/easing/easing.qml @@ -4,7 +4,7 @@ ** All rights reserved. ** Contact: Nokia Corporation (qt-info@nokia.com) ** -** This file is part of the QtDeclarative module of the Qt Toolkit. +** This file is part of the examples of the Qt Toolkit. ** ** $QT_BEGIN_LICENSE:BSD$ ** You may use this file under the terms of the BSD license as follows: diff --git a/examples/declarative/animation/states/states.qml b/examples/declarative/animation/states/states.qml index 34cdae3..4f3e28c 100644 --- a/examples/declarative/animation/states/states.qml +++ b/examples/declarative/animation/states/states.qml @@ -4,7 +4,7 @@ ** All rights reserved. ** Contact: Nokia Corporation (qt-info@nokia.com) ** -** This file is part of the QtDeclarative module of the Qt Toolkit. +** This file is part of the examples of the Qt Toolkit. ** ** $QT_BEGIN_LICENSE:BSD$ ** You may use this file under the terms of the BSD license as follows: diff --git a/examples/declarative/animation/states/transitions.qml b/examples/declarative/animation/states/transitions.qml index 884779c..6efcdba 100644 --- a/examples/declarative/animation/states/transitions.qml +++ b/examples/declarative/animation/states/transitions.qml @@ -4,7 +4,7 @@ ** All rights reserved. ** Contact: Nokia Corporation (qt-info@nokia.com) ** -** This file is part of the QtDeclarative module of the Qt Toolkit. +** This file is part of the examples of the Qt Toolkit. ** ** $QT_BEGIN_LICENSE:BSD$ ** You may use this file under the terms of the BSD license as follows: diff --git a/examples/declarative/cppextensions/imageprovider/imageprovider-example.qml b/examples/declarative/cppextensions/imageprovider/imageprovider-example.qml index 1ef97fa..58536bf 100644 --- a/examples/declarative/cppextensions/imageprovider/imageprovider-example.qml +++ b/examples/declarative/cppextensions/imageprovider/imageprovider-example.qml @@ -4,7 +4,7 @@ ** All rights reserved. ** Contact: Nokia Corporation (qt-info@nokia.com) ** -** This file is part of the QtDeclarative module of the Qt Toolkit. +** This file is part of the examples of the Qt Toolkit. ** ** $QT_BEGIN_LICENSE:BSD$ ** You may use this file under the terms of the BSD license as follows: diff --git a/examples/declarative/cppextensions/networkaccessmanagerfactory/view.qml b/examples/declarative/cppextensions/networkaccessmanagerfactory/view.qml index 4b849e0..439740a 100644 --- a/examples/declarative/cppextensions/networkaccessmanagerfactory/view.qml +++ b/examples/declarative/cppextensions/networkaccessmanagerfactory/view.qml @@ -4,7 +4,7 @@ ** All rights reserved. ** Contact: Nokia Corporation (qt-info@nokia.com) ** -** This file is part of the QtDeclarative module of the Qt Toolkit. +** This file is part of the examples of the Qt Toolkit. ** ** $QT_BEGIN_LICENSE:BSD$ ** You may use this file under the terms of the BSD license as follows: diff --git a/examples/declarative/cppextensions/plugins/com/nokia/TimeExample/Clock.qml b/examples/declarative/cppextensions/plugins/com/nokia/TimeExample/Clock.qml index 6b2676e..c7d2757 100644 --- a/examples/declarative/cppextensions/plugins/com/nokia/TimeExample/Clock.qml +++ b/examples/declarative/cppextensions/plugins/com/nokia/TimeExample/Clock.qml @@ -4,7 +4,7 @@ ** All rights reserved. ** Contact: Nokia Corporation (qt-info@nokia.com) ** -** This file is part of the QtDeclarative module of the Qt Toolkit. +** This file is part of the examples of the Qt Toolkit. ** ** $QT_BEGIN_LICENSE:BSD$ ** You may use this file under the terms of the BSD license as follows: diff --git a/examples/declarative/cppextensions/plugins/plugins.qml b/examples/declarative/cppextensions/plugins/plugins.qml index 8d1085c..3aa0995 100644 --- a/examples/declarative/cppextensions/plugins/plugins.qml +++ b/examples/declarative/cppextensions/plugins/plugins.qml @@ -4,7 +4,7 @@ ** All rights reserved. ** Contact: Nokia Corporation (qt-info@nokia.com) ** -** This file is part of the QtDeclarative module of the Qt Toolkit. +** This file is part of the examples of the Qt Toolkit. ** ** $QT_BEGIN_LICENSE:BSD$ ** You may use this file under the terms of the BSD license as follows: diff --git a/examples/declarative/cppextensions/qgraphicslayouts/layoutitem/layoutitem.qml b/examples/declarative/cppextensions/qgraphicslayouts/layoutitem/layoutitem.qml index 6f377c5..571e427 100644 --- a/examples/declarative/cppextensions/qgraphicslayouts/layoutitem/layoutitem.qml +++ b/examples/declarative/cppextensions/qgraphicslayouts/layoutitem/layoutitem.qml @@ -4,7 +4,7 @@ ** All rights reserved. ** Contact: Nokia Corporation (qt-info@nokia.com) ** -** This file is part of the QtDeclarative module of the Qt Toolkit. +** This file is part of the examples of the Qt Toolkit. ** ** $QT_BEGIN_LICENSE:BSD$ ** You may use this file under the terms of the BSD license as follows: diff --git a/examples/declarative/cppextensions/qgraphicslayouts/qgraphicsgridlayout/gridlayout.cpp b/examples/declarative/cppextensions/qgraphicslayouts/qgraphicsgridlayout/gridlayout.cpp index b52305e..79d3f4c 100644 --- a/examples/declarative/cppextensions/qgraphicslayouts/qgraphicsgridlayout/gridlayout.cpp +++ b/examples/declarative/cppextensions/qgraphicslayouts/qgraphicsgridlayout/gridlayout.cpp @@ -4,7 +4,7 @@ ** All rights reserved. ** Contact: Nokia Corporation (qt-info@nokia.com) ** -** This file is part of the QtDeclarative module of the Qt Toolkit. +** This file is part of the examples of the Qt Toolkit. ** ** $QT_BEGIN_LICENSE:BSD$ ** You may use this file under the terms of the BSD license as follows: diff --git a/examples/declarative/cppextensions/qgraphicslayouts/qgraphicsgridlayout/gridlayout.h b/examples/declarative/cppextensions/qgraphicslayouts/qgraphicsgridlayout/gridlayout.h index ca2cedc..a9818a0 100644 --- a/examples/declarative/cppextensions/qgraphicslayouts/qgraphicsgridlayout/gridlayout.h +++ b/examples/declarative/cppextensions/qgraphicslayouts/qgraphicsgridlayout/gridlayout.h @@ -4,7 +4,7 @@ ** All rights reserved. ** Contact: Nokia Corporation (qt-info@nokia.com) ** -** This file is part of the QtDeclarative module of the Qt Toolkit. +** This file is part of the examples of the Qt Toolkit. ** ** $QT_BEGIN_LICENSE:BSD$ ** You may use this file under the terms of the BSD license as follows: diff --git a/examples/declarative/cppextensions/qgraphicslayouts/qgraphicsgridlayout/qgraphicsgridlayout.qml b/examples/declarative/cppextensions/qgraphicslayouts/qgraphicsgridlayout/qgraphicsgridlayout.qml index 50026f1..fd3aa03 100644 --- a/examples/declarative/cppextensions/qgraphicslayouts/qgraphicsgridlayout/qgraphicsgridlayout.qml +++ b/examples/declarative/cppextensions/qgraphicslayouts/qgraphicsgridlayout/qgraphicsgridlayout.qml @@ -4,7 +4,7 @@ ** All rights reserved. ** Contact: Nokia Corporation (qt-info@nokia.com) ** -** This file is part of the QtDeclarative module of the Qt Toolkit. +** This file is part of the examples of the Qt Toolkit. ** ** $QT_BEGIN_LICENSE:BSD$ ** You may use this file under the terms of the BSD license as follows: diff --git a/examples/declarative/cppextensions/qgraphicslayouts/qgraphicslinearlayout/linearlayout.cpp b/examples/declarative/cppextensions/qgraphicslayouts/qgraphicslinearlayout/linearlayout.cpp index d0e9783..e8b2daa 100644 --- a/examples/declarative/cppextensions/qgraphicslayouts/qgraphicslinearlayout/linearlayout.cpp +++ b/examples/declarative/cppextensions/qgraphicslayouts/qgraphicslinearlayout/linearlayout.cpp @@ -4,7 +4,7 @@ ** All rights reserved. ** Contact: Nokia Corporation (qt-info@nokia.com) ** -** This file is part of the QtDeclarative module of the Qt Toolkit. +** This file is part of the examples of the Qt Toolkit. ** ** $QT_BEGIN_LICENSE:BSD$ ** You may use this file under the terms of the BSD license as follows: diff --git a/examples/declarative/cppextensions/qgraphicslayouts/qgraphicslinearlayout/linearlayout.h b/examples/declarative/cppextensions/qgraphicslayouts/qgraphicslinearlayout/linearlayout.h index d9391ca..985b335 100644 --- a/examples/declarative/cppextensions/qgraphicslayouts/qgraphicslinearlayout/linearlayout.h +++ b/examples/declarative/cppextensions/qgraphicslayouts/qgraphicslinearlayout/linearlayout.h @@ -4,7 +4,7 @@ ** All rights reserved. ** Contact: Nokia Corporation (qt-info@nokia.com) ** -** This file is part of the QtDeclarative module of the Qt Toolkit. +** This file is part of the examples of the Qt Toolkit. ** ** $QT_BEGIN_LICENSE:BSD$ ** You may use this file under the terms of the BSD license as follows: diff --git a/examples/declarative/cppextensions/qgraphicslayouts/qgraphicslinearlayout/qgraphicslinearlayout.qml b/examples/declarative/cppextensions/qgraphicslayouts/qgraphicslinearlayout/qgraphicslinearlayout.qml index 9a0bd55..24992d5 100644 --- a/examples/declarative/cppextensions/qgraphicslayouts/qgraphicslinearlayout/qgraphicslinearlayout.qml +++ b/examples/declarative/cppextensions/qgraphicslayouts/qgraphicslinearlayout/qgraphicslinearlayout.qml @@ -4,7 +4,7 @@ ** All rights reserved. ** Contact: Nokia Corporation (qt-info@nokia.com) ** -** This file is part of the QtDeclarative module of the Qt Toolkit. +** This file is part of the examples of the Qt Toolkit. ** ** $QT_BEGIN_LICENSE:BSD$ ** You may use this file under the terms of the BSD license as follows: diff --git a/examples/declarative/cppextensions/qwidgets/qwidgets.qml b/examples/declarative/cppextensions/qwidgets/qwidgets.qml index c1edc80..16e9227 100644 --- a/examples/declarative/cppextensions/qwidgets/qwidgets.qml +++ b/examples/declarative/cppextensions/qwidgets/qwidgets.qml @@ -4,7 +4,7 @@ ** All rights reserved. ** Contact: Nokia Corporation (qt-info@nokia.com) ** -** This file is part of the QtDeclarative module of the Qt Toolkit. +** This file is part of the examples of the Qt Toolkit. ** ** $QT_BEGIN_LICENSE:BSD$ ** You may use this file under the terms of the BSD license as follows: diff --git a/examples/declarative/cppextensions/referenceexamples/adding/example.qml b/examples/declarative/cppextensions/referenceexamples/adding/example.qml index da3ddfc..de9a5c6 100644 --- a/examples/declarative/cppextensions/referenceexamples/adding/example.qml +++ b/examples/declarative/cppextensions/referenceexamples/adding/example.qml @@ -4,7 +4,7 @@ ** All rights reserved. ** Contact: Nokia Corporation (qt-info@nokia.com) ** -** This file is part of the QtDeclarative module of the Qt Toolkit. +** This file is part of the examples of the Qt Toolkit. ** ** $QT_BEGIN_LICENSE:BSD$ ** You may use this file under the terms of the BSD license as follows: diff --git a/examples/declarative/cppextensions/referenceexamples/attached/example.qml b/examples/declarative/cppextensions/referenceexamples/attached/example.qml index 62f336d..ad21879 100644 --- a/examples/declarative/cppextensions/referenceexamples/attached/example.qml +++ b/examples/declarative/cppextensions/referenceexamples/attached/example.qml @@ -4,7 +4,7 @@ ** All rights reserved. ** Contact: Nokia Corporation (qt-info@nokia.com) ** -** This file is part of the QtDeclarative module of the Qt Toolkit. +** This file is part of the examples of the Qt Toolkit. ** ** $QT_BEGIN_LICENSE:BSD$ ** You may use this file under the terms of the BSD license as follows: diff --git a/examples/declarative/cppextensions/referenceexamples/binding/example.qml b/examples/declarative/cppextensions/referenceexamples/binding/example.qml index 8f359b0..b8731a4 100644 --- a/examples/declarative/cppextensions/referenceexamples/binding/example.qml +++ b/examples/declarative/cppextensions/referenceexamples/binding/example.qml @@ -4,7 +4,7 @@ ** All rights reserved. ** Contact: Nokia Corporation (qt-info@nokia.com) ** -** This file is part of the QtDeclarative module of the Qt Toolkit. +** This file is part of the examples of the Qt Toolkit. ** ** $QT_BEGIN_LICENSE:BSD$ ** You may use this file under the terms of the BSD license as follows: diff --git a/examples/declarative/cppextensions/referenceexamples/coercion/example.qml b/examples/declarative/cppextensions/referenceexamples/coercion/example.qml index eaf3638..8ad5af8 100644 --- a/examples/declarative/cppextensions/referenceexamples/coercion/example.qml +++ b/examples/declarative/cppextensions/referenceexamples/coercion/example.qml @@ -4,7 +4,7 @@ ** All rights reserved. ** Contact: Nokia Corporation (qt-info@nokia.com) ** -** This file is part of the QtDeclarative module of the Qt Toolkit. +** This file is part of the examples of the Qt Toolkit. ** ** $QT_BEGIN_LICENSE:BSD$ ** You may use this file under the terms of the BSD license as follows: diff --git a/examples/declarative/cppextensions/referenceexamples/default/example.qml b/examples/declarative/cppextensions/referenceexamples/default/example.qml index 5c7635e..79b9c59 100644 --- a/examples/declarative/cppextensions/referenceexamples/default/example.qml +++ b/examples/declarative/cppextensions/referenceexamples/default/example.qml @@ -4,7 +4,7 @@ ** All rights reserved. ** Contact: Nokia Corporation (qt-info@nokia.com) ** -** This file is part of the QtDeclarative module of the Qt Toolkit. +** This file is part of the examples of the Qt Toolkit. ** ** $QT_BEGIN_LICENSE:BSD$ ** You may use this file under the terms of the BSD license as follows: diff --git a/examples/declarative/cppextensions/referenceexamples/extended/example.qml b/examples/declarative/cppextensions/referenceexamples/extended/example.qml index 7a76708..afc941b 100644 --- a/examples/declarative/cppextensions/referenceexamples/extended/example.qml +++ b/examples/declarative/cppextensions/referenceexamples/extended/example.qml @@ -4,7 +4,7 @@ ** All rights reserved. ** Contact: Nokia Corporation (qt-info@nokia.com) ** -** This file is part of the QtDeclarative module of the Qt Toolkit. +** This file is part of the examples of the Qt Toolkit. ** ** $QT_BEGIN_LICENSE:BSD$ ** You may use this file under the terms of the BSD license as follows: diff --git a/examples/declarative/cppextensions/referenceexamples/grouped/example.qml b/examples/declarative/cppextensions/referenceexamples/grouped/example.qml index 8cd8f5d..ba1f9ab 100644 --- a/examples/declarative/cppextensions/referenceexamples/grouped/example.qml +++ b/examples/declarative/cppextensions/referenceexamples/grouped/example.qml @@ -4,7 +4,7 @@ ** All rights reserved. ** Contact: Nokia Corporation (qt-info@nokia.com) ** -** This file is part of the QtDeclarative module of the Qt Toolkit. +** This file is part of the examples of the Qt Toolkit. ** ** $QT_BEGIN_LICENSE:BSD$ ** You may use this file under the terms of the BSD license as follows: diff --git a/examples/declarative/cppextensions/referenceexamples/methods/example.qml b/examples/declarative/cppextensions/referenceexamples/methods/example.qml index c4698a2..ea3fa5f 100644 --- a/examples/declarative/cppextensions/referenceexamples/methods/example.qml +++ b/examples/declarative/cppextensions/referenceexamples/methods/example.qml @@ -4,7 +4,7 @@ ** All rights reserved. ** Contact: Nokia Corporation (qt-info@nokia.com) ** -** This file is part of the QtDeclarative module of the Qt Toolkit. +** This file is part of the examples of the Qt Toolkit. ** ** $QT_BEGIN_LICENSE:BSD$ ** You may use this file under the terms of the BSD license as follows: diff --git a/examples/declarative/cppextensions/referenceexamples/properties/example.qml b/examples/declarative/cppextensions/referenceexamples/properties/example.qml index 1468a4f..d8c88d5 100644 --- a/examples/declarative/cppextensions/referenceexamples/properties/example.qml +++ b/examples/declarative/cppextensions/referenceexamples/properties/example.qml @@ -4,7 +4,7 @@ ** All rights reserved. ** Contact: Nokia Corporation (qt-info@nokia.com) ** -** This file is part of the QtDeclarative module of the Qt Toolkit. +** This file is part of the examples of the Qt Toolkit. ** ** $QT_BEGIN_LICENSE:BSD$ ** You may use this file under the terms of the BSD license as follows: diff --git a/examples/declarative/cppextensions/referenceexamples/signal/example.qml b/examples/declarative/cppextensions/referenceexamples/signal/example.qml index f4c6439..1e6f2db 100644 --- a/examples/declarative/cppextensions/referenceexamples/signal/example.qml +++ b/examples/declarative/cppextensions/referenceexamples/signal/example.qml @@ -4,7 +4,7 @@ ** All rights reserved. ** Contact: Nokia Corporation (qt-info@nokia.com) ** -** This file is part of the QtDeclarative module of the Qt Toolkit. +** This file is part of the examples of the Qt Toolkit. ** ** $QT_BEGIN_LICENSE:BSD$ ** You may use this file under the terms of the BSD license as follows: diff --git a/examples/declarative/cppextensions/referenceexamples/valuesource/example.qml b/examples/declarative/cppextensions/referenceexamples/valuesource/example.qml index 4f9e6eb..11d29d9 100644 --- a/examples/declarative/cppextensions/referenceexamples/valuesource/example.qml +++ b/examples/declarative/cppextensions/referenceexamples/valuesource/example.qml @@ -4,7 +4,7 @@ ** All rights reserved. ** Contact: Nokia Corporation (qt-info@nokia.com) ** -** This file is part of the QtDeclarative module of the Qt Toolkit. +** This file is part of the examples of the Qt Toolkit. ** ** $QT_BEGIN_LICENSE:BSD$ ** You may use this file under the terms of the BSD license as follows: diff --git a/examples/declarative/i18n/i18n.qml b/examples/declarative/i18n/i18n.qml index 5c2702c..fcf24c2 100644 --- a/examples/declarative/i18n/i18n.qml +++ b/examples/declarative/i18n/i18n.qml @@ -4,7 +4,7 @@ ** All rights reserved. ** Contact: Nokia Corporation (qt-info@nokia.com) ** -** This file is part of the QtDeclarative module of the Qt Toolkit. +** This file is part of the examples of the Qt Toolkit. ** ** $QT_BEGIN_LICENSE:BSD$ ** You may use this file under the terms of the BSD license as follows: diff --git a/examples/declarative/imageelements/borderimage/borderimage.qml b/examples/declarative/imageelements/borderimage/borderimage.qml index 98e573e..bbe113c 100644 --- a/examples/declarative/imageelements/borderimage/borderimage.qml +++ b/examples/declarative/imageelements/borderimage/borderimage.qml @@ -4,7 +4,7 @@ ** All rights reserved. ** Contact: Nokia Corporation (qt-info@nokia.com) ** -** This file is part of the QtDeclarative module of the Qt Toolkit. +** This file is part of the examples of the Qt Toolkit. ** ** $QT_BEGIN_LICENSE:BSD$ ** You may use this file under the terms of the BSD license as follows: diff --git a/examples/declarative/imageelements/borderimage/content/MyBorderImage.qml b/examples/declarative/imageelements/borderimage/content/MyBorderImage.qml index 10e6822..b8f8a70 100644 --- a/examples/declarative/imageelements/borderimage/content/MyBorderImage.qml +++ b/examples/declarative/imageelements/borderimage/content/MyBorderImage.qml @@ -4,7 +4,7 @@ ** All rights reserved. ** Contact: Nokia Corporation (qt-info@nokia.com) ** -** This file is part of the QtDeclarative module of the Qt Toolkit. +** This file is part of the examples of the Qt Toolkit. ** ** $QT_BEGIN_LICENSE:BSD$ ** You may use this file under the terms of the BSD license as follows: diff --git a/examples/declarative/imageelements/borderimage/content/ShadowRectangle.qml b/examples/declarative/imageelements/borderimage/content/ShadowRectangle.qml index 0806fc8..73eb040 100644 --- a/examples/declarative/imageelements/borderimage/content/ShadowRectangle.qml +++ b/examples/declarative/imageelements/borderimage/content/ShadowRectangle.qml @@ -4,7 +4,7 @@ ** All rights reserved. ** Contact: Nokia Corporation (qt-info@nokia.com) ** -** This file is part of the QtDeclarative module of the Qt Toolkit. +** This file is part of the examples of the Qt Toolkit. ** ** $QT_BEGIN_LICENSE:BSD$ ** You may use this file under the terms of the BSD license as follows: diff --git a/examples/declarative/imageelements/borderimage/shadows.qml b/examples/declarative/imageelements/borderimage/shadows.qml index 365d293..4cb7c65 100644 --- a/examples/declarative/imageelements/borderimage/shadows.qml +++ b/examples/declarative/imageelements/borderimage/shadows.qml @@ -4,7 +4,7 @@ ** All rights reserved. ** Contact: Nokia Corporation (qt-info@nokia.com) ** -** This file is part of the QtDeclarative module of the Qt Toolkit. +** This file is part of the examples of the Qt Toolkit. ** ** $QT_BEGIN_LICENSE:BSD$ ** You may use this file under the terms of the BSD license as follows: diff --git a/examples/declarative/imageelements/image/ImageCell.qml b/examples/declarative/imageelements/image/ImageCell.qml index 71a17fe..f8973c8 100644 --- a/examples/declarative/imageelements/image/ImageCell.qml +++ b/examples/declarative/imageelements/image/ImageCell.qml @@ -4,7 +4,7 @@ ** All rights reserved. ** Contact: Nokia Corporation (qt-info@nokia.com) ** -** This file is part of the QtDeclarative module of the Qt Toolkit. +** This file is part of the examples of the Qt Toolkit. ** ** $QT_BEGIN_LICENSE:BSD$ ** You may use this file under the terms of the BSD license as follows: diff --git a/examples/declarative/imageelements/image/image.qml b/examples/declarative/imageelements/image/image.qml index bc5ae37..719d544 100644 --- a/examples/declarative/imageelements/image/image.qml +++ b/examples/declarative/imageelements/image/image.qml @@ -4,7 +4,7 @@ ** All rights reserved. ** Contact: Nokia Corporation (qt-info@nokia.com) ** -** This file is part of the QtDeclarative module of the Qt Toolkit. +** This file is part of the examples of the Qt Toolkit. ** ** $QT_BEGIN_LICENSE:BSD$ ** You may use this file under the terms of the BSD license as follows: diff --git a/examples/declarative/keyinteraction/focus/Core/ContextMenu.qml b/examples/declarative/keyinteraction/focus/Core/ContextMenu.qml index ba49d14..be32386 100644 --- a/examples/declarative/keyinteraction/focus/Core/ContextMenu.qml +++ b/examples/declarative/keyinteraction/focus/Core/ContextMenu.qml @@ -4,7 +4,7 @@ ** All rights reserved. ** Contact: Nokia Corporation (qt-info@nokia.com) ** -** This file is part of the QtDeclarative module of the Qt Toolkit. +** This file is part of the examples of the Qt Toolkit. ** ** $QT_BEGIN_LICENSE:BSD$ ** You may use this file under the terms of the BSD license as follows: diff --git a/examples/declarative/keyinteraction/focus/Core/GridMenu.qml b/examples/declarative/keyinteraction/focus/Core/GridMenu.qml index 88840cb..8cdec3e 100644 --- a/examples/declarative/keyinteraction/focus/Core/GridMenu.qml +++ b/examples/declarative/keyinteraction/focus/Core/GridMenu.qml @@ -4,7 +4,7 @@ ** All rights reserved. ** Contact: Nokia Corporation (qt-info@nokia.com) ** -** This file is part of the QtDeclarative module of the Qt Toolkit. +** This file is part of the examples of the Qt Toolkit. ** ** $QT_BEGIN_LICENSE:BSD$ ** You may use this file under the terms of the BSD license as follows: diff --git a/examples/declarative/keyinteraction/focus/Core/ListMenu.qml b/examples/declarative/keyinteraction/focus/Core/ListMenu.qml index 6100b32..ca2e206 100644 --- a/examples/declarative/keyinteraction/focus/Core/ListMenu.qml +++ b/examples/declarative/keyinteraction/focus/Core/ListMenu.qml @@ -4,7 +4,7 @@ ** All rights reserved. ** Contact: Nokia Corporation (qt-info@nokia.com) ** -** This file is part of the QtDeclarative module of the Qt Toolkit. +** This file is part of the examples of the Qt Toolkit. ** ** $QT_BEGIN_LICENSE:BSD$ ** You may use this file under the terms of the BSD license as follows: diff --git a/examples/declarative/keyinteraction/focus/Core/ListViewDelegate.qml b/examples/declarative/keyinteraction/focus/Core/ListViewDelegate.qml index 602b52b..95164f8 100644 --- a/examples/declarative/keyinteraction/focus/Core/ListViewDelegate.qml +++ b/examples/declarative/keyinteraction/focus/Core/ListViewDelegate.qml @@ -4,7 +4,7 @@ ** All rights reserved. ** Contact: Nokia Corporation (qt-info@nokia.com) ** -** This file is part of the QtDeclarative module of the Qt Toolkit. +** This file is part of the examples of the Qt Toolkit. ** ** $QT_BEGIN_LICENSE:BSD$ ** You may use this file under the terms of the BSD license as follows: diff --git a/examples/declarative/keyinteraction/focus/focus.qml b/examples/declarative/keyinteraction/focus/focus.qml index 9463192..da2c30d 100644 --- a/examples/declarative/keyinteraction/focus/focus.qml +++ b/examples/declarative/keyinteraction/focus/focus.qml @@ -4,7 +4,7 @@ ** All rights reserved. ** Contact: Nokia Corporation (qt-info@nokia.com) ** -** This file is part of the QtDeclarative module of the Qt Toolkit. +** This file is part of the examples of the Qt Toolkit. ** ** $QT_BEGIN_LICENSE:BSD$ ** You may use this file under the terms of the BSD license as follows: diff --git a/examples/declarative/modelviews/abstractitemmodel/main.cpp b/examples/declarative/modelviews/abstractitemmodel/main.cpp index e869aba..dc563ad 100644 --- a/examples/declarative/modelviews/abstractitemmodel/main.cpp +++ b/examples/declarative/modelviews/abstractitemmodel/main.cpp @@ -4,7 +4,7 @@ ** All rights reserved. ** Contact: Nokia Corporation (qt-info@nokia.com) ** -** This file is part of the QtDeclarative module of the Qt Toolkit. +** This file is part of the examples of the Qt Toolkit. ** ** $QT_BEGIN_LICENSE:BSD$ ** You may use this file under the terms of the BSD license as follows: diff --git a/examples/declarative/modelviews/abstractitemmodel/model.cpp b/examples/declarative/modelviews/abstractitemmodel/model.cpp index 940a44d..eab6728 100644 --- a/examples/declarative/modelviews/abstractitemmodel/model.cpp +++ b/examples/declarative/modelviews/abstractitemmodel/model.cpp @@ -4,7 +4,7 @@ ** All rights reserved. ** Contact: Nokia Corporation (qt-info@nokia.com) ** -** This file is part of the QtDeclarative module of the Qt Toolkit. +** This file is part of the examples of the Qt Toolkit. ** ** $QT_BEGIN_LICENSE:BSD$ ** You may use this file under the terms of the BSD license as follows: diff --git a/examples/declarative/modelviews/abstractitemmodel/model.h b/examples/declarative/modelviews/abstractitemmodel/model.h index 1119837..34a9091 100644 --- a/examples/declarative/modelviews/abstractitemmodel/model.h +++ b/examples/declarative/modelviews/abstractitemmodel/model.h @@ -4,7 +4,7 @@ ** All rights reserved. ** Contact: Nokia Corporation (qt-info@nokia.com) ** -** This file is part of the QtDeclarative module of the Qt Toolkit. +** This file is part of the examples of the Qt Toolkit. ** ** $QT_BEGIN_LICENSE:BSD$ ** You may use this file under the terms of the BSD license as follows: diff --git a/examples/declarative/modelviews/abstractitemmodel/view.qml b/examples/declarative/modelviews/abstractitemmodel/view.qml index 591d89a..2fb4885 100644 --- a/examples/declarative/modelviews/abstractitemmodel/view.qml +++ b/examples/declarative/modelviews/abstractitemmodel/view.qml @@ -4,7 +4,7 @@ ** All rights reserved. ** Contact: Nokia Corporation (qt-info@nokia.com) ** -** This file is part of the QtDeclarative module of the Qt Toolkit. +** This file is part of the examples of the Qt Toolkit. ** ** $QT_BEGIN_LICENSE:BSD$ ** You may use this file under the terms of the BSD license as follows: diff --git a/examples/declarative/modelviews/gridview/gridview-example.qml b/examples/declarative/modelviews/gridview/gridview-example.qml index 740f205..aea34ff 100644 --- a/examples/declarative/modelviews/gridview/gridview-example.qml +++ b/examples/declarative/modelviews/gridview/gridview-example.qml @@ -4,7 +4,7 @@ ** All rights reserved. ** Contact: Nokia Corporation (qt-info@nokia.com) ** -** This file is part of the QtDeclarative module of the Qt Toolkit. +** This file is part of the examples of the Qt Toolkit. ** ** $QT_BEGIN_LICENSE:BSD$ ** You may use this file under the terms of the BSD license as follows: diff --git a/examples/declarative/modelviews/listview/content/PetsModel.qml b/examples/declarative/modelviews/listview/content/PetsModel.qml index b77557d..beeed1a 100644 --- a/examples/declarative/modelviews/listview/content/PetsModel.qml +++ b/examples/declarative/modelviews/listview/content/PetsModel.qml @@ -4,7 +4,7 @@ ** All rights reserved. ** Contact: Nokia Corporation (qt-info@nokia.com) ** -** This file is part of the QtDeclarative module of the Qt Toolkit. +** This file is part of the examples of the Qt Toolkit. ** ** $QT_BEGIN_LICENSE:BSD$ ** You may use this file under the terms of the BSD license as follows: diff --git a/examples/declarative/modelviews/listview/content/PressAndHoldButton.qml b/examples/declarative/modelviews/listview/content/PressAndHoldButton.qml index 0d5a255..ad6230e 100644 --- a/examples/declarative/modelviews/listview/content/PressAndHoldButton.qml +++ b/examples/declarative/modelviews/listview/content/PressAndHoldButton.qml @@ -4,7 +4,7 @@ ** All rights reserved. ** Contact: Nokia Corporation (qt-info@nokia.com) ** -** This file is part of the QtDeclarative module of the Qt Toolkit. +** This file is part of the examples of the Qt Toolkit. ** ** $QT_BEGIN_LICENSE:BSD$ ** You may use this file under the terms of the BSD license as follows: diff --git a/examples/declarative/modelviews/listview/content/RecipesModel.qml b/examples/declarative/modelviews/listview/content/RecipesModel.qml index e6d829f..812cf77 100644 --- a/examples/declarative/modelviews/listview/content/RecipesModel.qml +++ b/examples/declarative/modelviews/listview/content/RecipesModel.qml @@ -4,7 +4,7 @@ ** All rights reserved. ** Contact: Nokia Corporation (qt-info@nokia.com) ** -** This file is part of the QtDeclarative module of the Qt Toolkit. +** This file is part of the examples of the Qt Toolkit. ** ** $QT_BEGIN_LICENSE:BSD$ ** You may use this file under the terms of the BSD license as follows: diff --git a/examples/declarative/modelviews/listview/content/TextButton.qml b/examples/declarative/modelviews/listview/content/TextButton.qml index ded7a11..0270fdc 100644 --- a/examples/declarative/modelviews/listview/content/TextButton.qml +++ b/examples/declarative/modelviews/listview/content/TextButton.qml @@ -4,7 +4,7 @@ ** All rights reserved. ** Contact: Nokia Corporation (qt-info@nokia.com) ** -** This file is part of the QtDeclarative module of the Qt Toolkit. +** This file is part of the examples of the Qt Toolkit. ** ** $QT_BEGIN_LICENSE:BSD$ ** You may use this file under the terms of the BSD license as follows: diff --git a/examples/declarative/modelviews/listview/dynamiclist.qml b/examples/declarative/modelviews/listview/dynamiclist.qml index 3c1af37..27ef6e0 100644 --- a/examples/declarative/modelviews/listview/dynamiclist.qml +++ b/examples/declarative/modelviews/listview/dynamiclist.qml @@ -4,7 +4,7 @@ ** All rights reserved. ** Contact: Nokia Corporation (qt-info@nokia.com) ** -** This file is part of the QtDeclarative module of the Qt Toolkit. +** This file is part of the examples of the Qt Toolkit. ** ** $QT_BEGIN_LICENSE:BSD$ ** You may use this file under the terms of the BSD license as follows: diff --git a/examples/declarative/modelviews/listview/expandingdelegates.qml b/examples/declarative/modelviews/listview/expandingdelegates.qml index 24d6386..2dec769 100644 --- a/examples/declarative/modelviews/listview/expandingdelegates.qml +++ b/examples/declarative/modelviews/listview/expandingdelegates.qml @@ -4,7 +4,7 @@ ** All rights reserved. ** Contact: Nokia Corporation (qt-info@nokia.com) ** -** This file is part of the QtDeclarative module of the Qt Toolkit. +** This file is part of the examples of the Qt Toolkit. ** ** $QT_BEGIN_LICENSE:BSD$ ** You may use this file under the terms of the BSD license as follows: diff --git a/examples/declarative/modelviews/listview/highlight.qml b/examples/declarative/modelviews/listview/highlight.qml index 2d68da6..5646e9f 100644 --- a/examples/declarative/modelviews/listview/highlight.qml +++ b/examples/declarative/modelviews/listview/highlight.qml @@ -4,7 +4,7 @@ ** All rights reserved. ** Contact: Nokia Corporation (qt-info@nokia.com) ** -** This file is part of the QtDeclarative module of the Qt Toolkit. +** This file is part of the examples of the Qt Toolkit. ** ** $QT_BEGIN_LICENSE:BSD$ ** You may use this file under the terms of the BSD license as follows: diff --git a/examples/declarative/modelviews/listview/highlightranges.qml b/examples/declarative/modelviews/listview/highlightranges.qml index 30976f4..711463a 100644 --- a/examples/declarative/modelviews/listview/highlightranges.qml +++ b/examples/declarative/modelviews/listview/highlightranges.qml @@ -4,7 +4,7 @@ ** All rights reserved. ** Contact: Nokia Corporation (qt-info@nokia.com) ** -** This file is part of the QtDeclarative module of the Qt Toolkit. +** This file is part of the examples of the Qt Toolkit. ** ** $QT_BEGIN_LICENSE:BSD$ ** You may use this file under the terms of the BSD license as follows: diff --git a/examples/declarative/modelviews/listview/sections.qml b/examples/declarative/modelviews/listview/sections.qml index 8e0a49f..a9ec538 100644 --- a/examples/declarative/modelviews/listview/sections.qml +++ b/examples/declarative/modelviews/listview/sections.qml @@ -4,7 +4,7 @@ ** All rights reserved. ** Contact: Nokia Corporation (qt-info@nokia.com) ** -** This file is part of the QtDeclarative module of the Qt Toolkit. +** This file is part of the examples of the Qt Toolkit. ** ** $QT_BEGIN_LICENSE:BSD$ ** You may use this file under the terms of the BSD license as follows: diff --git a/examples/declarative/modelviews/objectlistmodel/dataobject.cpp b/examples/declarative/modelviews/objectlistmodel/dataobject.cpp index 2a42ea3..ce7465a 100644 --- a/examples/declarative/modelviews/objectlistmodel/dataobject.cpp +++ b/examples/declarative/modelviews/objectlistmodel/dataobject.cpp @@ -4,7 +4,7 @@ ** All rights reserved. ** Contact: Nokia Corporation (qt-info@nokia.com) ** -** This file is part of the QtDeclarative module of the Qt Toolkit. +** This file is part of the examples of the Qt Toolkit. ** ** $QT_BEGIN_LICENSE:BSD$ ** You may use this file under the terms of the BSD license as follows: diff --git a/examples/declarative/modelviews/objectlistmodel/dataobject.h b/examples/declarative/modelviews/objectlistmodel/dataobject.h index 17aa355..22e5de2 100644 --- a/examples/declarative/modelviews/objectlistmodel/dataobject.h +++ b/examples/declarative/modelviews/objectlistmodel/dataobject.h @@ -4,7 +4,7 @@ ** All rights reserved. ** Contact: Nokia Corporation (qt-info@nokia.com) ** -** This file is part of the QtDeclarative module of the Qt Toolkit. +** This file is part of the examples of the Qt Toolkit. ** ** $QT_BEGIN_LICENSE:BSD$ ** You may use this file under the terms of the BSD license as follows: diff --git a/examples/declarative/modelviews/objectlistmodel/view.qml b/examples/declarative/modelviews/objectlistmodel/view.qml index c3cccdd..7e7c68a 100644 --- a/examples/declarative/modelviews/objectlistmodel/view.qml +++ b/examples/declarative/modelviews/objectlistmodel/view.qml @@ -4,7 +4,7 @@ ** All rights reserved. ** Contact: Nokia Corporation (qt-info@nokia.com) ** -** This file is part of the QtDeclarative module of the Qt Toolkit. +** This file is part of the examples of the Qt Toolkit. ** ** $QT_BEGIN_LICENSE:BSD$ ** You may use this file under the terms of the BSD license as follows: diff --git a/examples/declarative/modelviews/package/Delegate.qml b/examples/declarative/modelviews/package/Delegate.qml index 9c42876..a38727c 100644 --- a/examples/declarative/modelviews/package/Delegate.qml +++ b/examples/declarative/modelviews/package/Delegate.qml @@ -4,7 +4,7 @@ ** All rights reserved. ** Contact: Nokia Corporation (qt-info@nokia.com) ** -** This file is part of the QtDeclarative module of the Qt Toolkit. +** This file is part of the examples of the Qt Toolkit. ** ** $QT_BEGIN_LICENSE:BSD$ ** You may use this file under the terms of the BSD license as follows: diff --git a/examples/declarative/modelviews/package/view.qml b/examples/declarative/modelviews/package/view.qml index 26230ef..38cc047 100644 --- a/examples/declarative/modelviews/package/view.qml +++ b/examples/declarative/modelviews/package/view.qml @@ -4,7 +4,7 @@ ** All rights reserved. ** Contact: Nokia Corporation (qt-info@nokia.com) ** -** This file is part of the QtDeclarative module of the Qt Toolkit. +** This file is part of the examples of the Qt Toolkit. ** ** $QT_BEGIN_LICENSE:BSD$ ** You may use this file under the terms of the BSD license as follows: diff --git a/examples/declarative/modelviews/parallax/parallax.qml b/examples/declarative/modelviews/parallax/parallax.qml index 19eadd0..3d7d091 100644 --- a/examples/declarative/modelviews/parallax/parallax.qml +++ b/examples/declarative/modelviews/parallax/parallax.qml @@ -4,7 +4,7 @@ ** All rights reserved. ** Contact: Nokia Corporation (qt-info@nokia.com) ** -** This file is part of the QtDeclarative module of the Qt Toolkit. +** This file is part of the examples of the Qt Toolkit. ** ** $QT_BEGIN_LICENSE:BSD$ ** You may use this file under the terms of the BSD license as follows: diff --git a/examples/declarative/modelviews/parallax/qml/ParallaxView.qml b/examples/declarative/modelviews/parallax/qml/ParallaxView.qml index ac479f4..724d7e0 100644 --- a/examples/declarative/modelviews/parallax/qml/ParallaxView.qml +++ b/examples/declarative/modelviews/parallax/qml/ParallaxView.qml @@ -4,7 +4,7 @@ ** All rights reserved. ** Contact: Nokia Corporation (qt-info@nokia.com) ** -** This file is part of the QtDeclarative module of the Qt Toolkit. +** This file is part of the examples of the Qt Toolkit. ** ** $QT_BEGIN_LICENSE:BSD$ ** You may use this file under the terms of the BSD license as follows: diff --git a/examples/declarative/modelviews/parallax/qml/Smiley.qml b/examples/declarative/modelviews/parallax/qml/Smiley.qml index 3ca672a..959c85c 100644 --- a/examples/declarative/modelviews/parallax/qml/Smiley.qml +++ b/examples/declarative/modelviews/parallax/qml/Smiley.qml @@ -4,7 +4,7 @@ ** All rights reserved. ** Contact: Nokia Corporation (qt-info@nokia.com) ** -** This file is part of the QtDeclarative module of the Qt Toolkit. +** This file is part of the examples of the Qt Toolkit. ** ** $QT_BEGIN_LICENSE:BSD$ ** You may use this file under the terms of the BSD license as follows: diff --git a/examples/declarative/modelviews/pathview/pathview-example.qml b/examples/declarative/modelviews/pathview/pathview-example.qml index 0a3b34c..8777291 100644 --- a/examples/declarative/modelviews/pathview/pathview-example.qml +++ b/examples/declarative/modelviews/pathview/pathview-example.qml @@ -4,7 +4,7 @@ ** All rights reserved. ** Contact: Nokia Corporation (qt-info@nokia.com) ** -** This file is part of the QtDeclarative module of the Qt Toolkit. +** This file is part of the examples of the Qt Toolkit. ** ** $QT_BEGIN_LICENSE:BSD$ ** You may use this file under the terms of the BSD license as follows: diff --git a/examples/declarative/modelviews/stringlistmodel/view.qml b/examples/declarative/modelviews/stringlistmodel/view.qml index 3d789fd..1751a7a 100644 --- a/examples/declarative/modelviews/stringlistmodel/view.qml +++ b/examples/declarative/modelviews/stringlistmodel/view.qml @@ -4,7 +4,7 @@ ** All rights reserved. ** Contact: Nokia Corporation (qt-info@nokia.com) ** -** This file is part of the QtDeclarative module of the Qt Toolkit. +** This file is part of the examples of the Qt Toolkit. ** ** $QT_BEGIN_LICENSE:BSD$ ** You may use this file under the terms of the BSD license as follows: diff --git a/examples/declarative/modelviews/visualitemmodel/visualitemmodel.qml b/examples/declarative/modelviews/visualitemmodel/visualitemmodel.qml index 1b44e05..344ce62 100644 --- a/examples/declarative/modelviews/visualitemmodel/visualitemmodel.qml +++ b/examples/declarative/modelviews/visualitemmodel/visualitemmodel.qml @@ -4,7 +4,7 @@ ** All rights reserved. ** Contact: Nokia Corporation (qt-info@nokia.com) ** -** This file is part of the QtDeclarative module of the Qt Toolkit. +** This file is part of the examples of the Qt Toolkit. ** ** $QT_BEGIN_LICENSE:BSD$ ** You may use this file under the terms of the BSD license as follows: diff --git a/examples/declarative/modelviews/webview/alerts.qml b/examples/declarative/modelviews/webview/alerts.qml index 9e3c925..68f7a5c 100644 --- a/examples/declarative/modelviews/webview/alerts.qml +++ b/examples/declarative/modelviews/webview/alerts.qml @@ -4,7 +4,7 @@ ** All rights reserved. ** Contact: Nokia Corporation (qt-info@nokia.com) ** -** This file is part of the QtDeclarative module of the Qt Toolkit. +** This file is part of the examples of the Qt Toolkit. ** ** $QT_BEGIN_LICENSE:BSD$ ** You may use this file under the terms of the BSD license as follows: diff --git a/examples/declarative/modelviews/webview/autosize.qml b/examples/declarative/modelviews/webview/autosize.qml index 4a5096e..91550c1 100644 --- a/examples/declarative/modelviews/webview/autosize.qml +++ b/examples/declarative/modelviews/webview/autosize.qml @@ -4,7 +4,7 @@ ** All rights reserved. ** Contact: Nokia Corporation (qt-info@nokia.com) ** -** This file is part of the QtDeclarative module of the Qt Toolkit. +** This file is part of the examples of the Qt Toolkit. ** ** $QT_BEGIN_LICENSE:BSD$ ** You may use this file under the terms of the BSD license as follows: diff --git a/examples/declarative/modelviews/webview/content/Mapping/Map.qml b/examples/declarative/modelviews/webview/content/Mapping/Map.qml index c2489c5..ab549b5 100644 --- a/examples/declarative/modelviews/webview/content/Mapping/Map.qml +++ b/examples/declarative/modelviews/webview/content/Mapping/Map.qml @@ -4,7 +4,7 @@ ** All rights reserved. ** Contact: Nokia Corporation (qt-info@nokia.com) ** -** This file is part of the QtDeclarative module of the Qt Toolkit. +** This file is part of the examples of the Qt Toolkit. ** ** $QT_BEGIN_LICENSE:BSD$ ** You may use this file under the terms of the BSD license as follows: diff --git a/examples/declarative/modelviews/webview/googlemaps.qml b/examples/declarative/modelviews/webview/googlemaps.qml index 361b40c..bc9a0e3 100644 --- a/examples/declarative/modelviews/webview/googlemaps.qml +++ b/examples/declarative/modelviews/webview/googlemaps.qml @@ -4,7 +4,7 @@ ** All rights reserved. ** Contact: Nokia Corporation (qt-info@nokia.com) ** -** This file is part of the QtDeclarative module of the Qt Toolkit. +** This file is part of the examples of the Qt Toolkit. ** ** $QT_BEGIN_LICENSE:BSD$ ** You may use this file under the terms of the BSD license as follows: diff --git a/examples/declarative/modelviews/webview/inlinehtml.qml b/examples/declarative/modelviews/webview/inlinehtml.qml index 0448ff3..afc8418 100644 --- a/examples/declarative/modelviews/webview/inlinehtml.qml +++ b/examples/declarative/modelviews/webview/inlinehtml.qml @@ -4,7 +4,7 @@ ** All rights reserved. ** Contact: Nokia Corporation (qt-info@nokia.com) ** -** This file is part of the QtDeclarative module of the Qt Toolkit. +** This file is part of the examples of the Qt Toolkit. ** ** $QT_BEGIN_LICENSE:BSD$ ** You may use this file under the terms of the BSD license as follows: diff --git a/examples/declarative/modelviews/webview/newwindows.qml b/examples/declarative/modelviews/webview/newwindows.qml index c09b2a9..5762321 100644 --- a/examples/declarative/modelviews/webview/newwindows.qml +++ b/examples/declarative/modelviews/webview/newwindows.qml @@ -4,7 +4,7 @@ ** All rights reserved. ** Contact: Nokia Corporation (qt-info@nokia.com) ** -** This file is part of the QtDeclarative module of the Qt Toolkit. +** This file is part of the examples of the Qt Toolkit. ** ** $QT_BEGIN_LICENSE:BSD$ ** You may use this file under the terms of the BSD license as follows: diff --git a/examples/declarative/positioners/Button.qml b/examples/declarative/positioners/Button.qml index bb8c9c7..4709aa6 100644 --- a/examples/declarative/positioners/Button.qml +++ b/examples/declarative/positioners/Button.qml @@ -4,7 +4,7 @@ ** All rights reserved. ** Contact: Nokia Corporation (qt-info@nokia.com) ** -** This file is part of the QtDeclarative module of the Qt Toolkit. +** This file is part of the examples of the Qt Toolkit. ** ** $QT_BEGIN_LICENSE:BSD$ ** You may use this file under the terms of the BSD license as follows: diff --git a/examples/declarative/positioners/positioners.qml b/examples/declarative/positioners/positioners.qml index d16d3df..26b9ccd 100644 --- a/examples/declarative/positioners/positioners.qml +++ b/examples/declarative/positioners/positioners.qml @@ -4,7 +4,7 @@ ** All rights reserved. ** Contact: Nokia Corporation (qt-info@nokia.com) ** -** This file is part of the QtDeclarative module of the Qt Toolkit. +** This file is part of the examples of the Qt Toolkit. ** ** $QT_BEGIN_LICENSE:BSD$ ** You may use this file under the terms of the BSD license as follows: diff --git a/examples/declarative/screenorientation/Core/Bubble.qml b/examples/declarative/screenorientation/Core/Bubble.qml index 2474f30..58bd13c 100644 --- a/examples/declarative/screenorientation/Core/Bubble.qml +++ b/examples/declarative/screenorientation/Core/Bubble.qml @@ -4,7 +4,7 @@ ** All rights reserved. ** Contact: Nokia Corporation (qt-info@nokia.com) ** -** This file is part of the QtDeclarative module of the Qt Toolkit. +** This file is part of the examples of the Qt Toolkit. ** ** $QT_BEGIN_LICENSE:LGPL$ ** No Commercial Usage diff --git a/examples/declarative/screenorientation/Core/Button.qml b/examples/declarative/screenorientation/Core/Button.qml index 60083d8..11117c9 100644 --- a/examples/declarative/screenorientation/Core/Button.qml +++ b/examples/declarative/screenorientation/Core/Button.qml @@ -4,7 +4,7 @@ ** All rights reserved. ** Contact: Nokia Corporation (qt-info@nokia.com) ** -** This file is part of the QtDeclarative module of the Qt Toolkit. +** This file is part of the examples of the Qt Toolkit. ** ** $QT_BEGIN_LICENSE:LGPL$ ** No Commercial Usage diff --git a/examples/declarative/screenorientation/Core/screenorientation.js b/examples/declarative/screenorientation/Core/screenorientation.js index f0a5574..68aedd4 100644 --- a/examples/declarative/screenorientation/Core/screenorientation.js +++ b/examples/declarative/screenorientation/Core/screenorientation.js @@ -4,7 +4,7 @@ ** All rights reserved. ** Contact: Nokia Corporation (qt-info@nokia.com) ** -** This file is part of the QtDeclarative module of the Qt Toolkit. +** This file is part of the examples of the Qt Toolkit. ** ** $QT_BEGIN_LICENSE:LGPL$ ** No Commercial Usage diff --git a/examples/declarative/screenorientation/screenorientation.qml b/examples/declarative/screenorientation/screenorientation.qml index 6af38bb..4387266 100644 --- a/examples/declarative/screenorientation/screenorientation.qml +++ b/examples/declarative/screenorientation/screenorientation.qml @@ -4,7 +4,7 @@ ** All rights reserved. ** Contact: Nokia Corporation (qt-info@nokia.com) ** -** This file is part of the QtDeclarative module of the Qt Toolkit. +** This file is part of the examples of the Qt Toolkit. ** ** $QT_BEGIN_LICENSE:LGPL$ ** No Commercial Usage diff --git a/examples/declarative/sqllocalstorage/hello.qml b/examples/declarative/sqllocalstorage/hello.qml index 19b7378..cbfc14a 100644 --- a/examples/declarative/sqllocalstorage/hello.qml +++ b/examples/declarative/sqllocalstorage/hello.qml @@ -4,7 +4,7 @@ ** All rights reserved. ** Contact: Nokia Corporation (qt-info@nokia.com) ** -** This file is part of the QtDeclarative module of the Qt Toolkit. +** This file is part of the examples of the Qt Toolkit. ** ** $QT_BEGIN_LICENSE:BSD$ ** You may use this file under the terms of the BSD license as follows: diff --git a/examples/declarative/text/fonts/availableFonts.qml b/examples/declarative/text/fonts/availableFonts.qml index 19bf59c..312bc38 100644 --- a/examples/declarative/text/fonts/availableFonts.qml +++ b/examples/declarative/text/fonts/availableFonts.qml @@ -4,7 +4,7 @@ ** All rights reserved. ** Contact: Nokia Corporation (qt-info@nokia.com) ** -** This file is part of the QtDeclarative module of the Qt Toolkit. +** This file is part of the examples of the Qt Toolkit. ** ** $QT_BEGIN_LICENSE:BSD$ ** You may use this file under the terms of the BSD license as follows: diff --git a/examples/declarative/text/fonts/banner.qml b/examples/declarative/text/fonts/banner.qml index c4b2719..41bc997 100644 --- a/examples/declarative/text/fonts/banner.qml +++ b/examples/declarative/text/fonts/banner.qml @@ -4,7 +4,7 @@ ** All rights reserved. ** Contact: Nokia Corporation (qt-info@nokia.com) ** -** This file is part of the QtDeclarative module of the Qt Toolkit. +** This file is part of the examples of the Qt Toolkit. ** ** $QT_BEGIN_LICENSE:BSD$ ** You may use this file under the terms of the BSD license as follows: diff --git a/examples/declarative/text/fonts/fonts.qml b/examples/declarative/text/fonts/fonts.qml index 8ed39a9..743ee79 100644 --- a/examples/declarative/text/fonts/fonts.qml +++ b/examples/declarative/text/fonts/fonts.qml @@ -4,7 +4,7 @@ ** All rights reserved. ** Contact: Nokia Corporation (qt-info@nokia.com) ** -** This file is part of the QtDeclarative module of the Qt Toolkit. +** This file is part of the examples of the Qt Toolkit. ** ** $QT_BEGIN_LICENSE:BSD$ ** You may use this file under the terms of the BSD license as follows: diff --git a/examples/declarative/text/fonts/hello.qml b/examples/declarative/text/fonts/hello.qml index 8881108..a396ff3 100644 --- a/examples/declarative/text/fonts/hello.qml +++ b/examples/declarative/text/fonts/hello.qml @@ -4,7 +4,7 @@ ** All rights reserved. ** Contact: Nokia Corporation (qt-info@nokia.com) ** -** This file is part of the QtDeclarative module of the Qt Toolkit. +** This file is part of the examples of the Qt Toolkit. ** ** $QT_BEGIN_LICENSE:BSD$ ** You may use this file under the terms of the BSD license as follows: diff --git a/examples/declarative/text/textselection/textselection.qml b/examples/declarative/text/textselection/textselection.qml index 1ba3e18..aa958e6 100644 --- a/examples/declarative/text/textselection/textselection.qml +++ b/examples/declarative/text/textselection/textselection.qml @@ -4,7 +4,7 @@ ** All rights reserved. ** Contact: Nokia Corporation (qt-info@nokia.com) ** -** This file is part of the QtDeclarative module of the Qt Toolkit. +** This file is part of the examples of the Qt Toolkit. ** ** $QT_BEGIN_LICENSE:LGPL$ ** No Commercial Usage diff --git a/examples/declarative/threading/threadedlistmodel/dataloader.js b/examples/declarative/threading/threadedlistmodel/dataloader.js index d720f09..f3d0a2f 100644 --- a/examples/declarative/threading/threadedlistmodel/dataloader.js +++ b/examples/declarative/threading/threadedlistmodel/dataloader.js @@ -1,3 +1,43 @@ +/**************************************************************************** +** +** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies). +** All rights reserved. +** Contact: Nokia Corporation (qt-info@nokia.com) +** +** This file is part of the examples of the Qt Toolkit. +** +** $QT_BEGIN_LICENSE:BSD$ +** You may use this file under the terms of the BSD license as follows: +** +** "Redistribution and use in source and binary forms, with or without +** modification, are permitted provided that the following conditions are +** met: +** * Redistributions of source code must retain the above copyright +** notice, this list of conditions and the following disclaimer. +** * Redistributions in binary form must reproduce the above copyright +** notice, this list of conditions and the following disclaimer in +** the documentation and/or other materials provided with the +** distribution. +** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor +** the names of its contributors may be used to endorse or promote +** products derived from this software without specific prior written +** permission. +** +** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE." +** $QT_END_LICENSE$ +** +****************************************************************************/ + // ![0] WorkerScript.onMessage = function(msg) { if (msg.action == 'appendCurrentTime') { diff --git a/examples/declarative/threading/threadedlistmodel/threadedlistmodel.qmlproject b/examples/declarative/threading/threadedlistmodel/threadedlistmodel.qmlproject index d4909f8..de3bf1d 100644 --- a/examples/declarative/threading/threadedlistmodel/threadedlistmodel.qmlproject +++ b/examples/declarative/threading/threadedlistmodel/threadedlistmodel.qmlproject @@ -1,3 +1,43 @@ +/**************************************************************************** +** +** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies). +** All rights reserved. +** Contact: Nokia Corporation (qt-info@nokia.com) +** +** This file is part of the examples of the Qt Toolkit. +** +** $QT_BEGIN_LICENSE:BSD$ +** You may use this file under the terms of the BSD license as follows: +** +** "Redistribution and use in source and binary forms, with or without +** modification, are permitted provided that the following conditions are +** met: +** * Redistributions of source code must retain the above copyright +** notice, this list of conditions and the following disclaimer. +** * Redistributions in binary form must reproduce the above copyright +** notice, this list of conditions and the following disclaimer in +** the documentation and/or other materials provided with the +** distribution. +** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor +** the names of its contributors may be used to endorse or promote +** products derived from this software without specific prior written +** permission. +** +** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE." +** $QT_END_LICENSE$ +** +****************************************************************************/ + import QmlProject 1.0 Project { diff --git a/examples/declarative/threading/threadedlistmodel/timedisplay.qml b/examples/declarative/threading/threadedlistmodel/timedisplay.qml index d807955..b1cce05 100644 --- a/examples/declarative/threading/threadedlistmodel/timedisplay.qml +++ b/examples/declarative/threading/threadedlistmodel/timedisplay.qml @@ -4,7 +4,7 @@ ** All rights reserved. ** Contact: Nokia Corporation (qt-info@nokia.com) ** -** This file is part of the QtDeclarative module of the Qt Toolkit. +** This file is part of the examples of the Qt Toolkit. ** ** $QT_BEGIN_LICENSE:BSD$ ** You may use this file under the terms of the BSD license as follows: diff --git a/examples/declarative/threading/workerscript/workerscript.qml b/examples/declarative/threading/workerscript/workerscript.qml index 8d986a3..e224bf1 100644 --- a/examples/declarative/threading/workerscript/workerscript.qml +++ b/examples/declarative/threading/workerscript/workerscript.qml @@ -4,7 +4,7 @@ ** All rights reserved. ** Contact: Nokia Corporation (qt-info@nokia.com) ** -** This file is part of the QtDeclarative module of the Qt Toolkit. +** This file is part of the examples of the Qt Toolkit. ** ** $QT_BEGIN_LICENSE:BSD$ ** You may use this file under the terms of the BSD license as follows: diff --git a/examples/declarative/touchinteraction/gestures/experimental-gestures.qml b/examples/declarative/touchinteraction/gestures/experimental-gestures.qml index 02a1973..500a909 100644 --- a/examples/declarative/touchinteraction/gestures/experimental-gestures.qml +++ b/examples/declarative/touchinteraction/gestures/experimental-gestures.qml @@ -4,7 +4,7 @@ ** All rights reserved. ** Contact: Nokia Corporation (qt-info@nokia.com) ** -** This file is part of the QtDeclarative module of the Qt Toolkit. +** This file is part of the examples of the Qt Toolkit. ** ** $QT_BEGIN_LICENSE:BSD$ ** You may use this file under the terms of the BSD license as follows: diff --git a/examples/declarative/touchinteraction/mousearea/mousearea-example.qml b/examples/declarative/touchinteraction/mousearea/mousearea-example.qml index 85ea2dc..492ffc6 100644 --- a/examples/declarative/touchinteraction/mousearea/mousearea-example.qml +++ b/examples/declarative/touchinteraction/mousearea/mousearea-example.qml @@ -4,7 +4,7 @@ ** All rights reserved. ** Contact: Nokia Corporation (qt-info@nokia.com) ** -** This file is part of the QtDeclarative module of the Qt Toolkit. +** This file is part of the examples of the Qt Toolkit. ** ** $QT_BEGIN_LICENSE:BSD$ ** You may use this file under the terms of the BSD license as follows: diff --git a/examples/declarative/toys/clocks/clocks.qml b/examples/declarative/toys/clocks/clocks.qml index 82a1dbf..9002fac 100644 --- a/examples/declarative/toys/clocks/clocks.qml +++ b/examples/declarative/toys/clocks/clocks.qml @@ -4,7 +4,7 @@ ** All rights reserved. ** Contact: Nokia Corporation (qt-info@nokia.com) ** -** This file is part of the QtDeclarative module of the Qt Toolkit. +** This file is part of the examples of the Qt Toolkit. ** ** $QT_BEGIN_LICENSE:BSD$ ** You may use this file under the terms of the BSD license as follows: diff --git a/examples/declarative/toys/clocks/content/Clock.qml b/examples/declarative/toys/clocks/content/Clock.qml index 765e8b8..9c732f9 100644 --- a/examples/declarative/toys/clocks/content/Clock.qml +++ b/examples/declarative/toys/clocks/content/Clock.qml @@ -4,7 +4,7 @@ ** All rights reserved. ** Contact: Nokia Corporation (qt-info@nokia.com) ** -** This file is part of the QtDeclarative module of the Qt Toolkit. +** This file is part of the examples of the Qt Toolkit. ** ** $QT_BEGIN_LICENSE:BSD$ ** You may use this file under the terms of the BSD license as follows: diff --git a/examples/declarative/toys/clocks/content/QuitButton.qml b/examples/declarative/toys/clocks/content/QuitButton.qml index 039694d..9dfe9bd 100644 --- a/examples/declarative/toys/clocks/content/QuitButton.qml +++ b/examples/declarative/toys/clocks/content/QuitButton.qml @@ -4,7 +4,7 @@ ** All rights reserved. ** Contact: Nokia Corporation (qt-info@nokia.com) ** -** This file is part of the QtDeclarative module of the Qt Toolkit. +** This file is part of the examples of the Qt Toolkit. ** ** $QT_BEGIN_LICENSE:BSD$ ** You may use this file under the terms of the BSD license as follows: diff --git a/examples/declarative/toys/corkboards/Day.qml b/examples/declarative/toys/corkboards/Day.qml index 9d1f3ae..f406f7b 100644 --- a/examples/declarative/toys/corkboards/Day.qml +++ b/examples/declarative/toys/corkboards/Day.qml @@ -4,7 +4,7 @@ ** All rights reserved. ** Contact: Nokia Corporation (qt-info@nokia.com) ** -** This file is part of the QtDeclarative module of the Qt Toolkit. +** This file is part of the examples of the Qt Toolkit. ** ** $QT_BEGIN_LICENSE:BSD$ ** You may use this file under the terms of the BSD license as follows: diff --git a/examples/declarative/toys/corkboards/corkboards.qml b/examples/declarative/toys/corkboards/corkboards.qml index a4679c9..9b764c9 100644 --- a/examples/declarative/toys/corkboards/corkboards.qml +++ b/examples/declarative/toys/corkboards/corkboards.qml @@ -4,7 +4,7 @@ ** All rights reserved. ** Contact: Nokia Corporation (qt-info@nokia.com) ** -** This file is part of the QtDeclarative module of the Qt Toolkit. +** This file is part of the examples of the Qt Toolkit. ** ** $QT_BEGIN_LICENSE:BSD$ ** You may use this file under the terms of the BSD license as follows: diff --git a/examples/declarative/toys/dynamicscene/dynamicscene.qml b/examples/declarative/toys/dynamicscene/dynamicscene.qml index d1055cd..ad18698 100644 --- a/examples/declarative/toys/dynamicscene/dynamicscene.qml +++ b/examples/declarative/toys/dynamicscene/dynamicscene.qml @@ -4,7 +4,7 @@ ** All rights reserved. ** Contact: Nokia Corporation (qt-info@nokia.com) ** -** This file is part of the QtDeclarative module of the Qt Toolkit. +** This file is part of the examples of the Qt Toolkit. ** ** $QT_BEGIN_LICENSE:BSD$ ** You may use this file under the terms of the BSD license as follows: diff --git a/examples/declarative/toys/dynamicscene/qml/Button.qml b/examples/declarative/toys/dynamicscene/qml/Button.qml index 7e51293..7bb0ddf 100644 --- a/examples/declarative/toys/dynamicscene/qml/Button.qml +++ b/examples/declarative/toys/dynamicscene/qml/Button.qml @@ -4,7 +4,7 @@ ** All rights reserved. ** Contact: Nokia Corporation (qt-info@nokia.com) ** -** This file is part of the QtDeclarative module of the Qt Toolkit. +** This file is part of the examples of the Qt Toolkit. ** ** $QT_BEGIN_LICENSE:BSD$ ** You may use this file under the terms of the BSD license as follows: diff --git a/examples/declarative/toys/dynamicscene/qml/GenericSceneItem.qml b/examples/declarative/toys/dynamicscene/qml/GenericSceneItem.qml index 7e090d8..fa976c1 100644 --- a/examples/declarative/toys/dynamicscene/qml/GenericSceneItem.qml +++ b/examples/declarative/toys/dynamicscene/qml/GenericSceneItem.qml @@ -4,7 +4,7 @@ ** All rights reserved. ** Contact: Nokia Corporation (qt-info@nokia.com) ** -** This file is part of the QtDeclarative module of the Qt Toolkit. +** This file is part of the examples of the Qt Toolkit. ** ** $QT_BEGIN_LICENSE:BSD$ ** You may use this file under the terms of the BSD license as follows: diff --git a/examples/declarative/toys/dynamicscene/qml/PaletteItem.qml b/examples/declarative/toys/dynamicscene/qml/PaletteItem.qml index 855a34b..1c31f71 100644 --- a/examples/declarative/toys/dynamicscene/qml/PaletteItem.qml +++ b/examples/declarative/toys/dynamicscene/qml/PaletteItem.qml @@ -4,7 +4,7 @@ ** All rights reserved. ** Contact: Nokia Corporation (qt-info@nokia.com) ** -** This file is part of the QtDeclarative module of the Qt Toolkit. +** This file is part of the examples of the Qt Toolkit. ** ** $QT_BEGIN_LICENSE:BSD$ ** You may use this file under the terms of the BSD license as follows: diff --git a/examples/declarative/toys/dynamicscene/qml/PerspectiveItem.qml b/examples/declarative/toys/dynamicscene/qml/PerspectiveItem.qml index aa5b06d..9b6f243 100644 --- a/examples/declarative/toys/dynamicscene/qml/PerspectiveItem.qml +++ b/examples/declarative/toys/dynamicscene/qml/PerspectiveItem.qml @@ -4,7 +4,7 @@ ** All rights reserved. ** Contact: Nokia Corporation (qt-info@nokia.com) ** -** This file is part of the QtDeclarative module of the Qt Toolkit. +** This file is part of the examples of the Qt Toolkit. ** ** $QT_BEGIN_LICENSE:BSD$ ** You may use this file under the terms of the BSD license as follows: diff --git a/examples/declarative/toys/dynamicscene/qml/Sun.qml b/examples/declarative/toys/dynamicscene/qml/Sun.qml index 4b2bcdb..eb24285 100644 --- a/examples/declarative/toys/dynamicscene/qml/Sun.qml +++ b/examples/declarative/toys/dynamicscene/qml/Sun.qml @@ -4,7 +4,7 @@ ** All rights reserved. ** Contact: Nokia Corporation (qt-info@nokia.com) ** -** This file is part of the QtDeclarative module of the Qt Toolkit. +** This file is part of the examples of the Qt Toolkit. ** ** $QT_BEGIN_LICENSE:BSD$ ** You may use this file under the terms of the BSD license as follows: diff --git a/examples/declarative/toys/tic-tac-toe/content/Button.qml b/examples/declarative/toys/tic-tac-toe/content/Button.qml index d0f387f..2d30a03 100644 --- a/examples/declarative/toys/tic-tac-toe/content/Button.qml +++ b/examples/declarative/toys/tic-tac-toe/content/Button.qml @@ -4,7 +4,7 @@ ** All rights reserved. ** Contact: Nokia Corporation (qt-info@nokia.com) ** -** This file is part of the QtDeclarative module of the Qt Toolkit. +** This file is part of the examples of the Qt Toolkit. ** ** $QT_BEGIN_LICENSE:BSD$ ** You may use this file under the terms of the BSD license as follows: diff --git a/examples/declarative/toys/tic-tac-toe/content/TicTac.qml b/examples/declarative/toys/tic-tac-toe/content/TicTac.qml index 36c9dae..0ca5350 100644 --- a/examples/declarative/toys/tic-tac-toe/content/TicTac.qml +++ b/examples/declarative/toys/tic-tac-toe/content/TicTac.qml @@ -4,7 +4,7 @@ ** All rights reserved. ** Contact: Nokia Corporation (qt-info@nokia.com) ** -** This file is part of the QtDeclarative module of the Qt Toolkit. +** This file is part of the examples of the Qt Toolkit. ** ** $QT_BEGIN_LICENSE:BSD$ ** You may use this file under the terms of the BSD license as follows: diff --git a/examples/declarative/toys/tic-tac-toe/tic-tac-toe.qml b/examples/declarative/toys/tic-tac-toe/tic-tac-toe.qml index 34c3130..12b0fda 100644 --- a/examples/declarative/toys/tic-tac-toe/tic-tac-toe.qml +++ b/examples/declarative/toys/tic-tac-toe/tic-tac-toe.qml @@ -4,7 +4,7 @@ ** All rights reserved. ** Contact: Nokia Corporation (qt-info@nokia.com) ** -** This file is part of the QtDeclarative module of the Qt Toolkit. +** This file is part of the examples of the Qt Toolkit. ** ** $QT_BEGIN_LICENSE:BSD$ ** You may use this file under the terms of the BSD license as follows: diff --git a/examples/declarative/toys/tvtennis/tvtennis.qml b/examples/declarative/toys/tvtennis/tvtennis.qml index 4080c87..53c95c0 100644 --- a/examples/declarative/toys/tvtennis/tvtennis.qml +++ b/examples/declarative/toys/tvtennis/tvtennis.qml @@ -4,7 +4,7 @@ ** All rights reserved. ** Contact: Nokia Corporation (qt-info@nokia.com) ** -** This file is part of the QtDeclarative module of the Qt Toolkit. +** This file is part of the examples of the Qt Toolkit. ** ** $QT_BEGIN_LICENSE:BSD$ ** You may use this file under the terms of the BSD license as follows: diff --git a/examples/declarative/tutorials/extending/chapter1-basics/app.qml b/examples/declarative/tutorials/extending/chapter1-basics/app.qml index ada088d..826bea9 100644 --- a/examples/declarative/tutorials/extending/chapter1-basics/app.qml +++ b/examples/declarative/tutorials/extending/chapter1-basics/app.qml @@ -4,7 +4,7 @@ ** All rights reserved. ** Contact: Nokia Corporation (qt-info@nokia.com) ** -** This file is part of the QtDeclarative module of the Qt Toolkit. +** This file is part of the examples of the Qt Toolkit. ** ** $QT_BEGIN_LICENSE:BSD$ ** You may use this file under the terms of the BSD license as follows: diff --git a/examples/declarative/tutorials/extending/chapter2-methods/app.qml b/examples/declarative/tutorials/extending/chapter2-methods/app.qml index 0b55f7c..50051b6 100644 --- a/examples/declarative/tutorials/extending/chapter2-methods/app.qml +++ b/examples/declarative/tutorials/extending/chapter2-methods/app.qml @@ -4,7 +4,7 @@ ** All rights reserved. ** Contact: Nokia Corporation (qt-info@nokia.com) ** -** This file is part of the QtDeclarative module of the Qt Toolkit. +** This file is part of the examples of the Qt Toolkit. ** ** $QT_BEGIN_LICENSE:BSD$ ** You may use this file under the terms of the BSD license as follows: diff --git a/examples/declarative/tutorials/extending/chapter3-bindings/app.qml b/examples/declarative/tutorials/extending/chapter3-bindings/app.qml index 2ff6ae1..e183b27 100644 --- a/examples/declarative/tutorials/extending/chapter3-bindings/app.qml +++ b/examples/declarative/tutorials/extending/chapter3-bindings/app.qml @@ -4,7 +4,7 @@ ** All rights reserved. ** Contact: Nokia Corporation (qt-info@nokia.com) ** -** This file is part of the QtDeclarative module of the Qt Toolkit. +** This file is part of the examples of the Qt Toolkit. ** ** $QT_BEGIN_LICENSE:BSD$ ** You may use this file under the terms of the BSD license as follows: diff --git a/examples/declarative/tutorials/extending/chapter4-customPropertyTypes/app.qml b/examples/declarative/tutorials/extending/chapter4-customPropertyTypes/app.qml index fcd3806..6e5d3b4 100644 --- a/examples/declarative/tutorials/extending/chapter4-customPropertyTypes/app.qml +++ b/examples/declarative/tutorials/extending/chapter4-customPropertyTypes/app.qml @@ -4,7 +4,7 @@ ** All rights reserved. ** Contact: Nokia Corporation (qt-info@nokia.com) ** -** This file is part of the QtDeclarative module of the Qt Toolkit. +** This file is part of the examples of the Qt Toolkit. ** ** $QT_BEGIN_LICENSE:BSD$ ** You may use this file under the terms of the BSD license as follows: diff --git a/examples/declarative/tutorials/extending/chapter5-listproperties/app.qml b/examples/declarative/tutorials/extending/chapter5-listproperties/app.qml index f759bc9..483332c 100644 --- a/examples/declarative/tutorials/extending/chapter5-listproperties/app.qml +++ b/examples/declarative/tutorials/extending/chapter5-listproperties/app.qml @@ -4,7 +4,7 @@ ** All rights reserved. ** Contact: Nokia Corporation (qt-info@nokia.com) ** -** This file is part of the QtDeclarative module of the Qt Toolkit. +** This file is part of the examples of the Qt Toolkit. ** ** $QT_BEGIN_LICENSE:BSD$ ** You may use this file under the terms of the BSD license as follows: diff --git a/examples/declarative/tutorials/extending/chapter6-plugins/app.qml b/examples/declarative/tutorials/extending/chapter6-plugins/app.qml index 38ceefa..097da7e 100644 --- a/examples/declarative/tutorials/extending/chapter6-plugins/app.qml +++ b/examples/declarative/tutorials/extending/chapter6-plugins/app.qml @@ -4,7 +4,7 @@ ** All rights reserved. ** Contact: Nokia Corporation (qt-info@nokia.com) ** -** This file is part of the QtDeclarative module of the Qt Toolkit. +** This file is part of the examples of the Qt Toolkit. ** ** $QT_BEGIN_LICENSE:BSD$ ** You may use this file under the terms of the BSD license as follows: diff --git a/examples/declarative/tutorials/helloworld/Cell.qml b/examples/declarative/tutorials/helloworld/Cell.qml index e070df0..e64aa7e 100644 --- a/examples/declarative/tutorials/helloworld/Cell.qml +++ b/examples/declarative/tutorials/helloworld/Cell.qml @@ -4,7 +4,7 @@ ** All rights reserved. ** Contact: Nokia Corporation (qt-info@nokia.com) ** -** This file is part of the QtDeclarative module of the Qt Toolkit. +** This file is part of the examples of the Qt Toolkit. ** ** $QT_BEGIN_LICENSE:BSD$ ** You may use this file under the terms of the BSD license as follows: diff --git a/examples/declarative/tutorials/helloworld/tutorial1.qml b/examples/declarative/tutorials/helloworld/tutorial1.qml index 21f340a..e6c4122 100644 --- a/examples/declarative/tutorials/helloworld/tutorial1.qml +++ b/examples/declarative/tutorials/helloworld/tutorial1.qml @@ -4,7 +4,7 @@ ** All rights reserved. ** Contact: Nokia Corporation (qt-info@nokia.com) ** -** This file is part of the QtDeclarative module of the Qt Toolkit. +** This file is part of the examples of the Qt Toolkit. ** ** $QT_BEGIN_LICENSE:BSD$ ** You may use this file under the terms of the BSD license as follows: diff --git a/examples/declarative/tutorials/helloworld/tutorial2.qml b/examples/declarative/tutorials/helloworld/tutorial2.qml index 3296f3c..1ffde57 100644 --- a/examples/declarative/tutorials/helloworld/tutorial2.qml +++ b/examples/declarative/tutorials/helloworld/tutorial2.qml @@ -4,7 +4,7 @@ ** All rights reserved. ** Contact: Nokia Corporation (qt-info@nokia.com) ** -** This file is part of the QtDeclarative module of the Qt Toolkit. +** This file is part of the examples of the Qt Toolkit. ** ** $QT_BEGIN_LICENSE:BSD$ ** You may use this file under the terms of the BSD license as follows: diff --git a/examples/declarative/tutorials/helloworld/tutorial3.qml b/examples/declarative/tutorials/helloworld/tutorial3.qml index d680975..af2d5d2 100644 --- a/examples/declarative/tutorials/helloworld/tutorial3.qml +++ b/examples/declarative/tutorials/helloworld/tutorial3.qml @@ -4,7 +4,7 @@ ** All rights reserved. ** Contact: Nokia Corporation (qt-info@nokia.com) ** -** This file is part of the QtDeclarative module of the Qt Toolkit. +** This file is part of the examples of the Qt Toolkit. ** ** $QT_BEGIN_LICENSE:BSD$ ** You may use this file under the terms of the BSD license as follows: diff --git a/examples/declarative/tutorials/samegame/samegame1/Block.qml b/examples/declarative/tutorials/samegame/samegame1/Block.qml index 56d8ecf..db1245d 100644 --- a/examples/declarative/tutorials/samegame/samegame1/Block.qml +++ b/examples/declarative/tutorials/samegame/samegame1/Block.qml @@ -4,7 +4,7 @@ ** All rights reserved. ** Contact: Nokia Corporation (qt-info@nokia.com) ** -** This file is part of the QtDeclarative module of the Qt Toolkit. +** This file is part of the examples of the Qt Toolkit. ** ** $QT_BEGIN_LICENSE:BSD$ ** You may use this file under the terms of the BSD license as follows: diff --git a/examples/declarative/tutorials/samegame/samegame1/Button.qml b/examples/declarative/tutorials/samegame/samegame1/Button.qml index 8f9b5bb..72b18bc 100644 --- a/examples/declarative/tutorials/samegame/samegame1/Button.qml +++ b/examples/declarative/tutorials/samegame/samegame1/Button.qml @@ -4,7 +4,7 @@ ** All rights reserved. ** Contact: Nokia Corporation (qt-info@nokia.com) ** -** This file is part of the QtDeclarative module of the Qt Toolkit. +** This file is part of the examples of the Qt Toolkit. ** ** $QT_BEGIN_LICENSE:BSD$ ** You may use this file under the terms of the BSD license as follows: diff --git a/examples/declarative/tutorials/samegame/samegame1/samegame.qml b/examples/declarative/tutorials/samegame/samegame1/samegame.qml index 68f8712..01396fa 100644 --- a/examples/declarative/tutorials/samegame/samegame1/samegame.qml +++ b/examples/declarative/tutorials/samegame/samegame1/samegame.qml @@ -4,7 +4,7 @@ ** All rights reserved. ** Contact: Nokia Corporation (qt-info@nokia.com) ** -** This file is part of the QtDeclarative module of the Qt Toolkit. +** This file is part of the examples of the Qt Toolkit. ** ** $QT_BEGIN_LICENSE:BSD$ ** You may use this file under the terms of the BSD license as follows: diff --git a/examples/declarative/tutorials/samegame/samegame2/Block.qml b/examples/declarative/tutorials/samegame/samegame2/Block.qml index a7a6eec..c271cf7 100644 --- a/examples/declarative/tutorials/samegame/samegame2/Block.qml +++ b/examples/declarative/tutorials/samegame/samegame2/Block.qml @@ -4,7 +4,7 @@ ** All rights reserved. ** Contact: Nokia Corporation (qt-info@nokia.com) ** -** This file is part of the QtDeclarative module of the Qt Toolkit. +** This file is part of the examples of the Qt Toolkit. ** ** $QT_BEGIN_LICENSE:BSD$ ** You may use this file under the terms of the BSD license as follows: diff --git a/examples/declarative/tutorials/samegame/samegame2/Button.qml b/examples/declarative/tutorials/samegame/samegame2/Button.qml index f8883c0..3bd3099 100644 --- a/examples/declarative/tutorials/samegame/samegame2/Button.qml +++ b/examples/declarative/tutorials/samegame/samegame2/Button.qml @@ -4,7 +4,7 @@ ** All rights reserved. ** Contact: Nokia Corporation (qt-info@nokia.com) ** -** This file is part of the QtDeclarative module of the Qt Toolkit. +** This file is part of the examples of the Qt Toolkit. ** ** $QT_BEGIN_LICENSE:BSD$ ** You may use this file under the terms of the BSD license as follows: diff --git a/examples/declarative/tutorials/samegame/samegame2/samegame.qml b/examples/declarative/tutorials/samegame/samegame2/samegame.qml index 492c914..ae1916e 100644 --- a/examples/declarative/tutorials/samegame/samegame2/samegame.qml +++ b/examples/declarative/tutorials/samegame/samegame2/samegame.qml @@ -4,7 +4,7 @@ ** All rights reserved. ** Contact: Nokia Corporation (qt-info@nokia.com) ** -** This file is part of the QtDeclarative module of the Qt Toolkit. +** This file is part of the examples of the Qt Toolkit. ** ** $QT_BEGIN_LICENSE:BSD$ ** You may use this file under the terms of the BSD license as follows: diff --git a/examples/declarative/tutorials/samegame/samegame3/Block.qml b/examples/declarative/tutorials/samegame/samegame3/Block.qml index ec41c64..673007e 100644 --- a/examples/declarative/tutorials/samegame/samegame3/Block.qml +++ b/examples/declarative/tutorials/samegame/samegame3/Block.qml @@ -4,7 +4,7 @@ ** All rights reserved. ** Contact: Nokia Corporation (qt-info@nokia.com) ** -** This file is part of the QtDeclarative module of the Qt Toolkit. +** This file is part of the examples of the Qt Toolkit. ** ** $QT_BEGIN_LICENSE:BSD$ ** You may use this file under the terms of the BSD license as follows: diff --git a/examples/declarative/tutorials/samegame/samegame3/Button.qml b/examples/declarative/tutorials/samegame/samegame3/Button.qml index f8883c0..3bd3099 100644 --- a/examples/declarative/tutorials/samegame/samegame3/Button.qml +++ b/examples/declarative/tutorials/samegame/samegame3/Button.qml @@ -4,7 +4,7 @@ ** All rights reserved. ** Contact: Nokia Corporation (qt-info@nokia.com) ** -** This file is part of the QtDeclarative module of the Qt Toolkit. +** This file is part of the examples of the Qt Toolkit. ** ** $QT_BEGIN_LICENSE:BSD$ ** You may use this file under the terms of the BSD license as follows: diff --git a/examples/declarative/tutorials/samegame/samegame3/Dialog.qml b/examples/declarative/tutorials/samegame/samegame3/Dialog.qml index d838205..ed17e5f 100644 --- a/examples/declarative/tutorials/samegame/samegame3/Dialog.qml +++ b/examples/declarative/tutorials/samegame/samegame3/Dialog.qml @@ -4,7 +4,7 @@ ** All rights reserved. ** Contact: Nokia Corporation (qt-info@nokia.com) ** -** This file is part of the QtDeclarative module of the Qt Toolkit. +** This file is part of the examples of the Qt Toolkit. ** ** $QT_BEGIN_LICENSE:BSD$ ** You may use this file under the terms of the BSD license as follows: diff --git a/examples/declarative/tutorials/samegame/samegame3/samegame.qml b/examples/declarative/tutorials/samegame/samegame3/samegame.qml index 21d4291..2c49adc 100644 --- a/examples/declarative/tutorials/samegame/samegame3/samegame.qml +++ b/examples/declarative/tutorials/samegame/samegame3/samegame.qml @@ -4,7 +4,7 @@ ** All rights reserved. ** Contact: Nokia Corporation (qt-info@nokia.com) ** -** This file is part of the QtDeclarative module of the Qt Toolkit. +** This file is part of the examples of the Qt Toolkit. ** ** $QT_BEGIN_LICENSE:BSD$ ** You may use this file under the terms of the BSD license as follows: diff --git a/examples/declarative/tutorials/samegame/samegame4/content/BoomBlock.qml b/examples/declarative/tutorials/samegame/samegame4/content/BoomBlock.qml index 92c607f..8e3ca96 100644 --- a/examples/declarative/tutorials/samegame/samegame4/content/BoomBlock.qml +++ b/examples/declarative/tutorials/samegame/samegame4/content/BoomBlock.qml @@ -4,7 +4,7 @@ ** All rights reserved. ** Contact: Nokia Corporation (qt-info@nokia.com) ** -** This file is part of the QtDeclarative module of the Qt Toolkit. +** This file is part of the examples of the Qt Toolkit. ** ** $QT_BEGIN_LICENSE:BSD$ ** You may use this file under the terms of the BSD license as follows: diff --git a/examples/declarative/tutorials/samegame/samegame4/content/Button.qml b/examples/declarative/tutorials/samegame/samegame4/content/Button.qml index f8883c0..3bd3099 100644 --- a/examples/declarative/tutorials/samegame/samegame4/content/Button.qml +++ b/examples/declarative/tutorials/samegame/samegame4/content/Button.qml @@ -4,7 +4,7 @@ ** All rights reserved. ** Contact: Nokia Corporation (qt-info@nokia.com) ** -** This file is part of the QtDeclarative module of the Qt Toolkit. +** This file is part of the examples of the Qt Toolkit. ** ** $QT_BEGIN_LICENSE:BSD$ ** You may use this file under the terms of the BSD license as follows: diff --git a/examples/declarative/tutorials/samegame/samegame4/content/Dialog.qml b/examples/declarative/tutorials/samegame/samegame4/content/Dialog.qml index c216c08..5c81929 100644 --- a/examples/declarative/tutorials/samegame/samegame4/content/Dialog.qml +++ b/examples/declarative/tutorials/samegame/samegame4/content/Dialog.qml @@ -4,7 +4,7 @@ ** All rights reserved. ** Contact: Nokia Corporation (qt-info@nokia.com) ** -** This file is part of the QtDeclarative module of the Qt Toolkit. +** This file is part of the examples of the Qt Toolkit. ** ** $QT_BEGIN_LICENSE:BSD$ ** You may use this file under the terms of the BSD license as follows: diff --git a/examples/declarative/tutorials/samegame/samegame4/samegame.qml b/examples/declarative/tutorials/samegame/samegame4/samegame.qml index c66f1fe..4fec71b 100644 --- a/examples/declarative/tutorials/samegame/samegame4/samegame.qml +++ b/examples/declarative/tutorials/samegame/samegame4/samegame.qml @@ -4,7 +4,7 @@ ** All rights reserved. ** Contact: Nokia Corporation (qt-info@nokia.com) ** -** This file is part of the QtDeclarative module of the Qt Toolkit. +** This file is part of the examples of the Qt Toolkit. ** ** $QT_BEGIN_LICENSE:BSD$ ** You may use this file under the terms of the BSD license as follows: diff --git a/examples/declarative/ui-components/dialcontrol/content/Dial.qml b/examples/declarative/ui-components/dialcontrol/content/Dial.qml index 3ffa09a..ed1b04d 100644 --- a/examples/declarative/ui-components/dialcontrol/content/Dial.qml +++ b/examples/declarative/ui-components/dialcontrol/content/Dial.qml @@ -4,7 +4,7 @@ ** All rights reserved. ** Contact: Nokia Corporation (qt-info@nokia.com) ** -** This file is part of the QtDeclarative module of the Qt Toolkit. +** This file is part of the examples of the Qt Toolkit. ** ** $QT_BEGIN_LICENSE:BSD$ ** You may use this file under the terms of the BSD license as follows: diff --git a/examples/declarative/ui-components/dialcontrol/content/QuitButton.qml b/examples/declarative/ui-components/dialcontrol/content/QuitButton.qml index 039694d..9dfe9bd 100644 --- a/examples/declarative/ui-components/dialcontrol/content/QuitButton.qml +++ b/examples/declarative/ui-components/dialcontrol/content/QuitButton.qml @@ -4,7 +4,7 @@ ** All rights reserved. ** Contact: Nokia Corporation (qt-info@nokia.com) ** -** This file is part of the QtDeclarative module of the Qt Toolkit. +** This file is part of the examples of the Qt Toolkit. ** ** $QT_BEGIN_LICENSE:BSD$ ** You may use this file under the terms of the BSD license as follows: diff --git a/examples/declarative/ui-components/dialcontrol/dialcontrol.qml b/examples/declarative/ui-components/dialcontrol/dialcontrol.qml index a7da5c6..56de2f6 100644 --- a/examples/declarative/ui-components/dialcontrol/dialcontrol.qml +++ b/examples/declarative/ui-components/dialcontrol/dialcontrol.qml @@ -4,7 +4,7 @@ ** All rights reserved. ** Contact: Nokia Corporation (qt-info@nokia.com) ** -** This file is part of the QtDeclarative module of the Qt Toolkit. +** This file is part of the examples of the Qt Toolkit. ** ** $QT_BEGIN_LICENSE:BSD$ ** You may use this file under the terms of the BSD license as follows: diff --git a/examples/declarative/ui-components/flipable/content/Card.qml b/examples/declarative/ui-components/flipable/content/Card.qml index fc60ce4..d22fa7d 100644 --- a/examples/declarative/ui-components/flipable/content/Card.qml +++ b/examples/declarative/ui-components/flipable/content/Card.qml @@ -4,7 +4,7 @@ ** All rights reserved. ** Contact: Nokia Corporation (qt-info@nokia.com) ** -** This file is part of the QtDeclarative module of the Qt Toolkit. +** This file is part of the examples of the Qt Toolkit. ** ** $QT_BEGIN_LICENSE:BSD$ ** You may use this file under the terms of the BSD license as follows: diff --git a/examples/declarative/ui-components/flipable/flipable.qml b/examples/declarative/ui-components/flipable/flipable.qml index 479e35b..0f775e5 100644 --- a/examples/declarative/ui-components/flipable/flipable.qml +++ b/examples/declarative/ui-components/flipable/flipable.qml @@ -4,7 +4,7 @@ ** All rights reserved. ** Contact: Nokia Corporation (qt-info@nokia.com) ** -** This file is part of the QtDeclarative module of the Qt Toolkit. +** This file is part of the examples of the Qt Toolkit. ** ** $QT_BEGIN_LICENSE:BSD$ ** You may use this file under the terms of the BSD license as follows: diff --git a/examples/declarative/ui-components/progressbar/content/ProgressBar.qml b/examples/declarative/ui-components/progressbar/content/ProgressBar.qml index 6aa6765..f830f95 100644 --- a/examples/declarative/ui-components/progressbar/content/ProgressBar.qml +++ b/examples/declarative/ui-components/progressbar/content/ProgressBar.qml @@ -4,7 +4,7 @@ ** All rights reserved. ** Contact: Nokia Corporation (qt-info@nokia.com) ** -** This file is part of the QtDeclarative module of the Qt Toolkit. +** This file is part of the examples of the Qt Toolkit. ** ** $QT_BEGIN_LICENSE:BSD$ ** You may use this file under the terms of the BSD license as follows: diff --git a/examples/declarative/ui-components/progressbar/main.qml b/examples/declarative/ui-components/progressbar/main.qml index 22f8dbd..c92e586 100644 --- a/examples/declarative/ui-components/progressbar/main.qml +++ b/examples/declarative/ui-components/progressbar/main.qml @@ -4,7 +4,7 @@ ** All rights reserved. ** Contact: Nokia Corporation (qt-info@nokia.com) ** -** This file is part of the QtDeclarative module of the Qt Toolkit. +** This file is part of the examples of the Qt Toolkit. ** ** $QT_BEGIN_LICENSE:BSD$ ** You may use this file under the terms of the BSD license as follows: diff --git a/examples/declarative/ui-components/scrollbar/ScrollBar.qml b/examples/declarative/ui-components/scrollbar/ScrollBar.qml index 9927ecb..ee8e9fa 100644 --- a/examples/declarative/ui-components/scrollbar/ScrollBar.qml +++ b/examples/declarative/ui-components/scrollbar/ScrollBar.qml @@ -4,7 +4,7 @@ ** All rights reserved. ** Contact: Nokia Corporation (qt-info@nokia.com) ** -** This file is part of the QtDeclarative module of the Qt Toolkit. +** This file is part of the examples of the Qt Toolkit. ** ** $QT_BEGIN_LICENSE:BSD$ ** You may use this file under the terms of the BSD license as follows: diff --git a/examples/declarative/ui-components/scrollbar/main.qml b/examples/declarative/ui-components/scrollbar/main.qml index 8f5033b..930c3b8 100644 --- a/examples/declarative/ui-components/scrollbar/main.qml +++ b/examples/declarative/ui-components/scrollbar/main.qml @@ -4,7 +4,7 @@ ** All rights reserved. ** Contact: Nokia Corporation (qt-info@nokia.com) ** -** This file is part of the QtDeclarative module of the Qt Toolkit. +** This file is part of the examples of the Qt Toolkit. ** ** $QT_BEGIN_LICENSE:BSD$ ** You may use this file under the terms of the BSD license as follows: diff --git a/examples/declarative/ui-components/searchbox/SearchBox.qml b/examples/declarative/ui-components/searchbox/SearchBox.qml index 8ef21b3..60fa799 100644 --- a/examples/declarative/ui-components/searchbox/SearchBox.qml +++ b/examples/declarative/ui-components/searchbox/SearchBox.qml @@ -4,7 +4,7 @@ ** All rights reserved. ** Contact: Nokia Corporation (qt-info@nokia.com) ** -** This file is part of the QtDeclarative module of the Qt Toolkit. +** This file is part of the examples of the Qt Toolkit. ** ** $QT_BEGIN_LICENSE:BSD$ ** You may use this file under the terms of the BSD license as follows: diff --git a/examples/declarative/ui-components/searchbox/main.qml b/examples/declarative/ui-components/searchbox/main.qml index bf3bed8..513c298 100644 --- a/examples/declarative/ui-components/searchbox/main.qml +++ b/examples/declarative/ui-components/searchbox/main.qml @@ -4,7 +4,7 @@ ** All rights reserved. ** Contact: Nokia Corporation (qt-info@nokia.com) ** -** This file is part of the QtDeclarative module of the Qt Toolkit. +** This file is part of the examples of the Qt Toolkit. ** ** $QT_BEGIN_LICENSE:BSD$ ** You may use this file under the terms of the BSD license as follows: diff --git a/examples/declarative/ui-components/slideswitch/content/Switch.qml b/examples/declarative/ui-components/slideswitch/content/Switch.qml index 2a89177..9632fd6 100644 --- a/examples/declarative/ui-components/slideswitch/content/Switch.qml +++ b/examples/declarative/ui-components/slideswitch/content/Switch.qml @@ -4,7 +4,7 @@ ** All rights reserved. ** Contact: Nokia Corporation (qt-info@nokia.com) ** -** This file is part of the QtDeclarative module of the Qt Toolkit. +** This file is part of the examples of the Qt Toolkit. ** ** $QT_BEGIN_LICENSE:BSD$ ** You may use this file under the terms of the BSD license as follows: diff --git a/examples/declarative/ui-components/slideswitch/slideswitch.qml b/examples/declarative/ui-components/slideswitch/slideswitch.qml index e94ebfe..a0a0eb2 100644 --- a/examples/declarative/ui-components/slideswitch/slideswitch.qml +++ b/examples/declarative/ui-components/slideswitch/slideswitch.qml @@ -4,7 +4,7 @@ ** All rights reserved. ** Contact: Nokia Corporation (qt-info@nokia.com) ** -** This file is part of the QtDeclarative module of the Qt Toolkit. +** This file is part of the examples of the Qt Toolkit. ** ** $QT_BEGIN_LICENSE:BSD$ ** You may use this file under the terms of the BSD license as follows: diff --git a/examples/declarative/ui-components/spinner/content/Spinner.qml b/examples/declarative/ui-components/spinner/content/Spinner.qml index 1c41239..910efb9 100644 --- a/examples/declarative/ui-components/spinner/content/Spinner.qml +++ b/examples/declarative/ui-components/spinner/content/Spinner.qml @@ -4,7 +4,7 @@ ** All rights reserved. ** Contact: Nokia Corporation (qt-info@nokia.com) ** -** This file is part of the QtDeclarative module of the Qt Toolkit. +** This file is part of the examples of the Qt Toolkit. ** ** $QT_BEGIN_LICENSE:BSD$ ** You may use this file under the terms of the BSD license as follows: diff --git a/examples/declarative/ui-components/spinner/main.qml b/examples/declarative/ui-components/spinner/main.qml index 37dd912..a196e72 100644 --- a/examples/declarative/ui-components/spinner/main.qml +++ b/examples/declarative/ui-components/spinner/main.qml @@ -4,7 +4,7 @@ ** All rights reserved. ** Contact: Nokia Corporation (qt-info@nokia.com) ** -** This file is part of the QtDeclarative module of the Qt Toolkit. +** This file is part of the examples of the Qt Toolkit. ** ** $QT_BEGIN_LICENSE:BSD$ ** You may use this file under the terms of the BSD license as follows: diff --git a/examples/declarative/ui-components/tabwidget/TabWidget.qml b/examples/declarative/ui-components/tabwidget/TabWidget.qml index ce57213..30eba68 100644 --- a/examples/declarative/ui-components/tabwidget/TabWidget.qml +++ b/examples/declarative/ui-components/tabwidget/TabWidget.qml @@ -4,7 +4,7 @@ ** All rights reserved. ** Contact: Nokia Corporation (qt-info@nokia.com) ** -** This file is part of the QtDeclarative module of the Qt Toolkit. +** This file is part of the examples of the Qt Toolkit. ** ** $QT_BEGIN_LICENSE:BSD$ ** You may use this file under the terms of the BSD license as follows: diff --git a/examples/declarative/ui-components/tabwidget/main.qml b/examples/declarative/ui-components/tabwidget/main.qml index 4a27806..b9ca2a1 100644 --- a/examples/declarative/ui-components/tabwidget/main.qml +++ b/examples/declarative/ui-components/tabwidget/main.qml @@ -4,7 +4,7 @@ ** All rights reserved. ** Contact: Nokia Corporation (qt-info@nokia.com) ** -** This file is part of the QtDeclarative module of the Qt Toolkit. +** This file is part of the examples of the Qt Toolkit. ** ** $QT_BEGIN_LICENSE:BSD$ ** You may use this file under the terms of the BSD license as follows: diff --git a/examples/declarative/xml/xmlhttprequest/xmlhttprequest-example.qml b/examples/declarative/xml/xmlhttprequest/xmlhttprequest-example.qml index b302729..f77e1de 100644 --- a/examples/declarative/xml/xmlhttprequest/xmlhttprequest-example.qml +++ b/examples/declarative/xml/xmlhttprequest/xmlhttprequest-example.qml @@ -4,7 +4,7 @@ ** All rights reserved. ** Contact: Nokia Corporation (qt-info@nokia.com) ** -** This file is part of the QtDeclarative module of the Qt Toolkit. +** This file is part of the examples of the Qt Toolkit. ** ** $QT_BEGIN_LICENSE:BSD$ ** You may use this file under the terms of the BSD license as follows: -- cgit v0.12 From 548155fec3a8b575215625d4fd767e63c20f6b84 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bj=C3=B8rn=20Erik=20Nilsen?= Date: Mon, 13 Sep 2010 14:23:04 +0200 Subject: Assertion calledEmitUpdated fails in QGraphicsScene. Problem was that the 'updateAll' boolean was reset to 'false' when it really should have been unchanged. This happened when rendering the scene from outside the view's paint event (i.e. from QGraphicsView/Scene::render). We only want to reset 'updateAll' when triggering drawItems() from QGraphicsView::paintEvent, i.e. when the 'view' pointer != 0. Broke after commit: dda8a57c. Auto test included. Task-number: QT-3674 --- src/gui/graphicsview/qgraphicsscene.cpp | 2 +- tests/auto/qgraphicsscene/tst_qgraphicsscene.cpp | 20 ++++++++++++++++++++ 2 files changed, 21 insertions(+), 1 deletion(-) diff --git a/src/gui/graphicsview/qgraphicsscene.cpp b/src/gui/graphicsview/qgraphicsscene.cpp index 539685a..36a24db 100644 --- a/src/gui/graphicsview/qgraphicsscene.cpp +++ b/src/gui/graphicsview/qgraphicsscene.cpp @@ -5270,7 +5270,6 @@ void QGraphicsScene::drawItems(QPainter *painter, if (!d->unpolishedItems.isEmpty()) d->_q_polishItems(); - d->updateAll = false; QTransform viewTransform = painter->worldTransform(); Q_UNUSED(options); @@ -5279,6 +5278,7 @@ void QGraphicsScene::drawItems(QPainter *painter, QRegion *expose = 0; const quint32 oldRectAdjust = d->rectAdjust; if (view) { + d->updateAll = false; expose = &view->d_func()->exposedRegion; if (view->d_func()->optimizationFlags & QGraphicsView::DontAdjustForAntialiasing) d->rectAdjust = 1; diff --git a/tests/auto/qgraphicsscene/tst_qgraphicsscene.cpp b/tests/auto/qgraphicsscene/tst_qgraphicsscene.cpp index c145623..b8e729e 100644 --- a/tests/auto/qgraphicsscene/tst_qgraphicsscene.cpp +++ b/tests/auto/qgraphicsscene/tst_qgraphicsscene.cpp @@ -287,6 +287,7 @@ private slots: void taskQTBUG_5904_crashWithDeviceCoordinateCache(); void taskQT657_paintIntoCacheWithTransparentParts(); void taskQTBUG_7863_paintIntoCacheWithTransparentParts(); + void taskQT_3674_doNotCrash(); }; void tst_QGraphicsScene::initTestCase() @@ -4565,6 +4566,25 @@ void tst_QGraphicsScene::taskQTBUG_7863_paintIntoCacheWithTransparentParts() } } +void tst_QGraphicsScene::taskQT_3674_doNotCrash() +{ + QGraphicsScene scene; + + QGraphicsView view(&scene); + view.resize(200, 200); + + QPixmap pixmap(view.size()); + QPainter painter(&pixmap); + view.render(&painter); + painter.end(); + + scene.addItem(new QGraphicsWidget); + scene.setBackgroundBrush(Qt::green); + + QApplication::processEvents(); + QApplication::processEvents(); +} + void tst_QGraphicsScene::zeroScale() { //should not crash -- cgit v0.12 From 245653f469baa0227c0b07fd6a232629ed53e9ee Mon Sep 17 00:00:00 2001 From: David Boddie Date: Mon, 13 Sep 2010 15:31:44 +0200 Subject: Doc: Added a missing file. --- doc/src/declarative/positioners.qdoc | 193 +++++++++++++++++++++++++++++++++++ 1 file changed, 193 insertions(+) create mode 100644 doc/src/declarative/positioners.qdoc diff --git a/doc/src/declarative/positioners.qdoc b/doc/src/declarative/positioners.qdoc new file mode 100644 index 0000000..8c9b8b7 --- /dev/null +++ b/doc/src/declarative/positioners.qdoc @@ -0,0 +1,193 @@ +/**************************************************************************** +** +** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies). +** All rights reserved. +** Contact: Nokia Corporation (qt-info@nokia.com) +** +** This file is part of the documentation of the Qt Toolkit. +** +** $QT_BEGIN_LICENSE:FDL$ +** Commercial Usage +** Licensees holding valid Qt Commercial licenses may use this file in +** accordance with the Qt Commercial License Agreement provided with the +** Software or, alternatively, in accordance with the terms contained in a +** written agreement between you and Nokia. +** +** GNU Free Documentation License +** Alternatively, this file may be used under the terms of the GNU Free +** Documentation License version 1.3 as published by the Free Software +** Foundation and appearing in the file included in the packaging of this +** file. +** +** If you have questions regarding the use of this file, please contact +** Nokia at qt-info@nokia.com. +** $QT_END_LICENSE$ +** +****************************************************************************/ + +/*! +\page qml-positioners.html +\title Using QML Positioner and Repeater Items + +\section1 Introduction + +Positioner items are container items that manage the positions and sizes of +items in a declarative user interface. Positioners behave in a similar way to +the \l{Widgets and Layouts}{layout managers} used with standard Qt widgets, +except that they are also containers in their own right. + +Positioners and repeaters make it easier to work with many items when they need +to be arranged in a regular layout. + +\section1 Positioners + +A set of standard positioners are provided in the basic set of Qt Quick +graphical elements: + +\list +\o \l{#Column}{Column} arranges its children in a column +\o \l{#Row}{Row} arranges its children in a row +\o \l{#Grid}{Grid} arranges its children in a grid +\o \l{#Flow}{Flow} arranges its children like words on a page +\endlist + +\section2 Column + +\beginfloatright +\image qml-column.png +\endfloat + +\l Column items are used to vertically arrange items. The following example +uses a Column item to arrange three \l Rectangle items in an area defined +by an outer \l Item. The \l{Column::spacing}{spacing} property is set to +include a small amount of space between the rectangles. + +\clearfloat +\snippet doc/src/snippets/declarative/column/column.qml document + +Note that, since Column inherits directly from Item, any background color +must be added to a parent Rectangle, if desired. + +\section2 Row + +\beginfloatright +\image qml-row.png +\endfloat + +\l Row items are used to horizontally arrange items. The following example +uses a Row item to arrange three rounded \l Rectangle items in an area defined +by an outer colored Rectangle. The \l{Row::spacing}{spacing} property is set to +include a small amount of space between the rectangles. + +We ensure that the parent Rectangle is large enough so that there is some space +left around the edges of the horizontally centered Row item. + +\clearfloat +\snippet doc/src/snippets/declarative/row.qml document + +\section2 Grid + +\beginfloatright +\image qml-grid-spacing.png +\endfloat + +\l Grid items are used to place items in a grid or table arrangement. +The following example uses a Grid item to place four \l Rectangle items +in a 2-by-2 grid. As with the other positioners, the spacing between items +can be specified using the \l{Grid::spacing}{spacing} property. + +\clearfloat +\snippet doc/src/snippets/declarative/grid/grid-spacing.qml document + +There is no difference between horizontal and vertical spacing inserted +between items, so any additional space must be added within the items +themselves. + +Any empty cells in the grid must be created by defining placeholder items +at the appropriate places in the Grid definition. + +\section2 Flow + +\beginfloatright +\image qml-flow-text1.png +\image qml-flow-text2.png +\endfloat + +\l Flow items are used to place items like words on a page, with rows or +columns of non-overlapping items. + +Flow items arrange items in a similar way to \l Grid items, with items +arranged in lines along one axis (the minor axis), and lines of items +placed next to each other along another axis (the major axis). The +direction of flow, as well as the spacing between items, are controlled +by the \l{Flow::}{flow} and \l{Flow::}{spacing} properties. + +The following example shows a Flow item containing a number of \l Text +child items. These are arranged in a similar way to those shown in the +screenshots. + +\clearfloat +\snippet doc/src/snippets/declarative/flow.qml document + +The main differences between the Grid and Flow positioners are that items +inside a Flow will wrap when they run out of space on the minor axis, and +items on one line may not be aligned with items on another line if the +items do not have uniform sizes. As with Grid items, there is no independent +control of spacing between items and between lines of items. + +\section1 Repeaters + +\beginfloatright +\image qml-repeater-grid-index.png +\endfloat + +Repeaters create items from a template for use with positioners, using data +from a model. Combining repeaters and positioners is an easy way to lay out +lots of items. A \l Repeater item is placed inside a positioner, and generates +items that the enclosing positioner arranges. + +Each Repeater creates a number of items by combining each element of data +from a model, specified using the \l{Repeater::model}{model} property, with +the template item, defined as a child item within the Repeater. +The total number of items is determined by the amount of data in the model. + +The following example shows a repeater used with a \l{#Grid}{Grid} item to +arrange a set of Rectangle items. The Repeater item creates a series of 24 +rectangles for the Grid item to position in a 5 by 5 arrangement. + +\clearfloat +\snippet doc/src/snippets/declarative/repeaters/repeater-grid-index.qml document + +The number of items created by a Repeater is held by its \l{Repeater::}{count} +property. It is not possible to set this property to determine the number of +items to be created. Instead, as in the above example, we use an integer as +the model. This is explained in the \l{QML Data Models#An Integer}{QML Data Models} +document. + +It is also possible to use a delegate as the template for the items created +by a Repeater. This is specified using the \l{Repeater::}{delegate} property. + +\section1 Using Transitions + +Transitions can be used to animate items that are added to, moved within, +or removed from a positioner. + +Transitions for adding items apply to items that are created as part of a +positioner, as well as those that are reparented to become children of a +positioner. +Transitions for removing items apply to items within a positioner that are +deleted, as well as those that are removed from a positioner and given new +parents in a document. + +Additionally, changing the opacity of items to zero will cause them to +disappear using the remove transition, and making the opacity non-zero will +cause them to appear using the add transition. + +\section1 Other Ways to Position Items + +There are several other ways to position items in a user interface. In addition +to the basic technique of specifying their coordinates directly, they can be +positioned relative to other items with \l{anchor-layout}{anchors}, or used +with \l{QML Data Models} such as +\l{QML Data Models#VisualItemModel}{VisualItemModel}. +*/ -- cgit v0.12 From f1244a099ecc806582ce8c2488552e21c85ac519 Mon Sep 17 00:00:00 2001 From: David Boddie Date: Mon, 13 Sep 2010 15:41:55 +0200 Subject: Doc: Some editing and tidying up. --- doc/src/declarative/declarativeui.qdoc | 1 - doc/src/declarative/qtdeclarative.qdoc | 5 +- doc/src/getting-started/gettingstartedqml.qdoc | 54 +++------------------- .../tutorials/gettingStarted/gsQml/texteditor.qml | 4 ++ 4 files changed, 13 insertions(+), 51 deletions(-) diff --git a/doc/src/declarative/declarativeui.qdoc b/doc/src/declarative/declarativeui.qdoc index 2f43682..cb326a3 100644 --- a/doc/src/declarative/declarativeui.qdoc +++ b/doc/src/declarative/declarativeui.qdoc @@ -30,7 +30,6 @@ \page qtquick.html \ingroup qt-gui-concepts - \brief Qt Quick provides a declarative framework for building highly dynamic, custom user interfaces. diff --git a/doc/src/declarative/qtdeclarative.qdoc b/doc/src/declarative/qtdeclarative.qdoc index f163a66..044758f 100644 --- a/doc/src/declarative/qtdeclarative.qdoc +++ b/doc/src/declarative/qtdeclarative.qdoc @@ -63,10 +63,11 @@ \macro QML_DECLARE_TYPEINFO(Type,Flags) \relates QDeclarativeEngine - Declares additional properties of a type. + Declares additional properties of the given \a Type as described by the + specified \a Flags. Current the only supported type info is \c QML_HAS_ATTACHED_PROPERTIES which - declares that the \c Type supports \l {Attached Properties}. + declares that the \a Type supports \l {Attached Properties}. */ diff --git a/doc/src/getting-started/gettingstartedqml.qdoc b/doc/src/getting-started/gettingstartedqml.qdoc index 6cef316..1003eee 100644 --- a/doc/src/getting-started/gettingstartedqml.qdoc +++ b/doc/src/getting-started/gettingstartedqml.qdoc @@ -71,20 +71,7 @@ In QML, the basic visual item is the \l {Rectangle}{Rectangle} element. The \c Rectangle element has properties to control the element's appearance and location. - \code - import Qt 4.7 - Rectangle { - id: simplebutton - color: "grey" - width: 150; height: 75 - - Text{ - id: buttonLabel - anchors.centerIn: parent - text: "button label" - } - } - \endcode + \snippet examples/tutorials/gettingStarted/gsQml/part0/Button.qml document First, the \c { import Qt 4.7 } allows the qmlviewer tool to import the QML elements we will later use. This line must exist for every QML file. Notice that the version @@ -422,7 +409,7 @@ focus: true wrapMode: TextEdit.Wrap - + onCursorRectangleChanged: flickArea.ensureVisible(cursorRectangle) } \endcode @@ -446,7 +433,7 @@ contentY = r.y+r.height-height; } \endcode - + \section2 Combining Components for the Text Editor We are now ready to create the layout of our text editor using QML. The text @@ -464,7 +451,7 @@ //the screen is partitioned into the MenuBar and TextArea. 1/3 of the screen is assigned to the MenuBar property int partition: height/3 - + MenuBar{ id:menuBar height: partition @@ -543,27 +530,7 @@ the \c drawer, and the drawer's icon will undergo property changes to meet the current state. - \code - - states:[ - State{ - name: "DRAWER_OPEN" - PropertyChanges { target: menuBar; y:0} - PropertyChanges { target: textArea; y: partition + drawer.height} - PropertyChanges { target: drawer; y: partition} - PropertyChanges { target: arrowIcon; rotation: 180} - }, - State{ - name: "DRAWER_CLOSED" - PropertyChanges { target: menuBar; y:-partition} - PropertyChanges { target: textArea; y: drawer.height; height: screen.height - drawer.height} - PropertyChanges { target: drawer; y: 0} - PropertyChanges { target: arrowIcon; rotation: 0} - } - - ] - - \endcode + \snippet examples/tutorial/gettingStarted/gsQml/texteditor.qml states State changes are abrupt and needs smoother transitions. Transitions between states are defined using the \l {Transition}{Transition} element, which can then bind to @@ -582,16 +549,7 @@ the end of the animation. Pleae read \l {qdeclarativeanimation.html}{QML's Animation} article. - \code - transitions: [ - Transition{ - to: "*" - NumberAnimation { target: textArea; properties: "y, height"; duration: 100; easing.type: Easing.OutQuint } - NumberAnimation { target: menuBar; properties: "y"; duration: 100;easing.type: Easing.OutQuint } - NumberAnimation { target: drawer; properties: "y"; duration: 100;easing.type: Easing.OutQuint } - } - ] - \endcode + \snippet examples/tutorials/gettingStarted/gsQml/texteditor.qml transitions Another way of animating property changes is by declaring a \l {Behavior}{Behavior} element. A transition only works during state changes and \c Behavior can set an diff --git a/examples/tutorials/gettingStarted/gsQml/texteditor.qml b/examples/tutorials/gettingStarted/gsQml/texteditor.qml index 3bd9d55..5a75e0b 100644 --- a/examples/tutorials/gettingStarted/gsQml/texteditor.qml +++ b/examples/tutorials/gettingStarted/gsQml/texteditor.qml @@ -100,6 +100,7 @@ Rectangle { } } +//! [states] states:[ State { name: "DRAWER_OPEN" @@ -116,7 +117,9 @@ Rectangle { PropertyChanges { target: arrowIcon; rotation: 0 } } ] +//! [states] +//! [transitions] transitions: [ Transition { to: "*" @@ -125,4 +128,5 @@ Rectangle { NumberAnimation { target: drawer; properties: "y"; duration: 100; easing.type: Easing.OutExpo } } ] +//! [transitions] } -- cgit v0.12 From cf5d53ac1dc1fa71d32ba199717fcf12fdef185c Mon Sep 17 00:00:00 2001 From: David Boddie Date: Mon, 13 Sep 2010 15:45:25 +0200 Subject: Doc: More work on the declarative API documentation. --- .../graphicsitems/qdeclarativeflickable.cpp | 5 +- .../graphicsitems/qdeclarativegridview.cpp | 40 +++++--- .../graphicsitems/qdeclarativelistview.cpp | 13 ++- .../graphicsitems/qdeclarativeloader.cpp | 8 +- .../graphicsitems/qdeclarativepathview.cpp | 4 +- src/declarative/util/qdeclarativelistmodel.cpp | 107 +++++++++++++++------ 6 files changed, 123 insertions(+), 54 deletions(-) diff --git a/src/declarative/graphicsitems/qdeclarativeflickable.cpp b/src/declarative/graphicsitems/qdeclarativeflickable.cpp index 062bbfb..477c511 100644 --- a/src/declarative/graphicsitems/qdeclarativeflickable.cpp +++ b/src/declarative/graphicsitems/qdeclarativeflickable.cpp @@ -372,11 +372,12 @@ void QDeclarativeFlickablePrivate::updateBeginningEnd() \inlineimage flickable.gif \endfloat - The following example shows a large + The following example shows a small view onto a large image in which the + user can drag or flick the image in order to view different parts of it. - \clearfloat \snippet doc/src/snippets/declarative/flickable.qml document + \clearfloat \section1 Limitations \note Due to an implementation detail, items placed inside a Flickable cannot anchor to it by diff --git a/src/declarative/graphicsitems/qdeclarativegridview.cpp b/src/declarative/graphicsitems/qdeclarativegridview.cpp index a0faf14..f152d0d 100644 --- a/src/declarative/graphicsitems/qdeclarativegridview.cpp +++ b/src/declarative/graphicsitems/qdeclarativegridview.cpp @@ -1070,27 +1070,41 @@ void QDeclarativeGridViewPrivate::flick(AxisData &data, qreal minExtent, qreal m GridView are laid out horizontally or vertically. Grid views are inherently flickable as GridView inherits from \l Flickable. - For example, if there is a simple list model defined in a file \c ContactModel.qml like this: + \section1 Example Usage + + The following example shows the definition of a simple list model defined + in a file called \c ContactModel.qml: \snippet doc/src/snippets/declarative/gridview/ContactModel.qml 0 - Another component can display this model data in a GridView, like this: + \beginfloatright + \inlineimage gridview-simple.png + \endfloat + + This model can be referenced as \c ContactModel in other QML files. See \l{QML Modules} + for more information about creating reusable components like this. + + Another component can display this model data in a GridView, as in the following + example, which creates a \c ContactModel component for its model, and a \l Column element + (containing \l Image and \l Text elements) for its delegate. + \clearfloat \snippet doc/src/snippets/declarative/gridview/gridview.qml import \codeline \snippet doc/src/snippets/declarative/gridview/gridview.qml classdocs simple - \image gridview-simple.png - Here, the GridView creates a \c ContactModel component for its model, and a \l Column element - (containing \l Image and \ Text elements) for its delegate. The view will create a new delegate - for each item in the model. Notice the delegate is able to access the model's \c name and - \c portrait data directly. + \beginfloatright + \inlineimage gridview-highlight.png + \endfloat + + The view will create a new delegate for each item in the model. Note that the delegate + is able to access the model's \c name and \c portrait data directly. An improved grid view is shown below. The delegate is visually improved and is moved into a separate \c contactDelegate component. - + + \clearfloat \snippet doc/src/snippets/declarative/gridview/gridview.qml classdocs advanced - \image gridview-highlight.png The currently selected item is highlighted with a blue \l Rectangle using the \l highlight property, and \c focus is set to \c true to enable keyboard navigation for the grid view. @@ -1099,10 +1113,10 @@ void QDeclarativeGridViewPrivate::flick(AxisData &data, qreal minExtent, qreal m Delegates are instantiated as needed and may be destroyed at any time. State should \e never be stored in a delegate. - \note Views do not enable \e clip automatically. If the view - is not clipped by another item or the screen, it will be necessary - to set \e {clip: true} in order to have the out of view items clipped - nicely. + \note Views do not set the \l{Item::}{clip} property automatically. + If the view is not clipped by another item or the screen, it will be necessary + to set this property to true in order to clip the items that are partially or + fully outside the view. \sa {declarative/modelviews/gridview}{GridView example} */ diff --git a/src/declarative/graphicsitems/qdeclarativelistview.cpp b/src/declarative/graphicsitems/qdeclarativelistview.cpp index 177c5b3..8382970 100644 --- a/src/declarative/graphicsitems/qdeclarativelistview.cpp +++ b/src/declarative/graphicsitems/qdeclarativelistview.cpp @@ -1394,11 +1394,14 @@ void QDeclarativeListViewPrivate::flick(AxisData &data, qreal minExtent, qreal m QAbstractListModel. A ListView has a \l model, which defines the data to be displayed, and - a \l delegate, which defines how the data should be displayed. Items in a - ListView are laid out horizontally or vertically. List views are inherently flickable - as ListView inherits from \l Flickable. + a \l delegate, which defines how the data should be displayed. Items in a + ListView are laid out horizontally or vertically. List views are inherently + flickable because ListView inherits from \l Flickable. - For example, if there is a simple list model defined in a file \c ContactModel.qml like this: + \section1 Example Usage + + The following example shows the definition of a simple list model defined + in a file called \c ContactModel.qml: \snippet doc/src/snippets/declarative/listview/ContactModel.qml 0 @@ -1416,7 +1419,7 @@ void QDeclarativeListViewPrivate::flick(AxisData &data, qreal minExtent, qreal m An improved list view is shown below. The delegate is visually improved and is moved into a separate \c contactDelegate component. - + \snippet doc/src/snippets/declarative/listview/listview.qml classdocs advanced \image listview-highlight.png diff --git a/src/declarative/graphicsitems/qdeclarativeloader.cpp b/src/declarative/graphicsitems/qdeclarativeloader.cpp index 5d71625..1066c2b 100644 --- a/src/declarative/graphicsitems/qdeclarativeloader.cpp +++ b/src/declarative/graphicsitems/qdeclarativeloader.cpp @@ -212,8 +212,8 @@ QDeclarativeLoader::~QDeclarativeLoader() \qmlproperty url Loader::source This property holds the URL of the QML component to instantiate. - Note the QML component must be an \l Item-based component. Loader cannot - load non-visual components. + Note the QML component must be an \l{Item}-based component. The loader + cannot load non-visual components. To unload the currently loaded item, set this property to an empty string, or set \l sourceComponent to \c undefined. @@ -275,8 +275,8 @@ void QDeclarativeLoader::setSource(const QUrl &url) } \endqml - To unload the currently loaded item, set this property to an empty string, - or set \l sourceComponent to \c undefined. + To unload the currently loaded item, set this property to an empty string + or \c undefined. \sa source, progress */ diff --git a/src/declarative/graphicsitems/qdeclarativepathview.cpp b/src/declarative/graphicsitems/qdeclarativepathview.cpp index de3f9fa..dad547f 100644 --- a/src/declarative/graphicsitems/qdeclarativepathview.cpp +++ b/src/declarative/graphicsitems/qdeclarativepathview.cpp @@ -404,14 +404,14 @@ QDeclarativePathView::~QDeclarativePathView() be instantiated, but not considered to be currently on the path. Usually, these items would be set invisible, for example: - \code + \qml Component { Rectangle { visible: PathView.onPath ... } } - \endcode + \endqml It is attached to each instance of the delegate. */ diff --git a/src/declarative/util/qdeclarativelistmodel.cpp b/src/declarative/util/qdeclarativelistmodel.cpp index 60d8aa9..d3cf9c8 100644 --- a/src/declarative/util/qdeclarativelistmodel.cpp +++ b/src/declarative/util/qdeclarativelistmodel.cpp @@ -69,49 +69,67 @@ QDeclarativeListModelParser::ListInstruction *QDeclarativeListModelParser::ListM \since 4.7 \brief The ListModel element defines a free-form list data source. - The ListModel is a simple hierarchy of elements containing data roles. The contents can - be defined dynamically, or explicitly in QML: + The ListModel is a simple container of ListElement definitions, each containing data roles. + The contents can be defined dynamically, or explicitly in QML. - For example: + The number of elements in the model can be obtained from its \l count property. + A number of familiar methods are also provided to manipulate the contents of the + model, including append(), insert(), move(), remove() and set(). These methods + accept dictionaries as their arguments; these are translated to ListElement objects + by the model. - \snippet doc/src/snippets/declarative/listmodel.qml 0 + Elements can be manipulated via the model using the setProperty() method, which + allows the roles of the specified element to be set and changed. + + \section1 Example Usage + + The following example shows a ListModel containing three elements, with the roles + "name" and "cost". - Roles (properties) must begin with a lower-case letter. The above example defines a - ListModel containing three elements, with the roles "name" and "cost". + \beginfloatright + \inlineimage listmodel.png + \endfloat + + \snippet doc/src/snippets/declarative/listmodel.qml 0 - Values must be simple constants - either strings (quoted and optionally within a call to QT_TR_NOOP), - bools (true, false), numbers, or enum values (like Text.AlignHCenter). + \clearfloat + Roles (properties) in each element must begin with a lower-case letter and + should be common to all elements in a model. The ListElement documentation + provides more guidelines for how elements should be defined. - The defined model can be used in views such as ListView: + Since the example model contains an \c id property, it can be referenced + by views, such as the ListView in this example: \snippet doc/src/snippets/declarative/listmodel-simple.qml 0 \dots 8 \snippet doc/src/snippets/declarative/listmodel-simple.qml 1 - \image listmodel.png - It is possible for roles to contain list data. In the example below we create a list of fruit attributes: + It is possible for roles to contain list data. In the following example we + create a list of fruit attributes: \snippet doc/src/snippets/declarative/listmodel-nested.qml model - The delegate below displays all the fruit attributes: + The delegate displays all the fruit attributes: - \snippet doc/src/snippets/declarative/listmodel-nested.qml delegate - \image listmodel-nested.png + \beginfloatright + \inlineimage listmodel-nested.png + \endfloat + \snippet doc/src/snippets/declarative/listmodel-nested.qml delegate - \section2 Modifying list models + \clearfloat + \section1 Modifying List Models The content of a ListModel may be created and modified using the clear(), append(), set() and setProperty() methods. For example: - - \snippet doc/src/snippets/declarative/listmodel-modify.qml delegate - Note that when creating content dynamically the set of available properties cannot be changed - once set. Whatever properties are first added to the model are the - only permitted properties in the model. + \snippet doc/src/snippets/declarative/listmodel-modify.qml delegate + Note that when creating content dynamically the set of available properties + cannot be changed once set. Whatever properties are first added to the model + are the only permitted properties in the model. - \section2 Using threaded list models with WorkerScript + \section1 Using Threaded List Models with WorkerScript ListModel can be used together with WorkerScript access a list model from multiple threads. This is useful if list modifications are @@ -127,16 +145,16 @@ QDeclarativeListModelParser::ListInstruction *QDeclarativeListModelParser::ListM \snippet examples/declarative/threading/threadedlistmodel/dataloader.js 0 -working-with-data - worker script by calling \l WorkerScript::sendMessage(). When this message - is received, \l {WorkerScript::onMessage}{WorkerScript.onMessage()} is invoked in - \tt dataloader.js, which appends the current time to the list model. + The timer in the main example sends messages to the worker script by calling + \l WorkerScript::sendMessage(). When this message is received, + \l{WorkerScript::onMessage}{WorkerScript.onMessage()} is invoked in \c dataloader.js, + which appends the current time to the list model. - Note the call to sync() from the \l {WorkerScript::onMessage}{WorkerScript.onMessage()} handler. - You must call sync() or else the changes made to the list from the external + Note the call to sync() from the \l{WorkerScript::onMessage}{WorkerScript.onMessage()} + handler. You must call sync() or else the changes made to the list from the external thread will not be reflected in the list model in the main thread. - \section3 Limitations + \section1 Limitations If a list model is to be accessed from a WorkerScript, it \bold cannot contain list data. So, the following model cannot be used from a WorkerScript @@ -771,6 +789,39 @@ bool QDeclarativeListModelParser::definesEmptyList(const QString &s) \since 4.7 \brief The ListElement element defines a data item in a ListModel. + List elements are defined inside ListModel definitions, and represent items in a + list that will be displayed using ListView or \l Repeater items. + + List elements are defined like other QML elements except that they contain + a collection of \e role definitions instead of properties. Using the same + syntax as property definitions, roles both define how the data is accessed + and include the data itself. + + The names used for roles must begin with a lower-case letter and should be + common to all elements in a given model. Values must be simple constants; either + strings (quoted and optionally within a call to QT_TR_NOOP), boolean values + (true, false), numbers, or enumeration values (such as AlignText.AlignHCenter). + + \section1 Referencing Roles + + The role names are used by delegates to obtain data from list elements. + Each role name is accessible in the delegate's scope, and refers to the + corresponding role in the current element. Where a role name would be + ambiguous to use, it can be accessed via the \l{ListView::}{model} + property (e.g., \c{model.cost} instead of \c{cost}). + + \section1 Example Usage + + The following model defines a series of list elements, each of which + contain "name" and "cost" roles and their associated values. + + \snippet doc/src/snippets/declarative/qml-data-models/listelements.qml model + + The delegate obtains the name and cost for each element by simply referring + to \c name and \c cost: + + \snippet doc/src/snippets/declarative/qml-data-models/listelements.qml view + \sa ListModel */ -- cgit v0.12 From 5d9fb4b86ffd604e65ade61a252037dca224af53 Mon Sep 17 00:00:00 2001 From: Olivier Goffart Date: Mon, 13 Sep 2010 15:50:40 +0200 Subject: tests: fix compilation with suncc Patch derived from the tasks Task-number: QTBUG-12997 Task-number: QTBUG-12984 Task-number: QTBUG-12985 Task-number: QTBUG-12990 Task-number: QTBUG-12999 --- tests/auto/moc/tst_moc.cpp | 8 ++++---- tests/auto/q3table/tst_q3table.cpp | 8 ++++---- tests/auto/qcompleter/tst_qcompleter.cpp | 4 ++-- tests/auto/qobject/tst_qobject.cpp | 8 ++++---- .../qsequentialanimationgroup/tst_qsequentialanimationgroup.cpp | 4 ++-- 5 files changed, 16 insertions(+), 16 deletions(-) diff --git a/tests/auto/moc/tst_moc.cpp b/tests/auto/moc/tst_moc.cpp index f9c3ccb..bb23f49 100644 --- a/tests/auto/moc/tst_moc.cpp +++ b/tests/auto/moc/tst_moc.cpp @@ -1077,10 +1077,10 @@ void tst_Moc::qprivateslots() class PrivatePropertyTest : public QObject { Q_OBJECT - Q_PROPERTY(int foo READ foo WRITE setFoo); - Q_PRIVATE_PROPERTY(d, int bar READ bar WRITE setBar); - Q_PRIVATE_PROPERTY(PrivatePropertyTest::d, int plop READ plop WRITE setPlop); - Q_PRIVATE_PROPERTY(PrivatePropertyTest::d_func(), int baz READ baz WRITE setBaz); + Q_PROPERTY(int foo READ foo WRITE setFoo) + Q_PRIVATE_PROPERTY(d, int bar READ bar WRITE setBar) + Q_PRIVATE_PROPERTY(PrivatePropertyTest::d, int plop READ plop WRITE setPlop) + Q_PRIVATE_PROPERTY(PrivatePropertyTest::d_func(), int baz READ baz WRITE setBaz) class MyDPointer { public: MyDPointer() : mBar(0), mPlop(0) {} diff --git a/tests/auto/q3table/tst_q3table.cpp b/tests/auto/q3table/tst_q3table.cpp index 90bf806..93de251 100644 --- a/tests/auto/q3table/tst_q3table.cpp +++ b/tests/auto/q3table/tst_q3table.cpp @@ -502,7 +502,7 @@ void tst_Q3Table::pageUpDownNavigation() void tst_Q3Table::simpleKeyboardNavigation() { QApplication::setActiveWindow(testWidget); - QTRY_COMPARE(QApplication::activeWindow(), testWidget); + QTRY_COMPARE(QApplication::activeWindow(), static_cast(testWidget)); QWidget *w; // Test for task #24726 @@ -1208,7 +1208,7 @@ void tst_Q3Table::editCheck() table.show(); QApplication::setActiveWindow(&table); QTest::qWaitForWindowShown(&table); - QTRY_COMPARE(QApplication::activeWindow(), &table); + QTRY_COMPARE(QApplication::activeWindow(), static_cast(&table)); table.setCurrentCell(0, 0); #ifdef WAITS QTest::qWait(50); @@ -1345,7 +1345,7 @@ void tst_Q3Table::valueChanged() testWidget->show(); QApplication::setActiveWindow(testWidget); QTest::qWaitForWindowShown(testWidget); - QTRY_COMPARE(QApplication::activeWindow(), testWidget); + QTRY_COMPARE(QApplication::activeWindow(), static_cast(testWidget)); #ifdef WAITS QTest::qWait(50); #endif @@ -1395,7 +1395,7 @@ void tst_Q3Table::dateTimeEdit() testWidget->show(); QApplication::setActiveWindow(testWidget); QTest::qWaitForWindowShown(testWidget); - QTRY_COMPARE(QApplication::activeWindow(), testWidget); + QTRY_COMPARE(QApplication::activeWindow(), static_cast(testWidget)); #ifdef WAITS QTest::qWait(50); #endif diff --git a/tests/auto/qcompleter/tst_qcompleter.cpp b/tests/auto/qcompleter/tst_qcompleter.cpp index a62720b..1590528 100644 --- a/tests/auto/qcompleter/tst_qcompleter.cpp +++ b/tests/auto/qcompleter/tst_qcompleter.cpp @@ -1324,7 +1324,7 @@ void tst_QCompleter::task253125_lineEditCompletion() #endif QTest::qWait(10); QApplication::setActiveWindow(&edit); - QTRY_COMPARE(QApplication::activeWindow(), &edit); + QTRY_COMPARE(QApplication::activeWindow(), static_cast(&edit)); QTest::keyClick(&edit, 'i'); QCOMPARE(edit.completer()->currentCompletion(), QString("iota")); @@ -1362,7 +1362,7 @@ void tst_QCompleter::task247560_keyboardNavigation() QTest::qWait(10); QApplication::setActiveWindow(&edit); - QTRY_COMPARE(QApplication::activeWindow(), &edit); + QTRY_COMPARE(QApplication::activeWindow(), static_cast(&edit)); QTest::keyClick(&edit, 'r'); QTest::keyClick(edit.completer()->popup(), Qt::Key_Down); diff --git a/tests/auto/qobject/tst_qobject.cpp b/tests/auto/qobject/tst_qobject.cpp index 08b7c19..5f6262e 100644 --- a/tests/auto/qobject/tst_qobject.cpp +++ b/tests/auto/qobject/tst_qobject.cpp @@ -3243,16 +3243,16 @@ void tst_QObject::overloads() QCOMPARE(obj2.s_num, 101); emit obj1.sig(&obj2, &obj3); //this signal is connected QCOMPARE(obj1.s_num, 11); - QCOMPARE(obj1.o1_obj, &obj2); + QCOMPARE(obj1.o1_obj, (QObject *)&obj2); QCOMPARE(obj1.o2_obj, &obj3); QCOMPARE(obj1.o3_obj, (QObject *)0); //default arg of the signal - QCOMPARE(obj1.o4_obj, qApp); //default arg of the slot + QCOMPARE(obj1.o4_obj, (QObject *)qApp); //default arg of the slot QCOMPARE(obj2.s_num, 111); - QCOMPARE(obj2.o1_obj, &obj2); + QCOMPARE(obj2.o1_obj, (QObject *)&obj2); QCOMPARE(obj2.o2_obj, &obj3); QCOMPARE(obj2.o3_obj, (QObject *)0); //default arg of the signal - QCOMPARE(obj2.o4_obj, qApp); //default arg of the slot + QCOMPARE(obj2.o4_obj, (QObject *)qApp); //default arg of the slot } class ManySignals : public QObject diff --git a/tests/auto/qsequentialanimationgroup/tst_qsequentialanimationgroup.cpp b/tests/auto/qsequentialanimationgroup/tst_qsequentialanimationgroup.cpp index e154528..e16be8b 100644 --- a/tests/auto/qsequentialanimationgroup/tst_qsequentialanimationgroup.cpp +++ b/tests/auto/qsequentialanimationgroup/tst_qsequentialanimationgroup.cpp @@ -381,7 +381,7 @@ void tst_QSequentialAnimationGroup::setCurrentTimeWithUncontrolledAnimation() QCOMPARE(a1_s_o2->currentLoopTime(), 250); QCOMPARE(notTimeDriven->currentLoopTime(), 0); QCOMPARE(loopsForever->currentLoopTime(), 0); - QCOMPARE(group.currentAnimation(), notTimeDriven); + QCOMPARE(group.currentAnimation(), static_cast(notTimeDriven)); // Current time = 505 group.setCurrentTime(505); @@ -391,7 +391,7 @@ void tst_QSequentialAnimationGroup::setCurrentTimeWithUncontrolledAnimation() QCOMPARE(a1_s_o2->currentLoopTime(), 250); QCOMPARE(notTimeDriven->currentLoopTime(), 5); QCOMPARE(loopsForever->currentLoopTime(), 0); - QCOMPARE(group.currentAnimation(), notTimeDriven); + QCOMPARE(group.currentAnimation(), static_cast(notTimeDriven)); QCOMPARE(sequence->state(), QAnimationGroup::Stopped); QCOMPARE(a1_s_o1->state(), QAnimationGroup::Stopped); QCOMPARE(a1_s_o2->state(), QAnimationGroup::Stopped); -- cgit v0.12 From 52f82846e651d240f6e610f91bc63b3ee74b3d44 Mon Sep 17 00:00:00 2001 From: Benjamin Poulain Date: Fri, 10 Sep 2010 21:51:13 +0200 Subject: Remove the memory safety for the first scanline of the SSSE3 blending MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Memory is allocated on 16 bytes boundaries. We can do the aligned load without risking a invalid memory access. This simplify the code. Reviewed-by: Samuel Rødal --- src/gui/painting/qdrawhelper_ssse3.cpp | 75 ++-------------------------------- 1 file changed, 3 insertions(+), 72 deletions(-) diff --git a/src/gui/painting/qdrawhelper_ssse3.cpp b/src/gui/painting/qdrawhelper_ssse3.cpp index 4cb4089..fb5602e 100644 --- a/src/gui/painting/qdrawhelper_ssse3.cpp +++ b/src/gui/painting/qdrawhelper_ssse3.cpp @@ -79,69 +79,6 @@ inline static void blend_pixel(quint32 &dst, const quint32 src) } -#define BLEND_SOURCE_OVER_ARGB32_FIRST_ROW_SSSE3(dst, src, length, nullVector, half, one, colorMask, alphaMask) { \ - int x = 0; \ -\ - /* First, get dst aligned. */ \ - const int offsetToAlignOn16Bytes = (4 - ((reinterpret_cast(dst) >> 2) & 0x3)) & 0x3;\ - const int prologLength = qMin(length, offsetToAlignOn16Bytes);\ -\ - for (; x < prologLength; ++x) {\ - blend_pixel(dst[x], src[x]); \ - } \ -\ - const int minusOffsetToAlignSrcOn16Bytes = (reinterpret_cast(&(src[x])) >> 2) & 0x3;\ -\ - if (!minusOffsetToAlignSrcOn16Bytes) {\ - /* src is aligned, usual algorithm but with aligned operations.\ - See the SSE2 version for more documentation on the algorithm itself. */\ - const __m128i alphaShuffleMask = _mm_set_epi8(0xff,15,0xff,15,0xff,11,0xff,11,0xff,7,0xff,7,0xff,3,0xff,3);\ - for (; x < length-3; x += 4) { \ - const __m128i srcVector = _mm_load_si128((__m128i *)&src[x]); \ - const __m128i srcVectorAlpha = _mm_and_si128(srcVector, alphaMask); \ - if (_mm_movemask_epi8(_mm_cmpeq_epi32(srcVectorAlpha, alphaMask)) == 0xffff) { \ - _mm_store_si128((__m128i *)&dst[x], srcVector); \ - } else if (_mm_movemask_epi8(_mm_cmpeq_epi32(srcVectorAlpha, nullVector)) != 0xffff) { \ - __m128i alphaChannel = _mm_shuffle_epi8(srcVector, alphaShuffleMask); \ - alphaChannel = _mm_sub_epi16(one, alphaChannel); \ - const __m128i dstVector = _mm_load_si128((__m128i *)&dst[x]); \ - __m128i destMultipliedByOneMinusAlpha; \ - BYTE_MUL_SSE2(destMultipliedByOneMinusAlpha, dstVector, alphaChannel, colorMask, half); \ - const __m128i result = _mm_add_epi8(srcVector, destMultipliedByOneMinusAlpha); \ - _mm_store_si128((__m128i *)&dst[x], result); \ - } \ - } /* end for() */\ - } else if ((length - x) >= 8) {\ - /* We are at the first line, so "x - minusOffsetToAlignSrcOn16Bytes" could go before src, and\ - generate an invalid access. */\ -\ - /* We use two vectors to extract the src: prevLoaded for the first pixels, lastLoaded for the current pixels. */\ - __m128i srcVectorPrevLoaded;\ - if (minusOffsetToAlignSrcOn16Bytes > prologLength) {\ - /* We go forward 4 pixels to avoid reading before src. */\ - for (; x < prologLength + 4; ++x)\ - blend_pixel(dst[x], src[x]); \ - }\ - srcVectorPrevLoaded = _mm_load_si128((__m128i *)&src[x - minusOffsetToAlignSrcOn16Bytes]);\ - const int palignrOffset = minusOffsetToAlignSrcOn16Bytes << 2;\ -\ - const __m128i alphaShuffleMask = _mm_set_epi8(0xff,15,0xff,15,0xff,11,0xff,11,0xff,7,0xff,7,0xff,3,0xff,3);\ - switch (palignrOffset) {\ - case 4:\ - BLENDING_LOOP(4, length)\ - break;\ - case 8:\ - BLENDING_LOOP(8, length)\ - break;\ - case 12:\ - BLENDING_LOOP(12, length)\ - break;\ - }\ - }\ - for (; x < length; ++x) \ - blend_pixel(dst[x], src[x]); \ -} - // Basically blend src over dst with the const alpha defined as constAlphaVector. // nullVector, half, one, colorMask are constant accross the whole image/texture, and should be defined as: //const __m128i nullVector = _mm_set1_epi32(0); @@ -153,7 +90,7 @@ inline static void blend_pixel(quint32 &dst, const quint32 src) // The computation being done is: // result = s + d * (1-alpha) // with shortcuts if fully opaque or fully transparent. -#define BLEND_SOURCE_OVER_ARGB32_MAIN_SSSE3(dst, src, length, nullVector, half, one, colorMask, alphaMask) { \ +#define BLEND_SOURCE_OVER_ARGB32_SSSE3(dst, src, length, nullVector, half, one, colorMask, alphaMask) { \ int x = 0; \ \ /* First, get dst aligned. */ \ @@ -218,14 +155,8 @@ void qt_blend_argb32_on_argb32_ssse3(uchar *destPixels, int dbpl, const __m128i one = _mm_set1_epi16(0xff); const __m128i colorMask = _mm_set1_epi32(0x00ff00ff); - // We have to unrol the first row in order to deal with the load on unaligned data - // prior to the src pointer. - BLEND_SOURCE_OVER_ARGB32_FIRST_ROW_SSSE3(dst, src, w, nullVector, half, one, colorMask, alphaMask); - dst = (quint32 *)(((uchar *) dst) + dbpl); - src = (const quint32 *)(((const uchar *) src) + sbpl); - - for (int y = 1; y < h; ++y) { - BLEND_SOURCE_OVER_ARGB32_MAIN_SSSE3(dst, src, w, nullVector, half, one, colorMask, alphaMask); + for (int y = 0; y < h; ++y) { + BLEND_SOURCE_OVER_ARGB32_SSSE3(dst, src, w, nullVector, half, one, colorMask, alphaMask); dst = (quint32 *)(((uchar *) dst) + dbpl); src = (const quint32 *)(((const uchar *) src) + sbpl); } -- cgit v0.12 From faba2072ae1cf3661caceae2ef4f87cee485cf29 Mon Sep 17 00:00:00 2001 From: Benjamin Poulain Date: Mon, 13 Sep 2010 15:29:25 +0200 Subject: Use the stream operation for the SSE2 implementation of memfill32 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Writing the data of memfill() to a cacheline is unecessary because the data is not reused directly. We can use the stream operations to avoid the cache completely. When testing memfill32 separately, the function is twice as fast on Core2 and Atom. Reviewed-by: Samuel Rødal --- src/gui/painting/qdrawhelper_sse2.cpp | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/gui/painting/qdrawhelper_sse2.cpp b/src/gui/painting/qdrawhelper_sse2.cpp index ba2ba32..ac73958 100644 --- a/src/gui/painting/qdrawhelper_sse2.cpp +++ b/src/gui/painting/qdrawhelper_sse2.cpp @@ -266,10 +266,10 @@ void qt_memfill32_sse2(quint32 *dest, quint32 value, int count) int n = (count128 + 3) / 4; switch (count128 & 0x3) { - case 0: do { _mm_store_si128(dst128++, value128); - case 3: _mm_store_si128(dst128++, value128); - case 2: _mm_store_si128(dst128++, value128); - case 1: _mm_store_si128(dst128++, value128); + case 0: do { _mm_stream_si128(dst128++, value128); + case 3: _mm_stream_si128(dst128++, value128); + case 2: _mm_stream_si128(dst128++, value128); + case 1: _mm_stream_si128(dst128++, value128); } while (--n > 0); } -- cgit v0.12 From 7f96f211d15d7af28146682356ad1363c5d9f4a9 Mon Sep 17 00:00:00 2001 From: Frederik Gladhorn Date: Thu, 22 Jul 2010 12:32:55 +0200 Subject: fix typos in comment Reviewed-by: TrustMe --- src/gui/kernel/qgesturemanager.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/gui/kernel/qgesturemanager.cpp b/src/gui/kernel/qgesturemanager.cpp index 5c80340..6dd8127 100644 --- a/src/gui/kernel/qgesturemanager.cpp +++ b/src/gui/kernel/qgesturemanager.cpp @@ -184,7 +184,7 @@ void QGestureManager::cleanupCachedGestures(QObject *target, Qt::GestureType typ // get or create a QGesture object that will represent the state for a given object, used by the recognizer QGesture *QGestureManager::getState(QObject *object, QGestureRecognizer *recognizer, Qt::GestureType type) { - // if the widget is being deleted we should be carefull and not to + // if the widget is being deleted we should be careful not to // create a new state, as it will create QWeakPointer which doesnt work // from the destructor. if (object->isWidgetType()) { -- cgit v0.12 From dc343981c65af9d279a08ae4a664ec664dbb3cea Mon Sep 17 00:00:00 2001 From: Zeno Albisser Date: Fri, 10 Sep 2010 04:20:55 -0400 Subject: Changed the speed property on QSwipeGesture to velocity Reviewed-by: Denis Dzyubenko --- src/gui/kernel/qgesture.cpp | 2 ++ src/gui/kernel/qgesture.h | 1 + src/gui/kernel/qgesture_p.h | 7 +++++-- src/gui/kernel/qstandardgestures.cpp | 6 +++--- 4 files changed, 11 insertions(+), 5 deletions(-) diff --git a/src/gui/kernel/qgesture.cpp b/src/gui/kernel/qgesture.cpp index 13274c4..5725a22 100644 --- a/src/gui/kernel/qgesture.cpp +++ b/src/gui/kernel/qgesture.cpp @@ -775,4 +775,6 @@ int QTapAndHoldGesturePrivate::Timeout = 700; // in ms QT_END_NAMESPACE +#include + #endif // QT_NO_GESTURES diff --git a/src/gui/kernel/qgesture.h b/src/gui/kernel/qgesture.h index dcb0264..1ba6e10 100644 --- a/src/gui/kernel/qgesture.h +++ b/src/gui/kernel/qgesture.h @@ -210,6 +210,7 @@ class Q_GUI_EXPORT QSwipeGesture : public QGesture Q_PROPERTY(SwipeDirection horizontalDirection READ horizontalDirection STORED false) Q_PROPERTY(SwipeDirection verticalDirection READ verticalDirection STORED false) Q_PROPERTY(qreal swipeAngle READ swipeAngle WRITE setSwipeAngle) + Q_PRIVATE_PROPERTY(QSwipeGesture::d_func(), qreal velocity READ velocity WRITE setVelocity) public: enum SwipeDirection { NoDirection, Left, Right, Up, Down }; diff --git a/src/gui/kernel/qgesture_p.h b/src/gui/kernel/qgesture_p.h index 29b923e..7d6ea87 100644 --- a/src/gui/kernel/qgesture_p.h +++ b/src/gui/kernel/qgesture_p.h @@ -139,17 +139,20 @@ public: : horizontalDirection(QSwipeGesture::NoDirection), verticalDirection(QSwipeGesture::NoDirection), swipeAngle(0), - started(false), speed(0) + started(false), velocityValue(0), { } + qreal velocity() const { return velocityValue; } + void setVelocity(qreal value) { velocityValue = value; } + QSwipeGesture::SwipeDirection horizontalDirection; QSwipeGesture::SwipeDirection verticalDirection; qreal swipeAngle; QPoint lastPositions[3]; bool started; - qreal speed; + qreal velocityValue; QElapsedTimer time; }; diff --git a/src/gui/kernel/qstandardgestures.cpp b/src/gui/kernel/qstandardgestures.cpp index 127e150..503fa18 100644 --- a/src/gui/kernel/qstandardgestures.cpp +++ b/src/gui/kernel/qstandardgestures.cpp @@ -304,7 +304,7 @@ QGestureRecognizer::Result QSwipeGestureRecognizer::recognize(QGesture *state, switch (event->type()) { case QEvent::TouchBegin: { - d->speed = 1; + d->velocityValue = 1; d->time.start(); d->started = true; result = QGestureRecognizer::MayBeGesture; @@ -345,7 +345,7 @@ QGestureRecognizer::Result QSwipeGestureRecognizer::recognize(QGesture *state, int elapsedTime = d->time.restart(); if (!elapsedTime) elapsedTime = 1; - d->speed = 0.9 * d->speed + distance / elapsedTime; + d->velocityValue = 0.9 * d->velocityValue + distance / elapsedTime; d->swipeAngle = QLineF(p1.startScreenPos(), p1.screenPos()).angle(); static const int MoveThreshold = 50; @@ -407,7 +407,7 @@ void QSwipeGestureRecognizer::reset(QGesture *state) d->lastPositions[0] = d->lastPositions[1] = d->lastPositions[2] = QPoint(); d->started = false; - d->speed = 0; + d->velocityValue = 0; d->time.invalidate(); QGestureRecognizer::reset(state); -- cgit v0.12 From d65259a3444a08919f1f19b9d2dcbe9b182752aa Mon Sep 17 00:00:00 2001 From: Zeno Albisser Date: Fri, 10 Sep 2010 05:04:06 -0400 Subject: Added velocity property to the QPanGesture. Reviewed-by: Denis Dzyubenko --- src/gui/kernel/qgesture.h | 2 ++ src/gui/kernel/qgesture_p.h | 9 ++++++++- 2 files changed, 10 insertions(+), 1 deletion(-) diff --git a/src/gui/kernel/qgesture.h b/src/gui/kernel/qgesture.h index 1ba6e10..2e279b0 100644 --- a/src/gui/kernel/qgesture.h +++ b/src/gui/kernel/qgesture.h @@ -112,6 +112,8 @@ class Q_GUI_EXPORT QPanGesture : public QGesture Q_PROPERTY(QPointF offset READ offset WRITE setOffset) Q_PROPERTY(QPointF delta READ delta STORED false) Q_PROPERTY(qreal acceleration READ acceleration WRITE setAcceleration) + Q_PRIVATE_PROPERTY(QPanGesture::d_func(), qreal horizontalVelocity READ horizontalVelocity WRITE setHorizontalVelocity) + Q_PRIVATE_PROPERTY(QPanGesture::d_func(), qreal verticalVelocity READ verticalVelocity WRITE setVerticalVelocity) public: QPanGesture(QObject *parent = 0); diff --git a/src/gui/kernel/qgesture_p.h b/src/gui/kernel/qgesture_p.h index 7d6ea87..baf0d33 100644 --- a/src/gui/kernel/qgesture_p.h +++ b/src/gui/kernel/qgesture_p.h @@ -88,14 +88,21 @@ class QPanGesturePrivate : public QGesturePrivate public: QPanGesturePrivate() - : acceleration(0) + : acceleration(0), xVelocity(0), yVelocity(0) { } + qreal horizontalVelocity() const { return xVelocity; } + void setHorizontalVelocity(qreal value) { xVelocity = value; } + qreal verticalVelocity() const { return yVelocity; } + void setVerticalVelocity(qreal value) { yVelocity = value; } + QPointF lastOffset; QPointF offset; QPoint startPosition; qreal acceleration; + qreal xVelocity; + qreal yVelocity; }; class QPinchGesturePrivate : public QGesturePrivate -- cgit v0.12 From e6b2bb6d6a48e722311cd2c5fd86c015eab24b4d Mon Sep 17 00:00:00 2001 From: Zeno Albisser Date: Wed, 11 Aug 2010 13:37:21 +0200 Subject: fix scaleFactor/totalScaleFactor in QPinchGestureRecognizer The scaleFactor/totalScaleFactor should now represent a proper value to allow an object tracking a touchpoint during a Pinch Gesture. Reviewed-by: Frederik Gladhorn --- src/gui/kernel/qgesture_p.h | 2 +- src/gui/kernel/qstandardgestures.cpp | 10 +++++----- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/src/gui/kernel/qgesture_p.h b/src/gui/kernel/qgesture_p.h index baf0d33..e8f8fe3 100644 --- a/src/gui/kernel/qgesture_p.h +++ b/src/gui/kernel/qgesture_p.h @@ -112,7 +112,7 @@ class QPinchGesturePrivate : public QGesturePrivate public: QPinchGesturePrivate() : totalChangeFlags(0), changeFlags(0), - totalScaleFactor(0), lastScaleFactor(0), scaleFactor(0), + totalScaleFactor(1), lastScaleFactor(1), scaleFactor(1), totalRotationAngle(0), lastRotationAngle(0), rotationAngle(0), isNewSequence(true) { diff --git a/src/gui/kernel/qstandardgestures.cpp b/src/gui/kernel/qstandardgestures.cpp index 503fa18..893ba2b 100644 --- a/src/gui/kernel/qstandardgestures.cpp +++ b/src/gui/kernel/qstandardgestures.cpp @@ -199,6 +199,7 @@ QGestureRecognizer::Result QPinchGestureRecognizer::recognize(QGesture *state, d->startPosition[1] = p2.screenPos(); } QLineF line(p1.screenPos(), p2.screenPos()); + QLineF lastLine(p1.lastScreenPos(), p2.lastScreenPos()); QLineF tmp(line); tmp.setLength(line.length() / 2.); QPointF centerPoint = tmp.p2(); @@ -207,16 +208,15 @@ QGestureRecognizer::Result QPinchGestureRecognizer::recognize(QGesture *state, d->centerPoint = centerPoint; d->changeFlags |= QPinchGesture::CenterPointChanged; - const qreal scaleFactor = - QLineF(p1.screenPos(), p2.screenPos()).length() - / QLineF(d->startPosition[0], d->startPosition[1]).length(); + const qreal scaleFactor = line.length() / lastLine.length(); + if (d->isNewSequence) { d->lastScaleFactor = scaleFactor; } else { d->lastScaleFactor = d->scaleFactor; } d->scaleFactor = scaleFactor; - d->totalScaleFactor += d->scaleFactor - d->lastScaleFactor; + d->totalScaleFactor = d->totalScaleFactor * scaleFactor; d->changeFlags |= QPinchGesture::ScaleFactorChanged; qreal angle = QLineF(p1.screenPos(), p2.screenPos()).angle(); @@ -266,7 +266,7 @@ void QPinchGestureRecognizer::reset(QGesture *state) d->totalChangeFlags = d->changeFlags = 0; d->startCenterPoint = d->lastCenterPoint = d->centerPoint = QPointF(); - d->totalScaleFactor = d->lastScaleFactor = d->scaleFactor = 0; + d->totalScaleFactor = d->lastScaleFactor = d->scaleFactor = 1; d->totalRotationAngle = d->lastRotationAngle = d->rotationAngle = 0; d->isNewSequence = true; -- cgit v0.12 From 019032c93b7397c7239ec99ec44b4923df31533b Mon Sep 17 00:00:00 2001 From: Oswald Buddenhagen Date: Mon, 13 Sep 2010 16:56:32 +0200 Subject: run depend_command even if the binary has no absolute path this magic is a bit braindead anyway, but whatever. Reviewed-by: joerg Task-number: QTBUG-13366 --- qmake/generators/makefile.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/qmake/generators/makefile.cpp b/qmake/generators/makefile.cpp index c7b1473..cd034b8 100644 --- a/qmake/generators/makefile.cpp +++ b/qmake/generators/makefile.cpp @@ -1794,10 +1794,10 @@ MakefileGenerator::writeExtraCompilerTargets(QTextStream &t) const QString c = Option::fixPathToLocalOS(cmdline.at(argv0), true); if(exists(c)) { cmdline[argv0] = escapeFilePath(Option::fixPathToLocalOS(cmdline.at(argv0), false)); - tmp_dep_cmd = cmdline.join(" "); } else { cmdline[argv0] = escapeFilePath(cmdline.at(argv0)); } + tmp_dep_cmd = cmdline.join(" "); } dep_cd_cmd = QLatin1String("cd ") + escapeFilePath(Option::fixPathToLocalOS(Option::output_dir, false)) -- cgit v0.12 From b5cd029cdd700069e603fe27049f3afb999a234c Mon Sep 17 00:00:00 2001 From: Benjamin Poulain Date: Mon, 13 Sep 2010 19:20:36 +0200 Subject: Use aligned operations for solid SourceOver operations. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Aligned load() and store() have been shown to be faster for the composition functions. This patch applies this to the solid SourceOver function. Reviewed-by: Samuel Rødal --- src/gui/painting/qdrawhelper_sse2.cpp | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/src/gui/painting/qdrawhelper_sse2.cpp b/src/gui/painting/qdrawhelper_sse2.cpp index ac73958..f97d865 100644 --- a/src/gui/painting/qdrawhelper_sse2.cpp +++ b/src/gui/painting/qdrawhelper_sse2.cpp @@ -300,11 +300,14 @@ void QT_FASTCALL comp_func_solid_SourceOver_sse2(uint *destPixels, int length, u const __m128i half = _mm_set1_epi16(0x80); const __m128i minusAlphaOfColorVector = _mm_set1_epi16(minusAlphaOfColor); + ALIGNMENT_PROLOGUE_16BYTES(dst, x, length) + destPixels[x] = color + BYTE_MUL(destPixels[x], minusAlphaOfColor); + for (; x < length-3; x += 4) { - __m128i dstVector = _mm_loadu_si128((__m128i *)&dst[x]); + __m128i dstVector = _mm_load_si128((__m128i *)&dst[x]); BYTE_MUL_SSE2(dstVector, dstVector, minusAlphaOfColorVector, colorMask, half); dstVector = _mm_add_epi8(colorVector, dstVector); - _mm_storeu_si128((__m128i *)&dst[x], dstVector); + _mm_store_si128((__m128i *)&dst[x], dstVector); } for (;x < length; ++x) destPixels[x] = color + BYTE_MUL(destPixels[x], minusAlphaOfColor); -- cgit v0.12 From 90fd66a0c435e3b314327ab7126d2dc4e850fee8 Mon Sep 17 00:00:00 2001 From: Adenilson Cavalcanti da Silva Date: Mon, 13 Sep 2010 18:16:18 +0100 Subject: Fix compile error for runonphone on linux/gcc4.4.3 Make it build: - fixing missing prototype declaration - explicit inclusion header file Merge-request: 813 Reviewed-by: Shane Kearns --- tools/runonphone/ossignalconverter.cpp | 1 + 1 file changed, 1 insertion(+) diff --git a/tools/runonphone/ossignalconverter.cpp b/tools/runonphone/ossignalconverter.cpp index 6554e9f..8566458 100644 --- a/tools/runonphone/ossignalconverter.cpp +++ b/tools/runonphone/ossignalconverter.cpp @@ -42,6 +42,7 @@ #include "ossignalconverter_p.h" #include #include +#include Q_GLOBAL_STATIC(OsSignalConverter, osSignalConverter); -- cgit v0.12 From 83dcd6fbb145ce92705905c979fd8965c70f4b3a Mon Sep 17 00:00:00 2001 From: Martin Jones Date: Tue, 14 Sep 2010 10:16:20 +1000 Subject: In ParentChange treat flip in x and y as a 180 degree rotation The two are equivalent, but flip doesn't work in ParentChange. Task-number: QTBUG-13554 Reviewed-by: Michael Brasser --- src/declarative/util/qdeclarativeanimation.cpp | 5 ++-- .../util/qdeclarativestateoperations.cpp | 5 ++-- .../qdeclarativestates/data/parentChange6.qml | 30 ++++++++++++++++++++++ .../qdeclarativestates/tst_qdeclarativestates.cpp | 15 +++++++++++ 4 files changed, 51 insertions(+), 4 deletions(-) create mode 100644 tests/auto/declarative/qdeclarativestates/data/parentChange6.qml diff --git a/src/declarative/util/qdeclarativeanimation.cpp b/src/declarative/util/qdeclarativeanimation.cpp index 3c09747..ea3da25 100644 --- a/src/declarative/util/qdeclarativeanimation.cpp +++ b/src/declarative/util/qdeclarativeanimation.cpp @@ -2699,14 +2699,15 @@ void QDeclarativeParentAnimation::transition(QDeclarativeStateActions &actions, qreal scale = 1; qreal rotation = 0; - if (ok && transform.type() != QTransform::TxRotate) { + bool isRotate = (transform.type() == QTransform::TxRotate) || (transform.m11() < 0); + if (ok && !isRotate) { if (transform.m11() == transform.m22()) scale = transform.m11(); else { qmlInfo(this) << QDeclarativeParentAnimation::tr("Unable to preserve appearance under non-uniform scale"); ok = false; } - } else if (ok && transform.type() == QTransform::TxRotate) { + } else if (ok && isRotate) { if (transform.m11() == transform.m22()) scale = qSqrt(transform.m11()*transform.m11() + transform.m12()*transform.m12()); else { diff --git a/src/declarative/util/qdeclarativestateoperations.cpp b/src/declarative/util/qdeclarativestateoperations.cpp index 845b3da..a78fc54 100644 --- a/src/declarative/util/qdeclarativestateoperations.cpp +++ b/src/declarative/util/qdeclarativestateoperations.cpp @@ -98,14 +98,15 @@ void QDeclarativeParentChangePrivate::doChange(QDeclarativeItem *targetParent, Q qreal scale = 1; qreal rotation = 0; - if (ok && transform.type() != QTransform::TxRotate) { + bool isRotate = (transform.type() == QTransform::TxRotate) || (transform.m11() < 0); + if (ok && !isRotate) { if (transform.m11() == transform.m22()) scale = transform.m11(); else { qmlInfo(q) << QDeclarativeParentChange::tr("Unable to preserve appearance under non-uniform scale"); ok = false; } - } else if (ok && transform.type() == QTransform::TxRotate) { + } else if (ok && isRotate) { if (transform.m11() == transform.m22()) scale = qSqrt(transform.m11()*transform.m11() + transform.m12()*transform.m12()); else { diff --git a/tests/auto/declarative/qdeclarativestates/data/parentChange6.qml b/tests/auto/declarative/qdeclarativestates/data/parentChange6.qml new file mode 100644 index 0000000..be92aba --- /dev/null +++ b/tests/auto/declarative/qdeclarativestates/data/parentChange6.qml @@ -0,0 +1,30 @@ +import Qt 4.7 + +Rectangle { + width: 400; height: 400 + Rectangle { + id: myRect + objectName: "MyRect" + x: 5; y: 5 + width: 100; height: 100 + color: "red" + } + MouseArea { + id: clickable + anchors.fill: parent + } + + Item { + id: newParent + rotation: 180 + } + + states: State { + name: "reparented" + when: clickable.pressed + ParentChange { + target: myRect + parent: newParent + } + } +} diff --git a/tests/auto/declarative/qdeclarativestates/tst_qdeclarativestates.cpp b/tests/auto/declarative/qdeclarativestates/tst_qdeclarativestates.cpp index 6ae2759..0621602 100644 --- a/tests/auto/declarative/qdeclarativestates/tst_qdeclarativestates.cpp +++ b/tests/auto/declarative/qdeclarativestates/tst_qdeclarativestates.cpp @@ -581,6 +581,21 @@ void tst_qdeclarativestates::parentChange() //do a non-qFuzzyCompare fuzzy compare QVERIFY(innerRect->y() < qreal(0.00001) && innerRect->y() > qreal(-0.00001)); } + + { + QDeclarativeComponent rectComponent(&engine, SRCDIR "/data/parentChange6.qml"); + QDeclarativeRectangle *rect = qobject_cast(rectComponent.create()); + QVERIFY(rect != 0); + + QDeclarativeRectangle *innerRect = qobject_cast(rect->findChild("MyRect")); + QVERIFY(innerRect != 0); + + QDeclarativeItemPrivate::get(rect)->setState("reparented"); + QCOMPARE(innerRect->rotation(), qreal(180)); + QCOMPARE(innerRect->scale(), qreal(1)); + QCOMPARE(innerRect->x(), qreal(-105)); + QCOMPARE(innerRect->y(), qreal(-105)); + } } void tst_qdeclarativestates::parentChangeErrors() -- cgit v0.12 From 71ba591c5db9a09747f5f5a68539495848ffb00f Mon Sep 17 00:00:00 2001 From: Aaron McCarthy Date: Tue, 14 Sep 2010 13:20:37 +1000 Subject: Make compile. --- src/gui/kernel/qgesture_p.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/gui/kernel/qgesture_p.h b/src/gui/kernel/qgesture_p.h index e8f8fe3..6a856ac 100644 --- a/src/gui/kernel/qgesture_p.h +++ b/src/gui/kernel/qgesture_p.h @@ -146,7 +146,7 @@ public: : horizontalDirection(QSwipeGesture::NoDirection), verticalDirection(QSwipeGesture::NoDirection), swipeAngle(0), - started(false), velocityValue(0), + started(false), velocityValue(0) { } -- cgit v0.12 From e74d609b93f3480c239c4921c1683b3944aff44f Mon Sep 17 00:00:00 2001 From: Gunnar Sletta Date: Tue, 14 Sep 2010 07:28:14 +0200 Subject: Fix top-left corner of rounded rects in QPaintEngineEx Reviewed-by: Rhys Weatherley --- src/gui/painting/qpaintengineex.cpp | 2 +- src/openvg/qpaintengine_vg.cpp | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/gui/painting/qpaintengineex.cpp b/src/gui/painting/qpaintengineex.cpp index 881bd6e..1e857e4 100644 --- a/src/gui/painting/qpaintengineex.cpp +++ b/src/gui/painting/qpaintengineex.cpp @@ -768,7 +768,7 @@ void QPaintEngineEx::drawRoundedRect(const QRectF &rect, qreal xRadius, qreal yR x1, y2 - (1 - KAPPA) * yRadius, x1, y2 - yRadius, x1, y1 + yRadius, // LineTo - x1, y1 + KAPPA * yRadius, // CurveTo + x1, y1 + (1 - KAPPA) * yRadius, // CurveTo x1 + (1 - KAPPA) * xRadius, y1, x1 + xRadius, y1 }; diff --git a/src/openvg/qpaintengine_vg.cpp b/src/openvg/qpaintengine_vg.cpp index 1b0c5e8..3c2fd3d 100644 --- a/src/openvg/qpaintengine_vg.cpp +++ b/src/openvg/qpaintengine_vg.cpp @@ -1008,7 +1008,7 @@ VGPath QVGPaintEnginePrivate::roundedRectPath(const QRectF &rect, qreal xRadius, x1, y2 - (1 - KAPPA) * yRadius, x1, y2 - yRadius, x1, y1 + yRadius, // LineTo - x1, y1 + KAPPA * yRadius, // CurveTo + x1, y1 + (1 - KAPPA) * yRadius, // CurveTo x1 + (1 - KAPPA) * xRadius, y1, x1 + xRadius, y1 }; -- cgit v0.12 From 740e1f88da76b9d52bc0b5600b808e91cec97f73 Mon Sep 17 00:00:00 2001 From: Zeno Albisser Date: Tue, 14 Sep 2010 03:49:19 -0400 Subject: expose GestureType for using in QML Reviewed-by: Denis Dzyubenko --- src/corelib/global/qnamespace.h | 1 + src/gui/kernel/qgesture.h | 1 + 2 files changed, 2 insertions(+) diff --git a/src/corelib/global/qnamespace.h b/src/corelib/global/qnamespace.h index 68702c4..3952836 100644 --- a/src/corelib/global/qnamespace.h +++ b/src/corelib/global/qnamespace.h @@ -92,6 +92,7 @@ Qt { Q_ENUMS(ConnectionType) #ifndef QT_NO_GESTURES Q_ENUMS(GestureState) + Q_ENUMS(GestureType) #endif #endif // (defined(Q_MOC_RUN) || defined(QT_JAMBI_RUN)) diff --git a/src/gui/kernel/qgesture.h b/src/gui/kernel/qgesture.h index 2e279b0..8416708 100644 --- a/src/gui/kernel/qgesture.h +++ b/src/gui/kernel/qgesture.h @@ -54,6 +54,7 @@ QT_BEGIN_HEADER Q_DECLARE_METATYPE(Qt::GestureState) +Q_DECLARE_METATYPE(Qt::GestureType) QT_BEGIN_NAMESPACE -- cgit v0.12 From 57295fb967cd7d50a1e4113edf995b9592d1576f Mon Sep 17 00:00:00 2001 From: Friedemann Kleint Date: Tue, 14 Sep 2010 10:55:20 +0200 Subject: Fix compile warnings. Reviewed-by: Thomas Hartmann --- src/declarative/qml/qdeclarativeobjectscriptclass.cpp | 2 +- src/declarative/qml/qdeclarativescriptparser.cpp | 2 +- src/declarative/qml/qdeclarativexmlhttprequest.cpp | 4 ++-- src/gui/kernel/qaction.cpp | 3 ++- src/network/access/qnetworkreplyimpl.cpp | 1 + 5 files changed, 7 insertions(+), 5 deletions(-) diff --git a/src/declarative/qml/qdeclarativeobjectscriptclass.cpp b/src/declarative/qml/qdeclarativeobjectscriptclass.cpp index 9d74238..ab6ff74 100644 --- a/src/declarative/qml/qdeclarativeobjectscriptclass.cpp +++ b/src/declarative/qml/qdeclarativeobjectscriptclass.cpp @@ -843,7 +843,7 @@ QDeclarativeObjectMethodScriptClass::Value QDeclarativeObjectMethodScriptClass:: for (int ii = 0; ii < argTypeNames.count(); ++ii) { argTypes[ii] = QMetaType::type(argTypeNames.at(ii)); if (argTypes[ii] == QVariant::Invalid) - argTypes[ii] = enumType(method->object->metaObject(), argTypeNames.at(ii)); + argTypes[ii] = enumType(method->object->metaObject(), QString::fromLatin1(argTypeNames.at(ii))); if (argTypes[ii] == QVariant::Invalid) return Value(ctxt, ctxt->throwError(QString::fromLatin1("Unknown method parameter type: %1").arg(QLatin1String(argTypeNames.at(ii))))); } diff --git a/src/declarative/qml/qdeclarativescriptparser.cpp b/src/declarative/qml/qdeclarativescriptparser.cpp index c956051..57cc9ab 100644 --- a/src/declarative/qml/qdeclarativescriptparser.cpp +++ b/src/declarative/qml/qdeclarativescriptparser.cpp @@ -895,7 +895,7 @@ QList QDeclarativeScriptParser::errors() const static void replaceWithSpace(QString &str, int idx, int n) { QChar *data = str.data() + idx; - QChar space(' '); + const QChar space(QLatin1Char(' ')); for (int ii = 0; ii < n; ++ii) *data++ = space; } diff --git a/src/declarative/qml/qdeclarativexmlhttprequest.cpp b/src/declarative/qml/qdeclarativexmlhttprequest.cpp index d832638..332acc4 100644 --- a/src/declarative/qml/qdeclarativexmlhttprequest.cpp +++ b/src/declarative/qml/qdeclarativexmlhttprequest.cpp @@ -1640,8 +1640,8 @@ static QScriptValue qmlxmlhttprequest_responseXML(QScriptContext *context, QScri THROW_REFERENCE("Not an XMLHttpRequest object"); if (!request->receivedXml() || - request->readyState() != QDeclarativeXMLHttpRequest::Loading && - request->readyState() != QDeclarativeXMLHttpRequest::Done) + (request->readyState() != QDeclarativeXMLHttpRequest::Loading && + request->readyState() != QDeclarativeXMLHttpRequest::Done)) return engine->nullValue(); else return Document::load(engine, request->rawResponseBody()); diff --git a/src/gui/kernel/qaction.cpp b/src/gui/kernel/qaction.cpp index a6d2594..f7e0751 100644 --- a/src/gui/kernel/qaction.cpp +++ b/src/gui/kernel/qaction.cpp @@ -82,8 +82,9 @@ static QString qt_strippedText(QString s) QActionPrivate::QActionPrivate() : group(0), enabled(1), forceDisabled(0), visible(1), forceInvisible(0), checkable(0), checked(0), separator(0), fontSet(false), forceEnabledInSoftkeys(false), menuActionSoftkeys(false), + iconVisibleInMenu(-1), menuRole(QAction::TextHeuristicRole), softKeyRole(QAction::NoSoftKey), - priority(QAction::NormalPriority), iconVisibleInMenu(-1) + priority(QAction::NormalPriority) { #ifdef QT3_SUPPORT static int qt_static_action_id = -1; diff --git a/src/network/access/qnetworkreplyimpl.cpp b/src/network/access/qnetworkreplyimpl.cpp index 31ee2a4..5850494 100644 --- a/src/network/access/qnetworkreplyimpl.cpp +++ b/src/network/access/qnetworkreplyimpl.cpp @@ -588,6 +588,7 @@ void QNetworkReplyImplPrivate::appendDownstreamData(QIODevice *data) void QNetworkReplyImplPrivate::appendDownstreamData(const QByteArray &data) { + Q_UNUSED(data) // TODO implement // TODO call -- cgit v0.12 From 856eaf6d52c94fdf3bb0e3cdd60b79dccd8325f4 Mon Sep 17 00:00:00 2001 From: Friedemann Kleint Date: Tue, 14 Sep 2010 11:05:14 +0200 Subject: I18n: Fix some lupdate warnings. --- src/corelib/plugin/qsystemlibrary.cpp | 4 +- src/declarative/qml/qdeclarativetypeloader.cpp | 8 +- src/gui/accessible/qaccessible_win.cpp | 130 ++++++++++----------- src/gui/embedded/qsoundqss_qws.cpp | 2 +- .../tools/assistant/helpenginewrapper.cpp | 2 +- tools/assistant/tools/qhelpconverter/filespage.cpp | 4 +- .../assistant/tools/qhelpconverter/filterpage.cpp | 2 +- .../formeditor/formeditor_optionspage.cpp | 6 +- tools/linguist/shared/translator.h | 4 +- 9 files changed, 82 insertions(+), 80 deletions(-) diff --git a/src/corelib/plugin/qsystemlibrary.cpp b/src/corelib/plugin/qsystemlibrary.cpp index a11ed50..eeb142b 100644 --- a/src/corelib/plugin/qsystemlibrary.cpp +++ b/src/corelib/plugin/qsystemlibrary.cpp @@ -78,7 +78,7 @@ (http://msdn.microsoft.com/en-us/library/ms886736.aspx) */ #if defined(Q_OS_WINCE) -HINSTANCE QSystemLibrary::load(const wchar_t *libraryName, bool onlySystemDirectory/*= true*/) +HINSTANCE QSystemLibrary::load(const wchar_t *libraryName, bool onlySystemDirectory /* = true */) { return ::LoadLibrary(libraryName); } @@ -101,7 +101,7 @@ static QString qSystemDirectory() return QString::fromWCharArray(fullPath.constData(), int(retLen)); } -HINSTANCE QSystemLibrary::load(const wchar_t *libraryName, bool onlySystemDirectory/*= true*/) +HINSTANCE QSystemLibrary::load(const wchar_t *libraryName, bool onlySystemDirectory /* = true */) { QStringList searchOrder; diff --git a/src/declarative/qml/qdeclarativetypeloader.cpp b/src/declarative/qml/qdeclarativetypeloader.cpp index 9b42065..061f309 100644 --- a/src/declarative/qml/qdeclarativetypeloader.cpp +++ b/src/declarative/qml/qdeclarativetypeloader.cpp @@ -804,7 +804,7 @@ void QDeclarativeTypeData::done() error.setUrl(finalUrl()); error.setLine(script.location.line); error.setColumn(script.location.column); - error.setDescription(typeLoader()->tr("Script %1 unavailable").arg(script.script->url().toString())); + error.setDescription(QDeclarativeTypeLoader::tr("Script %1 unavailable").arg(script.script->url().toString())); errors.prepend(error); setError(errors); } @@ -822,7 +822,7 @@ void QDeclarativeTypeData::done() error.setUrl(finalUrl()); error.setLine(type.location.line); error.setColumn(type.location.column); - error.setDescription(typeLoader()->tr("Type %1 unavailable").arg(typeName)); + error.setDescription(QDeclarativeTypeLoader::tr("Type %1 unavailable").arg(typeName)); errors.prepend(error); setError(errors); } @@ -995,9 +995,9 @@ void QDeclarativeTypeData::resolveTypes() QString userTypeName = parserRef->name; userTypeName.replace(QLatin1Char('/'),QLatin1Char('.')); if (typeNamespace) - error.setDescription(typeLoader()->tr("Namespace %1 cannot be used as a type").arg(userTypeName)); + error.setDescription(QDeclarativeTypeLoader::tr("Namespace %1 cannot be used as a type").arg(userTypeName)); else - error.setDescription(typeLoader()->tr("%1 %2").arg(userTypeName).arg(errorString)); + error.setDescription(QDeclarativeTypeLoader::tr("%1 %2").arg(userTypeName).arg(errorString)); if (!parserRef->refObjects.isEmpty()) { QDeclarativeParser::Object *obj = parserRef->refObjects.first(); diff --git a/src/gui/accessible/qaccessible_win.cpp b/src/gui/accessible/qaccessible_win.cpp index 132d01f..31e7245 100644 --- a/src/gui/accessible/qaccessible_win.cpp +++ b/src/gui/accessible/qaccessible_win.cpp @@ -76,71 +76,71 @@ QT_END_INCLUDE_NAMESPACE static const char *roleString(QAccessible::Role role) { static const char *roles[] = { - "NoRole" /*= 0x00000000*/, - "TitleBar" /*= 0x00000001*/, - "MenuBar" /*= 0x00000002*/, - "ScrollBar" /*= 0x00000003*/, - "Grip" /*= 0x00000004*/, - "Sound" /*= 0x00000005*/, - "Cursor" /*= 0x00000006*/, - "Caret" /*= 0x00000007*/, - "AlertMessage" /*= 0x00000008*/, - "Window" /*= 0x00000009*/, - "Client" /*= 0x0000000A*/, - "PopupMenu" /*= 0x0000000B*/, - "MenuItem" /*= 0x0000000C*/, - "ToolTip" /*= 0x0000000D*/, - "Application" /*= 0x0000000E*/, - "Document" /*= 0x0000000F*/, - "Pane" /*= 0x00000010*/, - "Chart" /*= 0x00000011*/, - "Dialog" /*= 0x00000012*/, - "Border" /*= 0x00000013*/, - "Grouping" /*= 0x00000014*/, - "Separator" /*= 0x00000015*/, - "ToolBar" /*= 0x00000016*/, - "StatusBar" /*= 0x00000017*/, - "Table" /*= 0x00000018*/, - "ColumnHeader" /*= 0x00000019*/, - "RowHeader" /*= 0x0000001A*/, - "Column" /*= 0x0000001B*/, - "Row" /*= 0x0000001C*/, - "Cell" /*= 0x0000001D*/, - "Link" /*= 0x0000001E*/, - "HelpBalloon" /*= 0x0000001F*/, - "Assistant" /*= 0x00000020*/, - "List" /*= 0x00000021*/, - "ListItem" /*= 0x00000022*/, - "Tree" /*= 0x00000023*/, - "TreeItem" /*= 0x00000024*/, - "PageTab" /*= 0x00000025*/, - "PropertyPage" /*= 0x00000026*/, - "Indicator" /*= 0x00000027*/, - "Graphic" /*= 0x00000028*/, - "StaticText" /*= 0x00000029*/, - "EditableText" /*= 0x0000002A*/, // Editable, selectable, etc. - "PushButton" /*= 0x0000002B*/, - "CheckBox" /*= 0x0000002C*/, - "RadioButton" /*= 0x0000002D*/, - "ComboBox" /*= 0x0000002E*/, - "DropList" /*= 0x0000002F*/, // commented out - "ProgressBar" /*= 0x00000030*/, - "Dial" /*= 0x00000031*/, - "HotkeyField" /*= 0x00000032*/, - "Slider" /*= 0x00000033*/, - "SpinBox" /*= 0x00000034*/, - "Canvas" /*= 0x00000035*/, - "Animation" /*= 0x00000036*/, - "Equation" /*= 0x00000037*/, - "ButtonDropDown" /*= 0x00000038*/, - "ButtonMenu" /*= 0x00000039*/, - "ButtonDropGrid" /*= 0x0000003A*/, - "Whitespace" /*= 0x0000003B*/, - "PageTabList" /*= 0x0000003C*/, - "Clock" /*= 0x0000003D*/, - "Splitter" /*= 0x0000003E*/, - "LayeredPane" /*= 0x0000003F*/, - "UserRole" /*= 0x0000ffff*/ + "NoRole" /* = 0x00000000 */, + "TitleBar" /* = 0x00000001 */, + "MenuBar" /* = 0x00000002 */, + "ScrollBar" /* = 0x00000003 */, + "Grip" /* = 0x00000004 */, + "Sound" /* = 0x00000005 */, + "Cursor" /* = 0x00000006 */, + "Caret" /* = 0x00000007 */, + "AlertMessage" /* = 0x00000008 */, + "Window" /* = 0x00000009 */, + "Client" /* = 0x0000000A */, + "PopupMenu" /* = 0x0000000B */, + "MenuItem" /* = 0x0000000C */, + "ToolTip" /* = 0x0000000D */, + "Application" /* = 0x0000000E */, + "Document" /* = 0x0000000F */, + "Pane" /* = 0x00000010 */, + "Chart" /* = 0x00000011 */, + "Dialog" /* = 0x00000012 */, + "Border" /* = 0x00000013 */, + "Grouping" /* = 0x00000014 */, + "Separator" /* = 0x00000015 */, + "ToolBar" /* = 0x00000016 */, + "StatusBar" /* = 0x00000017 */, + "Table" /* = 0x00000018 */, + "ColumnHeader" /* = 0x00000019 */, + "RowHeader" /* = 0x0000001A */, + "Column" /* = 0x0000001B */, + "Row" /* = 0x0000001C */, + "Cell" /* = 0x0000001D */, + "Link" /* = 0x0000001E */, + "HelpBalloon" /* = 0x0000001F */, + "Assistant" /* = 0x00000020 */, + "List" /* = 0x00000021 */, + "ListItem" /* = 0x00000022 */, + "Tree" /* = 0x00000023 */, + "TreeItem" /* = 0x00000024 */, + "PageTab" /* = 0x00000025 */, + "PropertyPage" /* = 0x00000026 */, + "Indicator" /* = 0x00000027 */, + "Graphic" /* = 0x00000028 */, + "StaticText" /* = 0x00000029 */, + "EditableText" /* = 0x0000002A */, // Editable, selectable, etc. + "PushButton" /* = 0x0000002B */, + "CheckBox" /* = 0x0000002C */, + "RadioButton" /* = 0x0000002D */, + "ComboBox" /* = 0x0000002E */, + "DropList" /* = 0x0000002F */, // commented out + "ProgressBar" /* = 0x00000030 */, + "Dial" /* = 0x00000031 */, + "HotkeyField" /* = 0x00000032 */, + "Slider" /* = 0x00000033 */, + "SpinBox" /* = 0x00000034 */, + "Canvas" /* = 0x00000035 */, + "Animation" /* = 0x00000036 */, + "Equation" /* = 0x00000037 */, + "ButtonDropDown" /* = 0x00000038 */, + "ButtonMenu" /* = 0x00000039 */, + "ButtonDropGrid" /* = 0x0000003A */, + "Whitespace" /* = 0x0000003B */, + "PageTabList" /* = 0x0000003C */, + "Clock" /* = 0x0000003D */, + "Splitter" /* = 0x0000003E */, + "LayeredPane" /* = 0x0000003F */, + "UserRole" /* = 0x0000ffff*/ }; if (role >=0x40) diff --git a/src/gui/embedded/qsoundqss_qws.cpp b/src/gui/embedded/qsoundqss_qws.cpp index 3958cf0..c77c35c 100644 --- a/src/gui/embedded/qsoundqss_qws.cpp +++ b/src/gui/embedded/qsoundqss_qws.cpp @@ -286,7 +286,7 @@ public: rightVolume = maxVolume>>1; isPriority = false; samples_due = 0; - max1 = max2 = out = 0;//= sound_buffer_size; + max1 = max2 = out = 0;// = sound_buffer_size; data = data1; max = &max1; sampleRunin = 0; diff --git a/tools/assistant/tools/assistant/helpenginewrapper.cpp b/tools/assistant/tools/assistant/helpenginewrapper.cpp index 9748702..a53a9ee 100644 --- a/tools/assistant/tools/assistant/helpenginewrapper.cpp +++ b/tools/assistant/tools/assistant/helpenginewrapper.cpp @@ -114,7 +114,7 @@ private: QMap m_recentQchUpdates; }; -const QString HelpEngineWrapper::TrUnfiltered = tr("Unfiltered"); +const QString HelpEngineWrapper::TrUnfiltered = HelpEngineWrapper::tr("Unfiltered"); HelpEngineWrapper *HelpEngineWrapper::helpEngineWrapper = 0; diff --git a/tools/assistant/tools/qhelpconverter/filespage.cpp b/tools/assistant/tools/qhelpconverter/filespage.cpp index 4ebf391..fd4a40e 100644 --- a/tools/assistant/tools/qhelpconverter/filespage.cpp +++ b/tools/assistant/tools/qhelpconverter/filespage.cpp @@ -59,8 +59,8 @@ FilesPage::FilesPage(QWidget *parent) connect(m_ui.removeAllButton, SIGNAL(clicked()), this, SLOT(removeAllFiles())); - m_ui.fileLabel->setText(tr("

    Warning: Be aware " - "when removing images or stylesheets since those files " + m_ui.fileLabel->setText(tr("

    Warning: " + "When removing images or stylesheets, be aware that those files " "are not directly referenced by the .adp or .dcf " "file.

    ")); } diff --git a/tools/assistant/tools/qhelpconverter/filterpage.cpp b/tools/assistant/tools/qhelpconverter/filterpage.cpp index c782943..c15a580 100644 --- a/tools/assistant/tools/qhelpconverter/filterpage.cpp +++ b/tools/assistant/tools/qhelpconverter/filterpage.cpp @@ -50,7 +50,7 @@ FilterPage::FilterPage(QWidget *parent) setTitle(tr("Filter Settings")); setSubTitle(tr("Specify the filter attributes for the " "documentation. If filter attributes are used, " - "also define a custom filter for it. Both, the " + "also define a custom filter for it. Both the " "filter attributes and the custom filters are " "optional.")); diff --git a/tools/designer/src/components/formeditor/formeditor_optionspage.cpp b/tools/designer/src/components/formeditor/formeditor_optionspage.cpp index 102f44a..8e0cc66 100644 --- a/tools/designer/src/components/formeditor/formeditor_optionspage.cpp +++ b/tools/designer/src/components/formeditor/formeditor_optionspage.cpp @@ -86,9 +86,11 @@ ZoomSettingsWidget::ZoomSettingsWidget(QWidget *parent) : m_zoomCombo->setEditable(false); const IntList zoomValues = ZoomMenu::zoomValues(); const IntList::const_iterator cend = zoomValues.constEnd(); - //: Zoom percentage - for (IntList::const_iterator it = zoomValues.constBegin(); it != cend; ++it) + + for (IntList::const_iterator it = zoomValues.constBegin(); it != cend; ++it) { + //: Zoom percentage m_zoomCombo->addItem(QCoreApplication::translate("FormEditorOptionsPage", "%1 %").arg(*it), QVariant(*it)); + } // Layout setCheckable(true); diff --git a/tools/linguist/shared/translator.h b/tools/linguist/shared/translator.h index cfb2178..02cfb07 100644 --- a/tools/linguist/shared/translator.h +++ b/tools/linguist/shared/translator.h @@ -123,8 +123,8 @@ class Translator public: Translator(); - bool load(const QString &filename, ConversionData &err, const QString &format /*= "auto"*/); - bool save(const QString &filename, ConversionData &err, const QString &format /*= "auto"*/) const; + bool load(const QString &filename, ConversionData &err, const QString &format /* = "auto" */); + bool save(const QString &filename, ConversionData &err, const QString &format /* = "auto" */) const; bool release(QFile *iod, ConversionData &cd) const; int find(const TranslatorMessage &msg) const; -- cgit v0.12 From e23a4efe9a16de3d12b30411c62d677bfb6da8cf Mon Sep 17 00:00:00 2001 From: Joerg Bornemann Date: Tue, 14 Sep 2010 11:37:14 +0200 Subject: build fix for configure.exe Reviewed-by: TrustMe --- tools/configure/configure.pro | 1 + 1 file changed, 1 insertion(+) diff --git a/tools/configure/configure.pro b/tools/configure/configure.pro index a3473af..8a62fe1 100644 --- a/tools/configure/configure.pro +++ b/tools/configure/configure.pro @@ -92,6 +92,7 @@ SOURCES = main.cpp configureapp.cpp environment.cpp tools.cpp \ $$QT_SOURCE_TREE/src/corelib/io/qiodevice.cpp \ $$QT_SOURCE_TREE/src/corelib/io/qtextstream.cpp \ $$QT_SOURCE_TREE/src/corelib/io/qtemporaryfile.cpp \ + $$QT_SOURCE_TREE/src/corelib/plugin/qsystemlibrary.cpp \ $$QT_SOURCE_TREE/src/corelib/tools/qbitarray.cpp \ $$QT_SOURCE_TREE/src/corelib/tools/qdatetime.cpp \ $$QT_SOURCE_TREE/src/corelib/tools/qmap.cpp \ -- cgit v0.12 From 3992147ad0364b19b45bfa73397e9ab6206a4163 Mon Sep 17 00:00:00 2001 From: Friedemann Kleint Date: Tue, 14 Sep 2010 11:39:46 +0200 Subject: L10n: Update German translations for 4.7.1, part 1. --- translations/assistant_de.ts | 540 +++++++++++++++++++++++++++++++++- translations/designer_de.ts | 56 ++++ translations/linguist_de.ts | 686 +++++++++++++++++++++++++++++++++++++++++++ translations/qt_de.ts | 46 ++- translations/qt_help_de.ts | 2 +- 5 files changed, 1322 insertions(+), 8 deletions(-) diff --git a/translations/assistant_de.ts b/translations/assistant_de.ts index 0f4d0d6..95fabaf 100644 --- a/translations/assistant_de.ts +++ b/translations/assistant_de.ts @@ -75,7 +75,7 @@ Grund:
    Error reading collection file '%1': %2 - Fehler beim Lesen der Katalogdatei '%1': %2 + Fehler beim Lesen der Katalogdatei '%1': %2 Cannot load sqlite database driver! @@ -110,6 +110,17 @@ Grund:
    + BookmarkItem + + New Folder + Neuer Ordner + + + Untitled + Ohne Titel + + + BookmarkManager Untitled @@ -327,6 +338,39 @@ Grund: Die Katalogdatei '%1' existiert nicht. + Usage: assistant [Options] + +-collectionFile file Uses the specified collection + file instead of the default one +-showUrl url Shows the document with the + url. +-enableRemoteControl Enables Assistant to be + remotely controlled. +-show widget Shows the specified dockwidget + which can be "contents", "index", + "bookmarks" or "search". +-activate widget Activates the specified dockwidget + which can be "contents", "index", + "bookmarks" or "search". +-hide widget Hides the specified dockwidget + which can be "contents", "index" + "bookmarks" or "search". +-register helpFile Registers the specified help file + (.qch) in the given collection + file. +-unregister helpFile Unregisters the specified help file + (.qch) from the give collection + file. +-setCurrentFilter filter Set the filter as the active filter. +-remove-search-index Removes the full text search index. +-rebuild-search-index Re-builds the full text search index (potentially slow). +-quiet Does not display any error or + status message. +-help Displays this help. + + + + Missing collection file. Fehlende Katalogdatei. @@ -375,6 +419,60 @@ Grund: + ConversionWizard + + Help Conversion Wizard + Konvertierungsassistant für Hilfedateien + + + Converting %1... + Konvertiere %1... + + + Writing help collection file... + Schreibe Hilfedatei... + + + Done. + Beendet. + + + + FilesPage + + Form + Form + + + Files: + Dateien: + + + Remove + Entfernen + + + Remove All + Alle entfernen + + + Unreferenced Files + Unreferenzierte Dateien + + + Remove files which are neither referenced by a keyword nor by the TOC. + Entfernt Dateien, die weder vom Inhaltsverzeichnis noch von einem Schlüsselwort referenziert werden. + + + <p><b>Warning:</b> When removing images or stylesheets, be aware that those files are not directly referenced by the .adp or .dcf file.</p> + <p><b>Warnhinweis:</b> Beachten Sie beim Löschen von Bilddateien oder Stylesheet-Dateien, dass diese nicht direkt von den .adp- oder .dcf-Dateien referenziert werden.</p> + + + <p><b>Warning:</b> Be aware when removing images or stylesheets since those files are not directly referenced by the .adp or .dcf file.</p> + <p><b>Warnhinweis:</b> Be aware when removing images or stylesheets since those files are not directly referenced by the .adp or .dcf file.</p> + + + FilterNameDialogClass Add Filter Name @@ -386,6 +484,70 @@ Grund: + FilterPage + + Form + + + + Filter attributes for current documentation (comma separated list): + Attribute der Filter für die angezeigte Dokumentation (durch Komma getrennte Liste): + + + Custom Filters + Benutzerdefinierte Filter + + + 1 + 1 + + + 2 + 2 + + + Add + Hinzufügen + + + Remove + Entfernen + + + Filter Settings + Filtereinstellungen + + + Specify the filter attributes for the documentation. If filter attributes are used, also define a custom filter for it. Both, the filter attributes and the custom filters are optional. + Geben Sie die Attribute der Filter für die Dokumentation an. Wenn Attribute verwendet werden, sollte auch ein benutzerdefiniertes Filter festgelegt werden. Sowohl Filter-Attribute als auch benutzerdefinierte Filter sind jedoch optional. + + + Specify the filter attributes for the documentation. If filter attributes are used, also define a custom filter for it. Both the filter attributes and the custom filters are optional. + Geben Sie die Attribute der Filter für die Dokumentation an. Wenn Attribute verwendet werden, sollte auch ein benutzerdefiniertes Filter festgelegt werden. Sowohl Filter-Attribute als auch benutzerdefinierte Filter sind jedoch optional. + + + Filter Name + Filtername + + + Filter Attributes + Attribute des Filters + + + The custom filter '%1' is defined multiple times. + Das benutzerdefinierte Filter '%1' wurde mehrfach definiert. + + + The attributes for custom filter '%1' are defined multiple times. + Die Attribute des benutzerdefinierten Filters '%1' wurden mehrfach definiert. + + + unfiltered + list of available documentation + Ungefiltert + + + FindWidget Previous @@ -405,6 +567,17 @@ Grund: + FinishPage + + Converting File + Konvertiere Datei + + + Creating the new Qt help files from the old ADP file. + Erzeuge die neuen Qt-Hilfedateien aus den alten ADP-Dateien. + + + FontPanel Font @@ -428,6 +601,59 @@ Grund: + GeneralPage + + Form + Form + + + Namespace: + Namensraum: + + + Virtual Folder: + Virtueller Ordner: + + + General Settings + Allgemeine Einstellungen + + + Specify the namespace and the virtual folder for the documentation. + Geben Sie den Namensraum und den virtuellen Ordner für die Dokumentation an. + + + Namespace Error + Fehlerhafter Namensraum + + + The namespace contains some invalid characters. + Der Namensraum enthält einige ungültige Zeichen. + + + Virtual Folder Error + Fehlerhafter virtueller Ordner + + + The virtual folder contains some invalid characters. + Der virtuelle Ornder enthält einige ungültige Zeichen. + + + + HelpEngineWrapper + + Unfiltered + Ungefiltert + + + + HelpGenerator + + Warning: %1 + Warnung: %1 + + + HelpViewer <title>about:blank</title> @@ -451,6 +677,40 @@ Grund: + HelpWindow + + <center><b>Wizard Assistant</b></center> + <center><b>Assistent</b></center> + + + + IdentifierPage + + Form + Form + + + Create identifiers + Bezeichner erzeugen + + + Global prefix: + Globaler Präfix: + + + Inherit prefix from file names + Präfixe aus Dateinamen entnehmen + + + Identifiers + Bezeichner + + + This page allows you to create identifiers from the keywords found in the .adp or .dcf file. + Diese Seite gestattet das Erzeugen von Bezeichnern aus den Schlüsselwörtern, die in den .adp- oder .dcf-Dateien gefunden werden. + + + IndexWindow &Look for: @@ -466,6 +726,53 @@ Grund: + InputPage + + Form + Form + + + File name: + Dateiname: + + + ... + ... + + + Input File + Eingabedatei: + + + Specify the .adp or .dcf file you want to convert to the new Qt help project format and/or collection format. + Geben Sie die .adp- oder .dcf-Datei an, die Sie in die neuen Qt-Hilfedateiformate konvertieren möchten. + + + Open file + Datei öffnen + + + Qt Help Files (*.adp *.dcf) + Qt-Hilfedateien (*.adp *.dcf) + + + File Open Error + Fehler beim Öffnen der Datei + + + The specified file could not be opened! + Die angegebene Datei konnte nicht geöffnet werden. + + + File Parsing Error + Fehler beim Auslesen der Datei + + + Parsing error in line %1! + Fehler bei Zeile %1. + + + InstallDialog Install Documentation @@ -681,6 +988,10 @@ Grund: Ctrl+Alt+Left + <center><h3>%1</h3><p>Version %2</p></center><p>Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).</p> + + + Could not register file '%1': %2 Die Datei '%1' konnte nicht registriert werden: %2 @@ -778,6 +1089,92 @@ Grund: + OutputPage + + Form + Form + + + Project file name: + Name der Projektdatei: + + + Collection file name: + Name der Katalogdatei: + + + Output File Names + Ausgabedateien + + + Specify the file names for the output files. + Geben Sie die Namen der Ausgabedateien an. + + + Convert... + Konvertiere ... + + + Qt Help Project File + Qt-Hilfe-Projektdatei + + + Qt Help Collection Project File + Qt-Hilfe-Katalogdatei + + + The specified file %1 already exist. + +Do you want to remove it? + Die Datei %1 existiert bereits. + +Möchten Sie sie löschen? + + + Remove + Entfernen + + + Cancel + Abbrechen + + + + PathPage + + Form + Form + + + File filters: + Dateifilter: + + + Documentation source file paths: + Pfade der Dokumentations-Quelldateien: + + + Add + Hinzufügen + + + Remove + Entfernen + + + Source File Paths + Pfade der Quelldateien + + + Specify the paths where the sources files are located. By default, all files in those directories matched by the file filter will be included. + Geben Sie die Pfade an, unter denen sich die Quelldateien befinden. Es werden alle Dateien aus diesen Verzeichnissen aufgenommen, die dem Dateifilter entsprechen. + + + Source File Path + Pfade der Quelldateien + + + PreferencesDialog Add Documentation @@ -912,6 +1309,147 @@ Grund: + QCollectionGenerator + + Unknown token at line %1. + Unbekanntes Schlüsselwort bei Zeile %1. + + + Unknown token at line %1. Expected "QtHelpCollectionProject". + Unbekanntes Schlüsselwort bei Zeile %1. Es wird "QtHelpCollectionProject" erwartet. + + + Missing end tags. + Es fehlen schließende Elemente. + + + Missing input or output file for help file generation. + Es fehlen einige der für die Erzeugung der Hilfedateien benötigte Eingabe- oder Ausgabedateien. + + + Missing output file name. + Es wurde kein Name für die Ausgabedatei angegeben. + + + Qt Collection Generator version 1.0 (Qt %1) + + Qt Collection Generator Version 1.0 (Qt %1) + + + + Missing collection config file. + Die für den Katalog benötigte Konfigurationsdatei fehlt. + + + +Usage: + +qcollectiongenerator <collection-config-file> [options] + + -o <collection-file> Generates a collection file + called <collection-file>. If + this option is not specified + a default name will be used. + -v Displays the version of + qcollectiongenerator. + + + + + + Could not open %1. + + Die Datei '%1' konnte nicht geöffnet werden. + + + + Reading collection config file... + + Lese Konfigurationsdatei des Katalogs... + + + + Collection config file error: %1 + + Fehler in der Konfigurationsdatei des Katalogs %1 + + + Generating help for %1... + + Erzeuge Hilfe für %1... + + + + Creating collection file... + + Erzeuge Katalogdatei... + + + + The file %1 cannot be overwritten. + + Die Datei %1 konnte nicht überschrieben werden. + + + Cannot open %1. + + Die Datei '%1' konnte nicht geöffnet werden. + + + + Cannot open referenced image file %1. + + Die referenzierte Bilddatei %1 konnte nicht geöffnet werden. + + + + + QHelpGenerator + + Missing output file name. + Es wurde kein Name für die Ausgabedatei angegeben. + + + Qt Help Generator version 1.0 (Qt %1) + + Qt Help Generator Version 1.0 (Qt %1) + + + + Missing Qt help project file. + Die Qt-Hilfe-Projektdatei fehlt. + + + +Usage: + +qhelpgenerator <help-project-file> [options] + + -o <compressed-file> Generates a Qt compressed help + file called <compressed-file>. + If this option is not specified + a default name will be used. + -c Checks whether all links in HTML files + point to files in this help project. + -v Displays the version of + qhelpgenerator. + + + + + + Could not open %1. + + Die Datei '%1' konnte nicht geöffnet werden. + + + + Could not create output directory: %1 + + Der Ausgabeordner '%1 konnte nicht erzeugt werden + + + RemoteControl Debugging Remote Control diff --git a/translations/designer_de.ts b/translations/designer_de.ts index 9ff5099..f0546c7 100644 --- a/translations/designer_de.ts +++ b/translations/designer_de.ts @@ -25,6 +25,49 @@ + AbstractItemEditor + + Selectable + Selectable + + + Editable + Editable + + + DragEnabled + DragEnabled + + + DropEnabled + DropEnabled + + + UserCheckable + UserCheckable + + + Enabled + Enabled + + + Tristate + Tristate + + + Unchecked + Unchecked + + + PartiallyChecked + PartiallyChecked + + + Checked + Checked + + + AddLinkDialog Insert Link @@ -851,6 +894,7 @@ Parsing grid layout minimum size values FormEditorOptionsPage %1 % + Zoom percentage %1 % @@ -2509,6 +2553,10 @@ Empty class name passed to widget factory method QtLocalePropertyManager + <Invalid> + <Ungültig> + + %1, %2 %1, %2 @@ -4730,6 +4778,14 @@ Please select another name. Nach neu installierten Plugins mit benutzerdefinierten Widgets suchen. + Loaded Plugins + Geladene Plugins + + + Failed Plugins + Fehlgeschlagene Plugins + + Qt Designer couldn't find any plugins Qt Designer kann keine Plugins finden diff --git a/translations/linguist_de.ts b/translations/linguist_de.ts index b4e0a45..aa992a9 100644 --- a/translations/linguist_de.ts +++ b/translations/linguist_de.ts @@ -257,6 +257,99 @@ Es wird mit einer einfachen Universalform gearbeitet. + LConvert + + +Usage: + lconvert [options] <infile> [<infile>...] + +lconvert is part of Qt's Linguist tool chain. It can be used as a +stand-alone tool to convert and filter translation data files. +The following file formats are supported: + +%1 +If multiple input files are specified, they are merged with +translations from later files taking precedence. + +Options: + -h + --help Display this information and exit. + + -i <infile> + --input-file <infile> + Specify input file. Use if <infile> might start with a dash. + This option can be used several times to merge inputs. + May be '-' (standard input) for use in a pipe. + + -o <outfile> + --output-file <outfile> + Specify output file. Default is '-' (standard output). + + -if <informat> + --input-format <format> + Specify input format for subsequent <infile>s. + The format is auto-detected from the file name and defaults to 'ts'. + + -of <outformat> + --output-format <outformat> + Specify output format. See -if. + + --input-codec <codec> + Specify encoding for QM and PO input files. Default is 'Latin1' + for QM and 'UTF-8' for PO files. UTF-8 is always tried as well for + QM, corresponding to the possible use of the trUtf8() function. + + --output-codec <codec> + Specify encoding for PO output files. Default is 'UTF-8'. + + --drop-tags <regexp> + Drop named extra tags when writing TS or XLIFF files. + May be specified repeatedly. + + --drop-translations + Drop existing translations and reset the status to 'unfinished'. + Note: this implies --no-obsolete. + + --source-language <language>[_<region>] + Specify/override the language of the source strings. Defaults to + POSIX if not specified and the file does not name it yet. + + --target-language <language>[_<region>] + Specify/override the language of the translation. + The target language is guessed from the file name if this option + is not specified and the file contents name no language yet. + + --no-obsolete + Drop obsolete messages. + + --no-finished + Drop finished messages. + + --sort-contexts + Sort contexts in output TS file alphabetically. + + --locations {absolute|relative|none} + Override how source code references are saved in TS files. + Default is absolute. + + --no-ui-lines + Drop line numbers from references to UI files. + + --verbose + be a bit more verbose + +Long options can be specified with only one leading dash, too. + +Return value: + 0 on success + 1 on command line parse failures + 2 on read failures + 3 on write failures + + + + + LRelease Dropped %n message(s) which had no ID. @@ -306,6 +399,586 @@ Es wird mit einer einfachen Universalform gearbeitet. + + Usage: + lrelease [options] project-file + lrelease [options] ts-files [-qm qm-file] + +lrelease is part of Qt's Linguist tool chain. It can be used as a +stand-alone tool to convert XML-based translations files in the TS +format into the 'compiled' QM format used by QTranslator objects. + +Options: + -help Display this information and exit + -idbased + Use IDs instead of source strings for message keying + -compress + Compress the QM files + -nounfinished + Do not include unfinished translations + -removeidentical + If the translated text is the same as + the source text, do not include the message + -markuntranslated <prefix> + If a message has no real translation, use the source text + prefixed with the given string instead + -silent + Do not explain what is being done + -version + Display the version of lrelease and exit + + + + + lrelease error: %1 + Fehler in lrelease: %1 + + + Updating '%1'... + + Bringe '%1' auf aktuellen Stand... + + + + Removing translations equal to source text in '%1'... + + Entferne Übersetzungen, die dem unübersetzten Text entsprechen, in '%1'... + + + + lrelease error: cannot create '%1': %2 + + Fehler in lrelease: '%1' kann nicht erzeugt werden: %2 + + + + lrelease error: cannot save '%1': %2 + Fehler in lrelease: '%1' kann nicht gespeichert werden: %2 + + + + lrelease version %1 + + lrelease Version %1 + + + + lrelease error: cannot read project file '%1'. + + Fehler in lrelease: Die Projektdatei '%1' kann nicht gelesen werden. + + + + lrelease error: cannot process project file '%1'. + + Fehler in lrelease: Die Projektdatei '%1' kann verarbeitet werden. + + + + lrelease warning: Met no 'TRANSLATIONS' entry in project file '%1' + + Warnung in lrelease : Die Projektdatei '%1' enthält keinen 'TRANSLATIONS'-Eintrag + + + + + LUpdate + + Parenthesis/bracket/brace mismatch between #if and #else branches; using #if branch + + + + + Parenthesis/brace mismatch between #if and #else branches; using #if branch + + + + + Unterminated C++ comment + + + + + Unterminated C++ string + + + + + Excess closing brace in C++ code (or abuse of the C++ preprocessor) + + + + + Excess closing parenthesis in C++ code (or abuse of the C++ preprocessor) + + + + + Excess closing bracket in C++ code (or abuse of the C++ preprocessor) + + + + + circular inclusion of %1 + + + + + Cannot open %1: %2 + + + + + //% cannot be used with tr() / QT_TR_NOOP(). Ignoring + + + + + Qualifying with unknown namespace/class %1::%2 + + + + + tr() cannot be called without context + + + + + Class '%1' lacks Q_OBJECT macro + + + + + It is not recommended to call tr() from within a constructor '%1::%2' + + + + + //% cannot be used with translate() / QT_TRANSLATE_NOOP(). Ignoring + + + + + //= cannot be used with qtTrId() / QT_TRID_NOOP(). Ignoring + + + + + Unexpected character in meta string + + + + + Unterminated meta string + + + + + Cannot invoke tr() like this + + + + + Discarding unconsumed meta data + + + + + Unbalanced opening brace in C++ code (or abuse of the C++ preprocessor) + + + + + Unbalanced opening parenthesis in C++ code (or abuse of the C++ preprocessor) + + + + + Unbalanced opening bracket in C++ code (or abuse of the C++ preprocessor) + + + + + Cannot open %1: %2 + + + + Unterminated Java comment. + + + + + Invalid Unicode value. + + + + + Unterminated string. + + + + + String used in translation can contain only literals concatenated with other literals, not expressions or numbers. + + + + + 'class' must be followed by a class name. + + + + + Excess closing brace. + + + + + 'package' must be followed by package name. + + + + + Unbalanced opening brace. + + + + + Unbalanced opening parenthesis. + + + + + Usage: + lupdate [options] [project-file]... + lupdate [options] [source-file|path|@lst-file]... -ts ts-files|@lst-file + +lupdate is part of Qt's Linguist tool chain. It extracts translatable +messages from Qt UI files, C++, Java and JavaScript/QtScript source code. +Extracted messages are stored in textual translation source files (typically +Qt TS XML). New and modified messages can be merged into existing TS files. + +Options: + -help Display this information and exit. + -no-obsolete + Drop all obsolete strings. + -extensions <ext>[,<ext>]... + Process files with the given extensions only. + The extension list must be separated with commas, not with whitespace. + Default: '%1'. + -pluralonly + Only include plural form messages. + -silent + Do not explain what is being done. + -no-sort + Do not sort contexts in TS files. + -no-recursive + Do not recursively scan the following directories. + -recursive + Recursively scan the following directories (default). + -I <includepath> or -I<includepath> + Additional location to look for include files. + May be specified multiple times. + -locations {absolute|relative|none} + Specify/override how source code references are saved in TS files. + Default is absolute. + -no-ui-lines + Do not record line numbers in references to UI files. + -disable-heuristic {sametext|similartext|number} + Disable the named merge heuristic. Can be specified multiple times. + -pro <filename> + Name of a .pro file. Useful for files with .pro file syntax but + different file suffix. Projects are recursed into and merged. + -source-language <language>[_<region>] + Specify the language of the source strings for new files. + Defaults to POSIX if not specified. + -target-language <language>[_<region>] + Specify the language of the translations for new files. + Guessed from the file name if not specified. + -ts <ts-file>... + Specify the output file(s). This will override the TRANSLATIONS + and nullify the CODECFORTR from possibly specified project files. + -codecfortr <codec> + Specify the codec assumed for tr() calls. Effective only with -ts. + -version + Display the version of lupdate and exit. + @lst-file + Read additional file names (one per line) from lst-file. + + + + + lupdate warning: Codec for tr() '%1' disagrees with existing file's codec '%2'. Expect trouble. + + + + + lupdate warning: Specified target language '%1' disagrees with existing file's language '%2'. Ignoring. + + + + + lupdate warning: Specified source language '%1' disagrees with existing file's language '%2'. Ignoring. + + + + + Updating '%1'... + + + + + Stripping non plural forms in '%1'... + + + + + lupdate warning: Codec for source '%1' is invalid. Falling back to codec for tr(). + + + + + lupdate warning: TS files from command line will override TRANSLATIONS in %1. + + + + + lupdate warning: TS files from command line prevent recursing into %1. + + + + + lupdate warning: no TS files specified. Only diagnostics will be produced for '%1'. + + + + + The option -target-language requires a parameter. + + + + + The option -source-language requires a parameter. + + + + + The option -disable-heuristic requires a parameter. + + + + + Invalid heuristic name passed to -disable-heuristic. + + + + + The option -locations requires a parameter. + + + + + Invalid parameter passed to -locations. + + + + + The -codecfortr option should be followed by a codec name. + + + + + The -extensions option should be followed by an extension list. + + + + + The -pro option should be followed by a filename of .pro file. + + + + + The -I option should be followed by a path. + + + + + Unrecognized option '%1'. + + + + + lupdate error: List file '%1' is not readable. + + + + + lupdate warning: For some reason, '%1' is not writable. + + + + + lupdate error: File '%1' has no recognized extension. + + + + + lupdate error: File '%1' does not exist. + + + + + Scanning directory '%1'... + + + + + lupdate warning: -target-language usually only makes sense with exactly one TS file. + + + + + lupdate warning: -codecfortr has no effect without -ts. + + + + + lupdate warning: no TS files specified. Only diagnostics will be produced. + + + + + lupdate error: Both project and source files / include paths specified. + + + + + Found %n source text(s) (%1 new and %2 already existing) + + + + + + + + Removed %n obsolete entries + + + + + + + + Kept %n obsolete entries + + + + + + + + Number heuristic provided %n translation(s) + + + + + + + + Same-text heuristic provided %n translation(s) + + + + + + + + Similar-text heuristic provided %n translation(s) + + + + + + + + Illegal character + + + + Unclosed string at end of line + + + + Illegal escape squence + + + + Illegal unicode escape sequence + + + + Unclosed comment at end of file + + + + Illegal syntax for exponential number + + + + Identifier cannot start with numeric literal + + + + Unterminated regular expression literal + + + + //% cannot be used with %1(). Ignoring + + + + + %1() requires at least two arguments. + + + + + %1(): both arguments must be literal strings. + + + + + %1() requires at least one argument. + + + + + %1(): text to translate must be a literal string. + + + + + //= cannot be used with %1(). Ignoring + + + + + %1(): identifier must be a literal string. + + + + + Expected + Beginning of the string that contains comma-separated list of expected tokens + + + + XML error: Parse error at line %1, column %2 (%3). + + + + Parse error in UI file + + MainWindow @@ -1307,6 +1980,13 @@ Zeile: %2 + PhraseBook + + Parse error at line %1, column %2 (%3). + Parse-Fehler bei Zeile %1, Spalte %2 (%3). + + + PhraseBookBox @@ -1478,6 +2158,12 @@ Zeile: %2 Qt Linguist 'Phrase Book' Qt-Linguist-Wörterbuch + + lupdate version %1 + + lupdate Version %1 + + SourceCodeView diff --git a/translations/qt_de.ts b/translations/qt_de.ts index 7a062dc..3b9bbb0 100644 --- a/translations/qt_de.ts +++ b/translations/qt_de.ts @@ -1707,19 +1707,19 @@ nach QDeclarativeCompositeTypeManager Resource %1 unavailable - Auf die Ressource %1 konnte nicht zugegriffen werden + Auf die Ressource %1 konnte nicht zugegriffen werden Namespace %1 cannot be used as a type - Der Namensraum %1 kann nicht als Typangabe verwendet werden + Der Namensraum %1 kann nicht als Typangabe verwendet werden %1 %2 - %1 %2 + %1 %2 Type %1 unavailable - Der Typ %1 ist nicht verfügbar + Der Typ %1 ist nicht verfügbar @@ -2122,6 +2122,40 @@ nach + QDeclarativeTypeData + + Type %1 unavailable + Der Typ %1 ist nicht verfügbar + + + Namespace %1 cannot be used as a type + Der Namensraum %1 kann nicht als Typangabe verwendet werden + + + %1 %2 + %1 %2 + + + + QDeclarativeTypeLoader + + Script %1 unavailable + Das Skript %1 ist nicht verfügbar + + + Type %1 unavailable + Der Typ %1 ist nicht verfügbar + + + Namespace %1 cannot be used as a type + Der Namensraum %1 kann nicht als Typangabe verwendet werden + + + %1 %2 + %1 %2 + + + QDeclarativeVME Unable to create object of type %1 @@ -3340,7 +3374,7 @@ Möchten Sie die Datei trotzdem löschen? QLibrary Could not mmap '%1': %2 - Operation mmap fehlgeschlagen für '%1': %2 + Operation mmap fehlgeschlagen für '%1': %2 Plugin verification data mismatch in '%1' @@ -3348,7 +3382,7 @@ Möchten Sie die Datei trotzdem löschen? Could not unmap '%1': %2 - Operation unmap fehlgeschlagen für '%1': %2 + Operation unmap fehlgeschlagen für '%1': %2 The plugin '%1' uses incompatible Qt library. (%2.%3.%4) [%5] diff --git a/translations/qt_help_de.ts b/translations/qt_help_de.ts index 1f0cf32..ceee5a7 100644 --- a/translations/qt_help_de.ts +++ b/translations/qt_help_de.ts @@ -28,7 +28,7 @@ QHelp Untitled - + Ohne Titel -- cgit v0.12 From 39accdb3bbb86a298665507ca2700b20f56ba64d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Samuel=20R=C3=B8dal?= Date: Tue, 14 Sep 2010 10:33:39 +0200 Subject: Fixed missing background for regular Qt applications with MeeGo system. Setting NoSystemBackground means that top-level widget backgrounds don't get painted any more. Another work-around must be found to prevent flickering. Reviewed-by: Gunnar Sletta --- src/plugins/graphicssystems/meego/qmeegographicssystem.cpp | 1 - 1 file changed, 1 deletion(-) diff --git a/src/plugins/graphicssystems/meego/qmeegographicssystem.cpp b/src/plugins/graphicssystems/meego/qmeegographicssystem.cpp index e2c8425..2a64d49 100644 --- a/src/plugins/graphicssystems/meego/qmeegographicssystem.cpp +++ b/src/plugins/graphicssystems/meego/qmeegographicssystem.cpp @@ -73,7 +73,6 @@ QWindowSurface* QMeeGoGraphicsSystem::createWindowSurface(QWidget *widget) const { QMeeGoGraphicsSystem::surfaceWasCreated = true; QWindowSurface *surface = new QGLWindowSurface(widget); - surface->window()->setAttribute(Qt::WA_NoSystemBackground); return surface; } -- cgit v0.12 From 54cae9296a738f025fe01770c3f3c48fd4a094fc Mon Sep 17 00:00:00 2001 From: Jani Hautakangas Date: Tue, 14 Sep 2010 12:59:26 +0200 Subject: Add QtOpenGL .def files Reviewed-by: TRUSTME --- src/s60installs/bwins/QtOpenGLu.def | 701 +++++++++++++++++++++++++++++++++++ src/s60installs/eabi/QtOpenGLu.def | 705 ++++++++++++++++++++++++++++++++++++ 2 files changed, 1406 insertions(+) create mode 100644 src/s60installs/bwins/QtOpenGLu.def create mode 100644 src/s60installs/eabi/QtOpenGLu.def diff --git a/src/s60installs/bwins/QtOpenGLu.def b/src/s60installs/bwins/QtOpenGLu.def new file mode 100644 index 0000000..fa340e4 --- /dev/null +++ b/src/s60installs/bwins/QtOpenGLu.def @@ -0,0 +1,701 @@ +EXPORTS + ?setUniformValueArray@QGLShaderProgram@@QAEXHPBV?$QGenericMatrix@$01$01M@@H@Z @ 1 NONAME ; void QGLShaderProgram::setUniformValueArray(int, class QGenericMatrix<2, 2, float> const *, int) + ?setPaintEnginePrivate@QGLTextureGlyphCache@@QAEXPAVQGL2PaintEngineExPrivate@@@Z @ 2 NONAME ; void QGLTextureGlyphCache::setPaintEnginePrivate(class QGL2PaintEngineExPrivate *) + ??1QGLFormat@@QAE@XZ @ 3 NONAME ; QGLFormat::~QGLFormat(void) + ?setOpacityMode@QGLEngineShaderManager@@QAEXW4OpacityMode@1@@Z @ 4 NONAME ; void QGLEngineShaderManager::setOpacityMode(enum QGLEngineShaderManager::OpacityMode) + ?entryRgb@QGLColormap@@QBEIH@Z @ 5 NONAME ; unsigned int QGLColormap::entryRgb(int) const + ??0QGLFormat@@QAE@ABV0@@Z @ 6 NONAME ; QGLFormat::QGLFormat(class QGLFormat const &) + ?d_func@QGLShader@@AAEPAVQGLShaderPrivate@@XZ @ 7 NONAME ; class QGLShaderPrivate * QGLShader::d_func(void) + ?bindToDynamicTexture@QGLPixelBuffer@@QAE_NI@Z @ 8 NONAME ; bool QGLPixelBuffer::bindToDynamicTexture(unsigned int) + ??0QGLWidget@@QAE@PAVQGLContext@@PAVQWidget@@PBV0@V?$QFlags@W4WindowType@Qt@@@@@Z @ 9 NONAME ; QGLWidget::QGLWidget(class QGLContext *, class QWidget *, class QGLWidget const *, class QFlags) + ??_EQGLFormat@@QAE@I@Z @ 10 NONAME ; QGLFormat::~QGLFormat(unsigned int) + ?drawPixmapFragments@QGL2PaintEngineEx@@UAEXPBVPixmapFragment@QPainter@@HABVQPixmap@@V?$QFlags@W4PixmapFragmentHint@QPainter@@@@@Z @ 11 NONAME ; void QGL2PaintEngineEx::drawPixmapFragments(class QPainter::PixmapFragment const *, int, class QPixmap const &, class QFlags) + ?paintEngine@QGLWidget@@UBEPAVQPaintEngine@@XZ @ 12 NONAME ; class QPaintEngine * QGLWidget::paintEngine(void) const + ?setPreferredPaintEngine@QGL@@YAXW4Type@QPaintEngine@@@Z @ 13 NONAME ; void QGL::setPreferredPaintEngine(enum QPaintEngine::Type) + ?isValid@QGLPixelBuffer@@QBE_NXZ @ 14 NONAME ; bool QGLPixelBuffer::isValid(void) const + ?stereo@QGLFormat@@QBE_NXZ @ 15 NONAME ; bool QGLFormat::stereo(void) const + ?size@QGLPixelBuffer@@QBE?AVQSize@@XZ @ 16 NONAME ; class QSize QGLPixelBuffer::size(void) const + ?qt_gl_transfer_context@@YAPBVQGLContext@@PBV1@@Z @ 17 NONAME ; class QGLContext const * qt_gl_transfer_context(class QGLContext const *) + ?format@QGLContext@@QBE?AVQGLFormat@@XZ @ 18 NONAME ; class QGLFormat QGLContext::format(void) const + ?getStaticMetaObject@QGraphicsShaderEffect@@SAABUQMetaObject@@XZ @ 19 NONAME ; struct QMetaObject const & QGraphicsShaderEffect::getStaticMetaObject(void) + ??1QGLWidget@@UAE@XZ @ 20 NONAME ; QGLWidget::~QGLWidget(void) + ??0QGLPixelBuffer@@QAE@ABVQSize@@ABVQGLFormat@@PAVQGLWidget@@@Z @ 21 NONAME ; QGLPixelBuffer::QGLPixelBuffer(class QSize const &, class QGLFormat const &, class QGLWidget *) + ?isEmpty@QGLColormap@@QBE_NXZ @ 22 NONAME ; bool QGLColormap::isEmpty(void) const + ?setAttributeValue@QGLShaderProgram@@QAEXPBDABVQVector2D@@@Z @ 23 NONAME ; void QGLShaderProgram::setAttributeValue(char const *, class QVector2D const &) + ?setUniformValue@QGLShaderProgram@@QAEXHABVQSize@@@Z @ 24 NONAME ; void QGLShaderProgram::setUniformValue(int, class QSize const &) + ?attachment@QGLFramebufferObjectFormat@@QBE?AW4Attachment@QGLFramebufferObject@@XZ @ 25 NONAME ; enum QGLFramebufferObject::Attachment QGLFramebufferObjectFormat::attachment(void) const + ?setGeometry@QGLWindowSurface@@UAEXABVQRect@@@Z @ 26 NONAME ; void QGLWindowSurface::setGeometry(class QRect const &) + ?setUniformValue@QGLShaderProgram@@QAEXPBDABVQVector3D@@@Z @ 27 NONAME ; void QGLShaderProgram::setUniformValue(char const *, class QVector3D const &) + ?release@QGLShaderProgram@@QAEXXZ @ 28 NONAME ; void QGLShaderProgram::release(void) + ?entryColor@QGLColormap@@QBE?AVQColor@@H@Z @ 29 NONAME ; class QColor QGLColormap::entryColor(int) const + ?setUniformValue@QGLShaderProgram@@QAEXHABV?$QGenericMatrix@$02$02M@@@Z @ 30 NONAME ; void QGLShaderProgram::setUniformValue(int, class QGenericMatrix<3, 3, float> const &) + ?setCompositionMode@QGLEngineShaderManager@@QAEXW4CompositionMode@QPainter@@@Z @ 31 NONAME ; void QGLEngineShaderManager::setCompositionMode(enum QPainter::CompositionMode) + ?bindTexture@QGLPixelBuffer@@QAEIABVQString@@@Z @ 32 NONAME ; unsigned int QGLPixelBuffer::bindTexture(class QString const &) + ?stencil@QGLFormat@@QBE_NXZ @ 33 NONAME ; bool QGLFormat::stencil(void) const + ?format@QGLPaintDevice@@UBE?AVQGLFormat@@XZ @ 34 NONAME ; class QGLFormat QGLPaintDevice::format(void) const + ?d_func@QGLContext@@AAEPAVQGLContextPrivate@@XZ @ 35 NONAME ; class QGLContextPrivate * QGLContext::d_func(void) + ?bindAttributeLocation@QGLShaderProgram@@QAEXABVQString@@H@Z @ 36 NONAME ; void QGLShaderProgram::bindAttributeLocation(class QString const &, int) + ?depthBufferSize@QGLFormat@@QBEHXZ @ 37 NONAME ; int QGLFormat::depthBufferSize(void) const + ?write@QGLBuffer@@QAEXHPBXH@Z @ 38 NONAME ; void QGLBuffer::write(int, void const *, int) + ?tr@QGraphicsShaderEffect@@SA?AVQString@@PBD0@Z @ 39 NONAME ; class QString QGraphicsShaderEffect::tr(char const *, char const *) + ?currentProgram@QGLEngineShaderManager@@QAEPAVQGLShaderProgram@@XZ @ 40 NONAME ; class QGLShaderProgram * QGLEngineShaderManager::currentProgram(void) + ?isLinked@QGLShaderProgram@@QBE_NXZ @ 41 NONAME ; bool QGLShaderProgram::isLinked(void) const + ?resizeTextureData@QGLTextureGlyphCache@@UAEXHH@Z @ 42 NONAME ; void QGLTextureGlyphCache::resizeTextureData(int, int) + ?device@QGLContext@@QBEPAVQPaintDevice@@XZ @ 43 NONAME ; class QPaintDevice * QGLContext::device(void) const + ?create@QGLContext@@UAE_NPBV1@@Z @ 44 NONAME ; bool QGLContext::create(class QGLContext const *) + ?staticMetaObject@QGLWindowSurface@@2UQMetaObject@@B @ 45 NONAME ; struct QMetaObject const QGLWindowSurface::staticMetaObject + ?staticMetaObject@QGLShader@@2UQMetaObject@@B @ 46 NONAME ; struct QMetaObject const QGLShader::staticMetaObject + ?state@QGL2PaintEngineEx@@QAEPAVQOpenGL2PaintEngineState@@XZ @ 47 NONAME ; class QOpenGL2PaintEngineState * QGL2PaintEngineEx::state(void) + ?setUsagePattern@QGLBuffer@@QAEXW4UsagePattern@1@@Z @ 48 NONAME ; void QGLBuffer::setUsagePattern(enum QGLBuffer::UsagePattern) + ?drawTexture@QGL2PaintEngineEx@@QAE_NABVQRectF@@IABVQSize@@0@Z @ 49 NONAME ; bool QGL2PaintEngineEx::drawTexture(class QRectF const &, unsigned int, class QSize const &, class QRectF const &) + ?qt_metacast@QGLShaderProgram@@UAEPAXPBD@Z @ 50 NONAME ; void * QGLShaderProgram::qt_metacast(char const *) + ?tr@QGLWidget@@SA?AVQString@@PBD0H@Z @ 51 NONAME ; class QString QGLWidget::tr(char const *, char const *, int) + ?fromData@QGLPixmapData@@UAE_NPBEIPBDV?$QFlags@W4ImageConversionFlag@Qt@@@@@Z @ 52 NONAME ; bool QGLPixmapData::fromData(unsigned char const *, unsigned int, char const *, class QFlags) + ?brushOriginChanged@QGL2PaintEngineEx@@UAEXXZ @ 53 NONAME ; void QGL2PaintEngineEx::brushOriginChanged(void) + ?setContext@QGLSharedResourceGuard@@QAEXPBVQGLContext@@@Z @ 54 NONAME ; void QGLSharedResourceGuard::setContext(class QGLContext const *) + ?create@QGLBuffer@@QAE_NXZ @ 55 NONAME ; bool QGLBuffer::create(void) + ?setEntry@QGLColormap@@QAEXHI@Z @ 56 NONAME ; void QGLColormap::setEntry(int, unsigned int) + ?useBlitProgram@QGLEngineShaderManager@@QAEXXZ @ 57 NONAME ; void QGLEngineShaderManager::useBlitProgram(void) + ?paintEngine@QGLPixmapData@@UBEPAVQPaintEngine@@XZ @ 58 NONAME ; class QPaintEngine * QGLPixmapData::paintEngine(void) const + ?qt_destroy_gl_share_widget@@YAXXZ @ 59 NONAME ; void qt_destroy_gl_share_widget(void) + ?updateGL@QGLWidget@@UAEXXZ @ 60 NONAME ; void QGLWidget::updateGL(void) + ?setUniformValueArray@QGLShaderProgram@@QAEXHPBV?$QGenericMatrix@$02$02M@@H@Z @ 61 NONAME ; void QGLShaderProgram::setUniformValueArray(int, class QGenericMatrix<3, 3, float> const *, int) + ?setUniformValue@QGLShaderProgram@@QAEXPBDABVQColor@@@Z @ 62 NONAME ; void QGLShaderProgram::setUniformValue(char const *, class QColor const &) + ?d_func@QGLCustomShaderStage@@ABEPBVQGLCustomShaderStagePrivate@@XZ @ 63 NONAME ; class QGLCustomShaderStagePrivate const * QGLCustomShaderStage::d_func(void) const + ?link@QGLShaderProgram@@UAE_NXZ @ 64 NONAME ; bool QGLShaderProgram::link(void) + ??0QGLWindowSurface@@QAE@PAVQWidget@@@Z @ 65 NONAME ; QGLWindowSurface::QGLWindowSurface(class QWidget *) + ??9@YA_NABVQGLFormat@@0@Z @ 66 NONAME ; bool operator!=(class QGLFormat const &, class QGLFormat const &) + ?trUtf8@QGLEngineShaderManager@@SA?AVQString@@PBD0H@Z @ 67 NONAME ; class QString QGLEngineShaderManager::trUtf8(char const *, char const *, int) + ?clip@QGL2PaintEngineEx@@UAEXABVQVectorPath@@W4ClipOperation@Qt@@@Z @ 68 NONAME ; void QGL2PaintEngineEx::clip(class QVectorPath const &, enum Qt::ClipOperation) + ?setRgba@QGLFormat@@QAEX_N@Z @ 69 NONAME ; void QGLFormat::setRgba(bool) + ??1QGLGraphicsSystem@@UAE@XZ @ 70 NONAME ; QGLGraphicsSystem::~QGLGraphicsSystem(void) + ?simpleProgram@QGLEngineShaderManager@@QAEPAVQGLShaderProgram@@XZ @ 71 NONAME ; class QGLShaderProgram * QGLEngineShaderManager::simpleProgram(void) + ?generateDynamicTexture@QGLPixelBuffer@@QBEIXZ @ 72 NONAME ; unsigned int QGLPixelBuffer::generateDynamicTexture(void) const + ?metaObject@QGLShaderProgram@@UBEPBUQMetaObject@@XZ @ 73 NONAME ; struct QMetaObject const * QGLShaderProgram::metaObject(void) const + ?usagePattern@QGLBuffer@@QBE?AW4UsagePattern@1@XZ @ 74 NONAME ; enum QGLBuffer::UsagePattern QGLBuffer::usagePattern(void) const + ?setAttributeArray@QGLShaderProgram@@QAEXPBDPBVQVector4D@@H@Z @ 75 NONAME ; void QGLShaderProgram::setAttributeArray(char const *, class QVector4D const *, int) + ?setUniformValue@QGLShaderProgram@@QAEXHI@Z @ 76 NONAME ; void QGLShaderProgram::setUniformValue(int, unsigned int) + ?blitProgram@QGLEngineShaderManager@@QAEPAVQGLShaderProgram@@XZ @ 77 NONAME ; class QGLShaderProgram * QGLEngineShaderManager::blitProgram(void) + ?metaObject@QGLSignalProxy@@UBEPBUQMetaObject@@XZ @ 78 NONAME ; struct QMetaObject const * QGLSignalProxy::metaObject(void) const + ??1QGLShaderProgram@@UAE@XZ @ 79 NONAME ; QGLShaderProgram::~QGLShaderProgram(void) + ?height@QGLTextureGlyphCache@@QBEHXZ @ 80 NONAME ; int QGLTextureGlyphCache::height(void) const + ??_EQGLWindowSurface@@UAE@I@Z @ 81 NONAME ; QGLWindowSurface::~QGLWindowSurface(unsigned int) + ?renderPixmap@QGLWidget@@QAE?AVQPixmap@@HH_N@Z @ 82 NONAME ; class QPixmap QGLWidget::renderPixmap(int, int, bool) + ?read@QGLBuffer@@QAE_NHPAXH@Z @ 83 NONAME ; bool QGLBuffer::read(int, void *, int) + ?qglClearColor@QGLWidget@@QBEXABVQColor@@@Z @ 84 NONAME ; void QGLWidget::qglClearColor(class QColor const &) const + ??0QGLFramebufferObject@@QAE@HHW4Attachment@0@II@Z @ 85 NONAME ; QGLFramebufferObject::QGLFramebufferObject(int, int, enum QGLFramebufferObject::Attachment, unsigned int, unsigned int) + ?penChanged@QGL2PaintEngineEx@@UAEXXZ @ 86 NONAME ; void QGL2PaintEngineEx::penChanged(void) + ??_EQGraphicsShaderEffect@@UAE@I@Z @ 87 NONAME ; QGraphicsShaderEffect::~QGraphicsShaderEffect(unsigned int) + ?doneCurrent@QGLContext@@UAEXXZ @ 88 NONAME ; void QGLContext::doneCurrent(void) + ??_EQGLContext@@UAE@I@Z @ 89 NONAME ; QGLContext::~QGLContext(unsigned int) + ?release@QGLBuffer@@QAEXXZ @ 90 NONAME ; void QGLBuffer::release(void) + ??0QGLPixmapData@@QAE@W4PixelType@QPixmapData@@@Z @ 91 NONAME ; QGLPixmapData::QGLPixmapData(enum QPixmapData::PixelType) + ?texture@QGLPixmapData@@QBEPAVQGLTexture@@XZ @ 92 NONAME ; class QGLTexture * QGLPixmapData::texture(void) const + ?updateGeometry@QGLWindowSurface@@QAEXXZ @ 93 NONAME ; void QGLWindowSurface::updateGeometry(void) + ?windowCreated@QGLContext@@IBE_NXZ @ 94 NONAME ; bool QGLContext::windowCreated(void) const + ?setWindowCreated@QGLContext@@IAEX_N@Z @ 95 NONAME ; void QGLContext::setWindowCreated(bool) + ?uniformLocation@QGLShaderProgram@@QBEHABVQString@@@Z @ 96 NONAME ; int QGLShaderProgram::uniformLocation(class QString const &) const + ?metaObject@QGLWindowSurface@@UBEPBUQMetaObject@@XZ @ 97 NONAME ; struct QMetaObject const * QGLWindowSurface::metaObject(void) const + ?setAttributeBuffer@QGLShaderProgram@@QAEXHIHHH@Z @ 98 NONAME ; void QGLShaderProgram::setAttributeBuffer(int, unsigned int, int, int, int) + ?getProcAddress@QGLContext@@QBEPAXABVQString@@@Z @ 99 NONAME ; void * QGLContext::getProcAddress(class QString const &) const + ?qt_metacall@QGLTextureGlyphCache@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 100 NONAME ; int QGLTextureGlyphCache::qt_metacall(enum QMetaObject::Call, int, void * *) + ??1QGLPixelBuffer@@UAE@XZ @ 101 NONAME ; QGLPixelBuffer::~QGLPixelBuffer(void) + ?setUniformValueArray@QGLShaderProgram@@QAEXHPBVQVector4D@@H@Z @ 102 NONAME ; void QGLShaderProgram::setUniformValueArray(int, class QVector4D const *, int) + ?releaseFromDynamicTexture@QGLPixelBuffer@@QAEXXZ @ 103 NONAME ; void QGLPixelBuffer::releaseFromDynamicTexture(void) + ?setUniformsDirty@QGraphicsShaderEffect@@IAEXXZ @ 104 NONAME ; void QGraphicsShaderEffect::setUniformsDirty(void) + ?drawTexture@QGLFramebufferObject@@QAEXABVQPointF@@II@Z @ 105 NONAME ; void QGLFramebufferObject::drawTexture(class QPointF const &, unsigned int, unsigned int) + ??0QGLContext@@QAE@ABVQGLFormat@@@Z @ 106 NONAME ; QGLContext::QGLContext(class QGLFormat const &) + ?geometryOutputVertexCount@QGLShaderProgram@@QBEHXZ @ 107 NONAME ; int QGLShaderProgram::geometryOutputVertexCount(void) const + ?setAccum@QGLFormat@@QAEX_N@Z @ 108 NONAME ; void QGLFormat::setAccum(bool) + ??0QGLSignalProxy@@QAE@XZ @ 109 NONAME ; QGLSignalProxy::QGLSignalProxy(void) + ?isUninitialized@QGLPixmapData@@ABE_NXZ @ 110 NONAME ; bool QGLPixmapData::isUninitialized(void) const + ??0QGLFramebufferObjectFormat@@QAE@XZ @ 111 NONAME ; QGLFramebufferObjectFormat::QGLFramebufferObjectFormat(void) + ??8@YA_NABVQGLFormat@@0@Z @ 112 NONAME ; bool operator==(class QGLFormat const &, class QGLFormat const &) + ?toImage@QGLFramebufferObject@@QBE?AVQImage@@XZ @ 113 NONAME ; class QImage QGLFramebufferObject::toImage(void) const + ?setUniformValue@QGLShaderProgram@@QAEXPBDABV?$QGenericMatrix@$01$02M@@@Z @ 114 NONAME ; void QGLShaderProgram::setUniformValue(char const *, class QGenericMatrix<2, 3, float> const &) + ?useCorrectShaderProg@QGLEngineShaderManager@@QAE_NXZ @ 115 NONAME ; bool QGLEngineShaderManager::useCorrectShaderProg(void) + ?setAlphaBufferSize@QGLFormat@@QAEXH@Z @ 116 NONAME ; void QGLFormat::setAlphaBufferSize(int) + ??0QGLContextResource@@QAE@P6AXPAX@Z@Z @ 117 NONAME ; QGLContextResource::QGLContextResource(void (*)(void *)) + ?tr@QGLEngineShaderManager@@SA?AVQString@@PBD0H@Z @ 118 NONAME ; class QString QGLEngineShaderManager::tr(char const *, char const *, int) + ?setUniformValue@QGLShaderProgram@@QAEXHABVQVector4D@@@Z @ 119 NONAME ; void QGLShaderProgram::setUniformValue(int, class QVector4D const &) + ?d_func@QGLContext@@ABEPBVQGLContextPrivate@@XZ @ 120 NONAME ; class QGLContextPrivate const * QGLContext::d_func(void) const + ?setUniformValue@QGLShaderProgram@@QAEXHABVQMatrix4x4@@@Z @ 121 NONAME ; void QGLShaderProgram::setUniformValue(int, class QMatrix4x4 const &) + ?deleteTexture@QGLContext@@QAEXI@Z @ 122 NONAME ; void QGLContext::deleteTexture(unsigned int) + ?setAttributeArray@QGLShaderProgram@@QAEXHPBMHH@Z @ 123 NONAME ; void QGLShaderProgram::setAttributeArray(int, float const *, int, int) + ?bindTexture@QGLWidget@@QAEIABVQImage@@IHV?$QFlags@W4BindOption@QGLContext@@@@@Z @ 124 NONAME ; unsigned int QGLWidget::bindTexture(class QImage const &, unsigned int, int, class QFlags) + ?ensureCreated@QGLPixmapData@@ABEXXZ @ 125 NONAME ; void QGLPixmapData::ensureCreated(void) const + ?setSource@QGLCustomShaderStage@@IAEXABVQByteArray@@@Z @ 126 NONAME ; void QGLCustomShaderStage::setSource(class QByteArray const &) + ?trUtf8@QGLTextureGlyphCache@@SA?AVQString@@PBD0@Z @ 127 NONAME ; class QString QGLTextureGlyphCache::trUtf8(char const *, char const *) + ?removeFromPainter@QGLCustomShaderStage@@QAEXPAVQPainter@@@Z @ 128 NONAME ; void QGLCustomShaderStage::removeFromPainter(class QPainter *) + ?qt_metacall@QGLWindowSurface@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 129 NONAME ; int QGLWindowSurface::qt_metacall(enum QMetaObject::Call, int, void * *) + ??0QGLBuffer@@QAE@W4Type@0@@Z @ 130 NONAME ; QGLBuffer::QGLBuffer(enum QGLBuffer::Type) + ?fillColor@QGLPixmapData@@ABE?AVQColor@@XZ @ 131 NONAME ; class QColor QGLPixmapData::fillColor(void) const + ?setSamples@QGLFormat@@QAEXH@Z @ 132 NONAME ; void QGLFormat::setSamples(int) + ?makeCurrent@QGLContext@@UAEXXZ @ 133 NONAME ; void QGLContext::makeCurrent(void) + ?setUniformValue@QGLShaderProgram@@QAEXHABV?$QGenericMatrix@$03$02M@@@Z @ 134 NONAME ; void QGLShaderProgram::setUniformValue(int, class QGenericMatrix<4, 3, float> const &) + ?hasOpenGLShaders@QGLShader@@SA_NV?$QFlags@W4ShaderTypeBit@QGLShader@@@@PBVQGLContext@@@Z @ 135 NONAME ; bool QGLShader::hasOpenGLShaders(class QFlags, class QGLContext const *) + ?hasComplexGeometry@QGLEngineShaderManager@@QBE_NXZ @ 136 NONAME ; bool QGLEngineShaderManager::hasComplexGeometry(void) const + ?tr@QGLEngineShaderManager@@SA?AVQString@@PBD0@Z @ 137 NONAME ; class QString QGLEngineShaderManager::tr(char const *, char const *) + ??0QGLFramebufferObject@@QAE@ABVQSize@@I@Z @ 138 NONAME ; QGLFramebufferObject::QGLFramebufferObject(class QSize const &, unsigned int) + ?setSrcPixelType@QGLEngineShaderManager@@QAEXW4PixelSrcType@1@@Z @ 139 NONAME ; void QGLEngineShaderManager::setSrcPixelType(enum QGLEngineShaderManager::PixelSrcType) + ?isValid@QGLFramebufferObject@@QBE_NXZ @ 140 NONAME ; bool QGLFramebufferObject::isValid(void) const + ??0QGLFramebufferObject@@QAE@HHABVQGLFramebufferObjectFormat@@@Z @ 141 NONAME ; QGLFramebufferObject::QGLFramebufferObject(int, int, class QGLFramebufferObjectFormat const &) + ?setDirectRendering@QGLFormat@@QAEX_N@Z @ 142 NONAME ; void QGLFormat::setDirectRendering(bool) + ?hasAlphaChannel@QGLPixmapData@@UBE_NXZ @ 143 NONAME ; bool QGLPixmapData::hasAlphaChannel(void) const + ?tr@QGLSignalProxy@@SA?AVQString@@PBD0H@Z @ 144 NONAME ; class QString QGLSignalProxy::tr(char const *, char const *, int) + ?setContext@QGLWidget@@QAEXPAVQGLContext@@PBV2@_N@Z @ 145 NONAME ; void QGLWidget::setContext(class QGLContext *, class QGLContext const *, bool) + ?d_func@QGLPixelBuffer@@ABEPBVQGLPixelBufferPrivate@@XZ @ 146 NONAME ; class QGLPixelBufferPrivate const * QGLPixelBuffer::d_func(void) const + ?getStaticMetaObject@QGLSignalProxy@@SAABUQMetaObject@@XZ @ 147 NONAME ; struct QMetaObject const & QGLSignalProxy::getStaticMetaObject(void) + ?setState@QGL2PaintEngineEx@@UAEXPAVQPainterState@@@Z @ 148 NONAME ; void QGL2PaintEngineEx::setState(class QPainterState *) + ?addShader@QGLShaderProgram@@QAE_NPAVQGLShader@@@Z @ 149 NONAME ; bool QGLShaderProgram::addShader(class QGLShader *) + ?hasOpenGLShaderPrograms@QGLShaderProgram@@SA_NPBVQGLContext@@@Z @ 150 NONAME ; bool QGLShaderProgram::hasOpenGLShaderPrograms(class QGLContext const *) + ?plane@QGLFormat@@QBEHXZ @ 151 NONAME ; int QGLFormat::plane(void) const + ??0QGLFormat@@QAE@XZ @ 152 NONAME ; QGLFormat::QGLFormat(void) + ?renderText@QGLWidget@@QAEXNNNABVQString@@ABVQFont@@H@Z @ 153 NONAME ; void QGLWidget::renderText(double, double, double, class QString const &, class QFont const &, int) + ?setAttributeArray@QGLShaderProgram@@QAEXPBDIPBXHH@Z @ 154 NONAME ; void QGLShaderProgram::setAttributeArray(char const *, unsigned int, void const *, int, int) + ?hasOpenGLFramebufferBlit@QGLFramebufferObject@@SA_NXZ @ 155 NONAME ; bool QGLFramebufferObject::hasOpenGLFramebufferBlit(void) + ?setUniformValue@QGLShaderProgram@@QAEXHABVQVector2D@@@Z @ 156 NONAME ; void QGLShaderProgram::setUniformValue(int, class QVector2D const &) + ?setUniformValueArray@QGLShaderProgram@@QAEXPBDPBVQVector2D@@H@Z @ 157 NONAME ; void QGLShaderProgram::setUniformValueArray(char const *, class QVector2D const *, int) + ??1QGLContext@@UAE@XZ @ 158 NONAME ; QGLContext::~QGLContext(void) + ?drawTexture@QGLContext@@QAEXABVQRectF@@II@Z @ 159 NONAME ; void QGLContext::drawTexture(class QRectF const &, unsigned int, unsigned int) + ??1QGLCustomShaderStage@@UAE@XZ @ 160 NONAME ; QGLCustomShaderStage::~QGLCustomShaderStage(void) + ?state@QGL2PaintEngineEx@@QBEPBVQOpenGL2PaintEngineState@@XZ @ 161 NONAME ; class QOpenGL2PaintEngineState const * QGL2PaintEngineEx::state(void) const + ?setUniformValue@QGLShaderProgram@@QAEXPBDM@Z @ 162 NONAME ; void QGLShaderProgram::setUniformValue(char const *, float) + ?tr@QGLShaderProgram@@SA?AVQString@@PBD0@Z @ 163 NONAME ; class QString QGLShaderProgram::tr(char const *, char const *) + ?setHasComplexGeometry@QGLEngineShaderManager@@QAEX_N@Z @ 164 NONAME ; void QGLEngineShaderManager::setHasComplexGeometry(bool) + ?devType@QGLPaintDevice@@UBEHXZ @ 165 NONAME ; int QGLPaintDevice::devType(void) const + ?setDepthBufferSize@QGLFormat@@QAEXH@Z @ 166 NONAME ; void QGLFormat::setDepthBufferSize(int) + ?attributeLocation@QGLShaderProgram@@QBEHABVQString@@@Z @ 167 NONAME ; int QGLShaderProgram::attributeLocation(class QString const &) const + ?isSharing@QGLWidget@@QBE_NXZ @ 168 NONAME ; bool QGLWidget::isSharing(void) const + ?brushChanged@QGL2PaintEngineEx@@UAEXXZ @ 169 NONAME ; void QGL2PaintEngineEx::brushChanged(void) + ?bind@QGLShaderProgram@@QAE_NXZ @ 170 NONAME ; bool QGLShaderProgram::bind(void) + ?fill@QGLPixmapData@@UAEXABVQColor@@@Z @ 171 NONAME ; void QGLPixmapData::fill(class QColor const &) + ?staticMetaObject@QGLShaderProgram@@2UQMetaObject@@B @ 172 NONAME ; struct QMetaObject const QGLShaderProgram::staticMetaObject + ?setPlane@QGLFormat@@QAEXH@Z @ 173 NONAME ; void QGLFormat::setPlane(int) + ?setGeometryOutputType@QGLShaderProgram@@QAEXI@Z @ 174 NONAME ; void QGLShaderProgram::setGeometryOutputType(unsigned int) + ?setAccumBufferSize@QGLFormat@@QAEXH@Z @ 175 NONAME ; void QGLFormat::setAccumBufferSize(int) + ?detach@QGLFramebufferObjectFormat@@AAEXXZ @ 176 NONAME ; void QGLFramebufferObjectFormat::detach(void) + ?testOption@QGLFormat@@QBE_NV?$QFlags@W4FormatOption@QGL@@@@@Z @ 177 NONAME ; bool QGLFormat::testOption(class QFlags) const + ?setUniformValueArray@QGLShaderProgram@@QAEXPBDPBV?$QGenericMatrix@$01$03M@@H@Z @ 178 NONAME ; void QGLShaderProgram::setUniformValueArray(char const *, class QGenericMatrix<2, 4, float> const *, int) + ?setAttributeValue@QGLShaderProgram@@QAEXPBDABVQColor@@@Z @ 179 NONAME ; void QGLShaderProgram::setAttributeValue(char const *, class QColor const &) + ?devType@QGLPixelBuffer@@MBEHXZ @ 180 NONAME ; int QGLPixelBuffer::devType(void) const + ?doubleBuffer@QGLFormat@@QBE_NXZ @ 181 NONAME ; bool QGLFormat::doubleBuffer(void) const + ?setUniformsDirty@QGLCustomShaderStage@@QAEXXZ @ 182 NONAME ; void QGLCustomShaderStage::setUniformsDirty(void) + ?setAttributeValue@QGLShaderProgram@@QAEXHMM@Z @ 183 NONAME ; void QGLShaderProgram::setAttributeValue(int, float, float) + ?setAttributeArray@QGLShaderProgram@@QAEXPBDPBMHH@Z @ 184 NONAME ; void QGLShaderProgram::setAttributeArray(char const *, float const *, int, int) + ?getStaticMetaObject@QGLEngineShaderManager@@SAABUQMetaObject@@XZ @ 185 NONAME ; struct QMetaObject const & QGLEngineShaderManager::getStaticMetaObject(void) + ?setVersion@QGLFormat@@QAEXHH@Z @ 186 NONAME ; void QGLFormat::setVersion(int, int) + ?grabFrameBuffer@QGLWidget@@QAE?AVQImage@@_N@Z @ 187 NONAME ; class QImage QGLWidget::grabFrameBuffer(bool) + ?hasOpenGL@QGLFormat@@SA_NXZ @ 188 NONAME ; bool QGLFormat::hasOpenGL(void) + ?setInitialized@QGLContext@@IAEX_N@Z @ 189 NONAME ; void QGLContext::setInitialized(bool) + ?copyBackFromRenderFbo@QGLPixmapData@@ABEX_N@Z @ 190 NONAME ; void QGLPixmapData::copyBackFromRenderFbo(bool) const + ??0QGLBuffer@@QAE@ABV0@@Z @ 191 NONAME ; QGLBuffer::QGLBuffer(class QGLBuffer const &) + ?attachment@QGLFramebufferObject@@QBE?AW4Attachment@1@XZ @ 192 NONAME ; enum QGLFramebufferObject::Attachment QGLFramebufferObject::attachment(void) const + ?createCompatiblePixmapData@QGLPixmapData@@UBEPAVQPixmapData@@XZ @ 193 NONAME ; class QPixmapData * QGLPixmapData::createCompatiblePixmapData(void) const + ?detach@QGLFormat@@AAEXXZ @ 194 NONAME ; void QGLFormat::detach(void) + ??9QGLFramebufferObjectFormat@@QBE_NABV0@@Z @ 195 NONAME ; bool QGLFramebufferObjectFormat::operator!=(class QGLFramebufferObjectFormat const &) const + ?endPaint@QGLWindowSurface@@UAEXABVQRegion@@@Z @ 196 NONAME ; void QGLWindowSurface::endPaint(class QRegion const &) + ?findNearest@QGLColormap@@QBEHI@Z @ 197 NONAME ; int QGLColormap::findNearest(unsigned int) const + ?toImage@QGLPixmapData@@UBE?AVQImage@@XZ @ 198 NONAME ; class QImage QGLPixmapData::toImage(void) const + ??_EQGLShader@@UAE@I@Z @ 199 NONAME ; QGLShader::~QGLShader(unsigned int) + ?setUniformValueArray@QGLShaderProgram@@QAEXHPBHH@Z @ 200 NONAME ; void QGLShaderProgram::setUniformValueArray(int, int const *, int) + ?d_func@QGLFramebufferObject@@AAEPAVQGLFramebufferObjectPrivate@@XZ @ 201 NONAME ; class QGLFramebufferObjectPrivate * QGLFramebufferObject::d_func(void) + ?trUtf8@QGLWidget@@SA?AVQString@@PBD0H@Z @ 202 NONAME ; class QString QGLWidget::trUtf8(char const *, char const *, int) + ?qt_metacast@QGraphicsShaderEffect@@UAEPAXPBD@Z @ 203 NONAME ; void * QGraphicsShaderEffect::qt_metacast(char const *) + ?init@QGLShaderProgram@@AAE_NXZ @ 204 NONAME ; bool QGLShaderProgram::init(void) + ?doneCurrent@QGLWidget@@QAEXXZ @ 205 NONAME ; void QGLWidget::doneCurrent(void) + ?setUniformValue@QGLShaderProgram@@QAEXPBDABV?$QGenericMatrix@$02$02M@@@Z @ 206 NONAME ; void QGLShaderProgram::setUniformValue(char const *, class QGenericMatrix<3, 3, float> const &) + ?setUniformValue@QGLShaderProgram@@QAEXPBDMMMM@Z @ 207 NONAME ; void QGLShaderProgram::setUniformValue(char const *, float, float, float, float) + ?requestedFormat@QGLContext@@QBE?AVQGLFormat@@XZ @ 208 NONAME ; class QGLFormat QGLContext::requestedFormat(void) const + ?fillTexture@QGLTextureGlyphCache@@UAEXABUCoord@QTextureGlyphCache@@I@Z @ 209 NONAME ; void QGLTextureGlyphCache::fillTexture(struct QTextureGlyphCache::Coord const &, unsigned int) + ?isNativePaintingActive@QGL2PaintEngineEx@@QBE_NXZ @ 210 NONAME ; bool QGL2PaintEngineEx::isNativePaintingActive(void) const + ?accumBufferSize@QGLFormat@@QBEHXZ @ 211 NONAME ; int QGLFormat::accumBufferSize(void) const + ?setAttributeValue@QGLShaderProgram@@QAEXHPBMHH@Z @ 212 NONAME ; void QGLShaderProgram::setAttributeValue(int, float const *, int, int) + ?doubleBuffer@QGLWidget@@QBE_NXZ @ 213 NONAME ; bool QGLWidget::doubleBuffer(void) const + ?bindTexture@QGLContext@@QAEIABVQString@@@Z @ 214 NONAME ; unsigned int QGLContext::bindTexture(class QString const &) + ??0QGLFramebufferObject@@QAE@ABVQSize@@ABVQGLFramebufferObjectFormat@@@Z @ 215 NONAME ; QGLFramebufferObject::QGLFramebufferObject(class QSize const &, class QGLFramebufferObjectFormat const &) + ?bind@QGLFramebufferObject@@QAE_NXZ @ 216 NONAME ; bool QGLFramebufferObject::bind(void) + ?stroke@QGL2PaintEngineEx@@UAEXABVQVectorPath@@ABVQPen@@@Z @ 217 NONAME ; void QGL2PaintEngineEx::stroke(class QVectorPath const &, class QPen const &) + ?format@QGLWidget@@QBE?AVQGLFormat@@XZ @ 218 NONAME ; class QGLFormat QGLWidget::format(void) const + ?qt_metacall@QGLWidget@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 219 NONAME ; int QGLWidget::qt_metacall(enum QMetaObject::Call, int, void * *) + ?setUniformValue@QGLShaderProgram@@QAEXHABVQSizeF@@@Z @ 220 NONAME ; void QGLShaderProgram::setUniformValue(int, class QSizeF const &) + ?setGreenBufferSize@QGLFormat@@QAEXH@Z @ 221 NONAME ; void QGLFormat::setGreenBufferSize(int) + ?setAttributeValue@QGLShaderProgram@@QAEXPBDM@Z @ 222 NONAME ; void QGLShaderProgram::setAttributeValue(char const *, float) + ?setAttributeArray@QGLShaderProgram@@QAEXHPBVQVector4D@@H@Z @ 223 NONAME ; void QGLShaderProgram::setAttributeArray(int, class QVector4D const *, int) + ?setValid@QGLContext@@IAEX_N@Z @ 224 NONAME ; void QGLContext::setValid(bool) + ?trUtf8@QGraphicsShaderEffect@@SA?AVQString@@PBD0@Z @ 225 NONAME ; class QString QGraphicsShaderEffect::trUtf8(char const *, char const *) + ?aboutToDestroyContext@QGLSignalProxy@@IAEXPBVQGLContext@@@Z @ 226 NONAME ; void QGLSignalProxy::aboutToDestroyContext(class QGLContext const *) + ??0QGraphicsShaderEffect@@QAE@PAVQObject@@@Z @ 227 NONAME ; QGraphicsShaderEffect::QGraphicsShaderEffect(class QObject *) + ?deviceIsPixmap@QGLContext@@IBE_NXZ @ 228 NONAME ; bool QGLContext::deviceIsPixmap(void) const + ??1QGraphicsShaderEffect@@UAE@XZ @ 229 NONAME ; QGraphicsShaderEffect::~QGraphicsShaderEffect(void) + ??1QGLPaintDevice@@UAE@XZ @ 230 NONAME ; QGLPaintDevice::~QGLPaintDevice(void) + ?setGeometryInputType@QGLShaderProgram@@QAEXI@Z @ 231 NONAME ; void QGLShaderProgram::setGeometryInputType(unsigned int) + ?isValid@QGLPixmapData@@ABE_NXZ @ 232 NONAME ; bool QGLPixmapData::isValid(void) const + ?cleanup@QGLContextResource@@QAEXPBVQGLContext@@PAX@Z @ 233 NONAME ; void QGLContextResource::cleanup(class QGLContext const *, void *) + ?context@QGLWidget@@QBEPBVQGLContext@@XZ @ 234 NONAME ; class QGLContext const * QGLWidget::context(void) const + ?tr@QGLShaderProgram@@SA?AVQString@@PBD0H@Z @ 235 NONAME ; class QString QGLShaderProgram::tr(char const *, char const *, int) + ??0QGLPixelBuffer@@QAE@HHABVQGLFormat@@PAVQGLWidget@@@Z @ 236 NONAME ; QGLPixelBuffer::QGLPixelBuffer(int, int, class QGLFormat const &, class QGLWidget *) + ?setUniformValueArray@QGLShaderProgram@@QAEXHPBV?$QGenericMatrix@$01$03M@@H@Z @ 237 NONAME ; void QGLShaderProgram::setUniformValueArray(int, class QGenericMatrix<2, 4, float> const *, int) + ?release@QGLFramebufferObject@@QAE_NXZ @ 238 NONAME ; bool QGLFramebufferObject::release(void) + ?chooseContext@QGLContext@@MAE_NPBV1@@Z @ 239 NONAME ; bool QGLContext::chooseContext(class QGLContext const *) + ?setUniformValueArray@QGLShaderProgram@@QAEXPBDPBV?$QGenericMatrix@$02$01M@@H@Z @ 240 NONAME ; void QGLShaderProgram::setUniformValueArray(char const *, class QGenericMatrix<3, 2, float> const *, int) + ?greenBufferSize@QGLFormat@@QBEHXZ @ 241 NONAME ; int QGLFormat::greenBufferSize(void) const + ?detach@QGLColormap@@QAEXXZ @ 242 NONAME ; void QGLColormap::detach(void) + ??0QGLWidget@@QAE@ABVQGLFormat@@PAVQWidget@@PBV0@V?$QFlags@W4WindowType@Qt@@@@@Z @ 243 NONAME ; QGLWidget::QGLWidget(class QGLFormat const &, class QWidget *, class QGLWidget const *, class QFlags) + ?allocate@QGLBuffer@@QAEXPBXH@Z @ 244 NONAME ; void QGLBuffer::allocate(void const *, int) + ?setDirty@QGLEngineShaderManager@@QAEXXZ @ 245 NONAME ; void QGLEngineShaderManager::setDirty(void) + ?setCustomStage@QGLEngineShaderManager@@QAEXPAVQGLCustomShaderStage@@@Z @ 246 NONAME ; void QGLEngineShaderManager::setCustomStage(class QGLCustomShaderStage *) + ?programId@QGLShaderProgram@@QBEIXZ @ 247 NONAME ; unsigned int QGLShaderProgram::programId(void) const + ?glyphPadding@QGLTextureGlyphCache@@UBEHXZ @ 248 NONAME ; int QGLTextureGlyphCache::glyphPadding(void) const + ?texture@QGLFramebufferObject@@QBEIXZ @ 249 NONAME ; unsigned int QGLFramebufferObject::texture(void) const + ??0QGLFramebufferObject@@QAE@HHI@Z @ 250 NONAME ; QGLFramebufferObject::QGLFramebufferObject(int, int, unsigned int) + ?size@QGLBuffer@@QBEHXZ @ 251 NONAME ; int QGLBuffer::size(void) const + ?maxGeometryOutputVertices@QGLShaderProgram@@QBEHXZ @ 252 NONAME ; int QGLShaderProgram::maxGeometryOutputVertices(void) const + ?setAttributeBuffer@QGLShaderProgram@@QAEXPBDIHHH@Z @ 253 NONAME ; void QGLShaderProgram::setAttributeBuffer(char const *, unsigned int, int, int, int) + ?setOverlay@QGLFormat@@QAEX_N@Z @ 254 NONAME ; void QGLFormat::setOverlay(bool) + ?beginPaint@QGLWindowSurface@@UAEXABVQRegion@@@Z @ 255 NONAME ; void QGLWindowSurface::beginPaint(class QRegion const &) + ?compileSourceCode@QGLShader@@QAE_NPBD@Z @ 256 NONAME ; bool QGLShader::compileSourceCode(char const *) + ?createWindowSurface@QGLGraphicsSystem@@UBEPAVQWindowSurface@@PAVQWidget@@@Z @ 257 NONAME ; class QWindowSurface * QGLGraphicsSystem::createWindowSurface(class QWidget *) const + ?shaderId@QGLShader@@QBEIXZ @ 258 NONAME ; unsigned int QGLShader::shaderId(void) const + ?ensureActive@QGL2PaintEngineEx@@QAEXXZ @ 259 NONAME ; void QGL2PaintEngineEx::ensureActive(void) + ?qt_metacall@QGLEngineShaderManager@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 260 NONAME ; int QGLEngineShaderManager::qt_metacall(enum QMetaObject::Call, int, void * *) + ?drawTexture@QGLWidget@@QAEXABVQPointF@@II@Z @ 261 NONAME ; void QGLWidget::drawTexture(class QPointF const &, unsigned int, unsigned int) + ?setStencil@QGLFormat@@QAEX_N@Z @ 262 NONAME ; void QGLFormat::setStencil(bool) + ?type@QGL2PaintEngineEx@@UBE?AW4Type@QPaintEngine@@XZ @ 263 NONAME ; enum QPaintEngine::Type QGL2PaintEngineEx::type(void) const + ?compileSourceFile@QGLShader@@QAE_NABVQString@@@Z @ 264 NONAME ; bool QGLShader::compileSourceFile(class QString const &) + ?d_func@QGraphicsShaderEffect@@ABEPBVQGraphicsShaderEffectPrivate@@XZ @ 265 NONAME ; class QGraphicsShaderEffectPrivate const * QGraphicsShaderEffect::d_func(void) const + ?deleteTexture@QGLWidget@@QAEXI@Z @ 266 NONAME ; void QGLWidget::deleteTexture(unsigned int) + ?tr@QGLWindowSurface@@SA?AVQString@@PBD0H@Z @ 267 NONAME ; class QString QGLWindowSurface::tr(char const *, char const *, int) + ?d_func@QGLBuffer@@ABEPBVQGLBufferPrivate@@XZ @ 268 NONAME ; class QGLBufferPrivate const * QGLBuffer::d_func(void) const + ?buffer@QGLWindowSurface@@UAEPAVQImage@@PBVQWidget@@@Z @ 269 NONAME ; class QImage * QGLWindowSurface::buffer(class QWidget const *) + ?texture@QGLTextureGlyphCache@@QBEIXZ @ 270 NONAME ; unsigned int QGLTextureGlyphCache::texture(void) const + ?staticMetaObject@QGraphicsShaderEffect@@2UQMetaObject@@B @ 271 NONAME ; struct QMetaObject const QGraphicsShaderEffect::staticMetaObject + ?uniformLocation@QGLShaderProgram@@QBEHPBD@Z @ 272 NONAME ; int QGLShaderProgram::uniformLocation(char const *) const + ?profile@QGLFormat@@QBE?AW4OpenGLContextProfile@1@XZ @ 273 NONAME ; enum QGLFormat::OpenGLContextProfile QGLFormat::profile(void) const + ?setUniformValue@QGLShaderProgram@@QAEXHABV?$QGenericMatrix@$01$03M@@@Z @ 274 NONAME ; void QGLShaderProgram::setUniformValue(int, class QGenericMatrix<2, 4, float> const &) + ?bindDefault@QGLFramebufferObject@@SA_NXZ @ 275 NONAME ; bool QGLFramebufferObject::bindDefault(void) + ?internalTextureFormat@QGLFramebufferObjectFormat@@QBEIXZ @ 276 NONAME ; unsigned int QGLFramebufferObjectFormat::internalTextureFormat(void) const + ??4QGLBuffer@@QAEAAV0@ABV0@@Z @ 277 NONAME ; class QGLBuffer & QGLBuffer::operator=(class QGLBuffer const &) + ?bindTexture@QGLWidget@@QAEIABVQImage@@IH@Z @ 278 NONAME ; unsigned int QGLWidget::bindTexture(class QImage const &, unsigned int, int) + ?surfaceFormat@QGLWindowSurface@@2VQGLFormat@@A @ 279 NONAME ; class QGLFormat QGLWindowSurface::surfaceFormat + ??0QGLGraphicsSystem@@QAE@_N@Z @ 280 NONAME ; QGLGraphicsSystem::QGLGraphicsSystem(bool) + ??0QGLShaderProgram@@QAE@PBVQGLContext@@PAVQObject@@@Z @ 281 NONAME ; QGLShaderProgram::QGLShaderProgram(class QGLContext const *, class QObject *) + ?setUniformValueArray@QGLShaderProgram@@QAEXPBDPBV?$QGenericMatrix@$03$02M@@H@Z @ 282 NONAME ; void QGLShaderProgram::setUniformValueArray(char const *, class QGenericMatrix<4, 3, float> const *, int) + ??0QGLShaderProgram@@QAE@PAVQObject@@@Z @ 283 NONAME ; QGLShaderProgram::QGLShaderProgram(class QObject *) + ?qt_metacast@QGLTextureGlyphCache@@UAEPAXPBD@Z @ 284 NONAME ; void * QGLTextureGlyphCache::qt_metacast(char const *) + ?staticMetaObject@QGLEngineShaderManager@@2UQMetaObject@@B @ 285 NONAME ; struct QMetaObject const QGLEngineShaderManager::staticMetaObject + ?setDevice@QGLContext@@IAEXPAVQPaintDevice@@@Z @ 286 NONAME ; void QGLContext::setDevice(class QPaintDevice *) + ?setUniformValueArray@QGLShaderProgram@@QAEXHPBV?$QGenericMatrix@$02$01M@@H@Z @ 287 NONAME ; void QGLShaderProgram::setUniformValueArray(int, class QGenericMatrix<3, 2, float> const *, int) + ?setUniformValue@QGLShaderProgram@@QAEXPBDABV?$QGenericMatrix@$03$02M@@@Z @ 288 NONAME ; void QGLShaderProgram::setUniformValue(char const *, class QGenericMatrix<4, 3, float> const &) + ?setAttributeArray@QGLShaderProgram@@QAEXHIPBXHH@Z @ 289 NONAME ; void QGLShaderProgram::setAttributeArray(int, unsigned int, void const *, int, int) + ?tr@QGLTextureGlyphCache@@SA?AVQString@@PBD0H@Z @ 290 NONAME ; class QString QGLTextureGlyphCache::tr(char const *, char const *, int) + ?setDefaultOverlayFormat@QGLFormat@@SAXABV1@@Z @ 291 NONAME ; void QGLFormat::setDefaultOverlayFormat(class QGLFormat const &) + ?qt_gl_share_widget@@YAPAVQGLWidget@@XZ @ 292 NONAME ; class QGLWidget * qt_gl_share_widget(void) + ?initializeOverlayGL@QGLWidget@@MAEXXZ @ 293 NONAME ; void QGLWidget::initializeOverlayGL(void) + ?setUniformValue@QGLShaderProgram@@QAEXHMM@Z @ 294 NONAME ; void QGLShaderProgram::setUniformValue(int, float, float) + ?attributeLocation@QGLShaderProgram@@QBEHPBD@Z @ 295 NONAME ; int QGLShaderProgram::attributeLocation(char const *) const + ?setAttributeArray@QGLShaderProgram@@QAEXPBDPBVQVector3D@@H@Z @ 296 NONAME ; void QGLShaderProgram::setAttributeArray(char const *, class QVector3D const *, int) + ?setInternalTextureFormat@QGLFramebufferObjectFormat@@QAEXI@Z @ 297 NONAME ; void QGLFramebufferObjectFormat::setInternalTextureFormat(unsigned int) + ?glDraw@QGLWidget@@MAEXXZ @ 298 NONAME ; void QGLWidget::glDraw(void) + ?blueBufferSize@QGLFormat@@QBEHXZ @ 299 NONAME ; int QGLFormat::blueBufferSize(void) const + ?createTextureData@QGLTextureGlyphCache@@UAEXHH@Z @ 300 NONAME ; void QGLTextureGlyphCache::createTextureData(int, int) + ?opacityChanged@QGL2PaintEngineEx@@UAEXXZ @ 301 NONAME ; void QGL2PaintEngineEx::opacityChanged(void) + ?setUniformValue@QGLShaderProgram@@QAEXHABV?$QGenericMatrix@$01$01M@@@Z @ 302 NONAME ; void QGLShaderProgram::setUniformValue(int, class QGenericMatrix<2, 2, float> const &) + ?addShaderFromSourceCode@QGLShaderProgram@@QAE_NV?$QFlags@W4ShaderTypeBit@QGLShader@@@@PBD@Z @ 303 NONAME ; bool QGLShaderProgram::addShaderFromSourceCode(class QFlags, char const *) + ?accum@QGLFormat@@QBE_NXZ @ 304 NONAME ; bool QGLFormat::accum(void) const + ?transformChanged@QGL2PaintEngineEx@@UAEXXZ @ 305 NONAME ; void QGL2PaintEngineEx::transformChanged(void) + ?trUtf8@QGraphicsShaderEffect@@SA?AVQString@@PBD0H@Z @ 306 NONAME ; class QString QGraphicsShaderEffect::trUtf8(char const *, char const *, int) + ?metaObject@QGLWidget@@UBEPBUQMetaObject@@XZ @ 307 NONAME ; struct QMetaObject const * QGLWidget::metaObject(void) const + ?setBlueBufferSize@QGLFormat@@QAEXH@Z @ 308 NONAME ; void QGLFormat::setBlueBufferSize(int) + ?useSimpleProgram@QGLEngineShaderManager@@QAEXXZ @ 309 NONAME ; void QGLEngineShaderManager::useSimpleProgram(void) + ?trUtf8@QGLWidget@@SA?AVQString@@PBD0@Z @ 310 NONAME ; class QString QGLWidget::trUtf8(char const *, char const *) + ??_EQGLPixmapData@@UAE@I@Z @ 311 NONAME ; QGLPixmapData::~QGLPixmapData(unsigned int) + ?setPixelShaderFragment@QGraphicsShaderEffect@@QAEXABVQByteArray@@@Z @ 312 NONAME ; void QGraphicsShaderEffect::setPixelShaderFragment(class QByteArray const &) + ?setAttributeValue@QGLShaderProgram@@QAEXHABVQVector4D@@@Z @ 313 NONAME ; void QGLShaderProgram::setAttributeValue(int, class QVector4D const &) + ?setAttributeValue@QGLShaderProgram@@QAEXPBDMMM@Z @ 314 NONAME ; void QGLShaderProgram::setAttributeValue(char const *, float, float, float) + ??1QGLShader@@UAE@XZ @ 315 NONAME ; QGLShader::~QGLShader(void) + ?setUniformValueArray@QGLShaderProgram@@QAEXHPBIH@Z @ 316 NONAME ; void QGLShaderProgram::setUniformValueArray(int, unsigned int const *, int) + ?fromImage@QGLPixmapData@@UAEXABVQImage@@V?$QFlags@W4ImageConversionFlag@Qt@@@@@Z @ 317 NONAME ; void QGLPixmapData::fromImage(class QImage const &, class QFlags) + ?shaderType@QGLShader@@QBE?AV?$QFlags@W4ShaderTypeBit@QGLShader@@@@XZ @ 318 NONAME ; class QFlags QGLShader::shaderType(void) const + ?reset@QGLContext@@QAEXXZ @ 319 NONAME ; void QGLContext::reset(void) + ??BQGLShareContextScope@@QAEPAVQGLContext@@XZ @ 320 NONAME ; QGLShareContextScope::operator class QGLContext *(void) + ?createPixmapData@QGLGraphicsSystem@@UBEPAVQPixmapData@@W4PixelType@2@@Z @ 321 NONAME ; class QPixmapData * QGLGraphicsSystem::createPixmapData(enum QPixmapData::PixelType) const + ?setUniformValueArray@QGLShaderProgram@@QAEXHPBVQVector3D@@H@Z @ 322 NONAME ; void QGLShaderProgram::setUniformValueArray(int, class QVector3D const *, int) + ?paintOverlayGL@QGLWidget@@MAEXXZ @ 323 NONAME ; void QGLWidget::paintOverlayGL(void) + ??6@YA?AVQDebug@@V0@ABVQGLFormat@@@Z @ 324 NONAME ; class QDebug operator<<(class QDebug, class QGLFormat const &) + ?ensureActiveTarget@QGLPaintDevice@@UAEXXZ @ 325 NONAME ; void QGLPaintDevice::ensureActiveTarget(void) + ?swapInterval@QGLFormat@@QBEHXZ @ 326 NONAME ; int QGLFormat::swapInterval(void) const + ?setUniformValue@QGLShaderProgram@@QAEXHM@Z @ 327 NONAME ; void QGLShaderProgram::setUniformValue(int, float) + ?map@QGLBuffer@@QAEPAXW4Access@1@@Z @ 328 NONAME ; void * QGLBuffer::map(enum QGLBuffer::Access) + ?setUniformValue@QGLShaderProgram@@QAEXPBDABVQTransform@@@Z @ 329 NONAME ; void QGLShaderProgram::setUniformValue(char const *, class QTransform const &) + ?shaders@QGLShaderProgram@@QBE?AV?$QList@PAVQGLShader@@@@XZ @ 330 NONAME ; class QList QGLShaderProgram::shaders(void) const + ?drawTexture@QGLPixelBuffer@@QAEXABVQRectF@@II@Z @ 331 NONAME ; void QGLPixelBuffer::drawTexture(class QRectF const &, unsigned int, unsigned int) + ??1QGLSharedResourceGuard@@QAE@XZ @ 332 NONAME ; QGLSharedResourceGuard::~QGLSharedResourceGuard(void) + ?textureCacheLimit@QGLContext@@SAHXZ @ 333 NONAME ; int QGLContext::textureCacheLimit(void) + ??0QGLPaintDevice@@QAE@XZ @ 334 NONAME ; QGLPaintDevice::QGLPaintDevice(void) + ??0QGLColormap@@QAE@ABV0@@Z @ 335 NONAME ; QGLColormap::QGLColormap(class QGLColormap const &) + ?setUniformValue@QGLShaderProgram@@QAEXPBDABVQSizeF@@@Z @ 336 NONAME ; void QGLShaderProgram::setUniformValue(char const *, class QSizeF const &) + ?tr@QGLWindowSurface@@SA?AVQString@@PBD0@Z @ 337 NONAME ; class QString QGLWindowSurface::tr(char const *, char const *) + ?setUniformValueArray@QGLShaderProgram@@QAEXHPBV?$QGenericMatrix@$03$02M@@H@Z @ 338 NONAME ; void QGLShaderProgram::setUniformValueArray(int, class QGenericMatrix<4, 3, float> const *, int) + ?setAutoBufferSwap@QGLWidget@@IAEX_N@Z @ 339 NONAME ; void QGLWidget::setAutoBufferSwap(bool) + ?isSharing@QGLContext@@QBE_NXZ @ 340 NONAME ; bool QGLContext::isSharing(void) const + ?setAttributeValue@QGLShaderProgram@@QAEXHMMMM@Z @ 341 NONAME ; void QGLShaderProgram::setAttributeValue(int, float, float, float, float) + ?metaObject@QGLEngineShaderManager@@UBEPBUQMetaObject@@XZ @ 342 NONAME ; struct QMetaObject const * QGLEngineShaderManager::metaObject(void) const + ?metaObject@QGraphicsShaderEffect@@UBEPBUQMetaObject@@XZ @ 343 NONAME ; struct QMetaObject const * QGraphicsShaderEffect::metaObject(void) const + ?setSampleBuffers@QGLFormat@@QAEX_N@Z @ 344 NONAME ; void QGLFormat::setSampleBuffers(bool) + ?trUtf8@QGLShader@@SA?AVQString@@PBD0@Z @ 345 NONAME ; class QString QGLShader::trUtf8(char const *, char const *) + ??4QGLFormat@@QAEAAV0@ABV0@@Z @ 346 NONAME ; class QGLFormat & QGLFormat::operator=(class QGLFormat const &) + ?setAttributeValue@QGLShaderProgram@@QAEXPBDABVQVector3D@@@Z @ 347 NONAME ; void QGLShaderProgram::setAttributeValue(char const *, class QVector3D const &) + ??_EQGLSignalProxy@@UAE@I@Z @ 348 NONAME ; QGLSignalProxy::~QGLSignalProxy(unsigned int) + ?setUniformValue@QGLShaderProgram@@QAEXPBDABVQVector4D@@@Z @ 349 NONAME ; void QGLShaderProgram::setUniformValue(char const *, class QVector4D const &) + ?setUniformValue@QGLShaderProgram@@QAEXHMMMM@Z @ 350 NONAME ; void QGLShaderProgram::setUniformValue(int, float, float, float, float) + ?generateFontDisplayLists@QGLContext@@IAEXABVQFont@@H@Z @ 351 NONAME ; void QGLContext::generateFontDisplayLists(class QFont const &, int) + ?setAttributeValue@QGLShaderProgram@@QAEXHABVQVector2D@@@Z @ 352 NONAME ; void QGLShaderProgram::setAttributeValue(int, class QVector2D const &) + ?setUniformValue@QGLShaderProgram@@QAEXHABV?$QGenericMatrix@$02$03M@@@Z @ 353 NONAME ; void QGLShaderProgram::setUniformValue(int, class QGenericMatrix<3, 4, float> const &) + ?d_func@QGLShaderProgram@@AAEPAVQGLShaderProgramPrivate@@XZ @ 354 NONAME ; class QGLShaderProgramPrivate * QGLShaderProgram::d_func(void) + ?setUniformValueArray@QGLShaderProgram@@QAEXPBDPBHH@Z @ 355 NONAME ; void QGLShaderProgram::setUniformValueArray(char const *, int const *, int) + ??_EQGL2PaintEngineEx@@UAE@I@Z @ 356 NONAME ; QGL2PaintEngineEx::~QGL2PaintEngineEx(unsigned int) + ??0QGLFramebufferObject@@QAE@ABVQSize@@W4Attachment@0@II@Z @ 357 NONAME ; QGLFramebufferObject::QGLFramebufferObject(class QSize const &, enum QGLFramebufferObject::Attachment, unsigned int, unsigned int) + ??_EQGLEngineShaderManager@@UAE@I@Z @ 358 NONAME ; QGLEngineShaderManager::~QGLEngineShaderManager(unsigned int) + ?d_func@QGLFramebufferObject@@ABEPBVQGLFramebufferObjectPrivate@@XZ @ 359 NONAME ; class QGLFramebufferObjectPrivate const * QGLFramebufferObject::d_func(void) const + ?tr@QGLShader@@SA?AVQString@@PBD0H@Z @ 360 NONAME ; class QString QGLShader::tr(char const *, char const *, int) + ?setUniformValueArray@QGLShaderProgram@@QAEXPBDPBVQVector4D@@H@Z @ 361 NONAME ; void QGLShaderProgram::setUniformValueArray(char const *, class QVector4D const *, int) + ?addShaderFromSourceFile@QGLShaderProgram@@QAE_NV?$QFlags@W4ShaderTypeBit@QGLShader@@@@ABVQString@@@Z @ 362 NONAME ; bool QGLShaderProgram::addShaderFromSourceFile(class QFlags, class QString const &) + ?copy@QGLPixmapData@@UAEXPBVQPixmapData@@ABVQRect@@@Z @ 363 NONAME ; void QGLPixmapData::copy(class QPixmapData const *, class QRect const &) + ?samples@QGLFramebufferObjectFormat@@QBEHXZ @ 364 NONAME ; int QGLFramebufferObjectFormat::samples(void) const + ?setInactive@QGLCustomShaderStage@@QAEXXZ @ 365 NONAME ; void QGLCustomShaderStage::setInactive(void) + ?extensionFuncs@QGLContextPrivate@@SAAAUQGLExtensionFuncs@@PBVQGLContext@@@Z @ 366 NONAME ; struct QGLExtensionFuncs & QGLContextPrivate::extensionFuncs(class QGLContext const *) + ?value@QGLContextResource@@QAEPAXPBVQGLContext@@@Z @ 367 NONAME ; void * QGLContextResource::value(class QGLContext const *) + ?majorVersion@QGLFormat@@QBEHXZ @ 368 NONAME ; int QGLFormat::majorVersion(void) const + ?rgba@QGLFormat@@QBE_NXZ @ 369 NONAME ; bool QGLFormat::rgba(void) const + ?paintDevice@QGLWindowSurface@@UAEPAVQPaintDevice@@XZ @ 370 NONAME ; class QPaintDevice * QGLWindowSurface::paintDevice(void) + ?setStencilBufferSize@QGLFormat@@QAEXH@Z @ 371 NONAME ; void QGLFormat::setStencilBufferSize(int) + ??1QGLEngineShaderManager@@UAE@XZ @ 372 NONAME ; QGLEngineShaderManager::~QGLEngineShaderManager(void) + ?qt_metacall@QGLShaderProgram@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 373 NONAME ; int QGLShaderProgram::qt_metacall(enum QMetaObject::Call, int, void * *) + ?setUniformValue@QGLShaderProgram@@QAEXPBDABVQVector2D@@@Z @ 374 NONAME ; void QGLShaderProgram::setUniformValue(char const *, class QVector2D const &) + ?bind@QGLPixmapData@@QBEI_N@Z @ 375 NONAME ; unsigned int QGLPixmapData::bind(bool) const + ?setDepth@QGLFormat@@QAEX_N@Z @ 376 NONAME ; void QGLFormat::setDepth(bool) + ?paintGL@QGLWidget@@MAEXXZ @ 377 NONAME ; void QGLWidget::paintGL(void) + ??0QGLContext@@QAE@ABVQGLFormat@@PAVQPaintDevice@@@Z @ 378 NONAME ; QGLContext::QGLContext(class QGLFormat const &, class QPaintDevice *) + ?setUniformValue@QGLShaderProgram@@QAEXHABV?$QGenericMatrix@$02$01M@@@Z @ 379 NONAME ; void QGLShaderProgram::setUniformValue(int, class QGenericMatrix<3, 2, float> const &) + ?drawPixmap@QGL2PaintEngineEx@@UAEXABVQRectF@@ABVQPixmap@@0@Z @ 380 NONAME ; void QGL2PaintEngineEx::drawPixmap(class QRectF const &, class QPixmap const &, class QRectF const &) + ?getUniformLocation@QGLEngineShaderManager@@QAEIW4Uniform@1@@Z @ 381 NONAME ; unsigned int QGLEngineShaderManager::getUniformLocation(enum QGLEngineShaderManager::Uniform) + ?setUniformValueArray@QGLShaderProgram@@QAEXPBDPBV?$QGenericMatrix@$01$02M@@H@Z @ 382 NONAME ; void QGLShaderProgram::setUniformValueArray(char const *, class QGenericMatrix<2, 3, float> const *, int) + ??0QGLEngineShaderManager@@QAE@PAVQGLContext@@@Z @ 383 NONAME ; QGLEngineShaderManager::QGLEngineShaderManager(class QGLContext *) + ?deleted@QGLWindowSurface@@AAEXPAVQObject@@@Z @ 384 NONAME ; void QGLWindowSurface::deleted(class QObject *) + ?source@QGLCustomShaderStage@@QBE?AVQByteArray@@XZ @ 385 NONAME ; class QByteArray QGLCustomShaderStage::source(void) const + ?d_func@QGLPixelBuffer@@AAEPAVQGLPixelBufferPrivate@@XZ @ 386 NONAME ; class QGLPixelBufferPrivate * QGLPixelBuffer::d_func(void) + ??4QGLColormap@@QAEAAV0@ABV0@@Z @ 387 NONAME ; class QGLColormap & QGLColormap::operator=(class QGLColormap const &) + ?find@QGLColormap@@QBEHI@Z @ 388 NONAME ; int QGLColormap::find(unsigned int) const + ??1QGLColormap@@QAE@XZ @ 389 NONAME ; QGLColormap::~QGLColormap(void) + ?toImage@QGLPixelBuffer@@QBE?AVQImage@@XZ @ 390 NONAME ; class QImage QGLPixelBuffer::toImage(void) const + ?hasOpenGLOverlays@QGLFormat@@SA_NXZ @ 391 NONAME ; bool QGLFormat::hasOpenGLOverlays(void) + ?setMouseTracking@QGLWidget@@QAEX_N@Z @ 392 NONAME ; void QGLWidget::setMouseTracking(bool) + ?type@QGLBuffer@@QBE?AW4Type@1@XZ @ 393 NONAME ; enum QGLBuffer::Type QGLBuffer::type(void) const + ?fontDisplayListBase@QGLWidget@@IAEHABVQFont@@H@Z @ 394 NONAME ; int QGLWidget::fontDisplayListBase(class QFont const &, int) + ?addShaderFromSourceCode@QGLShaderProgram@@QAE_NV?$QFlags@W4ShaderTypeBit@QGLShader@@@@ABVQByteArray@@@Z @ 395 NONAME ; bool QGLShaderProgram::addShaderFromSourceCode(class QFlags, class QByteArray const &) + ?bindTexture@QGLContext@@QAEIABVQPixmap@@IH@Z @ 396 NONAME ; unsigned int QGLContext::bindTexture(class QPixmap const &, unsigned int, int) + ?d_func@QGLWidget@@ABEPBVQGLWidgetPrivate@@XZ @ 397 NONAME ; class QGLWidgetPrivate const * QGLWidget::d_func(void) const + ?metric@QGLPaintDevice@@MBEHW4PaintDeviceMetric@QPaintDevice@@@Z @ 398 NONAME ; int QGLPaintDevice::metric(enum QPaintDevice::PaintDeviceMetric) const + ?drawTexture@QGLWidget@@QAEXABVQRectF@@II@Z @ 399 NONAME ; void QGLWidget::drawTexture(class QRectF const &, unsigned int, unsigned int) + ?isValid@QGLWidget@@QBE_NXZ @ 400 NONAME ; bool QGLWidget::isValid(void) const + ?shared_null@QGLColormap@@0UQGLColormapData@1@A @ 401 NONAME ; struct QGLColormap::QGLColormapData QGLColormap::shared_null + ?setUniformValue@QGLShaderProgram@@QAEXPBDQAY01M@Z @ 402 NONAME ; void QGLShaderProgram::setUniformValue(char const *, float [2] * const) + ?insert@QGLContextResource@@QAEXPBVQGLContext@@PAX@Z @ 403 NONAME ; void QGLContextResource::insert(class QGLContext const *, void *) + ??0QGLCustomShaderStage@@QAE@XZ @ 404 NONAME ; QGLCustomShaderStage::QGLCustomShaderStage(void) + ?setDefaultFormat@QGLFormat@@SAXABV1@@Z @ 405 NONAME ; void QGLFormat::setDefaultFormat(class QGLFormat const &) + ?sourceCode@QGLShader@@QBE?AVQByteArray@@XZ @ 406 NONAME ; class QByteArray QGLShader::sourceCode(void) const + ??8QGLFramebufferObjectFormat@@QBE_NABV0@@Z @ 407 NONAME ; bool QGLFramebufferObjectFormat::operator==(class QGLFramebufferObjectFormat const &) const + ?detach_helper@QGLColormap@@AAEXXZ @ 408 NONAME ; void QGLColormap::detach_helper(void) + ?setUniformValue@QGLShaderProgram@@QAEXHQAY01M@Z @ 409 NONAME ; void QGLShaderProgram::setUniformValue(int, float [2] * const) + ?compileSourceCode@QGLShader@@QAE_NABVQString@@@Z @ 410 NONAME ; bool QGLShader::compileSourceCode(class QString const &) + ?setUniformValueArray@QGLShaderProgram@@QAEXHPBVQMatrix4x4@@H@Z @ 411 NONAME ; void QGLShaderProgram::setUniformValueArray(int, class QMatrix4x4 const *, int) + ?invalidateState@QGL2PaintEngineEx@@QAEXXZ @ 412 NONAME ; void QGL2PaintEngineEx::invalidateState(void) + ?scroll@QGLWindowSurface@@UAE_NABVQRegion@@HH@Z @ 413 NONAME ; bool QGLWindowSurface::scroll(class QRegion const &, int, int) + ??4QGLFramebufferObjectFormat@@QAEAAV0@ABV0@@Z @ 414 NONAME ; class QGLFramebufferObjectFormat & QGLFramebufferObjectFormat::operator=(class QGLFramebufferObjectFormat const &) + ?bindAttributeLocation@QGLShaderProgram@@QAEXABVQByteArray@@H@Z @ 415 NONAME ; void QGLShaderProgram::bindAttributeLocation(class QByteArray const &, int) + ?pixelShaderFragment@QGraphicsShaderEffect@@QBE?AVQByteArray@@XZ @ 416 NONAME ; class QByteArray QGraphicsShaderEffect::pixelShaderFragment(void) const + ?size@QGLColormap@@QBEHXZ @ 417 NONAME ; int QGLColormap::size(void) const + ??0QGLShareContextScope@@QAE@PBVQGLContext@@@Z @ 418 NONAME ; QGLShareContextScope::QGLShareContextScope(class QGLContext const *) + ?removeAllShaders@QGLShaderProgram@@QAEXXZ @ 419 NONAME ; void QGLShaderProgram::removeAllShaders(void) + ??_EQGLShaderProgram@@UAE@I@Z @ 420 NONAME ; QGLShaderProgram::~QGLShaderProgram(unsigned int) + ?pixmapFilter@QGL2PaintEngineEx@@UAEPAVQPixmapFilter@@HPBV2@@Z @ 421 NONAME ; class QPixmapFilter * QGL2PaintEngineEx::pixmapFilter(int, class QPixmapFilter const *) + ?scroll@QGLPixmapData@@UAE_NHHABVQRect@@@Z @ 422 NONAME ; bool QGLPixmapData::scroll(int, int, class QRect const &) + ?contextDestroyed@QGLTextureGlyphCache@@QAEXPBVQGLContext@@@Z @ 423 NONAME ; void QGLTextureGlyphCache::contextDestroyed(class QGLContext const *) + ??0QGLColormap@@QAE@XZ @ 424 NONAME ; QGLColormap::QGLColormap(void) + ?metric@QGLFramebufferObject@@MBEHW4PaintDeviceMetric@QPaintDevice@@@Z @ 425 NONAME ; int QGLFramebufferObject::metric(enum QPaintDevice::PaintDeviceMetric) const + ?devType@QGLFramebufferObject@@MBEHXZ @ 426 NONAME ; int QGLFramebufferObject::devType(void) const + ?isValidContext@QGLPixmapData@@QBE_NPBVQGLContext@@@Z @ 427 NONAME ; bool QGLPixmapData::isValidContext(class QGLContext const *) const + ?directRendering@QGLFormat@@QBE_NXZ @ 428 NONAME ; bool QGLFormat::directRendering(void) const + ?metric@QGLPixelBuffer@@MBEHW4PaintDeviceMetric@QPaintDevice@@@Z @ 429 NONAME ; int QGLPixelBuffer::metric(enum QPaintDevice::PaintDeviceMetric) const + ??0QGLSharedResourceGuard@@QAE@PBVQGLContext@@@Z @ 430 NONAME ; QGLSharedResourceGuard::QGLSharedResourceGuard(class QGLContext const *) + ?setUniformValue@QGLShaderProgram@@QAEXPBDABV?$QGenericMatrix@$01$03M@@@Z @ 431 NONAME ; void QGLShaderProgram::setUniformValue(char const *, class QGenericMatrix<2, 4, float> const &) + ?trUtf8@QGLShaderProgram@@SA?AVQString@@PBD0@Z @ 432 NONAME ; class QString QGLShaderProgram::trUtf8(char const *, char const *) + ?fill@QGL2PaintEngineEx@@UAEXABVQVectorPath@@ABVQBrush@@@Z @ 433 NONAME ; void QGL2PaintEngineEx::fill(class QVectorPath const &, class QBrush const &) + ?disableAttributeArray@QGLShaderProgram@@QAEXPBD@Z @ 434 NONAME ; void QGLShaderProgram::disableAttributeArray(char const *) + ?paintEngine@QGLPixelBuffer@@UBEPAVQPaintEngine@@XZ @ 435 NONAME ; class QPaintEngine * QGLPixelBuffer::paintEngine(void) const + ?qt_metacall@QGLShader@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 436 NONAME ; int QGLShader::qt_metacall(enum QMetaObject::Call, int, void * *) + ?setUniformValue@QGLShaderProgram@@QAEXHMMM@Z @ 437 NONAME ; void QGLShaderProgram::setUniformValue(int, float, float, float) + ??1QGLFramebufferObject@@UAE@XZ @ 438 NONAME ; QGLFramebufferObject::~QGLFramebufferObject(void) + ?minorVersion@QGLFormat@@QBEHXZ @ 439 NONAME ; int QGLFormat::minorVersion(void) const + ?setAttributeValue@QGLShaderProgram@@QAEXHABVQColor@@@Z @ 440 NONAME ; void QGLShaderProgram::setAttributeValue(int, class QColor const &) + ?setUniformValueArray@QGLShaderProgram@@QAEXPBDPBVQMatrix4x4@@H@Z @ 441 NONAME ; void QGLShaderProgram::setUniformValueArray(char const *, class QMatrix4x4 const *, int) + ?setAttachment@QGLFramebufferObjectFormat@@QAEXW4Attachment@QGLFramebufferObject@@@Z @ 442 NONAME ; void QGLFramebufferObjectFormat::setAttachment(enum QGLFramebufferObject::Attachment) + ?setSwapInterval@QGLFormat@@QAEXH@Z @ 443 NONAME ; void QGLFormat::setSwapInterval(int) + ?event@QGLWidget@@MAE_NPAVQEvent@@@Z @ 444 NONAME ; bool QGLWidget::event(class QEvent *) + ?initializeGL@QGLWidget@@MAEXXZ @ 445 NONAME ; void QGLWidget::initializeGL(void) + ?setAttributeArray@QGLShaderProgram@@QAEXHPBVQVector3D@@H@Z @ 446 NONAME ; void QGLShaderProgram::setAttributeArray(int, class QVector3D const *, int) + ?hijackWindow@QGLWindowSurface@@AAEXPAVQWidget@@@Z @ 447 NONAME ; void QGLWindowSurface::hijackWindow(class QWidget *) + ?d_func@QGLShader@@ABEPBVQGLShaderPrivate@@XZ @ 448 NONAME ; class QGLShaderPrivate const * QGLShader::d_func(void) const + ?setUniformValue@QGLShaderProgram@@QAEXHABVQPointF@@@Z @ 449 NONAME ; void QGLShaderProgram::setUniformValue(int, class QPointF const &) + ?addShaderFromSourceCode@QGLShaderProgram@@QAE_NV?$QFlags@W4ShaderTypeBit@QGLShader@@@@ABVQString@@@Z @ 450 NONAME ; bool QGLShaderProgram::addShaderFromSourceCode(class QFlags, class QString const &) + ?setUniformValueArray@QGLShaderProgram@@QAEXPBDPBV?$QGenericMatrix@$02$03M@@H@Z @ 451 NONAME ; void QGLShaderProgram::setUniformValueArray(char const *, class QGenericMatrix<3, 4, float> const *, int) + ?width@QGLTextureGlyphCache@@QBEHXZ @ 452 NONAME ; int QGLTextureGlyphCache::width(void) const + ?setAttributeValue@QGLShaderProgram@@QAEXHM@Z @ 453 NONAME ; void QGLShaderProgram::setAttributeValue(int, float) + ?resizeOverlayGL@QGLWidget@@MAEXHH@Z @ 454 NONAME ; void QGLWidget::resizeOverlayGL(int, int) + ?setUniformValueArray@QGLShaderProgram@@QAEXHPBV?$QGenericMatrix@$01$02M@@H@Z @ 455 NONAME ; void QGLShaderProgram::setUniformValueArray(int, class QGenericMatrix<2, 3, float> const *, int) + ?bufferId@QGLBuffer@@QBEIXZ @ 456 NONAME ; unsigned int QGLBuffer::bufferId(void) const + ?disableAttributeArray@QGLShaderProgram@@QAEXH@Z @ 457 NONAME ; void QGLShaderProgram::disableAttributeArray(int) + ?end@QGL2PaintEngineEx@@UAE_NXZ @ 458 NONAME ; bool QGL2PaintEngineEx::end(void) + ??0QGL2PaintEngineEx@@QAE@XZ @ 459 NONAME ; QGL2PaintEngineEx::QGL2PaintEngineEx(void) + ?trUtf8@QGLEngineShaderManager@@SA?AVQString@@PBD0@Z @ 460 NONAME ; class QString QGLEngineShaderManager::trUtf8(char const *, char const *) + ??1QGLTextureGlyphCache@@UAE@XZ @ 461 NONAME ; QGLTextureGlyphCache::~QGLTextureGlyphCache(void) + ?context@QGLSharedResourceGuard@@QBEPBVQGLContext@@XZ @ 462 NONAME ; class QGLContext const * QGLSharedResourceGuard::context(void) const + ?resizeEvent@QGLWidget@@MAEXPAVQResizeEvent@@@Z @ 463 NONAME ; void QGLWidget::resizeEvent(class QResizeEvent *) + ?setDoubleBuffer@QGLFormat@@QAEX_N@Z @ 464 NONAME ; void QGLFormat::setDoubleBuffer(bool) + ??1QGLBuffer@@QAE@XZ @ 465 NONAME ; QGLBuffer::~QGLBuffer(void) + ?id@QGLSharedResourceGuard@@QBEIXZ @ 466 NONAME ; unsigned int QGLSharedResourceGuard::id(void) const + ?d_func@QGL2PaintEngineEx@@AAEPAVQGL2PaintEngineExPrivate@@XZ @ 467 NONAME ; class QGL2PaintEngineExPrivate * QGL2PaintEngineEx::d_func(void) + ?resize@QGLPixmapData@@UAEXHH@Z @ 468 NONAME ; void QGLPixmapData::resize(int, int) + ?setUniformValue@QGLShaderProgram@@QAEXPBDABV?$QGenericMatrix@$01$01M@@@Z @ 469 NONAME ; void QGLShaderProgram::setUniformValue(char const *, class QGenericMatrix<2, 2, float> const &) + ?trUtf8@QGLTextureGlyphCache@@SA?AVQString@@PBD0H@Z @ 470 NONAME ; class QString QGLTextureGlyphCache::trUtf8(char const *, char const *, int) + ?begin@QGL2PaintEngineEx@@UAE_NPAVQPaintDevice@@@Z @ 471 NONAME ; bool QGL2PaintEngineEx::begin(class QPaintDevice *) + ?samples@QGLFormat@@QBEHXZ @ 472 NONAME ; int QGLFormat::samples(void) const + ?setFormat@QGLContext@@QAEXABVQGLFormat@@@Z @ 473 NONAME ; void QGLContext::setFormat(class QGLFormat const &) + ?trUtf8@QGLSignalProxy@@SA?AVQString@@PBD0@Z @ 474 NONAME ; class QString QGLSignalProxy::trUtf8(char const *, char const *) + ?setUniformValue@QGLShaderProgram@@QAEXHABVQVector3D@@@Z @ 475 NONAME ; void QGLShaderProgram::setUniformValue(int, class QVector3D const &) + ?alphaBufferSize@QGLFormat@@QBEHXZ @ 476 NONAME ; int QGLFormat::alphaBufferSize(void) const + ?deleteTexture@QGLPixelBuffer@@QAEXI@Z @ 477 NONAME ; void QGLPixelBuffer::deleteTexture(unsigned int) + ?qt_qgl_paint_engine@@YAPAVQPaintEngine@@XZ @ 478 NONAME ; class QPaintEngine * qt_qgl_paint_engine(void) + ?trUtf8@QGLSignalProxy@@SA?AVQString@@PBD0H@Z @ 479 NONAME ; class QString QGLSignalProxy::trUtf8(char const *, char const *, int) + ??1QGLWindowSurface@@UAE@XZ @ 480 NONAME ; QGLWindowSurface::~QGLWindowSurface(void) + ?bind@QGLBuffer@@QAE_NXZ @ 481 NONAME ; bool QGLBuffer::bind(void) + ?getStaticMetaObject@QGLWidget@@SAABUQMetaObject@@XZ @ 482 NONAME ; struct QMetaObject const & QGLWidget::getStaticMetaObject(void) + ??_EQGLPixelBuffer@@UAE@I@Z @ 483 NONAME ; QGLPixelBuffer::~QGLPixelBuffer(unsigned int) + ?clipEnabledChanged@QGL2PaintEngineEx@@UAEXXZ @ 484 NONAME ; void QGL2PaintEngineEx::clipEnabledChanged(void) + ??_EQGLGraphicsSystem@@UAE@I@Z @ 485 NONAME ; QGLGraphicsSystem::~QGLGraphicsSystem(unsigned int) + ?endNativePainting@QGL2PaintEngineEx@@UAEXXZ @ 486 NONAME ; void QGL2PaintEngineEx::endNativePainting(void) + ?setFormat@QGLWidget@@QAEXABVQGLFormat@@@Z @ 487 NONAME ; void QGLWidget::setFormat(class QGLFormat const &) + ?setOption@QGLFormat@@QAEXV?$QFlags@W4FormatOption@QGL@@@@@Z @ 488 NONAME ; void QGLFormat::setOption(class QFlags) + ?shaderDestroyed@QGLShaderProgram@@AAEXXZ @ 489 NONAME ; void QGLShaderProgram::shaderDestroyed(void) + ?qt_metacall@QGLSignalProxy@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 490 NONAME ; int QGLSignalProxy::qt_metacall(enum QMetaObject::Call, int, void * *) + ?setId@QGLSharedResourceGuard@@QAEXI@Z @ 491 NONAME ; void QGLSharedResourceGuard::setId(unsigned int) + ?setUniformValue@QGLShaderProgram@@QAEXHABV?$QGenericMatrix@$03$01M@@@Z @ 492 NONAME ; void QGLShaderProgram::setUniformValue(int, class QGenericMatrix<4, 2, float> const &) + ?makeOverlayCurrent@QGLWidget@@QAEXXZ @ 493 NONAME ; void QGLWidget::makeOverlayCurrent(void) + ?setGeometryOutputVertexCount@QGLShaderProgram@@QAEXH@Z @ 494 NONAME ; void QGLShaderProgram::setGeometryOutputVertexCount(int) + ?setUniformValue@QGLShaderProgram@@QAEXPBDABVQSize@@@Z @ 495 NONAME ; void QGLShaderProgram::setUniformValue(char const *, class QSize const &) + ?convertToGLFormat@QGLWidget@@SA?AVQImage@@ABV2@@Z @ 496 NONAME ; class QImage QGLWidget::convertToGLFormat(class QImage const &) + ?staticMetaObject@QGLTextureGlyphCache@@2UQMetaObject@@B @ 497 NONAME ; struct QMetaObject const QGLTextureGlyphCache::staticMetaObject + ??_EQGLContextResource@@QAE@I@Z @ 498 NONAME ; QGLContextResource::~QGLContextResource(unsigned int) + ?handle@QGLColormap@@IAEKXZ @ 499 NONAME ; unsigned long QGLColormap::handle(void) + ?isCreated@QGLBuffer@@QBE_NXZ @ 500 NONAME ; bool QGLBuffer::isCreated(void) const + ?setColormap@QGLWidget@@QAEXABVQGLColormap@@@Z @ 501 NONAME ; void QGLWidget::setColormap(class QGLColormap const &) + ?instance@QGLSignalProxy@@SAPAV1@XZ @ 502 NONAME ; class QGLSignalProxy * QGLSignalProxy::instance(void) + ?setUniformValueArray@QGLShaderProgram@@QAEXPBDPBIH@Z @ 503 NONAME ; void QGLShaderProgram::setUniformValueArray(char const *, unsigned int const *, int) + ?isValid@QGLContext@@QBE_NXZ @ 504 NONAME ; bool QGLContext::isValid(void) const + ?currentCtx@QGLContext@@1PAV1@A @ 505 NONAME ; class QGLContext * QGLContext::currentCtx + ?hasOpenGLFramebufferObjects@QGLFramebufferObject@@SA_NXZ @ 506 NONAME ; bool QGLFramebufferObject::hasOpenGLFramebufferObjects(void) + ?compileSourceCode@QGLShader@@QAE_NABVQByteArray@@@Z @ 507 NONAME ; bool QGLShader::compileSourceCode(class QByteArray const &) + ?colormap@QGLWidget@@QBEABVQGLColormap@@XZ @ 508 NONAME ; class QGLColormap const & QGLWidget::colormap(void) const + ?getStaticMetaObject@QGLShaderProgram@@SAABUQMetaObject@@XZ @ 509 NONAME ; struct QMetaObject const & QGLShaderProgram::getStaticMetaObject(void) + ??_EQGLWidget@@UAE@I@Z @ 510 NONAME ; QGLWidget::~QGLWidget(unsigned int) + ?setStereo@QGLFormat@@QAEX_N@Z @ 511 NONAME ; void QGLFormat::setStereo(bool) + ?setAttributeValue@QGLShaderProgram@@QAEXPBDMM@Z @ 512 NONAME ; void QGLShaderProgram::setAttributeValue(char const *, float, float) + ?setAttributeValue@QGLShaderProgram@@QAEXHMMM@Z @ 513 NONAME ; void QGLShaderProgram::setAttributeValue(int, float, float, float) + ?context@QGLWindowSurface@@QBEPAVQGLContext@@XZ @ 514 NONAME ; class QGLContext * QGLWindowSurface::context(void) const + ?d_func@QGLBuffer@@AAEPAVQGLBufferPrivate@@XZ @ 515 NONAME ; class QGLBufferPrivate * QGLBuffer::d_func(void) + ?textureTarget@QGLFramebufferObjectFormat@@QBEIXZ @ 516 NONAME ; unsigned int QGLFramebufferObjectFormat::textureTarget(void) const + ?needsFill@QGLPixmapData@@ABE_NXZ @ 517 NONAME ; bool QGLPixmapData::needsFill(void) const + ??CQGLShareContextScope@@QAEPAVQGLContext@@XZ @ 518 NONAME ; class QGLContext * QGLShareContextScope::operator->(void) + ?setUniformValue@QGLShaderProgram@@QAEXPBDH@Z @ 519 NONAME ; void QGLShaderProgram::setUniformValue(char const *, int) + ?release@QGLBuffer@@SAXW4Type@1@@Z @ 520 NONAME ; void QGLBuffer::release(enum QGLBuffer::Type) + ??0QGLWidget@@QAE@PAVQWidget@@PBV0@V?$QFlags@W4WindowType@Qt@@@@@Z @ 521 NONAME ; QGLWidget::QGLWidget(class QWidget *, class QGLWidget const *, class QFlags) + ?stencilBufferSize@QGLFormat@@QBEHXZ @ 522 NONAME ; int QGLFormat::stencilBufferSize(void) const + ?getStaticMetaObject@QGLShader@@SAABUQMetaObject@@XZ @ 523 NONAME ; struct QMetaObject const & QGLShader::getStaticMetaObject(void) + ?setUniformValue@QGLShaderProgram@@QAEXPBDMM@Z @ 524 NONAME ; void QGLShaderProgram::setUniformValue(char const *, float, float) + ?log@QGLShader@@QBE?AVQString@@XZ @ 525 NONAME ; class QString QGLShader::log(void) const + ?setUniformValueArray@QGLShaderProgram@@QAEXHPBV?$QGenericMatrix@$02$03M@@H@Z @ 526 NONAME ; void QGLShaderProgram::setUniformValueArray(int, class QGenericMatrix<3, 4, float> const *, int) + ?setUniformValueArray@QGLShaderProgram@@QAEXPBDPBV?$QGenericMatrix@$03$01M@@H@Z @ 527 NONAME ; void QGLShaderProgram::setUniformValueArray(char const *, class QGenericMatrix<4, 2, float> const *, int) + ?qt_metacast@QGLWindowSurface@@UAEPAXPBD@Z @ 528 NONAME ; void * QGLWindowSurface::qt_metacast(char const *) + ?autoBufferSwap@QGLWidget@@IBE_NXZ @ 529 NONAME ; bool QGLWidget::autoBufferSwap(void) const + ?size@QGLFramebufferObject@@QBE?AVQSize@@XZ @ 530 NONAME ; class QSize QGLFramebufferObject::size(void) const + ??1QGL2PaintEngineEx@@UAE@XZ @ 531 NONAME ; QGL2PaintEngineEx::~QGL2PaintEngineEx(void) + ?trUtf8@QGLShader@@SA?AVQString@@PBD0H@Z @ 532 NONAME ; class QString QGLShader::trUtf8(char const *, char const *, int) + ?drawTexture@QGLContext@@QAEXABVQPointF@@II@Z @ 533 NONAME ; void QGLContext::drawTexture(class QPointF const &, unsigned int, unsigned int) + ?defaultOverlayFormat@QGLFormat@@SA?AV1@XZ @ 534 NONAME ; class QGLFormat QGLFormat::defaultOverlayFormat(void) + ?setUniformValue@QGLShaderProgram@@QAEXPBDABV?$QGenericMatrix@$02$03M@@@Z @ 535 NONAME ; void QGLShaderProgram::setUniformValue(char const *, class QGenericMatrix<3, 4, float> const &) + ?allocate@QGLBuffer@@QAEXH@Z @ 536 NONAME ; void QGLBuffer::allocate(int) + ?setAttributeArray@QGLShaderProgram@@QAEXPBDPBVQVector2D@@H@Z @ 537 NONAME ; void QGLShaderProgram::setAttributeArray(char const *, class QVector2D const *, int) + ?d_func@QGLShaderProgram@@ABEPBVQGLShaderProgramPrivate@@XZ @ 538 NONAME ; class QGLShaderProgramPrivate const * QGLShaderProgram::d_func(void) const + ?staticMetaObject@QGLSignalProxy@@2UQMetaObject@@B @ 539 NONAME ; struct QMetaObject const QGLSignalProxy::staticMetaObject + ??_EQGLPaintDevice@@UAE@I@Z @ 540 NONAME ; QGLPaintDevice::~QGLPaintDevice(unsigned int) + ?geometryInputType@QGLShaderProgram@@QBEIXZ @ 541 NONAME ; unsigned int QGLShaderProgram::geometryInputType(void) const + ?drawTexture@QGLPixelBuffer@@QAEXABVQPointF@@II@Z @ 542 NONAME ; void QGLPixelBuffer::drawTexture(class QPointF const &, unsigned int, unsigned int) + ?setUniformValue@QGLShaderProgram@@QAEXPBDABVQMatrix4x4@@@Z @ 543 NONAME ; void QGLShaderProgram::setUniformValue(char const *, class QMatrix4x4 const &) + ??1QGLFramebufferObjectFormat@@QAE@XZ @ 544 NONAME ; QGLFramebufferObjectFormat::~QGLFramebufferObjectFormat(void) + ?staticMetaObject@QGLWidget@@2UQMetaObject@@B @ 545 NONAME ; struct QMetaObject const QGLWidget::staticMetaObject + ?isCompiled@QGLShader@@QBE_NXZ @ 546 NONAME ; bool QGLShader::isCompiled(void) const + ?setUniformValue@QGLShaderProgram@@QAEXPBDQAY02M@Z @ 547 NONAME ; void QGLShaderProgram::setUniformValue(char const *, float [3] * const) + ?setUniformValue@QGLShaderProgram@@QAEXPBDABVQPointF@@@Z @ 548 NONAME ; void QGLShaderProgram::setUniformValue(char const *, class QPointF const &) + ?getDevice@QGLPaintDevice@@SAPAV1@PAVQPaintDevice@@@Z @ 549 NONAME ; class QGLPaintDevice * QGLPaintDevice::getDevice(class QPaintDevice *) + ?setUniformValue@QGLShaderProgram@@QAEXHQAY02M@Z @ 550 NONAME ; void QGLShaderProgram::setUniformValue(int, float [3] * const) + ?getStaticMetaObject@QGLTextureGlyphCache@@SAABUQMetaObject@@XZ @ 551 NONAME ; struct QMetaObject const & QGLTextureGlyphCache::getStaticMetaObject(void) + ?swapBuffers@QGLContext@@UBEXXZ @ 552 NONAME ; void QGLContext::swapBuffers(void) const + ?renderText@QGLWidget@@QAEXHHABVQString@@ABVQFont@@H@Z @ 553 NONAME ; void QGLWidget::renderText(int, int, class QString const &, class QFont const &, int) + ?defaultFormat@QGLFormat@@SA?AV1@XZ @ 554 NONAME ; class QGLFormat QGLFormat::defaultFormat(void) + ?bindTexture@QGLWidget@@QAEIABVQPixmap@@IH@Z @ 555 NONAME ; unsigned int QGLWidget::bindTexture(class QPixmap const &, unsigned int, int) + ?setUniformValue@QGLShaderProgram@@QAEXHABVQPoint@@@Z @ 556 NONAME ; void QGLShaderProgram::setUniformValue(int, class QPoint const &) + ?bindTexture@QGLContext@@QAEIABVQImage@@IHV?$QFlags@W4BindOption@QGLContext@@@@@Z @ 557 NONAME ; unsigned int QGLContext::bindTexture(class QImage const &, unsigned int, int, class QFlags) + ?initialized@QGLContext@@IBE_NXZ @ 558 NONAME ; bool QGLContext::initialized(void) const + ?cleanup@QGLColormap@@CAXPAUQGLColormapData@1@@Z @ 559 NONAME ; void QGLColormap::cleanup(struct QGLColormap::QGLColormapData *) + ??1QGLContextResource@@QAE@XZ @ 560 NONAME ; QGLContextResource::~QGLContextResource(void) + ?bindTexture@QGLWidget@@QAEIABVQPixmap@@IHV?$QFlags@W4BindOption@QGLContext@@@@@Z @ 561 NONAME ; unsigned int QGLWidget::bindTexture(class QPixmap const &, unsigned int, int, class QFlags) + ?setUniformValue@QGLShaderProgram@@QAEXPBDABV?$QGenericMatrix@$02$01M@@@Z @ 562 NONAME ; void QGLShaderProgram::setUniformValue(char const *, class QGenericMatrix<3, 2, float> const &) + ?setUniformValueArray@QGLShaderProgram@@QAEXHPBMHH@Z @ 563 NONAME ; void QGLShaderProgram::setUniformValueArray(int, float const *, int, int) + ?qt_metacall@QGraphicsShaderEffect@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 564 NONAME ; int QGraphicsShaderEffect::qt_metacall(enum QMetaObject::Call, int, void * *) + ?setUniformValueArray@QGLShaderProgram@@QAEXHPBVQVector2D@@H@Z @ 565 NONAME ; void QGLShaderProgram::setUniformValueArray(int, class QVector2D const *, int) + ?beginNativePainting@QGL2PaintEngineEx@@UAEXXZ @ 566 NONAME ; void QGL2PaintEngineEx::beginNativePainting(void) + ?overlayTransparentColor@QGLContext@@QBE?AVQColor@@XZ @ 567 NONAME ; class QColor QGLContext::overlayTransparentColor(void) const + ?endPaint@QGLPaintDevice@@UAEXXZ @ 568 NONAME ; void QGLPaintDevice::endPaint(void) + ?areSharing@QGLContext@@SA_NPBV1@0@Z @ 569 NONAME ; bool QGLContext::areSharing(class QGLContext const *, class QGLContext const *) + ?setSamples@QGLFramebufferObjectFormat@@QAEXH@Z @ 570 NONAME ; void QGLFramebufferObjectFormat::setSamples(int) + ?d_func@QGLCustomShaderStage@@AAEPAVQGLCustomShaderStagePrivate@@XZ @ 571 NONAME ; class QGLCustomShaderStagePrivate * QGLCustomShaderStage::d_func(void) + ?doneCurrent@QGLPixelBuffer@@QAE_NXZ @ 572 NONAME ; bool QGLPixelBuffer::doneCurrent(void) + ?geometryOutputType@QGLShaderProgram@@QBEIXZ @ 573 NONAME ; unsigned int QGLShaderProgram::geometryOutputType(void) const + ?removeShader@QGLShaderProgram@@QAEXPAVQGLShader@@@Z @ 574 NONAME ; void QGLShaderProgram::removeShader(class QGLShader *) + ?setUniformValueArray@QGLShaderProgram@@QAEXHPBV?$QGenericMatrix@$03$01M@@H@Z @ 575 NONAME ; void QGLShaderProgram::setUniformValueArray(int, class QGenericMatrix<4, 2, float> const *, int) + ?setEntries@QGLColormap@@QAEXHPBIH@Z @ 576 NONAME ; void QGLColormap::setEntries(int, unsigned int const *, int) + ?setUniformValue@QGLShaderProgram@@QAEXPBDI@Z @ 577 NONAME ; void QGLShaderProgram::setUniformValue(char const *, unsigned int) + ?d_func@QGL2PaintEngineEx@@ABEPBVQGL2PaintEngineExPrivate@@XZ @ 578 NONAME ; class QGL2PaintEngineExPrivate const * QGL2PaintEngineEx::d_func(void) const + ?removeCustomStage@QGLEngineShaderManager@@QAEXXZ @ 579 NONAME ; void QGLEngineShaderManager::removeCustomStage(void) + ?bindTexture@QGLPixelBuffer@@QAEIABVQImage@@I@Z @ 580 NONAME ; unsigned int QGLPixelBuffer::bindTexture(class QImage const &, unsigned int) + ??_EQGLCustomShaderStage@@UAE@I@Z @ 581 NONAME ; QGLCustomShaderStage::~QGLCustomShaderStage(unsigned int) + ?format@QGLPixelBuffer@@QBE?AVQGLFormat@@XZ @ 582 NONAME ; class QGLFormat QGLPixelBuffer::format(void) const + ?swapBuffers@QGLWidget@@QAEXXZ @ 583 NONAME ; void QGLWidget::swapBuffers(void) + ??_EQGLFramebufferObject@@UAE@I@Z @ 584 NONAME ; QGLFramebufferObject::~QGLFramebufferObject(unsigned int) + ?glDevice@QGLPixmapData@@QBEPAVQGLPaintDevice@@XZ @ 585 NONAME ; class QGLPaintDevice * QGLPixmapData::glDevice(void) const + ?compositionModeChanged@QGL2PaintEngineEx@@UAEXXZ @ 586 NONAME ; void QGL2PaintEngineEx::compositionModeChanged(void) + ?tr@QGLWidget@@SA?AVQString@@PBD0@Z @ 587 NONAME ; class QString QGLWidget::tr(char const *, char const *) + ?setUniforms@QGraphicsShaderEffect@@MAEXPAVQGLShaderProgram@@@Z @ 588 NONAME ; void QGraphicsShaderEffect::setUniforms(class QGLShaderProgram *) + ?drawImage@QGL2PaintEngineEx@@UAEXABVQRectF@@ABVQImage@@0V?$QFlags@W4ImageConversionFlag@Qt@@@@@Z @ 589 NONAME ; void QGL2PaintEngineEx::drawImage(class QRectF const &, class QImage const &, class QRectF const &, class QFlags) + ?flush@QGLWindowSurface@@UAEXPAVQWidget@@ABVQRegion@@ABVQPoint@@@Z @ 590 NONAME ; void QGLWindowSurface::flush(class QWidget *, class QRegion const &, class QPoint const &) + ??0QGLTextureGlyphCache@@QAE@PAVQGLContext@@W4Type@QFontEngineGlyphCache@@ABVQTransform@@@Z @ 591 NONAME ; QGLTextureGlyphCache::QGLTextureGlyphCache(class QGLContext *, enum QFontEngineGlyphCache::Type, class QTransform const &) + ??_EQGLTextureGlyphCache@@UAE@I@Z @ 592 NONAME ; QGLTextureGlyphCache::~QGLTextureGlyphCache(unsigned int) + ??1QGLShareContextScope@@QAE@XZ @ 593 NONAME ; QGLShareContextScope::~QGLShareContextScope(void) + ?alpha@QGLFormat@@QBE_NXZ @ 594 NONAME ; bool QGLFormat::alpha(void) const + ?drawTextItem@QGL2PaintEngineEx@@UAEXABVQPointF@@ABVQTextItem@@@Z @ 595 NONAME ; void QGL2PaintEngineEx::drawTextItem(class QPointF const &, class QTextItem const &) + ?bindTexture@QGLContext@@QAEIABVQPixmap@@IHV?$QFlags@W4BindOption@QGLContext@@@@@Z @ 596 NONAME ; unsigned int QGLContext::bindTexture(class QPixmap const &, unsigned int, int, class QFlags) + ?fillImage@QGLPixmapData@@ABE?AVQImage@@ABVQColor@@@Z @ 597 NONAME ; class QImage QGLPixmapData::fillImage(class QColor const &) const + ?renderHintsChanged@QGL2PaintEngineEx@@UAEXXZ @ 598 NONAME ; void QGL2PaintEngineEx::renderHintsChanged(void) + ?trUtf8@QGLShaderProgram@@SA?AVQString@@PBD0H@Z @ 599 NONAME ; class QString QGLShaderProgram::trUtf8(char const *, char const *, int) + ?setUniformValue@QGLShaderProgram@@QAEXHABVQTransform@@@Z @ 600 NONAME ; void QGLShaderProgram::setUniformValue(int, class QTransform const &) + ?qt_resolve_eglimage_gl_extensions@@YA_NPAVQGLContext@@@Z @ 601 NONAME ; bool qt_resolve_eglimage_gl_extensions(class QGLContext *) + ?glInit@QGLWidget@@MAEXXZ @ 602 NONAME ; void QGLWidget::glInit(void) + ?setEntry@QGLColormap@@QAEXHABVQColor@@@Z @ 603 NONAME ; void QGLColormap::setEntry(int, class QColor const &) + ?setUniformValueArray@QGLShaderProgram@@QAEXPBDPBVQVector3D@@H@Z @ 604 NONAME ; void QGLShaderProgram::setUniformValueArray(char const *, class QVector3D const *, int) + ??1QGLPixmapData@@UAE@XZ @ 605 NONAME ; QGLPixmapData::~QGLPixmapData(void) + ?log@QGLShaderProgram@@QBE?AVQString@@XZ @ 606 NONAME ; class QString QGLShaderProgram::log(void) const + ?metric@QGLPixmapData@@UBEHW4PaintDeviceMetric@QPaintDevice@@@Z @ 607 NONAME ; int QGLPixmapData::metric(enum QPaintDevice::PaintDeviceMetric) const + ?qglColor@QGLWidget@@QBEXABVQColor@@@Z @ 608 NONAME ; void QGLWidget::qglColor(class QColor const &) const + ??0QGLBuffer@@QAE@XZ @ 609 NONAME ; QGLBuffer::QGLBuffer(void) + ?setAttributeValue@QGLShaderProgram@@QAEXPBDPBMHH@Z @ 610 NONAME ; void QGLShaderProgram::setAttributeValue(char const *, float const *, int, int) + ?handle@QGLFramebufferObject@@QBEIXZ @ 611 NONAME ; unsigned int QGLFramebufferObject::handle(void) const + ?tr@QGLSignalProxy@@SA?AVQString@@PBD0@Z @ 612 NONAME ; class QString QGLSignalProxy::tr(char const *, char const *) + ?hasOverlay@QGLFormat@@QBE_NXZ @ 613 NONAME ; bool QGLFormat::hasOverlay(void) const + ?setSrcPixelType@QGLEngineShaderManager@@QAEXW4BrushStyle@Qt@@@Z @ 614 NONAME ; void QGLEngineShaderManager::setSrcPixelType(enum Qt::BrushStyle) + ?emitAboutToDestroyContext@QGLSignalProxy@@QAEXPBVQGLContext@@@Z @ 615 NONAME ; void QGLSignalProxy::emitAboutToDestroyContext(class QGLContext const *) + ?colorIndex@QGLContext@@IBEIABVQColor@@@Z @ 616 NONAME ; unsigned int QGLContext::colorIndex(class QColor const &) const + ?alphaRequested@QGLPaintDevice@@UBE_NXZ @ 617 NONAME ; bool QGLPaintDevice::alphaRequested(void) const + ?unmap@QGLBuffer@@QAE_NXZ @ 618 NONAME ; bool QGLBuffer::unmap(void) + ?setUniformValueArray@QGLShaderProgram@@QAEXPBDPBMHH@Z @ 619 NONAME ; void QGLShaderProgram::setUniformValueArray(char const *, float const *, int, int) + ??0QGLSharedResourceGuard@@QAE@PBVQGLContext@@I@Z @ 620 NONAME ; QGLSharedResourceGuard::QGLSharedResourceGuard(class QGLContext const *, unsigned int) + ?bindAttributeLocation@QGLShaderProgram@@QAEXPBDH@Z @ 621 NONAME ; void QGLShaderProgram::bindAttributeLocation(char const *, int) + ?setUniformValue@QGLShaderProgram@@QAEXHABVQColor@@@Z @ 622 NONAME ; void QGLShaderProgram::setUniformValue(int, class QColor const &) + ?enableAttributeArray@QGLShaderProgram@@QAEXH@Z @ 623 NONAME ; void QGLShaderProgram::enableAttributeArray(int) + ?tr@QGLShader@@SA?AVQString@@PBD0@Z @ 624 NONAME ; class QString QGLShader::tr(char const *, char const *) + ?overlayContext@QGLWidget@@QBEPBVQGLContext@@XZ @ 625 NONAME ; class QGLContext const * QGLWidget::overlayContext(void) const + ?beginPaint@QGLPaintDevice@@UAEXXZ @ 626 NONAME ; void QGLPaintDevice::beginPaint(void) + ?setTextureCacheLimit@QGLContext@@SAXH@Z @ 627 NONAME ; void QGLContext::setTextureCacheLimit(int) + ?setOnPainter@QGLCustomShaderStage@@QAE_NPAVQPainter@@@Z @ 628 NONAME ; bool QGLCustomShaderStage::setOnPainter(class QPainter *) + ?bindTexture@QGLPixelBuffer@@QAEIABVQPixmap@@I@Z @ 629 NONAME ; unsigned int QGLPixelBuffer::bindTexture(class QPixmap const &, unsigned int) + ?resizeGL@QGLWidget@@MAEXHH@Z @ 630 NONAME ; void QGLWidget::resizeGL(int, int) + ?trUtf8@QGLWindowSurface@@SA?AVQString@@PBD0@Z @ 631 NONAME ; class QString QGLWindowSurface::trUtf8(char const *, char const *) + ?qt_metacast@QGLEngineShaderManager@@UAEPAXPBD@Z @ 632 NONAME ; void * QGLEngineShaderManager::qt_metacast(char const *) + ?sampleBuffers@QGLFormat@@QBE_NXZ @ 633 NONAME ; bool QGLFormat::sampleBuffers(void) const + ?trUtf8@QGLWindowSurface@@SA?AVQString@@PBD0H@Z @ 634 NONAME ; class QString QGLWindowSurface::trUtf8(char const *, char const *, int) + ?shaderProgNeedsChangingSlot@QGLEngineShaderManager@@AAEXXZ @ 635 NONAME ; void QGLEngineShaderManager::shaderProgNeedsChangingSlot(void) + ?metaObject@QGLTextureGlyphCache@@UBEPBUQMetaObject@@XZ @ 636 NONAME ; struct QMetaObject const * QGLTextureGlyphCache::metaObject(void) const + ?paintEvent@QGLWidget@@MAEXPAVQPaintEvent@@@Z @ 637 NONAME ; void QGLWidget::paintEvent(class QPaintEvent *) + ?uniformLocation@QGLShaderProgram@@QBEHABVQByteArray@@@Z @ 638 NONAME ; int QGLShaderProgram::uniformLocation(class QByteArray const &) const + ?currentContext@QGLContext@@SAPBV1@XZ @ 639 NONAME ; class QGLContext const * QGLContext::currentContext(void) + ?setUniformValue@QGLShaderProgram@@QAEXHABV?$QGenericMatrix@$01$02M@@@Z @ 640 NONAME ; void QGLShaderProgram::setUniformValue(int, class QGenericMatrix<2, 3, float> const &) + ??0QGLShader@@QAE@V?$QFlags@W4ShaderTypeBit@QGLShader@@@@PAVQObject@@@Z @ 641 NONAME ; QGLShader::QGLShader(class QFlags, class QObject *) + ?setUniformValueArray@QGLShaderProgram@@QAEXPBDPBV?$QGenericMatrix@$01$01M@@H@Z @ 642 NONAME ; void QGLShaderProgram::setUniformValueArray(char const *, class QGenericMatrix<2, 2, float> const *, int) + ?drawStaticTextItem@QGL2PaintEngineEx@@UAEXPAVQStaticTextItem@@@Z @ 643 NONAME ; void QGL2PaintEngineEx::drawStaticTextItem(class QStaticTextItem *) + ?metaObject@QGLShader@@UBEPBUQMetaObject@@XZ @ 644 NONAME ; struct QMetaObject const * QGLShader::metaObject(void) const + ?tr@QGLTextureGlyphCache@@SA?AVQString@@PBD0@Z @ 645 NONAME ; class QString QGLTextureGlyphCache::tr(char const *, char const *) + ?drawTexture@QGLFramebufferObject@@QAEXABVQRectF@@II@Z @ 646 NONAME ; void QGLFramebufferObject::drawTexture(class QRectF const &, unsigned int, unsigned int) + ?openGLVersionFlags@QGLFormat@@SA?AV?$QFlags@W4OpenGLVersionFlag@QGLFormat@@@@XZ @ 647 NONAME ; class QFlags QGLFormat::openGLVersionFlags(void) + ?setRedBufferSize@QGLFormat@@QAEXH@Z @ 648 NONAME ; void QGLFormat::setRedBufferSize(int) + ??0QGLFormat@@QAE@V?$QFlags@W4FormatOption@QGL@@@@H@Z @ 649 NONAME ; QGLFormat::QGLFormat(class QFlags, int) + ?setMaskType@QGLEngineShaderManager@@QAEXW4MaskType@1@@Z @ 650 NONAME ; void QGLEngineShaderManager::setMaskType(enum QGLEngineShaderManager::MaskType) + ?setUniforms@QGLCustomShaderStage@@UAEXPAVQGLShaderProgram@@@Z @ 651 NONAME ; void QGLCustomShaderStage::setUniforms(class QGLShaderProgram *) + ??0QGLFramebufferObjectFormat@@QAE@ABV0@@Z @ 652 NONAME ; QGLFramebufferObjectFormat::QGLFramebufferObjectFormat(class QGLFramebufferObjectFormat const &) + ?fromFile@QGLPixmapData@@UAE_NABVQString@@PBDV?$QFlags@W4ImageConversionFlag@Qt@@@@@Z @ 653 NONAME ; bool QGLPixmapData::fromFile(class QString const &, char const *, class QFlags) + ?qt_metacast@QGLShader@@UAEPAXPBD@Z @ 654 NONAME ; void * QGLShader::qt_metacast(char const *) + ?attributeLocation@QGLShaderProgram@@QBEHABVQByteArray@@@Z @ 655 NONAME ; int QGLShaderProgram::attributeLocation(class QByteArray const &) const + ?bindTexture@QGLContext@@QAEIABVQImage@@IH@Z @ 656 NONAME ; unsigned int QGLContext::bindTexture(class QImage const &, unsigned int, int) + ?optimiseForBrushTransform@QGLEngineShaderManager@@QAEXW4TransformationType@QTransform@@@Z @ 657 NONAME ; void QGLEngineShaderManager::optimiseForBrushTransform(enum QTransform::TransformationType) + ?setAlpha@QGLFormat@@QAEX_N@Z @ 658 NONAME ; void QGLFormat::setAlpha(bool) + ?setAttributeValue@QGLShaderProgram@@QAEXPBDMMMM@Z @ 659 NONAME ; void QGLShaderProgram::setAttributeValue(char const *, float, float, float, float) + ?setUniformValue@QGLShaderProgram@@QAEXPBDABV?$QGenericMatrix@$03$01M@@@Z @ 660 NONAME ; void QGLShaderProgram::setUniformValue(char const *, class QGenericMatrix<4, 2, float> const &) + ?blitFramebuffer@QGLFramebufferObject@@SAXPAV1@ABVQRect@@01II@Z @ 661 NONAME ; void QGLFramebufferObject::blitFramebuffer(class QGLFramebufferObject *, class QRect const &, class QGLFramebufferObject *, class QRect const &, unsigned int, unsigned int) + ?d_func@QGraphicsShaderEffect@@AAEPAVQGraphicsShaderEffectPrivate@@XZ @ 662 NONAME ; class QGraphicsShaderEffectPrivate * QGraphicsShaderEffect::d_func(void) + ?d_func@QGLWidget@@AAEPAVQGLWidgetPrivate@@XZ @ 663 NONAME ; class QGLWidgetPrivate * QGLWidget::d_func(void) + ?qt_metacast@QGLSignalProxy@@UAEPAXPBD@Z @ 664 NONAME ; void * QGLSignalProxy::qt_metacast(char const *) + ?createState@QGL2PaintEngineEx@@UBEPAVQPainterState@@PAV2@@Z @ 665 NONAME ; class QPainterState * QGL2PaintEngineEx::createState(class QPainterState *) const + ??0QGLShader@@QAE@V?$QFlags@W4ShaderTypeBit@QGLShader@@@@PBVQGLContext@@PAVQObject@@@Z @ 666 NONAME ; QGLShader::QGLShader(class QFlags, class QGLContext const *, class QObject *) + ?format@QGLFramebufferObject@@QBE?AVQGLFramebufferObjectFormat@@XZ @ 667 NONAME ; class QGLFramebufferObjectFormat QGLFramebufferObject::format(void) const + ?tr@QGraphicsShaderEffect@@SA?AVQString@@PBD0H@Z @ 668 NONAME ; class QString QGraphicsShaderEffect::tr(char const *, char const *, int) + ?destroy@QGLBuffer@@QAEXXZ @ 669 NONAME ; void QGLBuffer::destroy(void) + ?setUniformValue@QGLShaderProgram@@QAEXPBDMMM@Z @ 670 NONAME ; void QGLShaderProgram::setUniformValue(char const *, float, float, float) + ?paintEngine@QGLFramebufferObject@@UBEPAVQPaintEngine@@XZ @ 671 NONAME ; class QPaintEngine * QGLFramebufferObject::paintEngine(void) const + ?setTextureTarget@QGLFramebufferObjectFormat@@QAEXI@Z @ 672 NONAME ; void QGLFramebufferObjectFormat::setTextureTarget(unsigned int) + ?hasOpenGLPbuffers@QGLPixelBuffer@@SA_NXZ @ 673 NONAME ; bool QGLPixelBuffer::hasOpenGLPbuffers(void) + ?handle@QGLPixelBuffer@@QBEKXZ @ 674 NONAME ; unsigned long QGLPixelBuffer::handle(void) const + ?setHandle@QGLColormap@@IAEXK@Z @ 675 NONAME ; void QGLColormap::setHandle(unsigned long) + ?size@QGLPixmapData@@ABE?AVQSize@@XZ @ 676 NONAME ; class QSize QGLPixmapData::size(void) const + ??1QGLSignalProxy@@UAE@XZ @ 677 NONAME ; QGLSignalProxy::~QGLSignalProxy(void) + ?isBound@QGLFramebufferObject@@QBE_NXZ @ 678 NONAME ; bool QGLFramebufferObject::isBound(void) const + ?updateOverlayGL@QGLWidget@@UAEXXZ @ 679 NONAME ; void QGLWidget::updateOverlayGL(void) + ?makeCurrent@QGLPixelBuffer@@QAE_NXZ @ 680 NONAME ; bool QGLPixelBuffer::makeCurrent(void) + ?setUniformValue@QGLShaderProgram@@QAEXPBDQAY03M@Z @ 681 NONAME ; void QGLShaderProgram::setUniformValue(char const *, float [4] * const) + ?draw@QGraphicsShaderEffect@@MAEXPAVQPainter@@@Z @ 682 NONAME ; void QGraphicsShaderEffect::draw(class QPainter *) + ?bindTexture@QGLWidget@@QAEIABVQString@@@Z @ 683 NONAME ; unsigned int QGLWidget::bindTexture(class QString const &) + ?setAttributeValue@QGLShaderProgram@@QAEXPBDABVQVector4D@@@Z @ 684 NONAME ; void QGLShaderProgram::setAttributeValue(char const *, class QVector4D const &) + ?setAttributeArray@QGLShaderProgram@@QAEXHPBVQVector2D@@H@Z @ 685 NONAME ; void QGLShaderProgram::setAttributeArray(int, class QVector2D const *, int) + ?makeCurrent@QGLWidget@@QAEXXZ @ 686 NONAME ; void QGLWidget::makeCurrent(void) + ?setUniformValue@QGLShaderProgram@@QAEXHQAY03M@Z @ 687 NONAME ; void QGLShaderProgram::setUniformValue(int, float [4] * const) + ?setUniformValue@QGLShaderProgram@@QAEXPBDABVQPoint@@@Z @ 688 NONAME ; void QGLShaderProgram::setUniformValue(char const *, class QPoint const &) + ?redBufferSize@QGLFormat@@QBEHXZ @ 689 NONAME ; int QGLFormat::redBufferSize(void) const + ?setUniformValueArray@QGLShaderProgram@@QAEXPBDPBV?$QGenericMatrix@$02$02M@@H@Z @ 690 NONAME ; void QGLShaderProgram::setUniformValueArray(char const *, class QGenericMatrix<3, 3, float> const *, int) + ?setAttributeValue@QGLShaderProgram@@QAEXHABVQVector3D@@@Z @ 691 NONAME ; void QGLShaderProgram::setAttributeValue(int, class QVector3D const &) + ?useFramebufferObjects@QGLPixmapData@@ABE_NXZ @ 692 NONAME ; bool QGLPixmapData::useFramebufferObjects(void) const + ?enableAttributeArray@QGLShaderProgram@@QAEXPBD@Z @ 693 NONAME ; void QGLShaderProgram::enableAttributeArray(char const *) + ?depth@QGLFormat@@QBE_NXZ @ 694 NONAME ; bool QGLFormat::depth(void) const + ?getStaticMetaObject@QGLWindowSurface@@SAABUQMetaObject@@XZ @ 695 NONAME ; struct QMetaObject const & QGLWindowSurface::getStaticMetaObject(void) + ?qt_metacast@QGLWidget@@UAEPAXPBD@Z @ 696 NONAME ; void * QGLWidget::qt_metacast(char const *) + ?setProfile@QGLFormat@@QAEXW4OpenGLContextProfile@1@@Z @ 697 NONAME ; void QGLFormat::setProfile(enum QGLFormat::OpenGLContextProfile) + ?updateDynamicTexture@QGLPixelBuffer@@QBEXI@Z @ 698 NONAME ; void QGLPixelBuffer::updateDynamicTexture(unsigned int) const + ?setUniformValue@QGLShaderProgram@@QAEXHH@Z @ 699 NONAME ; void QGLShaderProgram::setUniformValue(int, int) + diff --git a/src/s60installs/eabi/QtOpenGLu.def b/src/s60installs/eabi/QtOpenGLu.def new file mode 100644 index 0000000..7ceade4 --- /dev/null +++ b/src/s60installs/eabi/QtOpenGLu.def @@ -0,0 +1,705 @@ +EXPORTS + _Z18qt_gl_share_widgetv @ 1 NONAME + _Z19qt_qgl_paint_enginev @ 2 NONAME + _Z22qt_gl_transfer_contextPK10QGLContext @ 3 NONAME + _Z26qt_destroy_gl_share_widgetv @ 4 NONAME + _Z33qt_resolve_eglimage_gl_extensionsP10QGLContext @ 5 NONAME + _ZN10QGLContext10areSharingEPKS_S1_ @ 6 NONAME + _ZN10QGLContext10currentCtxE @ 7 NONAME DATA 4 + _ZN10QGLContext11bindTextureERK6QImageji @ 8 NONAME + _ZN10QGLContext11bindTextureERK6QImageji6QFlagsINS_10BindOptionEE @ 9 NONAME + _ZN10QGLContext11bindTextureERK7QPixmapji @ 10 NONAME + _ZN10QGLContext11bindTextureERK7QPixmapji6QFlagsINS_10BindOptionEE @ 11 NONAME + _ZN10QGLContext11bindTextureERK7QString @ 12 NONAME + _ZN10QGLContext11doneCurrentEv @ 13 NONAME + _ZN10QGLContext11drawTextureERK6QRectFjj @ 14 NONAME + _ZN10QGLContext11drawTextureERK7QPointFjj @ 15 NONAME + _ZN10QGLContext11makeCurrentEv @ 16 NONAME + _ZN10QGLContext13chooseContextEPKS_ @ 17 NONAME + _ZN10QGLContext13deleteTextureEj @ 18 NONAME + _ZN10QGLContext14currentContextEv @ 19 NONAME + _ZN10QGLContext14setInitializedEb @ 20 NONAME + _ZN10QGLContext16setWindowCreatedEb @ 21 NONAME + _ZN10QGLContext17textureCacheLimitEv @ 22 NONAME + _ZN10QGLContext20setTextureCacheLimitEi @ 23 NONAME + _ZN10QGLContext24generateFontDisplayListsERK5QFonti @ 24 NONAME + _ZN10QGLContext5resetEv @ 25 NONAME + _ZN10QGLContext6createEPKS_ @ 26 NONAME + _ZN10QGLContext8setValidEb @ 27 NONAME + _ZN10QGLContext9setDeviceEP12QPaintDevice @ 28 NONAME + _ZN10QGLContext9setFormatERK9QGLFormat @ 29 NONAME + _ZN10QGLContextC1ERK9QGLFormat @ 30 NONAME + _ZN10QGLContextC1ERK9QGLFormatP12QPaintDevice @ 31 NONAME + _ZN10QGLContextC2ERK9QGLFormat @ 32 NONAME + _ZN10QGLContextC2ERK9QGLFormatP12QPaintDevice @ 33 NONAME + _ZN10QGLContextD0Ev @ 34 NONAME + _ZN10QGLContextD1Ev @ 35 NONAME + _ZN10QGLContextD2Ev @ 36 NONAME + _ZN11QGLColormap10setEntriesEiPKji @ 37 NONAME + _ZN11QGLColormap11shared_nullE @ 38 NONAME DATA 12 + _ZN11QGLColormap13detach_helperEv @ 39 NONAME + _ZN11QGLColormap7cleanupEPNS_15QGLColormapDataE @ 40 NONAME + _ZN11QGLColormap8setEntryEiRK6QColor @ 41 NONAME + _ZN11QGLColormap8setEntryEij @ 42 NONAME + _ZN11QGLColormapC1ERKS_ @ 43 NONAME + _ZN11QGLColormapC1Ev @ 44 NONAME + _ZN11QGLColormapC2ERKS_ @ 45 NONAME + _ZN11QGLColormapC2Ev @ 46 NONAME + _ZN11QGLColormapD1Ev @ 47 NONAME + _ZN11QGLColormapD2Ev @ 48 NONAME + _ZN11QGLColormapaSERKS_ @ 49 NONAME + _ZN13QGLPixmapData4copyEPK11QPixmapDataRK5QRect @ 50 NONAME + _ZN13QGLPixmapData4fillERK6QColor @ 51 NONAME + _ZN13QGLPixmapData6resizeEii @ 52 NONAME + _ZN13QGLPixmapData6scrollEiiRK5QRect @ 53 NONAME + _ZN13QGLPixmapData8fromDataEPKhjPKc6QFlagsIN2Qt19ImageConversionFlagEE @ 54 NONAME + _ZN13QGLPixmapData8fromFileERK7QStringPKc6QFlagsIN2Qt19ImageConversionFlagEE @ 55 NONAME + _ZN13QGLPixmapData9fromImageERK6QImage6QFlagsIN2Qt19ImageConversionFlagEE @ 56 NONAME + _ZN13QGLPixmapDataC1EN11QPixmapData9PixelTypeE @ 57 NONAME + _ZN13QGLPixmapDataC2EN11QPixmapData9PixelTypeE @ 58 NONAME + _ZN13QGLPixmapDataD0Ev @ 59 NONAME + _ZN13QGLPixmapDataD1Ev @ 60 NONAME + _ZN13QGLPixmapDataD2Ev @ 61 NONAME + _ZN14QGLPaintDevice10beginPaintEv @ 62 NONAME + _ZN14QGLPaintDevice18ensureActiveTargetEv @ 63 NONAME + _ZN14QGLPaintDevice8endPaintEv @ 64 NONAME + _ZN14QGLPaintDevice9getDeviceEP12QPaintDevice @ 65 NONAME + _ZN14QGLPaintDeviceC2Ev @ 66 NONAME + _ZN14QGLPaintDeviceD0Ev @ 67 NONAME + _ZN14QGLPaintDeviceD1Ev @ 68 NONAME + _ZN14QGLPaintDeviceD2Ev @ 69 NONAME + _ZN14QGLPixelBuffer11bindTextureERK6QImagej @ 70 NONAME + _ZN14QGLPixelBuffer11bindTextureERK7QPixmapj @ 71 NONAME + _ZN14QGLPixelBuffer11bindTextureERK7QString @ 72 NONAME + _ZN14QGLPixelBuffer11doneCurrentEv @ 73 NONAME + _ZN14QGLPixelBuffer11drawTextureERK6QRectFjj @ 74 NONAME + _ZN14QGLPixelBuffer11drawTextureERK7QPointFjj @ 75 NONAME + _ZN14QGLPixelBuffer11makeCurrentEv @ 76 NONAME + _ZN14QGLPixelBuffer13deleteTextureEj @ 77 NONAME + _ZN14QGLPixelBuffer17hasOpenGLPbuffersEv @ 78 NONAME + _ZN14QGLPixelBuffer20bindToDynamicTextureEj @ 79 NONAME + _ZN14QGLPixelBuffer25releaseFromDynamicTextureEv @ 80 NONAME + _ZN14QGLPixelBufferC1ERK5QSizeRK9QGLFormatP9QGLWidget @ 81 NONAME + _ZN14QGLPixelBufferC1EiiRK9QGLFormatP9QGLWidget @ 82 NONAME + _ZN14QGLPixelBufferC2ERK5QSizeRK9QGLFormatP9QGLWidget @ 83 NONAME + _ZN14QGLPixelBufferC2EiiRK9QGLFormatP9QGLWidget @ 84 NONAME + _ZN14QGLPixelBufferD0Ev @ 85 NONAME + _ZN14QGLPixelBufferD1Ev @ 86 NONAME + _ZN14QGLPixelBufferD2Ev @ 87 NONAME + _ZN14QGLSignalProxy11qt_metacallEN11QMetaObject4CallEiPPv @ 88 NONAME + _ZN14QGLSignalProxy11qt_metacastEPKc @ 89 NONAME + _ZN14QGLSignalProxy16staticMetaObjectE @ 90 NONAME DATA 16 + _ZN14QGLSignalProxy19getStaticMetaObjectEv @ 91 NONAME + _ZN14QGLSignalProxy21aboutToDestroyContextEPK10QGLContext @ 92 NONAME + _ZN14QGLSignalProxy8instanceEv @ 93 NONAME + _ZN16QGLShaderProgram11qt_metacallEN11QMetaObject4CallEiPPv @ 94 NONAME + _ZN16QGLShaderProgram11qt_metacastEPKc @ 95 NONAME + _ZN16QGLShaderProgram12removeShaderEP9QGLShader @ 96 NONAME + _ZN16QGLShaderProgram15setUniformValueEPKcPA2_Kf @ 97 NONAME + _ZN16QGLShaderProgram15setUniformValueEPKcPA3_Kf @ 98 NONAME + _ZN16QGLShaderProgram15setUniformValueEPKcPA4_Kf @ 99 NONAME + _ZN16QGLShaderProgram15setUniformValueEPKcRK10QMatrix4x4 @ 100 NONAME + _ZN16QGLShaderProgram15setUniformValueEPKcRK10QTransform @ 101 NONAME + _ZN16QGLShaderProgram15setUniformValueEPKcRK14QGenericMatrixILi2ELi2EfE @ 102 NONAME + _ZN16QGLShaderProgram15setUniformValueEPKcRK14QGenericMatrixILi2ELi3EfE @ 103 NONAME + _ZN16QGLShaderProgram15setUniformValueEPKcRK14QGenericMatrixILi2ELi4EfE @ 104 NONAME + _ZN16QGLShaderProgram15setUniformValueEPKcRK14QGenericMatrixILi3ELi2EfE @ 105 NONAME + _ZN16QGLShaderProgram15setUniformValueEPKcRK14QGenericMatrixILi3ELi3EfE @ 106 NONAME + _ZN16QGLShaderProgram15setUniformValueEPKcRK14QGenericMatrixILi3ELi4EfE @ 107 NONAME + _ZN16QGLShaderProgram15setUniformValueEPKcRK14QGenericMatrixILi4ELi2EfE @ 108 NONAME + _ZN16QGLShaderProgram15setUniformValueEPKcRK14QGenericMatrixILi4ELi3EfE @ 109 NONAME + _ZN16QGLShaderProgram15setUniformValueEPKcRK5QSize @ 110 NONAME + _ZN16QGLShaderProgram15setUniformValueEPKcRK6QColor @ 111 NONAME + _ZN16QGLShaderProgram15setUniformValueEPKcRK6QPoint @ 112 NONAME + _ZN16QGLShaderProgram15setUniformValueEPKcRK6QSizeF @ 113 NONAME + _ZN16QGLShaderProgram15setUniformValueEPKcRK7QPointF @ 114 NONAME + _ZN16QGLShaderProgram15setUniformValueEPKcRK9QVector2D @ 115 NONAME + _ZN16QGLShaderProgram15setUniformValueEPKcRK9QVector3D @ 116 NONAME + _ZN16QGLShaderProgram15setUniformValueEPKcRK9QVector4D @ 117 NONAME + _ZN16QGLShaderProgram15setUniformValueEPKcf @ 118 NONAME + _ZN16QGLShaderProgram15setUniformValueEPKcff @ 119 NONAME + _ZN16QGLShaderProgram15setUniformValueEPKcfff @ 120 NONAME + _ZN16QGLShaderProgram15setUniformValueEPKcffff @ 121 NONAME + _ZN16QGLShaderProgram15setUniformValueEPKci @ 122 NONAME + _ZN16QGLShaderProgram15setUniformValueEPKcj @ 123 NONAME + _ZN16QGLShaderProgram15setUniformValueEiPA2_Kf @ 124 NONAME + _ZN16QGLShaderProgram15setUniformValueEiPA3_Kf @ 125 NONAME + _ZN16QGLShaderProgram15setUniformValueEiPA4_Kf @ 126 NONAME + _ZN16QGLShaderProgram15setUniformValueEiRK10QMatrix4x4 @ 127 NONAME + _ZN16QGLShaderProgram15setUniformValueEiRK10QTransform @ 128 NONAME + _ZN16QGLShaderProgram15setUniformValueEiRK14QGenericMatrixILi2ELi2EfE @ 129 NONAME + _ZN16QGLShaderProgram15setUniformValueEiRK14QGenericMatrixILi2ELi3EfE @ 130 NONAME + _ZN16QGLShaderProgram15setUniformValueEiRK14QGenericMatrixILi2ELi4EfE @ 131 NONAME + _ZN16QGLShaderProgram15setUniformValueEiRK14QGenericMatrixILi3ELi2EfE @ 132 NONAME + _ZN16QGLShaderProgram15setUniformValueEiRK14QGenericMatrixILi3ELi3EfE @ 133 NONAME + _ZN16QGLShaderProgram15setUniformValueEiRK14QGenericMatrixILi3ELi4EfE @ 134 NONAME + _ZN16QGLShaderProgram15setUniformValueEiRK14QGenericMatrixILi4ELi2EfE @ 135 NONAME + _ZN16QGLShaderProgram15setUniformValueEiRK14QGenericMatrixILi4ELi3EfE @ 136 NONAME + _ZN16QGLShaderProgram15setUniformValueEiRK5QSize @ 137 NONAME + _ZN16QGLShaderProgram15setUniformValueEiRK6QColor @ 138 NONAME + _ZN16QGLShaderProgram15setUniformValueEiRK6QPoint @ 139 NONAME + _ZN16QGLShaderProgram15setUniformValueEiRK6QSizeF @ 140 NONAME + _ZN16QGLShaderProgram15setUniformValueEiRK7QPointF @ 141 NONAME + _ZN16QGLShaderProgram15setUniformValueEiRK9QVector2D @ 142 NONAME + _ZN16QGLShaderProgram15setUniformValueEiRK9QVector3D @ 143 NONAME + _ZN16QGLShaderProgram15setUniformValueEiRK9QVector4D @ 144 NONAME + _ZN16QGLShaderProgram15setUniformValueEif @ 145 NONAME + _ZN16QGLShaderProgram15setUniformValueEiff @ 146 NONAME + _ZN16QGLShaderProgram15setUniformValueEifff @ 147 NONAME + _ZN16QGLShaderProgram15setUniformValueEiffff @ 148 NONAME + _ZN16QGLShaderProgram15setUniformValueEii @ 149 NONAME + _ZN16QGLShaderProgram15setUniformValueEij @ 150 NONAME + _ZN16QGLShaderProgram15shaderDestroyedEv @ 151 NONAME + _ZN16QGLShaderProgram16removeAllShadersEv @ 152 NONAME + _ZN16QGLShaderProgram16staticMetaObjectE @ 153 NONAME DATA 16 + _ZN16QGLShaderProgram17setAttributeArrayEPKcPK9QVector2Di @ 154 NONAME + _ZN16QGLShaderProgram17setAttributeArrayEPKcPK9QVector3Di @ 155 NONAME + _ZN16QGLShaderProgram17setAttributeArrayEPKcPK9QVector4Di @ 156 NONAME + _ZN16QGLShaderProgram17setAttributeArrayEPKcPKfii @ 157 NONAME + _ZN16QGLShaderProgram17setAttributeArrayEPKcjPKvii @ 158 NONAME + _ZN16QGLShaderProgram17setAttributeArrayEiPK9QVector2Di @ 159 NONAME + _ZN16QGLShaderProgram17setAttributeArrayEiPK9QVector3Di @ 160 NONAME + _ZN16QGLShaderProgram17setAttributeArrayEiPK9QVector4Di @ 161 NONAME + _ZN16QGLShaderProgram17setAttributeArrayEiPKfii @ 162 NONAME + _ZN16QGLShaderProgram17setAttributeArrayEijPKvii @ 163 NONAME + _ZN16QGLShaderProgram17setAttributeValueEPKcPKfii @ 164 NONAME + _ZN16QGLShaderProgram17setAttributeValueEPKcRK6QColor @ 165 NONAME + _ZN16QGLShaderProgram17setAttributeValueEPKcRK9QVector2D @ 166 NONAME + _ZN16QGLShaderProgram17setAttributeValueEPKcRK9QVector3D @ 167 NONAME + _ZN16QGLShaderProgram17setAttributeValueEPKcRK9QVector4D @ 168 NONAME + _ZN16QGLShaderProgram17setAttributeValueEPKcf @ 169 NONAME + _ZN16QGLShaderProgram17setAttributeValueEPKcff @ 170 NONAME + _ZN16QGLShaderProgram17setAttributeValueEPKcfff @ 171 NONAME + _ZN16QGLShaderProgram17setAttributeValueEPKcffff @ 172 NONAME + _ZN16QGLShaderProgram17setAttributeValueEiPKfii @ 173 NONAME + _ZN16QGLShaderProgram17setAttributeValueEiRK6QColor @ 174 NONAME + _ZN16QGLShaderProgram17setAttributeValueEiRK9QVector2D @ 175 NONAME + _ZN16QGLShaderProgram17setAttributeValueEiRK9QVector3D @ 176 NONAME + _ZN16QGLShaderProgram17setAttributeValueEiRK9QVector4D @ 177 NONAME + _ZN16QGLShaderProgram17setAttributeValueEif @ 178 NONAME + _ZN16QGLShaderProgram17setAttributeValueEiff @ 179 NONAME + _ZN16QGLShaderProgram17setAttributeValueEifff @ 180 NONAME + _ZN16QGLShaderProgram17setAttributeValueEiffff @ 181 NONAME + _ZN16QGLShaderProgram18setAttributeBufferEPKcjiii @ 182 NONAME + _ZN16QGLShaderProgram18setAttributeBufferEijiii @ 183 NONAME + _ZN16QGLShaderProgram19getStaticMetaObjectEv @ 184 NONAME + _ZN16QGLShaderProgram20enableAttributeArrayEPKc @ 185 NONAME + _ZN16QGLShaderProgram20enableAttributeArrayEi @ 186 NONAME + _ZN16QGLShaderProgram20setGeometryInputTypeEj @ 187 NONAME + _ZN16QGLShaderProgram20setUniformValueArrayEPKcPK10QMatrix4x4i @ 188 NONAME + _ZN16QGLShaderProgram20setUniformValueArrayEPKcPK14QGenericMatrixILi2ELi2EfEi @ 189 NONAME + _ZN16QGLShaderProgram20setUniformValueArrayEPKcPK14QGenericMatrixILi2ELi3EfEi @ 190 NONAME + _ZN16QGLShaderProgram20setUniformValueArrayEPKcPK14QGenericMatrixILi2ELi4EfEi @ 191 NONAME + _ZN16QGLShaderProgram20setUniformValueArrayEPKcPK14QGenericMatrixILi3ELi2EfEi @ 192 NONAME + _ZN16QGLShaderProgram20setUniformValueArrayEPKcPK14QGenericMatrixILi3ELi3EfEi @ 193 NONAME + _ZN16QGLShaderProgram20setUniformValueArrayEPKcPK14QGenericMatrixILi3ELi4EfEi @ 194 NONAME + _ZN16QGLShaderProgram20setUniformValueArrayEPKcPK14QGenericMatrixILi4ELi2EfEi @ 195 NONAME + _ZN16QGLShaderProgram20setUniformValueArrayEPKcPK14QGenericMatrixILi4ELi3EfEi @ 196 NONAME + _ZN16QGLShaderProgram20setUniformValueArrayEPKcPK9QVector2Di @ 197 NONAME + _ZN16QGLShaderProgram20setUniformValueArrayEPKcPK9QVector3Di @ 198 NONAME + _ZN16QGLShaderProgram20setUniformValueArrayEPKcPK9QVector4Di @ 199 NONAME + _ZN16QGLShaderProgram20setUniformValueArrayEPKcPKfii @ 200 NONAME + _ZN16QGLShaderProgram20setUniformValueArrayEPKcPKii @ 201 NONAME + _ZN16QGLShaderProgram20setUniformValueArrayEPKcPKji @ 202 NONAME + _ZN16QGLShaderProgram20setUniformValueArrayEiPK10QMatrix4x4i @ 203 NONAME + _ZN16QGLShaderProgram20setUniformValueArrayEiPK14QGenericMatrixILi2ELi2EfEi @ 204 NONAME + _ZN16QGLShaderProgram20setUniformValueArrayEiPK14QGenericMatrixILi2ELi3EfEi @ 205 NONAME + _ZN16QGLShaderProgram20setUniformValueArrayEiPK14QGenericMatrixILi2ELi4EfEi @ 206 NONAME + _ZN16QGLShaderProgram20setUniformValueArrayEiPK14QGenericMatrixILi3ELi2EfEi @ 207 NONAME + _ZN16QGLShaderProgram20setUniformValueArrayEiPK14QGenericMatrixILi3ELi3EfEi @ 208 NONAME + _ZN16QGLShaderProgram20setUniformValueArrayEiPK14QGenericMatrixILi3ELi4EfEi @ 209 NONAME + _ZN16QGLShaderProgram20setUniformValueArrayEiPK14QGenericMatrixILi4ELi2EfEi @ 210 NONAME + _ZN16QGLShaderProgram20setUniformValueArrayEiPK14QGenericMatrixILi4ELi3EfEi @ 211 NONAME + _ZN16QGLShaderProgram20setUniformValueArrayEiPK9QVector2Di @ 212 NONAME + _ZN16QGLShaderProgram20setUniformValueArrayEiPK9QVector3Di @ 213 NONAME + _ZN16QGLShaderProgram20setUniformValueArrayEiPK9QVector4Di @ 214 NONAME + _ZN16QGLShaderProgram20setUniformValueArrayEiPKfii @ 215 NONAME + _ZN16QGLShaderProgram20setUniformValueArrayEiPKii @ 216 NONAME + _ZN16QGLShaderProgram20setUniformValueArrayEiPKji @ 217 NONAME + _ZN16QGLShaderProgram21bindAttributeLocationEPKci @ 218 NONAME + _ZN16QGLShaderProgram21bindAttributeLocationERK10QByteArrayi @ 219 NONAME + _ZN16QGLShaderProgram21bindAttributeLocationERK7QStringi @ 220 NONAME + _ZN16QGLShaderProgram21disableAttributeArrayEPKc @ 221 NONAME + _ZN16QGLShaderProgram21disableAttributeArrayEi @ 222 NONAME + _ZN16QGLShaderProgram21setGeometryOutputTypeEj @ 223 NONAME + _ZN16QGLShaderProgram23addShaderFromSourceCodeE6QFlagsIN9QGLShader13ShaderTypeBitEEPKc @ 224 NONAME + _ZN16QGLShaderProgram23addShaderFromSourceCodeE6QFlagsIN9QGLShader13ShaderTypeBitEERK10QByteArray @ 225 NONAME + _ZN16QGLShaderProgram23addShaderFromSourceCodeE6QFlagsIN9QGLShader13ShaderTypeBitEERK7QString @ 226 NONAME + _ZN16QGLShaderProgram23addShaderFromSourceFileE6QFlagsIN9QGLShader13ShaderTypeBitEERK7QString @ 227 NONAME + _ZN16QGLShaderProgram23hasOpenGLShaderProgramsEPK10QGLContext @ 228 NONAME + _ZN16QGLShaderProgram28setGeometryOutputVertexCountEi @ 229 NONAME + _ZN16QGLShaderProgram4bindEv @ 230 NONAME + _ZN16QGLShaderProgram4initEv @ 231 NONAME + _ZN16QGLShaderProgram4linkEv @ 232 NONAME + _ZN16QGLShaderProgram7releaseEv @ 233 NONAME + _ZN16QGLShaderProgram9addShaderEP9QGLShader @ 234 NONAME + _ZN16QGLShaderProgramC1EP7QObject @ 235 NONAME + _ZN16QGLShaderProgramC1EPK10QGLContextP7QObject @ 236 NONAME + _ZN16QGLShaderProgramC2EP7QObject @ 237 NONAME + _ZN16QGLShaderProgramC2EPK10QGLContextP7QObject @ 238 NONAME + _ZN16QGLShaderProgramD0Ev @ 239 NONAME + _ZN16QGLShaderProgramD1Ev @ 240 NONAME + _ZN16QGLShaderProgramD2Ev @ 241 NONAME + _ZN16QGLWindowSurface10beginPaintERK7QRegion @ 242 NONAME + _ZN16QGLWindowSurface11paintDeviceEv @ 243 NONAME + _ZN16QGLWindowSurface11qt_metacallEN11QMetaObject4CallEiPPv @ 244 NONAME + _ZN16QGLWindowSurface11qt_metacastEPKc @ 245 NONAME + _ZN16QGLWindowSurface11setGeometryERK5QRect @ 246 NONAME + _ZN16QGLWindowSurface12hijackWindowEP7QWidget @ 247 NONAME + _ZN16QGLWindowSurface13surfaceFormatE @ 248 NONAME DATA 4 + _ZN16QGLWindowSurface14updateGeometryEv @ 249 NONAME + _ZN16QGLWindowSurface16staticMetaObjectE @ 250 NONAME DATA 16 + _ZN16QGLWindowSurface19getStaticMetaObjectEv @ 251 NONAME + _ZN16QGLWindowSurface5flushEP7QWidgetRK7QRegionRK6QPoint @ 252 NONAME + _ZN16QGLWindowSurface6bufferEPK7QWidget @ 253 NONAME + _ZN16QGLWindowSurface6scrollERK7QRegionii @ 254 NONAME + _ZN16QGLWindowSurface7deletedEP7QObject @ 255 NONAME + _ZN16QGLWindowSurface8endPaintERK7QRegion @ 256 NONAME + _ZN16QGLWindowSurfaceC1EP7QWidget @ 257 NONAME + _ZN16QGLWindowSurfaceC2EP7QWidget @ 258 NONAME + _ZN16QGLWindowSurfaceD0Ev @ 259 NONAME + _ZN16QGLWindowSurfaceD1Ev @ 260 NONAME + _ZN16QGLWindowSurfaceD2Ev @ 261 NONAME + _ZN17QGL2PaintEngineEx10drawPixmapERK6QRectFRK7QPixmapS2_ @ 262 NONAME + _ZN17QGL2PaintEngineEx10penChangedEv @ 263 NONAME + _ZN17QGL2PaintEngineEx11drawTextureERK6QRectFjRK5QSizeS2_ @ 264 NONAME + _ZN17QGL2PaintEngineEx12brushChangedEv @ 265 NONAME + _ZN17QGL2PaintEngineEx12drawTextItemERK7QPointFRK9QTextItem @ 266 NONAME + _ZN17QGL2PaintEngineEx12ensureActiveEv @ 267 NONAME + _ZN17QGL2PaintEngineEx12pixmapFilterEiPK13QPixmapFilter @ 268 NONAME + _ZN17QGL2PaintEngineEx14opacityChangedEv @ 269 NONAME + _ZN17QGL2PaintEngineEx15invalidateStateEv @ 270 NONAME + _ZN17QGL2PaintEngineEx16transformChangedEv @ 271 NONAME + _ZN17QGL2PaintEngineEx17endNativePaintingEv @ 272 NONAME + _ZN17QGL2PaintEngineEx18brushOriginChangedEv @ 273 NONAME + _ZN17QGL2PaintEngineEx18clipEnabledChangedEv @ 274 NONAME + _ZN17QGL2PaintEngineEx18drawStaticTextItemEP15QStaticTextItem @ 275 NONAME + _ZN17QGL2PaintEngineEx18renderHintsChangedEv @ 276 NONAME + _ZN17QGL2PaintEngineEx19beginNativePaintingEv @ 277 NONAME + _ZN17QGL2PaintEngineEx19drawPixmapFragmentsEPKN8QPainter14PixmapFragmentEiRK7QPixmap6QFlagsINS0_18PixmapFragmentHintEE @ 278 NONAME + _ZN17QGL2PaintEngineEx22compositionModeChangedEv @ 279 NONAME + _ZN17QGL2PaintEngineEx3endEv @ 280 NONAME + _ZN17QGL2PaintEngineEx4clipERK11QVectorPathN2Qt13ClipOperationE @ 281 NONAME + _ZN17QGL2PaintEngineEx4fillERK11QVectorPathRK6QBrush @ 282 NONAME + _ZN17QGL2PaintEngineEx5beginEP12QPaintDevice @ 283 NONAME + _ZN17QGL2PaintEngineEx6strokeERK11QVectorPathRK4QPen @ 284 NONAME + _ZN17QGL2PaintEngineEx8setStateEP13QPainterState @ 285 NONAME + _ZN17QGL2PaintEngineEx9drawImageERK6QRectFRK6QImageS2_6QFlagsIN2Qt19ImageConversionFlagEE @ 286 NONAME + _ZN17QGL2PaintEngineExC1Ev @ 287 NONAME + _ZN17QGL2PaintEngineExC2Ev @ 288 NONAME + _ZN17QGL2PaintEngineExD0Ev @ 289 NONAME + _ZN17QGL2PaintEngineExD1Ev @ 290 NONAME + _ZN17QGL2PaintEngineExD2Ev @ 291 NONAME + _ZN17QGLContextPrivate14extensionFuncsEPK10QGLContext @ 292 NONAME + _ZN17QGLGraphicsSystemC1Eb @ 293 NONAME + _ZN17QGLGraphicsSystemC2Eb @ 294 NONAME + _ZN18QGLContextResource5valueEPK10QGLContext @ 295 NONAME + _ZN18QGLContextResource6insertEPK10QGLContextPv @ 296 NONAME + _ZN18QGLContextResource7cleanupEPK10QGLContextPv @ 297 NONAME + _ZN18QGLContextResourceC1EPFvPvE @ 298 NONAME + _ZN18QGLContextResourceC2EPFvPvE @ 299 NONAME + _ZN18QGLContextResourceD1Ev @ 300 NONAME + _ZN18QGLContextResourceD2Ev @ 301 NONAME + _ZN20QGLCustomShaderStage11setInactiveEv @ 302 NONAME + _ZN20QGLCustomShaderStage12setOnPainterEP8QPainter @ 303 NONAME + _ZN20QGLCustomShaderStage16setUniformsDirtyEv @ 304 NONAME + _ZN20QGLCustomShaderStage17removeFromPainterEP8QPainter @ 305 NONAME + _ZN20QGLCustomShaderStage9setSourceERK10QByteArray @ 306 NONAME + _ZN20QGLCustomShaderStageC1Ev @ 307 NONAME + _ZN20QGLCustomShaderStageC2Ev @ 308 NONAME + _ZN20QGLCustomShaderStageD0Ev @ 309 NONAME + _ZN20QGLCustomShaderStageD1Ev @ 310 NONAME + _ZN20QGLCustomShaderStageD2Ev @ 311 NONAME + _ZN20QGLFramebufferObject11bindDefaultEv @ 312 NONAME + _ZN20QGLFramebufferObject11drawTextureERK6QRectFjj @ 313 NONAME + _ZN20QGLFramebufferObject11drawTextureERK7QPointFjj @ 314 NONAME + _ZN20QGLFramebufferObject15blitFramebufferEPS_RK5QRectS0_S3_jj @ 315 NONAME + _ZN20QGLFramebufferObject24hasOpenGLFramebufferBlitEv @ 316 NONAME + _ZN20QGLFramebufferObject27hasOpenGLFramebufferObjectsEv @ 317 NONAME + _ZN20QGLFramebufferObject4bindEv @ 318 NONAME + _ZN20QGLFramebufferObject7releaseEv @ 319 NONAME + _ZN20QGLFramebufferObjectC1ERK5QSizeNS_10AttachmentEjj @ 320 NONAME + _ZN20QGLFramebufferObjectC1ERK5QSizeRK26QGLFramebufferObjectFormat @ 321 NONAME + _ZN20QGLFramebufferObjectC1ERK5QSizej @ 322 NONAME + _ZN20QGLFramebufferObjectC1EiiNS_10AttachmentEjj @ 323 NONAME + _ZN20QGLFramebufferObjectC1EiiRK26QGLFramebufferObjectFormat @ 324 NONAME + _ZN20QGLFramebufferObjectC1Eiij @ 325 NONAME + _ZN20QGLFramebufferObjectC2ERK5QSizeNS_10AttachmentEjj @ 326 NONAME + _ZN20QGLFramebufferObjectC2ERK5QSizeRK26QGLFramebufferObjectFormat @ 327 NONAME + _ZN20QGLFramebufferObjectC2ERK5QSizej @ 328 NONAME + _ZN20QGLFramebufferObjectC2EiiNS_10AttachmentEjj @ 329 NONAME + _ZN20QGLFramebufferObjectC2EiiRK26QGLFramebufferObjectFormat @ 330 NONAME + _ZN20QGLFramebufferObjectC2Eiij @ 331 NONAME + _ZN20QGLFramebufferObjectD0Ev @ 332 NONAME + _ZN20QGLFramebufferObjectD1Ev @ 333 NONAME + _ZN20QGLFramebufferObjectD2Ev @ 334 NONAME + _ZN20QGLTextureGlyphCache11fillTextureERKN18QTextureGlyphCache5CoordEj @ 335 NONAME + _ZN20QGLTextureGlyphCache11qt_metacallEN11QMetaObject4CallEiPPv @ 336 NONAME + _ZN20QGLTextureGlyphCache11qt_metacastEPKc @ 337 NONAME + _ZN20QGLTextureGlyphCache16staticMetaObjectE @ 338 NONAME DATA 16 + _ZN20QGLTextureGlyphCache17createTextureDataEii @ 339 NONAME + _ZN20QGLTextureGlyphCache17resizeTextureDataEii @ 340 NONAME + _ZN20QGLTextureGlyphCache19getStaticMetaObjectEv @ 341 NONAME + _ZN20QGLTextureGlyphCacheC1EP10QGLContextN21QFontEngineGlyphCache4TypeERK10QTransform @ 342 NONAME + _ZN20QGLTextureGlyphCacheC2EP10QGLContextN21QFontEngineGlyphCache4TypeERK10QTransform @ 343 NONAME + _ZN20QGLTextureGlyphCacheD0Ev @ 344 NONAME + _ZN20QGLTextureGlyphCacheD1Ev @ 345 NONAME + _ZN20QGLTextureGlyphCacheD2Ev @ 346 NONAME + _ZN21QGraphicsShaderEffect11qt_metacallEN11QMetaObject4CallEiPPv @ 347 NONAME + _ZN21QGraphicsShaderEffect11qt_metacastEPKc @ 348 NONAME + _ZN21QGraphicsShaderEffect11setUniformsEP16QGLShaderProgram @ 349 NONAME + _ZN21QGraphicsShaderEffect16setUniformsDirtyEv @ 350 NONAME + _ZN21QGraphicsShaderEffect16staticMetaObjectE @ 351 NONAME DATA 16 + _ZN21QGraphicsShaderEffect19getStaticMetaObjectEv @ 352 NONAME + _ZN21QGraphicsShaderEffect22setPixelShaderFragmentERK10QByteArray @ 353 NONAME + _ZN21QGraphicsShaderEffect4drawEP8QPainter @ 354 NONAME + _ZN21QGraphicsShaderEffectC1EP7QObject @ 355 NONAME + _ZN21QGraphicsShaderEffectC2EP7QObject @ 356 NONAME + _ZN21QGraphicsShaderEffectD0Ev @ 357 NONAME + _ZN21QGraphicsShaderEffectD1Ev @ 358 NONAME + _ZN21QGraphicsShaderEffectD2Ev @ 359 NONAME + _ZN22QGLEngineShaderManager11blitProgramEv @ 360 NONAME + _ZN22QGLEngineShaderManager11qt_metacallEN11QMetaObject4CallEiPPv @ 361 NONAME + _ZN22QGLEngineShaderManager11qt_metacastEPKc @ 362 NONAME + _ZN22QGLEngineShaderManager11setMaskTypeENS_8MaskTypeE @ 363 NONAME + _ZN22QGLEngineShaderManager13simpleProgramEv @ 364 NONAME + _ZN22QGLEngineShaderManager14currentProgramEv @ 365 NONAME + _ZN22QGLEngineShaderManager14setCustomStageEP20QGLCustomShaderStage @ 366 NONAME + _ZN22QGLEngineShaderManager14setOpacityModeENS_11OpacityModeE @ 367 NONAME + _ZN22QGLEngineShaderManager14useBlitProgramEv @ 368 NONAME + _ZN22QGLEngineShaderManager15setSrcPixelTypeEN2Qt10BrushStyleE @ 369 NONAME + _ZN22QGLEngineShaderManager15setSrcPixelTypeENS_12PixelSrcTypeE @ 370 NONAME + _ZN22QGLEngineShaderManager16staticMetaObjectE @ 371 NONAME DATA 16 + _ZN22QGLEngineShaderManager16useSimpleProgramEv @ 372 NONAME + _ZN22QGLEngineShaderManager17removeCustomStageEv @ 373 NONAME + _ZN22QGLEngineShaderManager18getUniformLocationENS_7UniformE @ 374 NONAME + _ZN22QGLEngineShaderManager18setCompositionModeEN8QPainter15CompositionModeE @ 375 NONAME + _ZN22QGLEngineShaderManager19getStaticMetaObjectEv @ 376 NONAME + _ZN22QGLEngineShaderManager20useCorrectShaderProgEv @ 377 NONAME + _ZN22QGLEngineShaderManager25optimiseForBrushTransformEN10QTransform18TransformationTypeE @ 378 NONAME + _ZN22QGLEngineShaderManager8setDirtyEv @ 379 NONAME + _ZN22QGLEngineShaderManagerC1EP10QGLContext @ 380 NONAME + _ZN22QGLEngineShaderManagerC2EP10QGLContext @ 381 NONAME + _ZN22QGLEngineShaderManagerD0Ev @ 382 NONAME + _ZN22QGLEngineShaderManagerD1Ev @ 383 NONAME + _ZN22QGLEngineShaderManagerD2Ev @ 384 NONAME + _ZN22QGLSharedResourceGuard10setContextEPK10QGLContext @ 385 NONAME + _ZN22QGLSharedResourceGuardD1Ev @ 386 NONAME + _ZN22QGLSharedResourceGuardD2Ev @ 387 NONAME + _ZN26QGLFramebufferObjectFormat10setSamplesEi @ 388 NONAME + _ZN26QGLFramebufferObjectFormat13setAttachmentEN20QGLFramebufferObject10AttachmentE @ 389 NONAME + _ZN26QGLFramebufferObjectFormat16setTextureTargetEj @ 390 NONAME + _ZN26QGLFramebufferObjectFormat24setInternalTextureFormatEj @ 391 NONAME + _ZN26QGLFramebufferObjectFormat6detachEv @ 392 NONAME + _ZN26QGLFramebufferObjectFormatC1ERKS_ @ 393 NONAME + _ZN26QGLFramebufferObjectFormatC1Ev @ 394 NONAME + _ZN26QGLFramebufferObjectFormatC2ERKS_ @ 395 NONAME + _ZN26QGLFramebufferObjectFormatC2Ev @ 396 NONAME + _ZN26QGLFramebufferObjectFormatD1Ev @ 397 NONAME + _ZN26QGLFramebufferObjectFormatD2Ev @ 398 NONAME + _ZN26QGLFramebufferObjectFormataSERKS_ @ 399 NONAME + _ZN3QGL23setPreferredPaintEngineEN12QPaintEngine4TypeE @ 400 NONAME + _ZN9QGLBuffer15setUsagePatternENS_12UsagePatternE @ 401 NONAME + _ZN9QGLBuffer3mapENS_6AccessE @ 402 NONAME + _ZN9QGLBuffer4bindEv @ 403 NONAME + _ZN9QGLBuffer4readEiPvi @ 404 NONAME + _ZN9QGLBuffer5unmapEv @ 405 NONAME + _ZN9QGLBuffer5writeEiPKvi @ 406 NONAME + _ZN9QGLBuffer6createEv @ 407 NONAME + _ZN9QGLBuffer7destroyEv @ 408 NONAME + _ZN9QGLBuffer7releaseENS_4TypeE @ 409 NONAME + _ZN9QGLBuffer7releaseEv @ 410 NONAME + _ZN9QGLBuffer8allocateEPKvi @ 411 NONAME + _ZN9QGLBufferC1ENS_4TypeE @ 412 NONAME + _ZN9QGLBufferC1ERKS_ @ 413 NONAME + _ZN9QGLBufferC1Ev @ 414 NONAME + _ZN9QGLBufferC2ENS_4TypeE @ 415 NONAME + _ZN9QGLBufferC2ERKS_ @ 416 NONAME + _ZN9QGLBufferC2Ev @ 417 NONAME + _ZN9QGLBufferD1Ev @ 418 NONAME + _ZN9QGLBufferD2Ev @ 419 NONAME + _ZN9QGLBufferaSERKS_ @ 420 NONAME + _ZN9QGLFormat10setOverlayEb @ 421 NONAME + _ZN9QGLFormat10setProfileENS_20OpenGLContextProfileE @ 422 NONAME + _ZN9QGLFormat10setSamplesEi @ 423 NONAME + _ZN9QGLFormat10setStencilEb @ 424 NONAME + _ZN9QGLFormat10setVersionEii @ 425 NONAME + _ZN9QGLFormat13defaultFormatEv @ 426 NONAME + _ZN9QGLFormat15setDoubleBufferEb @ 427 NONAME + _ZN9QGLFormat15setSwapIntervalEi @ 428 NONAME + _ZN9QGLFormat16setDefaultFormatERKS_ @ 429 NONAME + _ZN9QGLFormat16setRedBufferSizeEi @ 430 NONAME + _ZN9QGLFormat16setSampleBuffersEb @ 431 NONAME + _ZN9QGLFormat17hasOpenGLOverlaysEv @ 432 NONAME + _ZN9QGLFormat17setBlueBufferSizeEi @ 433 NONAME + _ZN9QGLFormat18openGLVersionFlagsEv @ 434 NONAME + _ZN9QGLFormat18setAccumBufferSizeEi @ 435 NONAME + _ZN9QGLFormat18setAlphaBufferSizeEi @ 436 NONAME + _ZN9QGLFormat18setDepthBufferSizeEi @ 437 NONAME + _ZN9QGLFormat18setDirectRenderingEb @ 438 NONAME + _ZN9QGLFormat18setGreenBufferSizeEi @ 439 NONAME + _ZN9QGLFormat20defaultOverlayFormatEv @ 440 NONAME + _ZN9QGLFormat20setStencilBufferSizeEi @ 441 NONAME + _ZN9QGLFormat23setDefaultOverlayFormatERKS_ @ 442 NONAME + _ZN9QGLFormat6detachEv @ 443 NONAME + _ZN9QGLFormat7setRgbaEb @ 444 NONAME + _ZN9QGLFormat8setAccumEb @ 445 NONAME + _ZN9QGLFormat8setAlphaEb @ 446 NONAME + _ZN9QGLFormat8setDepthEb @ 447 NONAME + _ZN9QGLFormat8setPlaneEi @ 448 NONAME + _ZN9QGLFormat9hasOpenGLEv @ 449 NONAME + _ZN9QGLFormat9setOptionE6QFlagsIN3QGL12FormatOptionEE @ 450 NONAME + _ZN9QGLFormat9setStereoEb @ 451 NONAME + _ZN9QGLFormatC1E6QFlagsIN3QGL12FormatOptionEEi @ 452 NONAME + _ZN9QGLFormatC1ERKS_ @ 453 NONAME + _ZN9QGLFormatC1Ev @ 454 NONAME + _ZN9QGLFormatC2E6QFlagsIN3QGL12FormatOptionEEi @ 455 NONAME + _ZN9QGLFormatC2ERKS_ @ 456 NONAME + _ZN9QGLFormatC2Ev @ 457 NONAME + _ZN9QGLFormatD1Ev @ 458 NONAME + _ZN9QGLFormatD2Ev @ 459 NONAME + _ZN9QGLFormataSERKS_ @ 460 NONAME + _ZN9QGLShader11qt_metacallEN11QMetaObject4CallEiPPv @ 461 NONAME + _ZN9QGLShader11qt_metacastEPKc @ 462 NONAME + _ZN9QGLShader16hasOpenGLShadersE6QFlagsINS_13ShaderTypeBitEEPK10QGLContext @ 463 NONAME + _ZN9QGLShader16staticMetaObjectE @ 464 NONAME DATA 16 + _ZN9QGLShader17compileSourceCodeEPKc @ 465 NONAME + _ZN9QGLShader17compileSourceCodeERK10QByteArray @ 466 NONAME + _ZN9QGLShader17compileSourceCodeERK7QString @ 467 NONAME + _ZN9QGLShader17compileSourceFileERK7QString @ 468 NONAME + _ZN9QGLShader19getStaticMetaObjectEv @ 469 NONAME + _ZN9QGLShaderC1E6QFlagsINS_13ShaderTypeBitEEP7QObject @ 470 NONAME + _ZN9QGLShaderC1E6QFlagsINS_13ShaderTypeBitEEPK10QGLContextP7QObject @ 471 NONAME + _ZN9QGLShaderC2E6QFlagsINS_13ShaderTypeBitEEP7QObject @ 472 NONAME + _ZN9QGLShaderC2E6QFlagsINS_13ShaderTypeBitEEPK10QGLContextP7QObject @ 473 NONAME + _ZN9QGLShaderD0Ev @ 474 NONAME + _ZN9QGLShaderD1Ev @ 475 NONAME + _ZN9QGLShaderD2Ev @ 476 NONAME + _ZN9QGLWidget10paintEventEP11QPaintEvent @ 477 NONAME + _ZN9QGLWidget10renderTextEdddRK7QStringRK5QFonti @ 478 NONAME + _ZN9QGLWidget10renderTextEiiRK7QStringRK5QFonti @ 479 NONAME + _ZN9QGLWidget10setContextEP10QGLContextPKS0_b @ 480 NONAME + _ZN9QGLWidget11bindTextureERK6QImageji @ 481 NONAME + _ZN9QGLWidget11bindTextureERK6QImageji6QFlagsIN10QGLContext10BindOptionEE @ 482 NONAME + _ZN9QGLWidget11bindTextureERK7QPixmapji @ 483 NONAME + _ZN9QGLWidget11bindTextureERK7QPixmapji6QFlagsIN10QGLContext10BindOptionEE @ 484 NONAME + _ZN9QGLWidget11bindTextureERK7QString @ 485 NONAME + _ZN9QGLWidget11doneCurrentEv @ 486 NONAME + _ZN9QGLWidget11drawTextureERK6QRectFjj @ 487 NONAME + _ZN9QGLWidget11drawTextureERK7QPointFjj @ 488 NONAME + _ZN9QGLWidget11makeCurrentEv @ 489 NONAME + _ZN9QGLWidget11qt_metacallEN11QMetaObject4CallEiPPv @ 490 NONAME + _ZN9QGLWidget11qt_metacastEPKc @ 491 NONAME + _ZN9QGLWidget11resizeEventEP12QResizeEvent @ 492 NONAME + _ZN9QGLWidget11setColormapERK11QGLColormap @ 493 NONAME + _ZN9QGLWidget11swapBuffersEv @ 494 NONAME + _ZN9QGLWidget12initializeGLEv @ 495 NONAME + _ZN9QGLWidget12renderPixmapEiib @ 496 NONAME + _ZN9QGLWidget13deleteTextureEj @ 497 NONAME + _ZN9QGLWidget14paintOverlayGLEv @ 498 NONAME + _ZN9QGLWidget15grabFrameBufferEb @ 499 NONAME + _ZN9QGLWidget15resizeOverlayGLEii @ 500 NONAME + _ZN9QGLWidget15updateOverlayGLEv @ 501 NONAME + _ZN9QGLWidget16setMouseTrackingEb @ 502 NONAME + _ZN9QGLWidget16staticMetaObjectE @ 503 NONAME DATA 16 + _ZN9QGLWidget17convertToGLFormatERK6QImage @ 504 NONAME + _ZN9QGLWidget17setAutoBufferSwapEb @ 505 NONAME + _ZN9QGLWidget18makeOverlayCurrentEv @ 506 NONAME + _ZN9QGLWidget19fontDisplayListBaseERK5QFonti @ 507 NONAME + _ZN9QGLWidget19getStaticMetaObjectEv @ 508 NONAME + _ZN9QGLWidget19initializeOverlayGLEv @ 509 NONAME + _ZN9QGLWidget5eventEP6QEvent @ 510 NONAME + _ZN9QGLWidget6glDrawEv @ 511 NONAME + _ZN9QGLWidget6glInitEv @ 512 NONAME + _ZN9QGLWidget7paintGLEv @ 513 NONAME + _ZN9QGLWidget8resizeGLEii @ 514 NONAME + _ZN9QGLWidget8updateGLEv @ 515 NONAME + _ZN9QGLWidget9setFormatERK9QGLFormat @ 516 NONAME + _ZN9QGLWidgetC1EP10QGLContextP7QWidgetPKS_6QFlagsIN2Qt10WindowTypeEE @ 517 NONAME + _ZN9QGLWidgetC1EP7QWidgetPKS_6QFlagsIN2Qt10WindowTypeEE @ 518 NONAME + _ZN9QGLWidgetC1ERK9QGLFormatP7QWidgetPKS_6QFlagsIN2Qt10WindowTypeEE @ 519 NONAME + _ZN9QGLWidgetC2EP10QGLContextP7QWidgetPKS_6QFlagsIN2Qt10WindowTypeEE @ 520 NONAME + _ZN9QGLWidgetC2EP7QWidgetPKS_6QFlagsIN2Qt10WindowTypeEE @ 521 NONAME + _ZN9QGLWidgetC2ERK9QGLFormatP7QWidgetPKS_6QFlagsIN2Qt10WindowTypeEE @ 522 NONAME + _ZN9QGLWidgetD0Ev @ 523 NONAME + _ZN9QGLWidgetD1Ev @ 524 NONAME + _ZN9QGLWidgetD2Ev @ 525 NONAME + _ZNK10QGLContext10colorIndexERK6QColor @ 526 NONAME + _ZNK10QGLContext11initializedEv @ 527 NONAME + _ZNK10QGLContext11swapBuffersEv @ 528 NONAME + _ZNK10QGLContext13windowCreatedEv @ 529 NONAME + _ZNK10QGLContext14deviceIsPixmapEv @ 530 NONAME + _ZNK10QGLContext14getProcAddressERK7QString @ 531 NONAME + _ZNK10QGLContext15requestedFormatEv @ 532 NONAME + _ZNK10QGLContext23overlayTransparentColorEv @ 533 NONAME + _ZNK10QGLContext6deviceEv @ 534 NONAME + _ZNK10QGLContext6formatEv @ 535 NONAME + _ZNK10QGLContext7isValidEv @ 536 NONAME + _ZNK10QGLContext9isSharingEv @ 537 NONAME + _ZNK11QGLColormap10entryColorEi @ 538 NONAME + _ZNK11QGLColormap11findNearestEj @ 539 NONAME + _ZNK11QGLColormap4findEj @ 540 NONAME + _ZNK11QGLColormap4sizeEv @ 541 NONAME + _ZNK11QGLColormap7isEmptyEv @ 542 NONAME + _ZNK11QGLColormap8entryRgbEi @ 543 NONAME + _ZNK13QGLPixmapData11paintEngineEv @ 544 NONAME + _ZNK13QGLPixmapData13ensureCreatedEv @ 545 NONAME + _ZNK13QGLPixmapData14isValidContextEPK10QGLContext @ 546 NONAME + _ZNK13QGLPixmapData15hasAlphaChannelEv @ 547 NONAME + _ZNK13QGLPixmapData21copyBackFromRenderFboEb @ 548 NONAME + _ZNK13QGLPixmapData21useFramebufferObjectsEv @ 549 NONAME + _ZNK13QGLPixmapData26createCompatiblePixmapDataEv @ 550 NONAME + _ZNK13QGLPixmapData4bindEb @ 551 NONAME + _ZNK13QGLPixmapData6metricEN12QPaintDevice17PaintDeviceMetricE @ 552 NONAME + _ZNK13QGLPixmapData7isValidEv @ 553 NONAME + _ZNK13QGLPixmapData7textureEv @ 554 NONAME + _ZNK13QGLPixmapData7toImageEv @ 555 NONAME + _ZNK13QGLPixmapData8glDeviceEv @ 556 NONAME + _ZNK13QGLPixmapData9fillImageERK6QColor @ 557 NONAME + _ZNK14QGLPaintDevice14alphaRequestedEv @ 558 NONAME + _ZNK14QGLPaintDevice6formatEv @ 559 NONAME + _ZNK14QGLPaintDevice6metricEN12QPaintDevice17PaintDeviceMetricE @ 560 NONAME + _ZNK14QGLPixelBuffer11paintEngineEv @ 561 NONAME + _ZNK14QGLPixelBuffer20updateDynamicTextureEj @ 562 NONAME + _ZNK14QGLPixelBuffer22generateDynamicTextureEv @ 563 NONAME + _ZNK14QGLPixelBuffer4sizeEv @ 564 NONAME + _ZNK14QGLPixelBuffer6formatEv @ 565 NONAME + _ZNK14QGLPixelBuffer6handleEv @ 566 NONAME + _ZNK14QGLPixelBuffer6metricEN12QPaintDevice17PaintDeviceMetricE @ 567 NONAME + _ZNK14QGLPixelBuffer7isValidEv @ 568 NONAME + _ZNK14QGLPixelBuffer7toImageEv @ 569 NONAME + _ZNK14QGLSignalProxy10metaObjectEv @ 570 NONAME + _ZNK16QGLShaderProgram10metaObjectEv @ 571 NONAME + _ZNK16QGLShaderProgram15uniformLocationEPKc @ 572 NONAME + _ZNK16QGLShaderProgram15uniformLocationERK10QByteArray @ 573 NONAME + _ZNK16QGLShaderProgram15uniformLocationERK7QString @ 574 NONAME + _ZNK16QGLShaderProgram17attributeLocationEPKc @ 575 NONAME + _ZNK16QGLShaderProgram17attributeLocationERK10QByteArray @ 576 NONAME + _ZNK16QGLShaderProgram17attributeLocationERK7QString @ 577 NONAME + _ZNK16QGLShaderProgram17geometryInputTypeEv @ 578 NONAME + _ZNK16QGLShaderProgram18geometryOutputTypeEv @ 579 NONAME + _ZNK16QGLShaderProgram25geometryOutputVertexCountEv @ 580 NONAME + _ZNK16QGLShaderProgram25maxGeometryOutputVerticesEv @ 581 NONAME + _ZNK16QGLShaderProgram3logEv @ 582 NONAME + _ZNK16QGLShaderProgram7shadersEv @ 583 NONAME + _ZNK16QGLShaderProgram8isLinkedEv @ 584 NONAME + _ZNK16QGLShaderProgram9programIdEv @ 585 NONAME + _ZNK16QGLWindowSurface10metaObjectEv @ 586 NONAME + _ZNK16QGLWindowSurface7contextEv @ 587 NONAME + _ZNK17QGL2PaintEngineEx11createStateEP13QPainterState @ 588 NONAME + _ZNK17QGL2PaintEngineEx22isNativePaintingActiveEv @ 589 NONAME + _ZNK17QGLGraphicsSystem16createPixmapDataEN11QPixmapData9PixelTypeE @ 590 NONAME + _ZNK17QGLGraphicsSystem19createWindowSurfaceEP7QWidget @ 591 NONAME + _ZNK20QGLCustomShaderStage6sourceEv @ 592 NONAME + _ZNK20QGLFramebufferObject10attachmentEv @ 593 NONAME + _ZNK20QGLFramebufferObject11paintEngineEv @ 594 NONAME + _ZNK20QGLFramebufferObject4sizeEv @ 595 NONAME + _ZNK20QGLFramebufferObject6formatEv @ 596 NONAME + _ZNK20QGLFramebufferObject6handleEv @ 597 NONAME + _ZNK20QGLFramebufferObject6metricEN12QPaintDevice17PaintDeviceMetricE @ 598 NONAME + _ZNK20QGLFramebufferObject7isBoundEv @ 599 NONAME + _ZNK20QGLFramebufferObject7isValidEv @ 600 NONAME + _ZNK20QGLFramebufferObject7textureEv @ 601 NONAME + _ZNK20QGLFramebufferObject7toImageEv @ 602 NONAME + _ZNK20QGLTextureGlyphCache10metaObjectEv @ 603 NONAME + _ZNK20QGLTextureGlyphCache12glyphPaddingEv @ 604 NONAME + _ZNK21QGraphicsShaderEffect10metaObjectEv @ 605 NONAME + _ZNK21QGraphicsShaderEffect19pixelShaderFragmentEv @ 606 NONAME + _ZNK22QGLEngineShaderManager10metaObjectEv @ 607 NONAME + _ZNK26QGLFramebufferObjectFormat10attachmentEv @ 608 NONAME + _ZNK26QGLFramebufferObjectFormat13textureTargetEv @ 609 NONAME + _ZNK26QGLFramebufferObjectFormat21internalTextureFormatEv @ 610 NONAME + _ZNK26QGLFramebufferObjectFormat7samplesEv @ 611 NONAME + _ZNK26QGLFramebufferObjectFormateqERKS_ @ 612 NONAME + _ZNK26QGLFramebufferObjectFormatneERKS_ @ 613 NONAME + _ZNK9QGLBuffer12usagePatternEv @ 614 NONAME + _ZNK9QGLBuffer4sizeEv @ 615 NONAME + _ZNK9QGLBuffer4typeEv @ 616 NONAME + _ZNK9QGLBuffer8bufferIdEv @ 617 NONAME + _ZNK9QGLBuffer9isCreatedEv @ 618 NONAME + _ZNK9QGLFormat10testOptionE6QFlagsIN3QGL12FormatOptionEE @ 619 NONAME + _ZNK9QGLFormat12majorVersionEv @ 620 NONAME + _ZNK9QGLFormat12minorVersionEv @ 621 NONAME + _ZNK9QGLFormat12swapIntervalEv @ 622 NONAME + _ZNK9QGLFormat13redBufferSizeEv @ 623 NONAME + _ZNK9QGLFormat14blueBufferSizeEv @ 624 NONAME + _ZNK9QGLFormat15accumBufferSizeEv @ 625 NONAME + _ZNK9QGLFormat15alphaBufferSizeEv @ 626 NONAME + _ZNK9QGLFormat15depthBufferSizeEv @ 627 NONAME + _ZNK9QGLFormat15greenBufferSizeEv @ 628 NONAME + _ZNK9QGLFormat17stencilBufferSizeEv @ 629 NONAME + _ZNK9QGLFormat5planeEv @ 630 NONAME + _ZNK9QGLFormat7profileEv @ 631 NONAME + _ZNK9QGLFormat7samplesEv @ 632 NONAME + _ZNK9QGLShader10isCompiledEv @ 633 NONAME + _ZNK9QGLShader10metaObjectEv @ 634 NONAME + _ZNK9QGLShader10shaderTypeEv @ 635 NONAME + _ZNK9QGLShader10sourceCodeEv @ 636 NONAME + _ZNK9QGLShader3logEv @ 637 NONAME + _ZNK9QGLShader8shaderIdEv @ 638 NONAME + _ZNK9QGLWidget10metaObjectEv @ 639 NONAME + _ZNK9QGLWidget11paintEngineEv @ 640 NONAME + _ZNK9QGLWidget12doubleBufferEv @ 641 NONAME + _ZNK9QGLWidget13qglClearColorERK6QColor @ 642 NONAME + _ZNK9QGLWidget14autoBufferSwapEv @ 643 NONAME + _ZNK9QGLWidget14overlayContextEv @ 644 NONAME + _ZNK9QGLWidget6formatEv @ 645 NONAME + _ZNK9QGLWidget7contextEv @ 646 NONAME + _ZNK9QGLWidget7isValidEv @ 647 NONAME + _ZNK9QGLWidget8colormapEv @ 648 NONAME + _ZNK9QGLWidget8qglColorERK6QColor @ 649 NONAME + _ZNK9QGLWidget9isSharingEv @ 650 NONAME + _ZTI10QGLContext @ 651 NONAME + _ZTI13QGLPixmapData @ 652 NONAME + _ZTI14QGLPaintDevice @ 653 NONAME + _ZTI14QGLPixelBuffer @ 654 NONAME + _ZTI14QGLSignalProxy @ 655 NONAME + _ZTI16QGLShaderProgram @ 656 NONAME + _ZTI16QGLWindowSurface @ 657 NONAME + _ZTI17QGL2PaintEngineEx @ 658 NONAME + _ZTI17QGLGraphicsSystem @ 659 NONAME + _ZTI20QGLCustomShaderStage @ 660 NONAME + _ZTI20QGLFramebufferObject @ 661 NONAME + _ZTI20QGLTextureGlyphCache @ 662 NONAME + _ZTI21QGraphicsShaderEffect @ 663 NONAME + _ZTI22QGLEngineShaderManager @ 664 NONAME + _ZTI9QGLShader @ 665 NONAME + _ZTI9QGLWidget @ 666 NONAME + _ZTV10QGLContext @ 667 NONAME + _ZTV13QGLPixmapData @ 668 NONAME + _ZTV14QGLPaintDevice @ 669 NONAME + _ZTV14QGLPixelBuffer @ 670 NONAME + _ZTV14QGLSignalProxy @ 671 NONAME + _ZTV16QGLShaderProgram @ 672 NONAME + _ZTV16QGLWindowSurface @ 673 NONAME + _ZTV17QGL2PaintEngineEx @ 674 NONAME + _ZTV17QGLGraphicsSystem @ 675 NONAME + _ZTV20QGLCustomShaderStage @ 676 NONAME + _ZTV20QGLFramebufferObject @ 677 NONAME + _ZTV20QGLTextureGlyphCache @ 678 NONAME + _ZTV21QGraphicsShaderEffect @ 679 NONAME + _ZTV22QGLEngineShaderManager @ 680 NONAME + _ZTV9QGLShader @ 681 NONAME + _ZTV9QGLWidget @ 682 NONAME + _ZThn8_N16QGLWindowSurface10beginPaintERK7QRegion @ 683 NONAME + _ZThn8_N16QGLWindowSurface11paintDeviceEv @ 684 NONAME + _ZThn8_N16QGLWindowSurface11setGeometryERK5QRect @ 685 NONAME + _ZThn8_N16QGLWindowSurface5flushEP7QWidgetRK7QRegionRK6QPoint @ 686 NONAME + _ZThn8_N16QGLWindowSurface6bufferEPK7QWidget @ 687 NONAME + _ZThn8_N16QGLWindowSurface6scrollERK7QRegionii @ 688 NONAME + _ZThn8_N16QGLWindowSurface8endPaintERK7QRegion @ 689 NONAME + _ZThn8_N16QGLWindowSurfaceD0Ev @ 690 NONAME + _ZThn8_N16QGLWindowSurfaceD1Ev @ 691 NONAME + _ZThn8_N20QGLTextureGlyphCache11fillTextureERKN18QTextureGlyphCache5CoordEj @ 692 NONAME + _ZThn8_N20QGLTextureGlyphCache17createTextureDataEii @ 693 NONAME + _ZThn8_N20QGLTextureGlyphCache17resizeTextureDataEii @ 694 NONAME + _ZThn8_N20QGLTextureGlyphCacheD0Ev @ 695 NONAME + _ZThn8_N20QGLTextureGlyphCacheD1Ev @ 696 NONAME + _ZThn8_N9QGLWidgetD0Ev @ 697 NONAME + _ZThn8_N9QGLWidgetD1Ev @ 698 NONAME + _ZThn8_NK20QGLTextureGlyphCache12glyphPaddingEv @ 699 NONAME + _ZThn8_NK9QGLWidget11paintEngineEv @ 700 NONAME + _ZeqRK9QGLFormatS1_ @ 701 NONAME + _Zls6QDebugRK9QGLFormat @ 702 NONAME + _ZneRK9QGLFormatS1_ @ 703 NONAME + -- cgit v0.12 From 6afce934726e9a7f3b191c59249649f5a3cce2dd Mon Sep 17 00:00:00 2001 From: axis Date: Fri, 10 Sep 2010 16:17:41 +0200 Subject: Eliminated duplicated code from library handling. RevBy: Trust me --- mkspecs/features/symbian/symbian_building.prf | 26 ++++++++++---------------- 1 file changed, 10 insertions(+), 16 deletions(-) diff --git a/mkspecs/features/symbian/symbian_building.prf b/mkspecs/features/symbian/symbian_building.prf index 0b621a3..a9f195e 100644 --- a/mkspecs/features/symbian/symbian_building.prf +++ b/mkspecs/features/symbian/symbian_building.prf @@ -50,22 +50,16 @@ defineReplace(processSymbianLibrary) { return($$qt_library) } -qt_libraries = $$split(LIBS, " ") -LIBS = -for(qt_library, qt_libraries) { - qt_newLib = $$processSymbianLibrary($$qt_library) - contains(qt_newLib, ".*\\.dso$")|contains(qt_newLib, ".*\\.lib$"):PRE_TARGETDEPS += $$qt_newLib - linux-gcce:qt_newLib = "-l:$$qt_newLib" - LIBS += $$qt_newLib -} - -qt_libraries = $$split(QMAKE_LIBS, " ") -QMAKE_LIBS = -for(qt_library, qt_libraries) { - qt_newLib = $$processSymbianLibrary($$qt_library) - contains(qt_newLib, ".*\\.dso$")|contains(qt_newLib, ".*\\.lib$"):PRE_TARGETDEPS += $$qt_newLib - linux-gcce:qt_newLib = "-l:$$qt_newLib" - QMAKE_LIBS += $$qt_newLib +libsToProcess = LIBS QMAKE_LIBS +for(libToProcess, libsToProcess) { + qt_libraries = $$split($$libToProcess, " ") + eval($$libToProcess =) + for(qt_library, qt_libraries) { + qt_newLib = $$processSymbianLibrary($$qt_library) + contains(qt_newLib, ".*\\.dso$")|contains(qt_newLib, ".*\\.lib$"):PRE_TARGETDEPS += $$qt_newLib + linux-gcce:qt_newLib = "-l:$$qt_newLib" + eval($$libToProcess += \$\$qt_newLib) + } } elf2e32_LIBPATH = -- cgit v0.12 From 2d4566e81cf8263af2fec781e6e0d2e200064618 Mon Sep 17 00:00:00 2001 From: Gareth Stockwell Date: Tue, 14 Sep 2010 11:58:56 +0100 Subject: Fix incorrect dialog positioning on Symbian Task-number: QT-3900 Reviewed-by: Jason Barron Reviewed-by: Sami Merila --- src/gui/kernel/qwidget_s60.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/gui/kernel/qwidget_s60.cpp b/src/gui/kernel/qwidget_s60.cpp index c98c05a..4109ed8 100644 --- a/src/gui/kernel/qwidget_s60.cpp +++ b/src/gui/kernel/qwidget_s60.cpp @@ -518,7 +518,7 @@ void QWidgetPrivate::show_sys() if (q->windowState() & Qt::WindowMaximized) { TRect r = static_cast(S60->appUi())->ClientRect(); id->SetExtent(r.iTl, r.Size()); - } else if (!q->testAttribute(Qt::WA_Moved)) { + } else if (!q->testAttribute(Qt::WA_Moved) && q->windowType() != Qt::Dialog) { id->SetPosition(static_cast(S60->appUi())->ClientRect().iTl); } } -- cgit v0.12 From 7ee144ed7d88d4de010608d3a433e1b47343cd17 Mon Sep 17 00:00:00 2001 From: Jason Barron Date: Tue, 14 Sep 2010 14:21:25 +0200 Subject: Remove redundant code in SgImage -> VGImage conversion on Symbian. Calling the various Khronos getError() functions here is inefficient since it involves a round trip to the GPU and gains nothing since the null handle can be used to test for error conditions at no cost. Also no need to open the RSgDriver because we don't actually need to call any functions on RSgImage, just convert it. Reviewed-by: Alessandro Portale Reviewed-by: Jani Hautakangas --- src/openvg/qvg_symbian.cpp | 31 ++----------------------------- 1 file changed, 2 insertions(+), 29 deletions(-) diff --git a/src/openvg/qvg_symbian.cpp b/src/openvg/qvg_symbian.cpp index 0e6e773..ef0160c 100644 --- a/src/openvg/qvg_symbian.cpp +++ b/src/openvg/qvg_symbian.cpp @@ -112,25 +112,8 @@ static VGImage sgImageToVGImage(QEglContext *context, const RSgImage &sgImage) VGImage vgImage = VG_INVALID_HANDLE; - TInt err = 0; - - RSgDriver driver; - err = driver.Open(); - if (err != KErrNone) { - return vgImage; - } - - if (sgImage.IsNull()) { - driver.Close(); - return vgImage; - } - - TSgImageInfo sgImageInfo; - err = sgImage.GetInfo(sgImageInfo); - if (err != KErrNone) { - driver.Close(); + if (sgImage.IsNull()) return vgImage; - } const EGLint KEglImageAttribs[] = {EGL_IMAGE_PRESERVED_SYMBIAN, EGL_TRUE, EGL_NONE}; EGLImageKHR eglImage = QEgl::eglCreateImageKHR(QEgl::display(), @@ -139,22 +122,12 @@ static VGImage sgImageToVGImage(QEglContext *context, const RSgImage &sgImage) (EGLClientBuffer)&sgImage, (EGLint*)KEglImageAttribs); - if (!eglImage || eglGetError() != EGL_SUCCESS) { - driver.Close(); + if (!eglImage) return vgImage; - } vgImage = QVG::vgCreateEGLImageTargetKHR(eglImage); - if (!vgImage || vgGetError() != VG_NO_ERROR) { - QEgl::eglDestroyImageKHR(QEgl::display(), eglImage); - driver.Close(); - return vgImage; - } - //setSerialNumber(++qt_vg_pixmap_serial); - // release stuff QEgl::eglDestroyImageKHR(QEgl::display(), eglImage); - driver.Close(); return vgImage; } #endif -- cgit v0.12 From f8cf4296e2f1174610b8e095e9d0a496392fe70a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bj=C3=B8rn=20Erik=20Nilsen?= Date: Tue, 14 Sep 2010 14:31:42 +0200 Subject: QGraphicsWidget update issues with ItemHasNoContents + effect Items with the ItemHasNoContents flag set are never drawn so the 'paintedViewBoundingRect' is never cached/updated resulting in updates wrongly being discarded. The solution is to always invalidate the children for such items. Auto test included. Task-number: QT-3803 --- src/gui/graphicsview/qgraphicsscene.cpp | 5 ++-- tests/auto/qgraphicseffect/tst_qgraphicseffect.cpp | 29 ++++++++++++++++++++++ 2 files changed, 32 insertions(+), 2 deletions(-) diff --git a/src/gui/graphicsview/qgraphicsscene.cpp b/src/gui/graphicsview/qgraphicsscene.cpp index 36a24db..921e121 100644 --- a/src/gui/graphicsview/qgraphicsscene.cpp +++ b/src/gui/graphicsview/qgraphicsscene.cpp @@ -4984,14 +4984,15 @@ void QGraphicsScenePrivate::markDirty(QGraphicsItem *item, const QRectF &rect, b return; } - bool hasNoContents = item->d_ptr->flags & QGraphicsItem::ItemHasNoContents - && !item->d_ptr->graphicsEffect; + bool hasNoContents = item->d_ptr->flags & QGraphicsItem::ItemHasNoContents; if (!hasNoContents) { item->d_ptr->dirty = 1; if (fullItemUpdate) item->d_ptr->fullUpdatePending = 1; else if (!item->d_ptr->fullUpdatePending) item->d_ptr->needsRepaint |= rect; + } else if (item->d_ptr->graphicsEffect) { + invalidateChildren = true; } if (invalidateChildren) { diff --git a/tests/auto/qgraphicseffect/tst_qgraphicseffect.cpp b/tests/auto/qgraphicseffect/tst_qgraphicseffect.cpp index fa6a5ec..e1bfb79 100644 --- a/tests/auto/qgraphicseffect/tst_qgraphicseffect.cpp +++ b/tests/auto/qgraphicseffect/tst_qgraphicseffect.cpp @@ -76,6 +76,7 @@ private slots: void dropShadowClipping(); void childrenVisibilityShouldInvalidateCache(); void prepareGeometryChangeInvalidateCache(); + void itemHasNoContents(); }; void tst_QGraphicsEffect::initTestCase() @@ -675,6 +676,34 @@ void tst_QGraphicsEffect::prepareGeometryChangeInvalidateCache() QCOMPARE(item->nbPaint, 0); } +void tst_QGraphicsEffect::itemHasNoContents() +{ + QGraphicsRectItem *parent = new QGraphicsRectItem; + parent->setFlag(QGraphicsItem::ItemHasNoContents); + + MyGraphicsItem *child = new MyGraphicsItem; + child->setParentItem(parent); + child->resize(200, 200); + + QGraphicsScene scene; + scene.addItem(parent); + + QGraphicsView view(&scene); + view.show(); + QTest::qWaitForWindowShown(&view); + QTRY_COMPARE(child->nbPaint, 1); + + CustomEffect *effect = new CustomEffect; + parent->setGraphicsEffect(effect); + QTRY_COMPARE(effect->numRepaints, 1); + + for (int i = 0; i < 3; ++i) { + effect->reset(); + effect->update(); + QTRY_COMPARE(effect->numRepaints, 1); + } +} + QTEST_MAIN(tst_QGraphicsEffect) #include "tst_qgraphicseffect.moc" -- cgit v0.12 From 39c2bf06503898d2aaa5e42c75f4f48002b904d4 Mon Sep 17 00:00:00 2001 From: axis Date: Fri, 10 Sep 2010 16:21:00 +0200 Subject: Added support for using -L notation in the LIBS variable. Task: QTBUG-13523 RevBy: Thomas Zander --- mkspecs/features/symbian/symbian_building.prf | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/mkspecs/features/symbian/symbian_building.prf b/mkspecs/features/symbian/symbian_building.prf index a9f195e..539609d 100644 --- a/mkspecs/features/symbian/symbian_building.prf +++ b/mkspecs/features/symbian/symbian_building.prf @@ -50,15 +50,21 @@ defineReplace(processSymbianLibrary) { return($$qt_library) } +# This part turn "-llibc" into "libc.dso", and moves -L entries to QMAKE_LIBDIR. libsToProcess = LIBS QMAKE_LIBS for(libToProcess, libsToProcess) { qt_libraries = $$split($$libToProcess, " ") eval($$libToProcess =) for(qt_library, qt_libraries) { - qt_newLib = $$processSymbianLibrary($$qt_library) - contains(qt_newLib, ".*\\.dso$")|contains(qt_newLib, ".*\\.lib$"):PRE_TARGETDEPS += $$qt_newLib - linux-gcce:qt_newLib = "-l:$$qt_newLib" - eval($$libToProcess += \$\$qt_newLib) + contains(qt_library, "^-L.*") { + qt_library = $$replace(qt_library, "^-L", "") + QMAKE_LIBDIR += $$qt_library + } else { + qt_newLib = $$processSymbianLibrary($$qt_library) + contains(qt_newLib, ".*\\.dso$")|contains(qt_newLib, ".*\\.lib$"):PRE_TARGETDEPS += $$qt_newLib + linux-gcce:qt_newLib = "-l:$$qt_newLib" + eval($$libToProcess += \$\$qt_newLib) + } } } -- cgit v0.12 From 48736d622a971816030c6a83f5922f698157db8f Mon Sep 17 00:00:00 2001 From: axis Date: Tue, 14 Sep 2010 15:36:15 +0200 Subject: Fixed audio-backend detection in configure tests. Task: QTBUG-11671 RevBy: Trust me --- config.tests/symbian/audio/audio.pro | 2 ++ 1 file changed, 2 insertions(+) diff --git a/config.tests/symbian/audio/audio.pro b/config.tests/symbian/audio/audio.pro index abbde6e..b2a1986 100644 --- a/config.tests/symbian/audio/audio.pro +++ b/config.tests/symbian/audio/audio.pro @@ -3,5 +3,7 @@ SOURCES = audio.cpp INCLUDEPATH += $${EPOCROOT}epoc32/include/mmf/server INCLUDEPATH += $${EPOCROOT}epoc32/include/mmf/common +INCLUDEPATH += $${EPOCROOT}epoc32/include/platform LIBS += -lmmfdevsound +QT = -- cgit v0.12 From b82889e235b0ad7fc85a0d4c7bada4e82b930c02 Mon Sep 17 00:00:00 2001 From: David Boddie Date: Tue, 14 Sep 2010 16:14:24 +0200 Subject: Doc: More work on the QML documentation. --- doc/src/declarative/pics/rect-border-width.png | Bin 356 -> 374 bytes doc/src/declarative/pics/rect-color.png | Bin 0 -> 570 bytes doc/src/getting-started/gettingstartedqml.qdoc | 2 +- .../snippets/declarative/SelfDestroyingRect.qml | 2 +- doc/src/snippets/declarative/Sprite.qml | 2 +- doc/src/snippets/declarative/anchoranimation.qml | 2 +- doc/src/snippets/declarative/anchorchanges.qml | 2 +- doc/src/snippets/declarative/animatedimage.qml | 2 +- .../snippets/declarative/animation-behavioral.qml | 2 +- doc/src/snippets/declarative/animation-easing.qml | 2 +- .../snippets/declarative/animation-elements.qml | 2 +- doc/src/snippets/declarative/animation-groups.qml | 2 +- .../declarative/animation-propertyvaluesource.qml | 2 +- .../declarative/animation-signalhandler.qml | 2 +- .../snippets/declarative/animation-standalone.qml | 2 +- .../snippets/declarative/animation-transitions.qml | 2 +- doc/src/snippets/declarative/behavior.qml | 2 +- .../declarative/borderimage/borderimage-scaled.qml | 2 +- .../declarative/borderimage/borderimage-tiled.qml | 2 +- .../declarative/borderimage/normal-image.qml | 2 +- .../codingconventions/dotproperties.qml | 2 +- .../codingconventions/javascript-imports.qml | 2 +- .../declarative/codingconventions/javascript.qml | 2 +- .../declarative/codingconventions/lists.qml | 2 +- .../declarative/codingconventions/photo.qml | 2 +- doc/src/snippets/declarative/coloranimation.qml | 2 +- doc/src/snippets/declarative/column/column.qml | 2 +- .../declarative/column/vertical-positioner.qml | 2 +- doc/src/snippets/declarative/comments.qml | 2 +- doc/src/snippets/declarative/component.qml | 2 +- .../declarative/createComponent-simple.qml | 2 +- doc/src/snippets/declarative/createComponent.qml | 2 +- doc/src/snippets/declarative/createQmlObject.qml | 2 +- .../declarative/dynamicObjects-destroy.qml | 2 +- doc/src/snippets/declarative/flickable.qml | 2 +- .../snippets/declarative/flickableScrollbar.qml | 2 +- doc/src/snippets/declarative/flipable/flipable.qml | 2 +- doc/src/snippets/declarative/flow-diagram.qml | 2 +- doc/src/snippets/declarative/flow.qml | 2 +- doc/src/snippets/declarative/focusscopes.qml | 2 +- doc/src/snippets/declarative/folderlistmodel.qml | 2 +- doc/src/snippets/declarative/gradient.qml | 2 +- doc/src/snippets/declarative/grid/grid-items.qml | 2 +- .../snippets/declarative/grid/grid-no-spacing.qml | 2 +- doc/src/snippets/declarative/grid/grid-spacing.qml | 2 +- doc/src/snippets/declarative/grid/grid.qml | 2 +- .../snippets/declarative/gridview/ContactModel.qml | 2 +- doc/src/snippets/declarative/gridview/gridview.qml | 2 +- doc/src/snippets/declarative/image.qml | 2 +- doc/src/snippets/declarative/listmodel-modify.qml | 2 +- doc/src/snippets/declarative/listmodel-nested.qml | 2 +- doc/src/snippets/declarative/listmodel-simple.qml | 2 +- doc/src/snippets/declarative/listmodel.qml | 2 +- .../snippets/declarative/listview/ContactModel.qml | 2 +- .../declarative/listview/listview-snippet.qml | 2 +- doc/src/snippets/declarative/listview/listview.qml | 2 +- doc/src/snippets/declarative/loader/KeyReader.qml | 2 +- doc/src/snippets/declarative/loader/MyItem.qml | 2 +- .../snippets/declarative/loader/connections.qml | 2 +- doc/src/snippets/declarative/loader/focus.qml | 2 +- doc/src/snippets/declarative/loader/simple.qml | 2 +- doc/src/snippets/declarative/mousearea.qml | 2 +- .../snippets/declarative/mouseareadragfilter.qml | 2 +- doc/src/snippets/declarative/numberanimation.qml | 2 +- doc/src/snippets/declarative/parallelanimation.qml | 2 +- doc/src/snippets/declarative/parentanimation.qml | 2 +- doc/src/snippets/declarative/parentchange.qml | 2 +- .../snippets/declarative/pathview/ContactModel.qml | 2 +- .../declarative/pathview/pathattributes.qml | 2 +- doc/src/snippets/declarative/pathview/pathview.qml | 2 +- doc/src/snippets/declarative/propertyaction.qml | 2 +- doc/src/snippets/declarative/propertyanimation.qml | 2 +- doc/src/snippets/declarative/propertychanges.qml | 2 +- .../qml-data-models/dynamic-listmodel.qml | 2 +- .../declarative/qml-data-models/listelements.qml | 2 +- .../qml-data-models/listmodel-listview.qml | 2 +- .../declarative/qml-documents/inline-component.qml | 2 +- .../qml-documents/inline-text-component.qml | 2 +- .../declarative/qml-documents/non-trivial.qml | 2 +- .../declarative/qml-documents/qmldocuments.qml | 2 +- .../snippets/declarative/qml-intro/anchors1.qml | 2 +- .../snippets/declarative/qml-intro/anchors2.qml | 2 +- .../snippets/declarative/qml-intro/anchors3.qml | 2 +- .../declarative/qml-intro/hello-world1.qml | 2 +- .../declarative/qml-intro/hello-world2.qml | 2 +- .../declarative/qml-intro/hello-world3.qml | 2 +- .../declarative/qml-intro/hello-world4.qml | 2 +- .../declarative/qml-intro/hello-world5.qml | 2 +- .../declarative/qml-intro/number-animation1.qml | 2 +- .../declarative/qml-intro/number-animation2.qml | 2 +- .../snippets/declarative/qml-intro/rectangle.qml | 2 +- .../qml-intro/sequential-animation1.qml | 2 +- .../qml-intro/sequential-animation2.qml | 2 +- .../qml-intro/sequential-animation3.qml | 2 +- doc/src/snippets/declarative/qml-intro/states1.qml | 2 +- .../declarative/qml-intro/transformations1.qml | 2 +- .../qtbinding/contextproperties/main.qml | 2 +- .../declarative/qtbinding/custompalette/main.qml | 2 +- .../declarative/qtbinding/resources/main.qml | 2 +- .../declarative/qtbinding/stopwatch/main.qml | 2 +- doc/src/snippets/declarative/qtobject.qml | 2 +- doc/src/snippets/declarative/rect-border-width.qml | 59 ----------- .../declarative/rectangle/rect-border-width.qml | 59 +++++++++++ .../declarative/rectangle/rectangle-colors.qml | 62 +++++++++++ .../declarative/rectangle/rectangle-gradient.qml | 74 +++++++++++++ .../snippets/declarative/rectangle/rectangle.qml | 52 +++++++++ .../declarative/repeaters/repeater-grid-index.qml | 2 +- .../snippets/declarative/repeaters/repeater.qml | 2 +- doc/src/snippets/declarative/rotation.qml | 2 +- doc/src/snippets/declarative/rotationanimation.qml | 2 +- doc/src/snippets/declarative/row.qml | 2 +- doc/src/snippets/declarative/row/row.qml | 2 +- .../snippets/declarative/sequentialanimation.qml | 2 +- doc/src/snippets/declarative/smoothedanimation.qml | 2 +- doc/src/snippets/declarative/springanimation.qml | 2 +- doc/src/snippets/declarative/state-when.qml | 2 +- doc/src/snippets/declarative/state.qml | 2 +- doc/src/snippets/declarative/states.qml | 2 +- doc/src/snippets/declarative/systempalette.qml | 2 +- doc/src/snippets/declarative/texteditor.qml | 2 +- .../snippets/declarative/transition-from-to.qml | 2 +- .../snippets/declarative/transition-reversible.qml | 2 +- doc/src/snippets/declarative/transition.qml | 2 +- doc/src/snippets/declarative/visualdatamodel.qml | 2 +- .../declarative/visualdatamodel_rootindex/view.qml | 2 +- doc/src/snippets/declarative/workerscript.qml | 2 +- doc/src/snippets/declarative/xmlrole.qml | 2 +- doc/src/snippets/declarative/~image-fillmode.qml | 46 -------- .../graphicsitems/qdeclarativerectangle.cpp | 116 +++++++++++---------- 129 files changed, 426 insertions(+), 282 deletions(-) create mode 100644 doc/src/declarative/pics/rect-color.png delete mode 100644 doc/src/snippets/declarative/rect-border-width.qml create mode 100644 doc/src/snippets/declarative/rectangle/rect-border-width.qml create mode 100644 doc/src/snippets/declarative/rectangle/rectangle-colors.qml create mode 100644 doc/src/snippets/declarative/rectangle/rectangle-gradient.qml create mode 100644 doc/src/snippets/declarative/rectangle/rectangle.qml delete mode 100644 doc/src/snippets/declarative/~image-fillmode.qml diff --git a/doc/src/declarative/pics/rect-border-width.png b/doc/src/declarative/pics/rect-border-width.png index c3c6c2c..e232cf3 100644 Binary files a/doc/src/declarative/pics/rect-border-width.png and b/doc/src/declarative/pics/rect-border-width.png differ diff --git a/doc/src/declarative/pics/rect-color.png b/doc/src/declarative/pics/rect-color.png new file mode 100644 index 0000000..b258ba9 Binary files /dev/null and b/doc/src/declarative/pics/rect-color.png differ diff --git a/doc/src/getting-started/gettingstartedqml.qdoc b/doc/src/getting-started/gettingstartedqml.qdoc index 1003eee..a5e45d9 100644 --- a/doc/src/getting-started/gettingstartedqml.qdoc +++ b/doc/src/getting-started/gettingstartedqml.qdoc @@ -530,7 +530,7 @@ the \c drawer, and the drawer's icon will undergo property changes to meet the current state. - \snippet examples/tutorial/gettingStarted/gsQml/texteditor.qml states + \snippet examples/tutorials/gettingStarted/gsQml/texteditor.qml states State changes are abrupt and needs smoother transitions. Transitions between states are defined using the \l {Transition}{Transition} element, which can then bind to diff --git a/doc/src/snippets/declarative/SelfDestroyingRect.qml b/doc/src/snippets/declarative/SelfDestroyingRect.qml index f14d2d2..413c04e 100644 --- a/doc/src/snippets/declarative/SelfDestroyingRect.qml +++ b/doc/src/snippets/declarative/SelfDestroyingRect.qml @@ -4,7 +4,7 @@ ** All rights reserved. ** Contact: Nokia Corporation (qt-info@nokia.com) ** -** This file is part of the QtDeclarative module of the Qt Toolkit. +** This file is part of the documentation of the Qt Toolkit. ** ** $QT_BEGIN_LICENSE:BSD$ ** You may use this file under the terms of the BSD license as follows: diff --git a/doc/src/snippets/declarative/Sprite.qml b/doc/src/snippets/declarative/Sprite.qml index 42e9a8c..3928c4d 100644 --- a/doc/src/snippets/declarative/Sprite.qml +++ b/doc/src/snippets/declarative/Sprite.qml @@ -4,7 +4,7 @@ ** All rights reserved. ** Contact: Nokia Corporation (qt-info@nokia.com) ** -** This file is part of the QtDeclarative module of the Qt Toolkit. +** This file is part of the documentation of the Qt Toolkit. ** ** $QT_BEGIN_LICENSE:BSD$ ** You may use this file under the terms of the BSD license as follows: diff --git a/doc/src/snippets/declarative/anchoranimation.qml b/doc/src/snippets/declarative/anchoranimation.qml index 9a7b8ff..f149326 100644 --- a/doc/src/snippets/declarative/anchoranimation.qml +++ b/doc/src/snippets/declarative/anchoranimation.qml @@ -4,7 +4,7 @@ ** All rights reserved. ** Contact: Nokia Corporation (qt-info@nokia.com) ** -** This file is part of the QtDeclarative module of the Qt Toolkit. +** This file is part of the documentation of the Qt Toolkit. ** ** $QT_BEGIN_LICENSE:BSD$ ** You may use this file under the terms of the BSD license as follows: diff --git a/doc/src/snippets/declarative/anchorchanges.qml b/doc/src/snippets/declarative/anchorchanges.qml index 3f11421..19356d7 100644 --- a/doc/src/snippets/declarative/anchorchanges.qml +++ b/doc/src/snippets/declarative/anchorchanges.qml @@ -4,7 +4,7 @@ ** All rights reserved. ** Contact: Nokia Corporation (qt-info@nokia.com) ** -** This file is part of the QtDeclarative module of the Qt Toolkit. +** This file is part of the documentation of the Qt Toolkit. ** ** $QT_BEGIN_LICENSE:BSD$ ** You may use this file under the terms of the BSD license as follows: diff --git a/doc/src/snippets/declarative/animatedimage.qml b/doc/src/snippets/declarative/animatedimage.qml index bf5d611..66abbae 100644 --- a/doc/src/snippets/declarative/animatedimage.qml +++ b/doc/src/snippets/declarative/animatedimage.qml @@ -4,7 +4,7 @@ ** All rights reserved. ** Contact: Nokia Corporation (qt-info@nokia.com) ** -** This file is part of the QtDeclarative module of the Qt Toolkit. +** This file is part of the documentation of the Qt Toolkit. ** ** $QT_BEGIN_LICENSE:BSD$ ** You may use this file under the terms of the BSD license as follows: diff --git a/doc/src/snippets/declarative/animation-behavioral.qml b/doc/src/snippets/declarative/animation-behavioral.qml index dc79018..a4fa648 100644 --- a/doc/src/snippets/declarative/animation-behavioral.qml +++ b/doc/src/snippets/declarative/animation-behavioral.qml @@ -4,7 +4,7 @@ ** All rights reserved. ** Contact: Nokia Corporation (qt-info@nokia.com) ** -** This file is part of the QtDeclarative module of the Qt Toolkit. +** This file is part of the documentation of the Qt Toolkit. ** ** $QT_BEGIN_LICENSE:BSD$ ** You may use this file under the terms of the BSD license as follows: diff --git a/doc/src/snippets/declarative/animation-easing.qml b/doc/src/snippets/declarative/animation-easing.qml index e65c470..97f6e60 100644 --- a/doc/src/snippets/declarative/animation-easing.qml +++ b/doc/src/snippets/declarative/animation-easing.qml @@ -4,7 +4,7 @@ ** All rights reserved. ** Contact: Nokia Corporation (qt-info@nokia.com) ** -** This file is part of the QtDeclarative module of the Qt Toolkit. +** This file is part of the documentation of the Qt Toolkit. ** ** $QT_BEGIN_LICENSE:BSD$ ** You may use this file under the terms of the BSD license as follows: diff --git a/doc/src/snippets/declarative/animation-elements.qml b/doc/src/snippets/declarative/animation-elements.qml index 7cb253e..a65bd67 100644 --- a/doc/src/snippets/declarative/animation-elements.qml +++ b/doc/src/snippets/declarative/animation-elements.qml @@ -4,7 +4,7 @@ ** All rights reserved. ** Contact: Nokia Corporation (qt-info@nokia.com) ** -** This file is part of the QtDeclarative module of the Qt Toolkit. +** This file is part of the documentation of the Qt Toolkit. ** ** $QT_BEGIN_LICENSE:BSD$ ** You may use this file under the terms of the BSD license as follows: diff --git a/doc/src/snippets/declarative/animation-groups.qml b/doc/src/snippets/declarative/animation-groups.qml index 8a8f925..ba546c9 100644 --- a/doc/src/snippets/declarative/animation-groups.qml +++ b/doc/src/snippets/declarative/animation-groups.qml @@ -4,7 +4,7 @@ ** All rights reserved. ** Contact: Nokia Corporation (qt-info@nokia.com) ** -** This file is part of the QtDeclarative module of the Qt Toolkit. +** This file is part of the documentation of the Qt Toolkit. ** ** $QT_BEGIN_LICENSE:BSD$ ** You may use this file under the terms of the BSD license as follows: diff --git a/doc/src/snippets/declarative/animation-propertyvaluesource.qml b/doc/src/snippets/declarative/animation-propertyvaluesource.qml index ac5f071..366505c 100644 --- a/doc/src/snippets/declarative/animation-propertyvaluesource.qml +++ b/doc/src/snippets/declarative/animation-propertyvaluesource.qml @@ -4,7 +4,7 @@ ** All rights reserved. ** Contact: Nokia Corporation (qt-info@nokia.com) ** -** This file is part of the QtDeclarative module of the Qt Toolkit. +** This file is part of the documentation of the Qt Toolkit. ** ** $QT_BEGIN_LICENSE:BSD$ ** You may use this file under the terms of the BSD license as follows: diff --git a/doc/src/snippets/declarative/animation-signalhandler.qml b/doc/src/snippets/declarative/animation-signalhandler.qml index 749596c..492c007 100644 --- a/doc/src/snippets/declarative/animation-signalhandler.qml +++ b/doc/src/snippets/declarative/animation-signalhandler.qml @@ -4,7 +4,7 @@ ** All rights reserved. ** Contact: Nokia Corporation (qt-info@nokia.com) ** -** This file is part of the QtDeclarative module of the Qt Toolkit. +** This file is part of the documentation of the Qt Toolkit. ** ** $QT_BEGIN_LICENSE:BSD$ ** You may use this file under the terms of the BSD license as follows: diff --git a/doc/src/snippets/declarative/animation-standalone.qml b/doc/src/snippets/declarative/animation-standalone.qml index d75fd92..c847d02 100644 --- a/doc/src/snippets/declarative/animation-standalone.qml +++ b/doc/src/snippets/declarative/animation-standalone.qml @@ -4,7 +4,7 @@ ** All rights reserved. ** Contact: Nokia Corporation (qt-info@nokia.com) ** -** This file is part of the QtDeclarative module of the Qt Toolkit. +** This file is part of the documentation of the Qt Toolkit. ** ** $QT_BEGIN_LICENSE:BSD$ ** You may use this file under the terms of the BSD license as follows: diff --git a/doc/src/snippets/declarative/animation-transitions.qml b/doc/src/snippets/declarative/animation-transitions.qml index 3265065..5b0bb84 100644 --- a/doc/src/snippets/declarative/animation-transitions.qml +++ b/doc/src/snippets/declarative/animation-transitions.qml @@ -4,7 +4,7 @@ ** All rights reserved. ** Contact: Nokia Corporation (qt-info@nokia.com) ** -** This file is part of the QtDeclarative module of the Qt Toolkit. +** This file is part of the documentation of the Qt Toolkit. ** ** $QT_BEGIN_LICENSE:BSD$ ** You may use this file under the terms of the BSD license as follows: diff --git a/doc/src/snippets/declarative/behavior.qml b/doc/src/snippets/declarative/behavior.qml index 4260e38..7f66e5a 100644 --- a/doc/src/snippets/declarative/behavior.qml +++ b/doc/src/snippets/declarative/behavior.qml @@ -4,7 +4,7 @@ ** All rights reserved. ** Contact: Nokia Corporation (qt-info@nokia.com) ** -** This file is part of the QtDeclarative module of the Qt Toolkit. +** This file is part of the documentation of the Qt Toolkit. ** ** $QT_BEGIN_LICENSE:BSD$ ** You may use this file under the terms of the BSD license as follows: diff --git a/doc/src/snippets/declarative/borderimage/borderimage-scaled.qml b/doc/src/snippets/declarative/borderimage/borderimage-scaled.qml index cc3ae2f..0ed9943 100644 --- a/doc/src/snippets/declarative/borderimage/borderimage-scaled.qml +++ b/doc/src/snippets/declarative/borderimage/borderimage-scaled.qml @@ -4,7 +4,7 @@ ** All rights reserved. ** Contact: Nokia Corporation (qt-info@nokia.com) ** -** This file is part of the QtDeclarative module of the Qt Toolkit. +** This file is part of the documentation of the Qt Toolkit. ** ** $QT_BEGIN_LICENSE:BSD$ ** You may use this file under the terms of the BSD license as follows: diff --git a/doc/src/snippets/declarative/borderimage/borderimage-tiled.qml b/doc/src/snippets/declarative/borderimage/borderimage-tiled.qml index e792814..680709d 100644 --- a/doc/src/snippets/declarative/borderimage/borderimage-tiled.qml +++ b/doc/src/snippets/declarative/borderimage/borderimage-tiled.qml @@ -4,7 +4,7 @@ ** All rights reserved. ** Contact: Nokia Corporation (qt-info@nokia.com) ** -** This file is part of the QtDeclarative module of the Qt Toolkit. +** This file is part of the documentation of the Qt Toolkit. ** ** $QT_BEGIN_LICENSE:BSD$ ** You may use this file under the terms of the BSD license as follows: diff --git a/doc/src/snippets/declarative/borderimage/normal-image.qml b/doc/src/snippets/declarative/borderimage/normal-image.qml index 76ec6e2..85a7f52 100644 --- a/doc/src/snippets/declarative/borderimage/normal-image.qml +++ b/doc/src/snippets/declarative/borderimage/normal-image.qml @@ -4,7 +4,7 @@ ** All rights reserved. ** Contact: Nokia Corporation (qt-info@nokia.com) ** -** This file is part of the QtDeclarative module of the Qt Toolkit. +** This file is part of the documentation of the Qt Toolkit. ** ** $QT_BEGIN_LICENSE:BSD$ ** You may use this file under the terms of the BSD license as follows: diff --git a/doc/src/snippets/declarative/codingconventions/dotproperties.qml b/doc/src/snippets/declarative/codingconventions/dotproperties.qml index dbf3de6..8a173cd 100644 --- a/doc/src/snippets/declarative/codingconventions/dotproperties.qml +++ b/doc/src/snippets/declarative/codingconventions/dotproperties.qml @@ -4,7 +4,7 @@ ** All rights reserved. ** Contact: Nokia Corporation (qt-info@nokia.com) ** -** This file is part of the QtDeclarative module of the Qt Toolkit. +** This file is part of the documentation of the Qt Toolkit. ** ** $QT_BEGIN_LICENSE:BSD$ ** You may use this file under the terms of the BSD license as follows: diff --git a/doc/src/snippets/declarative/codingconventions/javascript-imports.qml b/doc/src/snippets/declarative/codingconventions/javascript-imports.qml index 88f89a7..391bf27 100644 --- a/doc/src/snippets/declarative/codingconventions/javascript-imports.qml +++ b/doc/src/snippets/declarative/codingconventions/javascript-imports.qml @@ -4,7 +4,7 @@ ** All rights reserved. ** Contact: Nokia Corporation (qt-info@nokia.com) ** -** This file is part of the QtDeclarative module of the Qt Toolkit. +** This file is part of the documentation of the Qt Toolkit. ** ** $QT_BEGIN_LICENSE:BSD$ ** You may use this file under the terms of the BSD license as follows: diff --git a/doc/src/snippets/declarative/codingconventions/javascript.qml b/doc/src/snippets/declarative/codingconventions/javascript.qml index fd19b02..90790b9 100644 --- a/doc/src/snippets/declarative/codingconventions/javascript.qml +++ b/doc/src/snippets/declarative/codingconventions/javascript.qml @@ -4,7 +4,7 @@ ** All rights reserved. ** Contact: Nokia Corporation (qt-info@nokia.com) ** -** This file is part of the QtDeclarative module of the Qt Toolkit. +** This file is part of the documentation of the Qt Toolkit. ** ** $QT_BEGIN_LICENSE:BSD$ ** You may use this file under the terms of the BSD license as follows: diff --git a/doc/src/snippets/declarative/codingconventions/lists.qml b/doc/src/snippets/declarative/codingconventions/lists.qml index 66e0728..8d2bdbc 100644 --- a/doc/src/snippets/declarative/codingconventions/lists.qml +++ b/doc/src/snippets/declarative/codingconventions/lists.qml @@ -4,7 +4,7 @@ ** All rights reserved. ** Contact: Nokia Corporation (qt-info@nokia.com) ** -** This file is part of the QtDeclarative module of the Qt Toolkit. +** This file is part of the documentation of the Qt Toolkit. ** ** $QT_BEGIN_LICENSE:BSD$ ** You may use this file under the terms of the BSD license as follows: diff --git a/doc/src/snippets/declarative/codingconventions/photo.qml b/doc/src/snippets/declarative/codingconventions/photo.qml index 39fc852..359a756 100644 --- a/doc/src/snippets/declarative/codingconventions/photo.qml +++ b/doc/src/snippets/declarative/codingconventions/photo.qml @@ -4,7 +4,7 @@ ** All rights reserved. ** Contact: Nokia Corporation (qt-info@nokia.com) ** -** This file is part of the QtDeclarative module of the Qt Toolkit. +** This file is part of the documentation of the Qt Toolkit. ** ** $QT_BEGIN_LICENSE:BSD$ ** You may use this file under the terms of the BSD license as follows: diff --git a/doc/src/snippets/declarative/coloranimation.qml b/doc/src/snippets/declarative/coloranimation.qml index 7e8e9fe..d904721 100644 --- a/doc/src/snippets/declarative/coloranimation.qml +++ b/doc/src/snippets/declarative/coloranimation.qml @@ -4,7 +4,7 @@ ** All rights reserved. ** Contact: Nokia Corporation (qt-info@nokia.com) ** -** This file is part of the QtDeclarative module of the Qt Toolkit. +** This file is part of the documentation of the Qt Toolkit. ** ** $QT_BEGIN_LICENSE:BSD$ ** You may use this file under the terms of the BSD license as follows: diff --git a/doc/src/snippets/declarative/column/column.qml b/doc/src/snippets/declarative/column/column.qml index e372cfd..6d378bb 100644 --- a/doc/src/snippets/declarative/column/column.qml +++ b/doc/src/snippets/declarative/column/column.qml @@ -4,7 +4,7 @@ ** All rights reserved. ** Contact: Nokia Corporation (qt-info@nokia.com) ** -** This file is part of the QtDeclarative module of the Qt Toolkit. +** This file is part of the documentation of the Qt Toolkit. ** ** $QT_BEGIN_LICENSE:BSD$ ** You may use this file under the terms of the BSD license as follows: diff --git a/doc/src/snippets/declarative/column/vertical-positioner.qml b/doc/src/snippets/declarative/column/vertical-positioner.qml index 27b09c1..86ecc55 100644 --- a/doc/src/snippets/declarative/column/vertical-positioner.qml +++ b/doc/src/snippets/declarative/column/vertical-positioner.qml @@ -4,7 +4,7 @@ ** All rights reserved. ** Contact: Nokia Corporation (qt-info@nokia.com) ** -** This file is part of the QtDeclarative module of the Qt Toolkit. +** This file is part of the documentation of the Qt Toolkit. ** ** $QT_BEGIN_LICENSE:BSD$ ** You may use this file under the terms of the BSD license as follows: diff --git a/doc/src/snippets/declarative/comments.qml b/doc/src/snippets/declarative/comments.qml index 9be0ce5..aa034c6 100644 --- a/doc/src/snippets/declarative/comments.qml +++ b/doc/src/snippets/declarative/comments.qml @@ -4,7 +4,7 @@ ** All rights reserved. ** Contact: Nokia Corporation (qt-info@nokia.com) ** -** This file is part of the QtDeclarative module of the Qt Toolkit. +** This file is part of the documentation of the Qt Toolkit. ** ** $QT_BEGIN_LICENSE:BSD$ ** You may use this file under the terms of the BSD license as follows: diff --git a/doc/src/snippets/declarative/component.qml b/doc/src/snippets/declarative/component.qml index a0ab28c..84c063f 100644 --- a/doc/src/snippets/declarative/component.qml +++ b/doc/src/snippets/declarative/component.qml @@ -4,7 +4,7 @@ ** All rights reserved. ** Contact: Nokia Corporation (qt-info@nokia.com) ** -** This file is part of the QtDeclarative module of the Qt Toolkit. +** This file is part of the documentation of the Qt Toolkit. ** ** $QT_BEGIN_LICENSE:BSD$ ** You may use this file under the terms of the BSD license as follows: diff --git a/doc/src/snippets/declarative/createComponent-simple.qml b/doc/src/snippets/declarative/createComponent-simple.qml index 9669580..f4c240d 100644 --- a/doc/src/snippets/declarative/createComponent-simple.qml +++ b/doc/src/snippets/declarative/createComponent-simple.qml @@ -4,7 +4,7 @@ ** All rights reserved. ** Contact: Nokia Corporation (qt-info@nokia.com) ** -** This file is part of the QtDeclarative module of the Qt Toolkit. +** This file is part of the documentation of the Qt Toolkit. ** ** $QT_BEGIN_LICENSE:BSD$ ** You may use this file under the terms of the BSD license as follows: diff --git a/doc/src/snippets/declarative/createComponent.qml b/doc/src/snippets/declarative/createComponent.qml index 0f9fad5..f1a7436 100644 --- a/doc/src/snippets/declarative/createComponent.qml +++ b/doc/src/snippets/declarative/createComponent.qml @@ -4,7 +4,7 @@ ** All rights reserved. ** Contact: Nokia Corporation (qt-info@nokia.com) ** -** This file is part of the QtDeclarative module of the Qt Toolkit. +** This file is part of the documentation of the Qt Toolkit. ** ** $QT_BEGIN_LICENSE:BSD$ ** You may use this file under the terms of the BSD license as follows: diff --git a/doc/src/snippets/declarative/createQmlObject.qml b/doc/src/snippets/declarative/createQmlObject.qml index a5f15f4..6a4eae8 100644 --- a/doc/src/snippets/declarative/createQmlObject.qml +++ b/doc/src/snippets/declarative/createQmlObject.qml @@ -4,7 +4,7 @@ ** All rights reserved. ** Contact: Nokia Corporation (qt-info@nokia.com) ** -** This file is part of the QtDeclarative module of the Qt Toolkit. +** This file is part of the documentation of the Qt Toolkit. ** ** $QT_BEGIN_LICENSE:BSD$ ** You may use this file under the terms of the BSD license as follows: diff --git a/doc/src/snippets/declarative/dynamicObjects-destroy.qml b/doc/src/snippets/declarative/dynamicObjects-destroy.qml index 2c0c2fb..b4ae80c 100644 --- a/doc/src/snippets/declarative/dynamicObjects-destroy.qml +++ b/doc/src/snippets/declarative/dynamicObjects-destroy.qml @@ -4,7 +4,7 @@ ** All rights reserved. ** Contact: Nokia Corporation (qt-info@nokia.com) ** -** This file is part of the QtDeclarative module of the Qt Toolkit. +** This file is part of the documentation of the Qt Toolkit. ** ** $QT_BEGIN_LICENSE:BSD$ ** You may use this file under the terms of the BSD license as follows: diff --git a/doc/src/snippets/declarative/flickable.qml b/doc/src/snippets/declarative/flickable.qml index d7a163b..a283e9a 100644 --- a/doc/src/snippets/declarative/flickable.qml +++ b/doc/src/snippets/declarative/flickable.qml @@ -4,7 +4,7 @@ ** All rights reserved. ** Contact: Nokia Corporation (qt-info@nokia.com) ** -** This file is part of the QtDeclarative module of the Qt Toolkit. +** This file is part of the documentation of the Qt Toolkit. ** ** $QT_BEGIN_LICENSE:BSD$ ** You may use this file under the terms of the BSD license as follows: diff --git a/doc/src/snippets/declarative/flickableScrollbar.qml b/doc/src/snippets/declarative/flickableScrollbar.qml index 2fdc3f1..fc06f63 100644 --- a/doc/src/snippets/declarative/flickableScrollbar.qml +++ b/doc/src/snippets/declarative/flickableScrollbar.qml @@ -4,7 +4,7 @@ ** All rights reserved. ** Contact: Nokia Corporation (qt-info@nokia.com) ** -** This file is part of the QtDeclarative module of the Qt Toolkit. +** This file is part of the documentation of the Qt Toolkit. ** ** $QT_BEGIN_LICENSE:BSD$ ** You may use this file under the terms of the BSD license as follows: diff --git a/doc/src/snippets/declarative/flipable/flipable.qml b/doc/src/snippets/declarative/flipable/flipable.qml index c2ecbbe..eaf367a 100644 --- a/doc/src/snippets/declarative/flipable/flipable.qml +++ b/doc/src/snippets/declarative/flipable/flipable.qml @@ -4,7 +4,7 @@ ** All rights reserved. ** Contact: Nokia Corporation (qt-info@nokia.com) ** -** This file is part of the QtDeclarative module of the Qt Toolkit. +** This file is part of the documentation of the Qt Toolkit. ** ** $QT_BEGIN_LICENSE:BSD$ ** You may use this file under the terms of the BSD license as follows: diff --git a/doc/src/snippets/declarative/flow-diagram.qml b/doc/src/snippets/declarative/flow-diagram.qml index 80506b9..f34e3fd 100644 --- a/doc/src/snippets/declarative/flow-diagram.qml +++ b/doc/src/snippets/declarative/flow-diagram.qml @@ -4,7 +4,7 @@ ** All rights reserved. ** Contact: Nokia Corporation (qt-info@nokia.com) ** -** This file is part of the QtDeclarative module of the Qt Toolkit. +** This file is part of the documentation of the Qt Toolkit. ** ** $QT_BEGIN_LICENSE:BSD$ ** You may use this file under the terms of the BSD license as follows: diff --git a/doc/src/snippets/declarative/flow.qml b/doc/src/snippets/declarative/flow.qml index 77db683..809627e 100644 --- a/doc/src/snippets/declarative/flow.qml +++ b/doc/src/snippets/declarative/flow.qml @@ -4,7 +4,7 @@ ** All rights reserved. ** Contact: Nokia Corporation (qt-info@nokia.com) ** -** This file is part of the QtDeclarative module of the Qt Toolkit. +** This file is part of the documentation of the Qt Toolkit. ** ** $QT_BEGIN_LICENSE:BSD$ ** You may use this file under the terms of the BSD license as follows: diff --git a/doc/src/snippets/declarative/focusscopes.qml b/doc/src/snippets/declarative/focusscopes.qml index 682fb58..da6a850 100644 --- a/doc/src/snippets/declarative/focusscopes.qml +++ b/doc/src/snippets/declarative/focusscopes.qml @@ -4,7 +4,7 @@ ** All rights reserved. ** Contact: Nokia Corporation (qt-info@nokia.com) ** -** This file is part of the QtDeclarative module of the Qt Toolkit. +** This file is part of the documentation of the Qt Toolkit. ** ** $QT_BEGIN_LICENSE:BSD$ ** You may use this file under the terms of the BSD license as follows: diff --git a/doc/src/snippets/declarative/folderlistmodel.qml b/doc/src/snippets/declarative/folderlistmodel.qml index bb9ea28..a5e0071 100644 --- a/doc/src/snippets/declarative/folderlistmodel.qml +++ b/doc/src/snippets/declarative/folderlistmodel.qml @@ -4,7 +4,7 @@ ** All rights reserved. ** Contact: Nokia Corporation (qt-info@nokia.com) ** -** This file is part of the QtDeclarative module of the Qt Toolkit. +** This file is part of the documentation of the Qt Toolkit. ** ** $QT_BEGIN_LICENSE:BSD$ ** You may use this file under the terms of the BSD license as follows: diff --git a/doc/src/snippets/declarative/gradient.qml b/doc/src/snippets/declarative/gradient.qml index a385485..4c8bd40 100644 --- a/doc/src/snippets/declarative/gradient.qml +++ b/doc/src/snippets/declarative/gradient.qml @@ -4,7 +4,7 @@ ** All rights reserved. ** Contact: Nokia Corporation (qt-info@nokia.com) ** -** This file is part of the QtDeclarative module of the Qt Toolkit. +** This file is part of the documentation of the Qt Toolkit. ** ** $QT_BEGIN_LICENSE:BSD$ ** You may use this file under the terms of the BSD license as follows: diff --git a/doc/src/snippets/declarative/grid/grid-items.qml b/doc/src/snippets/declarative/grid/grid-items.qml index 5099758..2382d38 100644 --- a/doc/src/snippets/declarative/grid/grid-items.qml +++ b/doc/src/snippets/declarative/grid/grid-items.qml @@ -4,7 +4,7 @@ ** All rights reserved. ** Contact: Nokia Corporation (qt-info@nokia.com) ** -** This file is part of the QtDeclarative module of the Qt Toolkit. +** This file is part of the documentation of the Qt Toolkit. ** ** $QT_BEGIN_LICENSE:BSD$ ** You may use this file under the terms of the BSD license as follows: diff --git a/doc/src/snippets/declarative/grid/grid-no-spacing.qml b/doc/src/snippets/declarative/grid/grid-no-spacing.qml index f04c242..6318165 100644 --- a/doc/src/snippets/declarative/grid/grid-no-spacing.qml +++ b/doc/src/snippets/declarative/grid/grid-no-spacing.qml @@ -4,7 +4,7 @@ ** All rights reserved. ** Contact: Nokia Corporation (qt-info@nokia.com) ** -** This file is part of the QtDeclarative module of the Qt Toolkit. +** This file is part of the documentation of the Qt Toolkit. ** ** $QT_BEGIN_LICENSE:BSD$ ** You may use this file under the terms of the BSD license as follows: diff --git a/doc/src/snippets/declarative/grid/grid-spacing.qml b/doc/src/snippets/declarative/grid/grid-spacing.qml index 8715977..fb3822c 100644 --- a/doc/src/snippets/declarative/grid/grid-spacing.qml +++ b/doc/src/snippets/declarative/grid/grid-spacing.qml @@ -4,7 +4,7 @@ ** All rights reserved. ** Contact: Nokia Corporation (qt-info@nokia.com) ** -** This file is part of the QtDeclarative module of the Qt Toolkit. +** This file is part of the documentation of the Qt Toolkit. ** ** $QT_BEGIN_LICENSE:BSD$ ** You may use this file under the terms of the BSD license as follows: diff --git a/doc/src/snippets/declarative/grid/grid.qml b/doc/src/snippets/declarative/grid/grid.qml index d57b4b2..4599806 100644 --- a/doc/src/snippets/declarative/grid/grid.qml +++ b/doc/src/snippets/declarative/grid/grid.qml @@ -4,7 +4,7 @@ ** All rights reserved. ** Contact: Nokia Corporation (qt-info@nokia.com) ** -** This file is part of the QtDeclarative module of the Qt Toolkit. +** This file is part of the documentation of the Qt Toolkit. ** ** $QT_BEGIN_LICENSE:BSD$ ** You may use this file under the terms of the BSD license as follows: diff --git a/doc/src/snippets/declarative/gridview/ContactModel.qml b/doc/src/snippets/declarative/gridview/ContactModel.qml index ac896c9..9fdeb4a 100644 --- a/doc/src/snippets/declarative/gridview/ContactModel.qml +++ b/doc/src/snippets/declarative/gridview/ContactModel.qml @@ -4,7 +4,7 @@ ** All rights reserved. ** Contact: Nokia Corporation (qt-info@nokia.com) ** -** This file is part of the QtDeclarative module of the Qt Toolkit. +** This file is part of the documentation of the Qt Toolkit. ** ** $QT_BEGIN_LICENSE:BSD$ ** You may use this file under the terms of the BSD license as follows: diff --git a/doc/src/snippets/declarative/gridview/gridview.qml b/doc/src/snippets/declarative/gridview/gridview.qml index e92a429..cbebb0a 100644 --- a/doc/src/snippets/declarative/gridview/gridview.qml +++ b/doc/src/snippets/declarative/gridview/gridview.qml @@ -4,7 +4,7 @@ ** All rights reserved. ** Contact: Nokia Corporation (qt-info@nokia.com) ** -** This file is part of the QtDeclarative module of the Qt Toolkit. +** This file is part of the documentation of the Qt Toolkit. ** ** $QT_BEGIN_LICENSE:BSD$ ** You may use this file under the terms of the BSD license as follows: diff --git a/doc/src/snippets/declarative/image.qml b/doc/src/snippets/declarative/image.qml index 42efb8f..228e83a 100644 --- a/doc/src/snippets/declarative/image.qml +++ b/doc/src/snippets/declarative/image.qml @@ -4,7 +4,7 @@ ** All rights reserved. ** Contact: Nokia Corporation (qt-info@nokia.com) ** -** This file is part of the QtDeclarative module of the Qt Toolkit. +** This file is part of the documentation of the Qt Toolkit. ** ** $QT_BEGIN_LICENSE:BSD$ ** You may use this file under the terms of the BSD license as follows: diff --git a/doc/src/snippets/declarative/listmodel-modify.qml b/doc/src/snippets/declarative/listmodel-modify.qml index 8f381f7..f08137f 100644 --- a/doc/src/snippets/declarative/listmodel-modify.qml +++ b/doc/src/snippets/declarative/listmodel-modify.qml @@ -4,7 +4,7 @@ ** All rights reserved. ** Contact: Nokia Corporation (qt-info@nokia.com) ** -** This file is part of the QtDeclarative module of the Qt Toolkit. +** This file is part of the documentation of the Qt Toolkit. ** ** $QT_BEGIN_LICENSE:BSD$ ** You may use this file under the terms of the BSD license as follows: diff --git a/doc/src/snippets/declarative/listmodel-nested.qml b/doc/src/snippets/declarative/listmodel-nested.qml index 3d876a3..c38ee2d 100644 --- a/doc/src/snippets/declarative/listmodel-nested.qml +++ b/doc/src/snippets/declarative/listmodel-nested.qml @@ -4,7 +4,7 @@ ** All rights reserved. ** Contact: Nokia Corporation (qt-info@nokia.com) ** -** This file is part of the QtDeclarative module of the Qt Toolkit. +** This file is part of the documentation of the Qt Toolkit. ** ** $QT_BEGIN_LICENSE:BSD$ ** You may use this file under the terms of the BSD license as follows: diff --git a/doc/src/snippets/declarative/listmodel-simple.qml b/doc/src/snippets/declarative/listmodel-simple.qml index 382fd13..e561284 100644 --- a/doc/src/snippets/declarative/listmodel-simple.qml +++ b/doc/src/snippets/declarative/listmodel-simple.qml @@ -4,7 +4,7 @@ ** All rights reserved. ** Contact: Nokia Corporation (qt-info@nokia.com) ** -** This file is part of the QtDeclarative module of the Qt Toolkit. +** This file is part of the documentation of the Qt Toolkit. ** ** $QT_BEGIN_LICENSE:BSD$ ** You may use this file under the terms of the BSD license as follows: diff --git a/doc/src/snippets/declarative/listmodel.qml b/doc/src/snippets/declarative/listmodel.qml index 3dc04f9..20f2074 100644 --- a/doc/src/snippets/declarative/listmodel.qml +++ b/doc/src/snippets/declarative/listmodel.qml @@ -4,7 +4,7 @@ ** All rights reserved. ** Contact: Nokia Corporation (qt-info@nokia.com) ** -** This file is part of the QtDeclarative module of the Qt Toolkit. +** This file is part of the documentation of the Qt Toolkit. ** ** $QT_BEGIN_LICENSE:BSD$ ** You may use this file under the terms of the BSD license as follows: diff --git a/doc/src/snippets/declarative/listview/ContactModel.qml b/doc/src/snippets/declarative/listview/ContactModel.qml index aa26cf4..f48f84f 100644 --- a/doc/src/snippets/declarative/listview/ContactModel.qml +++ b/doc/src/snippets/declarative/listview/ContactModel.qml @@ -4,7 +4,7 @@ ** All rights reserved. ** Contact: Nokia Corporation (qt-info@nokia.com) ** -** This file is part of the QtDeclarative module of the Qt Toolkit. +** This file is part of the documentation of the Qt Toolkit. ** ** $QT_BEGIN_LICENSE:BSD$ ** You may use this file under the terms of the BSD license as follows: diff --git a/doc/src/snippets/declarative/listview/listview-snippet.qml b/doc/src/snippets/declarative/listview/listview-snippet.qml index c510472..d81bcbb 100644 --- a/doc/src/snippets/declarative/listview/listview-snippet.qml +++ b/doc/src/snippets/declarative/listview/listview-snippet.qml @@ -4,7 +4,7 @@ ** All rights reserved. ** Contact: Nokia Corporation (qt-info@nokia.com) ** -** This file is part of the QtDeclarative module of the Qt Toolkit. +** This file is part of the documentation of the Qt Toolkit. ** ** $QT_BEGIN_LICENSE:BSD$ ** You may use this file under the terms of the BSD license as follows: diff --git a/doc/src/snippets/declarative/listview/listview.qml b/doc/src/snippets/declarative/listview/listview.qml index cde820e..2945b2f 100644 --- a/doc/src/snippets/declarative/listview/listview.qml +++ b/doc/src/snippets/declarative/listview/listview.qml @@ -4,7 +4,7 @@ ** All rights reserved. ** Contact: Nokia Corporation (qt-info@nokia.com) ** -** This file is part of the QtDeclarative module of the Qt Toolkit. +** This file is part of the documentation of the Qt Toolkit. ** ** $QT_BEGIN_LICENSE:BSD$ ** You may use this file under the terms of the BSD license as follows: diff --git a/doc/src/snippets/declarative/loader/KeyReader.qml b/doc/src/snippets/declarative/loader/KeyReader.qml index 4423ac6..66a74fa 100644 --- a/doc/src/snippets/declarative/loader/KeyReader.qml +++ b/doc/src/snippets/declarative/loader/KeyReader.qml @@ -4,7 +4,7 @@ ** All rights reserved. ** Contact: Nokia Corporation (qt-info@nokia.com) ** -** This file is part of the QtDeclarative module of the Qt Toolkit. +** This file is part of the documentation of the Qt Toolkit. ** ** $QT_BEGIN_LICENSE:LGPL$ ** No Commercial Usage diff --git a/doc/src/snippets/declarative/loader/MyItem.qml b/doc/src/snippets/declarative/loader/MyItem.qml index cc69661..22c3fd3 100644 --- a/doc/src/snippets/declarative/loader/MyItem.qml +++ b/doc/src/snippets/declarative/loader/MyItem.qml @@ -4,7 +4,7 @@ ** All rights reserved. ** Contact: Nokia Corporation (qt-info@nokia.com) ** -** This file is part of the QtDeclarative module of the Qt Toolkit. +** This file is part of the documentation of the Qt Toolkit. ** ** $QT_BEGIN_LICENSE:LGPL$ ** No Commercial Usage diff --git a/doc/src/snippets/declarative/loader/connections.qml b/doc/src/snippets/declarative/loader/connections.qml index babac4e..a1cdce2 100644 --- a/doc/src/snippets/declarative/loader/connections.qml +++ b/doc/src/snippets/declarative/loader/connections.qml @@ -4,7 +4,7 @@ ** All rights reserved. ** Contact: Nokia Corporation (qt-info@nokia.com) ** -** This file is part of the QtDeclarative module of the Qt Toolkit. +** This file is part of the documentation of the Qt Toolkit. ** ** $QT_BEGIN_LICENSE:LGPL$ ** No Commercial Usage diff --git a/doc/src/snippets/declarative/loader/focus.qml b/doc/src/snippets/declarative/loader/focus.qml index 464d986..4b4c940 100644 --- a/doc/src/snippets/declarative/loader/focus.qml +++ b/doc/src/snippets/declarative/loader/focus.qml @@ -4,7 +4,7 @@ ** All rights reserved. ** Contact: Nokia Corporation (qt-info@nokia.com) ** -** This file is part of the QtDeclarative module of the Qt Toolkit. +** This file is part of the documentation of the Qt Toolkit. ** ** $QT_BEGIN_LICENSE:LGPL$ ** No Commercial Usage diff --git a/doc/src/snippets/declarative/loader/simple.qml b/doc/src/snippets/declarative/loader/simple.qml index e0dc6b3..bb06ffc 100644 --- a/doc/src/snippets/declarative/loader/simple.qml +++ b/doc/src/snippets/declarative/loader/simple.qml @@ -4,7 +4,7 @@ ** All rights reserved. ** Contact: Nokia Corporation (qt-info@nokia.com) ** -** This file is part of the QtDeclarative module of the Qt Toolkit. +** This file is part of the documentation of the Qt Toolkit. ** ** $QT_BEGIN_LICENSE:LGPL$ ** No Commercial Usage diff --git a/doc/src/snippets/declarative/mousearea.qml b/doc/src/snippets/declarative/mousearea.qml index fb6cba0..e7764f9 100644 --- a/doc/src/snippets/declarative/mousearea.qml +++ b/doc/src/snippets/declarative/mousearea.qml @@ -4,7 +4,7 @@ ** All rights reserved. ** Contact: Nokia Corporation (qt-info@nokia.com) ** -** This file is part of the QtDeclarative module of the Qt Toolkit. +** This file is part of the documentation of the Qt Toolkit. ** ** $QT_BEGIN_LICENSE:BSD$ ** You may use this file under the terms of the BSD license as follows: diff --git a/doc/src/snippets/declarative/mouseareadragfilter.qml b/doc/src/snippets/declarative/mouseareadragfilter.qml index 52ed10c..fa0682e 100644 --- a/doc/src/snippets/declarative/mouseareadragfilter.qml +++ b/doc/src/snippets/declarative/mouseareadragfilter.qml @@ -4,7 +4,7 @@ ** All rights reserved. ** Contact: Nokia Corporation (qt-info@nokia.com) ** -** This file is part of the QtDeclarative module of the Qt Toolkit. +** This file is part of the documentation of the Qt Toolkit. ** ** $QT_BEGIN_LICENSE:BSD$ ** You may use this file under the terms of the BSD license as follows: diff --git a/doc/src/snippets/declarative/numberanimation.qml b/doc/src/snippets/declarative/numberanimation.qml index 0a1d5a4..19c0b0d 100644 --- a/doc/src/snippets/declarative/numberanimation.qml +++ b/doc/src/snippets/declarative/numberanimation.qml @@ -4,7 +4,7 @@ ** All rights reserved. ** Contact: Nokia Corporation (qt-info@nokia.com) ** -** This file is part of the QtDeclarative module of the Qt Toolkit. +** This file is part of the documentation of the Qt Toolkit. ** ** $QT_BEGIN_LICENSE:BSD$ ** You may use this file under the terms of the BSD license as follows: diff --git a/doc/src/snippets/declarative/parallelanimation.qml b/doc/src/snippets/declarative/parallelanimation.qml index a8e80cd..caf4e01 100644 --- a/doc/src/snippets/declarative/parallelanimation.qml +++ b/doc/src/snippets/declarative/parallelanimation.qml @@ -4,7 +4,7 @@ ** All rights reserved. ** Contact: Nokia Corporation (qt-info@nokia.com) ** -** This file is part of the QtDeclarative module of the Qt Toolkit. +** This file is part of the documentation of the Qt Toolkit. ** ** $QT_BEGIN_LICENSE:BSD$ ** You may use this file under the terms of the BSD license as follows: diff --git a/doc/src/snippets/declarative/parentanimation.qml b/doc/src/snippets/declarative/parentanimation.qml index 506eff4..b8a4c00 100644 --- a/doc/src/snippets/declarative/parentanimation.qml +++ b/doc/src/snippets/declarative/parentanimation.qml @@ -4,7 +4,7 @@ ** All rights reserved. ** Contact: Nokia Corporation (qt-info@nokia.com) ** -** This file is part of the QtDeclarative module of the Qt Toolkit. +** This file is part of the documentation of the Qt Toolkit. ** ** $QT_BEGIN_LICENSE:BSD$ ** You may use this file under the terms of the BSD license as follows: diff --git a/doc/src/snippets/declarative/parentchange.qml b/doc/src/snippets/declarative/parentchange.qml index c704f12..72932b2 100644 --- a/doc/src/snippets/declarative/parentchange.qml +++ b/doc/src/snippets/declarative/parentchange.qml @@ -4,7 +4,7 @@ ** All rights reserved. ** Contact: Nokia Corporation (qt-info@nokia.com) ** -** This file is part of the QtDeclarative module of the Qt Toolkit. +** This file is part of the documentation of the Qt Toolkit. ** ** $QT_BEGIN_LICENSE:BSD$ ** You may use this file under the terms of the BSD license as follows: diff --git a/doc/src/snippets/declarative/pathview/ContactModel.qml b/doc/src/snippets/declarative/pathview/ContactModel.qml index df90d4d..62daf3d 100644 --- a/doc/src/snippets/declarative/pathview/ContactModel.qml +++ b/doc/src/snippets/declarative/pathview/ContactModel.qml @@ -4,7 +4,7 @@ ** All rights reserved. ** Contact: Nokia Corporation (qt-info@nokia.com) ** -** This file is part of the QtDeclarative module of the Qt Toolkit. +** This file is part of the documentation of the Qt Toolkit. ** ** $QT_BEGIN_LICENSE:BSD$ ** You may use this file under the terms of the BSD license as follows: diff --git a/doc/src/snippets/declarative/pathview/pathattributes.qml b/doc/src/snippets/declarative/pathview/pathattributes.qml index 4daee63..a45f15a 100644 --- a/doc/src/snippets/declarative/pathview/pathattributes.qml +++ b/doc/src/snippets/declarative/pathview/pathattributes.qml @@ -4,7 +4,7 @@ ** All rights reserved. ** Contact: Nokia Corporation (qt-info@nokia.com) ** -** This file is part of the QtDeclarative module of the Qt Toolkit. +** This file is part of the documentation of the Qt Toolkit. ** ** $QT_BEGIN_LICENSE:BSD$ ** You may use this file under the terms of the BSD license as follows: diff --git a/doc/src/snippets/declarative/pathview/pathview.qml b/doc/src/snippets/declarative/pathview/pathview.qml index d9804dc..e03c615 100644 --- a/doc/src/snippets/declarative/pathview/pathview.qml +++ b/doc/src/snippets/declarative/pathview/pathview.qml @@ -4,7 +4,7 @@ ** All rights reserved. ** Contact: Nokia Corporation (qt-info@nokia.com) ** -** This file is part of the QtDeclarative module of the Qt Toolkit. +** This file is part of the documentation of the Qt Toolkit. ** ** $QT_BEGIN_LICENSE:BSD$ ** You may use this file under the terms of the BSD license as follows: diff --git a/doc/src/snippets/declarative/propertyaction.qml b/doc/src/snippets/declarative/propertyaction.qml index ff299f1..696c9ef 100644 --- a/doc/src/snippets/declarative/propertyaction.qml +++ b/doc/src/snippets/declarative/propertyaction.qml @@ -4,7 +4,7 @@ ** All rights reserved. ** Contact: Nokia Corporation (qt-info@nokia.com) ** -** This file is part of the QtDeclarative module of the Qt Toolkit. +** This file is part of the documentation of the Qt Toolkit. ** ** $QT_BEGIN_LICENSE:BSD$ ** You may use this file under the terms of the BSD license as follows: diff --git a/doc/src/snippets/declarative/propertyanimation.qml b/doc/src/snippets/declarative/propertyanimation.qml index 55ea9f6..24efd60 100644 --- a/doc/src/snippets/declarative/propertyanimation.qml +++ b/doc/src/snippets/declarative/propertyanimation.qml @@ -4,7 +4,7 @@ ** All rights reserved. ** Contact: Nokia Corporation (qt-info@nokia.com) ** -** This file is part of the QtDeclarative module of the Qt Toolkit. +** This file is part of the documentation of the Qt Toolkit. ** ** $QT_BEGIN_LICENSE:BSD$ ** You may use this file under the terms of the BSD license as follows: diff --git a/doc/src/snippets/declarative/propertychanges.qml b/doc/src/snippets/declarative/propertychanges.qml index 5959e54..06a3fae 100644 --- a/doc/src/snippets/declarative/propertychanges.qml +++ b/doc/src/snippets/declarative/propertychanges.qml @@ -4,7 +4,7 @@ ** All rights reserved. ** Contact: Nokia Corporation (qt-info@nokia.com) ** -** This file is part of the QtDeclarative module of the Qt Toolkit. +** This file is part of the documentation of the Qt Toolkit. ** ** $QT_BEGIN_LICENSE:BSD$ ** You may use this file under the terms of the BSD license as follows: diff --git a/doc/src/snippets/declarative/qml-data-models/dynamic-listmodel.qml b/doc/src/snippets/declarative/qml-data-models/dynamic-listmodel.qml index 72e27f3..48f2bdb 100644 --- a/doc/src/snippets/declarative/qml-data-models/dynamic-listmodel.qml +++ b/doc/src/snippets/declarative/qml-data-models/dynamic-listmodel.qml @@ -4,7 +4,7 @@ ** All rights reserved. ** Contact: Nokia Corporation (qt-info@nokia.com) ** -** This file is part of the QtDeclarative module of the Qt Toolkit. +** This file is part of the documentation of the Qt Toolkit. ** ** $QT_BEGIN_LICENSE:BSD$ ** You may use this file under the terms of the BSD license as follows: diff --git a/doc/src/snippets/declarative/qml-data-models/listelements.qml b/doc/src/snippets/declarative/qml-data-models/listelements.qml index d9cea81..2d12567 100644 --- a/doc/src/snippets/declarative/qml-data-models/listelements.qml +++ b/doc/src/snippets/declarative/qml-data-models/listelements.qml @@ -4,7 +4,7 @@ ** All rights reserved. ** Contact: Nokia Corporation (qt-info@nokia.com) ** -** This file is part of the QtDeclarative module of the Qt Toolkit. +** This file is part of the documentation of the Qt Toolkit. ** ** $QT_BEGIN_LICENSE:BSD$ ** You may use this file under the terms of the BSD license as follows: diff --git a/doc/src/snippets/declarative/qml-data-models/listmodel-listview.qml b/doc/src/snippets/declarative/qml-data-models/listmodel-listview.qml index 92107f1..69533c9 100644 --- a/doc/src/snippets/declarative/qml-data-models/listmodel-listview.qml +++ b/doc/src/snippets/declarative/qml-data-models/listmodel-listview.qml @@ -4,7 +4,7 @@ ** All rights reserved. ** Contact: Nokia Corporation (qt-info@nokia.com) ** -** This file is part of the QtDeclarative module of the Qt Toolkit. +** This file is part of the documentation of the Qt Toolkit. ** ** $QT_BEGIN_LICENSE:BSD$ ** You may use this file under the terms of the BSD license as follows: diff --git a/doc/src/snippets/declarative/qml-documents/inline-component.qml b/doc/src/snippets/declarative/qml-documents/inline-component.qml index 9233bbf..45d7eb4 100644 --- a/doc/src/snippets/declarative/qml-documents/inline-component.qml +++ b/doc/src/snippets/declarative/qml-documents/inline-component.qml @@ -4,7 +4,7 @@ ** All rights reserved. ** Contact: Nokia Corporation (qt-info@nokia.com) ** -** This file is part of the QtDeclarative module of the Qt Toolkit. +** This file is part of the documentation of the Qt Toolkit. ** ** $QT_BEGIN_LICENSE:BSD$ ** You may use this file under the terms of the BSD license as follows: diff --git a/doc/src/snippets/declarative/qml-documents/inline-text-component.qml b/doc/src/snippets/declarative/qml-documents/inline-text-component.qml index 83ba213..1f3af33 100644 --- a/doc/src/snippets/declarative/qml-documents/inline-text-component.qml +++ b/doc/src/snippets/declarative/qml-documents/inline-text-component.qml @@ -4,7 +4,7 @@ ** All rights reserved. ** Contact: Nokia Corporation (qt-info@nokia.com) ** -** This file is part of the QtDeclarative module of the Qt Toolkit. +** This file is part of the documentation of the Qt Toolkit. ** ** $QT_BEGIN_LICENSE:BSD$ ** You may use this file under the terms of the BSD license as follows: diff --git a/doc/src/snippets/declarative/qml-documents/non-trivial.qml b/doc/src/snippets/declarative/qml-documents/non-trivial.qml index eb2364b..e9cba98 100644 --- a/doc/src/snippets/declarative/qml-documents/non-trivial.qml +++ b/doc/src/snippets/declarative/qml-documents/non-trivial.qml @@ -4,7 +4,7 @@ ** All rights reserved. ** Contact: Nokia Corporation (qt-info@nokia.com) ** -** This file is part of the QtDeclarative module of the Qt Toolkit. +** This file is part of the documentation of the Qt Toolkit. ** ** $QT_BEGIN_LICENSE:BSD$ ** You may use this file under the terms of the BSD license as follows: diff --git a/doc/src/snippets/declarative/qml-documents/qmldocuments.qml b/doc/src/snippets/declarative/qml-documents/qmldocuments.qml index cd0a1f7..a4b5589 100644 --- a/doc/src/snippets/declarative/qml-documents/qmldocuments.qml +++ b/doc/src/snippets/declarative/qml-documents/qmldocuments.qml @@ -4,7 +4,7 @@ ** All rights reserved. ** Contact: Nokia Corporation (qt-info@nokia.com) ** -** This file is part of the QtDeclarative module of the Qt Toolkit. +** This file is part of the documentation of the Qt Toolkit. ** ** $QT_BEGIN_LICENSE:BSD$ ** You may use this file under the terms of the BSD license as follows: diff --git a/doc/src/snippets/declarative/qml-intro/anchors1.qml b/doc/src/snippets/declarative/qml-intro/anchors1.qml index c1158b8..ba6f928 100644 --- a/doc/src/snippets/declarative/qml-intro/anchors1.qml +++ b/doc/src/snippets/declarative/qml-intro/anchors1.qml @@ -4,7 +4,7 @@ ** All rights reserved. ** Contact: Nokia Corporation (qt-info@nokia.com) ** -** This file is part of the QtDeclarative module of the Qt Toolkit. +** This file is part of the documentation of the Qt Toolkit. ** ** $QT_BEGIN_LICENSE:BSD$ ** You may use this file under the terms of the BSD license as follows: diff --git a/doc/src/snippets/declarative/qml-intro/anchors2.qml b/doc/src/snippets/declarative/qml-intro/anchors2.qml index a7d4922..ac60e1b 100644 --- a/doc/src/snippets/declarative/qml-intro/anchors2.qml +++ b/doc/src/snippets/declarative/qml-intro/anchors2.qml @@ -4,7 +4,7 @@ ** All rights reserved. ** Contact: Nokia Corporation (qt-info@nokia.com) ** -** This file is part of the QtDeclarative module of the Qt Toolkit. +** This file is part of the documentation of the Qt Toolkit. ** ** $QT_BEGIN_LICENSE:BSD$ ** You may use this file under the terms of the BSD license as follows: diff --git a/doc/src/snippets/declarative/qml-intro/anchors3.qml b/doc/src/snippets/declarative/qml-intro/anchors3.qml index a2e0f03..ab74670 100644 --- a/doc/src/snippets/declarative/qml-intro/anchors3.qml +++ b/doc/src/snippets/declarative/qml-intro/anchors3.qml @@ -4,7 +4,7 @@ ** All rights reserved. ** Contact: Nokia Corporation (qt-info@nokia.com) ** -** This file is part of the QtDeclarative module of the Qt Toolkit. +** This file is part of the documentation of the Qt Toolkit. ** ** $QT_BEGIN_LICENSE:BSD$ ** You may use this file under the terms of the BSD license as follows: diff --git a/doc/src/snippets/declarative/qml-intro/hello-world1.qml b/doc/src/snippets/declarative/qml-intro/hello-world1.qml index 9b91049..55b39c6 100644 --- a/doc/src/snippets/declarative/qml-intro/hello-world1.qml +++ b/doc/src/snippets/declarative/qml-intro/hello-world1.qml @@ -4,7 +4,7 @@ ** All rights reserved. ** Contact: Nokia Corporation (qt-info@nokia.com) ** -** This file is part of the QtDeclarative module of the Qt Toolkit. +** This file is part of the documentation of the Qt Toolkit. ** ** $QT_BEGIN_LICENSE:BSD$ ** You may use this file under the terms of the BSD license as follows: diff --git a/doc/src/snippets/declarative/qml-intro/hello-world2.qml b/doc/src/snippets/declarative/qml-intro/hello-world2.qml index ddc1017..c537528 100644 --- a/doc/src/snippets/declarative/qml-intro/hello-world2.qml +++ b/doc/src/snippets/declarative/qml-intro/hello-world2.qml @@ -4,7 +4,7 @@ ** All rights reserved. ** Contact: Nokia Corporation (qt-info@nokia.com) ** -** This file is part of the QtDeclarative module of the Qt Toolkit. +** This file is part of the documentation of the Qt Toolkit. ** ** $QT_BEGIN_LICENSE:BSD$ ** You may use this file under the terms of the BSD license as follows: diff --git a/doc/src/snippets/declarative/qml-intro/hello-world3.qml b/doc/src/snippets/declarative/qml-intro/hello-world3.qml index f1102c2..794c406 100644 --- a/doc/src/snippets/declarative/qml-intro/hello-world3.qml +++ b/doc/src/snippets/declarative/qml-intro/hello-world3.qml @@ -4,7 +4,7 @@ ** All rights reserved. ** Contact: Nokia Corporation (qt-info@nokia.com) ** -** This file is part of the QtDeclarative module of the Qt Toolkit. +** This file is part of the documentation of the Qt Toolkit. ** ** $QT_BEGIN_LICENSE:BSD$ ** You may use this file under the terms of the BSD license as follows: diff --git a/doc/src/snippets/declarative/qml-intro/hello-world4.qml b/doc/src/snippets/declarative/qml-intro/hello-world4.qml index 9656ff8..7ea4bed 100644 --- a/doc/src/snippets/declarative/qml-intro/hello-world4.qml +++ b/doc/src/snippets/declarative/qml-intro/hello-world4.qml @@ -4,7 +4,7 @@ ** All rights reserved. ** Contact: Nokia Corporation (qt-info@nokia.com) ** -** This file is part of the QtDeclarative module of the Qt Toolkit. +** This file is part of the documentation of the Qt Toolkit. ** ** $QT_BEGIN_LICENSE:BSD$ ** You may use this file under the terms of the BSD license as follows: diff --git a/doc/src/snippets/declarative/qml-intro/hello-world5.qml b/doc/src/snippets/declarative/qml-intro/hello-world5.qml index b816e09..3345882 100644 --- a/doc/src/snippets/declarative/qml-intro/hello-world5.qml +++ b/doc/src/snippets/declarative/qml-intro/hello-world5.qml @@ -4,7 +4,7 @@ ** All rights reserved. ** Contact: Nokia Corporation (qt-info@nokia.com) ** -** This file is part of the QtDeclarative module of the Qt Toolkit. +** This file is part of the documentation of the Qt Toolkit. ** ** $QT_BEGIN_LICENSE:BSD$ ** You may use this file under the terms of the BSD license as follows: diff --git a/doc/src/snippets/declarative/qml-intro/number-animation1.qml b/doc/src/snippets/declarative/qml-intro/number-animation1.qml index 7b405e4..64ebe7a 100644 --- a/doc/src/snippets/declarative/qml-intro/number-animation1.qml +++ b/doc/src/snippets/declarative/qml-intro/number-animation1.qml @@ -4,7 +4,7 @@ ** All rights reserved. ** Contact: Nokia Corporation (qt-info@nokia.com) ** -** This file is part of the QtDeclarative module of the Qt Toolkit. +** This file is part of the documentation of the Qt Toolkit. ** ** $QT_BEGIN_LICENSE:BSD$ ** You may use this file under the terms of the BSD license as follows: diff --git a/doc/src/snippets/declarative/qml-intro/number-animation2.qml b/doc/src/snippets/declarative/qml-intro/number-animation2.qml index f109f76..7905002 100644 --- a/doc/src/snippets/declarative/qml-intro/number-animation2.qml +++ b/doc/src/snippets/declarative/qml-intro/number-animation2.qml @@ -4,7 +4,7 @@ ** All rights reserved. ** Contact: Nokia Corporation (qt-info@nokia.com) ** -** This file is part of the QtDeclarative module of the Qt Toolkit. +** This file is part of the documentation of the Qt Toolkit. ** ** $QT_BEGIN_LICENSE:BSD$ ** You may use this file under the terms of the BSD license as follows: diff --git a/doc/src/snippets/declarative/qml-intro/rectangle.qml b/doc/src/snippets/declarative/qml-intro/rectangle.qml index 0078813..1ce0a04 100644 --- a/doc/src/snippets/declarative/qml-intro/rectangle.qml +++ b/doc/src/snippets/declarative/qml-intro/rectangle.qml @@ -4,7 +4,7 @@ ** All rights reserved. ** Contact: Nokia Corporation (qt-info@nokia.com) ** -** This file is part of the QtDeclarative module of the Qt Toolkit. +** This file is part of the documentation of the Qt Toolkit. ** ** $QT_BEGIN_LICENSE:BSD$ ** You may use this file under the terms of the BSD license as follows: diff --git a/doc/src/snippets/declarative/qml-intro/sequential-animation1.qml b/doc/src/snippets/declarative/qml-intro/sequential-animation1.qml index 7ae2fde..a1a1af9 100644 --- a/doc/src/snippets/declarative/qml-intro/sequential-animation1.qml +++ b/doc/src/snippets/declarative/qml-intro/sequential-animation1.qml @@ -4,7 +4,7 @@ ** All rights reserved. ** Contact: Nokia Corporation (qt-info@nokia.com) ** -** This file is part of the QtDeclarative module of the Qt Toolkit. +** This file is part of the documentation of the Qt Toolkit. ** ** $QT_BEGIN_LICENSE:BSD$ ** You may use this file under the terms of the BSD license as follows: diff --git a/doc/src/snippets/declarative/qml-intro/sequential-animation2.qml b/doc/src/snippets/declarative/qml-intro/sequential-animation2.qml index ac0f3f5..f83c224 100644 --- a/doc/src/snippets/declarative/qml-intro/sequential-animation2.qml +++ b/doc/src/snippets/declarative/qml-intro/sequential-animation2.qml @@ -4,7 +4,7 @@ ** All rights reserved. ** Contact: Nokia Corporation (qt-info@nokia.com) ** -** This file is part of the QtDeclarative module of the Qt Toolkit. +** This file is part of the documentation of the Qt Toolkit. ** ** $QT_BEGIN_LICENSE:BSD$ ** You may use this file under the terms of the BSD license as follows: diff --git a/doc/src/snippets/declarative/qml-intro/sequential-animation3.qml b/doc/src/snippets/declarative/qml-intro/sequential-animation3.qml index 97c574b..32bf59c 100644 --- a/doc/src/snippets/declarative/qml-intro/sequential-animation3.qml +++ b/doc/src/snippets/declarative/qml-intro/sequential-animation3.qml @@ -4,7 +4,7 @@ ** All rights reserved. ** Contact: Nokia Corporation (qt-info@nokia.com) ** -** This file is part of the QtDeclarative module of the Qt Toolkit. +** This file is part of the documentation of the Qt Toolkit. ** ** $QT_BEGIN_LICENSE:BSD$ ** You may use this file under the terms of the BSD license as follows: diff --git a/doc/src/snippets/declarative/qml-intro/states1.qml b/doc/src/snippets/declarative/qml-intro/states1.qml index 9619eb7..6e7bab1 100644 --- a/doc/src/snippets/declarative/qml-intro/states1.qml +++ b/doc/src/snippets/declarative/qml-intro/states1.qml @@ -4,7 +4,7 @@ ** All rights reserved. ** Contact: Nokia Corporation (qt-info@nokia.com) ** -** This file is part of the QtDeclarative module of the Qt Toolkit. +** This file is part of the documentation of the Qt Toolkit. ** ** $QT_BEGIN_LICENSE:BSD$ ** You may use this file under the terms of the BSD license as follows: diff --git a/doc/src/snippets/declarative/qml-intro/transformations1.qml b/doc/src/snippets/declarative/qml-intro/transformations1.qml index b4a1692..7ca3aee 100644 --- a/doc/src/snippets/declarative/qml-intro/transformations1.qml +++ b/doc/src/snippets/declarative/qml-intro/transformations1.qml @@ -4,7 +4,7 @@ ** All rights reserved. ** Contact: Nokia Corporation (qt-info@nokia.com) ** -** This file is part of the QtDeclarative module of the Qt Toolkit. +** This file is part of the documentation of the Qt Toolkit. ** ** $QT_BEGIN_LICENSE:BSD$ ** You may use this file under the terms of the BSD license as follows: diff --git a/doc/src/snippets/declarative/qtbinding/contextproperties/main.qml b/doc/src/snippets/declarative/qtbinding/contextproperties/main.qml index 8b8f3f5..341765a 100644 --- a/doc/src/snippets/declarative/qtbinding/contextproperties/main.qml +++ b/doc/src/snippets/declarative/qtbinding/contextproperties/main.qml @@ -4,7 +4,7 @@ ** All rights reserved. ** Contact: Nokia Corporation (qt-info@nokia.com) ** -** This file is part of the QtDeclarative module of the Qt Toolkit. +** This file is part of the documentation of the Qt Toolkit. ** ** $QT_BEGIN_LICENSE:BSD$ ** You may use this file under the terms of the BSD license as follows: diff --git a/doc/src/snippets/declarative/qtbinding/custompalette/main.qml b/doc/src/snippets/declarative/qtbinding/custompalette/main.qml index 3781a12..ea8464c 100644 --- a/doc/src/snippets/declarative/qtbinding/custompalette/main.qml +++ b/doc/src/snippets/declarative/qtbinding/custompalette/main.qml @@ -4,7 +4,7 @@ ** All rights reserved. ** Contact: Nokia Corporation (qt-info@nokia.com) ** -** This file is part of the QtDeclarative module of the Qt Toolkit. +** This file is part of the documentation of the Qt Toolkit. ** ** $QT_BEGIN_LICENSE:BSD$ ** You may use this file under the terms of the BSD license as follows: diff --git a/doc/src/snippets/declarative/qtbinding/resources/main.qml b/doc/src/snippets/declarative/qtbinding/resources/main.qml index e4dfe4f..b12af9e 100644 --- a/doc/src/snippets/declarative/qtbinding/resources/main.qml +++ b/doc/src/snippets/declarative/qtbinding/resources/main.qml @@ -4,7 +4,7 @@ ** All rights reserved. ** Contact: Nokia Corporation (qt-info@nokia.com) ** -** This file is part of the QtDeclarative module of the Qt Toolkit. +** This file is part of the documentation of the Qt Toolkit. ** ** $QT_BEGIN_LICENSE:BSD$ ** You may use this file under the terms of the BSD license as follows: diff --git a/doc/src/snippets/declarative/qtbinding/stopwatch/main.qml b/doc/src/snippets/declarative/qtbinding/stopwatch/main.qml index 5d7b8f6..75c0831 100644 --- a/doc/src/snippets/declarative/qtbinding/stopwatch/main.qml +++ b/doc/src/snippets/declarative/qtbinding/stopwatch/main.qml @@ -4,7 +4,7 @@ ** All rights reserved. ** Contact: Nokia Corporation (qt-info@nokia.com) ** -** This file is part of the QtDeclarative module of the Qt Toolkit. +** This file is part of the documentation of the Qt Toolkit. ** ** $QT_BEGIN_LICENSE:BSD$ ** You may use this file under the terms of the BSD license as follows: diff --git a/doc/src/snippets/declarative/qtobject.qml b/doc/src/snippets/declarative/qtobject.qml index bd48390..581af16 100644 --- a/doc/src/snippets/declarative/qtobject.qml +++ b/doc/src/snippets/declarative/qtobject.qml @@ -4,7 +4,7 @@ ** All rights reserved. ** Contact: Nokia Corporation (qt-info@nokia.com) ** -** This file is part of the QtDeclarative module of the Qt Toolkit. +** This file is part of the documentation of the Qt Toolkit. ** ** $QT_BEGIN_LICENSE:BSD$ ** You may use this file under the terms of the BSD license as follows: diff --git a/doc/src/snippets/declarative/rect-border-width.qml b/doc/src/snippets/declarative/rect-border-width.qml deleted file mode 100644 index e6628c9..0000000 --- a/doc/src/snippets/declarative/rect-border-width.qml +++ /dev/null @@ -1,59 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies). -** All rights reserved. -** Contact: Nokia Corporation (qt-info@nokia.com) -** -** This file is part of the QtDeclarative module of the Qt Toolkit. -** -** $QT_BEGIN_LICENSE:BSD$ -** You may use this file under the terms of the BSD license as follows: -** -** "Redistribution and use in source and binary forms, with or without -** modification, are permitted provided that the following conditions are -** met: -** * Redistributions of source code must retain the above copyright -** notice, this list of conditions and the following disclaimer. -** * Redistributions in binary form must reproduce the above copyright -** notice, this list of conditions and the following disclaimer in -** the documentation and/or other materials provided with the -** distribution. -** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor -** the names of its contributors may be used to endorse or promote -** products derived from this software without specific prior written -** permission. -** -** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE." -** $QT_END_LICENSE$ -** -****************************************************************************/ - -import Qt 4.7 - -//![0] -Rectangle { - width: 100; height: 100 - color: "yellow" - - Rectangle { - anchors.fill: parent - anchors.margins: 10 - clip: true - - Rectangle { - anchors.fill: parent - border.width: 1 - } - } -} -//![0] diff --git a/doc/src/snippets/declarative/rectangle/rect-border-width.qml b/doc/src/snippets/declarative/rectangle/rect-border-width.qml new file mode 100644 index 0000000..3cf0831 --- /dev/null +++ b/doc/src/snippets/declarative/rectangle/rect-border-width.qml @@ -0,0 +1,59 @@ +/**************************************************************************** +** +** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies). +** All rights reserved. +** Contact: Nokia Corporation (qt-info@nokia.com) +** +** This file is part of the documentation of the Qt Toolkit. +** +** $QT_BEGIN_LICENSE:BSD$ +** You may use this file under the terms of the BSD license as follows: +** +** "Redistribution and use in source and binary forms, with or without +** modification, are permitted provided that the following conditions are +** met: +** * Redistributions of source code must retain the above copyright +** notice, this list of conditions and the following disclaimer. +** * Redistributions in binary form must reproduce the above copyright +** notice, this list of conditions and the following disclaimer in +** the documentation and/or other materials provided with the +** distribution. +** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor +** the names of its contributors may be used to endorse or promote +** products derived from this software without specific prior written +** permission. +** +** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE." +** $QT_END_LICENSE$ +** +****************************************************************************/ + +import Qt 4.7 + +//![0] +Rectangle { + width: 100; height: 100 + color: "lightblue" + + Rectangle { + anchors.fill: parent + anchors.margins: 10 + clip: true + + Rectangle { + anchors.fill: parent + border.width: 1 + } + } +} +//![0] diff --git a/doc/src/snippets/declarative/rectangle/rectangle-colors.qml b/doc/src/snippets/declarative/rectangle/rectangle-colors.qml new file mode 100644 index 0000000..8f306f6 --- /dev/null +++ b/doc/src/snippets/declarative/rectangle/rectangle-colors.qml @@ -0,0 +1,62 @@ +/**************************************************************************** +** +** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies). +** All rights reserved. +** Contact: Nokia Corporation (qt-info@nokia.com) +** +** This file is part of the documentation of the Qt Toolkit. +** +** $QT_BEGIN_LICENSE:BSD$ +** You may use this file under the terms of the BSD license as follows: +** +** "Redistribution and use in source and binary forms, with or without +** modification, are permitted provided that the following conditions are +** met: +** * Redistributions of source code must retain the above copyright +** notice, this list of conditions and the following disclaimer. +** * Redistributions in binary form must reproduce the above copyright +** notice, this list of conditions and the following disclaimer in +** the documentation and/or other materials provided with the +** distribution. +** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor +** the names of its contributors may be used to endorse or promote +** products derived from this software without specific prior written +** permission. +** +** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE." +** $QT_END_LICENSE$ +** +****************************************************************************/ + +import Qt 4.7 + +Item { + width: 100; height: 200 + +Item { + x: 10; y: 10 + width: 80; height: 180 + +//! [rectangles] +Rectangle { + color: "#00B000" + width: 80; height: 80 +} + +Rectangle { + color: "steelblue" + y: 100; width: 80; height: 80 +} +//! [rectangles] +} +} diff --git a/doc/src/snippets/declarative/rectangle/rectangle-gradient.qml b/doc/src/snippets/declarative/rectangle/rectangle-gradient.qml new file mode 100644 index 0000000..aff5849 --- /dev/null +++ b/doc/src/snippets/declarative/rectangle/rectangle-gradient.qml @@ -0,0 +1,74 @@ +/**************************************************************************** +** +** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies). +** All rights reserved. +** Contact: Nokia Corporation (qt-info@nokia.com) +** +** This file is part of the documentation of the Qt Toolkit. +** +** $QT_BEGIN_LICENSE:BSD$ +** You may use this file under the terms of the BSD license as follows: +** +** "Redistribution and use in source and binary forms, with or without +** modification, are permitted provided that the following conditions are +** met: +** * Redistributions of source code must retain the above copyright +** notice, this list of conditions and the following disclaimer. +** * Redistributions in binary form must reproduce the above copyright +** notice, this list of conditions and the following disclaimer in +** the documentation and/or other materials provided with the +** distribution. +** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor +** the names of its contributors may be used to endorse or promote +** products derived from this software without specific prior written +** permission. +** +** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE." +** $QT_END_LICENSE$ +** +****************************************************************************/ + +import Qt 4.7 + +Item { + width: 100; height: 300 + +Item { + x: 10; y: 10 + width: 80; height: 280 + +//! [rectangles] +Rectangle { + y: 0; width: 80; height: 80 + color: "lightsteelblue" +} + +Rectangle { + y: 100; width: 80; height: 80 + gradient: Gradient { + GradientStop { position: 0.0; color: "lightsteelblue" } + GradientStop { position: 1.0; color: "blue" } + } +} + +Rectangle { + y: 200; width: 80; height: 80 + rotation: 90 + gradient: Gradient { + GradientStop { position: 0.0; color: "lightsteelblue" } + GradientStop { position: 1.0; color: "blue" } + } +} +//! [rectangles] +} +} diff --git a/doc/src/snippets/declarative/rectangle/rectangle.qml b/doc/src/snippets/declarative/rectangle/rectangle.qml new file mode 100644 index 0000000..a464cb9 --- /dev/null +++ b/doc/src/snippets/declarative/rectangle/rectangle.qml @@ -0,0 +1,52 @@ +/**************************************************************************** +** +** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies). +** All rights reserved. +** Contact: Nokia Corporation (qt-info@nokia.com) +** +** This file is part of the documentation of the Qt Toolkit. +** +** $QT_BEGIN_LICENSE:BSD$ +** You may use this file under the terms of the BSD license as follows: +** +** "Redistribution and use in source and binary forms, with or without +** modification, are permitted provided that the following conditions are +** met: +** * Redistributions of source code must retain the above copyright +** notice, this list of conditions and the following disclaimer. +** * Redistributions in binary form must reproduce the above copyright +** notice, this list of conditions and the following disclaimer in +** the documentation and/or other materials provided with the +** distribution. +** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor +** the names of its contributors may be used to endorse or promote +** products derived from this software without specific prior written +** permission. +** +** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE." +** $QT_END_LICENSE$ +** +****************************************************************************/ + +//! [document] +import Qt 4.7 + +Rectangle { + width: 100 + height: 100 + color: "red" + border.color: "black" + border.width: 5 + radius: 10 +} +//! [document] diff --git a/doc/src/snippets/declarative/repeaters/repeater-grid-index.qml b/doc/src/snippets/declarative/repeaters/repeater-grid-index.qml index 106550e..dbf24ae 100644 --- a/doc/src/snippets/declarative/repeaters/repeater-grid-index.qml +++ b/doc/src/snippets/declarative/repeaters/repeater-grid-index.qml @@ -4,7 +4,7 @@ ** All rights reserved. ** Contact: Nokia Corporation (qt-info@nokia.com) ** -** This file is part of the QtDeclarative module of the Qt Toolkit. +** This file is part of the documentation of the Qt Toolkit. ** ** $QT_BEGIN_LICENSE:BSD$ ** You may use this file under the terms of the BSD license as follows: diff --git a/doc/src/snippets/declarative/repeaters/repeater.qml b/doc/src/snippets/declarative/repeaters/repeater.qml index d71fd29..db606d0 100644 --- a/doc/src/snippets/declarative/repeaters/repeater.qml +++ b/doc/src/snippets/declarative/repeaters/repeater.qml @@ -4,7 +4,7 @@ ** All rights reserved. ** Contact: Nokia Corporation (qt-info@nokia.com) ** -** This file is part of the QtDeclarative module of the Qt Toolkit. +** This file is part of the documentation of the Qt Toolkit. ** ** $QT_BEGIN_LICENSE:BSD$ ** You may use this file under the terms of the BSD license as follows: diff --git a/doc/src/snippets/declarative/rotation.qml b/doc/src/snippets/declarative/rotation.qml index c3ff304..4db8b4a 100644 --- a/doc/src/snippets/declarative/rotation.qml +++ b/doc/src/snippets/declarative/rotation.qml @@ -4,7 +4,7 @@ ** All rights reserved. ** Contact: Nokia Corporation (qt-info@nokia.com) ** -** This file is part of the QtDeclarative module of the Qt Toolkit. +** This file is part of the documentation of the Qt Toolkit. ** ** $QT_BEGIN_LICENSE:BSD$ ** You may use this file under the terms of the BSD license as follows: diff --git a/doc/src/snippets/declarative/rotationanimation.qml b/doc/src/snippets/declarative/rotationanimation.qml index a0f6354..2309d0a 100644 --- a/doc/src/snippets/declarative/rotationanimation.qml +++ b/doc/src/snippets/declarative/rotationanimation.qml @@ -4,7 +4,7 @@ ** All rights reserved. ** Contact: Nokia Corporation (qt-info@nokia.com) ** -** This file is part of the QtDeclarative module of the Qt Toolkit. +** This file is part of the documentation of the Qt Toolkit. ** ** $QT_BEGIN_LICENSE:BSD$ ** You may use this file under the terms of the BSD license as follows: diff --git a/doc/src/snippets/declarative/row.qml b/doc/src/snippets/declarative/row.qml index bd2db16..efb6190 100644 --- a/doc/src/snippets/declarative/row.qml +++ b/doc/src/snippets/declarative/row.qml @@ -4,7 +4,7 @@ ** All rights reserved. ** Contact: Nokia Corporation (qt-info@nokia.com) ** -** This file is part of the QtDeclarative module of the Qt Toolkit. +** This file is part of the documentation of the Qt Toolkit. ** ** $QT_BEGIN_LICENSE:BSD$ ** You may use this file under the terms of the BSD license as follows: diff --git a/doc/src/snippets/declarative/row/row.qml b/doc/src/snippets/declarative/row/row.qml index c863243..8096c0f 100644 --- a/doc/src/snippets/declarative/row/row.qml +++ b/doc/src/snippets/declarative/row/row.qml @@ -4,7 +4,7 @@ ** All rights reserved. ** Contact: Nokia Corporation (qt-info@nokia.com) ** -** This file is part of the QtDeclarative module of the Qt Toolkit. +** This file is part of the documentation of the Qt Toolkit. ** ** $QT_BEGIN_LICENSE:BSD$ ** You may use this file under the terms of the BSD license as follows: diff --git a/doc/src/snippets/declarative/sequentialanimation.qml b/doc/src/snippets/declarative/sequentialanimation.qml index bf73be5..1a17ae9 100644 --- a/doc/src/snippets/declarative/sequentialanimation.qml +++ b/doc/src/snippets/declarative/sequentialanimation.qml @@ -4,7 +4,7 @@ ** All rights reserved. ** Contact: Nokia Corporation (qt-info@nokia.com) ** -** This file is part of the QtDeclarative module of the Qt Toolkit. +** This file is part of the documentation of the Qt Toolkit. ** ** $QT_BEGIN_LICENSE:BSD$ ** You may use this file under the terms of the BSD license as follows: diff --git a/doc/src/snippets/declarative/smoothedanimation.qml b/doc/src/snippets/declarative/smoothedanimation.qml index 20c90b5..edc33db 100644 --- a/doc/src/snippets/declarative/smoothedanimation.qml +++ b/doc/src/snippets/declarative/smoothedanimation.qml @@ -4,7 +4,7 @@ ** All rights reserved. ** Contact: Nokia Corporation (qt-info@nokia.com) ** -** This file is part of the QtDeclarative module of the Qt Toolkit. +** This file is part of the documentation of the Qt Toolkit. ** ** $QT_BEGIN_LICENSE:BSD$ ** You may use this file under the terms of the BSD license as follows: diff --git a/doc/src/snippets/declarative/springanimation.qml b/doc/src/snippets/declarative/springanimation.qml index 8e810e1..fe5aeb8 100644 --- a/doc/src/snippets/declarative/springanimation.qml +++ b/doc/src/snippets/declarative/springanimation.qml @@ -4,7 +4,7 @@ ** All rights reserved. ** Contact: Nokia Corporation (qt-info@nokia.com) ** -** This file is part of the QtDeclarative module of the Qt Toolkit. +** This file is part of the documentation of the Qt Toolkit. ** ** $QT_BEGIN_LICENSE:BSD$ ** You may use this file under the terms of the BSD license as follows: diff --git a/doc/src/snippets/declarative/state-when.qml b/doc/src/snippets/declarative/state-when.qml index 8e38f82..6dbd099 100644 --- a/doc/src/snippets/declarative/state-when.qml +++ b/doc/src/snippets/declarative/state-when.qml @@ -4,7 +4,7 @@ ** All rights reserved. ** Contact: Nokia Corporation (qt-info@nokia.com) ** -** This file is part of the QtDeclarative module of the Qt Toolkit. +** This file is part of the documentation of the Qt Toolkit. ** ** $QT_BEGIN_LICENSE:BSD$ ** You may use this file under the terms of the BSD license as follows: diff --git a/doc/src/snippets/declarative/state.qml b/doc/src/snippets/declarative/state.qml index 5f43947..8597314 100644 --- a/doc/src/snippets/declarative/state.qml +++ b/doc/src/snippets/declarative/state.qml @@ -4,7 +4,7 @@ ** All rights reserved. ** Contact: Nokia Corporation (qt-info@nokia.com) ** -** This file is part of the QtDeclarative module of the Qt Toolkit. +** This file is part of the documentation of the Qt Toolkit. ** ** $QT_BEGIN_LICENSE:BSD$ ** You may use this file under the terms of the BSD license as follows: diff --git a/doc/src/snippets/declarative/states.qml b/doc/src/snippets/declarative/states.qml index 1f9dc2c..be483af 100644 --- a/doc/src/snippets/declarative/states.qml +++ b/doc/src/snippets/declarative/states.qml @@ -4,7 +4,7 @@ ** All rights reserved. ** Contact: Nokia Corporation (qt-info@nokia.com) ** -** This file is part of the QtDeclarative module of the Qt Toolkit. +** This file is part of the documentation of the Qt Toolkit. ** ** $QT_BEGIN_LICENSE:BSD$ ** You may use this file under the terms of the BSD license as follows: diff --git a/doc/src/snippets/declarative/systempalette.qml b/doc/src/snippets/declarative/systempalette.qml index cf5c902..5e540b9 100644 --- a/doc/src/snippets/declarative/systempalette.qml +++ b/doc/src/snippets/declarative/systempalette.qml @@ -4,7 +4,7 @@ ** All rights reserved. ** Contact: Nokia Corporation (qt-info@nokia.com) ** -** This file is part of the QtDeclarative module of the Qt Toolkit. +** This file is part of the documentation of the Qt Toolkit. ** ** $QT_BEGIN_LICENSE:BSD$ ** You may use this file under the terms of the BSD license as follows: diff --git a/doc/src/snippets/declarative/texteditor.qml b/doc/src/snippets/declarative/texteditor.qml index 6cfbcc8..55438f4 100644 --- a/doc/src/snippets/declarative/texteditor.qml +++ b/doc/src/snippets/declarative/texteditor.qml @@ -4,7 +4,7 @@ ** All rights reserved. ** Contact: Nokia Corporation (qt-info@nokia.com) ** -** This file is part of the QtDeclarative module of the Qt Toolkit. +** This file is part of the documentation of the Qt Toolkit. ** ** $QT_BEGIN_LICENSE:BSD$ ** You may use this file under the terms of the BSD license as follows: diff --git a/doc/src/snippets/declarative/transition-from-to.qml b/doc/src/snippets/declarative/transition-from-to.qml index 09949fc..73bf880 100644 --- a/doc/src/snippets/declarative/transition-from-to.qml +++ b/doc/src/snippets/declarative/transition-from-to.qml @@ -4,7 +4,7 @@ ** All rights reserved. ** Contact: Nokia Corporation (qt-info@nokia.com) ** -** This file is part of the QtDeclarative module of the Qt Toolkit. +** This file is part of the documentation of the Qt Toolkit. ** ** $QT_BEGIN_LICENSE:BSD$ ** You may use this file under the terms of the BSD license as follows: diff --git a/doc/src/snippets/declarative/transition-reversible.qml b/doc/src/snippets/declarative/transition-reversible.qml index 367ad49..b64cf37 100644 --- a/doc/src/snippets/declarative/transition-reversible.qml +++ b/doc/src/snippets/declarative/transition-reversible.qml @@ -4,7 +4,7 @@ ** All rights reserved. ** Contact: Nokia Corporation (qt-info@nokia.com) ** -** This file is part of the QtDeclarative module of the Qt Toolkit. +** This file is part of the documentation of the Qt Toolkit. ** ** $QT_BEGIN_LICENSE:BSD$ ** You may use this file under the terms of the BSD license as follows: diff --git a/doc/src/snippets/declarative/transition.qml b/doc/src/snippets/declarative/transition.qml index a79e483..6a8a2f5 100644 --- a/doc/src/snippets/declarative/transition.qml +++ b/doc/src/snippets/declarative/transition.qml @@ -4,7 +4,7 @@ ** All rights reserved. ** Contact: Nokia Corporation (qt-info@nokia.com) ** -** This file is part of the QtDeclarative module of the Qt Toolkit. +** This file is part of the documentation of the Qt Toolkit. ** ** $QT_BEGIN_LICENSE:BSD$ ** You may use this file under the terms of the BSD license as follows: diff --git a/doc/src/snippets/declarative/visualdatamodel.qml b/doc/src/snippets/declarative/visualdatamodel.qml index 231e4dd..67f9b6b 100644 --- a/doc/src/snippets/declarative/visualdatamodel.qml +++ b/doc/src/snippets/declarative/visualdatamodel.qml @@ -4,7 +4,7 @@ ** All rights reserved. ** Contact: Nokia Corporation (qt-info@nokia.com) ** -** This file is part of the QtDeclarative module of the Qt Toolkit. +** This file is part of the documentation of the Qt Toolkit. ** ** $QT_BEGIN_LICENSE:BSD$ ** You may use this file under the terms of the BSD license as follows: diff --git a/doc/src/snippets/declarative/visualdatamodel_rootindex/view.qml b/doc/src/snippets/declarative/visualdatamodel_rootindex/view.qml index 9e759f9..10bcfe8 100644 --- a/doc/src/snippets/declarative/visualdatamodel_rootindex/view.qml +++ b/doc/src/snippets/declarative/visualdatamodel_rootindex/view.qml @@ -4,7 +4,7 @@ ** All rights reserved. ** Contact: Nokia Corporation (qt-info@nokia.com) ** -** This file is part of the QtDeclarative module of the Qt Toolkit. +** This file is part of the documentation of the Qt Toolkit. ** ** $QT_BEGIN_LICENSE:BSD$ ** You may use this file under the terms of the BSD license as follows: diff --git a/doc/src/snippets/declarative/workerscript.qml b/doc/src/snippets/declarative/workerscript.qml index 6bc33fb..434a90e 100644 --- a/doc/src/snippets/declarative/workerscript.qml +++ b/doc/src/snippets/declarative/workerscript.qml @@ -4,7 +4,7 @@ ** All rights reserved. ** Contact: Nokia Corporation (qt-info@nokia.com) ** -** This file is part of the QtDeclarative module of the Qt Toolkit. +** This file is part of the documentation of the Qt Toolkit. ** ** $QT_BEGIN_LICENSE:BSD$ ** You may use this file under the terms of the BSD license as follows: diff --git a/doc/src/snippets/declarative/xmlrole.qml b/doc/src/snippets/declarative/xmlrole.qml index 85fe9c8..9c8af89 100644 --- a/doc/src/snippets/declarative/xmlrole.qml +++ b/doc/src/snippets/declarative/xmlrole.qml @@ -4,7 +4,7 @@ ** All rights reserved. ** Contact: Nokia Corporation (qt-info@nokia.com) ** -** This file is part of the QtDeclarative module of the Qt Toolkit. +** This file is part of the documentation of the Qt Toolkit. ** ** $QT_BEGIN_LICENSE:BSD$ ** You may use this file under the terms of the BSD license as follows: diff --git a/doc/src/snippets/declarative/~image-fillmode.qml b/doc/src/snippets/declarative/~image-fillmode.qml deleted file mode 100644 index cee26c4..0000000 --- a/doc/src/snippets/declarative/~image-fillmode.qml +++ /dev/null @@ -1,46 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies). -** All rights reserved. -** Contact: Nokia Corporation (qt-info@nokia.com) -** -** This file is part of the QtDeclarative module of the Qt Toolkit. -** -** $QT_BEGIN_LICENSE:BSD$ -** You may use this file under the terms of the BSD license as follows: -** -** "Redistribution and use in source and binary forms, with or without -** modification, are permitted provided that the following conditions are -** met: -** * Redistributions of source code must retain the above copyright -** notice, this list of conditions and the following disclaimer. -** * Redistributions in binary form must reproduce the above copyright -** notice, this list of conditions and the following disclaimer in -** the documentation and/or other materials provided with the -** distribution. -** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor -** the names of its contributors may be used to endorse or promote -** products derived from this software without specific prior written -** permission. -** -** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE." -** $QT_END_LICENSE$ -** -****************************************************************************/ - -import Qt 4.7 - -Image { - source: "pics/qtlogo.png" - width: 20; height: 20 -} diff --git a/src/declarative/graphicsitems/qdeclarativerectangle.cpp b/src/declarative/graphicsitems/qdeclarativerectangle.cpp index d027924..9238004 100644 --- a/src/declarative/graphicsitems/qdeclarativerectangle.cpp +++ b/src/declarative/graphicsitems/qdeclarativerectangle.cpp @@ -155,27 +155,46 @@ void QDeclarativeGradient::doUpdate() /*! \qmlclass Rectangle QDeclarativeRectangle \ingroup qml-basic-visual-elements - \since 4.7 - \brief The Rectangle item allows you to add rectangles to a scene. + \since 4.7 + \brief The Rectangle item provides a filled rectangle with an optional border. \inherits Item - A Rectangle is painted using a solid fill (color) and an optional border. - You can also create rounded rectangles using the \l radius property. + Rectangle items are used to fill areas with solid color or gradients, and are + often used to hold other items. - \qml - import Qt 4.7 - - Rectangle { - width: 100 - height: 100 - color: "red" - border.color: "black" - border.width: 5 - radius: 10 - } - \endqml + \section1 Appearance + + Each Rectangle item is painted using either a solid fill color, specified using + the \l color property, or a gradient, defined using a Gradient element and set + using the \l gradient property. If both a color and a gradient are specified, + the gradient is used. + + You can add an optional border to a rectangle with its own color and thickness + by settting the \l border.color and \l border.width properties. + + You can also create rounded rectangles using the \l radius property. Since this + introduces curved edges to the corners of a rectangle, it may be appropriate to + set the \l smooth property to improve its appearance. + + \section1 Example Usage - \image declarative-rect.png + \beginfloatright + \inlineimage declarative-rect.png + \endfloat + + The following example shows the effects of some of the common properties on a + Rectangle item, which in this case is used to create a square: + + \snippet doc/src/snippets/declarative/rectangle/rectangle.qml document + + \clearfloat + \section1 Performance + + Using the \l smooth property improves the appearance of a rounded rectangle at + the cost of rendering performance. You should consider unsetting this property + for rectangles in motion, and only set it when they are stationary. + + \sa Image */ int QDeclarativeRectanglePrivate::doUpdateSlotIdx = -1; @@ -207,13 +226,14 @@ void QDeclarativeRectangle::doUpdate() rectangle's boundaries, and the spare pixel is rendered to the right and below the rectangle (as documented for QRect rendering). This can cause unintended effects if \c border.width is 1 and the rectangle is \l{Item::clip}{clipped} by a parent item: - - \table - \row - \o \snippet doc/src/snippets/declarative/rect-border-width.qml 0 - \o \image rect-border-width.png - \endtable + \beginfloatright + \inlineimage rect-border-width.png + \endfloat + + \snippet doc/src/snippets/declarative/rectangle/rect-border-width.qml 0 + + \clearfloat Here, the innermost rectangle's border is clipped on the bottom and right edges by its parent. To avoid this, the border width can be set to two instead of one. */ @@ -231,34 +251,12 @@ QDeclarativePen *QDeclarativeRectangle::border() This property allows for the construction of simple vertical gradients. Other gradients may by formed by adding rotation to the rectangle. - \table - \row - \o \image declarative-rect_gradient.png - \o - \qml - Rectangle { - y: 0; width: 80; height: 80 - color: "lightsteelblue" - } + \beginfloatleft + \inlineimage declarative-rect_gradient.png + \endfloat - Rectangle { - y: 100; width: 80; height: 80 - gradient: Gradient { - GradientStop { position: 0.0; color: "lightsteelblue" } - GradientStop { position: 1.0; color: "blue" } - } - } - - Rectangle { - y: 200; width: 80; height: 80 - rotation: 90 - gradient: Gradient { - GradientStop { position: 0.0; color: "lightsteelblue" } - GradientStop { position: 1.0; color: "blue" } - } - } - \endqml - \endtable + \snippet doc/src/snippets/declarative/rectangle/rectangle-gradient.qml rectangles + \clearfloat If both a gradient and a color are specified, the gradient will be used. @@ -319,17 +317,21 @@ void QDeclarativeRectangle::setRadius(qreal radius) \qmlproperty color Rectangle::color This property holds the color used to fill the rectangle. - \qml - // green rectangle using hexidecimal notation - Rectangle { color: "#00FF00" } + The default color is white. - // steelblue rectangle using SVG color name - Rectangle { color: "steelblue" } - \endqml + \beginfloatright + \inlineimage rect-color.png + \endfloat - The default color is white. + The following example shows rectangles with colors specified + using hexadecimal and named color notation: + + \snippet doc/src/snippets/declarative/rectangle/rectangle-colors.qml rectangles + \clearfloat If both a gradient and a color are specified, the gradient will be used. + + \sa gradient */ QColor QDeclarativeRectangle::color() const { -- cgit v0.12 From 2be60dfbc08eed737716ff5025e23e63c3f6bbb5 Mon Sep 17 00:00:00 2001 From: Jani Hautakangas Date: Tue, 14 Sep 2010 16:31:24 +0200 Subject: This patch enables calling createpackage script also when using EPOCROOT that contains drive letter. Reviewed-by: axis --- bin/createpackage.pl | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/bin/createpackage.pl b/bin/createpackage.pl index 2569a66..238eae3 100755 --- a/bin/createpackage.pl +++ b/bin/createpackage.pl @@ -308,7 +308,7 @@ if($stub) { mkpath($systeminstall); my $stub_sis_name = $systeminstall."/".$stub_sis_name; # Create stub SIS. - system ("makesis -s $pkgoutput $stub_sis_name"); + system ("$ENV{EPOCROOT}epoc32/tools/makesis -s $pkgoutput $stub_sis_name"); } else { if ($certtext eq "Self Signed" && !@certificates @@ -321,7 +321,10 @@ if($stub) { # Create SIS. # The 'and' is because system uses 0 to indicate success. - system ("makesis $pkgoutput $unsigned_sis_name") and die ("makesis failed"); + if($ENV{EPOCROOT}) + system ("$ENV{EPOCROOT}epoc32/tools/makesis $pkgoutput $unsigned_sis_name") and die ("makesis failed"); + else + system ("makesis $pkgoutput $unsigned_sis_name") and die ("makesis failed"); print("\n"); my $targetInsert = ""; -- cgit v0.12 From 6454f4db1697af1d36ad4c0ea83ccd0bb490fd39 Mon Sep 17 00:00:00 2001 From: Thomas Hartmann Date: Tue, 14 Sep 2010 16:43:47 +0200 Subject: This patch allows modifications on PropertyChanges on the fly This is important for Bauhaus to ensure that we can edit properties and states dynamically in the visual editor Most of the changes consist of added functions for Bauhaus, that do not affect any current behaviour. Important changes: QDeclarativeAbstractBinding is holding a QSharedPointer to itself so that other classes can hold a weak reference to avoid accessing dangling pointers while keeping track of bindings. QDeclarativeStateOperation now has its own private class QDeclarativeStateOperationPrivate to hold a pointer back to QDeclarativeState since the parent is not set correctly in every context. QDeclarativePropertyChangesPrivate does now hold a QDeclarativeGuard instead of a raw pointer to the target QObject. In Bauhaus the target object might be deleted. Reviewed-by: Aaron Kennedy --- src/declarative/qml/qdeclarativebinding.cpp | 13 + src/declarative/qml/qdeclarativebinding_p.h | 6 + src/declarative/qml/qdeclarativecomponent_p.h | 2 +- src/declarative/qml/qdeclarativeengine.cpp | 2 +- .../util/qdeclarativepropertychanges.cpp | 275 ++++++++++++++++++++- .../util/qdeclarativepropertychanges_p.h | 16 +- src/declarative/util/qdeclarativestate.cpp | 238 ++++++++++++++++-- src/declarative/util/qdeclarativestate_p.h | 21 ++ src/declarative/util/qdeclarativestate_p_p.h | 135 ++++++++-- .../util/qdeclarativestateoperations.cpp | 7 +- .../util/qdeclarativetransitionmanager.cpp | 4 +- 11 files changed, 670 insertions(+), 49 deletions(-) diff --git a/src/declarative/qml/qdeclarativebinding.cpp b/src/declarative/qml/qdeclarativebinding.cpp index e096305..cb6ad8c 100644 --- a/src/declarative/qml/qdeclarativebinding.cpp +++ b/src/declarative/qml/qdeclarativebinding.cpp @@ -48,6 +48,7 @@ #include "private/qdeclarativecontext_p.h" #include "private/qdeclarativedata_p.h" #include "private/qdeclarativestringconverters_p.h" +#include "private/qdeclarativestate_p_p.h" #include #include @@ -373,6 +374,18 @@ void QDeclarativeAbstractBinding::removeFromObject() } } +static void bindingDummyDeleter(QDeclarativeAbstractBinding *) +{ +} + +QDeclarativeAbstractBinding::Pointer QDeclarativeAbstractBinding::weakPointer() +{ + if (m_selfPointer.isNull()) + m_selfPointer = QSharedPointer(this, bindingDummyDeleter); + + return m_selfPointer.toWeakRef(); +} + void QDeclarativeAbstractBinding::clear() { if (m_mePtr) { diff --git a/src/declarative/qml/qdeclarativebinding_p.h b/src/declarative/qml/qdeclarativebinding_p.h index 598f09f..f38ed23 100644 --- a/src/declarative/qml/qdeclarativebinding_p.h +++ b/src/declarative/qml/qdeclarativebinding_p.h @@ -67,6 +67,8 @@ QT_BEGIN_NAMESPACE class Q_DECLARATIVE_EXPORT QDeclarativeAbstractBinding { public: + typedef QWeakPointer Pointer; + QDeclarativeAbstractBinding(); virtual void destroy(); @@ -86,6 +88,8 @@ public: void addToObject(QObject *); void removeFromObject(); + Pointer weakPointer(); + protected: virtual ~QDeclarativeAbstractBinding(); void clear(); @@ -96,11 +100,13 @@ private: friend class QDeclarativeValueTypeProxyBinding; friend class QDeclarativePropertyPrivate; friend class QDeclarativeVME; + friend class QtSharedPointer::ExternalRefCount; QObject *m_object; QDeclarativeAbstractBinding **m_mePtr; QDeclarativeAbstractBinding **m_prevBinding; QDeclarativeAbstractBinding *m_nextBinding; + QSharedPointer m_selfPointer; }; class QDeclarativeValueTypeProxyBinding : public QDeclarativeAbstractBinding diff --git a/src/declarative/qml/qdeclarativecomponent_p.h b/src/declarative/qml/qdeclarativecomponent_p.h index 1b1454b..a551cc8 100644 --- a/src/declarative/qml/qdeclarativecomponent_p.h +++ b/src/declarative/qml/qdeclarativecomponent_p.h @@ -74,7 +74,7 @@ class QDeclarativeEngine; class QDeclarativeCompiledData; class QDeclarativeComponentAttached; -class QDeclarativeComponentPrivate : public QObjectPrivate, public QDeclarativeTypeData::TypeDataCallback +class Q_AUTOTEST_EXPORT QDeclarativeComponentPrivate : public QObjectPrivate, public QDeclarativeTypeData::TypeDataCallback { Q_DECLARE_PUBLIC(QDeclarativeComponent) diff --git a/src/declarative/qml/qdeclarativeengine.cpp b/src/declarative/qml/qdeclarativeengine.cpp index 9de5a77..80db230 100644 --- a/src/declarative/qml/qdeclarativeengine.cpp +++ b/src/declarative/qml/qdeclarativeengine.cpp @@ -906,7 +906,7 @@ QDeclarativeEngine::ObjectOwnership QDeclarativeEngine::objectOwnership(QObject return ddata->indestructible?CppOwnership:JavaScriptOwnership; } -void qmlExecuteDeferred(QObject *object) +Q_AUTOTEST_EXPORT void qmlExecuteDeferred(QObject *object) { QDeclarativeData *data = QDeclarativeData::get(object); diff --git a/src/declarative/util/qdeclarativepropertychanges.cpp b/src/declarative/util/qdeclarativepropertychanges.cpp index e897458..8d01b80 100644 --- a/src/declarative/util/qdeclarativepropertychanges.cpp +++ b/src/declarative/util/qdeclarativepropertychanges.cpp @@ -52,6 +52,7 @@ #include #include #include +#include #include @@ -200,14 +201,14 @@ public: }; -class QDeclarativePropertyChangesPrivate : public QObjectPrivate +class QDeclarativePropertyChangesPrivate : public QDeclarativeStateOperationPrivate { Q_DECLARE_PUBLIC(QDeclarativePropertyChanges) public: - QDeclarativePropertyChangesPrivate() : object(0), decoded(true), restore(true), + QDeclarativePropertyChangesPrivate() : decoded(true), restore(true), isExplicit(false) {} - QObject *object; + QDeclarativeGuard object; QByteArray data; bool decoded : 1; @@ -497,4 +498,272 @@ void QDeclarativePropertyChanges::setIsExplicit(bool e) d->isExplicit = e; } +bool QDeclarativePropertyChanges::containsValue(const QByteArray &name) const +{ + Q_D(const QDeclarativePropertyChanges); + typedef QPair PropertyEntry; + + QListIterator propertyIterator(d->properties); + while (propertyIterator.hasNext()) { + const PropertyEntry &entry = propertyIterator.next(); + if (entry.first == name) { + return true; + } + } + + return false; +} + +bool QDeclarativePropertyChanges::containsExpression(const QByteArray &name) const +{ + Q_D(const QDeclarativePropertyChanges); + typedef QPair ExpressionEntry; + + QListIterator expressionIterator(d->expressions); + while (expressionIterator.hasNext()) { + const ExpressionEntry &entry = expressionIterator.next(); + if (entry.first == name) { + return true; + } + } + + return false; +} + +bool QDeclarativePropertyChanges::containsProperty(const QByteArray &name) const +{ + return containsValue(name) || containsExpression(name); +} + +void QDeclarativePropertyChanges::changeValue(const QByteArray &name, const QVariant &value) +{ + Q_D(QDeclarativePropertyChanges); + typedef QPair PropertyEntry; + typedef QPair ExpressionEntry; + + QMutableListIterator expressionIterator(d->expressions); + while (expressionIterator.hasNext()) { + const ExpressionEntry &entry = expressionIterator.next(); + if (entry.first == name) { + expressionIterator.remove(); + if (state() && state()->isStateActive()) { + QDeclarativeAbstractBinding *oldBinding = QDeclarativePropertyPrivate::binding(d->property(name)); + if (oldBinding) { + QDeclarativePropertyPrivate::setBinding(d->property(name), 0); + oldBinding->destroy(); + } + d->property(name).write(value); + } + + d->properties.append(PropertyEntry(name, value)); + return; + } + } + + QMutableListIterator propertyIterator(d->properties); + while (propertyIterator.hasNext()) { + PropertyEntry &entry = propertyIterator.next(); + if (entry.first == name) { + entry.second = value; + if (state() && state()->isStateActive()) + d->property(name).write(value); + return; + } + } + + QDeclarativeAction action; + action.restore = restoreEntryValues(); + action.property = d->property(name); + action.fromValue = action.property.read(); + action.specifiedObject = object(); + action.specifiedProperty = QString::fromUtf8(name); + action.toValue = value; + + propertyIterator.insert(PropertyEntry(name, value)); + if (state() && state()->isStateActive()) { + state()->addEntryToRevertList(action); + QDeclarativeAbstractBinding *oldBinding = QDeclarativePropertyPrivate::binding(action.property); + if (oldBinding) + oldBinding->setEnabled(false, QDeclarativePropertyPrivate::DontRemoveBinding | QDeclarativePropertyPrivate::BypassInterceptor); + d->property(name).write(value); + } +} + +void QDeclarativePropertyChanges::changeExpression(const QByteArray &name, const QString &expression) +{ + Q_D(QDeclarativePropertyChanges); + typedef QPair PropertyEntry; + typedef QPair ExpressionEntry; + + bool hadValue = false; + + QMutableListIterator propertyIterator(d->properties); + while (propertyIterator.hasNext()) { + PropertyEntry &entry = propertyIterator.next(); + if (entry.first == name) { + propertyIterator.remove(); + hadValue = true; + break; + } + } + + QMutableListIterator expressionIterator(d->expressions); + while (expressionIterator.hasNext()) { + const ExpressionEntry &entry = expressionIterator.next(); + if (entry.first == name) { + entry.second->setExpression(expression); + if (state() && state()->isStateActive()) { + QDeclarativeAbstractBinding *oldBinding = QDeclarativePropertyPrivate::binding(d->property(name)); + if (oldBinding) { + QDeclarativePropertyPrivate::setBinding(d->property(name), 0); + oldBinding->destroy(); + } + + QDeclarativeBinding *newBinding = new QDeclarativeBinding(expression, object(), qmlContext(this)); + newBinding->setTarget(d->property(name)); + QDeclarativePropertyPrivate::setBinding(d->property(name), newBinding, QDeclarativePropertyPrivate::DontRemoveBinding | QDeclarativePropertyPrivate::BypassInterceptor); + } + return; + } + } + + QDeclarativeExpression *newExpression = new QDeclarativeExpression(qmlContext(this), d->object, expression); + expressionIterator.insert(ExpressionEntry(name, newExpression)); + + if (state() && state()->isStateActive()) { + if (hadValue) { + QDeclarativeAbstractBinding *oldBinding = QDeclarativePropertyPrivate::binding(d->property(name)); + if (oldBinding) { + oldBinding->setEnabled(false, QDeclarativePropertyPrivate::DontRemoveBinding | QDeclarativePropertyPrivate::BypassInterceptor); + state()->changeBindingInRevertList(object(), name, oldBinding); + } + + QDeclarativeBinding *newBinding = new QDeclarativeBinding(expression, object(), qmlContext(this)); + newBinding->setTarget(d->property(name)); + QDeclarativePropertyPrivate::setBinding(d->property(name), newBinding, QDeclarativePropertyPrivate::DontRemoveBinding | QDeclarativePropertyPrivate::BypassInterceptor); + } else { + QDeclarativeAction action; + action.restore = restoreEntryValues(); + action.property = d->property(name); + action.fromValue = action.property.read(); + action.specifiedObject = object(); + action.specifiedProperty = QString::fromUtf8(name); + + + if (d->isExplicit) { + action.toValue = newExpression->evaluate(); + } else { + QDeclarativeBinding *newBinding = new QDeclarativeBinding(newExpression->expression(), object(), qmlContext(this)); + newBinding->setTarget(d->property(name)); + action.toBinding = newBinding; + action.deletableToBinding = true; + + state()->addEntryToRevertList(action); + QDeclarativeAbstractBinding *oldBinding = QDeclarativePropertyPrivate::binding(action.property); + if (oldBinding) + oldBinding->setEnabled(false, QDeclarativePropertyPrivate::DontRemoveBinding | QDeclarativePropertyPrivate::BypassInterceptor); + + QDeclarativePropertyPrivate::setBinding(action.property, newBinding, QDeclarativePropertyPrivate::DontRemoveBinding | QDeclarativePropertyPrivate::BypassInterceptor); + } + } + } + // what about the signal handler? +} + +QVariant QDeclarativePropertyChanges::property(const QByteArray &name) const +{ + Q_D(const QDeclarativePropertyChanges); + typedef QPair PropertyEntry; + typedef QPair ExpressionEntry; + + QListIterator propertyIterator(d->properties); + while (propertyIterator.hasNext()) { + const PropertyEntry &entry = propertyIterator.next(); + if (entry.first == name) { + return entry.second; + } + } + + QListIterator expressionIterator(d->expressions); + while (expressionIterator.hasNext()) { + const ExpressionEntry &entry = expressionIterator.next(); + if (entry.first == name) { + return QVariant(entry.second->expression()); + } + } + + return QVariant(); +} + +void QDeclarativePropertyChanges::removeProperty(const QByteArray &name) +{ + Q_D(QDeclarativePropertyChanges); + typedef QPair PropertyEntry; + typedef QPair ExpressionEntry; + + QMutableListIterator expressionIterator(d->expressions); + while (expressionIterator.hasNext()) { + const ExpressionEntry &entry = expressionIterator.next(); + if (entry.first == name) { + expressionIterator.remove(); + state()->removeEntryFromRevertList(object(), name); + return; + } + } + + QMutableListIterator propertyIterator(d->properties); + while (propertyIterator.hasNext()) { + const PropertyEntry &entry = propertyIterator.next(); + if (entry.first == name) { + propertyIterator.remove(); + state()->removeEntryFromRevertList(object(), name); + return; + } + } +} + +QVariant QDeclarativePropertyChanges::value(const QByteArray &name) const +{ + Q_D(const QDeclarativePropertyChanges); + typedef QPair PropertyEntry; + + QListIterator propertyIterator(d->properties); + while (propertyIterator.hasNext()) { + const PropertyEntry &entry = propertyIterator.next(); + if (entry.first == name) { + return entry.second; + } + } + + return QVariant(); +} + +QString QDeclarativePropertyChanges::expression(const QByteArray &name) const +{ + Q_D(const QDeclarativePropertyChanges); + typedef QPair ExpressionEntry; + + QListIterator expressionIterator(d->expressions); + while (expressionIterator.hasNext()) { + const ExpressionEntry &entry = expressionIterator.next(); + if (entry.first == name) { + return entry.second->expression(); + } + } + + return QString(); +} + +void QDeclarativePropertyChanges::detachFromState() +{ + if (state()) + state()->removeAllEntriesFromRevertList(object()); +} + +void QDeclarativePropertyChanges::attachToState() +{ + if (state()) + state()->addEntriesToRevertList(actions()); +} + QT_END_NAMESPACE diff --git a/src/declarative/util/qdeclarativepropertychanges_p.h b/src/declarative/util/qdeclarativepropertychanges_p.h index 8578086..199928f 100644 --- a/src/declarative/util/qdeclarativepropertychanges_p.h +++ b/src/declarative/util/qdeclarativepropertychanges_p.h @@ -52,7 +52,7 @@ QT_BEGIN_NAMESPACE QT_MODULE(Declarative) class QDeclarativePropertyChangesPrivate; -class Q_AUTOTEST_EXPORT QDeclarativePropertyChanges : public QDeclarativeStateOperation +class Q_DECLARATIVE_EXPORT QDeclarativePropertyChanges : public QDeclarativeStateOperation { Q_OBJECT Q_DECLARE_PRIVATE(QDeclarativePropertyChanges) @@ -74,6 +74,20 @@ public: void setIsExplicit(bool); virtual ActionList actions(); + + bool containsProperty(const QByteArray &name) const; + bool containsValue(const QByteArray &name) const; + bool containsExpression(const QByteArray &name) const; + void changeValue(const QByteArray &name, const QVariant &value); + void changeExpression(const QByteArray &name, const QString &expression); + void removeProperty(const QByteArray &name); + QVariant value(const QByteArray &name) const; + QString expression(const QByteArray &name) const; + + void detachFromState(); + void attachToState(); + + QVariant property(const QByteArray &name) const; }; class QDeclarativePropertyChangesParser : public QDeclarativeCustomParser diff --git a/src/declarative/util/qdeclarativestate.cpp b/src/declarative/util/qdeclarativestate.cpp index 1ed7923..0f5413e 100644 --- a/src/declarative/util/qdeclarativestate.cpp +++ b/src/declarative/util/qdeclarativestate.cpp @@ -304,7 +304,7 @@ void QDeclarativeStatePrivate::complete() for (int ii = 0; ii < reverting.count(); ++ii) { for (int jj = 0; jj < revertList.count(); ++jj) { - if (revertList.at(jj).property == reverting.at(ii)) { + if (revertList.at(jj).property() == reverting.at(ii)) { revertList.removeAt(jj); break; } @@ -370,6 +370,192 @@ void QDeclarativeAction::deleteFromBinding() } } +bool QDeclarativeState::containsPropertyInRevertList(QObject *target, const QByteArray &name) const +{ + Q_D(const QDeclarativeState); + + if (isStateActive()) { + QListIterator revertListIterator(d->revertList); + + while (revertListIterator.hasNext()) { + const QDeclarativeSimpleAction &simpleAction = revertListIterator.next(); + if (simpleAction.specifiedObject() == target && simpleAction.specifiedProperty().toUtf8() == name) + return true; + } + } + + return false; +} + +bool QDeclarativeState::changeValueInRevertList(QObject *target, const QByteArray &name, const QVariant &revertValue) +{ + Q_D(QDeclarativeState); + + if (isStateActive()) { + QMutableListIterator revertListIterator(d->revertList); + + while (revertListIterator.hasNext()) { + QDeclarativeSimpleAction &simpleAction = revertListIterator.next(); + if (simpleAction.specifiedObject() == target && simpleAction.specifiedProperty().toUtf8() == name) { + simpleAction.setValue(revertValue); + return true; + } + } + } + + return false; +} + +bool QDeclarativeState::changeBindingInRevertList(QObject *target, const QByteArray &name, QDeclarativeAbstractBinding *binding) +{ + Q_D(QDeclarativeState); + + if (isStateActive()) { + QMutableListIterator revertListIterator(d->revertList); + + while (revertListIterator.hasNext()) { + QDeclarativeSimpleAction &simpleAction = revertListIterator.next(); + if (simpleAction.specifiedObject() == target && simpleAction.specifiedProperty().toUtf8() == name) { + if (simpleAction.binding()) + simpleAction.binding()->destroy(); + + simpleAction.setBinding(binding); + return true; + } + } + } + + return false; +} + +bool QDeclarativeState::removeEntryFromRevertList(QObject *target, const QByteArray &name) +{ + Q_D(QDeclarativeState); + + if (isStateActive()) { + QMutableListIterator revertListIterator(d->revertList); + + while (revertListIterator.hasNext()) { + QDeclarativeSimpleAction &simpleAction = revertListIterator.next(); + if (simpleAction.property().object() == target && simpleAction.property().name().toUtf8() == name) { + QDeclarativeAbstractBinding *oldBinding = QDeclarativePropertyPrivate::binding(simpleAction.property()); + if (oldBinding) { + QDeclarativePropertyPrivate::setBinding(simpleAction.property(), 0); + oldBinding->destroy(); + } + + simpleAction.property().write(simpleAction.value()); + if (simpleAction.binding()) + QDeclarativePropertyPrivate::setBinding(simpleAction.property(), simpleAction.binding()); + + revertListIterator.remove(); + return true; + } + } + } + + return false; +} + +void QDeclarativeState::addEntryToRevertList(const QDeclarativeAction &action) +{ + Q_D(QDeclarativeState); + + QDeclarativeSimpleAction simpleAction(action); + + d->revertList.append(simpleAction); +} + +void QDeclarativeState::removeAllEntriesFromRevertList(QObject *target) +{ + Q_D(QDeclarativeState); + + if (isStateActive()) { + QMutableListIterator revertListIterator(d->revertList); + + while (revertListIterator.hasNext()) { + QDeclarativeSimpleAction &simpleAction = revertListIterator.next(); + if (simpleAction.property().object() == target) { + QDeclarativeAbstractBinding *oldBinding = QDeclarativePropertyPrivate::binding(simpleAction.property()); + if (oldBinding) { + QDeclarativePropertyPrivate::setBinding(simpleAction.property(), 0); + oldBinding->destroy(); + } + + simpleAction.property().write(simpleAction.value()); + if (simpleAction.binding()) + QDeclarativePropertyPrivate::setBinding(simpleAction.property(), simpleAction.binding()); + + revertListIterator.remove(); + } + } + } +} + +void QDeclarativeState::addEntriesToRevertList(const QList &actionList) +{ + Q_D(QDeclarativeState); + if (isStateActive()) { + QList simpleActionList; + + QListIterator actionListIterator(actionList); + while(actionListIterator.hasNext()) { + const QDeclarativeAction &action = actionListIterator.next(); + QDeclarativeSimpleAction simpleAction(action); + action.property.write(action.toValue); + if (action.toBinding) { + QDeclarativeAbstractBinding *oldBinding = QDeclarativePropertyPrivate::binding(simpleAction.property()); + if (oldBinding) + QDeclarativePropertyPrivate::setBinding(simpleAction.property(), 0); + QDeclarativePropertyPrivate::setBinding(simpleAction.property(), action.toBinding, QDeclarativePropertyPrivate::DontRemoveBinding); + } + + simpleActionList.append(simpleAction); + } + + d->revertList.append(simpleActionList); + } +} + +QVariant QDeclarativeState::valueInRevertList(QObject *target, const QByteArray &name) const +{ + Q_D(const QDeclarativeState); + + if (isStateActive()) { + QListIterator revertListIterator(d->revertList); + + while (revertListIterator.hasNext()) { + const QDeclarativeSimpleAction &simpleAction = revertListIterator.next(); + if (simpleAction.specifiedObject() == target && simpleAction.specifiedProperty().toUtf8() == name) + return simpleAction.value(); + } + } + + return QVariant(); +} + +QDeclarativeAbstractBinding *QDeclarativeState::bindingInRevertList(QObject *target, const QByteArray &name) const +{ + Q_D(const QDeclarativeState); + + if (isStateActive()) { + QListIterator revertListIterator(d->revertList); + + while (revertListIterator.hasNext()) { + const QDeclarativeSimpleAction &simpleAction = revertListIterator.next(); + if (simpleAction.specifiedObject() == target && simpleAction.specifiedProperty().toUtf8() == name) + return simpleAction.binding(); + } + } + + return 0; +} + +bool QDeclarativeState::isStateActive() const +{ + return stateGroup() && stateGroup()->state() == name(); +} + void QDeclarativeState::apply(QDeclarativeStateGroup *group, QDeclarativeTransition *trans, QDeclarativeState *revert) { Q_D(QDeclarativeState); @@ -403,13 +589,13 @@ void QDeclarativeState::apply(QDeclarativeStateGroup *group, QDeclarativeTransit continue; bool found = false; for (int jj = 0; jj < d->revertList.count(); ++jj) { - QDeclarativeActionEvent *event = d->revertList.at(jj).event; + QDeclarativeActionEvent *event = d->revertList.at(jj).event(); if (event && event->typeName() == action.event->typeName()) { if (action.event->override(event)) { found = true; - if (action.event != d->revertList.at(jj).event && action.event->needsCopy()) { - action.event->copyOriginals(d->revertList.at(jj).event); + if (action.event != d->revertList.at(jj).event() && action.event->needsCopy()) { + action.event->copyOriginals(d->revertList.at(jj).event()); QDeclarativeSimpleAction r(action); additionalReverts << r; @@ -434,9 +620,9 @@ void QDeclarativeState::apply(QDeclarativeStateGroup *group, QDeclarativeTransit action.fromBinding = QDeclarativePropertyPrivate::binding(action.property); for (int jj = 0; jj < d->revertList.count(); ++jj) { - if (d->revertList.at(jj).property == action.property) { + if (d->revertList.at(jj).property() == action.property) { found = true; - if (d->revertList.at(jj).binding != action.fromBinding) { + if (d->revertList.at(jj).binding() != action.fromBinding) { action.deleteFromBinding(); } break; @@ -445,7 +631,7 @@ void QDeclarativeState::apply(QDeclarativeStateGroup *group, QDeclarativeTransit if (!found) { if (!action.restore) { - action.deleteFromBinding(); + action.deleteFromBinding();; } else { // Only need to revert the applyList action if the previous // state doesn't have a higher priority revert already @@ -460,8 +646,8 @@ void QDeclarativeState::apply(QDeclarativeStateGroup *group, QDeclarativeTransit // into this state need to be translated into apply actions for (int ii = 0; ii < d->revertList.count(); ++ii) { bool found = false; - if (d->revertList.at(ii).event) { - QDeclarativeActionEvent *event = d->revertList.at(ii).event; + if (d->revertList.at(ii).event()) { + QDeclarativeActionEvent *event = d->revertList.at(ii).event(); if (!event->isReversable()) continue; for (int jj = 0; !found && jj < applyList.count(); ++jj) { @@ -474,31 +660,31 @@ void QDeclarativeState::apply(QDeclarativeStateGroup *group, QDeclarativeTransit } else { for (int jj = 0; !found && jj < applyList.count(); ++jj) { const QDeclarativeAction &action = applyList.at(jj); - if (action.property == d->revertList.at(ii).property) + if (action.property == d->revertList.at(ii).property()) found = true; } } if (!found) { - QVariant cur = d->revertList.at(ii).property.read(); + QVariant cur = d->revertList.at(ii).property().read(); QDeclarativeAbstractBinding *delBinding = - QDeclarativePropertyPrivate::setBinding(d->revertList.at(ii).property, 0); + QDeclarativePropertyPrivate::setBinding(d->revertList.at(ii).property(), 0); if (delBinding) delBinding->destroy(); QDeclarativeAction a; - a.property = d->revertList.at(ii).property; + a.property = d->revertList.at(ii).property(); a.fromValue = cur; - a.toValue = d->revertList.at(ii).value; - a.toBinding = d->revertList.at(ii).binding; - a.specifiedObject = d->revertList.at(ii).specifiedObject; - a.specifiedProperty = d->revertList.at(ii).specifiedProperty; - a.event = d->revertList.at(ii).event; - a.reverseEvent = d->revertList.at(ii).reverseEvent; + a.toValue = d->revertList.at(ii).value(); + a.toBinding = d->revertList.at(ii).binding(); + a.specifiedObject = d->revertList.at(ii).specifiedObject(); + a.specifiedProperty = d->revertList.at(ii).specifiedProperty(); + a.event = d->revertList.at(ii).event(); + a.reverseEvent = d->revertList.at(ii).reverseEvent(); if (a.event && a.event->isRewindable()) a.event->saveCurrentValues(); applyList << a; // Store these special reverts in the reverting list - d->reverting << d->revertList.at(ii).property; + d->reverting << d->revertList.at(ii).property(); } } // All the local reverts now become part of the ongoing revertList @@ -526,4 +712,16 @@ QDeclarativeStateOperation::ActionList QDeclarativeStateOperation::actions() return ActionList(); } +QDeclarativeState *QDeclarativeStateOperation::state() const +{ + Q_D(const QDeclarativeStateOperation); + return d->m_state; +} + +void QDeclarativeStateOperation::setState(QDeclarativeState *state) +{ + Q_D(QDeclarativeStateOperation); + d->m_state = state; +} + QT_END_NAMESPACE diff --git a/src/declarative/util/qdeclarativestate_p.h b/src/declarative/util/qdeclarativestate_p.h index 2e2ce7b..a0ab11b 100644 --- a/src/declarative/util/qdeclarativestate_p.h +++ b/src/declarative/util/qdeclarativestate_p.h @@ -111,6 +111,8 @@ public: //### rename to QDeclarativeStateChange? class QDeclarativeStateGroup; +class QDeclarativeState; +class QDeclarativeStateOperationPrivate; class Q_DECLARATIVE_EXPORT QDeclarativeStateOperation : public QObject { Q_OBJECT @@ -121,8 +123,15 @@ public: virtual ActionList actions(); + QDeclarativeState *state() const; + void setState(QDeclarativeState *state); + protected: QDeclarativeStateOperation(QObjectPrivate &dd, QObject *parent = 0); + +private: + Q_DECLARE_PRIVATE(QDeclarativeStateOperation) + Q_DISABLE_COPY(QDeclarativeStateOperation) }; typedef QDeclarativeStateOperation::ActionList QDeclarativeStateActions; @@ -169,6 +178,18 @@ public: QDeclarativeStateGroup *stateGroup() const; void setStateGroup(QDeclarativeStateGroup *); + bool containsPropertyInRevertList(QObject *target, const QByteArray &name) const; + bool changeValueInRevertList(QObject *target, const QByteArray &name, const QVariant &revertValue); + bool changeBindingInRevertList(QObject *target, const QByteArray &name, QDeclarativeAbstractBinding *binding); + bool removeEntryFromRevertList(QObject *target, const QByteArray &name); + void addEntryToRevertList(const QDeclarativeAction &action); + void removeAllEntriesFromRevertList(QObject *target); + void addEntriesToRevertList(const QList &actions); + QVariant valueInRevertList(QObject *target, const QByteArray &name) const; + QDeclarativeAbstractBinding *bindingInRevertList(QObject *target, const QByteArray &name) const; + + bool isStateActive() const; + Q_SIGNALS: void completed(); diff --git a/src/declarative/util/qdeclarativestate_p_p.h b/src/declarative/util/qdeclarativestate_p_p.h index 2ef9bb0..c3c7bb4 100644 --- a/src/declarative/util/qdeclarativestate_p_p.h +++ b/src/declarative/util/qdeclarativestate_p_p.h @@ -61,6 +61,8 @@ #include #include +#include + #include QT_BEGIN_NAMESPACE @@ -69,30 +71,123 @@ class QDeclarativeSimpleAction { public: enum State { StartState, EndState }; - QDeclarativeSimpleAction(const QDeclarativeAction &a, State state = StartState) + QDeclarativeSimpleAction(const QDeclarativeAction &a, State state = StartState) { - property = a.property; - specifiedObject = a.specifiedObject; - specifiedProperty = a.specifiedProperty; - event = a.event; + m_property = a.property; + m_specifiedObject = a.specifiedObject; + m_specifiedProperty = a.specifiedProperty; + m_event = a.event; if (state == StartState) { - value = a.fromValue; - binding = QDeclarativePropertyPrivate::binding(property); - reverseEvent = true; + m_value = a.fromValue; + if (QDeclarativePropertyPrivate::binding(m_property)) { + m_binding = QDeclarativePropertyPrivate::binding(m_property)->weakPointer(); + } + m_reverseEvent = true; } else { - value = a.toValue; - binding = a.toBinding; - reverseEvent = false; + m_value = a.toValue; + m_binding = a.toBinding->weakPointer(); + m_reverseEvent = false; } } - QDeclarativeProperty property; - QVariant value; - QDeclarativeAbstractBinding *binding; - QObject *specifiedObject; - QString specifiedProperty; - QDeclarativeActionEvent *event; - bool reverseEvent; + ~QDeclarativeSimpleAction() + { + } + + QDeclarativeSimpleAction(const QDeclarativeSimpleAction &other) + : m_property(other.m_property), + m_value(other.m_value), + m_binding(other.binding() ? other.binding()->weakPointer() : QDeclarativeAbstractBinding::Pointer()), + m_specifiedObject(other.m_specifiedObject), + m_specifiedProperty(other.m_specifiedProperty), + m_event(other.m_event), + m_reverseEvent(other.m_reverseEvent) + { + } + + QDeclarativeSimpleAction &operator =(const QDeclarativeSimpleAction &other) + { + m_property = other.m_property; + m_value = other.m_value; + m_binding = other.binding() ? other.binding()->weakPointer() : QDeclarativeAbstractBinding::Pointer(); + m_specifiedObject = other.m_specifiedObject; + m_specifiedProperty = other.m_specifiedProperty; + m_event = other.m_event; + m_reverseEvent = other.m_reverseEvent; + + return *this; + } + + void setProperty(const QDeclarativeProperty &property) + { + m_property = property; + } + + const QDeclarativeProperty &property() const + { + return m_property; + } + + void setValue(const QVariant &value) + { + m_value = value; + } + + const QVariant &value() const + { + return m_value; + } + + void setBinding(QDeclarativeAbstractBinding *binding) + { + m_binding = binding->weakPointer(); + } + + QDeclarativeAbstractBinding *binding() const + { + return m_binding.data(); + } + + QObject *specifiedObject() const + { + return m_specifiedObject; + } + + const QString &specifiedProperty() const + { + return m_specifiedProperty; + } + + QDeclarativeActionEvent *event() const + { + return m_event; + } + + bool reverseEvent() const + { + return m_reverseEvent; + } + +private: + QDeclarativeProperty m_property; + QVariant m_value; + QDeclarativeAbstractBinding::Pointer m_binding; + QObject *m_specifiedObject; + QString m_specifiedProperty; + QDeclarativeActionEvent *m_event; + bool m_reverseEvent; +}; + +class QDeclarativeStateOperationPrivate : public QObjectPrivate +{ + Q_DECLARE_PUBLIC(QDeclarativeStateOperation) + +public: + + QDeclarativeStateOperationPrivate() + : m_state(0) {} + + QDeclarativeState *m_state; }; class QDeclarativeStatePrivate : public QObjectPrivate @@ -122,10 +217,14 @@ public: static void operations_append(QDeclarativeListProperty *prop, QDeclarativeStateOperation *op) { QList *list = static_cast *>(prop->data); + op->setState(qobject_cast(prop->object)); list->append(OperationGuard(op, list)); } static void operations_clear(QDeclarativeListProperty *prop) { QList *list = static_cast *>(prop->data); + QMutableListIterator listIterator(*list); + while(listIterator.hasNext()) + listIterator.next()->setState(0); list->clear(); } static int operations_count(QDeclarativeListProperty *prop) { diff --git a/src/declarative/util/qdeclarativestateoperations.cpp b/src/declarative/util/qdeclarativestateoperations.cpp index a78fc54..ccbc4cd 100644 --- a/src/declarative/util/qdeclarativestateoperations.cpp +++ b/src/declarative/util/qdeclarativestateoperations.cpp @@ -52,6 +52,7 @@ #include "private/qdeclarativecontext_p.h" #include "private/qdeclarativeproperty_p.h" #include "private/qdeclarativebinding_p.h" +#include "private/qdeclarativestate_p_p.h" #include #include @@ -61,7 +62,7 @@ QT_BEGIN_NAMESPACE -class QDeclarativeParentChangePrivate : public QObjectPrivate +class QDeclarativeParentChangePrivate : public QDeclarativeStateOperationPrivate { Q_DECLARE_PUBLIC(QDeclarativeParentChange) public: @@ -580,7 +581,7 @@ void QDeclarativeParentChange::rewind() d->doChange(d->rewindParent, d->rewindStackBefore); } -class QDeclarativeStateChangeScriptPrivate : public QObjectPrivate +class QDeclarativeStateChangeScriptPrivate : public QDeclarativeStateOperationPrivate { public: QDeclarativeStateChangeScriptPrivate() {} @@ -965,7 +966,7 @@ void QDeclarativeAnchorSet::resetCenterIn() } -class QDeclarativeAnchorChangesPrivate : public QObjectPrivate +class QDeclarativeAnchorChangesPrivate : public QDeclarativeStateOperationPrivate { public: QDeclarativeAnchorChangesPrivate() diff --git a/src/declarative/util/qdeclarativetransitionmanager.cpp b/src/declarative/util/qdeclarativetransitionmanager.cpp index d82c4bb..89b0044 100644 --- a/src/declarative/util/qdeclarativetransitionmanager.cpp +++ b/src/declarative/util/qdeclarativetransitionmanager.cpp @@ -86,8 +86,8 @@ void QDeclarativeTransitionManager::complete() d->applyBindings(); for (int ii = 0; ii < d->completeList.count(); ++ii) { - const QDeclarativeProperty &prop = d->completeList.at(ii).property; - prop.write(d->completeList.at(ii).value); + const QDeclarativeProperty &prop = d->completeList.at(ii).property(); + prop.write(d->completeList.at(ii).value()); } d->completeList.clear(); -- cgit v0.12 From a8085e53f15f88aa108d2e7e6473094105d0fdcb Mon Sep 17 00:00:00 2001 From: Thomas Hartmann Date: Tue, 14 Sep 2010 16:47:07 +0200 Subject: Unit tests for Bauhaus enablers See 6454f4db1697af1d36ad4c0ea83ccd0bb490fd39 --- .../qdeclarativestates/data/editProperties.qml | 34 ++++++ .../qdeclarativestates/tst_qdeclarativestates.cpp | 132 +++++++++++++++++++++ 2 files changed, 166 insertions(+) create mode 100644 tests/auto/declarative/qdeclarativestates/data/editProperties.qml diff --git a/tests/auto/declarative/qdeclarativestates/data/editProperties.qml b/tests/auto/declarative/qdeclarativestates/data/editProperties.qml new file mode 100644 index 0000000..4cb1ddd --- /dev/null +++ b/tests/auto/declarative/qdeclarativestates/data/editProperties.qml @@ -0,0 +1,34 @@ +import Qt 4.7 +Rectangle { + id: myRectangle + + property color sourceColor: "blue" + width: 400; height: 400 + color: "red" + + Rectangle { + id: rect2 + objectName: "rect2" + width: parent.width + 2 + height: 200 + color: "yellow" + } + + states: [ + State { + name: "blue" + PropertyChanges { + target: rect2 + width:50 + height: 40 + } + }, + State { + name: "green" + PropertyChanges { + target: rect2 + width: myRectangle.width / 2 + height: myRectangle.width / 4 + } + }] +} diff --git a/tests/auto/declarative/qdeclarativestates/tst_qdeclarativestates.cpp b/tests/auto/declarative/qdeclarativestates/tst_qdeclarativestates.cpp index 0621602..4a0ae30 100644 --- a/tests/auto/declarative/qdeclarativestates/tst_qdeclarativestates.cpp +++ b/tests/auto/declarative/qdeclarativestates/tst_qdeclarativestates.cpp @@ -48,6 +48,7 @@ #include #include #include +#include #ifdef Q_OS_SYMBIAN // In Symbian OS test data is located in applications private dir @@ -140,6 +141,7 @@ private slots: void unnamedWhen(); void returnToBase(); void extendsBug(); + void editProperties(); }; void tst_qdeclarativestates::initTestCase() @@ -1218,6 +1220,136 @@ void tst_qdeclarativestates::extendsBug() QCOMPARE(greenRect->y(), qreal(100)); } +extern void qmlExecuteDeferred(QObject *object); + +void tst_qdeclarativestates::editProperties() +{ + QDeclarativeEngine engine; + + QDeclarativeComponent c(&engine, SRCDIR "/data/editProperties.qml"); + QDeclarativeRectangle *rect = qobject_cast(c.create()); + QVERIFY(rect != 0); + + QDeclarativeItemPrivate *rectPrivate = QDeclarativeItemPrivate::get(rect); + + QDeclarativeStateGroup *stateGroup = rectPrivate->_states(); + QVERIFY(stateGroup != 0); + qmlExecuteDeferred(stateGroup); + + QDeclarativeState *blueState = stateGroup->findState("blue"); + QVERIFY(blueState != 0); + qmlExecuteDeferred(blueState); + + QDeclarativePropertyChanges *propertyChangesBlue = qobject_cast(blueState->operationAt(0)); + QVERIFY(propertyChangesBlue != 0); + + QDeclarativeState *greenState = stateGroup->findState("green"); + QVERIFY(greenState != 0); + qmlExecuteDeferred(greenState); + + QDeclarativePropertyChanges *propertyChangesGreen = qobject_cast(greenState->operationAt(0)); + QVERIFY(propertyChangesGreen != 0); + + QDeclarativeRectangle *childRect = rect->findChild("rect2"); + QVERIFY(childRect != 0); + QCOMPARE(childRect->width(), qreal(402)); + QVERIFY(QDeclarativePropertyPrivate::binding(QDeclarativeProperty(childRect, "width"))); + QCOMPARE(childRect->height(), qreal(200)); + + rectPrivate->setState("blue"); + QCOMPARE(childRect->width(), qreal(50)); + QCOMPARE(childRect->height(), qreal(40)); + QVERIFY(!QDeclarativePropertyPrivate::binding(QDeclarativeProperty(childRect, "width"))); + QVERIFY(blueState->bindingInRevertList(childRect, "width")); + + + rectPrivate->setState("green"); + QCOMPARE(childRect->width(), qreal(200)); + QCOMPARE(childRect->height(), qreal(100)); + QVERIFY(greenState->bindingInRevertList(childRect, "width")); + + + rectPrivate->setState(""); + + + QCOMPARE(propertyChangesBlue->actions().length(), 2); + QVERIFY(propertyChangesBlue->containsValue("width")); + QVERIFY(!propertyChangesBlue->containsProperty("x")); + QCOMPARE(propertyChangesBlue->value("width").toInt(), 50); + QVERIFY(!propertyChangesBlue->value("x").isValid()); + + propertyChangesBlue->changeValue("width", 60); + QCOMPARE(propertyChangesBlue->value("width").toInt(), 60); + QCOMPARE(propertyChangesBlue->actions().length(), 2); + + + propertyChangesBlue->changeExpression("width", "myRectangle.width / 2"); + QVERIFY(!propertyChangesBlue->containsValue("width")); + QVERIFY(propertyChangesBlue->containsExpression("width")); + QCOMPARE(propertyChangesBlue->value("width").toInt(), 0); + QCOMPARE(propertyChangesBlue->actions().length(), 2); + + propertyChangesBlue->changeValue("width", 50); + QVERIFY(propertyChangesBlue->containsValue("width")); + QVERIFY(!propertyChangesBlue->containsExpression("width")); + QCOMPARE(propertyChangesBlue->value("width").toInt(), 50); + QCOMPARE(propertyChangesBlue->actions().length(), 2); + + QVERIFY(QDeclarativePropertyPrivate::binding(QDeclarativeProperty(childRect, "width"))); + rectPrivate->setState("blue"); + QCOMPARE(childRect->width(), qreal(50)); + QCOMPARE(childRect->height(), qreal(40)); + + propertyChangesBlue->changeValue("width", 60); + QCOMPARE(propertyChangesBlue->value("width").toInt(), 60); + QCOMPARE(propertyChangesBlue->actions().length(), 2); + QCOMPARE(childRect->width(), qreal(60)); + QVERIFY(!QDeclarativePropertyPrivate::binding(QDeclarativeProperty(childRect, "width"))); + + propertyChangesBlue->changeExpression("width", "myRectangle.width / 2"); + QVERIFY(!propertyChangesBlue->containsValue("width")); + QVERIFY(propertyChangesBlue->containsExpression("width")); + QCOMPARE(propertyChangesBlue->value("width").toInt(), 0); + QCOMPARE(propertyChangesBlue->actions().length(), 2); + QVERIFY(QDeclarativePropertyPrivate::binding(QDeclarativeProperty(childRect, "width"))); + QCOMPARE(childRect->width(), qreal(200)); + + propertyChangesBlue->changeValue("width", 50); + QCOMPARE(childRect->width(), qreal(50)); + + rectPrivate->setState(""); + QCOMPARE(childRect->width(), qreal(402)); + QVERIFY(QDeclarativePropertyPrivate::binding(QDeclarativeProperty(childRect, "width"))); + + QCOMPARE(propertyChangesGreen->actions().length(), 2); + rectPrivate->setState("green"); + QCOMPARE(childRect->width(), qreal(200)); + QCOMPARE(childRect->height(), qreal(100)); + QVERIFY(QDeclarativePropertyPrivate::binding(QDeclarativeProperty(childRect, "width"))); + QVERIFY(greenState->bindingInRevertList(childRect, "width")); + QCOMPARE(propertyChangesGreen->actions().length(), 2); + + + propertyChangesGreen->removeProperty("height"); + QVERIFY(!QDeclarativePropertyPrivate::binding(QDeclarativeProperty(childRect, "height"))); + QCOMPARE(childRect->height(), qreal(200)); + + QVERIFY(greenState->bindingInRevertList(childRect, "width")); + QVERIFY(greenState->containsPropertyInRevertList(childRect, "width")); + propertyChangesGreen->removeProperty("width"); + QVERIFY(QDeclarativePropertyPrivate::binding(QDeclarativeProperty(childRect, "width"))); + QCOMPARE(childRect->width(), qreal(402)); + QVERIFY(!greenState->bindingInRevertList(childRect, "width")); + QVERIFY(!greenState->containsPropertyInRevertList(childRect, "width")); + + propertyChangesBlue->removeProperty("width"); + QCOMPARE(childRect->width(), qreal(402)); + + rectPrivate->setState("blue"); + QCOMPARE(childRect->width(), qreal(402)); + QCOMPARE(childRect->height(), qreal(40)); +} + QTEST_MAIN(tst_qdeclarativestates) #include "tst_qdeclarativestates.moc" -- cgit v0.12 From 34b805d66c09fb324d1b6a7bcf259e8743ef3894 Mon Sep 17 00:00:00 2001 From: Thomas Hartmann Date: Tue, 14 Sep 2010 16:49:57 +0200 Subject: Completing the interface for children/data/resources This patch makes the handling of properties like children and data easier in Bauhaus. Especially in the case of property alias Reviewed-by: Aaron Kennedy --- .../graphicsitems/qdeclarativeflickable.cpp | 54 ++++++++++++++++++- .../graphicsitems/qdeclarativeflickable_p_p.h | 3 ++ src/declarative/graphicsitems/qdeclarativeitem.cpp | 62 +++++++++++++++++++++- src/declarative/graphicsitems/qdeclarativeitem_p.h | 4 ++ src/gui/graphicsview/qgraphicsitem.cpp | 9 +++- src/gui/graphicsview/qgraphicsitem_p.h | 1 + 6 files changed, 129 insertions(+), 4 deletions(-) diff --git a/src/declarative/graphicsitems/qdeclarativeflickable.cpp b/src/declarative/graphicsitems/qdeclarativeflickable.cpp index c0b664f..bf3d88b 100644 --- a/src/declarative/graphicsitems/qdeclarativeflickable.cpp +++ b/src/declarative/graphicsitems/qdeclarativeflickable.cpp @@ -1051,10 +1051,62 @@ void QDeclarativeFlickablePrivate::data_append(QDeclarativeListProperty o->setParent(prop->object); } +static inline int children_count_helper(QGraphicsObject *object) +{ + QGraphicsItemPrivate *d = QGraphicsItemPrivate::get(object); + return d->children.count(); +} + +static inline QObject *children_at_helper(QGraphicsObject *object, int index) +{ + QGraphicsItemPrivate *d = QGraphicsItemPrivate::get(object); + if (index >= 0 && index < d->children.count()) + return d->children.at(index)->toGraphicsObject(); + else + return 0; +} + +static inline void children_clear_helper(QGraphicsObject *object) +{ + QGraphicsItemPrivate *d = QGraphicsItemPrivate::get(object); + for (int index = 0 ;index < d->children.count();index++) + QGraphicsItemPrivate::get(d->children.at(index))->setParentItemHelper(0, /*newParentVariant=*/0, /*thisPointerVariant=*/0); +} + +int QDeclarativeFlickablePrivate::data_count(QDeclarativeListProperty *prop) +{ + return QDeclarativeItemPrivate::resources_count(prop) + + children_count_helper(static_cast(prop->data)->contentItem); +} + +QObject *QDeclarativeFlickablePrivate::data_at(QDeclarativeListProperty *prop, int i) +{ + int resourcesCount = QDeclarativeItemPrivate::resources_count(prop); + if (i < resourcesCount) + return QDeclarativeItemPrivate::resources_at(prop, i); + const int j = i - resourcesCount; + QGraphicsObject *contentObject = static_cast(prop->data)->contentItem; + if (j < children_count_helper(contentObject)) + children_at_helper(contentObject, j); + return 0; +} + +void QDeclarativeFlickablePrivate::data_clear(QDeclarativeListProperty *prop) +{ + QDeclarativeItemPrivate::resources_clear(prop); + QGraphicsObject *contentObject = + static_cast(prop->data)->contentItem; + children_clear_helper(contentObject); +} + QDeclarativeListProperty QDeclarativeFlickable::flickableData() { Q_D(QDeclarativeFlickable); - return QDeclarativeListProperty(this, (void *)d, QDeclarativeFlickablePrivate::data_append); + return QDeclarativeListProperty(this, (void *)d, QDeclarativeFlickablePrivate::data_append, + QDeclarativeFlickablePrivate::data_count, + QDeclarativeFlickablePrivate::data_at, + QDeclarativeFlickablePrivate::data_clear + ); } QDeclarativeListProperty QDeclarativeFlickable::flickableChildren() diff --git a/src/declarative/graphicsitems/qdeclarativeflickable_p_p.h b/src/declarative/graphicsitems/qdeclarativeflickable_p_p.h index 2da034c..beee741 100644 --- a/src/declarative/graphicsitems/qdeclarativeflickable_p_p.h +++ b/src/declarative/graphicsitems/qdeclarativeflickable_p_p.h @@ -173,6 +173,9 @@ public: // flickableData property static void data_append(QDeclarativeListProperty *, QObject *); + static int data_count(QDeclarativeListProperty *); + static QObject *data_at(QDeclarativeListProperty *, int); + static void data_clear(QDeclarativeListProperty *); }; class QDeclarativeFlickableVisibleArea : public QObject diff --git a/src/declarative/graphicsitems/qdeclarativeitem.cpp b/src/declarative/graphicsitems/qdeclarativeitem.cpp index 11f9179..53a4710 100644 --- a/src/declarative/graphicsitems/qdeclarativeitem.cpp +++ b/src/declarative/graphicsitems/qdeclarativeitem.cpp @@ -44,6 +44,7 @@ #include "private/qdeclarativeevents_p_p.h" #include +#include #include #include @@ -1619,6 +1620,50 @@ void QDeclarativeItemPrivate::data_append(QDeclarativeListProperty *pro } } +static inline int children_count_helper(QDeclarativeListProperty *prop) +{ + QGraphicsItemPrivate *d = QGraphicsItemPrivate::get(static_cast(prop->object)); + return d->children.count(); +} + +static inline QObject *children_at_helper(QDeclarativeListProperty *prop, int index) +{ + QGraphicsItemPrivate *d = QGraphicsItemPrivate::get(static_cast(prop->object)); + if (index >= 0 && index < d->children.count()) + return d->children.at(index)->toGraphicsObject(); + else + return 0; +} + +static inline void children_clear_helper(QDeclarativeListProperty *prop) +{ + QGraphicsItemPrivate *d = QGraphicsItemPrivate::get(static_cast(prop->object)); + for (int index = 0 ;index < d->children.count();index++) + QGraphicsItemPrivate::get(d->children.at(index))->setParentItemHelper(0, /*newParentVariant=*/0, /*thisPointerVariant=*/0); +} + +int QDeclarativeItemPrivate::data_count(QDeclarativeListProperty *prop) +{ + return resources_count(prop) + children_count_helper(prop); +} + +QObject *QDeclarativeItemPrivate::data_at(QDeclarativeListProperty *prop, int i) +{ + int resourcesCount = resources_count(prop); + if (i < resourcesCount) + return resources_at(prop, i); + const int j = i - resourcesCount; + if (j < children_count_helper(prop)) + children_at_helper(prop, j); + return 0; +} + +void QDeclarativeItemPrivate::data_clear(QDeclarativeListProperty *prop) +{ + resources_clear(prop); + children_clear_helper(prop); +} + QObject *QDeclarativeItemPrivate::resources_at(QDeclarativeListProperty *prop, int index) { const QObjectList children = prop->object->children(); @@ -1638,6 +1683,13 @@ int QDeclarativeItemPrivate::resources_count(QDeclarativeListProperty * return prop->object->children().count(); } +void QDeclarativeItemPrivate::resources_clear(QDeclarativeListProperty *prop) +{ + const QObjectList children = prop->object->children(); + for (int index = 0; index < children.count(); index++) + children.at(index)->setParent(0); +} + int QDeclarativeItemPrivate::transform_count(QDeclarativeListProperty *list) { QGraphicsObject *object = qobject_cast(list->object); @@ -1724,7 +1776,11 @@ void QDeclarativeItemPrivate::parentProperty(QObject *o, void *rv, QDeclarativeN QDeclarativeListProperty QDeclarativeItemPrivate::data() { - return QDeclarativeListProperty(q_func(), 0, QDeclarativeItemPrivate::data_append); + return QDeclarativeListProperty(q_func(), 0, QDeclarativeItemPrivate::data_append, + QDeclarativeItemPrivate::data_count, + QDeclarativeItemPrivate::data_at, + QDeclarativeItemPrivate::data_clear + ); } /*! @@ -2413,7 +2469,9 @@ QDeclarativeListProperty QDeclarativeItemPrivate::resources() { return QDeclarativeListProperty(q_func(), 0, QDeclarativeItemPrivate::resources_append, QDeclarativeItemPrivate::resources_count, - QDeclarativeItemPrivate::resources_at); + QDeclarativeItemPrivate::resources_at, + QDeclarativeItemPrivate::resources_clear + ); } /*! diff --git a/src/declarative/graphicsitems/qdeclarativeitem_p.h b/src/declarative/graphicsitems/qdeclarativeitem_p.h index fffb4f7..f85fa27 100644 --- a/src/declarative/graphicsitems/qdeclarativeitem_p.h +++ b/src/declarative/graphicsitems/qdeclarativeitem_p.h @@ -176,11 +176,15 @@ public: // data property static void data_append(QDeclarativeListProperty *, QObject *); + static int data_count(QDeclarativeListProperty *); + static QObject *data_at(QDeclarativeListProperty *, int); + static void data_clear(QDeclarativeListProperty *); // resources property static QObject *resources_at(QDeclarativeListProperty *, int); static void resources_append(QDeclarativeListProperty *, QObject *); static int resources_count(QDeclarativeListProperty *); + static void resources_clear(QDeclarativeListProperty *); // transform property static int transform_count(QDeclarativeListProperty *list); diff --git a/src/gui/graphicsview/qgraphicsitem.cpp b/src/gui/graphicsview/qgraphicsitem.cpp index 7a5b8de..9e43f2f 100644 --- a/src/gui/graphicsview/qgraphicsitem.cpp +++ b/src/gui/graphicsview/qgraphicsitem.cpp @@ -7676,6 +7676,13 @@ QGraphicsObject *QGraphicsItemPrivate::children_at(QDeclarativeListProperty *list) +{ + QGraphicsItemPrivate *d = QGraphicsItemPrivate::get(static_cast(list->object)); + for (int index = 0 ;index < d->children.count();index++) + QGraphicsItemPrivate::get(d->children.at(index))->setParentItemHelper(0, /*newParentVariant=*/0, /*thisPointerVariant=*/0); +} + /*! Returns a list of this item's children. @@ -7689,7 +7696,7 @@ QDeclarativeListProperty QGraphicsItemPrivate::childrenList() if (isObject) { QGraphicsObject *that = static_cast(q); return QDeclarativeListProperty(that, &children, children_append, - children_count, children_at); + children_count, children_at, children_clear); } else { //QGraphicsItem is not supported for this property return QDeclarativeListProperty(); diff --git a/src/gui/graphicsview/qgraphicsitem_p.h b/src/gui/graphicsview/qgraphicsitem_p.h index d60dffb..cce9439 100644 --- a/src/gui/graphicsview/qgraphicsitem_p.h +++ b/src/gui/graphicsview/qgraphicsitem_p.h @@ -487,6 +487,7 @@ public: static void children_append(QDeclarativeListProperty *list, QGraphicsObject *item); static int children_count(QDeclarativeListProperty *list); static QGraphicsObject *children_at(QDeclarativeListProperty *list, int); + static void children_clear(QDeclarativeListProperty *list); inline QTransform transformToParent() const; inline void ensureSortedChildren(); -- cgit v0.12 From d3de3f65b945773e9a3ceabc082347b4b0b0df79 Mon Sep 17 00:00:00 2001 From: Marco Bubke Date: Mon, 13 Sep 2010 17:04:21 +0200 Subject: Export QDeclarativeScriptAction It is needed in Bauhaus to disable the animation. --- src/declarative/util/qdeclarativeanimation_p.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/declarative/util/qdeclarativeanimation_p.h b/src/declarative/util/qdeclarativeanimation_p.h index d15d1f6..cdd5041 100644 --- a/src/declarative/util/qdeclarativeanimation_p.h +++ b/src/declarative/util/qdeclarativeanimation_p.h @@ -165,7 +165,7 @@ protected: }; class QDeclarativeScriptActionPrivate; -class QDeclarativeScriptAction : public QDeclarativeAbstractAnimation +class Q_DECLARATIVE_EXPORT QDeclarativeScriptAction : public QDeclarativeAbstractAnimation { Q_OBJECT Q_DECLARE_PRIVATE(QDeclarativeScriptAction) -- cgit v0.12 From 8401e31e7c0375f9c595678b510b6d2092a2f2e6 Mon Sep 17 00:00:00 2001 From: Frederik Gladhorn Date: Wed, 8 Sep 2010 17:10:45 +0200 Subject: Add test: assert when gesture is never accepted. Test for Qt-Bug 13501. --- tests/auto/gestures/tst_gestures.cpp | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) diff --git a/tests/auto/gestures/tst_gestures.cpp b/tests/auto/gestures/tst_gestures.cpp index ddc3939..667cdd3 100644 --- a/tests/auto/gestures/tst_gestures.cpp +++ b/tests/auto/gestures/tst_gestures.cpp @@ -41,6 +41,7 @@ #include +#include #include "../../shared/util.h" #include @@ -361,6 +362,7 @@ private slots: void partialGesturePropagation(); void testQGestureRecognizerCleanup(); void testReuseCanceledGestures(); + void bug_13501_gesture_not_accepted(); }; tst_Gestures::tst_Gestures() @@ -2306,5 +2308,29 @@ void tst_Gestures::conflictingGesturesInGraphicsView() QCOMPARE(item1->gestureEventsReceived, TotalGestureEventsCount); } +class NoConsumeWidgetBug13501 :public QWidget +{ + Q_OBJECT +protected: + bool event(QEvent *e) { + if(e->type() == QEvent::Gesture) { + return false; + } + return QWidget::event(e); + } +}; + +void tst_Gestures::bug_13501_gesture_not_accepted() +{ + // Create a gesture event that is not accepted by any widget + // make sure this does not lead to an assert in QGestureManager + NoConsumeWidgetBug13501 w; + w.grabGesture(Qt::TapGesture); + w.show(); + QTest::qWaitForWindowShown(&w); + //QTest::mousePress(&ignoreEvent, Qt::LeftButton); + QTest::touchEvent(&w).press(0, QPoint(10, 10), &w); +} + QTEST_MAIN(tst_Gestures) #include "tst_gestures.moc" -- cgit v0.12 From 33f9950996ada06fc39b68f6656b1defdccd8c3a Mon Sep 17 00:00:00 2001 From: Jeremy Katz Date: Tue, 14 Sep 2010 17:09:56 +0200 Subject: fix QTBUG-13501 - crash when a gesture is accepted but not consumed Reviewed-by: Denis Dzyubenko --- src/gui/kernel/qapplication.cpp | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/gui/kernel/qapplication.cpp b/src/gui/kernel/qapplication.cpp index caeeeb9..2fd2f46 100644 --- a/src/gui/kernel/qapplication.cpp +++ b/src/gui/kernel/qapplication.cpp @@ -4367,11 +4367,13 @@ bool QApplication::notify(QObject *receiver, QEvent *e) eventAccepted = ge.isAccepted(); for (int i = 0; i < gestures.size(); ++i) { QGesture *g = gestures.at(i); - if ((res && eventAccepted) || (!eventAccepted && ge.isAccepted(g))) { + // Ignore res [event return value] because handling of multiple gestures + // packed into a single QEvent depends on not consuming the event + if (eventAccepted || ge.isAccepted(g)) { // if the gesture was accepted, mark the target widget for it gestureEvent->d_func()->targetWidgets[g->gestureType()] = w; gestureEvent->setAccepted(g, true); - } else if (!eventAccepted && !ge.isAccepted(g)) { + } else { // if the gesture was explicitly ignored by the application, // put it back so a parent can get it allGestures.append(g); -- cgit v0.12 From cd5441ec7937703904700dddf25afdcc80a66661 Mon Sep 17 00:00:00 2001 From: Shane Kearns Date: Tue, 14 Sep 2010 16:32:02 +0100 Subject: Fix compile error with active perl 5.8.9 Reviewed-by: Jani Hautakangas --- bin/createpackage.pl | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/bin/createpackage.pl b/bin/createpackage.pl index 238eae3..361b32d 100755 --- a/bin/createpackage.pl +++ b/bin/createpackage.pl @@ -321,10 +321,11 @@ if($stub) { # Create SIS. # The 'and' is because system uses 0 to indicate success. - if($ENV{EPOCROOT}) + if($ENV{EPOCROOT}) { system ("$ENV{EPOCROOT}epoc32/tools/makesis $pkgoutput $unsigned_sis_name") and die ("makesis failed"); - else + } else { system ("makesis $pkgoutput $unsigned_sis_name") and die ("makesis failed"); + } print("\n"); my $targetInsert = ""; -- cgit v0.12 From a4b6572b8fb8eb247a7bd952dca7e99e5d4e5707 Mon Sep 17 00:00:00 2001 From: David Boddie Date: Tue, 14 Sep 2010 20:35:48 +0200 Subject: Doc: Continued work on the QML documentation. --- doc/src/declarative/pics/gradient.png | Bin 364 -> 0 bytes doc/src/declarative/pics/qml-gradient.png | Bin 0 -> 364 bytes .../declarative/rectangle/rectangle-smooth.qml | 87 +++++++++++++++++++++ .../graphicsitems/qdeclarativerectangle.cpp | 59 +++++++++++--- src/gui/painting/qbrush.cpp | 15 ++-- 5 files changed, 143 insertions(+), 18 deletions(-) delete mode 100644 doc/src/declarative/pics/gradient.png create mode 100644 doc/src/declarative/pics/qml-gradient.png create mode 100644 doc/src/snippets/declarative/rectangle/rectangle-smooth.qml diff --git a/doc/src/declarative/pics/gradient.png b/doc/src/declarative/pics/gradient.png deleted file mode 100644 index 5eefdd2..0000000 Binary files a/doc/src/declarative/pics/gradient.png and /dev/null differ diff --git a/doc/src/declarative/pics/qml-gradient.png b/doc/src/declarative/pics/qml-gradient.png new file mode 100644 index 0000000..5eefdd2 Binary files /dev/null and b/doc/src/declarative/pics/qml-gradient.png differ diff --git a/doc/src/snippets/declarative/rectangle/rectangle-smooth.qml b/doc/src/snippets/declarative/rectangle/rectangle-smooth.qml new file mode 100644 index 0000000..e1d6980 --- /dev/null +++ b/doc/src/snippets/declarative/rectangle/rectangle-smooth.qml @@ -0,0 +1,87 @@ +/**************************************************************************** +** +** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies). +** All rights reserved. +** Contact: Nokia Corporation (qt-info@nokia.com) +** +** This file is part of the documentation of the Qt Toolkit. +** +** $QT_BEGIN_LICENSE:BSD$ +** You may use this file under the terms of the BSD license as follows: +** +** "Redistribution and use in source and binary forms, with or without +** modification, are permitted provided that the following conditions are +** met: +** * Redistributions of source code must retain the above copyright +** notice, this list of conditions and the following disclaimer. +** * Redistributions in binary form must reproduce the above copyright +** notice, this list of conditions and the following disclaimer in +** the documentation and/or other materials provided with the +** distribution. +** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor +** the names of its contributors may be used to endorse or promote +** products derived from this software without specific prior written +** permission. +** +** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE." +** $QT_END_LICENSE$ +** +****************************************************************************/ + +import Qt 4.7 + +Rectangle { + width: 400; height: 200 + color: "white" + + Grid { + anchors.centerIn: parent + columns: 4; rows: 2; spacing: 10 + + Rectangle { + color: "steelblue"; width: 80; height: 80 + rotation: 10 + } + Rectangle { + color: "#F0A080"; width: 80; height: 80 + border.color: "gray"; rotation: 10 + } + Rectangle { + color: "steelblue"; width: 80; height: 80 + radius: 10; rotation: 10 + } + Rectangle { + color: "#F0A080"; width: 80; height: 80 + radius: 10; border.color: "gray" + rotation: 10 + } + + Rectangle { + color: "steelblue"; width: 80; height: 80 + rotation: 10; smooth: true + } + Rectangle { + color: "#F0A080"; width: 80; height: 80 + border.color: "gray"; rotation: 10; smooth: true + } + Rectangle { + color: "steelblue"; width: 80; height: 80 + radius: 10; rotation: 10; smooth: true + } + Rectangle { + color: "#F0A080"; width: 80; height: 80 + radius: 10; border.color: "gray" + rotation: 10; smooth: true + } + } +} diff --git a/src/declarative/graphicsitems/qdeclarativerectangle.cpp b/src/declarative/graphicsitems/qdeclarativerectangle.cpp index 9238004..e33969d 100644 --- a/src/declarative/graphicsitems/qdeclarativerectangle.cpp +++ b/src/declarative/graphicsitems/qdeclarativerectangle.cpp @@ -95,7 +95,12 @@ void QDeclarativePen::setWidth(int w) \qmlproperty real GradientStop::position \qmlproperty color GradientStop::color - Sets a \e color at a \e position in a gradient. + The position and color properties describe the color used at a given + position in a gradient, as represented by a gradient stop. + + The default position is 0.0; the default color is black. + + \sa Gradient */ void QDeclarativeGradientStop::updateGradient() @@ -107,20 +112,50 @@ void QDeclarativeGradientStop::updateGradient() /*! \qmlclass Gradient QDeclarativeGradient \ingroup qml-basic-visual-elements - \since 4.7 + \since 4.7 \brief The Gradient item defines a gradient fill. - A gradient is defined by two or more colors, which will be blended seemlessly. The - colors are specified at their position in the range 0.0 - 1.0 via - the GradientStop item. For example, the following code paints a - rectangle with a gradient starting with red, blending to yellow at 1/3 of the - size of the rectangle, and ending with Green: + A gradient is defined by two or more colors, which will be blended seamlessly. - \snippet doc/src/snippets/declarative/gradient.qml code + The colors are specified as a set of GradientStop child items, each of + which defines a position on the gradient from 0.0 to 1.0 and a color. + The position of each GradientStop is defined by setting its + \l{GradientStop::}{position} property; its color is defined using its + \l{GradientStop::}{color} property. + + A gradient without any gradient stops is rendered as a solid white fill. Note that this item is not a visual representation of a gradient. To display a - gradient use a visual item (like rectangle) which supports having a gradient set - on it for display. + gradient, use a visual element (like \l Rectangle) which supports the use + of gradients. + + \section1 Example Usage + + \beginfloatright + \inlineimage qml-gradient.png + \endfloat + + The following example declares a \l Rectangle item with a gradient starting + with red, blending to yellow at one third of the height of the rectangle, + and ending with green: + + \snippet doc/src/snippets/declarative/gradient.qml code + + \clearfloat + \section1 Performance and Limitations + + Calculating gradients can be computationally expensive compared to the use + of solid color fills or images. Consider using gradients for static items + in a user interface. + + In Qt 4.7, only vertical, linear gradients can be applied to items. If you + need to apply different orientations of gradients, a combination of rotation + and clipping will need to be applied to the relevant items. This can + introduce additional performance requirements for your application. + + The use of animations involving gradient stops may not give the desired + result. An alternative way to animate gradients is to use pre-generated + images or SVG drawings containing gradients. \sa GradientStop */ @@ -128,6 +163,10 @@ void QDeclarativeGradientStop::updateGradient() /*! \qmlproperty list Gradient::stops This property holds the gradient stops describing the gradient. + + By default, this property contains an empty list. + + To set the gradient stops, define them as children of the Gradient element. */ const QGradient *QDeclarativeGradient::gradient() const diff --git a/src/gui/painting/qbrush.cpp b/src/gui/painting/qbrush.cpp index d3061d8..d0788c7 100644 --- a/src/gui/painting/qbrush.cpp +++ b/src/gui/painting/qbrush.cpp @@ -1218,17 +1218,16 @@ QDataStream &operator>>(QDataStream &s, QBrush &b) \o QConicalGradient \endtable - The colors in a gradient is defined using stop points of the - QGradientStop type, i.e. a position and a color. Use the - setColorAt() function to define a single stop - point. Alternatively, use the setStops() function to define - several stop points in one go. Note that the latter function \e - replaces the current set of stop points. + The colors in a gradient are defined using stop points of the + QGradientStop type; i.e., a position and a color. Use the setColorAt() + function to define a single stop point. Alternatively, use the + setStops() function to define several stop points in one go. Note that + the latter function \e replaces the current set of stop points. It is the gradient's complete set of stop points (accessible through the stops() function) that describes how the gradient area - should be filled. If no stop points have been specified, a - gradient of black at 0 to white at 1 is used. + should be filled. If no stop points have been specified, a gradient + of black at 0 to white at 1 is used. A diagonal linear gradient from black at (100, 100) to white at (200, 200) could be specified like this: -- cgit v0.12 From a2c73d3f0305847343d5015c095073eae0ead197 Mon Sep 17 00:00:00 2001 From: Rhys Weatherley Date: Wed, 15 Sep 2010 10:32:03 +1000 Subject: Rename "interface" in qdeclarativeinterface.h to "qmlInterface" The "interface" name is #define'd to "struct" in Windows COM headers in some SDK's, and creates problems when such headers are mixed with QML bindings. Reviewed-by: Joona Petrell --- src/declarative/qml/qdeclarative.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/declarative/qml/qdeclarative.h b/src/declarative/qml/qdeclarative.h index c6b64ae..985ab72 100644 --- a/src/declarative/qml/qdeclarative.h +++ b/src/declarative/qml/qdeclarative.h @@ -269,7 +269,7 @@ int qmlRegisterInterface(const char *typeName) QByteArray pointerName(name + '*'); QByteArray listName("QDeclarativeListProperty<" + name + ">"); - QDeclarativePrivate::RegisterInterface interface = { + QDeclarativePrivate::RegisterInterface qmlInterface = { 0, qRegisterMetaType(pointerName.constData()), @@ -278,7 +278,7 @@ int qmlRegisterInterface(const char *typeName) qobject_interface_iid() }; - return QDeclarativePrivate::qmlregister(QDeclarativePrivate::InterfaceRegistration, &interface); + return QDeclarativePrivate::qmlregister(QDeclarativePrivate::InterfaceRegistration, &qmlInterface); } template -- cgit v0.12 From 8ab760b70e13318749bcc83e33b9a9b9a849a892 Mon Sep 17 00:00:00 2001 From: Michael Brasser Date: Wed, 15 Sep 2010 10:53:29 +1000 Subject: Restore any absolute geometry changed by AnchorChanges when returning to the base state. Task-number: QTBUG-11834 --- .../util/qdeclarativestateoperations.cpp | 54 ++++++++++++++++++++++ .../qdeclarativestates/data/anchorRewindBug2.qml | 25 ++++++++++ .../qdeclarativestates/tst_qdeclarativestates.cpp | 27 +++++++++++ 3 files changed, 106 insertions(+) create mode 100644 tests/auto/declarative/qdeclarativestates/data/anchorRewindBug2.qml diff --git a/src/declarative/util/qdeclarativestateoperations.cpp b/src/declarative/util/qdeclarativestateoperations.cpp index ccbc4cd..8cb813c 100644 --- a/src/declarative/util/qdeclarativestateoperations.cpp +++ b/src/declarative/util/qdeclarativestateoperations.cpp @@ -1031,6 +1031,11 @@ public: bool applyOrigVCenter; bool applyOrigBaseline; + QDeclarativeNullableValue origWidth; + QDeclarativeNullableValue origHeight; + qreal origX; + qreal origY; + QList oldBindings; QDeclarativeProperty leftProp; @@ -1322,6 +1327,42 @@ void QDeclarativeAnchorChanges::reverse(Reason reason) QDeclarativePropertyPrivate::setBinding(d->vCenterProp, d->origVCenterBinding); if (d->origBaselineBinding) QDeclarativePropertyPrivate::setBinding(d->baselineProp, d->origBaselineBinding); + + //restore any absolute geometry changed by the state's anchors + QDeclarativeAnchors::Anchors stateVAnchors = d->anchorSet->d_func()->usedAnchors & QDeclarativeAnchors::Vertical_Mask; + QDeclarativeAnchors::Anchors origVAnchors = targetPrivate->anchors()->usedAnchors() & QDeclarativeAnchors::Vertical_Mask; + QDeclarativeAnchors::Anchors stateHAnchors = d->anchorSet->d_func()->usedAnchors & QDeclarativeAnchors::Horizontal_Mask; + QDeclarativeAnchors::Anchors origHAnchors = targetPrivate->anchors()->usedAnchors() & QDeclarativeAnchors::Horizontal_Mask; + + bool stateSetWidth = (stateHAnchors && + stateHAnchors != QDeclarativeAnchors::LeftAnchor && + stateHAnchors != QDeclarativeAnchors::RightAnchor && + stateHAnchors != QDeclarativeAnchors::HCenterAnchor); + bool origSetWidth = (origHAnchors && + origHAnchors != QDeclarativeAnchors::LeftAnchor && + origHAnchors != QDeclarativeAnchors::RightAnchor && + origHAnchors != QDeclarativeAnchors::HCenterAnchor); + if (d->origWidth.isValid() && stateSetWidth && !origSetWidth) + d->target->setWidth(d->origWidth.value); + + bool stateSetHeight = (stateVAnchors && + stateVAnchors != QDeclarativeAnchors::TopAnchor && + stateVAnchors != QDeclarativeAnchors::BottomAnchor && + stateVAnchors != QDeclarativeAnchors::VCenterAnchor && + stateVAnchors != QDeclarativeAnchors::BaselineAnchor); + bool origSetHeight = (origVAnchors && + origVAnchors != QDeclarativeAnchors::TopAnchor && + origVAnchors != QDeclarativeAnchors::BottomAnchor && + origVAnchors != QDeclarativeAnchors::VCenterAnchor && + origVAnchors != QDeclarativeAnchors::BaselineAnchor); + if (d->origHeight.isValid() && stateSetHeight && !origSetHeight) + d->target->setHeight(d->origHeight.value); + + if (stateHAnchors && !origHAnchors) + d->target->setX(d->origX); + + if (stateVAnchors && !origVAnchors) + d->target->setY(d->origY); } QString QDeclarativeAnchorChanges::typeName() const @@ -1384,6 +1425,14 @@ void QDeclarativeAnchorChanges::saveOriginals() d->origVCenterBinding = QDeclarativePropertyPrivate::binding(d->vCenterProp); d->origBaselineBinding = QDeclarativePropertyPrivate::binding(d->baselineProp); + QDeclarativeItemPrivate *targetPrivate = QDeclarativeItemPrivate::get(d->target); + if (targetPrivate->widthValid) + d->origWidth = d->target->width(); + if (targetPrivate->heightValid) + d->origHeight = d->target->height(); + d->origX = d->target->x(); + d->origY = d->target->y(); + d->applyOrigLeft = d->applyOrigRight = d->applyOrigHCenter = d->applyOrigTop = d->applyOrigBottom = d->applyOrigVCenter = d->applyOrigBaseline = false; @@ -1416,6 +1465,11 @@ void QDeclarativeAnchorChanges::copyOriginals(QDeclarativeActionEvent *other) d->origVCenterBinding = acp->origVCenterBinding; d->origBaselineBinding = acp->origBaselineBinding; + d->origWidth = acp->origWidth; + d->origHeight = acp->origHeight; + d->origX = acp->origX; + d->origY = acp->origY; + d->oldBindings.clear(); d->oldBindings << acp->leftBinding << acp->rightBinding << acp->hCenterBinding << acp->topBinding << acp->bottomBinding << acp->baselineBinding; diff --git a/tests/auto/declarative/qdeclarativestates/data/anchorRewindBug2.qml b/tests/auto/declarative/qdeclarativestates/data/anchorRewindBug2.qml new file mode 100644 index 0000000..4ed2815 --- /dev/null +++ b/tests/auto/declarative/qdeclarativestates/data/anchorRewindBug2.qml @@ -0,0 +1,25 @@ +import Qt 4.7 + +Rectangle { + id: root + width:200; height:300 + + Rectangle { + id: rectangle + objectName: "mover" + color: "green" + width:50; height:50 + } + + states: [ + State { + name: "anchored" + AnchorChanges { + target: rectangle + anchors.left: root.left + anchors.right: root.right + anchors.bottom: root.bottom + } + } + ] +} diff --git a/tests/auto/declarative/qdeclarativestates/tst_qdeclarativestates.cpp b/tests/auto/declarative/qdeclarativestates/tst_qdeclarativestates.cpp index 4a0ae30..f61ecf5 100644 --- a/tests/auto/declarative/qdeclarativestates/tst_qdeclarativestates.cpp +++ b/tests/auto/declarative/qdeclarativestates/tst_qdeclarativestates.cpp @@ -123,6 +123,7 @@ private slots: void anchorChanges5(); void anchorChangesCrash(); void anchorRewindBug(); + void anchorRewindBug2(); void script(); void restoreEntryValues(); void explicitChanges(); @@ -860,6 +861,32 @@ void tst_qdeclarativestates::anchorRewindBug() delete rect; } +// QTBUG-11834 +void tst_qdeclarativestates::anchorRewindBug2() +{ + QDeclarativeEngine engine; + + QDeclarativeComponent rectComponent(&engine, SRCDIR "/data/anchorRewindBug2.qml"); + QDeclarativeRectangle *rect = qobject_cast(rectComponent.create()); + QVERIFY(rect != 0); + + QDeclarativeRectangle *mover = rect->findChild("mover"); + + QVERIFY(mover != 0); + QCOMPARE(mover->y(), qreal(0.0)); + QCOMPARE(mover->width(), qreal(50.0)); + + QDeclarativeItemPrivate::get(rect)->setState("anchored"); + QCOMPARE(mover->y(), qreal(250.0)); + QCOMPARE(mover->width(), qreal(200.0)); + + QDeclarativeItemPrivate::get(rect)->setState(""); + QCOMPARE(mover->y(), qreal(0.0)); + QCOMPARE(mover->width(), qreal(50.0)); + + delete rect; +} + void tst_qdeclarativestates::script() { QDeclarativeEngine engine; -- cgit v0.12 From a2ca8c305e6ebe145b82588d088f5dc16a4db861 Mon Sep 17 00:00:00 2001 From: Michael Brasser Date: Wed, 15 Sep 2010 12:39:18 +1000 Subject: Give file and line error information for errors in dummydata. This also has the side effect of allowing types to be defined within the dummydata folder than can be used by other files in dummydata. --- tools/qml/qmlruntime.cpp | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/tools/qml/qmlruntime.cpp b/tools/qml/qmlruntime.cpp index b38e80d..1eb7ee8 100644 --- a/tools/qml/qmlruntime.cpp +++ b/tools/qml/qmlruntime.cpp @@ -1067,11 +1067,7 @@ void QDeclarativeViewer::loadDummyDataFiles(const QString& directory) QStringList list = dir.entryList(); for (int i = 0; i < list.size(); ++i) { QString qml = list.at(i); - QFile f(dir.filePath(qml)); - f.open(QIODevice::ReadOnly); - QByteArray data = f.readAll(); - QDeclarativeComponent comp(canvas->engine()); - comp.setData(data, QUrl()); + QDeclarativeComponent comp(canvas->engine(), dir.filePath(qml)); QObject *dummyData = comp.create(); if(comp.isError()) { -- cgit v0.12 From b8ff1ae9d53d7cac64c90d3cf29a5f4ed7379330 Mon Sep 17 00:00:00 2001 From: Yann Bodson Date: Wed, 15 Sep 2010 14:15:03 +1000 Subject: Compile with QT_NO_GESTURES. --- tools/qml/qmlruntime.cpp | 2 ++ 1 file changed, 2 insertions(+) diff --git a/tools/qml/qmlruntime.cpp b/tools/qml/qmlruntime.cpp index 1eb7ee8..c59621a 100644 --- a/tools/qml/qmlruntime.cpp +++ b/tools/qml/qmlruntime.cpp @@ -692,12 +692,14 @@ QDeclarativeViewer::~QDeclarativeViewer() void QDeclarativeViewer::enableExperimentalGestures() { +#ifndef QT_NO_GESTURES canvas->viewport()->grabGesture(Qt::TapGesture,Qt::DontStartGestureOnChildren|Qt::ReceivePartialGestures|Qt::IgnoredGesturesPropagateToParent); canvas->viewport()->grabGesture(Qt::TapAndHoldGesture,Qt::DontStartGestureOnChildren|Qt::ReceivePartialGestures|Qt::IgnoredGesturesPropagateToParent); canvas->viewport()->grabGesture(Qt::PanGesture,Qt::DontStartGestureOnChildren|Qt::ReceivePartialGestures|Qt::IgnoredGesturesPropagateToParent); canvas->viewport()->grabGesture(Qt::PinchGesture,Qt::DontStartGestureOnChildren|Qt::ReceivePartialGestures|Qt::IgnoredGesturesPropagateToParent); canvas->viewport()->grabGesture(Qt::SwipeGesture,Qt::DontStartGestureOnChildren|Qt::ReceivePartialGestures|Qt::IgnoredGesturesPropagateToParent); canvas->viewport()->setAttribute(Qt::WA_AcceptTouchEvents); +#endif } QDeclarativeView *QDeclarativeViewer::view() const -- cgit v0.12 From 2a880df9a7c82f904f7761d389c7cd00d3c088cb Mon Sep 17 00:00:00 2001 From: Yann Bodson Date: Wed, 15 Sep 2010 15:20:00 +1000 Subject: Add missing images for dynamiclist example. --- .../modelviews/listview/content/pics/arrow-down.png | Bin 0 -> 594 bytes .../modelviews/listview/content/pics/arrow-up.png | Bin 0 -> 692 bytes .../modelviews/listview/content/pics/list-delete.png | Bin 0 -> 831 bytes .../modelviews/listview/content/pics/minus-sign.png | Bin 498 -> 250 bytes .../modelviews/listview/content/pics/plus-sign.png | Bin 907 -> 462 bytes 5 files changed, 0 insertions(+), 0 deletions(-) create mode 100644 examples/declarative/modelviews/listview/content/pics/arrow-down.png create mode 100644 examples/declarative/modelviews/listview/content/pics/arrow-up.png create mode 100644 examples/declarative/modelviews/listview/content/pics/list-delete.png diff --git a/examples/declarative/modelviews/listview/content/pics/arrow-down.png b/examples/declarative/modelviews/listview/content/pics/arrow-down.png new file mode 100644 index 0000000..29d1d44 Binary files /dev/null and b/examples/declarative/modelviews/listview/content/pics/arrow-down.png differ diff --git a/examples/declarative/modelviews/listview/content/pics/arrow-up.png b/examples/declarative/modelviews/listview/content/pics/arrow-up.png new file mode 100644 index 0000000..e437312 Binary files /dev/null and b/examples/declarative/modelviews/listview/content/pics/arrow-up.png differ diff --git a/examples/declarative/modelviews/listview/content/pics/list-delete.png b/examples/declarative/modelviews/listview/content/pics/list-delete.png new file mode 100644 index 0000000..df2a147 Binary files /dev/null and b/examples/declarative/modelviews/listview/content/pics/list-delete.png differ diff --git a/examples/declarative/modelviews/listview/content/pics/minus-sign.png b/examples/declarative/modelviews/listview/content/pics/minus-sign.png index 2bb1a59..d6f233d 100644 Binary files a/examples/declarative/modelviews/listview/content/pics/minus-sign.png and b/examples/declarative/modelviews/listview/content/pics/minus-sign.png differ diff --git a/examples/declarative/modelviews/listview/content/pics/plus-sign.png b/examples/declarative/modelviews/listview/content/pics/plus-sign.png index e029787..40df113 100644 Binary files a/examples/declarative/modelviews/listview/content/pics/plus-sign.png and b/examples/declarative/modelviews/listview/content/pics/plus-sign.png differ -- cgit v0.12 From 66420856664c7a412b3c9efe4be6ff7a6061e5f2 Mon Sep 17 00:00:00 2001 From: Martin Smith Date: Wed, 15 Sep 2010 09:36:51 +0200 Subject: qdoc: Fixed an html formatting error in the QML property list. --- tools/qdoc3/htmlgenerator.cpp | 22 +--------------------- 1 file changed, 1 insertion(+), 21 deletions(-) diff --git a/tools/qdoc3/htmlgenerator.cpp b/tools/qdoc3/htmlgenerator.cpp index bc71b6e..5934319 100644 --- a/tools/qdoc3/htmlgenerator.cpp +++ b/tools/qdoc3/htmlgenerator.cpp @@ -4185,36 +4185,16 @@ void HtmlGenerator::generateQmlSummary(const Section& section, CodeMarker *marker) { if (!section.members.isEmpty()) { - NodeList::ConstIterator m; - int count = section.members.size(); - bool twoColumn = false; - if (section.members.first()->type() == Node::QmlProperty) { - twoColumn = (count >= 5); - twoColumn = false; - } - if (twoColumn) - out() << "\n"; - if (++numTableRows % 2 == 1) - out() << ""; - else - out() << ""; - // << "\n
    "; out() << "
      \n"; - - int row = 0; + NodeList::ConstIterator m; m = section.members.begin(); while (m != section.members.end()) { - if (twoColumn && row == (int) (count + 1) / 2) - out() << "
      \n"; out() << "
    • "; generateQmlItem(*m,relative,marker,true); out() << "
    • \n"; - row++; ++m; } out() << "
    \n"; - if (twoColumn) - out() << "
    \n"; } } -- cgit v0.12 From f9a3f15376d0c0cddc4ab023d2421859847df56b Mon Sep 17 00:00:00 2001 From: Miikka Heikkinen Date: Wed, 15 Sep 2010 10:30:55 +0300 Subject: Do not wait for QThread exit when destroying global statics in Symbian Symbian kernel will kill all threads except the main one before running destructors on global static objects. Qt gets no notification of these thread terminations, so it'll still think those threads are running and will wait indefinitely for their exit. QThread::wait() now checks if the thread is actually still alive before starting to wait on thread_done wait condition. Task-number: QTBUG-13612 Reviewed-by: Janne Koskinen --- src/corelib/thread/qthread_unix.cpp | 35 +++++++++++++++++++++++++++++------ 1 file changed, 29 insertions(+), 6 deletions(-) diff --git a/src/corelib/thread/qthread_unix.cpp b/src/corelib/thread/qthread_unix.cpp index d193b2e..2824e15 100644 --- a/src/corelib/thread/qthread_unix.cpp +++ b/src/corelib/thread/qthread_unix.cpp @@ -142,6 +142,20 @@ static void destroy_current_thread_data_key() } Q_DESTRUCTOR_FUNCTION(destroy_current_thread_data_key) +#ifdef Q_OS_SYMBIAN +static void init_symbian_thread_handle(RThread &thread) +{ + thread = RThread(); + TThreadId threadId = thread.Id(); + thread.Open(threadId); + + // Make thread handle accessible process wide + RThread originalCloser = thread; + thread.Duplicate(thread, EOwnerProcess); + originalCloser.Close(); +} +#endif + QThreadData *QThreadData::current() { pthread_once(¤t_thread_data_once, create_current_thread_data_key); @@ -182,9 +196,7 @@ void QAdoptedThread::init() Q_D(QThread); d->thread_id = pthread_self(); #ifdef Q_OS_SYMBIAN - d->data->symbian_thread_handle = RThread(); - TThreadId threadId = d->data->symbian_thread_handle.Id(); - d->data->symbian_thread_handle.Open(threadId); + init_symbian_thread_handle(d->data->symbian_thread_handle); #endif } @@ -244,9 +256,8 @@ void *QThreadPrivate::start(void *arg) // RThread and pthread_t, we must delay initialization of the RThread // handle when creating a thread, until we are running in the new thread. // Here, we pick up the current thread and assign that to the handle. - data->symbian_thread_handle = RThread(); - TThreadId threadId = data->symbian_thread_handle.Id(); - data->symbian_thread_handle.Open(threadId); + init_symbian_thread_handle(data->symbian_thread_handle); + // On symbian, threads other than the main thread are non critical by default // This means a worker thread can crash without crashing the application - to // use this feature, we would need to use RThread::Logon in the main thread @@ -657,6 +668,18 @@ bool QThread::wait(unsigned long time) return true; while (d->running) { +#ifdef Q_OS_SYMBIAN + // Check if thread still exists. Needed because kernel will kill it without notification + // before global statics are deleted at application exit. + if (d->data->symbian_thread_handle.Handle() + && d->data->symbian_thread_handle.ExitType() != EExitPending) { + // Cannot call finish here as wait is typically called from another thread. + // It won't be necessary anyway, as we should never get here under normal operations; + // all QThreads are EProcessCritical and therefore cannot normally exit + // undetected (i.e. panic) as long as all thread control is via QThread. + return true; + } +#endif if (!d->thread_done.wait(locker.mutex(), time)) return false; } -- cgit v0.12 From 4303f95b24af971393ba5d42eae616f683abaa04 Mon Sep 17 00:00:00 2001 From: Thomas Hartmann Date: Wed, 15 Sep 2010 10:55:50 +0200 Subject: crashfix for tst_qdeclarativeanimations::badTypes() We always have to check for 0 before converting a raw pointer into a smart pointer Reviewed-by: Kai Koehne --- src/declarative/qml/qdeclarativebinding_p.h | 3 ++- src/declarative/util/qdeclarativestate_p_p.h | 10 +++++----- 2 files changed, 7 insertions(+), 6 deletions(-) diff --git a/src/declarative/qml/qdeclarativebinding_p.h b/src/declarative/qml/qdeclarativebinding_p.h index f38ed23..941a1b3 100644 --- a/src/declarative/qml/qdeclarativebinding_p.h +++ b/src/declarative/qml/qdeclarativebinding_p.h @@ -88,13 +88,14 @@ public: void addToObject(QObject *); void removeFromObject(); - Pointer weakPointer(); + static Pointer getPointer(QDeclarativeAbstractBinding *p) { return p ? p->weakPointer() : Pointer(); } protected: virtual ~QDeclarativeAbstractBinding(); void clear(); private: + Pointer weakPointer(); friend class QDeclarativeData; friend class QDeclarativeValueTypeProxyBinding; diff --git a/src/declarative/util/qdeclarativestate_p_p.h b/src/declarative/util/qdeclarativestate_p_p.h index c3c7bb4..4fd8f21 100644 --- a/src/declarative/util/qdeclarativestate_p_p.h +++ b/src/declarative/util/qdeclarativestate_p_p.h @@ -80,12 +80,12 @@ public: if (state == StartState) { m_value = a.fromValue; if (QDeclarativePropertyPrivate::binding(m_property)) { - m_binding = QDeclarativePropertyPrivate::binding(m_property)->weakPointer(); + m_binding = QDeclarativeAbstractBinding::getPointer(QDeclarativePropertyPrivate::binding(m_property)); } m_reverseEvent = true; } else { m_value = a.toValue; - m_binding = a.toBinding->weakPointer(); + m_binding = QDeclarativeAbstractBinding::getPointer(a.toBinding); m_reverseEvent = false; } } @@ -97,7 +97,7 @@ public: QDeclarativeSimpleAction(const QDeclarativeSimpleAction &other) : m_property(other.m_property), m_value(other.m_value), - m_binding(other.binding() ? other.binding()->weakPointer() : QDeclarativeAbstractBinding::Pointer()), + m_binding(QDeclarativeAbstractBinding::getPointer(other.binding())), m_specifiedObject(other.m_specifiedObject), m_specifiedProperty(other.m_specifiedProperty), m_event(other.m_event), @@ -109,7 +109,7 @@ public: { m_property = other.m_property; m_value = other.m_value; - m_binding = other.binding() ? other.binding()->weakPointer() : QDeclarativeAbstractBinding::Pointer(); + m_binding = QDeclarativeAbstractBinding::getPointer(other.binding()); m_specifiedObject = other.m_specifiedObject; m_specifiedProperty = other.m_specifiedProperty; m_event = other.m_event; @@ -140,7 +140,7 @@ public: void setBinding(QDeclarativeAbstractBinding *binding) { - m_binding = binding->weakPointer(); + m_binding = QDeclarativeAbstractBinding::getPointer(binding); } QDeclarativeAbstractBinding *binding() const -- cgit v0.12 From e3801c20bd3626c3c9c9fac110ee2f9e4269e3c8 Mon Sep 17 00:00:00 2001 From: Olivier Goffart Date: Wed, 15 Sep 2010 11:05:06 +0200 Subject: QEventDispatcherUnix: do not process too many timer if other events need to be processed first Task-number: QTBUG-13633 Reviewed-by: Brad --- src/corelib/kernel/qeventdispatcher_unix.cpp | 22 ++++++---- tests/auto/qtimer/tst_qtimer.cpp | 64 ++++++++++++++++++++++++++-- 2 files changed, 74 insertions(+), 12 deletions(-) diff --git a/src/corelib/kernel/qeventdispatcher_unix.cpp b/src/corelib/kernel/qeventdispatcher_unix.cpp index 9dadd82..f50994c 100644 --- a/src/corelib/kernel/qeventdispatcher_unix.cpp +++ b/src/corelib/kernel/qeventdispatcher_unix.cpp @@ -549,18 +549,22 @@ int QTimerInfoList::activateTimers() if (qt_disable_lowpriority_timers || isEmpty()) return 0; // nothing to do - bool firstTime = true; - timeval currentTime; - int n_act = 0, maxCount = count(); + int n_act = 0, maxCount = 0; firstTimerInfo = 0; - while (maxCount--) { - currentTime = updateCurrentTime(); - if (firstTime) { - repairTimersIfNeeded(); - firstTime = false; - } + timeval currentTime = updateCurrentTime(); + repairTimersIfNeeded(); + + // Find out how many timer have expired + for (QTimerInfoList::const_iterator it = constBegin(); it != constEnd(); ++it) { + if (currentTime < (*it)->timeout) + break; + maxCount++; + } + + //fire the timers. + while (maxCount--) { if (isEmpty()) break; diff --git a/tests/auto/qtimer/tst_qtimer.cpp b/tests/auto/qtimer/tst_qtimer.cpp index b651187..4ed42cf 100644 --- a/tests/auto/qtimer/tst_qtimer.cpp +++ b/tests/auto/qtimer/tst_qtimer.cpp @@ -87,6 +87,8 @@ private slots: void cancelLongTimer(); void singleShotStaticFunctionZeroTimeout(); void recurseOnTimeoutAndStopTimer(); + + void QTBUG13633_dontBlockEvents(); }; class TimerHelper : public QObject @@ -272,9 +274,6 @@ void tst_QTimer::livelock() #if defined(Q_OS_MAC) QEXPECT_FAIL("zero timer", "Posted events source are handled AFTER timers", Continue); QEXPECT_FAIL("non-zero timer", "Posted events source are handled AFTER timers", Continue); -#elif defined(Q_OS_UNIX) && !defined(Q_OS_SYMBIAN) - QEXPECT_FAIL("zero timer", "", Continue); - QEXPECT_FAIL("non-zero timer", "", Continue); #elif defined(Q_OS_WIN) && !defined(Q_OS_WINCE) if (QSysInfo::WindowsVersion < QSysInfo::WV_XP) QEXPECT_FAIL("non-zero timer", "Multimedia timers are not available on Windows 2000", Continue); @@ -668,5 +667,64 @@ void tst_QTimer::recurseOnTimeoutAndStopTimer() QVERIFY(!t.two->isActive()); } + + +class DontBlockEvents : public QObject +{ + Q_OBJECT +public: + DontBlockEvents(); + void timerEvent(QTimerEvent*); + + int count; + int total; + QBasicTimer m_timer; + +public slots: + void paintEvent(); + +}; + +DontBlockEvents::DontBlockEvents() +{ + count = 0; + total = 0; + + //QTBUG-13633 need few unrelated timer running to reproduce the bug. + (new QTimer(this))->start(2000); + (new QTimer(this))->start(2500); + (new QTimer(this))->start(3000); + (new QTimer(this))->start(5000); + (new QTimer(this))->start(1000); + (new QTimer(this))->start(2000); + + m_timer.start(1, this); +} + +void DontBlockEvents::timerEvent(QTimerEvent* event) +{ + if (event->timerId() == m_timer.timerId()) { + m_timer.start(0, this); + QMetaObject::invokeMethod(this, "paintEvent", Qt::QueuedConnection); + count++; + QCOMPARE(count, 1); + total++; + } +} + +void DontBlockEvents::paintEvent() +{ + count--; + QCOMPARE(count, 0); +} + + +void tst_QTimer::QTBUG13633_dontBlockEvents() +{ + DontBlockEvents t; + QTest::qWait(60); + QVERIFY(t.total > 2); +} + QTEST_MAIN(tst_QTimer) #include "tst_qtimer.moc" -- cgit v0.12 From b96c55b0edf888b919ac365465529a7b5e4d0ae6 Mon Sep 17 00:00:00 2001 From: Stephen Kelly Date: Wed, 15 Sep 2010 11:33:43 +0200 Subject: Make sure mapSelectionFromSource does not return a selection with invalid ranges. Similar for mapSelectionToSource, but that one could possibly be an assert instead. Merge-request: 2474 Reviewed-by: Olivier Goffart --- src/gui/itemviews/qabstractproxymodel.cpp | 16 ++++++--- .../tst_qsortfilterproxymodel.cpp | 39 ++++++++++++++++++++++ 2 files changed, 51 insertions(+), 4 deletions(-) diff --git a/src/gui/itemviews/qabstractproxymodel.cpp b/src/gui/itemviews/qabstractproxymodel.cpp index 43a1327..1c600e2 100644 --- a/src/gui/itemviews/qabstractproxymodel.cpp +++ b/src/gui/itemviews/qabstractproxymodel.cpp @@ -187,8 +187,12 @@ QItemSelection QAbstractProxyModel::mapSelectionToSource(const QItemSelection &p { QModelIndexList proxyIndexes = proxySelection.indexes(); QItemSelection sourceSelection; - for (int i = 0; i < proxyIndexes.size(); ++i) - sourceSelection << QItemSelectionRange(mapToSource(proxyIndexes.at(i))); + for (int i = 0; i < proxyIndexes.size(); ++i) { + const QModelIndex proxyIdx = mapToSource(proxyIndexes.at(i)); + if (!proxyIdx.isValid()) + continue; + sourceSelection << QItemSelectionRange(proxyIdx); + } return sourceSelection; } @@ -201,8 +205,12 @@ QItemSelection QAbstractProxyModel::mapSelectionFromSource(const QItemSelection { QModelIndexList sourceIndexes = sourceSelection.indexes(); QItemSelection proxySelection; - for (int i = 0; i < sourceIndexes.size(); ++i) - proxySelection << QItemSelectionRange(mapFromSource(sourceIndexes.at(i))); + for (int i = 0; i < sourceIndexes.size(); ++i) { + const QModelIndex srcIdx = mapFromSource(sourceIndexes.at(i)); + if (!srcIdx.isValid()) + continue; + proxySelection << QItemSelectionRange(srcIdx); + } return proxySelection; } diff --git a/tests/auto/qsortfilterproxymodel/tst_qsortfilterproxymodel.cpp b/tests/auto/qsortfilterproxymodel/tst_qsortfilterproxymodel.cpp index 53fefee..66caf4a 100644 --- a/tests/auto/qsortfilterproxymodel/tst_qsortfilterproxymodel.cpp +++ b/tests/auto/qsortfilterproxymodel/tst_qsortfilterproxymodel.cpp @@ -143,6 +143,7 @@ private slots: void taskQTBUG_10287_unnecessaryMapCreation(); void testMultipleProxiesWithSelection(); + void mapSelectionFromSource(); protected: void buildHierarchy(const QStringList &data, QAbstractItemModel *model); @@ -3075,6 +3076,44 @@ void tst_QSortFilterProxyModel::testMultipleProxiesWithSelection() } +static bool isValid(const QItemSelection &selection) { + foreach(const QItemSelectionRange &range, selection) + if (!range.isValid()) + return false; + return true; +} + +void tst_QSortFilterProxyModel::mapSelectionFromSource() +{ + QStringListModel model; + const QStringList initial = QString("bravo charlie delta echo").split(" "); + model.setStringList(initial); + + QSortFilterProxyModel proxy; + proxy.setDynamicSortFilter(true); + proxy.setFilterRegExp("d.*"); + proxy.setSourceModel(&model); + + // Only "delta" remains. + QVERIFY(proxy.rowCount() == 1); + + QItemSelection selection; + QModelIndex charlie = model.index(1, 0); + selection.append(QItemSelectionRange(charlie, charlie)); + QModelIndex delta = model.index(2, 0); + selection.append(QItemSelectionRange(delta, delta)); + QModelIndex echo = model.index(3, 0); + selection.append(QItemSelectionRange(echo, echo)); + + QVERIFY(isValid(selection)); + + QItemSelection proxiedSelection = proxy.mapSelectionFromSource(selection); + + // Only "delta" is in the mapped result. + QVERIFY(proxiedSelection.size() == 1); + QVERIFY(isValid(proxiedSelection)); +} + class Model10287 : public QStandardItemModel { Q_OBJECT -- cgit v0.12 From 1ca554e1744a8e430483a5df3aa9716c266d0c2c Mon Sep 17 00:00:00 2001 From: Joerg Bornemann Date: Wed, 15 Sep 2010 11:08:29 +0200 Subject: fix error messages when configuring Qt Commit 019032c93b7397c7239ec99ec44b4923df31533b introduced a lot of annoying error messages when configuring Qt. It makes qmake complain that it cannot find rcc and uic, which aren't yet built at this point. We're now checking for the existence of the depend_command if it is given as absolute path. This is the case for uic and rcc. Yeah this is a weak solution for sick code. Task-number: QTBUG-13366 Reviewed-by: ossi --- qmake/generators/makefile.cpp | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/qmake/generators/makefile.cpp b/qmake/generators/makefile.cpp index cd034b8..3cb1942 100644 --- a/qmake/generators/makefile.cpp +++ b/qmake/generators/makefile.cpp @@ -1797,7 +1797,9 @@ MakefileGenerator::writeExtraCompilerTargets(QTextStream &t) } else { cmdline[argv0] = escapeFilePath(cmdline.at(argv0)); } - tmp_dep_cmd = cmdline.join(" "); + QFileInfo cmdFileInfo(cmdline[argv0]); + if (!cmdFileInfo.isAbsolute() || cmdFileInfo.exists()) + tmp_dep_cmd = cmdline.join(" "); } dep_cd_cmd = QLatin1String("cd ") + escapeFilePath(Option::fixPathToLocalOS(Option::output_dir, false)) -- cgit v0.12 From 7d861db82b9f8204c2fdc3c12220dd03bdb7b255 Mon Sep 17 00:00:00 2001 From: Benjamin Poulain Date: Wed, 15 Sep 2010 13:03:37 +0200 Subject: The test livelock of QTimer is now expected to work Following the patch e3801c20bd3626c3c9c9fac110ee2f9e4269e3c8 of Olivier, this test is working for Mac as well. Reviewed-by: Olivier Goffart --- tests/auto/qtimer/tst_qtimer.cpp | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/tests/auto/qtimer/tst_qtimer.cpp b/tests/auto/qtimer/tst_qtimer.cpp index 4ed42cf..73b3452 100644 --- a/tests/auto/qtimer/tst_qtimer.cpp +++ b/tests/auto/qtimer/tst_qtimer.cpp @@ -271,10 +271,7 @@ void tst_QTimer::livelock() QCOMPARE(tester.timeoutsForFirst, 1); QCOMPARE(tester.timeoutsForExtra, 0); QCOMPARE(tester.timeoutsForSecond, 1); -#if defined(Q_OS_MAC) - QEXPECT_FAIL("zero timer", "Posted events source are handled AFTER timers", Continue); - QEXPECT_FAIL("non-zero timer", "Posted events source are handled AFTER timers", Continue); -#elif defined(Q_OS_WIN) && !defined(Q_OS_WINCE) +#if defined(Q_OS_WIN) && !defined(Q_OS_WINCE) if (QSysInfo::WindowsVersion < QSysInfo::WV_XP) QEXPECT_FAIL("non-zero timer", "Multimedia timers are not available on Windows 2000", Continue); #elif defined(Q_OS_WINCE) -- cgit v0.12 From 15ba1ff23c140849d3cac32a5005c352cd5a699f Mon Sep 17 00:00:00 2001 From: Geir Vattekar Date: Wed, 15 Sep 2010 13:30:55 +0200 Subject: Doc: Note on updating proxy models with dynamic sort filters Task-number: QT-689 Reviewed-by: David Boddie --- src/gui/itemviews/qsortfilterproxymodel.cpp | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/gui/itemviews/qsortfilterproxymodel.cpp b/src/gui/itemviews/qsortfilterproxymodel.cpp index 953a7f1..dc8d938 100644 --- a/src/gui/itemviews/qsortfilterproxymodel.cpp +++ b/src/gui/itemviews/qsortfilterproxymodel.cpp @@ -2230,6 +2230,14 @@ void QSortFilterProxyModel::setFilterFixedString(const QString &pattern) \brief whether the proxy model is dynamically sorted and filtered whenever the contents of the source model change + Note that you should not update the source model through the proxy + model when dynamicSortFilter is true. For instance, if you set the + proxy model on a QComboBox, then using functions that update the + model, e.g., \l{QComboBox::}{addItem()}, will not work as + expected. An alternative is to set dynamicSortFilter to false and + call \l{QSortFilterProxyModel::}{sort()} after adding items to the + QComboBox. + The default value is false. */ bool QSortFilterProxyModel::dynamicSortFilter() const -- cgit v0.12 From 95ea80e8d798527c6e0bb750f9a9746ec8c76e75 Mon Sep 17 00:00:00 2001 From: Morten Engvoldsen Date: Wed, 15 Sep 2010 14:59:01 +0200 Subject: Revert "Doc: fixing page name bug caused by 07bbace404078dcfd82eff717daa97299b8ba52c changing qml elements page" Doc: pulling back redundant fix that is breaking links - qmlelements.html/declarativeelements.html This reverts commit 064b7fe6f97bcf214f749794c5ccab3b4cf0bcc7. --- tools/qdoc3/test/qt-html-templates.qdocconf | 50 +++++++++++++---------------- 1 file changed, 22 insertions(+), 28 deletions(-) diff --git a/tools/qdoc3/test/qt-html-templates.qdocconf b/tools/qdoc3/test/qt-html-templates.qdocconf index 2069455..fe25368 100644 --- a/tools/qdoc3/test/qt-html-templates.qdocconf +++ b/tools/qdoc3/test/qt-html-templates.qdocconf @@ -9,11 +9,6 @@ HTML.postheader = "
    \n" \ "
    \n" \ " Home
    \n" \ " Qt Reference Documentation\n" \ - "
    \n" \ - "
    \n" \ - " \n" \ - "
    \n" \ - "
    \n" \ "
    \n" \ " \n" \ "
  • \n" \ " Print
  • \n" \ " \n" \ - "
    \n" \ + "
    \n" \ " \n" \ "
    \n" -HTML.footer = " \n" \ +HTML.footer = "" \ "
    \n" \ " [+] Documentation Feedback
    \n" \ "
    \n" \ " \n" \ + " \n" \ + " \n" \ "
    \n" \ " \n" \ "
    \n" \ - " \n" \ - " \n" \ "
    \n" \ "

    \n" \ " © 2008-2010 Nokia Corporation and/or its\n" \ @@ -160,28 +155,27 @@ HTML.footer = " \n" \ "

    \n" \ " All other trademarks are property of their respective owners. Privacy Policy

    \n" \ - "
    \n" \ - "

    \n" \ - " Licensees holding valid Qt Commercial licenses may use this document in accordance with the" \ - " Qt Commercial License Agreement provided with the Software or, alternatively, in accordance" \ - " with the terms contained in a written agreement between you and Nokia.

    \n" \ - "

    \n" \ - " Alternatively, this document may be used under the terms of the GNU\n" \ - " Free Documentation License version 1.3\n" \ - " as published by the Free Software Foundation.

    \n" \ + "
    \n" \ + "

    \n" \ + " Licensees holding valid Qt Commercial licenses may use this document in accordance with the" \ + " Qt Commercial License Agreement provided with the Software or, alternatively, in accordance" \ + " with the terms contained in a written agreement between you and Nokia.

    \n" \ + "

    \n" \ + " Alternatively, this document may be used under the terms of the GNU\n" \ + " Free Documentation License version 1.3\n" \ + " as published by the Free Software Foundation.

    \n" \ "
    \n" \ "
    \n" \ "
    X
    \n" \ "
    \n" \ - "

    Thank you for giving your feedback.

    Make sure it is related to this specific page. For more general bugs and \n" \ - " requests, please use the Qt Bug Tracker.

    \n" \ + "

    Thank you for giving your feedback.

    Make sure it is related to this specific page. For more general bugs and \n" \ + " requests, please use the Qt Bug Tracker.

    \n" \ "

    \n" \ "

    \n" \ "
    \n" \ "
    \n" \ "
    \n" \ "
    \n" \ - " \n" \ "\n"; - out() << " \n"; + out() << " \n"; out() << "\n"; break; case Creator: diff --git a/tools/qdoc3/test/qt-html-templates.qdocconf b/tools/qdoc3/test/qt-html-templates.qdocconf index e6eea3b..99fd31a 100644 --- a/tools/qdoc3/test/qt-html-templates.qdocconf +++ b/tools/qdoc3/test/qt-html-templates.qdocconf @@ -175,14 +175,4 @@ HTML.footer = "" \ " \n" \ " \n" \ "
    \n" \ - "
    \n" \ - "\n" + " \n" -- cgit v0.12 From b827e9329ec1ab9abb4e591f0b4c8349cf0d1e89 Mon Sep 17 00:00:00 2001 From: Geir Vattekar Date: Thu, 16 Sep 2010 13:46:10 +0200 Subject: Doc: Updated What's new in 4.7 page Reviewed-by: Henry Haverinen --- doc/src/qt4-intro.qdoc | 69 +++++++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 68 insertions(+), 1 deletion(-) diff --git a/doc/src/qt4-intro.qdoc b/doc/src/qt4-intro.qdoc index efbfc0c..919bb88 100644 --- a/doc/src/qt4-intro.qdoc +++ b/doc/src/qt4-intro.qdoc @@ -476,7 +476,7 @@ QML UIs through drag-and-drop. The text editor supports the QML syntax and provides authoring assistance such as auto-completion, error lookup, help lookup and easy preview of QML UI's. The Qt - Quick features in Qt Creator will be released with Qt Creator 2.1 + Quick features in Qt Creator will be released with Qt Creator 2.1 \endlist \section1 Network Bearer Management @@ -489,6 +489,73 @@ QNetworkAccessManager uses this API for HTTP level roaming. + \section1 Feature Improvements in QtWebKit + + The QGraphicsWebView class has a new tiled backing store, which + improves scrolling and zooming performance. You can even create + animated zoom-in or zoom-out effects (see + QWebSettings::TiledBackingStoreEnabled). + + On mobile platforms, it is often useful to avoid displaying + separate scrollbars for iframes and framesets. If you switch on + frame flattening, QtWebKit will resize frames to fit their content + to avoid separate scrollbars (see + QWebSettings::FrameFlatteningEnabled). + + Qt 4.7 adds support for accelerated compositing, which enhances + the performance of CSS animations and transitions. Read more in + \l{http://labs.trolltech.com/blogs/2010/05/17/qtwebkit-now-accelerates-css-animations-3d-transforms/}{this blog}. + + For hybrid QtWebKit and C++ projects, Qt 4.7 has added support for + transporting \l{QPixmap}s between Qt C++ and WebKit. We have also + improved the documentation hybrid development. Read more here: + \l{The QtWebKit Bridge}. + + \section1 QtWebKit Performance Benchmarks + + We have introduced a set of performance benchmarks for QtWebKit, + and made numerous improvements in rendering performance, page + loading performance, scrolling performance and CSS performance. + Here are some examples from the benchmarks run on a 64-bit Linux + workstation with the raster graphics system. + + In a benchmark that measures the scrolling performance on popular + websites, we found out that Qt 4.7.0 on this platform is 350% + faster than Qt 4.6.0, thanks to several rendering related + improvements. + + Our page loading benchmark shows an improvement of 16% in Qt 4.7.0 + from Qt 4.6.0. This is due to improvements in text layout speed, + image decoding, resource loading and event handling. + + Several CSS animation benchmarks indicate a speed improvement of + 31% from Qt 4.6.0 to Qt 4.7.0. These benchmarks are effectively + showing the improvement we get from accelerated compositing (see + above). + + \section1 Other Performance Related Improvements + + In addition to the QtWebKit module, performance has been a focus + area in Qt 4.7 throughout the Qt framework. Here are a couple of + examples about performance related feature improvements. + + On Mac OS X, Qt now uses a different widget implementation (called + "alien widgets"), which improves the responsiveness of + applications that have complex user interfaces with several + widgets. + + Qt 4.7 introduces the QStaticText class, which can be used to + improve text rendering performance. More info is available from + \l{http://labs.trolltech.com/blogs/2010/03/01/insanity-is-shaping-the-same-text-again-and-expecting-a-different-result/}{this blog}. + + The QPainter class has a new API for rendering pixmap fragments + (QPainter::drawPixmapFragments), which can improve the rendering + performance of applications that need to render + \l{QPainter::drawPixmapFragments()}{pixmap fragments}. + + Qt 4.7 has an updated version of the JavaScriptCore engine for the + QtScript module, which improves JavaScript execution performance. + \section1 New Classes, Functions, Macros, etc. Links to new classes, elements, functions, macros, and other items -- cgit v0.12 From a5fc13fddd1c8a4c537c0b15adabbde76c36b36c Mon Sep 17 00:00:00 2001 From: Geir Vattekar Date: Thu, 16 Sep 2010 13:46:10 +0200 Subject: Doc: Updated What's new in 4.7 page Reviewed-by: Henry Haverinen --- doc/src/qt4-intro.qdoc | 69 +++++++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 68 insertions(+), 1 deletion(-) diff --git a/doc/src/qt4-intro.qdoc b/doc/src/qt4-intro.qdoc index efbfc0c..919bb88 100644 --- a/doc/src/qt4-intro.qdoc +++ b/doc/src/qt4-intro.qdoc @@ -476,7 +476,7 @@ QML UIs through drag-and-drop. The text editor supports the QML syntax and provides authoring assistance such as auto-completion, error lookup, help lookup and easy preview of QML UI's. The Qt - Quick features in Qt Creator will be released with Qt Creator 2.1 + Quick features in Qt Creator will be released with Qt Creator 2.1 \endlist \section1 Network Bearer Management @@ -489,6 +489,73 @@ QNetworkAccessManager uses this API for HTTP level roaming. + \section1 Feature Improvements in QtWebKit + + The QGraphicsWebView class has a new tiled backing store, which + improves scrolling and zooming performance. You can even create + animated zoom-in or zoom-out effects (see + QWebSettings::TiledBackingStoreEnabled). + + On mobile platforms, it is often useful to avoid displaying + separate scrollbars for iframes and framesets. If you switch on + frame flattening, QtWebKit will resize frames to fit their content + to avoid separate scrollbars (see + QWebSettings::FrameFlatteningEnabled). + + Qt 4.7 adds support for accelerated compositing, which enhances + the performance of CSS animations and transitions. Read more in + \l{http://labs.trolltech.com/blogs/2010/05/17/qtwebkit-now-accelerates-css-animations-3d-transforms/}{this blog}. + + For hybrid QtWebKit and C++ projects, Qt 4.7 has added support for + transporting \l{QPixmap}s between Qt C++ and WebKit. We have also + improved the documentation hybrid development. Read more here: + \l{The QtWebKit Bridge}. + + \section1 QtWebKit Performance Benchmarks + + We have introduced a set of performance benchmarks for QtWebKit, + and made numerous improvements in rendering performance, page + loading performance, scrolling performance and CSS performance. + Here are some examples from the benchmarks run on a 64-bit Linux + workstation with the raster graphics system. + + In a benchmark that measures the scrolling performance on popular + websites, we found out that Qt 4.7.0 on this platform is 350% + faster than Qt 4.6.0, thanks to several rendering related + improvements. + + Our page loading benchmark shows an improvement of 16% in Qt 4.7.0 + from Qt 4.6.0. This is due to improvements in text layout speed, + image decoding, resource loading and event handling. + + Several CSS animation benchmarks indicate a speed improvement of + 31% from Qt 4.6.0 to Qt 4.7.0. These benchmarks are effectively + showing the improvement we get from accelerated compositing (see + above). + + \section1 Other Performance Related Improvements + + In addition to the QtWebKit module, performance has been a focus + area in Qt 4.7 throughout the Qt framework. Here are a couple of + examples about performance related feature improvements. + + On Mac OS X, Qt now uses a different widget implementation (called + "alien widgets"), which improves the responsiveness of + applications that have complex user interfaces with several + widgets. + + Qt 4.7 introduces the QStaticText class, which can be used to + improve text rendering performance. More info is available from + \l{http://labs.trolltech.com/blogs/2010/03/01/insanity-is-shaping-the-same-text-again-and-expecting-a-different-result/}{this blog}. + + The QPainter class has a new API for rendering pixmap fragments + (QPainter::drawPixmapFragments), which can improve the rendering + performance of applications that need to render + \l{QPainter::drawPixmapFragments()}{pixmap fragments}. + + Qt 4.7 has an updated version of the JavaScriptCore engine for the + QtScript module, which improves JavaScript execution performance. + \section1 New Classes, Functions, Macros, etc. Links to new classes, elements, functions, macros, and other items -- cgit v0.12 From ed893bb4f6b26f0fd8a6d9fb0cc4099727693494 Mon Sep 17 00:00:00 2001 From: Morten Engvoldsen Date: Thu, 16 Sep 2010 14:22:07 +0200 Subject: Doc: correcting html template --- tools/qdoc3/test/qt-html-templates.qdocconf | 15 +++------------ 1 file changed, 3 insertions(+), 12 deletions(-) diff --git a/tools/qdoc3/test/qt-html-templates.qdocconf b/tools/qdoc3/test/qt-html-templates.qdocconf index fe25368..8bc8a02 100644 --- a/tools/qdoc3/test/qt-html-templates.qdocconf +++ b/tools/qdoc3/test/qt-html-templates.qdocconf @@ -143,10 +143,11 @@ HTML.footer = "" \ " \n" \ " \n" \ " \n" \ - " \n" \ "
    \n" \ " \n" \ "
    \n" \ + " \n" \ + "
    \n" \ "

    \n" \ " © 2008-2010 Nokia Corporation and/or its\n" \ @@ -175,14 +176,4 @@ HTML.footer = "" \ " \n" \ "

    \n" \ "
    \n" \ - "
    \n" \ - "\n" + " \n" \ No newline at end of file -- cgit v0.12 From e50c80368dc6231d1cbcc605e2c8e86cb47203c6 Mon Sep 17 00:00:00 2001 From: Morten Engvoldsen Date: Thu, 16 Sep 2010 14:47:28 +0200 Subject: Doc: removing linebreak --- tools/qdoc3/test/qt-html-templates.qdocconf | 1 - 1 file changed, 1 deletion(-) diff --git a/tools/qdoc3/test/qt-html-templates.qdocconf b/tools/qdoc3/test/qt-html-templates.qdocconf index 8bc8a02..b716f7c 100644 --- a/tools/qdoc3/test/qt-html-templates.qdocconf +++ b/tools/qdoc3/test/qt-html-templates.qdocconf @@ -147,7 +147,6 @@ HTML.footer = "" \ " \n" \ " \n" \ " \n" \ - "
    \n" \ "

    \n" \ " © 2008-2010 Nokia Corporation and/or its\n" \ -- cgit v0.12 From db701aac50cf0e60d64697743331b437630e1d51 Mon Sep 17 00:00:00 2001 From: mread Date: Thu, 16 Sep 2010 14:33:35 +0100 Subject: QTBUG-4852 Turning on runtime nested exception support where available Added nested_exceptions.prf to the symbian mkspecs features, and used it from the stl.prf config. nested_exceptions.prf adds the .mmp flag to use the nested exceptions runtime support library for apps. stl.prf will add nested_exceptions to the config when the support library is present. Since this check depends on the existence of the runtime support library when qmake is run, qtp will have to add nested_exceptions to their config when building with nested exception support. This change means that, where nested exceptions are supported on Symbian, apps will no longer crash if a nested exception is encountered at runtime. Task-number: QTBUG-4852 Reviewed-by: Miikka Heikkinen --- mkspecs/features/symbian/nested_exceptions.prf | 4 ++++ mkspecs/features/symbian/stl.prf | 5 +++++ 2 files changed, 9 insertions(+) create mode 100644 mkspecs/features/symbian/nested_exceptions.prf diff --git a/mkspecs/features/symbian/nested_exceptions.prf b/mkspecs/features/symbian/nested_exceptions.prf new file mode 100644 index 0000000..defca94 --- /dev/null +++ b/mkspecs/features/symbian/nested_exceptions.prf @@ -0,0 +1,4 @@ +# use nested exceptions runtime support for apps +contains(TEMPLATE, app) { + MMP_RULES *= EPOCNESTEDEXCEPTIONS +} diff --git a/mkspecs/features/symbian/stl.prf b/mkspecs/features/symbian/stl.prf index 2a3bce4..65d4b93 100644 --- a/mkspecs/features/symbian/stl.prf +++ b/mkspecs/features/symbian/stl.prf @@ -36,3 +36,8 @@ equals(use_libstdcppv5, true) { } else { LIBS *= -llibstdcpp.dll } + +# use the runtime support for nested exceptions, if a library is available +exists($${EPOCROOT}epoc32/release/armv5/urel/usrt_nx_*.lib) { + CONFIG += nested_exceptions +} -- cgit v0.12 From 61ffabaf55f4130114ede74f90ae820bebbfa84a Mon Sep 17 00:00:00 2001 From: Thomas Zander Date: Thu, 16 Sep 2010 15:46:23 +0200 Subject: Restore 4.7.0 behavior that non-existing paths are possible. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Changing a relative path to a non-existing absolute path used to work, this should work again after this patch. Reviewed-by: João Abecasis --- src/corelib/io/qdir.cpp | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/corelib/io/qdir.cpp b/src/corelib/io/qdir.cpp index fcd17f7..efcc8f9 100644 --- a/src/corelib/io/qdir.cpp +++ b/src/corelib/io/qdir.cpp @@ -1550,10 +1550,11 @@ bool QDir::makeAbsolute() // ### What do the return values signify? QScopedPointer dir(new QDirPrivate(*d_ptr.constData())); dir->setPath(absolutePath); - if (!(dir->fileEngine->fileFlags(QAbstractFileEngine::TypesMask) & QAbstractFileEngine::DirectoryType)) + d_ptr = dir.take(); + + if (!(d_ptr->fileEngine->fileFlags(QAbstractFileEngine::TypesMask) & QAbstractFileEngine::DirectoryType)) return false; - d_ptr = dir.take(); return true; } -- cgit v0.12 From 093221ee4ca3b6ca08731c6d7cb71c360ef68a18 Mon Sep 17 00:00:00 2001 From: axis Date: Thu, 16 Sep 2010 15:33:33 +0200 Subject: Fixed EPOCROOT references in createpackage.pl. The makefile build system does not require EPOCROOT to end in a slash. RevBy: Jani Hautakangas --- bin/createpackage.pl | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/bin/createpackage.pl b/bin/createpackage.pl index 361b32d..cce0b54 100755 --- a/bin/createpackage.pl +++ b/bin/createpackage.pl @@ -139,6 +139,9 @@ unless (GetOptions('i|install' => \$install, Usage(); } +my $epocroot = $ENV{EPOCROOT}; +$epocroot =~ s,[\\/]$,,x; + my $certfilepath = abs_path(dirname($certfile)); # Read params to variables @@ -303,12 +306,12 @@ if ($preprocessonly) { } if($stub) { - if(!($ENV{EPOCROOT})) { die("EPOCROOT must be set to create stub sis files"); } - my $systeminstall = "$ENV{EPOCROOT}epoc32/data/z/system/install"; + if(!($epocroot)) { die("EPOCROOT must be set to create stub sis files"); } + my $systeminstall = "$epocroot/epoc32/data/z/system/install"; mkpath($systeminstall); my $stub_sis_name = $systeminstall."/".$stub_sis_name; # Create stub SIS. - system ("$ENV{EPOCROOT}epoc32/tools/makesis -s $pkgoutput $stub_sis_name"); + system ("$epocroot/epoc32/tools/makesis -s $pkgoutput $stub_sis_name"); } else { if ($certtext eq "Self Signed" && !@certificates @@ -321,8 +324,8 @@ if($stub) { # Create SIS. # The 'and' is because system uses 0 to indicate success. - if($ENV{EPOCROOT}) { - system ("$ENV{EPOCROOT}epoc32/tools/makesis $pkgoutput $unsigned_sis_name") and die ("makesis failed"); + if($epocroot) { + system ("$epocroot/epoc32/tools/makesis $pkgoutput $unsigned_sis_name") and die ("makesis failed"); } else { system ("makesis $pkgoutput $unsigned_sis_name") and die ("makesis failed"); } -- cgit v0.12 From 35bc104729abf2653a23618603b55e2c316a870f Mon Sep 17 00:00:00 2001 From: Pierre Rossi Date: Thu, 16 Sep 2010 15:58:37 +0200 Subject: Ensure building of WebKit and QtConcurrent are disabled with SunCC. As there are versions of SunCC > 5.9 Reviewed-by: TrustMe --- configure | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/configure b/configure index 1ad0181..b933ac1 100755 --- a/configure +++ b/configure @@ -7051,7 +7051,7 @@ case "$XPLATFORM" in canBuildQtXmlPatterns="no" canBuildQtConcurrent="no" ;; - 5.9) + 5.*) canBuildWebKit="no" canBuildQtConcurrent="no" ;; -- cgit v0.12 From 3d7ef01963f2e15b7fd8fd23ffe22198ced00c87 Mon Sep 17 00:00:00 2001 From: Eskil Abrahamsen Blomfeldt Date: Thu, 16 Sep 2010 15:40:42 +0200 Subject: Compile on Mac Extern missing symbol Reviewed-by: Fabien Freling --- src/gui/kernel/qwidget_mac.mm | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/gui/kernel/qwidget_mac.mm b/src/gui/kernel/qwidget_mac.mm index 159c45d..1e2aa9f 100644 --- a/src/gui/kernel/qwidget_mac.mm +++ b/src/gui/kernel/qwidget_mac.mm @@ -114,6 +114,9 @@ QT_BEGIN_NAMESPACE +// qmainwindow.cpp +extern QMainWindowLayout *qt_mainwindow_layout(const QMainWindow *window); + #define XCOORD_MAX 16383 #define WRECT_MAX 8191 -- cgit v0.12 From acc84a9d0d3427155298db3a8c0ad406d078de0e Mon Sep 17 00:00:00 2001 From: Miikka Heikkinen Date: Thu, 16 Sep 2010 16:59:14 +0300 Subject: Check S60_VERSION instead of existence of certain files in bearer plugin Checking for existence of files does not work in clean platform builds, so check the S60_VERSION instead, which can be explicitly set by those builds to correct value. Task-number: QT-3949 Reviewed-by: axis --- src/plugins/bearer/symbian/3_2/3_2.pro | 12 +++++++----- src/plugins/bearer/symbian/symbian_3/symbian_3.pro | 18 ++++++++---------- 2 files changed, 15 insertions(+), 15 deletions(-) diff --git a/src/plugins/bearer/symbian/3_2/3_2.pro b/src/plugins/bearer/symbian/3_2/3_2.pro index 6f3ecaf..ac3b3f8 100644 --- a/src/plugins/bearer/symbian/3_2/3_2.pro +++ b/src/plugins/bearer/symbian/3_2/3_2.pro @@ -1,13 +1,15 @@ include(../symbian.pri) symbian { - exists($${EPOCROOT}epoc32/release/winscw/udeb/cmmanager.lib)| \ - exists($${EPOCROOT}epoc32/release/armv5/lib/cmmanager.lib) { + contains(S60_VERSION, 3.1) { + is_using_gnupoc { + LIBS += -lapengine + } else { + LIBS += -lAPEngine + } + } else { DEFINES += SNAP_FUNCTIONALITY_AVAILABLE LIBS += -lcmmanager - } else { - # Fall back to 3_1 implementation on platforms that do not have cmmanager - LIBS += -lapengine } } diff --git a/src/plugins/bearer/symbian/symbian_3/symbian_3.pro b/src/plugins/bearer/symbian/symbian_3/symbian_3.pro index fd66198..ef90ad2 100644 --- a/src/plugins/bearer/symbian/symbian_3/symbian_3.pro +++ b/src/plugins/bearer/symbian/symbian_3/symbian_3.pro @@ -1,22 +1,20 @@ include(../symbian.pri) symbian { - exists($${EPOCROOT}epoc32/release/winscw/udeb/cmmanager.lib)| \ - exists($${EPOCROOT}epoc32/release/armv5/lib/cmmanager.lib) { + contains(S60_VERSION, 3.1) { + is_using_gnupoc { + LIBS += -lapengine + } else { + LIBS += -lAPEngine + } + } else { DEFINES += SNAP_FUNCTIONALITY_AVAILABLE LIBS += -lcmmanager - exists($$prependEpocroot($$MW_LAYER_PUBLIC_EXPORT_PATH(extendedconnpref.h))) { + !contains(S60_VERSION, 3.2):!contains(S60_VERSION, 5.0) { DEFINES += OCC_FUNCTIONALITY_AVAILABLE LIBS += -lextendedconnpref } - } else { - # Fall back to 3_1 implementation on platforms that do not have cmmanager - is_using_gnupoc { - LIBS += -lapengine - } else { - LIBS += -lAPEngine - } } } -- cgit v0.12 From acab3259e9f57e436f475b4c0d1d7e7fb194e983 Mon Sep 17 00:00:00 2001 From: David Boddie Date: Thu, 16 Sep 2010 17:40:15 +0200 Subject: Doc: Fixed a non-compiling example. Tested with namespaced and non-namespaced Qt builds. Reviewed-by: Trust Me --- examples/tutorials/modelview/3_changingmodel/mymodel.cpp | 1 + 1 file changed, 1 insertion(+) diff --git a/examples/tutorials/modelview/3_changingmodel/mymodel.cpp b/examples/tutorials/modelview/3_changingmodel/mymodel.cpp index d82f00d..7d78aa7 100755 --- a/examples/tutorials/modelview/3_changingmodel/mymodel.cpp +++ b/examples/tutorials/modelview/3_changingmodel/mymodel.cpp @@ -39,6 +39,7 @@ ****************************************************************************/ #include +#include #include "mymodel.h" //! [quoting mymodel_a] -- cgit v0.12 From e76564e8a3b305f4fe69135bebb409e357f29f57 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bj=C3=B8rn=20Erik=20Nilsen?= Date: Thu, 16 Sep 2010 12:38:51 +0200 Subject: Wrong bounding rect returned by QGraphicsEffect::boundingRect(). Regression after: f5c5e20a Problem was that the cached bounding rect was never invalidated. We can also remove the cached bounding rect in QGraphicsEffectSource because QGraphicsItem::childrenBoundingRect now clips by default. This basically means partially reverting above commit and invalidate whenever ItemClipsChildrenToShape flag changes. Auto test included. Task-number: Discovered while investigating QT-3633 Reviewed-by: samuel --- src/gui/graphicsview/qgraphicsitem.cpp | 18 +++++++-------- src/gui/graphicsview/qgraphicsitem_p.h | 14 ++++-------- tests/auto/qgraphicseffect/tst_qgraphicseffect.cpp | 26 ++++++++++++++++++++++ 3 files changed, 38 insertions(+), 20 deletions(-) diff --git a/src/gui/graphicsview/qgraphicsitem.cpp b/src/gui/graphicsview/qgraphicsitem.cpp index 2600d06..364fdbb 100644 --- a/src/gui/graphicsview/qgraphicsitem.cpp +++ b/src/gui/graphicsview/qgraphicsitem.cpp @@ -1272,7 +1272,7 @@ void QGraphicsItemPrivate::setParentItemHelper(QGraphicsItem *newParent, const Q Returns the bounding rect of this item's children (excluding itself). */ -void QGraphicsItemPrivate::childrenBoundingRectHelper(QTransform *x, QRectF *rect, bool doClip) +void QGraphicsItemPrivate::childrenBoundingRectHelper(QTransform *x, QRectF *rect) { Q_Q(QGraphicsItem); @@ -1302,7 +1302,7 @@ void QGraphicsItemPrivate::childrenBoundingRectHelper(QTransform *x, QRectF *rec } } - if (doClip && (flags & QGraphicsItem::ItemClipsChildrenToShape)){ + if (flags & QGraphicsItem::ItemClipsChildrenToShape){ if (x) *rect &= x->mapRect(q->boundingRect()); else @@ -1870,6 +1870,10 @@ void QGraphicsItem::setFlags(GraphicsItemFlags flags) // Item children clipping changes. Propagate the ancestor flag to // all children. d_ptr->updateAncestorFlag(ItemClipsChildrenToShape); + // The childrenBoundingRect is clipped to the boundingRect in case of ItemClipsChildrenToShape, + // which means we have to invalidate the cached childrenBoundingRect whenever this flag changes. + d_ptr->dirtyChildrenBoundingRect = 1; + d_ptr->markParentDirty(true); } if ((flags & ItemIgnoresTransformations) != (oldFlags & ItemIgnoresTransformations)) { @@ -11168,14 +11172,8 @@ QRectF QGraphicsItemEffectSourcePrivate::boundingRect(Qt::CoordinateSystem syste } QRectF rect = item->boundingRect(); - if (!item->d_ptr->children.isEmpty()) { - if (dirtyChildrenBoundingRect) { - childrenBoundingRect = QRectF(); - item->d_ptr->childrenBoundingRectHelper(0, &childrenBoundingRect, true); - dirtyChildrenBoundingRect = false; - } - rect |= childrenBoundingRect; - } + if (!item->d_ptr->children.isEmpty()) + rect |= item->childrenBoundingRect(); if (deviceCoordinates) { Q_ASSERT(info->painter); diff --git a/src/gui/graphicsview/qgraphicsitem_p.h b/src/gui/graphicsview/qgraphicsitem_p.h index cce9439..bc5e5ad 100644 --- a/src/gui/graphicsview/qgraphicsitem_p.h +++ b/src/gui/graphicsview/qgraphicsitem_p.h @@ -300,7 +300,7 @@ public: QDeclarativeListProperty childrenList(); void setParentItemHelper(QGraphicsItem *parent, const QVariant *newParentVariant, const QVariant *thisPointerVariant); - void childrenBoundingRectHelper(QTransform *x, QRectF *rect, bool doClip = true); + void childrenBoundingRectHelper(QTransform *x, QRectF *rect); void initStyleOption(QStyleOptionGraphicsItem *option, const QTransform &worldTransform, const QRegion &exposedRegion, bool allItems = false) const; QRectF effectiveBoundingRect() const; @@ -661,7 +661,7 @@ class QGraphicsItemEffectSourcePrivate : public QGraphicsEffectSourcePrivate { public: QGraphicsItemEffectSourcePrivate(QGraphicsItem *i) - : QGraphicsEffectSourcePrivate(), dirtyChildrenBoundingRect(true), item(i), info(0) + : QGraphicsEffectSourcePrivate(), item(i), info(0) {} inline void detach() @@ -712,9 +712,6 @@ public: QGraphicsEffect::PixmapPadMode mode) const; QRect paddedEffectRect(Qt::CoordinateSystem system, QGraphicsEffect::PixmapPadMode mode, const QRectF &sourceRect, bool *unpadded = 0) const; - mutable bool dirtyChildrenBoundingRect; - mutable QRectF childrenBoundingRect; - QGraphicsItem *item; QGraphicsItemPaintInfo *info; QTransform lastEffectTransform; @@ -872,12 +869,9 @@ inline void QGraphicsItemPrivate::markParentDirty(bool updateBoundingRect) #ifndef QT_NO_GRAPHICSEFFECT if (parentp->graphicsEffect) { if (updateBoundingRect) { - QGraphicsItemEffectSourcePrivate *sourcep = - static_cast(parentp->graphicsEffect->d_func() - ->source->d_func()); - parentp->dirtyChildrenBoundingRect = 1; + static_cast(parentp->graphicsEffect->d_func() + ->source->d_func())->invalidateCache(); parentp->notifyInvalidated = 1; - sourcep->invalidateCache(); } if (parentp->scene && parentp->graphicsEffect->isEnabled()) { parentp->dirty = 1; diff --git a/tests/auto/qgraphicseffect/tst_qgraphicseffect.cpp b/tests/auto/qgraphicseffect/tst_qgraphicseffect.cpp index e1bfb79..985d466 100644 --- a/tests/auto/qgraphicseffect/tst_qgraphicseffect.cpp +++ b/tests/auto/qgraphicseffect/tst_qgraphicseffect.cpp @@ -66,6 +66,7 @@ private slots: void source(); void boundingRectFor(); void boundingRect(); + void boundingRect2(); void draw(); void opacity(); void grayscale(); @@ -264,6 +265,31 @@ void tst_QGraphicsEffect::boundingRect() delete item; } +void tst_QGraphicsEffect::boundingRect2() +{ + CustomEffect *effect = new CustomEffect; + QGraphicsRectItem *root = new QGraphicsRectItem; + root->setGraphicsEffect(effect); + + QGraphicsRectItem *child = new QGraphicsRectItem; + QRectF childRect(0, 0, 100, 100); + child->setFlag(QGraphicsItem::ItemClipsChildrenToShape); + child->setRect(childRect); + child->setParentItem(root); + + QGraphicsRectItem *grandChild = new QGraphicsRectItem; + QRectF grandChildRect(0, 0, 200, 200); + grandChild->setRect(grandChildRect); + grandChild->setParentItem(child); + + // Make sure the effect's bounding rect is clipped to the child's bounding rect. + QCOMPARE(effect->boundingRect(), effect->boundingRectFor(childRect)); + + // Disable ItemClipsChildrenToShape; effect's bounding rect is no longer clipped. + child->setFlag(QGraphicsItem::ItemClipsChildrenToShape, false); + QCOMPARE(effect->boundingRect(), effect->boundingRectFor(childRect | grandChildRect)); +} + void tst_QGraphicsEffect::draw() { QGraphicsScene scene; -- cgit v0.12 From 9601abf3b03cfef589c092182bec3672fab6cde0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bj=C3=B8rn=20Erik=20Nilsen?= Date: Thu, 16 Sep 2010 16:37:24 +0200 Subject: QGraphicsItem::childrenBoundingRect behavior breaks QGraphicsEffect::sourceBoundingRect(). Context: QGraphicsEffect::sourceBoundingRect() returns: item->boundingRect() | item->childrenBoundingRect(); Problem was that item->childrenBoundingRect() adjusted the children's bounding rect with the children's ancestor effects (child -> root item), which means the source bounding rect was bigger than needed. We should only account for effects downwards in the hierarchy. root (has effect) | item (has effect) | child | grandChild Auto test included. Task-number: QT-3633, QT-3828 Reviewed-by: samuel --- src/gui/graphicsview/qgraphicsitem.cpp | 27 ++++++++++++++-------- src/gui/graphicsview/qgraphicsitem_p.h | 4 ++-- tests/auto/qgraphicseffect/tst_qgraphicseffect.cpp | 26 +++++++++++++++++++++ 3 files changed, 45 insertions(+), 12 deletions(-) diff --git a/src/gui/graphicsview/qgraphicsitem.cpp b/src/gui/graphicsview/qgraphicsitem.cpp index 364fdbb..b404692 100644 --- a/src/gui/graphicsview/qgraphicsitem.cpp +++ b/src/gui/graphicsview/qgraphicsitem.cpp @@ -1272,33 +1272,36 @@ void QGraphicsItemPrivate::setParentItemHelper(QGraphicsItem *newParent, const Q Returns the bounding rect of this item's children (excluding itself). */ -void QGraphicsItemPrivate::childrenBoundingRectHelper(QTransform *x, QRectF *rect) +void QGraphicsItemPrivate::childrenBoundingRectHelper(QTransform *x, QRectF *rect, QGraphicsItem *topMostEffectItem) { Q_Q(QGraphicsItem); QRectF childrenRect; QRectF *result = rect; rect = &childrenRect; + const bool setTopMostEffectItem = !topMostEffectItem; for (int i = 0; i < children.size(); ++i) { QGraphicsItem *child = children.at(i); QGraphicsItemPrivate *childd = child->d_ptr.data(); + if (setTopMostEffectItem) + topMostEffectItem = child; bool hasPos = !childd->pos.isNull(); if (hasPos || childd->transformData) { // COMBINE QTransform matrix = childd->transformToParent(); if (x) matrix *= *x; - *rect |= matrix.mapRect(child->d_ptr->effectiveBoundingRect()); + *rect |= matrix.mapRect(child->d_ptr->effectiveBoundingRect(topMostEffectItem)); if (!childd->children.isEmpty()) - childd->childrenBoundingRectHelper(&matrix, rect); + childd->childrenBoundingRectHelper(&matrix, rect, topMostEffectItem); } else { if (x) - *rect |= x->mapRect(child->d_ptr->effectiveBoundingRect()); + *rect |= x->mapRect(child->d_ptr->effectiveBoundingRect(topMostEffectItem)); else - *rect |= child->d_ptr->effectiveBoundingRect(); + *rect |= child->d_ptr->effectiveBoundingRect(topMostEffectItem); if (!childd->children.isEmpty()) - childd->childrenBoundingRectHelper(x, rect); + childd->childrenBoundingRectHelper(x, rect, topMostEffectItem); } } @@ -2804,6 +2807,8 @@ QRectF QGraphicsItemPrivate::effectiveBoundingRect(const QRectF &rect) const Q_Q(const QGraphicsItem); QGraphicsEffect *effect = graphicsEffect; if (scene && effect && effect->isEnabled()) { + if (scene->d_func()->views.isEmpty()) + return effect->boundingRectFor(rect); QRectF sceneRect = q->mapRectToScene(rect); QRectF sceneEffectRect; foreach (QGraphicsView *view, scene->views()) { @@ -2827,12 +2832,12 @@ QRectF QGraphicsItemPrivate::effectiveBoundingRect(const QRectF &rect) const \sa boundingRect() */ -QRectF QGraphicsItemPrivate::effectiveBoundingRect() const +QRectF QGraphicsItemPrivate::effectiveBoundingRect(QGraphicsItem *topMostEffectItem) const { #ifndef QT_NO_GRAPHICSEFFECT Q_Q(const QGraphicsItem); QRectF brect = effectiveBoundingRect(q_ptr->boundingRect()); - if (ancestorFlags & QGraphicsItemPrivate::AncestorClipsChildren) + if (ancestorFlags & QGraphicsItemPrivate::AncestorClipsChildren || topMostEffectItem == q) return brect; const QGraphicsItem *effectParent = parent; @@ -2843,8 +2848,10 @@ QRectF QGraphicsItemPrivate::effectiveBoundingRect() const const QRectF effectRectInParentSpace = effectParent->d_ptr->effectiveBoundingRect(brectInParentSpace); brect = effectParent->mapRectToItem(q, effectRectInParentSpace); } - if (effectParent->d_ptr->ancestorFlags & QGraphicsItemPrivate::AncestorClipsChildren) + if (effectParent->d_ptr->ancestorFlags & QGraphicsItemPrivate::AncestorClipsChildren + || topMostEffectItem == effectParent) { return brect; + } effectParent = effectParent->d_ptr->parent; } @@ -4719,7 +4726,7 @@ QRectF QGraphicsItem::childrenBoundingRect() const return d_ptr->childrenBoundingRect; d_ptr->childrenBoundingRect = QRectF(); - d_ptr->childrenBoundingRectHelper(0, &d_ptr->childrenBoundingRect); + d_ptr->childrenBoundingRectHelper(0, &d_ptr->childrenBoundingRect, 0); d_ptr->dirtyChildrenBoundingRect = 0; return d_ptr->childrenBoundingRect; } diff --git a/src/gui/graphicsview/qgraphicsitem_p.h b/src/gui/graphicsview/qgraphicsitem_p.h index bc5e5ad..77e4054 100644 --- a/src/gui/graphicsview/qgraphicsitem_p.h +++ b/src/gui/graphicsview/qgraphicsitem_p.h @@ -300,10 +300,10 @@ public: QDeclarativeListProperty childrenList(); void setParentItemHelper(QGraphicsItem *parent, const QVariant *newParentVariant, const QVariant *thisPointerVariant); - void childrenBoundingRectHelper(QTransform *x, QRectF *rect); + void childrenBoundingRectHelper(QTransform *x, QRectF *rect, QGraphicsItem *topMostEffectItem); void initStyleOption(QStyleOptionGraphicsItem *option, const QTransform &worldTransform, const QRegion &exposedRegion, bool allItems = false) const; - QRectF effectiveBoundingRect() const; + QRectF effectiveBoundingRect(QGraphicsItem *topMostEffectItem = 0) const; QRectF sceneEffectiveBoundingRect() const; QRectF effectiveBoundingRect(const QRectF &rect) const; diff --git a/tests/auto/qgraphicseffect/tst_qgraphicseffect.cpp b/tests/auto/qgraphicseffect/tst_qgraphicseffect.cpp index 985d466..07fa630 100644 --- a/tests/auto/qgraphicseffect/tst_qgraphicseffect.cpp +++ b/tests/auto/qgraphicseffect/tst_qgraphicseffect.cpp @@ -288,6 +288,32 @@ void tst_QGraphicsEffect::boundingRect2() // Disable ItemClipsChildrenToShape; effect's bounding rect is no longer clipped. child->setFlag(QGraphicsItem::ItemClipsChildrenToShape, false); QCOMPARE(effect->boundingRect(), effect->boundingRectFor(childRect | grandChildRect)); + + // Add root item to a scene, do the same tests as above. Results should be the same. + QGraphicsScene scene; + scene.addItem(root); + + child->setFlag(QGraphicsItem::ItemClipsChildrenToShape); + QCOMPARE(effect->boundingRect(), effect->boundingRectFor(childRect)); + + child->setFlag(QGraphicsItem::ItemClipsChildrenToShape, false); + QCOMPARE(effect->boundingRect(), effect->boundingRectFor(childRect | grandChildRect)); + + // Now add the scene to a view, results should be the same. + QGraphicsView view(&scene); + + child->setFlag(QGraphicsItem::ItemClipsChildrenToShape); + QCOMPARE(effect->boundingRect(), effect->boundingRectFor(childRect)); + + child->setFlag(QGraphicsItem::ItemClipsChildrenToShape, false); + QCOMPARE(effect->boundingRect(), effect->boundingRectFor(childRect | grandChildRect)); + + CustomEffect *childEffect = new CustomEffect; + child->setGraphicsEffect(childEffect); + QCOMPARE(effect->boundingRect(), effect->boundingRectFor(childEffect->boundingRectFor(childRect | grandChildRect))); + + child->setGraphicsEffect(0); + QCOMPARE(effect->boundingRect(), effect->boundingRectFor(childRect | grandChildRect)); } void tst_QGraphicsEffect::draw() -- cgit v0.12 From 8421bcee3bb9423a3dd0bb79fc82f05ad25acbe6 Mon Sep 17 00:00:00 2001 From: Alessandro Portale Date: Thu, 16 Sep 2010 20:15:07 +0200 Subject: Removing embarrassing trialing white spaces from former commit Hereby, I outed myself to have used Carbide.c++ --- src/corelib/codecs/qtextcodec_symbian.cpp | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/src/corelib/codecs/qtextcodec_symbian.cpp b/src/corelib/codecs/qtextcodec_symbian.cpp index 322c146..18c5fd0 100644 --- a/src/corelib/codecs/qtextcodec_symbian.cpp +++ b/src/corelib/codecs/qtextcodec_symbian.cpp @@ -115,11 +115,11 @@ static const QSymbianCodecInitData codecsData[] = { { /*271082494*/ 271082494, 0, "gsm7_turkish_single\0" }, { /*271082495*/ 271082495, 0, "turkish_locking_gsm7ext\0" }, { /*271082496*/ 271082496, 0, "turkish_locking_single\0" }, - { /*271082503*/ 271082503, 0, "portuguese_gsm7_single\0" }, - { /*271082504*/ 271082504, 0, "portuguese_locking_gsm7ext\0" }, - { /*271082505*/ 271082505, 0, "portuguese_locking_single\0" }, - { /*271082506*/ 271082506, 0, "spanish_gsm7_single\0" }, - { /*271085624*/ 271085624, 114, "GB18030\0" }, + { /*271082503*/ 271082503, 0, "portuguese_gsm7_single\0" }, + { /*271082504*/ 271082504, 0, "portuguese_locking_gsm7ext\0" }, + { /*271082505*/ 271082505, 0, "portuguese_locking_single\0" }, + { /*271082506*/ 271082506, 0, "spanish_gsm7_single\0" }, + { /*271085624*/ 271085624, 114, "GB18030\0" }, { /*536929574*/ 536929574, 38, "EUC-KR\0" }, { /*536936703*/ 536936703, 0, "CP949\0" }, { /*536936705*/ 536936705, 37, "ISO-2022-KR\0" }, @@ -667,7 +667,7 @@ QSymbianTextCodec *QSymbianTextCodec::init() // We did not find the charsetId in our codecsData[], therefore we ask // the OS for the codec name. We first try to get a "standard name" and fall // back to array->At(i).Name(), if really needed. array->At(i).Name() is not - // guaranteed to be a correct name for QTextCodec::codecFromName(). + // guaranteed to be a correct name for QTextCodec::codecFromName(). QScopedPointer buf; QT_TRAP_THROWING(buf.reset(converter->ConvertCharacterSetIdentifierToStandardNameL(charsetId, qt_s60GetRFs()))) QByteArray name; -- cgit v0.12 From 45851a64ead74748d6b5045066545ee2c95d83f6 Mon Sep 17 00:00:00 2001 From: Alessandro Portale Date: Thu, 16 Sep 2010 21:35:44 +0200 Subject: Make easing.qml usable on highres capacitive screen --- examples/declarative/animation/easing/easing.qml | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/examples/declarative/animation/easing/easing.qml b/examples/declarative/animation/easing/easing.qml index 0089452..ffb129d 100644 --- a/examples/declarative/animation/easing/easing.qml +++ b/examples/declarative/animation/easing/easing.qml @@ -94,36 +94,37 @@ Rectangle { id: delegate Item { - height: 42; width: window.width + height: 56; width: window.width Text { text: name; anchors.centerIn: parent; color: "White" } Rectangle { - id: slot1; color: "#121212"; x: 30; height: 32; width: 32 - border.color: "#343434"; border.width: 1; radius: 8 + id: slot1; color: "#121212"; x: 30; height: 46; width: 46 + border.color: "#343434"; border.width: 1; radius: 12 anchors.verticalCenter: parent.verticalCenter } Rectangle { - id: slot2; color: "#121212"; x: window.width - 62; height: 32; width: 32 - border.color: "#343434"; border.width: 1; radius: 8 + id: slot2; color: "#121212"; x: window.width - 76; height: 46; width: 46 + border.color: "#343434"; border.width: 1; radius: 12 anchors.verticalCenter: parent.verticalCenter } Rectangle { id: rect; x: 30; color: "#454545" border.color: "White"; border.width: 2 - height: 32; width: 32; radius: 8 + height: 46; width: 46; radius: 12 anchors.verticalCenter: parent.verticalCenter MouseArea { onClicked: if (rect.state == '') rect.state = "right"; else rect.state = '' anchors.fill: parent + anchors.margins: -5 // Make MouseArea bigger than the rectangle, itself } states : State { name: "right" - PropertyChanges { target: rect; x: window.width - 62; color: ballColor } + PropertyChanges { target: rect; x: window.width - 76; color: ballColor } } transitions: Transition { -- cgit v0.12 From 7906b9295cde6305c3fda811b3c9b1cacdbad3fe Mon Sep 17 00:00:00 2001 From: Alessandro Portale Date: Thu, 16 Sep 2010 21:42:11 +0200 Subject: Make dialcontrol.qml usable on highres capacitive screen --- examples/declarative/ui-components/dialcontrol/dialcontrol.qml | 1 + 1 file changed, 1 insertion(+) diff --git a/examples/declarative/ui-components/dialcontrol/dialcontrol.qml b/examples/declarative/ui-components/dialcontrol/dialcontrol.qml index 56de2f6..ed8c7d6 100644 --- a/examples/declarative/ui-components/dialcontrol/dialcontrol.qml +++ b/examples/declarative/ui-components/dialcontrol/dialcontrol.qml @@ -83,6 +83,7 @@ Rectangle { MouseArea { anchors.fill: parent + anchors.margins: -16 // Increase mouse area a lot outside the slider drag.target: parent; drag.axis: Drag.XAxis drag.minimumX: 2; drag.maximumX: container.width - 32 } -- cgit v0.12 From 349213b37901c832f941a45e5ea630eac2fd2f26 Mon Sep 17 00:00:00 2001 From: Rohan McGovern Date: Thu, 16 Sep 2010 18:08:02 -0500 Subject: Fixed compilation of qdrawhelper.cpp with XLC 10 With XLC 10, calls to static functions within a template function need to be fully qualified. Reviewed-by: Marius Storm-Olsen --- src/gui/painting/qdrawhelper.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/gui/painting/qdrawhelper.cpp b/src/gui/painting/qdrawhelper.cpp index bd5b0bd..5f190ba 100644 --- a/src/gui/painting/qdrawhelper.cpp +++ b/src/gui/painting/qdrawhelper.cpp @@ -4835,7 +4835,7 @@ void QT_FASTCALL blendUntransformed_dest24(DST *dest, const SRC *src, if (SRC::hasAlpha()) { while (length >= 4) { - const quint32 alpha = BYTE_MUL(uint(alpha_4(src)), uint(coverage)); + const quint32 alpha = QT_PREPEND_NAMESPACE(BYTE_MUL)(uint(alpha_4(src)), uint(coverage)); if (alpha) interpolate_pixel_4(dest, src, alpha); length -= 4; -- cgit v0.12 From 6acbf6dce98903310023284e27a65c19f9a829bc Mon Sep 17 00:00:00 2001 From: Anders Bakken Date: Thu, 16 Sep 2010 23:58:56 +0000 Subject: Make SourceOver work properly in Qt/DirectFB Qt and DirectFB have different definitions of SourceOver. In DirectFB it's defined as this: /* pixel = (source * fs + destination * fd), sa = source alpha, da = destination alpha */ DSPD_SRC_OVER = 3, /* fs: 1.0 fd: 1.0-sa */ In other words, the source pixels are not multiplied by the alpha and this leads to issues with RGBA values like 255, 0, 0, 0. The composition mode that in DirectFB that maps onto Qt's CompositionMode_SourceOver is DSPD_NONE, defined like this: DSPD_NONE = 0, /* fs: sa fd: 1.0-sa (defaults) */ Merge-request: 807 Reviewed-by: Donald Carr --- src/plugins/gfxdrivers/directfb/qdirectfbpaintengine.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/plugins/gfxdrivers/directfb/qdirectfbpaintengine.cpp b/src/plugins/gfxdrivers/directfb/qdirectfbpaintengine.cpp index d5f0d42..4869eba 100644 --- a/src/plugins/gfxdrivers/directfb/qdirectfbpaintengine.cpp +++ b/src/plugins/gfxdrivers/directfb/qdirectfbpaintengine.cpp @@ -978,7 +978,7 @@ void QDirectFBPaintEnginePrivate::setCompositionMode(QPainter::CompositionMode m break; case QPainter::CompositionMode_SourceOver: compositionModeStatus &= ~PorterDuff_AlwaysBlend; - surface->SetPorterDuff(surface, DSPD_SRC_OVER); + surface->SetPorterDuff(surface, DSPD_NONE); break; case QPainter::CompositionMode_DestinationOver: surface->SetPorterDuff(surface, DSPD_DST_OVER); -- cgit v0.12 From 8f9d5e666401d2ecf9a5623504df674a2bcbe035 Mon Sep 17 00:00:00 2001 From: Morten Engvoldsen Date: Fri, 17 Sep 2010 10:21:29 +0200 Subject: Doc: css fine tuning --- doc/src/template/style/style.css | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/doc/src/template/style/style.css b/doc/src/template/style/style.css index a0b4ffc..b60aa41 100755 --- a/doc/src/template/style/style.css +++ b/doc/src/template/style/style.css @@ -886,9 +886,9 @@ -webkit-column-gap:41px; -moz-column-gap:41px; - column-rule: 1px solid #ccc; - -webkit-column-rule: 1px solid #ccc; - -moz-column-rule: 1px solid #ccc; + column-rule: 1px dashed #ccc; + -webkit-column-rule: 1px dashed #ccc; + -moz-column-rule: 1px dashed #ccc; } .flowList dl{ -- cgit v0.12 From a4920cd2c10d4fb0420b629d8b40c8d368b791ca Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bj=C3=B8rn=20Erik=20Nilsen?= Date: Fri, 17 Sep 2010 11:33:53 +0200 Subject: Update Symbian def files. Build error reported by CI gate, commit: 9601abf3b03cfef589c092182bec3672fab6cde0 Reviewed-by: jbarron --- src/s60installs/eabi/QtGuiu.def | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/s60installs/eabi/QtGuiu.def b/src/s60installs/eabi/QtGuiu.def index 6696beb..47e893b 100644 --- a/src/s60installs/eabi/QtGuiu.def +++ b/src/s60installs/eabi/QtGuiu.def @@ -9389,7 +9389,7 @@ EXPORTS _ZNK20QGraphicsItemPrivate19genericMapFromSceneERK7QPointFPK7QWidget @ 9388 NONAME _ZNK20QGraphicsItemPrivate19maybeExtraItemCacheEv @ 9389 NONAME _ZNK20QGraphicsItemPrivate20discardUpdateRequestEbbbb @ 9390 NONAME ABSENT - _ZNK20QGraphicsItemPrivate21effectiveBoundingRectEv @ 9391 NONAME + _ZNK20QGraphicsItemPrivate21effectiveBoundingRectEv @ 9391 NONAME ABSENT _ZNK20QGraphicsItemPrivate22inputMethodQueryHelperEN2Qt16InputMethodQueryE @ 9392 NONAME _ZNK20QGraphicsItemPrivate24combineTransformToParentEP10QTransformPKS0_ @ 9393 NONAME _ZNK20QGraphicsItemPrivate26combineTransformFromParentEP10QTransformPKS0_ @ 9394 NONAME @@ -12092,6 +12092,6 @@ EXPORTS _ZN11QFontEngine16lastRightBearingERK12QGlyphLayoutb @ 12091 NONAME _ZN18QTapAndHoldGesture10setTimeoutEi @ 12092 NONAME _ZN18QTapAndHoldGesture7timeoutEv @ 12093 NONAME - _ZN20QGraphicsItemPrivate26childrenBoundingRectHelperEP10QTransformP6QRectFb @ 12094 NONAME + _ZN20QGraphicsItemPrivate26childrenBoundingRectHelperEP10QTransformP6QRectFb @ 12094 NONAME ABSENT _ZN20QGraphicsItemPrivate14children_clearEP24QDeclarativeListPropertyI15QGraphicsObjectE @ 12095 NONAME -- cgit v0.12 From 616d84ddb2a07191d2754b0f3e7296cae472b738 Mon Sep 17 00:00:00 2001 From: Sami Merila Date: Fri, 17 Sep 2010 12:42:05 +0300 Subject: Panic in qs60style.cpp while drawing a QTreeView QS60Style crashes when running a test application that modifies active style AND application's palette. After switching to other style, setting palette to application default, re-enabling the style's palette and activating QS60Style, causes a crash. This is due to that internal theme palette is tried to access, before it is constructed. Fixed by making sure that when theme palette is accessed, it is not NULL. Task-number: QTBUG-13553 Reviewed-by: Miikka Heikkinen --- src/gui/styles/qs60style.cpp | 36 +++++++++++++++++++++++++----------- src/gui/styles/qs60style_p.h | 2 ++ 2 files changed, 27 insertions(+), 11 deletions(-) diff --git a/src/gui/styles/qs60style.cpp b/src/gui/styles/qs60style.cpp index 971e1e3..d529dd5 100644 --- a/src/gui/styles/qs60style.cpp +++ b/src/gui/styles/qs60style.cpp @@ -491,6 +491,24 @@ QPalette* QS60StylePrivate::themePalette() return m_themePalette; } +bool QS60StylePrivate::equalToThemePalette(QColor color, QPalette::ColorRole role) +{ + if (!m_themePalette) + return false; + if (color == m_themePalette->color(role)) + return true; + return false; +} + +bool QS60StylePrivate::equalToThemePalette(qint64 cacheKey, QPalette::ColorRole role) +{ + if (!m_themePalette) + return false; + if (cacheKey == m_themePalette->brush(role).texture().cacheKey()) + return true; + return false; +} + void QS60StylePrivate::setBackgroundTexture(QApplication *app) const { Q_UNUSED(app) @@ -2050,7 +2068,7 @@ void QS60Style::drawControl(ControlElement element, const QStyleOption *option, } break; case CE_Splitter: - if (option->state & State_Sunken && option->state & State_Enabled) { + if (option->state & State_Sunken && option->state & State_Enabled && QS60StylePrivate::themePalette()) { painter->save(); painter->setOpacity(0.5); painter->setBrush(QS60StylePrivate::themePalette()->light()); @@ -2077,7 +2095,7 @@ void QS60Style::drawPrimitive(PrimitiveElement element, const QStyleOption *opti case PE_FrameFocusRect: { //Draw themed highlight to radiobuttons and checkboxes. //For other widgets skip, unless palette has been modified. In that case, draw with commonstyle. - if (option->palette.highlight().color() == QS60StylePrivate::themePalette()->highlight().color()) { + if (QS60StylePrivate::equalToThemePalette(option->palette.highlight().color(), QPalette::Highlight)) { if ((qstyleoption_cast(option) && (qobject_cast(widget) || qobject_cast(widget)))) QS60StylePrivate::drawSkinElement( @@ -2109,11 +2127,8 @@ void QS60Style::drawPrimitive(PrimitiveElement element, const QStyleOption *opti QS60StyleEnums::SP_QgnIndiCheckboxOn : QS60StyleEnums::SP_QgnIndiCheckboxOff; painter->save(); - const QColor themeColor = QS60StylePrivate::themePalette()->windowText().color(); - const QColor windowTextColor = option->palette.windowText().color(); - - if (themeColor != windowTextColor) - painter->setPen(windowTextColor); + if (QS60StylePrivate::equalToThemePalette(option->palette.windowText().color(), QPalette::WindowText)) + painter->setPen(option->palette.windowText().color()); QS60StylePrivate::drawSkinPart(skinPart, painter, option->rect, flags | QS60StylePrivate::SF_ColorSkinned ); painter->restore(); @@ -2266,8 +2281,7 @@ void QS60Style::drawPrimitive(PrimitiveElement element, const QStyleOption *opti ) { //Need extra check since dialogs have their own theme background if (QS60StylePrivate::canDrawThemeBackground(option->palette.base(), widget) && - option->palette.window().texture().cacheKey() == - QS60StylePrivate::m_themePalette->window().texture().cacheKey()) + QS60StylePrivate::equalToThemePalette(option->palette.window().texture().cacheKey(), QPalette::Window)) //todo: for combobox listviews, the background should include area for menu scrollers, //but this produces drawing issues as we need to turn clipping off. QS60StylePrivate::drawSkinElement(QS60StylePrivate::SE_PopupBackground, painter, option->rect, flags); @@ -2314,7 +2328,7 @@ void QS60Style::drawPrimitive(PrimitiveElement element, const QStyleOption *opti const bool hasFocus = (vopt->state & State_HasFocus); const bool isPressed = QS60StylePrivate::isWidgetPressed(widget); - if (option->palette.highlight().color() == QS60StylePrivate::themePalette()->highlight().color()) { + if (QS60StylePrivate::equalToThemePalette(option->palette.highlight().color(), QPalette::Highlight)) { QRect highlightRect = vopt->rect.adjusted(1,1,-1,-1); const QAbstractItemView *itemView = qobject_cast(widget); QAbstractItemView::SelectionBehavior selectionBehavior = @@ -2439,7 +2453,7 @@ void QS60Style::drawPrimitive(PrimitiveElement element, const QStyleOption *opti case PE_PanelItemViewRow: // ### Qt 5: remove #ifndef QT_NO_ITEMVIEWS if (const QStyleOptionViewItemV4 *vopt = qstyleoption_cast(option)) { - if (vopt->palette.base().texture().cacheKey() != QS60StylePrivate::m_themePalette->base().texture().cacheKey()) { + if (QS60StylePrivate::equalToThemePalette(vopt->palette.base().texture().cacheKey(), QPalette::Base)) { //QPalette::Base has been changed, let commonstyle draw the item commonStyleDraws = true; } else { diff --git a/src/gui/styles/qs60style_p.h b/src/gui/styles/qs60style_p.h index 51ced96..b3f4160 100644 --- a/src/gui/styles/qs60style_p.h +++ b/src/gui/styles/qs60style_p.h @@ -598,6 +598,8 @@ private: void setThemePaletteHash(QPalette *palette) const; static void storeThemePalette(QPalette *palette); static void deleteThemePalette(); + static bool equalToThemePalette(QColor color, QPalette::ColorRole role); + static bool equalToThemePalette(qint64 cacheKey, QPalette::ColorRole role); static QSize partSize(QS60StyleEnums::SkinParts part, SkinElementFlags flags = KDefaultSkinElementFlags); -- cgit v0.12 From 0f6dbb14ede58ebe86c1042dab5a0f086635770f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Samuel=20R=C3=B8dal?= Date: Fri, 17 Sep 2010 12:19:01 +0200 Subject: Added autotest for QPixmap::size() with null pixmaps. For change 82575a9f6123eed3e858 which fixed a behavioural regression. Reviewed-by: Olivier Goffart --- tests/auto/qpixmap/tst_qpixmap.cpp | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/tests/auto/qpixmap/tst_qpixmap.cpp b/tests/auto/qpixmap/tst_qpixmap.cpp index 7e0f466..8005ec5 100644 --- a/tests/auto/qpixmap/tst_qpixmap.cpp +++ b/tests/auto/qpixmap/tst_qpixmap.cpp @@ -742,6 +742,11 @@ void tst_QPixmap::testMetrics() QCOMPARE(bitmap.width(), 100); QCOMPARE(bitmap.height(), 100); QCOMPARE(bitmap.depth(), 1); + + QPixmap null; + + QCOMPARE(null.size().width(), null.width()); + QCOMPARE(null.size().height(), null.height()); } void tst_QPixmap::createMaskFromColor() -- cgit v0.12 From 9d9fc57b4af91eab681abb07c0924c71c1374537 Mon Sep 17 00:00:00 2001 From: Miikka Heikkinen Date: Fri, 17 Sep 2010 12:49:05 +0300 Subject: Remove pre-Symbian3 plugins from Symbian3 and later builds Symbian3 and later builds are not compatible with pre-Symbian3 phones anyway, so no need to build and deploy older version plugins when building for Symbian3 or later. Task-number: QT-3949 Reviewed-by: Janne Koskinen --- src/plugins/bearer/symbian/symbian.pri | 6 ++--- src/plugins/bearer/symbian/symbian.pro | 7 ++++- src/plugins/s60/s60.pro | 10 ++++++- src/s60installs/s60installs.pro | 48 ++++++++++++++++++++-------------- 4 files changed, 46 insertions(+), 25 deletions(-) diff --git a/src/plugins/bearer/symbian/symbian.pri b/src/plugins/bearer/symbian/symbian.pri index 9b3f50c..e874945 100644 --- a/src/plugins/bearer/symbian/symbian.pri +++ b/src/plugins/bearer/symbian/symbian.pri @@ -22,11 +22,9 @@ LIBS += -lcommdb \ -lnetmeta is_using_gnupoc { - LIBS += -lconnmon \ - -lapsettingshandlerui + LIBS += -lconnmon } else { - LIBS += -lConnMon \ - -lApSettingsHandlerUI + LIBS += -lConnMon } QTDIR_build:DESTDIR = $$QT_BUILD_TREE/plugins/bearer diff --git a/src/plugins/bearer/symbian/symbian.pro b/src/plugins/bearer/symbian/symbian.pro index f320eb6..91f8217 100644 --- a/src/plugins/bearer/symbian/symbian.pro +++ b/src/plugins/bearer/symbian/symbian.pro @@ -1,3 +1,8 @@ TEMPLATE = subdirs -SUBDIRS += 3_1 3_2 symbian_3 \ No newline at end of file +contains(S60_VERSION, 3.1)|contains(S60_VERSION, 3.2)|contains(S60_VERSION, 5.0) { + SUBDIRS += 3_1 3_2 +} + +# Symbian3 builds the default plugin for winscw so it is always needed +SUBDIRS += symbian_3 \ No newline at end of file diff --git a/src/plugins/s60/s60.pro b/src/plugins/s60/s60.pro index 8ae639c..c999fff 100644 --- a/src/plugins/s60/s60.pro +++ b/src/plugins/s60/s60.pro @@ -1,3 +1,11 @@ TEMPLATE = subdirs -symbian:SUBDIRS = 3_1 3_2 5_0 + +symbian { + contains(S60_VERSION, 3.1)|contains(S60_VERSION, 3.2)|contains(S60_VERSION, 5.0) { + SUBDIRS += 3_1 3_2 + } + + # 5.0 is used also for Symbian3 and later + SUBDIRS += 5_0 +} \ No newline at end of file diff --git a/src/s60installs/s60installs.pro b/src/s60installs/s60installs.pro index 9e1d582..1f622c0 100644 --- a/src/s60installs/s60installs.pro +++ b/src/s60installs/s60installs.pro @@ -65,26 +65,36 @@ symbian: { bearerStubZ = $${PWD}/qsymbianbearer.qtplugin } - qts60plugindeployment = \ - "IF package(0x20022E6D)" \ - " \"$$pluginLocations/qts60plugin_5_0$${QT_LIBINFIX}.dll\" - \"c:\\sys\\bin\\qts60plugin_5_0$${QT_LIBINFIX}.dll\"" \ - " \"$$bearerPluginLocation/qsymbianbearer$${QT_LIBINFIX}.dll\" - \"c:\\sys\\bin\\qsymbianbearer$${QT_LIBINFIX}.dll\"" \ - "ELSEIF package(0x1028315F)" \ - " \"$$pluginLocations/qts60plugin_5_0$${QT_LIBINFIX}.dll\" - \"c:\\sys\\bin\\qts60plugin_5_0$${QT_LIBINFIX}.dll\"" \ - " \"$$bearerPluginLocation/qsymbianbearer$${QT_LIBINFIX}_3_2.dll\" - \"c:\\sys\\bin\\qsymbianbearer$${QT_LIBINFIX}.dll\"" \ - "ELSEIF package(0x102752AE)" \ - " \"$$pluginLocations/qts60plugin_3_2$${QT_LIBINFIX}.dll\" - \"c:\\sys\\bin\\qts60plugin_3_2$${QT_LIBINFIX}.dll\"" \ - " \"$$bearerPluginLocation/qsymbianbearer$${QT_LIBINFIX}_3_2.dll\" - \"c:\\sys\\bin\\qsymbianbearer$${QT_LIBINFIX}.dll\"" \ - "ELSEIF package(0x102032BE)" \ - " \"$$pluginLocations/qts60plugin_3_1$${QT_LIBINFIX}.dll\" - \"c:\\sys\\bin\\qts60plugin_3_1$${QT_LIBINFIX}.dll\"" \ - " \"$$bearerPluginLocation/qsymbianbearer$${QT_LIBINFIX}_3_1.dll\" - \"c:\\sys\\bin\\qsymbianbearer$${QT_LIBINFIX}.dll\"" \ - "ELSE" \ - " \"$$pluginLocations/qts60plugin_5_0$${QT_LIBINFIX}.dll\" - \"c:\\sys\\bin\\qts60plugin_5_0$${QT_LIBINFIX}.dll\"" \ - " \"$$bearerPluginLocation/qsymbianbearer$${QT_LIBINFIX}.dll\" - \"c:\\sys\\bin\\qsymbianbearer$${QT_LIBINFIX}.dll\"" \ - "ENDIF" \ - " \"$$bearerStubZ\" - \"c:$$replace(QT_PLUGINS_BASE_DIR,/,\\)\\bearer\\qsymbianbearer$${QT_LIBINFIX}.qtplugin\" - qtlibraries.pkg_postrules += qts60plugindeployment + contains(S60_VERSION, 3.1)|contains(S60_VERSION, 3.2)|contains(S60_VERSION, 5.0) { + qts60plugindeployment = \ + "IF package(0x20022E6D)" \ + " \"$$pluginLocations/qts60plugin_5_0$${QT_LIBINFIX}.dll\" - \"c:\\sys\\bin\\qts60plugin_5_0$${QT_LIBINFIX}.dll\"" \ + " \"$$bearerPluginLocation/qsymbianbearer$${QT_LIBINFIX}.dll\" - \"c:\\sys\\bin\\qsymbianbearer$${QT_LIBINFIX}.dll\"" \ + "ELSEIF package(0x1028315F)" \ + " \"$$pluginLocations/qts60plugin_5_0$${QT_LIBINFIX}.dll\" - \"c:\\sys\\bin\\qts60plugin_5_0$${QT_LIBINFIX}.dll\"" \ + " \"$$bearerPluginLocation/qsymbianbearer$${QT_LIBINFIX}_3_2.dll\" - \"c:\\sys\\bin\\qsymbianbearer$${QT_LIBINFIX}.dll\"" \ + "ELSEIF package(0x102752AE)" \ + " \"$$pluginLocations/qts60plugin_3_2$${QT_LIBINFIX}.dll\" - \"c:\\sys\\bin\\qts60plugin_3_2$${QT_LIBINFIX}.dll\"" \ + " \"$$bearerPluginLocation/qsymbianbearer$${QT_LIBINFIX}_3_2.dll\" - \"c:\\sys\\bin\\qsymbianbearer$${QT_LIBINFIX}.dll\"" \ + "ELSEIF package(0x102032BE)" \ + " \"$$pluginLocations/qts60plugin_3_1$${QT_LIBINFIX}.dll\" - \"c:\\sys\\bin\\qts60plugin_3_1$${QT_LIBINFIX}.dll\"" \ + " \"$$bearerPluginLocation/qsymbianbearer$${QT_LIBINFIX}_3_1.dll\" - \"c:\\sys\\bin\\qsymbianbearer$${QT_LIBINFIX}.dll\"" \ + "ELSE" \ + " \"$$pluginLocations/qts60plugin_5_0$${QT_LIBINFIX}.dll\" - \"c:\\sys\\bin\\qts60plugin_5_0$${QT_LIBINFIX}.dll\"" \ + " \"$$bearerPluginLocation/qsymbianbearer$${QT_LIBINFIX}.dll\" - \"c:\\sys\\bin\\qsymbianbearer$${QT_LIBINFIX}.dll\"" \ + "ENDIF" \ + " \"$$bearerStubZ\" - \"c:$$replace(QT_PLUGINS_BASE_DIR,/,\\)\\bearer\\qsymbianbearer$${QT_LIBINFIX}.qtplugin\" + } else { + # No need to deploy plugins for older platform versions when building on Symbian3 or later + qts60plugindeployment = \ + " \"$$pluginLocations/qts60plugin_5_0$${QT_LIBINFIX}.dll\" - \"c:\\sys\\bin\\qts60plugin_5_0$${QT_LIBINFIX}.dll\"" + bearer_plugin.sources = $$QT_BUILD_TREE/plugins/bearer/qsymbianbearer$${QT_LIBINFIX}.dll + bearer_plugin.path = c:$$QT_PLUGINS_BASE_DIR/bearer + DEPLOYMENT += bearer_plugin + } + + qtlibraries.pkg_postrules += qts60plugindeployment qtlibraries.path = c:/sys/bin -- cgit v0.12 From 4aea5ebee1ddaa9c05471b0562443d0bab079e68 Mon Sep 17 00:00:00 2001 From: Miikka Heikkinen Date: Fri, 17 Sep 2010 13:29:33 +0300 Subject: Load environment.prf from Symbian SDK if it exists there Environment.prf can contain SDK specific variable settings such as SYMBIAN_VERSION. Task-number: QT-3949 Reviewed-by: Janne Koskinen --- mkspecs/common/symbian/symbian.conf | 55 ++++++++++++++++++++++--------------- 1 file changed, 33 insertions(+), 22 deletions(-) diff --git a/mkspecs/common/symbian/symbian.conf b/mkspecs/common/symbian/symbian.conf index beef193..679731f 100644 --- a/mkspecs/common/symbian/symbian.conf +++ b/mkspecs/common/symbian/symbian.conf @@ -125,36 +125,47 @@ QT_IMPORTS_BASE_DIR = /resource/qt/imports load(symbian/platform_paths) -# The Symbian^3 PDK does not necessarily contain the required sis files. -# However, libstdcppv5 first appeared in Symbian^3 (S60 5.2), so check for that too. -exists($${EPOCROOT}epoc32/release/winscw/udeb/z/system/install/series60v5.2.sis)|exists($${EPOCROOT}epoc32/data/z/system/install/series60v5.2.sis)|exists($${EPOCROOT}epoc32/release/armv5/lib/libstdcppv5.dso) { - S60_VERSION = 5.2 -} else { - exists($${EPOCROOT}epoc32/release/winscw/udeb/z/system/install/series60v5.1.sis)|exists($${EPOCROOT}epoc32/data/z/system/install/series60v5.1.sis) { - S60_VERSION = 5.1 +# If environment.prf is provided by platform, load that. +# It is used for platform specific variable settings, such as SYMBIAN_VERSION. +exists($${EPOCROOT}epoc32/tools/qt/mkspecs/features/environment.prf) { + load($${EPOCROOT}epoc32/tools/qt/mkspecs/features/environment.prf) +} + +# Try to detect SDK version if it wasn't set by environment.prf +isEmpty(S60_VERSION) { + # The Symbian^3 PDK does not necessarily contain the required sis files. + # However, libstdcppv5 first appeared in Symbian^3 (S60 5.2), so check for that too. + exists($${EPOCROOT}epoc32/release/winscw/udeb/z/system/install/series60v5.2.sis)|exists($${EPOCROOT}epoc32/data/z/system/install/series60v5.2.sis)|exists($${EPOCROOT}epoc32/release/armv5/lib/libstdcppv5.dso) { + S60_VERSION = 5.2 } else { - exists($${EPOCROOT}epoc32/release/winscw/udeb/z/system/install/series60v5.0.sis)|exists($${EPOCROOT}epoc32/data/z/system/install/series60v5.0.sis) { - S60_VERSION = 5.0 + exists($${EPOCROOT}epoc32/release/winscw/udeb/z/system/install/series60v5.1.sis)|exists($${EPOCROOT}epoc32/data/z/system/install/series60v5.1.sis) { + S60_VERSION = 5.1 } else { - exists($${EPOCROOT}epoc32/release/winscw/udeb/z/system/install/series60v3.2.sis)|exists($${EPOCROOT}epoc32/data/z/system/install/series60v3.2.sis) { - S60_VERSION = 3.2 + exists($${EPOCROOT}epoc32/release/winscw/udeb/z/system/install/series60v5.0.sis)|exists($${EPOCROOT}epoc32/data/z/system/install/series60v5.0.sis) { + S60_VERSION = 5.0 } else { - S60_VERSION = 3.1 + exists($${EPOCROOT}epoc32/release/winscw/udeb/z/system/install/series60v3.2.sis)|exists($${EPOCROOT}epoc32/data/z/system/install/series60v3.2.sis) { + S60_VERSION = 3.2 + } else { + S60_VERSION = 3.1 + } } } } } -contains(S60_VERSION, "3\\.1") { - SYMBIAN_VERSION = 9.2 -} else:contains(S60_VERSION, "3\\.2") { - SYMBIAN_VERSION = 9.3 -} else:contains(S60_VERSION, "5\\.0") { - SYMBIAN_VERSION = 9.4 -} else:contains(S60_VERSION, "5\\.1") { - SYMBIAN_VERSION = Symbian2 -} else:contains(S60_VERSION, "5\\.2") { - SYMBIAN_VERSION = Symbian3 +isEmpty(SYMBIAN_VERSION) { + contains(S60_VERSION, "3\\.1") { + SYMBIAN_VERSION = 9.2 + } else:contains(S60_VERSION, "3\\.2") { + SYMBIAN_VERSION = 9.3 + } else:contains(S60_VERSION, "5\\.0") { + SYMBIAN_VERSION = 9.4 + } else:contains(S60_VERSION, "5\\.1") { + SYMBIAN_VERSION = Symbian2 + } else:contains(S60_VERSION, "5\\.2") { + SYMBIAN_VERSION = Symbian3 + } } # pkg_depends_webkit, pkg_depends_core, and pkg_platform_dependencies can be removed by developer -- cgit v0.12 From d242d2f863936a4e3e2b07a4d84b7f0c4b4eb817 Mon Sep 17 00:00:00 2001 From: Sami Merila Date: Fri, 17 Sep 2010 15:12:12 +0300 Subject: QS60Style does not show checkbox for checkable item in QTreeView QS60Style currently skips drawing of checkbox for checkable itemviews. It however reserves space for the checkbox in the itemview item row. As a fix, also draw the checkbox. Task-number: QTBUG-11150 Reviewed-by: Shane Kearns --- src/gui/styles/qs60style.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/gui/styles/qs60style.cpp b/src/gui/styles/qs60style.cpp index d529dd5..5996032 100644 --- a/src/gui/styles/qs60style.cpp +++ b/src/gui/styles/qs60style.cpp @@ -1475,8 +1475,8 @@ void QS60Style::drawControl(ControlElement element, const QStyleOption *option, const QIcon::State state = (voptAdj.state & State_Open) ? QIcon::On : QIcon::Off; voptAdj.icon.paint(painter, iconRect, voptAdj.decorationAlignment, mode, state); - // Draw selection check mark. Show check mark only in multi selection modes. - if (itemView && !singleSelection) { + // Draw selection check mark or checkbox + if (itemView && (!singleSelection || (vopt->features & QStyleOptionViewItemV2::HasCheckIndicator))) { const QRect selectionRect = subElementRect(SE_ItemViewItemCheckIndicator, &voptAdj, widget); QStyleOptionViewItemV4 checkMarkOption(voptAdj); -- cgit v0.12 From 82244a4b24776202802f35797e0bb72ec32dd0e7 Mon Sep 17 00:00:00 2001 From: Gareth Stockwell Date: Wed, 1 Sep 2010 14:04:10 +0100 Subject: Fixed buffer overrun in Symbian QAudioInput backend Task-number: QTBUG-13058 Reviewed-by: Derick Hawcroft --- src/multimedia/audio/qaudioinput_symbian_p.cpp | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/src/multimedia/audio/qaudioinput_symbian_p.cpp b/src/multimedia/audio/qaudioinput_symbian_p.cpp index 9d240ca..9ae4368 100644 --- a/src/multimedia/audio/qaudioinput_symbian_p.cpp +++ b/src/multimedia/audio/qaudioinput_symbian_p.cpp @@ -373,7 +373,8 @@ qint64 QAudioInputPrivate::read(char *data, qint64 len) TDesC8 &inputBuffer = buffer->Data(); - const qint64 inputBytes = bytesReady(); + Q_ASSERT(inputBuffer.Length() >= m_devSoundBufferPos); + const qint64 inputBytes = inputBuffer.Length() - m_devSoundBufferPos; const qint64 outputBytes = len - bytesRead; const qint64 copyBytes = outputBytes < inputBytes ? outputBytes : inputBytes; @@ -384,7 +385,7 @@ qint64 QAudioInputPrivate::read(char *data, qint64 len) data += copyBytes; bytesRead += copyBytes; - if (!bytesReady()) + if (inputBytes == copyBytes) bufferEmptied(); } @@ -403,13 +404,14 @@ void QAudioInputPrivate::pullData() TDesC8 &inputBuffer = buffer->Data(); - const qint64 inputBytes = bytesReady(); + Q_ASSERT(inputBuffer.Length() >= m_devSoundBufferPos); + const qint64 inputBytes = inputBuffer.Length() - m_devSoundBufferPos; const qint64 bytesPushed = m_sink->write( (char*)inputBuffer.Ptr() + m_devSoundBufferPos, inputBytes); m_devSoundBufferPos += bytesPushed; - if (!bytesReady()) + if (inputBytes == bytesPushed) bufferEmptied(); if (!bytesPushed) -- cgit v0.12 From f43ec0dc8414d7342f02269fdc5cd6ac7b7ec44f Mon Sep 17 00:00:00 2001 From: Gareth Stockwell Date: Wed, 8 Sep 2010 13:41:54 +0100 Subject: Discard all DevSound buffers held when QAudioInput::suspend() called Resuming recording causes buffers previously provided to the client (via MDevSoundObserver::BufferToBeEmptied()) to be invalidated. The buffers therefore must be discarded when recording is suspended. Task-number: QTBUG-13058 Reviewed-by: Derick Hawcroft --- src/multimedia/audio/qaudioinput_symbian_p.cpp | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/src/multimedia/audio/qaudioinput_symbian_p.cpp b/src/multimedia/audio/qaudioinput_symbian_p.cpp index 9ae4368..b837055 100644 --- a/src/multimedia/audio/qaudioinput_symbian_p.cpp +++ b/src/multimedia/audio/qaudioinput_symbian_p.cpp @@ -178,10 +178,9 @@ void QAudioInputPrivate::suspend() const qint64 samplesRecorded = getSamplesRecorded(); m_totalSamplesRecorded += samplesRecorded; - if (m_devSoundBuffer) { - m_devSoundBufferQ.append(m_devSoundBuffer); - m_devSoundBuffer = 0; - } + m_devSoundBuffer = 0; + m_devSoundBufferQ.clear(); + m_devSoundBufferPos = 0; setState(SymbianAudio::SuspendedState); } -- cgit v0.12 From 7eb0aea6d3d261b97d224b5342fac1637cb9b792 Mon Sep 17 00:00:00 2001 From: Gareth Stockwell Date: Wed, 1 Sep 2010 13:47:16 +0100 Subject: Permit QAudioOutput::processedUSecs() to be called immediately after start() If QAudioOutput::processedUSecs() is called very soon after QAudioOutput::start(), the DevSound instance owned by the Symbian backend may still be initializing. This patch causes the function to return zero, rather than failing an assertion. Task-number: QTBUG-13059 Reviewed-by: Derick Hawcroft --- src/multimedia/audio/qaudio_symbian_p.cpp | 17 +++++++++-------- 1 file changed, 9 insertions(+), 8 deletions(-) diff --git a/src/multimedia/audio/qaudio_symbian_p.cpp b/src/multimedia/audio/qaudio_symbian_p.cpp index 4522c5c..ae58b94 100644 --- a/src/multimedia/audio/qaudio_symbian_p.cpp +++ b/src/multimedia/audio/qaudio_symbian_p.cpp @@ -432,15 +432,16 @@ bool DevSoundWrapper::isFormatSupported(const QAudioFormat &format) const int DevSoundWrapper::samplesProcessed() const { - Q_ASSERT(StateInitialized == m_state); int result = 0; - switch (m_mode) { - case QAudio::AudioInput: - result = m_devsound->SamplesRecorded(); - break; - case QAudio::AudioOutput: - result = m_devsound->SamplesPlayed(); - break; + if (StateInitialized == m_state) { + switch (m_mode) { + case QAudio::AudioInput: + result = m_devsound->SamplesRecorded(); + break; + case QAudio::AudioOutput: + result = m_devsound->SamplesPlayed(); + break; + } } return result; } -- cgit v0.12 From 98b335dadef433e383d3a25dbdadbb5efe7f8429 Mon Sep 17 00:00:00 2001 From: Gareth Stockwell Date: Wed, 1 Sep 2010 13:49:54 +0100 Subject: Discard empty buffer on call to QAudioOutput::resume() The Symbian backend holds buffers which are passed to it from DevSound, exposing the memory of these buffers via the QIODevice interface. When QAudioOutput::resume() is called, the backend re-starts data flow by passing the buffer it holds back to DevSound. Previously, this would not happen if the buffer was empty, potentially causing playback to stall. This patch ensures that the buffer is always sent back to DevSound, and data flow therefore always resumes. Task-number: QTBUG-13059 Reviewed-by: Derick Hawcroft --- src/multimedia/audio/qaudiooutput_symbian_p.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/multimedia/audio/qaudiooutput_symbian_p.cpp b/src/multimedia/audio/qaudiooutput_symbian_p.cpp index 5098469..5054ae3 100644 --- a/src/multimedia/audio/qaudiooutput_symbian_p.cpp +++ b/src/multimedia/audio/qaudiooutput_symbian_p.cpp @@ -210,7 +210,7 @@ void QAudioOutputPrivate::suspend() void QAudioOutputPrivate::resume() { if (SymbianAudio::SuspendedState == m_internalState) { - if (!m_pullMode && m_devSoundBuffer && m_devSoundBuffer->Data().Length()) + if (!m_pullMode && m_devSoundBuffer) bufferFilled(); startPlayback(); } -- cgit v0.12 From 4b0435b0dc2287756221e35f2ebe9493aad8306d Mon Sep 17 00:00:00 2001 From: Gareth Stockwell Date: Wed, 1 Sep 2010 13:52:46 +0100 Subject: Suppress overflow errors raised by Symbian DevSound during playback When QAudioOutput::suspend() and QAudioOutput::resume() are called repeatedly, with a short delay between each call, DevSound occasionally raises a KErrOverflow error. The backend previously translated this into QAudio::IOError, causing the object to transition into the QAudio::Stopped state. This error can be safely ignored, with playback resuming as soon as more audio data is provided to DevSound. This patch therefore suppresses the error. Task-number: QTBUG-13059 Reviewed-by: Derick Hawcroft --- src/multimedia/audio/qaudiooutput_symbian_p.cpp | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/multimedia/audio/qaudiooutput_symbian_p.cpp b/src/multimedia/audio/qaudiooutput_symbian_p.cpp index 5054ae3..c8b6ecf 100644 --- a/src/multimedia/audio/qaudiooutput_symbian_p.cpp +++ b/src/multimedia/audio/qaudiooutput_symbian_p.cpp @@ -371,6 +371,9 @@ void QAudioOutputPrivate::devsoundPlayError(int err) else setState(SymbianAudio::IdleState); break; + case KErrOverflow: + // Silently consume this error when in playback mode + break; default: setError(QAudio::IOError); break; -- cgit v0.12 From 9fd8589c9d4574c04a989a6c5e1d335779d2b244 Mon Sep 17 00:00:00 2001 From: Gareth Stockwell Date: Wed, 8 Sep 2010 15:18:06 +0100 Subject: Discard buffer pointer when DevSound is stopped Task-number: QTBUG-13504 Reviewed-by: Derick Hawcroft --- src/multimedia/audio/qaudiooutput_symbian_p.cpp | 1 + 1 file changed, 1 insertion(+) diff --git a/src/multimedia/audio/qaudiooutput_symbian_p.cpp b/src/multimedia/audio/qaudiooutput_symbian_p.cpp index c8b6ecf..cc32f9d 100644 --- a/src/multimedia/audio/qaudiooutput_symbian_p.cpp +++ b/src/multimedia/audio/qaudiooutput_symbian_p.cpp @@ -195,6 +195,7 @@ void QAudioOutputPrivate::suspend() // lost data with silence following a call to resume(), in order to // ensure that processedUSecs() returns the correct value. m_devSound->stop(); + m_devSoundBuffer = 0; m_totalSamplesPlayed += samplesPlayed; // Calculate the amount of data dropped -- cgit v0.12 From 737b75e19b7206cb9888e87930cb37b1906a6345 Mon Sep 17 00:00:00 2001 From: Gareth Stockwell Date: Tue, 14 Sep 2010 15:02:03 +0100 Subject: Implement QAudioInput::suspend() using CMMFDevSound::Stop() As with playback mode, lack of support for CMMFDevSound::Pause() in DevSound's recording mode causes problems on some devices. Specifically, while QAudioInput works fine on the Nokia 5800, this bug was observed on the Nokia N8. This fix means that suspending and resuming audio input will work correctly on all devices. Task-number: QTBUG-13506 Reviewed-by: Derick Hawcroft --- src/multimedia/audio/qaudio_symbian_p.cpp | 25 ++++++++++++-- src/multimedia/audio/qaudio_symbian_p.h | 15 +++++++-- src/multimedia/audio/qaudioinput_symbian_p.cpp | 30 +++++++++++------ src/multimedia/audio/qaudiooutput_symbian_p.cpp | 45 +++++++++++-------------- 4 files changed, 73 insertions(+), 42 deletions(-) diff --git a/src/multimedia/audio/qaudio_symbian_p.cpp b/src/multimedia/audio/qaudio_symbian_p.cpp index ae58b94..59fc05f 100644 --- a/src/multimedia/audio/qaudio_symbian_p.cpp +++ b/src/multimedia/audio/qaudio_symbian_p.cpp @@ -313,7 +313,8 @@ QAudio::State stateNativeToQt(State nativeState) return QAudio::ActiveState; case IdleState: return QAudio::IdleState; - case SuspendedState: + case SuspendedPausedState: + case SuspendedStoppedState: return QAudio::SuspendedState; default: Q_ASSERT_X(false, Q_FUNC_INFO, "Invalid state"); @@ -476,10 +477,22 @@ bool DevSoundWrapper::start() return (KErrNone == err); } -void DevSoundWrapper::pause() +bool DevSoundWrapper::pause() { Q_ASSERT(StateInitialized == m_state); - m_devsound->Pause(); + const bool canPause = isResumeSupported(); + if (canPause) + m_devsound->Pause(); + else + stop(); + return canPause; +} + +void DevSoundWrapper::resume() +{ + Q_ASSERT(StateInitialized == m_state); + Q_ASSERT(isResumeSupported()); + // TODO: QTBUG-13625 } void DevSoundWrapper::stop() @@ -558,6 +571,12 @@ void DevSoundWrapper::populateCapabilities() } } +bool DevSoundWrapper::isResumeSupported() const +{ + // TODO: QTBUG-13625 + return false; +} + void DevSoundWrapper::InitializeComplete(TInt aError) { Q_ASSERT(StateInitializing == m_state); diff --git a/src/multimedia/audio/qaudio_symbian_p.h b/src/multimedia/audio/qaudio_symbian_p.h index 58ef192..84a93d1 100644 --- a/src/multimedia/audio/qaudio_symbian_p.h +++ b/src/multimedia/audio/qaudio_symbian_p.h @@ -81,7 +81,10 @@ enum State { , InitializingState , ActiveState , IdleState - , SuspendedState + // QAudio is suspended; DevSound is paused + , SuspendedPausedState + // QAudio is suspended; DevSound is stopped + , SuspendedStoppedState }; /** @@ -117,7 +120,14 @@ public: int samplesProcessed() const; bool setFormat(const QAudioFormat &format); bool start(); - void pause(); + + // If DevSound implementation supports pause, calls pause and returns true. + // Otherwise calls stop and returns false. In this case, all DevSound buffers + // currently held by the backend must be discarded. + bool pause(); + + void resume(); + void stop(); void bufferProcessed(); @@ -140,6 +150,7 @@ signals: private: void getSupportedCodecs(); void populateCapabilities(); + bool isResumeSupported() const; private: const QAudio::Mode m_mode; diff --git a/src/multimedia/audio/qaudioinput_symbian_p.cpp b/src/multimedia/audio/qaudioinput_symbian_p.cpp index b837055..485c695 100644 --- a/src/multimedia/audio/qaudioinput_symbian_p.cpp +++ b/src/multimedia/audio/qaudioinput_symbian_p.cpp @@ -174,22 +174,30 @@ void QAudioInputPrivate::suspend() || SymbianAudio::IdleState == m_internalState) { m_notifyTimer->stop(); m_pullTimer->stop(); - m_devSound->pause(); const qint64 samplesRecorded = getSamplesRecorded(); m_totalSamplesRecorded += samplesRecorded; - m_devSoundBuffer = 0; - m_devSoundBufferQ.clear(); - m_devSoundBufferPos = 0; - - setState(SymbianAudio::SuspendedState); + const bool paused = m_devSound->pause(); + if (paused) { + if (m_devSoundBuffer) + m_devSoundBufferQ.append(m_devSoundBuffer); + m_devSoundBuffer = 0; + setState(SymbianAudio::SuspendedPausedState); + } else { + m_devSoundBuffer = 0; + m_devSoundBufferQ.clear(); + m_devSoundBufferPos = 0; + setState(SymbianAudio::SuspendedStoppedState); + } } } void QAudioInputPrivate::resume() { - if (SymbianAudio::SuspendedState == m_internalState) { - if (!m_pullMode && !bytesReady()) + if (QAudio::SuspendedState == m_externalState) { + if (SymbianAudio::SuspendedPausedState == m_internalState) + m_devSound->resume(); + else m_devSound->start(); startDataTransfer(); } @@ -245,7 +253,7 @@ int QAudioInputPrivate::notifyInterval() const qint64 QAudioInputPrivate::processedUSecs() const { int samplesPlayed = 0; - if (m_devSound && SymbianAudio::SuspendedState != m_internalState) + if (m_devSound && QAudio::SuspendedState != m_externalState) samplesPlayed = getSamplesRecorded(); // Protect against division by zero @@ -334,7 +342,7 @@ void QAudioInputPrivate::startDataTransfer() if (!m_pullMode) pushData(); } else { - if (SymbianAudio::SuspendedState == m_internalState) + if (QAudio::SuspendedState == m_externalState) setState(SymbianAudio::ActiveState); else setState(SymbianAudio::IdleState); @@ -442,7 +450,7 @@ void QAudioInputPrivate::devsoundBufferToBeEmptied(CMMFBuffer *baseBuffer) m_totalBytesReady += buffer->Data().Length(); - if (SymbianAudio::SuspendedState == m_internalState) { + if (SymbianAudio::SuspendedPausedState == m_internalState) { m_devSoundBufferQ.append(buffer); } else { // Will be returned to DevSoundWrapper by bufferProcessed(). diff --git a/src/multimedia/audio/qaudiooutput_symbian_p.cpp b/src/multimedia/audio/qaudiooutput_symbian_p.cpp index cc32f9d..ea14e19 100644 --- a/src/multimedia/audio/qaudiooutput_symbian_p.cpp +++ b/src/multimedia/audio/qaudiooutput_symbian_p.cpp @@ -180,40 +180,33 @@ void QAudioOutputPrivate::suspend() || SymbianAudio::IdleState == m_internalState) { m_notifyTimer->stop(); m_underflowTimer->stop(); - const qint64 samplesWritten = SymbianAudio::Utils::bytesToSamples( m_format, m_bytesWritten); - const qint64 samplesPlayed = getSamplesPlayed(); - - m_bytesWritten = 0; - - // CMMFDevSound::Pause() is not guaranteed to work correctly in all - // implementations, for play-mode DevSound sessions. We therefore - // have to implement suspend() by calling CMMFDevSound::Stop(). - // Because this causes buffered data to be dropped, we replace the - // lost data with silence following a call to resume(), in order to - // ensure that processedUSecs() returns the correct value. - m_devSound->stop(); - m_devSoundBuffer = 0; m_totalSamplesPlayed += samplesPlayed; - - // Calculate the amount of data dropped - const qint64 paddingSamples = samplesWritten - samplesPlayed; - Q_ASSERT(paddingSamples >= 0); - m_bytesPadding = SymbianAudio::Utils::samplesToBytes(m_format, - paddingSamples); - - setState(SymbianAudio::SuspendedState); + m_bytesWritten = 0; + const bool paused = m_devSound->pause(); + if (paused) { + setState(SymbianAudio::SuspendedPausedState); + } else { + m_devSoundBuffer = 0; + // Calculate the amount of data dropped + const qint64 paddingSamples = samplesWritten - samplesPlayed; + Q_ASSERT(paddingSamples >= 0); + m_bytesPadding = SymbianAudio::Utils::samplesToBytes(m_format, + paddingSamples); + setState(SymbianAudio::SuspendedStoppedState); + } } } void QAudioOutputPrivate::resume() { - if (SymbianAudio::SuspendedState == m_internalState) { - if (!m_pullMode && m_devSoundBuffer) - bufferFilled(); - startPlayback(); + if (QAudio::SuspendedState == m_externalState) { + if (SymbianAudio::SuspendedPausedState == m_internalState) + m_devSound->resume(); + else + startPlayback(); } } @@ -271,7 +264,7 @@ int QAudioOutputPrivate::notifyInterval() const qint64 QAudioOutputPrivate::processedUSecs() const { int samplesPlayed = 0; - if (m_devSound && SymbianAudio::SuspendedState != m_internalState) + if (m_devSound && QAudio::SuspendedState != m_externalState) samplesPlayed = getSamplesPlayed(); // Protect against division by zero -- cgit v0.12 From 79876262351ec0e6b98564ffcf627f947a1d7fe5 Mon Sep 17 00:00:00 2001 From: Alessandro Portale Date: Fri, 17 Sep 2010 17:17:26 +0200 Subject: Remove unnecessary textcodec aliases from qtextcodec_symbian.cpp MS_KANJI and Java UTF-8 are not needed because both had aliases which only differ in character case. Qt handles these aliases case insensitive, however. The removal speeds the lookup up, a bit. Reviewed-By: Olivier Goffart Task-Number: QTBUG-13565 --- src/corelib/codecs/qtextcodec_symbian.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/corelib/codecs/qtextcodec_symbian.cpp b/src/corelib/codecs/qtextcodec_symbian.cpp index 18c5fd0..d59998f 100644 --- a/src/corelib/codecs/qtextcodec_symbian.cpp +++ b/src/corelib/codecs/qtextcodec_symbian.cpp @@ -59,7 +59,7 @@ struct QSymbianCodecInitData { It is ordered by charsetId to allow binary search lookup */ static const QSymbianCodecInitData codecsData[] = { - { /*268439485*/ KCharacterSetIdentifierShiftJis, 17, "Shift_JIS\0MS_Kanji\0csShiftJIS\0MS_KANJI\0SJIS\0" }, + { /*268439485*/ KCharacterSetIdentifierShiftJis, 17, "Shift_JIS\0MS_Kanji\0csShiftJIS\0SJIS\0" }, { /*268439486*/ KCharacterSetIdentifierGb2312, 57, "GB2312\0csGB2312\0CN-GB\0EUC-CN\0" }, // Note: ConvertCharacterSetIdentifierToMibEnumL returns Mib 0 instaead of 57 { /*268439487*/ KCharacterSetIdentifierBig5, 2026, "Big5\0csBig5\0Big5-ETen\0CP950\0BIG-FIVE\0CN-BIG5\0" }, { /*268440246*/ KCharacterSetIdentifierCodePage1252, 2252, "windows-1252\0Code Page 1252\0CP1252\0MS-ANSI\0" }, @@ -76,7 +76,7 @@ static const QSymbianCodecInitData codecsData[] = { { /*268458028*/ KCharacterSetIdentifierUtf7, 103, "UTF-7\0UNICODE-1-1-UTF-7\0CSUNICODE11UTF7\0" }, // { /*268458029*/ KCharacterSetIdentifierUtf8, 106, "UTF-8\0" }, { /*268458030*/ KCharacterSetIdentifierImapUtf7, 0, "IMAP UTF-7\0" }, - { /*268458031*/ KCharacterSetIdentifierJavaConformantUtf8, 0, "Java UTF-8\0JAVA UTF-8\0" }, + { /*268458031*/ KCharacterSetIdentifierJavaConformantUtf8, 0, "JAVA UTF-8\0" }, { /*268458454*/ 268458454, 2250, "Windows-1250\0CP1250\0MS-EE\0" }, { /*268458455*/ 268458455, 2251, "Windows-1251\0CP1251\0MS-CYRL\0" }, { /*268458456*/ 268458456, 2253, "Windows-1253\0CP1253\0MS-GREEK\0" }, -- cgit v0.12 From fa373ee165b32b712690656a5f69f862292a2c1e Mon Sep 17 00:00:00 2001 From: Anders Bakken Date: Fri, 17 Sep 2010 15:56:34 +0000 Subject: Export qt_directfb_.* functions in plugin as well These functions can be a big help in debugging rendering errors in an application and can even be handy to use for real functionality. While it requires the app to explicitly link to the plugin (when compiling with -plugin-gfx-directfb this is still much better than not exporting them). Since this was the only use-case for QT_DIRECTFB_PLUGIN it's probably better to take that define out. Merge-request: 2470 Reviewed-by: Donald Carr --- src/plugins/gfxdrivers/directfb/directfb.pro | 2 +- src/plugins/gfxdrivers/directfb/qdirectfbpixmap.cpp | 2 -- src/plugins/gfxdrivers/directfb/qdirectfbscreen.cpp | 2 -- 3 files changed, 1 insertion(+), 5 deletions(-) diff --git a/src/plugins/gfxdrivers/directfb/directfb.pro b/src/plugins/gfxdrivers/directfb/directfb.pro index 0706f01..d397050 100644 --- a/src/plugins/gfxdrivers/directfb/directfb.pro +++ b/src/plugins/gfxdrivers/directfb/directfb.pro @@ -11,5 +11,5 @@ SOURCES += qdirectfbscreenplugin.cpp QMAKE_CXXFLAGS += $$QT_CFLAGS_DIRECTFB LIBS += $$QT_LIBS_DIRECTFB -DEFINES += $$QT_DEFINES_DIRECTFB QT_DIRECTFB_PLUGIN +DEFINES += $$QT_DEFINES_DIRECTFB contains(gfx-plugins, directfb):DEFINES += QT_QWS_DIRECTFB diff --git a/src/plugins/gfxdrivers/directfb/qdirectfbpixmap.cpp b/src/plugins/gfxdrivers/directfb/qdirectfbpixmap.cpp index f704432..c0d96d7 100644 --- a/src/plugins/gfxdrivers/directfb/qdirectfbpixmap.cpp +++ b/src/plugins/gfxdrivers/directfb/qdirectfbpixmap.cpp @@ -585,7 +585,6 @@ void QDirectFBPixmapData::invalidate() imageFormat = QImage::Format_Invalid; } -#ifndef QT_DIRECTFB_PLUGIN Q_GUI_EXPORT IDirectFBSurface *qt_directfb_surface_for_pixmap(const QPixmap &pixmap) { const QPixmapData *data = pixmap.pixmapData(); @@ -594,7 +593,6 @@ Q_GUI_EXPORT IDirectFBSurface *qt_directfb_surface_for_pixmap(const QPixmap &pix const QDirectFBPixmapData *dfbData = static_cast(data); return dfbData->directFBSurface(); } -#endif QT_END_NAMESPACE diff --git a/src/plugins/gfxdrivers/directfb/qdirectfbscreen.cpp b/src/plugins/gfxdrivers/directfb/qdirectfbscreen.cpp index cffd4e3..bf6164d 100644 --- a/src/plugins/gfxdrivers/directfb/qdirectfbscreen.cpp +++ b/src/plugins/gfxdrivers/directfb/qdirectfbscreen.cpp @@ -1790,7 +1790,6 @@ IDirectFBSurface *QDirectFBScreen::subSurfaceForWidget(const QWidget *widget, co } #endif -#ifndef QT_DIRECTFB_PLUGIN Q_GUI_EXPORT IDirectFBSurface *qt_directfb_surface_for_widget(const QWidget *widget, QRect *rect) { return QDirectFBScreen::instance() ? QDirectFBScreen::instance()->surfaceForWidget(widget, rect) : 0; @@ -1808,7 +1807,6 @@ Q_GUI_EXPORT IDirectFBWindow *qt_directfb_window_for_widget(const QWidget *widge } #endif -#endif QT_END_NAMESPACE -- cgit v0.12 From f5fcf515f73390ce124027335bb74d4a4c5f7b43 Mon Sep 17 00:00:00 2001 From: Morten Engvoldsen Date: Mon, 20 Sep 2010 11:05:26 +0200 Subject: Doc: Fixing overlapping text problem in columns --- doc/src/template/style/style.css | 1 + 1 file changed, 1 insertion(+) diff --git a/doc/src/template/style/style.css b/doc/src/template/style/style.css index b60aa41..51c4f7e 100755 --- a/doc/src/template/style/style.css +++ b/doc/src/template/style/style.css @@ -898,6 +898,7 @@ margin-left:10px; min-width:250px; line-height: 1.2; + min-width:100%; } -- cgit v0.12