| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
| |
An item without menu could stay highlighted even when the mouse left
the menu bar.
Task-number: 256322
Reviewed-by: alexis
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
| |
I changed the logic in e920c83084b48db7fe1925c7b98e34794eec6d55 and this
negation incidentally snuck in.
|
|
|
|
| |
We save three function calls by calling item->paint() directly.
|
|
|
|
| |
Avoid QTransform copy in common case.
|
|
|
|
| |
Don't calculate dirty scene transforms for invisible items.
|
|
|
|
|
|
| |
Broken after: 85f811b849f3b0e0b79e0f1b7bf41512d7f53414
QPainter::worldTransform returns a const reference(!) so we have to make
a copy.
|
|
|
|
|
|
|
| |
The view is usually untransformed, and in that case there's no need to
call QGraphicsView::viewportTransform() and QPainter::setWorldTransform().
Reviewed-by: Andreas
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
| |
Child items must ignore visible/opacity if parent does.
Broke after: c9ab7a8b8504101c06456b706a84e0eb0693c77e
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
| |
The ItemHasNoContents flag was preventing items that clip their children
from rendering their children at all. Fixed now.
Reviewed-by: bnilsen
|
|
|
|
| |
Reviewed-by: Trust Me
|
|
|
|
|
|
|
|
|
|
| |
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
|
|\ |
|
| |
| |
| |
| | |
Reviewed-by: Trust Me
|
| |
| |
| |
| | |
Reviewed-by: Trust Me
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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
|
| |
| |
| |
| | |
Reviewed-by: Richard Moe Gustavsen
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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
|
| |
| |
| |
| |
| |
| |
| | |
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
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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
|
|\ \ |
|
| | | |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
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
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
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
|
| | | |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
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
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
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
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
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
|
|/ /
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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
|
| | |
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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
|
| | |
|
| |
| |
| |
| |
| | |
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.
|
| |
| |
| |
| | |
Reviewed-by: TrustMe
|
| |
| |
| |
| |
| |
| |
| | |
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>
|
| |
| |
| |
| |
| | |
MSVC requires the same linkage specifiers to be provided at both the
declaration and definition.
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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
|
| |
| |
| |
| |
| |
| | |
Adding missing files for proxy style after commit
4d0cc0b9600f8530bb0e8712b4bb109d1810c4a7
Reviewed-by: trust me
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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
|