| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
| |
On small screens use the whole screen width when adjusting the size of
the messagebox.
Task-number: 251925
Reviewed-by: Brad
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
| |
selected item
Task-number: 250446
Reviewed-by: ogoffart
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
| |
There are different types depending on Carbon and Cocoa, and it is
probably helpful to point that out.
Task-number: 251001
Reviewed-by: Kavindra
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
| |
This reverts commit 99d243860548d6be8a68dfd027c51530351d12cb.
Needed because of commit b51dd5a7b328291c5dbda540ce228e7d867662cb.
|
|
|
|
|
|
|
|
|
|
|
| |
This reverts commit 031adeaf42ddaef8d01338f6c59ba97170be5d53.
The patch had some unforeseen side-effects for Creator.
It may also affect other existing applications in a similar way.
For now, this behavior (eating key sequences for disabled shortcuts)
should be achieved using a local workaround in creator.
Reviewed-by: mariusSO
Task-number: 251246
|
|
|
|
|
|
|
|
| |
Since the raster engine always assumes RGB layout in a QImage, we
can't support this out of the box.
Task-number: 248720
Reviewed-by: Samuel
|
|
|
|
|
|
|
|
|
|
| |
This is not strange since we never did anything to limit a resize within
the max min boundries. This patch factores out the code that ensures
this into a private function that is called both as a reaction to a
resize event, but also if resize is done programatically.
Task-number: 251893
Reviewed-by: Trenton Schulz
|
|
|
|
| |
Reviewed-by: TrustMe
|
|
|
|
|
|
|
|
|
|
|
| |
In the GTK+ file dialog filters are only represented by names such as
"All files", while the actual extensions are hidden.
You can create a filter without a name in Qt however so in this case
we have to fall back to showing the file extensions instead.
Task-number: 251928
Reviewed-by: rosch
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The Qt::NoFocusReason is used when Qt temporarily moves the focus to the
QMenuBar while switching from one widget to another.
While this did not result in a QFocusEvent, it did result in emitting
the QApplication::focusChanged signal. This in turn caused a slowness in
Qt Creator, since it wanted to update the current context and find
filter.
The fix here makes sure the focusChanged signal is not emitted when the
focus reason is Qt::NoFocusReason, since these focus changes are not
interesting for the application.
Reviewed-by: mae
|
|
|
|
|
|
|
|
| |
We have code that assumes that m33 = 1 if the type is TxScale. Instead
of changing all that code it's better to just return TxProject as type
when m33 is different from 1.
Reviewed-by: Simon Hausmann
|
|
|
|
|
|
|
|
|
| |
This basically uses a workaround to hint to our gtk theme that we
do not want it to fill our line edit backgrouns with the background
brush. This was suggested by Benjamin berg. More information can be
found here: https://bugzilla.mozilla.org/show_bug.cgi?id=405421
Reviewed-by: Tor Arne
|
|
|
|
|
|
|
|
|
| |
When QPrinter::fullPage() was set, pageRect() returned the same as
paperRect(). Under Windows, there is always a non-printable area that
was not taken into account in the fullPage() case.
Task-number: 248881
Reviewed-by: Kim
|
|
|
|
| |
Reviewed-by: Thiago
|
|
|
|
|
| |
Task-number: 250971
Reviewed-by: Tom
|
|
|
|
|
|
| |
We need to check if the engine is null before we do the thread test.
Reviewed-by: Thiago
|
|
|
|
|
|
|
|
|
| |
The problem is QUrl == operator is case sensitive. On Windows we don't
want double entries for C:\dev or c:\dev so i convert the url in lower
case and compare them (on Windows only) to avoid duplicate entries.
Task-number:226483
Reviewed-by:jasplin
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
into it."
This reverts commit 0985805ab3c7de5b15c115a98afb15944b6d93b9.
The Elastic Nodes example shows a black background for the cache pixmap
if the call to fill isn't there. Alexis and I both agree that it makes
no sense that we fill the pixmap with transparent pixels instead of
just drawing with QPainter::CompositionMode_Source, but since this
regression was introduced after 4.5.0 was released we must revert before
we investigate further.
Reviewed-by: Alexis
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This fixes a bug in 4.5.0 where cached items that call update() after
they have been moved or transformed failed to get a call to paint(),
so the last cache image was used to draw. The easiest way to reproduce
this bug is in the Elastic Nodes example. If you press, wait, then
release, the nodes will consistently move to sunken state, then back
to normal state. But if you click quickly while moving the mouse, the
nodes will stay sunken.
The bug was that the item was marked as dirty as a result of being moved,
and when the mouse button was released, the node item's call to update()
was discarded, as the item was "already dirty".
The fix is to allow invalidation of the cache even if the item is
marked as dirty.
Reviewed-by: bnilsen
|
|
|
|
|
|
| |
The #ifdef was typed wrong.
Reviewed-by: Prasanth Ullattil
|
|
|
|
|
|
|
|
|
| |
Previously we were calling two times itemChange on the parent to give
QGraphicsItem::ItemChildAddedChange. We don't need that. One is enough.
BT : yes
Task-number: BT
Reviewed-by: Andreas
|
|
|
|
|
|
|
|
|
| |
Setting a QPrinter to print to e.g. a PDF file and then passing the
QPrinter object to a QPrintDialog didn't update the printer combobox
and filename lineedit states correctly.
Task-number: 224728
Reviewed-by: Samuel
|
|
|
|
|
|
|
|
|
|
|
|
| |
QPainter inherits some properties from the widget, among other font and
pen. These are set in the painter's state in initFrom(), but in 4.5 we
forgot to call QPaintEngineEx::penChanged() to let an extended paint
engine know that the pen has changed. This caused the raster engine to
believe it could blit non-opaque text, due to the fast_text flag not
being correctly updated.
Task-number: 251534
Reviewed-by: Paul
|
|
|
|
|
|
|
|
|
|
|
| |
We can't remove an item in the sidebar if the bookmark is not valid
(i.e. link to a non existing directory). ItemViews doesn't allow you
to have disabled items and to select them at the same time, so i have
implemented a delegate that paint in gray if the bookmark is invalid.
So you can click on it and delete it.
Task-number: 251341
Reviewed-by: jasplin
|
|
|
|
|
|
|
|
|
|
|
| |
If the bookmark in the sidebar has an hidden parent and the QFileDialog
is set up to not show hidden files, then clicking on the bookmark move
the current dir to root (like if the bookmark was invalid) instead of
entering in the dir. The fix was to fetch the parent dir and the
bookmark dir when the user select it in the sidebar.
Task-number: 251321
Reviewed-by: jasplin
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Oxygen style was looking a bit broken when using 4.5 features such as
close buttons and icons. This was because it re-implements the
tabbartablabel primitive we needed to ensure spacing for the buttons.
We had to modify the way we draw tabs slightly to make it more backward
compatible so that oxygen get the same region as before and we ensure
space for it in the CE_TabBarTab case instead. Note that the drawback
to this approach is that the focus rect needs to be moved out of the
tablabel and into the CE_TabBarTab case so it covers the entire tab
which can potentially cause problems if people depend on the label to
draw the focus rect. However the new case is also more consistent with
how buttons draw their focus.
Task-number: 251635
Reviewed-by: nrc
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
A disabled QShortcut should eat its key sequence even for complex
sequences like "Ctrl-E 1". For example, a line edit with such a
shortcut should not display 1 after typing "Ctrl-E" and then "1".
The patch achieves this essentially by moving more of the
decision making (of whether to eat the key secuence) from
shortcutmap.cpp to qhortcut.cpp.
Moreover, an invisible QAction should not eat any of its key sequences
(primary nor alternates). In the example above, the line edit
would display 1 when typing this sequence for an invisible action.
The patch achieves this by temporarily unregistering all of the
action's shortcuts while the action is invisible.
Reviewed-by: mariusSO
Task-number: 251246
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
We were calling the provider with invalid path, with the default one it
fallback to all standard icons but with a custom one we call a public
method with an invalid QFileInfo. It was happening on windows only
for the My Drives view because in that case the parent path is null, my
Drives is a logical view.
Task-number: 251295
Reviewed-by: jasplin
|
|
|
|
|
|
|
|
|
|
| |
Since the introduction of the texture glyph cache we rendered these
fonts as 8-bit gray masks which looked bad and cut off a few pixels
for thin glyphs. Changed the preferred format of the font engine
to be Raster_RGBMask.
Task-number: 248141
Reviewed-by: Eskil B
|
|
|
|
| |
Reviewed-by: TrustMe
|
|
|
|
|
|
| |
Add Copyright message as requested by Legal, and update .ts files again.
Reviewed-by: Trust Me
|
|
|
|
|
|
|
|
| |
ARGB32_PM, RGB32, ARGB8565_PM and RGB16 are optimizied elsewhere
and they are the most important formats. The implemenentation of several
of these depths are also buggy, so one can question their relevance.
Reviewed-by: Samuel
|
|
|
|
|
|
|
| |
The "optimized" version of this function was actually slower
by quite a bit, so revert it to the old "trivial" code.
Reviewed-by: Samuel
|
|
|
|
|
|
|
|
| |
The blending always happens in 32-bit premultiplied so the conversion
back to dest-format needs to base itself on premlutiplied too.
Task-number: 182246
Reviewed-by: Samuel
|
|
|
|
|
|
|
|
|
|
| |
There was special code for gcc to run super-fast, but it was
buggy and didn't blend properly. Kill this code for the benefit
of the normal blend function. The performance on an Intel Quad Core 2
was not too different from the bytemul approach.
Task-number: 246009
Reviewed-by: Trond
|