QGtkStylePrivate::setupGtkWidget() cannot use a local static variable
for the container, but it must insert it to the GTK widget map together
with all other GTK widgets. The container is destructed as a GtkWindow
child in the Qt post routine QGtkStylePrivate::destroyWidgetMap().
Task-number: QTBUG-41145
Change-Id: If1fda372ed1227edc779fa4951cbd6fbf6038499
Reviewed-by: Andy Shaw <andy.shaw@digia.com>
Reviewed-by: Dmitry Shachnev <mitya57@gmail.com>
Reviewed-by: Jens Bache-Wiig <jensbw@gmail.com>
Reviewed-by: Shawn Rutledge <shawn.rutledge@digia.com>
Shortcut handling with non-latin keyboard layouts
were broken for checks like:
QKeyEvent key = ...;
key == QKeySequence::SelectAll
In Qt4 this was handled transparently when getting
keysym from XLookupString. When ctrl modifier was set,
XLookupString performed "keysym transformation" to obtain
a latin keysym. Still this did not solve the non-latin
shortcut issues for all cases due to some of Xlib
assumptions which could not be controled by user.
This patch implements XLookupString-like behavior
in lookupLatinKeysym(). It is not a 1-to-1 copy of how
XLookupString perfoms latin keysym lookup, but it
serves our needs just fine. lookupLatinKeysym() also
handles the cases that did not work in Qt4 with
XLookupString, thanks to libxkbcommon keymap query API.
And lookupLatinKeysym() replaces the fragile implementation
of "fallback latin key" code path in possibleKeys().
Done-with: Ruslan Nigmatullin
Task-number: QTBUG-33182
Task-number: QTBUG-32274
Change-Id: I56a5b624487ca6c2c3768220301a37dac39b439a
Reviewed-by: Ruslan Nigmatullin <euroelessar@yandex.ru>
Reviewed-by: Shawn Rutledge <shawn.rutledge@digia.com>
Replace the boolean 'started' member by an enumeration which indicates
the startup phase. While in that phase, do not cancel when pressed
points are detected for fewer than 3 touch points.
Task-number: QTBUG-15768
Change-Id: Ic57b19e3002392fb632f551f615d80ada9831d34
Reviewed-by: Shawn Rutledge <shawn.rutledge@digia.com>
This fixes the "expose event received for window
with invalid geometry" warning from Qt Quick. The
window's current screen is now up to date when
processing the expose event.
Change-Id: Ia5c83e34154182699ec587835f9063809d819d7d
Reviewed-by: Laszlo Agocs <laszlo.agocs@digia.com>
The CFNumberGetValue() function does not work as advertised: For some
(but not all) CFNumbers containing a long long value outside the range
of int, it returns true when asked to convert to an int, so the wrong
value is extracted from the CFNumber.
As a workaround, use CFNumberGetType() to find out whether the value
is actually an int.
Task-number: QTBUG-42017
Change-Id: Ib95395491d0db61d2bdc0f058a6a2f6be05da432
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Reviewed-by: Eike Ziller <eike.ziller@theqtcompany.com>
Since commit be0bfe09ee we return -1 in
QTextEngine::findItem if the item cannot be found.
Calling code must be prepared for this case.
Otherwise we run into an out-of-bounds vector access later on.
Task-number: QTBUG-42103
Change-Id: Ie338cd1fc3cf0ce1e8edfa59dead635669020a33
Reviewed-by: Konstantin Ritt <ritt.ks@gmail.com>
This fixes a compilation issue with X-MinGW builds and
is more appropriate here.
Change-Id: Id97e387c6e22a2c09d2f4dda35ce1bed2831fffe
Reviewed-by: Kai Koehne <kai.koehne@theqtcompany.com>
Do not automatically add a \n to all messages formatted by
qFormatLogMessage. Some backends require a final newline,
some don't, so it's best to only append it where it's actually needed.
The returned string will be null if the pattern is empty. This allows
to differentiate between the case that the pattern just didn't apply
(empty line is printed), and the case that qSetMessagePattern(QString())
have been called (nothing is printed).
Change-Id: I17fde997a4074f58f82de6dea129948155c322d6
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
Reviewed-by: Alex Blasche <alexander.blasche@digia.com>
The common format for lock files is to only contain the PID.
(See http://www.pathname.com/fhs/2.2/fhs-5.9.html)
Qt includes some extra information but we can not expect this
information to be present. Otherwise lock files created by other
(non-Qt) processes are not handled correctly.
Change-Id: Ib9be3c9f07eb8e87193f56d96f5559bbdd5180b8
Reviewed-by: David Faure <david.faure@kdab.com>
1. If the interface used by a configuration changes, remove the whole
configuration and replace it with a new one (instead of updating it).
While this isn't intuitive, this is the exact behavior we used to have
on android when using the generic plugin...
2. Setting the session state to roaming is not correct in this context
as it's a transitional state where we should end up in connected state
(forced roaming). Before this patch we would get stuck in the roaming
state for mobile networks.
4. Use QNetworkInterface::name() instead of
QNetworkInterface::humanReadableName(), as this is the expected
value when querying the interface used.
3. Don't re-iterate through the interface list for each configuration.
Task-number: QTBUG-41832
Change-Id: I315f725434bc6a1a8dca13dffd41f606c87bd06d
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@theqtcompany.com>
This fixes QNetworkConfigurations when user:
- configures new AP
- deletes connection configuration
- switches wifi AP
Change-Id: I38c543c6de7b61f49d7ac96fa05f7a6fc4fba70f
Reviewed-by: Alex Blasche <alexander.blasche@digia.com>
The search state is used by VoiceOver on iOS to announce a search field.
Change-Id: I464125827dbbf275daf38104e26e9591bb23365a
Reviewed-by: Jan Arve Sæther <jan-arve.saether@theqtcompany.com>
The previously produced code was valid C++. Add the declaration
nevertheless to help people who want to use the switch in their
own code.
Task-number: QTBUG-42119
Change-Id: Ia47cf3930684474ff65e5cf37335d7d7f57a1d31
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
QLineEdit commits and hides QInputMethod on enter key press. When
Qt::ImhMultiLine input method hint is set, virtual keyboard is not
hidden.
Task-number: QTBUG-37850
Change-Id: I018351caa18bd2116665771e5f024a57182a01b9
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@theqtcompany.com>
[NSString lengthOfBytesUsingEncoding] only returns the number of bytes
required for the actual string, not including the zero terminator, so
when we then used cStringUsingEncoding to fill the malloced buffer with
data, we overwrote the byte after our buffer with 0, resulting in random
and hard to reproduce crashes at application startup, seemingly depending
on the application name.
Change-Id: I35d261bea5924e917475b0270bfa280bfb0c787a
Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@digia.com>
We should have more font weights in QFont::Weight to allow for
finer grained control.
For the time being, we can simply use intermediate weights to better
support the different font weights falling in between the ones
defined in QFont::Weight.
Also amend the documentation to clarify the fact that QFont supports
and can return weights falling outside the predefined values, which
is already the case (e.g. when using fontconfig).
Done-with: Gabriel de Dietrich
Change-Id: I693cdd48b8b77e7ed550cdf991227bcb819d8e7b
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@theqtcompany.com>
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@theqtcompany.com>
Add missing semicolon, include QtWidgets instead of QtGui and
use cast for a const pointer because the example with casting
relates to the code above where 'widget' is const.
Task-number: QTBUG-31736
Change-Id: I5cb6d33ec692deaf41e9a1be9e36e752a8da8739
Reviewed-by: Venugopal Shivashankar <venugopal.shivashankar@digia.com>
Replace "Apple Roman" by "Macintosh" which is registered by IANA:
http://tools.ietf.org/html/rfc1345.
Replace unsupported "GB18030-0" by "GB18030".
Remove "JIS X 0201" and "JIS X 0208" as they are supported as parts of
other Japanese encodings but not directly.
Add "HP-ROMAN8" which is supported by both Qt and ICU.
Also clean the codecs test.
Change-Id: Iaf8e8ff1900d3f92ea0e0df75c60fe1534de23ac
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
Substitute this encoding by "macintosh" when Qt is built with ICU.
It is for compatibility with Qt 4.x.
Change-Id: I70c51cba7d473ac81e25862736cb71a2f6894055
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
Removing and adding toplevel items could result in invalid stacking
order (not corresponding to insertion order).
Task-number: QTBUG-19316
Change-Id: Ia8646784a2181cfa936b101e2adaf7e7e73bb83d
Reviewed-by: Andreas Aardal Hanssen <andreas@hanssen.name>
Selection rectangle was incorrectly mapped to scene space when the
view was rotated. It became a rotated rectangle instead of the correct
polygon (rhombus).
Task-number: QTBUG-42008
Change-Id: Ib7b366bec7e1f83109e03c434268ad6897138f30
Reviewed-by: Thorbjørn Lund Martsum <tmartsum@gmail.com>
Add support to get/set the DuplexMode on Windows and Mac, improve the
CUPS duplex handling, ensure support is the same on all platforms.
[ChangeLog][QtPrintSupport][QPrinter] Added duplex support for Windows
and OS X.
Task-number: QTBUG-11332
Change-Id: I9d61d63233d828c3b1fd6df54072c6049f3c6298
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
Set QT_QTESTLIB_RUNNING=1 on QTestLib startup.
This allows Qt to adapt its behavior to the testing
environment, WHICH IS NORMALLY NOT SOMETHING YOU WANT
TO DO. Use with caution.
Change-Id: I31de80e7c2cc91ff1ed8137926e6b729ef6efdc6
Reviewed-by: Laszlo Agocs <laszlo.agocs@digia.com>
The sample lineedit in Qt's own font dialog shouldn't have its font
affected by stylesheets.
Not only does this hampers the ability to preview the font, it actually
overrides the font selection as that one is taken directly from the
widget.
Task-number: QTBUG-41513
Change-Id: I11d0bef8c7bf7bdae4cc08b6b9276d0fc14a75fb
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
Reviewed-by: Frederik Gladhorn <frederik.gladhorn@theqtcompany.com>
Snow Leopard support is dropped in 5.4.0.
Change-Id: I7f13735fe5dc8ed3051d918feb7b5600a72c3493
Reviewed-by: Jake Petroules <jake.petroules@petroules.com>
After the poodle vulnerability SSLv3 should like SSLv2 no longer be
considered safe, so when a user request a safe protocol we should
only allow TLS versions.
[ChangeLog][QtNetwork][QSsl] QSsl::SecureProtocols now also excludes SSLv3
Change-Id: If825f6beb599294b028d706903b39db6b20be519
Reviewed-by: Richard J. Moore <rich@kde.org>
The updateDelegate() function checks isEditable() which in
turn checks if d->lineEdit != 0, so we need to make the
call after the lineEdit has actually been set/unset, otherwise
the change to the delegate will not come until the next time
you update the delegate.
[ChangeLog][QComboBox] Fixed updating appearance of popup menu
when changing the editable state of the combo box.
Change-Id: Ib32f36cabd53c2c30d6256484a1eae131419960a
Task-number: QTBUG-33537
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
Reviewed-by: Mitch Curtis <mitch.curtis@digia.com>
In QComboBox, when you set editable to true on the QComboBox,
the delegates will change from QComboBoxMenuDelegate to
QComboBoxDelegate. In some styles, such as Fusion, the size
of the delegates will be different.
So when the delegate is updated, we need to redo the list view
layout, otherwise the items will be positioned based on the
size of the old delegates, but the popup for the combo box will
be sized for the new. This caused the popup to be too small for
its items and display a scroll bar.
[ChangeLog][QComboBox] Fixed positions of items when QComboBox
is set as editable in Fusion style.
Change-Id: Ia43ef96efbeee4d6d596c0674bf3898ef94f89a1
Task-number: QTBUG-33537
Reviewed-by: Mitch Curtis <mitch.curtis@digia.com>
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
A window may see drag events without corresponding
press/release events when dragging happens across
several native windows.
Handle NSLeftMouseDraged and NRightMouseDraged to
synchronize mouse button state.
Task-number: QTBUG-41609
Change-Id: Ieb66eb3460fc3cfd21e64c83ec1a28fe409af595
Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@theqtcompany.com>
In the form of an environment variable: QT_MAC_SET_RAISE_PROCESS.
The default value is "on".
Task-number: QTBUG-41569
Change-Id: Icf2e8818a6b126c7393ee022a1cab493fbc3a18e
Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@theqtcompany.com>
Check the (normal) button state and return early
if there is a pressed button.
Task-number: QTBUG-41609
Change-Id: I69d23f02e55627ca3e03f2466103e0952ff442b3
Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@theqtcompany.com>
Applications do not expect user input event delivery
during QCocoaWindow::setVisible.
The call to flushWindowSystemEvents still needs
to be here for proper expose event processing, but
we can at least exclude user input events.
Task-number: QTBUG-39842
Change-Id: Ibd511efef47eeda21831481ef096a82d7b5a9cf8
Reviewed-by: Jonathan Liu <net147@gmail.com>
Reviewed-by: Morten Johan Sørvig <morten.sorvig@digia.com>
We would reset the keyboard modifier state on
NSEventPhaseEnded, which meant that the state would
be NoModifier as soon as the fingers left the trackpad.
We want the modifier state to stay constant for the
duration of the gesture. Remove the "reset" code and
rely on setting currentWheelModifiers on NSEventPhaseNone
only.
Task-number: QTBUG-40197
Change-Id: I615aa5e1148b2b824f1a585bc042c9dbb3f1f250
Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@theqtcompany.com>
Adding handling of the new QFont enum NoSubpixelAntialias in
QCoreTextFontEngine::imageForGlyph.
Task-number: QTBUG-40396
Change-Id: I421c38554360f5e2f822a18117190456c4d04b25
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@theqtcompany.com>
Reviewed-by: Konstantin Ritt <ritt.ks@gmail.com>
The patch marks the image data to be inverted when a soft mask is used.
Without this any embedded image with semitransparent pixels would be
decoded with inverted colors.
Task-number: QTBUG-31540
Change-Id: Ia607f7c1acf542ecf3bc88d713dfd87785b43f40
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
Make sure the dock widgets get the available space when the
central widget cannot expand any more.
[ChangeLog][QtWidgets][QMainWindow] Dock widgets will now be resized
properly when the central widget has a fixed size.
Task-number: QTBUG-40410
Change-Id: Id06c07b79aa3102aa41212fa2c621f5fa426fe02
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
Reviewed-by: Jan Arve Sæther <jan-arve.saether@theqtcompany.com>
The interfaces serviceActive does not mean the network is connected, so
we get the next best thing - the interfaces associated ssid will be
empty if a previously connected AP is now disconnected.
Task-number: QTBUG-42087
Change-Id: I539811d9f18cc553a4022a03686fb8a864b98491
Reviewed-by: Alex Blasche <alexander.blasche@digia.com>