diff options
71 files changed, 1227 insertions, 269 deletions
@@ -5515,7 +5515,7 @@ if [ "$PLATFORM_X11" = "yes" -o "$PLATFORM_QWS" = "yes" ]; then fi # X11/QWS # X11 -if [ "$PLATFORM_X11" = "yes" ]; then +if [ "$PLATFORM_X11" = "yes" -a "$CFG_GUI" != "no" ]; then x11tests="$relpath/config.tests/x11" X11TESTS_FLAGS= diff --git a/doc/src/declarative/qmlviews.qdoc b/doc/src/declarative/qmlviews.qdoc index 53ce4b9..89caa90 100644 --- a/doc/src/declarative/qmlviews.qdoc +++ b/doc/src/declarative/qmlviews.qdoc @@ -59,7 +59,7 @@ Views display \l{qml-data-models}{models} onto the screen. A model could be a si To assign a model to a view, bind the view's \c model property to a model. \snippet doc/src/snippets/declarative/listview.qml model -\snippet doc/src/snippets/declarative/listview.qml model +\snippet doc/src/snippets/declarative/listview.qml view For more information, consult the \l {QML Data Models} article. diff --git a/qmake/generators/makefile.cpp b/qmake/generators/makefile.cpp index 3c5948f..b9089fc 100644 --- a/qmake/generators/makefile.cpp +++ b/qmake/generators/makefile.cpp @@ -1109,7 +1109,7 @@ MakefileGenerator::writePrlFile() && project->isActiveConfig("create_prl") && (project->first("TEMPLATE") == "lib" || project->first("TEMPLATE") == "vclib") - && !project->isActiveConfig("plugin")) { //write prl file + && (!project->isActiveConfig("plugin") || project->isActiveConfig("static"))) { //write prl file QString local_prl = prlFileName(); QString prl = fileFixify(local_prl); mkdir(fileInfo(local_prl).path()); diff --git a/src/corelib/global/qlibraryinfo.cpp b/src/corelib/global/qlibraryinfo.cpp index 1fecc26..6060dde 100644 --- a/src/corelib/global/qlibraryinfo.cpp +++ b/src/corelib/global/qlibraryinfo.cpp @@ -450,10 +450,11 @@ QLibraryInfo::location(LibraryLocation loc) } if (QDir::isRelativePath(ret)) { + QString baseDir; if (loc == PrefixPath) { // we make the prefix path absolute to the executable's directory #ifdef BOOTSTRAPPING - return QFileInfo(qmake_libraryInfoFile()).absolutePath(); + baseDir = QFileInfo(qmake_libraryInfoFile()).absolutePath(); #else if (QCoreApplication::instance()) { #ifdef Q_OS_MAC @@ -466,15 +467,16 @@ QLibraryInfo::location(LibraryLocation loc) } } #endif - return QDir(QCoreApplication::applicationDirPath()).absoluteFilePath(ret); + baseDir = QCoreApplication::applicationDirPath(); } else { - return QDir::current().absoluteFilePath(ret); + baseDir = QDir::currentPath(); } #endif } else { // we make any other path absolute to the prefix directory - return QDir(location(PrefixPath)).absoluteFilePath(ret); + baseDir = location(PrefixPath); } + ret = QDir::cleanPath(baseDir + QLatin1Char('/') + ret); } return ret; } diff --git a/src/declarative/graphicsitems/qdeclarativelistview.cpp b/src/declarative/graphicsitems/qdeclarativelistview.cpp index cb40384..79d67e7 100644 --- a/src/declarative/graphicsitems/qdeclarativelistview.cpp +++ b/src/declarative/graphicsitems/qdeclarativelistview.cpp @@ -733,6 +733,7 @@ void QDeclarativeListViewPrivate::refill(qreal from, qreal to, bool doBuffer) if (doBuffer && (bufferMode & BufferBefore)) fillFrom = bufferFrom; + bool haveValidItems = false; int modelIndex = visibleIndex; qreal itemEnd = visiblePos-1; if (!visibleItems.isEmpty()) { @@ -741,11 +742,13 @@ void QDeclarativeListViewPrivate::refill(qreal from, qreal to, bool doBuffer) int i = visibleItems.count() - 1; while (i > 0 && visibleItems.at(i)->index == -1) --i; - if (visibleItems.at(i)->index != -1) + if (visibleItems.at(i)->index != -1) { + haveValidItems = true; modelIndex = visibleItems.at(i)->index + 1; + } } - if (visibleItems.count() && (fillFrom > itemEnd+averageSize+spacing + if (haveValidItems && (fillFrom > itemEnd+averageSize+spacing || fillTo < visiblePos - averageSize - spacing)) { // We've jumped more than a page. Estimate which items are now // visible and fill from there. @@ -3406,9 +3409,9 @@ void QDeclarativeListView::itemsRemoved(int modelIndex, int count) } } - if (removedVisible && !haveVisibleIndex) { + if (!haveVisibleIndex) { d->timeline.clear(); - if (d->itemCount == 0) { + if (removedVisible && d->itemCount == 0) { d->visibleIndex = 0; d->visiblePos = d->header ? d->header->size() : 0; d->setPosition(0); diff --git a/src/declarative/graphicsitems/qdeclarativemousearea.cpp b/src/declarative/graphicsitems/qdeclarativemousearea.cpp index d4e7f7b..6633256 100644 --- a/src/declarative/graphicsitems/qdeclarativemousearea.cpp +++ b/src/declarative/graphicsitems/qdeclarativemousearea.cpp @@ -660,6 +660,32 @@ void QDeclarativeMouseArea::hoverLeaveEvent(QGraphicsSceneHoverEvent *event) setHovered(false); } +#ifndef QT_NO_CONTEXTMENU +void QDeclarativeMouseArea::contextMenuEvent(QGraphicsSceneContextMenuEvent *event) +{ + bool acceptsContextMenuButton; +#if defined(Q_OS_SYMBIAN) + // In Symbian a Long Tap on the screen will trigger. See QSymbianControl::HandleLongTapEventL(). + acceptsContextMenuButton = acceptedButtons() & Qt::LeftButton; +#elif defined(Q_WS_WINCE) + // ### WinCE can trigger context menu event with a gesture in the left button or a + // click with the right button. Since we have no way here to differentiate them when + // event happens, accepting either of the them will block the event. + acceptsContextMenuButton = acceptedButtons() & (Qt::LeftButton | Qt::RightButton); +#else + acceptsContextMenuButton = acceptedButtons() & Qt::RightButton; +#endif + + if (isEnabled() && event->reason() == QGraphicsSceneContextMenuEvent::Mouse + && acceptsContextMenuButton) { + // Do not let the context menu event propagate to items behind. + return; + } + + QDeclarativeItem::contextMenuEvent(event); +} +#endif // QT_NO_CONTEXTMENU + bool QDeclarativeMouseArea::sceneEvent(QEvent *event) { bool rv = QDeclarativeItem::sceneEvent(event); diff --git a/src/declarative/graphicsitems/qdeclarativemousearea_p.h b/src/declarative/graphicsitems/qdeclarativemousearea_p.h index 351d4de..0fe8c6a 100644 --- a/src/declarative/graphicsitems/qdeclarativemousearea_p.h +++ b/src/declarative/graphicsitems/qdeclarativemousearea_p.h @@ -190,6 +190,9 @@ protected: void hoverEnterEvent(QGraphicsSceneHoverEvent *event); void hoverMoveEvent(QGraphicsSceneHoverEvent *event); void hoverLeaveEvent(QGraphicsSceneHoverEvent *event); +#ifndef QT_NO_CONTEXTMENU + void contextMenuEvent(QGraphicsSceneContextMenuEvent *event); +#endif // QT_NO_CONTEXTMENU bool sceneEvent(QEvent *); bool sendMouseEvent(QGraphicsSceneMouseEvent *event); bool sceneEventFilter(QGraphicsItem *i, QEvent *e); diff --git a/src/gui/inputmethod/qcoefepinputcontext_s60.cpp b/src/gui/inputmethod/qcoefepinputcontext_s60.cpp index 06dc25c..b74cd5e 100644 --- a/src/gui/inputmethod/qcoefepinputcontext_s60.cpp +++ b/src/gui/inputmethod/qcoefepinputcontext_s60.cpp @@ -235,21 +235,6 @@ bool QCoeFepInputContext::filterEvent(const QEvent *event) return false; switch (event->type()) { - case QEvent::MouseButtonPress: - // Alphanumeric keypad doesn't like it when we click and text is still getting displayed - // It ignores the mouse event, so we need to commit and send a selection event (which will get triggered - // after the commit) - if (!m_preeditString.isEmpty()) { - commitCurrentString(true); - - int pos = focusWidget()->inputMethodQuery(Qt::ImCursorPosition).toInt(); - - QList<QInputMethodEvent::Attribute> selectAttributes; - selectAttributes << QInputMethodEvent::Attribute(QInputMethodEvent::Selection, pos, 0, QVariant()); - QInputMethodEvent selectEvent(QLatin1String(""), selectAttributes); - sendEvent(selectEvent); - } - break; case QEvent::KeyPress: commitTemporaryPreeditString(); // fall through intended @@ -328,7 +313,10 @@ bool QCoeFepInputContext::filterEvent(const QEvent *event) if (sControl) { sControl->setIgnoreFocusChanged(false); } - return true; + //If m_pointerHandler has already been set, it means that fep inline editing is in progress. + //When this is happening, do not filter out pointer events. + if (!m_pointerHandler) + return true; } return false; @@ -380,18 +368,31 @@ void QCoeFepInputContext::commitTemporaryPreeditString() commitCurrentString(false); } -void QCoeFepInputContext::mouseHandler( int x, QMouseEvent *event) +void QCoeFepInputContext::mouseHandler(int x, QMouseEvent *event) { Q_ASSERT(focusWidget()); if (event->type() == QEvent::MouseButtonPress && event->button() == Qt::LeftButton) { - commitCurrentString(true); - int pos = focusWidget()->inputMethodQuery(Qt::ImCursorPosition).toInt(); + QWidget *proxy = focusWidget()->focusProxy(); + Qt::InputMethodHints currentHints = proxy ? proxy->inputMethodHints() : focusWidget()->inputMethodHints(); + + //If splitview is open and T9 word is tapped, pass the pointer event to pointer handler. + //This will open the "suggested words" list. Pass pointer position always as zero, to make + //full word replacement in case user makes a selection. + if (S60->partial_keyboard && S60->partialKeyboardOpen + && m_pointerHandler + && !(currentHints & Qt::ImhNoPredictiveText) + && (x > 0 && x < m_preeditString.length())) { + m_pointerHandler->HandlePointerEventInInlineTextL(TPointerEvent::EButton1Up, 0, 0); + } else { + commitCurrentString(true); + int pos = focusWidget()->inputMethodQuery(Qt::ImCursorPosition).toInt(); - QList<QInputMethodEvent::Attribute> attributes; - attributes << QInputMethodEvent::Attribute(QInputMethodEvent::Selection, pos + x, 0, QVariant()); - QInputMethodEvent event(QLatin1String(""), attributes); - sendEvent(event); + QList<QInputMethodEvent::Attribute> attributes; + attributes << QInputMethodEvent::Attribute(QInputMethodEvent::Selection, pos + x, 0, QVariant()); + QInputMethodEvent event(QLatin1String(""), attributes); + sendEvent(event); + } } } diff --git a/src/gui/kernel/qapplication_s60.cpp b/src/gui/kernel/qapplication_s60.cpp index 6620efd..0b7e85d 100644 --- a/src/gui/kernel/qapplication_s60.cpp +++ b/src/gui/kernel/qapplication_s60.cpp @@ -1481,8 +1481,10 @@ void QSymbianControl::HandleResourceChange(int resourceType) } if (ic && isSplitViewWidget(widget)) { if (resourceType == KSplitViewCloseEvent) { + S60->partialKeyboardOpen = false; ic->resetSplitViewWidget(); } else { + S60->partialKeyboardOpen = true; ic->ensureFocusWidgetVisible(widget); } } diff --git a/src/gui/kernel/qsoftkeymanager_s60.cpp b/src/gui/kernel/qsoftkeymanager_s60.cpp index 79ed91a..0d64d8a 100644 --- a/src/gui/kernel/qsoftkeymanager_s60.cpp +++ b/src/gui/kernel/qsoftkeymanager_s60.cpp @@ -176,22 +176,27 @@ void QSoftKeyManagerPrivateS60::setNativeSoftkey(CEikButtonGroupContainer &cba, QPoint QSoftKeyManagerPrivateS60::softkeyIconPosition(int position, QSize sourceSize, QSize targetSize) { QPoint iconPosition(0,0); - switch( AknLayoutUtils::CbaLocation() ) - { - case AknLayoutUtils::EAknCbaLocationBottom: - // RSK must be moved to right, LSK in on correct position by default - if (position == RSK_POSITION) - iconPosition.setX(targetSize.width() - sourceSize.width()); - break; - case AknLayoutUtils::EAknCbaLocationRight: - case AknLayoutUtils::EAknCbaLocationLeft: - // Already in correct position - default: - break; - } - // Align horizontally to center - iconPosition.setY((targetSize.height() - sourceSize.height()) >> 1); + // Prior to S60 5.3 icons need to be properly positioned to buttons, but starting with 5.3 + // positioning is done on Avkon side. + if (QSysInfo::s60Version() < QSysInfo::SV_S60_5_3) { + switch (AknLayoutUtils::CbaLocation()) + { + case AknLayoutUtils::EAknCbaLocationBottom: + // RSK must be moved to right, LSK in on correct position by default + if (position == RSK_POSITION) + iconPosition.setX(targetSize.width() - sourceSize.width()); + break; + case AknLayoutUtils::EAknCbaLocationRight: + case AknLayoutUtils::EAknCbaLocationLeft: + // Already in correct position + default: + break; + } + + // Align horizontally to center + iconPosition.setY((targetSize.height() - sourceSize.height()) >> 1); + } return iconPosition; } diff --git a/src/gui/kernel/qt_s60_p.h b/src/gui/kernel/qt_s60_p.h index 8aba53a..3a910e4 100644 --- a/src/gui/kernel/qt_s60_p.h +++ b/src/gui/kernel/qt_s60_p.h @@ -153,6 +153,7 @@ public: int menuBeingConstructed : 1; int orientationSet : 1; int partial_keyboard : 1; + int partialKeyboardOpen : 1; QApplication::QS60MainApplicationFactory s60ApplicationFactory; // typedef'ed pointer type QPointer<QWidget> splitViewLastWidget; @@ -340,6 +341,7 @@ inline QS60Data::QS60Data() menuBeingConstructed(0), orientationSet(0), partial_keyboard(0), + partialKeyboardOpen(0), s60ApplicationFactory(0) #ifdef Q_OS_SYMBIAN ,s60InstalledTrapHandler(0) diff --git a/src/gui/kernel/qwidget_p.h b/src/gui/kernel/qwidget_p.h index c9dba29..7bf65f6 100644 --- a/src/gui/kernel/qwidget_p.h +++ b/src/gui/kernel/qwidget_p.h @@ -227,6 +227,7 @@ struct QTLWExtra { #elif defined(Q_OS_SYMBIAN) uint inExpose : 1; // Prevents drawing recursion uint nativeWindowTransparencyEnabled : 1; // Tracks native window transparency + uint forcedToRaster : 1; #endif }; diff --git a/src/gui/kernel/qwidget_s60.cpp b/src/gui/kernel/qwidget_s60.cpp index a5d8f9f..8ca29cd 100644 --- a/src/gui/kernel/qwidget_s60.cpp +++ b/src/gui/kernel/qwidget_s60.cpp @@ -782,7 +782,7 @@ void QWidgetPrivate::setParent_sys(QWidget *parent, Qt::WindowFlags f) adjustFlags(data.window_flags, q); // keep compatibility with previous versions, we need to preserve the created state // (but we recreate the winId for the widget being reparented, again for compatibility) - if (wasCreated || (!q->isWindow() && parent->testAttribute(Qt::WA_WState_Created))) + if (wasCreated || (!q->isWindow() && parent && parent->testAttribute(Qt::WA_WState_Created))) createWinId(); if (q->isWindow() || (!parent || parent->isVisible()) || explicitlyHidden) q->setAttribute(Qt::WA_WState_Hidden); @@ -825,7 +825,8 @@ void QWidgetPrivate::s60UpdateIsOpaque() RWindow *const window = static_cast<RWindow *>(q->effectiveWinId()->DrawableWindow()); #ifdef Q_SYMBIAN_SEMITRANSPARENT_BG_SURFACE - if (QApplicationPrivate::instance()->useTranslucentEGLSurfaces) { + if (QApplicationPrivate::instance()->useTranslucentEGLSurfaces + && !extra->topextra->forcedToRaster) { window->SetSurfaceTransparency(!isOpaque); extra->topextra->nativeWindowTransparencyEnabled = !isOpaque; return; @@ -1009,6 +1010,7 @@ void QWidgetPrivate::createTLSysExtra() { extra->topextra->inExpose = 0; extra->topextra->nativeWindowTransparencyEnabled = 0; + extra->topextra->forcedToRaster = 0; } void QWidgetPrivate::deleteTLSysExtra() diff --git a/src/gui/painting/painting.pri b/src/gui/painting/painting.pri index bd37d9f..b3b647a 100644 --- a/src/gui/painting/painting.pri +++ b/src/gui/painting/painting.pri @@ -9,6 +9,7 @@ HEADERS += \ painting/qdrawutil.h \ painting/qemulationpaintengine_p.h \ painting/qgraphicssystem_p.h \ + painting/qgraphicssystemex_p.h \ painting/qmatrix.h \ painting/qmemrotate_p.h \ painting/qoutlinemapper_p.h \ @@ -235,8 +236,10 @@ embedded { symbian { HEADERS += painting/qwindowsurface_s60_p.h \ - painting/qdrawhelper_arm_simd_p.h - SOURCES += painting/qwindowsurface_s60.cpp + painting/qdrawhelper_arm_simd_p.h \ + painting/qgraphicssystemex_symbian_p.h + SOURCES += painting/qwindowsurface_s60.cpp \ + painting/qgraphicssystemex_symbian.cpp armccIfdefBlock = \ "$${LITERAL_HASH}if defined(ARMV6)" \ "MACRO QT_HAVE_ARM_SIMD" \ diff --git a/src/gui/painting/qgraphicssystem.cpp b/src/gui/painting/qgraphicssystem.cpp index 5112019..4b79600 100644 --- a/src/gui/painting/qgraphicssystem.cpp +++ b/src/gui/painting/qgraphicssystem.cpp @@ -52,6 +52,9 @@ #endif #ifdef Q_OS_SYMBIAN # include <private/qpixmap_s60_p.h> +# include <private/qgraphicssystemex_symbian_p.h> +#else +# include <private/qgraphicssystemex_p.h> #endif QT_BEGIN_NAMESPACE @@ -84,9 +87,18 @@ QPixmapData *QGraphicsSystem::createPixmapData(QPixmapData *origin) return createPixmapData(origin->pixelType()); } -void QGraphicsSystem::releaseCachedResources() +#ifdef Q_OS_SYMBIAN +Q_GLOBAL_STATIC(QSymbianGraphicsSystemEx, symbianPlatformExtension) +#endif + +QGraphicsSystemEx* QGraphicsSystem::platformExtension() { - // Do nothing here +#ifdef Q_OS_SYMBIAN + // this is used on raster graphics systems. HW accelerated + // graphics systems will overwrite this function. + return symbianPlatformExtension(); +#endif + return 0; } QT_END_NAMESPACE diff --git a/src/gui/painting/qgraphicssystem_p.h b/src/gui/painting/qgraphicssystem_p.h index 80e8959..d5acaa4 100644 --- a/src/gui/painting/qgraphicssystem_p.h +++ b/src/gui/painting/qgraphicssystem_p.h @@ -59,6 +59,7 @@ QT_BEGIN_NAMESPACE class QPixmapFilter; +class QGraphicsSystemEx; class Q_GUI_EXPORT QGraphicsSystem { @@ -73,7 +74,7 @@ public: // to have a graphics system. static QPixmapData *createDefaultPixmapData(QPixmapData::PixelType type); - virtual void releaseCachedResources(); + virtual QGraphicsSystemEx* platformExtension(); }; QT_END_NAMESPACE diff --git a/src/gui/painting/qgraphicssystemex_p.h b/src/gui/painting/qgraphicssystemex_p.h new file mode 100644 index 0000000..6feb116 --- /dev/null +++ b/src/gui/painting/qgraphicssystemex_p.h @@ -0,0 +1,66 @@ +/**************************************************************************** +** +** Copyright (C) 2011 Nokia Corporation and/or its subsidiary(-ies). +** All rights reserved. +** Contact: Nokia Corporation (qt-info@nokia.com) +** +** This file is part of the QtGui module of the Qt Toolkit. +** +** $QT_BEGIN_LICENSE:LGPL$ +** No Commercial Usage +** This file contains pre-release code and may not be distributed. +** You may use this file in accordance with the terms and conditions +** contained in the Technology Preview License Agreement accompanying +** this package. +** +** GNU Lesser General Public License Usage +** Alternatively, this file may be used under the terms of the GNU Lesser +** General Public License version 2.1 as published by the Free Software +** Foundation and appearing in the file LICENSE.LGPL included in the +** packaging of this file. Please review the following information to +** ensure the GNU Lesser General Public License version 2.1 requirements +** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. +** +** In addition, as a special exception, Nokia gives you certain additional +** rights. These rights are described in the Nokia Qt LGPL Exception +** version 1.1, included in the file LGPL_EXCEPTION.txt in this package. +** +** If you have questions regarding the use of this file, please contact +** Nokia at qt-info@nokia.com. +** +** +** +** +** +** +** +** +** $QT_END_LICENSE$ +** +****************************************************************************/ + +#ifndef QGRAPHICSSYSTEMEX_P_H +#define QGRAPHICSSYSTEMEX_P_H + +// +// W A R N I N G +// ------------- +// +// This file is not part of the Qt API. It exists purely as an +// implementation detail. This header file may change from version to +// version without notice, or even be removed. +// +// We mean it. +// + +#include <qglobal.h> + +QT_BEGIN_NAMESPACE + +class Q_GUI_EXPORT QGraphicsSystemEx +{ +}; + +QT_END_NAMESPACE + +#endif diff --git a/src/gui/painting/qgraphicssystemex_symbian.cpp b/src/gui/painting/qgraphicssystemex_symbian.cpp new file mode 100644 index 0000000..54d21ac --- /dev/null +++ b/src/gui/painting/qgraphicssystemex_symbian.cpp @@ -0,0 +1,87 @@ +/**************************************************************************** +** +** Copyright (C) 2011 Nokia Corporation and/or its subsidiary(-ies). +** All rights reserved. +** Contact: Nokia Corporation (qt-info@nokia.com) +** +** This file is part of the QtGui module of the Qt Toolkit. +** +** $QT_BEGIN_LICENSE:LGPL$ +** No Commercial Usage +** This file contains pre-release code and may not be distributed. +** You may use this file in accordance with the terms and conditions +** contained in the Technology Preview License Agreement accompanying +** this package. +** +** GNU Lesser General Public License Usage +** Alternatively, this file may be used under the terms of the GNU Lesser +** General Public License version 2.1 as published by the Free Software +** Foundation and appearing in the file LICENSE.LGPL included in the +** packaging of this file. Please review the following information to +** ensure the GNU Lesser General Public License version 2.1 requirements +** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. +** +** In addition, as a special exception, Nokia gives you certain additional +** rights. These rights are described in the Nokia Qt LGPL Exception +** version 1.1, included in the file LGPL_EXCEPTION.txt in this package. +** +** If you have questions regarding the use of this file, please contact +** Nokia at qt-info@nokia.com. +** +** +** +** +** +** +** +** +** $QT_END_LICENSE$ +** +****************************************************************************/ + +#include "qgraphicssystemex_symbian_p.h" +#include "private/qwidget_p.h" +#include "private/qbackingstore_p.h" +#include "private/qapplication_p.h" +#include "qwidget_p.h" + +#include <QDebug> + +QT_BEGIN_NAMESPACE + +void QSymbianGraphicsSystemEx::releaseCachedGpuResources() +{ + // Do nothing here + // This is implemented in graphics system specific plugin +} + +void QSymbianGraphicsSystemEx::releaseAllGpuResources() +{ + releaseCachedGpuResources(); + + foreach (QWidget *widget, QApplication::topLevelWidgets()) { + if (QTLWExtra *topExtra = qt_widget_private(widget)->maybeTopData()) + topExtra->backingStore.destroy(); + } +} + +bool QSymbianGraphicsSystemEx::hasBCM2727() +{ + return !QApplicationPrivate::instance()->useTranslucentEGLSurfaces; +} + +void QSymbianGraphicsSystemEx::forceToRaster(QWidget *window) +{ + if (window && window->isWindow()) { + qt_widget_private(window)->createTLExtra(); + if (QTLWExtra *topExtra = qt_widget_private(window)->maybeTopData()) { + topExtra->forcedToRaster = 1; + if (topExtra->backingStore.data()) { + topExtra->backingStore.create(window); + topExtra->backingStore.registerWidget(window); + } + } + } +} + +QT_END_NAMESPACE diff --git a/src/gui/painting/qgraphicssystemex_symbian_p.h b/src/gui/painting/qgraphicssystemex_symbian_p.h new file mode 100644 index 0000000..0b1e39e --- /dev/null +++ b/src/gui/painting/qgraphicssystemex_symbian_p.h @@ -0,0 +1,73 @@ +/**************************************************************************** +** +** Copyright (C) 2011 Nokia Corporation and/or its subsidiary(-ies). +** All rights reserved. +** Contact: Nokia Corporation (qt-info@nokia.com) +** +** This file is part of the QtGui module of the Qt Toolkit. +** +** $QT_BEGIN_LICENSE:LGPL$ +** No Commercial Usage +** This file contains pre-release code and may not be distributed. +** You may use this file in accordance with the terms and conditions +** contained in the Technology Preview License Agreement accompanying +** this package. +** +** GNU Lesser General Public License Usage +** Alternatively, this file may be used under the terms of the GNU Lesser +** General Public License version 2.1 as published by the Free Software +** Foundation and appearing in the file LICENSE.LGPL included in the +** packaging of this file. Please review the following information to +** ensure the GNU Lesser General Public License version 2.1 requirements +** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. +** +** In addition, as a special exception, Nokia gives you certain additional +** rights. These rights are described in the Nokia Qt LGPL Exception +** version 1.1, included in the file LGPL_EXCEPTION.txt in this package. +** +** If you have questions regarding the use of this file, please contact +** Nokia at qt-info@nokia.com. +** +** +** +** +** +** +** +** +** $QT_END_LICENSE$ +** +****************************************************************************/ + +#ifndef QSYMBIANGRAPHICSSYSTEMEX_P_H +#define QSYMBIANGRAPHICSSYSTEMEX_P_H + +// +// W A R N I N G +// ------------- +// +// This file is not part of the Qt API. It exists purely as an +// implementation detail. This header file may change from version to +// version without notice, or even be removed. +// +// We mean it. +// + +#include "private/qgraphicssystemex_p.h" + +QT_BEGIN_NAMESPACE + +class QWidget; + +class Q_GUI_EXPORT QSymbianGraphicsSystemEx : public QGraphicsSystemEx +{ +public: + virtual void releaseCachedGpuResources(); + virtual void releaseAllGpuResources(); + virtual bool hasBCM2727(); + virtual void forceToRaster(QWidget *window); +}; + +QT_END_NAMESPACE + +#endif diff --git a/src/gui/text/qtextcontrol.cpp b/src/gui/text/qtextcontrol.cpp index 3fd3ab5..88e0573 100644 --- a/src/gui/text/qtextcontrol.cpp +++ b/src/gui/text/qtextcontrol.cpp @@ -676,7 +676,7 @@ void QTextControlPrivate::extendWordwiseSelection(int suggestedNewPosition, qrea const qreal wordEndX = line.cursorToX(curs.position() - blockPos) + blockCoordinates.x(); - if (mouseXPosition < wordStartX || mouseXPosition > wordEndX) + if (!wordSelectionEnabled && (mouseXPosition < wordStartX || mouseXPosition > wordEndX)) return; // keep the already selected word even when moving to the left @@ -1578,8 +1578,10 @@ void QTextControlPrivate::mousePressEvent(QEvent *e, Qt::MouseButton button, con emit q->cursorPositionChanged(); _q_updateCurrentCharFormatAndSelection(); } else { - if (cursor.position() != oldCursorPos) + if (cursor.position() != oldCursorPos) { emit q->cursorPositionChanged(); + emit q->microFocusChanged(); + } selectionChanged(); } repaintOldAndNewSelection(oldSelection); diff --git a/src/gui/widgets/qlinecontrol.cpp b/src/gui/widgets/qlinecontrol.cpp index 202ea7a..8d4a90e 100644 --- a/src/gui/widgets/qlinecontrol.cpp +++ b/src/gui/widgets/qlinecontrol.cpp @@ -435,6 +435,8 @@ void QLineControl::processInputMethodEvent(QInputMethodEvent *event) c += event->commitString().length() - qMin(-event->replacementStart(), event->replacementLength()); m_cursor += event->replacementStart(); + if (m_cursor < 0) + m_cursor = 0; // insert commit string if (event->replacementLength()) { @@ -447,7 +449,7 @@ void QLineControl::processInputMethodEvent(QInputMethodEvent *event) cursorPositionChanged = true; } - m_cursor = qMin(c, m_text.length()); + m_cursor = qBound(0, c, m_text.length()); for (int i = 0; i < event->attributes().size(); ++i) { const QInputMethodEvent::Attribute &a = event->attributes().at(i); diff --git a/src/gui/widgets/qmenu.cpp b/src/gui/widgets/qmenu.cpp index 2f4bb4b..d573ebf 100644 --- a/src/gui/widgets/qmenu.cpp +++ b/src/gui/widgets/qmenu.cpp @@ -82,6 +82,10 @@ # include <private/qt_cocoa_helpers_mac_p.h> #endif +#ifdef Q_WS_S60 +# include "private/qt_s60_p.h" +#endif + QT_BEGIN_NAMESPACE @@ -172,6 +176,14 @@ void QMenuPrivate::init() q->addAction(selectAction); q->addAction(cancelAction); #endif + +#ifdef Q_WS_S60 + if (S60->avkonComponentsSupportTransparency) { + bool noSystemBackground = q->testAttribute(Qt::WA_NoSystemBackground); + q->setAttribute(Qt::WA_TranslucentBackground); // also sets WA_NoSystemBackground + q->setAttribute(Qt::WA_NoSystemBackground, noSystemBackground); // restore system background attribute + } +#endif } int QMenuPrivate::scrollerHeight() const diff --git a/src/network/access/qnetworkreplyimpl.cpp b/src/network/access/qnetworkreplyimpl.cpp index 894df79..09fab51 100644 --- a/src/network/access/qnetworkreplyimpl.cpp +++ b/src/network/access/qnetworkreplyimpl.cpp @@ -775,6 +775,8 @@ void QNetworkReplyImpl::abort() if (d->state != QNetworkReplyImplPrivate::Finished) { // emit signals d->error(OperationCanceledError, tr("Operation canceled")); + if (d->state == QNetworkReplyImplPrivate::WaitingForSession) + d->state = QNetworkReplyImplPrivate::Working; d->finished(); } d->state = QNetworkReplyImplPrivate::Aborted; @@ -913,10 +915,6 @@ bool QNetworkReplyImplPrivate::migrateBackend() if (state == Finished || state == Aborted) return true; - // Backend does not support resuming download. - if (!backend->canResume()) - return false; - // Request has outgoing data, not migrating. if (outgoingData) return false; @@ -925,6 +923,10 @@ bool QNetworkReplyImplPrivate::migrateBackend() if (copyDevice) return true; + // Backend does not support resuming download. + if (!backend->canResume()) + return false; + state = QNetworkReplyImplPrivate::Reconnecting; if (backend) { diff --git a/src/network/kernel/qnetworkinterface_unix.cpp b/src/network/kernel/qnetworkinterface_unix.cpp index 6098bde..7f251a7 100644 --- a/src/network/kernel/qnetworkinterface_unix.cpp +++ b/src/network/kernel/qnetworkinterface_unix.cpp @@ -219,7 +219,7 @@ static QNetworkInterfacePrivate *findInterface(int socket, QList<QNetworkInterfa #ifdef SIOCGIFHWADDR // Get the HW address if (qt_safe_ioctl(socket, SIOCGIFHWADDR, &req) >= 0) { - uchar *addr = (uchar *)&req.ifr_addr; + uchar *addr = (uchar *)req.ifr_addr.sa_data; iface->hardwareAddress = iface->makeHwAddress(6, addr); } #endif diff --git a/src/opengl/qgl_symbian.cpp b/src/opengl/qgl_symbian.cpp index 1b41db4..ab37977 100644 --- a/src/opengl/qgl_symbian.cpp +++ b/src/opengl/qgl_symbian.cpp @@ -49,6 +49,9 @@ #include <private/qpaintengine_opengl_p.h> #include <private/qwidget_p.h> // to access QWExtra #include <private/qnativeimagehandleprovider_p.h> +#include <private/qapplication_p.h> +#include <private/qgraphicssystem_p.h> +#include <private/qgraphicssystemex_symbian_p.h> #include "qgl_egl_p.h" #include "qpixmapdata_gl_p.h" #include "qgltexturepool_p.h" @@ -180,6 +183,15 @@ bool QGLContext::chooseContext(const QGLContext* shareContext) // almost same as d->ownsEglContext = true; d->eglContext->setApi(QEgl::OpenGL); + QGraphicsSystemEx *ex = QApplicationPrivate::graphicsSystem()->platformExtension(); + QSymbianGraphicsSystemEx *symex = static_cast<QSymbianGraphicsSystemEx*>(ex); + if (symex && !symex->hasBCM2727()) { + // Most likely we have hw support for multisampling + // so let's enable it. + d->glFormat.setSampleBuffers(1); + d->glFormat.setSamples(4); + } + // If the device is a widget with WA_TranslucentBackground set, make sure the glFormat // has the alpha channel option set: if (devType == QInternal::Widget) { @@ -229,20 +241,20 @@ bool QGLContext::chooseContext(const QGLContext* shareContext) // almost same as d->eglSurface = QEgl::createSurface(device(), d->eglContext->config()); - eglGetError(); // Clear error state first. + eglGetError(); // Clear error state first. #ifdef QGL_NO_PRESERVED_SWAP - eglSurfaceAttrib(QEgl::display(), d->eglSurface, - EGL_SWAP_BEHAVIOR, EGL_BUFFER_DESTROYED); + eglSurfaceAttrib(QEgl::display(), d->eglSurface, + EGL_SWAP_BEHAVIOR, EGL_BUFFER_DESTROYED); - if (eglGetError() != EGL_SUCCESS) - qWarning("QGLContext: could not enable destroyed swap behaviour"); + if (eglGetError() != EGL_SUCCESS) + qWarning("QGLContext: could not enable destroyed swap behaviour"); #else - eglSurfaceAttrib(QEgl::display(), d->eglSurface, - EGL_SWAP_BEHAVIOR, EGL_BUFFER_PRESERVED); + eglSurfaceAttrib(QEgl::display(), d->eglSurface, + EGL_SWAP_BEHAVIOR, EGL_BUFFER_PRESERVED); - if (eglGetError() != EGL_SUCCESS) - qWarning("QGLContext: could not enable preserved swap behaviour"); + if (eglGetError() != EGL_SUCCESS) + qWarning("QGLContext: could not enable preserved swap behaviour"); #endif setWindowCreated(true); diff --git a/src/opengl/qgraphicssystem_gl.cpp b/src/opengl/qgraphicssystem_gl.cpp index 0aa3c2e..5a01d8c 100644 --- a/src/opengl/qgraphicssystem_gl.cpp +++ b/src/opengl/qgraphicssystem_gl.cpp @@ -104,11 +104,17 @@ QWindowSurface *QGLGraphicsSystem::createWindowSurface(QWidget *widget) const return new QGLWindowSurface(widget); } -#ifdef QGL_USE_TEXTURE_POOL -void QGLGraphicsSystem::releaseCachedResources() +#ifdef Q_OS_SYMBIAN +void QGLGraphicsSystem::releaseCachedGpuResources() { QGLTexturePool::instance()->hibernate(); } + +QGraphicsSystemEx* QGLGraphicsSystem::platformExtension() +{ + return this; +} #endif + QT_END_NAMESPACE diff --git a/src/opengl/qgraphicssystem_gl_p.h b/src/opengl/qgraphicssystem_gl_p.h index 5829dcc..5372443 100644 --- a/src/opengl/qgraphicssystem_gl_p.h +++ b/src/opengl/qgraphicssystem_gl_p.h @@ -55,11 +55,19 @@ #include "private/qgraphicssystem_p.h" +#ifdef Q_OS_SYMBIAN +#include "private/qgraphicssystemex_symbian_p.h" +#endif + #include <QMap> QT_BEGIN_NAMESPACE class Q_OPENGL_EXPORT QGLGraphicsSystem : public QGraphicsSystem +#ifdef Q_OS_SYMBIAN + , public QSymbianGraphicsSystemEx +#endif + { public: QGLGraphicsSystem(bool useX11GL); @@ -67,8 +75,9 @@ public: QPixmapData *createPixmapData(QPixmapData::PixelType type) const; QWindowSurface *createWindowSurface(QWidget *widget) const; -#ifdef QGL_USE_TEXTURE_POOL - void releaseCachedResources(); +#ifdef Q_OS_SYMBIAN + void releaseCachedGpuResources(); + QGraphicsSystemEx* platformExtension(); #endif private: bool m_useX11GL; diff --git a/src/plugins/graphicssystems/openvg/qgraphicssystem_vg.cpp b/src/plugins/graphicssystems/openvg/qgraphicssystem_vg.cpp index 4b4f677..bf29dd4 100644 --- a/src/plugins/graphicssystems/openvg/qgraphicssystem_vg.cpp +++ b/src/plugins/graphicssystems/openvg/qgraphicssystem_vg.cpp @@ -80,9 +80,15 @@ QWindowSurface *QVGGraphicsSystem::createWindowSurface(QWidget *widget) const return new QVGWindowSurface(widget); } -void QVGGraphicsSystem::releaseCachedResources() +#ifdef Q_OS_SYMBIAN +void QVGGraphicsSystem::releaseCachedGpuResources() { QVGImagePool::instance()->hibernate(); } +QGraphicsSystemEx *QVGGraphicsSystem::platformExtension() +{ + return this; +} +#endif QT_END_NAMESPACE diff --git a/src/plugins/graphicssystems/openvg/qgraphicssystem_vg_p.h b/src/plugins/graphicssystems/openvg/qgraphicssystem_vg_p.h index 9c9b3e2..feff451 100644 --- a/src/plugins/graphicssystems/openvg/qgraphicssystem_vg_p.h +++ b/src/plugins/graphicssystems/openvg/qgraphicssystem_vg_p.h @@ -55,9 +55,16 @@ #include <QtGui/private/qgraphicssystem_p.h> +#ifdef Q_OS_SYMBIAN +#include <QtGui/private/qgraphicssystemex_symbian_p.h> +#endif + QT_BEGIN_NAMESPACE class QVGGraphicsSystem : public QGraphicsSystem +#ifdef Q_OS_SYMBIAN + , public QSymbianGraphicsSystemEx +#endif { public: QVGGraphicsSystem(); @@ -65,7 +72,10 @@ public: QPixmapData *createPixmapData(QPixmapData::PixelType type) const; QWindowSurface *createWindowSurface(QWidget *widget) const; - void releaseCachedResources(); +#ifdef Q_OS_SYMBIAN + void releaseCachedGpuResources(); + QGraphicsSystemEx* platformExtension(); +#endif }; QT_END_NAMESPACE diff --git a/src/plugins/plugins.pro b/src/plugins/plugins.pro index e778ab7..42499dd 100644 --- a/src/plugins/plugins.pro +++ b/src/plugins/plugins.pro @@ -7,9 +7,9 @@ unix:!symbian { SUBDIRS *= codecs } !contains(QT_CONFIG, no-gui): SUBDIRS *= imageformats iconengines -!embedded:SUBDIRS *= graphicssystems +!embedded:!contains(QT_CONFIG, no-gui):SUBDIRS *= graphicssystems embedded:SUBDIRS *= gfxdrivers decorations mousedrivers kbddrivers -!win32:!embedded:!mac:!symbian:SUBDIRS *= inputmethods +!win32:!embedded:!mac:!symbian:!contains(QT_CONFIG, no-gui):SUBDIRS *= inputmethods !symbian:!contains(QT_CONFIG, no-gui):SUBDIRS += accessible symbian:SUBDIRS += s60 contains(QT_CONFIG, phonon): SUBDIRS *= phonon diff --git a/src/s60installs/bwins/QtCoreu.def b/src/s60installs/bwins/QtCoreu.def index b82f6e5..d1e734d 100644 --- a/src/s60installs/bwins/QtCoreu.def +++ b/src/s60installs/bwins/QtCoreu.def @@ -4489,4 +4489,50 @@ EXPORTS ?symbianCommandLine@QCoreApplicationPrivate@@SAPAVCApaCommandLine@@XZ @ 4488 NONAME ; class CApaCommandLine * QCoreApplicationPrivate::symbianCommandLine(void) ?revision@QMetaProperty@@QBEHXZ @ 4489 NONAME ; int QMetaProperty::revision(void) const ?revision@QMetaMethod@@QBEHXZ @ 4490 NONAME ; int QMetaMethod::revision(void) const + ??_EQDateTime@@QAE@I@Z @ 4491 NONAME ; QDateTime::~QDateTime(unsigned int) + ??4QDate@@QAEAAV0@ABV0@@Z @ 4492 NONAME ; class QDate & QDate::operator=(class QDate const &) + ??4QSizeF@@QAEAAV0@ABV0@@Z @ 4493 NONAME ; class QSizeF & QSizeF::operator=(class QSizeF const &) + ??0QSize@@QAE@ABV0@@Z @ 4494 NONAME ; QSize::QSize(class QSize const &) + ??0QEvent@@QAE@ABV0@@Z @ 4495 NONAME ; QEvent::QEvent(class QEvent const &) + ??0QTextCodecFactoryInterface@@QAE@XZ @ 4496 NONAME ; QTextCodecFactoryInterface::QTextCodecFactoryInterface(void) + ??0QPointF@@QAE@ABV0@@Z @ 4497 NONAME ; QPointF::QPointF(class QPointF const &) + ??_EQUrl@@QAE@I@Z @ 4498 NONAME ; QUrl::~QUrl(unsigned int) + ??0QGenericArgument@@QAE@ABV0@@Z @ 4499 NONAME ; QGenericArgument::QGenericArgument(class QGenericArgument const &) + ??_EQVariant@@QAE@I@Z @ 4500 NONAME ; QVariant::~QVariant(unsigned int) + ??4QLineF@@QAEAAV0@ABV0@@Z @ 4501 NONAME ; class QLineF & QLineF::operator=(class QLineF const &) + ??0QXmlStreamAttributes@@QAE@ABV0@@Z @ 4502 NONAME ; QXmlStreamAttributes::QXmlStreamAttributes(class QXmlStreamAttributes const &) + ??0QMetaEnum@@QAE@ABV0@@Z @ 4503 NONAME ; QMetaEnum::QMetaEnum(class QMetaEnum const &) + ??4QUuid@@QAEAAU0@ABU0@@Z @ 4504 NONAME ; struct QUuid & QUuid::operator=(struct QUuid const &) + ??0CQtActiveScheduler@@QAE@XZ @ 4505 NONAME ; CQtActiveScheduler::CQtActiveScheduler(void) + ??0QSizeF@@QAE@ABV0@@Z @ 4506 NONAME ; QSizeF::QSizeF(class QSizeF const &) + ??4QMetaEnum@@QAEAAV0@ABV0@@Z @ 4507 NONAME ; class QMetaEnum & QMetaEnum::operator=(class QMetaEnum const &) + ??4QRect@@QAEAAV0@ABV0@@Z @ 4508 NONAME ; class QRect & QRect::operator=(class QRect const &) + ??_EQMutexPool@@QAE@I@Z @ 4509 NONAME ; QMutexPool::~QMutexPool(unsigned int) + ??0QMetaClassInfo@@QAE@ABV0@@Z @ 4510 NONAME ; QMetaClassInfo::QMetaClassInfo(class QMetaClassInfo const &) + ??0QDate@@QAE@ABV0@@Z @ 4511 NONAME ; QDate::QDate(class QDate const &) + ??_EQTextDecoder@@QAE@I@Z @ 4512 NONAME ; QTextDecoder::~QTextDecoder(unsigned int) + ??_EQMutex@@QAE@I@Z @ 4513 NONAME ; QMutex::~QMutex(unsigned int) + ??0QTimerEvent@@QAE@ABV0@@Z @ 4514 NONAME ; QTimerEvent::QTimerEvent(class QTimerEvent const &) + ??0QXmlStreamAttributes@@QAE@XZ @ 4515 NONAME ; QXmlStreamAttributes::QXmlStreamAttributes(void) + ??_EConverterState@QTextCodec@@QAE@I@Z @ 4516 NONAME ; QTextCodec::ConverterState::~ConverterState(unsigned int) + ??4QTime@@QAEAAV0@ABV0@@Z @ 4517 NONAME ; class QTime & QTime::operator=(class QTime const &) + ??0QMetaMethod@@QAE@ABV0@@Z @ 4518 NONAME ; QMetaMethod::QMetaMethod(class QMetaMethod const &) + ??_EQTextEncoder@@QAE@I@Z @ 4519 NONAME ; QTextEncoder::~QTextEncoder(unsigned int) + ??_EQFileInfo@@QAE@I@Z @ 4520 NONAME ; QFileInfo::~QFileInfo(unsigned int) + ??4QRectF@@QAEAAV0@ABV0@@Z @ 4521 NONAME ; class QRectF & QRectF::operator=(class QRectF const &) + ??4QXmlStreamStringRef@@QAEAAV0@ABV0@@Z @ 4522 NONAME ; class QXmlStreamStringRef & QXmlStreamStringRef::operator=(class QXmlStreamStringRef const &) + ??4QBasicAtomicInt@@QAEAAV0@ABV0@@Z @ 4523 NONAME ; class QBasicAtomicInt & QBasicAtomicInt::operator=(class QBasicAtomicInt const &) + ??_EQEasingCurve@@QAE@I@Z @ 4524 NONAME ; QEasingCurve::~QEasingCurve(unsigned int) + ??_EQReadWriteLock@@QAE@I@Z @ 4525 NONAME ; QReadWriteLock::~QReadWriteLock(unsigned int) + ??0QFactoryInterface@@QAE@XZ @ 4526 NONAME ; QFactoryInterface::QFactoryInterface(void) + ??4QLine@@QAEAAV0@ABV0@@Z @ 4527 NONAME ; class QLine & QLine::operator=(class QLine const &) + ??0QMetaProperty@@QAE@ABV0@@Z @ 4528 NONAME ; QMetaProperty::QMetaProperty(class QMetaProperty const &) + ??_EQBitArray@@QAE@I@Z @ 4529 NONAME ; QBitArray::~QBitArray(unsigned int) + ??0QTime@@QAE@ABV0@@Z @ 4530 NONAME ; QTime::QTime(class QTime const &) + ??4QPoint@@QAEAAV0@ABV0@@Z @ 4531 NONAME ; class QPoint & QPoint::operator=(class QPoint const &) + ??4QSize@@QAEAAV0@ABV0@@Z @ 4532 NONAME ; class QSize & QSize::operator=(class QSize const &) + ??0QPoint@@QAE@ABV0@@Z @ 4533 NONAME ; QPoint::QPoint(class QPoint const &) + ??4QPointF@@QAEAAV0@ABV0@@Z @ 4534 NONAME ; class QPointF & QPointF::operator=(class QPointF const &) + ??_EQRegExp@@QAE@I@Z @ 4535 NONAME ; QRegExp::~QRegExp(unsigned int) + ??4QLocalePrivate@@QAEAAU0@ABU0@@Z @ 4536 NONAME ; struct QLocalePrivate & QLocalePrivate::operator=(struct QLocalePrivate const &) diff --git a/src/s60installs/bwins/QtDeclarativeu.def b/src/s60installs/bwins/QtDeclarativeu.def index 5490f0d..b3309ad 100644 --- a/src/s60installs/bwins/QtDeclarativeu.def +++ b/src/s60installs/bwins/QtDeclarativeu.def @@ -1893,4 +1893,13 @@ EXPORTS ?setLayoutMirror@QDeclarativeItemPrivate@@QAEX_N@Z @ 1892 NONAME ; void QDeclarativeItemPrivate::setLayoutMirror(bool) ?setImplicitLayoutMirror@QDeclarativeItemPrivate@@QAEX_N0@Z @ 1893 NONAME ; void QDeclarativeItemPrivate::setImplicitLayoutMirror(bool, bool) ?isMirrored@QDeclarativeItemPrivate@@QBE_NXZ @ 1894 NONAME ; bool QDeclarativeItemPrivate::isMirrored(void) const + ??_EQDeclarativeListReference@@QAE@I@Z @ 1895 NONAME ; QDeclarativeListReference::~QDeclarativeListReference(unsigned int) + ??_EVariant@QDeclarativeParser@@QAE@I@Z @ 1896 NONAME ; QDeclarativeParser::Variant::~Variant(unsigned int) + ??_EQDeclarativeProperty@@QAE@I@Z @ 1897 NONAME ; QDeclarativeProperty::~QDeclarativeProperty(unsigned int) + ??_EQDeclarativeError@@QAE@I@Z @ 1898 NONAME ; QDeclarativeError::~QDeclarativeError(unsigned int) + ??_EQDeclarativeCustomParserProperty@@QAE@I@Z @ 1899 NONAME ; QDeclarativeCustomParserProperty::~QDeclarativeCustomParserProperty(unsigned int) + ??0QDeclarativeExtensionInterface@@QAE@XZ @ 1900 NONAME ; QDeclarativeExtensionInterface::QDeclarativeExtensionInterface(void) + ??_EQDeclarativeScriptString@@QAE@I@Z @ 1901 NONAME ; QDeclarativeScriptString::~QDeclarativeScriptString(unsigned int) + ??_EQDeclarativeCustomParserNode@@QAE@I@Z @ 1902 NONAME ; QDeclarativeCustomParserNode::~QDeclarativeCustomParserNode(unsigned int) + ??_EQDeclarativePixmap@@QAE@I@Z @ 1903 NONAME ; QDeclarativePixmap::~QDeclarativePixmap(unsigned int) diff --git a/src/s60installs/bwins/QtGuiu.def b/src/s60installs/bwins/QtGuiu.def index 45a8d7b..b68f59f 100644 --- a/src/s60installs/bwins/QtGuiu.def +++ b/src/s60installs/bwins/QtGuiu.def @@ -12979,7 +12979,136 @@ EXPORTS ?byteCount@QVolatileImage@@QBEHXZ @ 12978 NONAME ; int QVolatileImage::byteCount(void) const ??0QVolatileImage@@QAE@ABV0@@Z @ 12979 NONAME ; QVolatileImage::QVolatileImage(class QVolatileImage const &) ?depth@QVolatileImage@@QBEHXZ @ 12980 NONAME ; int QVolatileImage::depth(void) const - ?releaseCachedResources@QGraphicsSystem@@UAEXXZ @ 12981 NONAME ; void QGraphicsSystem::releaseCachedResources(void) + ?releaseCachedResources@QGraphicsSystem@@UAEXXZ @ 12981 NONAME ABSENT ; void QGraphicsSystem::releaseCachedResources(void) ?qt_s60_setPartialScreenInputMode@@YAX_N@Z @ 12982 NONAME ; void qt_s60_setPartialScreenInputMode(bool) ?paintingActive@QVolatileImage@@QBE_NXZ @ 12983 NONAME ; bool QVolatileImage::paintingActive(void) const + ??_EQFontPrivate@@QAE@I@Z @ 12984 NONAME ; QFontPrivate::~QFontPrivate(unsigned int) + ??0QMimeSource@@QAE@XZ @ 12985 NONAME ; QMimeSource::QMimeSource(void) + ??0QStyleFactoryInterface@@QAE@XZ @ 12986 NONAME ; QStyleFactoryInterface::QStyleFactoryInterface(void) + ??0QFileOpenEvent@@QAE@ABV0@@Z @ 12987 NONAME ; QFileOpenEvent::QFileOpenEvent(class QFileOpenEvent const &) + ??4QStyleOptionViewItemV2@@QAEAAV0@ABV0@@Z @ 12988 NONAME ; class QStyleOptionViewItemV2 & QStyleOptionViewItemV2::operator=(class QStyleOptionViewItemV2 const &) + ??0QShowEvent@@QAE@ABV0@@Z @ 12989 NONAME ; QShowEvent::QShowEvent(class QShowEvent const &) + ??0QMouseEvent@@QAE@ABV0@@Z @ 12990 NONAME ; QMouseEvent::QMouseEvent(class QMouseEvent const &) + ??0QActionEvent@@QAE@ABV0@@Z @ 12991 NONAME ; QActionEvent::QActionEvent(class QActionEvent const &) + ??0QTouchEvent@@QAE@ABV0@@Z @ 12992 NONAME ; QTouchEvent::QTouchEvent(class QTouchEvent const &) + ??_EQImageData@@QAE@I@Z @ 12993 NONAME ; QImageData::~QImageData(unsigned int) + ??4QBezier@@QAEAAV0@ABV0@@Z @ 12994 NONAME ; class QBezier & QBezier::operator=(class QBezier const &) + ??0QIconEngineV2@@QAE@XZ @ 12995 NONAME ; QIconEngineV2::QIconEngineV2(void) + ??4iterator@QTextBlock@@QAEAAV01@ABV01@@Z @ 12996 NONAME ; class QTextBlock::iterator & QTextBlock::iterator::operator=(class QTextBlock::iterator const &) + ??0QIconEngineV2@@QAE@ABV0@@Z @ 12997 NONAME ; QIconEngineV2::QIconEngineV2(class QIconEngineV2 const &) + ??0QIconEngineFactoryInterfaceV2@@QAE@XZ @ 12998 NONAME ; QIconEngineFactoryInterfaceV2::QIconEngineFactoryInterfaceV2(void) + ??4QTextLine@@QAEAAV0@ABV0@@Z @ 12999 NONAME ; class QTextLine & QTextLine::operator=(class QTextLine const &) + ??0QToolBarChangeEvent@@QAE@ABV0@@Z @ 13000 NONAME ; QToolBarChangeEvent::QToolBarChangeEvent(class QToolBarChangeEvent const &) + ??0QResizeEvent@@QAE@ABV0@@Z @ 13001 NONAME ; QResizeEvent::QResizeEvent(class QResizeEvent const &) + ??0QIconEngineFactoryInterface@@QAE@XZ @ 13002 NONAME ; QIconEngineFactoryInterface::QIconEngineFactoryInterface(void) + ??0QPictureFormatInterface@@QAE@XZ @ 13003 NONAME ; QPictureFormatInterface::QPictureFormatInterface(void) + ??_EQPolygon@@QAE@I@Z @ 13004 NONAME ; QPolygon::~QPolygon(unsigned int) + ??_EQImageReader@@QAE@I@Z @ 13005 NONAME ; QImageReader::~QImageReader(unsigned int) + ??4QStyleOptionGraphicsItem@@QAEAAV0@ABV0@@Z @ 13006 NONAME ; class QStyleOptionGraphicsItem & QStyleOptionGraphicsItem::operator=(class QStyleOptionGraphicsItem const &) + ??4QStyleOptionProgressBarV2@@QAEAAV0@ABV0@@Z @ 13007 NONAME ; class QStyleOptionProgressBarV2 & QStyleOptionProgressBarV2::operator=(class QStyleOptionProgressBarV2 const &) + ??0QDragEnterEvent@@QAE@ABV0@@Z @ 13008 NONAME ; QDragEnterEvent::QDragEnterEvent(class QDragEnterEvent const &) + ??_EKey@QPixmapCache@@QAE@I@Z @ 13009 NONAME ; QPixmapCache::Key::~Key(unsigned int) + ??_EQCursor@@QAE@I@Z @ 13010 NONAME ; QCursor::~QCursor(unsigned int) + ??0QShortcutEvent@@QAE@ABV0@@Z @ 13011 NONAME ; QShortcutEvent::QShortcutEvent(class QShortcutEvent const &) + ??_EQTextCursor@@QAE@I@Z @ 13012 NONAME ; QTextCursor::~QTextCursor(unsigned int) + ??0QGradient@@QAE@ABV0@@Z @ 13013 NONAME ; QGradient::QGradient(class QGradient const &) + ??4QInputMethodEvent@@QAEAAV0@ABV0@@Z @ 13014 NONAME ; class QInputMethodEvent & QInputMethodEvent::operator=(class QInputMethodEvent const &) + ??0QVector2D@@QAE@ABV0@@Z @ 13015 NONAME ; QVector2D::QVector2D(class QVector2D const &) + ??4QStyleOptionFocusRect@@QAEAAV0@ABV0@@Z @ 13016 NONAME ; class QStyleOptionFocusRect & QStyleOptionFocusRect::operator=(class QStyleOptionFocusRect const &) + ??_EQPen@@QAE@I@Z @ 13017 NONAME ; QPen::~QPen(unsigned int) + ??_EQKeySequence@@QAE@I@Z @ 13018 NONAME ; QKeySequence::~QKeySequence(unsigned int) + ??4QGradient@@QAEAAV0@ABV0@@Z @ 13019 NONAME ; class QGradient & QGradient::operator=(class QGradient const &) + ??0QTextTableFormat@@QAE@ABV0@@Z @ 13020 NONAME ; QTextTableFormat::QTextTableFormat(class QTextTableFormat const &) + ??_EQImagePixmapCleanupHooks@@QAE@I@Z @ 13021 NONAME ; QImagePixmapCleanupHooks::~QImagePixmapCleanupHooks(unsigned int) + ??0QStatusTipEvent@@QAE@ABV0@@Z @ 13022 NONAME ; QStatusTipEvent::QStatusTipEvent(class QStatusTipEvent const &) + ??0Value@QCss@@QAE@ABU01@@Z @ 13023 NONAME ; QCss::Value::Value(struct QCss::Value const &) + ??4QSizePolicy@@QAEAAV0@ABV0@@Z @ 13024 NONAME ; class QSizePolicy & QSizePolicy::operator=(class QSizePolicy const &) + ??_ETouchPoint@QTouchEvent@@QAE@I@Z @ 13025 NONAME ; QTouchEvent::TouchPoint::~TouchPoint(unsigned int) + ??4QItemSelection@@QAEAAV0@ABV0@@Z @ 13026 NONAME ; class QItemSelection & QItemSelection::operator=(class QItemSelection const &) + ??4QStyleOptionQ3ListView@@QAEAAV0@ABV0@@Z @ 13027 NONAME ; class QStyleOptionQ3ListView & QStyleOptionQ3ListView::operator=(class QStyleOptionQ3ListView const &) + ??0QSizePolicy@@QAE@ABV0@@Z @ 13028 NONAME ; QSizePolicy::QSizePolicy(class QSizePolicy const &) + ??4QStyleOptionFrameV2@@QAEAAV0@ABV0@@Z @ 13029 NONAME ; class QStyleOptionFrameV2 & QStyleOptionFrameV2::operator=(class QStyleOptionFrameV2 const &) + ??4QVector3D@@QAEAAV0@ABV0@@Z @ 13030 NONAME ; class QVector3D & QVector3D::operator=(class QVector3D const &) + ??4QStyleOptionQ3DockWindow@@QAEAAV0@ABV0@@Z @ 13031 NONAME ; class QStyleOptionQ3DockWindow & QStyleOptionQ3DockWindow::operator=(class QStyleOptionQ3DockWindow const &) + ??_EQFont@@QAE@I@Z @ 13032 NONAME ; QFont::~QFont(unsigned int) + ??4QStyleOptionDockWidget@@QAEAAV0@ABV0@@Z @ 13033 NONAME ; class QStyleOptionDockWidget & QStyleOptionDockWidget::operator=(class QStyleOptionDockWidget const &) + ??0QPainterState@@QAE@ABV0@@Z @ 13034 NONAME ; QPainterState::QPainterState(class QPainterState const &) + ??4QStyleOptionFrame@@QAEAAV0@ABV0@@Z @ 13035 NONAME ; class QStyleOptionFrame & QStyleOptionFrame::operator=(class QStyleOptionFrame const &) + ?qt_draw_decoration_for_glyphs@@YAXPAVQPainter@@PBIPBUQFixedPoint@@HPAVQFontEngine@@ABVQFont@@ABVQTextCharFormat@@@Z @ 13036 NONAME ; void qt_draw_decoration_for_glyphs(class QPainter *, unsigned int const *, struct QFixedPoint const *, int, class QFontEngine *, class QFont const &, class QTextCharFormat const &) + ??4QTextLength@@QAEAAV0@ABV0@@Z @ 13037 NONAME ; class QTextLength & QTextLength::operator=(class QTextLength const &) + ??0QHelpEvent@@QAE@ABV0@@Z @ 13038 NONAME ; QHelpEvent::QHelpEvent(class QHelpEvent const &) + ??0QContextMenuEvent@@QAE@ABV0@@Z @ 13039 NONAME ; QContextMenuEvent::QContextMenuEvent(class QContextMenuEvent const &) + ??0QWhatsThisClickedEvent@@QAE@ABV0@@Z @ 13040 NONAME ; QWhatsThisClickedEvent::QWhatsThisClickedEvent(class QWhatsThisClickedEvent const &) + ??4QStyleOptionTab@@QAEAAV0@ABV0@@Z @ 13041 NONAME ; class QStyleOptionTab & QStyleOptionTab::operator=(class QStyleOptionTab const &) + ??0QTabletEvent@@QAE@ABV0@@Z @ 13042 NONAME ; QTabletEvent::QTabletEvent(class QTabletEvent const &) + ??4QItemSelectionRange@@QAEAAV0@ABV0@@Z @ 13043 NONAME ; class QItemSelectionRange & QItemSelectionRange::operator=(class QItemSelectionRange const &) + ??_EQStyleOptionViewItemV4@@QAE@I@Z @ 13044 NONAME ; QStyleOptionViewItemV4::~QStyleOptionViewItemV4(unsigned int) + ??0QSymbianGraphicsSystemEx@@QAE@XZ @ 13045 NONAME ; QSymbianGraphicsSystemEx::QSymbianGraphicsSystemEx(void) + ??4QEglProperties@@QAEAAV0@ABV0@@Z @ 13046 NONAME ; class QEglProperties & QEglProperties::operator=(class QEglProperties const &) + ??0QHoverEvent@@QAE@ABV0@@Z @ 13047 NONAME ; QHoverEvent::QHoverEvent(class QHoverEvent const &) + ??0QPaintEngineState@@QAE@XZ @ 13048 NONAME ; QPaintEngineState::QPaintEngineState(void) + ??0QKeyEvent@@QAE@ABV0@@Z @ 13049 NONAME ; QKeyEvent::QKeyEvent(class QKeyEvent const &) + ??0QIconEngine@@QAE@ABV0@@Z @ 13050 NONAME ; QIconEngine::QIconEngine(class QIconEngine const &) + ??4QStyleOptionToolBoxV2@@QAEAAV0@ABV0@@Z @ 13051 NONAME ; class QStyleOptionToolBoxV2 & QStyleOptionToolBoxV2::operator=(class QStyleOptionToolBoxV2 const &) + ??0QImageIOHandlerFactoryInterface@@QAE@XZ @ 13052 NONAME ; QImageIOHandlerFactoryInterface::QImageIOHandlerFactoryInterface(void) + ??_EQRegion@@QAE@I@Z @ 13053 NONAME ; QRegion::~QRegion(unsigned int) + ??4QStyleOptionComplex@@QAEAAV0@ABV0@@Z @ 13054 NONAME ; class QStyleOptionComplex & QStyleOptionComplex::operator=(class QStyleOptionComplex const &) + ??_EFileInfo@QZipReader@@QAE@I@Z @ 13055 NONAME ; QZipReader::FileInfo::~FileInfo(unsigned int) + ??0QBitmap@@QAE@ABV0@@Z @ 13056 NONAME ; QBitmap::QBitmap(class QBitmap const &) + ?forceToRaster@QSymbianGraphicsSystemEx@@UAEXPAVQWidget@@@Z @ 13057 NONAME ; void QSymbianGraphicsSystemEx::forceToRaster(class QWidget *) + ?leadingSpaceWidth@QTextEngine@@QAE?AUQFixed@@ABUQScriptLine@@@Z @ 13058 NONAME ; struct QFixed QTextEngine::leadingSpaceWidth(struct QScriptLine const &) + ?releaseCachedGpuResources@QSymbianGraphicsSystemEx@@UAEXXZ @ 13059 NONAME ; void QSymbianGraphicsSystemEx::releaseCachedGpuResources(void) + ??_EQTextFormat@@QAE@I@Z @ 13060 NONAME ; QTextFormat::~QTextFormat(unsigned int) + ??4QStyleOptionTabWidgetFrame@@QAEAAV0@ABV0@@Z @ 13061 NONAME ; class QStyleOptionTabWidgetFrame & QStyleOptionTabWidgetFrame::operator=(class QStyleOptionTabWidgetFrame const &) + ??4QMouseEvent@@QAEAAV0@ABV0@@Z @ 13062 NONAME ; class QMouseEvent & QMouseEvent::operator=(class QMouseEvent const &) + ??_EQPainter@@QAE@I@Z @ 13063 NONAME ; QPainter::~QPainter(unsigned int) + ??4QStyleOptionTabBarBaseV2@@QAEAAV0@ABV0@@Z @ 13064 NONAME ; class QStyleOptionTabBarBaseV2 & QStyleOptionTabBarBaseV2::operator=(class QStyleOptionTabBarBaseV2 const &) + ??4QInputEvent@@QAEAAV0@ABV0@@Z @ 13065 NONAME ; class QInputEvent & QInputEvent::operator=(class QInputEvent const &) + ??_EQPainterPath@@QAE@I@Z @ 13066 NONAME ; QPainterPath::~QPainterPath(unsigned int) + ??4QQuaternion@@QAEAAV0@ABV0@@Z @ 13067 NONAME ; class QQuaternion & QQuaternion::operator=(class QQuaternion const &) + ??4Symbol@QCss@@QAEAAU01@ABU01@@Z @ 13068 NONAME ; struct QCss::Symbol & QCss::Symbol::operator=(struct QCss::Symbol const &) + ??0QIconDragEvent@@QAE@ABV0@@Z @ 13069 NONAME ; QIconDragEvent::QIconDragEvent(class QIconDragEvent const &) + ??0QTextImageFormat@@QAE@ABV0@@Z @ 13070 NONAME ; QTextImageFormat::QTextImageFormat(class QTextImageFormat const &) + ??0QMoveEvent@@QAE@ABV0@@Z @ 13071 NONAME ; QMoveEvent::QMoveEvent(class QMoveEvent const &) + ??0QInputContextFactoryInterface@@QAE@XZ @ 13072 NONAME ; QInputContextFactoryInterface::QInputContextFactoryInterface(void) + ??0QTextFrameFormat@@QAE@ABV0@@Z @ 13073 NONAME ; QTextFrameFormat::QTextFrameFormat(class QTextFrameFormat const &) + ??0Symbol@QCss@@QAE@ABU01@@Z @ 13074 NONAME ; QCss::Symbol::Symbol(struct QCss::Symbol const &) + ??4QStyleOptionFrameV3@@QAEAAV0@ABV0@@Z @ 13075 NONAME ; class QStyleOptionFrameV3 & QStyleOptionFrameV3::operator=(class QStyleOptionFrameV3 const &) + ??0QGraphicsSystem@@QAE@XZ @ 13076 NONAME ; QGraphicsSystem::QGraphicsSystem(void) + ??4QStyleOptionViewItem@@QAEAAV0@ABV0@@Z @ 13077 NONAME ; class QStyleOptionViewItem & QStyleOptionViewItem::operator=(class QStyleOptionViewItem const &) + ??4QStyleOptionProgressBar@@QAEAAV0@ABV0@@Z @ 13078 NONAME ; class QStyleOptionProgressBar & QStyleOptionProgressBar::operator=(class QStyleOptionProgressBar const &) + ??4QStyleOptionRubberBand@@QAEAAV0@ABV0@@Z @ 13079 NONAME ; class QStyleOptionRubberBand & QStyleOptionRubberBand::operator=(class QStyleOptionRubberBand const &) + ??0QDragResponseEvent@@QAE@ABV0@@Z @ 13080 NONAME ; QDragResponseEvent::QDragResponseEvent(class QDragResponseEvent const &) + ??0QIconEngine@@QAE@XZ @ 13081 NONAME ; QIconEngine::QIconEngine(void) + ??_EQBrush@@QAE@I@Z @ 13082 NONAME ; QBrush::~QBrush(unsigned int) + ??_EQTableWidgetSelectionRange@@QAE@I@Z @ 13083 NONAME ; QTableWidgetSelectionRange::~QTableWidgetSelectionRange(unsigned int) + ??4QStyleOptionTabBarBase@@QAEAAV0@ABV0@@Z @ 13084 NONAME ; class QStyleOptionTabBarBase & QStyleOptionTabBarBase::operator=(class QStyleOptionTabBarBase const &) + ??0QTextObjectInterface@@QAE@XZ @ 13085 NONAME ; QTextObjectInterface::QTextObjectInterface(void) + ??0QHideEvent@@QAE@ABV0@@Z @ 13086 NONAME ; QHideEvent::QHideEvent(class QHideEvent const &) + ??0QCloseEvent@@QAE@ABV0@@Z @ 13087 NONAME ; QCloseEvent::QCloseEvent(class QCloseEvent const &) + ??0QTextFrameLayoutData@@QAE@XZ @ 13088 NONAME ; QTextFrameLayoutData::QTextFrameLayoutData(void) + ??4QStyleOptionTabWidgetFrameV2@@QAEAAV0@ABV0@@Z @ 13089 NONAME ; class QStyleOptionTabWidgetFrameV2 & QStyleOptionTabWidgetFrameV2::operator=(class QStyleOptionTabWidgetFrameV2 const &) + ??4QStyleOptionTabV2@@QAEAAV0@ABV0@@Z @ 13090 NONAME ; class QStyleOptionTabV2 & QStyleOptionTabV2::operator=(class QStyleOptionTabV2 const &) + ?platformExtension@QGraphicsSystem@@UAEPAVQGraphicsSystemEx@@XZ @ 13091 NONAME ; class QGraphicsSystemEx * QGraphicsSystem::platformExtension(void) + ??4QTextListFormat@@QAEAAV0@ABV0@@Z @ 13092 NONAME ; class QTextListFormat & QTextListFormat::operator=(class QTextListFormat const &) + ??_EQPalette@@QAE@I@Z @ 13093 NONAME ; QPalette::~QPalette(unsigned int) + ?releaseAllGpuResources@QSymbianGraphicsSystemEx@@UAEXXZ @ 13094 NONAME ; void QSymbianGraphicsSystemEx::releaseAllGpuResources(void) + ??0QFocusEvent@@QAE@ABV0@@Z @ 13095 NONAME ; QFocusEvent::QFocusEvent(class QFocusEvent const &) + ??4QStyleOptionQ3ListViewItem@@QAEAAV0@ABV0@@Z @ 13096 NONAME ; class QStyleOptionQ3ListViewItem & QStyleOptionQ3ListViewItem::operator=(class QStyleOptionQ3ListViewItem const &) + ??_EQIcon@@QAE@I@Z @ 13097 NONAME ; QIcon::~QIcon(unsigned int) + ??0QTextListFormat@@QAE@ABV0@@Z @ 13098 NONAME ; QTextListFormat::QTextListFormat(class QTextListFormat const &) + ??0QGuiPlatformPluginInterface@@QAE@XZ @ 13099 NONAME ; QGuiPlatformPluginInterface::QGuiPlatformPluginInterface(void) + ??_EQTextLayout@@QAE@I@Z @ 13100 NONAME ; QTextLayout::~QTextLayout(unsigned int) + ??0QWheelEvent@@QAE@ABV0@@Z @ 13101 NONAME ; QWheelEvent::QWheelEvent(class QWheelEvent const &) + ??0QWindowStateChangeEvent@@QAE@ABV0@@Z @ 13102 NONAME ; QWindowStateChangeEvent::QWindowStateChangeEvent(class QWindowStateChangeEvent const &) + ??_EQTextEngine@@QAE@I@Z @ 13103 NONAME ; QTextEngine::~QTextEngine(unsigned int) + ??4QStyleOptionTitleBar@@QAEAAV0@ABV0@@Z @ 13104 NONAME ; class QStyleOptionTitleBar & QStyleOptionTitleBar::operator=(class QStyleOptionTitleBar const &) + ??4Value@QCss@@QAEAAU01@ABU01@@Z @ 13105 NONAME ; struct QCss::Value & QCss::Value::operator=(struct QCss::Value const &) + ?hasBCM2727@QSymbianGraphicsSystemEx@@UAE_NXZ @ 13106 NONAME ; bool QSymbianGraphicsSystemEx::hasBCM2727(void) + ??0QDragLeaveEvent@@QAE@ABV0@@Z @ 13107 NONAME ; QDragLeaveEvent::QDragLeaveEvent(class QDragLeaveEvent const &) + ??4QBitmap@@QAEAAV0@ABV0@@Z @ 13108 NONAME ; class QBitmap & QBitmap::operator=(class QBitmap const &) + ??0QItemSelection@@QAE@ABV0@@Z @ 13109 NONAME ; QItemSelection::QItemSelection(class QItemSelection const &) + ??4QTextFrameFormat@@QAEAAV0@ABV0@@Z @ 13110 NONAME ; class QTextFrameFormat & QTextFrameFormat::operator=(class QTextFrameFormat const &) + ?setInstantInvalidatePropagation@QGraphicsLayout@@SAX_N@Z @ 13111 NONAME ; void QGraphicsLayout::setInstantInvalidatePropagation(bool) + ?instantInvalidatePropagation@QGraphicsLayout@@SA_NXZ @ 13112 NONAME ; bool QGraphicsLayout::instantInvalidatePropagation(void) diff --git a/src/s60installs/bwins/QtMultimediau.def b/src/s60installs/bwins/QtMultimediau.def index b8cf6b9..19e6bc7 100644 --- a/src/s60installs/bwins/QtMultimediau.def +++ b/src/s60installs/bwins/QtMultimediau.def @@ -274,4 +274,9 @@ EXPORTS ?sampleRate@QAudioFormat@@QBEHXZ @ 273 NONAME ; int QAudioFormat::sampleRate(void) const ?supportedSampleRates@QAudioDeviceInfo@@QBE?AV?$QList@H@@XZ @ 274 NONAME ; class QList<int> QAudioDeviceInfo::supportedSampleRates(void) const ?setChannelCount@QAudioFormat@@QAEXH@Z @ 275 NONAME ; void QAudioFormat::setChannelCount(int) + ??0QAbstractAudioInput@@QAE@XZ @ 276 NONAME ; QAbstractAudioInput::QAbstractAudioInput(void) + ??0QAudioEngineFactoryInterface@@QAE@XZ @ 277 NONAME ; QAudioEngineFactoryInterface::QAudioEngineFactoryInterface(void) + ??0QAbstractAudioDeviceInfo@@QAE@XZ @ 278 NONAME ; QAbstractAudioDeviceInfo::QAbstractAudioDeviceInfo(void) + ??0QAbstractAudioOutput@@QAE@XZ @ 279 NONAME ; QAbstractAudioOutput::QAbstractAudioOutput(void) + ??_EQAudioDeviceInfo@@QAE@I@Z @ 280 NONAME ; QAudioDeviceInfo::~QAudioDeviceInfo(unsigned int) diff --git a/src/s60installs/bwins/QtNetworku.def b/src/s60installs/bwins/QtNetworku.def index 21718d3..c044693 100644 --- a/src/s60installs/bwins/QtNetworku.def +++ b/src/s60installs/bwins/QtNetworku.def @@ -1145,4 +1145,18 @@ EXPORTS ?setNetworkAccessible@QNetworkAccessManager@@QAEXW4NetworkAccessibility@1@@Z @ 1144 NONAME ; void QNetworkAccessManager::setNetworkAccessible(enum QNetworkAccessManager::NetworkAccessibility) ??_EQBearerEngineFactoryInterface@@UAE@I@Z @ 1145 NONAME ; QBearerEngineFactoryInterface::~QBearerEngineFactoryInterface(unsigned int) ?enablePolling@QNetworkConfigurationManagerPrivate@@QAEXXZ @ 1146 NONAME ; void QNetworkConfigurationManagerPrivate::enablePolling(void) + ??_EQSslError@@QAE@I@Z @ 1147 NONAME ; QSslError::~QSslError(unsigned int) + ??0QBearerEngineFactoryInterface@@QAE@XZ @ 1148 NONAME ; QBearerEngineFactoryInterface::QBearerEngineFactoryInterface(void) + ??_EQSslCipher@@QAE@I@Z @ 1149 NONAME ; QSslCipher::~QSslCipher(unsigned int) + ??_EQSslConfiguration@@QAE@I@Z @ 1150 NONAME ; QSslConfiguration::~QSslConfiguration(unsigned int) + ??_EQSslCertificate@@QAE@I@Z @ 1151 NONAME ; QSslCertificate::~QSslCertificate(unsigned int) + ??_EQNetworkInterface@@QAE@I@Z @ 1152 NONAME ; QNetworkInterface::~QNetworkInterface(unsigned int) + ??_EQNetworkProxy@@QAE@I@Z @ 1153 NONAME ; QNetworkProxy::~QNetworkProxy(unsigned int) + ??_EQHostAddress@@QAE@I@Z @ 1154 NONAME ; QHostAddress::~QHostAddress(unsigned int) + ??_EQNetworkConfiguration@@QAE@I@Z @ 1155 NONAME ; QNetworkConfiguration::~QNetworkConfiguration(unsigned int) + ??_EQHostInfo@@QAE@I@Z @ 1156 NONAME ; QHostInfo::~QHostInfo(unsigned int) + ??_EQNetworkRequest@@QAE@I@Z @ 1157 NONAME ; QNetworkRequest::~QNetworkRequest(unsigned int) + ??4QIPv6Address@@QAEAAV0@ABV0@@Z @ 1158 NONAME ; class QIPv6Address & QIPv6Address::operator=(class QIPv6Address const &) + ??_EQNetworkAddressEntry@@QAE@I@Z @ 1159 NONAME ; QNetworkAddressEntry::~QNetworkAddressEntry(unsigned int) + ??_EQNetworkCookie@@QAE@I@Z @ 1160 NONAME ; QNetworkCookie::~QNetworkCookie(unsigned int) diff --git a/src/s60installs/bwins/QtOpenGLu.def b/src/s60installs/bwins/QtOpenGLu.def index d7c8394..75c0d5e 100644 --- a/src/s60installs/bwins/QtOpenGLu.def +++ b/src/s60installs/bwins/QtOpenGLu.def @@ -715,11 +715,13 @@ EXPORTS ?detachTextureFromPool@QGLPixmapData@@QAEXXZ @ 714 NONAME ; void QGLPixmapData::detachTextureFromPool(void) ?reclaimTexture@QGLPixmapData@@QAEXXZ @ 715 NONAME ; void QGLPixmapData::reclaimTexture(void) ?destroyTexture@QGLPixmapData@@QAEXXZ @ 716 NONAME ; void QGLPixmapData::destroyTexture(void) - ?releaseCachedResources@QGLGraphicsSystem@@UAEXXZ @ 717 NONAME ; void QGLGraphicsSystem::releaseCachedResources(void) + ?releaseCachedResources@QGLGraphicsSystem@@UAEXXZ @ 717 NONAME ABSENT ; void QGLGraphicsSystem::releaseCachedResources(void) ?serialNumber@QGLTextureGlyphCache@@QBEHXZ @ 718 NONAME ; int QGLTextureGlyphCache::serialNumber(void) const ?forceToImage@QGLPixmapData@@QAEXXZ @ 719 NONAME ; void QGLPixmapData::forceToImage(void) ?idealFormat@QGLPixmapData@@QAE?AW4Format@QImage@@AAV3@V?$QFlags@W4ImageConversionFlag@Qt@@@@@Z @ 720 NONAME ; enum QImage::Format QGLPixmapData::idealFormat(class QImage &, class QFlags<enum Qt::ImageConversionFlag>) ?releaseNativeImageHandle@QGLPixmapData@@QAEXXZ @ 721 NONAME ; void QGLPixmapData::releaseNativeImageHandle(void) ?createFromNativeImageHandleProvider@QGLPixmapData@@QAEXXZ @ 722 NONAME ; void QGLPixmapData::createFromNativeImageHandleProvider(void) ?initFromNativeImageHandle@QGLPixmapData@@QAE_NPAXABVQString@@@Z @ 723 NONAME ; bool QGLPixmapData::initFromNativeImageHandle(void *, class QString const &) + ?platformExtension@QGLGraphicsSystem@@UAEPAVQGraphicsSystemEx@@XZ @ 724 NONAME ; class QGraphicsSystemEx * QGLGraphicsSystem::platformExtension(void) + ?releaseCachedGpuResources@QGLGraphicsSystem@@UAEXXZ @ 725 NONAME ; void QGLGraphicsSystem::releaseCachedGpuResources(void) diff --git a/src/s60installs/bwins/QtScriptu.def b/src/s60installs/bwins/QtScriptu.def index 02a0819..3185819 100644 --- a/src/s60installs/bwins/QtScriptu.def +++ b/src/s60installs/bwins/QtScriptu.def @@ -405,4 +405,6 @@ EXPORTS ?compare@QScriptDeclarativeClass@@UAE_NPAUObject@1@0@Z @ 404 NONAME ; bool QScriptDeclarativeClass::compare(struct QScriptDeclarativeClass::Object *, struct QScriptDeclarativeClass::Object *) ?toString@PersistentIdentifier@QScriptDeclarativeClass@@QBE?AVQString@@XZ @ 405 NONAME ; class QString QScriptDeclarativeClass::PersistentIdentifier::toString(void) const ?startsWithUpper@QScriptDeclarativeClass@@QAE_NABQAX@Z @ 406 NONAME ; bool QScriptDeclarativeClass::startsWithUpper(void * const const &) + ??0QScriptExtensionInterface@@QAE@XZ @ 407 NONAME ; QScriptExtensionInterface::QScriptExtensionInterface(void) + ??_EQScriptValue@@QAE@I@Z @ 408 NONAME ; QScriptValue::~QScriptValue(unsigned int) diff --git a/src/s60installs/bwins/QtSqlu.def b/src/s60installs/bwins/QtSqlu.def index 75fa3d0..8b857c1 100644 --- a/src/s60installs/bwins/QtSqlu.def +++ b/src/s60installs/bwins/QtSqlu.def @@ -458,4 +458,7 @@ EXPORTS ?staticMetaObject@QSqlDriver@@2UQMetaObject@@B @ 457 NONAME ; struct QMetaObject const QSqlDriver::staticMetaObject ?staticMetaObject@QSqlQueryModel@@2UQMetaObject@@B @ 458 NONAME ; struct QMetaObject const QSqlQueryModel::staticMetaObject ?staticMetaObject@QSQLiteDriver@@2UQMetaObject@@B @ 459 NONAME ; struct QMetaObject const QSQLiteDriver::staticMetaObject + ??4QSqlRelation@@QAEAAV0@ABV0@@Z @ 460 NONAME ; class QSqlRelation & QSqlRelation::operator=(class QSqlRelation const &) + ??0QSqlDriverFactoryInterface@@QAE@XZ @ 461 NONAME ; QSqlDriverFactoryInterface::QSqlDriverFactoryInterface(void) + ??0QSqlRelation@@QAE@ABV0@@Z @ 462 NONAME ; QSqlRelation::QSqlRelation(class QSqlRelation const &) diff --git a/src/s60installs/bwins/QtTestu.def b/src/s60installs/bwins/QtTestu.def index a7bb9cd..40ff5e2 100644 --- a/src/s60installs/bwins/QtTestu.def +++ b/src/s60installs/bwins/QtTestu.def @@ -77,4 +77,94 @@ EXPORTS ?staticMetaObject@QTestEventLoop@@2UQMetaObject@@B @ 76 NONAME ; struct QMetaObject const QTestEventLoop::staticMetaObject ?setBenchmarkResult@QTest@@YAXMW4QBenchmarkMetric@1@@Z @ 77 NONAME ; void QTest::setBenchmarkResult(float, enum QTest::QBenchmarkMetric) ?endBenchmarkMeasurement@QTest@@YA_KXZ @ 78 NONAME ; unsigned long long QTest::endBenchmarkMeasurement(void) + ?addBenchmarkResult@QTestLog@@SAXABVQBenchmarkResult@@@Z @ 79 NONAME ; void QTestLog::addBenchmarkResult(class QBenchmarkResult const &) + ?currentTestLocation@QTestResult@@SA?AW4TestLocation@1@XZ @ 80 NONAME ; enum QTestResult::TestLocation QTestResult::currentTestLocation(void) + ?setCurrentTestLocation@QTestResult@@SAXW4TestLocation@1@@Z @ 81 NONAME ; void QTestResult::setCurrentTestLocation(enum QTestResult::TestLocation) + ?testFailed@QTestResult@@SA_NXZ @ 82 NONAME ; bool QTestResult::testFailed(void) + ?setVerboseLevel@QTestLog@@SAXH@Z @ 83 NONAME ; void QTestLog::setVerboseLevel(int) + ?setCurrentTestObject@QTestResult@@SAXPBD@Z @ 84 NONAME ; void QTestResult::setCurrentTestObject(char const *) + ?isEmpty@QTestTable@@QBE_NXZ @ 85 NONAME ; bool QTestTable::isEmpty(void) const + ?reset@QTestResult@@SAXXZ @ 86 NONAME ; void QTestResult::reset(void) + ?info@QTestLog@@SAXPBD0H@Z @ 87 NONAME ; void QTestLog::info(char const *, char const *, int) + ?adjustMedianIterationCount@QBenchmarkGlobalData@@QAEHXZ @ 88 NONAME ; int QBenchmarkGlobalData::adjustMedianIterationCount(void) + ?addColumn@QTestTable@@QAEXHPBD@Z @ 89 NONAME ; void QTestTable::addColumn(int, char const *) + ?setMode@QBenchmarkGlobalData@@QAEXW4Mode@1@@Z @ 90 NONAME ; void QBenchmarkGlobalData::setMode(enum QBenchmarkGlobalData::Mode) + ?addFailure@QTestResult@@SAXPBD0H@Z @ 91 NONAME ; void QTestResult::addFailure(char const *, char const *, int) + ?indexOf@QTestTable@@QBEHPBD@Z @ 92 NONAME ; int QTestTable::indexOf(char const *) const + ?warn@QTestLog@@SAXPBD@Z @ 93 NONAME ; void QTestLog::warn(char const *) + ?currentTestData@QTestResult@@SAPAVQTestData@@XZ @ 94 NONAME ; class QTestData * QTestResult::currentTestData(void) + ?endDataRun@QBenchmarkTestMethodData@@QAEXXZ @ 95 NONAME ; void QBenchmarkTestMethodData::endDataRun(void) + ?globalTestTable@QTestTable@@SAPAV1@XZ @ 96 NONAME ; class QTestTable * QTestTable::globalTestTable(void) + ?elementCount@QTestTable@@QBEHXZ @ 97 NONAME ; int QTestTable::elementCount(void) const + ??0QTestLog@@AAE@XZ @ 98 NONAME ; QTestLog::QTestLog(void) + ?allDataPassed@QTestResult@@SA_NXZ @ 99 NONAME ; bool QTestResult::allDataPassed(void) + ??0QBenchmarkTestMethodData@@QAE@XZ @ 100 NONAME ; QBenchmarkTestMethodData::QBenchmarkTestMethodData(void) + ?qtest_qParseArgs@QTest@@YAXHQAPAD_N@Z @ 101 NONAME ; void QTest::qtest_qParseArgs(int, char * * const, bool) + ?unhandledIgnoreMessages@QTestLog@@SAHXZ @ 102 NONAME ; int QTestLog::unhandledIgnoreMessages(void) + ?setCurrentTestFunction@QTestResult@@SAXPBD@Z @ 103 NONAME ; void QTestResult::setCurrentTestFunction(char const *) + ?enterTestFunction@QTestLog@@SAXPBD@Z @ 104 NONAME ; void QTestLog::enterTestFunction(char const *) + ?testFunctions@QTest@@3VQStringList@@A @ 105 NONAME ; class QStringList QTest::testFunctions + ?addSkip@QTestResult@@SAXPBDW4SkipMode@QTest@@0H@Z @ 106 NONAME ; void QTestResult::addSkip(char const *, enum QTest::SkipMode, char const *, int) + ?currentGlobalDataTag@QTestResult@@SAPBDXZ @ 107 NONAME ; char const * QTestResult::currentGlobalDataTag(void) + ?stopLogging@QTestLog@@SAXXZ @ 108 NONAME ; void QTestLog::stopLogging(void) + ??_EQTestData@@QAE@I@Z @ 109 NONAME ; QTestData::~QTestData(unsigned int) + ??1QTestLog@@AAE@XZ @ 110 NONAME ; QTestLog::~QTestLog(void) + ?skipCount@QTestResult@@SAHXZ @ 111 NONAME ; int QTestResult::skipCount(void) + ?setCurrentGlobalTestData@QTestResult@@SAXPAVQTestData@@@Z @ 112 NONAME ; void QTestResult::setCurrentGlobalTestData(class QTestData *) + ?elementTypeId@QTestTable@@QBEHH@Z @ 113 NONAME ; int QTestTable::elementTypeId(int) const + ?dataTag@QTestTable@@QBEPBDH@Z @ 114 NONAME ; char const * QTestTable::dataTag(int) const + ?dataCount@QTestTable@@QBEHXZ @ 115 NONAME ; int QTestTable::dataCount(void) const + ?printUnhandledIgnoreMessages@QTestLog@@SAXXZ @ 116 NONAME ; void QTestLog::printUnhandledIgnoreMessages(void) + ??1QBenchmarkTestMethodData@@QAE@XZ @ 117 NONAME ; QBenchmarkTestMethodData::~QBenchmarkTestMethodData(void) + ??1QTestTable@@QAE@XZ @ 118 NONAME ; QTestTable::~QTestTable(void) + ?current@QBenchmarkGlobalData@@2PAV1@A @ 119 NONAME ; class QBenchmarkGlobalData * QBenchmarkGlobalData::current + ?setFlushMode@QTestLog@@SAXW4FlushMode@1@@Z @ 120 NONAME ; void QTestLog::setFlushMode(enum QTestLog::FlushMode) + ?ignoreMessage@QTestResult@@SAXW4QtMsgType@@PBD@Z @ 121 NONAME ; void QTestResult::ignoreMessage(enum QtMsgType, char const *) + ?failCount@QTestResult@@SAHXZ @ 122 NONAME ; int QTestResult::failCount(void) + ?mode@QBenchmarkGlobalData@@QBE?AW4Mode@1@XZ @ 123 NONAME ; enum QBenchmarkGlobalData::Mode QBenchmarkGlobalData::mode(void) const + ?addSkip@QTestLog@@SAXPBDW4SkipMode@QTest@@0H@Z @ 124 NONAME ; void QTestLog::addSkip(char const *, enum QTest::SkipMode, char const *, int) + ?outputFileName@QTestLog@@SAPBDXZ @ 125 NONAME ; char const * QTestLog::outputFileName(void) + ?expectFail@QTestResult@@SA_NPBD0W4TestFailMode@QTest@@0H@Z @ 126 NONAME ; bool QTestResult::expectFail(char const *, char const *, enum QTest::TestFailMode, char const *, int) + ?passCount@QTestResult@@SAHXZ @ 127 NONAME ; int QTestResult::passCount(void) + ?logMode@QTestLog@@SA?AW4LogMode@1@XZ @ 128 NONAME ; enum QTestLog::LogMode QTestLog::logMode(void) + ?skipCurrentTest@QTestResult@@SA_NXZ @ 129 NONAME ; bool QTestResult::skipCurrentTest(void) + ?addXPass@QTestLog@@SAXPBD0H@Z @ 130 NONAME ; void QTestLog::addXPass(char const *, char const *, int) + ?testTags@QTest@@3VQStringList@@A @ 131 NONAME ; class QStringList QTest::testTags + ?isBenchmark@QBenchmarkTestMethodData@@QBE_NXZ @ 132 NONAME ; bool QBenchmarkTestMethodData::isBenchmark(void) const + ?adjustIterationCount@QBenchmarkTestMethodData@@QAEHH@Z @ 133 NONAME ; int QBenchmarkTestMethodData::adjustIterationCount(int) + ??1QBenchmarkGlobalData@@QAE@XZ @ 134 NONAME ; QBenchmarkGlobalData::~QBenchmarkGlobalData(void) + ?printAvailableFunctions@QTest@@3_NA @ 135 NONAME ; bool QTest::printAvailableFunctions + ?testData@QTestTable@@QBEPAVQTestData@@H@Z @ 136 NONAME ; class QTestData * QTestTable::testData(int) const + ?setCurrentTestData@QTestResult@@SAXPAVQTestData@@@Z @ 137 NONAME ; void QTestResult::setCurrentTestData(class QTestData *) + ?compare@QTestResult@@SA_N_NPBD1H@Z @ 138 NONAME ; bool QTestResult::compare(bool, char const *, char const *, int) + ?currentTestFailed@QTestResult@@SA_NXZ @ 139 NONAME ; bool QTestResult::currentTestFailed(void) + ?compare@QTestResult@@SA_N_NPBDPAD2111H@Z @ 140 NONAME ; bool QTestResult::compare(bool, char const *, char *, char *, char const *, char const *, char const *, int) + ?addXFail@QTestLog@@SAXPBD0H@Z @ 141 NONAME ; void QTestLog::addXFail(char const *, char const *, int) + ??_EQTestTable@@QAE@I@Z @ 142 NONAME ; QTestTable::~QTestTable(unsigned int) + ??0QBenchmarkGlobalData@@QAE@XZ @ 143 NONAME ; QBenchmarkGlobalData::QBenchmarkGlobalData(void) + ?beginDataRun@QBenchmarkTestMethodData@@QAEXXZ @ 144 NONAME ; void QBenchmarkTestMethodData::beginDataRun(void) + ?resultsAccepted@QBenchmarkTestMethodData@@QBE_NXZ @ 145 NONAME ; bool QBenchmarkTestMethodData::resultsAccepted(void) const + ?addIgnoreMessage@QTestLog@@SAXW4QtMsgType@@PBD@Z @ 146 NONAME ; void QTestLog::addIgnoreMessage(enum QtMsgType, char const *) + ?startLogging@QTestLog@@SAXXZ @ 147 NONAME ; void QTestLog::startLogging(void) + ?currentDataTag@QTestResult@@SAPBDXZ @ 148 NONAME ; char const * QTestResult::currentDataTag(void) + ?redirectOutput@QTestLog@@SAXPBD@Z @ 149 NONAME ; void QTestLog::redirectOutput(char const *) + ?currentTestObjectName@QTestResult@@SAPBDXZ @ 150 NONAME ; char const * QTestResult::currentTestObjectName(void) + ?newData@QTestTable@@QAEPAVQTestData@@PBD@Z @ 151 NONAME ; class QTestData * QTestTable::newData(char const *) + ?addPass@QTestLog@@SAXPBD@Z @ 152 NONAME ; void QTestLog::addPass(char const *) + ?verboseLevel@QTestLog@@SAHXZ @ 153 NONAME ; int QTestLog::verboseLevel(void) + ?createMeasurer@QBenchmarkGlobalData@@QAEPAVQBenchmarkMeasurerBase@@XZ @ 154 NONAME ; class QBenchmarkMeasurerBase * QBenchmarkGlobalData::createMeasurer(void) + ?currentGlobalTestData@QTestResult@@SAPAVQTestData@@XZ @ 155 NONAME ; class QTestData * QTestResult::currentGlobalTestData(void) + ?setSkipCurrentTest@QTestResult@@SAX_N@Z @ 156 NONAME ; void QTestResult::setSkipCurrentTest(bool) + ?setResult@QBenchmarkTestMethodData@@QAEXMW4QBenchmarkMetric@QTest@@_N@Z @ 157 NONAME ; void QBenchmarkTestMethodData::setResult(float, enum QTest::QBenchmarkMetric, bool) + ?verify@QTestResult@@SA_N_NPBD11H@Z @ 158 NONAME ; bool QTestResult::verify(bool, char const *, char const *, char const *, int) + ?leaveTestFunction@QTestLog@@SAXXZ @ 159 NONAME ; void QTestLog::leaveTestFunction(void) + ?finishedCurrentTestFunction@QTestResult@@SAXXZ @ 160 NONAME ; void QTestResult::finishedCurrentTestFunction(void) + ?currentTestTable@QTestTable@@SAPAV1@XZ @ 161 NONAME ; class QTestTable * QTestTable::currentTestTable(void) + ?currentTestFunction@QTestResult@@SAPBDXZ @ 162 NONAME ; char const * QTestResult::currentTestFunction(void) + ?setLogMode@QTestLog@@SAXW4LogMode@1@@Z @ 163 NONAME ; void QTestLog::setLogMode(enum QTestLog::LogMode) + ?clearGlobalTestTable@QTestTable@@SAXXZ @ 164 NONAME ; void QTestTable::clearGlobalTestTable(void) + ?addFail@QTestLog@@SAXPBD0H@Z @ 165 NONAME ; void QTestLog::addFail(char const *, char const *, int) + ??0QTestTable@@QAE@XZ @ 166 NONAME ; QTestTable::QTestTable(void) + ?setMaxWarnings@QTestLog@@SAXH@Z @ 167 NONAME ; void QTestLog::setMaxWarnings(int) + ?current@QBenchmarkTestMethodData@@2PAV1@A @ 168 NONAME ; class QBenchmarkTestMethodData * QBenchmarkTestMethodData::current diff --git a/src/s60installs/bwins/QtXmlPatternsu.def b/src/s60installs/bwins/QtXmlPatternsu.def index 57a75d4..5a458b3 100644 --- a/src/s60installs/bwins/QtXmlPatternsu.def +++ b/src/s60installs/bwins/QtXmlPatternsu.def @@ -277,4 +277,7 @@ EXPORTS ?writeEscapedAttribute@QXmlSerializer@@AAEXABVQString@@@Z @ 276 NONAME ; void QXmlSerializer::writeEscapedAttribute(class QString const &) ?staticMetaObject@QAbstractMessageHandler@@2UQMetaObject@@B @ 277 NONAME ; struct QMetaObject const QAbstractMessageHandler::staticMetaObject ?staticMetaObject@QAbstractUriResolver@@2UQMetaObject@@B @ 278 NONAME ; struct QMetaObject const QAbstractUriResolver::staticMetaObject + ??_EQXmlQuery@@QAE@I@Z @ 279 NONAME ; QXmlQuery::~QXmlQuery(unsigned int) + ??4QXmlNodeModelIndex@@QAEAAV0@ABV0@@Z @ 280 NONAME ; class QXmlNodeModelIndex & QXmlNodeModelIndex::operator=(class QXmlNodeModelIndex const &) + ??_EQXmlItem@@QAE@I@Z @ 281 NONAME ; QXmlItem::~QXmlItem(unsigned int) diff --git a/src/s60installs/bwins/QtXmlu.def b/src/s60installs/bwins/QtXmlu.def index 744a744..f54e317 100644 --- a/src/s60installs/bwins/QtXmlu.def +++ b/src/s60installs/bwins/QtXmlu.def @@ -400,4 +400,11 @@ EXPORTS ?warning@QXmlDefaultHandler@@UAE_NABVQXmlParseException@@@Z @ 399 NONAME ; bool QXmlDefaultHandler::warning(class QXmlParseException const &) ?EndOfDocument@QXmlInputSource@@2GB @ 400 NONAME ; unsigned short const QXmlInputSource::EndOfDocument ?EndOfData@QXmlInputSource@@2GB @ 401 NONAME ; unsigned short const QXmlInputSource::EndOfData + ??0QXmlContentHandler@@QAE@XZ @ 402 NONAME ; QXmlContentHandler::QXmlContentHandler(void) + ??0QXmlDTDHandler@@QAE@XZ @ 403 NONAME ; QXmlDTDHandler::QXmlDTDHandler(void) + ??0QXmlReader@@QAE@XZ @ 404 NONAME ; QXmlReader::QXmlReader(void) + ??0QXmlLexicalHandler@@QAE@XZ @ 405 NONAME ; QXmlLexicalHandler::QXmlLexicalHandler(void) + ??0QXmlDeclHandler@@QAE@XZ @ 406 NONAME ; QXmlDeclHandler::QXmlDeclHandler(void) + ??0QXmlEntityResolver@@QAE@XZ @ 407 NONAME ; QXmlEntityResolver::QXmlEntityResolver(void) + ??0QXmlErrorHandler@@QAE@XZ @ 408 NONAME ; QXmlErrorHandler::QXmlErrorHandler(void) diff --git a/src/s60installs/bwins/phononu.def b/src/s60installs/bwins/phononu.def index fe80e12..15f83b1 100644 --- a/src/s60installs/bwins/phononu.def +++ b/src/s60installs/bwins/phononu.def @@ -570,4 +570,8 @@ EXPORTS ?setOutputDevice@PulseSupport@Phonon@@QAE_NVQString@@H@Z @ 569 NONAME ; bool Phonon::PulseSupport::setOutputDevice(class QString, int) ?qt_metacast@AudioDataOutput@Phonon@@UAEPAXPBD@Z @ 570 NONAME ; void * Phonon::AudioDataOutput::qt_metacast(char const *) ?clearStreamCache@PulseSupport@Phonon@@QAEXVQString@@@Z @ 571 NONAME ; void Phonon::PulseSupport::clearStreamCache(class QString) + ??_EEffectParameter@Phonon@@QAE@I@Z @ 572 NONAME ; Phonon::EffectParameter::~EffectParameter(unsigned int) + ??_EPath@Phonon@@QAE@I@Z @ 573 NONAME ; Phonon::Path::~Path(unsigned int) + ??_EMediaSource@Phonon@@QAE@I@Z @ 574 NONAME ; Phonon::MediaSource::~MediaSource(unsigned int) + ??_EObjectDescriptionData@Phonon@@QAE@I@Z @ 575 NONAME ; Phonon::ObjectDescriptionData::~ObjectDescriptionData(unsigned int) diff --git a/src/s60installs/eabi/QtGuiu.def b/src/s60installs/eabi/QtGuiu.def index 318b394..d0c789f 100644 --- a/src/s60installs/eabi/QtGuiu.def +++ b/src/s60installs/eabi/QtGuiu.def @@ -12180,8 +12180,19 @@ EXPORTS _ZNK14QVolatileImage7toImageEv @ 12179 NONAME _ZNK14QVolatileImage9byteCountEv @ 12180 NONAME _ZNK14QVolatileImage9constBitsEv @ 12181 NONAME - _ZN15QGraphicsSystem22releaseCachedResourcesEv @ 12182 NONAME + _ZN15QGraphicsSystem22releaseCachedResourcesEv @ 12182 NONAME ABSENT _Z32qt_s60_setPartialScreenInputModeb @ 12183 NONAME _Z29qt_draw_decoration_for_glyphsP8QPainterPKjPK11QFixedPointiP11QFontEngineRK5QFontRK15QTextCharFormat @ 12184 NONAME _ZNK14QVolatileImage14paintingActiveEv @ 12185 NONAME + _ZN11QTextEngine17leadingSpaceWidthERK11QScriptLine @ 12186 NONAME + _ZN15QGraphicsLayout28instantInvalidatePropagationEv @ 12187 NONAME + _ZN15QGraphicsLayout31setInstantInvalidatePropagationEb @ 12188 NONAME + _ZN15QGraphicsSystem17platformExtensionEv @ 12189 NONAME + _ZN24QSymbianGraphicsSystemEx10hasBCM2727Ev @ 12190 NONAME + _ZN24QSymbianGraphicsSystemEx13forceToRasterEP7QWidget @ 12191 NONAME + _ZN24QSymbianGraphicsSystemEx22releaseAllGpuResourcesEv @ 12192 NONAME + _ZN24QSymbianGraphicsSystemEx25releaseCachedGpuResourcesEv @ 12193 NONAME + _ZTI17QGraphicsSystemEx @ 12194 NONAME + _ZTI24QSymbianGraphicsSystemEx @ 12195 NONAME + _ZTV24QSymbianGraphicsSystemEx @ 12196 NONAME diff --git a/src/s60installs/eabi/QtOpenGLu.def b/src/s60installs/eabi/QtOpenGLu.def index 488c6cd..5a8c0ee 100644 --- a/src/s60installs/eabi/QtOpenGLu.def +++ b/src/s60installs/eabi/QtOpenGLu.def @@ -719,9 +719,12 @@ EXPORTS _ZN13QGLPixmapData14reclaimTextureEv @ 718 NONAME _ZN13QGLPixmapData21detachTextureFromPoolEv @ 719 NONAME _ZN13QGLPixmapData9hibernateEv @ 720 NONAME - _ZN17QGLGraphicsSystem22releaseCachedResourcesEv @ 721 NONAME + _ZN17QGLGraphicsSystem22releaseCachedResourcesEv @ 721 NONAME ABSENT _ZN13QGLPixmapData11idealFormatER6QImage6QFlagsIN2Qt19ImageConversionFlagEE @ 722 NONAME _ZN13QGLPixmapData24releaseNativeImageHandleEv @ 723 NONAME _ZN13QGLPixmapData25initFromNativeImageHandleEPvRK7QString @ 724 NONAME _ZN13QGLPixmapData35createFromNativeImageHandleProviderEv @ 725 NONAME + _ZN17QGLGraphicsSystem17platformExtensionEv @ 726 NONAME + _ZN17QGLGraphicsSystem25releaseCachedGpuResourcesEv @ 727 NONAME + _ZThn4_N17QGLGraphicsSystem25releaseCachedGpuResourcesEv @ 728 NONAME diff --git a/src/s60installs/eabi/QtTestu.def b/src/s60installs/eabi/QtTestu.def index 5cb95ba..3b8c297 100644 --- a/src/s60installs/eabi/QtTestu.def +++ b/src/s60installs/eabi/QtTestu.def @@ -70,4 +70,97 @@ EXPORTS _ZTI14QTestEventLoop @ 69 NONAME _ZTV14QTestEventLoop @ 70 NONAME _ZN5QTest18setBenchmarkResultEfNS_16QBenchmarkMetricE @ 71 NONAME + _ZN10QTestTable15globalTestTableEv @ 72 NONAME + _ZN10QTestTable16currentTestTableEv @ 73 NONAME + _ZN10QTestTable20clearGlobalTestTableEv @ 74 NONAME + _ZN10QTestTable7newDataEPKc @ 75 NONAME + _ZN10QTestTable9addColumnEiPKc @ 76 NONAME + _ZN10QTestTableC1Ev @ 77 NONAME + _ZN10QTestTableC2Ev @ 78 NONAME + _ZN10QTestTableD1Ev @ 79 NONAME + _ZN10QTestTableD2Ev @ 80 NONAME + _ZN11QTestResult10addFailureEPKcS1_i @ 81 NONAME + _ZN11QTestResult10expectFailEPKcS1_N5QTest12TestFailModeES1_i @ 82 NONAME + _ZN11QTestResult10testFailedEv @ 83 NONAME + _ZN11QTestResult13allDataPassedEv @ 84 NONAME + _ZN11QTestResult13ignoreMessageE9QtMsgTypePKc @ 85 NONAME + _ZN11QTestResult14currentDataTagEv @ 86 NONAME + _ZN11QTestResult15currentTestDataEv @ 87 NONAME + _ZN11QTestResult15skipCurrentTestEv @ 88 NONAME + _ZN11QTestResult17currentTestFailedEv @ 89 NONAME + _ZN11QTestResult18setCurrentTestDataEP9QTestData @ 90 NONAME + _ZN11QTestResult18setSkipCurrentTestEb @ 91 NONAME + _ZN11QTestResult19currentTestFunctionEv @ 92 NONAME + _ZN11QTestResult19currentTestLocationEv @ 93 NONAME + _ZN11QTestResult20currentGlobalDataTagEv @ 94 NONAME + _ZN11QTestResult20setCurrentTestObjectEPKc @ 95 NONAME + _ZN11QTestResult21currentGlobalTestDataEv @ 96 NONAME + _ZN11QTestResult21currentTestObjectNameEv @ 97 NONAME + _ZN11QTestResult22setCurrentTestFunctionEPKc @ 98 NONAME + _ZN11QTestResult22setCurrentTestLocationENS_12TestLocationE @ 99 NONAME + _ZN11QTestResult24setCurrentGlobalTestDataEP9QTestData @ 100 NONAME + _ZN11QTestResult27finishedCurrentTestFunctionEv @ 101 NONAME + _ZN11QTestResult5resetEv @ 102 NONAME + _ZN11QTestResult6verifyEbPKcS1_S1_i @ 103 NONAME + _ZN11QTestResult7addSkipEPKcN5QTest8SkipModeES1_i @ 104 NONAME + _ZN11QTestResult7compareEbPKcPcS2_S1_S1_S1_i @ 105 NONAME + _ZN11QTestResult7compareEbPKcS1_i @ 106 NONAME + _ZN11QTestResult9failCountEv @ 107 NONAME + _ZN11QTestResult9passCountEv @ 108 NONAME + _ZN11QTestResult9skipCountEv @ 109 NONAME + _ZN20QBenchmarkGlobalData14createMeasurerEv @ 110 NONAME + _ZN20QBenchmarkGlobalData26adjustMedianIterationCountEv @ 111 NONAME + _ZN20QBenchmarkGlobalData7currentE @ 112 NONAME DATA 4 + _ZN20QBenchmarkGlobalData7setModeENS_4ModeE @ 113 NONAME + _ZN20QBenchmarkGlobalDataC1Ev @ 114 NONAME + _ZN20QBenchmarkGlobalDataC2Ev @ 115 NONAME + _ZN20QBenchmarkGlobalDataD1Ev @ 116 NONAME + _ZN20QBenchmarkGlobalDataD2Ev @ 117 NONAME + _ZN24QBenchmarkTestMethodData10endDataRunEv @ 118 NONAME + _ZN24QBenchmarkTestMethodData12beginDataRunEv @ 119 NONAME + _ZN24QBenchmarkTestMethodData20adjustIterationCountEi @ 120 NONAME + _ZN24QBenchmarkTestMethodData7currentE @ 121 NONAME DATA 4 + _ZN24QBenchmarkTestMethodData9setResultEfN5QTest16QBenchmarkMetricEb @ 122 NONAME + _ZN24QBenchmarkTestMethodDataC1Ev @ 123 NONAME + _ZN24QBenchmarkTestMethodDataC2Ev @ 124 NONAME + _ZN24QBenchmarkTestMethodDataD1Ev @ 125 NONAME + _ZN24QBenchmarkTestMethodDataD2Ev @ 126 NONAME + _ZN5QTest13testFunctionsE @ 127 NONAME DATA 4 + _ZN5QTest16qtest_qParseArgsEiPPcb @ 128 NONAME + _ZN5QTest23printAvailableFunctionsE @ 129 NONAME DATA 1 + _ZN5QTest8testTagsE @ 130 NONAME DATA 4 + _ZN8QTestLog10setLogModeENS_7LogModeE @ 131 NONAME + _ZN8QTestLog11stopLoggingEv @ 132 NONAME + _ZN8QTestLog12setFlushModeENS_9FlushModeE @ 133 NONAME + _ZN8QTestLog12startLoggingEv @ 134 NONAME + _ZN8QTestLog12verboseLevelEv @ 135 NONAME + _ZN8QTestLog14outputFileNameEv @ 136 NONAME + _ZN8QTestLog14redirectOutputEPKc @ 137 NONAME + _ZN8QTestLog14setMaxWarningsEi @ 138 NONAME + _ZN8QTestLog15setVerboseLevelEi @ 139 NONAME + _ZN8QTestLog16addIgnoreMessageE9QtMsgTypePKc @ 140 NONAME + _ZN8QTestLog17enterTestFunctionEPKc @ 141 NONAME + _ZN8QTestLog17leaveTestFunctionEv @ 142 NONAME + _ZN8QTestLog18addBenchmarkResultERK16QBenchmarkResult @ 143 NONAME + _ZN8QTestLog23unhandledIgnoreMessagesEv @ 144 NONAME + _ZN8QTestLog28printUnhandledIgnoreMessagesEv @ 145 NONAME + _ZN8QTestLog4infoEPKcS1_i @ 146 NONAME + _ZN8QTestLog4warnEPKc @ 147 NONAME + _ZN8QTestLog7addFailEPKcS1_i @ 148 NONAME + _ZN8QTestLog7addPassEPKc @ 149 NONAME + _ZN8QTestLog7addSkipEPKcN5QTest8SkipModeES1_i @ 150 NONAME + _ZN8QTestLog7logModeEv @ 151 NONAME + _ZN8QTestLog8addXFailEPKcS1_i @ 152 NONAME + _ZN8QTestLog8addXPassEPKcS1_i @ 153 NONAME + _ZN8QTestLogC1Ev @ 154 NONAME + _ZN8QTestLogC2Ev @ 155 NONAME + _ZN8QTestLogD1Ev @ 156 NONAME + _ZN8QTestLogD2Ev @ 157 NONAME + _ZNK10QTestTable12elementCountEv @ 158 NONAME + _ZNK10QTestTable13elementTypeIdEi @ 159 NONAME + _ZNK10QTestTable7dataTagEi @ 160 NONAME + _ZNK10QTestTable7indexOfEPKc @ 161 NONAME + _ZNK10QTestTable7isEmptyEv @ 162 NONAME + _ZNK10QTestTable8testDataEi @ 163 NONAME + _ZNK10QTestTable9dataCountEv @ 164 NONAME diff --git a/src/tools/uic3/uic3.pro b/src/tools/uic3/uic3.pro index 5ad3c4d..54f7dc8 100644 --- a/src/tools/uic3/uic3.pro +++ b/src/tools/uic3/uic3.pro @@ -1,5 +1,6 @@ TEMPLATE = app CONFIG += console qt_no_compat_warning +win32-msvc*:CONFIG += no_batch # otherwise the wrong main.cpp may be picked up CONFIG -= app_bundle build_all:!build_pass { CONFIG -= build_all diff --git a/src/xmlpatterns/expr/qevaluationcache.cpp b/src/xmlpatterns/expr/qevaluationcache.cpp index 2d1bb56..52f5a46 100644 --- a/src/xmlpatterns/expr/qevaluationcache.cpp +++ b/src/xmlpatterns/expr/qevaluationcache.cpp @@ -47,7 +47,7 @@ template<bool IsForGlobal> EvaluationCache<IsForGlobal>::EvaluationCache(const Expression::Ptr &op, - const VariableDeclaration::Ptr &varDecl, + const VariableDeclaration *varDecl, const VariableSlotID aSlot) : SingleContainer(op) , m_declaration(varDecl) , m_varSlot(aSlot) diff --git a/src/xmlpatterns/expr/qevaluationcache_p.h b/src/xmlpatterns/expr/qevaluationcache_p.h index 86aeaf8..6a2504e 100644 --- a/src/xmlpatterns/expr/qevaluationcache_p.h +++ b/src/xmlpatterns/expr/qevaluationcache_p.h @@ -97,7 +97,7 @@ namespace QPatternist { public: EvaluationCache(const Expression::Ptr &operand, - const VariableDeclaration::Ptr &varDecl, + const VariableDeclaration *varDecl, const VariableSlotID slot); virtual Item evaluateSingleton(const DynamicContext::Ptr &context) const; @@ -124,7 +124,7 @@ namespace QPatternist private: static DynamicContext::Ptr topFocusContext(const DynamicContext::Ptr &context); - const VariableDeclaration::Ptr m_declaration; + const VariableDeclaration *m_declaration; /** * This variable must not be called m_slot. If it so, a compiler bug on * HP-UX-aCC-64 is triggered in the constructor initializor. See the diff --git a/src/xmlpatterns/expr/qexpressionvariablereference.cpp b/src/xmlpatterns/expr/qexpressionvariablereference.cpp index 3b9ecb1..fda87b5 100644 --- a/src/xmlpatterns/expr/qexpressionvariablereference.cpp +++ b/src/xmlpatterns/expr/qexpressionvariablereference.cpp @@ -47,7 +47,7 @@ QT_BEGIN_NAMESPACE using namespace QPatternist; ExpressionVariableReference::ExpressionVariableReference(const VariableSlotID slotP, - const VariableDeclaration::Ptr &varDecl) : VariableReference(slotP) + const VariableDeclaration *varDecl) : VariableReference(slotP) , m_varDecl(varDecl) { } diff --git a/src/xmlpatterns/expr/qexpressionvariablereference_p.h b/src/xmlpatterns/expr/qexpressionvariablereference_p.h index 40c835e..641be63 100644 --- a/src/xmlpatterns/expr/qexpressionvariablereference_p.h +++ b/src/xmlpatterns/expr/qexpressionvariablereference_p.h @@ -77,7 +77,7 @@ namespace QPatternist { public: ExpressionVariableReference(const VariableSlotID slot, - const VariableDeclaration::Ptr &varDecl); + const VariableDeclaration *varDecl); virtual bool evaluateEBV(const DynamicContext::Ptr &context) const; virtual Item evaluateSingleton(const DynamicContext::Ptr &context) const; @@ -90,9 +90,9 @@ namespace QPatternist virtual ExpressionVisitorResult::Ptr accept(const ExpressionVisitor::Ptr &visitor) const; inline const Expression::Ptr &sourceExpression() const; - inline const VariableDeclaration::Ptr &variableDeclaration() const; + inline const VariableDeclaration *variableDeclaration() const; private: - const VariableDeclaration::Ptr m_varDecl; + const VariableDeclaration *m_varDecl; }; inline const Expression::Ptr &ExpressionVariableReference::sourceExpression() const @@ -100,7 +100,7 @@ namespace QPatternist return m_varDecl->expression(); } - inline const VariableDeclaration::Ptr &ExpressionVariableReference::variableDeclaration() const + inline const VariableDeclaration *ExpressionVariableReference::variableDeclaration() const { return m_varDecl; } diff --git a/src/xmlpatterns/expr/qtemplateparameterreference.cpp b/src/xmlpatterns/expr/qtemplateparameterreference.cpp index 550e39f..15d65f9 100644 --- a/src/xmlpatterns/expr/qtemplateparameterreference.cpp +++ b/src/xmlpatterns/expr/qtemplateparameterreference.cpp @@ -47,7 +47,7 @@ QT_BEGIN_NAMESPACE using namespace QPatternist; -TemplateParameterReference::TemplateParameterReference(const VariableDeclaration::Ptr &varDecl) : m_varDecl(varDecl) +TemplateParameterReference::TemplateParameterReference(const VariableDeclaration *varDecl) : m_varDecl(varDecl) { } diff --git a/src/xmlpatterns/expr/qtemplateparameterreference_p.h b/src/xmlpatterns/expr/qtemplateparameterreference_p.h index 7eb9562..8fe1aa9 100644 --- a/src/xmlpatterns/expr/qtemplateparameterreference_p.h +++ b/src/xmlpatterns/expr/qtemplateparameterreference_p.h @@ -70,7 +70,7 @@ namespace QPatternist class TemplateParameterReference : public EmptyContainer { public: - TemplateParameterReference(const VariableDeclaration::Ptr &varDecl); + TemplateParameterReference(const VariableDeclaration *varDecl); virtual bool evaluateEBV(const DynamicContext::Ptr &context) const; virtual Item evaluateSingleton(const DynamicContext::Ptr &context) const; @@ -81,10 +81,10 @@ namespace QPatternist virtual Properties properties() const; inline const Expression::Ptr &sourceExpression() const; - inline const VariableDeclaration::Ptr &variableDeclaration() const; + inline const VariableDeclaration *variableDeclaration() const; private: - const VariableDeclaration::Ptr m_varDecl; + const VariableDeclaration *m_varDecl; }; inline const Expression::Ptr &TemplateParameterReference::sourceExpression() const @@ -92,7 +92,7 @@ namespace QPatternist return m_varDecl->expression(); } - inline const VariableDeclaration::Ptr &TemplateParameterReference::variableDeclaration() const + inline const VariableDeclaration *TemplateParameterReference::variableDeclaration() const { return m_varDecl; } diff --git a/src/xmlpatterns/expr/quserfunctioncallsite.cpp b/src/xmlpatterns/expr/quserfunctioncallsite.cpp index 4e81484..65bbeab 100644 --- a/src/xmlpatterns/expr/quserfunctioncallsite.cpp +++ b/src/xmlpatterns/expr/quserfunctioncallsite.cpp @@ -227,7 +227,7 @@ void UserFunctionCallsite::setSource(const UserFunction::Ptr &userFunction, /* Note that we pass in cacheSlotOffset + i here instead of varDecls.at(i)->slot since * we want independent caches for each callsite. */ m_operands[i] = Expression::Ptr(new EvaluationCache<false>(m_operands.at(i), - varDecls.at(i), + varDecls.at(i).data(), cacheSlotOffset + i)); } } diff --git a/src/xmlpatterns/parser/qquerytransformparser.cpp b/src/xmlpatterns/parser/qquerytransformparser.cpp index 4858e11..f937904 100644 --- a/src/xmlpatterns/parser/qquerytransformparser.cpp +++ b/src/xmlpatterns/parser/qquerytransformparser.cpp @@ -988,9 +988,9 @@ static Expression::Ptr pushVariable(const QXmlName name, * In some cases the EvaluationCache instance isn't necessary, but in those cases EvaluationCache * optimizes itself away. */ if(type == VariableDeclaration::ExpressionVariable) - checked = create(new EvaluationCache<false>(checked, var, parseInfo->allocateCacheSlot()), sourceLocator, parseInfo); + checked = create(new EvaluationCache<false>(checked, var.data(), parseInfo->allocateCacheSlot()), sourceLocator, parseInfo); else if(type == VariableDeclaration::GlobalVariable) - checked = create(new EvaluationCache<true>(checked, var, parseInfo->allocateCacheSlot()), sourceLocator, parseInfo); + checked = create(new EvaluationCache<true>(checked, var.data(), parseInfo->allocateCacheSlot()), sourceLocator, parseInfo); var->setExpression(checked); @@ -1042,7 +1042,7 @@ static Expression::Ptr resolveVariable(const QXmlName &name, * mechanism must. */ case VariableDeclaration::ExpressionVariable: { - retval = create(new ExpressionVariableReference(var->slot, var), sourceLocator, parseInfo); + retval = create(new ExpressionVariableReference(var->slot, var.data()), sourceLocator, parseInfo); break; } case VariableDeclaration::FunctionArgument: @@ -1057,7 +1057,7 @@ static Expression::Ptr resolveVariable(const QXmlName &name, } case VariableDeclaration::TemplateParameter: { - retval = create(new TemplateParameterReference(var), sourceLocator, parseInfo); + retval = create(new TemplateParameterReference(var.data()), sourceLocator, parseInfo); break; } case VariableDeclaration::ExternalVariable: diff --git a/tests/auto/declarative/qdeclarativelistview/tst_qdeclarativelistview.cpp b/tests/auto/declarative/qdeclarativelistview/tst_qdeclarativelistview.cpp index 8b90030..23ac523 100644 --- a/tests/auto/declarative/qdeclarativelistview/tst_qdeclarativelistview.cpp +++ b/tests/auto/declarative/qdeclarativelistview/tst_qdeclarativelistview.cpp @@ -714,6 +714,16 @@ void tst_QDeclarativeListView::removed(bool animated) QTRY_VERIFY(name = findItem<QDeclarativeText>(contentItem, "textName", model.count()-1)); QCOMPARE(name->text(), QString("New")); + // Add some more items so that we don't run out + for (int i = 50; i < 100; i++) + model.addItem("Item" + QString::number(i), ""); + + // QTBUG-19198 move to end and remove all visible items one at a time. + listview->positionViewAtEnd(); + for (int i = 0; i < 18; ++i) + model.removeItems(model.count() - 1, 1); + QTRY_VERIFY(findItems<QDeclarativeItem>(contentItem, "wrapper").count() > 16); + delete canvas; } diff --git a/tests/auto/declarative/qdeclarativemousearea/data/preventContextMenu.qml b/tests/auto/declarative/qdeclarativemousearea/data/preventContextMenu.qml new file mode 100644 index 0000000..dcbb5d7 --- /dev/null +++ b/tests/auto/declarative/qdeclarativemousearea/data/preventContextMenu.qml @@ -0,0 +1,22 @@ +import QtQuick 1.1 +import Test 1.0 + +Item { + width: 200 + height: 200 + + property alias mouseAreaEnabled: mouseArea.enabled + property alias eventsReceived: receiver.eventCount + + ContextMenuEventReceiver { + id: receiver + anchors.fill: parent + } + + MouseArea { + id: mouseArea + anchors.fill: parent + acceptedButtons: Qt.LeftButton | Qt.MiddleButton | Qt.RightButton + enabled: true + } +} diff --git a/tests/auto/declarative/qdeclarativemousearea/tst_qdeclarativemousearea.cpp b/tests/auto/declarative/qdeclarativemousearea/tst_qdeclarativemousearea.cpp index e1c34fc..fea7865 100644 --- a/tests/auto/declarative/qdeclarativemousearea/tst_qdeclarativemousearea.cpp +++ b/tests/auto/declarative/qdeclarativemousearea/tst_qdeclarativemousearea.cpp @@ -47,6 +47,7 @@ #include <QtDeclarative/qdeclarativeview.h> #include <QtDeclarative/qdeclarativecontext.h> #include <QtDeclarative/qdeclarativeengine.h> +#include <QtDeclarative/qdeclarativeproperty.h> #ifdef Q_OS_SYMBIAN // In Symbian OS test data is located in applications private dir @@ -70,6 +71,9 @@ private slots: void preventStealing(); void testQtQuick11Attributes(); void testQtQuick11Attributes_data(); +#ifndef QT_NO_CONTEXTMENU + void preventContextMenu(); +#endif // QT_NO_CONTEXTMENU private: QDeclarativeView *createView(); @@ -637,6 +641,65 @@ void tst_QDeclarativeMouseArea::testQtQuick11Attributes_data() << ":1 \"MouseArea.preventStealing\" is not available in QtQuick 1.0.\n"; } +#ifndef QT_NO_CONTEXTMENU +class ContextMenuEventReceiver : public QDeclarativeItem +{ + Q_OBJECT + Q_PROPERTY(int eventCount READ eventCount NOTIFY eventCountChanged); +public: + ContextMenuEventReceiver(QDeclarativeItem *parent = 0) : QDeclarativeItem(parent), m_eventCount(0) { } + int eventCount() const { return m_eventCount; } +signals: + void eventCountChanged(int); +protected: + void contextMenuEvent(QGraphicsSceneContextMenuEvent *event) { + if (event->reason() == QGraphicsSceneContextMenuEvent::Mouse) { + m_eventCount++; + emit eventCountChanged(m_eventCount); + } + } +private: + int m_eventCount; +}; + +void tst_QDeclarativeMouseArea::preventContextMenu() +{ + // A MouseArea accepting Left, Middle and Right buttons should prevent context menu + // events with "Mouse" reason to hit the Item below. + + qmlRegisterType<ContextMenuEventReceiver>("Test", 1, 0, "ContextMenuEventReceiver"); + + QDeclarativeView *view = createView(); + view->setSource(QUrl::fromLocalFile(SRCDIR "/data/preventContextMenu.qml")); + view->show(); + QVERIFY(view->rootObject() != 0); + + QDeclarativeProperty mouseAreaEnabled(view->rootObject(), "mouseAreaEnabled"); + QVERIFY(mouseAreaEnabled.read().toBool()); + + QDeclarativeProperty eventsReceived(view->rootObject(), "eventsReceived"); + QCOMPARE(eventsReceived.read().toInt(), 0); + + QPoint targetPoint = view->mapFromScene(QPoint(80, 80)); + + QContextMenuEvent fakeEvent1(QContextMenuEvent::Mouse, targetPoint); + QApplication::sendEvent(view->viewport(), &fakeEvent1); + QCOMPARE(eventsReceived.read().toInt(), 0); + + mouseAreaEnabled.write(false); + QVERIFY(!mouseAreaEnabled.read().toBool()); + QContextMenuEvent fakeEvent2(QContextMenuEvent::Mouse, targetPoint); + QApplication::sendEvent(view->viewport(), &fakeEvent2); + QCOMPARE(eventsReceived.read().toInt(), 1); + + mouseAreaEnabled.write(true); + QVERIFY(mouseAreaEnabled.read().toBool()); + QContextMenuEvent fakeEvent3(QContextMenuEvent::Mouse, targetPoint); + QApplication::sendEvent(view->viewport(), &fakeEvent3); + QCOMPARE(eventsReceived.read().toInt(), 1); +} +#endif // QT_NO_CONTEXTMENU + QTEST_MAIN(tst_QDeclarativeMouseArea) #include "tst_qdeclarativemousearea.moc" diff --git a/tests/auto/declarative/qdeclarativetextedit/data/mouseselection_multiline.qml b/tests/auto/declarative/qdeclarativetextedit/data/mouseselection_multiline.qml new file mode 100644 index 0000000..af23f6d --- /dev/null +++ b/tests/auto/declarative/qdeclarativetextedit/data/mouseselection_multiline.qml @@ -0,0 +1,8 @@ +import QtQuick 1.1 + +TextEdit { + focus: true + text: "0123456789ABCDEFGHIJKLMNOPQRS\nTUVWXYZ" + selectByMouse: true + mouseSelectionMode: TextInput.SelectWords +} diff --git a/tests/auto/declarative/qdeclarativetextedit/tst_qdeclarativetextedit.cpp b/tests/auto/declarative/qdeclarativetextedit/tst_qdeclarativetextedit.cpp index 2fad88d..f8af433 100644 --- a/tests/auto/declarative/qdeclarativetextedit/tst_qdeclarativetextedit.cpp +++ b/tests/auto/declarative/qdeclarativetextedit/tst_qdeclarativetextedit.cpp @@ -119,6 +119,7 @@ private slots: void moveCursorSelectionSequence(); void mouseSelection_data(); void mouseSelection(); + void multilineMouseSelection(); void deferEnableSelectByMouse_data(); void deferEnableSelectByMouse(); void deferDisableSelectByMouse_data(); @@ -1364,6 +1365,41 @@ void tst_qdeclarativetextedit::mouseSelection() delete canvas; } +void tst_qdeclarativetextedit::multilineMouseSelection() +{ + QDeclarativeView *canvas = createView(SRCDIR "/data/mouseselection_multiline.qml"); + + canvas->show(); + QApplication::setActiveWindow(canvas); + QTest::qWaitForWindowShown(canvas); + QTRY_COMPARE(QApplication::activeWindow(), static_cast<QWidget *>(canvas)); + + QVERIFY(canvas->rootObject() != 0); + QDeclarativeTextEdit *textEditObject = qobject_cast<QDeclarativeTextEdit *>(canvas->rootObject()); + QVERIFY(textEditObject != 0); + + // press-and-drag from x1,y1 to x2,y1 + int x1 = 10; + int x2 = textEditObject->width() - 10; + int y1 = textEditObject->height() / 4; + int y2 = textEditObject->height() * 3 / 4; + QTest::mousePress(canvas->viewport(), Qt::LeftButton, 0, canvas->mapFromScene(QPoint(x1,y1))); + QMouseEvent mv1(QEvent::MouseMove, canvas->mapFromScene(QPoint(x2,y1)), Qt::LeftButton, Qt::LeftButton,Qt::NoModifier); + QApplication::sendEvent(canvas->viewport(), &mv1); + QString str1 = textEditObject->selectedText(); + QVERIFY(str1.length() > 3); // don't reallly care *what* was selected (and it's too sensitive to platform) + + // drag-and-release from x2,y1 to x2,y2 + QMouseEvent mv2(QEvent::MouseMove, canvas->mapFromScene(QPoint(x2,y2)), Qt::LeftButton, Qt::LeftButton,Qt::NoModifier); + QApplication::sendEvent(canvas->viewport(), &mv2); + QTest::mouseRelease(canvas->viewport(), Qt::LeftButton, 0, canvas->mapFromScene(QPoint(x2,y2))); + QString str2 = textEditObject->selectedText(); + QVERIFY(str1 != str2); + QVERIFY(str2.length() > 3); + + delete canvas; +} + void tst_qdeclarativetextedit::deferEnableSelectByMouse_data() { QTest::addColumn<QString>("qmlfile"); @@ -1639,6 +1675,26 @@ void tst_qdeclarativetextedit::cursorDelegate() QCOMPARE(textEditObject->cursorRectangle().x(), qRound(delegateObject->x())); QCOMPARE(textEditObject->cursorRectangle().y(), qRound(delegateObject->y())); } + // Clear preedit text; + QInputMethodEvent event; + QApplication::sendEvent(view, &event); + + // Test delegate gets moved on mouse press. + textEditObject->setSelectByMouse(true); + textEditObject->setCursorPosition(0); + qDebug() << textEditObject->boundingRect() << textEditObject->positionToRectangle(5).center() << view->mapFromScene(textEditObject->positionToRectangle(5).center()); + QTest::mouseClick(view->viewport(), Qt::LeftButton, 0, view->mapFromScene(textEditObject->positionToRectangle(5).center())); + QVERIFY(textEditObject->cursorPosition() != 0); + QCOMPARE(textEditObject->cursorRectangle().x(), qRound(delegateObject->x())); + QCOMPARE(textEditObject->cursorRectangle().y(), qRound(delegateObject->y())); + + textEditObject->setReadOnly(true); + textEditObject->setCursorPosition(0); + QTest::mouseClick(view->viewport(), Qt::LeftButton, 0, view->mapFromScene(textEditObject->positionToRectangle(5).center())); + QVERIFY(textEditObject->cursorPosition() != 0); + QCOMPARE(textEditObject->cursorRectangle().x(), qRound(delegateObject->x())); + QCOMPARE(textEditObject->cursorRectangle().y(), qRound(delegateObject->y())); + textEditObject->setCursorPosition(0); QCOMPARE(textEditObject->cursorRectangle().x(), qRound(delegateObject->x())); QCOMPARE(textEditObject->cursorRectangle().y(), qRound(delegateObject->y())); diff --git a/tests/auto/qnetworkconfigurationmanager/tst_qnetworkconfigurationmanager.cpp b/tests/auto/qnetworkconfigurationmanager/tst_qnetworkconfigurationmanager.cpp index c270eb8..8939ffe 100644 --- a/tests/auto/qnetworkconfigurationmanager/tst_qnetworkconfigurationmanager.cpp +++ b/tests/auto/qnetworkconfigurationmanager/tst_qnetworkconfigurationmanager.cpp @@ -357,7 +357,7 @@ void tst_QNetworkConfigurationManager::usedInThread() connect(&thread, SIGNAL(finished()), &QTestEventLoop::instance(), SLOT(exitLoop())); thread.start(); QTestEventLoop::instance().enterLoop(100); //QTRY_VERIFY could take ~90 seconds to time out in the thread - QVERIFY(thread.isFinished()); + QVERIFY(!QTestEventLoop::instance().timeout()); qDebug() << "prescan:" << thread.preScanConfigs.count(); qDebug() << "postscan:" << thread.configs.count(); @@ -368,7 +368,9 @@ void tst_QNetworkConfigurationManager::usedInThread() QTRY_VERIFY(spy.count() == 1); //wait for scan to complete QList<QNetworkConfiguration> configs = manager.allConfigurations(); QCOMPARE(thread.configs, configs); - QCOMPARE(thread.preScanConfigs, preScanConfigs); + //Don't compare pre scan configs, because these may be cached and therefore give different results + //which makes the test unstable. The post scan results should have all configurations every time + //QCOMPARE(thread.preScanConfigs, preScanConfigs); #endif } diff --git a/tools/qdoc3/atom.cpp b/tools/qdoc3/atom.cpp index 2d50e5a..f2a5af9 100644 --- a/tools/qdoc3/atom.cpp +++ b/tools/qdoc3/atom.cpp @@ -184,9 +184,7 @@ static const struct { { "CodeQuoteCommand", Atom::CodeQuoteCommand }, { "DivLeft", Atom::DivLeft }, { "DivRight", Atom::DivRight }, -#ifdef QDOC_QML { "EndQmlText", Atom::EndQmlText }, -#endif { "FootnoteLeft", Atom::FootnoteLeft }, { "FootnoteRight", Atom::FootnoteRight }, { "FormatElse", Atom::FormatElse }, @@ -199,6 +197,8 @@ static const struct { { "Image", Atom::Image }, { "ImageText", Atom::ImageText }, { "InlineImage", Atom::InlineImage }, + { "JavaScript", Atom::JavaScript }, + { "EndJavaScript", Atom::EndJavaScript }, { "LegaleseLeft", Atom::LegaleseLeft }, { "LegaleseRight", Atom::LegaleseRight }, { "LineBreak", Atom::LineBreak }, @@ -214,10 +214,8 @@ static const struct { { "Nop", Atom::Nop }, { "ParaLeft", Atom::ParaLeft }, { "ParaRight", Atom::ParaRight }, -#ifdef QDOC_QML { "Qml", Atom::Qml}, { "QmlText", Atom::QmlText }, -#endif { "QuotationLeft", Atom::QuotationLeft }, { "QuotationRight", Atom::QuotationRight }, { "RawString", Atom::RawString }, diff --git a/tools/qdoc3/atom.h b/tools/qdoc3/atom.h index dbb1a8b..f7d1950 100644 --- a/tools/qdoc3/atom.h +++ b/tools/qdoc3/atom.h @@ -56,7 +56,7 @@ class Atom { public: enum Type { - AbstractLeft, // 00 + AbstractLeft, AbstractRight, AnnotatedList, AutoLink, @@ -66,19 +66,17 @@ class Atom C, CaptionLeft, CaptionRight, - Code, // 10 + Code, CodeBad, CodeNew, CodeOld, CodeQuoteArgument, CodeQuoteCommand, - DivLeft, // 16 - DivRight, // 17 -#ifdef QDOC_QML + DivLeft, + DivRight, EndQmlText, -#endif FootnoteLeft, - FootnoteRight, // 20 + FootnoteRight, FormatElse, FormatEndif, FormatIf, @@ -88,11 +86,9 @@ class Atom GuidLink, Image, ImageText, - InlineImage, // 30 -#ifdef QDOC_QML + InlineImage, JavaScript, EndJavaScript, -#endif LegaleseLeft, LegaleseRight, LineBreak, @@ -100,7 +96,7 @@ class Atom LinkNode, ListLeft, ListItemNumber, - ListTagLeft, // 40 + ListTagLeft, ListTagRight, ListItemLeft, ListItemRight, @@ -108,11 +104,9 @@ class Atom Nop, ParaLeft, ParaRight, -#ifdef QDOC_QML Qml, QmlText, -#endif - QuotationLeft, // 50 + QuotationLeft, QuotationRight, RawString, SectionLeft, @@ -122,7 +116,7 @@ class Atom SidebarLeft, SidebarRight, SinceList, - SnippetCommand, // 60 + SnippetCommand, SnippetIdentifier, SnippetLocation, String, @@ -132,7 +126,7 @@ class Atom TableHeaderRight, TableRowLeft, TableRowRight, - TableItemLeft, // 70 + TableItemLeft, TableItemRight, TableOfContents, Target, diff --git a/tools/qdoc3/config.cpp b/tools/qdoc3/config.cpp index eaec327..1ff2a0d 100644 --- a/tools/qdoc3/config.cpp +++ b/tools/qdoc3/config.cpp @@ -696,6 +696,7 @@ void Config::load(Location location, const QString& fileName) } while (isMetaKeyChar(c)); QStringList keys = stack.getExpanded(location); + //qDebug() << "KEYS:" << keys; SKIP_SPACES(); if (keys.count() == 1 && keys.first() == "include") { diff --git a/tools/qdoc3/ditaxmlgenerator.cpp b/tools/qdoc3/ditaxmlgenerator.cpp index 5f44cd8..342bb90 100644 --- a/tools/qdoc3/ditaxmlgenerator.cpp +++ b/tools/qdoc3/ditaxmlgenerator.cpp @@ -801,15 +801,18 @@ int DitaXmlGenerator::generateAtom(const Atom *atom, break; case Atom::DivLeft: { + bool inStartElement = false; attr = atom->string(); DitaTag t = currentTag(); if ((t == DT_section) || (t == DT_sectiondiv)) { writeStartTag(DT_sectiondiv); divNestingLevel++; + inStartElement = true; } else if ((t == DT_body) || (t == DT_bodydiv)) { writeStartTag(DT_bodydiv); divNestingLevel++; + inStartElement = true; } if (!attr.isEmpty()) { if (attr.contains('=')) { @@ -833,7 +836,8 @@ int DitaXmlGenerator::generateAtom(const Atom *atom, attr = values; } } - xmlWriter().writeAttribute("outputclass", attr); + if (inStartElement) + xmlWriter().writeAttribute("outputclass", attr); } break; case Atom::DivRight: @@ -1253,9 +1257,6 @@ int DitaXmlGenerator::generateAtom(const Atom *atom, break; case Atom::GuidLink: { -#if 0 - qDebug() << "GUID LINK:" << atom->string() << outFileName(); -#endif beginLink(atom->string()); skipAhead = 1; } @@ -1484,7 +1485,7 @@ int DitaXmlGenerator::generateAtom(const Atom *atom, generateLink(atom, relative, marker); } else { - writeCharacters(protectEnc(atom->string())); + writeCharacters(atom->string()); } break; case Atom::TableLeft: @@ -1637,7 +1638,7 @@ int DitaXmlGenerator::generateAtom(const Atom *atom, int numColumns = 1; const Node* node = relative; - Doc::SectioningUnit sectioningUnit = Doc::Section4; + Doc::Sections sectionUnit = Doc::Section4; QStringList params = atom->string().split(","); QString columnText = params.at(0); QStringList pieces = columnText.split(" ", QString::SkipEmptyParts); @@ -1650,13 +1651,13 @@ int DitaXmlGenerator::generateAtom(const Atom *atom, if (params.size() == 2) { numColumns = qMax(columnText.toInt(), numColumns); - sectioningUnit = (Doc::SectioningUnit)params.at(1).toInt(); + sectionUnit = (Doc::Sections)params.at(1).toInt(); } if (node) generateTableOfContents(node, marker, - sectioningUnit, + sectionUnit, numColumns, relative); } @@ -1743,6 +1744,7 @@ DitaXmlGenerator::generateClassLikeNode(const InnerNode* inner, CodeMarker* mark enterSection("h2","Detailed Description"); generateBody(nsn, marker); + generateAlsoList(nsn, marker); leaveSection(); leaveSection(); // </apiDesc> @@ -1877,6 +1879,7 @@ DitaXmlGenerator::generateClassLikeNode(const InnerNode* inner, CodeMarker* mark generateSince(cn, marker); enterSection("h2","Detailed Description"); generateBody(cn, marker); + generateAlsoList(cn, marker); leaveSection(); leaveSection(); // </apiDesc> @@ -1995,6 +1998,7 @@ DitaXmlGenerator::generateClassLikeNode(const InnerNode* inner, CodeMarker* mark generateSince(fn, marker); enterSection("h2","Detailed Description"); generateBody(fn, marker); + generateAlsoList(fn, marker); leaveSection(); leaveSection(); // </apiDesc> @@ -2115,6 +2119,7 @@ DitaXmlGenerator::generateClassLikeNode(const InnerNode* inner, CodeMarker* mark generateBody(qcn, marker); if (cn) generateQmlText(cn->doc().body(), cn, marker, qcn->name()); + generateAlsoList(cn, marker); leaveSection(); leaveSection(); // </apiDesc> @@ -2458,7 +2463,7 @@ void DitaXmlGenerator::generateIncludes(const InnerNode* inner, CodeMarker* mark */ void DitaXmlGenerator::generateTableOfContents(const Node* node, CodeMarker* marker, - Doc::SectioningUnit sectioningUnit, + Doc::Sections sectionUnit, int numColumns, const Node* relative) @@ -2492,7 +2497,7 @@ void DitaXmlGenerator::generateTableOfContents(const Node* node, Atom *atom = toc.at(i); int nextLevel = atom->string().toInt(); - if (nextLevel > (int)sectioningUnit) + if (nextLevel > (int)sectionUnit) continue; if (sectionNumber.size() < nextLevel) { @@ -3636,10 +3641,6 @@ QString DitaXmlGenerator::registerRef(const QString& ref) } else if (prevRef == ref) break; -#if 0 - else - qDebug() << "PREVREF:" << prevRef; -#endif clean += "x"; } return clean; @@ -3653,7 +3654,7 @@ QString DitaXmlGenerator::protectEnc(const QString& string) return protect(string, outputEncoding); } -QString DitaXmlGenerator::protect(const QString& string, const QString& outputEncoding) +QString DitaXmlGenerator::protect(const QString& string, const QString& ) //outputEncoding) { #define APPEND(x) \ if (xml.isEmpty()) { \ @@ -3680,6 +3681,7 @@ QString DitaXmlGenerator::protect(const QString& string, const QString& outputEn else if (ch == QLatin1Char('"')) { APPEND("""); } +#if 0 else if ((outputEncoding == "ISO-8859-1" && ch.unicode() > 0x007F) || (ch == QLatin1Char('*') && i + 1 < n && string.at(i) == QLatin1Char('/')) || (ch == QLatin1Char('.') && i > 2 && string.at(i - 2) == QLatin1Char('.'))) { @@ -3688,6 +3690,7 @@ QString DitaXmlGenerator::protect(const QString& string, const QString& outputEn xml += QString::number(ch.unicode(), 16); xml += QLatin1Char(';'); } +#endif else { if (!xml.isEmpty()) xml += ch; @@ -3808,7 +3811,6 @@ QString DitaXmlGenerator::guidForNode(const Node* node) QString ref = fn->name(); if (fn->overloadNumber() != 1) { ref += "-" + QString::number(fn->overloadNumber()); - //qDebug() << "guidForNode() overloaded function:" << outFileName() << ref; } } return fn->guid(); @@ -5482,6 +5484,7 @@ void DitaXmlGenerator::writeApiDesc(const Node* node, inDetailedDescription = true; enterApiDesc(QString(),title); generateBody(node, marker); + generateAlsoList(node, marker); leaveSection(); } inDetailedDescription = false; diff --git a/tools/qdoc3/ditaxmlgenerator.h b/tools/qdoc3/ditaxmlgenerator.h index 0044eff..7d73653 100644 --- a/tools/qdoc3/ditaxmlgenerator.h +++ b/tools/qdoc3/ditaxmlgenerator.h @@ -343,7 +343,7 @@ class DitaXmlGenerator : public PageGenerator void generateIncludes(const InnerNode* inner, CodeMarker* marker); void generateTableOfContents(const Node* node, CodeMarker* marker, - Doc::SectioningUnit sectioningUnit, + Doc::Sections sectioningUnit, int numColumns, const Node* relative = 0); void generateTableOfContents(const Node* node, diff --git a/tools/qdoc3/doc.cpp b/tools/qdoc3/doc.cpp index 2239f43..a7d331e 100644 --- a/tools/qdoc3/doc.cpp +++ b/tools/qdoc3/doc.cpp @@ -74,32 +74,105 @@ struct Macro }; enum { - CMD_A, CMD_ABSTRACT, CMD_ANNOTATEDLIST, CMD_BADCODE, - CMD_BASENAME, CMD_BOLD, CMD_BRIEF, CMD_C, CMD_CAPTION, - CMD_CHAPTER, CMD_CODE, CMD_CODELINE, CMD_DIV, CMD_DOTS, - CMD_ELSE, CMD_ENDABSTRACT, CMD_ENDCHAPTER, CMD_ENDCODE, - CMD_ENDDIV, CMD_ENDFOOTNOTE, CMD_ENDIF, CMD_ENDLEGALESE, - CMD_ENDLINK, CMD_ENDLIST, CMD_ENDOMIT, CMD_ENDPART, - CMD_ENDQUOTATION, CMD_ENDRAW, CMD_ENDSECTION1, CMD_ENDSECTION2, - CMD_ENDSECTION3, CMD_ENDSECTION4, CMD_ENDSIDEBAR, - CMD_ENDTABLE, CMD_EXPIRE, CMD_FOOTNOTE, CMD_GENERATELIST, - CMD_GRANULARITY, CMD_HEADER, CMD_I, CMD_IF, CMD_IMAGE, - CMD_INCLUDE, CMD_INLINEIMAGE, CMD_INDEX, CMD_KEYWORD, - CMD_L, CMD_LEGALESE, CMD_LINK, CMD_LIST, CMD_META, - CMD_NEWCODE, CMD_O, CMD_OLDCODE, CMD_OMIT, CMD_OMITVALUE, - CMD_OVERLOAD, CMD_PART, CMD_PRINTLINE, CMD_PRINTTO, - CMD_PRINTUNTIL, CMD_QUOTATION, CMD_QUOTEFILE, - CMD_QUOTEFROMFILE, CMD_QUOTEFUNCTION, CMD_RAW, CMD_ROW, - CMD_SA, CMD_SECTION1, CMD_SECTION2, CMD_SECTION3, - CMD_SECTION4, CMD_SIDEBAR, CMD_SINCELIST, CMD_SKIPLINE, - CMD_SKIPTO, CMD_SKIPUNTIL, CMD_SNIPPET, CMD_SPAN, CMD_SUB, - CMD_SUP, CMD_TABLE, CMD_TABLEOFCONTENTS, CMD_TARGET, CMD_TT, - CMD_UNDERLINE, CMD_UNICODE, CMD_VALUE, CMD_WARNING, -#ifdef QDOC_QML - CMD_QML, CMD_ENDQML, CMD_CPP, CMD_ENDCPP, CMD_QMLTEXT, - CMD_ENDQMLTEXT, CMD_CPPTEXT, CMD_ENDCPPTEXT, - CMD_JS, CMD_ENDJS, -#endif + CMD_A, + CMD_ABSTRACT, + CMD_ANNOTATEDLIST, + CMD_BADCODE, + CMD_BASENAME, + CMD_BOLD, + CMD_BRIEF, + CMD_C, + CMD_CAPTION, + CMD_CHAPTER, // 9 + CMD_CODE, + CMD_CODELINE, + CMD_DIV, + CMD_DOTS, + CMD_ELSE, + CMD_ENDABSTRACT, + CMD_ENDCHAPTER, + CMD_ENDCODE, + CMD_ENDDIV, + CMD_ENDFOOTNOTE, + CMD_ENDIF, + CMD_ENDLEGALESE, + CMD_ENDLINK, + CMD_ENDLIST, + CMD_ENDOMIT, + CMD_ENDPART, + CMD_ENDQUOTATION, + CMD_ENDRAW, + CMD_ENDSECTION1, + CMD_ENDSECTION2, + CMD_ENDSECTION3, + CMD_ENDSECTION4, + CMD_ENDSIDEBAR, + CMD_ENDTABLE, + CMD_EXPIRE, + CMD_FOOTNOTE, + CMD_GENERATELIST, + CMD_GRANULARITY, + CMD_HEADER, + CMD_I, + CMD_IF, + CMD_IMAGE, + CMD_INCLUDE, + CMD_INLINEIMAGE, + CMD_INDEX, + CMD_KEYWORD, + CMD_L, + CMD_LEGALESE, + CMD_LINK, + CMD_LIST, + CMD_META, + CMD_NEWCODE, + CMD_O, + CMD_OLDCODE, + CMD_OMIT, + CMD_OMITVALUE, + CMD_OVERLOAD, + CMD_PART, + CMD_PRINTLINE, + CMD_PRINTTO, + CMD_PRINTUNTIL, + CMD_QUOTATION, + CMD_QUOTEFILE, + CMD_QUOTEFROMFILE, + CMD_QUOTEFUNCTION, + CMD_RAW, + CMD_ROW, + CMD_SA, + CMD_SECTION1, // 68 + CMD_SECTION2, // 69 + CMD_SECTION3, // 70 + CMD_SECTION4, // 71 + CMD_SIDEBAR, + CMD_SINCELIST, + CMD_SKIPLINE, + CMD_SKIPTO, + CMD_SKIPUNTIL, + CMD_SNIPPET, + CMD_SPAN, + CMD_SUB, + CMD_SUP, + CMD_TABLE, + CMD_TABLEOFCONTENTS, + CMD_TARGET, + CMD_TT, + CMD_UNDERLINE, + CMD_UNICODE, + CMD_VALUE, + CMD_WARNING, + CMD_QML, + CMD_ENDQML, + CMD_CPP, + CMD_ENDCPP, + CMD_QMLTEXT, + CMD_ENDQMLTEXT, + CMD_CPPTEXT, + CMD_ENDCPPTEXT, + CMD_JS, + CMD_ENDJS, NOT_A_CMD }; @@ -197,7 +270,6 @@ static struct { { "unicode", CMD_UNICODE, 0 }, { "value", CMD_VALUE, 0 }, { "warning", CMD_WARNING, 0 }, -#ifdef QDOC_QML { "qml", CMD_QML, 0 }, { "endqml", CMD_ENDQML, 0 }, { "cpp", CMD_CPP, 0 }, @@ -208,7 +280,6 @@ static struct { { "endcpptext", CMD_ENDCPPTEXT, 0 }, { "js", CMD_JS, 0 }, { "endjs", CMD_ENDJS, 0 }, -#endif { 0, 0, 0 } }; @@ -223,13 +294,13 @@ class DocPrivateExtra { public: QString baseName; - Doc::SectioningUnit granularity; - Doc::SectioningUnit sectioningUnit; // ### + Doc::Sections granularity; + Doc::Sections section; // ### QList<Atom*> tableOfContents; QList<int> tableOfContentsLevels; QList<Atom*> keywords; QList<Atom*> targets; - QStringMultiMap metaMap; + QStringMultiMap metaMap; DocPrivateExtra() : granularity(Doc::Part) { } @@ -365,7 +436,7 @@ class DocParser void startFormat(const QString& format, int cmd); bool openCommand(int cmd); bool closeCommand(int endCmd); - void startSection(Doc::SectioningUnit unit, int cmd); + void startSection(Doc::Sections unit, int cmd); void endSection(int unit, int endCmd); void parseAlso(); void append(Atom::Type type, const QString& string = ""); @@ -385,7 +456,7 @@ class DocParser CodeMarker *quoteFromFile(); void expandMacro(const QString& name, const QString& def, int numParams); QString expandMacroToString(const QString &name, const QString &def, int numParams); - Doc::SectioningUnit getSectioningUnit(); + Doc::Sections getSectioningUnit(); QString getArgument(bool verbatim = false); QString getOptionalArgument(); QString getRestOfLine(); @@ -426,7 +497,7 @@ class DocParser int braceDepth; int minIndent; - Doc::SectioningUnit currentSectioningUnit; + Doc::Sections currentSection; QMap<QString, Location> targetMap; QMap<int, QString> pendingFormats; QStack<int> openedCommands; @@ -472,7 +543,7 @@ void DocParser::parse(const QString& source, braceDepth = 0; minIndent = INT_MAX; - currentSectioningUnit = Doc::Book; + currentSection = Doc::NoSection; openedCommands.push(CMD_OMIT); quoter.reset(); @@ -561,7 +632,6 @@ void DocParser::parse(const QString& source, leavePara(); append(Atom::Code, getCode(CMD_CODE, 0)); break; -#ifdef QDOC_QML case CMD_QML: leavePara(); append(Atom::Qml, getCode(CMD_QML, CodeMarker::markerForLanguage(QLatin1String("QML")))); @@ -573,7 +643,6 @@ void DocParser::parse(const QString& source, leavePara(); append(Atom::JavaScript, getCode(CMD_JS, CodeMarker::markerForLanguage(QLatin1String("JavaScript")))); break; -#endif case CMD_DIV: leavePara(); p1 = getArgument(true); @@ -652,7 +721,6 @@ void DocParser::parse(const QString& source, case CMD_ENDCODE: closeCommand(cmd); break; -#ifdef QDOC_QML case CMD_ENDQML: closeCommand(cmd); break; @@ -662,7 +730,6 @@ void DocParser::parse(const QString& source, case CMD_ENDJS: closeCommand(cmd); break; -#endif case CMD_ENDFOOTNOTE: if (closeCommand(cmd)) { leavePara(); @@ -712,7 +779,7 @@ void DocParser::parse(const QString& source, closeCommand(cmd); break; case CMD_ENDPART: - endSection(-1, cmd); + endSection(Doc::Part, cmd); break; case CMD_ENDQUOTATION: if (closeCommand(cmd)) { @@ -724,16 +791,16 @@ void DocParser::parse(const QString& source, location().warning(tr("Unexpected '\\%1'").arg(cmdName(CMD_ENDRAW))); break; case CMD_ENDSECTION1: - endSection(1, cmd); + endSection(Doc::Section1, cmd); break; case CMD_ENDSECTION2: - endSection(2, cmd); + endSection(Doc::Section2, cmd); break; case CMD_ENDSECTION3: - endSection(3, cmd); + endSection(Doc::Section3, cmd); break; case CMD_ENDSECTION4: - endSection(4, cmd); + endSection(Doc::Section4, cmd); break; case CMD_ENDSIDEBAR: if (closeCommand(cmd)) { @@ -1463,14 +1530,13 @@ void DocParser::parse(const QString& source, location().warning(tr("Missing '\\%1'").arg(cmdName(CMD_ENDIF))); } - while (currentSectioningUnit >= Doc::Chapter) { - int delta = currentSectioningUnit - priv->extra->sectioningUnit; - append(Atom::SectionRight, QString::number(delta)); - currentSectioningUnit = Doc::SectioningUnit(int(currentSectioningUnit) - 1); + if (currentSection > Doc::NoSection) { + append(Atom::SectionRight, QString::number(currentSection)); + currentSection = Doc::NoSection; } - if (priv->extra && priv->extra->granularity < priv->extra->sectioningUnit) - priv->extra->granularity = priv->extra->sectioningUnit; + if (priv->extra && priv->extra->granularity < priv->extra->section) + priv->extra->granularity = priv->extra->section; priv->text.stripFirstAtom(); } @@ -1546,14 +1612,14 @@ void DocParser::checkExpiry(const QString& date) void DocParser::insertBaseName(const QString &baseName) { priv->constructExtra(); - if (currentSectioningUnit == priv->extra->sectioningUnit) { + if (currentSection == priv->extra->section) { priv->extra->baseName = baseName; } else { Atom *atom = priv->text.firstAtom(); Atom *sectionLeft = 0; - int delta = currentSectioningUnit - priv->extra->sectioningUnit; + int delta = currentSection - priv->extra->section; while (atom != 0) { if (atom->type() == Atom::SectionLeft && @@ -1772,60 +1838,34 @@ bool DocParser::closeCommand(int endCmd) } } -void DocParser::startSection(Doc::SectioningUnit unit, int cmd) +void DocParser::startSection(Doc::Sections unit, int cmd) { leaveValueList(); - if (currentSectioningUnit == Doc::Book) { - currentSectioningUnit = (Doc::SectioningUnit) (unit - 1); + if (currentSection == Doc::NoSection) { + currentSection = (Doc::Sections) (unit); priv->constructExtra(); - priv->extra->sectioningUnit = currentSectioningUnit; + priv->extra->section = currentSection; } + else + endSection(unit,cmd); - if (unit <= priv->extra->sectioningUnit) { - location().warning(tr("Unexpected '\\%1' in this documentation") - .arg(cmdName(cmd))); - } - else if (unit - currentSectioningUnit > 1) { - location().warning(tr("Unexpected '\\%1' at this point") - .arg(cmdName(cmd))); - } - else { - if (currentSectioningUnit >= unit) - endSection(unit, cmd); + append(Atom::SectionLeft, QString::number(unit)); + priv->constructExtra(); + priv->extra->tableOfContents.append(priv->text.lastAtom()); + priv->extra->tableOfContentsLevels.append(unit); + enterPara(Atom::SectionHeadingLeft, + Atom::SectionHeadingRight, + QString::number(unit)); + currentSection = unit; - int delta = unit - priv->extra->sectioningUnit; - append(Atom::SectionLeft, QString::number(delta)); - priv->constructExtra(); - priv->extra->tableOfContents.append(priv->text.lastAtom()); - priv->extra->tableOfContentsLevels.append(unit); - enterPara(Atom::SectionHeadingLeft, - Atom::SectionHeadingRight, - QString::number(delta)); - currentSectioningUnit = unit; - } } void DocParser::endSection(int unit, int endCmd) { leavePara(); - - if (unit < priv->extra->sectioningUnit) { - location().warning(tr("Unexpected '\\%1' in this documentation") - .arg(cmdName(endCmd))); - } - else if (unit > currentSectioningUnit) { - location().warning(tr("Unexpected '\\%1' at this point") - .arg(cmdName(endCmd))); - } - else { - while (currentSectioningUnit >= unit) { - int delta = currentSectioningUnit - priv->extra->sectioningUnit; - append(Atom::SectionRight, QString::number(delta)); - currentSectioningUnit = - (Doc::SectioningUnit) (currentSectioningUnit - 1); - } - } + append(Atom::SectionRight, QString::number(currentSection)); + currentSection = (Doc::NoSection); } void DocParser::parseAlso() @@ -2141,7 +2181,7 @@ QString DocParser::expandMacroToString(const QString &name, const QString &def, } } -Doc::SectioningUnit DocParser::getSectioningUnit() +Doc::Sections DocParser::getSectioningUnit() { QString name = getOptionalArgument(); @@ -2164,11 +2204,11 @@ Doc::SectioningUnit DocParser::getSectioningUnit() return Doc::Section4; } else if (name.isEmpty()) { - return Doc::Section4; + return Doc::NoSection; } else { - location().warning(tr("Invalid sectioning unit '%1'").arg(name)); - return Doc::Book; + location().warning(tr("Invalid section '%1'").arg(name)); + return Doc::NoSection; } } @@ -2508,14 +2548,12 @@ int DocParser::endCmdFor(int cmd) return CMD_ENDCODE; case CMD_DIV: return CMD_ENDDIV; -#ifdef QDOC_QML case CMD_QML: return CMD_ENDQML; case CMD_QMLTEXT: return CMD_ENDQMLTEXT; case CMD_JS: return CMD_ENDJS; -#endif case CMD_FOOTNOTE: return CMD_ENDFOOTNOTE; case CMD_LEGALESE: @@ -2645,11 +2683,7 @@ QString DocParser::slashed(const QString& str) } #define COMMAND_BRIEF Doc::alias("brief") - -#ifdef QDOC_QML #define COMMAND_QMLBRIEF Doc::alias("qmlbrief") -#endif - Doc::Doc(const Location& start_loc, const Location& end_loc, @@ -2882,7 +2916,7 @@ const QString& Doc::baseName() const } } -Doc::SectioningUnit Doc::granularity() const +Doc::Sections Doc::granularity() const { if (priv == 0 || priv->extra == 0) { return DocPrivateExtra().granularity; @@ -2975,9 +3009,7 @@ void Doc::initialize(const Config& config) DocParser::sourceDirs = config.getStringList(CONFIG_SOURCEDIRS); DocParser::quoting = config.getBool(CONFIG_QUOTINGINFORMATION); -#ifdef QDOC_QML QmlClassNode::qmlOnly = config.getBool(CONFIG_QMLONLY); -#endif QStringMap reverseAliasMap; diff --git a/tools/qdoc3/doc.h b/tools/qdoc3/doc.h index e043b3a..ea34b1b 100644 --- a/tools/qdoc3/doc.h +++ b/tools/qdoc3/doc.h @@ -70,14 +70,14 @@ class Doc { public: // the order is important - enum SectioningUnit { - Book = -2, - Part, - Chapter, - Section1, - Section2, - Section3, - Section4 + enum Sections { + NoSection = -2, + Part = -1, + Chapter = 1, + Section1 = 1, + Section2 = 2, + Section3 = 3, + Section4 = 4 }; Doc() : priv(0) {} @@ -103,7 +103,7 @@ class Doc Text trimmedBriefText(const QString &className) const; Text legaleseText() const; const QString& baseName() const; - SectioningUnit granularity() const; + Sections granularity() const; const QSet<QString> ¶meterNames() const; const QStringList &enumItemNames() const; const QStringList &omitEnumItemNames() const; diff --git a/tools/qdoc3/htmlgenerator.cpp b/tools/qdoc3/htmlgenerator.cpp index a6cf646..1645ec9 100644 --- a/tools/qdoc3/htmlgenerator.cpp +++ b/tools/qdoc3/htmlgenerator.cpp @@ -1792,7 +1792,8 @@ void HtmlGenerator::generateTableOfContents(const Node *node, toc = node->doc().tableOfContents(); if (toc.isEmpty() && !sections && (node->subType() != Node::Module)) return; - + bool debug = false; + QStringList sectionNumber; int detailsBase = 0; diff --git a/tools/qdoc3/qdoc3.pro b/tools/qdoc3/qdoc3.pro index 69d7e28..bb5ff83 100644 --- a/tools/qdoc3/qdoc3.pro +++ b/tools/qdoc3/qdoc3.pro @@ -19,7 +19,7 @@ qdoc_bootstrapped { #CONFIG += debug build_all:!build_pass { CONFIG -= build_all - CONFIG += release + CONFIG += debug-and-release # CONFIG += debug } diff --git a/translations/designer_uk.ts b/translations/designer_uk.ts index dccfb5f..7d1065c 100644 --- a/translations/designer_uk.ts +++ b/translations/designer_uk.ts @@ -4860,21 +4860,21 @@ Please select another name.</source> <name>qdesigner_internal::PreviewDeviceSkin</name> <message> <source>&Portrait</source> - <translation>Книжка</translation> + <translation>&Книжка</translation> </message> <message> <source>Landscape (&CCW)</source> <extracomment>Rotate form preview counter-clockwise</extracomment> - <translation>Альбом (проти ГС)</translation> + <translation>Альбом (проти &ГС)</translation> </message> <message> <source>&Landscape (CW)</source> <extracomment>Rotate form preview clockwise</extracomment> - <translation>Альбом (за ГС)</translation> + <translation>А&льбом (за ГС)</translation> </message> <message> <source>&Close</source> - <translation>Закрити</translation> + <translation>З&акрити</translation> </message> </context> <context> @@ -5833,7 +5833,7 @@ This indicates an inconsistency in the ui-file.</source> <name>qdesigner_internal::ZoomablePreviewDeviceSkin</name> <message> <source>&Zoom</source> - <translation>Масштаб</translation> + <translation>Мас&штаб</translation> </message> </context> </TS> diff --git a/translations/qt_uk.ts b/translations/qt_uk.ts index 52e70a2..c3cfec0 100644 --- a/translations/qt_uk.ts +++ b/translations/qt_uk.ts @@ -1721,10 +1721,6 @@ to <translation>Властивість-псевдонім виходить за межі псевдоніму</translation> </message> <message> - <source>Invalid alias reference. An alias reference must be specified as <id> or <id>.<property></source> - <translation type="obsolete">Неправильне посилання на псевдонім. Посилання на псевдонім має бути вказане, як <id> або <id>.<property></translation> - </message> - <message> <source>Invalid alias reference. Unable to find id "%1"</source> <translation>Неправильне посилання на псевдонім. Неможливо знайти id "%1"</translation> </message> |