| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|\
| |
| |
| |
| | |
Conflicts:
tests/auto/qaction/tst_qaction.cpp
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
This change fixes a few bugs and adds autotests for QGraphicsProxyWidget
and QGraphicsWidget's window flag handling. The former behavior has been
that you must set window flags on QGraphicsProxyWidget explicitly after
calling proxy->setWidget(); otherwise both the flags from the embedded
widget and the proxy would be partially ignored. Example:
QLineEdit *edit = new QLineEdit(0, Qt::Window); // that's the default
scene.addWidget(edit, Qt::Window); // proxy still has no window decos
proxy->setWindowFlags(Qt::Window); // now it got decorations :-/
QGraphicsWidget's window flags are immune to reparenting, and are always
polished with the necessary hints regardless of whether you set the
flags during construction time or later. This is a feature QGraphicsWidget
can provide because it allows toplevel widgets (without parents) to be
normal widgets (i.e., non-windows).
So the new behavior of QGraphicsProxyWidget is to respect its own window
flags and ignore those of the embedded widget, regardless of what flags
the embedded widget has when it's embedded. When QWidget auto-embeds
child windows (file dialogs, popups, etc), it passes the correct window
flags to the QGraphicsProxyWidget to ensure that the right flags are set.
Task-number: 251407
Reviewed-by: Joao
|
| | |
|
|\ \
| |/
| |
| |
| | |
Conflicts:
src/gui/itemviews/qheaderview_p.h
|
| | |
|
| |
| |
| |
| |
| | |
heh, it was perfectly safe to remove the QT_VERSION ifdefs, but
QT_VERISON was another matter...
|
| | |
|
| | |
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
The problem is in QTabBar which emits the currentChanged signal
before accessing its own internal data. As we react to that signal by
possibly removing/adding tabs, it can cause a assertion failure.
Task-number: 251184
Reviewed-by: ogoffart
|
| |
| |
| |
| |
| |
| |
| | |
QHeaderView can sometimes display holes when using default row height
Task-number: 248050
Reviewed-by: ogoffart
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
The problem was that if you had child widgets of a popup, only child
widgets that had hasMouseTracking() == true received the ToolTip
event. This was because in order for a widget to receive a ToolTip,
it relied on the MouseMove event.
It still relies on the MouseMove event, but the problem with the
previous code was that it did not even *try* to deliver the MouseMove
event to the widget that did not have mousetracking. And it was
the code that "tried" to deliver (QApplication::notify()) the event
that also was responsible of finding which widget it should get the
tooltip from. Unfortunately the previous code did not even enter
QApplication::notify() because of that early cut-off.
The result was that the event was propagated up to the parent widget
(which was the popup) and consumed by the popup. (Nothing would happen
unless the popup itself had a tooltip). This is also how
translateMouseEvent() is implemented in qapplication_x11.cpp.
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
The QGraphicsView::mapToScene(QRect) function assumes that QRect and
QRectF share semantics for ::bottomRight(). However, since QRect follows
Qt 3 semantics (the rect is based on viewport pixels and (0,0,1,1) is
equivalent to one pixel, topleft = bottomright), this function gives
unexpected behavior: map(0,0,1,1) gives you an empty polygon! To work
around this, users of the function need to adjust their rectangles
with (0,0,1,1) to get the correct behavior, matching what QRectF does.
QRectF(0,0,1,1).bottomRight() == QPointF(1,1)
QRect(0,0,1,1).bottomRight() == QPoint(0,0)
Reviewed-by: TrustMe
|
|\ \
| |/
| |
| |
| | |
Conflicts:
tests/auto/qpainterpath/tst_qpainterpath.cpp
|
| |
| |
| |
| |
| |
| |
| | |
This test has always been wrong/confusing. Fix it to work, and make sense.
Task-number: 250026
Revby: Lincoln Ramsay
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
filtered items are not correctly updated.
when filtering away a row, we should remove all the mapping of the
children
Task-number: 251296
Reviewed-by: Marius Bugge Monsen
|
| |
| |
| |
| |
| |
| |
| |
| | |
In tst_mediaobject we check now explicitly if the backend plugin is
deployed to the device. Since this check is done in initTestCase we also
avoid a crash if the check fails.
Reviewed-by: Maurice
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Amend fd5f83e612729cebc5395c992bd98628bb9ea25f
calling fetchMore in create_mapping was a bad idea bacause it may lead
to infinite recurtion
Make a special case for hasChildren instead
Task-number: 250023
Reviewed-by: Marius Bugge Monsen
BT: yes
|
| |\ |
|
| | |
| | |
| | |
| | | |
reviewed-by: ogoffart
|
| |/
| |
| |
| |
| |
| |
| |
| | |
Each version of Qt has its own set of autotests, therefore
preprocessor directives relating to obsolete QT_VERSION's
are not necessary.
Reviewed-by: Carlos Duclos
|
| |
| |
| |
| |
| |
| |
| |
| | |
The fix is basically remove the whitespaces at the end otherwise the
reg exp will be wrong.
Task-number: 240789
Reviewed-by: jasplin
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
same.
updateBoudingRect update the item only if the boundingRect change
but if we have 123 as an initial text and then we set 321 as the new
text, then nothing happen because the rect is the same.
In case the boundingRect change then we call update 2 times but
the item is already dirty so the second call will just return.
BT:yes
Reviewed-by: Andreas
|
| |
| |
| |
| |
| |
| |
| |
| | |
The submenu would always appear to the side of the menu instead of its
right.
Task-number: 250673
Reviewed-by: ogoffart
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Change fd4d94df4eb16e9e54f61dd8ee45914e24832ae9 introduced mouse grab
and keyboard grab support to Graphics View (this was as part of 4.4).
The change was missing a large set of autotests that I wrote to test
the behavior of these features. As part of task 245317, which involves
investigating modality in Graphics View, I figured it would be a good
idea to start off but reconstructing these autotests. So this change
is mainly about adding autotests for mouse grabbing. And of course,
as it always is, I found two bugs while writing these tests.
1) Calling QGraphicsItem::grabMouse() while the item is holding the
implicit mouse grab will now upgrade the implicit grab to an
explicit grab.
2) Adding a popup to the scene will automatically grab the mouse.
Before, the popup would get the grab on show(), but if it was
already visible when added to the scene it would not gain the
grab.
Task-number: 245317
Reviewed-by: jasplin
|
| |
| |
| |
| |
| |
| |
| | |
QTreeView sometimes autoresizes the wrong column
Task-number: 210390
Reviewed-by: janarve
|
| |
| |
| |
| |
| |
| |
| |
| | |
nlerp() implements "normalized linear interpolation", which is faster
than slerp() and gives approximate results that are good enough for
some applications.
Reviewed-by: trustme
|
| |
| |
| |
| |
| |
| | |
slerp() is the more common-place name in the 3D community.
Reviewed-by: trustme
|
| |
| |
| |
| |
| |
| |
| |
| | |
The fix is basically remove the whitespaces at the end otherwise the
reg exp will be wrong.
Task-number: 240789
Reviewed-by: jasplin
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
same.
updateBoudingRect update the item only if the boundingRect change
but if we have 123 as an initial text and then we set 321 as the new
text, then nothing happen because the rect is the same.
In case the boundingRect change then we call update 2 times but
the item is already dirty so the second call will just return.
BT:yes
Reviewed-by: Andreas
|
| |
| |
| |
| |
| |
| |
| |
| | |
The submenu would always appear to the side of the menu instead of its
right.
Task-number: 250673
Reviewed-by: ogoffart
|
| |
| |
| |
| | |
Task-number: 251068
|
|\ \
| |/
| |
| |
| | |
Conflicts:
src/gui/graphicsview/qgraphicsitem.cpp
|
| | |
|
| |
| |
| |
| |
| |
| |
| |
| | |
QSortFilterProxyModel::hasChildren need to construct the mapping. And when it
tries to construct the mapping, it needs to fetch the childs, so there is none.
Task-number: 250023
Reviewed-by: Marius Bugge Monsen
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
When QString::replace was optimized, this specific overload missed out
on sanity checking of the arguments.
Task-number: 249517
Reviewed-by: Joao
Reviewed-by: hjk
BT: yes
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Regression caused by optimizations in QGraphicsItem and QGraphicsScene.
The changes in QGraphicsItem fix bugs in QGraphicsItem::mapToParent
functions, which did the translation before applying the transformation,
instead of the other way (transform, then translate). This bug caused
almost all mapToParent and mapRectToParent functions to behave wrongly.
Unfortunately the new helper functions in QGraphicsScene for discovering
items made use of these functions, which introduced a regression. Fixing
these functions also fixes item discovery.
The other part of this change fixes a regression caused by c1909321,
which luckily happened after 4.5.0 and never saw the light of day. The
fix is to also invalidate the cached clip path even if there is no scene,
which is necessary if you build your scene graph outside the scene, and
finish off by adding the root item to the scene.
Task-number: 250680
Reviewed-by: Alexis
|
| |
| |
| |
| |
| |
| |
| |
| | |
qt_accHotKey() was pretty buggy; it could both crash or spin forever
in some cases.
Task-number: 221731
Reviewed-by: alexis
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
If no quotes around identifiers are provided by the programmer,
identifiers are treated identically to how the underlying engine
would behave. i.e. some engines uppercase the identifiers
others lowercase them. If the programmer wants case sensitivty
and/or use whitespaces they will need to quote their identifiers.
The previous (incorrect) behaviour always quoted the identifiers.
Reviewed-by: Bill King
|
| |
| |
| |
| | |
Reviewed-by: ogoffart
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
The problem here is that we are filling the sceneEventFilters map
when we install evenfilter but we never remove the references of an
item if it has been removed from the scene or deleted. The deletion can
keep stale pointers into the map and a crash can happen.
BT:yes
Task-number:250272
Reviewed-by: bnilsen
Reviewed-by: andreas
|
| |
| |
| |
| | |
slower platforms (like WinCE) need some more time to actually update.
|
| |
| |
| |
| | |
add additional file to deployment.
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
The way font propagation work has changed since 4.4: When there is a
stylesheet enabled, font does not propagate.
So when settings a font to the QAbstractItemView, the viewport font will
not change, and hence no QEvent::FontChange on it.
So catch the QEvent::FontChange in QAbstractItemView::event in addition
to QAbstractItemView::viewportEvent. (we seems to use the view's font
everywhere anyway)
Task-number: 250754
Reviewed-by: Jens Bache-Wiig
|
| |
| |
| |
| |
| |
| |
| | |
Discovered in Kopete trunk
BT: yes
Reviewed-by: Thierry
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Zero timers on Windows would continue to fire even after being stopped
as long as a new timer was started that reused the pointer address of
the zero timer. Fix this by only re-firing zero timers if the zero
timer hadn't been stopped (we can check this by looking at the
inTimerEvent flag, which is set to false by registerTimer()).
Task-number: 247401
Reviewed-by: Denis Dzyubenko
Reviewed-by: Prasanth Ullattil
|
| |
| |
| |
| | |
Reviewed-by: TrustMe
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Reviewed-by: thartman
- in case we explicitly use double as testdata, one cannot push float to
it.
- fuzzyCompare is not fuzzy enough, thus adopt the epsilon check of
other testfunctions.
|