Always call finishChange in setText, not just when QT_NO_ACCESSIBILITY
is undefined, otherwise lots of things don't get updated.
Task-number: QTBUG-21686
Change-Id: I58b320814fb379b462e39b7e675fe6e9fc41ba8a
Reviewed-on: http://codereview.qt-project.org/5594
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
This adds the value interface and removes the children of the dial.
Change-Id: I47eac77c01dce36db077f553054ef37353242f77
Reviewed-on: http://codereview.qt-project.org/4821
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Frederik Gladhorn <frederik.gladhorn@nokia.com>
Dealt with all necessary changes that are marked in the code: removing
methods left only for binary compatibility with earlier Qt 4 versions
and other methods marked for removal.
Change-Id: I47109ccd9ed40addc345416be9e172570723955e
Reviewed-on: http://codereview.qt-project.org/4534
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
this makes QCoreApplication::translate() consistent with
QTranslator::translate(), and is semantically cleaner.
users wishing to shrink their QM files can do that properly by using
lrelease -removeidentical.
Change-Id: I2b367314cfb985c3d130c7c6347e2742311f497a
Reviewed-on: http://codereview.qt-project.org/5165
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: hjk <qthjk@ovi.com>
They should live in OBJECTIVE_SOURCES instead.
Change-Id: Iaf3f6ae4d8b71600c8ea91e33cf860b326855988
Reviewed-on: http://codereview.qt-project.org/4971
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Denis Dzyubenko <denis.dzyubenko@nokia.com>
This is a regression caused by 070d9c00. If the defaultFormat
is set to Format_None, we should default to Format_A8 like before
the change.
Change-Id: I8ad07abff96fc1dfa03c0c5b49d13beb36b9de70
Reviewed-on: http://codereview.qt-project.org/5540
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Jiang Jiang <jiang.jiang@nokia.com>
Required to access internals used in the layout process, so that
we can present the layout in the scenegraph. For instance, the
frameBoundingRect() for tables will be the internal bounding rect
of the cells. To avoid regressions, I've added a separate function
for the outer bounding rect. For now, this is private API, but if
it turns out to be useful, the functions can easily be added as
virtual to QAbstractTextDocumentLayout.
Task-number: QTBUG-20917
Change-Id: I04e07d3850b21f9f0704bf8c8a3ffe97ee5c3fda
Reviewed-on: http://codereview.qt-project.org/5539
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Jiang Jiang <jiang.jiang@nokia.com>
Similar to QByteArray and QString, keep the shared_null in shareable
memory and never modify it.
Since QRegion uses the internals of QVector, we need to make sure that
QRegion also never modifies the shared_null.
Change-Id: I809e5873fe414138f97d501e05458b73c04b18fb
Reviewed-on: http://codereview.qt-project.org/4529
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
The QBackingStore::sync() call after the first expose when the widget is
un-minimized is discarded due to Qt::WA_Mapped being false. Since there
might be backing store syncs pending on Qt::WA_Mapped being set we
should also call syncBackingStore() when we get the map event.
Change-Id: I762545dc0522a99f0b36ce9a2cd2f45894cb40a5
Reviewed-on: http://codereview.qt-project.org/5377
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
The selftests already used the @INSERT_QT_VERSION_HERE@ placeholder
in place of the real Qt and QTestlib versions in the expected test
output of the subtests. For unknown reasons, the same was not true for
the expected plain text output. In the past, this has caused Release
Managers to waste time incrementing the version numbers in these files.
Change-Id: I52f7870486fce128c04d53ff06978afa947474fd
Reviewed-on: http://codereview.qt-project.org/5375
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Rohan McGovern <rohan.mcgovern@nokia.com>
Similar to QVector, QByteArray and QString, keep the shared_null in
shareable memory and never modify it.
Change-Id: I062825684b79f2b01ec7ce65e0cf74f417b760b8
Reviewed-on: http://codereview.qt-project.org/4530
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
Similar to QMap, QVector, QByteArray and QString, keep the shared_null
in shareable memory and never modify it.
Change-Id: I2b4bb8de564080021043f6ede6c903d567c686cf
Reviewed-on: http://codereview.qt-project.org/4531
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
Similar to QList, QMap, QVector, QByteArray and QString, keep the
shared_null in shareable memory and never modify it.
Change-Id: I70b484d528c397a9d205b1418b6dc920c69dc725
Reviewed-on: http://codereview.qt-project.org/4532
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
Similar to QLinkedList QList, QMap, QVector, QByteArray and QString,
keep the shared_null in shareable memory and never modify it.
Change-Id: Ia8b72ef0288575bed658153d9d54434580988bda
Reviewed-on: http://codereview.qt-project.org/4533
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
the alternative would be splitting the function into two separate
overloads. that might result in better branch prediction, but will
create a bit more code.
Change-Id: Ia2c685bbb34a9681c71f2249d073dd960368209a
Reviewed-on: http://codereview.qt-project.org/5332
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
There is no test with a datatag "float", so this code is never executed.
Change-Id: I9dd234e6575eb1c33075705edf77eb1d977061c9
Reviewed-on: http://codereview.qt-project.org/5362
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Rohan McGovern <rohan.mcgovern@nokia.com>
Q_ASSERT uses __FILE__, which has undefined contents, and thus the
selftest cannot always match Q_ASSERT messages in actual output with
those in expected output. The test was calling QEXPECT_FAIL() in this
case, but doing so implies that (a) it's a failure and (b) we intend to
fix it one day. Neither of these is true, so instead we should simply
tolerate this difference in actual and expected outputs, in the same way
that we do in a couple of other similar cases.
Change-Id: I8b8609a400e9b798936875f6eb1ca18a83660efc
Reviewed-on: http://codereview.qt-project.org/5358
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Rohan McGovern <rohan.mcgovern@nokia.com>
Add support for test cases which require an event loop, but do not need
GUI up and running. Such cases are best accommodated by code similar to
QTEST_MAIN, but using QCoreApplication instead of QApplication.
Change-Id: I04ce82d26b80a4edeba6bf7604a7f8d974232a11
Merge-request: 919
Reviewed-on: http://codereview.qt-project.org/5427
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Jason McDonald <jason.mcdonald@nokia.com>
If we have trailing spaces at the end of a line, cursor will disappear
because the position we returned exceeds line end, thus the widget
border. By limiting it within line.width we can make sure it always
visible, which is more consistent to the behavior in common platforms.
Reviewed-by: Eskil
(cherry picked from commit c750afe0e0f043389d30850070889946e4c6e8af)
Change-Id: Ifc60b718369639bbb6f5afb35c29a6eb0dccd219
Reviewed-on: http://codereview.qt-project.org/5458
Reviewed-by: Jiang Jiang <jiang.jiang@nokia.com>
These functions should not take care not to unconditionally set the
capacityReserved private member, since the d may be referencing the
const shared_null or shared_empty which live in read-only memory.
The squeeze() methods check for ref > 1 instead of ref != 1 to prevent
detaching from the shared_null/shared_empty unnecessarily; the
shared_null/shared_empty ref count is -1, meaning squeeze() will never
detach from it.
Change-Id: Id3f1725a6f08b3a462343640a47bbe78f08ca7e7
Rubberstamped-by: Lars Knoll
Reviewed-on: http://codereview.qt-project.org/5454
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
QByteArray::squeeze() needs to make sure to detach if the
data is shared, otherwise it would end up crashing when
squeeze() is called on a QByteArray using the shared_null
or shared_empty.
Change-Id: I89c178659d8c7448681304f050fd69e17b2387de
Reviewed-on: http://codereview.qt-project.org/4528
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
QWidget's move() sets the position of the window including the window
frame, unlike setGeometry(). There was no equivalent for this in
QWindow, so several QWidget auto-tests were failing. Now we add
setFramePos() to achieve the same purpose in QWindow.
This fixes tst_QWidget::windowState(), which uses move().
Change-Id: I9a3e558bd615a8f0234cc3dd94fbb2bf5ecbc148
Reviewed-on: http://codereview.qt-project.org/5405
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
In QWidget::setWindowState() there was some code to emulate window
states when they're not supported by the backend, by hiding the window
on minimize or using the screen geometry and the frameless window hint
to manually try to make a window fullscreen.
However, some of this code was being run even when the backend does
support setting window states, specifically calling setParent(0) to
force a re-creation of the platform window and calling show(). These led
to the window getting the wrong position after being minimized or
fullscreen and going back to the normal state.
Apart from storing the normal geometry of a widget when going away from
the normal state we shouldn't do any magic when the call to
QPlatformWindow::setWindowState() succeeds.
tst_QWidget::windowState() still fails due to calling move() to set the
position of the widget including the frame, when QWindow currently only
supports setting the position of the widget excluding the frame.
Change-Id: I1c1a337d3c15f14c1c842bd1e347f94e6b67d7eb
Reviewed-on: http://codereview.qt-project.org/5367
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
The X server sends a series of expose events, where the count member
specifies how many expose events are remaining in the current series. By
merging them into an expose region we can send a single expose event to
the lighthouse interface.
Change-Id: If73c9972fe02c5e4137e8742aaaf5679ccea5a09
Reviewed-on: http://codereview.qt-project.org/5366
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
It's dangerous to set them as dirty in anticipation of a configure
notify event, as if frameMargins() is called before the event is
received the computed values are bogus.
Change-Id: Ib6db975fba5fcb13a2511e4716cbb5ca79265c34
Reviewed-on: http://codereview.qt-project.org/5365
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
We need to compare against the window's currently known geometry to know
when to send resize and move events. Also make sure at least one resize
event is sent, instead of sending one before each expose.
Change-Id: Id7ebe4c1c0e723af9198c668a0c736d64efdbf3e
Reviewed-on: http://codereview.qt-project.org/5364
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
Simplify the combobox implementation by removing child logic.
Instead have an option to open the combobox.
Change-Id: I1bb517d0d064aefa28594b8fa957b8b2c9d48e88
Reviewed-on: http://codereview.qt-project.org/5032
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Jan-Arve Sæther <jan-arve.saether@nokia.com>
The call is unnecessary; it does nothing since the shared_null ref count
is negative.
Change-Id: I0d0c35a554e4fc5b734a25dab06f04bee7a9ae24
Reviewed-on: http://codereview.qt-project.org/4637
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
QFontDatabaseQPA should be able to reinitialize database and
reregister all the fonts when an application font is added, because
it will trigger db->invalidate().
Add cloneWithSize support to QFontEngineBox so that even no usable
font is found in QFontDatabase, QRawFont::setPixelSize can still
work (without making the result rawfont invalid).
Register application fonts with QFontconfigDatabase, the code is
adapted from QFontDatabaseX11.
Reenable QRawFont tests for QPA, these usages are now supported in
QPA.
Fix QStaticText tests, raster in QPA does support transformations.
Translate the text before ZAxix rotation so that it will be visible
in canvas.
Add back fixedPitch support to QPA, and fix QFontDatabase tests.
Fix QGlyphRun tests, ignore non-existence glyphs in alphaMap
locking.
Fix QFontMetrics tests.
Task-number: QTBUG-21415, QTBUG-20754, QTBUG-20977,
QTBUG-20976, QTBUG-20760, QTBUG-20759
Change-Id: I24aea7d6ec6b2ac6342134d1f2591327c23a692b
Reviewed-on: http://codereview.qt-project.org/5384
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@nokia.com>
252d1b34b2 introduces a mapFromGlobal
call in QWindowSystemInterface::handleTouchEvent. This has two issues:
It ignores the fact that the tlw parameter can be null, resulting in
an instant crash with the touch support of some platforms, and the
mapping itself is unneccessary because
QGuiApplication::processTouchEvent() will perform the same, the
rect set via setRect() is basically ignored due to the touchPoint.d.rect
= ... just before sending the final event to the widget in qguiapplication.cpp.
Using setScreenRect instead of setRect is a valid fix from the
previous patch, but the parts for the mapping need to be removed.
Change-Id: I0bb40c7d647fb062106b151e5987f9970d6ab2c8
Reviewed-on: http://codereview.qt-project.org/5448
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Bjørn Erik Nilsen <bjorn.nilsen@nokia.com>