Commit Graph

11771 Commits

Author SHA1 Message Date
Friedemann Kleint
661c3701f4 Fix Windows native file dialogs for use with QtQuick.
- Correct modality check.
- Allow for properties to be set if there is no native dialog.
- Make dialog thread for non-modal call back into dialog helper
  for exec().
- Introduce QWindowsFileDialogSharedData to contain data to be
  cached while no native dialog exists and to be updated by the
  change notifications of the IFileDialogEvent interface to avoid
  querying the dialog results after the dialog has closed. Reduce
  virtual methods of QWindowsNativeFileDialogBase accordingly.
  This also fixes a bug in the previous implementation causing
  the directory not to reported back since the native API would
  not return the directory after closing the dialog.
- Support nonmodal native dialogs when constructed on a QQuickWindow.
- Delete native dialogs after exec as QtQuick keeps the
  dialog instances around.

Change-Id: Id1169d6657d9476afe12fb9909c36cbd03aa2a40
Reviewed-by: Oliver Wolff <oliver.wolff@digia.com>
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
Reviewed-by: Shawn Rutledge <shawn.rutledge@digia.com>
2013-01-21 21:50:07 +01:00
Jan Arve Saether
e17dddfd3b Make hierarchy of actions in menubars more consistent.
There is an assumption that the interface returned from iface->parent()
would have iface as one of its children (thus,
parent->indexOfChild(iface)
should always return an integer != -1, indicating that it is a child.

This is a good assumption, otherwise an hierarchy would be presented
differently depending on how it is traversed.

However, a QMenu created like this:
QMenu *menu = new QMenu("weird parent", mainWindow);
mainWindow->menuBar()->addMenu(menu);

will have a different ancestor sequence than a menu created like this:

mainWindow->menuBar()->addMenu("ok parent");

This is because it will walk up the QObject hierarchy.

This patch tries to deal with that by looking at which widgets the
action of the menu is associated with before determining which should
be the accessible parent.

Change-Id: I00dad8a94463f772d7b1f5d66fdb36b2e8d3aea2
Reviewed-by: Frederik Gladhorn <frederik.gladhorn@digia.com>
2013-01-21 18:57:27 +01:00
Nico Vertriest
498dfa3de7 Doc: added path to qtcore.qdocconf
Added examples/widgets
Required for resource-system.qdoc referring to application.qrc

Task-number: QTBUG-29101
Change-Id: Ia51020a02801e04e3ff8d13f09277d7cd3fe1109
Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
2013-01-21 17:11:36 +01:00
Gabriel de Dietrich
92237b22ea Cocoa: Make QCocoaMenu::showPopup() more robust
Change-Id: Ie4ae5806ea2f23f16597578796be36f2123c05fa
Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@digia.com>
2013-01-21 15:31:22 +01:00
Jan Arve Saether
fb4aef9c70 Accessibility: Test for do not crash if the column count is 0
This tests the fix submitted in bb5e11b56d

Task-number: QTBUG-28611

Change-Id: I7b15aa6b46be3607bd7079294d8e7d18bd507d1c
Reviewed-by: Frederik Gladhorn <frederik.gladhorn@digia.com>
2013-01-21 15:28:28 +01:00
Tor Arne Vestbø
b5922c89ba Add support for retina glyph-based text drawing in the GL paint-engine
Instead of always using a non-transformed glyph-cache we now allow a scaled
glyph-cache so that retina-screens can take advantage of this. We take
the cache's scale into account when positioning and drawing the glyphs
so that the scale is not applied twice.

Change-Id: Ia927656f0070df61e78da76e97d2c49de4d856d9
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@digia.com>
2013-01-21 12:59:33 +01:00
Shane Kearns
e3bd06426a Fix socket binding on mingw builds
The mingw headers lack the IPV6_V6ONLY define, depending where you get
them from. Currently the headers provided by mingw-builds are more
complete than those from mingw.org itself.
I have removed the compile time check, defined the macro if it is
undefined, and it should be just a runtime check for if you are running
on windows XP you get no dual stack binding.

Task-number: QTBUG-28787
Task-number: QTBUG-28971
Task-number: QTBUG-28972
Change-Id: Iafadbb55d367c44ba9f812a24115e65591701b54
Reviewed-by: Ilya Sidorov
Reviewed-by: Peter Hartmann <phartmann@rim.com>
(cherry picked from commit d3c4296198)
2013-01-21 12:40:52 +01:00
Friedemann Kleint
04773fe72e Reduce invocations of QFINDTESTDATA in tst_qfileinfo.
Introduce variables for the paths used in the test and
check in initTestCase().

Change-Id: Ie801266e30cd860e5bdf079c1182fe385f9598c7
Reviewed-by: David Faure (KDE) <faure@kde.org>
2013-01-21 12:15:01 +01:00
Friedemann Kleint
52e14e05fa Fix temporary file leak in tst_qfileinfo.
Change-Id: I0d679638d5a9564f612ae5e70717f164b74aefb0
Reviewed-by: David Faure (KDE) <faure@kde.org>
2013-01-21 12:14:53 +01:00
J-P Nurmi
e93a69349f QGuiApplication::font(): assert that a GUI app instance exists
Task-number: QTBUG-28306
Change-Id: Ia5b01265e7f88fdd8c2738ef03b14e83829625b0
Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@digia.com>
2013-01-21 12:12:35 +01:00
Andrew den Exter
40e6b1d0b8 Don't update the input method if the im hints haven't changed.
Depending on the implementation updating an input method can be
expensive and various widgets will at times call setInputMethodHints
with unchanged hints.  QGraphicsView being a notable offender due to
the complexity of the circumstances in which the hints can change.

Skipping the update here ensures the input method isn't updated
unnecessarily for all widgets.

Task-number: QTBUG-19854
Change-Id: I36ae35585ee20a4e01ca0d62c71e896dbdb51a3f
Reviewed-by: Gunnar Sletta <gunnar.sletta@digia.com>
2013-01-21 09:32:58 +01:00
Morten Johan Sørvig
3e8996df2a Export functions to add custom mime converters.
For use with public API in QtMacExtras.

This goes into Qt stable: Fix for new functionality,
and close a feature regression against Qt 4.

Change-Id: I555fdff3ddb39336ccd72f9711d465f1c18c6b45
Reviewed-by: James Turner <james.turner@kdab.com>
Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@digia.com>
2013-01-21 09:29:32 +01:00
Samuel Rødal
4feadac76e Android-eglfs: Fixed build against Android 4.0.x
The header location for SurfaceComposerClient.h changed between Android
4.0 and 4.1, so we need to select based on the major and minor version.

Change-Id: I7a6408f8ba3c644facca3a7e64b8d68fde9c4472
Reviewed-by: aavit <eirik.aavitsland@digia.com>
Reviewed-by: Rainer Keller <rainer.keller@digia.com>
2013-01-21 09:20:01 +01:00
Giuseppe D'Angelo
f8c389bc3c QRegularExpression: fix wrong argument type for pcre_fullinfo
The pcre(3) man page says that the 4th argument of pcre_fullinfo,
when requesting PCRE_INFO_OPTIONS, should point to an unsigned
long int variable.

Change-Id: I72cd5ab208687715329566556c5f279db57f7872
Reviewed-by: Richard J. Moore <rich@kde.org>
2013-01-20 23:09:56 +01:00
Giuseppe D'Angelo
12d90d6202 Add a note for merging QString::contains(QRE, QREM) overloads in Qt 6
Change-Id: I19609b192618287dbac0de2e893e3e9b40d6a969
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
2013-01-20 22:46:32 +01:00
Volker Krause
5ab42af612 Adapt to WebKit Widgets module split.
These classes moved as well, but were missed in commit c07408e2. This
fixes uic generating invalid code if any of these classes are used in
an .ui file.

Change-Id: I0359157f540a5f4979cca781169e5a9b2a0afad7
Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
2013-01-19 18:31:07 +01:00
Gerhard Gappmeier
9bbebb9144 Add support for defining properties from member variables.
This associates properties with member variables and
avoids writing getter and setter methods manually.
The metaCall() method directly accesses the member variable,
so additional method calls can be avoided.
The metaCall() setter code also supports NOTIFY signals,
which means the according signal is emitted when the property
gets written.

Task-number: QTBUG-16852

Change-Id: I88a1f237ea53a1e9cf65fc9ef2e207718eb8b6c3
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
2013-01-19 17:36:55 +01:00
Peter Hartmann
5bc5be22e8 QNetworkReply auto test: also test uploading data via HTTPS
... and not only HTTP.

Change-Id: I1190e07fdacd9bdfb218c8932e0e5e2c0c6fc6ab
Reviewed-by: Richard J. Moore <rich@kde.org>
2013-01-18 17:58:48 +01:00
Luís Pereira
f9f83e1ef7 fixqt4headers: Fix typo in QtMultimedia headers module name
Commit 003860b5 introduced QtMultimedia, but with a typo. It broke the
script.

Change-Id: Ie3fd536d90f52419818f36ba1b28d437b965dcdc
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
2013-01-18 17:58:48 +01:00
Jing Bai
5607259ccc fix a typo in cube example
Change-Id: I1ad01aa519007d203669ccc63ef7d769b7e740b5
Reviewed-by: Sergio Ahumada <sergio.ahumada@digia.com>
2013-01-18 16:15:36 +01:00
Friedemann Kleint
aacf4d0263 Fix a crash when minimizing a QQuickWindow.
Send empty expose event and flush queue when minimizing.

Task-number: QTBUG-28439
Task-number: QTBUG-26424

Change-Id: I2e921a86660f946ced7af735cdf197fb666e2934
Reviewed-by: Gunnar Sletta <gunnar.sletta@digia.com>
2013-01-18 15:42:59 +01:00
Andy Shaw
d6506c129d Make sure the correct name filter is selected in the Mac file dialog
Since we have to add the filters one by one to the Mac file dialog it
was finding the one that would match the filter by comparing the start
of the filter string.  However it would continue to check the start of
other filters even if it had already found the one it should be using.

Now it uses either an exact match or the first one that it matches the
start of.

Change-Id: Ie6441acd48e45ec9c712afc12a2ea47755835bb3
Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@digia.com>
2013-01-18 15:09:38 +01:00
Andy Shaw
7024bc7091 Call endSheet when the QFileDialog was shown as a sheet on Mac
If the sheet is not ended then subseqent calls to show a sheet will not
work correctly.

Change-Id: Ib8a43a1c96a3dadff196c433e822f7579ad87b8b
Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@digia.com>
2013-01-18 14:55:22 +01:00
Friedemann Kleint
6f225b0b5d Fix MinGW-warnings about comparing signed/unsigned.
Change-Id: I970264e5b096a3d6384b59d0ae0876bb80fd0009
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
2013-01-18 14:18:34 +01:00
Friedemann Kleint
ced523af7a Fix crashes in tst_qthreadpool on Windows.
Qt 4.8 shows frequent crashes in runMultiple apparently caused
by the QMutex construction in the free functions by different
threads. Use a common QMutex class member instead.

Change-Id: I851d4e2d3637a7b4f404ed843f5360c10caa21f5
Reviewed-by: Mitch Curtis <mitch.curtis@digia.com>
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2013-01-18 14:16:52 +01:00
Samuel Rødal
01d5c6c949 Android-eglfs: Added support for non-composited rendering.
By using FramebufferNativeWindow Qt can render directly without going
through the SurfaceFlinger compositor.

Change-Id: I0538fca9f2e905c076ff5837dd73589ee9c632ca
Reviewed-by: Gunnar Sletta <gunnar.sletta@digia.com>
2013-01-18 09:16:10 +01:00
Samuel Rødal
d29aabbca9 eglfs: Introduce way of filtering out unwanted EGL configs.
Some times a platform might want to exclude certain configs, for example
based on EGL_NATIVE_VISUAL_ID. This patch introduces a new
QEglConfigChooser class which has a virtual filterConfig() function
which can be re-implemented in a sub-class to give finer control of how
configs are chosen.

Change-Id: I8b684f01be95a47307b1e429857f01337a9a38d8
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@digia.com>
Reviewed-by: Gunnar Sletta <gunnar.sletta@digia.com>
2013-01-18 09:16:03 +01:00
Sergio Ahumada
48e0c4df23 Update copyright year in Digia's license headers
Change-Id: Ic804938fc352291d011800d21e549c10acac66fb
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
2013-01-18 09:07:35 +01:00
Thiago Macieira
0d0213f926 Store inode numbers in decimal notation
ls(1) with the -i option and stat(1) show inode numbers in decimal. If
anyone ever tries debugging this problem, we should present the
information that other tools would show too.

Change-Id: I54b24edba5b028cc86744ca302ab918f8baa2d2b
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
2013-01-18 03:41:34 +01:00
Topi Reinio
d94ac55a01 Doc: Fix documentation for devicePixelRatio() functions
Fix Incorrect use of \sa, missing markup for comment block and typos.

Change-Id: I1b7e477b7429ace30ca3ab25c4814c8cba659a65
Reviewed-by: Venugopal Shivashankar <venugopal.shivashankar@digia.com>
Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
2013-01-17 18:02:14 +01:00
David Faure
ac9ab9703f QtDBus: Garbage collect deleted objects now and then.
Fixes performance issues in apps which register and deregister objects
very frequently (like nepomukstorage).

Change-Id: Ib4ce8d65868f0e26cd45f1053e4b2f4c13528cfa
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2013-01-17 17:39:36 +01:00
David Faure
00e0923e60 Output std error from qmake/make when the test fails.
This is intended to make it easier to understand what's happening when
this test is flaky during CI.

Change-Id: I13163c244cb99414d90b5f71c365a4ff2216bc83
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2013-01-17 17:39:29 +01:00
David Faure
ff8362d65e QSaveFile autotest: restore permissions using RAII
So that the QTemporaryDir can happen even on error.

Change-Id: I728d49eac8bd65e1919fd314a95387949e134de0
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2013-01-17 17:39:22 +01:00
David Faure
2d5fe45379 QSaveFile: test the case of an existing, but readonly, target file.
Change-Id: I296d9c2598b8c72e2fd3e6ec80a615364b7eddeb
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2013-01-17 17:39:16 +01:00
David Faure
e993df8771 Add class QSaveFile.
This QIODevice uses a temporary file for writing, so that in case of
write errors, the writing operation is canceled, without losing any
existing file. It also avoids having a partially-written file visible
by other processes, at the final destination.

Change-Id: I9482df45751cb890b1b6f1382ec2eea3eb980627
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2013-01-17 17:39:11 +01:00
Sergio Martins
64439ed92a QNX: Don't use native file dialogs.
They are not supported anymore.
Use the standard Qt dialogs instead.

Change-Id: I2b6c7688e24e4345a95d3a9a062f9670cb1a845f
Reviewed-by: Thomas McGuire <thomas.mcguire@kdab.com>
Reviewed-by: Bernd Weimer <bweimer@rim.com>
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
Reviewed-by: Rafael Roquetto <rafael.roquetto@kdab.com>
2013-01-17 15:55:18 +01:00
Peter Hartmann
170bf2a59a QDateTime auto test: stabilize currentDateTimeUtc2 test
... by trying more often to get dates close enough to each other.

Change-Id: I370f7cd61bbb84fbb77ea96ff9fd82c1a6f1f76a
Reviewed-by: Sergio Ahumada <sergio.ahumada@digia.com>
2013-01-17 12:57:43 +01:00
Frederik Gladhorn
e3a10e15ff Merge "Merge remote-tracking branch 'origin/stable' into dev" into refs/staging/dev 2013-01-16 23:51:11 +01:00
Allan Sandfeld Jensen
cc5b698a95 Check for GLX_ARB_create_context extension before using it.
Mesa has started defining glXCreateContextAttribsARB even when it is not
supported as a feature. To be sure it is safe to use, we need to also check
if it is supported extension.

Change-Id: Ie160dc2b2418a726957b59f47bd290b742562ae3
Reviewed-by: Zeno Albisser <zeno.albisser@digia.com>
Reviewed-by: Samuel Rødal <samuel.rodal@digia.com>
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
2013-01-16 18:01:38 +01:00
Friedemann Kleint
34572dadc6 Dialog testing tool: Control life cycle of non-modal file dialogs.
Keep the non-modal file dialog around and delete only on request,
such that one can simulate repeated invocations of show() on
the same dialog for testing native dialogs.

Change-Id: I80d0f1dfafbc02a31be192098121654a01025174
Reviewed-by: Shawn Rutledge <shawn.rutledge@digia.com>
2013-01-16 17:06:12 +01:00
Friedemann Kleint
ac864956f8 Fix warnings about calling nativeResource when no handle exists.
Triggered for example by Qt Designer's new form dialog.

Change-Id: I63a1f1e5425e8d5fc60c10418a715143e65443f1
Reviewed-by: Frederik Gladhorn <frederik.gladhorn@digia.com>
2013-01-16 16:07:18 +01:00
Rafael Roquetto
13a1e7a444 Device mkspec for BlackBerry Playbook
Change-Id: I4a437ce2da7c94b49c747e9fcdc9ec622ef51ddc
Reviewed-by: Donald Carr <sirspudd@gmail.com>
Reviewed-by: Sérgio Martins <sergio.martins.qnx@kdab.com>
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
Reviewed-by: Kevin Krammer <kevin.krammer@kdab.com>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
2013-01-16 16:06:28 +01:00
Topi Reinio
618fe66d5b Doc: Update changes-5.0.1 file with documentation-related changes
Change-Id: I51b0de95e9da8409647fba811b9c2d2ef1f478b6
Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
2013-01-16 14:47:34 +01:00
Juan Luis Boya García
5d2bb24cc9 Fixed dead keys on MS Windows
Since Qt4, there is a bug which causes Qt to drop dead key modifiers
(like graves and acutes) if the user types enough fast on MS Windows.

This happens because of an extrange behavior of Windows, which drops
dead keys on ToUnicode() calls.

This patch tries to workaround that.

Task-number: QTBUG-8764
Task-number: QTBUG-10032

Change-Id: Ifdde25817743194fd5c0b7533c27f46a7a108ca4
Reviewed-by: Friedemann.Kleint@digia.com
Reviewed-by: oliver.wolff@digia.com
Reviewed-by: marc.mutz@kdab.com
Reviewed-by: bjoern.breitmeyer@kdab.com
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
Reviewed-by: Oliver Wolff <oliver.wolff@digia.com>
2013-01-16 08:53:58 +01:00
Sergio Ahumada
eb87a0f409 tst_bic: Add linux-gcc-ia32 bic data for QtXml
Change-Id: I43670f41f41f465e5684362de64c355b68a1dbf7
Reviewed-by: Janne Anttila <janne.anttila@digia.com>
2013-01-16 08:25:28 +01:00
Frederik Gladhorn
7075e29199 Merge remote-tracking branch 'origin/stable' into dev
Conflicts:
	src/widgets/styles/qstyleanimation.cpp

Change-Id: Iae570895be6544de80f9c1ec309d1a08c59daff8
2013-01-16 01:22:45 +01:00
Tor Arne Vestbø
1161a8a629 CoreText: Add support for providing scaled glyphs to the glyph-cache
Useful for not having to fall back to QPainterPath drawing when using
the raster engine with a retina screen (which has a 2x scale).

Change-Id: I0a9f754d31b0ecd8e8daf7a01331d19716bab680
Reviewed-by: Gunnar Sletta <gunnar.sletta@digia.com>
2013-01-15 22:49:53 +01:00
Friedemann Kleint
3d9a40038f Implement QPlatformWindow::isExposed() on Windows.
Task-number: QTBUG-28439

Change-Id: I4a81a8947056ecd4e1e61ffb0e5d94ee2ad860df
Reviewed-by: Gunnar Sletta <gunnar.sletta@digia.com>
2013-01-15 19:47:44 +01:00
Frederik Gladhorn
122ee7a367 Merge "Merge remote-tracking branch 'gerrit/release' into stable" into refs/staging/stable 2013-01-15 19:47:44 +01:00
Frederik Gladhorn
270a51b775 Merge remote-tracking branch 'gerrit/release' into stable
Change-Id: Ieb104d0e390218a063082c93bc9c7e412af2166d
2013-01-15 18:14:13 +01:00