summaryrefslogtreecommitdiffstats
path: root/src/gui
Commit message (Collapse)AuthorAgeFilesLines
* Fixed a problem that caused QPrintDialog to invalidate QPrinter.Trond Kjernåsen2009-05-071-5/+5
| | | | | | | | | When passing a printer that is set up to print to a PDF file into QPrintDialog, the print dialog could invalidate the printer and not update the validity of it in a proper manner. Task-number: 252873 Reviewed-by: Samuel
* Compiler warnings (Mac/Carbon)Bjoern Erik Nilsen2009-05-074-7/+6
| | | | Reviewed-by: nrc
* handle the back soft key on Windows mobile SmartPhonesJoerg Bornemann2009-05-072-1/+30
| | | | | | | | | We must tell the system that we want to intercept the back key on Windows mobile. Each toplevel widget that needs correct back key behaviour needs to have a menu bar. Why? Ask Microsoft... Task-number: 248846 Reviewed-by: thartman
* Fixed some inconsistencies for image drawing on non-integer coords.Samuel Rødal2009-05-071-3/+16
| | | | | | | | | | | | | | The fix for 1x1 source rect image drawing in change ffbb3c1a2aee4134dce80cd144a26bf32865b698 was incorrect for transforms with type >= TxScale. The aliased coordinate delta needs to be applied in device coordinates, not in logical coordinates. Also specialize the non-antialiased TxScale case by simply calling fillRect_normalized directly, avoiding having to scan convert the rectangle manually. Task-number: 251561 Reviewed-by: Trond
* Win: QLineEdit not updating correctly when embedded in Graphics ViewBjoern Erik Nilsen2009-05-071-1/+2
| | | | | | | | | | | | | | | | | | | | Updates triggered by the line edit itself, i.e. cursor blinking, are not processed after the top-level is resized. This is yet another problem caused by the event dispatcher on Windows (Qt posted events are not sent during top-level resize, task 146849). We added a work-around for that particular case by posting an event via Windows, but the widget is not visible on the screen (hidden from Windows' POV) so it'll never be posted. And of course then we'll never receive it and the backing store is not synced. This work-around is therefore useless for widgets that are not visible on the screen. However, not receiving update requests while resizing the top-level (in this case QGraphicsView), is not a problem for embedded widgets because all items and hence the proxied widgets are repainted by graphics view anyways. Task-number: 252400 Reviewed-by: Olivier
* qdoc: Moved platform-specific qdoc comments to common .cpp file.Martin Smith2009-05-078-343/+379
| | | | | | | | | When building docs for the mac, qdoc comments for functions defined in the .h file were not found in any of the .cpp files in the mac package because they were in the x11 or windows .cpp file. So I moved them to a .cpp file that is in all the packages. Task-number: 252496 252492
* Ensure that small and mini spin boxes are drawn correctly.Norwegian Rock Cat2009-05-071-39/+57
| | | | | | | | When we fixed the stuff for normal spin boxes, we neglected to tweak the small and mini variants. We now adjust pixels for them as well. Task-number: 252301 Reviewed-by: Jens Bache-Wiig
* Fix strange context menu related bug on Windows MobileThomas Hartmann2009-05-071-2/+7
| | | | | | | Fixes 245347 again and does not trigger 252319 Task-number: 245347 Reviewed-by: Maurice
* Fix crash in QWebView when application has a style sheetMarkus Goetz2009-05-061-1/+1
| | | | | Task: 252796 Rev-By: Tor Arne
* Crash in QWidget::render when passing an untransformed QPixmap painter.Bjoern Erik Nilsen2009-05-061-1/+1
| | | | | | | | | | | | | | | | | | | The crash only occurred on Windows and X11 when running with -graphicssystem raster. The reason is that the actual paint device in QRasterPaintEngine::begin() is changed to pixmap->data->buffer(), which means QPaintEngine::paintDevice() returns something else than what it was told to paint on (see cb0c899b56b84154f69ddc545991bc6ded96ab01) The root of the problem, however, was that we used a weird condition (painter->worldMatrixEnabled(), added in 345072b9 for Qt 4.4) to find the target device. We did that because the shared painter was completely different in 4.4. We refactored it in 4.5.0, and we can only trust QPaintEngine::paintDevice to be the target device. Auto-test included. Task-number: 252837 Reviewed-by: Trond
* Merge branch '4.5' of git@scm.dev.nokia.troll.no:qt/qt into 4.5Geir Vattekar2009-05-069-23/+87
|\
| * QGraphicsItem::setOpacity(0.0) does not trigger an update.Bjoern Erik Nilsen2009-05-063-14/+15
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The problem was that we discarded update requests for fully transparent items, which is correct, but we even did that when the update was issued from QGraphicsItem::setOpacity. We don't have to, and shouldn't, consider the opacity in that case. Whenever we reach the fullUpdateHelper call in setOpacity it means we have to do an update regardless of the current opacity (oldOpacity was not 0.0 if the currentOpacity is 0.0). Auto-test included. Task-number: 252913 Reviewed-by: Andreas
| * Re-enabled antialiasing for large font sizes in OpenGL paint engine.Samuel Rødal2009-05-063-4/+45
| | | | | | | | | | | | | | | | | | | | | | | | In 4.4 alphaMapForGlyph() would return valid images for any font size, but this was changed in 4.5, forcing us to use the path fallback instead. This lead to non-antialiased fonts when not using a multisample-enabled GL format. This patch re-introduces the alphaMapForGlyph() fallback in QFontEngine from 4.4 which uses the raster paint engine to draw the glyph. Task-number: 247083 Reviewed-by: Trond
| * Prevented X server crash when calling XFillPolygon with >200000 points.Samuel Rødal2009-05-061-1/+25
| | | | | | | | | | | | | | | | | | Don't know why the X server crashes, but it's reproducible both by us and customers so we should fall back to the raster paint engine to avoid the crash. Task-number: 244362 Reviewed-by: Trond
| * Fixed bug in QTabBar::setTabButton() for a scrolled tab bar.jasplin2009-05-061-1/+2
| | | | | | | | | | | | | | | | This fix ensures that the current tab is visible after calling setTabButton() on a scrolled tab bar. Reviewed-by: bnilsen Task-number: 252472
| * Fixing task 252319Thomas Hartmann2009-05-061-3/+0
| | | | | | | | | | | | | | This is still not a perfect solution since it breaks 245347 again Task-number: 252319 Reviewed-by: Maurice
* | Doc: Updated docs for collision between QGraphicsItemsGeir Vattekar2009-05-061-8/+20
|/ | | | Task-number: 252287
* Merge branch '4.5' of git@scm.dev.nokia.troll.no:qt/qt into 4.5Geir Vattekar2009-05-064-9/+18
|\
| * fixed a typo in QPrintDialog documentationPierre Rossi2009-05-061-1/+1
| |
| * Optimize QCocoaView::registerDragTypes and mode switching in QtCreator.Morten Sørvig2009-05-063-8/+17
| | | | | | | | | | | | | | | | | | | | | | | | We were registering the types each time drag and drop was enabled, which caused slowdowns when for example switching between the Edit and Debug modes in QtCreator. Instead, register the types on first enable and also when the custom types change. Add check to draggingEntered() that disables the drag if WA_DropSiteRegistered is false. Reviewed-by: nrc
* | Doc: Added links to Text Object Example in QTextDocument and QTextObjectGeir Vattekar2009-05-062-2/+2
|/ | | | Task-number: 244858
* Doc: Said that QTextCursor is an implicitly shared class inGeir Vattekar2009-05-061-1/+4
| | | | | | QTextCursor::operator= Task-number: 247955
* Merge branch '4.5' of git@scm.dev.nokia.troll.no:qt/qt into 4.5Geir Vattekar2009-05-0610-75/+136
|\
| * QComboBox: Click-drag-release does not work for combo boxes using CocoaRichard Moe Gustavsen2009-05-061-4/+19
| | | | | | | | | | | | | | | | | | | | The problem is that the mouse event was redirected to the active pop-up, while it should have been redirected to the widget under the mouse under the active popup. This patch does the correct redirection Task-number: 252259 Reviewed-by: Trenton Schulz
| * Mac OS X QWidget::setMinimumSize locks.Richard Moe Gustavsen2009-05-062-43/+46
| | | | | | | | | | | | | | | | | | | | | | There was code for updating the size constrains inside setConstraints_sys. This is now added. Factored out the code that does this into a function, and since we never applied size constraines on a window upon creation, I also added an extra call from that code part Task-number: 219695 Reviewed-by: Trenton Schulz
| * Fixed scrolling performance issue related to hidden blocksmae2009-05-061-1/+1
| | | | | | | | | | | | | | Due to a wrong lookup (confusing line and block number) the scroll optimization was broken, causing the entire view to be updated. Reviewed-by: Thorbjørn Lindeijer
| * Fixed some inconsistencies for image drawing on non-integer coords.Samuel Rødal2009-05-062-11/+7
| | | | | | | | | | | | | | | | Don't use aliased coordinate delta for image drawing. Related to change fde7475bcf9c10522a8170e6eb8fb9a8fadc21cd. Task-number: 251561 Reviewed-by: Trond
| * Fix infinite recursion with QT3_SUPPORTJoão Abecasis2009-05-051-1/+1
| | | | | | | | | | | | | | Forward setDesktopBackground to setBackground as is mentioned in the docs. Reviewed-by: Paul
| * Extend change 759338df758ad16cdfd9521b270f7e379bbfa57c to cover extramae2009-05-051-14/+25
| | | | | | | | | | | | | | | | | | | | selections with different foreground but no background The main concern is to avoid double painting. With anti-aliasing turned on by default, we can not draw a piece of text on top of the same piece of text without artefacts. Task-number: 252310
| * QTextEdit::ExtraSelection failure with style sheetsmae2009-05-052-6/+39
| | | | | | | | | | | | | | | | | | | | the feature has to handle text with and without background, and extra selections with and without background, or even only with underline style. Trouble is that you sometimes want to accumulate styles, for example spell checking wiggly underline plus search result highlights or background markup from the css stylesheet. Task-number: 252310
| * Merge branch '4.5' of git@scm.dev.nokia.troll.no:qt/qt into 4.5Morten Sørvig2009-05-057-29/+106
| |\
| * | Make command-quit not terminate the program on Qt/Cocoa.Morten Sørvig2009-05-051-3/+6
| | | | | | | | | | | | | | | | | | | | | | | | Instead instigate the quit by calling QApplication::quit(), using the code that was already in place. This allows QApplication::exec() to return normally and prevents resrouce leaks for objects created on the stack in main(). Reviewed-by: nrc
* | | Doc: Updated QImageReader::supportedImageFormat() to include SVGGeir Vattekar2009-05-061-0/+1
| |/ |/| | | | | Task-number: 252415
* | Ensured correct rounding of scaled image drawing at non-integer coords.Samuel Rødal2009-05-052-25/+52
| | | | | | | | | | | | | | | | | | | | | | | | | | Images coordinates should simply be rounded and are not to be subject to the aliased coordinate delta. The patch also adds a tiny delta in QSpanData::setupMatrix() to ensure coordinates for fetching from source images are rounded the opposite direction of the target rectangle. This removes a lot of artifacts when trying to do border-image based drawing on non-integer coordinates. A new qps test for border-image drawing is included. Task-number: 251561 Reviewed-by: Trond
* | Fixed bug where 0-opacity would cause images to be drawn fully opaque.Samuel Rødal2009-05-051-1/+1
| | | | | | | | | | | | | | | | | | The bug appears in the raster paint engine and only in release mode as the cause of the bug is in the MMX and SSE blend functions which are disabled in debug. To prevent it simply we return early if we detect that we have an opacity of 0. Reviewed-by: Trond
* | Fix regression in drawing parts of pixmaps on Panther.Norwegian Rock Cat2009-05-051-3/+2
| | | | | | | | | | | | | | | | | | | | The width of a pixmap is NOT the same as the bytes per row. We may have been able to do that in the past, but it doesn't work in the general case. I also took the liberty to introduce a QCFType to automatically handling the free in the general case. Task-number: 252176 Reviewed-by: sroedal
* | Support rotated displays with 15 and 16 bit BGR pixel formats.Paul Olav Tvete2009-05-054-0/+51
|/ | | | | | | | To avoid increasing code size for an uncommon case, the code is #ifdef QT_QWS_ROTATE_BGR Task-number: 250299 Reviewed-by: Tom
* Revert "Fix tabbar issues with Oxygen style"Jens Bache-Wiig2009-05-051-41/+32
| | | | | | | | | | The patch has some issues with text eliding which are not really possible to solve properly without providing the elidemode to the styleoption. Under these circumstances it seems better just to fix the problem in Oxygen itself which has already been patched when compiled with 4.5. This reverts commit d7072b5577e3c07e984885cf05d5f9b217c6f473.
* QListView in icon mode could crash when removing the last elementThierry Bastian2009-05-051-3/+4
| | | | | Task-number: 252292 Reviewed-by: ogoffart
* On Windows loosing focus should result in clearing focus if widget is ↵Denis Dzyubenko2009-05-051-1/+3
| | | | | | | | | | | embedded somewhere. If a widget is embedded to non-Qt window on Windows, then we should still clear the focus whenever we receive WM_KILLFOCUS since we won't get WM_ACTIVATEAPP in this case. This is an addition to 6ed196051d0f19bfe2d045eaf12f5f5ca30670d0 Task-number: 251259 Reviewed-by: Thierry
* Added a check that X11 timestamp goes forward only.Denis Dzyubenko2009-05-041-15/+20
| | | | | | | | Got a case somehow with a timestamp of the mouse event that is less than the timestamp we already had, so we need to make sure time only goes forward. Reviewed-by: Brad
* Added an assert so that QColormap usage without a QApplication asserts.Trond Kjernaasen2009-05-041-1/+5
| | | | | Task-number: 252668 Reviewed-by: Samuel
* Ensure that we send the Apple Events even when Cocoa isn't ready.Norwegian Rock Cat2009-05-042-11/+23
| | | | | | | | | | | | | | In general, Cocoa handles the the Apple Events for us. However, this is time between creating the NSApplication and Cocoa has set everything up, usually after the event loop is running. This means that until that time, the events are dropped on the floor :-/. The workaround is to use the same handler that we use for Carbon, but to only have it enabled for until Cocoa is ready to handle things. This will result in not stepping on the toes when used in a plugin (if it does, we can conditionalize it). Task-number: 252795 Reviewed-by: Richard Moe Gustavsen
* Do not crash when passing wrong indexes to ↵Olivier Goffart2009-05-041-0/+9
| | | | | | | | | QSortFilterProxyModel::indexFomSource and *ToSource Show a warning instead Task-number: 252507 Reviewed-by: Marius Bugge Monsen
* Fixed busy indicator for a QProgressBar with a style sheet applied to it.jasplin2009-04-301-1/+1
| | | | | | | | | | | | | | | For a progress bar with a style sheet applied to it, this fix ensures that the timer event is passed to the event handler that updates the busy indicator animation state. Essentially, the bug was that the decision that the event was processed by the proxy style object (baseStyle()) was based only on the return value from the event() function. In this case it is necessary to check that the event was accepted as well. Reviewed-by: ogoffart Reviewed-by: brad Task-number: 252283
* Fixes a possible issue in itemviws where we would not scroll to theThierry Bastian2009-04-302-10/+17
| | | | | | | current item on show Task-number: 252534 Reviewed-by: ogoffart
* QApplication::setStyle() can cause a crashRichard Moe Gustavsen2009-04-301-1/+4
| | | | | | | | | | | QApplication::setStyle() caused a crash if called before constructing the QApplication instance for custom styles. The reason was that polish tried to create a pixmap (which is not allowed before qApp is running). This fix checks that qApp exists. Polish will anyway be called again when qApp gets constructed. Task-number: 243697 Reviewed-by: Bjørn Erik Nilsen
* QTransform::map(const QRegion&) cut-off for single rect regions.Bjoern Erik Nilsen2009-04-291-0/+4
| | | | | | Avoid QRegion<->QPainterPath conversion if possible. Reviewed-by: Samuel
* Speed-up QPainter::clipRegion().Bjoern Erik Nilsen2009-04-291-11/+20
| | | | | | | | | We can speed up the calculation by using rect intersections if possible, i.e. QRegion &= QRect instead of QRegion &= QRegion. Then we'll get rid of one QRegion construction and the intersection itself is slightly faster. Reviewed-by: Samuel
* Wrong clip in QWidget::render(QPainter *, ...) when using Qt::(Replace|No)Clip.Bjoern Erik Nilsen2009-04-291-2/+7
| | | | | | | | | | | | | | | The problem was that we didn't take the painter's clip into account when setting the system viewport ("hard clip"). We only used the system clip, but we have to use system clip + painter clip, which is the current engine clip. Unfortunately, we have to calculate it again since there's no cross-platform way of retrieving it. This was only a problem with Qt::(Replace|No)Clip, since we in all other cases combine the old clip with the new one. (Uber cool) auto test included. Task-number: 250482 Reviewed-by: Samuel