Commit Graph

1574 Commits

Author SHA1 Message Date
J-P Nurmi
12775b817f Style animations: fix QCommonStylePrivate::stopAnimation()
Explicitly delete animations, and remove the check for stopped state
as that is already done by QAbstractAnimation::stop() and we want to
delete the animation regardless of the current state.

Task-number: QTBUG-28506
Change-Id: I3e34316e5077a8627ff5e6d3babd1873bbbaa774
Reviewed-by: Jens Bache-Wiig <jens.bache-wiig@digia.com>
2012-12-20 16:48:36 +01:00
Gabriel de Dietrich
56dc245a2b Mac: Ignore ScrollBarAlwaysOn policy for transient scrollbars
Change-Id: I8a542263df64a21cad6b8cddc5ab1d8a93e153d5
Reviewed-by: Jens Bache-Wiig <jens.bache-wiig@digia.com>
2012-12-19 23:42:49 +01:00
Gabriel de Dietrich
4e38747d8d Mac: New rendering for disclose triangle, get proper color when selected
Change-Id: I2be0a28df3f5dd2fdfae13be6ec98763a04187c1
Reviewed-by: Jens Bache-Wiig <jens.bache-wiig@digia.com>
2012-12-19 23:42:49 +01:00
Andy Shaw
7fcf1cf674 Check for gtk_adjustment_configure as this is not always implemented
Some implementations seem to not have the gtk_adjustment_configure
function implemented so we check for this so that there is no problem
when it tries to use it.

Task-number: QTBUG-23569
             QTBUG-25760

Change-Id: I777ce09268f86907f3da3cede408c9a41be566cf
Reviewed-by: Jan Arve Sæther <jan-arve.saether@digia.com>
Reviewed-by: Karim Pinter <karim.pinter@digia.com>
2012-12-19 21:24:23 +01:00
Frederik Gladhorn
01f1ef1185 Accessibility indexes are no longer 1-based.
The updates for focus/selection in QTreeView
were still adding +1 as it was required in Qt 4.

Task-number: QTBUG-28174

Change-Id: Ib9fea7e20d431a0ef0db18494e7bdda06a0646b0
Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
2012-12-18 19:31:53 +01:00
Andreas Aardal Hanssen
533105cadf Deactivating an inactive panel no longer causes unwanted deactivation.
QGraphicsItem::setActive() is by design not guarded against calls that
do not change the current activation state of the item (e.g., calling
setActive(true) on an active item or calling setActive(false) on an
inactive item). This is to ensure that it's possible to set explicit
activation state on items, either before they are added to a scene, or
while the scene itself is inactive.

Before this fix, calling setActive(false) on a panel item that is not
currently active would by accident clear activation from any other
panel that might have focus. After this fix, activation is only cleared
if the item setActive() was called on itself is the active panel, or
is the panel that will regain activation once the scene is reactivated.

Task-number: QTBUG-28544
Change-Id: Ic4752f1e4400f9a0660bc968834747610212bb52
Reviewed-by: Bjørn Erik Nilsen <post@bjoernen.com>
Reviewed-by: Andreas Aardal Hanssen <andreas@hanssen.name>
Reviewed-by: Yoann Lopes <yoann.lopes@digia.com>
2012-12-17 19:37:34 +01:00
Andreas Aardal Hanssen
af8a6cdd87 Add new signal: QGraphicsScene::focusItemChanged().
This signal is emitted by QGraphicsScene whenever focus changes in the
scene (i.e., when an item gains or loses input focus, or when focus
passes from one item to another). You can connect to this signal if you
need to keep track of when other items gain input focus. It is
particularily useful for implementing virtual keyboards, input methods,
and cursor items.

Task-number: QTBUG-10570
Change-Id: I9cbbd9a2d15d6f568e1597c2c33ec049eb70f793
Reviewed-by: Jan Arve Sæther <jan-arve.saether@digia.com>
Reviewed-by: Yoann Lopes <yoann.lopes@digia.com>
2012-12-17 19:37:16 +01:00
Andreas Aardal Hanssen
ed15e4eb07 Fix focusproxy-relayed crash in QGraphicsItem destructor.
Makes tst_qgraphicsitem::tst_focusProxyDeletion not crash.

valgrind reported the error when running tst_qgraphicsitem. The crash
was very real; when deleting an item that has another item as a focus
proxy, the proxy still had a reference to the deleted item's focusProxy
pointer. I'm not a huge fan of whitebox testing but thought this crash
justifies a modification of the test to make it fail, instead of just
passing silently with a warning only given by valgrind and friends.

FTR the reason the test doesn't crash hard is that the memory is freed
but not reused within the scope of the test. So the access to the
pointer d_ptr->focusProxy succeeds, it just accesses memory that might
as well have been reclaimed. But this is quite undefined...

Task-number: QTBUG-28321
Change-Id: I2624631f5e5c2a8aa8bd4efe1fc128eba6c61f56
Reviewed-by: Jan Arve Sæther <jan-arve.saether@digia.com>
2012-12-17 11:57:02 +01:00
Andreas Aardal Hanssen
d6f2d8dcb6 Make sure panels always gain focus when activated or tab is pressed.
This changes behavior, but I would argue it's a good change. If you
create a panel and activate it (e.g., by simply showing it or reparenting
it onto an already-visible item), you expect the panel to gain focus /
which is sort of the whole point of activating it. Prior to this change,
you had to have explicitly called setFocus() on one of the panel's
children, which would give that item subfocus, for that item to auto-
gain focus when the panel was activated. This change makes it more
automatic. If the panel itself or any of the widgets in its focus chain
can gain focus, they will gain focus when the panel is activated.

So the new logic is - if the panel already has a focus item, so if
someone explicitly set subfocus on an item before the panel is shown,
that item gets focus. Otherwise, if the panel itself can gain focus
(e.g., someone makes a line edit / text edit panel), it gains focus
when activated. Otherwise, we search the focus chain until we find
the first item that can gain focus. This last case is the file dialog
case, where the dialog itself can't gain focus but typically the
first item in the focus chain is the primary focus widget, such as
the search field or the directory list view.

The change also fixes this for the first Tab. If you clear focus on
a panel, the user expects to be able to press Tab to regain focus.
Prior to this change that didn't happen. Now, the panel or the first
in the focus chain that can get focus gets focus on first tab.

Task-number: QTBUG-28194
Change-Id: Id7ec1741d0d5eb4ea845469909c8d684e14017f1
Reviewed-by: Jan Arve Sæther <jan-arve.saether@digia.com>
2012-12-17 08:58:04 +01:00
Frederik Gladhorn
ff20caae2b Accessibility: Activate in QGuiApp instead of QApp.
This makes it possible to use accessibility with
QQuickWindow.

Change-Id: I5fccd5f25021c4953b03e146705f48a198dbaaa7
Reviewed-by: Jan Arve Sæther <jan-arve.saether@digia.com>
2012-12-16 19:41:58 +01:00
José Millán Soto
6e713cf03d Call QAccessible::updateAccessibility when caret moves in QTextEdit
Change-Id: I3b9e5d8e67b4928558b642a4d23aa60ae9dfde60
Reviewed-by: Frederik Gladhorn <frederik.gladhorn@digia.com>
2012-12-16 14:49:05 +01:00
Frederik Gladhorn
65c9706f14 Remove unused private member.
Change-Id: I54f3f748763dd5959552df864af38558c136dc87
Reviewed-by: Jan Arve Sæther <jan-arve.saether@digia.com>
Reviewed-by: Morten Johan Sørvig <morten.sorvig@digia.com>
2012-12-14 17:12:44 +01:00
Jing Bai
88047bee4c add missing include when Q_NO_USING_KEYWORD is defined
Task-number: QTBUG-28446
Change-Id: I348de023035a15f3c769610abdaf0ebd7273ca34
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2012-12-14 13:06:53 +01:00
David Faure
92bd9aecfb Fix empty window title regression, add application display name to window title
This increases consistency a lot: all windows and dialogs from a Qt
application will show the app display name in the caption, on Windows and X11.
This helps identifying which app a dialog belongs to, which is especially
useful when the dialog is very generic and shows up unexpectedly.

For compatibility reasons, the app name is added to the caption only
if setApplicationDisplayName() was called -- or if the caption would be
completely empty. The standard Qt4 case (setWindowTitle + no display name)
is unchanged.

Change-Id: Ib284c62c1f4c0bc923e5bc2d10247d95e9aa76c1
Reviewed-by: Samuel Rødal <samuel.rodal@digia.com>
2012-12-14 08:56:02 +01:00
J-P Nurmi
0b0b74a563 Fix QGtkPainter::reset() to reset the clip rect
Due to preparation for GTK3 support, QGtkStyle::drawXxx() no longer
creates a local instance of QGtkPainter upon every call, but
QGtkStylePrivate::gtkPainter() will (in the future) dynamically choose
between QGtk[2|3]Painter. The same painter instance is now re-used
between the calls, but wasn't properly reseted between.

Task-number: QTBUG-28557
Change-Id: I29be318dbb54d97ed23dfb88d406a3a833db4369
Reviewed-by: Jens Bache-Wiig <jens.bache-wiig@digia.com>
2012-12-13 19:51:28 +01:00
Friedemann Kleint
76ce3e6419 Fix QWidget::setWindowOpacity() when called before show().
Pass opacity from the QWidget to QWindow and to the platform
windows.

Task-number: QTBUG-28477
Change-Id: If5a85d9183bd1ca33dac2052936ecd1e6c0b5f6c
Reviewed-by: Samuel Rødal <samuel.rodal@digia.com>
2012-12-12 21:55:57 +01:00
Friedemann Kleint
bf178c77dd QMenu: Do not set snapToMouse if a caused-widget exists.
When clicking at the bottom-right corner of a menu in a menu
bar, it appears at the wrong position. Add test and stabilize
RTL-tests by making sure the layout direction is cleared should
they fail.

Task-number: QTBUG-28031
Task-number: QTBUG-2596
Change-Id: Ibc5ae916388753908e9f3ee98e8859faaa0c8723
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
2012-12-12 21:55:30 +01:00
J-P Nurmi
05f5f194f5 Mac: disable transient scrollbar animations for non-QScrollBars
Task-number: QTBUG-28389
Task-number: QTBUG-28380
Change-Id: I91edd9c8aba60118d722bbf9ad5b85f994398823
Reviewed-by: J-P Nurmi <jpnurmi@digia.com>
Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@digia.com>
2012-12-11 18:34:19 +01:00
J-P Nurmi
e481ea595e QApplication docs: restore console mode -snippet
Change-Id: I1f8ce949ae660a209a2092a2863d5c25e2908004
Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
2012-12-11 18:34:19 +01:00
J-P Nurmi
a31dd2e995 QScrollBar::initStyleOption(): fix QStyle::State_On handling
QWindowsStyle considers QStyle::State_On as pressed, whereas
QMacStyle uses the same state for transient scrollbars. Thus,
to indicate transient scrollbars, QScrollBar::initStyleOption()
must set QStyle::State_On only when the current style actually
supports transient scrollbars.

Task-number: QTBUG-28523
Change-Id: I94d207b1e8c5c4bd6f4b99e8b4f1661197fbe9dd
Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
Reviewed-by: Jens Bache-Wiig <jens.bache-wiig@digia.com>
2012-12-11 18:34:19 +01:00
Andy Shaw
6797413db2 Remove some dead code from QLabel::paintEvent()
The code removed was in a if (d->control) block and therefore d->control
was always going to be true thus rendering the nested if invalid. The
case that this would account for is already handled in the else for the
parent if so this code is in effect not needed.

Change-Id: I799383e238560a8a8e3d7dc073d3b1ee74269f90
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
Reviewed-by: Jens Bache-Wiig <jens.bache-wiig@digia.com>
2012-12-11 15:57:12 +01:00
Thorbjørn Lund Martsum
9cf56b3e09 QGraphicsView - fix rubberband to expand on wheel event
In SHA 51914375b6 the rubberband
selection was fixed, so it followed the scene-point on mousemove.

However wheelEvent could move the view - but avoid update of the
rubberband (that would not be updated until next mouse-move).

This patch fixes that (and generally improves rubberband behavior)
since QGraphicsViewPrivate::mouseMoveEventHandler is called by
replayLastMouseEvent, which is called from various places,
where we need to update the rubberband (e.g scrollContentsBy).

Change-Id: I1b78c27edaaecea797a2319086d7a11d437d2bd3
Reviewed-by: Andy Shaw <andy.shaw@digia.com>
Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
2012-12-11 13:37:57 +01:00
Thorbjørn Lund Martsum
c57f60ffa9 QGraphicsView - move rubberband-handling into a private function
This patch moves the rubberband-handling from QGraphicsView::mouseMoveEvent
to QGraphicsViewPrivate::updateRubberBand. This function is then
called from QGraphicsView::mouseMoveEvent.

I have removed some d-> and added some q-> but beside that
nothing is changed in the code.

Change-Id: Iab70c55635c43733e0e02bb70e2bb03b90bf62f0
Reviewed-by: Andy Shaw <andy.shaw@digia.com>
Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
2012-12-11 13:37:57 +01:00
Stephen Kelly
1278b3cb8a Remove QT_DLL and QT_NODLL defines.
Task-number: QTBUG-28044

Change-Id: Ib8c4e1e8e52703aa6590875c34f05b6bc71db808
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
2012-12-11 13:37:57 +01:00
Thorbjørn Lund Martsum
3e7e61f856 QGraphicsView - add const to a not modified local variable
The QPointF ep is not modified. There is no reason it shouldn't
be const.

Change-Id: I41fb8f9ae5296a7a40f7eb8be13fc14d56915e3f
Reviewed-by: Andy Shaw <andy.shaw@digia.com>
Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
2012-12-11 13:37:57 +01:00
Thorbjørn Lund Martsum
7a7d9628f3 QGraphicsView - remove reference to avoid weird code.
Even though the code before theoretic is ok, we really shouldn't
have a reference since mapFromScene returns a QPointF and not a
const QPointF&.

Change-Id: I5ea8fd238bdbdd21fb1e3b6b5f280d45e3bc43ef
Reviewed-by: Andy Shaw <andy.shaw@digia.com>
Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
2012-12-11 13:37:57 +01:00
Nico Vertriest
7334cae9a5 Hardcoded url for Mac Os X Aqua QTBUG-28500
Change-Id: I83d87d155b7ca502098a53e955fdde3c908e3300
Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
2012-12-11 10:51:33 +01:00
Nico Vertriest
4d1d30d90d Hardcoded url Item View Classes QTBUG-28500
Removed link to Item View Classes in Qt4

Change-Id: Ic3c38a33edc88faf072b8fe7e3accfe1ee75ac78
Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
2012-12-11 10:51:23 +01:00
David Schulz
aa3a75ce14 QtBase: Doc: Fix Links to designer manual.
Change-Id: I87f68fb70aa773c44b90b58bd56fc5585a7e4107
Reviewed-by: Leena Miettinen <riitta-leena.miettinen@digia.com>
2012-12-10 10:38:28 +01:00
Andreas Aardal Hanssen
4a9c3b2433 Repair QGraphicsWidget focus chain when used with ItemIsPanel.
Add handling of the focus chain to QGraphicsItem::setFlags(), so that
the focus chain is repaired (panels pop out of the chain and non-panels
merge back in) when the ItemIsPanel flag is toggled. Add handling focus
chain to QGraphicsWidgetPrivate::fixFocusChainBeforeReparenting for
panels.

Before this fix, you must enable the ItemIsPanel flag before adding
the item as a child to a parent panel, and you lose focus when using
the tab key to focus around a panel after it has been reparented into
another panel.

Task-number: QTBUG-28187
Change-Id: I1d0d81a90697eaf715a8a337c8bf6c2159329e68
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
2012-12-07 09:11:59 +01:00
Volker Krause
0c5e232828 Compile with QT_NO_CURSOR.
Mostly straightforward, the a11y changes might look a bit drastic, but the
base class QAccessibleTextWidget was already disabled in this case, so we
have to obviously take out its sub-classes as well.

Change-Id: I682ace20d6938688ddb1da23c3463f3c025fab8e
Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
Reviewed-by: Tasuku Suzuki <stasuku@gmail.com>
Reviewed-by: Frederik Gladhorn <frederik.gladhorn@digia.com>
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
Reviewed-by: Nicolas Arnaud-Cormos <nicolas@kdab.com>
2012-12-07 08:46:15 +01:00
David Gil
cd03f2a772 Fix typos and style in QToolBar documentation
Change-Id: Ic4b4e18746382bae1b6dae009e1e5663c7a21a84
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@digia.com>
2012-12-07 08:45:12 +01:00
Gabriel de Dietrich
c7dddf2ae5 Mac: Missing update when hovering from one scrollbar to another
Change-Id: I9837bb72935cb4e3680e4bd23b5535f654b5fde6
Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@digia.com>
2012-12-06 16:45:52 +01:00
Gabriel de Dietrich
fb4ad0d1a9 Mac: Transient scrollbars should overlap in the corner on 10.8
Change-Id: Ied239d5e3cb05bed6b892607f0344e6daa028918
Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@digia.com>
2012-12-06 16:45:52 +01:00
Gabriel de Dietrich
6f7791f871 Mac: Animated expanding scrollbars on 10.8
Change-Id: Ib57d0347a7828ac7582b0fa95adf8d437694cd41
Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@digia.com>
2012-12-06 16:45:52 +01:00
Gabriel de Dietrich
c35e12e876 Mac: Cleaner transient scrollbar rendering
Change-Id: I617588012aa5166775c3c6301ee70043b22553a3
Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@digia.com>
Reviewed-by: J-P Nurmi <jpnurmi@digia.com>
2012-12-06 16:45:52 +01:00
J-P Nurmi
61fac3c5f9 Docs: fix QStyle related warnings
Change-Id: I4e67e34ecc0fc8050938a681b2c393b8442fce2e
Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
2012-12-06 14:46:13 +01:00
J-P Nurmi
1fc05fc192 QtWidgets docs: use WinVista screenshots instead of obsolescent WinXP
Change-Id: Ic7fd291d4ce4468ae12cf5dd102fbcc45387dd87
Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
2012-12-06 14:46:13 +01:00
Oswald Buddenhagen
787373d376 export only 'host_bins' to pkg-config, rather than a random selection of tools
the "export location" of the linguist tools was just bogus, and lconvert
was missing anyway. the two dbus tools and qdoc were missing, too.
generally, it seems useless to report the paths of some random tools -
instead, just report the install location of the host binaries and let
users figure out the complete paths themselves - this should be ok, as
we decided that distributors are not supposed to do tool renaming any
more.

for the binary path just use the final location, as the files won't be
used before installation anyway. this allows us removing the scary
generic prefix replace from the pc file installs.

and as a side effect this also fixes debug_and_release builds of core
and widgets by not loading various prf files prematurely and thereby
messing up the dir replacement magic.

Task-number: QTBUG-28286
Change-Id: I99de419301fc07fb923959db4bd5cab9072d1c31
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
2012-12-06 12:49:02 +01:00
Eskil Abrahamsen Blomfeldt
ae8533e4ae doc: Fix Graphics View example docs
Make the same layout of the new graphics view example documentation
as we had before (except by using annotatedlist instead of hardcoding
the links). I've also moved four examples from qtdoc to qtbase so
that they can be included in this documentation.

Change-Id: Ic2202ade119cadd98d036f1bd77e91dae49b5677
Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
Reviewed-by: Paul Olav Tvete <paul.tvete@digia.com>
2012-12-06 12:49:02 +01:00
Montel Laurent
4d178743e4 compile with QT_NO_TOOLTIP
Change-Id: I9e769a343a9dd74dc80cffebfe9ad97981596036
Reviewed-by: David Faure <david.faure@kdab.com>
2012-12-05 11:35:16 +01:00
David Gil
7396915541 Fix typos and style in QSplitter documentation
Change-Id: Ieacbfd06067ae1ca687030204125814bd9e48bd8
Reviewed-by: Johan Thelin <johan.thelin@pelagicore.com>
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@digia.com>
2012-12-05 09:24:38 +01:00
Oswald Buddenhagen
5ea41a2efa properly syncqt-ize harfbuzz headers
we were already installing them into QtCore/private, so turn them into
proper private headers to start with. this cleans up our project files.

Change-Id: I0795f79e03b60b5854de9e4dc339e9b5a5e6fd87
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
2012-12-04 13:57:55 +01:00
Gunnar Sletta
a800228fda Moved the mainwindow examples from qtdoc
Change-Id: I5a11933e86c6c71f68a55e45c7bcfdfc702bf4e6
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@digia.com>
2012-12-04 10:28:22 +01:00
Christian Stenger
36d12783c9 Fix linking of itemviews and graphicsview examples
Change-Id: I6905cc6945e2eb396108f9fb16da042e576e3afb
Reviewed-by: Gunnar Sletta <gunnar.sletta@digia.com>
2012-12-04 08:14:33 +01:00
Andrew den Exter
ab97a44b6a Clear focus of GraphicsItem focus scopes and their children.
A focus scope has effective focus if one of its children is the focus item,
clearFocus() should remove effective focus from an item and its children
not just from the focus item.

Task-number: QTBUG-28328
Change-Id: I62a292eff000151e50b2f5221e22f326a380fc3a
Reviewed-by: Martin Jones <martin.jones@jollamobile.com>
2012-12-04 01:50:02 +01:00
Volker Krause
5ede8ee80d Compile with QT_NO_GESTURES.
Change-Id: I9f8f7c586ccb5de227ec42af44159af90b39d1dd
Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
2012-12-03 22:17:17 +01:00
Oswald Buddenhagen
23153fb8c5 Merge branch 'master' into stable
Change-Id: I5c0c9a131cca64fea3bc784339d14d84076edc1a
2012-12-03 21:58:14 +01:00
Gunnar Sletta
b2cc13d95a Tag dialog examples and create dialog examples group
Change-Id: I0049b841dd5aee806e8aed36af069b0507e3c9f1
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@digia.com>
2012-12-03 16:26:37 +01:00
Volker Krause
babc6ec143 Compile with QT_NO_COLORDIALOG.
Change-Id: I37e3fed497f3595942662efb22114de57ea4c9db
Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
2012-12-03 13:29:59 +01:00
Sergio Ahumada
0df026de86 Stop using the name "Trolltech" in QSettings
Also change Trolltech for QtProject in other places

Task-number: QTBUG-23269
Change-Id: Ie4e344f23cab77c575562d18b481b3369ce30491
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
2012-12-03 03:47:08 +01:00
Marc Mutz
716d33d2a7 [QTBUG-27420] Make Q{Box,Grid,Form}Layout::takeAt() unparent a nested layout
QStackedLayout doesn't have support for QLayout, only QWidget, so
the issue doesn't arise there.

Reported-by: Johannes Schaub
Task-number: QTBUG-27420

Change-Id: I71f8d10a036918c16d8f8c9197a2ec61cd76cf01
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
2012-12-02 00:23:14 +01:00
Shawn Rutledge
b32d7bc96d Move gestures overview from qtdoc to qtbase; mention Qt Quick
On the one hand this doc reads like an overview, but didn't mention
Qt Quick; on the other, the gestures framework is questionable,
and in any case is solidly in the widgets module, not reusable for
Qt Quick.  So, just added some comments at the end to make it clear
that Qt Quick takes a different approach.  Also changed the relevant
links because the title has changed.

Change-Id: I66a0c0c106f496de26fb8947e90826ef39ccfddd
Reviewed-by: Gunnar Sletta <gunnar.sletta@digia.com>
2012-12-01 10:31:20 +01:00
Morten Johan Sørvig
5e61bbe586 Basic high-dpi "retina" support for Qt 5.
Bring Qt 5 on par with Qt 4, prepare for more comprehensive
support later on.

Introduce device independent pixels (dips), device pixels,
and devicePixelRatio. Add high-dpi support to QPainter,
QGLWidget, the cocoa platform plugin, mac and fusion styles.

Dips are similar to CSS pixels, Apple points and
Android density-independent pixels. Device pixels
are pixels in the backing store/physical pixels on screen.
devicePixelRatio is the ratio between them, which is
1.0 on standard displays and 2.0 on "retina" displays.

New API:
QImage::devicePixelRatio() and setDevicePixelRatio()
QPixmap::devicePixelRatio() and setDevicePixelRatio()
QWindow::devicePixelRatio()
QScreen::devicePixelRatio()
QGuiApplicaiton::devicePixelRatio()

Change-Id: If98c3ca9bfdf0e1bdbcf7574cd5b912c9ff63856
Reviewed-by: Morten Johan Sørvig <morten.sorvig@digia.com>
Reviewed-by: Gunnar Sletta <gunnar.sletta@digia.com>
2012-12-01 08:33:20 +01:00
Shawn Rutledge
c8dc41bacd QWidget windows have fullscreen button by default; manual test for it
It's again possible for QWindows and widget windows to go into
fullscreen mode on the Mac.

Change-Id: I7b304a135838394ef0392f89be4f225f2949fad3
Reviewed-by: Morten Johan Sørvig <morten.sorvig@digia.com>
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
Reviewed-by: Samuel Rødal <samuel.rodal@digia.com>
2012-12-01 08:32:26 +01:00
Shawn Rutledge
93fe107b3a Renamed the keyboard-focus doc to make clear it's about Widgets
Also link from the widgets index page.

Change-Id: I49cd415b09d7458d89d75931ecfaafe29c226c6f
Reviewed-by: Paul Olav Tvete <paul.tvete@digia.com>
2012-12-01 08:31:19 +01:00
Gabriel de Dietrich
bc0cbdb981 Mac: Fix small button metrics, menu indicator alignment
Task-number: QTBUG-28275
Change-Id: I08de3cc7fee3af725c66ed081072277b2ca32601
Reviewed-by: Samuel Rødal <samuel.rodal@digia.com>
2012-12-01 08:30:49 +01:00
Andreas Holzammer
5573a44f68 WINCE: Fix renameing of resource files
The standard resource files where renamed,
so fix the include for qmenu in Windows CE.

Change-Id: Id29dd8e1028cf438f4d483126a74994fc1e310d7
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
2012-12-01 08:28:58 +01:00
Thorbjørn Lund Martsum
51914375b6 QGraphicsView - fix rubberband to stay right on scroll
We should consider the scene-position when we are expanding
moving a rubberband. If the user does some auto-scroll
(Qt should support that itself, but that is another matter)
then the rubberband should not keep the (old) local position
to calculate the rubberband extension, but instead use the
scene-position that was actually clicked.

Change-Id: I04a2df6a1edae8b3587e1ac2104c7fe4ccfb7762
Reviewed-by: Andy Shaw <andy.shaw@digia.com>
Reviewed-by: Andreas Aardal Hanssen <andreas@hanssen.name>
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
2012-12-01 08:28:43 +01:00
Montel Laurent
9bf17c7cb6 Fix compile with -DQT_NO_WIZARD
Change-Id: I6f7be895b8c4a1a65de43ee35d1fab25a30a25c6
Reviewed-by: David Faure <david.faure@kdab.com>
2012-12-01 01:49:46 +01:00
Gunnar Sletta
be7ebe2d57 Fix example documentation for OpenGL module and (widget) Tools.
Change-Id: Id9dc39752bcae915f618e1a5696115a5e6923251
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@digia.com>
2012-11-30 23:56:33 +01:00
Shawn Rutledge
1164c6f6ca Mention the QT_STYLE_OVERRIDE env variable.
IMO we need to have a list of all the environment variables somewhere,
but this one is especially useful and wasn't documented at all.

Change-Id: I2de09194c5904a9a27066604840ec4be66574fb7
Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@digia.com>
2012-11-30 23:56:02 +01:00
Gunnar Sletta
06678fd0b5 Fix broken links in the QtWidgets examples.
I remove the widgets examples from the gui docs as they will
introduce broken duplicates (under doc/qtgui/...).

Change-Id: I54255ceaf4187477da3e82f6809be41fb98378a2
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@digia.com>
2012-11-30 19:40:47 +01:00
Gunnar Sletta
9ea48de5f0 Fix linking in painting, richtext and desktop examples
Change-Id: If08b2c3366610f74201ab6736f216f1a7d29b3c7
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@digia.com>
2012-11-30 19:40:19 +01:00
J-P Nurmi
d8fcfbc3c3 QGV: set QStyleOption::styleObject for graphics items & widgets
Certain QStyle code paths expect the style object to be set. This will
avoid problems when QGraphicsItems/Widgets utilize QStyle for drawing.
Even if things will not necessarily animate properly, such legacy code
won't cause a crash at least.

Change-Id: Ic77cb4ee9820d6c4ec92c7278fd87cb866f5a780
Reviewed-by: Andreas Aardal Hanssen <andreas@hanssen.name>
Reviewed-by: Morten Johan Sørvig <morten.sorvig@digia.com>
2012-11-30 19:32:35 +01:00
J-P Nurmi
39058bfe8e Docs: clarify availability & platform theme usage in widget galleries
Change-Id: Id3c1e278d6a6ce6c67b7f73c3a9490cf83eb0466
Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
2012-11-30 19:32:02 +01:00
J-P Nurmi
cd31c06590 Made QWindowsStyle internal
We will take this opportunity to remove various QStyle specializations
from the public API in Qt5. This gives us much more freedom, for
example changing the inheritance hierarchy, pluginizing etc. without
worrying about BC.

=> Use QStyleFactory and/or QProxyStyle instead of creating an instance
or inheriting QWindowsStyle directly.

Change-Id: Ic17c7e425535bc5bb3a08620e9059bb0aea5185e
Reviewed-by: Andras Becsi <andras.becsi@digia.com>
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
Reviewed-by: Thomas Hartmann <Thomas.Hartmann@digia.com>
2012-11-30 19:31:29 +01:00
Richard Moe Gustavsen
1cce35472a QPA: update backingstore also when moving QWindows
When moving QMdiSubWindows that contains native widgets (e.g QGLWidget)
inside a QMdiArea, garbage is drawn to the screen. The reason is
that since we use native QWindow backed widgets, QPA will assume
that it does not need to update/scroll the backingstore. But since the
backingstore can be shared among several windows, we need to do this to
ensure that exposed areas behind the moved QWindow will be updated.

Change-Id: I35f4d4069a73ab6cd6d610e25c176c752789a927
Task-number: QTBUG-26162
Reviewed-by: Samuel Rødal <samuel.rodal@digia.com>
2012-11-30 18:28:14 +01:00
J-P Nurmi
f52177829a Revise QMacStyle scrollbar animation handling
Skip animations whether styleObject is not set.

Task-number: QTBUG-27895
Change-Id: I1d2e4655b735627b672bc85f773605adcd375418
Reviewed-by: Morten Johan Sørvig <morten.sorvig@digia.com>
2012-11-30 00:52:21 +01:00
Jan Arve Saether
d835ebf39c Add a nice description of Qt Widgets module
Since Qt Widgets was moved from Addons to Essensials, take the
old description for the Qt Widgets addon and put it in the module.

Change-Id: If955747999d48fe09fff00a9c78e38ccbcf9a493
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@digia.com>
2012-11-30 00:50:07 +01:00
Eskil Abrahamsen Blomfeldt
0b37ed0262 doc: Remove references to Qt 4 in QMainWindow introduction
Also make it read less as a porting guide from Qt 3.

Change-Id: I78f93c643d236e13ba4ef76eeea1a98be4573def
Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
2012-11-29 17:42:07 +01:00
Morten Johan Sørvig
a4c7340b73 Make Mac style not crash on null styleObject.
We generally expect styleObject to be set during style
draw calls but this isn't always done, especially
legacy code outside Qt (for example in Qt creator).

Create a temporary stand-in QObject. This will disable
scroll bar animations.

Change-Id: I781967fe28f68f5952b368cd56be980b9e270ecd
Reviewed-by: J-P Nurmi <jpnurmi@digia.com>
2012-11-29 13:51:52 +01:00
Gunnar Sletta
d8eeae5b83 Mention that the Qt book only covers widgets
Change-Id: Ieb20f410570496286d670cab48e80f7bf7772338
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
2012-11-28 20:49:20 +01:00
J-P Nurmi
27748e588a QtWidgets docs: use Fusion screenshots
The Plastique style no longer exists in QtBase. All the references have
been updated to Fusion, and the obsolete screenshots have been removed.

Change-Id: I771a9ecf23b82965c7b3c41a40945cf051cb5f3a
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
2012-11-28 20:26:27 +01:00
Paul Olav Tvete
bf9691d9b7 Remove Qt 3 references from model/view documentation.
Also, don't pretend that Qt 4 is new.

Change-Id: Ib8f719310059093b31181e3c98cf5c028c3018dc
Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
2012-11-28 16:21:57 +01:00
David Faure
eca4936ea2 Move session management code from QApplication to QGuiApplication.
QSessionManager was already in QtGui, but not usable since the only API
to get to it was still in QtWidgets. Session management isn't related
to widgets, it also applies to QML apps on the desktop.

The virtual commitData and saveState methods have been removed,
given the two signals which exist since 4.2, and an additional
isSessionSaving() method was added instead.

Change-Id: I8099e70df133303e74456706827da21f013fcc6a
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
2012-11-28 16:21:57 +01:00
J-P Nurmi
b9c8cf2527 Docs: cleaned up remaining cleanlooks references and screenshots
Change-Id: I671cec2a84eabe14bef788499dbfa7d7e9c27670
Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
2012-11-28 16:21:57 +01:00
J-P Nurmi
3e5b031607 Docs: add Fusion Style Widget Gallery
Change-Id: I1eb6548a8842fc141b1506d6070f6b74bda5c893
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
2012-11-28 16:21:57 +01:00
J-P Nurmi
cefc0551df Choose better screenshots for "The Widget Classes" docs
Remove references to the obsolete CDE and Plastique styles, choose
screenshots from more modern styles, and revise the table so that
screenshots in the same column are from the same style.

Change-Id: I20d5944ab62d8a6965fb49339dede90624c520b3
Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
2012-11-28 13:13:46 +01:00
J-P Nurmi
ea104efa34 Style docs & snippets: remove references to QWindowsStyle
QWindowsStyle is being made internal. Use either QProxyStyle for
customizing existing styles or QCommonStyle to implement full custom
styles.

Change-Id: Ic81696abc61a3c012a3775efc0b4fba2e1dab4bb
Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
2012-11-28 13:13:35 +01:00
Rafael Roquetto
f4b80c1210 Remove invalid assert from QGraphicsScene
This assert has become invalid since commit 40fef403. After that commit, the
'origin' mentioned by the assert is not necessarily the first item of
cachedItemsUnderMouse, since it origin can be reassigned at line 5735.

Change-Id: Ibc0739b9fe31be3cc74110225940e9e173f585e0
Reviewed-by: Bernd Weimer <bweimer@rim.com>
Reviewed-by: Denis Dzyubenko <denis@ddenis.info>
Reviewed-by: Nicolas Arnaud-Cormos <nicolas@kdab.com>
2012-11-28 13:07:28 +01:00
J-P Nurmi
d378912d23 Docs: removed Motif widget gallery
The Motif style no longer lives in QtBase.

Change-Id: I7a0d31603a3898c1e5ab558b6e14aac4ec1315bc
Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
2012-11-28 12:49:14 +01:00
J-P Nurmi
19fb351cfc Docs: removed CDE widget gallery
The CDE style no longer lives in QtBase.

Change-Id: Idfb35e8333b30939a4929418ecf2ce6ccfc437cd
Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
2012-11-28 12:49:06 +01:00
Stephen Kelly
5a9de4c676 Always use QAIM to get the default flags.
Change-Id: I801f5c8023e3e3672fde28139a7f34f640e650f5
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
2012-11-28 08:43:31 +01:00
Jan Arve Saether
bad43f1e3d Make "API Reference" section \section1
This is consistent with QtCore and QtSql landing pages.

Change-Id: Ibea45678a6952b39d24483bad1ee44f562699d1f
Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
2012-11-28 00:56:34 +01:00
Andreas Aardal Hanssen
bfb569b6e7 Ensure subfocus is not reset to 0 when hiding a panel.
When hiding any widget that is not a panel, it is correct to clear
subfocus. In case clearFocus() has been called, the result is that
focusItem() / focusWidget() points to 0, which is correct. Upon
reactivation, nothing gains input focus. When changing focus, the
following setSubFocus() call will ensure subfocus points to the new
widget.

When hiding a panel, however, it's essential that subfocus within
that panel is not cleared, otherwise, when re-showing the panel,
nothing will have focus, whereas the expected behavior is that focus
is restored to the last item that had focus, i.e., the focusItem()
a.k.a. subfocus widget.

Task-number: QTBUG-22256
Change-Id: I84d849a505764e074e1369fef923cef1ad5c0b1e
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
2012-11-26 21:23:15 +01:00
J-P Nurmi
a1dfccf954 QMacStyle: cleanup unused includes
Change-Id: I8fbc33f86fac5abed4553d35fac2973f47a445e9
Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@digia.com>
2012-11-26 19:29:35 +01:00
Eike Ziller
8534bb3dd6 Fix example paths in example manifests that are used by Qt Creator.
Task-number: QTBUG-27801
Change-Id: I345c009fc0e4e1c1eabb43ad142e3b474e7a6fee
Reviewed-by: hjk <qthjk@ovi.com>
2012-11-26 17:33:37 +01:00
Gabriel de Dietrich
ef1da34c6d Mac: Reworking flat QGroupBox look
The line has been removed, giving a globally cleaner appearance. Also,
the label font size has been increased to normal size.

Change-Id: I3ef9d59ca54755c6fa158e943e4a6ce94eb05065
Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@digia.com>
2012-11-26 17:33:37 +01:00
Thomas Hartmann
7c3fa5a292 Moving code for PE_IndicatorArrow* from windows to common style
If QCommonStyle is taking the place of a common base style,
it should support PE_IndicatorArrow*.

Change-Id: Iec08a37bf3a501bcca61751b11e907999f538e34
Reviewed-by: J-P Nurmi <jpnurmi@digia.com>
2012-11-26 17:33:37 +01:00
J-P Nurmi
6c50c3556f docs: mark QMacStyle internal
QMacStyle was made internal in 27aa41, but was accidentally
left public in the docs.

Change-Id: Id7841718af3a21bbbda3102858d1a11bccb8179b
Reviewed-by: Geir Vattekar <geir.vattekar@digia.com>
2012-11-26 14:46:03 +01:00
Friedemann Kleint
eefec0e0be Fix keyboard grab in QWidgetWindow.
Task-number: QTBUG-28070
Change-Id: I6f55a2dd906ee896071137a5d47fb97c9a571b5f
Reviewed-by: Oliver Wolff <oliver.wolff@digia.com>
Reviewed-by: Miikka Heikkinen <miikka.heikkinen@digia.com>
2012-11-26 11:00:07 +01:00
Jens Bache-Wiig
3aa55d5a25 Fix color issue with sliders on Fusion style
We should not directly use the palette as it looks
weird on mac.

Change-Id: I2062bd43a8b28875330d9f8cc0eaa4069f3a43f6
Reviewed-by: J-P Nurmi <jpnurmi@digia.com>
2012-11-25 18:08:07 +01:00
Thorbjørn Lund Martsum
8d4544f00d QHeaderView: - avoid cursor move on setDefaultSectionSize
If we are reacting on the sectionResized signal and we call
setDefaultSectionSize we should ensure that we are not moving
the mouse-cursor.

This is an improvement of f8f6acb05c

Change-Id: I1adee7821bc8fcc9633f692bfd515f2c458b12c8
Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
2012-11-25 08:29:39 +01:00
Jens Bache-Wiig
dfc0fbabe1 Improved tri-state checkbox in Fusion style
This changes the tristate checkbox to look more distinct from the
disabled checkbox.

Task-number: QTBUG-27661

Change-Id: If0921c91d27b62552cbcf86563eed1b75e800478
Reviewed-by: Jonathan Liu <net147@gmail.com>
Reviewed-by: Jens Bache-Wiig <jens.bache-wiig@digia.com>
2012-11-25 06:01:43 +01:00
J-P Nurmi
553e216d89 Remove QApplication::type() and make QCoreApplication::Type internal
These Qt3 legacy application types do not match the application types
available in Qt5. Thus, the decision was to kill the confusing and
mostly useless type enum. Use for example qobject_cast instead to find
out the application type.

Task-number: QTBUG-28093
Change-Id: Ia8cf7c3ea98a3cea27f74760d62e519ea10bce9f
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2012-11-23 20:40:02 +01:00
Friedemann Kleint
5223e7eb27 Draw disabled QMenu items in inactive state in vista style.
Task-number: QTBUG-27992

Change-Id: I4ed5661cfe0d0a10143224b73fbad6fac4927a37
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
2012-11-23 18:50:40 +01:00
Lars Knoll
6755cbd76a Updated aboutQt dialog text
Updated supported platforms to match reality better,
mention qt-project.org and other copyright holders.

Task-number: QTBUG-25205
Change-Id: I4856d515500945ace55f7fd445b5b138aa00df83
Reviewed-by: Tuukka Turunen <tuukka.turunen@digia.com>
Reviewed-by: Giuseppe D'Angelo <giuseppe.dangelo@kdab.com>
Reviewed-by: Sergio Ahumada <sergio.ahumada@digia.com>
2012-11-23 18:50:40 +01:00
Jan Arve Saether
009d5e1510 Remove Plastique and Cleanlooks from the widget gallery
This commit does not remove the actual images, since they
are referenced from many other places.

Plastique style seems to have been used often as a style
for showing a screenshot of a widget (probably because it
has been available on all platforms).

When fusion style gets its gallery with images, the references
to the plastique images should probably be replaced with
references to fusion images.

Change-Id: I288c06df2c5e1f3a212b873ec0f087e119b895b0
Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
2012-11-23 18:50:40 +01:00
Jan Arve Saether
0bf1c3622e Doc: Be consistent, and put all widget classes in the same page.
Change-Id: I152a39e798a152b5362db7fdc63ccd6b887ee13b
Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
2012-11-23 17:04:00 +01:00
Miikka Heikkinen
0457f8bb8e Fix selection in QTableView when rows and columns have been moved
The determination of top left and bottom right model indexes for the
selection used logical indexes, which resulted in selection truncating
itself if the first or last row or column had been moved to different
position on the table. Changed the logic to use visual indexes instead.

Task-number: QTBUG-28009
Change-Id: I4eb9dab690dafda9d2ab7c452dd6271fad70cb30
Reviewed-by: Thorbjørn Lund Martsum <tmartsum@gmail.com>
Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
2012-11-23 17:04:00 +01:00
Lars Knoll
43619db05d Emit destroyed() signal before children get deleted
Make sure we always emit the destroyed() signal before
we delete our children. This wasn't working correctly
for QWidget based classes, as the QWidget destructor
deletes all children itself.

Task-number: QTBUG-24672
Change-Id: Iecdff3489196271177edfeba1c4a2c5800e255af
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
2012-11-23 17:04:00 +01:00
Thorbjørn Lund Martsum
2e78d7ac30 QHeaderView - Fix auto-scroll on manual move on sections
This patch fixes the manual move of sections when auto scroll is on.
It is done in QAbstractItemView::doAutoScroll by letting the
qheaderView use its parents scrollbars if they are childs of a
QTableView or QTreeView.

Task-number: QTBUG-993
Task-number: QTBUG-1103

Change-Id: I70d999d9a07c3566e42d01cc5ebb47a69a83d9d4
Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
2012-11-23 17:04:00 +01:00
Thorbjørn Lund Martsum
c6754c2720 QAbstractItemView - prepare fix for auto scroll on sectionmove
There are no semantic changes in this patch. We just avoid
many calls to horizontalScrollBar() and verticalScrollBar() by
storing the result of them in local variables, that are used
instead.

This is just a prepare for auto-scroll when a user is moving a
section.

Change-Id: I4b3d3ecbf3a29992e6f578d4b0442d7f494125e4
Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
2012-11-23 17:04:00 +01:00
J-P Nurmi
27aa41cbba Made QMacStyle internal
We will take this opportynity to remove various QStyle specializations
from the public API in Qt5. This gives us much more freedom, for
example changing the inheritance hierarchy, pluginizing etc. without
worrying about BC.

=> Use QStyleFactory and/or QProxyStyle instead of creating an instance
or inheriting QMacStyle directly.

Change-Id: I44a2f5ee3fe08ecc837b593a2a2737eb90e8c267
Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@digia.com>
2012-11-23 15:18:15 +01:00
Samuel Rødal
6a9b713071 Add pointers to the rich text documentation from mentions of rich text.
The QLabel documentation for instance is quite confusing since it talks
about rich text without saying what it actually is. The QTextEdit
documentation can also be improved by being more explicit.

Change-Id: Ie718d170e18a0b713fe567fb707330d0085fb9e4
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@digia.com>
2012-11-23 10:08:10 +01:00
J-P Nurmi
91fa2e0a53 QWidgetPrivate::init(): clarify that QWidget requires QApplication
Task-number: QTBUG-28076
Change-Id: Ica9713894c18bb43ae817a6dd42be087b23fa8c2
Reviewed-by: Jing Bai <jing.bai@digia.com>
2012-11-23 10:08:10 +01:00
J-P Nurmi
7d48fd1c83 Made QWindowsMobileStyle internal
We will take this opportynity to remove various QStyle specializations
from the public API in Qt5. This gives us much more freedom, for
example changing the inheritance hierarchy, pluginizing etc. without
worrying about BC.

=> Use QStyleFactory and/or QProxyStyle instead of creating an instance
or inheriting QWindowsMobileStyle directly.

Change-Id: Id64f3dabff38db7864e235c79b2e9276379f4ba4
Reviewed-by: Andreas Holzammer <andreas.holzammer@kdab.com>
Reviewed-by: Janne Anttila <janne.anttila@digia.com>
2012-11-23 10:08:10 +01:00
J-P Nurmi
4fb0e52515 Made QWindowsCEStyle internal
We will take this opportynity to remove various QStyle specializations
from the public API in Qt5. This gives us much more freedom, for
example changing the inheritance hierarchy, pluginizing etc. without
worrying about BC.

=> Use QStyleFactory and/or QProxyStyle instead of creating an instance
or inheriting QWindowsCEStyle directly.

Change-Id: I6b3c0554e7a2a4a5f0027f4ea1342fd332af89ad
Reviewed-by: Andreas Holzammer <andreas.holzammer@kdab.com>
Reviewed-by: Janne Anttila <janne.anttila@digia.com>
2012-11-23 10:08:10 +01:00
Pierre Rossi
b77749e997 Account for the item spacing when using QListView::scrollTo()
Somehow this bug managed to stay hidden until the introduction
of QFusionStyle.

Task-number: QTBUG-27675
Change-Id: I86b049b869e9f2951426dc67a485ad7c60ef1403
Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@digia.com>
2012-11-23 00:47:48 +01:00
Oliver Wolff
664acbe796 Do not hide fullscreen widgets having a 0x0 geometry
It is possible that the widget which is to be shown full screen has a
0x0 geometry if an empty layout with 0 margin is set there. In that case
the widget should not be hidden.

Task-number: QTBUG-27602

Change-Id: I87fd20cc3a5bac89ceccdf639780c4bc721ce860
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
Reviewed-by: Samuel Rødal <samuel.rodal@digia.com>
2012-11-22 14:14:37 +01:00
Thorbjørn Lund Martsum
7a49d8dc06 QHeaderView - call viewport->update() in setDefaultSectionSize
Just like in resizeSection, moveSection, swapSection (and more)
we should call update on the viewport after setDefaultSectionSize.

Change-Id: I88154138d98f644050054d7cd287a0addd9a9cf9
Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
2012-11-21 16:36:50 +01:00
Thorbjørn Lund Martsum
cf27bc6277 QHeaderView::setDefaultSectionSize to handle auto size of sections.
setDefaultSectionSize should respect auto resized sections like
QHeaderView::resizeSection(). When setDefaultSectionSize is called
we should process a possible pending resize and afterwards we
should do a (delayed) resize of the sections (if we have autosized
sections)

Change-Id: Ie09e6f073c944b58693ffbbd1d1a8b60104c1a55
Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
2012-11-21 16:36:50 +01:00
Thorbjørn Lund Martsum
79fcb97be5 QHeaderView:setDefaultSectionSize add invalidateCachedSizeHint call
We cannot rely on the previous sizeHint and we also call it
in QHeaderView::resizeSection(). There seems to be no reason
not to call it.

Change-Id: Ia473fb7163369aafa5c019ff97a030f9f54a33d9
Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
2012-11-21 16:36:50 +01:00
David Gil
23e44afe7a [Doc cleanup] Fix typos and style of QAbstractButton, QButtonGroup, QCheckBox and QRadioButton
Change-Id: Ie557f865f5bdec7241abced91bf10cee8feaf9d9
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@digia.com>
2012-11-21 16:36:50 +01:00
J-P Nurmi
bb5e45d0a0 Made QWindowsXPStyle internal
We will take this opportynity to remove various QStyle specializations
from the public API in Qt5. This gives us much more freedom, for
example changing the inheritance hierarchy and even merging style
implementations (XP & Vista) later on, without worrying about BC.

=> Use QStyleFactory and/or QProxyStyle instead of creating an instance
or inheriting QWindowsXPStyle directly.

Change-Id: Ib4fec35c2fcb3b5a193537a1de5b6e26fbbe0a06
Reviewed-by: Jan Arve Sæther <jan-arve.saether@digia.com>
2012-11-21 16:36:50 +01:00
J-P Nurmi
537efea52b Made QWindowsVistaStyle internal
We will take this opportynity to remove various QStyle specializations
from the public API in Qt5. This gives us much more freedom, for
example changing the inheritance hierarchy and even merging style
implementations (XP & Vista) later on, without worrying about BC.

=> Use QStyleFactory and/or QProxyStyle instead of creating an instance
or inheriting QWindowsVistaStyle directly.

Change-Id: I8b320036e241e877fc9bb5f4084cc6e63756cbc4
Reviewed-by: Jan Arve Sæther <jan-arve.saether@digia.com>
2012-11-21 16:36:50 +01:00
J-P Nurmi
9bc49b0bca Made QFusionStyle internal
We will take this opportynity to remove various QStyle specializations
from the public API in Qt5. This gives us much more freedom, for
example changing the inheritance hierarchy, pluginizing etc. without
worrying about BC.

=> Use QStyleFactory and/or QProxyStyle instead of creating an instance
or inheriting QFusionStyle directly.

Change-Id: I37d8acb13b6fd328a9cd53c74df971428bbbe443
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
2012-11-21 11:03:48 +01:00
J-P Nurmi
4532a1399e QProxyStyle: fix the base style assignment in constructor
Assign the baseStyle member before calling setParent(), because that
will trigger ParentChange event and thus calls ensureBaseStyle(). The
baseStyle member must be set at that point, because otherwise it will
start creating a fallback base style.

Change-Id: I3522e41bb6b82e3fe2e7790d53a53978c18a027a
Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@digia.com>
2012-11-20 17:10:19 +01:00
Friedemann Kleint
f439108c4f Detect Unity by checking XDG_CURRENT_DESKTOP and use Gnome theme.
Fallback to Gtk for unknown desktops, which should be suitable
for most cases like XFCE.

Task-number: QTCREATORBUG-8254

Change-Id: Iaf9959f75852e03a83b5af7d0dead01ef657d678
Reviewed-by: Frederik Gladhorn <frederik.gladhorn@digia.com>
2012-11-20 17:08:39 +01:00
Thorbjørn Lund Martsum
bf909bd637 QHeaderView - do not keep indexes from an obsolete model
When we call setModel persistentHiddenSections are no longer relevant.
It contains indexes from the previous model.

This solves:

Task-number: QTBUG-18196

Change-Id: Ida02fa63a915695e3730fd63995ac5f8520ae827
Reviewed-by: Andy Shaw <andy.shaw@digia.com>
Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
2012-11-20 14:13:07 +01:00
J-P Nurmi
e4179d1033 Made QGtkStyle internal
We will take this opportynity to remove various QStyle specializations
from the public API in Qt5. This gives us much more freedom, for
example some styles could be even separated out of QtWidgets and be
provided as plugins instead.

=> Use QStyleFactory and/or QProxyStyle instead of creating an instance
or inheriting QGtkStyle directly.

Change-Id: Iea1f7ebc80949d29f02733f81674355578e2e4fc
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
2012-11-20 14:13:07 +01:00
Friedemann Kleint
e671110a10 Handle Qt::WA_MacSmallSize in QApplication::font(const QWidget *).
Task-number: QTBUG-27669
Task-number: QTBUG-27665
Change-Id: Id7eb8092076a57a755a53d1eb5c46d706756ca81
Reviewed-by: hjk <qthjk@ovi.com>
Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@digia.com>
2012-11-20 14:13:07 +01:00
Eskil Abrahamsen Blomfeldt
0dc61c4216 Merge branch 'newdocs'
Added prepare_docs to qt_build_config.prf (it was added
directly in configure in the source branch)

Conflicts:
	configure
	tools/configure/configureapp.cpp

Change-Id: I1337c69fc62b1c934e3e39b4409e4857440c9db8
2012-11-20 10:12:44 +01:00
Friedemann Kleint
433e7cef1e QSystemTrayIcon/X11: Use display obtained as native screen resource.
Previously, the screen name was used, which contained the
display name. This was changed to return the xrandr-name.

Task-number: QTBUG-5416
Change-Id: I560143d6d459a8051c9640079cf7d39a3caebfec
Reviewed-by: Mitch Curtis <mitch.curtis@digia.com>
Reviewed-by: Samuel Rødal <samuel.rodal@digia.com>
2012-11-19 17:12:58 +01:00
Oswald Buddenhagen
5276c84933 fix namespaced build
Change-Id: I7ac3f3dc2057914108876241883cf8c7e30d2c33
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
2012-11-16 17:40:52 +01:00
Friedemann Kleint
72a0ce045c Accept subsequent drag moves in QWidgetWindow if enter was accepted.
Add handling similar to QGuiApplicationPrivate::processDrag.

Task-number: QTBUG-28008
Change-Id: I516531da242471cdfbb59418d0052b25f799f373
Reviewed-by: Samuel Rødal <samuel.rodal@digia.com>
2012-11-16 14:09:52 +01:00
Jens Bache-Wiig
162926414d Fix incorrect size hint for abstract spinbox
This size hint was based on strange logic from an alternate
universe. The size hint should only contain the text size
and let the style add what is neccessary for the frame rect etc.
Most styles have worked around this by simply ignoring it,
however some styles could still break a bit.

Note that we add 4 since that is the constant that the old
code 'usually' ended up at and should be compatible with
our existing styles.

Change-Id: Iebdbcb8949dd8b7daa7d8cb96ae5ab7351e4f79d
Reviewed-by: J-P Nurmi <jpnurmi@digia.com>
2012-11-15 18:15:50 +01:00
Samuel Rødal
9b62b01ddd Disable static contents optimization for now.
Since none of the platform backingstore implementations currently
implement this, skip trying to use the optimization for now to avoid
graphical glitches.

Task-number: QTBUG-27971
Change-Id: Ic6d263bb552ef0b4786910d71f965d26d810b7eb
Reviewed-by: Paul Olav Tvete <paul.tvete@digia.com>
2012-11-15 18:15:50 +01:00
Jens Bache-Wiig
48f3128a7d Add feature to enable rounded line edit on mac
This will not currently be exposed in the widget API but we
can make use of it for qt quick components.

Change-Id: I08300a3bcd58e68df633fe9b36a988eb6176ef9c
Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@digia.com>
2012-11-15 18:15:50 +01:00
Jens Bache-Wiig
e9b6eb7795 Improve highligted colorization on mac with Fusion style
This mimics the platform behavior of using blue color when
the system palette is in use.

Change-Id: I9ad6a552614a3466a930ad5b28fc70d9343d2022
Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@digia.com>
2012-11-15 18:15:50 +01:00
Thorbjørn Lund Martsum
fc271b4273 Regression fix to QHeaderView::setDefaultSectionSize
When the sections has been resized we need to calculate new values
for the section start-positions. Otherwise we break visualIndexAt
and sectionPosition.

This fixes a regression introduced in
b800d8b94a

Change-Id: I148dbf44f742208787ed59b70d82b8048d721e90
Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
2012-11-15 13:55:00 +01:00
Miikka Heikkinen
b8be2e67ea Change to enter/leave policy while grabbing.
Sending enter and leave events to other windows than the grabbing
window is not logical. The policy should be that only the grabbing
window receives enter and leave events.

Changed the documentation accordingly and provided the necessary
changes to Windows implementation.

Also removed explicit leave event generation for widgets when
popup is opened as that is now redundant.

tst_QWidget::underMouse() test was changed to behave according to
new logic.

Task-number: QTBUG-27871
Change-Id: I127fb8685b4a4206d1a319f42cba491ec02bc8ca
Reviewed-by: Oliver Wolff <oliver.wolff@digia.com>
Reviewed-by: Samuel Rødal <samuel.rodal@digia.com>
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
2012-11-15 11:59:34 +01:00
Jan Arve Saether
a6135c55b9 Add comment to resetCursorBlinkTimer to avoid accidental removal of it
Change-Id: Ied4c686ab5f4d4530d4d5ae3ce22c6b9ffc4c1de
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
2012-11-15 11:32:03 +01:00
Jan Arve Saether
e2942d0a5b Add resetCursorBlinkTimer() back again.
Apparently it was used by QtQuick1

Change-Id: Ia0cf8535cbfed9b09e151b887c243fb173ca300a
Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@digia.com>
2012-11-15 11:14:39 +01:00
Miikka Heikkinen
90de0c4178 Fix mouse cursor behavior for QMainWindow splitters
The cursor handling has changed in Qt5 somewhat, which made old cursor
logic for splitters invalid, causing the splitter resize cursor to
persist after hovering over splitter, as well as cursor flicker
during splitter drag.

Since the cursor is changed always in dispatchEnterLeave, CursorChange
event can now come for QMainWindow when cursor hasn't actually changed,
so we now check if the cursor is still our adjusted cursor before
updating the old stored cursor. We also ensure that our adjusted cursor
stays visible if cursor is in fact changed - the changed cursor will
be shown when we no longer need adjusted cursor.

Additionally, we skip cursor adjustments while we are dragging the
splitter to avoid cursor flicker, which is caused by splitter actually
moving asynchronously after the mouse event is handled.

Task-number: QTBUG-27970
Change-Id: Id9f6a0e9653563e09b883f21396de056a88f78a7
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
Reviewed-by: Samuel Rødal <samuel.rodal@digia.com>
2012-11-15 10:56:52 +01:00
Teemu Katajisto
0a334b2180 Mac: add runtime check for not calling preferredScrollerStyle on 10.6
Task-number: QTBUG-27915
Task-number: QTBUG-27913
Task-number: QTBUG-27911

Change-Id: I1da49c5a1455b30335dec53921a35dc09cd27aa4
Reviewed-by: Morten Johan Sørvig <morten.sorvig@digia.com>
2012-11-14 14:18:31 +01:00
Gabriel de Dietrich
9346cb9552 Widgets: Stop cursor blink timer when QLineEdit is read-only
This prevents unnecessary updates, since the cursor is not visible.

Change-Id: Iec54ed338a0cb526a03cd611de4d823e26f3d804
Reviewed-by: Jan Arve Sæther <jan-arve.saether@digia.com>
2012-11-14 14:18:31 +01:00
Friedemann Kleint
39a0952687 Send enter to the child at the position of the QEnterEvent.
This was apparently done so in each of the widget_<platform>.cpp
in Qt 4.8. This then causes the cursor to be updated in
dispatchEnterLeave() on Windows and Linux.

Task-number: QTBUG-27871
Task-number: QTBUG-27585
Task-number: QTBUG-26424
Change-Id: Idf14cd96ccb36f7c2607853ed8b0024c36a5413c
Reviewed-by: Oliver Wolff <oliver.wolff@digia.com>
Reviewed-by: Miikka Heikkinen <miikka.heikkinen@digia.com>
2012-11-14 10:36:38 +01:00
Mitch Curtis
041769d4e4 Clean up styles.qdoc.
Corrected all spelling and grammar mistakes and formatted values
properly.

Change-Id: Iecfa0126e532ab08f8b6c307b5c00dc046e77a2a
Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
2012-11-13 12:51:09 +01:00
Gabriel de Dietrich
64da20405a QWidget: Move break statement to the right place
An InputMethodQuery event should NOT be transformed into a PolishRequest
if the receiving widget has no WA_InputMethodEnabled attribute set.

Change-Id: I0727c600f1eb68087cb9fbc25f6458aca5417693
Reviewed-by: Samuel Rødal <samuel.rodal@digia.com>
2012-11-12 15:46:40 +01:00
Friedemann Kleint
2d07d3b4e3 Add a QEnterEvent containing the mouse position.
Enter handling requires knowledge of the mouse
position. Extend the enter handling of
QWindowSystemInterface to receive the position
(implemented for Windows, XCB and Mac), passing it
on to QEnterEvent. Dispatch QEnterEvent from
widgets code.

Change-Id: I49c07d2b1f46310c877017dd55d4cd7d636bdbce
Reviewed-by: Miikka Heikkinen <miikka.heikkinen@digia.com>
Reviewed-by: Samuel Rødal <samuel.rodal@digia.com>
2012-11-10 20:08:28 +01:00
J-P Nurmi
8ba6f75fa6 Refactor and cleanup QGtk(2)Painter
Move all the GTK2 specific function resolving and painting routines
to QGtk2Painter. A GTK3 specific and Cairo based QGtk3Painter will
be introduced later, and it will be QGtkStyle's job to choose
between the two.

Change-Id: I2c8a85de0cf8187468798cf5faff0006da4b9623
Reviewed-by: Jens Bache-Wiig <jens.bache-wiig@digia.com>
2012-11-10 15:50:55 +01:00
Gabriel de Dietrich
e5eeffbf8b Mac: More accurate focus mask
Small artifacts were visible when tabing in and out QLineEdits several times.

Change-Id: I56334e0534c67c94d357e3517d2470adcc1d8a1c
Reviewed-by: Jens Bache-Wiig <jens.bache-wiig@digia.com>
2012-11-09 16:11:48 +01:00
Friedemann Kleint
6dffbccbf3 Fix warnings about unused variables in stylehelper.
Change-Id: I6f18fff5277a95301a525209b7d45f0d4f182b97
Reviewed-by: Jens Bache-Wiig <jens.bache-wiig@digia.com>
2012-11-09 13:44:45 +01:00
J-P Nurmi
89ccb0a699 QGtkStyle: GTK3 compatible gtk_adjustment_new()
In GTK3, gtk_adjustment_new() returns GtkAdjustment* and there's no
such thing as GtkObject anymore. Just typedef the function pointer
appropriately and as a bonus we'll save ourselves from the casts. ;)

Change-Id: I2f17ab10b835dd0bffabb86345488e84aea51f3c
Reviewed-by: Jens Bache-Wiig <jens.bache-wiig@digia.com>
2012-11-08 22:47:42 +01:00
Rafael Roquetto
602ea84f44 Fix TapAndHoldGesture (others) for QWidgets
After the migration to QPA, touch events usually have a QWindow as a receiver,
unlike Qt4 where receivers were QWidgets. This broke QGestureManager and
gestures such as the TapAndHoldGesture, because
QGestureManager::filterEvent(QWidget *, QEvent *) was never called. Since the
receivers are now of QWindow type, QGestureManager::filterEvent(QObject *,
QEvent *) gets called instead, always returning false. This has several side
effects, one of them was causing the TapAndHold gesture to time out, because
it never got a TouchEnd event (and thus it thought that the touch was still
going on, even though it was not). This patch ensures that if a gesture event is
meant to be delivered to a QWidget, the right event filter method is called.

Change-Id: I1df5f763fe6c4d8db0058adbd17d23d70b4988fe
Reviewed-by: Zeno Albisser <zeno.albisser@digia.com>
Reviewed-by: Andy Shaw <andy.shaw@digia.com>
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
Reviewed-by: Paul Olav Tvete <paul.tvete@digia.com>
Reviewed-by: Shawn Rutledge <shawn.rutledge@digia.com>
Reviewed-by: Denis Dzyubenko <denis@ddenis.info>
2012-11-08 15:05:26 +01:00
Oliver Wolff
d2e5c7787e Do not call QWidget::show/hideEvent twice
While handling events for Widgets and Windows in QWidgetWindow::event
makes sense for other events, it causes QWidget::show/hideEvent to be
called twice when handled like "the rest". Having that as one case here
seems to be the cleanest solution. Removing the call to showEvent from
QWidgetPrivate::show_helper (as proposed in the bug report) causes
autotests to fail and thus is not a viable option.

Additionally the expected result for the task221221 test for
QDoubleSpinBox was reverted to the Qt4 value as Qt4 behaviour was
restored.

Task-number: QTBUG-27199
Task-number: QTBUG-26424
Task-number: QTBUG-22565

Change-Id: I0ac42b09b1a7618de042d27aa5dd1b3d9f30f552
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
Reviewed-by: Andy Shaw <andy.shaw@digia.com>
2012-11-08 15:01:52 +01:00
Shawn Rutledge
cd34da5426 Rename all QWindow properties that have "window" in them
windowTitle, windowModality, windowIcon and so on are named that way
to be similar to the ones in QWidget.  However QQuickWindow inherits
all of the declared properties, and we would like to have shorter
property names in QML.  If you are working with a Window then it's
obvious the title property is the window title.  Unfortunately,
there must be patches in many other modules which depend on this one.
In order to avoid the need to merge them all at the same time,
there is also patch https://codereview.qt-project.org/#change,39001
which temporarily adds backwards-compatible accessors, which can be
removed after the other modules are able to build without them.

We should not rename windowState to state, because in QML, state
usually drives the state machine for animation transitions etc.
(although QWindow is not an Item, a user might get confused about it).

Related patches are
https://codereview.qt-project.org/#change,39001
https://codereview.qt-project.org/#change,37764
https://codereview.qt-project.org/#change,37765
https://codereview.qt-project.org/#change,37766
https://codereview.qt-project.org/#change,37762

Change-Id: Ie4424ec15fbdef6b29b137f90a2ae33f173edd21
Reviewed-by: Samuel Rødal <samuel.rodal@digia.com>
2012-11-07 21:26:08 +01:00
Mitch Curtis
950b679792 Fix sentences in QGraphicsItem documentation.
Change-Id: I5f86cdca53be103976017c83123e1ac80fcb8aa8
Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
2012-11-07 12:19:14 +01:00
J-P Nurmi
c072ee1277 QGtkStyle: remove references to gtk_progress_configure()
gtk_progress_configure() is deprecated and no longer exists in GTK3.

Change-Id: I02d58456285326b8aee6050da1a155cacbb86eee
Reviewed-by: Jens Bache-Wiig <jens.bache-wiig@digia.com>
2012-11-07 12:19:14 +01:00
Jerome Pasion
b4a05fd2d8 Doc: Cleaning up QHP information in module configuration files.
There is a common standard among all Qt modules. These changes affect
the final .qch file for each module.

Changes:
1)URL in qt-project.org is confirmed by DevNet maintainer
url = http://qt-project.org/doc/<module>

2)Landing page title mapping
indexTitle = landing page

3)"C++ Classes" as a child node.
The list of C++ classes and the titles are specified in the wiki.

4)Removed extra subprojects.
They are not needed for now. Each module may need additional nodes.

Change-Id: I1825476c21fe9aaddc9d6b512ff74229f17271a0
Reviewed-by: Martin Smith <martin.smith@digia.com>
2012-11-07 10:16:08 +01:00
Miikka Heikkinen
dde3f6a934 Fix excess enter events when showing modal dialog on button press
QApplicationPrivate::leaveAfterRelease was not properly cleared when
mouse event handling was interrupted by a modal dialog, which caused
every mouse move over the modal dialog to trigger enter event to the
widget under cursor.

Fixed by clearing QApplicationPrivate::leaveAfterRelease if mouse event
without any buttons pressed is handled.

Task-number: QTBUG-27643
Change-Id: I4f31daa656bc643c88e5338282a671ae2077e255
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
Reviewed-by: Oliver Wolff <oliver.wolff@digia.com>
Reviewed-by: Samuel Rødal <samuel.rodal@digia.com>
2012-11-07 08:44:38 +01:00
Miikka Heikkinen
715902051a Fix inconsistent leave/enter events for main window when popup is open
Changed the platform leave event handling logic in QWidgetWindow to
match platform leave event handling logic in Qt4, where last mouse
receiver is used as leave target only if last mouse receiver wasn't
a native window itself. In that case it is assumed to get leave event
of its own when relevant.

Task-number: QTBUG-27639
Change-Id: Id6edcd29754a15c959f18ab38b20d66e5d446510
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
Reviewed-by: Oliver Wolff <oliver.wolff@digia.com>
2012-11-06 20:26:43 +01:00
Liang Qi
7d5b813de3 Mac: remove some unused code in QFontDialog
Those code was warpped by Q_WS_MAC and should be part of QPA already.

Change-Id: I48b751aad0509b50ccf9e82778c962ed80a2a9f9
Reviewed-by: Jiang Jiang <gzjjgod@gmail.com>
Reviewed-by: Morten Johan Sørvig <morten.sorvig@digia.com>
2012-11-06 20:26:43 +01:00
J-P Nurmi
15fc255c7c QGtkStyle: GTK3 compatible combo boxes
Use gtk_combo_box_new_with_entry when gtk_combo_box_entry_new is not
available. The latter was deprecated since 2.24 and is no longer
available in GTK3.

Notice that gtk_combo_box_new_with_entry returns a GtkComboBox, whereas
the old gtk_combo_box_entry_new returned a GtkComboBoxEntry.

Change-Id: I4aa3c528c6e04967ed783fce72036acb6063445b
Reviewed-by: Jens Bache-Wiig <jens.bache-wiig@digia.com>
2012-11-06 16:34:42 +01:00
J-P Nurmi
b73465550b QGtkStyle: GTK3 compatible type checking
- GtkType -> GType
- GTK_CHECK_TYPE -> G_TYPE_CHECK_INSTANCE_TYPE

Both are deprecated aliases in GTK2 and do not exist in GTK3.

Change-Id: If2dc4ba09451cabb6730f8b23e15db7554a9f829
Reviewed-by: J-P Nurmi <jpnurmi@digia.com>
Reviewed-by: Jens Bache-Wiig <jens.bache-wiig@digia.com>
2012-11-06 16:31:34 +01:00
J-P Nurmi
a80c217583 QGtkStyle: handle focus & default widgets in GTK3 compatible way
Change-Id: Ib4409c15599953a6626738543b27d14d711e7109
Reviewed-by: Jens Bache-Wiig <jens.bache-wiig@digia.com>
2012-11-06 16:30:11 +01:00
Marc Mutz
9d95bc58e8 De-inline some destructors in QtWidgets
Destructors should be out-of-line so that the compiler doesn't generate
one per translation unit.

Apart from creating more work for the compiler, it can also lead to
duplicated vtables if the dtor is the first virtual function
(reimplementation), and all other virtuals are inline, too.
Duplicate vtables then break RTTI.

In addition, having virtual dtors de-inlined allows us to add code
to them in a BC way.

As a final argument, this change may lead to less code app-side, since
a sequence of cross-DLL calls (to member variable dtors) is replaced
by a single cross-DLL call to the new out-of-line dtor.

Change-Id: Ifb8c4aa992c75d61ba9ac8de5ab41d1e96b0a0b1
Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@digia.com>
2012-11-06 12:40:55 +01:00
J-P Nurmi
1dd9586a71 QGtkPainter: use gtk_widget_get_style()
Do not access GtkWidget::style directly, it doesn't exist in GTK3.

Change-Id: I1ee4ad5ca0894c9277219fc2a70f5f1c69ec632f
Reviewed-by: Jens Bache-Wiig <jens.bache-wiig@digia.com>
2012-11-05 22:19:54 +01:00
Friedemann Kleint
96ebbad5f0 QWindowsVistaStyle: Restore altered brush origin.
The line to restore it was missing, and the leftover variable
caused a warning, which was removed in
abe5a0a432 .

Task-number: QTBUG-27828

Change-Id: I00b8b89b07bec38a1660c3a9c61220b6d0d7eb48
Reviewed-by: Miikka Heikkinen <miikka.heikkinen@digia.com>
2012-11-05 12:25:49 +01:00
Marc Mutz
55410fd6d1 QtWidgets: add some explicit
Change-Id: I0650db3d47b506c67074c526ab9857f8159fd599
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
Reviewed-by: Konstantin Ritt <ritt.ks@gmail.com>
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
2012-11-05 09:13:02 +01:00
Frederik Gladhorn
bc88080a42 Doc fixes.
Change-Id: Id2042c33a9762261756d1065781005dfef341797
Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
2012-11-03 21:10:20 +01:00
Thorbjørn Lund Martsum
e0fc088c0c Qt 5.0 QTreeView. Prevent manual moving of the first section
This prevents the user of moving the leftmost column.

There will be no API to allow move of the tree-structure.
It is very weird to do that, so it shouldn't be a problem.

In case it is a big problem somewhere it can be hacked with:
QTableView unused;
unused.setVerticalHeader(tree->header());
tree->header()->setParent(tree);
unused.setVerticalHeader(new QHeaderView(Qt::Horizontal));

Task-number: QTBUG-332

Change-Id: I3a251c8d0fd472ec0ad7edb20a7f3e00af7e0da8
Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
2012-11-02 19:49:22 +01:00
J-P Nurmi
3c2bfbff5f Mac: refactor scrollbar animations
Get rid of QWidget-centric QMacStyle::eventFilter() and implement the
fade out animations for scrollbars using QNumberStyleAnimation-based
QFadeOutAnimation.

Change-Id: I2000fa50d46b153e981ceafc12a53932a196382e
Reviewed-by: Jens Bache-Wiig <jens.bache-wiig@digia.com>
2012-11-02 19:49:22 +01:00
Jens Bache-Wiig
020196d16b Make it possible to use mini and small size on mac without widget
We need to add the styleoption when evaluating the small and
mini size hints.

Change-Id: I00f8709912aa2202caef4dbdeaebb5d67cc9a9b4
Reviewed-by: J-P Nurmi <jpnurmi@digia.com>
2012-11-02 19:49:22 +01:00
Mitch Curtis
61e0fa5d68 Make it obvious that adding a QLayout to QSplitter is not supported.
It does not make sense to add a QLayout to a QSplitter, since the
splitter manages its child widgets in the same manner as a QLayout.
The result of doing so is that the child widgets inside that layout
will lead to the splitter and the layout fighting to position the child
widgets.

QSplitter::addWidget should be used to add widgets directly to the
splitter instead.

Change-Id: I640b463cae8673f87354d28636bff4dd3cfb9679
Reviewed-by: Samu Voutilainen <samu.voutilainen@gmail.com>
Reviewed-by: Samuel Rødal <samuel.rodal@digia.com>
2012-11-02 18:07:54 +01:00
Jens Bache-Wiig
28f36ebcc2 Fix progressbar animation on macstyle
The animation is not just supposed to run when indeterminate, but
also while it is progressing.

Change-Id: If176bd230c2f6f83781e01ea77526c24d54c8477
Reviewed-by: J-P Nurmi <jpnurmi@digia.com>
2012-11-02 18:07:35 +01:00
Jens Bache-Wiig
0506c2fbb9 Fix height of combobox in macstyle without a widget
When no widget is provided we hardcode the height and the value
was off by 2. There is no change when a widget is provided.

Change-Id: I555b5206b8750db06595a1e2572a3f8212635a9d
Reviewed-by: J-P Nurmi <jpnurmi@digia.com>
2012-11-02 18:07:35 +01:00
Thorbjørn Lund Martsum
d625535728 QHeaderView 5.0 - correct drop on manual QHeaderView sectionmove
This fixes an error in the calculation of the exact drop position
when an user is moving a section in QHeaderView.

Before we compared a mouse-position local to the widget
(pos) with a summed length of sections (posThreshold).

However we need to consider/substract the headers offset to make
the posThreshold comparable to the local mouse position.

This solves e.g.
Task-number: QTBUG-14814

Change-Id: If0281cf0c7b98316474f18e8eaa32c6d062dda56
Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
2012-11-02 16:25:22 +01:00
Thorbjørn Lund Martsum
aa2578a100 QHeaderView - call invalidateCachedSizeHint() on clear
This calls invalidateCachedSizeHint on clear, which is a logical
thing to do.

Task-number: QTBUG-22528
Change-Id: I0befb2d492599fa8a05b1c2162bbca586e1b019d
Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
2012-11-02 16:25:12 +01:00
J-P Nurmi
324a41db45 QWindowsVistaAnimation: inherit QBlendStyleAnimation
Change-Id: I15b348eb842730513480ecbb90bca87174d7c771
Reviewed-by: Jens Bache-Wiig <jens.bache-wiig@digia.com>
2012-11-02 15:58:14 +01:00
J-P Nurmi
d53ac9d8ca Introduce QBlendStyleAnimation (based on QWindowsVistaAnimation)
Change-Id: Ie289debe69ea7f6bb7833f979e39bb91290cc49c
Reviewed-by: Jens Bache-Wiig <jens.bache-wiig@digia.com>
2012-11-02 15:57:11 +01:00
Jens Bache-Wiig
7d497846f0 Fix font and positioning of headerview labels on mac
The old code rendered text too large. On desktop components,
the widget workaround ensured that text was clipped.

This should address both problems. Since we anyway do not
adapt the height to font size, I dont se a point in
supporting custom fonts here.

Change-Id: If3c0509cdff4dbadfd98bd4b1934eaa665148cbf
Reviewed-by: Jens Bache-Wiig <jens.bache-wiig@digia.com>
Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@digia.com>
2012-11-02 15:24:20 +01:00
Friedemann Kleint
0a91c9df01 Fix submenu navigation.
Bring back code that was removed
in Qt 4: 60324267fbb8a8554e62aaf9ef01360709292320 for QTBUG-7411 .

This code reselects the submenu action of a currently opened
popup when the mouse is moved to the submenu crossing other
actions. In addition, make sure it only triggers when
the reason is not keyboard selection.

Task-number: QTBUG-20094
Change-Id: Ibb73f83e86635083aad8b1e79fc0fdd512c65754
Reviewed-by: Samuel Rødal <samuel.rodal@digia.com>
2012-11-02 15:18:57 +01:00
Jerome Pasion
c808dd2745 Merge branch 'master' of ssh://codereview.qt-project.org/qt/qtbase into newdocs
Change-Id: I7e6cee190a341901dfbf8effb54ebccb91bf7a17
2012-11-02 14:41:27 +01:00
Friedemann Kleint
8727826871 QFileDialog: Do not pass on file model root to QFileDialogOptions.
QFileDialog::selectedFiles() defaults to file model root
for 'AnyFile', which confuses native dialogs since
selectedFiles == directory in that case. Split up
QFileDialog::selectedFiles() and skip the default when
initializing QFileDialogOptions for native dialogs.

Change-Id: I65cda182df8b1748159058fc361c10d97f5650ce
Reviewed-by: Miikka Heikkinen <miikka.heikkinen@digia.com>
Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
2012-11-02 12:16:49 +01:00
Jens Bache-Wiig
f5bc3fb2f0 Some Vista style cleanup
Creates a function for cloning the style options
used by Vista style.

Change-Id: I4d83661acd6bdfff5c633447046a206018b537af
Reviewed-by: J-P Nurmi <jpnurmi@digia.com>
2012-11-01 20:17:57 +01:00
Jens Bache-Wiig
70dea61670 Make ToolButton work with Macstyle for components
We needed a new helper function for this. The widget cast was
breaking desktop components. By using accessible role, we can make
it work for both use cases without depending on the widget.

Change-Id: Ic854dc45a4e5b7a50c5be701e903d58a4a914ee5
Reviewed-by: Jan Arve Sæther <jan-arve.saether@digia.com>
Reviewed-by: Jens Bache-Wiig <jens.bache-wiig@digia.com>
2012-11-01 20:17:57 +01:00
Jens Bache-Wiig
8c15be7bb2 Fix groupboxes for desktop components on mac
The logic was a bit odd as it would check if the groupbox had a
font set and then override it anyway. Since we anyway want the
fallback to be used for components we just make sure that the fallback
is to use the same code path.

Change-Id: Ic5071b43cda76e2bb7356a6f71cc8458c4e8bf27
Reviewed-by: Morten Johan Sørvig <morten.sorvig@digia.com>
2012-11-01 20:17:57 +01:00
Stephen Kelly
3de5a8e78b Strip trailing whitespace in itemviews.
Using

 git ls-files -z |     xargs -0 sed -i 's/ \+$//'

in the relevant directories.

Change-Id: I861ef9952fb32ed2db9ec8b67864ec7d0d61f0f2
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
2012-11-01 16:10:32 +01:00
Jens Bache-Wiig
62b9ca4320 Fix buttonsize on macstyle when no widget is defined
The previous size was incorrect and added far too much height
when the widget was undefined. When it was defined it would get
its size corrected so the patch should have very little effect on existing
widget code.

Change-Id: I7c22f4226eda270f0d71050bc4248686b035cb39
Reviewed-by: Jens Bache-Wiig <jens.bache-wiig@digia.com>
Reviewed-by: J-P Nurmi <jpnurmi@digia.com>
2012-11-01 13:48:48 +01:00
J-P Nurmi
dca34854ef Fix QCommonStylePrivate::stopAnimation()
Make sure that QCommonStylePrivate::animation() does
not return an animation that was already stopped.

Change-Id: I35b7f8e0fabff9908f247b3632e35388e2c95a6d
Reviewed-by: Jens Bache-Wiig <jens.bache-wiig@digia.com>
2012-10-30 19:40:31 +01:00
J-P Nurmi
85a8df184b Add QNumberStyleAnimation for fading out scroll bars on Mac
Change-Id: I6a85ed069a418d62078af6490a3d3186d5599a95
Reviewed-by: Jens Bache-Wiig <jens.bache-wiig@digia.com>
2012-10-30 17:51:21 +01:00
Miikka Heikkinen
a48508cd76 Send leave to most recently entered window when modal dialog is shown.
If a modal dialog was shown as a response to button click, the button
retained its hover highlight, because it didn't get leave event.

Fixed by tracking the most recently entered window and sending a leave
to it when modal dialog is shown that blocks it.

Also modified tst_QGuiApplication::modalWindow() autotest to check
for enters and leaves.

Task-number: QTBUG-27644
Change-Id: I387647e18a762a39d523e3df31221b9583a39f9d
Reviewed-by: Samuel Rødal <samuel.rodal@digia.com>
2012-10-30 12:53:46 +01:00
Jan Arve Saether
c21564b1ef Remove some dead code
This code became dead when the Symbian code was removed, and should
ideally have been removed at that point.

You can find the old code in 4.8 repo:
    bool showSystemDialogFullScreen = false;

    if (qobject_cast<QFileDialog *>(this) || qobject_cast<QFontDialog *>(this) ||
         qobject_cast<QWizard *>(this)) {
         showSystemDialogFullScreen = true;
    }

    if (showSystemDialogFullScreen) {
        setWindowFlags(windowFlags() | Qt::WindowSoftkeysVisibleHint);
        setWindowState(Qt::WindowFullScreen);
    }

So, obviously, stuff inside the #ifdef Q_OS_SYMBIAN was removed, but
the side-effect of that was not realized.....

Change-Id: I6b5d1066c97367c354af4da1ce6b9c60c8dc2120
Reviewed-by: J-P Nurmi <jpnurmi@digia.com>
2012-10-29 20:27:37 +01:00
Jan Arve Saether
c360fbcd6c Do the actual removal of the Soft Keys API and related code
In addition to the actual removal of the softkeys API in QAction,
this commit removes some enums related to the softkeys feature:
  Qt::WA_MergeSoftkeys
  Qt::WA_MergeSoftkeysRecursively

It also removes some "zombie" enums:
  Qt::WindowSoftkeysVisibleHint = 0x40000000,
  Qt::WindowSoftkeysRespondHint = 0x80000000,

  (The only implementation that used these were removed when
  qapplication_s60.cpp and qwidget_s60.cpp were removed.)

Change-Id: Ib6fc6d543def4757383d5f19256199d9d190c614
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
Reviewed-by: Janne Anttila <janne.anttila@digia.com>
Reviewed-by: J-P Nurmi <jpnurmi@digia.com>
2012-10-29 20:27:27 +01:00
Konstantin Ritt
63e451194e Fix build on MinGW after 0f14ea3f3a
Also generalize set _WIN32_WINNT to 0x0501 and _WIN32_IE to 0x0501 globally,
as it is out minimal requirement these days.

Change-Id: I8ca9102d49c37f908fd8ac032f707f8fe4fdcb22
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
2012-10-29 18:22:29 +01:00
Sergio Ahumada
914e1f3608 Remove some dead code in switch statements
Following the Code Style described in
http://qt-project.org/wiki/Qt_Coding_Style#e289ee44592e9c32d4212069f0806daf

There is no need for a 'break' after a 'return'.

Change-Id: I1eca350391a7e4e14e504d60b24b69982cc5ac47
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2012-10-29 13:51:10 +01:00
Jan-Arve Saether
b626b98b95 Implement QAccessibleLineEdit::characterRect()
It was probably not implemented because it needed to access
private APIs.
However, accessing those from this a11y plugin is unproblematic.

Forward-ported from Qt 4.8 with change
d2fb64d52fc6ec229d775f829a9a0cb3d251aad3 (and then slightly improved)

Change-Id: Ifa2d48c152fd75fc1fff49a05369787a7db3b902
Reviewed-by: Frederik Gladhorn <frederik.gladhorn@digia.com>
2012-10-28 00:50:09 +02:00
Mark Brand
5bddaf76e0 QComboBox: new signal currentTextChanged
Adds NOTIFY to currentText property.

Test included.

Change-Id: I3e92b585ad6697891d61537c82f6ab9e8beb1a00
Reviewed-by: Andy Shaw <andy.shaw@digia.com>
Reviewed-by: Konstantin Ritt <ritt.ks@gmail.com>
Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
2012-10-26 15:24:19 +02:00
Mark Brand
84787d82ee QComboBox: fix use in QDataWidgetMapper/QItemDelegate
QItemDelegate and QDataWidgetMapper use the WRITE method on the USER
property to set a value in a widget. This did not work for QComboBox
whose USER property currentText lacked a WRITE method.

This change adds the missing setter and flags it as the WRITE method.

The setter setCurrentText() simply calls setEditText() if the combo
box is editable. Otherwise, if there is a matching text in the list,
currentIndex is set to the corresponding index.

Test included.

Follow-up to 816c554017 which restored
currentText as the USER property.

Task-number: QTBUG-26501
Change-Id: I5f2f999e60b09728ca03ead4e28fe36d1f3ee189
Reviewed-by: Andy Shaw <andy.shaw@digia.com>
Reviewed-by: David Faure <david.faure@kdab.com>
Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
2012-10-26 15:24:00 +02:00
Thorbjørn Lund Martsum
4fbdb969fb QHeaderView 5.0 - no emit of sortIndicatorChanged when unchanged
There is no reason to emit this when there is no change.

Change-Id: I34f0ceec7c4b0959b77bc5be3ce2c2ad55864598
Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
2012-10-26 15:23:46 +02:00
Jerome Pasion
e52f178b0d Doc: Removed the HTML template from the .qdocconf files
-qt-module-defaults.qdocconf already contains the HTML template.

Change-Id: I5757741166f0f688ce0e8a4e77ed45fd4d72f1c7
Reviewed-by: Martin Smith <martin.smith@digia.com>
2012-10-26 15:00:04 +02:00
Andy Shaw
356f3c89b8 Fix syncing of visibility and enabled for menus on Cocoa
Fixed menu handling on Cocoa so if a menu is enabled/disabled or made
visible or not then it will keep this in sync with the appropriate
native menu entry.

Change-Id: If269185fcf065fb1b2f60d6ef8c27c107eb4509f
Reviewed-by: Pasi Matilainen <pasi.matilainen@digia.com>
Reviewed-by: James Turner <james.turner@kdab.com>
Reviewed-by: Andy Shaw <andy.shaw@digia.com>
2012-10-26 14:53:09 +02:00
Tor Arne Vestbø
6e5818f2bb Merge remote-tracking branch 'gerrit/master' into newdocs
Change-Id: I10cf9f915c602c8e5a0e7d7c9e17b7bc5ca00640
2012-10-26 12:28:53 +02:00
Friedemann Kleint
d0aa81ee10 Fix a crash in QFileDialog when selecting an invalid name filter.
When nameDetailsVisible is set to false and an invalid/empty
string is passed to selectNameFilter(), the regexp used to
strip the filter off the suffixes returns empty and a crash
occurs.

Change-Id: I926ea49514ff25a103977d8121fca1cf83d647f5
Reviewed-by: Miikka Heikkinen <miikka.heikkinen@digia.com>
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
2012-10-26 11:51:56 +02:00
Miikka Heikkinen
8ac2ea94d3 Fix enter/leave event generation between native widgets when grabbing.
Removed enter/leave event generation when moving between between
related windows in QWidgetWindow (i.e. native widgets) while some
widget was explicitly grabbing the mouse input. This makes enter/leave
event generation identical to non-native widgets.

Task-number: QTBUG-27551
Change-Id: I4996007bd7922e073a2957ad267a6373e8f3fecc
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
2012-10-26 11:18:12 +02:00
Jens Bache-Wiig
c6151b75b0 Remove Windows as a dependency of mac style
There is not need to have this dependency any more
since mac is overriding anything we depend on in Windows
style anyway.

Change-Id: I8fe0e0cc949265170947b492e04e08fdd4cf5027
Reviewed-by: Jens Bache-Wiig <jens.bache-wiig@digia.com>
Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@digia.com>
2012-10-25 19:26:18 +02:00
Jens Bache-Wiig
79a389c346 Remove widget dependencies on Vista style animations
This patch will make it possible to get animations on
desktop components without using the widget pointer.

Change-Id: I2d2eca111dab0d96f276ff3627505c0652c4b4e5
Reviewed-by: J-P Nurmi <jpnurmi@digia.com>
2012-10-25 16:09:34 +02:00
Konstantin Ritt
f42283669f Remove stale QT_MODULE() usage cases
As of Qt5, this macro is defined to be empty; simply get rid of these leftovers.

Change-Id: I167ccb4c9e92ec9b5e4faeb02bf9c5ef5d982b50
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2012-10-25 16:00:52 +02:00
Gabriel de Dietrich
611c0081ff Mac: Non-editable QComboBoxes shouldn't get focus by default
On Mac, only line edits and list views always get tab focus. It's only
when we enable full keyboard access that other controls can get tab
focus. When it's not editable, a combobox looks like a button, and it
behaves as such in this respect.

Change-Id: Ia31b0ad01b48a47c1b81180364681d8614863106
Reviewed-by: Jens Bache-Wiig <jens.bache-wiig@digia.com>
2012-10-25 14:10:04 +02:00
J-P Nurmi
50e7a5b723 QStyleAnimation: writable duration & delay properties
These will be needed by upcoming QFadeStyleAnimation and QBlendStyleAnimation.

Change-Id: Ibc5092d5dbd834cb9b16353d3e83b95b04d9484b
Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@digia.com>
2012-10-25 14:10:04 +02:00
J-P Nurmi
d58161e749 QMacStyle: make default button animations independent of QWidget
Change-Id: I63c078050288e3151a9c6aad5d4ae28a58afd84f
Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@digia.com>
2012-10-25 14:10:04 +02:00
Stephen Kelly
92c739cf50 Implement viewOptions logic in QTableViewPrivate.
This is similar to the patch 05aa8c6c12
which was applied to QListView.

Task-number: QTBUG-26548
Change-Id: I38ff07230673a93a32b01a7f1951d0378d94185b
Reviewed-by: Giuseppe D'Angelo <giuseppe.dangelo@kdab.com>
Reviewed-by: Oliver Wolff <oliver.wolff@digia.com>
Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
2012-10-25 14:10:04 +02:00
aavit
52ccbd8911 Fix: don't override the new non-cosmetic default pen in qwidget
As QWidget initializes any painter created in paintevent handler to
have the pen color of the palette's foreground, setting it to 0 width,
i.e. cosmetic, it negated the effect of the recent change to default
1-width non-cosmetic, ref. I04d910e9700baf7f13a8aac07a3633014bb9283e

This caused scaled painting with default pen on QImage and QWidget
to yield different results.

Change-Id: I930b64bf7c0a8c84b9ea3edb49adc813370fed0e
Reviewed-by: Samuel Rødal <samuel.rodal@digia.com>
2012-10-25 14:10:04 +02:00
Rohan McGovern
33214af378 Fixed crash on destruction of animating QDockWidget in a QMainWindow
It doesn't make sense to hold an unguarded pointer to a
QPropertyAnimation while assigning ownership of that animation to the
animated widget.

Destruction of the widget while the animation is in progress causes
the animation pointer to become dangling; then the widget is removed
from the containing QMainWindowLayout, which attempts to abort the
animation, dereferencing the invalid pointer.

The crash can be reproduced sometimes with
tst_QDockWidget::taskQTBUG_2940_resizeAfterUndocking (which is in
Qt4 only).

Change-Id: I758bf7193b2ea39cd4d8e87197d8ff957d3368eb
Reviewed-by: Robin Burchell <robin+qt@viroteck.net>
Reviewed-by: Andy Shaw <andy.shaw@digia.com>
2012-10-25 12:18:15 +02:00
Miikka Heikkinen
82cb34b05f Fix widget borders when using global stylesheetstyle
Recent fixes to stylesheetstyle caused not calling fixupBorder()
when globalStyleSheetStyle is used.

Task-number: QTBUG-27651
Change-Id: I73263c951e2db7d574e81da3f60a1b79f3852716
Reviewed-by: J-P Nurmi <jpnurmi@digia.com>
Reviewed-by: Thomas Hartmann <Thomas.Hartmann@digia.com>
2012-10-25 10:20:27 +02:00
Miikka Heikkinen
9fc7fcb4c9 Add ContextMenu event to QWindowSystemInterface
Context menu key wasn't working, as QPA had no handling for it.
Added ContextMenu event to QWindowSystemInterface and proper handling
to QGuiApplication and QWidgetWindow.

Also provide Windows implementation.

Task-number: QTBUG-27648
Change-Id: I7ce71ec4b5cdcc7be758e67f9faf6d863f7b19be
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
Reviewed-by: Samuel Rødal <samuel.rodal@digia.com>
2012-10-25 10:08:04 +02:00
Jan Arve Saether
294dbc7bfd Use \annotatedlist for list of examples instead of "manual links"
Change-Id: Id945fd35f5eb6a6d11156d4a1356f99cc49405e2
Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
2012-10-24 09:41:42 +02:00
J-P Nurmi
4835a87fe3 Add QStyleAnimation::updateTarget()
For example a paused "default button" animation might want to update
the target to get "non-default button" looks meanwhile the animation
is paused.

Change-Id: Ibb854a40f38a8971e7233b1f34a83056e6a9d827
Reviewed-by: Jens Bache-Wiig <jens.bache-wiig@digia.com>
2012-10-23 12:51:41 +02:00
J-P Nurmi
7abf623443 QStyleAnimation: fix threaded rendering
Change-Id: I00875adf2e4b157a3f8b0b99e5280b1275635026
Reviewed-by: Jens Bache-Wiig <jens.bache-wiig@digia.com>
2012-10-23 11:41:47 +02:00
Jan Arve Saether
ebaed02ae6 Remove softkey API, it was only implemented for Symbian.
It is only removed from the documentation for now (I think this should
go in the beta 2).
That should liberate us to be able to change the API if needed for
other platforms that might need a soft keys API.

Once this goes in, the plan is to do the actual cleanup.

Change-Id: I9a7a3eb45597cd013fe3c4bd479ad08a25ef0b9b
Reviewed-by: Janne Anttila <janne.anttila@digia.com>
Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
2012-10-22 22:27:53 +02:00
Jens Bache-Wiig
087e4bc517 Remove Cleanlooks and Plastique
We have a new style Fusion that will replace these styles.
They will be moved to a separate
module rather than included in platforms that do not need them.

Change-Id: I51ebbcad5406e99130e5b12e62ba624d1489088c
Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@digia.com>
2012-10-22 19:36:43 +02:00
Jens Bache-Wiig
a0e5d6c1c0 Fix clipping and font problems with groupbox in Fusion style
The groupbox did not take custom fonts into account when calculating
the height of its titlebar. This resulted in clipping issues on
Windows.

Task-number: QTBUG-27655

Change-Id: I7252bc94d2bbb0731b9dbc1caa6cdd2074fdd7ab
Reviewed-by: Jens Bache-Wiig <jens.bache-wiig@digia.com>
2012-10-22 19:36:43 +02:00
Samuel Rødal
b213d5bfa3 Make QPen default to 1-width non-cosmetic.
Use the Qt4CompatiblePainting render hint when painting with QPainter to
treat default constructed QPens as cosmetic still.

The NonCosmeticDefaultPen render hint gets documented as obsolete, since
it was in any case not respected by the raster nor OpenGL paint engine.

Change-Id: I04d910e9700baf7f13a8aac07a3633014bb9283e
Reviewed-by: Jens Bache-Wiig <jens.bache-wiig@digia.com>
2012-10-22 19:36:43 +02:00
Jens Bache-Wiig
11566de014 Move some icon code from WindowsStyle to CommonStyle
Fusion style only depends on CommonStyle and it seems the autotest
for tst_QFileSystemModel:iconProvider assumes an icon will be
returned from standardPixmap. Since we dont want the icons
to depend on style in this case we should move all this to commonstyle.

Change-Id: I3a26367e5c0aefe2a39838f0c2cadc4f7afad89d
Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@digia.com>
Reviewed-by: Jens Bache-Wiig <jens.bache-wiig@digia.com>
2012-10-22 19:36:43 +02:00
Marc Mutz
33d9b9f326 Delete QWhatsThis() and QToolTip()
These classes are not supposed to be instantiated.

QToolTip() already was declared, but not implemented.
This patch just adds Q_DECL_EQ_DELETE for better
diagnostics on C++11.

QWhatsThis() was implemented, but appears to be unused.
Since it was private to begin with, successfully compiling
QtWidgets is a sufficient test.

Change-Id: I698ece8f0eebbcdac7be98456dd42197b758a825
Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
2012-10-22 19:36:43 +02:00
Marc Mutz
500ed6b628 QDateTimeEdit: don't throw off auto-indention
Reformulate #ifdef'ery involving {}s so as not to throw
off auto-indention of code editors due to unbalanced {}s.

Change-Id: I0f9858c78d0b6d923de75ca45c7d65ce3fa53e50
Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
2012-10-22 19:36:43 +02:00
Stephen Kelly
efc475a996 Fix integer overflow in QSpinBox.
Change-Id: Ic204d42fbdffc44576f7e76132bc53621e836299
Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
2012-10-22 19:36:43 +02:00
Frederik Gladhorn
fb2d2c4f72 Emit cursorPositionChanged in private slot.
Since the private slot is already there and used, it might as well
emit the signal and save us one connection.

Change-Id: I899df74c20f8c2b7875a0f9d0a04465c5dc48bde
Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
2012-10-22 08:42:16 +02:00
Frederik Gladhorn
a2b7b42ca4 Bring back accessibility for plain text edit.
This ports 282951bc6c7ddb607fb7ebf61eb8de9acf3da77f
aka Change-Id: If0269a49b9fcd1b3e9fcfd32fac912560df28f21
to Qt 5.

Change-Id: I46f1d4947d90688b598993f76330e2e10aeca950
Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
Reviewed-by: Jan Arve Sæther <jan-arve.saether@digia.com>
2012-10-22 08:41:57 +02:00
Gabriel de Dietrich
c4ff5c53ef Mac: Adapt scrollbar fadeout animation for QStyleAnimation
Change-Id: I39f1089e8d6ba1bb412d33aa4ebc0971aba52681
Reviewed-by: Jens Bache-Wiig <jens.bache-wiig@digia.com>
2012-10-19 17:53:26 +02:00
Jan Arve Saether
2b6edec5c2 Doc: Added landing-, examples- and C++ class list-page to qtwidgets
It seems this is the pattern to follow:
landing page:    qtwidgets-index.html
examples page:   qtwidgets-examples.html
class list page: qtwidgets-module.html

Change-Id: I3e5459fe650178e0398cb43181b594c0f12a170e
Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
2012-10-19 17:42:14 +02:00
J-P Nurmi
59009cfd0c QStyleSheetStyle: kill more dependencies to QWidget
Change-Id: I5e58ec68c5d20fd7b201c83743f9d284e7c4dc52
Reviewed-by: J-P Nurmi <jpnurmi@digia.com>
Reviewed-by: Jens Bache-Wiig <jens.bache-wiig@digia.com>
2012-10-19 15:19:03 +02:00
Oswald Buddenhagen
1e68ec7e67 remove explicit load(qt_build_config)s from the libraries
.qmake.conf (and previously .qmake.cache) already does that for us.

Change-Id: I06cc01fa45921d7bd66dda7a0f88729faeff37bd
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
2012-10-19 13:02:17 +02:00
Miikka Heikkinen
bdc0eaae6b Fix excess enter/leave event generation for native widgets
Native widgets have a native window each, so QPA plugin sends enter and
leave events for associated QWindow whenever mouse cursor moves from
one widget to another. QWidgetWindow had no context to interpret these
events as moves from one widget to another, since they were sent
separately. This resulted in leaves and enters for each widget in
parent chain, when only the bottom child should have gotten them.

Fixed by peeking into window system message queue when handling leave
in QWidgetWindow and retrieving the entered window from queued enter
event.

Also provided a convenience function that QPA plugin can use to
ensure both leave and enter events are in the event queue when
moving from one QWindow to another.

Task-number: QTBUG-27550
Change-Id: I74fec0ac90f6848495c2392c5f7e41624ad8aea2
Reviewed-by: Morten Johan Sørvig <morten.sorvig@digia.com>
Reviewed-by: Samuel Rødal <samuel.rodal@digia.com>
2012-10-19 13:02:17 +02:00
Tor Arne Vestbø
55a36aed79 Merge remote-tracking branch 'gerrit/master' into newdocs
Change-Id: If7f46d56cf0b0b79f7fc8955a01964121b900d07
2012-10-19 09:54:12 +02:00
J-P Nurmi
734324c37c QStyleSheetStyle: QObject-based style & render rules
The goal is to cut as many QWidget dependencies as possible and make
stylesheets eventually work for the desktop components.

Change-Id: Ib4aa47af07379fc39fd6df1961e113d03df6df35
Reviewed-by: J-P Nurmi <jpnurmi@digia.com>
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
2012-10-19 07:50:29 +02:00
Samuel Rødal
7b8e10ddd0 Fixed inconsistent QPainter fill rules for aliased painting.
Qt 5 is the time to get rid of all the old inconsistencies in the raster
paint engine caused by trying to preserve the old X11 based
coordinate system where (0, 0) is in the center of the top-left pixel
instead of the upper left corner of said pixel. However, this was only
adhered for line drawing and path / rect filling, and not for image or
pixmap drawing and not at all when doing antialiased painting. By
defining the antialiased coordinate system as being the right one and
letting the aliased fill rules follow from that we finally end up with
some consistent behavior that doesn't lead to surprises and workarounds
in application code.

It is still possible for applications to get the old behavior by
setting the QPainter::Qt4CompatiblePainting render hint. This should
make porting easier for the few cases where an application relies on the
aliased fill rules we used to have in Qt 4.

Task-number: QTBUG-27500
Change-Id: If86b95e77d838ec83033d64af86632b9a73c74a9
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
2012-10-19 02:43:05 +02:00
Stephen Kelly
d84f449bcd Make sure uints remain uints when editing in itemviews.
Task-number: QTBUG-22974
Change-Id: I07428862c4dffc629f868f3010f663eb655922d0
Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
2012-10-19 00:44:54 +02:00
José Millán Soto
8bed283f13 Correct accessibility index handling in QListView
QListView::currentChanged and QListView::selectionChanged changed to
use 0-based indexes instead of 1-based indexes.

Change-Id: Ie618970c9a37ec76156dbfab2e86685c3c8f374c
Reviewed-by: Frederik Gladhorn <frederik.gladhorn@digia.com>
2012-10-19 00:44:54 +02:00
Jens Bache-Wiig
f45afd7155 Introduce new style Fusion
This is a new non-native style for Qt.
It is intended as a replacement for the now aging
Plastique and Cleanlooks styles.

Change-Id: I30c0518a69e4e3b8b2b05ee7d84c3a5a1f307578
Reviewed-by: Jens Bache-Wiig <jens.bache-wiig@digia.com>
Reviewed-by: J-P Nurmi <jpnurmi@digia.com>
2012-10-18 21:46:21 +02:00
Tero Ahola
8b6de46771 Modified vertical alignments of simple widgets on OSX
Adding QCheckBox, QComboBox, QLineEdit etc. into an HBox layout or grid
layout makes the layout look like a snake's trail. Fixed the positioning
of these widgets to make the layouts visually more appealing.

Updated qmacstyle auto-test accordingly.

Task-number: QTBUG-13635
Ammended-by: Gabriel de Dietrich
Change-Id: I89461f9aad68ea8488070ed06257b9b8e7f493c5
Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@digia.com>
2012-10-18 21:45:46 +02:00
Jens Bache-Wiig
a2e4b7a92f Remove dependency on QWindowsStyle in QGtkStyle
Now that we no longer re-use the animation code in gtk,
it is time to remove this strange dependency.

Change-Id: Ib672a9b110dfba08d79b8654e572994007675957
Reviewed-by: Jens Bache-Wiig <jens.bache-wiig@digia.com>
Reviewed-by: J-P Nurmi <jpnurmi@digia.com>
2012-10-18 17:22:49 +02:00
Gabriel de Dietrich
92e4ec7a14 Bring back Mac dependent code in QBoxLayout, QGridLayout
We also made an accessibility auto-test more stable, so that it would
not be influenced by this patch.

Task-number: QTCREATORBUG-7966
Change-Id: I6ce4e2361c8847aee5dd1cf5664c29cd2d83e38d
Reviewed-by: Jan Arve Sæther <jan-arve.saether@digia.com>
2012-10-18 15:19:48 +02:00
Gabriel de Dietrich
8003fd6d5b Mac: Fix QLineEdit shadow
The cursor is still rendered 1px too low, but probably needs to be
fixed in QTextLayout.

Change-Id: Ie56c7140898b941c8d896f503ce1934d0d681a4d
Reviewed-by: Jens Bache-Wiig <jens.bache-wiig@digia.com>
2012-10-18 00:14:59 +02:00
Jens Bache-Wiig
9410b307af Improve branch indicators in common style
The branch indicators in common style was painted based on motif
style, effectively making it useless.

Since most styles inherit from Windows style, I
moved that into common style. It was already duplicating
most of the code used in commonstyle.

Change-Id: I1a383d90254bb97aebc038fa058ec0f225cf9dab
Reviewed-by: Jens Bache-Wiig <jens.bache-wiig@digia.com>
Reviewed-by: J-P Nurmi <jpnurmi@digia.com>
Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@digia.com>
2012-10-18 00:14:48 +02:00
J-P Nurmi
9d86458d8c Fix potential crash in QStyleAnimation::updateCurrentTime()
A parentless/targetless QStyleAnimation calls updateCurrentTime() from
QAbstractAnimation constructor. Avoid the potential crash even if it's
not a valid use case for QStyleAnimation.

Change-Id: I9cd263d105c8ea4b5cbabac9a7680991745ccd95
Reviewed-by: Jens Bache-Wiig <jens.bache-wiig@digia.com>
2012-10-17 20:47:16 +02:00
J-P Nurmi
a98b943557 Styles: revise indeterminate progress bar animations
Remove dependencies to QProgressBar where possible. This makes
it possible to animate for example QQuickItem based progress
bars (read: the desktop components).

Change-Id: If208506702365895576238c24191b8d70b90841c
Reviewed-by: Jens Bache-Wiig <jens.bache-wiig@digia.com>
2012-10-17 20:47:08 +02:00
J-P Nurmi
932bf57ea2 QGraphicsObject: handle QEvent::StyleAnimationUpdate
Change-Id: I8545d6f26e2c2398e750b0b85ba87892a2e376ae
Reviewed-by: Jens Bache-Wiig <jens.bache-wiig@digia.com>
2012-10-17 12:55:49 +02:00
Richard Moe Gustavsen
d6588d2051 QPlatformWindow: change API for QPlatformWindow::setWindowState
The current implementation requests the platform window to set
the window state if it can, and return the actual window state
back.

The problem with this approach is that the platform window is created
as late as possible, so a call to QWindow::setWindowState would in
many (most?) cases never be forwarded to the platform window (instead,
the platform window is responsible to check the current window state
upon creation). As such, the window state might be left unsynched with
the platform window.

This patch suggests removing the return value from
QPlatformWindow::setWindowState. This will at least be consistent, so
that setting/getting state would produce the same result independent of
delayed window creation. If needed, we can later add new API to
QPlatformIntegration or QPlatformWindow for querying supported/actual
window state.

Change-Id: Ie43f56169656854a765ce88b47a808f8f3d51bb4
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
Reviewed-by: Thomas McGuire <thomas.mcguire@kdab.com>
Reviewed-by: Samuel Rødal <samuel.rodal@digia.com>
Reviewed-by: Morten Johan Sørvig <morten.sorvig@digia.com>
2012-10-17 09:39:01 +02:00
Gabriel de Dietrich
f8b6d104b9 Bring back MacSizeChange event
This ensures WA_MacNormalSize & Co. work (almost) properly.

Task-number: QTCREATORBUG-7966
Change-Id: Ib03b5c0f163409e2bc387f6cf9b56c72c43caec7
Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@digia.com>
Reviewed-by: Jens Bache-Wiig <jens.bache-wiig@digia.com>
Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
2012-10-17 04:19:09 +02:00
Marc Mutz
8c838f29d4 QFileInfoGatherer: remove m_resolveSymlinks for non-Q_OS_WIN
For some reason, m_resolveSymlinks was never set to true for
non-Windows systems. The constructor set it to false and the
setter was only implemented for Windows.

So remove the member and code that is only executed if it
is set to true, except on Windows.

Change-Id: I386e980688a603475a413e2ef3628d0754778c5c
Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
2012-10-17 04:19:06 +02:00
Mitch Curtis
9f83e499b5 Clarify ownership of scene in QGraphicsView::setScene() docs.
Change-Id: I550a02bce0633884ee1ffe2321c6462a34194f89
Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
2012-10-16 17:31:31 +02:00
Mark Brand
a5e7c2802a QComboBox: mention insert policy in context of editable property
This makes it a little bit easier for the reader to discover what
editable combo boxes are about.

Change-Id: I60ce571f01e32d4cacb4718b42a8e12884bd1c13
Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
2012-10-16 17:31:31 +02:00
Jens Bache-Wiig
3a685dcd5e Fix incorrectly scaled constants on Mac
This fixes several scaled constants on mac that are inherited from
commonstyle. (such as toolbutton arrows) It is probably easiest
to see when running Windows style on mac.
The problem was that the code assumed a default dpi of 96 would be
used on all platforms.

Change-Id: I83789589009b268dcb1d96629c3ec9e8f968a891
Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@digia.com>
Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@digia.com>
Reviewed-by: Shawn Rutledge <shawn.rutledge@digia.com>
2012-10-16 15:29:15 +02:00
J-P Nurmi
05c2113350 Add QObject* QStyleOption::styleObject
The object is used, amongst other things, as a target for
sending style animation updates.

Change-Id: Ic210e7ae2111bc08b70331a3a2030a494919a06d
Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@digia.com>
Reviewed-by: Jens Bache-Wiig <jens.bache-wiig@digia.com>
2012-10-16 15:29:15 +02:00
Miikka Heikkinen
74230f126b Fix setting custom cursor for widgets and windows before showing them
If custom cursor was set before the window was created, it didn't
actually get set, and in some cases even caused a crash.
Fixed by making sure the cursor is correct when showing widget/window.

Task-number: QTBUG-27535
Change-Id: I3bc946a9c406c96af5b86869a3a54893f8980aba
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
Reviewed-by: Gatis Paeglis <gatis.paeglis@digia.com>
Reviewed-by: Samuel Rødal <samuel.rodal@digia.com>
2012-10-16 15:29:15 +02:00
Gabriel de Dietrich
c3b939818a QPA: Introducing QPlatformTheme standardPixmap(), fileIconPixmap()
The basic idea is that the platform theme is now responsible for
providing the pixmaps for the given standard name, or any file or
directory. Then, the QStyle implementation should query the platform
theme for the pixmaps, and build the icons accordingly using
ThemeHint::IconPixmapSizes. Same thing for QFileIconProvider. This
also opens future support for getting platform dependent pixmaps in
QtQuick components.

Also includes the implementation for the Cocoa (QCocoaTheme) and
Windows (QWindowsTheme) platform plugins.

Task-number: QTBUG-27450
Change-Id: I4e8406585d970a9af481be10f6643cf0abbc38a3
Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@digia.com>
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
Reviewed-by: Jens Bache-Wiig <jens.bache-wiig@digia.com>
Reviewed-by: Morten Johan Sørvig <morten.sorvig@digia.com>
2012-10-16 15:29:15 +02:00
Jens Bache-Wiig
3928bd0606 Add HasFrame feature to QStyleOptionTab
This makes it possible for styles like Fusion to draw tabbars different
when they have a frame.

Change-Id: I1bb21198c0c3caf44c757f6f39310bf2509054bf
Reviewed-by: J-P Nurmi <jpnurmi@digia.com>
2012-10-16 15:29:15 +02:00
J-P Nurmi
7501d55ae0 Introduce (private) QStyleAnimation
QStyleAnimation handles style animations in a generic fashion by
sending StyleAnimationUpdate events back to the animation target
instead of calling QWidget::update() directly. This decouples style
animations from widgets and makes it possible to run style animations
for QQuickItems (ie. the desktop components).

The next step is to add "QObject* QStyleOption::target" and use that
everywhere instead of the widget pointer passed to various QStyle
methods.

Change-Id: Ib963c54872805fc3f0123ff922f82c9962a68b90
Reviewed-by: J-P Nurmi <jpnurmi@digia.com>
Reviewed-by: Jens Bache-Wiig <jens.bache-wiig@digia.com>
2012-10-16 15:29:15 +02:00
Tor Arne Vestbø
8fc4f99e46 Merge remote-tracking branch 'gerrit/master' into newdocs
Change-Id: If2168c519daf45390af04af9ef9722770453a493
2012-10-16 10:46:48 +02:00
Tor Arne Vestbø
d3921cce47 doc: Add a bunch of missing depends
Change-Id: I32c3730f8181d73a7c8e36ef382c74b8da754269
2012-10-16 10:43:30 +02:00
Christoph Schleifenbaum
2097b9193f Cocoa: Speed up fading out scroll bars.
This patch replaces QDateTime usage with msecs since epoch to calculate
scroll bars opacity. This eliminates lots of QDateTime::msecsTo calls.

Change-Id: Ic0c26806660c192c5fc6de0dafd86b4200e3cb4c
Reviewed-by: Morten Johan Sørvig <morten.sorvig@digia.com>
2012-10-15 21:59:24 +02:00
Friedemann Kleint
a186d2f2ed QDockWidget: Enable framestrut events when undocked by doubleclick.
Task-number: QTBUG-26296

Change-Id: I2821a99add238d2a2cb5b6788d689a48e050e74a
Reviewed-by: Markku Tapio Heikkilä <markku.heikkila@digia.com>
Reviewed-by: Miikka Heikkinen <miikka.heikkinen@digia.com>
Reviewed-by: Morten Johan Sørvig <morten.sorvig@digia.com>
2012-10-15 21:55:34 +02:00
Frederik Gladhorn
83ffc56a72 Make QFileDialogs more accessible.
Update the file dialog's ui file.
Add accessible name and description to the list views.
Fix the tabbing order to be more logical.

Change-Id: Ib71214e1f2aef4f9c9bfa747ba5a8c452b18fa22
Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
2012-10-15 21:34:24 +02:00
Miikka Heikkinen
698d5a2b9f Improve Qt::WA_UnderMouse accuracy
Qt::WA_UnderMouse is set/cleared when widgets get enter/leave events.
When there is a popup active, Qt::WA_UnderMouse should always report
false, but this was not happening, because existing state was not
cleared when popup was opened.

Dispatch a leave event for last mouse receiver when a popup is
opened to update the Qt::WA_UnderMouse state. This is roughly
equivalent to what happens on Qt4.

Task-number: QTBUG-27478
Change-Id: I7739e75727213e748ab2f42f1027d32325d89fb0
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
2012-10-15 21:11:57 +02:00
Mark Brand
8d56ed85bd QComboBox::currentText: correct documentation
The documentation previously neglected the fact that the current text
can be provided by the embedded QLineEdit if the combo box is editable
even if there is no selected item.

Change-Id: If40868c1633af7ce81b437d29e1da3fd4fefafb0
Reviewed-by: Konstantin Ritt <ritt.ks@gmail.com>
Reviewed-by: Adam Light <aclight@gmail.com>
Reviewed-by: David Faure <david.faure@kdab.com>
Reviewed-by: Mark Brand <mabrand@mabrand.nl>
2012-10-15 10:18:31 +02:00
Konstantin Ritt
289a814778 QCommonStyle: Reduce code duplication
by re-using viewItemTextLayout() helper function.
Also use QTextLayout(QString, QFont) c-tor which is a bit faster than
using setText() + setFont() setters.

Change-Id: I0d09ba43bad2296e932f49fcb9cfd28f42c1f95d
Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
Reviewed-by: Jens Bache-Wiig <jens.bache-wiig@digia.com>
2012-10-14 16:48:18 +02:00
José Millán Soto
e3a89dafb0 Notify accessibility events in QAbstractItemView
Change-Id: Idd713dc3bc3e817529968384edd0418e151f0e5b
Reviewed-by: Frederik Gladhorn <frederik.gladhorn@digia.com>
2012-10-13 15:47:27 +02:00
Frederik Gladhorn
889444b403 Update qfiledialog ui to new style.
Simply opened and saved in designer.
No changes otherwise.

Due to designer adding deprecated property margin, reverted parts manually.

Change-Id: I5edbf82126606e224da4d0d51baeedb13b39bd83
Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
2012-10-13 05:51:19 +02:00
Mitch Curtis
befea1d932 Link to Item Views Puzzle Example in QListView docs.
Change-Id: I75972727077fa1aa1ec66995c4d0ea67057d283b
Reviewed-by: Geir Vattekar <geir.vattekar@digia.com>
2012-10-13 05:51:19 +02:00
Oliver Wolff
57fac2e83a Do not accept key events if a widget is disabled
The disabled state was handled in qapplication_xxx.cpp before.
As the platform integration only knows about windows and
not widgets the state check is now done in qwidget. This commit
just adds key events to the list of events which are ignored
if the widget is disabled. This list also contains mouse events
for example.

Task-number: QTBUG-27417

Change-Id: I55949e1c1aaa992ba71df51c5b5e8177ec6f1e86
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
2012-10-13 05:51:19 +02:00
Jens Bache-Wiig
aea07d1f41 Remove unused private header
This was a leftover after removing motif style from the repo.

Change-Id: I98d47a9443ffce2be34d73e779a0787c0b68913f
Reviewed-by: Jens Bache-Wiig <jens.bache-wiig@digia.com>
Reviewed-by: J-P Nurmi <jpnurmi@digia.com>
2012-10-13 05:51:19 +02:00
Jerome Pasion
dc0d5bf387 Doc: Removed references to stale links.
The links are from the qt-webpages.qdoc and no longer exist.

Change-Id: I8329032215fa77811117e2767bae745795b209cb
Reviewed-by: Martin Smith <martin.smith@digia.com>
2012-10-13 05:51:19 +02:00
Marc Mutz
8229841a4e QGtkStyle: fix a warning
Commit c0893962ef added two
definitions of a variable named gtkToggleButtonStyle in nested
scopes. Because of name lookup rules, the second one wasn't
initialised with the first one, but with itself.

This leaves the second gtkToggleButtonStyle uninit'ed.

Simply remove the surplus declaration, leaving the name to
the original declaration.

Change-Id: I2269e1093f54643ff4dce27b39cc033db6697782
Reviewed-by: J-P Nurmi <jpnurmi@digia.com>
2012-10-13 05:51:19 +02:00
Jerome Pasion
dd8fd13f3f Qt Widgets: Added a landing page
-Landing page which lists articles in the module, including:
    -Graphics View, Model/View, Style Sheet, and widget galleries
-Renamed some titles and a whitespace fix.

Change-Id: I84be14d9a425ef380162e9a55ce2742c6812f510
Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
Reviewed-by: Geir Vattekar <geir.vattekar@digia.com>
2012-10-11 02:47:23 +02:00
Tor Arne Vestbø
087efb572a Modularize documenation build
qdocconf files can now reference $QT_INSTALL_DOCS to pick up e.g. global
includes, instead of using relative paths. Qt modules will automatically
get a doc target that builds and installs into the right place (including
supporting shadow-builds) if they set QMAKE_DOCS before loading(qt_module).

Change-Id: Ia408385199e56e3ead0afa45645a059d1a8b0d48
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@digia.com>
2012-10-10 23:27:03 +02:00
J-P Nurmi
c0893962ef QGtkStyle: use gtk_widget_get_style()
Do not access GtkWidget::style directly, it doesn't exist in GTK3.

Change-Id: I947776848f5dd64011a40446fcdb9079f295f182
Reviewed-by: J-P Nurmi <jpnurmi@digia.com>
Reviewed-by: Jens Bache-Wiig <jens.bache-wiig@digia.com>
2012-10-10 14:43:59 +02:00
Jan Arve Saether
9f96bf2023 Fix a regression with regards to hfw behavior in QStackedWidget
This is a regression because we made QStackedWidget actually
support heightForWidth in 4.8. This was done with change
4780f94e391b5e881497c5228661dead42c821fa.

The problem was that heightForWidth was not calculated correctly
because some of the pages were hidden. The hidden pages were
actually not contributing to the hfw of the QStackedWidget at all.
This again caused the QStackedWidget to change its heightForWidth()
value when the current tab changed, which again could cause "jumps"
in the UI when switching tabs (as demonstrated in the task).

The problem was that the patch relied on calling
QWidgetItem::heightForWidth(), and this function would return -1
if the widget was hidden. However, QWidget::heightForWidth() does
not have this magic and returns the proper hfw value regardless
of its visibility.

One could argue about the correctness of this patch, but since
QStackedLayout::sizeHint() disregards QWidgetItem::sizeHint() (it
asks the widget directly), we do the same in
QStackedLayoutHFW::heightForWidth() for consistency.

In addition, QStackedLayout enforces that only widgets can be added
to it, and you cannot add your own QLayoutItem subclasses to it:

  qWarning("QStackedLayout::addItem: Only widgets can be added");

Task-id: QTBUG-24758

Change-Id: I349cf8f4215e4581ea237ef773d53dcdf3db176b
Reviewed-by: Paul Olav Tvete <paul.tvete@digia.com>
2012-10-10 14:22:58 +02:00
Konstantin Ritt
34c31cd74c Avoid warnings about an unreachable code
Change-Id: I57c2967db4c1bd2c39ecb3eac9b18eb7455c6a50
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
2012-10-10 13:24:17 +02:00
Gabriel de Dietrich
06332df743 Mac: Bring back "Text boxes and list only" tab navigation
Added ThemeHint::TabAllWidgets as a mean to access that platform
specific bool. The default implementation returns always true when
querying QPlatformTheme::themeHint().

Several auto-tests had to be updated to reflect for qt_tab_all_widgets'
type change. One XFAIL removed from tst_QApplication::focusChanged().

Task-number: QTBUG-24372
Change-Id: Ie1f0486c19898fe54c53aa4a27e378485075e512
Reviewed-by: Morten Johan Sørvig <morten.sorvig@digia.com>
2012-10-10 13:15:57 +02:00
Miikka Heikkinen
fe8eb057fa Fix scrolldown arrow not showing on popup for QMenu
Scrolldown arrow was not shown when a taller than screen QMenu was
opened because the check to draw it used the size that was already
adjusted to the screen.

Fixed by using the actual menu size in the check. Also fixed the case
where the menu was scrolled, closed, and reopened, in which case the
size hint would return incorrect cached value. This led to scrolldown
arrow not being shown in case the menu was previously fully scrolled
down.

Task-number: QTBUG-27445
Change-Id: Icd8d774071662a9317b3ac53cb05b31cadba96ff
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
2012-10-10 08:45:22 +02:00
J-P Nurmi
05541111ae QGtkStyle: use gtk_widget_get_parent() and gtk_widget_is_toplevel()
GtkWidget::parent does not exist in GTK3, and GTK_WIDGET_TOPLEVEL has
been deprecated since GTK 2.20 - > use gtk_widget_is_toplevel()
(available since GTK 2.18) instead.

Change-Id: I0f082b2d69a795cadb321802f25c9993029f6865
Reviewed-by: Jens Bache-Wiig <jens.bache-wiig@digia.com>
2012-10-10 08:45:22 +02:00
J-P Nurmi
e91b27b610 QGtkStyle: use gtk_widget_get/set_allocation()
Do not access GtkWidget::allocation directly, it doesn't exist in GTK3.

Change-Id: I8ce69fab19ce8f3afe35d0d30d4e28b0348fdaf1
Reviewed-by: Jens Bache-Wiig <jens.bache-wiig@digia.com>
2012-10-10 08:45:22 +02:00
Miikka Heikkinen
187b61d879 Don't try to emit focusObjectChanged if window pointer is zero
Task-number: QTBUG-27414
Change-Id: I75ad662e0a66d61b49d55d084f29cefc98221b7f
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
2012-10-10 06:50:23 +02:00
J-P Nurmi
b9a2a0141f QGtkStyle: cleanup unused gdk_drawable_get_depth() (not avail in GTK3)
Change-Id: Ifc04c768dcadc48d459eeb8dd95325823cc44dcd
Reviewed-by: J-P Nurmi <jpnurmi@digia.com>
Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@digia.com>
2012-10-09 00:46:09 +02:00
J-P Nurmi
8f9346dd66 Add QEvent::StyleAnimationUpdate: style animation target should update
The event will be sent from the upcoming style animations. This change
merely introduces the new event type and makes both QWidget and
QGraphicsWidget call update() upon receiving the event.

Change-Id: I69bb4d05bacb22f7e3a2512cae68848801e4f4d7
Reviewed-by: Jens Bache-Wiig <jens.bache-wiig@digia.com>
2012-10-09 00:46:01 +02:00
J-P Nurmi
e0b5571b53 styles.pri: tabs to spaces
Change-Id: I164368222d89ec2dc557bec02840f1d208e8f276
Reviewed-by: Sergio Ahumada <sergio.ahumada@digia.com>
2012-10-08 11:14:28 +02:00
Thiago A. Correa
a0c3a57aed QApplication::palette missing Q_NO_USING_KEYWORD implementation
Added inline implementation of QApplication::palette when
Q_NO_USING_KEYWORD is defined.

Task-number: QTBUG-27393

Change-Id: I833efb950a579db28fcb243c931c9e22b28ec431
Reviewed-by: Samuel Rødal <samuel.rodal@digia.com>
2012-10-08 09:01:23 +02:00
Stephen Kelly
ef1d18a55f Constify QTableWidget::selectedItems
Task-number: QTBUG-27448

Change-Id: I99175cc2b255b93f698d3c343639c19845c9f5a0
Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
2012-10-05 03:16:48 +02:00
J-P Nurmi
838eadba0b QMacStyle: use proper pimpl
QMacStylePrivate needed to be revised in order for it to have access to
QCommonStylePrivate that is planned to manage style animations in a
generic fashion in the near future.

Change-Id: I03185ae210d2cfc253a236d6b2da35d0201f7e13
Reviewed-by: Jens Bache-Wiig <jens.bache-wiig@digia.com>
2012-10-05 03:16:16 +02:00
Stephen Kelly
f37d3e2cd9 Fix segfault when delegates change properties on editors.
The solution is similar to that
in b84e180263 which affected
QSortFilterProxyModel.

Task-number: QTBUG-25370

Change-Id: I6bbb9d9786bcb2c9fa8027ab8a7cc13664784b8d
Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
2012-10-04 12:15:49 +02:00
Gabriel de Dietrich
65f6ad26ed Mac: Safely dispose of scrollbars temporary NSGraphicsContext
When rendering transient scrollbars, we instanciate a specialised
NSGraphicsContext since those need non-opaque rendering. This context
is being used as current context, but it was never properly released
and the previous context never properly restored.

Task-number: QTBUG-27327
Change-Id: I4e867e64a09368dbe64b84b17f07fd8e57bbae24
Reviewed-by: Teemu Katajisto <teemu.katajisto@digia.com>
Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@digia.com>
2012-10-04 12:14:15 +02:00
Thomas Hartmann
1fb3d849e4 compile fix for MSVC 2008 and std::upper_bound
qUpperBound was replaced by std::upper_bound.

Unfortunately the STL of MSVC 2008 enforces
the definition of the operator in both
directions.

Change-Id: I3e0f775c23e43332d106e0847d3611e488da6c06
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
Reviewed-by: Konstantin Ritt <ritt.ks@gmail.com>
2012-10-04 11:58:48 +02:00
Miikka Heikkinen
8547205fe8 Show widget cursor after restoring last override cursor
qwidget_qpa.cpp was setting cursor directly to platform window, so
QWindow didn't actually know what cursor was supposed to be shown.

Since QWindow now supports setting cursor and has override cursor
handling there, set cursor via QWindow instead of platform window.
Also changed QGuiApplication override cursor handling so that
it will query the cursor from QWindow if there is no override cursor.
With these changes, widget's custom cursor will be properly shown
when final override cursor is restored.

Task-number: QTBUG-24674
Change-Id: I2d2bb1027779256f9d6de560b6533f45e205ffe9
Reviewed-by: Samuel Rødal <samuel.rodal@digia.com>
2012-10-04 09:13:33 +02:00
Eskil Abrahamsen Blomfeldt
84100c9085 Fix issue with mispositioned family name i QFontComboBox
Mac OS X 10.7 comes with the family of Stix fonts, some
of which exposed an ugly layout bug in the QFontComboBox
because the ascent/descent ratio is very large due to
a very high ascent, so centering the text vertically might
cause most of the text to be clipped away.

The solution is to detect when the ascent is larger than the
height of the destination rectangle (hence a large part of the
characters will be clipped) and use the actual bounding rect
for centralizing instead. Since this only happens for a
very few of the fonts, the overhead of getting the bounding
rect should be tolerable.

This is a port of 4679c6901fc7c388fdf6c022d3499708222ef1f1 from
Qt 4.8.

Task-number: QTBUG-26691

Change-Id: Ia2014775e5baf0568df3290f2dc4ad64fb5a74bd
Reviewed-by: Jens Bache-Wiig <jens.bache-wiig@digia.com>
2012-10-03 17:17:29 +02:00
Jens Bache-Wiig
4dac6fc70a Remove Cleanlooks as a dependency of QGtkStyle
Since we no longer do the sanity checking against
gtk-qt-theme at startup, there
is no longer any need to inherit from cleanlooks.

Cleanlooks should no longer be needed as it has been
completely replaced by Gtk style and this dependency
is not required at this point.

Change-Id: I05b59278cd3ff915df49a7ad2d04494258db0d42
Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@digia.com>
2012-10-02 13:22:49 +02:00
Joerg Bornemann
f20266f9f4 fix QWidget::setWindowFilePath on Mac OS
Task-number: QTBUG-27299

Change-Id: I4dddbb9690aac327ad33477d8cea9afa84d10eb3
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
Reviewed-by: Morten Johan Sørvig <morten.sorvig@digia.com>
2012-10-02 08:06:24 +02:00
Gabriel de Dietrich
1bface4f3e Mac: Fix label margins in QGroupBox
Also use mini-sized checkbox and label when checkable. This looks better when
there are several group boxes on the same dialog.

Change-Id: I69bb0240f2a6725afb9819d20696ca404be0bca7
Reviewed-by: Jens Bache-Wiig <jens.bache-wiig@digia.com>
2012-09-28 12:46:43 +02:00
Geir Vattekar
46608f98c6 Doc: Small updates to QMenu's addAction() methods.
Task-number: QTBUG-26792
Change-Id: I41289cf10065161baca368ca195268d39cdff6cf
Reviewed-by: Venugopal Shivashankar <venugopal.shivashankar@digia.com>
Reviewed-by: Geir Vattekar <geir.vattekar@digia.com>
Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
2012-09-27 23:51:30 +02:00
jian liang
0a7e8350ae Fix drag and drop with native widgets
Task-number: QTBUG-27336

Don't check 'widget != m_widget' in
QWidgetWindow::handleDragEnterMoveEvent() since the current window's
parent widget may be the actual drop target. I replace it with a check
'!widget->isWindow()' to prevent we pass through a top level window.
I also change 'widget->mapFrom(m_widget, event->pos())' to
'widget->mapFromGlobal(m_widget->mapToGlobal(event->pos()))' since m_widget
may not be widget's parent.

Change-Id: Ia4f10f85ccdf1e27223ddc51afabd98b5d16f2fb
Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
2012-09-27 23:51:30 +02:00
Gabriel de Dietrich
b0a7974c6a Mac: Fix small glitch in editable combo boxes
Change-Id: I4b064116183834226372b14c3c442dcaa518c3b4
Reviewed-by: Jens Bache-Wiig <jens.bache-wiig@digia.com>
2012-09-27 23:51:30 +02:00
Stephen Kelly
764c4fa8fe Fix resetting of the QCompletionModel.
This model apparently pre-dates the API required to do resetting properly.

Change-Id: I0ea903cef87077ca4a3d8ca2b53eba213e77cc26
Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
2012-09-27 18:35:55 +02:00
Stephen Kelly
1f2a289834 Store an unsigned temporary for the internalId.
This is compared later with the internalId() of other indexes, which
produces a warning.

Change-Id: I57ea248c792db3b49947cc6a8fe989c68b67ff0f
Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
2012-09-27 18:35:55 +02:00
Gabriel de Dietrich
0fbb41dea7 Better drawn 1-pixel thick splitter on Mac
Change-Id: I72effdfb997a7733fbbd270db719c163d1d53a66
Reviewed-by: Jens Bache-Wiig <jens.bache-wiig@digia.com>
Reviewed-by: Morten Johan Sørvig <morten.sorvig@digia.com>
2012-09-27 15:56:51 +02:00
Gabriel de Dietrich
fc0ad0aca2 Fixed selected menu item (& Co.) text color
On Mac, highlighted text remains the same color as normal text. That's
not the case for menu and combobox items.

Change-Id: I3efe2547413f77921524b833b4b10cf2d533e110
Reviewed-by: Jens Bache-Wiig <jens.bache-wiig@digia.com>
2012-09-27 15:56:40 +02:00
Gabriel de Dietrich
65b39b3cdc Fixed text rendering in selected tab button
We resort to custom Qt rendering when selected since it looks better
than using Carbon's HITheme engine.

Change-Id: Iefcc2bebb1ba58d0d99f078c4960c5126542f637
Reviewed-by: Jens Bache-Wiig <jens.bache-wiig@digia.com>
2012-09-27 15:55:10 +02:00
Joerg Bornemann
0ef459d7a2 use QLatin1String::size() in qt_setWindowTitle_helperHelper
Change-Id: I0c8193a7c6bf8b5f894da3e20af3c4d23e0b593a
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
2012-09-27 15:50:23 +02:00