summaryrefslogtreecommitdiffstats
path: root/src/gui
Commit message (Collapse)AuthorAgeFilesLines
* QFontDialog: fixed the current font not being updatedThierry Bastian2009-06-181-11/+0
| | | | | | | | This could happen when the list of styles depending on the font is different from the font you selected before. It then is not updated and the style of the font returned by the QFontDialog is wrong. Task-number: 256466
* Make construction of unitialized QTransform/QMatrix a no-op.Bjørn Erik Nilsen2009-06-184-0/+11
| | | | | | | | | | These constructors are useful when you have to create a temporary uninitialized QTransform/QMatrix and later initialize it to something else. Done with Lars. Reviewed-by: samuel
* QMenuBar: fixed highlight problem on actions without menuThierry Bastian2009-06-181-1/+2
| | | | | | | | An item without menu could stay highlighted even when the mouse left the menu bar. Task-number: 256322 Reviewed-by: alexis
* Compile on MSVC.Bjørn Erik Nilsen2009-06-182-12/+14
| | | | | | | | | The QtSVG module failed to link because it includes qgraphicsitem_p.h, which had an inlined function (updateHelper) that called an undeclared function (QGraphicViewPrivate::update(Region|Rect))...Resulting in unresolved symbols. Reviewed-by: MariusSO
* Fix accidental selection of popup items under the mouse in QComboBoxmae2009-06-181-0/+2
| | | | | | | | | | If the widget under mouse is hidden, Qt can generate a synthetic mouse move event which gets delivered to the already hidden widget. This can then result in the wrong item being selected. Workaround: in QListView, ignore mouse move events when the widget is hidden. Reviewed-by: Denis
* Remove wrong negation.Bjørn Erik Nilsen2009-06-181-1/+1
| | | | | I changed the logic in e920c83084b48db7fe1925c7b98e34794eec6d55 and this negation incidentally snuck in.
* Small optimization to QGraphicsScenePrivate::drawSubtreeRecursive.Bjørn Erik Nilsen2009-06-171-1/+5
| | | | We save three function calls by calling item->paint() directly.
* Speedup QGraphicsScenePrivate::processDirtyItemsRecursiveBjørn Erik Nilsen2009-06-172-13/+20
| | | | Avoid QTransform copy in common case.
* Speedup QGraphicsScenePrivate::processDirtyItemsRecursiveBjørn Erik Nilsen2009-06-171-13/+16
| | | | Don't calculate dirty scene transforms for invisible items.
* Sometimes broken transforms in GV.Bjørn Erik Nilsen2009-06-171-4/+4
| | | | | | Broken after: 85f811b849f3b0e0b79e0f1b7bf41512d7f53414 QPainter::worldTransform returns a const reference(!) so we have to make a copy.
* Reduce QTransform operations in QGraphicsView::paintEvent.Bjørn Erik Nilsen2009-06-171-9/+18
| | | | | | | The view is usually untransformed, and in that case there's no need to call QGraphicsView::viewportTransform() and QPainter::setWorldTransform(). Reviewed-by: Andreas
* Remove two work-arounds in QGraphicsView::paintEvent.Bjørn Erik Nilsen2009-06-171-4/+0
| | | | | | | | | | | | The accelerate scrolling work-around is fixed by: 8ebe882b077fffedc3ff80fb80d2e181d5e56ab8 The other case was trying to avoid doing expensive QRegion calculations when everything must be repainted anyways. However, it was not entirely correct to assume all paintEvents are triggered by GV itself. Anyways, we don't need it anymore :-) Reviewed-by: Andreas
* Fixes: Tablet not sending mouse release events.Thomas Zander2009-06-171-61/+67
| | | | | | | | | | | | | Rewrote the usage of XCheckTypedWindowEvent to now use a XCheckIfEvent based scanner. Using XCheckTypedWindowEvent caused us to sometimes hop over relevant events while doing compression. So we could end up merging a tablet move event with another tablet move event even while there was a mouse-release event between them. This rewrite makes sure we stop merging when needed. Task: 249606 Reviewed-by: Bradley T. Hughes
* Fix tst_QGraphicsItem::opacityZeroUpdatesBjørn Erik Nilsen2009-06-171-0/+6
| | | | | Child items must ignore visible/opacity if parent does. Broke after: c9ab7a8b8504101c06456b706a84e0eb0693c77e
* Speedup QGraphicsScenePrivate::processDirtyItemsRecursive.Bjørn Erik Nilsen2009-06-175-42/+77
| | | | | | | | Don't process invisible items or items with no contents. I've also added cut-offs to QGraphicsViewPrivate::update(Region|Rect) to make sure update areas outside the viewport are discarded immediately. Reviewed-by: lars
* Speed up QPixmap::width(), height(), isNull() and depth().Andreas Aardal Hanssen2009-06-179-18/+47
| | | | | | | | | | | | | | | | This change moves the w, h, d variables to QPixmapData and introduces is_null to keep track of nullness. This is possible only because QPixmapData is internal API; otherwise we'd have to be smarter. The optimization makes the QPixmap::width() function take 7 instructions, down from 34 before. For the calculator demo in the declarative ui branch this reduces a block of 750000 instructions (out of 30000000) to around 100000-150000 instructions. Tested on Windows, Linux, Mac. Raster, X11 and OpenGL paint engines. Have not tested the DirectFB engine. Reviewed-by: Trond
* doc: Fixed several qdoc warnings.Martin Smith2009-06-171-9/+9
| | | | | | | | All the qdoc errors are fixed in QStringBuilder, but because the class is a template class and uses strange templates, qdoc gets very confused, and the resulting documentation for QStringBuilder is not complete and accurate. To fix this correctly will require changes to the qdoc program.
* Fix QGraphicsItem::ItemHasNoContents rendering of children.Andreas Aardal Hanssen2009-06-171-2/+3
| | | | | | | The ItemHasNoContents flag was preventing items that clip their children from rendering their children at all. Fixed now. Reviewed-by: bnilsen
* Update license headers in files that are new in 4.6.Jason McDonald2009-06-1731-62/+62
| | | | Reviewed-by: Trust Me
* Fixed a bottleneck in itemviews that would ask for an update outsideThierry Bastian2009-06-161-2/+8
| | | | | | | | | | of the boundaries of the viewport. Now we catch this and don't call update. This was a performance regression against 4.4. Task-number: 256183 Reviewed-by: alexis
* Merge license header changes from 4.5Volker Hilsheimer2009-06-16972-1959/+1960
|\
| * Cleanup our usage of the term "Qt Software".Jason McDonald2009-06-161-3/+3
| | | | | | | | Reviewed-by: Trust Me
| * Update license headers as requested by the marketing department.Jason McDonald2009-06-16979-1956/+1956
| | | | | | | | Reviewed-by: Trust Me
| * Improved styling of expander arrows with Gtk+Jens Bache-Wiig2009-06-161-9/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | The current implementation was based on the GtkExpander widget. However we do not have such a widget and the primary use case is for expanders inside item views. Hence it makes sense to base it on gtktreeview instead. As I can not reproduce the crash with any recent versions of cleanice I will remove the workaround as well. omment and edit as applicable ]---| Task-number: 256146 Reviewed-by: Thorbjørn
| * Prevented QCompleter popup from appearing briefly on Windows.jasplin2009-06-161-1/+5
| | | | | | | | | | | | | | | | | | | | | | | | It turns out that the fix 7bf4512659113f8cc78e72f1c84158ce4f70a526 caused the QCompleter popup from appearing for a split second on Windows. This is because the popup is shown as a toplevel window on this platform. On other platforms than Mac and Windows it doesn't seem to matter, but be on the safe side, the fix is modified to apply for Mac only. Reviewed-by: Daniel Molkentin Task-number: 255374
| * Rename nsCursorForQCursor -> qt_mac_nsCursorForQCursor.Morten Sørvig2009-06-154-4/+4
| | | | | | | | Reviewed-by: Richard Moe Gustavsen
| * Fixed problems with the event handling in QCompleter on Mac.jasplin2009-06-121-1/+1
| | | | | | | | | | | | | | | | | | | | On Mac, a new completer popup must initially have its show() method called rather than its hide() method. Otherwise the event handling done by the completer results in a bad state. On other platforms it doesn't matter. Reviewed-by: Richard Moe Gustavsen Task-number: 255374
* | smaller optimisation in ::fromTransform() and fromScale()Lars Knoll2009-06-161-4/+6
| | | | | | | | | | | | | | We know the type of the transformation in these methods, so there is no point in setting a dirty flag for the type. Reviewed-by: Samuel
* | greatly speed up QTransform::mapRect() for projective transformsLars Knoll2009-06-161-11/+5
| | | | | | | | | | | | | | | | | | | | | | | | The code so far was converting the rect to a painterpath, mapping that one and then taking the bounding rect. It is actually sufficient to simply map the four corners of the rectangle and take the bounding rect of these four points even in the projective case. Fix the MAP macro to be more correct for degenerated projective transformations. Reviewed-By: Samuel
* | Merge branch 'master' of git@scm.dev.nokia.troll.no:qt/qtMorten Sørvig2009-06-1610-38/+46
|\ \
| * | doc: Added info on two ways to customize the style.Martin Smith2009-06-162-10/+19
| | |
| * | We should make sure the text cursor is visible when using input methods.Denis Dzyubenko2009-06-162-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | When typing directly text cursor is always visible (and if it isn't, the widget automatically scrolls to make it visible). It should work the same when typing using input methods. Task-number: 254766 Reviewed-by: trustme
| * | Fix for resetting DESKTOP_STARTUP_ID envvar.Denis Dzyubenko2009-06-162-16/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | That was wrong to reset environment variable returned with a putenv since getenv returns a value only. This fix reverts to old behavior when unsetenv is not available and will leak 20 bytes once on qapplication initialization. This fixes 2f4ca8e06be0477503acf2a4bf38a1c76f52e5b1. Reviewed-by: Bradley T. Hughes
| * | doc: Fixed several qdoc errors.Martin Smith2009-06-163-7/+10
| | |
| * | Don't mark ItemHasNoContents items as dirty, ever.Andreas Aardal Hanssen2009-06-161-5/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The QGraphicsItem::ItemHasNoContents flag ensures that we don't have to ever paint this item. So let's not mark it as dirty at all (items are marked as dirty when updated, moved, or transformed). This is a minor optimization. Reviewed-by: bnilsen
| * | Early exit from QRegion::intersects() if there is only one rect.Andreas Aardal Hanssen2009-06-161-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Don't waste cycles with constructing a vector with rectangles if there is only one rectangle in the source region. Same as 36ff1b507bf2d509019ae8ddd638922b09755c6b, but for QRegion::intersects(QRect). Reviewed-by: bnilsen
| * | Early exit from QRegion::intersects() if there is only one rect.Andreas Aardal Hanssen2009-06-161-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | Don't waste cycles with constructing two vectors with rectangles if there is only one rectangle in each of the two regions. Reviewed-by: Lars Reviewed-by: bnilsen
* | | Implement QMenu::separatorsCollapsible on Mac/Cocoa.Morten Sørvig2009-06-162-12/+52
|/ / | | | | | | | | | | | | | | | | | | Hide duplicate separators and separators at the beginning and end of the menu. The main challenge here is that separators and "normal" menu items can be added in any order, for example add all the separators first and then fill in the items. This means that we have to redo the visibility decision for separators above and below when adding normal items. Reviewed-by: Prasanth Ullattil
* | Optimization: Don't determine the expose if the item is invisible.Andreas Aardal Hanssen2009-06-151-11/+16
| | | | | | | | | | | | | | | | | | | | | | | | | | If the item either sets the ItemHasNoContents flag, or if it's invisible but has child items that are not (and ignore parent opacity), then don't bother calculating the item's exposed view rect as the item will not get drawn anyway. This carves down the number of QTransform::mapRect operations by 25% when running the Declarative UI calculator transition. We'll proceed to removing such operations from the markDirty step as well. Reviewed-by: bnilsen
* | doc: First review of QProxyStyle doc; mainly just corrected qdoc errors.Martin Smith2009-06-152-47/+97
| |
* | implement equality operator in a more sane wayLars Knoll2009-06-154-5/+56
| | | | | | | | | | | | | | | | | | | | | | | | Using qFuzzyCompare for checking whether two transformations are equal doesn't give us too much and is inconsistent with our other matrix classes. Using simple floating point equality is a lot faster as well. Added qFuzzyCompare overloads for QMatrix and QTransform to still allow for fuzzy comparisons. Reviewed-By: Samuel Rødal
* | doc: Fixed several qdoc warnings.Martin Smith2009-06-151-1/+1
| |
* | Fix QPlainTextEdit auto testmae2009-06-151-1/+1
| | | | | | | | | | Width 0 was used as magic value to optimize the widget's startup and initial resize. We now use the illegal value -1 as magic value insetad.
* | Fixed minor doc typos.jasplin2009-06-151-3/+3
| | | | | | | | Reviewed-by: TrustMe
* | Fixed compile of Qt/Embedded.Rohan McGovern2009-06-131-2/+2
| | | | | | | | | | | | | | Fixes compile error: kernel/qapplication_qws.cpp: In static member function 'static bool QApplicationPrivate::qws_apply_settings()': kernel/qapplication_qws.cpp:2014: error: no match for 'operator!' in '!QApplicationPrivate::styleOverride' kernel/qapplication_qws.cpp:2014: note: candidates are: operator!(bool) <built-in>
* | Fixed compile of QtGui with MSVC.Rohan McGovern2009-06-121-1/+1
| | | | | | | | | | MSVC requires the same linkage specifiers to be provided at both the declaration and definition.
* | Improved resetting the DESKTOP_STARTUP_ID envvar on X11Denis Dzyubenko2009-06-122-6/+23
| | | | | | | | | | | | | | | | | | We shouldn't put static variable into the environment since it will crash if someone tries to access environment after Qt has been unloaded. Task-number: related to 217782 Reviewed-by: Bradley T. Hughes
* | Fixed bitmap drawing in GL 2 engine when not using GL pixmap backend.Samuel Rødal2009-06-121-1/+3
| | | | | | | | | | | | | | | | | | QPixmap shouldn't return true in hasAlphaChannel() for bitmaps, instead the paint engine should check whether the pixmap is a bitmap or not. In addition, QBrush::isOpaque() returned true for bitmap brushes, which is wrong according to the documentation. Reviewed-by: Trond
* | CompileJens Bache-Wiig2009-06-123-0/+559
| | | | | | | | | | | | Adding missing files for proxy style after commit 4d0cc0b9600f8530bb0e8712b4bb109d1810c4a7 Reviewed-by: trust me
* | Integrating QProxyStyleJens Bache-Wiig2009-06-1216-811/+871
| | | | | | | | | | | | | | | | | | | | | | | | This class adds convenient support for proxy styles in Qt. Note that to support proper proxying, styles now call their functions through proxy() so that the proxy regains control over subcomponents. Note that there is a small price to be payed by the extra function call which can at the cost of readability be redirected to the private class member in the future. Task-number: 229556 Reviewed-by: trond