Commit Graph

442 Commits (42f5786104f9eef9542df2c7469a03324978281d)

Author SHA1 Message Date
Samuel Rødal 42f5786104 Get the QWidget auto-test compiling and running. 2011-05-20 13:56:11 +02:00
Samuel Rødal af4e5576f4 Added QGuiApplication::activeWindow(). 2011-05-20 13:45:55 +02:00
Lars Knoll d8d6bfb81e remove an unused class
QDrgResponseEvent wasn't used anywhere in Qt anymore.
Get rid of it.
2011-05-20 12:21:17 +02:00
Lars Knoll 82bba7e4ef move drag handling back to Gui
Move the DnD related classes back into
QtGui. Parts of the implementation is currently
commented out and needs to be moved to
QWidgetWindow.

SC incompatible change:
APIs taking QWidget * now take QObject *
2011-05-20 12:21:02 +02:00
Morten Sorvig e0b5bfdda9 Build the cocoa plugin on Mac. 2011-05-20 10:59:05 +02:00
Morten Sorvig e285501267 Add QCocoaNativeInterface.
Supports getting the NSOpenGLContext for now.
2011-05-20 10:58:37 +02:00
Samuel Rødal ea7277690d Better setWindowFlags() support in XCB window.
We need to re-create the native window in setParent, as used to be done
in QWidgetPrivate::setParent_sys in qwidget_x11.cpp.
2011-05-19 10:53:30 +02:00
Morten Sorvig e0e696dd05 Remove QMAKE_MACOS_DEPLOYMENT_TARGET.
Not needed any more, 10.5 and up supports setting
the deployment target/minimum version on the
compiler command line.
2011-05-19 09:18:46 +02:00
Samuel Rødal 2a5cc5fc62 Support Qt::WindowStaysOnTopHint and other window flags in XCB backend. 2011-05-18 12:28:09 +02:00
Morten Sorvig 864815ef2e Port Qt 5 to Mac. 2011-05-18 12:09:17 +02:00
Samuel Rødal 516f4e283b Add QWindow::setWindowModality().
Also set corresponding window manager hints in xcb plugin.
2011-05-18 09:32:17 +02:00
Samuel Rødal 10a3b10726 Re-implement transient window support in XCB backend.
If a QWindow has a parent but is top-level the corresponding
QPlatformWindow should not be re-parented but instead be made transient
for the parent window if possible.
2011-05-16 17:28:56 +02:00
Samuel Rødal 25f70314e0 Implement QWindow minimum/maximum/base size hints and size increments. 2011-05-16 16:40:32 +02:00
Lars Knoll 276d60a4d6 Merge remote branch 'origin/master' into refactor
Conflicts:
	src/modules/qt_openvg.pri
	src/widgets/to_be_moved/qlinecontrol_p.h
2011-05-16 10:19:02 +02:00
Eckhart Koppen 73e1f35fa3 Removed duplicate setting of QT dependencies
Reviewed-by: TrustMe
2011-05-13 18:36:12 +03:00
Samuel Rødal 850b602c7a Initial QPlatformWindow window state setting API and xcb implementation. 2011-05-13 15:13:15 +02:00
Eckhart Koppen a9c2c15487 Updated default Qt version to 5.0.0
Changed default version in qbase.pri and qpluginbase.pri in case no
version is given at all.
2011-05-13 15:38:00 +03:00
Eckhart Koppen 36c29abc0d Removed deprecated functions in QList
Removed detach, detach2, detach3 and append which were marked
as required only up to 4.5.x
2011-05-13 13:47:56 +03:00
Eckhart Koppen 23d98f70b9 Updated Qt and QtBase module version number to 5.0.0
Updated version in qglobal.h as well as the module version itself
2011-05-13 13:22:30 +03:00
Eckhart Koppen 7d756ed718 Updated data stream version for Qt 4.9 and 5.0
For now, using the same version as 4.8. This needs to be corrected
when the actual data stream version is known.
2011-05-13 13:15:04 +03:00
Laszlo Agocs 542ba35f2f Fix deadlocks in wayland clipboard that can occur in special scenarios.
setMimeData() emits the changed signal always so to prevent duplicated
signals keyboardFocus() must only emit when the change came from
another wayland client. However direct connection may cause issues
when invoking the slot from a wayland callback, so use a metacall
to make sure we return from the callback. Unnecessary data transfer
and potential deadlock is now also avoided when a client is requesting
the mime data from itself.

Reviewed-by: Jørgen Lind
2011-05-13 09:27:11 +02:00
Jason McDonald dd1a7a6379 Merge branch 'master' of git://scm.dev.nokia.troll.no/qt/qtbase-staging 2011-05-13 10:42:41 +10:00
Jason McDonald d9119535a2 Make error checking in QSignalSpy consistent
QSignalSpy's constructor failed gracefully for some problems with the
parameters, but not for null parameters, for which there was only a
Q_ASSERT.  This commit makes the handling of null parameters consistent
with the handling of other errors -- output a meaningful error message
with qWarning() and return, so that isValid() will subsequently return
false.

Change-Id: I7f5677a4c10185e30403ce3e12a022de8c13bc1c
Task-number: QTBUG-14283
Reviewed-by: Rohan McGovern
2011-05-13 10:42:06 +10:00
Lars Knoll 1a1471718d fix compilation with namespaces
Reviewed-by: Bjørn Erik Nilsen
(cherry picked from commit 7a1c29f101b95c9cc2cb53f8b80d231b5a994a9a)
2011-05-12 22:52:49 +02:00
Lars Knoll 4214ddc1d9 Fix compilation with namespaces enabled
Reviewed-by: Samuel Rødal
(cherry picked from commit bff68fc7094a50af57f7da23ecf9b25cab00f188)
2011-05-12 16:36:48 +02:00
Frederik Gladhorn 38ed8c2ddd Make QLineControl send accessibility updates.
To make it emit the signals for the right object, it needs its parent to
be the QGraphicsItem/SGItem/QLineEdit.
According to IA2 it should emit TextUpdated and CursorMoved signals.
TextChanged is deprecated.
More fine grained signals would be desireable but this makes changes work at all.

Reviewed-by: Morten Sorvig
2011-05-12 15:59:33 +02:00
Jan-Arve Sæther 1625b25a9f Revert "Fix double painting when adding an item into a linear layout"
(It did not really fix the issue.)

This reverts commit 33f525e636ef8fa64a15d3e66c56adaea0075bda.

Conflicts:

	src/gui/graphicsview/qgraphicslinearlayout.cpp
	tests/auto/qgraphicswidget/tst_qgraphicswidget.cpp
(cherry picked from commit fee052e3e37b3335fe563cb8a1881bf59f9e25d0)
2011-05-12 15:51:02 +02:00
Sergio Ahumada 446a7ba4ff Fix licence headers again for MR 900
See commit b00089261eafbdf5f92ed94d7fb20b402bfcaeb2

Reviewed-by: Gabriel de Dietrich
(cherry picked from commit bc16ebdb7aeff70fe8149297183636ea7fd14ed1)
2011-05-12 15:48:46 +02:00
Jan-Arve Sæther 913ff73200 Avoid flicker when invalidate is propagated in a widget/layout hierarchy
* Do not call invalidate from activateRecursive().
  This resulted in that a layout was invalidated as many times as there
  were items in the layout.

* Several improvements. Do not call resize(size()) too often.
  Calling resize() from the widgetEvent() is not very nice though...

* Remove commented out code

* make sure layout is activated even if the widget does not change size

* activate the layout if the resize is same as size()

* In order to not break existing apps, make this an opt-in feature
  with QGraphicsLayout::setInstantInvalidatePropagation(true);

Reviewed-by: Frederik Gladhorn
Reviewed-by: John Tapsell
2011-05-12 15:47:26 +02:00
Gabriel de Dietrich 1ce725cb60 Fix licence headers again for MR 900
See commit b00089261eafbdf5f92ed94d7fb20b402bfcaeb2

Reviewed-by: Trust me
(cherry picked from commit 7b6a7f475119878681c9d0c06b29896ec3fe72c3)
2011-05-12 15:43:54 +02:00
Lars Knoll 6697f2a899 Merge remote branch 'origin/master' into refactor
Conflicts:
	src/gui/gui.pro
	src/gui/painting/painting.pri
	src/opengl/opengl.pro
	src/openvg/openvg.pro
2011-05-12 12:48:12 +02:00
Lars Knoll 1f806aa1b4 New algorithm for drawing thin lines
Added a new QCosmeticStroker class for drawing thin
lines. The class can handle both aliased and antialiased
lines.

The code replaces all the midpoint line drawing algorithms in
the raster paintengine and gives correct subpixel positioning
for lines.

It gives around 30% to 50% speedup against the midpoint algorithm. If
we missed that fast path, the speedup is around between a factor of
6 to 8 for lines and aliased paths and 100 and 400 for antialiased
paths.

Reviewed-by: Kim
(cherry picked from commit 37c329a3e35fabc88fbcad824a69f37c671d2132)
2011-05-12 10:36:29 +02:00
Lars Knoll e577d02cc9 move files in src/gui into their final locations
Rename the guikernel subdir to kernel
and guiutil to util.
2011-05-11 20:18:42 +02:00
Samuel Rødal e40443f7df Prevent crash in OpenGL engine when scaling images / pixmaps.
Make sure the resulting image / pixmap is valid if the source was valid.

Task-number: QTBUG-19157
Reviewed-by: Kim
Reviewed-by: Benjamin Poulain
(cherry picked from commit 1c5da7207a21cc44a4a08d291c290ffcd9b958fd)
2011-05-11 17:34:42 +02:00
Stephen Kelly d49c561b73 Add the QIdentityProxyModel.
Older commit history is in KDE svn:
http://websvn.kde.org/trunk/KDE/kdelibs/kdeui/itemviews/kidentityproxymodel.cpp?view=log

Ammended to update the license headers.

Merge-request: 900
Reviewed-by: Gabriel de Dietrich <gabriel.dietrich-de@nokia.com>

Conflicts:

	doc/src/frameworks-technologies/model-view-programming.qdoc
	tests/auto/headers/tst_headers.cpp

(cherry picked from b00089261eafbdf5f92ed94d7fb20b402bfcaeb2)
2011-05-11 17:37:48 +02:00
Shane Kearns 9d1a7b21c0 update def files
Reviewed-by: Trust Me
(cherry picked from commit 84cf56543c3e9add4f06ed65cf419561117ee739)
2011-05-11 16:40:09 +02:00
Martin Petersson 483807d4f2 emit QNetWorkAccessManager::finished on QNetworkReply::abort()
If we can not get online when the request is made then we are in the
WaitingForSession state. This will happen for example if the device
is in flight mode. This fix follows the same logic as in
_q_networkSessionFailed, but we should look into why we have the
WaitingForSession check in finished().

Task-number: QT-4747
Reviewed-by: Markus Goetz
(cherry picked from commit 0c9cb9a34d6b472cb53bf1af4616af55b593b616)
2011-05-11 16:39:59 +02:00
Oswald Buddenhagen 23db871a44 make QLibraryInfo return clean paths
as a side effect, don't use QDir for path resolution - it doesn't buy us
anything.

Task-number: QTBUG-1371
Reviewed-by: joerg
(cherry picked from commit 9cd62e4f7b23894a672297f6eebda64cdbd53cb0)
2011-05-11 16:39:45 +02:00
Oswald Buddenhagen 86a6ffbc3e make relative paths in qt.conf work inside qmake
Task-number: QTBUG-11602
Reviewed-by: joerg
(cherry picked from commit e6bb6ba76942d98e4b50a7fd32bf44e211f2fa5e)
2011-05-11 16:39:43 +02:00
Shane Kearns 119da2c8d4 Sockets: Fix potential null pointer usages
QAbstractSocketEngine::createSocketEngine can return 0 as well as throw.
In two cases the pointer was being used before the null check, in a 3rd
case the null check was missing.

Reviewed-by: Markus Goetz
(cherry picked from commit 19edac88af53eea7f733cabbaee77f9b725b7ea9)
2011-05-11 16:39:40 +02:00
Markus Goetz 10646142ae QNAM: Re-order checks in migrateBackend()
Do the easy checks first, will avoid a crash in the HTTP code
if request is serviced from the cache.

Task-number: QTBUG-18770
Reviewed-by: Peter Hartmann
(cherry picked from commit d03a28a289cf0665290e6ea0375b31cbb2d6649e)
2011-05-11 16:39:29 +02:00
Miikka Heikkinen a2e836f3c1 Fix initial main window dimensions for "fullscreen with softkeys" case
The application main window defaults to fullscreen size when initially
constructed, even if softkeys are specified for it, as the screen
furniture is constructed later in show_sys. This resulted in the main
window being partially under softkeys.
Fixed by invoking handleClientAreaChange() explicitly in show_sys in
fullscreen with softkeys case.

Task-number: QTBUG-19043
Reviewed-by: Sami Merila
(cherry picked from commit e8fc93973a41f193665baa5fdc26cba951bd692f)
2011-05-11 16:39:20 +02:00
Bjørn Erik Nilsen 1e41e3076a Fixes crash in QWidget::effectiveWinId.
Widgets are left in a transitional (and incosistent) state while being
re-parented, which caused QWidget::effectiveWinId() to crash in certain
circumstances. See patch for more details.

Auto test included.

Reviewed-by: ogoffart
(cherry picked from commit 6db0153cd7e35e4a919a76ae2aadbf2d2510bfb7)
2011-05-11 16:38:49 +02:00
Shane Kearns 7ee981a834 Fix crash when QSocketNotifier used with an invalid descriptor
select code for open C file/socket descriptors was crashing in FD_SET
if a QSocketNotifier was created with an invalid descriptor.

Added two autotests to QSocketNotifier, one to check notifiers with
bogus socket descriptors don't crash, the other to check that notifiers
with posix socket descriptors do work. (symbian socket engine doesn't
use them so they are not implicitly tested)

Reviewed-by: mread
Task-Number: QTBUG-18138
(cherry picked from commit 8a9a6afcf02f089f932bc81431ab46a60af32134)
2011-05-11 16:37:58 +02:00
Shane Kearns fe56131236 Optimisation - buffer packet read in pendingDatagramSize
In Symbian, the OS function to get the size of a pending datagram also
includes the size of the packet header (which is different for IPv4 and
IPv6). We were reading the datagram with the "peek" flag set to
implement pendingDatagramSize, then reading again normally when the
client called read/readDatagram.

This change removes the "peek" flag, and buffers the datagram in the
socket engine, returning it and clearing the buffer when read or
readDatagram is called.
If there is no buffered data, the existing code path is followed - it
isn't mandatory to call pendingDatagramSize before reading from the
socket.

Reviewed-by: Markus Goetz
(cherry picked from commit dd8de4c2437397748daba49569cbc7f89a8bfbee)
2011-05-11 16:37:23 +02:00
Shane Kearns 7d505004f5 Remove warnings when disabling notifications on a closed socket
The generic layer calls setReadNotificationEnabled(false) on sockets
after they are closed. This no longer causes a warning from the symbian
socket engine. A warning will only be emitted if trying to enable
notifications on a closed socket.

Task-number: QTBUG-18713
Reviewed-by: Markus Goetz
(cherry picked from commit 0aa780235c24ed724fcf6a9095a6467e34b9346e)
2011-05-11 16:37:18 +02:00
Qt Continuous Integration System 1a1af689fc Merge branch 'master' of git://scm.dev.nokia.troll.no/qt/qtbase-staging
* 'master' of git://scm.dev.nokia.troll.no/qt/qtbase-staging:
  Fix tst_QVariant::invalidColor
  Move QTextCursor::MoveStyle to Qt namespace
  Add some QRawFont related low level functions to avoid extra copying
2011-05-11 23:47:33 +10:00
Jiang Jiang 16628b76c0 Move QTextCursor::MoveStyle to Qt namespace
We cannot use QTextCursor::MoveStyle enums in QTextLine because
QTextCursor is not a QObject, while referring to that enum in
Q_PROPERTY requires it to be. That's why we need to move the
enums in Qt namespace.

Reviewed-by: David Boddie
(cherry picked from commit 5eba82b752e85a5d6cb3a893214ed2646d75f362)
2011-05-11 15:28:09 +02:00
Jiang Jiang 3032ba0f8e Add some QRawFont related low level functions to avoid extra copying
Added functions:

- QRawFont::glyphIndexesForChars(const QChar *chars, int numChars,
  quint32 *glyphIndexes, int *numGlyphs) const
- QRawFont::advancesForGlyphIndexes(const quint32 *glyphIndexes,
  QPointF *advances, int numGlyphs) const

Reviewed-by: Eskil
(cherry picked from commit 965af9eb2932efae5d736df54c3859460017b6a5)
2011-05-11 15:26:34 +02:00
Samuel Rødal 47b36ae639 Deliver leave event to proper widget (not the top-level). 2011-05-11 14:40:01 +02:00