Commit Graph

18517 Commits

Author SHA1 Message Date
Richard J. Moore
50e8e95385 Add support for loading PKCS#12 bundles.
Add support for loading certificates and keys from PKCS#12 bundles
(also known as pfx files).

Task-number: QTBUG-1565

[ChangeLog][QtNetwork][QSslSocket] Support for loading PKCS#12
bundles was added. These are often used to transport keys and
certificates conveniently, particularly when making use of
client certificates.

Change-Id: Idaeb2cb4dac4b19881a5c99c7c0a7eea00c2b207
Reviewed-by: Daniel Molkentin <daniel@molkentin.de>
2014-05-11 23:50:03 +02:00
Peter Hartmann
3e9904b98b QSslCertificate::isSelfSigned(): add since tag in documentation
Change-Id: I6a4e96fb1a94a1a55eabe6b3e0df09b5d27fd8a2
Reviewed-by: Richard J. Moore <rich@kde.org>
2014-05-11 13:51:03 +02:00
Martin Smith
47b898cdaf qdoc: Now lists variable in namespaces
qdoc never did list variables declared in a namespace. It was
probably an oversight, because there are currently no uses of
the \variable command in namespaces. But recently a developer
tried to use \variable to document a namespace variable, and
it didn't work. This update corrects that problem.

Task-number: QTBUG-38734
Change-Id: I47b6234f2bafbb73dfb755a2ad82c9596a4489b1
Reviewed-by: Jørgen Lind <jorgen.lind@digia.com>
Reviewed-by: Topi Reiniö <topi.reinio@digia.com>
2014-05-10 10:30:39 +02:00
Robin Burchell
d11530c2a1 Change debug output to use stream version of debug.
df757e30f8 may have fixed this for one platform,
but different platforms appear to have different ideas on what constitutes a FD.

Just use the stream operator to avoid having to face this nightmare all the
time.

Change-Id: I298c5a4b31e8a4af6b613d039cb9aee6e8263b5a
Reviewed-by: Frederik Gladhorn <frederik.gladhorn@digia.com>
Reviewed-by: Richard J. Moore <rich@kde.org>
2014-05-10 03:03:01 +02:00
Thiago Macieira
7680108054 Don't open /etc/os-release outside Linux and Debian GNU/kFreeBSD
It's not likely to exist outside them, so let's save on the code size.

Change-Id: I72f139ccd1367f218b33cb926dae58696a83a82e
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
2014-05-09 19:40:00 +02:00
Thiago Macieira
f1e97f421a Implement QSysInfo::osVersion() for BlackBerry
Change-Id: I4bab6f475ba812bb92f9a185528c54f28392355c
Reviewed-by: Rafael Roquetto <rafael.roquetto@kdab.com>
Reviewed-by: Sergio Ahumada <sahumada@blackberry.com>
Reviewed-by: Jake Petroules <jake.petroules@petroules.com>
2014-05-09 19:39:57 +02:00
Thiago Macieira
7a6883081c Add QSysInfo::osKernelVersion()
Change-Id: If9a41d8b9530d36b2b574fdb93111ed556e8bdf2
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
2014-05-09 19:39:54 +02:00
Thiago Macieira
171526ff8f Add QSysInfo::osVersion() and prettyOsName()
Change-Id: I85ae6c434ba3125802fc94e3a4ec7d01b07eac35
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
2014-05-09 19:39:51 +02:00
Thiago Macieira
442a6ef029 Add QSysInfo::osType()
This function returns the OS kernel type. It's usually the same as the
first part of the mkspec, in qmake, or the result of uname. Usually,
because it's not the case for a few systems, like Android, OS X, iOS,
BlackBerry, etc.

Change-Id: I295d92048d33ef02987e8696772ea89e925428d3
Reviewed-by: Jake Petroules <jake.petroules@petroules.com>
Reviewed-by: Sergio Ahumada <sahumada@blackberry.com>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
2014-05-09 19:39:48 +02:00
Thiago Macieira
1ec8df439a Add QSysInfo::cpuArchitecture() and fullCpuArchitecture()
This uses the same logic as the config.test, so we will return the same
string as the $$QT_ARCH variable in qmake for cpuArchitecture().

fullCpuArchitecture() is meant to be used in upgrade mechanisms, when
combined with the OS type.

Change-Id: If0dfee9eff75a07fa4c0778d204e0e768bf43074
Reviewed-by: Kai Koehne <kai.koehne@digia.com>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
2014-05-09 19:39:44 +02:00
Laszlo Agocs
0b5c0ad2ef Support adopting an existing EGLContext in eglfs and xcb
Add also a manual test application. For GLX there is an autotest since
that is likely to be run on one of the CIs. For EGL and especially
eglfs this is likely not the case so a manual test is better.

Task-number: QTBUG-37552
Change-Id: Ib09db5d909befb68d16f69abd401a56abe55f28a
Reviewed-by: Gunnar Sletta <gunnar.sletta@jollamobile.com>
Reviewed-by: Jørgen Lind <jorgen.lind@digia.com>
2014-05-09 13:24:55 +02:00
Laszlo Agocs
3b6d8ba49b Add support for querying "display" from eglfs
Return the native display which, with the x11 hooks, is the X11 Display*.
This gives compatibility with xcb and allows QtWebEngine to run on eglfs
in regular desktop builds without ozone. (this requires eglfs built with the
x11 hooks of course)

Change-Id: I8d25e2835c41a7e78f063a57a7d6c6b5e53a19b4
Reviewed-by: Jørgen Lind <jorgen.lind@digia.com>
2014-05-09 13:24:45 +02:00
Jorgen Lind
5c28747454 Use QtPlatformHeaders to set platform specific functionality
This involves exposing a new function in the QPlatformNativeInterface
which gets a public function for QGuiApplication

Proof of concept is done through implementing _NET_WM_WINDOW_TYPE
setters for xcb

Change-Id: Ic9544e775fb71cc9b30273595ec41b1cdb1c9d64
Reviewed-by: Laszlo Agocs <laszlo.agocs@digia.com>
2014-05-09 11:03:30 +02:00
Jens Bache-Wiig
112b8e49c2 Fix widget margins on Mac with style sheets
Previously we have rejected this issue as you can work around it
by setting Qt::WA_LayoutUsesWidgetRect per widget. However there
is no reason to apply the negative mac style layout margins on any
custom style so I think we should completely bypass it unless the
native border is used.

Task-number: QTBUG-13050
Change-Id: I8923e07d868c51a13587993c9b2ce79c51beaeee
Reviewed-by: J-P Nurmi <jpnurmi@digia.com>
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
2014-05-09 11:01:16 +02:00
Frederik Gladhorn
9cfdd66b64 Merge "Merge remote-tracking branch 'origin/stable' into dev" into refs/staging/dev 2014-05-08 20:31:31 +02:00
Jan Arve Saether
1677826916 Don't repeat Tab names in the QTabBar
Task-number: QTBUG-38503
Change-Id: I1f7e599b46526a8c4b8e0f3534be9c717727a4aa
Reviewed-by: Frederik Gladhorn <frederik.gladhorn@digia.com>
2014-05-08 16:51:24 +02:00
Laszlo Agocs
32017c1e24 Make platformsupport depend on platformheaders
Change-Id: Iad70e27d35ac7a3e4c74bc15826536b003cadba4
Reviewed-by: Jørgen Lind <jorgen.lind@digia.com>
2014-05-08 15:21:44 +02:00
Keith Gardner
43f52f93b5 Updated corelib's unit tests to use QSignalSpy's functor constructor
The intent is to provide compile time validation of signals and to help
detect signal overloading in the future.

Change-Id: I9d5d46ed4b70c5d0cd407deb5928b1e76d37e007
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
Reviewed-by: Frederik Gladhorn <frederik.gladhorn@digia.com>
2014-05-08 04:22:54 +02:00
Frederik Gladhorn
1326cd15f7 Merge remote-tracking branch 'origin/stable' into dev
Conflicts:
	mkspecs/qnx-x86-qcc/qplatformdefs.h
	src/corelib/global/qglobal.h
	src/opengl/gl2paintengineex/qpaintengineex_opengl2.cpp
	src/opengl/qgl.cpp
	src/opengl/qglpixelbuffer.cpp
	src/opengl/qglshaderprogram.cpp
	tests/auto/opengl/qglthreads/tst_qglthreads.cpp

Change-Id: Iaba137884d3526a139000ca26fee02bb27b5cdb5
2014-05-06 16:50:03 +02:00
Thiago Macieira
fe70367fe0 Include the duplicated attribute name in the error message
Task-number: QTBUG-36467
Change-Id: Ic2610bd7c8df12fce4ec2ce14bd96f4595bd38af
Reviewed-by: Robin Burchell <robin+qt@viroteck.net>
2014-05-06 01:20:19 +02:00
David Faure
31ce6f50c6 Add QUrl::fromUserInput overload with a cwd argument.
Useful for any application that can take URLs on the command-line, so that
full paths and relative paths can also be accepted.

Change-Id: I8a2c50f36d60bdc49c065b3065972fd5d45fa12a
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2014-05-06 01:20:17 +02:00
Giuseppe D'Angelo
da24bfe1f7 QRegularExpression: remove a boolean trap in private API
Small improvement to the code by using an enum instead of a boolean.

Change-Id: Ib792cf97224b5204fd36ca215387fc7be34f2c32
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2014-05-06 00:11:09 +02:00
Giuseppe D'Angelo
007252adb9 QRegularExpression: lock a mutex only if there's actual work to do
We can do the (atomic) test of studyData before locking the mutex
protecting the entire function body.

Change-Id: I3006e3a0028608f21668ddaebe8a799aed56362f
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2014-05-06 00:11:04 +02:00
Giuseppe D'Angelo
5b300a1526 QRegularExpression: add an option to prevent automatic optimization
If a user doesn't like that QRegularExpression might do an
uncontrolled CPU/memory spike when it decides to optimize a pattern,
offer a way to disable the automatic optimization.

Change-Id: I38a98a3bfb239cfad9f977b0eeb75903268e747f
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2014-05-06 00:11:00 +02:00
Giuseppe D'Angelo
260f24228b QRegularExpression: add ways to force an immediate optimization
The fact that we kick in a pattern study and possibly a JIT compilation
after an undocumented number of usages is suboptimal, for a number
or reasons: users may want to JIT compile a pattern immediately,
and at the same time they may not want a random delay in the program
(due to the pattern getting optimized at a random usage).

So: add an optimize() call to force an immediate pattern optimization,
and a pattern option to force an optimization on the first usage.

Change-Id: I95efdecfd31f11ca7cceb9c05037df613601a11c
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2014-05-06 00:10:55 +02:00
J-P Nurmi
eedd300b0e QKdeTheme: use system-wide kdeglobals as a fallback
Determine KDE prefixes in the following priority order:
- KDEHOME and KDEDIRS environment variables
- ~/.kde(<version>)
- read prefixes from /etc/kde<version>rc
- fallback to /etc/kde<version>

Task-number: QTBUG-36184
Change-Id: I9010ea485f1954b21bda73b02993dbddef67eb1d
Reviewed-by: Dominik Holland <dominik.holland@pelagicore.com>
Reviewed-by: David Faure <david.faure@kdab.com>
2014-05-03 11:35:10 +02:00
Kurt Pattyn
beb7258a56 Add default case to switch statements
When compiling with the -Wswitch-default flag, the compiler
spits warnings for the moc generated files.
In certain development environments (e.g. where MISRA rules
have to be followed) every switch statement needs to have a
default case. Unfortunately the moc generated files contain
switch statements without default case. This patch adds a
default statement to all switch statements that are generated
by the moc compiler.

Change-Id: I8f3d81e3463fce4d3abf2ea5d0fa8727a7d9ba2e
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2014-05-02 17:36:45 +02:00
Gabriel de Dietrich
a006ede6e7 Mac style: Get proper ThemeButtonKind for QDateTimeEdit
When it gets 'calendarPopup' set, that is.

The reason lies, indirectly, in the extra margins we add to
QComboBoxes and other QPushButtons in the Mac style. However,
these extra margins do not apply to spinboxes, which is what
QDateTimeEdit is.

In particular, this causes Designer to show QDateTimeEdit at
the wrong size when it's not in a layout.

Task-number: QTBUG-38615
Change-Id: I3dd52e10db8c8970a6dc40b39fbe29dd86167daa
Reviewed-by: Jake Petroules <jake.petroules@petroules.com>
Reviewed-by: J-P Nurmi <jpnurmi@digia.com>
Reviewed-by: Morten Johan Sørvig <morten.sorvig@digia.com>
2014-05-02 17:36:45 +02:00
Fabian Bumberger
721543e464 QNX: Fix QLineEdit autotest
Change-Id: I84c386a146dd484db844fa93165b28e19e4cefd7
Reviewed-by: Sergio Ahumada <sahumada@blackberry.com>
Reviewed-by: Bernd Weimer <bweimer@blackberry.com>
2014-05-02 17:36:45 +02:00
Fabian Bumberger
637b6e1097 Ignore the fullscreen state of a QMdiSubWindow
On some platforms all windows are by default forced into fullscreen mode when show() is executed.
In QMdiSubWindow we cannot handle the fullscreen state and should ignore it. Otherwise
the window will be forced in "normal" state and ignore any previously
executed geometry changes.

Change-Id: I09ce6507a1eac6a0adb3405ca3f423642d30f801
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
Reviewed-by: Bernd Weimer <bweimer@blackberry.com>
2014-05-02 17:36:45 +02:00
Thiago Macieira
2567b35a5e Don't set the window title for a Qt::Desktop window (QDesktopWidget)
The desktop doesn't belong to this application, we shouldn't be setting
it (assuming it is even possible). On X, for example, it's possible to
set the name and you end up with the root window having _NET_WM_NAME
pointing to the last application that created a QDesktopWidget.

Change-Id: Ib62d0a4d56a4d2a74afc6b33fa607867343e7aba
Reviewed-by: Jørgen Lind <jorgen.lind@digia.com>
2014-05-02 17:36:45 +02:00
Frederik Gladhorn
bdcd86c03e Merge "Merge remote-tracking branch 'origin/release' into stable" into refs/staging/stable 2014-05-02 17:36:45 +02:00
Andy Shaw
da888ba539 Only query for the theme if it is available in the GTKStyle
If the theme is not available then it should not try to use it when
getting the file system icon as it will cause a number of messages to be
outputted to the console as it is an invalid call.

Change-Id: I33003568f6785ee423c4a6e079a6c62c95145cbc
Reviewed-by: J-P Nurmi <jpnurmi@digia.com>
2014-05-02 12:16:07 +02:00
Kati Kankaanpaa
aef82ebe15 Fix override cursor issue with QtQuick2ApplicationViewer.
If the override cursor was set before
QtQuick2ApplicationViewer was shown then the cursor
was the default cursor and not the override cursor.
The new cursor was applied only if the window was
visible and the cursor has been set. Now the cursor
is applied also if override cursor is set.

Change-Id: I88618c719e43b2802e209bef440461c532d19f48
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
Reviewed-by: Laszlo Agocs <laszlo.agocs@digia.com>
2014-05-02 12:16:00 +02:00
Martin Smith
6010b73932 qdoc: Added 2nd argument to \generate list classes command
The qdoc command \generatelist has an argument that tells
qdoc which list to generate. When the argument is "classes"
qdoc generates the "All C++ Classes" list. qdoc looks for a
common prefix for all the members of the list and sorts the
members of the list using the character that follows the
common prefix. The problem was that the common prefix "Q"
was hardcoded in qdoc.

This update allows the \generate list command to have a
second argument, which is the common prefix. If the common
prefix is not provided, qdoc sorts the members of the list
on the first character.

There is only one use of the \generatelist command with
the classes argument in Qt5. It is changed to be
\generatelist classes Q, and the qdoc user manual is
updated to reflect this change.

Task-number: QTBUG-38226
Change-Id: Ie1011d728819a1e5598bbdf73b7444009377d231
Reviewed-by: Martin Smith <martin.smith@digia.com>
2014-05-02 10:12:20 +02:00
Martin Smith
761265ef64 qdoc: attaching type of attached properties was missing
This bug was probably intoroduced when the QmlPropertyGroup
became a first class Node type. Otherwise, there is no way
to explain how it worked at all. But now qdoc includes the
attaching type.

Some debugging code was also cleaned up.

Task-number: QTBUG-35559
Change-Id: I478efb7f4356d51015af9f33c893958d4b4ae301
Reviewed-by: Topi Reiniö <topi.reinio@digia.com>
2014-05-02 10:11:23 +02:00
David Faure
0ccbe33a04 QtGui: Use Q_REQUIRED_RESULT in many more places
gcc doesn't yet warn when a non-POD return datatype is unused,
but clang does, at least.

Change-Id: Ia4c39001994ac09cf20e458bc5a66710bd11780c
Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
Reviewed-by: Gunnar Sletta <gunnar.sletta@jollamobile.com>
2014-05-02 10:03:46 +02:00
David Faure
84f02a9e14 Factor xcb check into a local variable
Change-Id: Ib57f73f7a733a94bed4522ddd2d19c4980d8d6b6
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
2014-05-02 10:03:35 +02:00
David Faure
532b94e98f Add support for -qwindowicon command line argument.
[ChangeLog][QtGui][QGuiApplication] Add support for -icon command line
argument on X11, add -qwindowicon on all platforms.

Change-Id: Iacc602466699bf634d8b34aab7ed73c83fd9844f
Reviewed-by: Frederik Gladhorn <frederik.gladhorn@digia.com>
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
2014-05-02 10:03:31 +02:00
Topi Reinio
9e44204bf8 qdoc: Simplify config code for reading file paths
This change greatly simplifies the code used for
reading paths from config files: near-identical
functions Config::getCanonicalPathList() and
Config::getPathList() are combined into one, and
the use of Config::getCleanPathList() is
replaced with the above.

Effectively, all paths read from the config files
are now converted into canonical ones.

It also adds support for absolute paths in config
files.

Task-number: QTBUG-36193
Change-Id: I2dc1ee6a67a400e056404ec1c09c6e81f643aa77
Reviewed-by: Martin Smith <martin.smith@digia.com>
Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@digia.com>
2014-05-02 09:56:24 +02:00
Louai Al-Khanji
948fa572de Direct2D QPA: Add handlers for individual primitives
Directly handling primitives is faster than using the catch-all fill
function which converts arbitrary paths into a direct2d geometry. So do
so.

Change-Id: I71ce73dbe75aa9b61e741c358d8787d0ea48ee46
Reviewed-by: Risto Avila <risto.avila@digia.com>
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
Reviewed-by: Andrew Knight <andrew.knight@digia.com>
2014-05-01 18:23:28 +02:00
Frederik Gladhorn
ccc6efb6e9 Merge remote-tracking branch 'origin/release' into stable
This merge adds the opengl rename.

Change-Id: I84ea0b6abee9780ebb2cf3f64ab9e3fdf2acab3e
2014-05-01 13:08:42 +02:00
Friedemann Kleint
2e44a9e491 Windows: Start using High DPI API available from Windows 8.1 onwards.
Dynamically load shcore.dll, use SetProcessDpiAwareness() instead
of SetProcessDPIAware() when available. Add command line parameter
to control level.

Task-number: QTBUG-37347
Change-Id: I1259b0943b41e50066e7e3870ed3136afd8f18fe
Reviewed-by: Oliver Wolff <oliver.wolff@digia.com>
2014-04-30 22:43:49 +02:00
Oswald Buddenhagen
d52b00e1d3 fix $$shell_path() for mingw+sh
the msys shell expects unix-like paths with drives converted
from d:\ to /d/.

Change-Id: I09e25ed2c868702e5d7d8b9cc8c04cc13410eeff
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
2014-04-30 16:57:09 +02:00
Oswald Buddenhagen
f73b9e4af8 make QMAKE_DIRLIST_SEP consistent with QMAKE_DIR_SEP
that is, make it match the shell used by the make command.

this is unlike DIRLIST_SEPARATOR and DIR_SEPARATOR, which always match
the actual system shell.

Change-Id: I0fb277d75b32be029808623a3b77e1358c4e265e
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
2014-04-30 16:57:01 +02:00
Oswald Buddenhagen
e5024c219f untangle use of system vs. shell path(-list) semantics
"system" refers to the system's native shell, which is what qmake's
system() invokes, and whose convention by far most commands invoked from
a makefile will need.
"shell" refers to the shell invoked by make, which diverges from the
system shell only when qmake/mingw32-make is called from an msys shell.
its conventions need to be used for anything the shell itself does
(e.g., assembling env variables, but also command line argument
unquoting) and the commands the mkspec sets according to the shell
(e.g., QMAKE_MOVE).

Change-Id: I0000aa9417c199cf8a810619d31ded24bb0675f9
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
2014-04-30 16:56:54 +02:00
Oswald Buddenhagen
5c05534a63 fix qtmain's .prl file not being used
at some point we stopped adding the qtmain's library path before its
respective -l flag, which lead to qmake being unable to resolve the
library location and thus ignoring its prl file.

Change-Id: I390a31f8ac2877d3823dfd2787b2cc8c696b0ec0
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
2014-04-30 16:56:50 +02:00
Oswald Buddenhagen
bc563a02b2 don't create a trailing space when PLUGIN_EXTENDS is empty
Change-Id: Ia6a11721419e043bc08e38b5e6c6dfd71315eca2
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
2014-04-30 16:56:36 +02:00
Oswald Buddenhagen
91ef3966bd fix list of cached module variables
makes configure -fully-process less broken.

Change-Id: I7d22898b1e6994eb46359afca3fc4ad08e334946
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
Reviewed-by: Martin Jansa <Martin.Jansa@gmail.com>
2014-04-30 16:56:29 +02:00
Friedemann Kleint
7e14e69fd5 Stabilize tst_QAbstractItemView::task250754_fontChange().
Increase window size when verifying that the scrollbar disappears
when using a small font on Windows 8.1

Change-Id: I7d4520bc5882d8ccd59db3f5bff7e9d6d68a4827
Reviewed-by: Oliver Wolff <oliver.wolff@digia.com>
2014-04-30 16:53:55 +02:00