| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
| |
Previously QS60Style didn't draw, nor reserve space for menu
separators. Now,one pixel wide line is drawn across menu rectangle.
Line color is picked from active device theme.
Task-number: QTBUG-10054
Reviewed-by: Tomi Vihria
|
|
|
|
|
|
|
|
|
| |
QGLPixmapData's fromNativeType() accepts QNativeImageHandleProvider
pointers with type NativeImageHandleProvider from now on, similarly
to OpenVG pixmaps.
Task-number: QTBUG-18209
Reviewed-by: Jani Hautakangas
|
|
|
|
|
|
|
|
|
| |
The special case of creating a pixmap from RSgImage via a native
handle provider needs extra attention when hibernating: In this case
the hibernating happens as usual, however doing a readback would
produce unwanted results and must be avoided.
Reviewed-by: Jani Hautakangas
|
|
|
|
|
|
|
|
|
|
|
| |
A new QSysInfo::S60Version enum value SV_S60_5_3 is introduced.
QSysInfo::symbianVersion still returns SV_SF_3 for the new platform.
The official name of the platform is still pending, so documentation
will be updated later.
Task-number: QT-4593
Reviewed-by: Sami Merila
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
For fullscreen QDeclarativeViews that lock their orientation to the
native orientation of the device an additional performance gain can
be achieved by calling FixNativeOrientation on the underlying RWindow.
Such apps will either work in a single orientation only, or they will
handle rotation themselves, by using QPainter transformations and
opting out from the standard Avkon auto-rotation. In any of these cases
there is no need for the lower level layers of the system to handle
graphics surface rotation, the app is "fixed" to the native orientation
from their point of view, therefore it is safe to call
FixNativeOrientation().
Task-number: QTBUG-17742
Reviewed-by: Jason Barron
|
|
|
|
|
|
|
|
|
| |
MessageBox icons are deformed on Qt/S60, since style creates all icons with 1:1
width:height ratio. Based on S60 documentation messagebox icons
are of 4:3 ratio. This is the same ratio between all the S60 releases.
Task-number: QTBUG-14953
Reviewed-by: Laszlo Agocs
|
|
|
|
|
|
|
|
|
| |
If there is no focusitem when connecting a signal, splitview crashes.
This is caused by null pointer use. Prevent the crash by checking the
pointer.
Task-number: QTBUG-16572
Reviewed-by: Guoqing Zhang
|
|
|
|
|
|
|
| |
Clean up previous fix a little bit, by merging if-statements.
Task-number: QTBUG-17576
Reviewed-by: Guoqing Zhang
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
If there is a graphicsview with input widget focused and splitview is
open, and we rotate the device from Portrait to Landscape
(or vice versa), the input widget is no longer visible in the
splitview rect. This only happens if there are scrollbars visible
in the view.
Reason is that the input widget is tried to ensure visibility for
before window surface is valid. In these cases, make the input widget
visibility re-location happen after window server indicates that the
view is now visible.
Task-number: QTBUG-17576
Reviewed-by: Guoqing Zhang
|
|
|
|
|
|
|
| |
Qt apps would crash during orientation change without setting
m_background to null after deleting it.
Reviewed-by: Sami Merila
|
|
|
|
|
|
|
|
|
|
|
|
| |
The vgWritePixel-based "fallback" in drawImage can only be used when
the transformation is simple and no opacity is set. The tiled drawing
introduced here will serve as an additional fallback for the more
complex cases and will allow drawing large (12 Mpix or more) pixmaps
and images with transformation and semi-transparency even when the
complete image data would not fit into the GPU memory.
Task-number: QTBUG-18251
Reviewed-by: Jani Hautakangas
|
|
|
|
|
|
|
|
| |
Destroyed swap behaviour is a little bit faster than
preserved swap with heavily animated UIs like QML.
Task-number: QTBUG-18270
Reviewed-by: Samuel Rødal
|
|
|
|
|
|
|
| |
The profile has been empty since the plugin functionality was moved
into QtMultimedia itself (d73df73c556b0a225fdde7341549ed834bc691f4).
RevBy: Miikka Heikkinen
|
|
|
|
|
|
|
|
|
| |
QVGPaintEngine did not have proper checks for null QImage in the
drawImage functions so it went on trying to create a VGImage of
size 0x0 which is bound to fail always. This resulted in confusing
warnings about not being able to reclaim space for 0x0 images.
Reviewed-by: Jani Hautakangas
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Once the background texture has been created, update it to all widgets.
This corrects most cases where texture is used outside of QS60Style.
It is still possible to access the placeholder texture and draw it,
if:
a) QPalette::Window is accessed before drawing even one widget
b) Painting the texture happens without using QS60Style
Task-number: QTBUG-14910
Reviewed-by: Laszlo Agocs
|
|
|
|
|
|
|
|
|
|
|
|
| |
Previously version resolved to unknown if Symbian or S60 version was
queried and Series60v5.3.sis was found.
Note that proper detection and enumerations for the new platform will
come when they are agreed upon. Until then, this fix will make
the new platform more usable.
Task-number: QT-4593
Reviewed-by: Sami Merila
|
|
|
|
|
|
|
|
|
|
| |
This change currently affects QGLPixmapData on Symbian only. Similarly
to the OpenVG engine, using QVolatileImage allows more efficient
handling of to- and fromSymbianCFbsBitmap, reduces local heap usage,
and improves s60 style performance.
Task-number: QTBUG-15252
Reviewed-by: Jani Hautakangas
|
|
|
|
|
|
|
|
|
| |
Forcing VG (and GL) pixmapdata to support toNativeType() with type
VolatileImage is unnecessary. It is cleaner to try doing a
fromNativeType() with bitmap+mask and fall back if that results in
a null pixmapdata.
Reviewed-by: Jani Hautakangas
|
|
|
|
| |
Reviewed-by: Jani Hautakangas
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Previously, the following rules applies to the creation and blitting of
the Symbian raster backing store:
1. Creation of backing store with an alpha channel:
Backing store has an alpha channel only if !QWidget::isOpaque.
2. Pre-filling of backing store prior to paint loop:
Backing store is filled with transparent pixels if
!QWidget::isOpaque.
3. Blitting of backing store:
CGraphicsContext::EDrawModeWriteAlpha is used (meaning that backing
store alpha values are propagated into the frame buffer), if
QWidget::isOpaque.
In order for the direct camera viewfinder to be visible on DSA devices,
alpha=0 must be written into the framebuffer in the region where the
viewfinder will be displayed. This requires a backing store with an alpha
channel (1), use of CGraphicsContext::EDrawModeWriteAlpha (3), but not
pre-filling of the entire backing store (2).
This patch adds a new enum value, QWExtra::BlitWriteAlpha, which can be
used by camera backends to achieve the desired behaviour.
Task-number: QTMOBILITY-1278
Reviewed-by: Jani Hautakangas
|
|
|
|
| |
Reviewed-by: Miikka Heikkinen
|
|
|
|
|
|
|
|
|
|
|
|
| |
The original implementation relied on SizeInTwips() for the underlying
bitmap which unfortunately returns 0, leading to incorrect results
from QPixmap::logicalDpiX/Y(). This caused issues in text rendering
onto pixmaps (QTBUG-17628). This fix changes QS60PixmapData to use a
slightly different metrics() implementation (the one VG and GL
PixmapData are using).
Task-number: QTBUG-18154
Reviewed-by: Jani Hautakangas
|
|
|
|
| |
Reviewed-by: TRUSTME
|
|
|
|
|
|
|
|
|
| |
Keep the implementation in separate
qpixmapdata_poolgl.cpp file until the pooling has
been verified and confirmed to work ok.
Task-number: QTBUG-15253 QTBUG-17850
Reviewed-by: Samuel Rødal
|
|\ |
|
| |
| |
| |
| |
| |
| |
| |
| | |
There is usually only one screen on the emulator and it was incorrectly
assumed that ScreenDevice() would return null for a non-existing
screen. It panics instead so the entire call must be skipped.
Reviewed-by: Sami Merila
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Background texture is not created until it is actually painted.
This allows skipping the whole background texture creation, if app
overwrites the QPalette::Window with its own data (image or color).
When widget is drawn and style notices that the widget is still using a
placeholder (1*1 red QPixmap) texture, it creates the real texture and
uses that for drawing.
Note that accessing QPalette::Window will give the placeholder pixmap.
Which is then again replaced with the real texture, if it is drawn
through the qt_s60_fill_background().
Task-number: QTBUG-14910
Reviewed-by: Laszlo Agocs
|
|/
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Fix for QTBUG-16816 cause theme background to display incorrectly
after a layout switch is done. Theme background is shown "tiled"
instead of being whole screen size.
This is because the setBackgroundTexture() call was removed to "save"
QPixmap creation. Unfortunately, it really skips the background
texture creation, but does not re-create a new one for the new layout,
so portrait background is used again. This leads to tiling the image.
Let's just return the call to the setBackgroundTexture()
(this will eventually anyway be "optimized" with fix for QTBUG-14910).
Task-number: QTBUG-17930
Reviewed-by: Laszlo Agocs
|
|
|
|
|
|
|
|
|
| |
There were changes included in the fix for QTBUG-17045 that were not
supposed to be part of that fix. These changes to qcombobox.cpp are
now removed.
Task-number: QTBUG-17045
Reviewed-by: TrustMe
|
|
|
|
|
|
|
|
| |
Prevents crash when focus item is not set and splitview is closed.
This is partial fix to QTBUG-17045.
Task-number: QTBUG-17045
Reviewed-by: Guoqing Zhang
|
|\ |
|
| |\
| | |
| | |
| | |
| | | |
Conflicts:
mkspecs/common/symbian/symbian.conf
|
| | |
| | |
| | |
| | | |
RevBy: Trust me
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Make did not understand that sqlite3.dso, which the link relies on,
is the same as $$OBJECTS_DIR/sqlite3.dso, which is extracted by the
profile.
RevBy: Trust me
|
| | | |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
RevBy: axis
RevBy: Morten Johan Sørvig
Conflicts:
configure
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
RevBy: Thomas Zander
Conflicts:
mkspecs/features/symbian/symbian_building.prf
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
This was done for a number of reasons:
- In order to get better consistency with the other mkspecs, which
have the target system name followed by a hyphen and the compiler
name.
- There is no real reason why we should have specific mkspecs for
compiling Symbian under Linux, when it is equally likely to work
under other operating systems.
RevBy: Thomas Zander
Conflicts:
src/s60main/s60main.pro
|
|/ /
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Remove refreshUi() method frmo QS60Style. It might have been necessary
two years ago, when we didn't have proper polishing of QWidgets
(when style changed), but it is no longer needed.
It just slows down orientation switch.
Task-number: QTBUG-17840
Reviewed-by: Tomi Vihria
|
|\ \ |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
OpenVG paint engine didn't reset it's
mask fallback state correctly when engine
was resetted.
Task-number: QTBUG-17966
Reviewed-by: Jason Barron
|
| | |
| | |
| | |
| | |
| | | |
Reviewed-by: Jani Hautakangas
Reviewed-by: Shane Kearns
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Add dynamic GPU chip detection on Symbian to decide if
translucent EGL surfaces can be used. With 32MB GPU memory
there is not enough memory to create for example transparent
video overlay widgets and that's why hw surfaces must not
be used.
Task-number: QTBUG-18024
Reviewed-by: Jason Barron
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Inverting the pixels for bitmaps of mode EGray2 is done in-place,
which is wrong if the bitmap handle was duplicated. Instead, we
need to make a copy. This also means that we cannot treat EGray2
a conversion-less format in openvg, but such images are likely
to be used as masks only, so optimizing just for mere drawing
in case of this format is not really necessary.
Reviewed-by: Jani Hautakangas
|
|/ /
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Fix for http://bugreports.qt.nokia.com/browse/QTBUG-17786.
QS60Style tries to work around the hardcoded margin that the
QCommonStyle adds to menu items (line 4782 in my QCommonStyle.cpp).
Unfortunately regular itemview items are handled in the same code
branch in QS60Style, so the class incorrectly reduces the itemview
height 8 pixels. The reduction should only happen with menu items.
Task-number: QTBUG-17786
Reviewed-by: Laszlo Agocs
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
When using an app with graphicsview + vertical scrollbar that has
previously opened the splitview, when closing the keyboard, the
application is not reset to the original geometry correctly.
This is caused by invalid operation in the resetSplitView() method
that does not resize the graphics view back to original size AND
might even leave it with incorrect window state.
Task-number: QTBUG-17937
Reviewed-by: Guoqing Zhang
|
| |
| |
| |
| |
| | |
Task-number: QTBUG-2199
Reviewed-by: Shane Kearns
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
From now on the image data coming from CFbsBitmap will not be forced
to RGB32 or ARGB32_Premultiplied in openvg. This allows copy-less
creation and drawing of pixmaps not just from bitmaps with display mode
EColor16MAP and EColor16MU, but also a few other modes, like EColor64K.
Painting into such pixmaps or drawing them via the raster engine is
potentially slower in such cases, which is now reflected in the
fromSymbianCFbsBitmap documentation.
Note that this patch has no effect on extended bitmaps (e.g. skin
graphics), those must always be rasterized first regardless of the
display mode.
Task-number: QTBUG-18027
Reviewed-by: Jani Hautakangas
|
| |
| |
| |
| |
| |
| |
| |
| | |
Remove calls to unnecessary methods.
Remove unnecessary checks.
Fix whitespace.
Reviewed-by: Laszlo Agocs
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
When using a maximized QML application and user taps to a input widget,
opened splitview does not show the focused input widget.
The root cause of the problem is that when we move to splitview, we
set the window state to fullscreen. Unfortunately, there we were
trying to fullscreen the input widget and not the window that where
the input widget is.
Task-number: QTBUG-17984
Reviewed-by: Guoqing Zhang
|