Commit Graph

20798 Commits

Author SHA1 Message Date
Morten Johan Sørvig
ddf3fc0deb Indicate that QTestLib is running
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>
2014-10-24 20:41:20 +02:00
Pierre Rossi
929509ea03 QStyleSheetStyle: Don't interfere with QFontDialog
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>
2014-10-24 16:59:26 +02:00
Jędrzej Nowacki
8c4deff51c Fix QVariant associative container conversion from built-in types.
Task-number: QTBUG-41403
Change-Id: I9dab0f9450cac11678eb6d20abd2dd08e86e0900
Reviewed-by: Stephen Kelly <steveire@gmail.com>
2014-10-24 16:27:42 +02:00
Olivier Goffart
6e1718987e QObject: use QDebugStateSaver in the QDebug operator<<
Also remove the ending space if the object is null

Change-Id: Ieb2bb903de35b4e339c812cd07555b5d108d118b
Reviewed-by: Kai Koehne <kai.koehne@theqtcompany.com>
2014-10-24 16:17:58 +02:00
Gabriel de Dietrich
9c92a18b97 QCoreWLanEngine: Remove OS X 10.6 version
Snow Leopard support is dropped in 5.4.0.

Change-Id: I7f13735fe5dc8ed3051d918feb7b5600a72c3493
Reviewed-by: Jake Petroules <jake.petroules@petroules.com>
2014-10-24 16:02:31 +02:00
Allan Sandfeld Jensen
3fd2d9eff8 Update QSsl::SecureProtocols to not include Sslv3
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>
2014-10-24 12:46:26 +02:00
Leena Miettinen
88e7a4f661 Doc: QFileDevice and QFile::setPermissions do not manipulate ACLs
Task-number: QTBUG-41271
Change-Id: Id97add8a6fdb7ce59020e833f6dc11744c9aaa7e
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
2014-10-24 12:00:37 +02:00
Eskil Abrahamsen Blomfeldt
c4430ed023 Correctly update QComboBox appearance on editable change
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>
2014-10-24 08:51:18 +02:00
Eskil Abrahamsen Blomfeldt
29d3b9745b Item view: Update item positions when delegate changes
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>
2014-10-24 08:51:11 +02:00
Morten Johan Sørvig
0f644f4853 Cocoa: Prevent FrameStrutMouseEvent double-clicks
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>
2014-10-24 08:45:13 +02:00
Morten Johan Sørvig
f08e6511bb Cocoa: Bring back qt_mac_set_raise_process
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>
2014-10-24 08:44:57 +02:00
Morten Johan Sørvig
a38ecb4c67 Cocoa: Don't send FrameStrut events during drags
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>
2014-10-24 08:44:48 +02:00
Morten Johan Sørvig
4d7e587a78 Don't flush user input events from setVisible
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>
2014-10-24 08:44:44 +02:00
Morten Johan Sørvig
b79ba9eade Cocoa: Fix trackpad scrolling modifiers.
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>
2014-10-24 08:44:17 +02:00
Allan Sandfeld Jensen
3272ef4aaf Respect NoSubpixelAntialias in QCoreTextFontEngine::imageForGlyph
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>
2014-10-24 08:19:24 +02:00
Allan Sandfeld Jensen
624740cdcd Fix printing of semitransparent images to PDF
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>
2014-10-24 08:19:08 +02:00
Paul Olav Tvete
2bfee10f3a QMainWindow: respect the maximum size of the central widget
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>
2014-10-24 07:54:36 +02:00
Paul Olav Tvete
77339e6bbf Doc: warn about preserving input method hints
Task-number: QTBUG-41252
Change-Id: I8ea2094c440b3c78b4bc78a69a5f6b18533e4927
Reviewed-by: Venugopal Shivashankar <venugopal.shivashankar@digia.com>
2014-10-24 07:54:12 +02:00
Friedemann Kleint
89ae5c03a2 Fix MSVC warnings about integer conversions in ODBC driver.
qsql_odbc.cpp(360) : warning C4267: '=' : conversion from 'size_t' to 'int', possible loss of data
qsql_odbc.cpp(380) : warning C4267: 'initializing' : conversion from 'size_t' to 'int', possible loss of data
qsql_odbc.cpp(2052) : warning C4267: 'argument' : conversion from 'size_t' to 'SQLSMALLINT', possible loss of data
qsql_odbc.cpp(2070) : warning C4267: 'argument' : conversion from 'size_t' to 'SQLSMALLINT', possible loss of data
qsql_odbc.cpp(2096) : warning C4267: 'argument' : conversion from 'size_t' to 'SQLSMALLINT', possible loss of data

Task-number: QTBUG-39388
Change-Id: Ie97d9e968d5c7b013b0d364c64175aa9b329ae97
Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
2014-10-24 07:50:23 +02:00
Friedemann Kleint
dc58c6be47 Remove non-UNICODE code branches from ODBC plugin.
Task-number: QTBUG-39388
Change-Id: If22876454547098dd00e477c0593da7c4be0e803
Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
2014-10-24 07:48:31 +02:00
hjk
497f0af1f7 Add some tools specific consistency tests
This upstreams parts of Qt Creator's tst_offset test to serve as
an early warning system by testing private implementation details
that are used in Qt Creator's data structure "pretty printing"
facility.

While the tested implementation details can be changed without
breaking binary or source compatibility, downstream tools like
Qt Creator depend on them.

If this test breaks, you are kindly asked to coordinate with the
downstream stakeholders to avoid tool breakage.

Change-Id: I1286efcec9bef105f80c2163a4f66f5c43f3a218
Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
2014-10-24 07:18:44 +02:00
Lorn Potter
575008ec81 Fix bogus error report when disconnect/stop actually works
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>
2014-10-24 06:37:54 +02:00
Louai Al-Khanji
55be75c969 eglfs: Add better configuration support to KMS hooks
This patch improves the configurability of the KMS hooks. Support is added
for a json config file. The file can be used to specify the device to use,
whether pbuffers are supported, whether HW cursors should be used and the
mode to use per output.

The path to the configuration file is specified through the
QT_QPA_EGLFS_KMS_CONFIG environment variable.

The output initialization code is significantly changed and now closely
matches Weston's drm compositor setup code. We now track which crtc's and
which connectors are already in use for more robust output setup.

Importantly, it is now possible to turn off undesired outputs as well as
select the mode to use on outputs. The configuration syntax is similar
to Weston's config file, and the following settings are supported per
output:

 off, preferred, current, WIDTHxHEIGHT, modeline

Unless the output mode configuration matches "off", "preferred" or "current"
exactly, it is first attempted to parse the mode as WIDTHxHEIGHT, after
which it is attempted to parse the mode as a modeline. The modeline parsing
code is very closely modeled after the parsing code in Weston.

If an output mode cannot be parsed the default fallback is preferred mode.

The defaults for all settings are as follows:
 device: unless specified, the first device found through QDeviceDiscovery
 hwcursor: true
 pbuffers: false
 outputs: empty

An example configuration file might look as follows:

{
  "device": "/dev/dri/card1",
  "hwcursor": false,
  "pbuffers": true,
  "outputs": [
    {
      "name": "VGA1",
      "mode": "off"
    },
    {
      "name": "HDMI1",
      "mode": "1024x768"
    }
  ]
}

Change-Id: Ibe1e446c44a014ae8c7cbd8173a060ca862c2bc8
Reviewed-by: Risto Avila <risto.avila@theqtcompany.com>
Reviewed-by: Laszlo Agocs <laszlo.agocs@digia.com>
2014-10-24 05:46:58 +02:00
Louai Al-Khanji
70b96c525d eglfs: Add various debug prints to KMS hooks
Change-Id: Ib0284601fa4ce2912312999190e4a1e2dc2afe42
Reviewed-by: Risto Avila <risto.avila@theqtcompany.com>
Reviewed-by: Laszlo Agocs <laszlo.agocs@digia.com>
2014-10-24 05:46:54 +02:00
Friedemann Kleint
d6d3841e71 Improve QDebug formatting of QtSql classes.
Fix quoting/spaces, introduce QDebugStateSaver, add missing fields
of QSqlField.

Task-number: QTBUG-39388
Change-Id: Id397f9e79f4d4d2bb5c903cd96bf2c27f8e1b7c3
Reviewed-by: Kai Koehne <kai.koehne@theqtcompany.com>
2014-10-23 21:15:40 +02:00
Friedemann Kleint
88057e3407 QSwipeGestureRecognizer: Fix gesture cancel on direction change.
Task-number: QTBUG-12736
Change-Id: I6d8d09843b45df17cb9158070f63b3397c5b4c07
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
Reviewed-by: Frederik Gladhorn <frederik.gladhorn@theqtcompany.com>
2014-10-23 21:14:23 +02:00
Friedemann Kleint
68d83e82f8 Add autotest for QGestureRecognizer.
Task-number: QTBUG-12736
Task-number: QTBUG-15768
Task-number: QTBUG-40461
Change-Id: Ib6dfaa9336f615e17d41444f7aa686cb93d04fca
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
Reviewed-by: Shawn Rutledge <shawn.rutledge@digia.com>
Reviewed-by: Alex Blasche <alexander.blasche@digia.com>
2014-10-23 21:11:28 +02:00
Jocelyn Turcotte
ab79e832e6 Do not parent the shader program to the QOpenGLContext
When the last QOpenGLContext in a share group is destroyed, all the
remaining alive QOpenGL* objects have their resource invalidated.

This happens under QOpenGLContext::destroy, but before any QObject
children of the QOpenGLContext is destroyed by the QObject destructor.
This is currently an issue with ANGLE that could be fixed in its own
code, but that is still better for us to be covered against.

This means that the OpenGL resource is assumed to be destroyed with
the context by the driver, but this isn't always the same.

Fix an instance of this in QOpenGLTextureGlyphCache by explicitly
owning the blit QOpenGLShaderProgram instead of parenting it under
the current GL context. The very same resource invalidation system
will prevent anything bad to happen if the QOpenGLContext is
destroyed before the QOpenGLTextureGlyphCache.

Task-number: QTBUG-41588
Change-Id: Ic3bc69b07bcbdcf7d699ea9139b2e34b04e642e5
Reviewed-by: Laszlo Agocs <laszlo.agocs@digia.com>
2014-10-23 18:13:12 +02:00
Laszlo Agocs
c1fc540273 Further restrict the threaded opengl example
Mesa llvmpipe (e.g. the opengl32sw.dll we are shipping) cannot
handle threading either.

Change-Id: Id822736c4a9eef39e56776dcd1f398fc31ebc0f4
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
2014-10-23 18:11:08 +02:00
Laszlo Agocs
feaa1e6373 Add missing since info to ShareOpenGLContexts docs
Change-Id: I5e42cfd520ab65f7dbeecf152861f977011fe6f9
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
2014-10-23 18:11:03 +02:00
Laszlo Agocs
0b0746355c Fix software OpenGL DLL name in the enum docs
Change-Id: I85c664914a391002afbda0fe203c90397b0bb5c2
Reviewed-by: Kai Koehne <kai.koehne@theqtcompany.com>
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
2014-10-23 18:10:59 +02:00
Laszlo Agocs
876a428f60 Cocoa: avoid sending exposes too early
Expose events trigger backing store sync and thus paint events
on QGLWidgets. Sending the exposes too early may lead to failures
in the OpenGL calls. Sending exposes before even getting to calling
setVisible(true) in QWidget::show() is just wrong.

Task-number: QTBUG-36802
Change-Id: Ic7d5125f4e257d715009811217e453d79d0fcc7c
Reviewed-by: Gunnar Sletta <gunnar@sletta.org>
2014-10-23 18:10:53 +02:00
Andy Shaw
591bce8f68 Get the correct available resolutions from the printer
On Windows the resolutions are available in pairs so get the y
resolution from each pair as the y resolution is the one that is actually
useful in QtPrintSupport terms

Task-number: QTBUG-42007
Change-Id: I02c0588dd97c541e679f22431435751563caadb2
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
2014-10-23 17:24:06 +02:00
Andy Shaw
04912b6a3b Don't use cosmetic GDI pens as this is already accounted for
Since Qt will already handle the cosmetic case when rendering then it
should be respected instead of overriding it by using the cosmetic GDI
pen. This ensures that the pen's width is used and also the color of the
pen.

Task-number: QTBUG-33611
Change-Id: I2719311b3fb5480a5b228c0d415aa545967321cf
Reviewed-by: Jan Arve Sæther <jan-arve.saether@theqtcompany.com>
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
2014-10-23 17:23:56 +02:00
Kai Koehne
15377a6927 Doc: Fix description of QTranslator::translate()
If the translations are incomplete it's actually not ensured that a
translation without disambiguation is used: lrelease will drop the
disambiguation from one of the identical messages if there is no message
which actually has no disambiguation ...

Task-number: QTBUG-30471
Change-Id: I1787f5c401a7afb964acbf8a8609ba328c8140a9
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
2014-10-23 17:12:54 +02:00
Kai Koehne
a133cea211 SecureSocketClient: Show general connection errors
So far the example didn't show any errors when the connection to the
server couldn't be established (e.g. because the host/port number was
wrong, but also because the SSL handshake already failed).

The fix shows a modal error dialog in this case.

Change-Id: Ia517bf79c5fb2ccdb1edabded28f86759f3e6dcf
Reviewed-by: Richard J. Moore <rich@kde.org>
2014-10-23 17:12:48 +02:00
Kai Koehne
343d538727 Check '-I' directories for auto-detection of features
This allows e.g. openssl/openssl.h to be auto-detected if the include
directory is passed via -I.

Change-Id: Ib1d08ab2b7f98b4c08b7d6b66d55a55796f6802d
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
2014-10-23 17:12:44 +02:00
BogDan Vatra
8057912915 Android: Remove duplicate code, use pre-calculated variable
Change-Id: I66a7dd2aa9fa67a639b0573641b6bb01ead18d07
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
2014-10-23 08:54:26 +02:00
BogDan Vatra
f81e76da1e Allow QtCreator to pass additional args and env vars to the application.
We need them to allow developers to easily pass args and env. vars like
QSG_RENDER_TIMINGS, QSG_VISUALIZE to theirs apps.
The env vars and params must be base64 encoded!

Change-Id: I1d781873ffdc6efd40b30543a9fd2514bbdede43
Reviewed-by: Paul Olav Tvete <paul.tvete@digia.com>
2014-10-23 08:53:58 +02:00
Marko Kangas
3056b825bd Fix styled vertical dockwidget title cut off bug and elide text if long
Change common stylesheet to elide text correctly for both direction.

Change-Id: I045f6f74733ca8fa67b3e4fbb9d3845a1bea777d
Task-number: QTBUG-41466
Reviewed-by: Jens Bache-Wiig <jensbw@gmail.com>
2014-10-23 08:30:32 +02:00
Marc Mutz
c399e4b7ea Q{Sequential,Associative}Iterable: fix const_iterator assignment
The code didn't properly clean up the current state before
assigning the new state.

Change-Id: If56cf43bace976203ff186759b2a81705b2b22d2
Reviewed-by: Stephen Kelly <steveire@gmail.com>
Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@digia.com>
2014-10-23 08:28:00 +02:00
David Schulz
80ebedecf9 Run VS custom build step in new environment variable scope.
Task-number: QTBUG-32366
Change-Id: I99161b23e3d323fd88766ebe83c8bbfc1d50944e
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
2014-10-23 08:04:13 +02:00
Jan Arve Saether
bf200fc948 Adjust the layout if a QGraphicsWidget is explicitly hidden
Since layout items can now be hidden, this also makes sure we respect
the QSizePolicy::retainSizeWhenHidden

Task-number: QTBUG-20132
Change-Id: Iab59fc9b61d4ca1bb2208c479a027da6eb0283a9
Reviewed-by: Paul Olav Tvete <paul.tvete@digia.com>
2014-10-23 07:17:50 +02:00
Axel Rasmussen
e5c1572e7e Fix uninitialized value warning in QFontEngineFT.
When running an application which called e.g. QPainter::drawText under
Valgrind, it would produce "Conditional jump or move depends on
uninitialized value(s)" warnings, since we were allocating a buffer for
a FreeType bitmap without initializing its contents. FreeType,
apparently, does not set the value of all bytes in a bitmap buffer when
it is used as a FT_Bitmap, so we were left with some uninitialized
memory which was still being used.

This commit fixes these warnings, and prevents any potential undefined
behavior.

[ChangeLog][QtGui][General] fixed use of uninitialized memory in the
FreeType font engine

Change-Id: Ia7b3595c78310ce41f76cb4546fc36016c0000a8
Reviewed-by: Konstantin Ritt <ritt.ks@gmail.com>
2014-10-23 07:09:33 +02:00
Friedemann Kleint
c30ccb0ecd Fix title font of Vista-style wizards.
Reverse invalid check.

Task-number: QTBUG-41878
Change-Id: I05015407e5cfad94aca65594962b897a1d0a0cbd
Reviewed-by: Alessandro Portale <alessandro.portale@digia.com>
2014-10-23 06:34:26 +02:00
Friedemann Kleint
ed0245e145 Fix QWidget::mapTo/FromGlobal() when embedded in QGraphicsView.
Map the positions via QGraphicsScene and the first QGraphicsView
(as is done in existing code). Fall back to the previous code
path when no QGraphicsView exists, which is hit in the tests.

Change-Id: I0754765d05cded6bc1b64045f2513fef8afde337
Task-number: QTBUG-41135
Reviewed-by: Frederik Gladhorn <frederik.gladhorn@theqtcompany.com>
2014-10-23 06:33:10 +02:00
Christoph Schleifenbaum
f3699510d4 Cocoa: Fix icon size calculation for system tray.
The Overall goal is to make it possible to use correctly-
sized pixmaps in a predictable way, while still doing
something reasonable with small and large pixmaps.
(The recommended pixmap height is up to 18 points.)

Enable use of rectangular icons by selecting pixmaps
based on pixmap height.

Draw a low-resolution pixmap on retina displays if
there is no high-resolution pixmap available. Scale
large pixmaps to fit the available menu bar area.

Add a manual-test with various pixmap sizes

Task-number: QTBUG-33441
Change-Id: I1926181fe27cae526bae58022df3240bae9f8ac8
Reviewed-by: Morten Johan Sørvig <morten.sorvig@digia.com>
Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@theqtcompany.com>
2014-10-22 23:32:17 +02:00
Morten Johan Sørvig
ad66fa0dc1 Cocoa: Delay QMimeData requests for DnD events.
We were delaying the conversion from Qt to OS X types,
but not the data request to the application.

Introduce "Eager" and "Lazy" pasteboard promises:

Eager promises request the application data immediately
and can continue to use the existing commit-promises-
on-app-exit logic. Eager promises are the default
type and will be used for copy/paste.

Lazy promises delay requesting the data from the application
for as long as possible, specifically until when 
promiseKeeper() is called. Lazy promises are used for
drag-and-drop and are not committed on application
exit.

This brings OS X DnD behavior in line with the 
Windows behavior.

[ChangeLog][OS X] Drag-and-drop QMimeData requests are
now delayed until drop time.

Task-number: QTBUG-31301
Change-Id: I8ddbba41593251f4c0c49c29492dce990066e20d
Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@theqtcompany.com>
2014-10-22 23:31:35 +02:00
Ruslan Nigmatullin
449b62ed43 XCB: Don't trigger less specific shortcuts
Without this patch some keycodes like Ctrl+Shift+= may generate several
similar key sequences like Ctrl++ and + but only more specific keys
should be returned by QXcbKeyboard::possibleKeys.

Task-number: QTBUG-38137
Change-Id: I23f6522eefaa3b83cfa639f76bdc6a19b450c6f9
Reviewed-by: Gatis Paeglis <gatis.paeglis@digia.com>
2014-10-22 23:18:00 +02:00
Morten Johan Sørvig
047f4c4d79 Further limit the sparse file testing on OS X
At 4GiB the CI test system still spends a considerable
amount of time testing this. Tune the size down to
16 MiB.

Change-Id: I417aa6829fcc734e5de4d7d34e503190f6b291e5
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
2014-10-22 23:00:41 +02:00