summaryrefslogtreecommitdiffstats
path: root/src/gui
Commit message (Collapse)AuthorAgeFilesLines
* 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: 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
* Corrected description of the QLayout::takeAt() functionMorten Engvoldsen2009-04-291-1/+1
| | | | | | | An item is not deleted when removed from the index. The remaining items get a new index. I changed deleted to removed. Tasknumber: 252547 Rev-by: janarve
* Merge branch '4.5' of git@scm.dev.nokia.troll.no:qt/qt into 4.5Jarek Kobus2009-04-299-30/+57
|\
| * Mac: Fixes a crash in tst_QWidget::updateOnDestroyedSignalBjoern Erik Nilsen2009-04-291-0/+3
| | | | | | | | | | | | | | | | | | | | Addendum to change 9b674ddcea7c0ff7912f185474b7d98bc83bd39f. The problem was that QWidget::paintEngine() (pure virtual) was called while being in the destructor. The use-case itself (see above change) is very very corner case, but still, it shouldn't crash. Reviewed-by: bnilsen
| * Fix documentation about native dialogsAlexis Menard2009-04-281-4/+3
| | | | | | | | | | | | It basically says that on KDE and GNOME the native dialogs are called. It fix a mistake about a regular instantiation on QFileDialog object on Windows.
| * Fix regression in QSelectionModel::rowIntersectsSelectionOlivier Goffart2009-04-281-10/+10
| | | | | | | | | | | | | | | | | | | | and QSelectionModel::columnsIntersectsSelection The documentation says "if one is selected" inside the row/column, so we need to look over if we find one which is selected Task-number: 252069 Reviewed-by: Marius Bugge Monsen
| * Don't send extra events when using the scroll wheel in CocoaNorwegian Rock Cat2009-04-281-2/+2
| | | | | | | | | | | | | | | | Argh! Copy and paste is evil, not only was the test was wrong, We sent the event twice and the second time we sent the wrong value. Task-number: 250668 Reviewed-by: Morten Sørvig
| * Cocoa: qwidget auto test fails (windowMoveResize)Richard Moe Gustavsen2009-04-282-11/+31
| | | | | | | | | | | | | | | | | | | | | | | | The test fails because, in cocoa, when resizing a window to zero (either w or h), cocoa will also move the window up in the corner (!). So the fix is to issue an extra move back to it's true location after the resize. The faulty cocoa move is issued inside the resize callback, so we choose to not update the window location anymore from a pure resize callback. Task-number: 251895 Reviewed-by: Trenton Schulz
| * Fixed showing messageboxes on small screens.Denis Dzyubenko2009-04-281-0/+3
| | | | | | | | | | | | | | | | On small screens use the whole screen width when adjusting the size of the messagebox. Task-number: 251925 Reviewed-by: Brad
| * Fixed rendering of bitmap fonts on X11 with Xrender and fontconfig.Trond Kjernåsen2009-04-281-1/+3
| | | | | | | | | | | | | | | | It seems the Xrender PictStandardA1 mask format doesn't work with XLFD bitmap fonts wrapped in a fontconfig structure. Task-number: 252328 Reviewed-by: Samuel
| * Fix a crash with a proxy model applied on the QFileDialog.Alexis Menard2009-04-281-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The problem was located in _q_enterDirectory, this method take a QModelIndex that can be a model index from the treeview/listview (so it comes from the proxy that is applied) and from the side bar where there is always no proxy applied. Previously we were trying to convert from a proxy index to a source index the value that come from the sidebar which is already a source model index. Now, we just check if the model index is coming from the proxy and in that case we convert it otherwise this model index come from the source. Task-number: 252068 Reviewed-by: jasplin Reviewed-by: ogoffart
| * When minimizing/restoring an item view it could jump to its currentlyThierry Bastian2009-04-281-1/+1
| | | | | | | | | | | | | | selected item Task-number: 250446 Reviewed-by: ogoffart
* | Fix a crash in case of setting invalid point sizeJarek Kobus2009-04-291-2/+8
|/ | | | | | | Asserts are replaced with warnings and the call is ignored. Task-number: 252414, 252416, 252502 Reviewed-by: Simon Hausmann <simon.hausmann@nokia.com>
* Fixes wrong QPaintEvent::region() in QGLWidget::paintEvent.Bjoern Erik Nilsen2009-04-273-2/+11
| | | | | | | | | | | | | | QGLWidget does not support partial updates unless the context is single buffered and auto-fill background is disabled. The problem was that QPaintEvent::region() returned the requested update region without taking into account the limitation of QGLWidget. If QGLWidget doesn't support partial updates, it means everything has to be updated, and QPaintEvent::region() must return the whole widget rect. Auto test included. Task-number: 241785 Reviewed-by: Trond
* QPixmapCache:Remove the old pixmap if you insert one with the same key.Alexis Menard2009-04-271-0/+5
| | | | | | | | | | | If you insert a new pixmap in the cache with a key that was already in the cache then we remove the old pixmap and add the new one. This avoid to fill the memory with garbage even if the cache has a protection to avoid running out of memory. This was discovered with QraphicsView and its cache. We don't need to keep old cached pixmaps for an item. Task-number: KDE Reviewed-by: Trond
* Doc - cleaning up some documentation for QFileDialog and obsoleteKavindra Devi Palaraja2009-04-271-134/+129
| | | | | | | | | | | documentation. getOpenFileNames() and getExistingDirectory() mentioned that the dir parameter was ignored. This is no longer the case. This bit was reviewed by nrc, the other fixes were just cleanups. Task-number: 252223 Reviewed-by: nrc
* Ensure that QFontDialog::getFont() works on Mac OS X.Norwegian Rock Cat2009-04-271-40/+27
| | | | | | | | | | It seems that running the font dialog modal means that the "fontChanged" action is not fired. Which means our font is never changed. Thankfully, since it's an app modal case, we can re-sync when the OK button is clicked. Task-number: 252000 Reviewed-by: Morten Sørvig
* Document what QWidget::winId() returns on Mac OS X.Norwegian Rock Cat2009-04-271-0/+4
| | | | | | | | There are different types depending on Carbon and Cocoa, and it is probably helpful to point that out. Task-number: 251001 Reviewed-by: Kavindra
* Sometimes wrong clipping in QWidget::render() when passing a device orBjoern Erik Nilsen2009-04-243-11/+16
| | | | | | | | | | | | | | | | | | an untransformed painter When passing a painter to QWidget::render, we use the painter->paintEngine()->systemClip() as the "system viewport", i.e. all painting triggered by render() should be limited to this area. The only way to achieve this is by always ensuring the system clip is clipped to the same area (systemClip &= systemViewport). The problem however, was that we only did this for transformed painters. We must of course always do it when there's a systemViewport set, regardless of whether the painter is transformed or not. Auto test included. Task-number: 248852 Reviewed-by: Trond
* Drag and drop examples not working correctly in CocoaPrasanth Ullattil2009-04-243-27/+62
| | | | | | | | | | | In the updated examples, the drag operation is changed in the drop-event handler, which was not handled correctly in the Cocoa. This is now supported for drag and drop from same application. If the drop was to another application, the drag will return the result from the last drag-move event. Task-number: 252103 Reviewed-by: nrc
* Fix clipping bug in raster paint engineGunnar Sletta2009-04-241-0/+14
| | | | | | | | | If we have a rect-clip where we actually had spans (used for cleartype) and then reused that clipdata, we would never re-create the spans, which would mean that future drawing would be filtered based on the old clip Reviewed-by: Samuel