| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
| |
Reviewed-by: Eskil
|
|
|
|
| |
Reviewed-by: Samuel
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Previously both EEikCmdExit and EAknSoftkeyExit were hard coded to call
exit() which promptly exited the event loop without the chance to do
any UI operations. With this patch, we handle the two cases
differently and allow people to essentially make the right soft key
a hide instead of an exit simply by reimplementing closeEvent() and
ignoring the event.
EAknSoftkeyExit is now a soft exit since this does not seem to be a
mandatory exit in S60. By sending a QCloseEvent to QApplication this
has the effect that all windows are closed (sent another QCloseEvent)
and if one of them chooses to ignore this event, the application and
UI are both kept alive. This is similar to how Qt behaves on other
platforms. If all windows accept the close event (default), then the
application will quit() as normal. This command is sent from the
right soft key.
EEikCmdExit is mapped similarly as before, but calls quit() instead of
exit() to be aligned with other platforms. This will cause the
aboutToQuit signal to be emitted which maps very well to Qt because UI
interaction is not permitted from this signal and wouldn't work in S60
anyway because in the case of EEikCmdExit, the UI has already been torn
down by the UI framework. This command is sent by the End key.
We could take this one step further and intercept the key event and
prevent it from going to the UI framework and tearing down the UI,
but this is a little too evil IMHO. If people really want to
intercept that event, they can do it by reimplementing the platform
specific event filter. This is equivalent to how it would be done in
S60 (reimplementing HandleWsEvent).
Reviewed-by: axis
Reviewed-by: mread
|
|
|
|
| |
Note that this does *not* change the content of the docs.
|
| |
|
| |
|
|
|
|
|
|
|
|
|
| |
The patch which added support for smooth scrolling will work only on 32
bit builds. The new methods (e.g. deviceDeltaX) of the NSEvent were
added with the float return type. This should be of CGFloat type
instead, which is different from float on 64 bit builds.
Reviewed-by: Trust Me
|
|
|
|
| |
Reviewed-by: trustme
|
|\ |
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
The problem is that it is using mapToGlobal to translate a mouse
position andthat doesn't work well when the widget is mebedded inside
graphics view.
Task-number: QT-2218
Reviewed-by: Bjoern Erik Nilsen
|
|/
|
|
|
|
|
|
|
|
| |
Softkey actions need to copy enable state from action widget to prevent
crash when action is triggered and action widget is disabled.
OPEN: dynamically setting enable state for softkey actions.
Task-number: QT-2117
Reviewed-by: Jason Barron
|
|\ |
|
| |
| |
| |
| | |
Reviewed-by: Trust Me
|
|\ \
| |/
|/|
| |
| |
| |
| |
| |
| | |
Reviewed-by: Joao
Conflicts:
src/gui/graphicsview/qgraphicsview.cpp
src/gui/widgets/qspinbox.cpp
tests/auto/qgraphicsview/tst_qgraphicsview.cpp
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Regression against Qt 4.4. Children of items with ItemClipsChildrenToShape
would only be discovered if the view's expose region contained the outer
bounding rect of all items, _if_ there was at least one item in the
scene that enabled ItemIgnoresTransformations.
The reason for this bug is that the presence of an untransformable item
causes the item lookups to go through a different path
(QGraphicsViewPrivate::itemsInArea()). This function had the bug that it
didn't correctly discover children of clip-items. Because of this, in
the provided test case you could "work around" the bug by either removing
the clip flag, or the transformation flag.
Task-number: QTBUG-4151
Reviewed-by: Alexis
|
| |
| |
| |
| |
| |
| | |
This fix just fixes up coding bugs here and there
Reviewed-by: Brad
|
| | |
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Removing dubious intermediate detection code that also had a buffer
overflow. The results were inconsistent and not dependable on.
Processing was inefficient and end value to user experience dubious.
Test cases that abused the former behaviour were changed to consider
input in an Intermediate where it was previously considered Invalid.
With this change, user input will mostly be considered in an
intermediate state, until it is effectively validated.
Task-number: 255019
Reviewed-by: Anders Bakken
|
|\ \ |
|
| | |
| | |
| | |
| | | |
Reviewed-by: Samuel
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Those two classes are specific to the state machine framework, but
their names were so generic that we felt they were polluting the
Q-namespace. They are now QStateMachine::SignalEvent and
QStateMachine::WrappedEvent.
Reviewed-by: Eskil Abrahamsen Blomfeldt
|
| | |
| | |
| | |
| | | |
Reviewed-by: Gunnar
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
These types of input events are not handled by the normal mouse and
key event handlers on X11 and Windows. Add special cases for them to
make sure that they are not delivered while ExcludeUserInputEvents is
set.
Task-number: QTBUG-4242
Reviewed-by: Simon Hausmann
|
| | |
| | |
| | |
| | | |
Reviewed-by: sroedal
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
In cases where there are both softkey actions as well as "normal"
actions, we need to be sure to skip over the none softkey actions since
they should not be a part of the softkey framework and the 'index' will
be out of sync.
Reviewed-by: Sami Merila
|
| | | |
|
|/ /
| |
| |
| | |
Reviewed-by: Trust Me
|
| |
| |
| |
| | |
Reviewed-by: Trust Me
|
|\ \ |
|
| | |
| | |
| | |
| | | |
Reviewed-by: Trust Me
|
| |\ \ |
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
printf() does not work very well on windows, since it will not send the
output to OutputDebugString(). This allows us to catch the output even
if the program is configured without "CONFIG += console".
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
On S60, the widget backing store is dropped when app window is hidden
in order to save memory. This has a side effect that the widgets are not
redrawn when the backing store is recreated if they have static content.
Fix is to invalidate the backing buffer after recreating it, and repaint
the widget.
Reviewed-by: Jason Barron
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Jan-Arve found a bug where QSimplex would return bad results in
some tight situations. The problem was triggered randomly but the
chances of appearance were higher in problems with only one
feasible solution, ie. problems what were in the boundary of
feasibility.
The QSimplex solver implements a two-phase simplex solver, the
first phase is responsible for finding a _feasible_ solution for
the problem (not the best one). The second phase starts with
the basic feasible solution (just found) and changes until
one that is _optimal_ is found.
To implement that solution we need to add artificial variables
to the original problem, before phase 1, and remove them, before
starting phase 2. Unfortunately though, there was some randomness
in the criteria used by the solver that would sometimes cause
the removal of a good variable instead of an artificial one,
between the phases.
With one good variable missing, the solver would also miss an
important restriction, without such, it would push the objective
function too far, thus returning a "wrong" result.
This commit adds a tie-breaker condition to the pivot row logic
to ensure the artificial variables are removed before the "good"
ones.
Signed-off-by: Eduardo M. Fleury <eduardo.fleury@openbossa.org>
Reviewed-by: Artur Duque de Souza <artur.souza@openbossa.org>
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
This private class is used by QGraphicsAnchorLayout as the linear
programming solver engine.
This method adds documentation to implementation, method and classes.
Signed-off-by: Eduardo M. Fleury <eduardo.fleury@openbossa.org>
Reviewed-by: Jesus Sanchez-Palencia <jesus.palencia@openbossa.org>
|
| | | |
| | | |
| | | |
| | | |
| | | | |
Signed-off-by: Jesus Sanchez-Palencia <jesus.palencia@openbossa.org>
Reviewed-by: Eduardo M. Fleury <eduardo.fleury@openbossa.org>
|
| |/ /
| | |
| | |
| | |
| | | |
Reviewed-by: TrustMe
Autotest: Fixes qdesktopservices::storageLocation test
|
| | |
| | |
| | |
| | | |
Reviewed-by: trustme
|
|/ /
| |
| |
| | |
Reviewed-by: Paul
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
When we changed the sibling stacking order to be defined (4.5) instead of
undefined (4.2, 4.3, 4.4), the need to control this stacking order
arose. Before we could just say the order was random, but stable,
and the only way people could rely on order was to set Z. Now, when the
default order is defined as "insertion order", people start relying on
this order, and incidentally they want more control.
In QML, the need to have insertion order semantics is very evident as
the order you define the elements in QML more strongly implies a
graphical stacking order than the imperative order they get when added
in C++.
This change adds QGraphicsItem::stackBefore(const QGraphicsItem *), which
works similarily to QWidget::stackUnder(). It moves the item in front of
the sibling item passed as an argument.
While implementing this function, and writing tests for how this
function behaves in combination with Z values, I found that the code
we had for updating siblingIndex was broken in the case where you remove
an item from the middle of the children list. In this case newly added
items would be assigned the same sibling index order as one that's already
in the list.
So in order to get the tests to pass I had to fix this bug as well.. The
approach is to sort the children list by insertion order, so that we can
fix up the sibling indexes.
Performancewise this has little implications. If there are gaps in
the sibling index list, which only occurs if you remove an item from the
middle of the children list, will the sibling index list be adjusted /
corrected before used (for example, by stackBehind()). Multiple calls to
stackBehind will be fast, and the list is flagged for resorting (including
Z order).
Reviewed-by: jasplin
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
This patch makes use of the rather hidden API on Mac for
accessing the new mouse wheel event type. This will make
scrolling with Mighty Mouse or TrackPad look much more
slick.
Rev-By:prasanth
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
This patch makes use of the rather hidden API on Mac for
accessing the new mouse wheel event type. This will make
scrolling with Mighty Mouse or TrackPad look much more
slick.
Rev-By: prasanth
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
On Mac OS X, when the keyboard UI mode specifies "text boxes and lists
only", the tab key should only focus lists and text edit.
The previous implementation was using the focus policy to exclude the
buttons. This does not respect the configuration.
The change fixes tst_QApplication::focusChanged() with the Keyboard
mode "text boxes and lists only".
Reviewed-by: Richard Moe Gustavsen
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Allow higher layers in QtOpenGL and QtOpenVG to set the EGLConfig
and EGLContext manually if they have some other way to determine
what the values should be (e.g. constructing a special config for a
specific platform). Also add a QEglProperties argument to
createContext() to allow fine-tuning of the context parameters.
Reviewed-by: Sarah Smith
|
| |
| |
| |
| | |
Reviewed-by: Sarah Smith
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
QtOpenVG was doing a lot of housekeeping to avoid having to
switch EGL contexts if the same surface was used over and over.
This housekeeping really belongs in the QEgl layer so that
QtOpenGL could potentially use it as well.
This change also adds some overrides for makeCurrent(),
swapBuffers(), and destroySurface() that take an EGLSurface
directly. This is the first step in separating EGL surface
management from context management.
Reviewed-by: Sarah Smith
|
|\ \
| |/
| |
| |
| |
| |
| | |
Conflicts:
examples/webkit/formextractor/formextractor.pro
mkspecs/features/qt.prf
src/gui/painting/qpaintengineex.cpp
|
| |
| |
| |
| |
| |
| |
| |
| | |
Revert parts of adf322c514a5781dcb9ec304d44229fa47d5e8b3 to
get this to work as in 4.5.2 again. What the original
patch fixed, we don't really know..
Reviewed-by: Simon Hausmann
|
| |
| |
| |
| | |
Reviewed-by: Samuel
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
[NSWindow orderFront:] on a hidden window will make it visible. So
raise_sys() will now check if window is visible before this method is
called.
Task-number: 255428
Reviewed-by: Richard Moe Gustavsen
|