Commit Graph

19370 Commits

Author SHA1 Message Date
BogDan Vatra
b379161565 Android: Add uninstall option.
Uninstall option will uninstall the test afer has been executed.
It is useful when you are using your own phone to execute the tests.

Change-Id: I2a3f6c3a93099d70c98f9ce059da22c409b55843
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@digia.com>
2014-07-21 20:38:00 +02:00
BogDan Vatra
e8a97d8743 Android: Use androiddeployqt from qt path.
Change-Id: I085f2b20d1f53e3f5caf0b208f64a75c26a89219
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@digia.com>
2014-07-21 20:37:51 +02:00
Fawzi Mohamed
a09ef38456 resoureces.prf: use small resources (though cpp file) for xcode
currently there isn't a clean solution yet to support object files
or architecture specific files during the preprocess step when
using the xcode generator.
This fixes ios resources (but will break with large resources).

Task-number: QTBUG-39835
Change-Id: If620ab0c3b5c1f92db8f7b4740061c807730db57
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@digia.com>
2014-07-21 15:45:30 +02:00
Tor Arne Vestbø
3c5d405f34 iOS: Detect external screen connections and expose as additional QScreen
The additional QScreen can not be used for anything yet, since we don't
set up a window and root view controller for it.

Change-Id: I335b796bdd89fc58a27ec4e20c5ed355be0cab66
Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@digia.com>
2014-07-21 15:27:50 +02:00
Tor Arne Vestbø
f1724e4d8a iOS: Add helper for getting the iOS platform integration instance
Change-Id: I550d345ab0f8bcba1225c425464e198d43d9fda8
Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@digia.com>
2014-07-21 15:11:07 +02:00
Tor Arne Vestbø
5f9e1b079c iOS: Fix compilation with Xcode6/iOS8 SDK
We were implicitly including OpenGLES/ES2/glext.h prior to iOS8.

Change-Id: I353badb5c209b9ebc57c1718223c164590705064
Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@digia.com>
2014-07-21 15:11:03 +02:00
Tor Arne Vestbø
f86993cdee iOS: Refactor qioswindow.mm into quiview.mm and quiview_accessibility.mm
Change-Id: Ib6297e37d67b2c0ea251ae054b8ff877af2673a5
Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@digia.com>
2014-07-21 15:10:59 +02:00
Friedemann Kleint
7daf920e97 Fusion style: Use QStyleHelper::dpiScaled() where applicable.
When running unscaled on a high resolution display, some items
are too small. This patch converts most values returned by
QFusionStyle::pixelMetric() via QStyleHelper::dpiScaled(). Some
adjustments have been done to RadioButton, CheckBox, Slider and
SpinBox.

On systems with 96dpi, FusionStyle should still look exactly as
before this patch.

Task-number: QTBUG-40277
Task-number: QTBUG-38858
Change-Id: I2683a8a4db615d01c08f4d6f559417b995c0eb1a
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
Reviewed-by: J-P Nurmi <jpnurmi@digia.com>
2014-07-21 11:40:08 +02:00
Thiago Macieira
40d3ab564b Add support for CONFIG += c++14
Most compilers out in the wild still don't support the flag, so we need
to compare the version number anyway. This also makes it ready for
whenever compilers start supporting -std=c++14, something we should fix
for C++11 too.

It overrides the CXX11 variable for two reasons:
 1) we reuse the mechanics in c++11.prf
 2) we avoid c++11.prf overriding the flag if qmake decides to process
    it later (CONFIG += c++14 is additive)

Change-Id: I79b6523fd9017483f2474634d1c09f2fd5ea039d
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
2014-07-20 04:32:44 +02:00
Thiago Macieira
4a99beb7ef "Beautify" the two-pass RCC execution
Use newlines in the Makefile for multiple commands.

Change-Id: If03617343ccf7e525ffdc27ad9df55718c63d77f
Reviewed-by: hjk <hjk121@nokiamail.com>
2014-07-20 04:32:41 +02:00
Konstantin Ritt
461c2b2004 Update bundled HarfBuzz-NG copy to 0.9.32
- Unicode 7.0 support
- New shapers
- Multiple improvements in Arabic, Indic, and Hebrew shapers
- Build fixes, optimizations, etc.

Change-Id: I0ba14b619c3e6fb35cddd9d65e694af41197d6ae
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@digia.com>
2014-07-20 01:12:24 +02:00
Alex Trotsenko
0078013693 QRingBuffer: purge unused part of the api
Remove unused and untested class functions.

Change-Id: I8eb963db0ae4be9b5cdde91f6747c4a1db4ea649
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
2014-07-18 18:29:19 +02:00
Friedemann Kleint
ec190b0da7 Fix up existing high DPI manual test.
Compile on Windows, add command line options to activate the
various tests.

Task-number: QTBUG-38858
Change-Id: I38c6a9a6711831b2bd8b6ea051dd19615cc911a1
Reviewed-by: Alessandro Portale <alessandro.portale@digia.com>
2014-07-18 16:45:44 +02:00
Friedemann Kleint
f547381806 Implement QApplication::topLevelAt() using QGuiApplication::topLevelAt().
Reducing code duplication, preparing for High-DPI support.

Task-number: QTBUG-38858
Change-Id: Id0ed12db4b5cadd0eef79afd0ac62f58a7b01901
Reviewed-by: Jørgen Lind <jorgen.lind@digia.com>
2014-07-18 12:10:56 +02:00
Topi Reinio
fe099b6383 qdoc: Validate index file paths
Check for existence of the paths added by 'indexes'
documentation configuration command, and generate
warnings accordingly. Also, ensure that the strings
added with 'depends' command contain no duplicates.

Change-Id: I66a3d1b25907567bb5bfc72b78a8009d7bd8e067
Reviewed-by: Martin Smith <martin.smith@digia.com>
Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
2014-07-18 10:14:42 +02:00
Topi Reinio
d15309edee qdoc: Support use of \value command outside \enum topic.
Even though qdoc accepts the \value command(s) anywhere in the
documentation and generates tables for them, the produced output was
invalid for documentation topics other than \enum.

This change fixes the issue by not trying to resolve the enumeration
values and removing the 'Value' column for generated tables when the
\value command is used outside c++ enum documentation topic.

This enables, for example, the use of the \value command for
documenting acceptable values for QML enumeration properties,
without having to use custom lists or tables.

Task-number: QTBUG-35019
Change-Id: I597b2f9d7d03d4ab72f276752ddf53e1c405313c
Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
Reviewed-by: Martin Smith <martin.smith@digia.com>
2014-07-18 10:14:31 +02:00
Friedemann Kleint
9c774b7621 QItemSelectionModel: Sort persistent model indexes taking parent into account.
When sorting a tree model with large sub-trees and and a large
selection, the existing sort function would mix indexes of
different parents, causing a fragmented selection,
which slows down painting.

Task-number: QTBUG-33954
Change-Id: Ia585fc1e5de9a1a3f6124a58c9c7c40fcbdbfb6a
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
2014-07-17 11:26:29 +02:00
Jerome Pasion
83c6e74a0c QDoc: Allow the listing of uppercase- and lowercase-named items in list.
-QML basic types are lowercase-named while object types are uppercased.
-reference page for QML types should list both.
-caveat: simple implementation means the uppercase items are listed
 first.

Change-Id: I9092ad0cd9e79c4d3f8b794ac5d68879ce6338a5
Reviewed-by: Martin Smith <martin.smith@digia.com>
2014-07-17 10:46:23 +02:00
hjk
c87a894927 RCC: Use macros not defined in qglobal.h
This prevents conflicts in case of link time optimizations or
precompiled headers are used since we don't include qglobal.h
in the generated code.

Change-Id: I4266c8ae38e6eafefd28b3bde5cb725a24d67ea0
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
2014-07-16 17:40:14 +02:00
Kai Koehne
bb0263eb80 rcc: Prevent CRLF conversion on Windows for -binary
Fix an issue on Windows where

  rcc -binary project.qrc >project.rcc

resulted in a corrupted file (\n was automatically replaced with \r\n).

This is caused by Qt using fwrite internally, which will automatically
replace linefeed with carriage-return for streams opened in text mode.

The fix forces stdout to binary mode in this case.

Task-number: QTBUG-39422
Change-Id: Ib5b5e82db922dc389d160b0115dbafe8641c95fd
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
Reviewed-by: Robert Loehning <robert.loehning@digia.com>
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
Reviewed-by: hjk <hjk121@nokiamail.com>
2014-07-16 10:57:10 +02:00
Michael Palimaka
9de7b4d750 Canonicalize inputs when filtering default system paths
Contrary to expectations, various <foo>-config tools sometimes spit out
denormalized paths, which breaks the text-based filtering, as it relies
on exact matches with normalized paths.

Change-Id: I0613ed24953a3bde19939d28d09572c88b43a361
Task-number: QTBUG-39216
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
2014-07-15 20:18:59 +02:00
Jerome Pasion
0e4807455a QDoc: Allow QDoc to collect all QML basic types in a map.
-needed if a list of just QML basic types is needed.
-adding QML basic types to map of QML types.
-generating the list of "qmlbasictypes" also now supported.
-part of the fix for QTBUG-32871

Change-Id: Id291982a5684645b2b5e75256be673c1701e60b1
Task-number: QTBUG-32871
Reviewed-by: Martin Smith <martin.smith@digia.com>
2014-07-15 14:13:07 +02:00
Andrew Knight
4aec47b1eb windows: Fix ANGLE function resolution in static builds
The EGL/GLES functions are now resolved statically when needed.

Task-number: QTBUG-40199
Change-Id: I58c675b1c410708237475e1e5d6609ca7d6713f1
Reviewed-by: Kai Koehne <kai.koehne@digia.com>
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
2014-07-15 13:23:58 +02:00
Kai Koehne
87aceebf42 QDebug: Add resetFormat()
Similar to QTextStream::reset(), this resets the stream format to the
defaults. Its primary use is inside custom operator<< implementations,
where you'd want to have a fixed format regardless of the current
stream state.

Change-Id: I421d76c61f164579bb90cf4195cc5376e2dcf0f3
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
2014-07-15 13:06:38 +02:00
Friedemann Kleint
45854c75aa QGroupBox: Exclude top level widgets from child event handling.
Prevent the QGroupBox from changing the enabled state of
dialogs parented on it.

Task-number: QTBUG-40132
Change-Id: I91cc6ccf5ade0b3a491020ed947d4aceca62d7b6
Reviewed-by: J-P Nurmi <jpnurmi@digia.com>
2014-07-15 11:24:47 +02:00
Frederik Gladhorn
08fd2a724d Remove outdated comment
Change-Id: I4d662318acf072ce9cbfd9c024f5316a0617f2e6
Reviewed-by: David Faure <david.faure@kdab.com>
2014-07-15 11:04:24 +02:00
Friedemann Kleint
b62e22c1d9 Fix current directory setting in manual dialog test.
It was always constructing a QUrl from the string causing the warning
"Non-native QFileDialog supports only local files" with the
new QUrl-based implementations of getOpenFileUrl(), etc.

Change-Id: Idd9bb432a48865df137f8f39f53014dda150ffe9
Reviewed-by: David Faure <david.faure@kdab.com>
2014-07-15 10:40:40 +02:00
Kai Koehne
0fe2713e26 Improve QLoggingCategory example code in documentation
Don't use a qt.* category in the user documentation: These should be
reserved to Qt internal use, and also have special semantics (QtDebugMsg
by default off) that might lead to confusion.

Also, adapt the camel case naming convention for logging categories
defined by the macros. This was the (although somewhat controversial)
result of a recent discussion on the development mailing list.

Change-Id: Ic7162b47bb2d76550c766bc40dd65ce039e7e3eb
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
Reviewed-by: Alex Blasche <alexander.blasche@digia.com>
2014-07-15 10:01:29 +02:00
Olivier Goffart
3b0c2b7c1b Examples: Add Q_DECL_OVERRIDE to overridden functions
Q_DECL_OVERRIDE (which expands to 'override' for supported compiler)
helps to declare the intent (that it is an overridden function) and
force compilation error when there is no such virtual function in the
base class.
The examples should show the best practice of having it, as it may save
the programmer quite some time in case of change of API or typo in the
function name or arguments.

This change was done automatically with
clang-modernize -add-override -override-macros

And fixed MSVC compilation by removing inline for TorrentViewDelegate::paint

Change-Id: Ice66ae93fae571266f908703d5b8892b2c1ebb1a
Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@digia.com>
2014-07-15 08:44:44 +02:00
Axel Rasmussen
6d87e3ed40 Rename QPixelFormat enum value to avoid conflict with X.h.
This commit fixes a potential compile error where pixelformat.h would
not compile if X.h from x11proto was included first, since X.h #define's
GrayScale as an integer constant.

Task-number: QTBUG-40087
Change-Id: I7208a204259c6d3a13b5d0cbc98a76bb54b8b494
Reviewed-by: Jørgen Lind <jorgen.lind@digia.com>
2014-07-14 23:03:18 +02:00
Thiago Macieira
8e69a03921 Doc: update QCoreApplication to be clear that we don't support text UI
Change-Id: Icc032470629201668c085fd74725a2965f09eb47
Reviewed-by: Martin Smith <martin.smith@digia.com>
2014-07-14 21:41:44 +02:00
Jerome Pasion
d4cd55daa2 QDoc: Prevent QDoc from outputting the brief for example pages.
Example pages' \brief do not form a complete sentence. The example
pages have proper introductions and descriptions, unlike API pages
which do use the brief information to summarize.

Change-Id: I11f1362cd05e3cf90ae8e1c3a07d2584737fd89c
Reviewed-by: Martin Smith <martin.smith@digia.com>
Reviewed-by: Topi Reiniö <topi.reinio@digia.com>
2014-07-14 17:18:19 +02:00
Shawn Rutledge
3f47becec0 Merge "Merge remote-tracking branch 'origin/5.3' into dev" into refs/staging/dev 2014-07-14 16:44:12 +02:00
Kai Koehne
f6940a7081 QLoggingCategory documentation improvements
Change-Id: I9cc16d01f62d94fa3e7869bf9bb7734c774f82e3
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
2014-07-14 16:44:07 +02:00
David Faure
439ee03fc5 tst_qfiledialog: ease debugging of "directoryEntered not emitted".
It can happen when the sidebar only has only one item, due to
"My Computer" being missing.

Change-Id: I2b38fef45139f1dfa20d88059e56185c3163a833
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
2014-07-14 12:02:34 +02:00
David Faure
564eaa6640 tst_qfiledialog: extend reject-test to test getOpenFileNames etc.
So that this method is at least called once in the test :)

Change-Id: I3b5fc6b7c464d9e56264c709cfa313d475004207
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
2014-07-14 12:02:20 +02:00
Friedemann Kleint
eb66916082 Fix some compiler warnings in benchmark tests.
main.cpp(332) : warning C4307: '*' : integral constant overflow
tst_qpainter.cpp(1293) : warning C4305: '+=' : truncation from 'double' to 'float'
tst_qpainter.cpp(1474) : warning C4305: '+=' : truncation from 'double' to 'float'
tst_qtbench.cpp(155) : warning C4267: 'initializing' : conversion from 'size_t' to 'int', possible loss of data
main.cpp(68) : warning C4189: 'fontHeight' : local variable is initialized but not referenced

Change-Id: If6aadd50df7c5cf7d0f33791c9247730a47ddd27
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
2014-07-14 10:55:55 +02:00
Frederik Gladhorn
7c495cfea9 Merge remote-tracking branch 'origin/5.3' into dev
Conflicts:
	src/gui/text/qfontengine_qpf2.cpp

Change-Id: Ib04f92c41d0edd55d3aef8fb1708d917fba0f2a8
2014-07-14 10:35:51 +02:00
Friedemann Kleint
a55b01e038 Stabilize tst_QMenu::statusTip().
Instantiate the timer on the stack to prevent it from
interfering with other tests.

Change-Id: I91ffe23b502fcddaeb6d6d3f89ea3d27b083cdb0
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
2014-07-14 10:30:48 +02:00
Christian Strømme
b61ee210e6 Android: Simplify the jni code in QtAndroidClipboard
Let the QJNI classes manage the jni environment and cache the jni
handles. This lets us lazily cache the jni handle until we actually
need them.

Change-Id: Iced91e7cab19bdcab8581e94c6f2dd766fed47ed
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@digia.com>
2014-07-14 02:25:29 +02:00
Christian Strømme
1220a87f8a Android: Simplify the jni code in QAndroidPlatformServices
Remove the use of QtAndroid::AttachedJNIEnv and lazily cache
the openURL() methodID on first use.

Change-Id: I601d13bc7d644d7cb2f78655ad40c7d9566cf3cb
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@digia.com>
2014-07-14 02:24:57 +02:00
Christian Strømme
c4b1fffb22 Android: Update QSslSocketPrivate::fetchSslCertificateData()
Replaces the raw jni calls with our own jni wrappers. This allows us
to make use of the centralized cache, avoid global data storage and
use a more optimized way to attach to the jni environment.
This change also removes the JNI_OnLoad() function since it's not
used. If we need to add a JNI_OnLoad() function later, we should find a
more suited place for it.

Change-Id: Id84ead10c27d03d19c160304b1f9853b381a103c
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@digia.com>
2014-07-14 02:24:36 +02:00
Jędrzej Nowacki
607462019a Speedup qDebug() << QDate(...)
We really do not need to do string parsing there.

Change-Id: Ie2277d9ff0d0445285b7108023941af111d9baca
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2014-07-14 00:11:35 +02:00
Olivier Goffart
b6bce68a64 Logging: fix support for %{time format} in QT_MESSAGE_PATTERN
This revert commit de1d5815c1 which
wrongly fixed a typo. There is no typo because we use startsWith
with that constant.

Also added a test because the %{time} support was added in commit
93563952d0 but the test was missing

Change-Id: Ic96e6f21f989ca3a2905ec6c89b93d2627b77b40
Reviewed-by: Shawn Rutledge <shawn.rutledge@digia.com>
2014-07-13 18:20:42 +02:00
Olivier Goffart
9bb493e724 tst_qlogging: put the test for QT_MESSAGE_PATTERN in a data function
Change-Id: I9130b91dfe6bf1ee22431a423ec2d2f9ad62144a
Reviewed-by: Shawn Rutledge <shawn.rutledge@digia.com>
2014-07-13 18:20:38 +02:00
Giuseppe D'Angelo
e7665fd8e4 Revert "QRegularExpression: lock a mutex only if there's actual work to do"
Blunder -- two threads may step into this method together,
both see not studied, and both study (with one leaking its study data).

This reverts commit 5fbd787cf9a72621d66604a4898f06ea4365226e.

Change-Id: Ia746925abcad1e43adf4f6f1d495b018de022b07
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
2014-07-13 17:07:52 +02:00
Olivier Goffart
12a4db710e Revert "Session management for OS X"
Broke tst_QMenu::statusTip by closing the menu while it should not. (and therefore, a QTimer::singleShot that fires while following test are running is making the test fail)

This reverts commit 50c04d6318.

Change-Id: Ib4ef8190f945b915fe268745cc64d471994c5e2d
Reviewed-by: Richard J. Moore <rich@kde.org>
2014-07-13 13:48:19 +02:00
Thiago Macieira
d88e4edcd5 Work around ICC bug in brace initializations containing constexpr
ICC miscompiles this:

struct Inner { int i; constexpr Inner(int i) : i(i) {}};
struct Outer { Inner i; };
const Outer x = { -1 };

(Inner = QBasicAtomicInt; Outer = QtPrivate::RefCount, then again for
QListData::Data)

We expect x to be placed in read-only memory and require no load-time
constructor. ICC unfortunately does not do that. By adding a constexpr
constructor to Outer, it starts behaving like we expect it to, but falls
apart again if you do "const Outer x[]" (the QArrayData statics).

The solution is to probably make the varaibles constexpr too, but that's
a job for the development branch.

Intel issue Id: 6000056211
Intel bug: DPD200534796
Change-Id: Ie9fb5428106486254b7329403890754f300d58c1
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2014-07-12 17:36:46 +02:00
Nico Vertriest
b6d50e2aa6 Doc: edited qtxml.qdocconf
Added dependency for Qt Widgets

Change-Id: I36fbec0738f5671a07b9dd18fc4487573c560cd2
Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
2014-07-11 13:45:54 +02:00
Shawn Rutledge
5c92d21cce xcb: QTabletEvents and proximity events correctly identify the tool
The tool is enum TabletDevice reported in QTabletEvent::device().
Each type of tool for each type of tablet has an ID which needs to
be mapped to this enum.

The meaning of the AbsWheel valuator depends on the tool type:
an airbrush sends tangentialPressure in the range -1..+1,
whereas an Art Pen (RotationStylus) sends rotation in degrees.

Because the evdev driver sends valuator changes individually, we
have to store the current value in each TabletData::ValuatorClassInfo
to ensure that each QTabletEvent has complete state information.

[ChangeLog][Platform Specific Changes][X11 / XCB] QTabletEvents
and proximity events correctly identify the tool in use; the
meaning of certain valuators depends on the tool; and the valuators'
current values are not lost between events

Task-number: QTBUG-39666
Task-number: QTBUG-39573
Task-number: QTBUG-39570
Change-Id: I6be242ee57e2ad0848060e04f20c0dd08954a734
Reviewed-by: Frederik Gladhorn <frederik.gladhorn@digia.com>
2014-07-11 11:10:51 +02:00