| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This commit add a new API to add/find/remove pixmaps into QPixmapCache.
This new extension is based on a key that the cache give you during
the insertion. This key is internally a int which makes all operations
in the cache much more faster that the string approach.
Auto-tests has been extended as well and a benchmark has been added to
compare both approach. I also depecrate the find method for the
string API to have a method pointer based and not reference based like
the Qt policy says.
Reviewed-by: bnilsen
Reviewed-by: andreas
Followed-deeply-by: trond
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
QStyleOptionGraphicsItem extends QStyleOption with three values:
1) matrix, 2) levelOfDetail, 3) exposedRect, and they all
involve expensive QTranform operations when calculated. We
pass style option(s) to drawItems() and paint(), but the
extended values are usually not in use. We can therefore gain
quite some nice speedup by making them opt-in with the
QGraphicsItem::ItemUsesExtendedStyleOption flag.
Additionally, QStyleOptionGraphicsItem::levelOfDetail has been
obsoleted, and a new function QStyleOptionGraphicsItem::
levelOfDetailFromTransform(const QTransform &) has been added.
Me and Andreas don't consider this change to be too controversial
even though it changes the behavior.
Auto tests still pass.
Reviewed-by: Andreas
|
|\
| |
| |
| |
| | |
Conflicts:
tools/macdeployqt/shared/shared.cpp
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
QColor::toCmyk() converted the color to RGB and then to CMYK. If the color
was already in CMYK, this conversion change it.
The color is now returned directly if it is in CMYK
Reviewed-by: Ariya
Task-number: 253625
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Some text drawn with OpenType fonts where cut off by a pixel or two
under certain circumstances. This adds an additional 2 pixel pad margin
to the glyph cache entries. The padding behaves slightly different
when ClearType is enabled/disabled, hence the general 2 pixel padding.
Task-number: 246196
Reviewed-by: Samuel
|
| |
| |
| |
| |
| |
| | |
Need the proper types.
Reviewed-by: Andy
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
view was disabled.
A bug in Commit d5c018f7b014ab794e49d6e1f24e02233555847d prevented any
widget from having focus when QT_NO_GRAPHICSVIEW was defined.
This patch fixes the bug.
Reviewed-by: bnilsen
Task-number: 249589
|
| |\ |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
QGraphicsItem::deviceTransform() returns the item-to-device transform,
provided with the device-to-scene transform, and combining it with the
item's scene transform. This function is meant to handle items that
enable ItemIgnoresTransformations, but it happened to not work properly
for items that _don't_ enable that flag. Unfortunately this bug is
hard to work around for users from the outside, as it requires you to
check if the item or any ancestor enables ItemIgnoresTransformations.
The fix also removes unnecessary branchs inside QGV so that we use the
same function for all items.
Reviewed-by: bnilsen
|
| |/
| |
| |
| |
| |
| |
| |
| |
| | |
If two urls were added to the sidebar that only differed in how they
referenced the added url (i.e. /foo/bar/. and /foo/bar) then only one
entry should appear.
Task-number: 253532
Reviewed-by: Alexis
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Seems like some old legacy code was left behind when sheets behaved as
application modal. This is not the case anymore, so this patch just
removes the special case code for enforcing the old behaviour, and let
carbon do the correct thing instead.
Task-number: 252379
Reviewed-by: Trenton Schulz
|
| |
| |
| |
| |
| |
| |
| | |
The WinCE build was failing due to a spelling error in an #ifdef
directive.
Reviewed-by: Trust Me
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
QColor::toCmyk() converted the color to RGB and then to CMYK. If the color
was already in CMYK, this conversion change it.
The color is now returned directly if it is in CMYK
Reviewed-by: Ariya
Task-number: 253625
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Motif style was incorrectly adjusting it's size in sizeFromConents.
This is wrong and prevents the function from overriding the
huge minimum size on the widget. PM_SplitterWidth already
ensures the proper default size for the splitter.
Task-number: 194542
Reviewed-by: ogoffart
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
When showing or hiding spinbox buttons we did not update the
child line edit geometry. This would on windows basically mean that
the buttons would not show up as they were completely covered by the
edit.
Task-number: 235747
Reviewed-by: ogoffart
|
| |
| |
| |
| |
| |
| |
| | |
Then you can actually influence it's palette.
Task-number: 253495
Reviewed-by: Jens Bache-Wiig
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
This feature was only intended for QScrollBar and was incorrectly
inherited by QSlider. The only supported platform that use this
feature seems to be Windows so instead of doing a nasty qobject cast
in the styling it makes more sense to remove the functionality
from QSlider entirely.
Task-number: 245681
Reviewed-by: ogoffart
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
While the delegate is somewhat abusing the ToolbarSeparator here,
we should make sure we draw something for small heights as well.
It seems microsoft requires us to allocate a few more pixels for the
separator to actually be visible.
Task-number: 249192
Reviewed-by: ogoffart
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
The bug report came from the Declarative UI project as part of Kinetic.
In FxFlickable the mouse is explicitly grabbed inside the mouse press
event handler, and it's (explicitly) released in the release handler.
When doing this, lastMouseGrabber is 0, and the double-click is delivered
as a press. The fix is to not convert the double-click to a press if the
receiver is the first and only mouse grabber (i.e., lastMouseGrabber is
0).
The fix isn't entirely correct, as it can in theory allow an item to
receive a double-click event as the first received event. This seems
to only be possible in the case of using explicit mouse grabbing in
combinations with the press and release event handlers so it's quite
a corner case.
Reviewed-by: Alexis
|
| |
| |
| |
| |
| |
| | |
In 8cd19116ae81c99fe28fbf91aa7f4c1c08163fe0 we changed viewItems to
always contains the index to the columns 0, even if this columns is
hidden. So this code and comment are now useless.
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
So now QToolButton:pressed {text-decoration: underline} will works
The change in QCommonStyle is to make it consistant with the setFont few
lines later.
Reveiwed-by: jbache
|
| |
| |
| |
| |
| |
| |
| |
| | |
While lupdate ignores ifdefs, it cannot handle ifdefs inside the
translate statement itself.
Task-number: 188337
Reviewed-by: janarve
|
| |
| |
| |
| |
| |
| |
| |
| | |
Seems to work correctly in Cocoa, but we need to handle this special
case in Carbon ourselves.
Task-number: 253324
Reviewed-by: Richard Moe Gustavsen
|
|\ \
| |/
| |
| |
| | |
Conflicts:
tests/auto/qgraphicsview/tst_qgraphicsview.cpp
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
In QGraphicsScene::_q_emitUpdated() the slot
QGrpahicsView::updateScene(QList<QRectF>) gets connected and a boolean
(connectedToScene) is set to prevent double connections. The problem is
that this boolean was not reset when the view gets a new scene.
Task-number: 253415
Reviewed-by: andreas
|
| |
| |
| |
| | |
Reviewed-by: Denis
|
|\ \
| |/ |
|
| |
| |
| |
| | |
Reviewed-by: thartman
|
| |
| |
| |
| |
| |
| |
| | |
addFile makes a QIcon not null, which may be a surprise if the path
given is bad.
Reviewed-by: Jens Bache-Wiig
|
| |
| |
| |
| |
| |
| |
| | |
There was a qFree() call missing.
Task-number: related to 253367
Reviewed-by: jbache
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
The handling of gradients with object bounding mode on pens in the
emulation paint engine has been changed to agree with the SVG standard,
where pen widths are ignored when calculating bounding boxes. Instead
of converting strokes to fills and then transforming the gradients
based on the fills' bounding box, the gradients are now transformed
first based on the bounding box of the stroke path.
Reviewed-by: Trond
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
For a QGraphicsWidget w, a shortcut with Qt::WidgetWithChildren context would
trigger even if w did not have focus (provided no other widgets in the view
had focus).
Reviewed-by: andreas
Task-number: 250119
|
| |
| |
| |
| |
| |
| |
| | |
Explained the role of the key attribute.
Task-number:246839
Rev-by: Richard Moe Gustavsen
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
In older Freetype headers FT_LCD_FILTER_DEFAULT is apparently defined to
be ((const FT_Byte*)(void*)(ft_ptrdiff_t)1), which leads to a compile
error due to precision loss when casting to int.
Task-number: 253186
Reviewed-by: Trond
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
in 4ffda2918b3f5c789ef325cdeaac72e5e7ef2c0c savedFlags has been made
crossplatform by switching from ulong to Qt::WindowFlags. WinCE does
not have an automatic conversion between those types, thus bails out
with an error. Need to cast it to the proper type.
Reviewed-by: Marius Storm-Olsen
|
| |
| |
| |
| |
| |
| |
| |
| | |
I actually found a few functions that were not even implemented, only
declared. Those should obviously not be in the header file. I've also
removed a few functions not in use / not belonging to QWidgetPrivate.
Reviewed-by: Olivier
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
This patch cleans up several things, like bit fields that are
interleaved with with other variables, resulting in bits not being
packed properly.
Example: "uint a : 8; int c; uint b: 8;" -> "uint a : 8; uint b : 8; int c;"
In that case we'll use 12 bytes instead of 8 bytes.
I've also changed the order we declare certain variables to avoid
unnecessary gaps/padding on 64-bit architectures.
Example: "char *a; int c; char *b;" -> "char *a; char *b; int c;"
Pointers are 64-bit aligned, so padding appears between 'c' and 'b',
resulting in a total use of 24 bytes instead of 20 bytes.
...and since I anyways was moving the code around, I took the
opportunity to add some overall structure by first declaring
cross-platform functions/variables followed by platform specific
functions/variables. ...and it was kinda scary to actually be
able to see all the QStrings, pointers and whatnot we put into
QWidgetPrivate. I'm sure we can remove lots of stuff, but I'll do
that in a separate commit.
Quick numbers (X11/64 bit):
sizeof(QWidgetPrivate) == before: 472, after: 456
sizeof(QTLWExtra) == before: 112, after: 104
sizeof(QWExtra) == before: 152, after: 144
Acked-by: Olivier
|
| |
| |
| |
| |
| |
| |
| |
| | |
Our destructor didn't call close, which meant that we never emitted
lastWindowClosed.
Task-number: 253333
Reviewed-by: Bradley T. Hughes
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
their root. This can be different.
...especially if one manages the selection by program or if you share
the selection model with a treeview.
Task-number: 196118
Reviewed-by: ogoffart
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
shown
The problem is that it gets the previous geometry of the cell whereas
its own sizeHint might lead to change the geometry of the cell.
Task-number: 253109
Reviewed-by: ogoffart
|
| |
| |
| |
| |
| | |
That code is only executed if the environment varible
QT_GRAPHICSLAYOUT_DEBUG is set to1
|
| |
| |
| |
| |
| | |
Luckilly, that bug was only there if you had QT_GRAPHICSLAYOUT_DEBUG
set as an environment variable.
|
| |
| |
| |
| |
| | |
aren't really supported.
Also set the default focus to be the preview widget itself.
|
| |
| |
| |
| | |
its buttons.
|
| |
| |
| |
| | |
when the paper is drawn.
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
This is to help undo the some magic that is in the Qt/Mac port. Qt
automatically flips the Meta and Control keys on Mac. This is a
"feature" that makes porting older programs that don't use standard
shortcuts easier as Ctrl and Command usually map to the same shortcuts
in the application. The upshot of this is that I need to strip the
text() out of key events if they contain the Control or Meta modifier.
This causes much headache for anyone writing a terminal emulator. Though
they would still have to write special code because the keys are swapped
anyway. This allows people to write the terminal emulator where hitting
the Control key will really send a Control key modifier.
We've also done the extra work to ensure that standard shortcuts work
correctly regardless of what the value of the attribute is. That is, if
you specify QKeySequence::Cut for a shortcut you can always hit
Command+X and things will work.
|
| |
| |
| |
| |
| |
| |
| |
| | |
These are handy to have and make it possible for people to not have to
remember the specific sequences on the different platforms, though some
don't have any.
Reviewed-by: Jens Bache-Wiig
|
|\ \ |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
The native color picker on Mac supports CMYK colors but this was not available with QColorDialog because the colors were systematically converted to RGB. The color are now initialized with QColor and the result from the color panel is converted to the right format.
Task-number: 253272
Reviewed-by: nrc
|
| | | |
|