summaryrefslogtreecommitdiffstats
path: root/src
Commit message (Collapse)AuthorAgeFilesLines
* Add a cut-off for simple rectangle lookups.Andreas Aardal Hanssen2009-04-061-0/+5
| | | | | | | | Make sure we use the rect-variation of QGraphicsScene's item lookup functions if the view has a simple transform and a simple expose region. Reviewed-by: Bjoern Erik Nilsen <bjorn.nilsen@nokia.com>
* Fixes: Cleanup/Optimize QGraphicsView::findItems.Bjoern Erik Nilsen2009-04-063-115/+94
| | | | | | | | | | | | | | RevBy: Alexis AutoTest: Still pass Details: findItems() does almost exactly the same as QGraphicsView::items, the only difference is that it checks whether we are about to redraw all items. Next step is to optimize the items_helper functions. The patch does also include a fix for ::items/childItems_helper(const QPainterPath ...); it didn't take Qt::Intersects/ContainsItemBoundingRect into account (in the same fashion as we do in the other helper functions).
* Fixes: Optimization: Cache QGraphicsItem::clipPath().Bjoern Erik Nilsen2009-04-062-7/+53
| | | | | | RevBy: Alexis AutoTest: Still pass Details: No-brainer.
* Fixes: Don't fill the pixmap because we will copy the cache into it.Alexis Menard2009-04-061-3/+1
| | | | | RevBy: bnilsen AutoTest: All pass + plasma ok
* Fixes: Be a bit more smarter when calling setGeometry from itemChangeAlexis Menard2009-04-064-29/+39
| | | | | | | | RevBy: bnilsen AutoTest: Bench Details : if we come from setPosHelper (so itemChange) we don't need to do all the stuff regarding the size in setGeometry because the size doesn't change. I remove two calls to fullUpdateHelper and update() because prepareGeometryChange already call updateHelper and setPosHelper call fullUpdaterHelper too so we don't need to call them inside setGeometry. We can only call prepareGeometryChange only if we don't come from setPos.
* Fixes: Small optimization in QGraphicsItem::clipPath().Bjoern Erik Nilsen2009-04-061-7/+6
| | | | | | RevBy: Andreas Details: Use QPainterPath::addRect() rather than addPolygon() and closeSubPath().
* Fixes: Optimize: QGraphicsItem::clipPath.Bjoern Erik Nilsen2009-04-061-31/+15
| | | | | RevBy: Andreas AutoTest: Still pass
* Fixes: Speed up QGrahicsItemPrivate::effectiveOpacity().Bjoern Erik Nilsen2009-04-062-1/+13
| | | | | RevBy: Andreas AutoTest: tst_QGraphicsItem::opacity still passes
* Fixes: Optimization: Important cut-offs for QTransform.Bjoern Erik Nilsen2009-04-062-3/+34
| | | | | | | Task: none RevBy: Samuel AutoTest: Still pass Details: Please do not perform (potentially expensive) calculations just for fun :)
* Fixes: Get rid of a gazillion calls to QTransform::operator*=.Bjoern Erik Nilsen2009-04-062-16/+27
| | | | Details: Be a little bit smarter before doing *= :)
* Fixes: Small optimization: reduce calls to QTransform::type().Bjoern Erik Nilsen2009-04-061-7/+8
| | | | | | | | | | Task: none RevBy: Ariya Hidayat AutoTest: Still pass. Details: QTransform::type() is cached, so only the first call to it should be expensive. However, it is not inlined so there's an overhead involved (especially when these functions are called a gazillion times).
* Fixes: Use QRect::isEmpty() rather than isNull() if possible.Bjoern Erik Nilsen2009-04-063-7/+7
| | | | | | RevBy: Andreas Details: Note that isNull() implies isEmpty(), but it only catches the cases where width and height is 0.
* Fixes: Cleanup calls to QGraphicsViewPrivate::updateRect()/updateRegion()Bjoern Erik Nilsen2009-04-061-14/+5
| | | | | | Details: Checking for QRect::isNull() was wrong in the first place, and checking for isEmpty()/isNull() is overhead after 4a491a84aeba68279927597a261522dcc23bb3ff.
* Fixes: Optimize QGraphicsViewPrivate::updateRect()/updateRegion().Bjoern Erik Nilsen2009-04-061-0/+6
| | | | | | | | Details: Those cut-offs are extremely important. After few seconds interaction with the iphone demo, updateRect() was called approx. 3000 times with an empty rect. Then imagine what happens when having e.g. FullViewportUpdate. We do q->viewport()->update() JUST FOR FUN!
* Fixes: Optimize QGraphicsView::itemUpdated.Bjoern Erik Nilsen2009-04-061-3/+10
| | | | | | | | Task: - RevBy: Andreas AutoTest: - Details: Accumulate the parentToItem transform as we iterate instead of creating it from bottom-up each time.
* Doc - Mentioned what the default filters are forKavindra Devi Palaraja2009-04-061-1/+4
| | | | | | | QFileSystemModel::filter(). Task-number: 250285 Reviewed-by: Benjamin Poulain <benjamin.poulain@nokia.com>
* Doc - Clarified that button style on X11 platforms may depend on theKavindra Devi Palaraja2009-04-061-1/+2
| | | | | | | desktop environment. Task-number: 250338 Reviewed-by: Jens Bache-Wiig <jbache@trolltech.com>
* BT: Fix a crash when running a widget window modal when it has no parentNorwegian Rock Cat2009-04-061-7/+5
| | | | | | | | We changed the logic for determining sheets, but it seems we forgot to take the parentWidget() into account. It's required for WindowModality to make any sense. Reviewed-by: Richard Moe Gustavsen
* QThread::start(): priority has no effect on Linux systemsBradley T. Hughes2009-04-061-0/+12
| | | | | | | | | The default scheduling policy on Linux doesn't allow specifying thread priorities, so the priority passed to start() and setPriority() has no effect. Document this. Task number: 249997 Reviewed-by: Kavindra Devi Palaraja <kavindra.palaraja@nokia.com>
* Fix up color matching on 64-bit Cocoa.Norwegian Rock Cat2009-04-061-7/+38
| | | | | | | | | | | | | | | | It seems that GetThemeTextColor is not available at all for 64-bit versions of the operating system and there is no good equivalent. We were using a technique where we would create a small pixmap and then use HIThemeSetTextFillColor() with the proper enum. However, this function will silently set a black color if it doesn't know about the enum. So, we get black when we really shouldn't. It also seems to produce colors that are a bit different from the Carbon function. So, in the meantime, just hard code the values in. It might break if you are hacking the resources in Mac OS X, but we'll have to live with that until we get a real function. Task-number: 248918 Reviewed-by: Prasanth Ullattil
* Fix QNetworkReply's automatic pushing of a cache when the cache isThiago Macieira2009-04-061-17/+27
| | | | | | | | | | | | | | | | | | | | | | | | | more than 64k. This issue was found by Warwick: the copyReadyRead() slot is called only once as a result of readyRead(), but since there's no more data to be received (the source QIODevice is a QBuffer), we'll never get a readyRead() again. So, if we don't have a limited buffer size, we should read everything. This applies to QFile as well. The side-effect is that we cause the entire QFile to be loaded to memory, so if you had a 2 GB cache entry, you'll probably run out of memory. Future optimisations: - don't memcpy the data from a QBuffer into another buffer - find a way to avoid loading the entire contents of the file (probably not possible with the default QNetworkDiskCache since that may compress the data, so we won't know the size and thus can't fake finished()) Reviewed-by: Warwick Allison
* Add some timing capabilitiesAnders Bakken2009-04-043-1/+26
| | | | | | | Add some frames-per-second output for debugging when QT_DIRECTFB_TIMING is defined. Reviewed-by: Donald <qt-info@nokia.com>
* QScreen::flush() no longer draws the titlebarAnders Bakken2009-04-041-5/+0
| | | | | | We don't need to chain to the base class anymore. Reviewed-by: Donald <qt-info@nokia.com>
* Silence warning and beautify codeAnders Bakken2009-04-032-24/+13
| | | | | | | Even though these variables couldn't really be used uninitialized GCC 4.3.2 thinks it could. This is nicer, more readable and faster anyway. Reviewed-by: Donald <qt-info@nokia.com>
* QGtkStyle: Fix styling and palette issues related to combo boxJens Bache-Wiig2009-04-035-39/+89
| | | | | | | | | | | | | | | | | | | | | | Well actually this change is a bit bigger than just that. *We no longer override the palette you provide in polish so it should be a bit more frienly toward custom application changes. * Another issue was that we would generate the palette information when we got the style callback from gtkButton but then the line edits might not yet have been polished. Hence we now return from the callback and instead post the update for later. * We had to modify the PE_Frame entry to draw a raised menu when the custom combo box delegate was used. * We now simply ignore custom qtconfig palette entries when using GtkStyle since they only cause trouble with it. Task-number: 250142 Reviewed-by: nrc
* Fixes crash in QTreeView with QSortFilterProxyModelOlivier Goffart2009-04-031-0/+1
| | | | | | | | | If we get an hover event while the model gets invalidated, we might ends up calling itemDecorationAt before the viewitem is refreshed. Can be reproduced in KTorrent (Relates to KDE bug 172198) or Kopete trunk Reviewed-by: Thierry
* Do not loose WindowType flags when setting translucent background in X11Olivier Goffart2009-04-031-1/+1
| | | | | | | | This fixes KRunner on XMonad. The Qt::Dialog flag of the krunner dialog was lost when the Qt::WA_TranslucentBackground was set, leading to incorrect behaviour in some window manager (such as xmonad) Reviewed-by: Samuel
* Fix a crash in QFileDialog with a proxy on it.Alexis Menard2009-04-032-22/+44
| | | | | | | | | | | | The main problem is that enterDirectory received a QModelIndex that can be a proxy index and not a source index if there is a proxy set on the QFileDialog. This fix basically discover some other crashes in the completer. The problem was that we didn't apply the proxy to the completer too. So we basically messed up source and proxy indexes. Both have a proxy set now and convert the model indexes if needed. Task-number:250194 Reviewed-by:jasplin
* BT: Compilation on WinCE.Trond Kjernåsen2009-04-031-1/+1
| | | | Reviewed-by: Kim
* Use the standard 'type name = value' variable declaration for PODThiago Macieira2009-04-031-1/+1
| | | | | | | | | | | | types. C++ is nice, but we don't have to use confusing syntax when plain old C works (and is correct). This apparently fixes a compilation error on MSVC 6, that doesn't like the constructor-like initialisation for POD types. Reviewed-by: Trust Me BT: yes
* Removed usage of NaN in SVG gradients.Kim Motoyoshi Kalland2009-04-033-15/+21
| | | | | | | | | | | | | | Since there is no way to find out if gradient stops have been added to a gradient, a gradient stop at NaN was earlier used in the SVG module to mark the gradient as empty. This could cause floating point exceptions. The usage of NaN has now been replaced by a boolean in QSvgGradientStyle. Duplicate entry "qxmlpatterns" was removed from auto.pro in the auto test directory. Task-number: 250146 Reviewed-by: Samuel
* Fix focus policy propagation bug in QCompleter.jasplin2009-04-031-0/+7
| | | | | | | | | | | | | | | Commit 4a00810cc394b7da99ddb2d13eb045352ede25d3 ensures that setting the focus policy of a widget applies to its proxy (if any) as well. This propagation effect is however unfortunate for a QCompleter in PopupCompletion mode. The client widget (typically a QLineEdit or a QTextEdit) acts as the focus proxy to the popup menu. Internally, the completer sets the focus policy of the popup menu to NoFocus, but this should not affect the focus policy of the editor. Reviewed-by: janarve Task-number: 250064
* Suppress unnecessary "Could not re-create the temporary EGL surface" warningsRhys Weatherley2009-04-031-1/+1
| | | | | | | The wrong temporary surface id was being used to recreate the EGL surface. It was "tempSurface" when it should have been -1. Reviewed-by: Ian Walters
* Add information about QT_* defines that are needed to make PowerVR workRhys Weatherley2009-04-031-0/+3
| | | | | | | The QT_QWS_CLIENTBLIT and QT_NO_QWS_CURSOR defines must be supplied or the direct paint regions used by the PowerVR driver won't work. Reviewed-by: trustme
* Only set system style when it actually changesJens Bache-Wiig2009-04-021-1/+5
| | | | | | | | | | | This issue would cause Qt Creator and similar apps with proxy styles to loose their custom styling whenever any x11 system settings changed. This happened because we would re-read the settings and override the system style even if the system style did not actually change would be set on the application. We Task-number: 250199 Reviewed-by: ogoffart
* make relative #include relative to the current fileOswald Buddenhagen2009-04-021-1/+1
| | | | i.e., use "", not <> and thus rely on the include path
* Delete temporary file if copy was unsuccessfulJoão Abecasis2009-04-021-1/+4
| | | | | | | | | | | This is an untested bugfix -- comes solely from reading the code. In QFile::copy's fallback implementation a (temporary) file is created for block copying from the source file. When Qt is built without temporary file support this doesn't seem to be deleted in case of an error while block copying or renaming to the final destination. Reviewed-by: mariusSO
* Renaming a file does not change QFile's fileNameJoão Abecasis2009-04-021-0/+5
| | | | | | | | | | QFile made no attempt to reset the file name on a rename. We now reset the fileEngine's fileName if it was able to handle the rename. Otherwise, we call setFileName, which will result in reallocation of the fileEngine. Task-number: 244485 Reviewed-by: mariusSO
* QFile::rename didn't always return false when method failedJoão Abecasis2009-04-021-3/+9
| | | | | | | | | The fallback implementation for rename would return true in some situations where the move failed. Also the destination file might be created and left there in these cases. Task-number: 244500 Reviewed-by: mariusSO
* Doc - fixing a broken link in the documentation of QWebPageKavindra Devi Palaraja2009-04-021-1/+1
| | | | Reviewed-by: Simon Hausmann <simon.hausmann@nokia.com>
* Improved stylesheet support for setting background and foreground rolesJens Bache-Wiig2009-04-024-23/+19
| | | | | | | | | | This makes sure that style sheets set both ButtonText and WindowText roles for all widgets. This fixes among other things the fact that you could not configure text colors for combo box popups on Mac, Gtk and CleanLooks or set the background for the whole scrollbar. Task-number: 160713 Reviewed-by: ogoffart
* Fixing some CoreText errors.Norwegian Rock Cat2009-04-022-14/+19
| | | | | | | | | | | | Apparently CoreText is too good for us and always gives us fractional information. Which would be food for design metrics, but not good for drawing to the screen. The upshot of it is that we do the ceiling of every value we get. This is as stop gap solution for the moment. Things in Creator should look better now. Also added the ability to disable kerning. Reviewed-by: Simon Hausmann
* Doc: Added a note about copying by value in QMetaProperty and included ↵David Boddie2009-04-021-3/+15
| | | | | | | | | details about BlockingQueuedConnection in QMetaObject::invokeMethod(). Task-number: 187869 Task-number: 216742 Reviewed-by: Thiago Macieira Reviewed-by: Morten Sørvig
* Updated WebKit from /home/shausman/src/webkit/trunk to origin/qtwebkit-4.5 ( ↵Simon Hausmann2009-04-025-4/+34
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | 9c6a4a25fe741b43dd64f5dbaeccfb647cb321fb ) Changes in WebKit since the last update: ++ b/WebKit/qt/ChangeLog 2009-04-02 Takumi Asaki <takumi.asaki@nokia.com> Reviewed by Simon Hausmann. Fix pre-edit handling of text fields with input methods. The input method sends an empty preeditString() if all characters of the preedit should be deleted. So inputMethodEvent() has to use preeditString() if it's empty. * Api/qwebpage.cpp: (QWebPagePrivate::inputMethodEvent): 2009-03-30 Simon Hausmann <simon.hausmann@nokia.com> Rubber-stamped by Tor Arne Vestbø. Document that setHtml/setContent loads only the html/data immediately, not external objects. * Api/qwebframe.cpp: * Api/qwebview.cpp:
* Doc - fixed a typo: iterartor -> iteratorSimon Hausmann2009-04-022-4/+4
| | | | Reviewed-by: Trust me
* Fix slowdown regression in QGraphicsItem::ItemCoordinateCacheAndreas Aardal Hanssen2009-04-021-4/+7
| | | | | | | | | | | | | | | Right before Qt 4.5.0 was released, Alexis and I submitted change 7e9b000ee418ef2d9c8fadb2c6b8870e0335bd5e, which accidentally introduced a rounding error causing items whose bounding rect contains fractional numbers (e.g., QRectF(-0.5, -0.5, 11, 11)), to always be drawn with a one-pixel strech even if otherwise untransformed. This caused a significant slowdown for pixmap items and any shape item that uses almost any pen width != 0, if they enable ItemCoordinateCache. The fix is to consistently use the aligned rectangle both when generating the cache pixmap and when drawing it. Reviewed-by: Alexis
* Doc: Clarified the usage of QImage::dotsPerMeterX() and QImage::dotsPerMeterY().David Boddie2009-04-011-6/+10
| | | | | Task-number: 240164 Reviewed-by: Jan Erik Hanssen <janerik@trolltech.com>
* Doc: Trivial fixes.David Boddie2009-04-011-4/+4
| | | | Reviewed-by: TrustMe
* Doc - clarified that QMessageBox's predefined icons are not defined inKavindra Devi Palaraja2009-04-011-16/+16
| | | | | | | QMessageBox, but provided by the style. Task-number: 249946 Reviewed-by: TrustMe
* Marked QWidget::resetInputContext() function as obsolete.Denis Dzyubenko2009-04-011-4/+8
| | | | | | | | | Fixed the behavior of the function that was broken by me some time ago. But anyway this function is for convenience only since QInputContext that operates on the widget is available to the user directly. Reviewed-by: Prasanth Ullattil