Commit Graph

11015 Commits

Author SHA1 Message Date
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
hjk
2dc6ad8adf Fix building of the painting examples that use shared code
Task-number: QTCREATORBUG-8437

Change-Id: I66031184a009f3b26ad4af36b1975204e8fa80dc
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@digia.com>
2012-12-17 11:12:49 +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
Leonard Lee
4cf112b641 Elaborate shortDayName(), etc using default locale.
QDate::toString() should explain QDate::shortDayName() and
QDate::shortMonthName() will be localized name using the
default locale from the system.

Task-number: QTBUG-28522
Change-Id: I027a72773b5772bf00344f14a4b522e41c9e63db
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2012-12-14 23:29:42 +01:00
Peter Hartmann
b6250913be QNX: adjust settings for separate debug info feature
Patch-by: Greg Bentz
Task-number: QTBUG-28247
Change-Id: Ibd1f959969a8678b828c8e8de8be0a200a632b22
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
Reviewed-by: Greg Bentz <gbentz@rim.com>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
2012-12-13 17:45:32 +01:00
Jan Arve Saether
51ae17d33d No reason to dynamically resolve NotifyWinEvent anymore
It has been available in user32.dll since
Windows2000/Windows Server 2003

Change-Id: Icbfc63e944bc9e8098e3b01fd57dc7aa45bcd345
Reviewed-by: Frederik Gladhorn <frederik.gladhorn@digia.com>
2012-12-13 14:40:04 +01:00
Rafael Roquetto
290ed7f8fa QNX: QQnxCursor implementation.
Implementation of QQnxCursor, a QPlatformCursor subclass. Due to the lack of a
proper cursor API from the underlying OS, this class only caches the current
cursor position to make sure that the QCursor class works properly.

Change-Id: I55031184a009f3b26ad4af36b1975204e8fa80dc
Reviewed-by: Sérgio Martins <sergio.martins.qnx@kdab.com>
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
Reviewed-by: Nicolas Arnaud-Cormos <nicolas@kdab.com>
2012-12-13 13:50:21 +01:00
Marc Mutz
6f08748ec8 tst_QDialogButtonBox: fix typos
Change-Id: Iaf1b0ec47894cce7c5be702b2fad3106249cffd2
Reviewed-by: Giuseppe D'Angelo <giuseppe.dangelo@kdab.com>
2012-12-13 10:19:20 +01:00
Jing Bai
e1cbc8c68f add auto-detect system language in i18n example
It makes this example more complete since we move
linguist related examples into qttools

Task-number: QTBUG-28434
Change-Id: Ic6bbbd2702b5a0a304b5e8ce59da37ef95e4b42e
Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
2012-12-12 23: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
Friedemann Kleint
a380c108a6 qdoc: Fix warnings about unused variables.
Change-Id: Ic75518aaea3a080aee656637335f358304191b94
Reviewed-by: Martin Smith <martin.smith@digia.com>
2012-12-11 12:09:07 +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
Marc Mutz
9c02a28552 Add an empty dist/changes-5.1.0 file
Change-Id: I687fb48b125f108d7ffb3f042d7e8d5d79d67945
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2012-12-05 18:55:43 +01:00
Friedemann Kleint
1b908e13e6 Compile windowflags/windowgeometry manual tests against 4.8.
Change-Id: I3611fe752168729f3605e0f451d487ca3e10d09d
Reviewed-by: Shawn Rutledge <shawn.rutledge@digia.com>
Reviewed-by: Miikka Heikkinen <miikka.heikkinen@digia.com>
2012-12-03 12:00:18 +01:00
Oswald Buddenhagen
0d40958347 centralize doc target related code
Change-Id: I710a7f2fc3422ec8ba5b8e90bfd92e7931092ad0
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
Reviewed-by: hjk <qthjk@ovi.com>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
2012-12-02 02:16:08 +01:00
Oswald Buddenhagen
b1ff4712f2 resolve private dependencies of tools as well
Change-Id: I25c73661489f0a6e6ecf3bb423cdae6435221e25
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
2012-12-02 02:16:00 +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
Peter Kümmel
1211b956de Fix wrong string length
Change-Id: Ic10aed6fc59d2518583caf78848711bdc97b4665
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2012-12-01 17:16:54 +01:00
Peter Kümmel
62fc970568 Fix wrong error message count in QDBusError
Don't pass the pointer errorMessages_string - 1 to strcmp().

-1 marks the end should not be used for the pointer arithmetic
in get(const char *name)

Change-Id: I5ec239c63f074d104d441511294554f21fd6eccd
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2012-12-01 17:13:43 +01:00
Friedemann Kleint
43ee10518a Improve auto-test of QFile.
Execute the test in a temporary directory, purge remaining files
except the special readonly-files in cleanup().
Avoid repeated invocation of QFINDTESTDATA() by assigning to
member variables.
Do more checks in rename(), check on contents of file.
Generally, use more QVERIFY2, print error messages.

Task-number: QTBUG-3570
Change-Id: Ibd0e11a361208a716ea3efbcca76adeda70e061a
Reviewed-by: David Faure (KDE) <faure@kde.org>
2012-12-01 13:51:52 +01:00
Teemu Katajisto
179a480941 Cocoa: create dialogs as NSPanels
NSPanels have builtin support to work with modal sessions.

Task-number: QTBUG-28111

Change-Id: Ifeb6de03129e77aad744b3989931964c375cdbc7
Reviewed-by: Morten Johan Sørvig <morten.sorvig@digia.com>
2012-12-01 10:31:20 +01:00
Marc Mutz
80ae1d2078 QSignalSpy: assorted improvements
- Add const
- Add explicit (only effect under C++11;
  C++98 knows no multi-arg implicit conversions)
- Add Q_DECL_OVERRIDE to qt_metacall reimplementation
- Add reserve() calls on containers
- Change 'args' from QList to QVector for a 2x
  memory reduction on 64bit platforms

Change-Id: If6c779dac0499d4ab64e5191d37596edf7341f76
Reviewed-by: hjk <qthjk@ovi.com>
Reviewed-by: Andreas Aardal Hanssen <andreas@hanssen.name>
Reviewed-by: David Faure <david.faure@kdab.com>
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
2012-12-01 10:31:20 +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
Zeno Albisser
f1cc2aaea9 Properly release pixel format and context in QCocoaGLContext.
Change-Id: Idd13924dccc8d7798f463484eeb3c3074f7b51f1
Reviewed-by: Morten Johan Sørvig <morten.sorvig@digia.com>
2012-12-01 08:34:19 +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
Morten Johan Sørvig
134f5e0cce Cocoa: Disable accessibility.
The accessibility implementation is unstable and
causes application crashes. Disable until it has
been stabilized.

Change-Id: Ic34361a0ad599c6f92df722499d274fe0655646b
Reviewed-by: Jan Arve Sæther <jan-arve.saether@digia.com>
2012-12-01 08:32:12 +01:00
Oliver Wolff
43169abdf8 Docs: Fixed enum and parameter links for network
Change-Id: Ie04e09d91e9b0781dc3bcbfe271c851fbe486849
Reviewed-by: David Schulz <david.schulz@digia.com>
2012-12-01 08:31:46 +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
Samuel Rødal
36e744845d Added \ingroup and \brief qdoc tags to IPC examples.
Change-Id: Ic8fb033597340bfb44ee7e0ca7a3763b36c097aa
Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
2012-12-01 08:31:04 +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
Friedemann Kleint
95a05904b9 ANGLE: Fix debug-and-release builds
Add a 'd' to debug builds to allow both release and debug builds
to be used.

- Add .def-files for Debug
- Build all libraries debug/release
- Add description to README.qt
- Differentiate debug/release in qmake.conf.

Task-number: QTBUG-28196

Change-Id: Ib3081004a6ed2ad71d353244154684d2e0ebbc86
Reviewed-by: Andy Shaw <andy.shaw@digia.com>
2012-12-01 08:30:38 +01:00
Friedemann Kleint
f229db5d57 Angle: Use dynamic runtime library of MSVC.
It is also used in Qt, mixing both is not recommended.
Add to default variables instead of overwriting them.

Change-Id: I895d44d5ea17f98dde9979eea6ff10b98180cc08
Reviewed-by: Andy Shaw <andy.shaw@digia.com>
2012-12-01 08:30:16 +01:00
Teemu Katajisto
5dbcd9dfea Cocoa: fix modal native dialogs with ongoing modal sessions
Commit 26db7de13d introduced the
modal session cleanup for Cocoa print dialog before running the
modal event loop for the dialog. Add the same cleanup for Cocoa
file, font and color dialog helpers.

Task-number: QTBUG-28146

Change-Id: Ifeb7c82566db35f0c6654be7762e9aaffbafb900
Reviewed-by: Andy Shaw <andy.shaw@digia.com>
Reviewed-by: Morten Johan Sørvig <morten.sorvig@digia.com>
2012-12-01 08:29:33 +01:00
Sean Harmer
a7c9d5ca9c OpenGL: Remove bogus error in textures example on ES 2 platforms
The call to glGetBooleanv(GL_FRAMEBUFFER_SRGB_CAPABLE_EXT) in
QGLExtensions::currentContextExtensions() was resulting in an invalid
enum on ES 2 systems. This was not being cleared and subsequentally
being interpreted as a failed texture upload in the textures example.

This enum doesn't exist on ES 2 so don't query it.

Change-Id: I84f9c4b0aa8b11b6036eeed1f9378d110d9ea69d
Reviewed-by: Samuel Rødal <samuel.rodal@digia.com>
2012-12-01 08:29:14 +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
Rafael Roquetto
1b95d3331c QNX: Move buffer count check to appropriate location
The buffer count check should take place right after buffers are created. For
some reason, the buffer count value inside libscreen may become incosistent during
the course of the program.

Change-Id: Icbbaf4734eac5b0c5c95bdd93771899f9fcdb7db
Reviewed-by: Kevin Krammer <kevin.krammer@kdab.com>
Reviewed-by: Thomas McGuire <thomas.mcguire@kdab.com>
Reviewed-by: Nicolas Arnaud-Cormos <nicolas@kdab.com>
2012-12-01 08:28:25 +01:00
Giuseppe D'Angelo
3492a80959 Threaded fortune server example: update the screenshot
It didn't match the reality any more (now it shows an IP address
as well as the chosen port).

Change-Id: I7b942313ad5246a72186e3b9c93e54af8ab7a5ae
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
2012-12-01 08:28:16 +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
Montel Laurent
ce68ca86f2 Fix compile when we use QT_NO_ACCESSIBILITY
Change-Id: I2d304fa6d91d86130eeb4a4aa07b43173d240312
Reviewed-by: David Faure <david.faure@kdab.com>
2012-12-01 01:49:46 +01:00
Montel Laurent
5f03e89b74 Fix compile with QT_NO_SHORTCUT
Change-Id: Ib11f2e01fecb0c231211c92e4590cbaddc76246f
Reviewed-by: David Faure <david.faure@kdab.com>
2012-12-01 01:49:46 +01:00
Montel Laurent
a9fcfa648a Fix memory leak when error reported
Change-Id: I0c4c0baed8f2a734b3986b0d446cd58df705f7e4
Reviewed-by: David Faure <david.faure@kdab.com>
2012-12-01 01:49:46 +01:00
David Faure
14fcddc336 QMimeType: don't document the constructor that takes a Private class
Change-Id: I238e1eca6938deb728085a5416220230d9e751c7
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@digia.com>
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
2012-11-30 23:57:56 +01:00
Zeno Albisser
26bb73c2ab ANGLE: Do not reset the share handle when resetting the swap chain.
This change only affects the ANGLE_surface_d3d_texture_2d_share_handle
extension. The patch is necessary to have WebGL running in Qt/WebKit2.

If the share handle is reset, we are loosing the reference to the
EGLSurface and cannot actually reuse it in a different context anymore.

Change-Id: I0138432dd8ff60ea57e7e591cfa2f8db1d324f53
Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
2012-11-30 23:57:37 +01:00
Zeno Albisser
656d8a6772 ANGLE Patch file: Do not reset the share handle when resetting the swap chain.
Change-Id: I7ddc0f31b342ba40d4e14a99afdf237cb37d7ace
Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
2012-11-30 23:57:22 +01:00
David Schulz
7fce924674 QtBase: Remove Meamo part and fix link in documentation
... for Application Icon Example

Change-Id: I2efa0b49a13889db8b706523d06bf317d35cad4f
Reviewed-by: Gunnar Sletta <gunnar.sletta@digia.com>
2012-11-30 23:57:17 +01:00
Oliver Wolff
fa181fc824 Docs: Moved layout example's image do correct location
Change-Id: I85c6812d8d172c92fc4322d4300721e0f45f34e7
Reviewed-by: Gunnar Sletta <gunnar.sletta@digia.com>
2012-11-30 23:57:09 +01:00
Venugopal Shivashankar
23b8b83c6f Doc: Grouped the SQL example pages under sql_examples group
Change-Id: I98b9cb2acafe82e89d9d170e0f66251180011caa
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@digia.com>
2012-11-30 23:57:01 +01:00