summaryrefslogtreecommitdiffstats
path: root/src/plugins
diff options
context:
space:
mode:
Diffstat (limited to 'src/plugins')
-rw-r--r--src/plugins/accessible/widgets/simplewidgets.cpp42
-rw-r--r--src/plugins/accessible/widgets/simplewidgets.h7
-rw-r--r--src/plugins/gfxdrivers/directfb/qdirectfbpaintengine.cpp82
-rw-r--r--src/plugins/graphicssystems/openvg/openvg.pro2
-rw-r--r--src/plugins/phonon/mmf/plugin/plugin.pro13
-rw-r--r--src/plugins/sqldrivers/sqlite_symbian/sqlite_symbian.pro6
6 files changed, 120 insertions, 32 deletions
diff --git a/src/plugins/accessible/widgets/simplewidgets.cpp b/src/plugins/accessible/widgets/simplewidgets.cpp
index aa51759..87d81f0 100644
--- a/src/plugins/accessible/widgets/simplewidgets.cpp
+++ b/src/plugins/accessible/widgets/simplewidgets.cpp
@@ -256,9 +256,9 @@ QString QAccessibleButton::localizedName(int actionIndex)
QStringList QAccessibleButton::keyBindings(int actionIndex)
{
switch (actionIndex) {
-#ifdef QT_NO_SHORTCUT
+#ifndef QT_NO_SHORTCUT
case 0:
- return button()->shortcut().toString();
+ return QStringList() << button()->shortcut().toString();
#endif
default:
return QStringList();
@@ -602,6 +602,44 @@ int QAccessibleDisplay::navigate(RelationFlag rel, int entry, QAccessibleInterfa
return QAccessibleWidgetEx::navigate(rel, entry, target);
}
+/*! \reimp */
+QString QAccessibleDisplay::imageDescription()
+{
+ return widget()->toolTip();
+}
+
+/*! \reimp */
+QSize QAccessibleDisplay::imageSize()
+{
+ QLabel *label = qobject_cast<QLabel *>(widget());
+ if (!label)
+ return QSize();
+ const QPixmap *pixmap = label->pixmap();
+ if (!pixmap)
+ return QSize();
+ return pixmap->size();
+}
+
+/*! \reimp */
+QRect QAccessibleDisplay::imagePosition(QAccessible2::CoordinateType coordType)
+{
+ QLabel *label = qobject_cast<QLabel *>(widget());
+ if (!label)
+ return QRect();
+ const QPixmap *pixmap = label->pixmap();
+ if (!pixmap)
+ return QRect();
+
+ switch (coordType) {
+ case QAccessible2::RelativeToScreen:
+ return QRect(label->mapToGlobal(label->pos()), label->size());
+ case QAccessible2::RelativeToParent:
+ return label->geometry();
+ }
+
+ return QRect();
+}
+
#ifndef QT_NO_LINEEDIT
/*!
\class QAccessibleLineEdit
diff --git a/src/plugins/accessible/widgets/simplewidgets.h b/src/plugins/accessible/widgets/simplewidgets.h
index 0c1cf5e..5182bdd 100644
--- a/src/plugins/accessible/widgets/simplewidgets.h
+++ b/src/plugins/accessible/widgets/simplewidgets.h
@@ -111,7 +111,7 @@ protected:
};
#endif // QT_NO_TOOLBUTTON
-class QAccessibleDisplay : public QAccessibleWidgetEx
+class QAccessibleDisplay : public QAccessibleWidgetEx, public QAccessibleImageInterface
{
Q_ACCESSIBLE_OBJECT
public:
@@ -122,6 +122,11 @@ public:
Relation relationTo(int child, const QAccessibleInterface *other, int otherChild) const;
int navigate(RelationFlag, int entry, QAccessibleInterface **target) const;
+
+ // QAccessibleImageInterface
+ QString imageDescription();
+ QSize imageSize();
+ QRect imagePosition(QAccessible2::CoordinateType coordType);
};
#ifndef QT_NO_LINEEDIT
diff --git a/src/plugins/gfxdrivers/directfb/qdirectfbpaintengine.cpp b/src/plugins/gfxdrivers/directfb/qdirectfbpaintengine.cpp
index dd6b0d3..c86af73 100644
--- a/src/plugins/gfxdrivers/directfb/qdirectfbpaintengine.cpp
+++ b/src/plugins/gfxdrivers/directfb/qdirectfbpaintengine.cpp
@@ -68,9 +68,11 @@ public:
};
enum CompositionModeStatus {
- PorterDuff_None = 0x0,
- PorterDuff_SupportedBlits = 0x1,
- PorterDuff_SupportedPrimitives = 0x2
+ PorterDuff_None = 0x00,
+ PorterDuff_SupportedBlits = 0x01,
+ PorterDuff_SupportedPrimitives = 0x02,
+ PorterDuff_SupportedOpaquePrimitives = 0x04,
+ PorterDuff_Dirty = 0x10
};
enum ClipType {
@@ -95,6 +97,7 @@ public:
inline void unlock();
static inline void unlock(QDirectFBPaintDevice *device);
+ inline bool testCompositionMode(const QPen *pen, const QBrush *brush, const QColor *color = 0) const;
inline bool isSimpleBrush(const QBrush &brush) const;
void drawTiledPixmap(const QRectF &dest, const QPixmap &pixmap, const QPointF &pos);
@@ -404,11 +407,11 @@ void QDirectFBPaintEngine::drawRects(const QRect *rects, int rectCount)
if (brush.style() == Qt::NoBrush && pen.style() == Qt::NoPen)
return;
- if (!(d->compositionModeStatus & QDirectFBPaintEnginePrivate::PorterDuff_SupportedPrimitives)
- || (d->transformationType & QDirectFBPaintEnginePrivate::Matrix_RectsUnsupported)
+ if ((d->transformationType & QDirectFBPaintEnginePrivate::Matrix_RectsUnsupported)
|| !d->simplePen
|| d->clipType == QDirectFBPaintEnginePrivate::ComplexClip
- || !d->isSimpleBrush(brush)) {
+ || !d->isSimpleBrush(brush)
+ || !d->testCompositionMode(&pen, &brush)) {
RASTERFALLBACK(DRAW_RECTS, rectCount, VOID_ARG(), VOID_ARG());
d->lock();
QRasterPaintEngine::drawRects(rects, rectCount);
@@ -434,11 +437,11 @@ void QDirectFBPaintEngine::drawRects(const QRectF *rects, int rectCount)
if (brush.style() == Qt::NoBrush && pen.style() == Qt::NoPen)
return;
- if (!(d->compositionModeStatus & QDirectFBPaintEnginePrivate::PorterDuff_SupportedPrimitives)
- || (d->transformationType & QDirectFBPaintEnginePrivate::Matrix_RectsUnsupported)
+ if ((d->transformationType & QDirectFBPaintEnginePrivate::Matrix_RectsUnsupported)
|| !d->simplePen
|| d->clipType == QDirectFBPaintEnginePrivate::ComplexClip
- || !d->isSimpleBrush(brush)) {
+ || !d->isSimpleBrush(brush)
+ || !d->testCompositionMode(&pen, &brush)) {
RASTERFALLBACK(DRAW_RECTS, rectCount, VOID_ARG(), VOID_ARG());
d->lock();
QRasterPaintEngine::drawRects(rects, rectCount);
@@ -460,16 +463,16 @@ void QDirectFBPaintEngine::drawLines(const QLine *lines, int lineCount)
{
Q_D(QDirectFBPaintEngine);
- if (!(d->compositionModeStatus & QDirectFBPaintEnginePrivate::PorterDuff_SupportedPrimitives)
- || !d->simplePen
- || d->clipType == QDirectFBPaintEnginePrivate::ComplexClip) {
+ const QPen &pen = state()->pen;
+ if (!d->simplePen
+ || d->clipType == QDirectFBPaintEnginePrivate::ComplexClip
+ || !d->testCompositionMode(&pen, 0)) {
RASTERFALLBACK(DRAW_LINES, lineCount, VOID_ARG(), VOID_ARG());
d->lock();
QRasterPaintEngine::drawLines(lines, lineCount);
return;
}
- const QPen &pen = state()->pen;
if (pen.style() != Qt::NoPen) {
d->setDFBColor(pen.color());
CLIPPED_PAINT(QT_PREPEND_NAMESPACE(drawLines<QLine>)(lines, lineCount, state()->matrix, d->surface));
@@ -480,16 +483,16 @@ void QDirectFBPaintEngine::drawLines(const QLineF *lines, int lineCount)
{
Q_D(QDirectFBPaintEngine);
- if (!(d->compositionModeStatus & QDirectFBPaintEnginePrivate::PorterDuff_SupportedPrimitives)
- || !d->simplePen
- || d->clipType == QDirectFBPaintEnginePrivate::ComplexClip) {
+ const QPen &pen = state()->pen;
+ if (!d->simplePen
+ || d->clipType == QDirectFBPaintEnginePrivate::ComplexClip
+ || !d->testCompositionMode(&pen, 0)) {
RASTERFALLBACK(DRAW_LINES, lineCount, VOID_ARG(), VOID_ARG());
d->lock();
QRasterPaintEngine::drawLines(lines, lineCount);
return;
}
- const QPen &pen = state()->pen;
if (pen.style() != Qt::NoPen) {
d->setDFBColor(pen.color());
CLIPPED_PAINT(QT_PREPEND_NAMESPACE(drawLines<QLineF>)(lines, lineCount, state()->matrix, d->surface));
@@ -714,8 +717,8 @@ void QDirectFBPaintEngine::fillRect(const QRectF &rect, const QBrush &brush)
if (d->clipType != QDirectFBPaintEnginePrivate::ComplexClip) {
switch (brush.style()) {
case Qt::SolidPattern: {
- if (!(d->compositionModeStatus & QDirectFBPaintEnginePrivate::PorterDuff_SupportedPrimitives)
- || (d->transformationType & QDirectFBPaintEnginePrivate::Matrix_RectsUnsupported)) {
+ if (d->transformationType & QDirectFBPaintEnginePrivate::Matrix_RectsUnsupported
+ || !d->testCompositionMode(0, &brush)) {
break;
}
const QColor color = brush.color();
@@ -753,9 +756,9 @@ void QDirectFBPaintEngine::fillRect(const QRectF &rect, const QColor &color)
if (!color.isValid())
return;
Q_D(QDirectFBPaintEngine);
- if (!(d->compositionModeStatus & QDirectFBPaintEnginePrivate::PorterDuff_SupportedPrimitives)
- || (d->transformationType & QDirectFBPaintEnginePrivate::Matrix_RectsUnsupported)
- || d->clipType == QDirectFBPaintEnginePrivate::ComplexClip) {
+ if ((d->transformationType & QDirectFBPaintEnginePrivate::Matrix_RectsUnsupported)
+ || d->clipType == QDirectFBPaintEnginePrivate::ComplexClip
+ || !d->testCompositionMode(0, 0, &color)) {
RASTERFALLBACK(FILL_RECT, rect, color, VOID_ARG());
d->lock();
QRasterPaintEngine::fillRect(rect, color);
@@ -815,6 +818,36 @@ bool QDirectFBPaintEnginePrivate::isSimpleBrush(const QBrush &brush) const
return (brush.style() == Qt::NoBrush) || (brush.style() == Qt::SolidPattern && !antialiased);
}
+bool QDirectFBPaintEnginePrivate::testCompositionMode(const QPen *pen, const QBrush *brush, const QColor *color) const
+{
+ Q_ASSERT(!pen || pen->style() == Qt::NoPen || pen->style() == Qt::SolidLine);
+ Q_ASSERT(!brush || brush->style() == Qt::NoBrush || brush->style() == Qt::SolidPattern);
+ switch (compositionModeStatus & (QDirectFBPaintEnginePrivate::PorterDuff_SupportedOpaquePrimitives
+ |QDirectFBPaintEnginePrivate::PorterDuff_SupportedPrimitives)) {
+ case QDirectFBPaintEnginePrivate::PorterDuff_SupportedPrimitives:
+ return true;
+ case QDirectFBPaintEnginePrivate::PorterDuff_SupportedOpaquePrimitives:
+ if (pen && pen->style() == Qt::SolidLine && pen->color().alpha() != 255)
+ return false;
+ if (brush) {
+ if (brush->style() == Qt::SolidPattern && brush->color().alpha() != 255) {
+ return false;
+ }
+ } else if (color && color->alpha() != 255) {
+ return false;
+ }
+ return true;
+ case QDirectFBPaintEnginePrivate::PorterDuff_None:
+ return false;
+ default:
+ // ### PorterDuff_SupportedOpaquePrimitives|PorterDuff_SupportedPrimitives can't be combined
+ break;
+ }
+ Q_ASSERT(0);
+ return false;
+}
+
+
void QDirectFBPaintEnginePrivate::lock()
{
// We will potentially get a new pointer to the buffer after a
@@ -888,6 +921,7 @@ void QDirectFBPaintEnginePrivate::setCompositionMode(QPainter::CompositionMode m
break;
case QPainter::CompositionMode_Source:
surface->SetPorterDuff(surface, DSPD_SRC);
+ compositionModeStatus |= PorterDuff_SupportedOpaquePrimitives;
break;
case QPainter::CompositionMode_SourceOver:
compositionModeStatus |= PorterDuff_SupportedPrimitives;
@@ -945,6 +979,9 @@ void QDirectFBPaintEnginePrivate::prepareForBlit(bool alpha)
}
surface->SetColor(surface, 0xff, 0xff, 0xff, opacity);
surface->SetBlittingFlags(surface, blittingFlags);
+ if (compositionModeStatus & PorterDuff_Dirty) {
+ setCompositionMode(q->state()->composition_mode);
+ }
}
static inline uint ALPHA_MUL(uint x, uint a)
@@ -962,6 +999,7 @@ void QDirectFBPaintEnginePrivate::setDFBColor(const QColor &color)
surface->SetColor(surface, color.red(), color.green(), color.blue(), alpha);
surface->SetPorterDuff(surface, DSPD_NONE);
surface->SetDrawingFlags(surface, alpha == 255 ? DSDRAW_NOFX : DSDRAW_BLEND);
+ compositionModeStatus |= PorterDuff_Dirty;
}
IDirectFBSurface *QDirectFBPaintEnginePrivate::getSurface(const QImage &img, bool *release)
diff --git a/src/plugins/graphicssystems/openvg/openvg.pro b/src/plugins/graphicssystems/openvg/openvg.pro
index d36570c..781cdc4 100644
--- a/src/plugins/graphicssystems/openvg/openvg.pro
+++ b/src/plugins/graphicssystems/openvg/openvg.pro
@@ -10,3 +10,5 @@ HEADERS = qgraphicssystem_vg_p.h
target.path += $$[QT_INSTALL_PLUGINS]/graphicssystems
INSTALLS += target
+
+symbian: TARGET.UID3 = 0x2001E62C
diff --git a/src/plugins/phonon/mmf/plugin/plugin.pro b/src/plugins/phonon/mmf/plugin/plugin.pro
index eb7fd27..8a7de98 100644
--- a/src/plugins/phonon/mmf/plugin/plugin.pro
+++ b/src/plugins/phonon/mmf/plugin/plugin.pro
@@ -26,6 +26,7 @@ HEADERS += \
$$PHONON_MMF_DIR/abstractaudioeffect.h \
$$PHONON_MMF_DIR/abstractmediaplayer.h \
$$PHONON_MMF_DIR/abstractplayer.h \
+ $$PHONON_MMF_DIR/ancestormovemonitor.h \
$$PHONON_MMF_DIR/audiooutput.h \
$$PHONON_MMF_DIR/audioequalizer.h \
$$PHONON_MMF_DIR/audioplayer.h \
@@ -47,6 +48,7 @@ SOURCES += \
$$PHONON_MMF_DIR/abstractaudioeffect.cpp \
$$PHONON_MMF_DIR/abstractmediaplayer.cpp \
$$PHONON_MMF_DIR/abstractplayer.cpp \
+ $$PHONON_MMF_DIR/ancestormovemonitor.cpp \
$$PHONON_MMF_DIR/audiooutput.cpp \
$$PHONON_MMF_DIR/audioequalizer.cpp \
$$PHONON_MMF_DIR/audioplayer.cpp \
@@ -67,11 +69,12 @@ debug {
LIBS += -lhal
}
-LIBS += -lmediaclientvideo # For CVideoPlayerUtility
-LIBS += -lcone # For CCoeEnv
-LIBS += -lws32 # For RWindow
-LIBS += -lefsrv # For file server
-LIBS += -lapgrfx -lapmime # For recognizer
+LIBS += -lmediaclientvideo # For CVideoPlayerUtility
+LIBS += -lcone # For CCoeEnv
+LIBS += -lws32 # For RWindow
+LIBS += -lefsrv # For file server
+LIBS += -lapgrfx -lapmime # For recognizer
+LIBS += -lmmfcontrollerframework # For CMMFMetaDataEntry
# These are for effects.
LIBS += -lAudioEqualizerEffect -lBassBoostEffect -lDistanceAttenuationEffect -lDopplerBase -lEffectBase -lEnvironmentalReverbEffect -lListenerDopplerEffect -lListenerLocationEffect -lListenerOrientationEffect -lLocationBase -lLoudnessEffect -lOrientationBase -lSourceDopplerEffect -lSourceLocationEffect -lSourceOrientationEffect -lStereoWideningEffect
diff --git a/src/plugins/sqldrivers/sqlite_symbian/sqlite_symbian.pro b/src/plugins/sqldrivers/sqlite_symbian/sqlite_symbian.pro
index 4734144..158633d 100644
--- a/src/plugins/sqldrivers/sqlite_symbian/sqlite_symbian.pro
+++ b/src/plugins/sqldrivers/sqlite_symbian/sqlite_symbian.pro
@@ -1,5 +1,7 @@
# Use subdirs template to suppress generation of unnecessary files
TEMPLATE = subdirs
-# We just want to extract the zip file containing sqlite binaries for Symbian
-BLD_INF_RULES.prj_exports += ":zip SQLite3_v9.2.zip"
+# We just want to export the sqlite3 binaries for Symbian for platforms that do not have them.
+!exists($${EPOCROOT}epoc32/release/armv5/lib/sqlite3.dso) {
+ BLD_INF_RULES.prj_exports += ":zip SQLite3_v9.2.zip"
+}