Details
-
Task
-
Resolution: Done
-
P2: Important
-
None
-
None
-
None
Description
QtWin namespace
to/fromHBITMAP/ICON
Covered by existing QImage conversion functions.
QtWin::createMask() is equivalent to image.convertToFormat(QImage::Format_Mono).invertPixels().toHBITMAP().
to/fromHRGN
Covered by existing QRegion conversion functions.
stringFromHresult
Simple wrapper around _com_error::ErrorMessage(). Duplicated in QtCore and a few other places. Can't add direct QDebug overload due to HRESULT being a typedef long, but functionality already covered by QSystemError::NativeError and qt_error_string() (API is in itself in need of some cleanups, but that's another story).
errorStringFromHresult
Giant mapping from error codes to literal error name, .e.g 0x80004004 to "E_ABORT". Only used internally in WinExtras, not in any other Qt module or on code on GitHub.
colorizationColor/isCompositionOpaque
Functionality around the Windows theme accent color. Concept exists on other platforms too, should be exposed in a cross platform manner, e.g. a new QPalette role or platform theme property.
(set)WindowExcludedFromPeek
Functionality to opt out of the Windows desktop peek feature. The feature is disabled by default in Windows 10. Fringe use-case that can be solved by calling DwmSetWindowAttribute with DWMWA_EXCLUDED_FROM_PEEK directly.
(set)WindowDisallowPeek
Functionality to opt out of showing a preview of the window when hovering over it in the Window task bar. Fringe use-case that can be solved by calling DwmSetWindowAttribute with DWMWA_DISALLOW_PEEK directly.
setWindowFlip3DPolicy
Windows 7 feature, no longer supported in Windows 10.
extendFrameIntoClientArea
Extends the glass frame into the client area of the specified window. Similar functionality exists as private APIs on macOS. Should be replaced by cross platform QWindow API to control the relationship between the client area and the non-client area (frame/titlebar). QTBUG-94010
setWindowNonClientAreaRenderingPolicy
Introduced in Qt 6.0 (for a module that was not part of Qt 6). Fringe use-case that can be solved by calling DwmSetWindowAttribute with DWMWA_NCRENDERING_POLICY directly. Should be reconsidered and aligned with cross platform solution to extendFrameIntoClientArea.
enableBlurBehind
Deprecated as of Windows 8. If needed or still relevant, it should be aligned with similar features on e.g. macOS, perhaps as QWindow flags/API.
setCurrentProcessExplicitAppUserModelID
Minimal wrapper around SetCurrentProcessExplicitAppUserModelID. Can be replaced in user code by SetCurrentProcessExplicitAppUserModelID(id.toStdWString().c_str()); Not used in any Qt module.
markFullscreenWindow
Documented as "You do not usually need to call this function". Shouldn't be needed, should be automatically handled based on a QWindow's window state.
taskbarActivateTab(Alt)
API around ITaskbarList to activate the tab button of a window programatically without activating the associated Window. Fringe use-case. Not used in any Qt module or by code on GitHub.
taskbar(Add/Delete)Tab
API around ITaskbarList to manage additional toolbar buttons. Associated to a window, so would seem a better API to control the window tab-bar visibility of the window directly. Fringe use-case. Not used in any Qt module or by code on GitHub.
QWidget overloads of all of the above
Should expect people who interact with native API wrappers like these to work at the QWindow level.
QML wrappers for all of the above.
Should expect people who interact with native API wrappers like these to to expose the relevant functionality from C++ to QML.
Classes
QWinMime
Windows specific mapping to QMimeData mimetypes. Overlaps with similar use-case for macOS. Should have cross platform api. QTBUG-93632
QWinJumpList (QWinJumpListCategory/QWinJumpListItem)
Ability to add entries to the Windows taskbar right-click menu. Overlaps with use-case handled by QMenu:: setAsDockMenu() on macOS. Should be exposed as cross platform API, e.g. QGuiApplication::setMenu(). QTBUG-94007
QWinTaskbarButton (QWinTaskbarProgress)
Manage taskbar overlay icon and progress. Useful use-case for other platforms (https://github.com/sindresorhus/DockProgress), should be cross platform API. Moved to native interface for QWindowsWindow if needed. QTBUG-94009 and QTBUG-94008
QWinThumbnailToolBar (QWinThumbnailToolBarButton)
Used to add additional controls to the windows task bar peek menu. Not used in any Qt module or in code on GitHub.
Attachments
Issue Links
- is required for
-
QTBUG-83251 Clean up Q(Mac/Win/X11/Android)Extras
- Closed
- resulted in
-
QTBUG-93632 Find cross platform solution to QMimeData handling non-mime data
- Closed
-
QTBUG-94007 Add API to set application-wide menu for use in Dock/task bar
- Open
-
QTBUG-94008 Add API to set progress for application, reflected in Dock/task bar
- Open
-
QTBUG-94010 Add API to adjust the client and non-client area of a window
- Open
-
QTBUG-94009 Add API to set overlay for application icon
- Open
For Gerrit Dashboard: QTBUG-89564 | ||||||
---|---|---|---|---|---|---|
# | Subject | Branch | Project | Status | CR | V |
351353,4 | Remove module and add note about current status in Qt 6 | dev | qt/qtwinextras | Status: MERGED | +2 | 0 |
351354,2 | Remove qtwinextras submodules | dev | qt/qt5 | Status: MERGED | +2 | 0 |
360127,9 | Add Extras modules porting guide | dev | qt/qtdoc | Status: MERGED | +2 | 0 |
360141,4 | Update obsoleted functionality in preparation for Qt 6 | tqtc/lts-5.15 | qt/tqtc-qtwinextras | Status: MERGED | +2 | 0 |
360621,2 | Add Extras modules porting guide | 6.2 | qt/qtdoc | Status: MERGED | +2 | 0 |
431590,2 | Remove QtWinExtras | dev | pyside/pyside-setup | Status: MERGED | +2 | 0 |