Commit Graph

14 Commits (a0ffdf765e34820b591bcb9d1bee6df0985056cf)

Author SHA1 Message Date
Qt Forward Merge Bot 60ec012d8d Merge remote-tracking branch 'origin/5.14' into 5.15
Change-Id: I851c0328c3c38ea67b5ad115b205ac6a1262706e
2020-02-29 01:00:44 +01:00
Andy Shaw 09c5dfb732 Windows: Enable closing the system tray menu when clicking outside of it
In order for the system to close a menu when clicking outside of it or
outside of the controlling window for the system tray then it needs to be
at the foreground right before the menu is tracked. This makes it act
like other system tray menus then.

Change-Id: I663670c506cfd1e2ba59cd3e75b12e1f8ba17c33
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
2020-02-27 22:56:26 +01:00
Friedemann Kleint 1278995778 Windows QPA: Better disambiguate Window class names
Use a standard prefix for Window class names containing
version, build and namespace which should reduce conflicts.

Task-number: QTBUG-81347
Change-Id: Ia7c20af71d364e362781f791a4e51b77d605c918
Reviewed-by: Oliver Wolff <oliver.wolff@qt.io>
2020-01-25 20:32:58 +01:00
Friedemann Kleint 313c2b46fe Windows QPA: Use UTF-16 literals where possible
This should minimize diffs to Qt 6.

Change-Id: Id74c0b4085085984bd51251765420718d16e9fc7
Reviewed-by: André de la Rocha <andre.rocha@qt.io>
2019-12-16 12:16:13 +01:00
Friedemann Kleint 455e9e5be3 Windows QPA: Fix tray geometry not updating
The application does not update its screens when there are
no windows on which a WM_DPICHANGE could be received. Add a
check for it to the tray window procedure and trigger an
update from there if no top levels are present.

Fixes: QTBUG-79248
Change-Id: I0b1c4db560662ecf2b473304942da373be6fdc73
Reviewed-by: André de la Rocha <andre.rocha@qt.io>
Reviewed-by: Morten Johan Sørvig <morten.sorvig@qt.io>
2019-12-05 15:49:32 +01:00
Jan Niklas Hasse 92cf38018a Quit application when QWindowsSystemTrayIcon receives WM_CLOSE
When an application only has a trayicon and is killed by `taskkill /IM
binary.exe` the trayicon's HWND will receive a WM_CLOSE message. If we
don't handle this, the tray icon will close anyway, but the app still
runs in the task manager.

Fixes: QTBUG-43855
Change-Id: I5f82a068df9c40360bd565a2681e1b37ff114e44
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
2019-12-05 08:57:43 +01:00
Friedemann Kleint 27e7234963 Windows QPA: Fix clang warnings about using typedef
Replace by using (except for function pointers).

Change-Id: I0dfe03c22f9f87155003d13a6376381623df7217
Reviewed-by: Oliver Wolff <oliver.wolff@qt.io>
2019-05-24 16:34:40 +02:00
Friedemann Kleint 61d50cbc96 Windows/Direct2d QPA: Use nullptr
Change-Id: I6ce01caa58de78e0eb61e243ee1e7b05cc1f5568
Reviewed-by: Oliver Wolff <oliver.wolff@qt.io>
2019-01-28 21:14:58 +00:00
Friedemann Kleint c154766630 Windows QPA: Move the code installing the filter for WM_TASKBARCREATED
Previously, the code was in the constructor, where hwnd was 0 and
ChangeWindowMessageFilterEx() failed. Move it into
QWindowsSystemTrayIcon::ensureInstalled() after the creation of the message
window.

Change-Id: Iff4c6d6d6b11bdcace7514ad421c96c94e52bbba
Reviewed-by: Oliver Wolff <oliver.wolff@qt.io>
2019-01-24 22:06:23 +00:00
Friedemann Kleint 4aa0bcf5f5 Windows QPA: Fix tray icon becoming visible before show
Use the NIS_HIDDEN flag of the NOTIFYICONDATA structure to prevent it from
becoming visible before show when calling NIM_ADD with the icon data.

Fixes: QTBUG-73185
Change-Id: If5cc5a4930a889623a5cac84138185ad04765ece
Reviewed-by: Oliver Wolff <oliver.wolff@qt.io>
2019-01-24 22:06:17 +00:00
Friedemann Kleint 9137691e74 Windows QPA: Fix crash showing QSystemTrayIcon's context menu with PROCESS_DPI_UNAWARE
The coordinates of the WM_CONTEXT message may be out of any screen in
PROCESS_DPI_UNAWARE mode since hi-res coordinates are delivered in this case
(Windows issue). Default to primary screen with check to prevent a crash.

Fixes: QTBUG-67966
Change-Id: I1950360520e93cbf3509611b3057635769f6543a
Reviewed-by: Andre de la Rocha <andre.rocha@qt.io>
2018-11-09 08:06:18 +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
Friedemann Kleint 4b63565bbc Native Windows file dialog: Observe Windows Explorer "Show hidden files" setting
Extract a helper function to read the setting and use that
in file dialogs and tray icon.

Task-number: QTBUG-60593
Change-Id: I03cf1e45611690a128bf2cc17eba5dff23b86969
Reviewed-by: Oliver Wolff <oliver.wolff@qt.io>
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
2017-06-13 07:04:32 +00:00
Friedemann Kleint affb6700a4 Windows QPA: Move system tray icon implementation into the plugin
The system tray icon implementation relied on QMenu. After
the introduction of QPlatformSystemTrayIcon::contextMenuRequested(),
the code can be moved into the plugin, making use of native menus
when enabled or falling back to QMenu.
This enables the SystemTrayIcon QML Type to work.

[ChangeLog][QtGui][Windows] A native system tray icon is now
available for SystemTrayIcon.

Change-Id: I0fdbfb5cbb815c1ea6fb19305a9bceb9c5bcc034
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
2017-04-27 09:30:41 +00:00