| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
| |
Reviewed-by: Trust Me
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The problem was the QMacStyle didn't handle the pixel metric for
PM_TitleBarHeight correctly when passing a style option containing
an unitialized rect (empty rect). It already had special logic for
invalid rects, so the fix is simply to extend the check to also handle
empty rects.
Auto-test included.
Task-number: QTBUG-4160
Reviewed-by: msorvig
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
On embedded dialog pressing tab stop changing the focus when the focus
was given to QFontComboBox. It's because QFontComboBox embed a
QLineEdit in order to allow editing. But this QLineEdit is a focus proxy
so we need to special case that. The logic is the same in QApplication.
Be careful when changing one of them.
Task-number:QTBUG-4818
Reviewed-by:jan-arve
Reviewed-by:ogoffart
|
| |
|
|
|
|
|
|
|
|
|
|
| |
the palettePropagation test tests that the palette does not
propagate from the widget to the proxy.
And on Mac, the default palette for the line edit is not the
same as the default palette
Reviewed-by: Alexis
|
| |
|
|
|
|
|
|
|
|
| |
QPalette() and QApplication::palette("QLineEdit") are not the same on Mac
We really want QPalette() here because the graphics widget is not supposed
to inherit from the widget it is proxying.
Reviewed-by: Alexis
|
|
|
|
|
|
|
| |
Here lot of views were floating around and the processEvent was not
called in the right place.
Reviewed-by:ogoffart
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This fixes a weird bug when pressing the menu key on a proxy that
embed a lineedit (but the proxy don't have the focus).
At each time the key was pressed a context menu was created. When we press
the menu key, QWidgetMapper will create a context menu event that will be
sent to the QGraphicsView and will end up in QGraphicsScene.
QGraphicsScene will then try to find all items under the mouse and will
try to find any item from this list that accept this contextMenuEvent.
In our case the proxy will always accept it and therefor will always send
it to the widget that it owns and that's why we had this infinite numbers
of QMenu. In QWidget world the context menu event is always sent to the
widget that has the focus. If you checked any QWidget subclasses you'll
see that all of them assume that when they get a context menu event
everything is fine focus wise. We could have changed
QGraphicsScene::contextMenuEvent but this will breaks some existing code.
Instead we just checked that QGraphicsProxyWidget has the focus
before we actually send the contextMenuEvent to the widget it owns.
I have modified an existing auto-test to cover that. Be careful
widget->setContextMenuPolicy(Qt::ActionsContextMenu) means that you will
get no contextMenuEvent. :D. In this test i cover the standard use case
and the one with Qt::ActionsContextMenu with and without the focus on the
proxy.
Task-number:QTBUG-3787
Reviewed-by:jan-arve
|
| |
|
|
|
|
|
|
| |
for the Q3Table one, it sometimes fail with XPASS.
There is no point trying to stabilize a failure on a test for a class
we are not likely to touch anyway.
|
|
|
|
|
|
|
| |
If you let top level widget hanging around with a broken state it
may crash when a process event is triggered.
Reviewed-by:ogoffart
|
| |
|
|
|
|
| |
Each times the test are run, pulse show different failures.
|
|
|
|
| |
QGraphicsProxyWidget test
|
| |
|
| |
|
|
|
|
|
|
| |
We could sometimes have more than two paint events even before reaching
QTRY_COMPARE, thus it would fail.
The test failed on Windows.
|
|
|
|
| |
Reviewed-by: Jesper
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This change ensures that only active scenes can have active input
focus items. If you try to set input focus on items that are in an
inactive scene, these items will gain input focus only when the scene
is activated.
For scenes attached to a view, this change should only fix the bug that
you could have a blinking line edit in a scene when the view is inactive,
meaning you couldn't type into the line edit.
For scenes that have no view, you now must activate the scene in order
to give the items active input focus. This will affect those who use
QGraphicsScene with custom key and focus handling.
Reviewed-by: brad
|
| |
|
|
|
|
| |
Reviewed-by: Trust Me
|
|\
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Conflicts:
demos/boxes/glshaders.cpp
demos/boxes/vector.h
demos/embedded/fluidlauncher/pictureflow.cpp
demos/embedded/fluidlauncher/pictureflow.h
doc/src/desktop-integration.qdoc
doc/src/distributingqt.qdoc
doc/src/examples-overview.qdoc
doc/src/examples.qdoc
doc/src/frameworks-technologies/dbus-adaptors.qdoc
doc/src/geometry.qdoc
doc/src/groups.qdoc
doc/src/objecttrees.qdoc
doc/src/platform-notes.qdoc
doc/src/plugins-howto.qdoc
doc/src/qt3support.qdoc
doc/src/qtdbus.qdoc
doc/src/qtdesigner.qdoc
doc/src/qtgui.qdoc
doc/src/qtmain.qdoc
doc/src/qtopengl.qdoc
doc/src/qtsvg.qdoc
doc/src/qtuiloader.qdoc
doc/src/qundo.qdoc
doc/src/richtext.qdoc
doc/src/topics.qdoc
src/corelib/tools/qdumper.cpp
src/gui/embedded/qkbdpc101_qws.cpp
src/gui/embedded/qkbdsl5000_qws.cpp
src/gui/embedded/qkbdusb_qws.cpp
src/gui/embedded/qkbdvr41xx_qws.cpp
src/gui/embedded/qkbdyopy_qws.cpp
src/gui/embedded/qmousebus_qws.cpp
src/gui/embedded/qmousevr41xx_qws.cpp
src/gui/embedded/qmouseyopy_qws.cpp
src/gui/painting/qpaintengine_d3d.cpp
src/gui/painting/qwindowsurface_d3d.cpp
src/opengl/gl2paintengineex/glgc_shader_source.h
src/opengl/gl2paintengineex/qglpexshadermanager.cpp
src/opengl/gl2paintengineex/qglpexshadermanager_p.h
src/opengl/gl2paintengineex/qglshader.cpp
src/opengl/gl2paintengineex/qglshader_p.h
src/opengl/util/fragmentprograms_p.h
src/plugins/kbddrivers/linuxis/linuxiskbdhandler.cpp
src/plugins/mousedrivers/linuxis/linuxismousehandler.cpp
src/script/parser/qscript.g
src/script/qscriptarray_p.h
src/script/qscriptasm_p.h
src/script/qscriptbuffer_p.h
src/script/qscriptclass.cpp
src/script/qscriptclassdata_p.h
src/script/qscriptcompiler.cpp
src/script/qscriptcompiler_p.h
src/script/qscriptcontext.cpp
src/script/qscriptcontext_p.cpp
src/script/qscriptcontext_p.h
src/script/qscriptcontextfwd_p.h
src/script/qscriptecmaarray.cpp
src/script/qscriptecmaarray_p.h
src/script/qscriptecmaboolean.cpp
src/script/qscriptecmacore.cpp
src/script/qscriptecmadate.cpp
src/script/qscriptecmadate_p.h
src/script/qscriptecmaerror.cpp
src/script/qscriptecmaerror_p.h
src/script/qscriptecmafunction.cpp
src/script/qscriptecmafunction_p.h
src/script/qscriptecmaglobal.cpp
src/script/qscriptecmaglobal_p.h
src/script/qscriptecmamath.cpp
src/script/qscriptecmamath_p.h
src/script/qscriptecmanumber.cpp
src/script/qscriptecmanumber_p.h
src/script/qscriptecmaobject.cpp
src/script/qscriptecmaobject_p.h
src/script/qscriptecmaregexp.cpp
src/script/qscriptecmaregexp_p.h
src/script/qscriptecmastring.cpp
src/script/qscriptecmastring_p.h
src/script/qscriptengine.cpp
src/script/qscriptengine_p.cpp
src/script/qscriptengine_p.h
src/script/qscriptenginefwd_p.h
src/script/qscriptextenumeration.cpp
src/script/qscriptextenumeration_p.h
src/script/qscriptextqobject.cpp
src/script/qscriptextqobject_p.h
src/script/qscriptextvariant.cpp
src/script/qscriptfunction.cpp
src/script/qscriptfunction_p.h
src/script/qscriptgc_p.h
src/script/qscriptmember_p.h
src/script/qscriptobject_p.h
src/script/qscriptprettypretty.cpp
src/script/qscriptprettypretty_p.h
src/script/qscriptvalue.cpp
src/script/qscriptvalueimpl.cpp
src/script/qscriptvalueimpl_p.h
src/script/qscriptvalueimplfwd_p.h
src/script/qscriptvalueiteratorimpl.cpp
src/script/qscriptxmlgenerator.cpp
src/script/qscriptxmlgenerator_p.h
tests/auto/linguist/lupdate/testdata/recursivescan/project.ui
tests/auto/linguist/lupdate/testdata/recursivescan/sub/finddialog.cpp
tests/auto/qkeyevent/tst_qkeyevent.cpp
tools/linguist/shared/cpp.cpp
|
| |
| |
| |
| | |
Reviewed-by: Trust Me
|
| |
| |
| |
| | |
Reviewed-by: Trust Me
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
This fixes click-focus for the Embedded Dialogs demo and the Pad Navigator
demo. In Qt 4.6, the behavior of the spontaneous-bit in events has
changed. This has happened in a number of submits that also modify
Graphics View to have the correct behavior. Somewhere on the line,
the spontaneous bit has been reset, preventing QApplicationPrivate's
ClickFocus handling to kick in. This again causes the Embedded Dialogs
demo to not give focus to widgets that are clicked.
This fix is not likely to be 100% correct. What it does is ensure that
the spont-bit survives a call to qt_sendSpontaneousEvent (as this bit
is for some reason reset at the end of QApplicationPrivate::notify_helper),
and this fixes the most apparent regression in ClickFocus handling.
Pending closer review.
The fix includes an autotest that should be kept if the fix is reverted.
Reviewed-by: bnilsen
|
|\ \
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Conflicts:
examples/opengl/samplebuffers/glwidget.cpp
src/corelib/io/qfsfileengine_unix.cpp
src/corelib/kernel/qobject.cpp
src/corelib/tools/qsharedpointer.cpp
src/gui/gui.pro
tests/auto/qhttp/tst_qhttp.cpp
tests/auto/qkeyevent/tst_qkeyevent.cpp
|
| | |
| | |
| | |
| | | |
Reviewed-by: Trust Me
|
|\ \ \
| |/ /
|/| |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Conflicts:
tests/auto/qfilesystemmodel/qfilesystemmodel.pro
tests/auto/qfontdialog/tst_qfontdialog.cpp
tests/auto/qgraphicsitem/tst_qgraphicsitem.cpp
tests/auto/qgraphicslayout/tst_qgraphicslayout.cpp
tests/auto/qsqldriver/qsqldriver.pro
tests/auto/qsqlquery/qsqlquery.pro
tests/auto/qsqlrelationaltablemodel/qsqlrelationaltablemodel.pro
tests/auto/qsqltablemodel/qsqltablemodel.pro
tests/auto/qsqlthread/qsqlthread.pro
tests/auto/qstatemachine/tst_qstatemachine.cpp
tests/auto/qtcpsocket/tst_qtcpsocket.cpp
|
| | | |
|
|\ \ \
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Conflicts:
src/gui/graphicsview/qgraphicsitem_p.h
tests/auto/qgraphicsproxywidget/tst_qgraphicsproxywidget.cpp
tests/auto/qgraphicsview/tst_qgraphicsview.cpp
|
| |/ /
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
This patch improves the graphics view support for input
methods in several ways:
* A new ItemAcceptsInputMethod flag is introduced to serve
the same purpose for graphics items as WA_InputMethodEnabled
does for widgets: Input method support can be controlled
individually for each item.
* The input method sensitivity of a view (i.e. the value of
the WA_InputMethodEnabled flag) is updated dynamically
whenever the input method support of the current focus
item may change.
* Input contexts are reset whenever an item that supports
input methods loses focus.
Reviewed-by: janarve
Task-number: 254492
|
|/ /
| |
| |
| |
| |
| |
| |
| |
| | |
Found during manual testing (demos/embeddeddialogs).
The problem was that a full update (right before hiding/deleting an
item) caused the update request made from the destructor to be
discarded.
Auto-test included.
|
|\ \
| |/ |
|
| |
| |
| |
| | |
Reviewed-by: Trust Me
|
| |
| |
| |
| |
| |
| |
| | |
It should not be necessary to adjust the expose rectangle by 1 in all
directions; the expose has already been adjusted by the scene and view.
Reviewed-by: bnilsen
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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
|
|/ |
|
|
|
|
|
|
|
|
|
| |
Font propagation changed slightly in some cases due to change
22d472c17167c4ca8df5678842768ab63b7baadd. However, the change is sane -
its just the autotest that is not optimal.
Task-number: 246215
Reviewed-by: andreas
|
|
|