These will be needed in some template code that is to come.
Change-Id: I5b93f4320313f7b15a6404de2c98f85485735fda
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@digia.com>
Most of them were added before 5.0, but it's ok to just list as 5.0.
Change-Id: I6e83a210a0165659f710d47ed595e9e89d5dbac9
Reviewed-by: Martin Smith <martin.smith@digia.com>
Search again when a non-Qt window with WS_EX_TRANSPARENT set is found.
Task-number: QTBUG-40555
Change-Id: I3f53be626f52dc25429661ac8ea5e9f6bb163596
Reviewed-by: Björn Breitmeyer <bjoern.breitmeyer@kdab.com>
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
There is no need to allocate new string while a simple reference is
enough.
Change-Id: I137b58fc180fe9a7bff9d0f9e546ca04aa9f4696
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
Add build.gradle script, move Android template files to another folder.
These files are specific to every project, and they should be copied to
then project android folder.
Switching from Ant to Gradle brings lots of advantages:
- it is way faster when rebuilding (25-50% faster than ant).
- it enables first class Android Studio integration.
- adding Android Extras libs (e.g. Google Play services, OBB, etc.) to
your project is now painless.
[ChangeLog][Android] Added Gradle support to build the APK.
Change-Id: I9c8cb355118c9ac1997270c8b80916eca43fce4d
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@digia.com>
This is helpful to e.g. test an NTLM proxy.
The test server currently does not support NTLM; this test offers a
possibility to specify a proxy server via environment variables.
Change-Id: Iea94656d38424c1d932fc854d13ca15ca47cdd68
Reviewed-by: Richard J. Moore <rich@kde.org>
With SHA1 47b3ecf3f4 some tests got
commented out by accident. This re-enables those tests.
Change-Id: If9c7d8a672b66086895a0383fe87d3101fb146fb
Reviewed-by: Mitch Curtis <mitch.curtis@digia.com>
StartPage and EndPage are documented to return a non-positive value (0 or
less) when they fail, therefore it is not enough to check if !StartPage.
Checking if is 0 or less is more accurate.
Change-Id: Ia0ff43da4e4309ba0a5983e91a0ad583aad0a955
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
Lots of code depended on an indirect includes from qstringlist.h.
Change-Id: I33d0dce33d64302d6c0e49180cc1249b90ab27c5
Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
1. Use includes without module prefixes, as is the custom in examples.
2. No inline functions to make it more readable.
3. Pause animation on pressing P and document our signal connection a bit more.
Change-Id: I68dc3d4c74b639cf3fec17b63b7f49626db58bdb
Reviewed-by: Gunnar Sletta <gunnar.sletta@jollamobile.com>
On Linux at least the qopenglwindow example sometimes shows
"QOpenGLContext::swapBuffers() called with non-exposed window, behavior is undefined"
when closing the window and exiting the application. This patch avoids
this by not triggering repaints anymore when the platform window is destroyed.
Change-Id: I54bd41e5c1471f7cdfec89f8ec3be48d1438be39
Reviewed-by: Gunnar Sletta <gunnar.sletta@jollamobile.com>
When creating child widgets in the derived class' constructor, the screen
cannot be retrieved via window() since it still returns null. Handle this
case properly.
Change-Id: I65bf7f9c338ce8a3ddab8ad7886cfe2f1f253c82
Reviewed-by: Gunnar Sletta <gunnar.sletta@jollamobile.com>
Just like the recent fix for VAOs on iOS, where we might deploy a
GLES3-enabled binary on a GLES2-only system, the same issue is
potentially present for blitFramebuffer and renderbufferStorageMultisample.
Handle this properly.
Change-Id: I87268478f1de479dc2c106b46d6e9b84e866fcd5
Reviewed-by: Gunnar Sletta <gunnar.sletta@jollamobile.com>
If the calling thread changes when processing events, the dispatcher
will no longer have thread access and event processing will fail. This
can e.g. prevent new threads from being created. To remedy this, the
dispatcher object is re-fetched if the thread is changed.
Change-Id: I519cff521f9b84211db3f28a7a28b532de44a6a4
Reviewed-by: Oliver Wolff <oliver.wolff@digia.com>
Thanks to new features in ANGLE, the backing store implementation
complexity can be greatly reduced. By using ES3 framebuffer blit,
no shader code is required, and the shader loading code and blit shader
can be removed.
Change-Id: Iab3d915e279ad6468a75ef6257794f12acd8cb65
Reviewed-by: Oliver Wolff <oliver.wolff@digia.com>
i.e. make them support remote URLs.
To avoid code duplication, getOpenFileName/getSaveFileName/getExistingDirectory
are now implemented in terms of getOpenFileUrl/getSaveFileUrl/getExistingDirectoryUrl.
Change-Id: If409ac9ab72c2a65f04e2ef1dc28e7d47bbcd73c
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
Task-number: QTBUG-39215
Change-Id: I29120f5dcc97051705bc6ebacfa5843d8953810b
Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@digia.com>
Reviewed-by: BogDan Vatra <bogdan@kde.org>
This lets the Qt Quick Controls Android Style choose the appropriate
window background that is meant to be used with HW acceleration.
Change-Id: I65d6f9319d77364637460e7c4ebb7ea3f4d53f12
Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@digia.com>
Reviewed-by: BogDan Vatra <bogdan@kde.org>
The goal of this commit to make the code in the test work:
QCommandLineParser parser;
parser.addOptions({
{ "a", "The A option." },
{ { "v", "verbose" }, "The verbose option." },
{ { "i", "infile" }, "The input file.", "value" },
});
For this, QCommandLineParser needs a version of addOption that can
take a list of options. That's what addOptions() is for.
More importantly, the QCommandLineOption ctors mustn't be explicit.
OTOH, any implicit conversion from QString or QStringList to
QCommandLineOption is also undesirable.
To solve this dilemma, add new QCommandLineOption ctors that just
take one argument and are explicit, and make the existing ctors
implicit. In order to avoid ambiguities, remove the default values
of their resp. 2nd arguments. The new ctors are by intention not
\since 5.4, as they are completely transparent to the user.
Et voila, even better than getopt_long(3).
[ChangeLog][QtCore][QCommandLineParser] Added addOptions() method.
Change-Id: I5e779f3406cd0f6c8ec6ecbf6c8074af226de300
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
When re-install a package without uninstalling it first, a few files
are leftover from the previous installation which makes the debugging to
fail.
Change-Id: I603491668bcec2a6f8054951ea2dea806fcc4c88
Reviewed-by: hjk <hjk121@nokiamail.com>
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@digia.com>
Remove #ifdef Q_OS_MAC around devicePixelRatio code. We are planning
to make it available on other platforms.
Task-number: QTBUG-38858
Change-Id: I25230cb53ea1291095335ef5883b15087e44f6b8
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
When we create fallback fonts, we copy the fontdef of the main font, but
we need to update the family name to match reality, otherwise a QRawFont
created with the font engine will have the wrong family name. This is
already done in the default implementation of loadEngine(), but was missing
from the Windows implementation.
One large consequence of this was that when the distance field renderer
cloned the font engine (to change its size), it would clone it with the
wrong family name. When it later painted its glyph indexes, they would
of course refer to the wrong font (the fallback) so random characters
would appear.
[ChangeLog][Windows] Fixed using QRawFont with fallback fonts, e.g.
in the case of text rendering in Qt Quick.
Task-number: QTBUG-39172
Change-Id: Ic8fcd9dfc20ec7aadf0b47d4a80417f401f355fd
Reviewed-by: Konstantin Ritt <ritt.ks@gmail.com>
destroySurface() was not removing the native view as they are not
in the m_surfaces map.
Task-number: QTBUG-40159
Change-Id: Ib5457e0bd34141654fa47883f5e125d894b0bd05
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@digia.com>
Return true only if an activity was found for the intent.
Task-number: QTBUG-34716
Change-Id: I764caf1e8afa3b17b2d71f52873c17e5d834a956
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@digia.com>
calling callStaticMethod() with template type jlong, jdouble or
jboolean would cause the call to loop indefinitely.
Change-Id: I99caa576e761fdef623ece04e0779e4cf2535592
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@digia.com>
The docs for gtk_file_chooser_set_filename explain that if a file is
new, we should call gtk_file_chooser_set_current_name instead.
(But in that case it is necessary to set the directory separately.)
Qt doesn't make a distinction between a save dialog for saving a
new file vs. a dialog for re-saving an existing file, so it seems this
is the better way to do it all the time, since a save dialog would
most often be used for saving a new file.
Task-number: QTBUG-40573
Change-Id: I285e898fafc54ae39f09d564ca431a279a8f8919
Reviewed-by: J-P Nurmi <jpnurmi@digia.com>
Native dialogs are used whenever possible, not just when the dialog is
instantiated via the static function.
Task-number: QTBUG-36657
Change-Id: Ibad67114e67f8e2f9956037f8469542c72bfd8ea
Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
When showing an edit menu on touch platforms, you need to specify a target
rect for where to place the menu. The target rect is normally a rectangle
that encompasses the whole text selection. Using this information the OS
will place the menu so that is doesn't obscure the selection itself, or fall
outside the screen (or overlaps e.g the keyboard). Since we don't know the
size of the menu, or if the OS will end up placing the menu above or below the
pos we give it, we need to do it the correct way and forward the whole target
rect instead.
Change-Id: I638586e9d0dd14c430a22c403c6dce099192a075
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@digia.com>
dfde72e436 added debug support for
QWindowSystemInterface::TouchPoint, which is useful only near the
QPA interface; but in qtdeclarative it's useful to be able to log
individual touch points too.
Change-Id: I237d354d7018e6326e586ae3355c8aa6f781eff8
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
The enum GrayScale was renamed Grayscale without similarly changing the
helper class for the same enum.
Change-Id: Ie1b34a68654f22a843ce4cfc2ddc1bf06af8dea1
Reviewed-by: Axel Rasmussen <axel.rasmussen1@gmail.com>
Reviewed-by: Gunnar Sletta <gunnar.sletta@jollamobile.com>
We no longer support the maemo/meego platform, so we can remove the
specific code for that platform.
Change-Id: Ia7f0730eba2d96794b97b7ca4753f63a2d7bc2a8
Reviewed-by: Laszlo Agocs <laszlo.agocs@digia.com>
Reviewed-by: Robin Burchell <robin+qt@viroteck.net>
This property indicates that the current tab will change whilst dragging
over the tabbar
[ChangeLog][QtWidgets][QTabBar] Added changeCurrentOnDrag property.
Change-Id: Ib7d5a7613c9cd8432b84c523f66c02cd6c3c3c81
Reviewed-by: David Faure <david.faure@kdab.com>
QWidget::isVisible() is an inline call, but sizeHint() is a virtual function.
Use QSize operations to call each one only once.
Also reduces the number of q-> qualifications needed.
It must be noted that this change is not entirely behavior-preserving:
If sizeHint() returns a negative component, and the dialog is not
visible, resize() will be called with that negative component now,
instead of zero as was the case previously.
I believe this is not a problem, because the way sizeHint() is currently
implemented, the width cannot be less than 200 and for the height to be
negative, the sum of label, bar and button size hint height would need
to be negative, which is next to impossible.
Change-Id: Ie8ba110e193532921eb4732a0393a377e38d7f7e
Reviewed-by: David Faure <david.faure@kdab.com>
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
The code was used in five different places, time to centralize.
Change-Id: I32338bdae247169a180f59314c50a9b855cae5f0
Reviewed-by: David Faure <david.faure@kdab.com>
The same code was used in three methods. Collect it in one place.
Change-Id: I0e3bf14474590eb99e94d240aad8158fd8fbe033
Reviewed-by: David Faure <david.faure@kdab.com>
The "adoption" code is taken from setLabel().
Task-number: QTBUG-40503
Change-Id: Id512b28eb756b4a80e5701e599e2cbdf5346ff62
Reviewed-by: David Faure <david.faure@kdab.com>
This is not obvious since in some other classes with similar design subsequent
create() calls are ignored. In some others it results in a warning. In case of
QOpenGLContext it leads to recreating. Therefore it must be documented.
Change-Id: I16efa73ebae15b3ffc26832d8d5cc2cd5d0ed469
Reviewed-by: Gunnar Sletta <gunnar.sletta@jollamobile.com>
Tooltips may occur outside the widget area when it has mouse grab.
Task-number: QTBUG-40261
Change-Id: I68c1e28ad264fc5aaeb7d96273342f1d4bca8ce6
Reviewed-by: David Faure <david.faure@kdab.com>
QWindowsDragCursorWindow is a helper window used to display the drag
cursor when doing DnD by touch, in which case Windows hides the mouse
cursor. Base it on QRasterWindow and fix the size calculation for
device pixel ratio scaling.
Task-number: QTBUG-38858
Task-number: QTBUG-38993
Change-Id: I462ece3e5c8fe8be914e039ba391a28a77e0d771
Reviewed-by: Laszlo Agocs <laszlo.agocs@digia.com>
It isn't a thorough check of all the mutable methods for detaching, but a start.
Change-Id: I523fd30d3459186654e12fd25c384ed990ab7a00
Reviewed-by: J-P Nurmi <jpnurmi@digia.com>
As with many other implicitly shared classes, efficient move semantics
requires setting the d-pointer to nullptr, which then needs to be checked
for in the dtor and the copy assignment operator.
Change-Id: I654d181a1dfdd9a16e2f9fb96b57475cdd0b4561
Reviewed-by: J-P Nurmi <jpnurmi@digia.com>
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
-QDoc tried to autolink where it should not.
-The syntax looks much better in a code block than in a paragraph.
Change-Id: I21d08cbb1537186d09b52898d7b70a5c0794256c
Task-number: QTBUG-35019
Reviewed-by: Gunnar Sletta <gunnar.sletta@jollamobile.com>
This commit reverts c4cef6fae9.
The above fix for QTBUG-25958 (cloned in QTBUG-40219) is not
complete and introduces the regression QTBUG-30049.
Task-number: QTBUG-30049, QTBUG-25958, QTBUG-40219
Change-Id: I3c4b774dce06c13cb4e089f8413a7747cedfd212
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Read data into local variables and apply only after a check.
Task-number: QTBUG-40462
Change-Id: Id06060d0d5b0eafc2d303526a86d552ff5747a72
Reviewed-by: David Faure <david.faure@kdab.com>
QOffscreenSurface has to stay usable even after returning from app.exec().
Hence close()ing the underlying hidden window, that is used on platforms that
do not provide real offscreen surfaces, is wrong.
Normally all QWindows are closed (and thus destroy()'ed) when quitting the application,
meaning the the offscreen surface cannot be made current anymore after returning
from exec(). This is an unnecessary limitation and makes certain cleanup operations
impossible.
Backport of ba79f36cb1 from dev. This is necessary for
the 5.3 series too to avoid issues on exit in QQickWidget apps, on OS X in particular.
Task-number: QTBUG-40505
Task-number: QTBUG-39908
Change-Id: Iea1489378a18f29ff84ba8f13a6dad2d66d2b315
Reviewed-by: Gunnar Sletta <gunnar.sletta@jollamobile.com>