summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* cetcpsync: unneeded error message removedJoerg Bornemann2009-08-051-1/+2
| | | | | If file deletion fails then I don't want to know it. cetest tries to delete files more than once.
* Doc: fix qdoc errors in QSharedPointer documentation.Thiago Macieira2009-08-052-2/+3
| | | | | | | | | | I added the documentation to QWeakPointer::data, but I forgot to declare the class in the qdoc stub. Also, apparently I cannot link to a specific overload of a given function. Reviewed-by: Volker Hilsheimer
* Autotest: add QSharedPointer and QWeakPointer tests for QWidget tooThiago Macieira2009-08-053-1/+155
| | | | | | | | I don't want to link the tst_qsharedpointer test to QtGui, so I created a new test. This is testing only the basic manipulations. In special, it's not testing invalid constructs.
* Restore symmetry between QSharedPointer and QWeakPointer on QObjects.Thiago Macieira2009-08-054-0/+62
| | | | | | | | | | | | | | | | | | | | | | | With the previous commit, you could create a QWeakPointer from any QObject-derived object. It's possible because QObject now has a pointer to the QWeakPointer's d-pointer. However, if you did: QSharedPointer<QObject> obj(new QObject); QWeakPointer<QObject> weak1(obj); QWeakPointer<QObject> weak2(obj.data()); Then weak1 would shared d-pointers with QSharedPointer, but weak2 wouldn't. Also, weak1.toStrongRef() would work, but weak2.toStrongRef() wouldn't. This change makes QObject know where the d-pointer created by QSharedPointer is, so weak2 would get the same d-pointer. As a nice side-effect, you can check if a given QObject is shared by trying to promote its QWeakPointer to QSharedPointer. Reviewed-by: Bradley T. Hughes
* Performance improvements by avoiding creation of temporary QSharedPointers ↵Thiago Macieira2009-08-051-43/+25
| | | | with d=value=0
* Add support for using QWeakPointer with QObject, replacing QPointer.Thiago Macieira2009-08-055-5/+170
| | | | | | | | | | | | | | | | | | | | | | | | | The problem with QPointer is that it's a simple QObject*. So the only way for QPointer to do what it's supposed to do is if the object it's pointing to clears all QPointers when getting deleted. That means the QObject must know each and every QPointer pointing to it. To make matters worse, QPointers can be deleted while the object they're pointing to also gets deleted. So deleting QObjects must do locking. The solution to the QPointer problem is that both QObject and the "QPointer" reference something outside the QObject. This way, QObject doesn't have to lock anything to destroy itself: it's simply setting a volatile integer to zero when it gets deleted. Since the integer is outside the QObject, the integer is also refcounted. It's also O(1), so there's no problem having as many "QPointer". The two-atomic-ints structure is exactly what QSharedPointer and QWeakPointer use internally. We just abuse this structure for QObject needs, setting the strong reference count to -1 to indicate that it's a QObject that cannot be managed by a QSharedPointer. But QWeakPointer can still work and replace QPointer neatly. Reviewed-by: Bradley T. Hughes Reviewed-by: Jarek Kobus
* ItemViews: make it possible for chekcable items to get partiallyCheckedThierry Bastian2009-08-052-2/+13
| | | | | | | Previously it was only switching between checked and unchecked. Task-number: 259008 Reviewed-by: ogoffart
* QTapAndHoldGesture is gone, remove referenceVolker Hilsheimer2009-08-051-1/+1
|
* Fix failing autotest tst_QPlainTextEdit::lineWrapModes()mae2009-08-051-1/+6
| | | | | | QPlainText edit does lazy line wrapping only for the visible blocks. Resizing the editor in the auto test thus has to make it wide enough that at least some characters are visible for the block to be laid out.
* Fix compilation for compilers that don't have template friends.Thiago Macieira2009-08-051-1/+0
| | | | | | | GCC has template friends, so I wasn't seeing the error that d is protected. Thanks to Robert for pointing out. Reviewed-by: Robert Loehning <robert.loehning@nokia.com>
* cetest compile fixJoerg Bornemann2009-08-051-2/+3
| | | | Reviewed-by: TrustMe
* Fixed setting a style shet on a QSpinBox to change the arrow possitionOlivier Goffart2009-08-052-4/+87
| | | | | | | If you only set the position, of the button without setting a geometry, it did not work. Task-number: 259226
* Fix regressions introduced by 31edb4d5a63b9b3c28cce1c4ca6eb99f62a09759Alexis Menard2009-08-053-5/+54
| | | | | | | | | | The commit 31edb4d5a63b9b3c28cce1c4ca6eb99f62a09759 introduced regressions in filters which breaks the mac native dialog, the non native dialog with HideNameFilterDetails activated. Task-number:259105 Reviewed-by:olivier Reviewed-by:prasanth
* MainWindow: fixed an update issue when moving a separatorThierry Bastian2009-08-051-0/+3
| | | | | | A non painted (ie. garbage) area could appear if you had a fixed size dock widget and you moved the separator. The previous place where the separator was painted was not updated
* Re-enable the use of Common Item DialogPrasanth Ullattil2009-08-051-1/+3
| | | | | | This was disabled by patch bf305bc2e488ad4f08c49767246f31a81218991e Reviewed-by: Thomas Hartmann
* small cleanup in cetestJoerg Bornemann2009-08-052-17/+18
| | | | Reviewed-by: TrustMe
* missing license header added in cetcpsyncsvrJoerg Bornemann2009-08-051-0/+40
| | | | Reviewed-by: TrustMe
* Workaround a crash in qdoc.Volker Hilsheimer2009-08-051-0/+5
| | | | Caused by an odd number of classes it seems.
* initial revision of cetcpsyncJoerg Bornemann2009-08-056-0/+996
| | | | | | | This is the desktop client for communicating with a Windows CE device that runs the cetcpsync server. Reviewed-By: mauricek
* initial revision of cetcpsyncserverJoerg Bornemann2009-08-057-0/+1398
| | | | | | | cetcpsync is our simple ActiveSync replacement for Windows CE devices. This is the server which has to run on the device. Reviewed-By: mauricek
* cetest: add support for cetcpsync (our simple ActiveSync replacement)Joerg Bornemann2009-08-055-7/+305
| | | | Reviewed-By: mauricek
* QMenu: fix a crash depending on stylesThierry Bastian2009-08-051-9/+13
| | | | | We were calling pixelMetric and sizeFromContents with a NULL styleoption That crashes on mac and might also with other styles.
* Make \annotatedlist <group> work also in pages that are not \group pages.Volker Hilsheimer2009-08-051-9/+6
| | | | | | The command right now only lists the classes in the group, in alphabetical order. Not ideal for integrating into overviews, where the list should be ordered by relevance.
* sequential animation group: add autotest for pause/resumeThierry Bastian2009-08-051-0/+36
|
* qdoc: Removed the "No such group" qdoc error.Martin Smith2009-08-051-0/+2
| | | | | | | | This error was printed if you used a \ingroup xxx, but there was no \group xxx anywhere. Now we will stop using the \group command, but we will retain the \ingroup command for use with the \annotatedlist command.
* Add benchmark for deleting an item with many children.Andreas Aardal Hanssen2009-08-051-0/+11
| | | | | Task-number: 229124 Reviewed-by: TrustMe
* Add benchmarks for QGraphicsItem::setParenItem().Andreas Aardal Hanssen2009-08-052-1/+26
| | | | | | | | | | Ensure we test simple and deep constructs of setParentItem(). These benchmarks don't cover slowness in ancestor flag updating. QVariant is already identified as a contributor to this slowness, as is updating of the depth value (a deep tree crawl). Reviewed-by: Aaron Kennedy
* Compile fix (QGraphicsItem::setXRotation was removed).Andreas Aardal Hanssen2009-08-051-13/+1
| | | | | | | a6ea9ce6990003856ecadcca8ce9ddf37949363d removed this function; the benchmark was not updated. Reviewed-by: TrustMe
* Merge AudioServices into mainline.Justin McPherson2009-08-0588-2/+12950
|
* Merge branch '4.5'Bill King2009-08-0511-19/+71
|\ | | | | | | | | | | Conflicts: src/gui/graphicsview/qgraphicsitem.cpp
| * Get more database tests working/passing.Bill King2009-08-052-4/+18
| |
| * Make file extension case insensitive with the Gtk+ file dialogJens Bache-Wiig2009-08-041-1/+18
| | | | | | | | | | | | | | | | | | | | | | The Qt dialog treats extension filters as case insensitive where the default behavior of the Gtk+ file dialog is to be case sensitive. The GtkFileFilter allows only simple glob syntax to be used so we basically rewrite the extension string from .xyz to .[xX][yY][zZ]. Task-number: 259155 Reviewed-by: joao
| * Fix: Gtk native dialogs do not repaint when zero-timers are usedJens Bache-Wiig2009-08-041-0/+1
| | | | | | | | | | | | | | | | | | | | The problem was that our glib timers were given too high priority, effectively starving the Gtk event loop. By assigning our timer source, G_PRIORITY_DEFAULT_IDLE we ensure that all gtk+ events are handled first, thus allowing the native dialogs to respond and repaint properly. Task-number: 258433 Reviewed-by: bhughes
| * Fix indentation.Alexis Menard2009-08-041-1/+3
| | | | | | | | Reviewed-by:TrustMe
| * Fix ancestor flags that are not correctly update when reparenting.Alexis Menard2009-08-042-11/+28
| | | | | | | | | | | | | | | | | | updateAncestorFlags was not reseting the flags if you change the parent that have for instance itemsClipChildrenToShape to a new one that doesn't have that flag. Task-number:258956 Reviewed-by:bnilsen
| * Build on snow leopard.Morten Sorvig2009-08-041-1/+1
| | | | | | | | | | | | Don't error out when building qmake, just let it build a 64-bit binary (even for carbon) RebBy: Richard Moe Gustavsen
| * Merge branch '4.5' of git@scm.dev.nokia.troll.no:qt/qt into 4.5Jason McDonald2009-08-042-0/+3
| |\
| | * Preserved fill rule for perspective mapped strokes in raster engine.Samuel Rødal2009-08-032-0/+3
| | | | | | | | | | | | | | | Task-number: 254407 Reviewed-by: Gunnar
| * | Fix obsolete license headersJason McDonald2009-08-045-12/+10
| |/ | | | | | | Reviewed-by: Trust Me
* | Fixes casing issue in the PSQL driver.Bill King2009-08-051-5/+5
| | | | | | | | | | The record and primaryIndex functions don't take into account that psql treats different casing as different entities when enquoted.
* | Fix compilation after my last change to qobject_p.hThiago Macieira2009-08-041-3/+3
| | | | | | | | | | | | | | I renamed deletionNotification back to its original name. I had forgotten that QWidget needed a similar change. Reviewed-by: Trust Me
* | Fixed bug where Q[Styled]ItemDelegate edition wouldn't terminate whenGabriel de Dietrich2009-08-043-13/+35
| | | | | | | | | | | | | | | | | | the item lost focus to an unrelated dialog. The tests against the active modal window was unnecessary. Task-number: 257859 Reviewed-by: olivier
* | Restore the old name for QObjectDeletionNotification.Thiago Macieira2009-08-042-8/+7
| | | | | | | | | | | | | | | | | | | | | | | | If we're going to do changes to simplify some of the Declarative UI enablers, let's do them all at once. That way, the adaptation necessary happens only once, as opposed to every time we do the changes. I tried not to break by leaving a typedef, but obviously the QObjectPrivate member isn't affected by the typedef... Reviewed-by: Trust Me
* | Revert "Remove currentChildBeingDeleted from QObjectPrivate."Thiago Macieira2009-08-042-12/+18
| | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit 128717b171f01c82e5f0fb83f5923d4f7b9cfc10. The change broke Alien because QWidget no longer has the native window handle in its own private. It needs to access the top-level window (or the one with the native handle) in order to perform some operations. The problem is that it needs to do that in the destructor. And we cleared the parent before the destructor was run. Technically speaking, reverting is the correct thing to do, since the parent *still* exists when the child is deleted.
* | qregext filter changed to support additional parameter/unicodeMatthew Cattell2009-08-041-1/+2
| | | | | | | | | | | | | | | | | | | | changed the QRegExp filter back to the old form plus an additional piece to allow international characters. the new regular expression now allows a file type filter to contain a bracketed description prior to the filter set itself. 259105 Andy Shaw
* | Added the license header to the example.Denis Dzyubenko2009-08-042-0/+82
| |
* | Add QWeakPointer::data, which thread-unsafely returns the tracked pointerThiago Macieira2009-08-042-2/+75
| | | | | | | | | | | | | | | | This function allows one to retrieve the pointer out of a QWeakPointer without promoting it to QSharedPointer first. That means there are no guarantees that the object won't get deleted. Reviewed-by: Bradley T. Hughes
* | Reorganise QObjectPrivate so that it's easier to tell what's in it.Thiago Macieira2009-08-043-70/+66
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Also rename QDeclarativeData to QObjectDeletionNotification, since it has no relation to declarative UI. It's just notification of the object's deletion. Make the destructor non-inline and place it in qobject.cpp, so that the virtual table is emitted there and exported from QtCore. Also move the QObjectData destructor to qobject.cpp. This means you cannot create any class deriving directly from QObjectData outside QtCore, which is the intention anyways (it's a private class and only QObjectPrivate derives from it). Reviewed-by: Bradley T. Hughes
* | Clean up old Jambi code: there's a way of getting the QObject d-pointerThiago Macieira2009-08-041-8/+1
| |
* | Don't try to make direct system calls on Linux.Thiago Macieira2009-08-043-99/+10
| | | | | | | | | | | | | | | | | | Accept that we cannot do everything, so users using outdated toolchains may have threading problems (leaking file descriptors). It's not like this is a recent problem anyway... Reviewed-By: Bradley T. Hughes