Commit Graph

6409 Commits (e2cdfd54c960a32b19a5faf76a68fb2e051d547a)

Author SHA1 Message Date
Andy Shaw 33b03d99cd Remove code that refers to PostgreSQL 7.2 or older
We haven't had support for anything older than 7.3 for a long time, so
this removes the code to save having to maintain it any further.

Task-number: QTBUG-644
Change-Id: If0635f3bef5138a00a0e77011a70f23d0bffda32
Reviewed-by: Robert Szefner <robertsz27@interia.pl>
Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
2017-12-01 10:52:32 +00:00
Gabriel de Dietrich 32326a4b3b macx-clang: Opt-in xcb QPA support with XQuartz
Enable xcb QPA plugin when XQuartz is available. This is done
in a single build, alongside the Cocoa version.

We delegate part of the configuration stage to pkg-config, so
this becomes a requirement. Ensure that

    PKG_CONFIG_PATH=/opt/X11/lib/pkgconfig:/opt/X11/share/pkgconfig

is in your environment, or pkg-config is properly set up.

Tested with the following configure options:

configure \
   -pkg-config \
   -fontconfig -system-freetype \
   -system-xcb -xkb -no-opengl \
   -qt-xkbcommon -qt-xkbcommon-x11

Change-Id: I2eb5a0491172368afc4c629c540cbef08580348d
Reviewed-by: Jake Petroules <jake.petroules@qt.io>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io>
2017-12-01 01:19:46 +00:00
Liang Qi c35342ffeb Merge "Merge remote-tracking branch 'origin/5.10' into dev" into refs/staging/dev 2017-11-30 12:57:22 +00:00
Andre de la Rocha 2c062546a2 macOS: Fix handling of multiple ampersands in menu items
If the text of a QAction in a menu item contained a sequence of multiple
ampersand characters, only one of them would be removed, which is
inconsistent with the way this situation is handled on Windows, where
every other ampersand is removed, which is also the way other widgets
such as tabs, buttons, etc. are handled on macOS and other platforms.

Task-number: QTBUG-63361
Change-Id: Ibd9a520afa37b3387f3b951a94a3c275742e7ad3
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@qt.io>
2017-11-30 12:54:00 +00:00
Liang Qi 87204c856a Merge remote-tracking branch 'origin/5.10' into dev
Conflicts:
	src/corelib/thread/qsemaphore.cpp
	tests/auto/network/access/qnetworkreply/tst_qnetworkreply.cpp
	tests/auto/widgets/itemviews/qtreeview/tst_qtreeview.cpp

Change-Id: Id35b535e88df63fdfe4007ea92ed4a39c4b6d707
2017-11-30 09:16:58 +01:00
Thiago Macieira 498ef7f9d7 Merge "Merge remote-tracking branch 'origin/5.10' into dev" into refs/staging/dev 2017-11-30 00:51:32 +00:00
Tor Arne Vestbø e434add2de iOS: Don't set background color when debugging window management
It will fill the view in some cases, obscuring what Qt draws.

Change-Id: I9ca00dddd829a28fb2cb3b009bfd3223f85ef7cb
Reviewed-by: Jake Petroules <jake.petroules@qt.io>
2017-11-29 00:27:12 +00:00
Tor Arne Vestbø 10b5954e22 iOS: Use environment variables for debug flags instead of QObject properties
The former is more idiomatic in Qt, and doesn't require
as much boilerplate to set up.

Change-Id: Idf03af4018611c8eb3b31af90da72f9d85617b2c
Reviewed-by: Jake Petroules <jake.petroules@qt.io>
2017-11-28 23:10:57 +00:00
BogDan Vatra 6615f1d16b [android] Fix compile with -warnings-are-errors
Remove unused variable

Change-Id: I64da66da0c17131de6280660576f2789696e86b3
Reviewed-by: Christian Stromme <christian.stromme@qt.io>
2017-11-24 12:05:16 +00:00
Alexander Volkov bd72950fbe xcb: Use fallbacks for Xcursor names
Some cursor themes may not contain cursors with common names,
then fallback names should be used. The fallbacks in this
change were taken from the wayland plugin.

Change-Id: I7fcc47a71cafe41c88a21a7168acd3a274b71693
Reviewed-by: Andy Nichols <andy.nichols@qt.io>
2017-11-23 21:40:33 +00:00
Liang Qi 7c4b0aa970 Merge remote-tracking branch 'origin/5.9' into 5.10
Conflicts:
	src/corelib/io/qstandardpaths_win.cpp
	src/plugins/platforms/ios/qioswindow.mm
	src/plugins/platforms/ios/quiview.mm
	tests/auto/widgets/itemviews/qtreeview/tst_qtreeview.cpp

Change-Id: I5deb0a0176a454a9c566e924d074ba60ce04f0bc
2017-11-23 12:52:18 +01:00
Liang Qi 153e8b49ad Merge remote-tracking branch 'origin/5.10' into dev
Conflicts:
	src/network/access/qhttp2protocolhandler_p.h
	src/network/kernel/kernel.pri
	src/network/ssl/qsslkey_qt.cpp
	src/plugins/platforms/cocoa/qcocoascreen.mm
	src/plugins/platforms/windows/accessible/iaccessible2.cpp
	src/plugins/platforms/windows/accessible/iaccessible2.h
	src/plugins/platforms/windows/accessible/qwindowsaccessibility.cpp
	src/plugins/platforms/windows/accessible/qwindowsmsaaaccessible.cpp
	src/plugins/platforms/windows/accessible/qwindowsmsaaaccessible.h
	src/widgets/widgets/qmenu_p.h
	tests/auto/network/access/qnetworkreply/tst_qnetworkreply.cpp
	tests/auto/other/qaccessibility/tst_qaccessibility.cpp
	tests/auto/testlib/selftests/expected_cmptest.lightxml
	tests/auto/testlib/selftests/expected_cmptest.teamcity
	tests/auto/testlib/selftests/expected_cmptest.txt
	tests/auto/testlib/selftests/expected_cmptest.xml

Done-with: Edward Welbourne <edward.welbourne@qt.io>
Change-Id: I4217cc7d840cbae3e3dd28574741544469c4c6b9
2017-11-23 09:36:03 +01:00
Błażej Szczygieł 29f4425921 xcb: Speed-up image scrolling
Prevent image scrolling on client-side whenever possible - do it on
server-side. When using shared memory use server-side pixmap for
scrolled contents.

Put new image which will be scrolled to the server-side pixmap and do
scroll on it. Then do a server-side copy of a scrolled area from pixmap
to he window. Also put non-scrolled image directly to the window.

When not using shared memory also don't do redundand client-side image
scrolling.

When using OpenGL compositing first copy scrolled image area from/to
server-side pixmap.

Task-number: QTBUG-64414
Change-Id: Ibf5f8cfb40cd4fb3e4a75a1b92eecb625f4fd74f
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
2017-11-23 07:01:41 +00:00
Tor Arne Vestbø fb2e795c6e iOS: Take UIWindow bounds into account when making window fullscreen
When an app is in split-view mode, the app can't use the full bounds of
the screen, but should limit its area to that of its UIWindow.

Task-number: QTBUG-48225
Change-Id: Ia66ad6bba24d9d73a8263ad3f65b9dee9b8a1b37
Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@qt.io>
2017-11-22 21:27:43 +00:00
Morten Johan Sørvig bdf1045b71 Cocoa: Update layer contentsScale on screen change
Failure to do so will result in displaying the layer
contents on a quarter of the window when moving the
window from a 2x screen to a 1x screen.

Task-number: QTBUG-64494
Change-Id: I57ce98025e841549f62d132d4985e727898e6207
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
2017-11-22 08:45:55 +00:00
Tor Arne Vestbø f92aa8e931 iOS: Add logging of window geometry/exposure
Change-Id: I6ffc7cd1dde4fadd3e952deabe9c3a1dbce7884d
Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@qt.io>
2017-11-21 23:16:46 +00:00
Tor Arne Vestbø d8288d2b65 iOS: Make sure FBOs are cleaned up in the right QIOSContext
655687d84d shuffled things around, moving the logic to connect
to the window's destroyed signal from backingFramebufferObjectFor into
makeCurrent. Unfortunately backingFramebufferObjectFor was the one taking
care of recursing into the root context (when shared contexts were in
play), so the end result was that the root context were keeping track
of the FBO, but the leaf context was trying to clean up the FBO.

Task-number: QTBUG-56653
Change-Id: I80ed71a3dedeb7611b2aa7548d94b9fbe0e20763
Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@qt.io>
2017-11-21 23:16:44 +00:00
Andre de la Rocha 04da027439 Windows QPA: Detect a SetParent into a native window and set isEmbedded
Detecting that a Qt window has been reparented into a native window and
setting isEmbedded automatically. While there is no specific message for
the change in the parent window, a WM_WINDOWPOSCHANGING message
indicating a change in the Z order is sent. We can recognize an
embedding condition by detecting that our QWindow does not have another
QWindow as a parent, but the HWND associated with it has another HWND as
a parent, which is not the desktop window.

This change should cover the use case where a Qt-based plugin must
return a HWND to a host application, where the host application will
then reparent the HWND as it sees fit, outside of Qt control.

Task-number: QTBUG-64116
Change-Id: Iec417c0dd55ad68eff1ea75bb6f5b5495489c31e
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
2017-11-21 20:47:18 +00:00
Tor Arne Vestbø d3e9b8c728 iOS: Remove forced Qt::AA_ShareOpenGLContexts
Commit 8e70241dcc removed the need for having a global sharecontext
to be able to composit GL and raster content in the backingstore, but
forgot to remove this part of the iOS platform.

Change-Id: I46ffd766729369aff2f8c54799bd033905c9f3dc
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
2017-11-21 17:13:46 +00:00
Tor Arne Vestbø 68733e307f qpa: Teach handleApplicationStateChanged about sync/async delivery
Using QWindowSystemInterface::SynchronousDelivery reduces the chance
that we are flushing other events before delivering the application
state change. Those other events may conclude that the application
is still active, while in reality it is not, and do bad things.

Change-Id: I738c162fac22d2cd18de1e080bcd2cda78ec3f77
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
2017-11-20 23:31:46 +00:00
Liang Qi c4885b21d6 Merge remote-tracking branch 'origin/5.9' into 5.10
Also blacklist tst_QNetworkReply::ioHttpRedirectErrors(too-many-redirects)
on RHEL 6.6 in CI.

 Conflicts:
	tests/auto/network/access/qnetworkreply/BLACKLIST
	tests/auto/network/ssl/qsslsocket/tst_qsslsocket.cpp

Task-number: QTBUG-64569
Change-Id: I7514fc0660c18fd3a3e1d0d0af3f15d879e3c6f4
2017-11-17 08:59:14 +01:00
Gabriel de Dietrich c1780b9322 QMacStyle: De-HITheme item views headers and a couple arrows
This one is all manual. The arrows were manual before and the
header sections are now plain rectangles. Removes one usage
of HIThemeDrawButton and related logic together with a cached
pixmap and its rendering.

Still broken in some places, but not worse than before. In
particular, sunken or selected header sections will not render
the left hand side section separator properly. Look can be
improved in the header label with different shades for the
selected or current rows/columns.

Change-Id: I6b1c1f529909341bbf72e82e5a3fc61905c75fa8
Reviewed-by: Morten Johan Sørvig <morten.sorvig@qt.io>
2017-11-15 19:05:30 +00:00
Gabriel de Dietrich 67e3d19239 QMacStyle: Render tool button even when a11y is missing
Tool buttons were being skipped a couple cases (CE_ToolButtonLabel
and CC_ToolButton) when accessibility was disabled. Although unlikely
anyone would disable accessibility on macOS, we fall back to the non-
toolbar rendering if that were to be the case.

Change-Id: Ie8ee11475efbe4b418c34842317bafeba80c3c57
Reviewed-by: Morten Johan Sørvig <morten.sorvig@qt.io>
2017-11-15 19:05:21 +00:00
Gabriel de Dietrich 1939cb0210 QMacStyle: Make backingStoreNSView mutable
Even thought the resolve function is effectively not const,
it's more straightforward to call.

Change-Id: I7c881183862c3c0b326daf001b2f9e569153ee76
Reviewed-by: Morten Johan Sørvig <morten.sorvig@qt.io>
2017-11-15 19:05:15 +00:00
Gabriel de Dietrich 9af0601fd9 QMacStyle: Replace HITheme info structs with QMSP::CocoaControl
This is not yet a full replacement, but a scaffolding stage until
we can remove all traces of HITheme info structs.

Change-Id: I10eb6a60662c6b102bc687e335d0d1bedd6a4a12
Reviewed-by: Morten Johan Sørvig <morten.sorvig@qt.io>
2017-11-15 19:05:06 +00:00
Gabriel de Dietrich dbc1c79043 QMacStyle: Remove unused code
Change-Id: I6e71871b19ce12daddd4cfbbe7c1d9beede13a9b
Reviewed-by: Morten Johan Sørvig <morten.sorvig@qt.io>
2017-11-15 19:04:52 +00:00
Gabriel de Dietrich d7dce54ba0 QMacStyle: Rename Cocoa controls enum names
For easier sorting and grouping by actual Cocoa NSControl class.

We also shorten the names and move the types inside QMacStylePrivate.

Change-Id: Iac093fd359da66abd263aca841b870ea84337f50
Reviewed-by: Morten Johan Sørvig <morten.sorvig@qt.io>
2017-11-15 19:04:46 +00:00
Liang Qi ecc4754cab Merge remote-tracking branch 'origin/5.9' into 5.10
Change-Id: I2f8f6b1d196548087219739faa3ad1517626da1e
2017-11-15 09:08:46 +01:00
Andy Shaw 3dab19ffed OCI: Match the constraints on the index_name column
When looking for the primary index, it is possible that the
constraint_name in the all_ind_columns table does not match that of the
index_name. Whereas the index_name will match in this case, so the query
should set the where clause on the index_name in both tables.

Task-number: QTBUG-64427
Change-Id: I1bf1fb580e620b9f75f2fde1ecf408842e377365
Reviewed-by: Jesus Fernandez <Jesus.Fernandez@qt.io>
2017-11-15 06:40:45 +00:00
Andre de la Rocha 0cf6297c15 Add support for Windows UI Automation
Replaces the Qt Accessibility Windows back end, formerly based on legacy
MSAA, with a new implementation based on UI Automation. Fixes issues with
accessibility tools like screen readers and magnifiers, and with the
automatic showing and hiding of the virtual keyboard in touchscreen-based
Windows computers.

[ChangeLog][Windows] The Windows Accessibility back end, formerly based on
Microsoft Active Accessibility, was replaced with a new implementation
based on Microsoft UI Automation.

Task-number: QTPM-487
Task-number: QTBUG-53024
Task-number: QTBUG-43190
Task-number: QTBUG-61926
Task-number: QTBUG-38499
Task-number: QTBUG-38337
Task-number: QTBUG-38501
Task-number: QTBUG-38502
Task-number: QTBUG-38504
Task-number: QTBUG-38505
Task-number: QTBUG-38507
Change-Id: I20b4f8f5e938fef791c6e9c577fcd919140999bd
Reviewed-by: Jan Arve Sæther <jan-arve.saether@qt.io>
2017-11-14 23:31:04 +00:00
Friedemann Kleint c84f755489 Offscreen QPA: Use fusion style always
Prevent it from crashing when naively using it for example
on Windows, which defaults to the Windows Vista style operating
on native window handles.

Change-Id: I7b1dfb00a6b6860d0f0a134653ce1142b45959ec
Reviewed-by: Sami Nurmenniemi <sami.nurmenniemi@qt.io>
Reviewed-by: Gatis Paeglis <gatis.paeglis@qt.io>
Reviewed-by: Morten Johan Sørvig <morten.sorvig@qt.io>
2017-11-14 06:54:52 +00:00
Tor Arne Vestbø 3e4d3209b2 macOS: Remove unused method QCocoaWindow::nativeWindowGeometry
Its usage was removed in ef32f16fc2.

Change-Id: I5101131e401e615231ab05b241dd5b670f6a5a61
Reviewed-by: Morten Johan Sørvig <morten.sorvig@qt.io>
2017-11-13 15:22:38 +00:00
Morten Johan Sørvig d0736e9d17 Cocoa: Make High DPI drag cursor work
Change-Id: Ide4bc50ab7173529a00fe60a04204bad0b3f275e
Task-id: QTBUG-60769
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
2017-11-09 16:45:11 +00:00
Liang Qi 88cf044580 Merge remote-tracking branch 'origin/5.9' into 5.10
Conflicts:
	src/gui/kernel/qwindow.cpp
	src/plugins/platforms/cocoa/qcocoawindow.mm
	src/plugins/platforms/windows/qwindowssystemtrayicon.cpp
	src/plugins/platforms/xcb/qxcbconnection_xi2.cpp
	tests/auto/corelib/io/qtemporarydir/tst_qtemporarydir.cpp
	tests/auto/widgets/kernel/qaction/tst_qaction.cpp

Change-Id: Ifa515dc0ece7eb1471b00c1214149629a7e6a233
2017-11-09 11:47:57 +01:00
Tor Arne Vestbø b0c895fa7a macOS: Simplify helpers for flipping between quadrant I and IV
The different flip-functions have been replaced by a single function,
qt_mac_flip, with overloads for points and rects. This function is
primarily used to implement QCocoaScreen::map(To|From)Native, which
most clients of qt_flip* have been moved to. This makes it clearer
what kind of reference geometry we're flipping in relation to, and
simplifies call-sites.

Change-Id: I8a0862f94bb2c64a83a1c3168f984a195c0af6db
Reviewed-by: Morten Johan Sørvig <morten.sorvig@qt.io>
2017-11-08 14:39:52 +00:00
Tor Arne Vestbø bfcad18526 macOS: Replace deprecated CGDisplayIOServicePort function
There's no replacement function from Apple's side, so we have to iterate
the available displays and pick the right one based on the vendor, product
and serial number.

Change-Id: I437bee06bc6826c3214a701cd2c65f6109eeb3e7
Reviewed-by: Morten Johan Sørvig <morten.sorvig@qt.io>
2017-11-08 00:55:35 +00:00
Tor Arne Vestbø f1aa2ee512 macOS: Disable CUPS PPD deprecation warnings for QCocoaPrintDevice
We're not going to rewrite this code until we can also share the rewrite
with QPpdPrintDevice, which can only happen once we drop support for
RHEL 6, which still ships CUPS 1.4.

Until then, silence these deprecation warnings so that they don't add
noise to other potential build warnings/issues. This matches the
approach taken by Chromium in crbug.com/622493.

Task-number: QTBUG-56545
Change-Id: Ia308ae1e8064dc046745350b0be3992d02f2b760
Reviewed-by: Andy Shaw <andy.shaw@qt.io>
Reviewed-by: Morten Johan Sørvig <morten.sorvig@qt.io>
2017-11-08 00:55:27 +00:00
Gabriel de Dietrich 3f519ffa15 QCocoaMenuItem: Don't clear NSMenuItem.action when setting submenu
Contrarily to what the comment stated, we actually rely on automatic
menu validation, even for submenu items. This is visible in the menu
delegate's validateMenuItem: and itemFired: methods.

This solves the last visible issue in BigMenuCreator where, under
ASP/ASP, ASP/SAP, SAP/ASP and SAP/SAP, all A*S submenus would be
disabled. The cause was an incorrect target/action setup.

Menurama still behaves as expected.

Change-Id: I2599d6fb0d51f56f5d36f03b69647e35ff6c550a
Reviewed-by: Morten Johan Sørvig <morten.sorvig@qt.io>
2017-11-07 19:36:39 +00:00
Tor Arne Vestbø 14218b880a macOS: Replace deprecated use of qSort with std::sort
Change-Id: Ic93f4ccb3ec2f09a4198ae9892923aae4ee00dc9
Reviewed-by: Gatis Paeglis <gatis.paeglis@qt.io>
2017-11-07 15:26:19 +00:00
Tor Arne Vestbø 59c5f7bd9d macOS: Fall back to QWindow::icon for application icon if not set
There are three ways to set the application (Dock/task switcher) icon:

 1. By setting an ICON in the project file
 2. By calling QGuiApplication::setWindowIcon
 3. By calling QWindow::setIcon

The third one was not working on macOS, despite being documented as
such: "The window icon might be used by the windowing system for example
to decorate the window, and/or in the task switcher."

We now update the application icon based on the active window,
unless a global application icon has been set using ICON, or
via QGuiApplication::setWindowIcon. The reason for not allowing
the window's icon to override a global application icon is that
the developer may have intended to set the document icon for a
window (to represent QWindow::filePath), and we don't want that
to affect the Dock icon of the application.

The role of QGuiApplication::setWindowIcon is a bit dubious in this,
as it's documented as "This property holds the default window icon",
which would indicate it should follow the same logic as above by not
letting it override the global ICON set in the project file, but this
would not allow runtime switching of the application icon, so the
QGuiApplication property is left as is. The property should probably
have been named QGuiApplication::applicationIcon initially.

Task-number: QTBUG-63340
Change-Id: I94d3710a8586bb729af42f59a915b8f49dded101
Reviewed-by: Morten Johan Sørvig <morten.sorvig@qt.io>
2017-11-07 14:39:12 +00:00
Morten Johan Sørvig 5194817941 Cocoa: optimize backingstore flush on 10-bit displays
Qt draws the backing store to the window using CoreGrahics,
which will trigger a slow RGB32 -> RGB64 conversion
when the output display is a deep color display.

Disable NSWindow dynamicDepthLimit and force the depthLimit
to WindowDepthTwentyforBitRGB for the common case of
8-bit-per-component raster surfaces.

This was benchmarked by resizing a simple QRasterWindow
test case which fills the window area using QPainter::fillRect().

Before:

67.1%  rgba64_image_mark_rgb32
10.8%  __vImageCopyBuffer_block_invoke
6.0%   madvise
5.0%   _kernelrpc_mach_vm_deallocate_trap
4.1%   qt_memfill32(unsigned int*, unsigned int, int)

After:

30.7%  __vImageCopyBuffer_block_invoke
20.3%  madvise
12.3%  __vOverwriteChannelsWithScalar_ARGB8888_block_invoke
12.2%  qt_memfill32(unsigned int*, unsigned int, int)
4.6%   _kernelrpc_mach_vm_deallocate_trap

The test program now spends significantly more of its
time allocating/deallocating the backing store (madvise),
and running the Qt paint event (qt_memfill32).

Task-number: QTBUG-47660
Change-Id: I878be7a0e6eee4ad798f7a53f7f9f79b7950af26
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
2017-11-06 14:31:53 +00:00
Eirik Aavitsland e45ffd7bf6 Xinput: Avoid misdetecting certain trackballs as tablets
The algorithm triggers on the word "cursor" in the device name, which
would also happen for devices from the manufacturer Cursor Controls.

Task-number: QTBUG-48034
Change-Id: I9645c0d0bc1fa951d0ea00480572fd0df0220eb5
Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
2017-11-05 16:02:47 +00:00
Jake Petroules cd542a82b0 Remove references to obsolete platforms
ultrix and reliant have not seen a release since 1995. dgux not since
2001. bsdi not since 2003. irix not since 2006. osf not since 2010.
dynix... unclear, but no later than 2002. symbian needs no mention.
All considered obsolete, all gone.

sco and unixware are effectively obsolete. Remove them until someone
expresses a real need.

Change-Id: Ia3d9d370016adce9213ae5ad0ef965ef8de2a3ff
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2017-11-05 06:33:53 +00:00
Gabriel de Dietrich 385589ef45 QCocoaMenu: Attach menu items when updating the menubar
Instead of waiting for the menu delegate to update each item,
we can attach an NSMenu to its NSMenuItem as soon as we update
the current window's menubar. This is safe to do because we
know that this is going to be the main menubar right after, so
we're not orphaning any NSMenuItem from its NSMenu at the wrong
moment.

By doing this, we also ensure that all menus from the active
menubar are reachable by the key-equivalent dispatching logic,
even before we display the actual menu.

This was shown in BigMenuCreator where, under the menubar's ASP
and SAP menus, all A*S submenus would be disabled. Furthermore,
on the same menus, SAP would show the same issue.

Added test in Menurama as well.

Change-Id: If6e7311072e6b53ad1cbced73623d1832aa0df8e
Task-number: QTBUG-57076
Task-number: QTBUG-63712
Reviewed-by: Morten Johan Sørvig <morten.sorvig@qt.io>
2017-11-05 01:39:30 +00:00
Robert Szefner b35a27676b QPSQL: Fix check for minimum supported PostgreSQL version
According to Qt documentation http://doc.qt.io/qt-5/sql-driver.html#qpsql
minimum supported version of PostgreSQL is 7.3

Change-Id: I30cffaddc29fd56b534bfd259cc235ea1204a21f
Reviewed-by: Andy Shaw <andy.shaw@qt.io>
2017-11-04 20:58:18 +00:00
Robert Szefner ff914ea59c QPSQL: Fix handling binary data for PostgreSQL 9.x and later
Set byte_output to 'escape' mode for server version 9 and later,
no matter what version of client library we use.
Since setting byte_output doesn't depend on client version anymore,
we can move it to separate function.

This fixes qtbase\tests\auto\sql\kernel\qsqldatabase
tst_QSqlDatabase::psql_escapeBytea() test
(before this change test did not pass on PostgreSQL 9.6)

Change-Id: I37aaa18267d7e6459c00010ed899536c01e8124e
Reviewed-by: Andy Shaw <andy.shaw@qt.io>
2017-11-04 20:58:08 +00:00
Robert Szefner 435c4b2ccb QPSQL: Fix detection of PostreSQL version 9.x and later
Fixed parsing version string for PostgreSQL.
PostgreSQL versioning changed since version 10, see link:
https://www.postgresql.org/support/versioning

Extended QPSQLDriver::Protocol enum for PostreSQL 9.x and later,
added underscore to item names to separate major and minor version.
Changed long switch-case statements to if-else.

Change-Id: Ib19ae7ba426f262e80c52670e7ecb3532ff460a0
Reviewed-by: Andy Shaw <andy.shaw@qt.io>
2017-11-04 20:57:42 +00:00
Tor Arne Vestbø 8ba1f91d4e macOS: Add logging of screen add/remove/changes
Change-Id: Ic9c9ac307441dde98bb43d656466a03805746917
Reviewed-by: Morten Johan Sørvig <morten.sorvig@qt.io>
2017-11-04 16:46:09 +00:00
Friedemann Kleint b4ac552561 Windows QPA: Pass on Url of non-filesystem directory items
Do not attempt to copy directory items, which will fail and result
in empty result lists. Amends 5865e582fd.

Task-number: QTBUG-57070
Task-number: QTBUG-63645
Change-Id: I59efce196b28099ec8aff5a802ef0a4d9a098453
Reviewed-by: Oliver Wolff <oliver.wolff@qt.io>
2017-11-04 19:04:21 +00:00
Friedemann Kleint d366d6dfd3 Windows QPA: Restrict file dialog to file system items in Directory mode
Qt cannot handle places like 'Network', etc.

Task-number: QTBUG-63645
Change-Id: I53d0eedc2996af6a1ec3230e3d65a3e272aa3710
Reviewed-by: Oliver Wolff <oliver.wolff@qt.io>
2017-11-04 19:02:32 +00:00