Commit Graph

7042 Commits (c54a2dca1697974e85cc42b86fa2e1a7f50bde8e)

Author SHA1 Message Date
Thiago Macieira 0510fc149e Make QtDBus work again with D-Bus 1.0 and 1.1
The dbus_get_version function was introduced in 1.2, so we'd need to
detect pre-1.2 by the absence of the function. But if we're going to
detect the presence or absence of any function, we might as well do it
on dbus_connection_can_send_type, which is the function we wanted anyway.

Change-Id: I6e17a3a8f1382c6a489490084f6e3f61aa5a1947
Reviewed-by: Giuseppe D'Angelo <giuseppe.dangelo@kdab.com>
2012-10-19 02:43:05 +02:00
Samuel Rødal 7b8e10ddd0 Fixed inconsistent QPainter fill rules for aliased painting.
Qt 5 is the time to get rid of all the old inconsistencies in the raster
paint engine caused by trying to preserve the old X11 based
coordinate system where (0, 0) is in the center of the top-left pixel
instead of the upper left corner of said pixel. However, this was only
adhered for line drawing and path / rect filling, and not for image or
pixmap drawing and not at all when doing antialiased painting. By
defining the antialiased coordinate system as being the right one and
letting the aliased fill rules follow from that we finally end up with
some consistent behavior that doesn't lead to surprises and workarounds
in application code.

It is still possible for applications to get the old behavior by
setting the QPainter::Qt4CompatiblePainting render hint. This should
make porting easier for the few cases where an application relies on the
aliased fill rules we used to have in Qt 4.

Task-number: QTBUG-27500
Change-Id: If86b95e77d838ec83033d64af86632b9a73c74a9
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
2012-10-19 02:43:05 +02:00
Stephen Kelly ae3ad0ad21 Handle the case where persistent indexes have gone invalid.
Don't add invalid ranges to the result. They will be removed
whenever d->ranges is processed for public consumption
anyway. For example, QItemSelectionModel::selection() calls
merge() with another selection. The merge() method removes
invalid ranges already. But the invalid ranges don't need
to be there in the first place, so this patch removes them.

A longer-term goal is to maintain d->ranges as an always-sorted list.

This method can be called with a vector containing invalid
QPersistentModelIndexes when those persistent indexes are made invalid
in between layoutAboutToBeChanged and layoutChanged. It's a normal
thing to happen and a case that should be handled deliberately.

Change-Id: I741ed9208d8a75644975c9e8d61f0d6d78e20576
Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
2012-10-19 00:44:54 +02:00
Stephen Kelly d84f449bcd Make sure uints remain uints when editing in itemviews.
Task-number: QTBUG-22974
Change-Id: I07428862c4dffc629f868f3010f663eb655922d0
Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
2012-10-19 00:44:54 +02:00
José Millán Soto 8bed283f13 Correct accessibility index handling in QListView
QListView::currentChanged and QListView::selectionChanged changed to
use 0-based indexes instead of 1-based indexes.

Change-Id: Ie618970c9a37ec76156dbfab2e86685c3c8f374c
Reviewed-by: Frederik Gladhorn <frederik.gladhorn@digia.com>
2012-10-19 00:44:54 +02:00
José Millán Soto 687e31df80 Handle separators in menus in AT-SPI (Linux accessibility)
Change-Id: Id9c109d53bbb8ded04bbe98a622d44e13d572340
Reviewed-by: Frederik Gladhorn <frederik.gladhorn@digia.com>
2012-10-19 00:44:54 +02:00
Frederik Gladhorn 0783b1670d Doc fix in return value of QDate::setYMD
Change-Id: Ie107e451a7b2a084fb6131939f212acd412a9df6
Reviewed-by: Mitch Curtis <mitch.curtis@digia.com>
Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
Reviewed-by: Jan Arve Sæther <jan-arve.saether@digia.com>
2012-10-19 00:44:54 +02:00
Frederik Gladhorn 519dce78f1 Clean up instantiation of mapping of AT-SPI roles.
Change-Id: If31b33f1b259f896408a66b0574d640b0ad57019
Reviewed-by: Jan Arve Sæther <jan-arve.saether@digia.com>
2012-10-19 00:44:54 +02:00
Frederik Gladhorn 730a5a994f Accessibility: make sure right objects are cached on linux
The linux test would actually fail because the qobjects created
could end up having the same address (create-delete-create...).
After an object is deleted, it's not instantly removed from the
cache of valid objects.
Instead it would stay in the list with it's smart pointer becoming zero.

This patch adds the missing null pointer check so we are always up to date.

Change-Id: Ia7be14741d4798c2b8e75cb7127298c73cf206ef
Reviewed-by: Jan Arve Sæther <jan-arve.saether@digia.com>
2012-10-19 00:44:54 +02:00
Teemu Katajisto 3ebee851b2 Cocoa: fix memory leak
Release the created CGImageRef.

Change-Id: If3b36b636ae1302b8a63bbae7285a6461b993f62
Reviewed-by: Morten Johan Sørvig <morten.sorvig@digia.com>
2012-10-19 00:44:54 +02:00
Teemu Katajisto 0a7e6c5856 Cocoa: fix coretext memory leaks
Change-Id: Id85dbf8a2ea8994d9fca07d3f10b43f62ec305a0
Reviewed-by: Morten Johan Sørvig <morten.sorvig@digia.com>
2012-10-19 00:44:54 +02:00
Thiago Macieira c67a5df8d8 Rename the syncqt -qtdir to -mkspecsdir
It's actually looking for the mkspecs (so it can read qconfig.pri to
get the Qt version), so give it exactly what it wants.

Change-Id: I2957b2d93a8837b8492d313209d45ff3ec01704c
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
2012-10-19 00:44:54 +02:00
Kevin Krammer 4d693b6cdf QNX: Change base font sizes from pixels to points
Previously recommended fonts sizes in pixels do not work very well
on the new high resolution devices.

Current UX documentation recommends certain point sizes for certain
roles. Those work well on both type of devices.

Change-Id: Ia4faa4cf2d753cab9b10f91d01dfef1450683272
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
2012-10-18 22:24:16 +02:00
Richard Moe Gustavsen 0221d769c7 Cocoa: fix frameStrutMouseEvents
It turns out that the calculation of mouse pos over the frame
strut (title bar) was wrong. When outside the content view, the
nsevent coordinates are negative, so to get this correct, we
need to calculate the height of the window above the content view
and use this information to get the mouse pos in positive
coordinates with origin window top left.

This bug was especially apperent with QDockWidget, as it became
almost impossible to dock a window under such circumstances.

Change-Id: I2faf6aab5e2aa0b4e217ea087ceec8c1b1e978bb
Reviewed-by: Morten Johan Sørvig <morten.sorvig@digia.com>
2012-10-18 21:50:27 +02:00
Jens Bache-Wiig f45afd7155 Introduce new style Fusion
This is a new non-native style for Qt.
It is intended as a replacement for the now aging
Plastique and Cleanlooks styles.

Change-Id: I30c0518a69e4e3b8b2b05ee7d84c3a5a1f307578
Reviewed-by: Jens Bache-Wiig <jens.bache-wiig@digia.com>
Reviewed-by: J-P Nurmi <jpnurmi@digia.com>
2012-10-18 21:46:21 +02:00
Tero Ahola 8b6de46771 Modified vertical alignments of simple widgets on OSX
Adding QCheckBox, QComboBox, QLineEdit etc. into an HBox layout or grid
layout makes the layout look like a snake's trail. Fixed the positioning
of these widgets to make the layouts visually more appealing.

Updated qmacstyle auto-test accordingly.

Task-number: QTBUG-13635
Ammended-by: Gabriel de Dietrich
Change-Id: I89461f9aad68ea8488070ed06257b9b8e7f493c5
Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@digia.com>
2012-10-18 21:45:46 +02:00
Andy Shaw d060620e6c Use the right properties when checking the frame's margins
Changed it to check the Frame*Margin property instead of the
Block*Margin property as this was incorrect for a QTextFrameFormat.

Task-number: QTBUG-22173
Change-Id: I2c3066165fb592ed034874b1180593822859f933
Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
2012-10-18 20:56:05 +02:00
Jens Bache-Wiig a2e4b7a92f Remove dependency on QWindowsStyle in QGtkStyle
Now that we no longer re-use the animation code in gtk,
it is time to remove this strange dependency.

Change-Id: Ib672a9b110dfba08d79b8654e572994007675957
Reviewed-by: Jens Bache-Wiig <jens.bache-wiig@digia.com>
Reviewed-by: J-P Nurmi <jpnurmi@digia.com>
2012-10-18 17:22:49 +02:00
Gabriel de Dietrich 92e4ec7a14 Bring back Mac dependent code in QBoxLayout, QGridLayout
We also made an accessibility auto-test more stable, so that it would
not be influenced by this patch.

Task-number: QTCREATORBUG-7966
Change-Id: I6ce4e2361c8847aee5dd1cf5664c29cd2d83e38d
Reviewed-by: Jan Arve Sæther <jan-arve.saether@digia.com>
2012-10-18 15:19:48 +02:00
Giuseppe D'Angelo e75be9f30e Add new error strings to QRegularExpression
They are introduced in PCRE 8.31.

Change-Id: Id0447b381d5e23996d4e87ae0368b07a8bc1c318
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
2012-10-18 15:17:22 +02:00
Friedemann Kleint 23c19acc59 Windows QPA plugin: Parse arguments from list passed to factory.
Using dynamic properties on the native interface is deprecated.

Change-Id: Ia3411780dad15af61d4805c0d9fabf00dba92301
Reviewed-by: Miikka Heikkinen <miikka.heikkinen@digia.com>
2012-10-18 15:13:11 +02:00
Jan Arve Saether 8660a3bce1 Make sure we copy *all known events* properly in order to not assert.
This caused the following assertion in tst_QAccessibility::listTest():
ASSERT: "m_type != QAccessible::TableModelChanged" in file
qaccessible.h, line 455

Change-Id: If1f1e80521f346019bdbd59aac58e30c870d6e4e
Reviewed-by: Frederik Gladhorn <frederik.gladhorn@digia.com>
2012-10-18 12:24:13 +02:00
Rohan McGovern bfbeaffda8 Fix compile with -no-widgets
Remove more unnecessary references to QtWidgets in accessibility
implementation.

Disable accessibility tests (which rely on QtWidgets) when QtWidgets is
not available.

Change-Id: I57315537779d31af1245d42d1b4c49174016da54
Reviewed-by: Jens Bache-Wiig <jens.bache-wiig@digia.com>
Reviewed-by: Frederik Gladhorn <frederik.gladhorn@digia.com>
2012-10-18 12:24:11 +02:00
Christian Strømme 6039179373 Fix for memory leak in ResultStore
In ResultStoreBase::addResults() it possible that the ResultItem we
create is invalid (filter-mode enabled). Since an invalid ResultItem
won't have any result data, we need to make sure that we don't allocate
any data for it.

Task-number: QTBUG-27224
Change-Id: Ic99b191db0e9dd4e29b64911f87d90a8148bb7a5
Reviewed-by: Morten Johan Sørvig <morten.sorvig@digia.com>
2012-10-18 00:58:11 +02:00
Gabriel de Dietrich 8003fd6d5b Mac: Fix QLineEdit shadow
The cursor is still rendered 1px too low, but probably needs to be
fixed in QTextLayout.

Change-Id: Ie56c7140898b941c8d896f503ce1934d0d681a4d
Reviewed-by: Jens Bache-Wiig <jens.bache-wiig@digia.com>
2012-10-18 00:14:59 +02:00
Jens Bache-Wiig 9410b307af Improve branch indicators in common style
The branch indicators in common style was painted based on motif
style, effectively making it useless.

Since most styles inherit from Windows style, I
moved that into common style. It was already duplicating
most of the code used in commonstyle.

Change-Id: I1a383d90254bb97aebc038fa058ec0f225cf9dab
Reviewed-by: Jens Bache-Wiig <jens.bache-wiig@digia.com>
Reviewed-by: J-P Nurmi <jpnurmi@digia.com>
Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@digia.com>
2012-10-18 00:14:48 +02:00
Jonathan Liu 12d25f1a42 Fix compilation with MinGW-w64
Change-Id: I0c9e6adc54ccce34e0f81af048f2a51a4ac051b4
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
2012-10-17 21:21:09 +02:00
Friedemann Kleint 4b7dd71aa0 Windows: Multisampling is disabled by default.
The previous code assumed that -1 indicated some sort of "auto",
but this is not the case according to documentation.

Task-number: QTBUG-27600
Change-Id: Id17ce32f94ded61a63a33d0c04ec5312f53c7923
Reviewed-by: Samuel Rødal <samuel.rodal@digia.com>
2012-10-17 21:21:03 +02:00
Friedemann Kleint 743d963078 Windows: QT_LIGHTHOUSE_WINDOWS_VERBOSE -> QT_QPA_VERBOSE.
Change-Id: Ieffa1f483cddd220b158ccd570af151420c8e3c3
Reviewed-by: Miikka Heikkinen <miikka.heikkinen@digia.com>
2012-10-17 21:20:57 +02:00
Thiago Macieira a0280e5cac Add qlibraryinfo.h to global.pri's HEADERS list
The file was already present but wasn't mentioned.

Change-Id: Icac4fd5276b071ed2173e72aed51abb4c0b5b50a
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
2012-10-17 20:53:16 +02:00
J-P Nurmi 9d86458d8c Fix potential crash in QStyleAnimation::updateCurrentTime()
A parentless/targetless QStyleAnimation calls updateCurrentTime() from
QAbstractAnimation constructor. Avoid the potential crash even if it's
not a valid use case for QStyleAnimation.

Change-Id: I9cd263d105c8ea4b5cbabac9a7680991745ccd95
Reviewed-by: Jens Bache-Wiig <jens.bache-wiig@digia.com>
2012-10-17 20:47:16 +02:00
J-P Nurmi a98b943557 Styles: revise indeterminate progress bar animations
Remove dependencies to QProgressBar where possible. This makes
it possible to animate for example QQuickItem based progress
bars (read: the desktop components).

Change-Id: If208506702365895576238c24191b8d70b90841c
Reviewed-by: Jens Bache-Wiig <jens.bache-wiig@digia.com>
2012-10-17 20:47:08 +02:00
Teemu Katajisto 037d1e18e3 Cocoa: remove current contentView when clearing window
Otherwise they might be still events sent to view with no
proper QWindow. Also, add dealloc QNSView for clean up.

Task-number: QTBUG-26580
Task-number: QTBUG-27456
Change-Id: Icdbe5c39490b72ec82795c2d71e5671cea81921e
Reviewed-by: Morten Johan Sørvig <morten.sorvig@digia.com>
2012-10-17 12:55:49 +02:00
J-P Nurmi 932bf57ea2 QGraphicsObject: handle QEvent::StyleAnimationUpdate
Change-Id: I8545d6f26e2c2398e750b0b85ba87892a2e376ae
Reviewed-by: Jens Bache-Wiig <jens.bache-wiig@digia.com>
2012-10-17 12:55:49 +02:00
Frederik Gladhorn d686ad12e8 Accessibility doesn't need QApp from QWidgets.
Change-Id: I440179bfa95d6aa73c8b69b09431e4dc9fae5436
Reviewed-by: Sergio Ahumada <sergio.ahumada@digia.com>
Reviewed-by: Jan Arve Sæther <jan-arve.saether@digia.com>
2012-10-17 12:55:49 +02:00
Richard Moe Gustavsen d6588d2051 QPlatformWindow: change API for QPlatformWindow::setWindowState
The current implementation requests the platform window to set
the window state if it can, and return the actual window state
back.

The problem with this approach is that the platform window is created
as late as possible, so a call to QWindow::setWindowState would in
many (most?) cases never be forwarded to the platform window (instead,
the platform window is responsible to check the current window state
upon creation). As such, the window state might be left unsynched with
the platform window.

This patch suggests removing the return value from
QPlatformWindow::setWindowState. This will at least be consistent, so
that setting/getting state would produce the same result independent of
delayed window creation. If needed, we can later add new API to
QPlatformIntegration or QPlatformWindow for querying supported/actual
window state.

Change-Id: Ie43f56169656854a765ce88b47a808f8f3d51bb4
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
Reviewed-by: Thomas McGuire <thomas.mcguire@kdab.com>
Reviewed-by: Samuel Rødal <samuel.rodal@digia.com>
Reviewed-by: Morten Johan Sørvig <morten.sorvig@digia.com>
2012-10-17 09:39:01 +02:00
Thiago Macieira 74227e073d Remove visibility attribute from function body in QtDBus
Those were using an inconsistent macro compared to the function
declaration in qdbusthreaddebug_p.h.

Change-Id: I3e77ba83ceedc99cb1f957fdfe318e34ab9c9628
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
2012-10-17 04:19:13 +02:00
Gatis Paeglis f2d8b94346 Add QDrag class to 'draganddrop' group
Change-Id: I0cb96f57486dbda7cb9ca19556515e1b2b4f6c3e
Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
2012-10-17 04:19:10 +02:00
Gabriel de Dietrich f8b6d104b9 Bring back MacSizeChange event
This ensures WA_MacNormalSize & Co. work (almost) properly.

Task-number: QTCREATORBUG-7966
Change-Id: Ib03b5c0f163409e2bc387f6cf9b56c72c43caec7
Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@digia.com>
Reviewed-by: Jens Bache-Wiig <jens.bache-wiig@digia.com>
Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
2012-10-17 04:19:09 +02:00
Marc Mutz 8c838f29d4 QFileInfoGatherer: remove m_resolveSymlinks for non-Q_OS_WIN
For some reason, m_resolveSymlinks was never set to true for
non-Windows systems. The constructor set it to false and the
setter was only implemented for Windows.

So remove the member and code that is only executed if it
is set to true, except on Windows.

Change-Id: I386e980688a603475a413e2ef3628d0754778c5c
Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
2012-10-17 04:19:06 +02:00
Mitch Curtis 9f83e499b5 Clarify ownership of scene in QGraphicsView::setScene() docs.
Change-Id: I550a02bce0633884ee1ffe2321c6462a34194f89
Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
2012-10-16 17:31:31 +02:00
Marc Mutz cd168110e0 QWindowsKeyMapper: use a more efficient data structure for 'keyLayout'
Instead of allocating small chunks (40 bytes) on the heap, use a contiguous
array to hold them. This always occupies 10240 bytes of memory instead of
1024 (32 bits) or 2048 (64 bits) for the pointer array (plus heap memory
which depends on the number of items allocated), but is more cache-friendly
and uses less memory when the array isn't sparse.

To emulate the nullptr, a new bool has been added (doesn't change
sizeof(KeyboardLayoutItem)).

Also replace a few more magic numbers by symbolic constants.

Change-Id: I7160f600faddd63deea265c89dc6fd857c7b557f
Reviewed-by: Oliver Wolff <oliver.wolff@digia.com>
2012-10-16 17:31:31 +02:00
Marc Mutz cab891dc50 QWindowsKeyMapper: remove dead code
As an array of automatic storage duration, 'keyLayout' can never be nullptr,
so remove the respective check.

Change-Id: I2fb2db8311de55b41a1f9aef7c35341949e38e5a
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
Reviewed-by: Oliver Wolff <oliver.wolff@digia.com>
2012-10-16 17:31:31 +02:00
Marc Mutz fb21212f1e QWindowsKeyMapper: replace one magic constant with a symbolic one
Replace occurrences of a literal 9 that mean 'number of modifier key
combinations' with the new symbolic constant NumMods.

Change-Id: I1e78a1a3c00b81095450ec0557e30751da44c39a
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
Reviewed-by: Oliver Wolff <oliver.wolff@digia.com>
2012-10-16 17:31:31 +02:00
Mark Brand a5e7c2802a QComboBox: mention insert policy in context of editable property
This makes it a little bit easier for the reader to discover what
editable combo boxes are about.

Change-Id: I60ce571f01e32d4cacb4718b42a8e12884bd1c13
Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
2012-10-16 17:31:31 +02:00
Joerg Bornemann 77308b4678 implement QCocoaWindow::setWindowIcon
Code taken from Qt 4.8.

Task-number: QTBUG-27175

Change-Id: I0f7a1add3ea63761c956e43d591cd1b26f25760e
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
Reviewed-by: Morten Johan Sørvig <morten.sorvig@digia.com>
2012-10-16 17:31:31 +02:00
Frederik Gladhorn 08748f147b Add parameter documentation.
Change-Id: I8ce85bbb286c3cb844ef600daa5e99432ee55b74
Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
2012-10-16 15:29:15 +02:00
Jens Bache-Wiig 3a685dcd5e Fix incorrectly scaled constants on Mac
This fixes several scaled constants on mac that are inherited from
commonstyle. (such as toolbutton arrows) It is probably easiest
to see when running Windows style on mac.
The problem was that the code assumed a default dpi of 96 would be
used on all platforms.

Change-Id: I83789589009b268dcb1d96629c3ec9e8f968a891
Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@digia.com>
Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@digia.com>
Reviewed-by: Shawn Rutledge <shawn.rutledge@digia.com>
2012-10-16 15:29:15 +02:00
Niels Weber 67ff460778 Document needed packages for XCB on Fedora.
Change-Id: I415416e82d342b232607fe7087350a9dad615f7a
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
2012-10-16 15:29:15 +02:00
J-P Nurmi 05c2113350 Add QObject* QStyleOption::styleObject
The object is used, amongst other things, as a target for
sending style animation updates.

Change-Id: Ic210e7ae2111bc08b70331a3a2030a494919a06d
Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@digia.com>
Reviewed-by: Jens Bache-Wiig <jens.bache-wiig@digia.com>
2012-10-16 15:29:15 +02:00